mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-15 12:03:49 +00:00
- Replace per-extension closures with shared ExtensionRuntime - Split context actions: ExtensionContextActions (required) + ExtensionCommandContextActions (optional) - Rename LoadedExtension to Extension, remove setter methods - Change runner.initialize() from options object to positional params - Derive hasUI from uiContext presence (no separate param) - Add warning when extensions override built-in tools - RPC and print modes now provide full command context actions BREAKING CHANGE: Extension system types and initialization API changed. See CHANGELOG.md for migration details.
117 lines
2.4 KiB
TypeScript
117 lines
2.4 KiB
TypeScript
/**
|
|
* Extension system for lifecycle events and custom tools.
|
|
*/
|
|
|
|
export {
|
|
createExtensionRuntime,
|
|
discoverAndLoadExtensions,
|
|
loadExtensionFromFactory,
|
|
loadExtensions,
|
|
} from "./loader.js";
|
|
export type { BranchHandler, ExtensionErrorListener, NavigateTreeHandler, NewSessionHandler } from "./runner.js";
|
|
export { ExtensionRunner } from "./runner.js";
|
|
export type {
|
|
AgentEndEvent,
|
|
AgentStartEvent,
|
|
// Re-exports
|
|
AgentToolResult,
|
|
AgentToolUpdateCallback,
|
|
// App keybindings (for custom editors)
|
|
AppAction,
|
|
AppendEntryHandler,
|
|
BashToolResultEvent,
|
|
BeforeAgentStartEvent,
|
|
BeforeAgentStartEventResult,
|
|
// Events - Agent
|
|
ContextEvent,
|
|
// Event Results
|
|
ContextEventResult,
|
|
CustomToolResultEvent,
|
|
EditToolResultEvent,
|
|
ExecOptions,
|
|
ExecResult,
|
|
Extension,
|
|
ExtensionActions,
|
|
// API
|
|
ExtensionAPI,
|
|
ExtensionCommandContext,
|
|
ExtensionCommandContextActions,
|
|
// Context
|
|
ExtensionContext,
|
|
ExtensionContextActions,
|
|
// Errors
|
|
ExtensionError,
|
|
ExtensionEvent,
|
|
ExtensionFactory,
|
|
ExtensionFlag,
|
|
ExtensionHandler,
|
|
// Runtime
|
|
ExtensionRuntime,
|
|
ExtensionShortcut,
|
|
ExtensionUIContext,
|
|
ExtensionUIDialogOptions,
|
|
FindToolResultEvent,
|
|
GetActiveToolsHandler,
|
|
GetAllToolsHandler,
|
|
GetThinkingLevelHandler,
|
|
GrepToolResultEvent,
|
|
KeybindingsManager,
|
|
LoadExtensionsResult,
|
|
LsToolResultEvent,
|
|
// Message Rendering
|
|
MessageRenderer,
|
|
MessageRenderOptions,
|
|
ReadToolResultEvent,
|
|
// Commands
|
|
RegisteredCommand,
|
|
RegisteredTool,
|
|
SendMessageHandler,
|
|
SendUserMessageHandler,
|
|
SessionBeforeBranchEvent,
|
|
SessionBeforeBranchResult,
|
|
SessionBeforeCompactEvent,
|
|
SessionBeforeCompactResult,
|
|
SessionBeforeSwitchEvent,
|
|
SessionBeforeSwitchResult,
|
|
SessionBeforeTreeEvent,
|
|
SessionBeforeTreeResult,
|
|
SessionBranchEvent,
|
|
SessionCompactEvent,
|
|
SessionEvent,
|
|
SessionShutdownEvent,
|
|
// Events - Session
|
|
SessionStartEvent,
|
|
SessionSwitchEvent,
|
|
SessionTreeEvent,
|
|
SetActiveToolsHandler,
|
|
SetModelHandler,
|
|
SetThinkingLevelHandler,
|
|
// Events - Tool
|
|
ToolCallEvent,
|
|
ToolCallEventResult,
|
|
// Tools
|
|
ToolDefinition,
|
|
ToolRenderResultOptions,
|
|
ToolResultEvent,
|
|
ToolResultEventResult,
|
|
TreePreparation,
|
|
TurnEndEvent,
|
|
TurnStartEvent,
|
|
WriteToolResultEvent,
|
|
} from "./types.js";
|
|
// Type guards
|
|
export {
|
|
isBashToolResult,
|
|
isEditToolResult,
|
|
isFindToolResult,
|
|
isGrepToolResult,
|
|
isLsToolResult,
|
|
isReadToolResult,
|
|
isWriteToolResult,
|
|
} from "./types.js";
|
|
export {
|
|
wrapRegisteredTool,
|
|
wrapRegisteredTools,
|
|
wrapToolsWithExtensions,
|
|
wrapToolWithExtensions,
|
|
} from "./wrapper.js";
|