mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-15 15:03:31 +00:00
- Add PackageSource type for npm/git sources with optional filtering - Migrate npm:/git: sources from extensions to packages array - Add getPackages(), setPackages(), setProjectPackages() methods - Update package-manager to resolve from packages array - Support selective loading: extensions, skills, prompts, themes per package - Update pi list to show packages - Add migration tests for settings closes #645
290 lines
6.7 KiB
TypeScript
290 lines
6.7 KiB
TypeScript
// Core session management
|
|
|
|
// Config paths
|
|
export { getAgentDir, VERSION } from "./config.js";
|
|
export {
|
|
AgentSession,
|
|
type AgentSessionConfig,
|
|
type AgentSessionEvent,
|
|
type AgentSessionEventListener,
|
|
type ModelCycleResult,
|
|
type ParsedSkillBlock,
|
|
type PromptOptions,
|
|
parseSkillBlock,
|
|
type SessionStats,
|
|
} from "./core/agent-session.js";
|
|
// Auth and model registry
|
|
export { type ApiKeyCredential, type AuthCredential, AuthStorage, type OAuthCredential } from "./core/auth-storage.js";
|
|
// Compaction
|
|
export {
|
|
type BranchPreparation,
|
|
type BranchSummaryResult,
|
|
type CollectEntriesResult,
|
|
type CompactionResult,
|
|
type CutPointResult,
|
|
calculateContextTokens,
|
|
collectEntriesForBranchSummary,
|
|
compact,
|
|
DEFAULT_COMPACTION_SETTINGS,
|
|
estimateTokens,
|
|
type FileOperations,
|
|
findCutPoint,
|
|
findTurnStartIndex,
|
|
type GenerateBranchSummaryOptions,
|
|
generateBranchSummary,
|
|
generateSummary,
|
|
getLastAssistantUsage,
|
|
prepareBranchEntries,
|
|
serializeConversation,
|
|
shouldCompact,
|
|
} from "./core/compaction/index.js";
|
|
export { createEventBus, type EventBus, type EventBusController } from "./core/event-bus.js";
|
|
// Extension system
|
|
export type {
|
|
AgentEndEvent,
|
|
AgentStartEvent,
|
|
AgentToolResult,
|
|
AgentToolUpdateCallback,
|
|
AppAction,
|
|
BeforeAgentStartEvent,
|
|
CompactOptions,
|
|
ContextEvent,
|
|
ContextUsage,
|
|
ExecOptions,
|
|
ExecResult,
|
|
Extension,
|
|
ExtensionActions,
|
|
ExtensionAPI,
|
|
ExtensionCommandContext,
|
|
ExtensionCommandContextActions,
|
|
ExtensionContext,
|
|
ExtensionContextActions,
|
|
ExtensionError,
|
|
ExtensionEvent,
|
|
ExtensionFactory,
|
|
ExtensionFlag,
|
|
ExtensionHandler,
|
|
ExtensionRuntime,
|
|
ExtensionShortcut,
|
|
ExtensionUIContext,
|
|
ExtensionUIDialogOptions,
|
|
ExtensionWidgetOptions,
|
|
InputEvent,
|
|
InputEventResult,
|
|
InputSource,
|
|
KeybindingsManager,
|
|
LoadExtensionsResult,
|
|
MessageRenderer,
|
|
MessageRenderOptions,
|
|
RegisteredCommand,
|
|
RegisteredTool,
|
|
SessionBeforeCompactEvent,
|
|
SessionBeforeForkEvent,
|
|
SessionBeforeSwitchEvent,
|
|
SessionBeforeTreeEvent,
|
|
SessionCompactEvent,
|
|
SessionForkEvent,
|
|
SessionShutdownEvent,
|
|
SessionStartEvent,
|
|
SessionSwitchEvent,
|
|
SessionTreeEvent,
|
|
ToolCallEvent,
|
|
ToolDefinition,
|
|
ToolInfo,
|
|
ToolRenderResultOptions,
|
|
ToolResultEvent,
|
|
TurnEndEvent,
|
|
TurnStartEvent,
|
|
UserBashEvent,
|
|
UserBashEventResult,
|
|
WidgetPlacement,
|
|
} from "./core/extensions/index.js";
|
|
export {
|
|
createExtensionRuntime,
|
|
ExtensionRunner,
|
|
isBashToolResult,
|
|
isEditToolResult,
|
|
isFindToolResult,
|
|
isGrepToolResult,
|
|
isLsToolResult,
|
|
isReadToolResult,
|
|
isWriteToolResult,
|
|
wrapRegisteredTool,
|
|
wrapRegisteredTools,
|
|
wrapToolsWithExtensions,
|
|
wrapToolWithExtensions,
|
|
} from "./core/extensions/index.js";
|
|
// Footer data provider (git branch + extension statuses - data not otherwise available to extensions)
|
|
export type { ReadonlyFooterDataProvider } from "./core/footer-data-provider.js";
|
|
export { convertToLlm } from "./core/messages.js";
|
|
export { ModelRegistry } from "./core/model-registry.js";
|
|
export type { PackageManager, ProgressCallback, ProgressEvent } from "./core/package-manager.js";
|
|
export { DefaultPackageManager } from "./core/package-manager.js";
|
|
export type { ResourceDiagnostic, ResourceLoader } from "./core/resource-loader.js";
|
|
export { DefaultResourceLoader } from "./core/resource-loader.js";
|
|
// SDK for programmatic usage
|
|
export {
|
|
type CreateAgentSessionOptions,
|
|
type CreateAgentSessionResult,
|
|
// Factory
|
|
createAgentSession,
|
|
createBashTool,
|
|
// Tool factories (for custom cwd)
|
|
createCodingTools,
|
|
createEditTool,
|
|
createFindTool,
|
|
createGrepTool,
|
|
createLsTool,
|
|
createReadOnlyTools,
|
|
createReadTool,
|
|
createWriteTool,
|
|
type PromptTemplate,
|
|
// Pre-built tools (use process.cwd())
|
|
readOnlyTools,
|
|
} from "./core/sdk.js";
|
|
export {
|
|
type BranchSummaryEntry,
|
|
buildSessionContext,
|
|
type CompactionEntry,
|
|
CURRENT_SESSION_VERSION,
|
|
type CustomEntry,
|
|
type CustomMessageEntry,
|
|
type FileEntry,
|
|
getLatestCompactionEntry,
|
|
type ModelChangeEntry,
|
|
migrateSessionEntries,
|
|
type NewSessionOptions,
|
|
parseSessionEntries,
|
|
type SessionContext,
|
|
type SessionEntry,
|
|
type SessionEntryBase,
|
|
type SessionHeader,
|
|
type SessionInfo,
|
|
type SessionInfoEntry,
|
|
SessionManager,
|
|
type SessionMessageEntry,
|
|
type ThinkingLevelChangeEntry,
|
|
} from "./core/session-manager.js";
|
|
export {
|
|
type CompactionSettings,
|
|
type ImageSettings,
|
|
type PackageSource,
|
|
type RetrySettings,
|
|
SettingsManager,
|
|
} from "./core/settings-manager.js";
|
|
// Skills
|
|
export {
|
|
formatSkillsForPrompt,
|
|
type LoadSkillsFromDirOptions,
|
|
type LoadSkillsResult,
|
|
loadSkills,
|
|
loadSkillsFromDir,
|
|
type Skill,
|
|
type SkillFrontmatter,
|
|
type SkillWarning,
|
|
} from "./core/skills.js";
|
|
// Tools
|
|
export {
|
|
type BashOperations,
|
|
type BashToolDetails,
|
|
type BashToolOptions,
|
|
bashTool,
|
|
codingTools,
|
|
DEFAULT_MAX_BYTES,
|
|
DEFAULT_MAX_LINES,
|
|
type EditOperations,
|
|
type EditToolDetails,
|
|
type EditToolOptions,
|
|
editTool,
|
|
type FindOperations,
|
|
type FindToolDetails,
|
|
type FindToolOptions,
|
|
findTool,
|
|
formatSize,
|
|
type GrepOperations,
|
|
type GrepToolDetails,
|
|
type GrepToolOptions,
|
|
grepTool,
|
|
type LsOperations,
|
|
type LsToolDetails,
|
|
type LsToolOptions,
|
|
lsTool,
|
|
type ReadOperations,
|
|
type ReadToolDetails,
|
|
type ReadToolOptions,
|
|
readTool,
|
|
type ToolsOptions,
|
|
type TruncationOptions,
|
|
type TruncationResult,
|
|
truncateHead,
|
|
truncateLine,
|
|
truncateTail,
|
|
type WriteOperations,
|
|
type WriteToolOptions,
|
|
writeTool,
|
|
} from "./core/tools/index.js";
|
|
// Main entry point
|
|
export { main } from "./main.js";
|
|
// Run modes for programmatic SDK usage
|
|
export {
|
|
InteractiveMode,
|
|
type InteractiveModeOptions,
|
|
type PrintModeOptions,
|
|
runPrintMode,
|
|
runRpcMode,
|
|
} from "./modes/index.js";
|
|
// UI components for extensions
|
|
export {
|
|
ArminComponent,
|
|
AssistantMessageComponent,
|
|
appKey,
|
|
appKeyHint,
|
|
BashExecutionComponent,
|
|
BorderedLoader,
|
|
BranchSummaryMessageComponent,
|
|
CompactionSummaryMessageComponent,
|
|
CustomEditor,
|
|
CustomMessageComponent,
|
|
DynamicBorder,
|
|
ExtensionEditorComponent,
|
|
ExtensionInputComponent,
|
|
ExtensionSelectorComponent,
|
|
editorKey,
|
|
FooterComponent,
|
|
keyHint,
|
|
LoginDialogComponent,
|
|
ModelSelectorComponent,
|
|
OAuthSelectorComponent,
|
|
type RenderDiffOptions,
|
|
rawKeyHint,
|
|
renderDiff,
|
|
SessionSelectorComponent,
|
|
type SettingsCallbacks,
|
|
type SettingsConfig,
|
|
SettingsSelectorComponent,
|
|
ShowImagesSelectorComponent,
|
|
SkillInvocationMessageComponent,
|
|
ThemeSelectorComponent,
|
|
ThinkingSelectorComponent,
|
|
ToolExecutionComponent,
|
|
type ToolExecutionOptions,
|
|
TreeSelectorComponent,
|
|
truncateToVisualLines,
|
|
UserMessageComponent,
|
|
UserMessageSelectorComponent,
|
|
type VisualTruncateResult,
|
|
} from "./modes/interactive/components/index.js";
|
|
// Theme utilities for custom tools and extensions
|
|
export {
|
|
getLanguageFromPath,
|
|
getMarkdownTheme,
|
|
getSelectListTheme,
|
|
getSettingsListTheme,
|
|
highlightCode,
|
|
initTheme,
|
|
Theme,
|
|
type ThemeColor,
|
|
} from "./modes/interactive/theme/theme.js";
|
|
export { parseFrontmatter, stripFrontmatter } from "./utils/frontmatter.js";
|
|
// Shell utilities
|
|
export { getShellConfig } from "./utils/shell.js";
|