@bastani/atomic 0.9.16-alpha.8 → 0.9.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +126 -0
- package/README.md +4 -4
- package/dist/builtin/intercom/CHANGELOG.md +42 -0
- package/dist/builtin/intercom/README.md +18 -17
- package/dist/builtin/intercom/broker/broker.ts +43 -18
- package/dist/builtin/intercom/broker/client.ts +138 -7
- package/dist/builtin/intercom/broker/group-isolation.ts +3 -3
- package/dist/builtin/intercom/broker/group-membership.ts +55 -0
- package/dist/builtin/intercom/broker/presence-handler.ts +62 -50
- package/dist/builtin/intercom/broker/send-handler.ts +2 -3
- package/dist/builtin/intercom/group.ts +40 -0
- package/dist/builtin/intercom/index.bundle.mjs +556 -185
- package/dist/builtin/intercom/package.json +2 -2
- package/dist/builtin/intercom/skills/intercom/SKILL.md +16 -10
- package/dist/builtin/intercom/types.ts +24 -2
- package/dist/builtin/mcp/index.bundle.mjs +268 -54
- package/dist/builtin/mcp/package.json +2 -2
- package/dist/builtin/subagents/CHANGELOG.md +51 -0
- package/dist/builtin/subagents/README.md +3 -3
- package/dist/builtin/subagents/agents/code-simplifier.md +1 -1
- package/dist/builtin/subagents/agents/codebase-analyzer.md +1 -1
- package/dist/builtin/subagents/agents/codebase-locator.md +1 -1
- package/dist/builtin/subagents/agents/codebase-online-researcher.md +1 -1
- package/dist/builtin/subagents/agents/codebase-pattern-finder.md +1 -1
- package/dist/builtin/subagents/agents/codebase-research-analyzer.md +1 -1
- package/dist/builtin/subagents/agents/codebase-research-locator.md +1 -1
- package/dist/builtin/subagents/agents/debugger.md +1 -1
- package/dist/builtin/subagents/agents/worker.md +1 -1
- package/dist/builtin/subagents/package.json +3 -3
- package/dist/builtin/subagents/src/extension/index.bundle.mjs +488 -142
- package/dist/builtin/web-access/index.bundle.mjs +268 -54
- package/dist/builtin/web-access/package.json +2 -2
- package/dist/builtin/workflows/CHANGELOG.md +70 -0
- package/dist/builtin/workflows/README.md +2 -2
- package/dist/builtin/workflows/builtin/{chunk-zf28603f.js → chunk-3y1hmzw6.js} +36 -6
- package/dist/builtin/workflows/builtin/{chunk-nqr34qp3.js → chunk-6rbajjf5.js} +7 -1
- package/dist/builtin/workflows/builtin/{chunk-v04c5qmd.js → chunk-bz1c9732.js} +15 -3
- package/dist/builtin/workflows/builtin/{chunk-cdtd3m3w.js → chunk-dattsgxg.js} +1 -1
- package/dist/builtin/workflows/builtin/{chunk-5n10x7j2.js → chunk-gdx0avpx.js} +421 -69
- package/dist/builtin/workflows/builtin/{chunk-hdpj1dkw.js → chunk-w9c7rkrk.js} +1 -1
- package/dist/builtin/workflows/builtin/goal.js +3 -3
- package/dist/builtin/workflows/builtin/index.js +5 -5
- package/dist/builtin/workflows/builtin/open-claude-design.js +2 -2
- package/dist/builtin/workflows/builtin/ralph.js +3 -3
- package/dist/builtin/workflows/package.json +2 -2
- package/dist/builtin/workflows/src/extension/index.bundle.mjs +597 -145
- package/dist/builtin/workflows/src/index.js +278 -74
- package/dist/cli/args.js +6 -6
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/config-selector.d.ts.map +1 -1
- package/dist/cli/config-selector.js +2 -1
- package/dist/cli/config-selector.js.map +1 -1
- package/dist/cli/session-picker.d.ts +2 -1
- package/dist/cli/session-picker.d.ts.map +1 -1
- package/dist/cli/session-picker.js +3 -2
- package/dist/cli/session-picker.js.map +1 -1
- package/dist/cli/startup-ui.d.ts.map +1 -1
- package/dist/cli/startup-ui.js +2 -1
- package/dist/cli/startup-ui.js.map +1 -1
- package/dist/core/agent-session-methods.d.ts +1 -0
- package/dist/core/agent-session-methods.d.ts.map +1 -1
- package/dist/core/agent-session-methods.js.map +1 -1
- package/dist/core/agent-session-post-tool-compaction.d.ts.map +1 -1
- package/dist/core/agent-session-post-tool-compaction.js +3 -6
- package/dist/core/agent-session-post-tool-compaction.js.map +1 -1
- package/dist/core/agent-session-prompt.d.ts.map +1 -1
- package/dist/core/agent-session-prompt.js +3 -1
- package/dist/core/agent-session-prompt.js.map +1 -1
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js +6 -3
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session-state.d.ts.map +1 -1
- package/dist/core/agent-session-state.js +7 -5
- package/dist/core/agent-session-state.js.map +1 -1
- package/dist/core/agent-session-tool-hooks.d.ts.map +1 -1
- package/dist/core/agent-session-tool-hooks.js +37 -23
- package/dist/core/agent-session-tool-hooks.js.map +1 -1
- package/dist/core/agent-session-tool-registry.d.ts.map +1 -1
- package/dist/core/agent-session-tool-registry.js +9 -2
- package/dist/core/agent-session-tool-registry.js.map +1 -1
- package/dist/core/agent-session.d.ts +2 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +2 -0
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/builtin-packages.d.ts +4 -0
- package/dist/core/builtin-packages.d.ts.map +1 -1
- package/dist/core/builtin-packages.js +22 -1
- package/dist/core/builtin-packages.js.map +1 -1
- package/dist/core/callback-activity.d.ts.map +1 -1
- package/dist/core/callback-activity.js +6 -3
- package/dist/core/callback-activity.js.map +1 -1
- package/dist/core/extensions/agent-events.d.ts +15 -0
- package/dist/core/extensions/agent-events.d.ts.map +1 -1
- package/dist/core/extensions/agent-events.js.map +1 -1
- package/dist/core/extensions/api-types.d.ts +3 -1
- package/dist/core/extensions/api-types.d.ts.map +1 -1
- package/dist/core/extensions/api-types.js.map +1 -1
- package/dist/core/extensions/event-types.d.ts +2 -2
- package/dist/core/extensions/event-types.d.ts.map +1 -1
- package/dist/core/extensions/event-types.js.map +1 -1
- package/dist/core/extensions/index.d.ts +1 -1
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader-core.d.ts +1 -0
- package/dist/core/extensions/loader-core.d.ts.map +1 -1
- package/dist/core/extensions/loader-core.js +11 -1
- package/dist/core/extensions/loader-core.js.map +1 -1
- package/dist/core/extensions/loader.d.ts +1 -1
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +1 -1
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner-registries.d.ts.map +1 -1
- package/dist/core/extensions/runner-registries.js +9 -4
- package/dist/core/extensions/runner-registries.js.map +1 -1
- package/dist/core/extensions/runner-shortcuts.d.ts.map +1 -1
- package/dist/core/extensions/runner-shortcuts.js +1 -0
- package/dist/core/extensions/runner-shortcuts.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +6 -0
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +65 -1
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/keybindings.d.ts +5 -0
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +4 -0
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/mandatory-resource-loader.d.ts +6 -0
- package/dist/core/mandatory-resource-loader.d.ts.map +1 -0
- package/dist/core/mandatory-resource-loader.js +94 -0
- package/dist/core/mandatory-resource-loader.js.map +1 -0
- package/dist/core/mandatory-runtime-tools.d.ts +10 -0
- package/dist/core/mandatory-runtime-tools.d.ts.map +1 -0
- package/dist/core/mandatory-runtime-tools.js +31 -0
- package/dist/core/mandatory-runtime-tools.js.map +1 -0
- package/dist/core/model-resolver-defaults.js +1 -1
- package/dist/core/model-resolver-defaults.js.map +1 -1
- package/dist/core/resource-loader-reload.d.ts.map +1 -1
- package/dist/core/resource-loader-reload.js +24 -13
- package/dist/core/resource-loader-reload.js.map +1 -1
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +2 -0
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/settings-manager-ui-accessors.d.ts +4 -1
- package/dist/core/settings-manager-ui-accessors.d.ts.map +1 -1
- package/dist/core/settings-manager-ui-accessors.js +22 -0
- package/dist/core/settings-manager-ui-accessors.js.map +1 -1
- package/dist/core/settings-types.d.ts +4 -0
- package/dist/core/settings-types.d.ts.map +1 -1
- package/dist/core/settings-types.js.map +1 -1
- package/dist/core/slash-commands.js +1 -1
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/index-extensions.d.ts +1 -1
- package/dist/index-extensions.d.ts.map +1 -1
- package/dist/index-extensions.js.map +1 -1
- package/dist/main-session.d.ts.map +1 -1
- package/dist/main-session.js +3 -2
- package/dist/main-session.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +6 -0
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/fast-mode-selector.js +2 -2
- package/dist/modes/interactive/components/fast-mode-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-handlers.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector-handlers.js +3 -0
- package/dist/modes/interactive/components/settings-selector-handlers.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-items.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector-items.js +7 -0
- package/dist/modes/interactive/components/settings-selector-items.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-types.d.ts +2 -0
- package/dist/modes/interactive/components/settings-selector-types.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector-types.js.map +1 -1
- package/dist/modes/interactive/interactive-agent-events.js +2 -1
- package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
- package/dist/modes/interactive/interactive-deferred-startup.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-deferred-startup.js +1 -0
- package/dist/modes/interactive/interactive-deferred-startup.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-runtime.js +1 -1
- package/dist/modes/interactive/interactive-extension-runtime.js.map +1 -1
- package/dist/modes/interactive/interactive-input-handling.js +3 -0
- package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-base.js +15 -1
- package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-surface.d.ts +6 -1
- package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
- package/dist/modes/interactive/interactive-selectors.js +6 -1
- package/dist/modes/interactive/interactive-selectors.js.map +1 -1
- package/dist/modes/interactive/interactive-session-runtime.js +3 -0
- package/dist/modes/interactive/interactive-session-runtime.js.map +1 -1
- package/dist/modes/interactive/interactive-slash-commands.js +7 -12
- package/dist/modes/interactive/interactive-slash-commands.js.map +1 -1
- package/dist/modes/interactive/interactive-tui.d.ts +1 -0
- package/dist/modes/interactive/interactive-tui.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-tui.js +16 -0
- package/dist/modes/interactive/interactive-tui.js.map +1 -1
- package/dist/modes/rpc/rpc-session-binding.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-session-binding.js +2 -0
- package/dist/modes/rpc/rpc-session-binding.js.map +1 -1
- package/docs/compaction.md +1 -1
- package/docs/environment-variables.md +2 -0
- package/docs/extensions.md +20 -1
- package/docs/intercom.md +29 -24
- package/docs/keybindings.md +5 -2
- package/docs/packages.md +1 -1
- package/docs/providers.md +2 -2
- package/docs/sdk.md +9 -7
- package/docs/settings.md +9 -3
- package/docs/subagents.md +2 -2
- package/docs/usage.md +7 -6
- package/docs/workflows.md +11 -7
- package/npm-shrinkwrap.json +59 -77
- package/package.json +7 -7
|
@@ -9,7 +9,7 @@ import type { CustomMessage } from "../messages.ts";
|
|
|
9
9
|
import type { ResolvedResource } from "../package-manager.ts";
|
|
10
10
|
import type { DefaultResourceLoaderInheritanceSnapshot } from "../resource-loader.ts";
|
|
11
11
|
import type { SlashCommandInfo } from "../slash-commands.ts";
|
|
12
|
-
import type { AfterProviderResponseEvent, AgentEndEvent, AgentSettledEvent, AgentStartEvent, BeforeAgentStartEvent, BeforeProviderHeadersEvent, BeforeProviderRequestEvent, ContextEvent, InputEvent, InputEventResult, MessageEndEvent, MessageStartEvent, MessageUpdateEvent, ModelSelectEvent, ProjectTrustHandler, ThinkingLevelSelectEvent, ToolExecutionEndEvent, ToolExecutionStartEvent, ToolExecutionUpdateEvent, TurnEndEvent, TurnStartEvent, UserBashEvent } from "./agent-events.ts";
|
|
12
|
+
import type { AfterProviderResponseEvent, AgentEndEvent, AgentSettledEvent, AgentStartEvent, BeforeAgentStartEvent, BeforeProviderHeadersEvent, BeforeProviderRequestEvent, ContextEvent, InputEvent, InputEventResult, MessageEndEvent, MessageStartEvent, MessageUpdateEvent, ModelSelectEvent, ProjectTrustHandler, ThinkingLevelSelectEvent, ToolExecutionEndEvent, ToolExecutionStartEvent, ToolExecutionUpdateEvent, TurnEndEvent, TurnStartEvent, UIPromptEndEvent, UIPromptStartEvent, UserBashEvent } from "./agent-events.ts";
|
|
13
13
|
import type { RegisteredCommand } from "./command-types.ts";
|
|
14
14
|
import type { ExtensionContext } from "./context-types.ts";
|
|
15
15
|
import type { BeforeAgentStartEventResult, BeforeProviderRequestEventResult, ContextEventResult, MessageEndEventResult, SessionBeforeCompactResult, SessionBeforeForkResult, SessionBeforeSwitchResult, SessionBeforeTreeResult, ToolCallEventResult, ToolResultEventResult, UserBashEventResult } from "./event-results.ts";
|
|
@@ -43,6 +43,8 @@ export interface ExtensionAPI {
|
|
|
43
43
|
on(event: "agent_start", handler: ExtensionHandler<AgentStartEvent>): void;
|
|
44
44
|
on(event: "agent_end", handler: ExtensionHandler<AgentEndEvent>): void;
|
|
45
45
|
on(event: "agent_settled", handler: ExtensionHandler<AgentSettledEvent>): void;
|
|
46
|
+
on(event: "ui_prompt_start", handler: ExtensionHandler<UIPromptStartEvent>): void;
|
|
47
|
+
on(event: "ui_prompt_end", handler: ExtensionHandler<UIPromptEndEvent>): void;
|
|
46
48
|
on(event: "turn_start", handler: ExtensionHandler<TurnStartEvent>): void;
|
|
47
49
|
on(event: "turn_end", handler: ExtensionHandler<TurnEndEvent>): void;
|
|
48
50
|
on(event: "message_start", handler: ExtensionHandler<MessageStartEvent>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-types.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/api-types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api-types.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/api-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-types.js","sourceRoot":"","sources":["../../../src/core/extensions/api-types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Provider } from \"@bastani/pi-ai\";\nimport type { Api, ImageContent, Model, TextContent } from \"@bastani/pi-ai/compat\";\nimport type { ThinkingLevel } from \"@earendil-works/pi-agent-core\";\nimport type { KeyId } from \"@earendil-works/pi-tui\";\nimport type { TSchema } from \"typebox\";\nimport type { EventBus } from \"../event-bus.ts\";\nimport type { ExecOptions, ExecResult } from \"../exec.ts\";\nimport type { CustomMessage } from \"../messages.ts\";\nimport type { ResolvedResource } from \"../package-manager.ts\";\nimport type { DefaultResourceLoaderInheritanceSnapshot } from \"../resource-loader.ts\";\nimport type { SlashCommandInfo } from \"../slash-commands.ts\";\nimport type {\n\tAfterProviderResponseEvent,\n\tAgentEndEvent,\n\tAgentSettledEvent,\n\tAgentStartEvent,\n\tBeforeAgentStartEvent,\n\tBeforeProviderHeadersEvent,\n\tBeforeProviderRequestEvent,\n\tContextEvent,\n\tInputEvent,\n\tInputEventResult,\n\tMessageEndEvent,\n\tMessageStartEvent,\n\tMessageUpdateEvent,\n\tModelSelectEvent,\n\tProjectTrustHandler,\n\tThinkingLevelSelectEvent,\n\tToolExecutionEndEvent,\n\tToolExecutionStartEvent,\n\tToolExecutionUpdateEvent,\n\tTurnEndEvent,\n\tTurnStartEvent,\n\tUserBashEvent,\n} from \"./agent-events.ts\";\nimport type { RegisteredCommand } from \"./command-types.ts\";\nimport type { ExtensionContext } from \"./context-types.ts\";\nimport type {\n\tBeforeAgentStartEventResult,\n\tBeforeProviderRequestEventResult,\n\tContextEventResult,\n\tMessageEndEventResult,\n\tSessionBeforeCompactResult,\n\tSessionBeforeForkResult,\n\tSessionBeforeSwitchResult,\n\tSessionBeforeTreeResult,\n\tToolCallEventResult,\n\tToolResultEventResult,\n\tUserBashEventResult,\n} from \"./event-results.ts\";\nimport type {\n\tEntryRenderer,\n\tMarkdownTransformer,\n\tMessageRenderer,\n\tSendMessageOptions,\n\tSendMessagesOptions,\n} from \"./message-types.ts\";\nimport type { ProviderConfig } from \"./provider-types.ts\";\nimport type {\n\tResourcesDiscoverEvent,\n\tResourcesDiscoverResult,\n\tSessionBeforeCompactEvent,\n\tSessionBeforeForkEvent,\n\tSessionBeforeSwitchEvent,\n\tSessionBeforeTreeEvent,\n\tSessionCompactEvent,\n\tSessionCompactFailedEvent,\n\tSessionInfoChangedEvent,\n\tSessionShutdownEvent,\n\tSessionStartEvent,\n\tSessionTreeEvent,\n} from \"./session-events.ts\";\nimport type { ToolCallEvent, ToolResultEvent } from \"./tool-events.ts\";\nimport type { ToolDefinition, ToolInfo } from \"./tool-types.ts\";\n\n/** Handler function type for events */\n// biome-ignore lint/suspicious/noConfusingVoidType: void allows bare return statements\nexport type ExtensionHandler<E, R = undefined> = (event: E, ctx: ExtensionContext) => Promise<R | void> | R | void;\n\n/**\n * ExtensionAPI passed to extension factory functions.\n */\nexport interface ExtensionAPI {\n\t// =========================================================================\n\t// Event Subscription\n\t// =========================================================================\n\n\ton(event: \"resources_discover\", handler: ExtensionHandler<ResourcesDiscoverEvent, ResourcesDiscoverResult>): void;\n\ton(event: \"session_info_changed\", handler: ExtensionHandler<SessionInfoChangedEvent>): void;\n\ton(event: \"session_start\", handler: ExtensionHandler<SessionStartEvent>): void;\n\ton(\n\t\tevent: \"session_before_switch\",\n\t\thandler: ExtensionHandler<SessionBeforeSwitchEvent, SessionBeforeSwitchResult>,\n\t): void;\n\ton(event: \"session_before_fork\", handler: ExtensionHandler<SessionBeforeForkEvent, SessionBeforeForkResult>): void;\n\ton(\n\t\tevent: \"session_before_compact\",\n\t\thandler: ExtensionHandler<SessionBeforeCompactEvent, SessionBeforeCompactResult>,\n\t): void;\n\ton(event: \"session_compact\", handler: ExtensionHandler<SessionCompactEvent>): void;\n\ton(event: \"session_compact_failed\", handler: ExtensionHandler<SessionCompactFailedEvent>): void;\n\ton(event: \"session_shutdown\", handler: ExtensionHandler<SessionShutdownEvent>): void;\n\ton(event: \"session_before_tree\", handler: ExtensionHandler<SessionBeforeTreeEvent, SessionBeforeTreeResult>): void;\n\ton(event: \"session_tree\", handler: ExtensionHandler<SessionTreeEvent>): void;\n\ton(event: \"context\", handler: ExtensionHandler<ContextEvent, ContextEventResult>): void;\n\ton(\n\t\tevent: \"before_provider_request\",\n\t\thandler: ExtensionHandler<BeforeProviderRequestEvent, BeforeProviderRequestEventResult>,\n\t): void;\n\ton(event: \"before_provider_headers\", handler: ExtensionHandler<BeforeProviderHeadersEvent>): void;\n\ton(event: \"after_provider_response\", handler: ExtensionHandler<AfterProviderResponseEvent>): void;\n\ton(event: \"before_agent_start\", handler: ExtensionHandler<BeforeAgentStartEvent, BeforeAgentStartEventResult>): void;\n\ton(event: \"agent_start\", handler: ExtensionHandler<AgentStartEvent>): void;\n\ton(event: \"agent_end\", handler: ExtensionHandler<AgentEndEvent>): void;\n\ton(event: \"agent_settled\", handler: ExtensionHandler<AgentSettledEvent>): void;\n\ton(event: \"turn_start\", handler: ExtensionHandler<TurnStartEvent>): void;\n\ton(event: \"turn_end\", handler: ExtensionHandler<TurnEndEvent>): void;\n\ton(event: \"message_start\", handler: ExtensionHandler<MessageStartEvent>): void;\n\ton(event: \"message_update\", handler: ExtensionHandler<MessageUpdateEvent>): void;\n\ton(event: \"message_end\", handler: ExtensionHandler<MessageEndEvent, MessageEndEventResult>): void;\n\ton(event: \"tool_execution_start\", handler: ExtensionHandler<ToolExecutionStartEvent>): void;\n\ton(event: \"tool_execution_update\", handler: ExtensionHandler<ToolExecutionUpdateEvent>): void;\n\ton(event: \"tool_execution_end\", handler: ExtensionHandler<ToolExecutionEndEvent>): void;\n\ton(event: \"model_select\", handler: ExtensionHandler<ModelSelectEvent>): void;\n\ton(event: \"thinking_level_select\", handler: ExtensionHandler<ThinkingLevelSelectEvent>): void;\n\ton(event: \"tool_call\", handler: ExtensionHandler<ToolCallEvent, ToolCallEventResult>): void;\n\ton(event: \"tool_result\", handler: ExtensionHandler<ToolResultEvent, ToolResultEventResult>): void;\n\ton(event: \"user_bash\", handler: ExtensionHandler<UserBashEvent, UserBashEventResult>): void;\n\ton(event: \"project_trust\", handler: ProjectTrustHandler): void;\n\ton(event: \"input\", handler: ExtensionHandler<InputEvent, InputEventResult>): void;\n\n\t// =========================================================================\n\t// Tool Registration\n\t// =========================================================================\n\n\t/** Register a tool that the LLM can call. */\n\tregisterTool<TParams extends TSchema = TSchema, TDetails = unknown, TState = unknown>(\n\t\ttool: ToolDefinition<TParams, TDetails, TState>,\n\t): void;\n\n\t// =========================================================================\n\t// Command, Shortcut, Flag Registration\n\t// =========================================================================\n\n\t/** Register a custom command. */\n\tregisterCommand(name: string, options: Omit<RegisteredCommand, \"name\" | \"sourceInfo\">): void;\n\n\t/** Register a keyboard shortcut. */\n\tregisterShortcut(\n\t\tshortcut: KeyId,\n\t\toptions: {\n\t\t\tdescription?: string;\n\t\t\thandler: (ctx: ExtensionContext) => Promise<void> | void;\n\t\t},\n\t): void;\n\n\t/** Register a CLI flag. */\n\tregisterFlag(\n\t\tname: string,\n\t\toptions:\n\t\t\t| { description?: string; type: \"boolean\"; default?: boolean }\n\t\t\t| { description?: string; type: \"string\"; default?: string },\n\t): void;\n\n\t/** Get the value of a registered CLI flag. */\n\tgetFlag(name: string): boolean | string | undefined;\n\n\t/** Return package-provided workflow files discovered for this session. */\n\tgetWorkflowResources(): ResolvedResource[];\n\n\t/**\n\t * Re-read package/settings workflow resources and return the updated snapshot when supported by the host.\n\t * Does not reload extensions, skills, prompts, themes, or context files.\n\t */\n\trefreshWorkflowResources?: () => Promise<ResolvedResource[]>;\n\n\t/**\n\t * Return the resource-loader options that child Atomic sessions should inherit without sharing this loader instance.\n\t */\n\tgetResourceLoaderInheritanceSnapshot?: () => DefaultResourceLoaderInheritanceSnapshot;\n\n\t// =========================================================================\n\t// Message Rendering\n\t// =========================================================================\n\n\t/** Register a custom renderer for CustomMessageEntry. */\n\tregisterMessageRenderer<T = unknown>(customType: string, renderer: MessageRenderer<T>): void;\n\n\t/** Register a transformer for user and assistant Markdown before Atomic renders it in the interactive transcript. */\n\tregisterMarkdownTransformer(transformer: MarkdownTransformer): void;\n\t/** Register a custom renderer for a persistent CustomEntry. */\n\tregisterEntryRenderer<T = unknown>(customType: string, renderer: EntryRenderer<T>): void;\n\n\t// =========================================================================\n\t// Actions\n\t// =========================================================================\n\n\t/** Send a custom message to the session. */\n\tsendMessage<T = unknown>(\n\t\tmessage: Pick<CustomMessage<T>, \"customType\" | \"content\" | \"display\" | \"details\">,\n\t\toptions?: SendMessageOptions,\n\t): void | Promise<void>;\n\n\t/** Atomically admit custom messages in array order without waiting for the resulting turn. */\n\tsendMessages<T = unknown>(\n\t\tmessages: Array<Pick<CustomMessage<T>, \"customType\" | \"content\" | \"display\" | \"details\">>,\n\t\toptions?: SendMessagesOptions,\n\t): void | Promise<void>;\n\n\t/**\n\t * Send a user message to the agent. Always triggers a turn.\n\t * When the agent is streaming, use deliverAs to specify how to queue the message.\n\t *\n\t * By default the text is sent literally. Set expandPromptTemplates to true to\n\t * dispatch a registered extension or skill command (or expand a prompt\n\t * template) — with that option the message may DISPATCH a command rather\n\t * than being sent. Default: false.\n\t */\n\tsendUserMessage(\n\t\tcontent: string | (TextContent | ImageContent)[],\n\t\toptions?: { deliverAs?: \"steer\" | \"followUp\"; expandPromptTemplates?: boolean },\n\t): void;\n\n\t/** Append a custom entry to the session for state persistence (not sent to LLM). */\n\tappendEntry<T = unknown>(customType: string, data?: T): void;\n\n\t// =========================================================================\n\t// Session Metadata\n\t// =========================================================================\n\n\t/** Set the session display name (shown in session selector). */\n\tsetSessionName(name: string): void;\n\n\t/** Get the current session name, if set. */\n\tgetSessionName(): string | undefined;\n\n\t/** Set or clear a label on an entry. Labels are user-defined markers for bookmarking/navigation. */\n\tsetLabel(entryId: string, label: string | undefined): void;\n\n\t/** Execute a shell command. */\n\texec(command: string, args: string[], options?: ExecOptions): Promise<ExecResult>;\n\n\t/** Get the list of currently active tool names. */\n\tgetActiveTools(): string[];\n\n\t/** Get all configured tools with parameter schema and source metadata. */\n\tgetAllTools(): ToolInfo[];\n\n\t/** Set the active tools by name. */\n\tsetActiveTools(toolNames: string[]): void;\n\n\t/** Get available slash commands in the current session. */\n\tgetCommands(): SlashCommandInfo[];\n\n\t// =========================================================================\n\t// Model and Thinking Level\n\t// =========================================================================\n\n\t/** Set the current model. Returns false if no API key available. */\n\tsetModel(model: Model<Api>): Promise<boolean>;\n\n\t/** Get current thinking level. */\n\tgetThinkingLevel(): ThinkingLevel;\n\n\t/** Set thinking level (clamped to model capabilities). */\n\tsetThinkingLevel(level: ThinkingLevel): void;\n\n\t// =========================================================================\n\t// Provider Registration\n\t// =========================================================================\n\n\t/**\n\t * Register or override a model provider.\n\t *\n\t * If `models` is provided: replaces all existing models for this provider.\n\t * If only `baseUrl` is provided: overrides the URL for existing models.\n\t * If `oauth` is provided: registers OAuth provider for /login support.\n\t * If `streamSimple` is provided: registers a custom API stream handler.\n\t *\n\t * During initial extension load this call is queued and applied once the\n\t * runner has bound its context. After that it takes effect immediately, so\n\t * it is safe to call from command handlers or event callbacks without\n\t * requiring a `/reload`.\n\t *\n\t * @example\n\t * // Register a new provider with custom models\n\t * pi.registerProvider(\"my-proxy\", {\n\t * baseUrl: \"https://proxy.example.com\",\n\t * apiKey: \"$PROXY_API_KEY\",\n\t * api: \"anthropic-messages\",\n\t * models: [\n\t * {\n\t * id: \"claude-sonnet-4-20250514\",\n\t * name: \"Claude 4 Sonnet (proxy)\",\n\t * reasoning: false,\n\t * input: [\"text\", \"image\"],\n\t * cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },\n\t * contextWindow: 200000,\n\t * maxTokens: 16384\n\t * }\n\t * ]\n\t * });\n\t *\n\t * @example\n\t * // Override baseUrl for an existing provider\n\t * pi.registerProvider(\"anthropic\", {\n\t * baseUrl: \"https://proxy.example.com\"\n\t * });\n\t *\n\t * @example\n\t * // Register provider with OAuth support\n\t * pi.registerProvider(\"corporate-ai\", {\n\t * baseUrl: \"https://ai.corp.com\",\n\t * api: \"openai-responses\",\n\t * models: [...],\n\t * oauth: {\n\t * name: \"Corporate AI (SSO)\",\n\t * async login(callbacks, signal) { ... },\n\t * async refreshToken(credentials, signal) { ... },\n\t * getApiKey(credentials) { return credentials.access; }\n\t * }\n\t * });\n\t */\n\tregisterProvider(name: string, config: ProviderConfig): void;\n\tregisterProvider(provider: Provider): void;\n\n\t/**\n\t * Unregister a previously registered provider.\n\t *\n\t * Removes all models belonging to the named provider and restores any\n\t * built-in models that were overridden by it. Has no effect if the provider\n\t * is not currently registered.\n\t *\n\t * Like `registerProvider`, this takes effect immediately when called after\n\t * the initial load phase.\n\t *\n\t * @example\n\t * pi.unregisterProvider(\"my-proxy\");\n\t */\n\tunregisterProvider(name: string): void;\n\n\t/** Shared event bus for extension communication. */\n\tevents: EventBus;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"api-types.js","sourceRoot":"","sources":["../../../src/core/extensions/api-types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Provider } from \"@bastani/pi-ai\";\nimport type { Api, ImageContent, Model, TextContent } from \"@bastani/pi-ai/compat\";\nimport type { ThinkingLevel } from \"@earendil-works/pi-agent-core\";\nimport type { KeyId } from \"@earendil-works/pi-tui\";\nimport type { TSchema } from \"typebox\";\nimport type { EventBus } from \"../event-bus.ts\";\nimport type { ExecOptions, ExecResult } from \"../exec.ts\";\nimport type { CustomMessage } from \"../messages.ts\";\nimport type { ResolvedResource } from \"../package-manager.ts\";\nimport type { DefaultResourceLoaderInheritanceSnapshot } from \"../resource-loader.ts\";\nimport type { SlashCommandInfo } from \"../slash-commands.ts\";\nimport type {\n\tAfterProviderResponseEvent,\n\tAgentEndEvent,\n\tAgentSettledEvent,\n\tAgentStartEvent,\n\tBeforeAgentStartEvent,\n\tBeforeProviderHeadersEvent,\n\tBeforeProviderRequestEvent,\n\tContextEvent,\n\tInputEvent,\n\tInputEventResult,\n\tMessageEndEvent,\n\tMessageStartEvent,\n\tMessageUpdateEvent,\n\tModelSelectEvent,\n\tProjectTrustHandler,\n\tThinkingLevelSelectEvent,\n\tToolExecutionEndEvent,\n\tToolExecutionStartEvent,\n\tToolExecutionUpdateEvent,\n\tTurnEndEvent,\n\tTurnStartEvent,\n\tUIPromptEndEvent,\n\tUIPromptStartEvent,\n\tUserBashEvent,\n} from \"./agent-events.ts\";\nimport type { RegisteredCommand } from \"./command-types.ts\";\nimport type { ExtensionContext } from \"./context-types.ts\";\nimport type {\n\tBeforeAgentStartEventResult,\n\tBeforeProviderRequestEventResult,\n\tContextEventResult,\n\tMessageEndEventResult,\n\tSessionBeforeCompactResult,\n\tSessionBeforeForkResult,\n\tSessionBeforeSwitchResult,\n\tSessionBeforeTreeResult,\n\tToolCallEventResult,\n\tToolResultEventResult,\n\tUserBashEventResult,\n} from \"./event-results.ts\";\nimport type {\n\tEntryRenderer,\n\tMarkdownTransformer,\n\tMessageRenderer,\n\tSendMessageOptions,\n\tSendMessagesOptions,\n} from \"./message-types.ts\";\nimport type { ProviderConfig } from \"./provider-types.ts\";\nimport type {\n\tResourcesDiscoverEvent,\n\tResourcesDiscoverResult,\n\tSessionBeforeCompactEvent,\n\tSessionBeforeForkEvent,\n\tSessionBeforeSwitchEvent,\n\tSessionBeforeTreeEvent,\n\tSessionCompactEvent,\n\tSessionCompactFailedEvent,\n\tSessionInfoChangedEvent,\n\tSessionShutdownEvent,\n\tSessionStartEvent,\n\tSessionTreeEvent,\n} from \"./session-events.ts\";\nimport type { ToolCallEvent, ToolResultEvent } from \"./tool-events.ts\";\nimport type { ToolDefinition, ToolInfo } from \"./tool-types.ts\";\n\n/** Handler function type for events */\n// biome-ignore lint/suspicious/noConfusingVoidType: void allows bare return statements\nexport type ExtensionHandler<E, R = undefined> = (event: E, ctx: ExtensionContext) => Promise<R | void> | R | void;\n\n/**\n * ExtensionAPI passed to extension factory functions.\n */\nexport interface ExtensionAPI {\n\t// =========================================================================\n\t// Event Subscription\n\t// =========================================================================\n\n\ton(event: \"resources_discover\", handler: ExtensionHandler<ResourcesDiscoverEvent, ResourcesDiscoverResult>): void;\n\ton(event: \"session_info_changed\", handler: ExtensionHandler<SessionInfoChangedEvent>): void;\n\ton(event: \"session_start\", handler: ExtensionHandler<SessionStartEvent>): void;\n\ton(\n\t\tevent: \"session_before_switch\",\n\t\thandler: ExtensionHandler<SessionBeforeSwitchEvent, SessionBeforeSwitchResult>,\n\t): void;\n\ton(event: \"session_before_fork\", handler: ExtensionHandler<SessionBeforeForkEvent, SessionBeforeForkResult>): void;\n\ton(\n\t\tevent: \"session_before_compact\",\n\t\thandler: ExtensionHandler<SessionBeforeCompactEvent, SessionBeforeCompactResult>,\n\t): void;\n\ton(event: \"session_compact\", handler: ExtensionHandler<SessionCompactEvent>): void;\n\ton(event: \"session_compact_failed\", handler: ExtensionHandler<SessionCompactFailedEvent>): void;\n\ton(event: \"session_shutdown\", handler: ExtensionHandler<SessionShutdownEvent>): void;\n\ton(event: \"session_before_tree\", handler: ExtensionHandler<SessionBeforeTreeEvent, SessionBeforeTreeResult>): void;\n\ton(event: \"session_tree\", handler: ExtensionHandler<SessionTreeEvent>): void;\n\ton(event: \"context\", handler: ExtensionHandler<ContextEvent, ContextEventResult>): void;\n\ton(\n\t\tevent: \"before_provider_request\",\n\t\thandler: ExtensionHandler<BeforeProviderRequestEvent, BeforeProviderRequestEventResult>,\n\t): void;\n\ton(event: \"before_provider_headers\", handler: ExtensionHandler<BeforeProviderHeadersEvent>): void;\n\ton(event: \"after_provider_response\", handler: ExtensionHandler<AfterProviderResponseEvent>): void;\n\ton(event: \"before_agent_start\", handler: ExtensionHandler<BeforeAgentStartEvent, BeforeAgentStartEventResult>): void;\n\ton(event: \"agent_start\", handler: ExtensionHandler<AgentStartEvent>): void;\n\ton(event: \"agent_end\", handler: ExtensionHandler<AgentEndEvent>): void;\n\ton(event: \"agent_settled\", handler: ExtensionHandler<AgentSettledEvent>): void;\n\ton(event: \"ui_prompt_start\", handler: ExtensionHandler<UIPromptStartEvent>): void;\n\ton(event: \"ui_prompt_end\", handler: ExtensionHandler<UIPromptEndEvent>): void;\n\ton(event: \"turn_start\", handler: ExtensionHandler<TurnStartEvent>): void;\n\ton(event: \"turn_end\", handler: ExtensionHandler<TurnEndEvent>): void;\n\ton(event: \"message_start\", handler: ExtensionHandler<MessageStartEvent>): void;\n\ton(event: \"message_update\", handler: ExtensionHandler<MessageUpdateEvent>): void;\n\ton(event: \"message_end\", handler: ExtensionHandler<MessageEndEvent, MessageEndEventResult>): void;\n\ton(event: \"tool_execution_start\", handler: ExtensionHandler<ToolExecutionStartEvent>): void;\n\ton(event: \"tool_execution_update\", handler: ExtensionHandler<ToolExecutionUpdateEvent>): void;\n\ton(event: \"tool_execution_end\", handler: ExtensionHandler<ToolExecutionEndEvent>): void;\n\ton(event: \"model_select\", handler: ExtensionHandler<ModelSelectEvent>): void;\n\ton(event: \"thinking_level_select\", handler: ExtensionHandler<ThinkingLevelSelectEvent>): void;\n\ton(event: \"tool_call\", handler: ExtensionHandler<ToolCallEvent, ToolCallEventResult>): void;\n\ton(event: \"tool_result\", handler: ExtensionHandler<ToolResultEvent, ToolResultEventResult>): void;\n\ton(event: \"user_bash\", handler: ExtensionHandler<UserBashEvent, UserBashEventResult>): void;\n\ton(event: \"project_trust\", handler: ProjectTrustHandler): void;\n\ton(event: \"input\", handler: ExtensionHandler<InputEvent, InputEventResult>): void;\n\n\t// =========================================================================\n\t// Tool Registration\n\t// =========================================================================\n\n\t/** Register a tool that the LLM can call. */\n\tregisterTool<TParams extends TSchema = TSchema, TDetails = unknown, TState = unknown>(\n\t\ttool: ToolDefinition<TParams, TDetails, TState>,\n\t): void;\n\n\t// =========================================================================\n\t// Command, Shortcut, Flag Registration\n\t// =========================================================================\n\n\t/** Register a custom command. */\n\tregisterCommand(name: string, options: Omit<RegisteredCommand, \"name\" | \"sourceInfo\">): void;\n\n\t/** Register a keyboard shortcut. */\n\tregisterShortcut(\n\t\tshortcut: KeyId,\n\t\toptions: {\n\t\t\tdescription?: string;\n\t\t\thandler: (ctx: ExtensionContext) => Promise<void> | void;\n\t\t},\n\t): void;\n\n\t/** Register a CLI flag. */\n\tregisterFlag(\n\t\tname: string,\n\t\toptions:\n\t\t\t| { description?: string; type: \"boolean\"; default?: boolean }\n\t\t\t| { description?: string; type: \"string\"; default?: string },\n\t): void;\n\n\t/** Get the value of a registered CLI flag. */\n\tgetFlag(name: string): boolean | string | undefined;\n\n\t/** Return package-provided workflow files discovered for this session. */\n\tgetWorkflowResources(): ResolvedResource[];\n\n\t/**\n\t * Re-read package/settings workflow resources and return the updated snapshot when supported by the host.\n\t * Does not reload extensions, skills, prompts, themes, or context files.\n\t */\n\trefreshWorkflowResources?: () => Promise<ResolvedResource[]>;\n\n\t/**\n\t * Return the resource-loader options that child Atomic sessions should inherit without sharing this loader instance.\n\t */\n\tgetResourceLoaderInheritanceSnapshot?: () => DefaultResourceLoaderInheritanceSnapshot;\n\n\t// =========================================================================\n\t// Message Rendering\n\t// =========================================================================\n\n\t/** Register a custom renderer for CustomMessageEntry. */\n\tregisterMessageRenderer<T = unknown>(customType: string, renderer: MessageRenderer<T>): void;\n\n\t/** Register a transformer for user and assistant Markdown before Atomic renders it in the interactive transcript. */\n\tregisterMarkdownTransformer(transformer: MarkdownTransformer): void;\n\t/** Register a custom renderer for a persistent CustomEntry. */\n\tregisterEntryRenderer<T = unknown>(customType: string, renderer: EntryRenderer<T>): void;\n\n\t// =========================================================================\n\t// Actions\n\t// =========================================================================\n\n\t/** Send a custom message to the session. */\n\tsendMessage<T = unknown>(\n\t\tmessage: Pick<CustomMessage<T>, \"customType\" | \"content\" | \"display\" | \"details\">,\n\t\toptions?: SendMessageOptions,\n\t): void | Promise<void>;\n\n\t/** Atomically admit custom messages in array order without waiting for the resulting turn. */\n\tsendMessages<T = unknown>(\n\t\tmessages: Array<Pick<CustomMessage<T>, \"customType\" | \"content\" | \"display\" | \"details\">>,\n\t\toptions?: SendMessagesOptions,\n\t): void | Promise<void>;\n\n\t/**\n\t * Send a user message to the agent. Always triggers a turn.\n\t * When the agent is streaming, use deliverAs to specify how to queue the message.\n\t *\n\t * By default the text is sent literally. Set expandPromptTemplates to true to\n\t * dispatch a registered extension or skill command (or expand a prompt\n\t * template) — with that option the message may DISPATCH a command rather\n\t * than being sent. Default: false.\n\t */\n\tsendUserMessage(\n\t\tcontent: string | (TextContent | ImageContent)[],\n\t\toptions?: { deliverAs?: \"steer\" | \"followUp\"; expandPromptTemplates?: boolean },\n\t): void;\n\n\t/** Append a custom entry to the session for state persistence (not sent to LLM). */\n\tappendEntry<T = unknown>(customType: string, data?: T): void;\n\n\t// =========================================================================\n\t// Session Metadata\n\t// =========================================================================\n\n\t/** Set the session display name (shown in session selector). */\n\tsetSessionName(name: string): void;\n\n\t/** Get the current session name, if set. */\n\tgetSessionName(): string | undefined;\n\n\t/** Set or clear a label on an entry. Labels are user-defined markers for bookmarking/navigation. */\n\tsetLabel(entryId: string, label: string | undefined): void;\n\n\t/** Execute a shell command. */\n\texec(command: string, args: string[], options?: ExecOptions): Promise<ExecResult>;\n\n\t/** Get the list of currently active tool names. */\n\tgetActiveTools(): string[];\n\n\t/** Get all configured tools with parameter schema and source metadata. */\n\tgetAllTools(): ToolInfo[];\n\n\t/** Set the active tools by name. */\n\tsetActiveTools(toolNames: string[]): void;\n\n\t/** Get available slash commands in the current session. */\n\tgetCommands(): SlashCommandInfo[];\n\n\t// =========================================================================\n\t// Model and Thinking Level\n\t// =========================================================================\n\n\t/** Set the current model. Returns false if no API key available. */\n\tsetModel(model: Model<Api>): Promise<boolean>;\n\n\t/** Get current thinking level. */\n\tgetThinkingLevel(): ThinkingLevel;\n\n\t/** Set thinking level (clamped to model capabilities). */\n\tsetThinkingLevel(level: ThinkingLevel): void;\n\n\t// =========================================================================\n\t// Provider Registration\n\t// =========================================================================\n\n\t/**\n\t * Register or override a model provider.\n\t *\n\t * If `models` is provided: replaces all existing models for this provider.\n\t * If only `baseUrl` is provided: overrides the URL for existing models.\n\t * If `oauth` is provided: registers OAuth provider for /login support.\n\t * If `streamSimple` is provided: registers a custom API stream handler.\n\t *\n\t * During initial extension load this call is queued and applied once the\n\t * runner has bound its context. After that it takes effect immediately, so\n\t * it is safe to call from command handlers or event callbacks without\n\t * requiring a `/reload`.\n\t *\n\t * @example\n\t * // Register a new provider with custom models\n\t * pi.registerProvider(\"my-proxy\", {\n\t * baseUrl: \"https://proxy.example.com\",\n\t * apiKey: \"$PROXY_API_KEY\",\n\t * api: \"anthropic-messages\",\n\t * models: [\n\t * {\n\t * id: \"claude-sonnet-4-20250514\",\n\t * name: \"Claude 4 Sonnet (proxy)\",\n\t * reasoning: false,\n\t * input: [\"text\", \"image\"],\n\t * cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },\n\t * contextWindow: 200000,\n\t * maxTokens: 16384\n\t * }\n\t * ]\n\t * });\n\t *\n\t * @example\n\t * // Override baseUrl for an existing provider\n\t * pi.registerProvider(\"anthropic\", {\n\t * baseUrl: \"https://proxy.example.com\"\n\t * });\n\t *\n\t * @example\n\t * // Register provider with OAuth support\n\t * pi.registerProvider(\"corporate-ai\", {\n\t * baseUrl: \"https://ai.corp.com\",\n\t * api: \"openai-responses\",\n\t * models: [...],\n\t * oauth: {\n\t * name: \"Corporate AI (SSO)\",\n\t * async login(callbacks, signal) { ... },\n\t * async refreshToken(credentials, signal) { ... },\n\t * getApiKey(credentials) { return credentials.access; }\n\t * }\n\t * });\n\t */\n\tregisterProvider(name: string, config: ProviderConfig): void;\n\tregisterProvider(provider: Provider): void;\n\n\t/**\n\t * Unregister a previously registered provider.\n\t *\n\t * Removes all models belonging to the named provider and restores any\n\t * built-in models that were overridden by it. Has no effect if the provider\n\t * is not currently registered.\n\t *\n\t * Like `registerProvider`, this takes effect immediately when called after\n\t * the initial load phase.\n\t *\n\t * @example\n\t * pi.unregisterProvider(\"my-proxy\");\n\t */\n\tunregisterProvider(name: string): void;\n\n\t/** Shared event bus for extension communication. */\n\tevents: EventBus;\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { AfterProviderResponseEvent, AgentEndEvent, AgentSettledEvent, AgentStartEvent, BeforeAgentStartEvent, BeforeProviderHeadersEvent, BeforeProviderRequestEvent, ContextEvent, InputEvent, MessageEndEvent, MessageStartEvent, MessageUpdateEvent, ModelSelectEvent, ProjectTrustEvent, ThinkingLevelSelectEvent, ToolExecutionEndEvent, ToolExecutionStartEvent, ToolExecutionUpdateEvent, TurnEndEvent, TurnStartEvent, UserBashEvent } from "./agent-events.ts";
|
|
1
|
+
import type { AfterProviderResponseEvent, AgentEndEvent, AgentSettledEvent, AgentStartEvent, BeforeAgentStartEvent, BeforeProviderHeadersEvent, BeforeProviderRequestEvent, ContextEvent, InputEvent, MessageEndEvent, MessageStartEvent, MessageUpdateEvent, ModelSelectEvent, ProjectTrustEvent, ThinkingLevelSelectEvent, ToolExecutionEndEvent, ToolExecutionStartEvent, ToolExecutionUpdateEvent, TurnEndEvent, TurnStartEvent, UIPromptEndEvent, UIPromptStartEvent, UserBashEvent } from "./agent-events.ts";
|
|
2
2
|
import type { ResourcesDiscoverEvent, SessionEvent } from "./session-events.ts";
|
|
3
3
|
import type { ToolCallEvent, ToolResultEvent } from "./tool-events.ts";
|
|
4
4
|
/** Union of all event types */
|
|
5
|
-
export type ExtensionEvent = ResourcesDiscoverEvent | SessionEvent | ContextEvent | BeforeProviderRequestEvent | BeforeProviderHeadersEvent | AfterProviderResponseEvent | BeforeAgentStartEvent | AgentStartEvent | AgentEndEvent | AgentSettledEvent | TurnStartEvent | TurnEndEvent | MessageStartEvent | MessageUpdateEvent | MessageEndEvent | ToolExecutionStartEvent | ToolExecutionUpdateEvent | ToolExecutionEndEvent | ModelSelectEvent | ThinkingLevelSelectEvent | UserBashEvent | ProjectTrustEvent | InputEvent | ToolCallEvent | ToolResultEvent;
|
|
5
|
+
export type ExtensionEvent = ResourcesDiscoverEvent | SessionEvent | ContextEvent | BeforeProviderRequestEvent | BeforeProviderHeadersEvent | AfterProviderResponseEvent | BeforeAgentStartEvent | AgentStartEvent | AgentEndEvent | AgentSettledEvent | UIPromptStartEvent | UIPromptEndEvent | TurnStartEvent | TurnEndEvent | MessageStartEvent | MessageUpdateEvent | MessageEndEvent | ToolExecutionStartEvent | ToolExecutionUpdateEvent | ToolExecutionEndEvent | ModelSelectEvent | ThinkingLevelSelectEvent | UserBashEvent | ProjectTrustEvent | InputEvent | ToolCallEvent | ToolResultEvent;
|
|
6
6
|
//# sourceMappingURL=event-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-types.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/event-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,0BAA0B,EAC1B,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,YAAY,EACZ,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEvE,+BAA+B;AAC/B,MAAM,MAAM,cAAc,GACvB,sBAAsB,GACtB,YAAY,GACZ,YAAY,GACZ,0BAA0B,GAC1B,0BAA0B,GAC1B,0BAA0B,GAC1B,qBAAqB,GACrB,eAAe,GACf,aAAa,GACb,iBAAiB,GACjB,cAAc,GACd,YAAY,GACZ,iBAAiB,GACjB,kBAAkB,GAClB,eAAe,GACf,uBAAuB,GACvB,wBAAwB,GACxB,qBAAqB,GACrB,gBAAgB,GAChB,wBAAwB,GACxB,aAAa,GACb,iBAAiB,GACjB,UAAU,GACV,aAAa,GACb,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"event-types.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/event-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,0BAA0B,EAC1B,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,YAAY,EACZ,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEvE,+BAA+B;AAC/B,MAAM,MAAM,cAAc,GACvB,sBAAsB,GACtB,YAAY,GACZ,YAAY,GACZ,0BAA0B,GAC1B,0BAA0B,GAC1B,0BAA0B,GAC1B,qBAAqB,GACrB,eAAe,GACf,aAAa,GACb,iBAAiB,GACjB,kBAAkB,GAClB,gBAAgB,GAChB,cAAc,GACd,YAAY,GACZ,iBAAiB,GACjB,kBAAkB,GAClB,eAAe,GACf,uBAAuB,GACvB,wBAAwB,GACxB,qBAAqB,GACrB,gBAAgB,GAChB,wBAAwB,GACxB,aAAa,GACb,iBAAiB,GACjB,UAAU,GACV,aAAa,GACb,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-types.js","sourceRoot":"","sources":["../../../src/core/extensions/event-types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n\tAfterProviderResponseEvent,\n\tAgentEndEvent,\n\tAgentSettledEvent,\n\tAgentStartEvent,\n\tBeforeAgentStartEvent,\n\tBeforeProviderHeadersEvent,\n\tBeforeProviderRequestEvent,\n\tContextEvent,\n\tInputEvent,\n\tMessageEndEvent,\n\tMessageStartEvent,\n\tMessageUpdateEvent,\n\tModelSelectEvent,\n\tProjectTrustEvent,\n\tThinkingLevelSelectEvent,\n\tToolExecutionEndEvent,\n\tToolExecutionStartEvent,\n\tToolExecutionUpdateEvent,\n\tTurnEndEvent,\n\tTurnStartEvent,\n\tUserBashEvent,\n} from \"./agent-events.ts\";\nimport type { ResourcesDiscoverEvent, SessionEvent } from \"./session-events.ts\";\nimport type { ToolCallEvent, ToolResultEvent } from \"./tool-events.ts\";\n\n/** Union of all event types */\nexport type ExtensionEvent =\n\t| ResourcesDiscoverEvent\n\t| SessionEvent\n\t| ContextEvent\n\t| BeforeProviderRequestEvent\n\t| BeforeProviderHeadersEvent\n\t| AfterProviderResponseEvent\n\t| BeforeAgentStartEvent\n\t| AgentStartEvent\n\t| AgentEndEvent\n\t| AgentSettledEvent\n\t| TurnStartEvent\n\t| TurnEndEvent\n\t| MessageStartEvent\n\t| MessageUpdateEvent\n\t| MessageEndEvent\n\t| ToolExecutionStartEvent\n\t| ToolExecutionUpdateEvent\n\t| ToolExecutionEndEvent\n\t| ModelSelectEvent\n\t| ThinkingLevelSelectEvent\n\t| UserBashEvent\n\t| ProjectTrustEvent\n\t| InputEvent\n\t| ToolCallEvent\n\t| ToolResultEvent;\n"]}
|
|
1
|
+
{"version":3,"file":"event-types.js","sourceRoot":"","sources":["../../../src/core/extensions/event-types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n\tAfterProviderResponseEvent,\n\tAgentEndEvent,\n\tAgentSettledEvent,\n\tAgentStartEvent,\n\tBeforeAgentStartEvent,\n\tBeforeProviderHeadersEvent,\n\tBeforeProviderRequestEvent,\n\tContextEvent,\n\tInputEvent,\n\tMessageEndEvent,\n\tMessageStartEvent,\n\tMessageUpdateEvent,\n\tModelSelectEvent,\n\tProjectTrustEvent,\n\tThinkingLevelSelectEvent,\n\tToolExecutionEndEvent,\n\tToolExecutionStartEvent,\n\tToolExecutionUpdateEvent,\n\tTurnEndEvent,\n\tTurnStartEvent,\n\tUIPromptEndEvent,\n\tUIPromptStartEvent,\n\tUserBashEvent,\n} from \"./agent-events.ts\";\nimport type { ResourcesDiscoverEvent, SessionEvent } from \"./session-events.ts\";\nimport type { ToolCallEvent, ToolResultEvent } from \"./tool-events.ts\";\n\n/** Union of all event types */\nexport type ExtensionEvent =\n\t| ResourcesDiscoverEvent\n\t| SessionEvent\n\t| ContextEvent\n\t| BeforeProviderRequestEvent\n\t| BeforeProviderHeadersEvent\n\t| AfterProviderResponseEvent\n\t| BeforeAgentStartEvent\n\t| AgentStartEvent\n\t| AgentEndEvent\n\t| AgentSettledEvent\n\t| UIPromptStartEvent\n\t| UIPromptEndEvent\n\t| TurnStartEvent\n\t| TurnEndEvent\n\t| MessageStartEvent\n\t| MessageUpdateEvent\n\t| MessageEndEvent\n\t| ToolExecutionStartEvent\n\t| ToolExecutionUpdateEvent\n\t| ToolExecutionEndEvent\n\t| ModelSelectEvent\n\t| ThinkingLevelSelectEvent\n\t| UserBashEvent\n\t| ProjectTrustEvent\n\t| InputEvent\n\t| ToolCallEvent\n\t| ToolResultEvent;\n"]}
|
|
@@ -12,7 +12,7 @@ export { decideReactiveWidgetAction, installReactiveWidget, } from "./reactive-w
|
|
|
12
12
|
export type { ExtensionErrorListener, ForkHandler, NavigateTreeHandler, NewSessionHandler, ShutdownHandler, SwitchSessionHandler, } from "./runner.ts";
|
|
13
13
|
export { ExtensionRunner } from "./runner.ts";
|
|
14
14
|
export { isStaleExtensionContextError, STALE_EXTENSION_CONTEXT_MARKER } from "./stale-context.ts";
|
|
15
|
-
export type { AfterProviderResponseEvent, AgentEndEvent, AgentSettledEvent, AgentStartEvent, AgentToolResult, AgentToolUpdateCallback, AppendEntryHandler, AppKeybinding, AutocompleteProviderFactory, BashToolCallEvent, BashToolResultEvent, BeforeAgentStartEvent, BeforeAgentStartEventResult, BeforeProviderHeadersEvent, BeforeProviderRequestEvent, BeforeProviderRequestEventResult, BuildSystemPromptOptions, CompactOptions, ContextEvent, ContextEventResult, ContextUsage, CustomMessageDelivery, CustomToolCallEvent, CustomToolResultEvent, EditorFactory, EditToolCallEvent, EditToolResultEvent, EntryRenderer, EntryRenderOptions, ExecOptions, ExecResult, Extension, ExtensionActions, ExtensionAPI, ExtensionCommandContext, ExtensionCommandContextActions, ExtensionContext, ExtensionContextActions, ExtensionCustomComponent, ExtensionError, ExtensionEvent, ExtensionFactory, ExtensionFlag, ExtensionHandler, ExtensionMode, ExtensionRuntime, ExtensionScopedModels, ExtensionShortcut, ExtensionUIContext, ExtensionUIDialogOptions, ExtensionWidgetOptions, FindToolCallEvent, FindToolResultEvent, GetActiveToolsHandler, GetAllToolsHandler, GetCommandsHandler, GetThinkingLevelHandler, HostCustomUiState, HostCustomUiStateListener, HostInputFormField, HostInputFormFieldType, HostInputFormRequest, HostSessionPickerHandle, HostSessionPickerRequest, HostSessionPickerRow, InlineExtension, InputEvent, InputEventResult, InputSource, KeybindingsManager, LoadExtensionsResult, LsToolCallEvent, LsToolResultEvent, MarkdownTransformContext, MarkdownTransformer, MessageEndEvent, MessageRenderer, MessageRenderOptions, MessageStartEvent, MessageUpdateEvent, ModelSelectEvent, ModelSelectSource, OrchestrationContext, PowerShellToolCallEvent, PowerShellToolResultEvent, ProjectTrustContext, ProjectTrustEvent, ProjectTrustEventDecision, ProjectTrustEventResult, ProjectTrustHandler, ProviderConfig, ProviderModelConfig, ReadToolCallEvent, ReadToolResultEvent, RegisteredCommand, RegisteredTool, ReplacedSessionContext, ResolvedCommand, ResourcesDiscoverEvent, ResourcesDiscoverResult, ScopedModel, SendMessageHandler, SendMessageOptions, SendMessagesHandler, SendMessagesOptions, SendUserMessageHandler, SessionBeforeCompactEvent, SessionBeforeCompactResult, SessionBeforeForkEvent, SessionBeforeForkResult, SessionBeforeSwitchEvent, SessionBeforeSwitchResult, SessionBeforeTreeEvent, SessionBeforeTreeResult, SessionCompactEvent, SessionCompactFailedEvent, SessionEvent, SessionInfoChangedEvent, SessionShutdownEvent, SessionStartEvent, SessionTreeEvent, SetActiveToolsHandler, SetLabelHandler, SetModelHandler, SetThinkingLevelHandler, SubagentChildPolicy, SubagentIntercomIdentity, TerminalInputHandler, ToolCallEvent, ToolCallEventResult, ToolDefinition, ToolExecutionEndEvent, ToolExecutionMode, ToolExecutionStartEvent, ToolExecutionUpdateEvent, ToolInfo, ToolRenderResultOptions, ToolResultEvent, ToolResultEventResult, TreePreparation, TurnEndEvent, TurnStartEvent, UserBashEvent, UserBashEventResult, WidgetPlacement, WorkflowPendingStageDelivery, WorkflowPendingStageMessage, WorkflowPendingStageSender, WorkflowStageOrchestrationContext, WorkingIndicatorOptions, WriteToolCallEvent, WriteToolResultEvent, } from "./types.ts";
|
|
15
|
+
export type { AfterProviderResponseEvent, AgentEndEvent, AgentSettledEvent, AgentStartEvent, AgentToolResult, AgentToolUpdateCallback, AppendEntryHandler, AppKeybinding, AutocompleteProviderFactory, BashToolCallEvent, BashToolResultEvent, BeforeAgentStartEvent, BeforeAgentStartEventResult, BeforeProviderHeadersEvent, BeforeProviderRequestEvent, BeforeProviderRequestEventResult, BuildSystemPromptOptions, CompactOptions, ContextEvent, ContextEventResult, ContextUsage, CustomMessageDelivery, CustomToolCallEvent, CustomToolResultEvent, EditorFactory, EditToolCallEvent, EditToolResultEvent, EntryRenderer, EntryRenderOptions, ExecOptions, ExecResult, Extension, ExtensionActions, ExtensionAPI, ExtensionCommandContext, ExtensionCommandContextActions, ExtensionContext, ExtensionContextActions, ExtensionCustomComponent, ExtensionError, ExtensionEvent, ExtensionFactory, ExtensionFlag, ExtensionHandler, ExtensionMode, ExtensionRuntime, ExtensionScopedModels, ExtensionShortcut, ExtensionUIContext, ExtensionUIDialogOptions, ExtensionWidgetOptions, FindToolCallEvent, FindToolResultEvent, GetActiveToolsHandler, GetAllToolsHandler, GetCommandsHandler, GetThinkingLevelHandler, HostCustomUiState, HostCustomUiStateListener, HostInputFormField, HostInputFormFieldType, HostInputFormRequest, HostSessionPickerHandle, HostSessionPickerRequest, HostSessionPickerRow, InlineExtension, InputEvent, InputEventResult, InputSource, KeybindingsManager, LoadExtensionsResult, LsToolCallEvent, LsToolResultEvent, MarkdownTransformContext, MarkdownTransformer, MessageEndEvent, MessageRenderer, MessageRenderOptions, MessageStartEvent, MessageUpdateEvent, ModelSelectEvent, ModelSelectSource, OrchestrationContext, PowerShellToolCallEvent, PowerShellToolResultEvent, ProjectTrustContext, ProjectTrustEvent, ProjectTrustEventDecision, ProjectTrustEventResult, ProjectTrustHandler, ProviderConfig, ProviderModelConfig, ReadToolCallEvent, ReadToolResultEvent, RegisteredCommand, RegisteredTool, ReplacedSessionContext, ResolvedCommand, ResourcesDiscoverEvent, ResourcesDiscoverResult, ScopedModel, SendMessageHandler, SendMessageOptions, SendMessagesHandler, SendMessagesOptions, SendUserMessageHandler, SessionBeforeCompactEvent, SessionBeforeCompactResult, SessionBeforeForkEvent, SessionBeforeForkResult, SessionBeforeSwitchEvent, SessionBeforeSwitchResult, SessionBeforeTreeEvent, SessionBeforeTreeResult, SessionCompactEvent, SessionCompactFailedEvent, SessionEvent, SessionInfoChangedEvent, SessionShutdownEvent, SessionStartEvent, SessionTreeEvent, SetActiveToolsHandler, SetLabelHandler, SetModelHandler, SetThinkingLevelHandler, SubagentChildPolicy, SubagentIntercomIdentity, TerminalInputHandler, ToolCallEvent, ToolCallEventResult, ToolDefinition, ToolExecutionEndEvent, ToolExecutionMode, ToolExecutionStartEvent, ToolExecutionUpdateEvent, ToolInfo, ToolRenderResultOptions, ToolResultEvent, ToolResultEventResult, TreePreparation, TurnEndEvent, TurnStartEvent, UIPromptEndEvent, UIPromptKind, UIPromptStartEvent, UserBashEvent, UserBashEventResult, WidgetPlacement, WorkflowPendingStageDelivery, WorkflowPendingStageMessage, WorkflowPendingStageSender, WorkflowStageOrchestrationContext, WorkingIndicatorOptions, WriteToolCallEvent, WriteToolResultEvent, } from "./types.ts";
|
|
16
16
|
export { defineTool, isBashToolResult, isEditToolResult, isFindToolResult, isLsToolResult, isPowerShellToolResult, isReadToolResult, isSearchToolResult, isToolCallEventType, isWriteToolResult, } from "./types.ts";
|
|
17
17
|
export { OVERLAY_ACTIVE_ROW_MARKER } from "./ui-types.ts";
|
|
18
18
|
export { wrapRegisteredTool, wrapRegisteredTools } from "./wrapper.ts";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/extensions/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EACN,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,cAAc,GACd,MAAM,aAAa,CAAC;AAerB,OAAO,EACN,0BAA0B,EAC1B,qBAAqB,GACrB,MAAM,sBAAsB,CAAC;AAS9B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,4BAA4B,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/extensions/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EACN,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,cAAc,GACd,MAAM,aAAa,CAAC;AAerB,OAAO,EACN,0BAA0B,EAC1B,qBAAqB,GACrB,MAAM,sBAAsB,CAAC;AAS9B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,4BAA4B,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AAmLlG,cAAc;AACd,OAAO,EACN,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC","sourcesContent":["/**\n * Extension system for lifecycle events and custom tools.\n */\n\nexport type { ConstrainedSamplingConfig } from \"@bastani/pi-ai/compat\";\nexport type { AtomicProviderCompat } from \"../model-capabilities.ts\";\nexport type { SlashCommandInfo, SlashCommandSource } from \"../slash-commands.ts\";\nexport type { SourceInfo } from \"../source-info.ts\";\nexport type { WorkflowResourceProvider, WorkflowResourceProviderInput } from \"./loader.ts\";\nexport {\n\tcreateExtensionRuntime,\n\tdiscoverAndLoadExtensions,\n\tloadExtensionFromFactory,\n\tloadExtensions,\n} from \"./loader.ts\";\nexport type {\n\tInstallReactiveWidgetOptions,\n\tReactiveWidgetAction,\n\tReactiveWidgetComponent,\n\tReactiveWidgetController,\n\tReactiveWidgetFactory,\n\tReactiveWidgetRefreshReason,\n\tReactiveWidgetRenderContext,\n\tReactiveWidgetRenderState,\n\tReactiveWidgetScheduler,\n\tReactiveWidgetTimerApi,\n\tReactiveWidgetTimerHandle,\n\tReactiveWidgetUi,\n} from \"./reactive-widget.ts\";\nexport {\n\tdecideReactiveWidgetAction,\n\tinstallReactiveWidget,\n} from \"./reactive-widget.ts\";\nexport type {\n\tExtensionErrorListener,\n\tForkHandler,\n\tNavigateTreeHandler,\n\tNewSessionHandler,\n\tShutdownHandler,\n\tSwitchSessionHandler,\n} from \"./runner.ts\";\nexport { ExtensionRunner } from \"./runner.ts\";\nexport { isStaleExtensionContextError, STALE_EXTENSION_CONTEXT_MARKER } from \"./stale-context.ts\";\nexport type {\n\tAfterProviderResponseEvent,\n\tAgentEndEvent,\n\tAgentSettledEvent,\n\tAgentStartEvent,\n\t// Re-exports\n\tAgentToolResult,\n\tAgentToolUpdateCallback,\n\tAppendEntryHandler,\n\t// App keybindings (for custom editors)\n\tAppKeybinding,\n\tAutocompleteProviderFactory,\n\t// Events - Tool (ToolCallEvent types)\n\tBashToolCallEvent,\n\tBashToolResultEvent,\n\tBeforeAgentStartEvent,\n\tBeforeAgentStartEventResult,\n\tBeforeProviderHeadersEvent,\n\tBeforeProviderRequestEvent,\n\tBeforeProviderRequestEventResult,\n\tBuildSystemPromptOptions,\n\t// Context\n\tCompactOptions,\n\t// Events - Agent\n\tContextEvent,\n\t// Event Results\n\tContextEventResult,\n\tContextUsage,\n\tCustomMessageDelivery,\n\tCustomToolCallEvent,\n\tCustomToolResultEvent,\n\tEditorFactory,\n\tEditToolCallEvent,\n\tEditToolResultEvent,\n\t// Message Rendering\n\tEntryRenderer,\n\tEntryRenderOptions,\n\tExecOptions,\n\tExecResult,\n\tExtension,\n\tExtensionActions,\n\t// API\n\tExtensionAPI,\n\tExtensionCommandContext,\n\tExtensionCommandContextActions,\n\tExtensionContext,\n\tExtensionContextActions,\n\tExtensionCustomComponent,\n\t// Errors\n\tExtensionError,\n\tExtensionEvent,\n\tExtensionFactory,\n\tExtensionFlag,\n\tExtensionHandler,\n\tExtensionMode,\n\t// Runtime\n\tExtensionRuntime,\n\tExtensionScopedModels,\n\tExtensionShortcut,\n\tExtensionUIContext,\n\tExtensionUIDialogOptions,\n\tExtensionWidgetOptions,\n\tFindToolCallEvent,\n\tFindToolResultEvent,\n\tGetActiveToolsHandler,\n\tGetAllToolsHandler,\n\tGetCommandsHandler,\n\tGetThinkingLevelHandler,\n\tHostCustomUiState,\n\tHostCustomUiStateListener,\n\tHostInputFormField,\n\tHostInputFormFieldType,\n\tHostInputFormRequest,\n\tHostSessionPickerHandle,\n\tHostSessionPickerRequest,\n\tHostSessionPickerRow,\n\tInlineExtension,\n\t// Events - Input\n\tInputEvent,\n\tInputEventResult,\n\tInputSource,\n\tKeybindingsManager,\n\tLoadExtensionsResult,\n\tLsToolCallEvent,\n\tLsToolResultEvent,\n\tMarkdownTransformContext,\n\tMarkdownTransformer,\n\t// Events - Message\n\tMessageEndEvent,\n\tMessageRenderer,\n\tMessageRenderOptions,\n\tMessageStartEvent,\n\tMessageUpdateEvent,\n\tModelSelectEvent,\n\tModelSelectSource,\n\tOrchestrationContext,\n\tPowerShellToolCallEvent,\n\tPowerShellToolResultEvent,\n\tProjectTrustContext,\n\tProjectTrustEvent,\n\tProjectTrustEventDecision,\n\tProjectTrustEventResult,\n\tProjectTrustHandler,\n\t// Provider Registration\n\tProviderConfig,\n\tProviderModelConfig,\n\tReadToolCallEvent,\n\tReadToolResultEvent,\n\t// Commands\n\tRegisteredCommand,\n\tRegisteredTool,\n\tReplacedSessionContext,\n\tResolvedCommand,\n\t// Events - Resources\n\tResourcesDiscoverEvent,\n\tResourcesDiscoverResult,\n\tScopedModel,\n\tSendMessageHandler,\n\tSendMessageOptions,\n\tSendMessagesHandler,\n\tSendMessagesOptions,\n\tSendUserMessageHandler,\n\tSessionBeforeCompactEvent,\n\tSessionBeforeCompactResult,\n\tSessionBeforeForkEvent,\n\tSessionBeforeForkResult,\n\tSessionBeforeSwitchEvent,\n\tSessionBeforeSwitchResult,\n\tSessionBeforeTreeEvent,\n\tSessionBeforeTreeResult,\n\tSessionCompactEvent,\n\tSessionCompactFailedEvent,\n\tSessionEvent,\n\tSessionInfoChangedEvent,\n\tSessionShutdownEvent,\n\t// Events - Session\n\tSessionStartEvent,\n\tSessionTreeEvent,\n\tSetActiveToolsHandler,\n\tSetLabelHandler,\n\tSetModelHandler,\n\tSetThinkingLevelHandler,\n\tSubagentChildPolicy,\n\tSubagentIntercomIdentity,\n\tTerminalInputHandler,\n\t// Events - Tool\n\tToolCallEvent,\n\tToolCallEventResult,\n\t// Tools\n\tToolDefinition,\n\t// Events - Tool Execution\n\tToolExecutionEndEvent,\n\t// Tool execution mode\n\tToolExecutionMode,\n\tToolExecutionStartEvent,\n\tToolExecutionUpdateEvent,\n\tToolInfo,\n\tToolRenderResultOptions,\n\tToolResultEvent,\n\tToolResultEventResult,\n\tTreePreparation,\n\tTurnEndEvent,\n\tTurnStartEvent,\n\tUIPromptEndEvent,\n\tUIPromptKind,\n\tUIPromptStartEvent,\n\t// Events - User Bash\n\tUserBashEvent,\n\tUserBashEventResult,\n\tWidgetPlacement,\n\tWorkflowPendingStageDelivery,\n\tWorkflowPendingStageMessage,\n\tWorkflowPendingStageSender,\n\tWorkflowStageOrchestrationContext,\n\tWorkingIndicatorOptions,\n\tWriteToolCallEvent,\n\tWriteToolResultEvent,\n} from \"./types.ts\";\n// Type guards\nexport {\n\tdefineTool,\n\tisBashToolResult,\n\tisEditToolResult,\n\tisFindToolResult,\n\tisLsToolResult,\n\tisPowerShellToolResult,\n\tisReadToolResult,\n\tisSearchToolResult,\n\tisToolCallEventType,\n\tisWriteToolResult,\n} from \"./types.ts\";\nexport { OVERLAY_ACTIVE_ROW_MARKER } from \"./ui-types.ts\";\nexport { wrapRegisteredTool, wrapRegisteredTools } from \"./wrapper.ts\";\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type EventBus } from "../event-bus.ts";
|
|
2
2
|
import { type ResourceLoaderInheritanceSnapshotProvider, type WorkflowResourceProviderInput } from "./loader-resources.ts";
|
|
3
3
|
import type { Extension, ExtensionFactory, ExtensionRuntime, LoadExtensionsResult } from "./types.ts";
|
|
4
|
+
export declare function getExtensionRuntimeEventBus(runtime: ExtensionRuntime): EventBus;
|
|
4
5
|
/**
|
|
5
6
|
* Create an Extension from an inline factory function.
|
|
6
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader-core.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/loader-core.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAIhE,OAAO,EAEN,KAAK,yCAAyC,EAC9C,KAAK,6BAA6B,EAClC,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"loader-core.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/loader-core.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAIhE,OAAO,EAEN,KAAK,yCAAyC,EAC9C,KAAK,6BAA6B,EAClC,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAKtG,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,GAAG,QAAQ,CAO/E;AA4ED;;GAEG;AACH,wBAAsB,wBAAwB,CAC7C,OAAO,EAAE,gBAAgB,EACzB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,gBAAgB,EACzB,aAAa,SAAa,EAC1B,wBAAwB,GAAE,6BAA6D,EACvF,yCAAyC,CAAC,EAAE,yCAAyC,GACnF,OAAO,CAAC,SAAS,CAAC,CAmBpB;AA6DD,wBAAsB,cAAc,CACnC,KAAK,EAAE,MAAM,EAAE,EACf,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,QAAQ,EACnB,wBAAwB,GAAE,6BAA6D,EACvF,OAAO,CAAC,EAAE,gBAAgB,EAC1B,yCAAyC,CAAC,EAAE,yCAAyC,GACnF,OAAO,CAAC,oBAAoB,CAAC,CAS/B;AAED,wBAAsB,oBAAoB,CACzC,KAAK,EAAE,MAAM,EAAE,EACf,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,QAAQ,EACnB,wBAAwB,GAAE,6BAA6D,EACvF,OAAO,CAAC,EAAE,gBAAgB,EAC1B,yCAAyC,CAAC,EAAE,yCAAyC,GACnF,OAAO,CAAC,oBAAoB,CAAC,CAU/B"}
|
|
@@ -8,7 +8,16 @@ import { createExtensionAPI } from "./loader-api.js";
|
|
|
8
8
|
import { emptyWorkflowResourceProvider, } from "./loader-resources.js";
|
|
9
9
|
import { createExtensionRuntime } from "./loader-runtime.js";
|
|
10
10
|
import { loadExtensionModule, useExtensionCacheCwd } from "./loader-virtual-modules.js";
|
|
11
|
-
/**
|
|
11
|
+
/** Associate extension runtimes with the event bus used to construct their APIs. */
|
|
12
|
+
const runtimeEventBuses = new WeakMap();
|
|
13
|
+
export function getExtensionRuntimeEventBus(runtime) {
|
|
14
|
+
let eventBus = runtimeEventBuses.get(runtime);
|
|
15
|
+
if (!eventBus) {
|
|
16
|
+
eventBus = createEventBus();
|
|
17
|
+
runtimeEventBuses.set(runtime, eventBus);
|
|
18
|
+
}
|
|
19
|
+
return eventBus;
|
|
20
|
+
}
|
|
12
21
|
const INTER_EXTENSION_YIELD_THRESHOLD_MS = 16;
|
|
13
22
|
/**
|
|
14
23
|
* Create an Extension object with empty collections.
|
|
@@ -89,6 +98,7 @@ async function loadExtensionsInternal(paths, cwd, eventBus, workflowResourceProv
|
|
|
89
98
|
const resolvedCwd = cacheToken?.cwd ?? resolvePath(cwd);
|
|
90
99
|
const resolvedEventBus = eventBus ?? createEventBus();
|
|
91
100
|
const resolvedRuntime = runtime ?? createExtensionRuntime();
|
|
101
|
+
runtimeEventBuses.set(resolvedRuntime, resolvedEventBus);
|
|
92
102
|
let processedExtensionCount = 0;
|
|
93
103
|
let lastYieldAt = Date.now();
|
|
94
104
|
for (const extPath of paths) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader-core.js","sourceRoot":"","sources":["../../../src/core/extensions/loader-core.ts"],"names":[],"mappings":"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","sourcesContent":["import * as path from \"node:path\";\nimport { yieldToEventLoop } from \"../../utils/event-loop.ts\";\nimport { resolvePath } from \"../../utils/paths.ts\";\nimport { createEventBus, type EventBus } from \"../event-bus.ts\";\nimport { createSyntheticSourceInfo } from \"../source-info.ts\";\nimport { endTimingSpan, startTimingSpan } from \"../timings.ts\";\nimport { createExtensionAPI } from \"./loader-api.ts\";\nimport {\n\temptyWorkflowResourceProvider,\n\ttype ResourceLoaderInheritanceSnapshotProvider,\n\ttype WorkflowResourceProviderInput,\n} from \"./loader-resources.ts\";\nimport { createExtensionRuntime } from \"./loader-runtime.ts\";\nimport { type ExtensionCacheToken, loadExtensionModule, useExtensionCacheCwd } from \"./loader-virtual-modules.ts\";\nimport type { Extension, ExtensionFactory, ExtensionRuntime, LoadExtensionsResult } from \"./types.ts\";\n\n/** Yield between extensions only when the current macrotask turn has run long. */\nconst INTER_EXTENSION_YIELD_THRESHOLD_MS = 16;\n\n/**\n * Create an Extension object with empty collections.\n */\nfunction createExtension(extensionPath: string, resolvedPath: string): Extension {\n\tconst source =\n\t\textensionPath.startsWith(\"<\") && extensionPath.endsWith(\">\")\n\t\t\t? extensionPath.slice(1, -1).split(\":\")[0] || \"temporary\"\n\t\t\t: \"local\";\n\tconst baseDir = extensionPath.startsWith(\"<\") ? undefined : path.dirname(resolvedPath);\n\n\treturn {\n\t\tpath: extensionPath,\n\t\tresolvedPath,\n\t\tsourceInfo: createSyntheticSourceInfo(extensionPath, { source, baseDir }),\n\t\thandlers: new Map(),\n\t\ttools: new Map(),\n\t\tmessageRenderers: new Map(),\n\t\tentryRenderers: new Map(),\n\t\tcommands: new Map(),\n\t\tflags: new Map(),\n\t\tshortcuts: new Map(),\n\t};\n}\n\nasync function loadExtension(\n\textensionPath: string,\n\tcwd: string,\n\teventBus: EventBus,\n\truntime: ExtensionRuntime,\n\tworkflowResourceProvider: WorkflowResourceProviderInput = emptyWorkflowResourceProvider,\n\tresourceLoaderInheritanceSnapshotProvider?: ResourceLoaderInheritanceSnapshotProvider,\n\tcacheToken?: ExtensionCacheToken,\n): Promise<{ extension: Extension | null; error: string | null }> {\n\tconst resolvedPath = resolvePath(extensionPath, cwd, { normalizeUnicodeSpaces: true });\n\n\ttry {\n\t\tconst moduleSpan = startTimingSpan(`loadExtensions.${extensionPath}.module`, \"extensions\");\n\t\tconst factory = await loadExtensionModule(resolvedPath, cacheToken);\n\t\tendTimingSpan(moduleSpan);\n\t\tif (!factory) {\n\t\t\treturn {\n\t\t\t\textension: null,\n\t\t\t\terror: `Extension does not export a valid factory function: ${extensionPath}`,\n\t\t\t};\n\t\t}\n\n\t\tconst extension = createExtension(extensionPath, resolvedPath);\n\t\tconst transaction = createExtensionAPI(\n\t\t\textension,\n\t\t\truntime,\n\t\t\tcwd,\n\t\t\teventBus,\n\t\t\tworkflowResourceProvider,\n\t\t\tresourceLoaderInheritanceSnapshotProvider,\n\t\t);\n\t\tconst factorySpan = startTimingSpan(`loadExtensions.${extensionPath}.factory`, \"extensions\");\n\t\ttry {\n\t\t\tawait factory(transaction.api);\n\t\t\ttransaction.commit();\n\t\t} catch (error) {\n\t\t\ttransaction.discard();\n\t\t\tthrow error;\n\t\t}\n\t\tendTimingSpan(factorySpan);\n\n\t\treturn { extension, error: null };\n\t} catch (err) {\n\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\treturn { extension: null, error: `Failed to load extension: ${message}` };\n\t}\n}\n\n/**\n * Create an Extension from an inline factory function.\n */\nexport async function loadExtensionFromFactory(\n\tfactory: ExtensionFactory,\n\tcwd: string,\n\teventBus: EventBus,\n\truntime: ExtensionRuntime,\n\textensionPath = \"<inline>\",\n\tworkflowResourceProvider: WorkflowResourceProviderInput = emptyWorkflowResourceProvider,\n\tresourceLoaderInheritanceSnapshotProvider?: ResourceLoaderInheritanceSnapshotProvider,\n): Promise<Extension> {\n\tconst extension = createExtension(extensionPath, extensionPath);\n\tconst resolvedCwd = resolvePath(cwd);\n\tconst transaction = createExtensionAPI(\n\t\textension,\n\t\truntime,\n\t\tresolvedCwd,\n\t\teventBus,\n\t\tworkflowResourceProvider,\n\t\tresourceLoaderInheritanceSnapshotProvider,\n\t);\n\ttry {\n\t\tawait factory(transaction.api);\n\t\ttransaction.commit();\n\t} catch (error) {\n\t\ttransaction.discard();\n\t\tthrow error;\n\t}\n\treturn extension;\n}\n\n/**\n * Load extensions from paths.\n */\nasync function loadExtensionsInternal(\n\tpaths: string[],\n\tcwd: string,\n\teventBus?: EventBus,\n\tworkflowResourceProvider: WorkflowResourceProviderInput = emptyWorkflowResourceProvider,\n\truntime?: ExtensionRuntime,\n\tresourceLoaderInheritanceSnapshotProvider?: ResourceLoaderInheritanceSnapshotProvider,\n\tuseCache = false,\n): Promise<LoadExtensionsResult> {\n\tconst extensions: Extension[] = [];\n\tconst errors: Array<{ path: string; error: string }> = [];\n\tconst cacheToken = useCache ? useExtensionCacheCwd(cwd) : undefined;\n\tconst resolvedCwd = cacheToken?.cwd ?? resolvePath(cwd);\n\tconst resolvedEventBus = eventBus ?? createEventBus();\n\tconst resolvedRuntime = runtime ?? createExtensionRuntime();\n\n\tlet processedExtensionCount = 0;\n\tlet lastYieldAt = Date.now();\n\tfor (const extPath of paths) {\n\t\t// Unconditional yields cost a full macrotask turn per extension (~100 ms\n\t\t// each while the TUI is live). Only yield when this turn has actually\n\t\t// held the event loop long enough to delay input/render work.\n\t\tif (processedExtensionCount > 0 && Date.now() - lastYieldAt >= INTER_EXTENSION_YIELD_THRESHOLD_MS) {\n\t\t\tawait yieldToEventLoop();\n\t\t\tlastYieldAt = Date.now();\n\t\t}\n\t\tconst extensionSpan = startTimingSpan(`loadExtensions.${extPath}.total`, \"extensions\");\n\t\tconst { extension, error } = await loadExtension(\n\t\t\textPath,\n\t\t\tresolvedCwd,\n\t\t\tresolvedEventBus,\n\t\t\tresolvedRuntime,\n\t\t\tworkflowResourceProvider,\n\t\t\tresourceLoaderInheritanceSnapshotProvider,\n\t\t\tcacheToken,\n\t\t);\n\t\tendTimingSpan(extensionSpan);\n\t\tprocessedExtensionCount += 1;\n\t\tif (error) {\n\t\t\terrors.push({ path: extPath, error });\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (extension) {\n\t\t\textensions.push(extension);\n\t\t}\n\t}\n\n\treturn {\n\t\textensions,\n\t\terrors,\n\t\truntime: resolvedRuntime,\n\t};\n}\n\nexport async function loadExtensions(\n\tpaths: string[],\n\tcwd: string,\n\teventBus?: EventBus,\n\tworkflowResourceProvider: WorkflowResourceProviderInput = emptyWorkflowResourceProvider,\n\truntime?: ExtensionRuntime,\n\tresourceLoaderInheritanceSnapshotProvider?: ResourceLoaderInheritanceSnapshotProvider,\n): Promise<LoadExtensionsResult> {\n\treturn loadExtensionsInternal(\n\t\tpaths,\n\t\tcwd,\n\t\teventBus,\n\t\tworkflowResourceProvider,\n\t\truntime,\n\t\tresourceLoaderInheritanceSnapshotProvider,\n\t);\n}\n\nexport async function loadExtensionsCached(\n\tpaths: string[],\n\tcwd: string,\n\teventBus?: EventBus,\n\tworkflowResourceProvider: WorkflowResourceProviderInput = emptyWorkflowResourceProvider,\n\truntime?: ExtensionRuntime,\n\tresourceLoaderInheritanceSnapshotProvider?: ResourceLoaderInheritanceSnapshotProvider,\n): Promise<LoadExtensionsResult> {\n\treturn loadExtensionsInternal(\n\t\tpaths,\n\t\tcwd,\n\t\teventBus,\n\t\tworkflowResourceProvider,\n\t\truntime,\n\t\tresourceLoaderInheritanceSnapshotProvider,\n\t\ttrue,\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"loader-core.js","sourceRoot":"","sources":["../../../src/core/extensions/loader-core.ts"],"names":[],"mappings":"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","sourcesContent":["import * as path from \"node:path\";\nimport { yieldToEventLoop } from \"../../utils/event-loop.ts\";\nimport { resolvePath } from \"../../utils/paths.ts\";\nimport { createEventBus, type EventBus } from \"../event-bus.ts\";\nimport { createSyntheticSourceInfo } from \"../source-info.ts\";\nimport { endTimingSpan, startTimingSpan } from \"../timings.ts\";\nimport { createExtensionAPI } from \"./loader-api.ts\";\nimport {\n\temptyWorkflowResourceProvider,\n\ttype ResourceLoaderInheritanceSnapshotProvider,\n\ttype WorkflowResourceProviderInput,\n} from \"./loader-resources.ts\";\nimport { createExtensionRuntime } from \"./loader-runtime.ts\";\nimport { type ExtensionCacheToken, loadExtensionModule, useExtensionCacheCwd } from \"./loader-virtual-modules.ts\";\nimport type { Extension, ExtensionFactory, ExtensionRuntime, LoadExtensionsResult } from \"./types.ts\";\n\n/** Associate extension runtimes with the event bus used to construct their APIs. */\nconst runtimeEventBuses = new WeakMap<ExtensionRuntime, EventBus>();\n\nexport function getExtensionRuntimeEventBus(runtime: ExtensionRuntime): EventBus {\n\tlet eventBus = runtimeEventBuses.get(runtime);\n\tif (!eventBus) {\n\t\teventBus = createEventBus();\n\t\truntimeEventBuses.set(runtime, eventBus);\n\t}\n\treturn eventBus;\n}\n\nconst INTER_EXTENSION_YIELD_THRESHOLD_MS = 16;\n\n/**\n * Create an Extension object with empty collections.\n */\nfunction createExtension(extensionPath: string, resolvedPath: string): Extension {\n\tconst source =\n\t\textensionPath.startsWith(\"<\") && extensionPath.endsWith(\">\")\n\t\t\t? extensionPath.slice(1, -1).split(\":\")[0] || \"temporary\"\n\t\t\t: \"local\";\n\tconst baseDir = extensionPath.startsWith(\"<\") ? undefined : path.dirname(resolvedPath);\n\n\treturn {\n\t\tpath: extensionPath,\n\t\tresolvedPath,\n\t\tsourceInfo: createSyntheticSourceInfo(extensionPath, { source, baseDir }),\n\t\thandlers: new Map(),\n\t\ttools: new Map(),\n\t\tmessageRenderers: new Map(),\n\t\tentryRenderers: new Map(),\n\t\tcommands: new Map(),\n\t\tflags: new Map(),\n\t\tshortcuts: new Map(),\n\t};\n}\n\nasync function loadExtension(\n\textensionPath: string,\n\tcwd: string,\n\teventBus: EventBus,\n\truntime: ExtensionRuntime,\n\tworkflowResourceProvider: WorkflowResourceProviderInput = emptyWorkflowResourceProvider,\n\tresourceLoaderInheritanceSnapshotProvider?: ResourceLoaderInheritanceSnapshotProvider,\n\tcacheToken?: ExtensionCacheToken,\n): Promise<{ extension: Extension | null; error: string | null }> {\n\tconst resolvedPath = resolvePath(extensionPath, cwd, { normalizeUnicodeSpaces: true });\n\n\ttry {\n\t\tconst moduleSpan = startTimingSpan(`loadExtensions.${extensionPath}.module`, \"extensions\");\n\t\tconst factory = await loadExtensionModule(resolvedPath, cacheToken);\n\t\tendTimingSpan(moduleSpan);\n\t\tif (!factory) {\n\t\t\treturn {\n\t\t\t\textension: null,\n\t\t\t\terror: `Extension does not export a valid factory function: ${extensionPath}`,\n\t\t\t};\n\t\t}\n\n\t\tconst extension = createExtension(extensionPath, resolvedPath);\n\t\tconst transaction = createExtensionAPI(\n\t\t\textension,\n\t\t\truntime,\n\t\t\tcwd,\n\t\t\teventBus,\n\t\t\tworkflowResourceProvider,\n\t\t\tresourceLoaderInheritanceSnapshotProvider,\n\t\t);\n\t\tconst factorySpan = startTimingSpan(`loadExtensions.${extensionPath}.factory`, \"extensions\");\n\t\ttry {\n\t\t\tawait factory(transaction.api);\n\t\t\ttransaction.commit();\n\t\t} catch (error) {\n\t\t\ttransaction.discard();\n\t\t\tthrow error;\n\t\t}\n\t\tendTimingSpan(factorySpan);\n\n\t\treturn { extension, error: null };\n\t} catch (err) {\n\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\treturn { extension: null, error: `Failed to load extension: ${message}` };\n\t}\n}\n\n/**\n * Create an Extension from an inline factory function.\n */\nexport async function loadExtensionFromFactory(\n\tfactory: ExtensionFactory,\n\tcwd: string,\n\teventBus: EventBus,\n\truntime: ExtensionRuntime,\n\textensionPath = \"<inline>\",\n\tworkflowResourceProvider: WorkflowResourceProviderInput = emptyWorkflowResourceProvider,\n\tresourceLoaderInheritanceSnapshotProvider?: ResourceLoaderInheritanceSnapshotProvider,\n): Promise<Extension> {\n\tconst extension = createExtension(extensionPath, extensionPath);\n\tconst resolvedCwd = resolvePath(cwd);\n\tconst transaction = createExtensionAPI(\n\t\textension,\n\t\truntime,\n\t\tresolvedCwd,\n\t\teventBus,\n\t\tworkflowResourceProvider,\n\t\tresourceLoaderInheritanceSnapshotProvider,\n\t);\n\ttry {\n\t\tawait factory(transaction.api);\n\t\ttransaction.commit();\n\t} catch (error) {\n\t\ttransaction.discard();\n\t\tthrow error;\n\t}\n\treturn extension;\n}\n\n/**\n * Load extensions from paths.\n */\nasync function loadExtensionsInternal(\n\tpaths: string[],\n\tcwd: string,\n\teventBus?: EventBus,\n\tworkflowResourceProvider: WorkflowResourceProviderInput = emptyWorkflowResourceProvider,\n\truntime?: ExtensionRuntime,\n\tresourceLoaderInheritanceSnapshotProvider?: ResourceLoaderInheritanceSnapshotProvider,\n\tuseCache = false,\n): Promise<LoadExtensionsResult> {\n\tconst extensions: Extension[] = [];\n\tconst errors: Array<{ path: string; error: string }> = [];\n\tconst cacheToken = useCache ? useExtensionCacheCwd(cwd) : undefined;\n\tconst resolvedCwd = cacheToken?.cwd ?? resolvePath(cwd);\n\tconst resolvedEventBus = eventBus ?? createEventBus();\n\tconst resolvedRuntime = runtime ?? createExtensionRuntime();\n\truntimeEventBuses.set(resolvedRuntime, resolvedEventBus);\n\n\tlet processedExtensionCount = 0;\n\tlet lastYieldAt = Date.now();\n\tfor (const extPath of paths) {\n\t\t// Unconditional yields cost a full macrotask turn per extension (~100 ms\n\t\t// each while the TUI is live). Only yield when this turn has actually\n\t\t// held the event loop long enough to delay input/render work.\n\t\tif (processedExtensionCount > 0 && Date.now() - lastYieldAt >= INTER_EXTENSION_YIELD_THRESHOLD_MS) {\n\t\t\tawait yieldToEventLoop();\n\t\t\tlastYieldAt = Date.now();\n\t\t}\n\t\tconst extensionSpan = startTimingSpan(`loadExtensions.${extPath}.total`, \"extensions\");\n\t\tconst { extension, error } = await loadExtension(\n\t\t\textPath,\n\t\t\tresolvedCwd,\n\t\t\tresolvedEventBus,\n\t\t\tresolvedRuntime,\n\t\t\tworkflowResourceProvider,\n\t\t\tresourceLoaderInheritanceSnapshotProvider,\n\t\t\tcacheToken,\n\t\t);\n\t\tendTimingSpan(extensionSpan);\n\t\tprocessedExtensionCount += 1;\n\t\tif (error) {\n\t\t\terrors.push({ path: extPath, error });\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (extension) {\n\t\t\textensions.push(extension);\n\t\t}\n\t}\n\n\treturn {\n\t\textensions,\n\t\terrors,\n\t\truntime: resolvedRuntime,\n\t};\n}\n\nexport async function loadExtensions(\n\tpaths: string[],\n\tcwd: string,\n\teventBus?: EventBus,\n\tworkflowResourceProvider: WorkflowResourceProviderInput = emptyWorkflowResourceProvider,\n\truntime?: ExtensionRuntime,\n\tresourceLoaderInheritanceSnapshotProvider?: ResourceLoaderInheritanceSnapshotProvider,\n): Promise<LoadExtensionsResult> {\n\treturn loadExtensionsInternal(\n\t\tpaths,\n\t\tcwd,\n\t\teventBus,\n\t\tworkflowResourceProvider,\n\t\truntime,\n\t\tresourceLoaderInheritanceSnapshotProvider,\n\t);\n}\n\nexport async function loadExtensionsCached(\n\tpaths: string[],\n\tcwd: string,\n\teventBus?: EventBus,\n\tworkflowResourceProvider: WorkflowResourceProviderInput = emptyWorkflowResourceProvider,\n\truntime?: ExtensionRuntime,\n\tresourceLoaderInheritanceSnapshotProvider?: ResourceLoaderInheritanceSnapshotProvider,\n): Promise<LoadExtensionsResult> {\n\treturn loadExtensionsInternal(\n\t\tpaths,\n\t\tcwd,\n\t\teventBus,\n\t\tworkflowResourceProvider,\n\t\truntime,\n\t\tresourceLoaderInheritanceSnapshotProvider,\n\t\ttrue,\n\t);\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Extension loader - loads TypeScript extension modules using jiti.
|
|
3
3
|
*/
|
|
4
|
-
export { loadExtensionFromFactory, loadExtensions, loadExtensionsCached } from "./loader-core.ts";
|
|
4
|
+
export { getExtensionRuntimeEventBus, loadExtensionFromFactory, loadExtensions, loadExtensionsCached, } from "./loader-core.ts";
|
|
5
5
|
export { discoverAndLoadExtensions } from "./loader-discovery.ts";
|
|
6
6
|
export type { ResourceLoaderInheritanceSnapshotProvider, WorkflowResourceProvider, WorkflowResourceProviderInput, } from "./loader-resources.ts";
|
|
7
7
|
export { createExtensionRuntime } from "./loader-runtime.ts";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACN,2BAA2B,EAC3B,wBAAwB,EACxB,cAAc,EACd,oBAAoB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,YAAY,EACX,yCAAyC,EACzC,wBAAwB,EACxB,6BAA6B,GAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Extension loader - loads TypeScript extension modules using jiti.
|
|
3
3
|
*/
|
|
4
|
-
export { loadExtensionFromFactory, loadExtensions, loadExtensionsCached } from "./loader-core.js";
|
|
4
|
+
export { getExtensionRuntimeEventBus, loadExtensionFromFactory, loadExtensions, loadExtensionsCached, } from "./loader-core.js";
|
|
5
5
|
export { discoverAndLoadExtensions } from "./loader-discovery.js";
|
|
6
6
|
export { createExtensionRuntime } from "./loader-runtime.js";
|
|
7
7
|
export { clearExtensionCache } from "./loader-virtual-modules.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/core/extensions/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/core/extensions/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACN,2BAA2B,EAC3B,wBAAwB,EACxB,cAAc,EACd,oBAAoB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAMlE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC","sourcesContent":["/**\n * Extension loader - loads TypeScript extension modules using jiti.\n */\n\nexport {\n\tgetExtensionRuntimeEventBus,\n\tloadExtensionFromFactory,\n\tloadExtensions,\n\tloadExtensionsCached,\n} from \"./loader-core.ts\";\nexport { discoverAndLoadExtensions } from \"./loader-discovery.ts\";\nexport type {\n\tResourceLoaderInheritanceSnapshotProvider,\n\tWorkflowResourceProvider,\n\tWorkflowResourceProviderInput,\n} from \"./loader-resources.ts\";\nexport { createExtensionRuntime } from \"./loader-runtime.ts\";\nexport { clearExtensionCache } from \"./loader-virtual-modules.ts\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner-registries.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/runner-registries.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runner-registries.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/runner-registries.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,aAAa,EACb,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,eAAe,EAEf,cAAc,EACd,eAAe,EACf,MAAM,YAAY,CAAC;AAEpB,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAWhF;AAED,wBAAgB,kBAAkB,CACjC,UAAU,EAAE,SAAS,EAAE,EACvB,QAAQ,EAAE,MAAM,GACd,cAAc,CAAC,YAAY,CAAC,GAAG,SAAS,CAS1C;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAUhF;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAQxF;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAQ5G;AAED,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,mBAAmB,EAAE,CAE1F;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAMxG;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,eAAe,EAAE,CA8BpF"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { isMandatoryRuntimeTool, isTrustedMandatoryRuntimeTool } from "../mandatory-runtime-tools.js";
|
|
1
2
|
export function collectRegisteredTools(extensions) {
|
|
2
3
|
const toolsByName = new Map();
|
|
3
4
|
for (const ext of extensions) {
|
|
4
5
|
for (const tool of ext.tools.values()) {
|
|
5
|
-
|
|
6
|
+
const existing = toolsByName.get(tool.definition.name);
|
|
7
|
+
if (!existing || (isMandatoryRuntimeTool(tool.definition.name) && isTrustedMandatoryRuntimeTool(tool))) {
|
|
6
8
|
toolsByName.set(tool.definition.name, tool);
|
|
7
9
|
}
|
|
8
10
|
}
|
|
@@ -10,13 +12,16 @@ export function collectRegisteredTools(extensions) {
|
|
|
10
12
|
return Array.from(toolsByName.values());
|
|
11
13
|
}
|
|
12
14
|
export function findToolDefinition(extensions, toolName) {
|
|
15
|
+
let first;
|
|
13
16
|
for (const ext of extensions) {
|
|
14
17
|
const tool = ext.tools.get(toolName);
|
|
15
|
-
if (tool)
|
|
18
|
+
if (!tool)
|
|
19
|
+
continue;
|
|
20
|
+
first ??= tool;
|
|
21
|
+
if (isMandatoryRuntimeTool(toolName) && isTrustedMandatoryRuntimeTool(tool))
|
|
16
22
|
return tool.definition;
|
|
17
|
-
}
|
|
18
23
|
}
|
|
19
|
-
return
|
|
24
|
+
return first?.definition;
|
|
20
25
|
}
|
|
21
26
|
export function collectFlags(extensions) {
|
|
22
27
|
const allFlags = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner-registries.js","sourceRoot":"","sources":["../../../src/core/extensions/runner-registries.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runner-registries.js","sourceRoot":"","sources":["../../../src/core/extensions/runner-registries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAatG,MAAM,UAAU,sBAAsB,CAAC,UAAuB;IAC7D,MAAM,WAAW,GAAG,IAAI,GAAG,EAA0B,CAAC;IACtD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,QAAQ,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,6BAA6B,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACxG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,kBAAkB,CACjC,UAAuB,EACvB,QAAgB;IAEhB,IAAI,KAAiC,CAAC;IACtC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,KAAK,KAAK,IAAI,CAAC;QACf,IAAI,sBAAsB,CAAC,QAAQ,CAAC,IAAI,6BAA6B,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC;IACrG,CAAC;IACD,OAAO,KAAK,EAAE,UAAU,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,UAAuB;IACnD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAClD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1B,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,UAAuB,EAAE,SAAiB;IAC9E,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,UAAuB,EAAE,UAAkB;IAC9E,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,QAAQ,EAAE,CAAC;YACd,OAAO,QAAQ,CAAC;QACjB,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,UAAuB;IAClE,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAClH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,UAAuB,EAAE,UAAkB;IAC5E,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;IAC/B,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,UAAuB;IAChE,MAAM,QAAQ,GAAwB,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEzC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D,CAAC;IACF,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC/B,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACnC,IAAI,cAAc,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QAE1G,IAAI,oBAAoB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9C,IAAI,MAAM,GAAG,UAAU,CAAC;YACxB,GAAG,CAAC;gBACH,MAAM,EAAE,CAAC;gBACT,cAAc,GAAG,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;YAC9C,CAAC,QAAQ,oBAAoB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;QACpD,CAAC;QAED,oBAAoB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACzC,OAAO,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { isMandatoryRuntimeTool, isTrustedMandatoryRuntimeTool } from \"../mandatory-runtime-tools.ts\";\n\nimport type {\n\tEntryRenderer,\n\tExtension,\n\tExtensionFlag,\n\tMarkdownTransformer,\n\tMessageRenderer,\n\tRegisteredCommand,\n\tRegisteredTool,\n\tResolvedCommand,\n} from \"./types.ts\";\n\nexport function collectRegisteredTools(extensions: Extension[]): RegisteredTool[] {\n\tconst toolsByName = new Map<string, RegisteredTool>();\n\tfor (const ext of extensions) {\n\t\tfor (const tool of ext.tools.values()) {\n\t\t\tconst existing = toolsByName.get(tool.definition.name);\n\t\t\tif (!existing || (isMandatoryRuntimeTool(tool.definition.name) && isTrustedMandatoryRuntimeTool(tool))) {\n\t\t\t\ttoolsByName.set(tool.definition.name, tool);\n\t\t\t}\n\t\t}\n\t}\n\treturn Array.from(toolsByName.values());\n}\n\nexport function findToolDefinition(\n\textensions: Extension[],\n\ttoolName: string,\n): RegisteredTool[\"definition\"] | undefined {\n\tlet first: RegisteredTool | undefined;\n\tfor (const ext of extensions) {\n\t\tconst tool = ext.tools.get(toolName);\n\t\tif (!tool) continue;\n\t\tfirst ??= tool;\n\t\tif (isMandatoryRuntimeTool(toolName) && isTrustedMandatoryRuntimeTool(tool)) return tool.definition;\n\t}\n\treturn first?.definition;\n}\n\nexport function collectFlags(extensions: Extension[]): Map<string, ExtensionFlag> {\n\tconst allFlags = new Map<string, ExtensionFlag>();\n\tfor (const ext of extensions) {\n\t\tfor (const [name, flag] of ext.flags) {\n\t\t\tif (!allFlags.has(name)) {\n\t\t\t\tallFlags.set(name, flag);\n\t\t\t}\n\t\t}\n\t}\n\treturn allFlags;\n}\n\nexport function hasExtensionHandlers(extensions: Extension[], eventType: string): boolean {\n\tfor (const ext of extensions) {\n\t\tconst handlers = ext.handlers.get(eventType);\n\t\tif (handlers && handlers.length > 0) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nexport function findMessageRenderer(extensions: Extension[], customType: string): MessageRenderer | undefined {\n\tfor (const ext of extensions) {\n\t\tconst renderer = ext.messageRenderers.get(customType);\n\t\tif (renderer) {\n\t\t\treturn renderer;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nexport function collectMarkdownTransformers(extensions: Extension[]): MarkdownTransformer[] {\n\treturn extensions.flatMap((extension) => (extension.markdownTransformer ? [extension.markdownTransformer] : []));\n}\n\nexport function findEntryRenderer(extensions: Extension[], customType: string): EntryRenderer | undefined {\n\tfor (const ext of extensions) {\n\t\tconst renderer = ext.entryRenderers.get(customType);\n\t\tif (renderer) return renderer;\n\t}\n\treturn undefined;\n}\n\nexport function resolveRegisteredCommands(extensions: Extension[]): ResolvedCommand[] {\n\tconst commands: RegisteredCommand[] = [];\n\tconst counts = new Map<string, number>();\n\n\tfor (const ext of extensions) {\n\t\tfor (const command of ext.commands.values()) {\n\t\t\tcommands.push(command);\n\t\t\tcounts.set(command.name, (counts.get(command.name) ?? 0) + 1);\n\t\t}\n\t}\n\n\tconst seen = new Map<string, number>();\n\tconst takenInvocationNames = new Set<string>();\n\n\treturn commands.map((command) => {\n\t\tconst occurrence = (seen.get(command.name) ?? 0) + 1;\n\t\tseen.set(command.name, occurrence);\n\t\tlet invocationName = (counts.get(command.name) ?? 0) > 1 ? `${command.name}:${occurrence}` : command.name;\n\n\t\tif (takenInvocationNames.has(invocationName)) {\n\t\t\tlet suffix = occurrence;\n\t\t\tdo {\n\t\t\t\tsuffix++;\n\t\t\t\tinvocationName = `${command.name}:${suffix}`;\n\t\t\t} while (takenInvocationNames.has(invocationName));\n\t\t}\n\n\t\ttakenInvocationNames.add(invocationName);\n\t\treturn { ...command, invocationName };\n\t});\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner-shortcuts.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/runner-shortcuts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"runner-shortcuts.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/runner-shortcuts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA6C/D,MAAM,WAAW,2BAA2B;IAC3C,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACzC,WAAW,EAAE,kBAAkB,EAAE,CAAC;CAClC;AAED,wBAAgB,yBAAyB,CACxC,UAAU,EAAE,SAAS,EAAE,EACvB,mBAAmB,EAAE,iBAAiB,EACtC,KAAK,EAAE,OAAO,GACZ,2BAA2B,CA0C7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner-shortcuts.js","sourceRoot":"","sources":["../../../src/core/extensions/runner-shortcuts.ts"],"names":[],"mappings":"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","sourcesContent":["import type { KeyId } from \"@earendil-works/pi-tui\";\nimport type { ResourceDiagnostic } from \"../diagnostics.ts\";\nimport type { KeybindingsConfig } from \"../keybindings.ts\";\nimport type { Extension, ExtensionShortcut } from \"./types.ts\";\n\n// Extension shortcuts compete with canonical keybinding ids from keybindings.json.\n// Only editor-global shortcuts are reserved here. Picker-specific bindings are not.\nconst RESERVED_KEYBINDINGS_FOR_EXTENSION_CONFLICTS = [\n\t\"app.interrupt\",\n\t\"app.clear\",\n\t\"app.exit\",\n\t\"app.suspend\",\n\t\"app.thinking.cycle\",\n\t\"app.model.cycleForward\",\n\t\"app.model.cycleBackward\",\n\t\"app.model.select\",\n\t\"app.tools.expand\",\n\t\"app.thinking.toggle\",\n\t\"app.editor.external\",\n\t\"app.message.followUp\",\n\t\"tui.input.submit\",\n\t\"tui.select.confirm\",\n\t\"tui.select.cancel\",\n\t\"tui.input.copy\",\n\t\"tui.editor.deleteToLineEnd\",\n] as const;\n\ntype BuiltInKeyBindings = Partial<Record<KeyId, { keybinding: string; restrictOverride: boolean }>>;\n\nconst buildBuiltinKeybindings = (resolvedKeybindings: KeybindingsConfig): BuiltInKeyBindings => {\n\tconst builtinKeybindings = {} as BuiltInKeyBindings;\n\tfor (const [keybinding, keys] of Object.entries(resolvedKeybindings)) {\n\t\tif (keys === undefined) continue;\n\t\tconst keyList = Array.isArray(keys) ? keys : [keys];\n\t\tconst restrictOverride = (RESERVED_KEYBINDINGS_FOR_EXTENSION_CONFLICTS as readonly string[]).includes(keybinding);\n\t\tfor (const key of keyList) {\n\t\t\tconst normalizedKey = key.toLowerCase() as KeyId;\n\t\t\t// If multiple actions bind the same key, the reserved action wins so extensions\n\t\t\t// remain blocked by reserved shortcuts regardless of iteration order.\n\t\t\tconst existing = builtinKeybindings[normalizedKey];\n\t\t\tif (existing?.restrictOverride && !restrictOverride) continue;\n\t\t\tbuiltinKeybindings[normalizedKey] = { keybinding, restrictOverride };\n\t\t}\n\t}\n\treturn builtinKeybindings;\n};\n\nexport interface ExtensionShortcutResolution {\n\tshortcuts: Map<KeyId, ExtensionShortcut>;\n\tdiagnostics: ResourceDiagnostic[];\n}\n\nexport function resolveExtensionShortcuts(\n\textensions: Extension[],\n\tresolvedKeybindings: KeybindingsConfig,\n\thasUI: boolean,\n): ExtensionShortcutResolution {\n\tconst diagnostics: ResourceDiagnostic[] = [];\n\tconst builtinKeybindings = buildBuiltinKeybindings(resolvedKeybindings);\n\tconst extensionShortcuts = new Map<KeyId, ExtensionShortcut>();\n\n\tconst addDiagnostic = (message: string, extensionPath: string) => {\n\t\tdiagnostics.push({ type: \"warning\", message, path: extensionPath });\n\t\tif (!hasUI) {\n\t\t\tconsole.warn(message);\n\t\t}\n\t};\n\n\tfor (const ext of extensions) {\n\t\tfor (const [key, shortcut] of ext.shortcuts) {\n\t\t\tconst normalizedKey = key.toLowerCase() as KeyId;\n\t\t\tconst builtInKeybinding = builtinKeybindings[normalizedKey];\n\t\t\tif (builtInKeybinding?.restrictOverride === true) {\n\t\t\t\taddDiagnostic(\n\t\t\t\t\t`Extension shortcut '${key}' from ${shortcut.extensionPath} conflicts with built-in shortcut. Skipping.`,\n\t\t\t\t\tshortcut.extensionPath,\n\t\t\t\t);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (builtInKeybinding?.restrictOverride === false) {\n\t\t\t\taddDiagnostic(\n\t\t\t\t\t`Extension shortcut conflict: '${key}' is built-in shortcut for ${builtInKeybinding.keybinding} and ${shortcut.extensionPath}. Using ${shortcut.extensionPath}.`,\n\t\t\t\t\tshortcut.extensionPath,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst existingExtensionShortcut = extensionShortcuts.get(normalizedKey);\n\t\t\tif (existingExtensionShortcut) {\n\t\t\t\taddDiagnostic(\n\t\t\t\t\t`Extension shortcut conflict: '${key}' registered by both ${existingExtensionShortcut.extensionPath} and ${shortcut.extensionPath}. Using ${shortcut.extensionPath}.`,\n\t\t\t\t\tshortcut.extensionPath,\n\t\t\t\t);\n\t\t\t}\n\t\t\textensionShortcuts.set(normalizedKey, shortcut);\n\t\t}\n\t}\n\treturn { shortcuts: extensionShortcuts, diagnostics };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"runner-shortcuts.js","sourceRoot":"","sources":["../../../src/core/extensions/runner-shortcuts.ts"],"names":[],"mappings":"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","sourcesContent":["import type { KeyId } from \"@earendil-works/pi-tui\";\nimport type { ResourceDiagnostic } from \"../diagnostics.ts\";\nimport type { KeybindingsConfig } from \"../keybindings.ts\";\nimport type { Extension, ExtensionShortcut } from \"./types.ts\";\n\n// Extension shortcuts compete with canonical keybinding ids from keybindings.json.\n// Only editor-global shortcuts are reserved here. Picker-specific bindings are not.\nconst RESERVED_KEYBINDINGS_FOR_EXTENSION_CONFLICTS = [\n\t\"app.interrupt\",\n\t\"app.clear\",\n\t\"app.exit\",\n\t\"app.suspend\",\n\t\"app.thinking.cycle\",\n\t\"app.model.cycleForward\",\n\t\"app.model.cycleBackward\",\n\t\"app.model.select\",\n\t\"app.tools.expand\",\n\t\"app.thinking.toggle\",\n\t\"app.editor.external\",\n\t\"app.message.followUp\",\n\t\"app.message.copy\",\n\t\"tui.input.submit\",\n\t\"tui.select.confirm\",\n\t\"tui.select.cancel\",\n\t\"tui.input.copy\",\n\t\"tui.editor.deleteToLineEnd\",\n] as const;\n\ntype BuiltInKeyBindings = Partial<Record<KeyId, { keybinding: string; restrictOverride: boolean }>>;\n\nconst buildBuiltinKeybindings = (resolvedKeybindings: KeybindingsConfig): BuiltInKeyBindings => {\n\tconst builtinKeybindings = {} as BuiltInKeyBindings;\n\tfor (const [keybinding, keys] of Object.entries(resolvedKeybindings)) {\n\t\tif (keys === undefined) continue;\n\t\tconst keyList = Array.isArray(keys) ? keys : [keys];\n\t\tconst restrictOverride = (RESERVED_KEYBINDINGS_FOR_EXTENSION_CONFLICTS as readonly string[]).includes(keybinding);\n\t\tfor (const key of keyList) {\n\t\t\tconst normalizedKey = key.toLowerCase() as KeyId;\n\t\t\t// If multiple actions bind the same key, the reserved action wins so extensions\n\t\t\t// remain blocked by reserved shortcuts regardless of iteration order.\n\t\t\tconst existing = builtinKeybindings[normalizedKey];\n\t\t\tif (existing?.restrictOverride && !restrictOverride) continue;\n\t\t\tbuiltinKeybindings[normalizedKey] = { keybinding, restrictOverride };\n\t\t}\n\t}\n\treturn builtinKeybindings;\n};\n\nexport interface ExtensionShortcutResolution {\n\tshortcuts: Map<KeyId, ExtensionShortcut>;\n\tdiagnostics: ResourceDiagnostic[];\n}\n\nexport function resolveExtensionShortcuts(\n\textensions: Extension[],\n\tresolvedKeybindings: KeybindingsConfig,\n\thasUI: boolean,\n): ExtensionShortcutResolution {\n\tconst diagnostics: ResourceDiagnostic[] = [];\n\tconst builtinKeybindings = buildBuiltinKeybindings(resolvedKeybindings);\n\tconst extensionShortcuts = new Map<KeyId, ExtensionShortcut>();\n\n\tconst addDiagnostic = (message: string, extensionPath: string) => {\n\t\tdiagnostics.push({ type: \"warning\", message, path: extensionPath });\n\t\tif (!hasUI) {\n\t\t\tconsole.warn(message);\n\t\t}\n\t};\n\n\tfor (const ext of extensions) {\n\t\tfor (const [key, shortcut] of ext.shortcuts) {\n\t\t\tconst normalizedKey = key.toLowerCase() as KeyId;\n\t\t\tconst builtInKeybinding = builtinKeybindings[normalizedKey];\n\t\t\tif (builtInKeybinding?.restrictOverride === true) {\n\t\t\t\taddDiagnostic(\n\t\t\t\t\t`Extension shortcut '${key}' from ${shortcut.extensionPath} conflicts with built-in shortcut. Skipping.`,\n\t\t\t\t\tshortcut.extensionPath,\n\t\t\t\t);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (builtInKeybinding?.restrictOverride === false) {\n\t\t\t\taddDiagnostic(\n\t\t\t\t\t`Extension shortcut conflict: '${key}' is built-in shortcut for ${builtInKeybinding.keybinding} and ${shortcut.extensionPath}. Using ${shortcut.extensionPath}.`,\n\t\t\t\t\tshortcut.extensionPath,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst existingExtensionShortcut = extensionShortcuts.get(normalizedKey);\n\t\t\tif (existingExtensionShortcut) {\n\t\t\t\taddDiagnostic(\n\t\t\t\t\t`Extension shortcut conflict: '${key}' registered by both ${existingExtensionShortcut.extensionPath} and ${shortcut.extensionPath}. Using ${shortcut.extensionPath}.`,\n\t\t\t\t\tshortcut.extensionPath,\n\t\t\t\t);\n\t\t\t}\n\t\t\textensionShortcuts.set(normalizedKey, shortcut);\n\t\t}\n\t}\n\treturn { shortcuts: extensionShortcuts, diagnostics };\n}\n"]}
|
|
@@ -53,6 +53,8 @@ export declare class ExtensionRunner {
|
|
|
53
53
|
private shortcutDiagnostics;
|
|
54
54
|
private commandDiagnostics;
|
|
55
55
|
private staleMessage;
|
|
56
|
+
private uiPromptBinding;
|
|
57
|
+
private activeUIPrompt;
|
|
56
58
|
constructor(extensions: Extension[], runtime: ExtensionRuntime, cwd: string, sessionManager: SessionManager, modelRegistry: ModelRegistry, orchestrationContext?: OrchestrationContext, subagentPolicy?: SubagentChildPolicy);
|
|
57
59
|
bindCore(actions: ExtensionActions, contextActions: ExtensionContextActions, providerActions?: {
|
|
58
60
|
registerProvider?: (providerOrName: Provider | string, config?: ProviderConfig) => void;
|
|
@@ -60,6 +62,10 @@ export declare class ExtensionRunner {
|
|
|
60
62
|
}): void;
|
|
61
63
|
bindCommandContext(actions?: ExtensionCommandContextActions): void;
|
|
62
64
|
setUIContext(uiContext?: ExtensionUIContext, mode?: ExtensionMode): void;
|
|
65
|
+
private wrapUIPromptContext;
|
|
66
|
+
private withUIPrompt;
|
|
67
|
+
private endActiveUIPrompt;
|
|
68
|
+
private emitUIPromptEvent;
|
|
63
69
|
getUIContext(): ExtensionUIContext;
|
|
64
70
|
hasUI(): boolean;
|
|
65
71
|
getExtensionPaths(): string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,KAAK,EAAO,YAAY,EAAS,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAOpE,OAAO,EACN,KAAK,8BAA8B,EACnC,KAAK,+BAA+B,EACpC,KAAK,eAAe,EACpB,KAAK,gBAAgB,EAWrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACX,sBAAsB,EAOtB,MAAM,sBAAsB,CAAC;AAc9B,OAAO,KAAK,EAGX,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,uBAAuB,EACvB,8BAA8B,EAC9B,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,qBAAqB,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/runner.ts"],"names":[],"mappings":"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"}
|