@compass-ai/nova 1.0.72 → 1.0.74
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/dist/acp/agent.d.ts +318 -0
- package/dist/acp/agent.d.ts.map +1 -0
- package/dist/acp/agent.js +795 -0
- package/dist/acp/agent.js.map +1 -0
- package/dist/acp/backpressure-writer.d.ts +49 -0
- package/dist/acp/backpressure-writer.d.ts.map +1 -0
- package/dist/acp/backpressure-writer.js +153 -0
- package/dist/acp/backpressure-writer.js.map +1 -0
- package/dist/acp/event-adapter.d.ts +242 -0
- package/dist/acp/event-adapter.d.ts.map +1 -0
- package/dist/acp/event-adapter.js +456 -0
- package/dist/acp/event-adapter.js.map +1 -0
- package/dist/acp/index.d.ts +30 -0
- package/dist/acp/index.d.ts.map +1 -0
- package/dist/acp/index.js +36 -0
- package/dist/acp/index.js.map +1 -0
- package/dist/acp/modes.d.ts +56 -0
- package/dist/acp/modes.d.ts.map +1 -0
- package/dist/acp/modes.js +135 -0
- package/dist/acp/modes.js.map +1 -0
- package/dist/acp/session-manager.d.ts +170 -0
- package/dist/acp/session-manager.d.ts.map +1 -0
- package/dist/acp/session-manager.js +381 -0
- package/dist/acp/session-manager.js.map +1 -0
- package/dist/acp/text-coalescer.d.ts +45 -0
- package/dist/acp/text-coalescer.d.ts.map +1 -0
- package/dist/acp/text-coalescer.js +110 -0
- package/dist/acp/text-coalescer.js.map +1 -0
- package/dist/acp/tool-bridge.d.ts +156 -0
- package/dist/acp/tool-bridge.d.ts.map +1 -0
- package/dist/acp/tool-bridge.js +381 -0
- package/dist/acp/tool-bridge.js.map +1 -0
- package/dist/acp/types.d.ts +314 -0
- package/dist/acp/types.d.ts.map +1 -0
- package/dist/acp/types.js +8 -0
- package/dist/acp/types.js.map +1 -0
- package/dist/cli.d.ts +9 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +185 -184
- package/dist/cli.js.map +1 -0
- package/dist/commands/acp.d.ts +26 -0
- package/dist/commands/acp.d.ts.map +1 -0
- package/dist/commands/acp.js +492 -0
- package/dist/commands/acp.js.map +1 -0
- package/dist/commands/cache.d.ts +33 -0
- package/dist/commands/cache.d.ts.map +1 -0
- package/dist/commands/cache.js +537 -0
- package/dist/commands/cache.js.map +1 -0
- package/dist/commands/config.d.ts +10 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +367 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/consent.d.ts +21 -0
- package/dist/commands/consent.d.ts.map +1 -0
- package/dist/commands/consent.js +334 -0
- package/dist/commands/consent.js.map +1 -0
- package/dist/commands/data.d.ts +24 -0
- package/dist/commands/data.d.ts.map +1 -0
- package/dist/commands/data.js +586 -0
- package/dist/commands/data.js.map +1 -0
- package/dist/commands/index.d.ts +145 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +210 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/init.d.ts +106 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +349 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/logs.d.ts +13 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/logs.js +359 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/mcp.d.ts +20 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +687 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/reset.d.ts +20 -0
- package/dist/commands/reset.d.ts.map +1 -0
- package/dist/commands/reset.js +372 -0
- package/dist/commands/reset.js.map +1 -0
- package/dist/commands/setup.d.ts +74 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +863 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/slash/agents.d.ts +40 -0
- package/dist/commands/slash/agents.d.ts.map +1 -0
- package/dist/commands/slash/agents.js +519 -0
- package/dist/commands/slash/agents.js.map +1 -0
- package/dist/commands/slash/approve.d.ts +46 -0
- package/dist/commands/slash/approve.d.ts.map +1 -0
- package/dist/commands/slash/approve.js +239 -0
- package/dist/commands/slash/approve.js.map +1 -0
- package/dist/commands/slash/attach.d.ts +70 -0
- package/dist/commands/slash/attach.d.ts.map +1 -0
- package/dist/commands/slash/attach.js +333 -0
- package/dist/commands/slash/attach.js.map +1 -0
- package/dist/commands/slash/clear.d.ts +47 -0
- package/dist/commands/slash/clear.d.ts.map +1 -0
- package/dist/commands/slash/clear.js +261 -0
- package/dist/commands/slash/clear.js.map +1 -0
- package/dist/commands/slash/commit.d.ts +40 -0
- package/dist/commands/slash/commit.d.ts.map +1 -0
- package/dist/commands/slash/commit.js +337 -0
- package/dist/commands/slash/commit.js.map +1 -0
- package/dist/commands/slash/compact.d.ts +48 -0
- package/dist/commands/slash/compact.d.ts.map +1 -0
- package/dist/commands/slash/compact.js +288 -0
- package/dist/commands/slash/compact.js.map +1 -0
- package/dist/commands/slash/config.d.ts +20 -0
- package/dist/commands/slash/config.d.ts.map +1 -0
- package/dist/commands/slash/config.js +136 -0
- package/dist/commands/slash/config.js.map +1 -0
- package/dist/commands/slash/context.d.ts +49 -0
- package/dist/commands/slash/context.d.ts.map +1 -0
- package/dist/commands/slash/context.js +430 -0
- package/dist/commands/slash/context.js.map +1 -0
- package/dist/commands/slash/cost.d.ts +34 -0
- package/dist/commands/slash/cost.d.ts.map +1 -0
- package/dist/commands/slash/cost.js +312 -0
- package/dist/commands/slash/cost.js.map +1 -0
- package/dist/commands/slash/custom.d.ts +41 -0
- package/dist/commands/slash/custom.d.ts.map +1 -0
- package/dist/commands/slash/custom.js +126 -0
- package/dist/commands/slash/custom.js.map +1 -0
- package/dist/commands/slash/exit.d.ts +25 -0
- package/dist/commands/slash/exit.d.ts.map +1 -0
- package/dist/commands/slash/exit.js +186 -0
- package/dist/commands/slash/exit.js.map +1 -0
- package/dist/commands/slash/export.d.ts +27 -0
- package/dist/commands/slash/export.d.ts.map +1 -0
- package/dist/commands/slash/export.js +318 -0
- package/dist/commands/slash/export.js.map +1 -0
- package/dist/commands/slash/files.d.ts +47 -0
- package/dist/commands/slash/files.d.ts.map +1 -0
- package/dist/commands/slash/files.js +521 -0
- package/dist/commands/slash/files.js.map +1 -0
- package/dist/commands/slash/help.d.ts +50 -0
- package/dist/commands/slash/help.d.ts.map +1 -0
- package/dist/commands/slash/help.js +282 -0
- package/dist/commands/slash/help.js.map +1 -0
- package/dist/commands/slash/index-cmd.d.ts +41 -0
- package/dist/commands/slash/index-cmd.d.ts.map +1 -0
- package/dist/commands/slash/index-cmd.js +349 -0
- package/dist/commands/slash/index-cmd.js.map +1 -0
- package/dist/commands/slash/index.d.ts +97 -0
- package/dist/commands/slash/index.d.ts.map +1 -0
- package/dist/commands/slash/index.js +251 -0
- package/dist/commands/slash/index.js.map +1 -0
- package/dist/commands/slash/login.d.ts +23 -0
- package/dist/commands/slash/login.d.ts.map +1 -0
- package/dist/commands/slash/login.js +175 -0
- package/dist/commands/slash/login.js.map +1 -0
- package/dist/commands/slash/logout.d.ts +23 -0
- package/dist/commands/slash/logout.d.ts.map +1 -0
- package/dist/commands/slash/logout.js +153 -0
- package/dist/commands/slash/logout.js.map +1 -0
- package/dist/commands/slash/logs.d.ts +29 -0
- package/dist/commands/slash/logs.d.ts.map +1 -0
- package/dist/commands/slash/logs.js +423 -0
- package/dist/commands/slash/logs.js.map +1 -0
- package/dist/commands/slash/mcp.d.ts +29 -0
- package/dist/commands/slash/mcp.d.ts.map +1 -0
- package/dist/commands/slash/mcp.js +1026 -0
- package/dist/commands/slash/mcp.js.map +1 -0
- package/dist/commands/slash/model.d.ts +60 -0
- package/dist/commands/slash/model.d.ts.map +1 -0
- package/dist/commands/slash/model.js +466 -0
- package/dist/commands/slash/model.js.map +1 -0
- package/dist/commands/slash/personality.d.ts +40 -0
- package/dist/commands/slash/personality.d.ts.map +1 -0
- package/dist/commands/slash/personality.js +272 -0
- package/dist/commands/slash/personality.js.map +1 -0
- package/dist/commands/slash/purge.d.ts +42 -0
- package/dist/commands/slash/purge.d.ts.map +1 -0
- package/dist/commands/slash/purge.js +233 -0
- package/dist/commands/slash/purge.js.map +1 -0
- package/dist/commands/slash/reset.d.ts +44 -0
- package/dist/commands/slash/reset.d.ts.map +1 -0
- package/dist/commands/slash/reset.js +326 -0
- package/dist/commands/slash/reset.js.map +1 -0
- package/dist/commands/slash/skills.d.ts +40 -0
- package/dist/commands/slash/skills.d.ts.map +1 -0
- package/dist/commands/slash/skills.js +207 -0
- package/dist/commands/slash/skills.js.map +1 -0
- package/dist/commands/slash/tokens.d.ts +34 -0
- package/dist/commands/slash/tokens.d.ts.map +1 -0
- package/dist/commands/slash/tokens.js +205 -0
- package/dist/commands/slash/tokens.js.map +1 -0
- package/dist/commands/slash/unleash.d.ts +50 -0
- package/dist/commands/slash/unleash.d.ts.map +1 -0
- package/dist/commands/slash/unleash.js +262 -0
- package/dist/commands/slash/unleash.js.map +1 -0
- package/dist/commands/slash/update.d.ts +34 -0
- package/dist/commands/slash/update.d.ts.map +1 -0
- package/dist/commands/slash/update.js +364 -0
- package/dist/commands/slash/update.js.map +1 -0
- package/dist/commands/slash/wrap.d.ts +18 -0
- package/dist/commands/slash/wrap.d.ts.map +1 -0
- package/dist/commands/slash/wrap.js +21 -0
- package/dist/commands/slash/wrap.js.map +1 -0
- package/dist/commands/tokens.d.ts +26 -0
- package/dist/commands/tokens.d.ts.map +1 -0
- package/dist/commands/tokens.js +245 -0
- package/dist/commands/tokens.js.map +1 -0
- package/dist/constants/builtin-agents.d.ts +27 -0
- package/dist/constants/builtin-agents.d.ts.map +1 -0
- package/dist/constants/builtin-agents.js +710 -0
- package/dist/constants/builtin-agents.js.map +1 -0
- package/dist/constants/builtin-skills.d.ts +32 -0
- package/dist/constants/builtin-skills.d.ts.map +1 -0
- package/dist/constants/builtin-skills.js +389 -0
- package/dist/constants/builtin-skills.js.map +1 -0
- package/dist/constants/defaults.d.ts +448 -0
- package/dist/constants/defaults.d.ts.map +1 -0
- package/dist/constants/defaults.js +829 -0
- package/dist/constants/defaults.js.map +1 -0
- package/dist/constants/index.d.ts +27 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +85 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants/install-hints.d.ts +7 -0
- package/dist/constants/install-hints.d.ts.map +1 -0
- package/dist/constants/install-hints.js +123 -0
- package/dist/constants/install-hints.js.map +1 -0
- package/dist/constants/models.d.ts +255 -0
- package/dist/constants/models.d.ts.map +1 -0
- package/dist/constants/models.js +596 -0
- package/dist/constants/models.js.map +1 -0
- package/dist/constants/schedule.d.ts +43 -0
- package/dist/constants/schedule.d.ts.map +1 -0
- package/dist/constants/schedule.js +110 -0
- package/dist/constants/schedule.js.map +1 -0
- package/dist/constants/system-utilities.d.ts +57 -0
- package/dist/constants/system-utilities.d.ts.map +1 -0
- package/dist/constants/system-utilities.js +421 -0
- package/dist/constants/system-utilities.js.map +1 -0
- package/dist/constants/token-limits.d.ts +102 -0
- package/dist/constants/token-limits.d.ts.map +1 -0
- package/dist/constants/token-limits.js +286 -0
- package/dist/constants/token-limits.js.map +1 -0
- package/dist/core/autocomplete.d.ts +132 -0
- package/dist/core/autocomplete.d.ts.map +1 -0
- package/dist/core/autocomplete.js +653 -0
- package/dist/core/autocomplete.js.map +1 -0
- package/dist/core/command-parser.d.ts +301 -0
- package/dist/core/command-parser.d.ts.map +1 -0
- package/dist/core/command-parser.js +526 -0
- package/dist/core/command-parser.js.map +1 -0
- package/dist/core/context-builder.d.ts +264 -0
- package/dist/core/context-builder.d.ts.map +1 -0
- package/dist/core/context-builder.js +1018 -0
- package/dist/core/context-builder.js.map +1 -0
- package/dist/core/event-emitter.d.ts +411 -0
- package/dist/core/event-emitter.d.ts.map +1 -0
- package/dist/core/event-emitter.js +138 -0
- package/dist/core/event-emitter.js.map +1 -0
- package/dist/core/history-manager.d.ts +62 -0
- package/dist/core/history-manager.d.ts.map +1 -0
- package/dist/core/history-manager.js +151 -0
- package/dist/core/history-manager.js.map +1 -0
- package/dist/core/slash-command-handler.d.ts +352 -0
- package/dist/core/slash-command-handler.d.ts.map +1 -0
- package/dist/core/slash-command-handler.js +563 -0
- package/dist/core/slash-command-handler.js.map +1 -0
- package/dist/core/task-processor.d.ts +179 -0
- package/dist/core/task-processor.d.ts.map +1 -0
- package/dist/core/task-processor.js +519 -0
- package/dist/core/task-processor.js.map +1 -0
- package/dist/index.d.ts +90 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -0
- package/dist/prompts/agent-prompt-generator.d.ts +26 -0
- package/dist/prompts/agent-prompt-generator.d.ts.map +1 -0
- package/dist/prompts/agent-prompt-generator.js +244 -0
- package/dist/prompts/agent-prompt-generator.js.map +1 -0
- package/dist/prompts/commit-message.d.ts +35 -0
- package/dist/prompts/commit-message.d.ts.map +1 -0
- package/dist/prompts/commit-message.js +187 -0
- package/dist/prompts/commit-message.js.map +1 -0
- package/dist/prompts/conversation.d.ts +51 -0
- package/dist/prompts/conversation.d.ts.map +1 -0
- package/dist/prompts/conversation.js +115 -0
- package/dist/prompts/conversation.js.map +1 -0
- package/dist/prompts/index.d.ts +39 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +74 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/memory.d.ts +6 -0
- package/dist/prompts/memory.d.ts.map +1 -0
- package/dist/prompts/memory.js +29 -0
- package/dist/prompts/memory.js.map +1 -0
- package/dist/prompts/personality.d.ts +77 -0
- package/dist/prompts/personality.d.ts.map +1 -0
- package/dist/prompts/personality.js +393 -0
- package/dist/prompts/personality.js.map +1 -0
- package/dist/prompts/plan-generator.d.ts +144 -0
- package/dist/prompts/plan-generator.d.ts.map +1 -0
- package/dist/prompts/plan-generator.js +553 -0
- package/dist/prompts/plan-generator.js.map +1 -0
- package/dist/prompts/system.d.ts +95 -0
- package/dist/prompts/system.d.ts.map +1 -0
- package/dist/prompts/system.js +461 -0
- package/dist/prompts/system.js.map +1 -0
- package/dist/prompts/task-processor.d.ts +94 -0
- package/dist/prompts/task-processor.d.ts.map +1 -0
- package/dist/prompts/task-processor.js +554 -0
- package/dist/prompts/task-processor.js.map +1 -0
- package/dist/prompts/unguarded.d.ts +78 -0
- package/dist/prompts/unguarded.d.ts.map +1 -0
- package/dist/prompts/unguarded.js +418 -0
- package/dist/prompts/unguarded.js.map +1 -0
- package/dist/prompts/utils.d.ts +73 -0
- package/dist/prompts/utils.d.ts.map +1 -0
- package/dist/prompts/utils.js +114 -0
- package/dist/prompts/utils.js.map +1 -0
- package/dist/prompts/workflow.d.ts +241 -0
- package/dist/prompts/workflow.d.ts.map +1 -0
- package/dist/prompts/workflow.js +608 -0
- package/dist/prompts/workflow.js.map +1 -0
- package/dist/services/action-logger.d.ts +383 -0
- package/dist/services/action-logger.d.ts.map +1 -0
- package/dist/services/action-logger.js +544 -0
- package/dist/services/action-logger.js.map +1 -0
- package/dist/services/agent-budget-allocator.d.ts +111 -0
- package/dist/services/agent-budget-allocator.d.ts.map +1 -0
- package/dist/services/agent-budget-allocator.js +278 -0
- package/dist/services/agent-budget-allocator.js.map +1 -0
- package/dist/services/agent-manager.d.ts +181 -0
- package/dist/services/agent-manager.d.ts.map +1 -0
- package/dist/services/agent-manager.js +749 -0
- package/dist/services/agent-manager.js.map +1 -0
- package/dist/services/agent-spawner.d.ts +138 -0
- package/dist/services/agent-spawner.d.ts.map +1 -0
- package/dist/services/agent-spawner.js +748 -0
- package/dist/services/agent-spawner.js.map +1 -0
- package/dist/services/agent-state-service.d.ts +145 -0
- package/dist/services/agent-state-service.d.ts.map +1 -0
- package/dist/services/agent-state-service.js +247 -0
- package/dist/services/agent-state-service.js.map +1 -0
- package/dist/services/anthropic-client.d.ts +357 -0
- package/dist/services/anthropic-client.d.ts.map +1 -0
- package/dist/services/anthropic-client.js +1451 -0
- package/dist/services/anthropic-client.js.map +1 -0
- package/dist/services/approval-manager.d.ts +385 -0
- package/dist/services/approval-manager.d.ts.map +1 -0
- package/dist/services/approval-manager.js +1044 -0
- package/dist/services/approval-manager.js.map +1 -0
- package/dist/services/audit-logger.d.ts +245 -0
- package/dist/services/audit-logger.d.ts.map +1 -0
- package/dist/services/audit-logger.js +324 -0
- package/dist/services/audit-logger.js.map +1 -0
- package/dist/services/backup-manager.d.ts +136 -0
- package/dist/services/backup-manager.d.ts.map +1 -0
- package/dist/services/backup-manager.js +260 -0
- package/dist/services/backup-manager.js.map +1 -0
- package/dist/services/cache-service.d.ts +247 -0
- package/dist/services/cache-service.d.ts.map +1 -0
- package/dist/services/cache-service.js +558 -0
- package/dist/services/cache-service.js.map +1 -0
- package/dist/services/chat-archival-service.d.ts +108 -0
- package/dist/services/chat-archival-service.d.ts.map +1 -0
- package/dist/services/chat-archival-service.js +465 -0
- package/dist/services/chat-archival-service.js.map +1 -0
- package/dist/services/codebase-indexer.d.ts +272 -0
- package/dist/services/codebase-indexer.d.ts.map +1 -0
- package/dist/services/codebase-indexer.js +863 -0
- package/dist/services/codebase-indexer.js.map +1 -0
- package/dist/services/compass-auth-service.d.ts +204 -0
- package/dist/services/compass-auth-service.d.ts.map +1 -0
- package/dist/services/compass-auth-service.js +391 -0
- package/dist/services/compass-auth-service.js.map +1 -0
- package/dist/services/complexity-classifier.d.ts +208 -0
- package/dist/services/complexity-classifier.d.ts.map +1 -0
- package/dist/services/complexity-classifier.js +1410 -0
- package/dist/services/complexity-classifier.js.map +1 -0
- package/dist/services/config-manager.d.ts +278 -0
- package/dist/services/config-manager.d.ts.map +1 -0
- package/dist/services/config-manager.js +651 -0
- package/dist/services/config-manager.js.map +1 -0
- package/dist/services/consent-manager.d.ts +239 -0
- package/dist/services/consent-manager.d.ts.map +1 -0
- package/dist/services/consent-manager.js +516 -0
- package/dist/services/consent-manager.js.map +1 -0
- package/dist/services/conversation-compactor.d.ts +223 -0
- package/dist/services/conversation-compactor.d.ts.map +1 -0
- package/dist/services/conversation-compactor.js +750 -0
- package/dist/services/conversation-compactor.js.map +1 -0
- package/dist/services/cost-tracker.d.ts +167 -0
- package/dist/services/cost-tracker.d.ts.map +1 -0
- package/dist/services/cost-tracker.js +199 -0
- package/dist/services/cost-tracker.js.map +1 -0
- package/dist/services/credential-store.d.ts +273 -0
- package/dist/services/credential-store.d.ts.map +1 -0
- package/dist/services/credential-store.js +877 -0
- package/dist/services/credential-store.js.map +1 -0
- package/dist/services/custom-command-service.d.ts +112 -0
- package/dist/services/custom-command-service.d.ts.map +1 -0
- package/dist/services/custom-command-service.js +464 -0
- package/dist/services/custom-command-service.js.map +1 -0
- package/dist/services/default-statusline-renderer.d.ts +60 -0
- package/dist/services/default-statusline-renderer.d.ts.map +1 -0
- package/dist/services/default-statusline-renderer.js +110 -0
- package/dist/services/default-statusline-renderer.js.map +1 -0
- package/dist/services/enhanced-context-gatherer.d.ts +116 -0
- package/dist/services/enhanced-context-gatherer.d.ts.map +1 -0
- package/dist/services/enhanced-context-gatherer.js +605 -0
- package/dist/services/enhanced-context-gatherer.js.map +1 -0
- package/dist/services/file-hash-tracker.d.ts +95 -0
- package/dist/services/file-hash-tracker.d.ts.map +1 -0
- package/dist/services/file-hash-tracker.js +199 -0
- package/dist/services/file-hash-tracker.js.map +1 -0
- package/dist/services/file-service.d.ts +274 -0
- package/dist/services/file-service.d.ts.map +1 -0
- package/dist/services/file-service.js +876 -0
- package/dist/services/file-service.js.map +1 -0
- package/dist/services/git-service.d.ts +536 -0
- package/dist/services/git-service.d.ts.map +1 -0
- package/dist/services/git-service.js +1215 -0
- package/dist/services/git-service.js.map +1 -0
- package/dist/services/hook-service.d.ts +148 -0
- package/dist/services/hook-service.d.ts.map +1 -0
- package/dist/services/hook-service.js +705 -0
- package/dist/services/hook-service.js.map +1 -0
- package/dist/services/ide-state-service.d.ts +114 -0
- package/dist/services/ide-state-service.d.ts.map +1 -0
- package/dist/services/ide-state-service.js +204 -0
- package/dist/services/ide-state-service.js.map +1 -0
- package/dist/services/interactive-clarifier.d.ts +90 -0
- package/dist/services/interactive-clarifier.d.ts.map +1 -0
- package/dist/services/interactive-clarifier.js +446 -0
- package/dist/services/interactive-clarifier.js.map +1 -0
- package/dist/services/iteration-scoper.d.ts +225 -0
- package/dist/services/iteration-scoper.d.ts.map +1 -0
- package/dist/services/iteration-scoper.js +387 -0
- package/dist/services/iteration-scoper.js.map +1 -0
- package/dist/services/llm-plan-generator.d.ts +44 -0
- package/dist/services/llm-plan-generator.d.ts.map +1 -0
- package/dist/services/llm-plan-generator.js +863 -0
- package/dist/services/llm-plan-generator.js.map +1 -0
- package/dist/services/llm-system-prompt-generator.d.ts +85 -0
- package/dist/services/llm-system-prompt-generator.d.ts.map +1 -0
- package/dist/services/llm-system-prompt-generator.js +257 -0
- package/dist/services/llm-system-prompt-generator.js.map +1 -0
- package/dist/services/log-interpreter.d.ts +190 -0
- package/dist/services/log-interpreter.d.ts.map +1 -0
- package/dist/services/log-interpreter.js +520 -0
- package/dist/services/log-interpreter.js.map +1 -0
- package/dist/services/mcp-config-manager.d.ts +141 -0
- package/dist/services/mcp-config-manager.d.ts.map +1 -0
- package/dist/services/mcp-config-manager.js +678 -0
- package/dist/services/mcp-config-manager.js.map +1 -0
- package/dist/services/mcp-oauth-service.d.ts +170 -0
- package/dist/services/mcp-oauth-service.d.ts.map +1 -0
- package/dist/services/mcp-oauth-service.js +892 -0
- package/dist/services/mcp-oauth-service.js.map +1 -0
- package/dist/services/mcp-plugin-support.d.ts +81 -0
- package/dist/services/mcp-plugin-support.d.ts.map +1 -0
- package/dist/services/mcp-plugin-support.js +305 -0
- package/dist/services/mcp-plugin-support.js.map +1 -0
- package/dist/services/mcp-server-manager.d.ts +134 -0
- package/dist/services/mcp-server-manager.d.ts.map +1 -0
- package/dist/services/mcp-server-manager.js +613 -0
- package/dist/services/mcp-server-manager.js.map +1 -0
- package/dist/services/mcp-tool-integration.d.ts +119 -0
- package/dist/services/mcp-tool-integration.d.ts.map +1 -0
- package/dist/services/mcp-tool-integration.js +381 -0
- package/dist/services/mcp-tool-integration.js.map +1 -0
- package/dist/services/mcp-transport.d.ts +105 -0
- package/dist/services/mcp-transport.d.ts.map +1 -0
- package/dist/services/mcp-transport.js +1316 -0
- package/dist/services/mcp-transport.js.map +1 -0
- package/dist/services/memory-service.d.ts +55 -0
- package/dist/services/memory-service.d.ts.map +1 -0
- package/dist/services/memory-service.js +251 -0
- package/dist/services/memory-service.js.map +1 -0
- package/dist/services/model-availability.d.ts +64 -0
- package/dist/services/model-availability.d.ts.map +1 -0
- package/dist/services/model-availability.js +114 -0
- package/dist/services/model-availability.js.map +1 -0
- package/dist/services/plan-generator.d.ts +98 -0
- package/dist/services/plan-generator.d.ts.map +1 -0
- package/dist/services/plan-generator.js +658 -0
- package/dist/services/plan-generator.js.map +1 -0
- package/dist/services/plan-mode-fallback.d.ts +80 -0
- package/dist/services/plan-mode-fallback.d.ts.map +1 -0
- package/dist/services/plan-mode-fallback.js +307 -0
- package/dist/services/plan-mode-fallback.js.map +1 -0
- package/dist/services/plan-mode-handler.d.ts +42 -0
- package/dist/services/plan-mode-handler.d.ts.map +1 -0
- package/dist/services/plan-mode-handler.js +388 -0
- package/dist/services/plan-mode-handler.js.map +1 -0
- package/dist/services/plan-persistence.d.ts +203 -0
- package/dist/services/plan-persistence.d.ts.map +1 -0
- package/dist/services/plan-persistence.js +538 -0
- package/dist/services/plan-persistence.js.map +1 -0
- package/dist/services/prompt-preprocessor.d.ts +73 -0
- package/dist/services/prompt-preprocessor.d.ts.map +1 -0
- package/dist/services/prompt-preprocessor.js +146 -0
- package/dist/services/prompt-preprocessor.js.map +1 -0
- package/dist/services/rating-service.d.ts +84 -0
- package/dist/services/rating-service.d.ts.map +1 -0
- package/dist/services/rating-service.js +171 -0
- package/dist/services/rating-service.js.map +1 -0
- package/dist/services/rating-state-manager.d.ts +131 -0
- package/dist/services/rating-state-manager.d.ts.map +1 -0
- package/dist/services/rating-state-manager.js +270 -0
- package/dist/services/rating-state-manager.js.map +1 -0
- package/dist/services/sdk-runner.d.ts +113 -0
- package/dist/services/sdk-runner.d.ts.map +1 -0
- package/dist/services/sdk-runner.js +1424 -0
- package/dist/services/sdk-runner.js.map +1 -0
- package/dist/services/session-manager.d.ts +528 -0
- package/dist/services/session-manager.d.ts.map +1 -0
- package/dist/services/session-manager.js +1184 -0
- package/dist/services/session-manager.js.map +1 -0
- package/dist/services/shell-executor.d.ts +337 -0
- package/dist/services/shell-executor.d.ts.map +1 -0
- package/dist/services/shell-executor.js +1201 -0
- package/dist/services/shell-executor.js.map +1 -0
- package/dist/services/skill-service.d.ts +149 -0
- package/dist/services/skill-service.d.ts.map +1 -0
- package/dist/services/skill-service.js +594 -0
- package/dist/services/skill-service.js.map +1 -0
- package/dist/services/statusline-executor.d.ts +102 -0
- package/dist/services/statusline-executor.d.ts.map +1 -0
- package/dist/services/statusline-executor.js +305 -0
- package/dist/services/statusline-executor.js.map +1 -0
- package/dist/services/step-tracker.d.ts +356 -0
- package/dist/services/step-tracker.d.ts.map +1 -0
- package/dist/services/step-tracker.js +634 -0
- package/dist/services/step-tracker.js.map +1 -0
- package/dist/services/system-event-logger.d.ts +473 -0
- package/dist/services/system-event-logger.d.ts.map +1 -0
- package/dist/services/system-event-logger.js +790 -0
- package/dist/services/system-event-logger.js.map +1 -0
- package/dist/services/system-utility-detector.d.ts +91 -0
- package/dist/services/system-utility-detector.d.ts.map +1 -0
- package/dist/services/system-utility-detector.js +238 -0
- package/dist/services/system-utility-detector.js.map +1 -0
- package/dist/services/team-context-store.d.ts +100 -0
- package/dist/services/team-context-store.d.ts.map +1 -0
- package/dist/services/team-context-store.js +513 -0
- package/dist/services/team-context-store.js.map +1 -0
- package/dist/services/temp-file-service.d.ts +164 -0
- package/dist/services/temp-file-service.d.ts.map +1 -0
- package/dist/services/temp-file-service.js +303 -0
- package/dist/services/temp-file-service.js.map +1 -0
- package/dist/services/token-limit-enforcer.d.ts +53 -0
- package/dist/services/token-limit-enforcer.d.ts.map +1 -0
- package/dist/services/token-limit-enforcer.js +90 -0
- package/dist/services/token-limit-enforcer.js.map +1 -0
- package/dist/services/token-limit-store.d.ts +105 -0
- package/dist/services/token-limit-store.d.ts.map +1 -0
- package/dist/services/token-limit-store.js +288 -0
- package/dist/services/token-limit-store.js.map +1 -0
- package/dist/services/token-tracker.d.ts +290 -0
- package/dist/services/token-tracker.d.ts.map +1 -0
- package/dist/services/token-tracker.js +751 -0
- package/dist/services/token-tracker.js.map +1 -0
- package/dist/services/tool-registry.d.ts +302 -0
- package/dist/services/tool-registry.d.ts.map +1 -0
- package/dist/services/tool-registry.js +606 -0
- package/dist/services/tool-registry.js.map +1 -0
- package/dist/services/tools-logger.d.ts +152 -0
- package/dist/services/tools-logger.d.ts.map +1 -0
- package/dist/services/tools-logger.js +222 -0
- package/dist/services/tools-logger.js.map +1 -0
- package/dist/services/update-plan-handler.d.ts +56 -0
- package/dist/services/update-plan-handler.d.ts.map +1 -0
- package/dist/services/update-plan-handler.js +372 -0
- package/dist/services/update-plan-handler.js.map +1 -0
- package/dist/services/update-service.d.ts +197 -0
- package/dist/services/update-service.d.ts.map +1 -0
- package/dist/services/update-service.js +749 -0
- package/dist/services/update-service.js.map +1 -0
- package/dist/services/verifier.d.ts +113 -0
- package/dist/services/verifier.d.ts.map +1 -0
- package/dist/services/verifier.js +541 -0
- package/dist/services/verifier.js.map +1 -0
- package/dist/services/workflow-manager.d.ts +277 -0
- package/dist/services/workflow-manager.d.ts.map +1 -0
- package/dist/services/workflow-manager.js +616 -0
- package/dist/services/workflow-manager.js.map +1 -0
- package/dist/services/workflow-orchestrator.d.ts +148 -0
- package/dist/services/workflow-orchestrator.d.ts.map +1 -0
- package/dist/services/workflow-orchestrator.js +617 -0
- package/dist/services/workflow-orchestrator.js.map +1 -0
- package/dist/services/worktree-manager.d.ts +36 -0
- package/dist/services/worktree-manager.d.ts.map +1 -0
- package/dist/services/worktree-manager.js +185 -0
- package/dist/services/worktree-manager.js.map +1 -0
- package/dist/templates/ascii-art.d.ts +136 -0
- package/dist/templates/ascii-art.d.ts.map +1 -0
- package/dist/templates/ascii-art.js +286 -0
- package/dist/templates/ascii-art.js.map +1 -0
- package/dist/templates/help.d.ts +186 -0
- package/dist/templates/help.d.ts.map +1 -0
- package/dist/templates/help.js +588 -0
- package/dist/templates/help.js.map +1 -0
- package/dist/templates/prompts/workflow-prompts.d.ts +9 -0
- package/dist/templates/prompts/workflow-prompts.d.ts.map +1 -0
- package/dist/templates/prompts/workflow-prompts.js +9 -0
- package/dist/templates/prompts/workflow-prompts.js.map +1 -0
- package/dist/tools/agent-tools.d.ts +9 -0
- package/dist/tools/agent-tools.d.ts.map +1 -0
- package/dist/tools/agent-tools.js +349 -0
- package/dist/tools/agent-tools.js.map +1 -0
- package/dist/tools/edit-replacers.d.ts +90 -0
- package/dist/tools/edit-replacers.d.ts.map +1 -0
- package/dist/tools/edit-replacers.js +553 -0
- package/dist/tools/edit-replacers.js.map +1 -0
- package/dist/tools/file-tools.d.ts +13 -0
- package/dist/tools/file-tools.d.ts.map +1 -0
- package/dist/tools/file-tools.js +954 -0
- package/dist/tools/file-tools.js.map +1 -0
- package/dist/tools/git-tools.d.ts +9 -0
- package/dist/tools/git-tools.d.ts.map +1 -0
- package/dist/tools/git-tools.js +261 -0
- package/dist/tools/git-tools.js.map +1 -0
- package/dist/tools/index.d.ts +13 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +70 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/network-tools.d.ts +8 -0
- package/dist/tools/network-tools.d.ts.map +1 -0
- package/dist/tools/network-tools.js +261 -0
- package/dist/tools/network-tools.js.map +1 -0
- package/dist/tools/openai-tools.d.ts +16 -0
- package/dist/tools/openai-tools.d.ts.map +1 -0
- package/dist/tools/openai-tools.js +385 -0
- package/dist/tools/openai-tools.js.map +1 -0
- package/dist/tools/plan-tools.d.ts +9 -0
- package/dist/tools/plan-tools.d.ts.map +1 -0
- package/dist/tools/plan-tools.js +223 -0
- package/dist/tools/plan-tools.js.map +1 -0
- package/dist/tools/schedule-tools.d.ts +9 -0
- package/dist/tools/schedule-tools.d.ts.map +1 -0
- package/dist/tools/schedule-tools.js +405 -0
- package/dist/tools/schedule-tools.js.map +1 -0
- package/dist/tools/search-tools.d.ts +8 -0
- package/dist/tools/search-tools.d.ts.map +1 -0
- package/dist/tools/search-tools.js +357 -0
- package/dist/tools/search-tools.js.map +1 -0
- package/dist/tools/shared-utils.d.ts +91 -0
- package/dist/tools/shared-utils.d.ts.map +1 -0
- package/dist/tools/shared-utils.js +385 -0
- package/dist/tools/shared-utils.js.map +1 -0
- package/dist/tools/shell-tools.d.ts +9 -0
- package/dist/tools/shell-tools.d.ts.map +1 -0
- package/dist/tools/shell-tools.js +409 -0
- package/dist/tools/shell-tools.js.map +1 -0
- package/dist/tools/skill-tools.d.ts +13 -0
- package/dist/tools/skill-tools.d.ts.map +1 -0
- package/dist/tools/skill-tools.js +244 -0
- package/dist/tools/skill-tools.js.map +1 -0
- package/dist/tools/swarm-tools.d.ts +9 -0
- package/dist/tools/swarm-tools.d.ts.map +1 -0
- package/dist/tools/swarm-tools.js +422 -0
- package/dist/tools/swarm-tools.js.map +1 -0
- package/dist/tools/user-tools.d.ts +13 -0
- package/dist/tools/user-tools.d.ts.map +1 -0
- package/dist/tools/user-tools.js +232 -0
- package/dist/tools/user-tools.js.map +1 -0
- package/dist/types/agent-process.d.ts +244 -0
- package/dist/types/agent-process.d.ts.map +1 -0
- package/dist/types/agent-process.js +93 -0
- package/dist/types/agent-process.js.map +1 -0
- package/dist/types/agent.d.ts +358 -0
- package/dist/types/agent.d.ts.map +1 -0
- package/dist/types/agent.js +171 -0
- package/dist/types/agent.js.map +1 -0
- package/dist/types/anthropic.d.ts +438 -0
- package/dist/types/anthropic.d.ts.map +1 -0
- package/dist/types/anthropic.js +9 -0
- package/dist/types/anthropic.js.map +1 -0
- package/dist/types/approval.d.ts +332 -0
- package/dist/types/approval.d.ts.map +1 -0
- package/dist/types/approval.js +44 -0
- package/dist/types/approval.js.map +1 -0
- package/dist/types/autocomplete.d.ts +57 -0
- package/dist/types/autocomplete.d.ts.map +1 -0
- package/dist/types/autocomplete.js +7 -0
- package/dist/types/autocomplete.js.map +1 -0
- package/dist/types/chat-archive.d.ts +161 -0
- package/dist/types/chat-archive.d.ts.map +1 -0
- package/dist/types/chat-archive.js +36 -0
- package/dist/types/chat-archive.js.map +1 -0
- package/dist/types/config.d.ts +268 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +188 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/consent.d.ts +191 -0
- package/dist/types/consent.d.ts.map +1 -0
- package/dist/types/consent.js +119 -0
- package/dist/types/consent.js.map +1 -0
- package/dist/types/custom-command.d.ts +139 -0
- package/dist/types/custom-command.d.ts.map +1 -0
- package/dist/types/custom-command.js +7 -0
- package/dist/types/custom-command.js.map +1 -0
- package/dist/types/git.d.ts +20 -0
- package/dist/types/git.d.ts.map +1 -0
- package/dist/types/git.js +2 -0
- package/dist/types/git.js.map +1 -0
- package/dist/types/hook.d.ts +342 -0
- package/dist/types/hook.d.ts.map +1 -0
- package/dist/types/hook.js +84 -0
- package/dist/types/hook.js.map +1 -0
- package/dist/types/index.d.ts +86 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +71 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/mcp.d.ts +456 -0
- package/dist/types/mcp.d.ts.map +1 -0
- package/dist/types/mcp.js +94 -0
- package/dist/types/mcp.js.map +1 -0
- package/dist/types/rating.d.ts +110 -0
- package/dist/types/rating.d.ts.map +1 -0
- package/dist/types/rating.js +53 -0
- package/dist/types/rating.js.map +1 -0
- package/dist/types/schedule.d.ts +91 -0
- package/dist/types/schedule.d.ts.map +1 -0
- package/dist/types/schedule.js +8 -0
- package/dist/types/schedule.js.map +1 -0
- package/dist/types/session.d.ts +361 -0
- package/dist/types/session.d.ts.map +1 -0
- package/dist/types/session.js +9 -0
- package/dist/types/session.js.map +1 -0
- package/dist/types/skill.d.ts +258 -0
- package/dist/types/skill.d.ts.map +1 -0
- package/dist/types/skill.js +79 -0
- package/dist/types/skill.js.map +1 -0
- package/dist/types/statusline.d.ts +212 -0
- package/dist/types/statusline.d.ts.map +1 -0
- package/dist/types/statusline.js +8 -0
- package/dist/types/statusline.js.map +1 -0
- package/dist/types/stream.d.ts +61 -0
- package/dist/types/stream.d.ts.map +1 -0
- package/dist/types/stream.js +17 -0
- package/dist/types/stream.js.map +1 -0
- package/dist/types/swarm.d.ts +132 -0
- package/dist/types/swarm.d.ts.map +1 -0
- package/dist/types/swarm.js +21 -0
- package/dist/types/swarm.js.map +1 -0
- package/dist/types/token-limits.d.ts +107 -0
- package/dist/types/token-limits.d.ts.map +1 -0
- package/dist/types/token-limits.js +57 -0
- package/dist/types/token-limits.js.map +1 -0
- package/dist/types/token.d.ts +329 -0
- package/dist/types/token.d.ts.map +1 -0
- package/dist/types/token.js +9 -0
- package/dist/types/token.js.map +1 -0
- package/dist/types/update.d.ts +189 -0
- package/dist/types/update.d.ts.map +1 -0
- package/dist/types/update.js +55 -0
- package/dist/types/update.js.map +1 -0
- package/dist/types/workflow.d.ts +396 -0
- package/dist/types/workflow.d.ts.map +1 -0
- package/dist/types/workflow.js +46 -0
- package/dist/types/workflow.js.map +1 -0
- package/dist/ui/App.d.ts +62 -0
- package/dist/ui/App.d.ts.map +1 -0
- package/dist/ui/App.js +511 -0
- package/dist/ui/App.js.map +1 -0
- package/dist/ui/InteractiveSession.d.ts +34 -0
- package/dist/ui/InteractiveSession.d.ts.map +1 -0
- package/dist/ui/InteractiveSession.js +3611 -0
- package/dist/ui/InteractiveSession.js.map +1 -0
- package/dist/ui/MCPApprovalPrompt.d.ts +27 -0
- package/dist/ui/MCPApprovalPrompt.d.ts.map +1 -0
- package/dist/ui/MCPApprovalPrompt.js +51 -0
- package/dist/ui/MCPApprovalPrompt.js.map +1 -0
- package/dist/ui/SetupWizard.d.ts +26 -0
- package/dist/ui/SetupWizard.d.ts.map +1 -0
- package/dist/ui/SetupWizard.js +396 -0
- package/dist/ui/SetupWizard.js.map +1 -0
- package/dist/ui/components/AgentCreationWizard.d.ts +36 -0
- package/dist/ui/components/AgentCreationWizard.d.ts.map +1 -0
- package/dist/ui/components/AgentCreationWizard.js +619 -0
- package/dist/ui/components/AgentCreationWizard.js.map +1 -0
- package/dist/ui/components/AgentManager.d.ts +41 -0
- package/dist/ui/components/AgentManager.d.ts.map +1 -0
- package/dist/ui/components/AgentManager.js +343 -0
- package/dist/ui/components/AgentManager.js.map +1 -0
- package/dist/ui/components/ApprovalDialog.d.ts +18 -0
- package/dist/ui/components/ApprovalDialog.d.ts.map +1 -0
- package/dist/ui/components/ApprovalDialog.js +439 -0
- package/dist/ui/components/ApprovalDialog.js.map +1 -0
- package/dist/ui/components/AsciiArt.d.ts +54 -0
- package/dist/ui/components/AsciiArt.d.ts.map +1 -0
- package/dist/ui/components/AsciiArt.js +89 -0
- package/dist/ui/components/AsciiArt.js.map +1 -0
- package/dist/ui/components/ClarificationWizard.d.ts +36 -0
- package/dist/ui/components/ClarificationWizard.d.ts.map +1 -0
- package/dist/ui/components/ClarificationWizard.js +407 -0
- package/dist/ui/components/ClarificationWizard.js.map +1 -0
- package/dist/ui/components/CompassSpinner.d.ts +15 -0
- package/dist/ui/components/CompassSpinner.d.ts.map +1 -0
- package/dist/ui/components/CompassSpinner.js +50 -0
- package/dist/ui/components/CompassSpinner.js.map +1 -0
- package/dist/ui/components/ConfirmationSelector.d.ts +45 -0
- package/dist/ui/components/ConfirmationSelector.d.ts.map +1 -0
- package/dist/ui/components/ConfirmationSelector.js +106 -0
- package/dist/ui/components/ConfirmationSelector.js.map +1 -0
- package/dist/ui/components/ContextUsage.d.ts +76 -0
- package/dist/ui/components/ContextUsage.d.ts.map +1 -0
- package/dist/ui/components/ContextUsage.js +188 -0
- package/dist/ui/components/ContextUsage.js.map +1 -0
- package/dist/ui/components/DiffPreview.d.ts +13 -0
- package/dist/ui/components/DiffPreview.d.ts.map +1 -0
- package/dist/ui/components/DiffPreview.js +30 -0
- package/dist/ui/components/DiffPreview.js.map +1 -0
- package/dist/ui/components/ExecutionModeSelector.d.ts +45 -0
- package/dist/ui/components/ExecutionModeSelector.d.ts.map +1 -0
- package/dist/ui/components/ExecutionModeSelector.js +120 -0
- package/dist/ui/components/ExecutionModeSelector.js.map +1 -0
- package/dist/ui/components/FileTree.d.ts +47 -0
- package/dist/ui/components/FileTree.d.ts.map +1 -0
- package/dist/ui/components/FileTree.js +258 -0
- package/dist/ui/components/FileTree.js.map +1 -0
- package/dist/ui/components/HelpMenu.d.ts +49 -0
- package/dist/ui/components/HelpMenu.d.ts.map +1 -0
- package/dist/ui/components/HelpMenu.js +91 -0
- package/dist/ui/components/HelpMenu.js.map +1 -0
- package/dist/ui/components/InterleavedStream.d.ts +42 -0
- package/dist/ui/components/InterleavedStream.d.ts.map +1 -0
- package/dist/ui/components/InterleavedStream.js +1500 -0
- package/dist/ui/components/InterleavedStream.js.map +1 -0
- package/dist/ui/components/ModelSelector.d.ts +81 -0
- package/dist/ui/components/ModelSelector.d.ts.map +1 -0
- package/dist/ui/components/ModelSelector.js +305 -0
- package/dist/ui/components/ModelSelector.js.map +1 -0
- package/dist/ui/components/PlanApprovalDialog.d.ts +21 -0
- package/dist/ui/components/PlanApprovalDialog.d.ts.map +1 -0
- package/dist/ui/components/PlanApprovalDialog.js +189 -0
- package/dist/ui/components/PlanApprovalDialog.js.map +1 -0
- package/dist/ui/components/PlanExecutionTracker.d.ts +53 -0
- package/dist/ui/components/PlanExecutionTracker.d.ts.map +1 -0
- package/dist/ui/components/PlanExecutionTracker.js +113 -0
- package/dist/ui/components/PlanExecutionTracker.js.map +1 -0
- package/dist/ui/components/ProgressIndicator.d.ts +151 -0
- package/dist/ui/components/ProgressIndicator.d.ts.map +1 -0
- package/dist/ui/components/ProgressIndicator.js +171 -0
- package/dist/ui/components/ProgressIndicator.js.map +1 -0
- package/dist/ui/components/Prompt.d.ts +47 -0
- package/dist/ui/components/Prompt.d.ts.map +1 -0
- package/dist/ui/components/Prompt.js +632 -0
- package/dist/ui/components/Prompt.js.map +1 -0
- package/dist/ui/components/RatingPanel.d.ts +45 -0
- package/dist/ui/components/RatingPanel.d.ts.map +1 -0
- package/dist/ui/components/RatingPanel.js +119 -0
- package/dist/ui/components/RatingPanel.js.map +1 -0
- package/dist/ui/components/StatusLine.d.ts +43 -0
- package/dist/ui/components/StatusLine.d.ts.map +1 -0
- package/dist/ui/components/StatusLine.js +44 -0
- package/dist/ui/components/StatusLine.js.map +1 -0
- package/dist/ui/components/StreamingResponse.d.ts +45 -0
- package/dist/ui/components/StreamingResponse.d.ts.map +1 -0
- package/dist/ui/components/StreamingResponse.js +56 -0
- package/dist/ui/components/StreamingResponse.js.map +1 -0
- package/dist/ui/components/TokenUsage.d.ts +89 -0
- package/dist/ui/components/TokenUsage.d.ts.map +1 -0
- package/dist/ui/components/TokenUsage.js +99 -0
- package/dist/ui/components/TokenUsage.js.map +1 -0
- package/dist/ui/components/ToolSummary.d.ts +77 -0
- package/dist/ui/components/ToolSummary.d.ts.map +1 -0
- package/dist/ui/components/ToolSummary.js +162 -0
- package/dist/ui/components/ToolSummary.js.map +1 -0
- package/dist/ui/components/UpdateNotification.d.ts +65 -0
- package/dist/ui/components/UpdateNotification.d.ts.map +1 -0
- package/dist/ui/components/UpdateNotification.js +166 -0
- package/dist/ui/components/UpdateNotification.js.map +1 -0
- package/dist/ui/diff-renderer.d.ts +18 -0
- package/dist/ui/diff-renderer.d.ts.map +1 -0
- package/dist/ui/diff-renderer.js +206 -0
- package/dist/ui/diff-renderer.js.map +1 -0
- package/dist/ui/themes/markdown-theme.d.ts +48 -0
- package/dist/ui/themes/markdown-theme.d.ts.map +1 -0
- package/dist/ui/themes/markdown-theme.js +79 -0
- package/dist/ui/themes/markdown-theme.js.map +1 -0
- package/dist/ui/themes/ui-theme.d.ts +301 -0
- package/dist/ui/themes/ui-theme.d.ts.map +1 -0
- package/dist/ui/themes/ui-theme.js +204 -0
- package/dist/ui/themes/ui-theme.js.map +1 -0
- package/dist/utils/attachment-handler.d.ts +129 -0
- package/dist/utils/attachment-handler.d.ts.map +1 -0
- package/dist/utils/attachment-handler.js +280 -0
- package/dist/utils/attachment-handler.js.map +1 -0
- package/dist/utils/backup-cleanup.d.ts +28 -0
- package/dist/utils/backup-cleanup.d.ts.map +1 -0
- package/dist/utils/backup-cleanup.js +99 -0
- package/dist/utils/backup-cleanup.js.map +1 -0
- package/dist/utils/clipboard-handler.d.ts +82 -0
- package/dist/utils/clipboard-handler.d.ts.map +1 -0
- package/dist/utils/clipboard-handler.js +311 -0
- package/dist/utils/clipboard-handler.js.map +1 -0
- package/dist/utils/cloud-detection.d.ts +14 -0
- package/dist/utils/cloud-detection.d.ts.map +1 -0
- package/dist/utils/cloud-detection.js +92 -0
- package/dist/utils/cloud-detection.js.map +1 -0
- package/dist/utils/command-parser.d.ts +56 -0
- package/dist/utils/command-parser.d.ts.map +1 -0
- package/dist/utils/command-parser.js +206 -0
- package/dist/utils/command-parser.js.map +1 -0
- package/dist/utils/console-capture.d.ts +30 -0
- package/dist/utils/console-capture.d.ts.map +1 -0
- package/dist/utils/console-capture.js +88 -0
- package/dist/utils/console-capture.js.map +1 -0
- package/dist/utils/cron-parser.d.ts +52 -0
- package/dist/utils/cron-parser.d.ts.map +1 -0
- package/dist/utils/cron-parser.js +455 -0
- package/dist/utils/cron-parser.js.map +1 -0
- package/dist/utils/crypto.d.ts +351 -0
- package/dist/utils/crypto.d.ts.map +1 -0
- package/dist/utils/crypto.js +615 -0
- package/dist/utils/crypto.js.map +1 -0
- package/dist/utils/diff.d.ts +311 -0
- package/dist/utils/diff.d.ts.map +1 -0
- package/dist/utils/diff.js +566 -0
- package/dist/utils/diff.js.map +1 -0
- package/dist/utils/editor.d.ts +12 -0
- package/dist/utils/editor.d.ts.map +1 -0
- package/dist/utils/editor.js +30 -0
- package/dist/utils/editor.js.map +1 -0
- package/dist/utils/file-system.d.ts +512 -0
- package/dist/utils/file-system.d.ts.map +1 -0
- package/dist/utils/file-system.js +798 -0
- package/dist/utils/file-system.js.map +1 -0
- package/dist/utils/format.d.ts +318 -0
- package/dist/utils/format.d.ts.map +1 -0
- package/dist/utils/format.js +587 -0
- package/dist/utils/format.js.map +1 -0
- package/dist/utils/ignore-patterns.d.ts +93 -0
- package/dist/utils/ignore-patterns.d.ts.map +1 -0
- package/dist/utils/ignore-patterns.js +710 -0
- package/dist/utils/ignore-patterns.js.map +1 -0
- package/dist/utils/log-cleanup.d.ts +16 -0
- package/dist/utils/log-cleanup.d.ts.map +1 -0
- package/dist/utils/log-cleanup.js +51 -0
- package/dist/utils/log-cleanup.js.map +1 -0
- package/dist/utils/logger.d.ts +305 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +447 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/path.d.ts +406 -0
- package/dist/utils/path.d.ts.map +1 -0
- package/dist/utils/path.js +549 -0
- package/dist/utils/path.js.map +1 -0
- package/dist/utils/schedule-file.d.ts +63 -0
- package/dist/utils/schedule-file.d.ts.map +1 -0
- package/dist/utils/schedule-file.js +244 -0
- package/dist/utils/schedule-file.js.map +1 -0
- package/dist/utils/task-id.d.ts +29 -0
- package/dist/utils/task-id.d.ts.map +1 -0
- package/dist/utils/task-id.js +53 -0
- package/dist/utils/task-id.js.map +1 -0
- package/dist/utils/temp-cleanup.d.ts +46 -0
- package/dist/utils/temp-cleanup.d.ts.map +1 -0
- package/dist/utils/temp-cleanup.js +95 -0
- package/dist/utils/temp-cleanup.js.map +1 -0
- package/dist/utils/terminal-output.d.ts +34 -0
- package/dist/utils/terminal-output.d.ts.map +1 -0
- package/dist/utils/terminal-output.js +40 -0
- package/dist/utils/terminal-output.js.map +1 -0
- package/dist/utils/token-counter.d.ts +224 -0
- package/dist/utils/token-counter.d.ts.map +1 -0
- package/dist/utils/token-counter.js +332 -0
- package/dist/utils/token-counter.js.map +1 -0
- package/dist/utils/tool-mapper.d.ts +70 -0
- package/dist/utils/tool-mapper.d.ts.map +1 -0
- package/dist/utils/tool-mapper.js +234 -0
- package/dist/utils/tool-mapper.js.map +1 -0
- package/package.json +2 -1
- package/scripts/preuninstall.mjs +99 -0
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ACP Mode Configurations - Defines behavior for Default, Code, and Plan modes.
|
|
3
|
+
*
|
|
4
|
+
* Maps ACP protocol modes to CLI behavior settings including:
|
|
5
|
+
* - System prompt additions
|
|
6
|
+
* - Approval settings
|
|
7
|
+
* - Execution mode preferences
|
|
8
|
+
*/
|
|
9
|
+
import { logger } from '../utils/logger.js';
|
|
10
|
+
const log = logger.child('ACPModes');
|
|
11
|
+
/**
|
|
12
|
+
* Default mode configuration.
|
|
13
|
+
* Standard assistant behavior with smart approval.
|
|
14
|
+
*/
|
|
15
|
+
const DEFAULT_MODE = {
|
|
16
|
+
id: 'default',
|
|
17
|
+
name: 'Default',
|
|
18
|
+
description: 'Standard assistant mode with balanced behavior',
|
|
19
|
+
autoApprove: true,
|
|
20
|
+
forcePlanMode: false,
|
|
21
|
+
preferDirectExecution: false,
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Code mode configuration.
|
|
25
|
+
* Optimized for coding tasks with more permissive operations.
|
|
26
|
+
*/
|
|
27
|
+
const CODE_MODE = {
|
|
28
|
+
id: 'code',
|
|
29
|
+
name: 'Code',
|
|
30
|
+
description: 'Code-focused mode with streamlined file operations',
|
|
31
|
+
systemPromptAddition: `
|
|
32
|
+
## Code Mode Active
|
|
33
|
+
|
|
34
|
+
You are in CODE MODE - optimized for software development tasks:
|
|
35
|
+
|
|
36
|
+
1. **Prioritize Action**: When the user asks for code changes, implement them directly rather than just explaining.
|
|
37
|
+
|
|
38
|
+
2. **File Operations**: You have streamlined permissions for file operations. Create, edit, and organize files efficiently.
|
|
39
|
+
|
|
40
|
+
3. **Best Practices**: Apply coding best practices automatically:
|
|
41
|
+
- Follow existing code style and patterns in the project
|
|
42
|
+
- Add appropriate error handling
|
|
43
|
+
- Write clean, maintainable code
|
|
44
|
+
- Include necessary imports
|
|
45
|
+
|
|
46
|
+
4. **Testing Awareness**: When making changes, consider if tests need to be updated or added.
|
|
47
|
+
|
|
48
|
+
5. **Concise Communication**: Keep explanations brief. Show code, not lengthy descriptions.
|
|
49
|
+
`,
|
|
50
|
+
autoApprove: true,
|
|
51
|
+
forcePlanMode: false,
|
|
52
|
+
preferDirectExecution: true,
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Plan mode configuration.
|
|
56
|
+
* Requires detailed implementation plans before execution.
|
|
57
|
+
*/
|
|
58
|
+
const PLAN_MODE = {
|
|
59
|
+
id: 'plan',
|
|
60
|
+
name: 'Plan',
|
|
61
|
+
description: 'Planning mode - creates detailed plans before implementing',
|
|
62
|
+
systemPromptAddition: `
|
|
63
|
+
## Plan Mode Active - MANDATORY enter_plan_mode Tool Usage
|
|
64
|
+
|
|
65
|
+
You are in PLAN MODE. The user has explicitly chosen this mode because they want to review and approve all changes before implementation.
|
|
66
|
+
|
|
67
|
+
**YOUR FIRST ACTION MUST BE**: Call the \`enter_plan_mode\` tool immediately when given any task involving code or file changes.
|
|
68
|
+
|
|
69
|
+
### Required Workflow
|
|
70
|
+
1. **IMMEDIATELY** call \`enter_plan_mode\` with a task summary
|
|
71
|
+
2. **WAIT** for the plan to be generated and approved
|
|
72
|
+
3. **EXECUTE** tasks one at a time after approval
|
|
73
|
+
4. **REPORT** progress using \`complete_plan_task\` after each task
|
|
74
|
+
5. **ADAPT** using \`update_plan\` if changes are needed
|
|
75
|
+
|
|
76
|
+
### Plan Structure (handled by the tool)
|
|
77
|
+
The \`enter_plan_mode\` tool will generate a structured plan including:
|
|
78
|
+
- Overview of the approach
|
|
79
|
+
- Step-by-step tasks with clear descriptions
|
|
80
|
+
- Files that will be created or modified
|
|
81
|
+
- Potential risks or considerations
|
|
82
|
+
|
|
83
|
+
### Important Reminders
|
|
84
|
+
- Do NOT skip the tool call even for "simple" tasks
|
|
85
|
+
- Do NOT use edit_file/write_file before plan approval
|
|
86
|
+
- Do NOT just describe a plan in text - USE THE TOOL
|
|
87
|
+
`,
|
|
88
|
+
autoApprove: true,
|
|
89
|
+
forcePlanMode: true,
|
|
90
|
+
preferDirectExecution: false,
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Map of all available modes.
|
|
94
|
+
*/
|
|
95
|
+
const MODES = {
|
|
96
|
+
default: DEFAULT_MODE,
|
|
97
|
+
code: CODE_MODE,
|
|
98
|
+
plan: PLAN_MODE,
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* Gets the configuration for a specific mode.
|
|
102
|
+
*
|
|
103
|
+
* @param modeId - The mode identifier
|
|
104
|
+
* @returns The mode configuration, or default if not found
|
|
105
|
+
*/
|
|
106
|
+
export function getModeConfig(modeId) {
|
|
107
|
+
const config = MODES[modeId];
|
|
108
|
+
if (!config) {
|
|
109
|
+
log.warn('Unknown mode, falling back to default', { modeId });
|
|
110
|
+
return DEFAULT_MODE;
|
|
111
|
+
}
|
|
112
|
+
return config;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Gets all available mode configurations for ACP.
|
|
116
|
+
*
|
|
117
|
+
* @returns Array of mode configs with id, name, and description
|
|
118
|
+
*/
|
|
119
|
+
export function getAvailableModes() {
|
|
120
|
+
return Object.values(MODES).map(mode => ({
|
|
121
|
+
id: mode.id,
|
|
122
|
+
name: mode.name,
|
|
123
|
+
description: mode.description,
|
|
124
|
+
}));
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Checks if a mode ID is valid.
|
|
128
|
+
*
|
|
129
|
+
* @param modeId - The mode identifier to check
|
|
130
|
+
* @returns True if the mode exists
|
|
131
|
+
*/
|
|
132
|
+
export function isValidMode(modeId) {
|
|
133
|
+
return modeId in MODES;
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=modes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modes.js","sourceRoot":"","sources":["../../src/acp/modes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AA2BrC;;;GAGG;AACH,MAAM,YAAY,GAAkB;IAClC,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,gDAAgD;IAC7D,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE,KAAK;IACpB,qBAAqB,EAAE,KAAK;CAC7B,CAAC;AAEF;;;GAGG;AACH,MAAM,SAAS,GAAkB;IAC/B,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,oDAAoD;IACjE,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;CAkBvB;IACC,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE,KAAK;IACpB,qBAAqB,EAAE,IAAI;CAC5B,CAAC;AAEF;;;GAGG;AACH,MAAM,SAAS,GAAkB;IAC/B,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,4DAA4D;IACzE,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;CAyBvB;IACC,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE,IAAI;IACnB,qBAAqB,EAAE,KAAK;CAC7B,CAAC;AAEF;;GAEG;AACH,MAAM,KAAK,GAAqC;IAC9C,OAAO,EAAE,YAAY;IACrB,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;CAChB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAmB,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,GAAG,CAAC,IAAI,CAAC,uCAAuC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9D,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvC,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,OAAO,MAAM,IAAI,KAAK,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ACP Session Manager with hybrid storage (memory + periodic snapshots).
|
|
3
|
+
*
|
|
4
|
+
* Manages the lifecycle of ACP sessions including creation, loading,
|
|
5
|
+
* state management, and persistence to disk.
|
|
6
|
+
*/
|
|
7
|
+
import type { ACPSessionState, ACPModelConfig, ACPMCPServer, ACPMessage } from './types.js';
|
|
8
|
+
/**
|
|
9
|
+
* ACP Session Manager class.
|
|
10
|
+
* Provides hybrid storage with in-memory caching and periodic disk snapshots.
|
|
11
|
+
*/
|
|
12
|
+
export declare class ACPSessionManager {
|
|
13
|
+
/** In-memory session storage */
|
|
14
|
+
private sessions;
|
|
15
|
+
/** Snapshot timers for each session */
|
|
16
|
+
private snapshotTimers;
|
|
17
|
+
/** Base directory for session persistence */
|
|
18
|
+
private baseDir;
|
|
19
|
+
/** Snapshot interval in milliseconds (default: 60 seconds) */
|
|
20
|
+
private snapshotInterval;
|
|
21
|
+
/**
|
|
22
|
+
* Creates a new ACPSessionManager instance.
|
|
23
|
+
*
|
|
24
|
+
* @param options - Configuration options
|
|
25
|
+
*/
|
|
26
|
+
constructor(options?: {
|
|
27
|
+
baseDir?: string;
|
|
28
|
+
snapshotInterval?: number;
|
|
29
|
+
});
|
|
30
|
+
/**
|
|
31
|
+
* Creates a new ACP session.
|
|
32
|
+
*
|
|
33
|
+
* @param workingDir - Working directory for the session
|
|
34
|
+
* @param model - Model configuration
|
|
35
|
+
* @param mcpServers - Optional MCP server configurations
|
|
36
|
+
* @returns The created session state
|
|
37
|
+
*/
|
|
38
|
+
create(workingDir: string, model: ACPModelConfig, mcpServers?: ACPMCPServer[]): Promise<ACPSessionState>;
|
|
39
|
+
/**
|
|
40
|
+
* Loads an existing session from disk or memory.
|
|
41
|
+
*
|
|
42
|
+
* @param sessionId - Session identifier
|
|
43
|
+
* @param workingDir - Working directory (for validation)
|
|
44
|
+
* @param mcpServers - Optional MCP servers to attach
|
|
45
|
+
* @param model - Optional model configuration override
|
|
46
|
+
* @returns The loaded session state
|
|
47
|
+
*/
|
|
48
|
+
load(sessionId: string, _workingDir: string, mcpServers?: ACPMCPServer[], model?: ACPModelConfig): Promise<ACPSessionState>;
|
|
49
|
+
/**
|
|
50
|
+
* Gets a session by ID. Throws if not found.
|
|
51
|
+
*
|
|
52
|
+
* @param sessionId - Session identifier
|
|
53
|
+
* @returns The session state
|
|
54
|
+
* @throws Error if session not found
|
|
55
|
+
*/
|
|
56
|
+
get(sessionId: string): ACPSessionState;
|
|
57
|
+
/**
|
|
58
|
+
* Tries to get a session by ID.
|
|
59
|
+
*
|
|
60
|
+
* @param sessionId - Session identifier
|
|
61
|
+
* @returns The session state or undefined
|
|
62
|
+
*/
|
|
63
|
+
tryGet(sessionId: string): ACPSessionState | undefined;
|
|
64
|
+
/**
|
|
65
|
+
* Gets the model configuration for a session.
|
|
66
|
+
*
|
|
67
|
+
* @param sessionId - Session identifier
|
|
68
|
+
* @returns The model configuration
|
|
69
|
+
*/
|
|
70
|
+
getModel(sessionId: string): ACPModelConfig;
|
|
71
|
+
/**
|
|
72
|
+
* Sets the model configuration for a session.
|
|
73
|
+
*
|
|
74
|
+
* @param sessionId - Session identifier
|
|
75
|
+
* @param model - New model configuration
|
|
76
|
+
* @returns The updated session state
|
|
77
|
+
*/
|
|
78
|
+
setModel(sessionId: string, model: ACPModelConfig): ACPSessionState;
|
|
79
|
+
/**
|
|
80
|
+
* Sets the mode/agent for a session.
|
|
81
|
+
*
|
|
82
|
+
* @param sessionId - Session identifier
|
|
83
|
+
* @param modeId - New mode/agent identifier
|
|
84
|
+
* @returns The updated session state
|
|
85
|
+
*/
|
|
86
|
+
setMode(sessionId: string, modeId: string): ACPSessionState;
|
|
87
|
+
/**
|
|
88
|
+
* Updates the last activity timestamp for a session.
|
|
89
|
+
*
|
|
90
|
+
* @param sessionId - Session identifier
|
|
91
|
+
*/
|
|
92
|
+
touch(sessionId: string): void;
|
|
93
|
+
/**
|
|
94
|
+
* Adds a message to the session's conversation history.
|
|
95
|
+
*
|
|
96
|
+
* @param sessionId - Session identifier
|
|
97
|
+
* @param message - Message to add
|
|
98
|
+
*/
|
|
99
|
+
addMessage(sessionId: string, message: ACPMessage): void;
|
|
100
|
+
/**
|
|
101
|
+
* Gets the conversation history for a session.
|
|
102
|
+
*
|
|
103
|
+
* @param sessionId - Session identifier
|
|
104
|
+
* @returns Array of messages
|
|
105
|
+
*/
|
|
106
|
+
getMessages(sessionId: string): ACPMessage[];
|
|
107
|
+
/**
|
|
108
|
+
* Lists all sessions, optionally filtered by working directory.
|
|
109
|
+
*
|
|
110
|
+
* @param workingDir - Optional working directory filter
|
|
111
|
+
* @returns Array of session states
|
|
112
|
+
*/
|
|
113
|
+
list(workingDir?: string): Promise<ACPSessionState[]>;
|
|
114
|
+
/**
|
|
115
|
+
* Creates a fork of an existing session.
|
|
116
|
+
*
|
|
117
|
+
* @param sessionId - Session to fork
|
|
118
|
+
* @param workingDir - Working directory for the forked session
|
|
119
|
+
* @param mcpServers - Optional MCP servers for the fork
|
|
120
|
+
* @returns The forked session state
|
|
121
|
+
*/
|
|
122
|
+
fork(sessionId: string, workingDir: string, mcpServers?: ACPMCPServer[]): Promise<ACPSessionState>;
|
|
123
|
+
/**
|
|
124
|
+
* Saves a snapshot of a session to disk.
|
|
125
|
+
*
|
|
126
|
+
* @param sessionId - Session identifier
|
|
127
|
+
*/
|
|
128
|
+
snapshot(sessionId: string): Promise<void>;
|
|
129
|
+
/**
|
|
130
|
+
* Disposes of a session, saving final state and cleaning up resources.
|
|
131
|
+
*
|
|
132
|
+
* @param sessionId - Session identifier
|
|
133
|
+
*/
|
|
134
|
+
dispose(sessionId: string): Promise<void>;
|
|
135
|
+
/**
|
|
136
|
+
* Deletes a session from memory and disk.
|
|
137
|
+
*
|
|
138
|
+
* @param sessionId - Session identifier
|
|
139
|
+
*/
|
|
140
|
+
delete(sessionId: string): Promise<void>;
|
|
141
|
+
/**
|
|
142
|
+
* Gracefully shuts down all sessions.
|
|
143
|
+
*/
|
|
144
|
+
shutdown(): Promise<void>;
|
|
145
|
+
/**
|
|
146
|
+
* Schedules periodic snapshots for a session.
|
|
147
|
+
*/
|
|
148
|
+
private scheduleSnapshot;
|
|
149
|
+
/**
|
|
150
|
+
* Clears the snapshot timer for a session.
|
|
151
|
+
*/
|
|
152
|
+
private clearSnapshot;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Gets the singleton ACPSessionManager instance.
|
|
156
|
+
*
|
|
157
|
+
* @returns The ACPSessionManager instance
|
|
158
|
+
*/
|
|
159
|
+
export declare function getACPSessionManager(): ACPSessionManager;
|
|
160
|
+
/**
|
|
161
|
+
* Creates a new ACPSessionManager instance.
|
|
162
|
+
*
|
|
163
|
+
* @param options - Configuration options
|
|
164
|
+
* @returns A new ACPSessionManager instance
|
|
165
|
+
*/
|
|
166
|
+
export declare function createACPSessionManager(options?: {
|
|
167
|
+
baseDir?: string;
|
|
168
|
+
snapshotInterval?: number;
|
|
169
|
+
}): ACPSessionManager;
|
|
170
|
+
//# sourceMappingURL=session-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/acp/session-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,YAAY,EACZ,UAAU,EACX,MAAM,YAAY,CAAC;AAIpB;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,gCAAgC;IAChC,OAAO,CAAC,QAAQ,CAAsC;IAEtD,uCAAuC;IACvC,OAAO,CAAC,cAAc,CAAqC;IAE3D,6CAA6C;IAC7C,OAAO,CAAC,OAAO,CAAS;IAExB,8DAA8D;IAC9D,OAAO,CAAC,gBAAgB,CAAS;IAEjC;;;;OAIG;gBACS,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE;IAKrE;;;;;;;OAOG;IACG,MAAM,CACV,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,cAAc,EACrB,UAAU,GAAE,YAAY,EAAO,GAC9B,OAAO,CAAC,eAAe,CAAC;IA2B3B;;;;;;;;OAQG;IACG,IAAI,CACR,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,YAAY,EAAO,EAC/B,KAAK,CAAC,EAAE,cAAc,GACrB,OAAO,CAAC,eAAe,CAAC;IA0C3B;;;;;;OAMG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe;IASvC;;;;;OAKG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAItD;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc;IAI3C;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,eAAe;IASnE;;;;;;OAMG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe;IAS3D;;;;OAIG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAO9B;;;;;OAKG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IASxD;;;;;OAKG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE;IAK5C;;;;;OAKG;IACG,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAgD3D;;;;;;;OAOG;IACG,IAAI,CACR,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,YAAY,EAAO,GAC9B,OAAO,CAAC,eAAe,CAAC;IA0B3B;;;;OAIG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBhD;;;;OAIG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C;;;;OAIG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY9C;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAS/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;OAEG;IACH,OAAO,CAAC,aAAa;CAOtB;AAKD;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,iBAAiB,CAKxD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,iBAAiB,CAEpB"}
|
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ACP Session Manager with hybrid storage (memory + periodic snapshots).
|
|
3
|
+
*
|
|
4
|
+
* Manages the lifecycle of ACP sessions including creation, loading,
|
|
5
|
+
* state management, and persistence to disk.
|
|
6
|
+
*/
|
|
7
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
8
|
+
import path from 'path';
|
|
9
|
+
import os from 'os';
|
|
10
|
+
import fs from 'fs-extra';
|
|
11
|
+
import { logger } from '../utils/logger.js';
|
|
12
|
+
const log = logger.child('ACPSessionManager');
|
|
13
|
+
/**
|
|
14
|
+
* ACP Session Manager class.
|
|
15
|
+
* Provides hybrid storage with in-memory caching and periodic disk snapshots.
|
|
16
|
+
*/
|
|
17
|
+
export class ACPSessionManager {
|
|
18
|
+
/** In-memory session storage */
|
|
19
|
+
sessions = new Map();
|
|
20
|
+
/** Snapshot timers for each session */
|
|
21
|
+
snapshotTimers = new Map();
|
|
22
|
+
/** Base directory for session persistence */
|
|
23
|
+
baseDir;
|
|
24
|
+
/** Snapshot interval in milliseconds (default: 60 seconds) */
|
|
25
|
+
snapshotInterval;
|
|
26
|
+
/**
|
|
27
|
+
* Creates a new ACPSessionManager instance.
|
|
28
|
+
*
|
|
29
|
+
* @param options - Configuration options
|
|
30
|
+
*/
|
|
31
|
+
constructor(options) {
|
|
32
|
+
this.baseDir = options?.baseDir ?? path.join(os.homedir(), '.compass', 'acp-sessions');
|
|
33
|
+
this.snapshotInterval = options?.snapshotInterval ?? 60000;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Creates a new ACP session.
|
|
37
|
+
*
|
|
38
|
+
* @param workingDir - Working directory for the session
|
|
39
|
+
* @param model - Model configuration
|
|
40
|
+
* @param mcpServers - Optional MCP server configurations
|
|
41
|
+
* @returns The created session state
|
|
42
|
+
*/
|
|
43
|
+
async create(workingDir, model, mcpServers = []) {
|
|
44
|
+
const session = {
|
|
45
|
+
id: uuidv4(),
|
|
46
|
+
workingDir,
|
|
47
|
+
model,
|
|
48
|
+
mcpServers,
|
|
49
|
+
modeId: 'default',
|
|
50
|
+
createdAt: new Date(),
|
|
51
|
+
lastActivity: new Date(),
|
|
52
|
+
conversationHistory: [],
|
|
53
|
+
metadata: {},
|
|
54
|
+
};
|
|
55
|
+
log.info('Creating ACP session', { sessionId: session.id, workingDir });
|
|
56
|
+
// Store in memory
|
|
57
|
+
this.sessions.set(session.id, session);
|
|
58
|
+
// Initial snapshot
|
|
59
|
+
await this.snapshot(session.id);
|
|
60
|
+
// Schedule periodic snapshots
|
|
61
|
+
this.scheduleSnapshot(session.id);
|
|
62
|
+
return session;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Loads an existing session from disk or memory.
|
|
66
|
+
*
|
|
67
|
+
* @param sessionId - Session identifier
|
|
68
|
+
* @param workingDir - Working directory (for validation)
|
|
69
|
+
* @param mcpServers - Optional MCP servers to attach
|
|
70
|
+
* @param model - Optional model configuration override
|
|
71
|
+
* @returns The loaded session state
|
|
72
|
+
*/
|
|
73
|
+
async load(sessionId, _workingDir, mcpServers = [], model) {
|
|
74
|
+
// Try memory first (workingDir used for validation in future)
|
|
75
|
+
if (this.sessions.has(sessionId)) {
|
|
76
|
+
const session = this.sessions.get(sessionId);
|
|
77
|
+
session.lastActivity = new Date();
|
|
78
|
+
if (mcpServers.length > 0) {
|
|
79
|
+
session.mcpServers = mcpServers;
|
|
80
|
+
}
|
|
81
|
+
if (model) {
|
|
82
|
+
session.model = model;
|
|
83
|
+
}
|
|
84
|
+
log.info('Loaded ACP session from memory', { sessionId });
|
|
85
|
+
return session;
|
|
86
|
+
}
|
|
87
|
+
// Fall back to disk
|
|
88
|
+
const sessionFile = path.join(this.baseDir, `${sessionId}.json`);
|
|
89
|
+
if (!(await fs.pathExists(sessionFile))) {
|
|
90
|
+
throw new Error(`Session not found: ${sessionId}`);
|
|
91
|
+
}
|
|
92
|
+
const data = await fs.readFile(sessionFile, 'utf-8');
|
|
93
|
+
const sessionData = JSON.parse(data);
|
|
94
|
+
const session = {
|
|
95
|
+
...sessionData,
|
|
96
|
+
createdAt: new Date(sessionData.createdAt),
|
|
97
|
+
lastActivity: new Date(),
|
|
98
|
+
mcpServers: mcpServers.length > 0 ? mcpServers : sessionData.mcpServers || [],
|
|
99
|
+
model: model || sessionData.model,
|
|
100
|
+
};
|
|
101
|
+
log.info('Loaded ACP session from disk', { sessionId });
|
|
102
|
+
// Load into memory
|
|
103
|
+
this.sessions.set(sessionId, session);
|
|
104
|
+
this.scheduleSnapshot(sessionId);
|
|
105
|
+
return session;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Gets a session by ID. Throws if not found.
|
|
109
|
+
*
|
|
110
|
+
* @param sessionId - Session identifier
|
|
111
|
+
* @returns The session state
|
|
112
|
+
* @throws Error if session not found
|
|
113
|
+
*/
|
|
114
|
+
get(sessionId) {
|
|
115
|
+
const session = this.sessions.get(sessionId);
|
|
116
|
+
if (!session) {
|
|
117
|
+
log.error('Session not found', { sessionId });
|
|
118
|
+
throw new Error(`Session not found: ${sessionId}`);
|
|
119
|
+
}
|
|
120
|
+
return session;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Tries to get a session by ID.
|
|
124
|
+
*
|
|
125
|
+
* @param sessionId - Session identifier
|
|
126
|
+
* @returns The session state or undefined
|
|
127
|
+
*/
|
|
128
|
+
tryGet(sessionId) {
|
|
129
|
+
return this.sessions.get(sessionId);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Gets the model configuration for a session.
|
|
133
|
+
*
|
|
134
|
+
* @param sessionId - Session identifier
|
|
135
|
+
* @returns The model configuration
|
|
136
|
+
*/
|
|
137
|
+
getModel(sessionId) {
|
|
138
|
+
return this.get(sessionId).model;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Sets the model configuration for a session.
|
|
142
|
+
*
|
|
143
|
+
* @param sessionId - Session identifier
|
|
144
|
+
* @param model - New model configuration
|
|
145
|
+
* @returns The updated session state
|
|
146
|
+
*/
|
|
147
|
+
setModel(sessionId, model) {
|
|
148
|
+
const session = this.get(sessionId);
|
|
149
|
+
session.model = model;
|
|
150
|
+
session.lastActivity = new Date();
|
|
151
|
+
this.sessions.set(sessionId, session);
|
|
152
|
+
log.debug('Model updated', { sessionId, model });
|
|
153
|
+
return session;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Sets the mode/agent for a session.
|
|
157
|
+
*
|
|
158
|
+
* @param sessionId - Session identifier
|
|
159
|
+
* @param modeId - New mode/agent identifier
|
|
160
|
+
* @returns The updated session state
|
|
161
|
+
*/
|
|
162
|
+
setMode(sessionId, modeId) {
|
|
163
|
+
const session = this.get(sessionId);
|
|
164
|
+
session.modeId = modeId;
|
|
165
|
+
session.lastActivity = new Date();
|
|
166
|
+
this.sessions.set(sessionId, session);
|
|
167
|
+
log.debug('Mode updated', { sessionId, modeId });
|
|
168
|
+
return session;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Updates the last activity timestamp for a session.
|
|
172
|
+
*
|
|
173
|
+
* @param sessionId - Session identifier
|
|
174
|
+
*/
|
|
175
|
+
touch(sessionId) {
|
|
176
|
+
const session = this.sessions.get(sessionId);
|
|
177
|
+
if (session) {
|
|
178
|
+
session.lastActivity = new Date();
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Adds a message to the session's conversation history.
|
|
183
|
+
*
|
|
184
|
+
* @param sessionId - Session identifier
|
|
185
|
+
* @param message - Message to add
|
|
186
|
+
*/
|
|
187
|
+
addMessage(sessionId, message) {
|
|
188
|
+
const session = this.get(sessionId);
|
|
189
|
+
if (!session.conversationHistory) {
|
|
190
|
+
session.conversationHistory = [];
|
|
191
|
+
}
|
|
192
|
+
session.conversationHistory.push(message);
|
|
193
|
+
session.lastActivity = new Date();
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Gets the conversation history for a session.
|
|
197
|
+
*
|
|
198
|
+
* @param sessionId - Session identifier
|
|
199
|
+
* @returns Array of messages
|
|
200
|
+
*/
|
|
201
|
+
getMessages(sessionId) {
|
|
202
|
+
const session = this.get(sessionId);
|
|
203
|
+
return session.conversationHistory || [];
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Lists all sessions, optionally filtered by working directory.
|
|
207
|
+
*
|
|
208
|
+
* @param workingDir - Optional working directory filter
|
|
209
|
+
* @returns Array of session states
|
|
210
|
+
*/
|
|
211
|
+
async list(workingDir) {
|
|
212
|
+
// Ensure base directory exists
|
|
213
|
+
await fs.ensureDir(this.baseDir);
|
|
214
|
+
// Get all session files
|
|
215
|
+
const files = await fs.readdir(this.baseDir);
|
|
216
|
+
const sessionFiles = files.filter(f => f.endsWith('.json') && !f.endsWith('.tmp'));
|
|
217
|
+
const sessions = [];
|
|
218
|
+
for (const file of sessionFiles) {
|
|
219
|
+
try {
|
|
220
|
+
const sessionId = file.replace('.json', '');
|
|
221
|
+
// Check memory first
|
|
222
|
+
if (this.sessions.has(sessionId)) {
|
|
223
|
+
const session = this.sessions.get(sessionId);
|
|
224
|
+
if (!workingDir || session.workingDir === workingDir) {
|
|
225
|
+
sessions.push(session);
|
|
226
|
+
}
|
|
227
|
+
continue;
|
|
228
|
+
}
|
|
229
|
+
// Load from disk
|
|
230
|
+
const data = await fs.readFile(path.join(this.baseDir, file), 'utf-8');
|
|
231
|
+
const sessionData = JSON.parse(data);
|
|
232
|
+
if (!workingDir || sessionData.workingDir === workingDir) {
|
|
233
|
+
sessions.push({
|
|
234
|
+
...sessionData,
|
|
235
|
+
createdAt: new Date(sessionData.createdAt),
|
|
236
|
+
lastActivity: new Date(sessionData.lastActivity || sessionData.createdAt),
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
catch (error) {
|
|
241
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
242
|
+
log.warn('Failed to read session file, removing corrupt file', { file, error: msg });
|
|
243
|
+
// Remove corrupt/unreadable session files so they don't keep triggering warnings
|
|
244
|
+
await fs.remove(path.join(this.baseDir, file)).catch(() => { });
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
// Sort by last activity (newest first)
|
|
248
|
+
return sessions.sort((a, b) => b.lastActivity.getTime() - a.lastActivity.getTime());
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Creates a fork of an existing session.
|
|
252
|
+
*
|
|
253
|
+
* @param sessionId - Session to fork
|
|
254
|
+
* @param workingDir - Working directory for the forked session
|
|
255
|
+
* @param mcpServers - Optional MCP servers for the fork
|
|
256
|
+
* @returns The forked session state
|
|
257
|
+
*/
|
|
258
|
+
async fork(sessionId, workingDir, mcpServers = []) {
|
|
259
|
+
const source = this.get(sessionId);
|
|
260
|
+
const forked = {
|
|
261
|
+
...source,
|
|
262
|
+
id: uuidv4(),
|
|
263
|
+
workingDir,
|
|
264
|
+
mcpServers: mcpServers.length > 0 ? mcpServers : source.mcpServers,
|
|
265
|
+
createdAt: new Date(),
|
|
266
|
+
lastActivity: new Date(),
|
|
267
|
+
conversationHistory: [...(source.conversationHistory || [])],
|
|
268
|
+
metadata: {
|
|
269
|
+
...source.metadata,
|
|
270
|
+
forkedFrom: sessionId,
|
|
271
|
+
},
|
|
272
|
+
};
|
|
273
|
+
log.info('Forked ACP session', { sourceId: sessionId, forkId: forked.id });
|
|
274
|
+
this.sessions.set(forked.id, forked);
|
|
275
|
+
await this.snapshot(forked.id);
|
|
276
|
+
this.scheduleSnapshot(forked.id);
|
|
277
|
+
return forked;
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Saves a snapshot of a session to disk.
|
|
281
|
+
*
|
|
282
|
+
* @param sessionId - Session identifier
|
|
283
|
+
*/
|
|
284
|
+
async snapshot(sessionId) {
|
|
285
|
+
const session = this.sessions.get(sessionId);
|
|
286
|
+
if (!session)
|
|
287
|
+
return;
|
|
288
|
+
try {
|
|
289
|
+
await fs.ensureDir(this.baseDir);
|
|
290
|
+
const sessionFile = path.join(this.baseDir, `${sessionId}.json`);
|
|
291
|
+
const tmpFile = sessionFile + '.tmp';
|
|
292
|
+
// Atomic write: write to temp file then rename to avoid read-during-write corruption
|
|
293
|
+
await fs.writeFile(tmpFile, JSON.stringify(session, null, 2));
|
|
294
|
+
await fs.rename(tmpFile, sessionFile);
|
|
295
|
+
log.debug('Session snapshot saved', { sessionId });
|
|
296
|
+
}
|
|
297
|
+
catch (error) {
|
|
298
|
+
log.error('Failed to save session snapshot', { sessionId, error: error instanceof Error ? error.message : String(error) });
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Disposes of a session, saving final state and cleaning up resources.
|
|
303
|
+
*
|
|
304
|
+
* @param sessionId - Session identifier
|
|
305
|
+
*/
|
|
306
|
+
async dispose(sessionId) {
|
|
307
|
+
await this.snapshot(sessionId);
|
|
308
|
+
this.clearSnapshot(sessionId);
|
|
309
|
+
this.sessions.delete(sessionId);
|
|
310
|
+
log.info('Session disposed', { sessionId });
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Deletes a session from memory and disk.
|
|
314
|
+
*
|
|
315
|
+
* @param sessionId - Session identifier
|
|
316
|
+
*/
|
|
317
|
+
async delete(sessionId) {
|
|
318
|
+
this.clearSnapshot(sessionId);
|
|
319
|
+
this.sessions.delete(sessionId);
|
|
320
|
+
const sessionFile = path.join(this.baseDir, `${sessionId}.json`);
|
|
321
|
+
if (await fs.pathExists(sessionFile)) {
|
|
322
|
+
await fs.remove(sessionFile);
|
|
323
|
+
}
|
|
324
|
+
log.info('Session deleted', { sessionId });
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Gracefully shuts down all sessions.
|
|
328
|
+
*/
|
|
329
|
+
async shutdown() {
|
|
330
|
+
log.info('Shutting down ACP session manager');
|
|
331
|
+
const sessionIds = Array.from(this.sessions.keys());
|
|
332
|
+
await Promise.all(sessionIds.map(id => this.dispose(id)));
|
|
333
|
+
log.info('ACP session manager shutdown complete');
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Schedules periodic snapshots for a session.
|
|
337
|
+
*/
|
|
338
|
+
scheduleSnapshot(sessionId) {
|
|
339
|
+
// Clear existing timer if any
|
|
340
|
+
this.clearSnapshot(sessionId);
|
|
341
|
+
const timer = setInterval(async () => {
|
|
342
|
+
await this.snapshot(sessionId).catch(err => {
|
|
343
|
+
log.error('Periodic snapshot failed', { sessionId, error: err instanceof Error ? err.message : String(err) });
|
|
344
|
+
});
|
|
345
|
+
}, this.snapshotInterval);
|
|
346
|
+
this.snapshotTimers.set(sessionId, timer);
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Clears the snapshot timer for a session.
|
|
350
|
+
*/
|
|
351
|
+
clearSnapshot(sessionId) {
|
|
352
|
+
const timer = this.snapshotTimers.get(sessionId);
|
|
353
|
+
if (timer) {
|
|
354
|
+
clearInterval(timer);
|
|
355
|
+
this.snapshotTimers.delete(sessionId);
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
// Singleton instance
|
|
360
|
+
let sessionManagerInstance = null;
|
|
361
|
+
/**
|
|
362
|
+
* Gets the singleton ACPSessionManager instance.
|
|
363
|
+
*
|
|
364
|
+
* @returns The ACPSessionManager instance
|
|
365
|
+
*/
|
|
366
|
+
export function getACPSessionManager() {
|
|
367
|
+
if (!sessionManagerInstance) {
|
|
368
|
+
sessionManagerInstance = new ACPSessionManager();
|
|
369
|
+
}
|
|
370
|
+
return sessionManagerInstance;
|
|
371
|
+
}
|
|
372
|
+
/**
|
|
373
|
+
* Creates a new ACPSessionManager instance.
|
|
374
|
+
*
|
|
375
|
+
* @param options - Configuration options
|
|
376
|
+
* @returns A new ACPSessionManager instance
|
|
377
|
+
*/
|
|
378
|
+
export function createACPSessionManager(options) {
|
|
379
|
+
return new ACPSessionManager(options);
|
|
380
|
+
}
|
|
381
|
+
//# sourceMappingURL=session-manager.js.map
|