源码
packages/coding-agent/src/index.ts
export type { AgentSessionEvent, InputContext } from "./core/agent-session.ts";
export { AgentSession } from "./core/agent-session.ts";
export type { ParsedInput } from "./core/commands.ts";
export { listCommands, parseInput } from "./core/commands.ts";
export type { CompactionOptions } from "./core/compaction.ts";
export {
applyFileRewind,
type FileRewindConflict,
type FileRewindOptions,
type FileRewindPlan,
planFileRewind,
} from "./core/file-rewind.ts";
export { syncDirectory } from "./core/fs.ts";
export * from "./core/image-limits.ts";
export * from "./core/images.ts";
export { type MarkdownFrontmatter, parseMarkdownFrontmatter } from "./core/markdown.ts";
export * from "./core/mentions.ts";
export type { ModelPerformance, ModelPerformanceTotals } from "./core/model-performance.ts";
export { modelPerformance, SessionPerformance, validPerformanceTotals } from "./core/model-performance.ts";
export type {
MediaProjectionContext,
ModelRuntimeOptions,
ProviderChatModelConfig,
ProviderConfigInput,
} from "./core/model-runtime.ts";
export { ModelRuntime } from "./core/model-runtime.ts";
export { readFileBounded } from "./core/read-file-bounded.ts";
export {
decodeSessionTranscript,
isSessionEntry,
isSessionHeader,
maxSessionEntryBytes,
parseSessionTranscript,
} from "./core/record-validation.ts";
export type { DiscoveredSkill, LoadedSkill, SkillList, SkillMetadata } from "./core/resources.ts";
export { FileResourceLoader, SkillCatalog } from "./core/resources.ts";
export type { CreateAgentSessionOptions, CreateAgentSessionResult } from "./core/sdk.ts";
export { createAgentSession } from "./core/sdk.ts";
export type { SessionContext, SessionEntry, SessionHeader } from "./core/session-manager.ts";
export { SessionManager } from "./core/session-manager.ts";
export type { ContextUsage } from "./core/session-state.ts";
export { contextUsage, supportedThinkingLevels } from "./core/session-state.ts";
export type { ProviderRetrySettings, RetrySettings, Settings } from "./core/settings-manager.ts";
export { SettingsManager } from "./core/settings-manager.ts";
export { projectStreamedToolJournal } from "./core/streaming-tool-journal.ts";
export * from "./core/system-prompt.ts";
export * from "./core/tools/file-change.ts";
export type {
BashToolOptions,
EditToolOptions,
ReadToolOptions,
ToolContextFactory,
WriteToolOptions,
} from "./core/tools/index.ts";
export {
createBashTool,
createBashToolDefinition,
createCodingTools,
createEditTool,
createEditToolDefinition,
createLocalBashOperations,
createReadTool,
createReadToolDefinition,
createWriteTool,
createWriteToolDefinition,
FileReadState,
} from "./core/tools/index.ts";
export { getShellConfig, getShellEnv, killProcessTree } from "./core/tools/pi/utils/shell.ts";
export * from "./core/transcript-store.ts";
export type {
ResourceDiagnostic,
ResourceLoader,
ToolContext,
ToolDefinition,
} from "./core/types.ts";
export { StaticResourceLoader } from "./core/types.ts";
export type { SessionContributions } from "./plugins/assembly.ts";
export {
assembleSession,
expandPluginCommand,
pluginSnapshotData,
snapshotPlugins,
validatePluginSnapshot,
} from "./plugins/assembly.ts";
export type {
HookEvent,
HookExecution,
HookInput,
HookInvocation,
HookOutput,
HookRegistration,
} from "./plugins/hooks.ts";
export { HookRunner, hookEvents } from "./plugins/hooks.ts";
export { withPluginResources } from "./plugins/resources.ts";
export type {
PluginCommand,
PluginMetadata,
PluginSkill,
PluginSnapshot,
SessionPlugin,
} from "./plugins/types.ts";