comisai 1.0.37 → 1.0.40
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/README.md +4 -2
- package/dist/cli-entry.js +3 -2
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/orchestrator.d.ts +1 -0
- package/dist/orchestrator.js +2 -0
- package/node_modules/@comis/agent/dist/background/auto-background-middleware.d.ts +3 -3
- package/node_modules/@comis/agent/dist/background/auto-background-middleware.js +5 -4
- package/node_modules/@comis/agent/dist/background/background-task-manager.d.ts +12 -10
- package/node_modules/@comis/agent/dist/background/background-task-manager.js +25 -26
- package/node_modules/@comis/agent/dist/background/background-task-persistence.js +3 -2
- package/node_modules/@comis/agent/dist/background/background-task-types.d.ts +3 -2
- package/node_modules/@comis/agent/dist/background/completion-dispatcher.d.ts +1 -1
- package/node_modules/@comis/agent/dist/background/completion-runner.d.ts +1 -1
- package/node_modules/@comis/agent/dist/background/completion-runner.js +3 -2
- package/node_modules/@comis/agent/dist/background/session-resolver.js +1 -0
- package/node_modules/@comis/agent/dist/bootstrap/sections/core-sections.js +2 -1
- package/node_modules/@comis/agent/dist/bootstrap/sections/tool-descriptions.js +2 -1
- package/node_modules/@comis/agent/dist/bootstrap/sections/tooling-sections.d.ts +8 -23
- package/node_modules/@comis/agent/dist/bootstrap/sections/tooling-sections.js +18 -57
- package/node_modules/@comis/agent/dist/bootstrap/system-prompt-assembler.d.ts +0 -22
- package/node_modules/@comis/agent/dist/bootstrap/system-prompt-assembler.js +2 -8
- package/node_modules/@comis/agent/dist/bootstrap/workspace-loader.js +1 -0
- package/node_modules/@comis/agent/dist/bridge/bridge-metrics.js +2 -1
- package/node_modules/@comis/agent/dist/bridge/bridge-safety-controls.d.ts +1 -1
- package/node_modules/@comis/agent/dist/bridge/bridge-safety-controls.js +5 -4
- package/node_modules/@comis/agent/dist/bridge/pi-event-bridge.d.ts +4 -5
- package/node_modules/@comis/agent/dist/bridge/pi-event-bridge.js +24 -26
- package/node_modules/@comis/agent/dist/budget/budget-guard.js +6 -5
- package/node_modules/@comis/agent/dist/budget/budget-parser.d.ts +49 -0
- package/node_modules/@comis/agent/dist/budget/budget-parser.js +109 -0
- package/node_modules/@comis/agent/dist/budget/cost-tracker.js +3 -2
- package/node_modules/@comis/agent/dist/context-engine/cleanup-helpers.d.ts +4 -3
- package/node_modules/@comis/agent/dist/context-engine/cleanup-helpers.js +4 -3
- package/node_modules/@comis/agent/dist/context-engine/constants.js +0 -1
- package/node_modules/@comis/agent/dist/context-engine/context-engine.js +13 -16
- package/node_modules/@comis/agent/dist/context-engine/dag-assembler.d.ts +0 -2
- package/node_modules/@comis/agent/dist/context-engine/dag-assembler.js +0 -2
- package/node_modules/@comis/agent/dist/context-engine/dag-integrity.js +5 -4
- package/node_modules/@comis/agent/dist/context-engine/dag-reconciliation.d.ts +4 -5
- package/node_modules/@comis/agent/dist/context-engine/dag-reconciliation.js +13 -12
- package/node_modules/@comis/agent/dist/context-engine/dag-triggers.d.ts +4 -4
- package/node_modules/@comis/agent/dist/context-engine/dag-triggers.js +4 -3
- package/node_modules/@comis/agent/dist/context-engine/history-window.d.ts +1 -1
- package/node_modules/@comis/agent/dist/context-engine/llm-compaction.js +1 -1
- package/node_modules/@comis/agent/dist/context-engine/microcompaction-guard.d.ts +2 -2
- package/node_modules/@comis/agent/dist/context-engine/objective-reinforcement.js +2 -1
- package/node_modules/@comis/agent/dist/context-engine/reasoning-tag-stripper.d.ts +2 -2
- package/node_modules/@comis/agent/dist/context-engine/reasoning-tag-stripper.js +1 -1
- package/node_modules/@comis/agent/dist/context-engine/reread-detector.d.ts +1 -1
- package/node_modules/@comis/agent/dist/context-engine/signature-replay-scrubber.d.ts +4 -10
- package/node_modules/@comis/agent/dist/context-engine/signature-replay-scrubber.js +2 -5
- package/node_modules/@comis/agent/dist/context-engine/signature-surrogate-guard.d.ts +1 -1
- package/node_modules/@comis/agent/dist/context-engine/signature-surrogate-guard.js +1 -1
- package/node_modules/@comis/agent/dist/context-engine/types-anchor.d.ts +28 -0
- package/node_modules/@comis/agent/dist/context-engine/types-anchor.js +11 -0
- package/node_modules/@comis/agent/dist/context-engine/types-compaction.d.ts +2 -2
- package/node_modules/@comis/agent/dist/context-engine/types-core.d.ts +7 -27
- package/node_modules/@comis/agent/dist/context-engine/types-dag.d.ts +4 -5
- package/node_modules/@comis/agent/dist/context-engine/types-integrity.d.ts +2 -3
- package/node_modules/@comis/agent/dist/envelope/message-envelope.js +2 -1
- package/node_modules/@comis/agent/dist/executor/adaptive-cache-retention.d.ts +2 -4
- package/node_modules/@comis/agent/dist/executor/adaptive-cache-retention.js +13 -24
- package/node_modules/@comis/agent/dist/executor/cache-break-diff-writer.js +3 -4
- package/node_modules/@comis/agent/dist/executor/cache-detection/anthropic-extractor.d.ts +19 -0
- package/node_modules/@comis/agent/dist/executor/cache-detection/anthropic-extractor.js +156 -0
- package/node_modules/@comis/agent/dist/executor/cache-detection/cache-state-types.d.ts +164 -0
- package/node_modules/@comis/agent/dist/executor/cache-detection/cache-state-types.js +11 -0
- package/node_modules/@comis/agent/dist/executor/cache-detection/cache-state.d.ts +33 -0
- package/node_modules/@comis/agent/dist/executor/cache-detection/cache-state.js +239 -0
- package/node_modules/@comis/agent/dist/executor/cache-detection/gemini-extractor.d.ts +22 -0
- package/node_modules/@comis/agent/dist/executor/cache-detection/gemini-extractor.js +57 -0
- package/node_modules/@comis/agent/dist/executor/cache-detection/index.d.ts +14 -0
- package/node_modules/@comis/agent/dist/executor/cache-detection/index.js +14 -0
- package/node_modules/@comis/agent/dist/executor/cache-detection/lru-map.d.ts +22 -0
- package/node_modules/@comis/agent/dist/executor/cache-detection/lru-map.js +50 -0
- package/node_modules/@comis/agent/dist/executor/cache-detection/prompt-state-utils.d.ts +46 -0
- package/node_modules/@comis/agent/dist/executor/cache-detection/prompt-state-utils.js +192 -0
- package/node_modules/@comis/agent/dist/executor/cache-usage-helpers.js +1 -2
- package/node_modules/@comis/agent/dist/executor/command-directive-types.d.ts +88 -0
- package/node_modules/@comis/agent/dist/executor/command-directive-types.js +31 -0
- package/node_modules/@comis/agent/dist/executor/drain-helper.d.ts +1 -1
- package/node_modules/@comis/agent/dist/executor/executor-command-handlers.d.ts +5 -3
- package/node_modules/@comis/agent/dist/executor/executor-command-handlers.js +1 -1
- package/node_modules/@comis/agent/dist/executor/executor-context-engine-setup.d.ts +6 -4
- package/node_modules/@comis/agent/dist/executor/executor-context-engine-setup.js +6 -5
- package/node_modules/@comis/agent/dist/executor/executor-input-guard.d.ts +4 -2
- package/node_modules/@comis/agent/dist/executor/executor-input-guard.js +7 -7
- package/node_modules/@comis/agent/dist/executor/executor-post-execution.d.ts +8 -5
- package/node_modules/@comis/agent/dist/executor/executor-post-execution.js +17 -11
- package/node_modules/@comis/agent/dist/executor/executor-response-filter.d.ts +4 -2
- package/node_modules/@comis/agent/dist/executor/executor-response-filter.js +6 -6
- package/node_modules/@comis/agent/dist/executor/executor-session-state.d.ts +4 -2
- package/node_modules/@comis/agent/dist/executor/executor-session-state.js +30 -7
- package/node_modules/@comis/agent/dist/executor/executor-stream-setup.d.ts +8 -6
- package/node_modules/@comis/agent/dist/executor/executor-stream-setup.js +9 -7
- package/node_modules/@comis/agent/dist/executor/executor-tool-assembly.d.ts +8 -6
- package/node_modules/@comis/agent/dist/executor/executor-tool-assembly.js +5 -4
- package/node_modules/@comis/agent/dist/executor/executor-tool-pipeline.d.ts +2 -2
- package/node_modules/@comis/agent/dist/executor/fault-injector.d.ts +6 -5
- package/node_modules/@comis/agent/dist/executor/fault-injector.js +9 -10
- package/node_modules/@comis/agent/dist/executor/gemini-cache-injector.d.ts +1 -1
- package/node_modules/@comis/agent/dist/executor/gemini-cache-manager.d.ts +3 -2
- package/node_modules/@comis/agent/dist/executor/gemini-cache-manager.js +11 -11
- package/node_modules/@comis/agent/dist/executor/jit-guide-injector.d.ts +3 -3
- package/node_modules/@comis/agent/dist/executor/model-retry.d.ts +9 -5
- package/node_modules/@comis/agent/dist/executor/model-retry.js +22 -22
- package/node_modules/@comis/agent/dist/executor/overflow-recovery.d.ts +2 -2
- package/node_modules/@comis/agent/dist/executor/pi-executor/before-tool-call-guard.d.ts +29 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/before-tool-call-guard.js +65 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/compaction-trigger.d.ts +41 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/compaction-trigger.js +49 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/executor-error-mapping.d.ts +56 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/executor-error-mapping.js +49 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/index.d.ts +14 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/index.js +14 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/message-envelope.d.ts +68 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/message-envelope.js +90 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/pi-executor-types.d.ts +158 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/pi-executor-types.js +10 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/pi-executor.d.ts +45 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/pi-executor.js +946 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/safety-gate.d.ts +66 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/safety-gate.js +83 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/session-bootstrap.d.ts +103 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/session-bootstrap.js +123 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/session-stats.d.ts +33 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/session-stats.js +37 -0
- package/node_modules/@comis/agent/dist/executor/post-batch-continuation.d.ts +1 -1
- package/node_modules/@comis/agent/dist/executor/prompt-assembly.d.ts +7 -5
- package/node_modules/@comis/agent/dist/executor/prompt-assembly.js +13 -20
- package/node_modules/@comis/agent/dist/executor/prompt-runner/budget-precheck.d.ts +30 -0
- package/node_modules/@comis/agent/dist/executor/prompt-runner/budget-precheck.js +55 -0
- package/node_modules/@comis/agent/dist/executor/prompt-runner/envelope-wrapper.d.ts +43 -0
- package/node_modules/@comis/agent/dist/executor/prompt-runner/envelope-wrapper.js +143 -0
- package/node_modules/@comis/agent/dist/executor/prompt-runner/failure-path.d.ts +30 -0
- package/node_modules/@comis/agent/dist/executor/prompt-runner/failure-path.js +220 -0
- package/node_modules/@comis/agent/dist/executor/prompt-runner/index.d.ts +14 -0
- package/node_modules/@comis/agent/dist/executor/prompt-runner/index.js +14 -0
- package/node_modules/@comis/agent/dist/executor/prompt-runner/output-escalation.d.ts +29 -0
- package/node_modules/@comis/agent/dist/executor/prompt-runner/output-escalation.js +330 -0
- package/node_modules/@comis/agent/dist/executor/prompt-runner/prompt-runner-types.d.ts +130 -0
- package/node_modules/@comis/agent/dist/executor/prompt-runner/prompt-runner-types.js +12 -0
- package/node_modules/@comis/agent/dist/executor/prompt-runner/prompt-runner.d.ts +23 -0
- package/node_modules/@comis/agent/dist/executor/prompt-runner/prompt-runner.js +43 -0
- package/node_modules/@comis/agent/dist/executor/prompt-runner/retry-loop.d.ts +38 -0
- package/node_modules/@comis/agent/dist/executor/prompt-runner/retry-loop.js +209 -0
- package/node_modules/@comis/agent/dist/executor/prompt-runner/silent-failure-handlers.d.ts +44 -0
- package/node_modules/@comis/agent/dist/executor/prompt-runner/silent-failure-handlers.js +272 -0
- package/node_modules/@comis/agent/dist/executor/prompt-timeout.d.ts +3 -2
- package/node_modules/@comis/agent/dist/executor/prompt-timeout.js +9 -7
- package/node_modules/@comis/agent/dist/executor/replay-drift-detector.d.ts +2 -2
- package/node_modules/@comis/agent/dist/executor/replay-drift-detector.js +1 -2
- package/node_modules/@comis/agent/dist/executor/session-snapshot-cleanup.d.ts +1 -1
- package/node_modules/@comis/agent/dist/executor/session-snapshot-cleanup.js +3 -3
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/api-payload-trace-writer.d.ts +3 -1
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/api-payload-trace-writer.js +4 -4
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/cache-trace-writer.d.ts +3 -1
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/cache-trace-writer.js +1 -1
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/compose.d.ts +2 -2
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/config-resolver.d.ts +2 -2
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/index.d.ts +2 -2
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/index.js +1 -1
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/breakpoint-orchestration.d.ts +36 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/breakpoint-orchestration.js +276 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/breakpoint-placement.d.ts +52 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/breakpoint-placement.js +282 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/cache-breakpoints.d.ts +111 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/cache-breakpoints.js +273 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/cache-control-block.d.ts +34 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/cache-control-block.js +51 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/cadence-tracker.d.ts +25 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/cadence-tracker.js +22 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/cadence-tracking.d.ts +22 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/cadence-tracking.js +66 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/context-window.d.ts +18 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/context-window.js +30 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/factory.d.ts +47 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/factory.js +284 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/index.d.ts +18 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/index.js +23 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/kill-switch.d.ts +21 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/kill-switch.js +43 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/marker-upgrade.d.ts +23 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/marker-upgrade.js +49 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/microcompact.d.ts +33 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/microcompact.js +75 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/prefix-stability.d.ts +28 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/prefix-stability.js +100 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/service-tier.d.ts +17 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/service-tier.js +22 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/skip-cache-write-marker.d.ts +26 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/skip-cache-write-marker.js +88 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/store-flag.d.ts +22 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/store-flag.js +27 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/token-estimation.d.ts +17 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/token-estimation.js +22 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/tool-cache.d.ts +24 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/tool-cache.js +73 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/tool-deferral-injection.d.ts +27 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/tool-deferral-injection.js +68 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/tool-result-clearing.d.ts +64 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/tool-result-clearing.js +225 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/ttl-split-estimation.d.ts +18 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/ttl-split-estimation.js +74 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/types.d.ts +143 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/types.js +11 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/stub-filter-injector.d.ts +1 -1
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/tool-result-size-bouncer.d.ts +1 -1
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/tool-schema-cache.js +3 -3
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/turn-result-budget-wrapper.d.ts +1 -1
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/types.d.ts +1 -1
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/validation-error-formatter.d.ts +1 -1
- package/node_modules/@comis/agent/dist/executor/tool-deferral.d.ts +9 -7
- package/node_modules/@comis/agent/dist/executor/tool-deferral.js +6 -5
- package/node_modules/@comis/agent/dist/executor/tool-parallelism.d.ts +3 -10
- package/node_modules/@comis/agent/dist/executor/tool-parallelism.js +4 -52
- package/node_modules/@comis/agent/dist/executor/ttl-guard.d.ts +6 -4
- package/node_modules/@comis/agent/dist/executor/ttl-guard.js +5 -5
- package/node_modules/@comis/agent/dist/executor/types.d.ts +2 -2
- package/node_modules/@comis/agent/dist/greeting/session-greeting.js +5 -4
- package/node_modules/@comis/agent/dist/identity/identity-loader.js +3 -2
- package/node_modules/@comis/agent/dist/identity/identity-updater.js +2 -2
- package/node_modules/@comis/agent/dist/index.d.ts +9 -47
- package/node_modules/@comis/agent/dist/index.js +48 -43
- package/node_modules/@comis/agent/dist/memory/memory-review-job.d.ts +2 -8
- package/node_modules/@comis/agent/dist/memory/memory-review-job.js +26 -31
- package/node_modules/@comis/agent/dist/model/auth-profile.js +10 -8
- package/node_modules/@comis/agent/dist/model/auth-provider.d.ts +10 -3
- package/node_modules/@comis/agent/dist/model/auth-provider.js +1 -0
- package/node_modules/@comis/agent/dist/model/auth-rotation-adapter.d.ts +1 -1
- package/node_modules/@comis/agent/dist/model/auth-storage-adapter.d.ts +1 -1
- package/node_modules/@comis/agent/dist/model/auth-storage-adapter.js +1 -1
- package/node_modules/@comis/agent/dist/model/auth-usage-tracker.js +3 -2
- package/node_modules/@comis/agent/dist/model/compaction-model-resolver.js +1 -1
- package/node_modules/@comis/agent/dist/model/context-window-resolver.d.ts +1 -1
- package/node_modules/@comis/agent/dist/model/last-known-model.js +2 -1
- package/node_modules/@comis/agent/dist/model/model-alias-resolver.d.ts +1 -1
- package/node_modules/@comis/agent/dist/model/model-registry-adapter.d.ts +4 -4
- package/node_modules/@comis/agent/dist/model/model-registry-adapter.js +2 -2
- package/node_modules/@comis/agent/dist/model/model-scanner.js +8 -7
- package/node_modules/@comis/agent/dist/model/oauth-token-manager.d.ts +16 -6
- package/node_modules/@comis/agent/dist/model/oauth-token-manager.js +98 -50
- package/node_modules/@comis/agent/dist/model/operation-model-defaults.js +1 -1
- package/node_modules/@comis/agent/dist/model/resolve-provider-api-key.d.ts +1 -1
- package/node_modules/@comis/agent/dist/model/resolve-provider-api-key.js +2 -1
- package/node_modules/@comis/agent/dist/provider/capabilities.js +1 -1
- package/node_modules/@comis/agent/dist/provider/model-id-normalize.js +1 -1
- package/node_modules/@comis/agent/dist/provider/response/sanitize-pipeline.d.ts +1 -1
- package/node_modules/@comis/agent/dist/provider/tool-schema/normalize.d.ts +2 -2
- package/node_modules/@comis/agent/dist/rag/hybrid-memory-injector.js +2 -1
- package/node_modules/@comis/agent/dist/rag/rag-retriever.d.ts +1 -1
- package/node_modules/@comis/agent/dist/rag/rag-retriever.js +6 -6
- package/node_modules/@comis/agent/dist/safety/circuit-breaker.d.ts +3 -3
- package/node_modules/@comis/agent/dist/safety/circuit-breaker.js +5 -5
- package/node_modules/@comis/agent/dist/safety/provider-health-monitor.js +5 -4
- package/node_modules/@comis/agent/dist/safety/token-estimator.d.ts +1 -1
- package/node_modules/@comis/agent/dist/safety/tool-schema-safety.d.ts +1 -20
- package/node_modules/@comis/agent/dist/safety/tool-schema-safety.js +0 -20
- package/node_modules/@comis/agent/dist/safety/turn-result-budget.d.ts +1 -1
- package/node_modules/@comis/agent/dist/session/comis-session-manager.d.ts +17 -1
- package/node_modules/@comis/agent/dist/session/comis-session-manager.js +53 -15
- package/node_modules/@comis/agent/dist/session/orphaned-message-repair.d.ts +1 -1
- package/node_modules/@comis/agent/dist/session/orphaned-message-repair.js +3 -2
- package/node_modules/@comis/agent/dist/session/scrub-redacted-tool-calls.d.ts +1 -1
- package/node_modules/@comis/agent/dist/session/session-label-store.d.ts +5 -5
- package/node_modules/@comis/agent/dist/session/session-label-store.js +3 -3
- package/node_modules/@comis/agent/dist/session/session-lifecycle.d.ts +8 -8
- package/node_modules/@comis/agent/dist/session/session-lifecycle.js +7 -6
- package/node_modules/@comis/agent/dist/session/session-reset-policy.d.ts +27 -9
- package/node_modules/@comis/agent/dist/session/session-reset-policy.js +20 -20
- package/node_modules/@comis/agent/dist/session/session-write-lock.d.ts +39 -14
- package/node_modules/@comis/agent/dist/session/session-write-lock.js +59 -94
- package/node_modules/@comis/agent/dist/spawn/announcement-ports.d.ts +78 -0
- package/node_modules/@comis/agent/dist/spawn/announcement-ports.js +23 -0
- package/node_modules/@comis/agent/dist/spawn/generate-parent-summary.d.ts +1 -1
- package/node_modules/@comis/agent/dist/spawn/generate-parent-summary.js +2 -2
- package/node_modules/@comis/agent/dist/spawn/index.d.ts +4 -1
- package/node_modules/@comis/agent/dist/spawn/index.js +3 -1
- package/node_modules/@comis/agent/dist/spawn/lifecycle-hooks.js +3 -2
- package/node_modules/@comis/agent/dist/spawn/pi-mono-adapters.js +1 -1
- package/node_modules/@comis/agent/dist/spawn/result-condenser.js +4 -5
- package/node_modules/@comis/agent/dist/spawn/sub-agent-result-processor.d.ts +142 -0
- package/node_modules/@comis/agent/dist/spawn/sub-agent-result-processor.js +495 -0
- package/node_modules/@comis/agent/dist/spawn/sub-agent-runner.d.ts +340 -0
- package/node_modules/@comis/agent/dist/spawn/sub-agent-runner.js +1265 -0
- package/node_modules/@comis/agent/dist/workspace/onboarding-detector.js +2 -2
- package/node_modules/@comis/agent/dist/workspace/workspace-manager.d.ts +1 -1
- package/node_modules/@comis/agent/dist/workspace/workspace-manager.js +6 -5
- package/node_modules/@comis/agent/package.json +1 -1
- package/node_modules/@comis/channels/dist/discord/credential-validator.d.ts +4 -1
- package/node_modules/@comis/channels/dist/discord/credential-validator.js +27 -21
- package/node_modules/@comis/channels/dist/discord/discord-actions.d.ts +1 -1
- package/node_modules/@comis/channels/dist/discord/discord-actions.js +84 -45
- package/node_modules/@comis/channels/dist/discord/discord-adapter-types.d.ts +96 -0
- package/node_modules/@comis/channels/dist/discord/discord-adapter-types.js +71 -0
- package/node_modules/@comis/channels/dist/discord/discord-adapter.d.ts +14 -1
- package/node_modules/@comis/channels/dist/discord/discord-adapter.js +33 -27
- package/node_modules/@comis/channels/dist/discord/discord-resolver.js +4 -2
- package/node_modules/@comis/channels/dist/echo/echo-adapter.js +4 -3
- package/node_modules/@comis/channels/dist/email/email-adapter.d.ts +1 -1
- package/node_modules/@comis/channels/dist/email/email-adapter.js +5 -4
- package/node_modules/@comis/channels/dist/email/imap-lifecycle.d.ts +1 -1
- package/node_modules/@comis/channels/dist/email/imap-lifecycle.js +9 -8
- package/node_modules/@comis/channels/dist/email/message-mapper.js +2 -2
- package/node_modules/@comis/channels/dist/imessage/credential-validator.js +3 -2
- package/node_modules/@comis/channels/dist/imessage/imessage-adapter.d.ts +1 -1
- package/node_modules/@comis/channels/dist/imessage/imessage-adapter.js +7 -6
- package/node_modules/@comis/channels/dist/imessage/imessage-client.js +7 -6
- package/node_modules/@comis/channels/dist/imessage/imessage-resolver.d.ts +1 -1
- package/node_modules/@comis/channels/dist/imessage/imessage-resolver.js +5 -4
- package/node_modules/@comis/channels/dist/imessage/message-mapper.js +4 -3
- package/node_modules/@comis/channels/dist/index.d.ts +14 -13
- package/node_modules/@comis/channels/dist/index.js +53 -10
- package/node_modules/@comis/channels/dist/irc/credential-validator.js +3 -2
- package/node_modules/@comis/channels/dist/irc/irc-adapter.d.ts +1 -1
- package/node_modules/@comis/channels/dist/irc/irc-adapter.js +8 -7
- package/node_modules/@comis/channels/dist/irc/message-mapper.d.ts +1 -1
- package/node_modules/@comis/channels/dist/irc/message-mapper.js +3 -2
- package/node_modules/@comis/channels/dist/line/credential-validator.d.ts +7 -2
- package/node_modules/@comis/channels/dist/line/credential-validator.js +27 -30
- package/node_modules/@comis/channels/dist/line/line-adapter.d.ts +12 -1
- package/node_modules/@comis/channels/dist/line/line-adapter.js +11 -4
- package/node_modules/@comis/channels/dist/line/line-resolver.js +4 -2
- package/node_modules/@comis/channels/dist/shared/approval-notifier.d.ts +7 -2
- package/node_modules/@comis/channels/dist/shared/approval-notifier.js +4 -3
- package/node_modules/@comis/channels/dist/shared/block-pacer.js +3 -2
- package/node_modules/@comis/channels/dist/shared/channel-health-monitor.js +16 -15
- package/node_modules/@comis/channels/dist/shared/channel-registry.js +3 -3
- package/node_modules/@comis/channels/dist/shared/lifecycle-reactor.d.ts +1 -1
- package/node_modules/@comis/channels/dist/shared/lifecycle-reactor.js +24 -23
- package/node_modules/@comis/channels/dist/shared/response-filter.d.ts +0 -2
- package/node_modules/@comis/channels/dist/shared/response-filter.js +0 -2
- package/node_modules/@comis/channels/dist/shared/typing-controller.d.ts +0 -1
- package/node_modules/@comis/channels/dist/shared/typing-controller.js +18 -13
- package/node_modules/@comis/channels/dist/shared/typing-lifecycle-controller.js +4 -3
- package/node_modules/@comis/channels/dist/shared/voice-response-pipeline.js +4 -4
- package/node_modules/@comis/channels/dist/signal/message-mapper.js +3 -2
- package/node_modules/@comis/channels/dist/signal/signal-adapter.d.ts +1 -1
- package/node_modules/@comis/channels/dist/signal/signal-adapter.js +5 -4
- package/node_modules/@comis/channels/dist/signal/signal-client.js +8 -6
- package/node_modules/@comis/channels/dist/signal/signal-format.d.ts +1 -1
- package/node_modules/@comis/channels/dist/signal/signal-resolver.js +4 -2
- package/node_modules/@comis/channels/dist/slack/credential-validator.d.ts +9 -1
- package/node_modules/@comis/channels/dist/slack/credential-validator.js +34 -36
- package/node_modules/@comis/channels/dist/slack/media-handler.js +1 -0
- package/node_modules/@comis/channels/dist/slack/slack-actions.d.ts +1 -1
- package/node_modules/@comis/channels/dist/slack/slack-adapter.d.ts +16 -1
- package/node_modules/@comis/channels/dist/slack/slack-adapter.js +17 -6
- package/node_modules/@comis/channels/dist/slack/slack-resolver.js +4 -2
- package/node_modules/@comis/channels/dist/telegram/credential-validator.d.ts +3 -1
- package/node_modules/@comis/channels/dist/telegram/credential-validator.js +23 -20
- package/node_modules/@comis/channels/dist/telegram/telegram-adapter/index.d.ts +28 -0
- package/node_modules/@comis/channels/dist/telegram/telegram-adapter/index.js +81 -0
- package/node_modules/@comis/channels/dist/telegram/telegram-adapter/telegram-adapter-types.d.ts +80 -0
- package/node_modules/@comis/channels/dist/telegram/telegram-adapter/telegram-adapter-types.js +35 -0
- package/node_modules/@comis/channels/dist/telegram/telegram-adapter/telegram-inbound.d.ts +35 -0
- package/node_modules/@comis/channels/dist/telegram/telegram-adapter/telegram-inbound.js +189 -0
- package/node_modules/@comis/channels/dist/telegram/telegram-adapter/telegram-lifecycle.d.ts +32 -0
- package/node_modules/@comis/channels/dist/telegram/telegram-adapter/telegram-lifecycle.js +120 -0
- package/node_modules/@comis/channels/dist/telegram/telegram-adapter/telegram-outbound.d.ts +29 -0
- package/node_modules/@comis/channels/dist/telegram/telegram-adapter/telegram-outbound.js +360 -0
- package/node_modules/@comis/channels/dist/telegram/telegram-adapter/telegram-webhook.d.ts +55 -0
- package/node_modules/@comis/channels/dist/telegram/telegram-adapter/telegram-webhook.js +102 -0
- package/node_modules/@comis/channels/dist/telegram/telegram-plugin.d.ts +1 -1
- package/node_modules/@comis/channels/dist/telegram/telegram-plugin.js +1 -1
- package/node_modules/@comis/channels/dist/telegram/telegram-resolver.js +3 -3
- package/node_modules/@comis/channels/dist/whatsapp/credential-validator.js +2 -2
- package/node_modules/@comis/channels/dist/whatsapp/message-mapper.js +2 -1
- package/node_modules/@comis/channels/dist/whatsapp/whatsapp-adapter.d.ts +15 -1
- package/node_modules/@comis/channels/dist/whatsapp/whatsapp-adapter.js +10 -5
- package/node_modules/@comis/channels/dist/whatsapp/whatsapp-resolver.js +4 -2
- package/node_modules/@comis/channels/package.json +1 -1
- package/node_modules/@comis/cli/dist/client/provider-list.js +7 -4
- package/node_modules/@comis/cli/dist/client/rpc-client.d.ts +25 -0
- package/node_modules/@comis/cli/dist/client/rpc-client.js +62 -13
- package/node_modules/@comis/cli/dist/commands/agent.js +13 -9
- package/node_modules/@comis/cli/dist/commands/auth.d.ts +26 -16
- package/node_modules/@comis/cli/dist/commands/auth.js +226 -86
- package/node_modules/@comis/cli/dist/commands/channel.js +5 -2
- package/node_modules/@comis/cli/dist/commands/config-parsers.d.ts +30 -0
- package/node_modules/@comis/cli/dist/commands/config-parsers.js +82 -0
- package/node_modules/@comis/cli/dist/commands/config.js +311 -55
- package/node_modules/@comis/cli/dist/commands/daemon.js +7 -4
- package/node_modules/@comis/cli/dist/commands/init.js +1 -0
- package/node_modules/@comis/cli/dist/commands/memory.js +34 -13
- package/node_modules/@comis/cli/dist/commands/models.js +3 -3
- package/node_modules/@comis/cli/dist/commands/providers.js +4 -4
- package/node_modules/@comis/cli/dist/commands/reset.js +9 -3
- package/node_modules/@comis/cli/dist/commands/secrets.d.ts +11 -6
- package/node_modules/@comis/cli/dist/commands/secrets.js +67 -130
- package/node_modules/@comis/cli/dist/commands/sessions.d.ts +3 -0
- package/node_modules/@comis/cli/dist/commands/sessions.js +38 -42
- package/node_modules/@comis/cli/dist/commands/status.js +18 -15
- package/node_modules/@comis/cli/dist/commands/uninstall.js +1 -0
- package/node_modules/@comis/cli/dist/doctor/checks/channel-health.js +2 -2
- package/node_modules/@comis/cli/dist/doctor/checks/config-health.js +2 -3
- package/node_modules/@comis/cli/dist/doctor/checks/oauth-health.js +11 -5
- package/node_modules/@comis/cli/dist/doctor/repairs/repair-config.js +3 -3
- package/node_modules/@comis/cli/dist/index.d.ts +1 -22
- package/node_modules/@comis/cli/dist/index.js +12 -50
- package/node_modules/@comis/cli/dist/mock-rpc-client.js +2 -1
- package/node_modules/@comis/cli/dist/output/relative-time.d.ts +1 -1
- package/node_modules/@comis/cli/dist/output/relative-time.js +3 -2
- package/node_modules/@comis/cli/dist/output/spinner.js +1 -0
- package/node_modules/@comis/cli/dist/security/fix-runner.js +2 -1
- package/node_modules/@comis/cli/dist/sync-tooling/atomic-write.d.ts +76 -0
- package/node_modules/@comis/cli/dist/sync-tooling/atomic-write.js +153 -0
- package/node_modules/@comis/cli/dist/sync-tooling/backup.d.ts +93 -0
- package/node_modules/@comis/cli/dist/sync-tooling/backup.js +201 -0
- package/node_modules/@comis/cli/dist/sync-tooling/daemon-guard.d.ts +28 -0
- package/node_modules/@comis/cli/dist/sync-tooling/daemon-guard.js +59 -0
- package/node_modules/@comis/cli/dist/sync-tooling/diff.d.ts +65 -0
- package/node_modules/@comis/cli/dist/sync-tooling/diff.js +142 -0
- package/node_modules/@comis/cli/dist/sync-tooling/discover.d.ts +85 -0
- package/node_modules/@comis/cli/dist/sync-tooling/discover.js +218 -0
- package/node_modules/@comis/cli/dist/sync-tooling/generate.d.ts +77 -0
- package/node_modules/@comis/cli/dist/sync-tooling/generate.js +278 -0
- package/node_modules/@comis/cli/dist/sync-tooling/index.d.ts +15 -0
- package/node_modules/@comis/cli/dist/sync-tooling/index.js +16 -0
- package/node_modules/@comis/cli/dist/test-helpers.js +1 -0
- package/node_modules/@comis/cli/dist/tooling-fill/agent-call.d.ts +62 -0
- package/node_modules/@comis/cli/dist/tooling-fill/agent-call.js +151 -0
- package/node_modules/@comis/cli/dist/tooling-fill/apply-hint.d.ts +68 -0
- package/node_modules/@comis/cli/dist/tooling-fill/apply-hint.js +132 -0
- package/node_modules/@comis/cli/dist/tooling-fill/index.d.ts +20 -0
- package/node_modules/@comis/cli/dist/tooling-fill/index.js +21 -0
- package/node_modules/@comis/cli/dist/tooling-fill/orchestrator/index.d.ts +25 -0
- package/node_modules/@comis/cli/dist/tooling-fill/orchestrator/index.js +18 -0
- package/node_modules/@comis/cli/dist/tooling-fill/orchestrator/orchestrator-discover.d.ts +23 -0
- package/node_modules/@comis/cli/dist/tooling-fill/orchestrator/orchestrator-discover.js +307 -0
- package/node_modules/@comis/cli/dist/tooling-fill/orchestrator/orchestrator-fill.d.ts +22 -0
- package/node_modules/@comis/cli/dist/tooling-fill/orchestrator/orchestrator-fill.js +281 -0
- package/node_modules/@comis/cli/dist/tooling-fill/orchestrator/orchestrator-types.d.ts +101 -0
- package/node_modules/@comis/cli/dist/tooling-fill/orchestrator/orchestrator-types.js +7 -0
- package/node_modules/@comis/cli/dist/tooling-fill/orchestrator/orchestrator-verify.d.ts +25 -0
- package/node_modules/@comis/cli/dist/tooling-fill/orchestrator/orchestrator-verify.js +273 -0
- package/node_modules/@comis/cli/dist/tooling-fill/prompt-template.d.ts +40 -0
- package/node_modules/@comis/cli/dist/tooling-fill/prompt-template.js +86 -0
- package/node_modules/@comis/cli/dist/tooling-fill/response-parser.d.ts +44 -0
- package/node_modules/@comis/cli/dist/tooling-fill/response-parser.js +100 -0
- package/node_modules/@comis/cli/dist/tooling-fill/supervisor.d.ts +104 -0
- package/node_modules/@comis/cli/dist/tooling-fill/supervisor.js +237 -0
- package/node_modules/@comis/cli/dist/tooling-fill/validators.d.ts +60 -0
- package/node_modules/@comis/cli/dist/tooling-fill/validators.js +80 -0
- package/node_modules/@comis/cli/dist/util/daemon-required.d.ts +38 -0
- package/node_modules/@comis/cli/dist/util/daemon-required.js +56 -0
- package/node_modules/@comis/cli/dist/util/exit-codes.d.ts +23 -0
- package/node_modules/@comis/cli/dist/util/exit-codes.js +23 -0
- package/node_modules/@comis/cli/dist/wizard/clack-adapter.js +1 -0
- package/node_modules/@comis/cli/dist/wizard/non-interactive.js +2 -1
- package/node_modules/@comis/cli/dist/wizard/state.js +3 -1
- package/node_modules/@comis/cli/dist/wizard/steps/00-welcome.d.ts +1 -1
- package/node_modules/@comis/cli/dist/wizard/steps/00-welcome.js +33 -6
- package/node_modules/@comis/cli/dist/wizard/steps/01-detect-existing.d.ts +1 -1
- package/node_modules/@comis/cli/dist/wizard/steps/01-detect-existing.js +5 -2
- package/node_modules/@comis/cli/dist/wizard/steps/02-flow-select.d.ts +1 -1
- package/node_modules/@comis/cli/dist/wizard/steps/02-flow-select.js +1 -1
- package/node_modules/@comis/cli/dist/wizard/steps/03-provider.d.ts +1 -1
- package/node_modules/@comis/cli/dist/wizard/steps/03-provider.js +2 -1
- package/node_modules/@comis/cli/dist/wizard/steps/04-credentials.d.ts +1 -1
- package/node_modules/@comis/cli/dist/wizard/steps/04-credentials.js +22 -14
- package/node_modules/@comis/cli/dist/wizard/steps/05-agent.d.ts +1 -1
- package/node_modules/@comis/cli/dist/wizard/steps/05-agent.js +4 -2
- package/node_modules/@comis/cli/dist/wizard/steps/06-channels.d.ts +1 -1
- package/node_modules/@comis/cli/dist/wizard/steps/06-channels.js +15 -11
- package/node_modules/@comis/cli/dist/wizard/steps/07-gateway.d.ts +1 -1
- package/node_modules/@comis/cli/dist/wizard/steps/07-gateway.js +4 -1
- package/node_modules/@comis/cli/dist/wizard/steps/08-workspace.d.ts +1 -1
- package/node_modules/@comis/cli/dist/wizard/steps/08-workspace.js +2 -1
- package/node_modules/@comis/cli/dist/wizard/steps/08b-tool-providers.d.ts +1 -1
- package/node_modules/@comis/cli/dist/wizard/steps/08b-tool-providers.js +3 -1
- package/node_modules/@comis/cli/dist/wizard/steps/09-review.d.ts +1 -1
- package/node_modules/@comis/cli/dist/wizard/steps/09-review.js +4 -1
- package/node_modules/@comis/cli/dist/wizard/steps/10-write-config.d.ts +1 -1
- package/node_modules/@comis/cli/dist/wizard/steps/10-write-config.js +4 -1
- package/node_modules/@comis/cli/dist/wizard/steps/11-daemon-start.d.ts +1 -1
- package/node_modules/@comis/cli/dist/wizard/steps/11-daemon-start.js +22 -22
- package/node_modules/@comis/cli/dist/wizard/steps/12-finish.d.ts +1 -1
- package/node_modules/@comis/cli/dist/wizard/steps/12-finish.js +2 -1
- package/node_modules/@comis/cli/package.json +1 -1
- package/node_modules/@comis/core/dist/api-contracts/agents.d.ts +632 -0
- package/node_modules/@comis/core/dist/api-contracts/agents.js +685 -0
- package/node_modules/@comis/core/dist/api-contracts/auth.d.ts +90 -0
- package/node_modules/@comis/core/dist/api-contracts/auth.js +112 -0
- package/node_modules/@comis/core/dist/api-contracts/channels.d.ts +625 -0
- package/node_modules/@comis/core/dist/api-contracts/channels.js +658 -0
- package/node_modules/@comis/core/dist/api-contracts/config.d.ts +524 -0
- package/node_modules/@comis/core/dist/api-contracts/config.js +597 -0
- package/node_modules/@comis/core/dist/api-contracts/daemon.d.ts +67 -0
- package/node_modules/@comis/core/dist/api-contracts/daemon.js +79 -0
- package/node_modules/@comis/core/dist/api-contracts/index.d.ts +47 -0
- package/node_modules/@comis/core/dist/api-contracts/index.js +55 -0
- package/node_modules/@comis/core/dist/api-contracts/internals.d.ts +29 -0
- package/node_modules/@comis/core/dist/api-contracts/internals.js +56 -0
- package/node_modules/@comis/core/dist/api-contracts/mcp.d.ts +456 -0
- package/node_modules/@comis/core/dist/api-contracts/mcp.js +404 -0
- package/node_modules/@comis/core/dist/api-contracts/media.d.ts +563 -0
- package/node_modules/@comis/core/dist/api-contracts/media.js +605 -0
- package/node_modules/@comis/core/dist/api-contracts/memory.d.ts +653 -0
- package/node_modules/@comis/core/dist/api-contracts/memory.js +625 -0
- package/node_modules/@comis/core/dist/api-contracts/observability.d.ts +577 -0
- package/node_modules/@comis/core/dist/api-contracts/observability.js +667 -0
- package/node_modules/@comis/core/dist/api-contracts/orchestrator/cron-handlers.d.ts +254 -0
- package/node_modules/@comis/core/dist/api-contracts/orchestrator/cron-handlers.js +271 -0
- package/node_modules/@comis/core/dist/api-contracts/orchestrator/graph-handlers.d.ts +389 -0
- package/node_modules/@comis/core/dist/api-contracts/orchestrator/graph-handlers.js +402 -0
- package/node_modules/@comis/core/dist/api-contracts/orchestrator/heartbeat-handlers.d.ts +188 -0
- package/node_modules/@comis/core/dist/api-contracts/orchestrator/heartbeat-handlers.js +175 -0
- package/node_modules/@comis/core/dist/api-contracts/orchestrator/index.d.ts +234 -0
- package/node_modules/@comis/core/dist/api-contracts/orchestrator/index.js +35 -0
- package/node_modules/@comis/core/dist/api-contracts/orchestrator/subagent-handlers.d.ts +90 -0
- package/node_modules/@comis/core/dist/api-contracts/orchestrator/subagent-handlers.js +106 -0
- package/node_modules/@comis/core/dist/api-contracts/secrets.d.ts +174 -0
- package/node_modules/@comis/core/dist/api-contracts/secrets.js +202 -0
- package/node_modules/@comis/core/dist/api-contracts/sessions.d.ts +590 -0
- package/node_modules/@comis/core/dist/api-contracts/sessions.js +580 -0
- package/node_modules/@comis/core/dist/api-contracts/tokens.d.ts +203 -0
- package/node_modules/@comis/core/dist/api-contracts/tokens.js +234 -0
- package/node_modules/@comis/core/dist/api-contracts/types.d.ts +34 -0
- package/node_modules/@comis/core/dist/api-contracts/types.js +8 -0
- package/node_modules/@comis/core/dist/api-contracts/workspace/approval-handlers.d.ts +125 -0
- package/node_modules/@comis/core/dist/api-contracts/workspace/approval-handlers.js +148 -0
- package/node_modules/@comis/core/dist/api-contracts/workspace/browser-handlers.d.ts +283 -0
- package/node_modules/@comis/core/dist/api-contracts/workspace/browser-handlers.js +308 -0
- package/node_modules/@comis/core/dist/api-contracts/workspace/index.d.ts +279 -0
- package/node_modules/@comis/core/dist/api-contracts/workspace/index.js +40 -0
- package/node_modules/@comis/core/dist/api-contracts/workspace/notification-handlers.d.ts +71 -0
- package/node_modules/@comis/core/dist/api-contracts/workspace/notification-handlers.js +63 -0
- package/node_modules/@comis/core/dist/api-contracts/workspace/skill-handlers.d.ts +235 -0
- package/node_modules/@comis/core/dist/api-contracts/workspace/skill-handlers.js +208 -0
- package/node_modules/@comis/core/dist/api-contracts/workspace/workspace-handlers.d.ts +304 -0
- package/node_modules/@comis/core/dist/api-contracts/workspace/workspace-handlers.js +326 -0
- package/node_modules/@comis/core/dist/approval/approval-gate.d.ts +5 -0
- package/node_modules/@comis/core/dist/approval/approval-gate.js +19 -19
- package/node_modules/@comis/core/dist/bootstrap.d.ts +2 -2
- package/node_modules/@comis/core/dist/bootstrap.js +1 -5
- package/node_modules/@comis/core/dist/config/backup.js +3 -2
- package/node_modules/@comis/core/dist/config/env-substitution.js +12 -10
- package/node_modules/@comis/core/dist/config/field-metadata.js +10 -39
- package/node_modules/@comis/core/dist/config/git-manager.js +13 -6
- package/node_modules/@comis/core/dist/config/index.d.ts +2 -2
- package/node_modules/@comis/core/dist/config/index.js +1 -1
- package/node_modules/@comis/core/dist/config/managed-sections.d.ts +10 -46
- package/node_modules/@comis/core/dist/config/managed-sections.js +33 -125
- package/node_modules/@comis/core/dist/config/migrate.js +3 -0
- package/node_modules/@comis/core/dist/config/schema-agent/index.d.ts +33 -0
- package/node_modules/@comis/core/dist/config/schema-agent/index.js +34 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-context.d.ts +243 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-context.js +289 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-model.d.ts +157 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-model.js +149 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-prompt.d.ts +147 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-prompt.js +164 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-runtime.d.ts +1226 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-runtime.js +260 -0
- package/node_modules/@comis/core/dist/config/schema-approvals.d.ts +3 -3
- package/node_modules/@comis/core/dist/config/schema-channel.d.ts +82 -0
- package/node_modules/@comis/core/dist/config/schema-channel.js +33 -1
- package/node_modules/@comis/core/dist/config/schema-security.d.ts +2 -2
- package/node_modules/@comis/core/dist/config/schema-serializer.js +10 -33
- package/node_modules/@comis/core/dist/config/schema-skills.d.ts +1 -1
- package/node_modules/@comis/core/dist/config/schema-streaming.d.ts +2 -2
- package/node_modules/@comis/core/dist/config/schema.d.ts +17 -8
- package/node_modules/@comis/core/dist/config/schema.js +1 -1
- package/node_modules/@comis/core/dist/config/section-registry.d.ts +111 -0
- package/node_modules/@comis/core/dist/config/section-registry.js +279 -0
- package/node_modules/@comis/core/dist/config/types.d.ts +1 -1
- package/node_modules/@comis/core/dist/context/context.js +1 -0
- package/node_modules/@comis/core/dist/delivery/chunk-for-delivery.d.ts +40 -0
- package/node_modules/@comis/core/dist/delivery/chunk-for-delivery.js +77 -0
- package/node_modules/@comis/core/dist/delivery/delivery-service.d.ts +87 -0
- package/node_modules/@comis/core/dist/delivery/delivery-service.js +471 -0
- package/node_modules/@comis/core/dist/delivery/no-op-delivery-mirror.d.ts +9 -0
- package/node_modules/@comis/core/dist/delivery/no-op-delivery-mirror.js +19 -0
- package/node_modules/@comis/core/dist/delivery/no-op-delivery-queue.d.ts +9 -0
- package/node_modules/@comis/core/dist/delivery/no-op-delivery-queue.js +25 -0
- package/node_modules/@comis/core/dist/delivery/queue-backoff.d.ts +41 -0
- package/node_modules/@comis/core/dist/delivery/queue-backoff.js +73 -0
- package/node_modules/@comis/core/dist/delivery/retry-engine.d.ts +89 -0
- package/node_modules/@comis/core/dist/delivery/retry-engine.js +259 -0
- package/node_modules/@comis/core/dist/delivery/types.d.ts +80 -0
- package/node_modules/@comis/core/dist/delivery/types.js +11 -0
- package/node_modules/@comis/core/dist/domain/channel-capability.d.ts +49 -0
- package/node_modules/@comis/core/dist/domain/channel-capability.js +61 -0
- package/node_modules/@comis/core/dist/domain/execution-graph.d.ts +2 -2
- package/node_modules/@comis/core/dist/domain/memory-entry.d.ts +1 -1
- package/node_modules/@comis/core/dist/domain/normalized-message.d.ts +1 -1
- package/node_modules/@comis/core/dist/domain/rich-message.d.ts +1 -1
- package/node_modules/@comis/core/dist/domain/session-key.d.ts +9 -8
- package/node_modules/@comis/core/dist/domain/session-key.js +11 -23
- package/node_modules/@comis/core/dist/event-bus/events-channel.d.ts +1 -1
- package/node_modules/@comis/core/dist/exports/delivery.d.ts +14 -0
- package/node_modules/@comis/core/dist/exports/delivery.js +42 -0
- package/node_modules/@comis/core/dist/exports/hooks.d.ts +1 -1
- package/node_modules/@comis/core/dist/exports/hooks.js +1 -1
- package/node_modules/@comis/core/dist/exports/logging.d.ts +3 -0
- package/node_modules/@comis/core/dist/exports/logging.js +7 -0
- package/node_modules/@comis/core/dist/exports/model.d.ts +2 -0
- package/node_modules/@comis/core/dist/exports/model.js +3 -0
- package/node_modules/@comis/core/dist/exports/oauth.d.ts +10 -0
- package/node_modules/@comis/core/dist/exports/oauth.js +10 -0
- package/node_modules/@comis/core/dist/exports/ports.d.ts +6 -2
- package/node_modules/@comis/core/dist/exports/ports.js +8 -1
- package/node_modules/@comis/core/dist/exports/runtime.d.ts +6 -0
- package/node_modules/@comis/core/dist/exports/runtime.js +15 -0
- package/node_modules/@comis/core/dist/exports/security.d.ts +4 -0
- package/node_modules/@comis/core/dist/exports/security.js +4 -0
- package/node_modules/@comis/core/dist/exports/workspace.d.ts +2 -0
- package/node_modules/@comis/core/dist/exports/workspace.js +3 -0
- package/node_modules/@comis/core/dist/hooks/hook-runner.js +7 -6
- package/node_modules/@comis/core/dist/hooks/index.d.ts +0 -1
- package/node_modules/@comis/core/dist/hooks/index.js +0 -1
- package/node_modules/@comis/core/dist/hooks/plugin-registry.js +3 -2
- package/node_modules/@comis/core/dist/index.d.ts +7 -0
- package/node_modules/@comis/core/dist/index.js +7 -0
- package/node_modules/@comis/core/dist/load-env.js +1 -0
- package/node_modules/@comis/core/dist/logging/console-logger.d.ts +15 -0
- package/node_modules/@comis/core/dist/logging/console-logger.js +47 -0
- package/node_modules/@comis/core/dist/logging/index.d.ts +1 -0
- package/node_modules/@comis/core/dist/logging/index.js +5 -0
- package/node_modules/@comis/core/dist/logging/log-fields.d.ts +254 -0
- package/node_modules/@comis/core/dist/logging/log-fields.js +31 -0
- package/node_modules/@comis/core/dist/model/model-catalog.d.ts +93 -0
- package/node_modules/@comis/core/dist/model/model-catalog.js +152 -0
- package/node_modules/@comis/core/dist/oauth/index.d.ts +22 -0
- package/node_modules/@comis/core/dist/oauth/index.js +24 -0
- package/node_modules/@comis/core/dist/oauth/oauth-credential-store-file.d.ts +54 -0
- package/node_modules/@comis/core/dist/oauth/oauth-credential-store-file.js +289 -0
- package/node_modules/@comis/core/dist/oauth/oauth-credential-store-selector.d.ts +71 -0
- package/node_modules/@comis/core/dist/oauth/oauth-credential-store-selector.js +52 -0
- package/node_modules/@comis/core/dist/oauth/oauth-device-code.d.ts +61 -0
- package/node_modules/@comis/core/dist/oauth/oauth-device-code.js +307 -0
- package/node_modules/@comis/core/dist/oauth/oauth-login-runner.d.ts +99 -0
- package/node_modules/@comis/core/dist/oauth/oauth-login-runner.js +374 -0
- package/node_modules/@comis/core/dist/oauth/oauth-token-manager.d.ts +134 -0
- package/node_modules/@comis/core/dist/oauth/oauth-token-manager.js +23 -0
- package/node_modules/@comis/core/dist/ports/channel-plugin.d.ts +2 -70
- package/node_modules/@comis/core/dist/ports/channel-plugin.js +1 -59
- package/node_modules/@comis/core/dist/ports/channel.d.ts +21 -1
- package/node_modules/@comis/core/dist/ports/clock.d.ts +17 -0
- package/node_modules/@comis/core/dist/ports/clock.js +13 -0
- package/node_modules/@comis/core/dist/ports/context-store-types.d.ts +115 -0
- package/node_modules/@comis/core/dist/ports/context-store-types.js +15 -0
- package/node_modules/@comis/core/dist/ports/context-store.d.ts +152 -0
- package/node_modules/@comis/core/dist/ports/context-store.js +17 -0
- package/node_modules/@comis/core/dist/ports/delivery-mirror.d.ts +5 -9
- package/node_modules/@comis/core/dist/ports/delivery-mirror.js +4 -17
- package/node_modules/@comis/core/dist/ports/delivery-queue.d.ts +5 -9
- package/node_modules/@comis/core/dist/ports/delivery-queue.js +4 -23
- package/node_modules/@comis/core/dist/ports/env.d.ts +19 -0
- package/node_modules/@comis/core/dist/ports/env.js +13 -0
- package/node_modules/@comis/core/dist/ports/file-lock.d.ts +94 -0
- package/node_modules/@comis/core/dist/ports/index.d.ts +11 -6
- package/node_modules/@comis/core/dist/ports/index.js +5 -5
- package/node_modules/@comis/core/dist/ports/oauth-credential-store.d.ts +0 -16
- package/node_modules/@comis/core/dist/ports/oauth-credential-store.js +1 -37
- package/node_modules/@comis/core/dist/ports/plugin.d.ts +1 -1
- package/node_modules/@comis/core/dist/ports/schedule-callback.d.ts +52 -0
- package/node_modules/@comis/core/dist/ports/schedule-callback.js +20 -0
- package/node_modules/@comis/core/dist/ports/session-store-types.d.ts +36 -0
- package/node_modules/@comis/core/dist/ports/session-store-types.js +15 -0
- package/node_modules/@comis/core/dist/ports/session-store.d.ts +40 -0
- package/node_modules/@comis/core/dist/ports/session-store.js +16 -0
- package/node_modules/@comis/core/dist/ports/timer.d.ts +25 -0
- package/node_modules/@comis/core/dist/ports/timer.js +13 -0
- package/node_modules/@comis/core/dist/runtime/file-lock.d.ts +69 -0
- package/node_modules/@comis/core/dist/runtime/file-lock.js +257 -0
- package/node_modules/@comis/core/dist/runtime/is-docker.d.ts +1 -0
- package/node_modules/@comis/core/dist/runtime/is-docker.js +40 -0
- package/node_modules/@comis/core/dist/runtime/system-time.d.ts +96 -0
- package/node_modules/@comis/core/dist/runtime/system-time.js +113 -0
- package/node_modules/@comis/core/dist/security/audit-aggregator.d.ts +14 -2
- package/node_modules/@comis/core/dist/security/audit-aggregator.js +12 -11
- package/node_modules/@comis/core/dist/security/audit.js +2 -1
- package/node_modules/@comis/core/dist/security/index.d.ts +5 -0
- package/node_modules/@comis/core/dist/security/index.js +6 -0
- package/node_modules/@comis/core/dist/security/injection-rate-limiter.d.ts +14 -2
- package/node_modules/@comis/core/dist/security/injection-rate-limiter.js +11 -11
- package/node_modules/@comis/core/dist/security/master-key.d.ts +33 -0
- package/node_modules/@comis/core/dist/security/master-key.js +48 -0
- package/node_modules/@comis/core/dist/security/oauth-helpers.d.ts +97 -0
- package/node_modules/@comis/core/dist/security/oauth-helpers.js +223 -0
- package/node_modules/@comis/core/dist/security/profile-id.d.ts +17 -0
- package/node_modules/@comis/core/dist/security/profile-id.js +37 -0
- package/node_modules/@comis/core/dist/security/secret-manager.js +3 -2
- package/node_modules/@comis/core/dist/tool-capability/no-op-tool-capability.d.ts +30 -0
- package/node_modules/@comis/core/dist/workspace/index.d.ts +18 -0
- package/node_modules/@comis/core/dist/workspace/index.js +16 -0
- package/node_modules/@comis/core/dist/workspace/templates.d.ts +11 -0
- package/node_modules/@comis/core/dist/workspace/templates.js +503 -0
- package/node_modules/@comis/core/dist/workspace/workspace-manager.d.ts +127 -0
- package/node_modules/@comis/core/dist/workspace/workspace-manager.js +244 -0
- package/node_modules/@comis/core/dist/workspace/workspace-resolver.d.ts +13 -0
- package/node_modules/@comis/core/dist/workspace/workspace-resolver.js +27 -0
- package/node_modules/@comis/core/dist/workspace/workspace-state.d.ts +39 -0
- package/node_modules/@comis/core/dist/workspace/workspace-state.js +120 -0
- package/node_modules/@comis/core/package.json +1 -1
- package/node_modules/@comis/daemon/dist/api/agent-handlers.d.ts +21 -0
- package/node_modules/@comis/daemon/dist/api/agent-handlers.js +514 -0
- package/node_modules/@comis/daemon/dist/api/approval-handlers.d.ts +41 -0
- package/node_modules/@comis/daemon/dist/api/approval-handlers.js +122 -0
- package/node_modules/@comis/daemon/dist/api/auth-handlers.d.ts +74 -0
- package/node_modules/@comis/daemon/dist/api/auth-handlers.js +245 -0
- package/node_modules/@comis/daemon/dist/api/browser-handlers.d.ts +9 -0
- package/node_modules/@comis/daemon/dist/api/browser-handlers.js +193 -0
- package/node_modules/@comis/daemon/dist/api/channel-handlers.d.ts +25 -0
- package/node_modules/@comis/daemon/dist/api/channel-handlers.js +290 -0
- package/node_modules/@comis/daemon/dist/api/config-handlers/config-export.d.ts +26 -0
- package/node_modules/@comis/daemon/dist/api/config-handlers/config-export.js +299 -0
- package/node_modules/@comis/daemon/dist/api/config-handlers/config-helpers.d.ts +110 -0
- package/node_modules/@comis/daemon/dist/api/config-handlers/config-helpers.js +265 -0
- package/node_modules/@comis/daemon/dist/api/config-handlers/config-read.d.ts +19 -0
- package/node_modules/@comis/daemon/dist/api/config-handlers/config-read.js +174 -0
- package/node_modules/@comis/daemon/dist/api/config-handlers/config-validate.d.ts +79 -0
- package/node_modules/@comis/daemon/dist/api/config-handlers/config-validate.js +223 -0
- package/node_modules/@comis/daemon/dist/api/config-handlers/config-write.d.ts +36 -0
- package/node_modules/@comis/daemon/dist/api/config-handlers/config-write.js +292 -0
- package/node_modules/@comis/daemon/dist/api/config-handlers/index.d.ts +29 -0
- package/node_modules/@comis/daemon/dist/api/config-handlers/index.js +39 -0
- package/node_modules/@comis/daemon/dist/api/context-handlers.d.ts +51 -0
- package/node_modules/@comis/daemon/dist/api/context-handlers.js +455 -0
- package/node_modules/@comis/daemon/dist/api/cron-handlers.d.ts +27 -0
- package/node_modules/@comis/daemon/dist/api/cron-handlers.js +324 -0
- package/node_modules/@comis/daemon/dist/api/daemon-handlers.d.ts +15 -0
- package/node_modules/@comis/daemon/dist/api/daemon-handlers.js +113 -0
- package/node_modules/@comis/daemon/dist/api/env-handlers.d.ts +45 -0
- package/node_modules/@comis/daemon/dist/api/env-handlers.js +334 -0
- package/node_modules/@comis/daemon/dist/api/graph-handlers/graph-export.d.ts +15 -0
- package/node_modules/@comis/daemon/dist/api/graph-handlers/graph-export.js +53 -0
- package/node_modules/@comis/daemon/dist/api/graph-handlers/graph-helpers.d.ts +80 -0
- package/node_modules/@comis/daemon/dist/api/graph-handlers/graph-helpers.js +323 -0
- package/node_modules/@comis/daemon/dist/api/graph-handlers/graph-mutate.d.ts +20 -0
- package/node_modules/@comis/daemon/dist/api/graph-handlers/graph-mutate.js +226 -0
- package/node_modules/@comis/daemon/dist/api/graph-handlers/graph-query.d.ts +23 -0
- package/node_modules/@comis/daemon/dist/api/graph-handlers/graph-query.js +349 -0
- package/node_modules/@comis/daemon/dist/api/graph-handlers/index.d.ts +17 -0
- package/node_modules/@comis/daemon/dist/api/graph-handlers/index.js +24 -0
- package/node_modules/@comis/daemon/dist/api/heartbeat-handlers.d.ts +27 -0
- package/node_modules/@comis/daemon/dist/api/heartbeat-handlers.js +240 -0
- package/node_modules/@comis/daemon/dist/api/image-handlers.d.ts +45 -0
- package/node_modules/@comis/daemon/dist/api/image-handlers.js +122 -0
- package/node_modules/@comis/daemon/dist/api/index.d.ts +26 -0
- package/node_modules/@comis/daemon/dist/api/index.js +25 -0
- package/node_modules/@comis/daemon/dist/api/mcp-handlers.d.ts +38 -0
- package/node_modules/@comis/daemon/dist/api/mcp-handlers.js +327 -0
- package/node_modules/@comis/daemon/dist/api/media-handlers.d.ts +47 -0
- package/node_modules/@comis/daemon/dist/api/media-handlers.js +599 -0
- package/node_modules/@comis/daemon/dist/api/memory-handlers.d.ts +36 -0
- package/node_modules/@comis/daemon/dist/api/memory-handlers.js +333 -0
- package/node_modules/@comis/daemon/dist/api/message-handlers.d.ts +27 -0
- package/node_modules/@comis/daemon/dist/api/message-handlers.js +389 -0
- package/node_modules/@comis/daemon/dist/api/model-handlers.d.ts +18 -0
- package/node_modules/@comis/daemon/dist/api/model-handlers.js +180 -0
- package/node_modules/@comis/daemon/dist/api/notification-handlers.d.ts +39 -0
- package/node_modules/@comis/daemon/dist/api/notification-handlers.js +95 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/index.d.ts +20 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/index.js +27 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-diagnostics.d.ts +22 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-diagnostics.js +270 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-export.d.ts +22 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-export.js +110 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-helpers.d.ts +21 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-helpers.js +21 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-metrics.d.ts +22 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-metrics.js +393 -0
- package/node_modules/@comis/daemon/dist/api/provider-handlers.d.ts +25 -0
- package/node_modules/@comis/daemon/dist/api/provider-handlers.js +448 -0
- package/node_modules/@comis/daemon/dist/api/rpc-dispatch.d.ts +31 -0
- package/node_modules/@comis/daemon/dist/api/rpc-dispatch.js +307 -0
- package/node_modules/@comis/daemon/dist/api/secrets-handlers.d.ts +64 -0
- package/node_modules/@comis/daemon/dist/api/secrets-handlers.js +463 -0
- package/node_modules/@comis/daemon/dist/api/session-handlers/index.d.ts +14 -0
- package/node_modules/@comis/daemon/dist/api/session-handlers/index.js +23 -0
- package/node_modules/@comis/daemon/dist/api/session-handlers/session-archive.d.ts +17 -0
- package/node_modules/@comis/daemon/dist/api/session-handlers/session-archive.js +91 -0
- package/node_modules/@comis/daemon/dist/api/session-handlers/session-helpers.d.ts +66 -0
- package/node_modules/@comis/daemon/dist/api/session-handlers/session-helpers.js +215 -0
- package/node_modules/@comis/daemon/dist/api/session-handlers/session-list.d.ts +16 -0
- package/node_modules/@comis/daemon/dist/api/session-handlers/session-list.js +239 -0
- package/node_modules/@comis/daemon/dist/api/session-handlers/session-mutate.d.ts +17 -0
- package/node_modules/@comis/daemon/dist/api/session-handlers/session-mutate.js +191 -0
- package/node_modules/@comis/daemon/dist/api/session-handlers/session-read.d.ts +18 -0
- package/node_modules/@comis/daemon/dist/api/session-handlers/session-read.js +277 -0
- package/node_modules/@comis/daemon/dist/api/shared/builtin-provider-guard.js +60 -0
- package/node_modules/@comis/daemon/dist/api/shared/credential-resolver.js +162 -0
- package/node_modules/@comis/daemon/dist/api/shared/persist-to-config.d.ts +105 -0
- package/node_modules/@comis/daemon/dist/api/shared/persist-to-config.js +235 -0
- package/node_modules/@comis/daemon/dist/api/skill-handlers.d.ts +50 -0
- package/node_modules/@comis/daemon/dist/api/skill-handlers.js +523 -0
- package/node_modules/@comis/daemon/dist/api/subagent-handlers.d.ts +24 -0
- package/node_modules/@comis/daemon/dist/api/subagent-handlers.js +116 -0
- package/node_modules/@comis/daemon/dist/api/token-handlers.d.ts +83 -0
- package/node_modules/@comis/daemon/dist/api/token-handlers.js +311 -0
- package/node_modules/@comis/daemon/dist/api/types.d.ts +466 -0
- package/node_modules/@comis/daemon/dist/api/types.js +18 -0
- package/node_modules/@comis/daemon/dist/api/workspace-handlers.d.ts +40 -0
- package/node_modules/@comis/daemon/dist/api/workspace-handlers.js +513 -0
- package/node_modules/@comis/daemon/dist/config/last-known-good.js +3 -2
- package/node_modules/@comis/daemon/dist/daemon-types.d.ts +322 -9
- package/node_modules/@comis/daemon/dist/daemon-types.js +9 -2
- package/node_modules/@comis/daemon/dist/daemon.d.ts +9 -6
- package/node_modules/@comis/daemon/dist/daemon.js +456 -1060
- package/node_modules/@comis/daemon/dist/device/device-pairing.js +3 -3
- package/node_modules/@comis/daemon/dist/graph/graph-cleanup.js +5 -4
- package/node_modules/@comis/daemon/dist/graph/graph-completion.js +11 -11
- package/node_modules/@comis/daemon/dist/graph/graph-coordinator-state.d.ts +1 -1
- package/node_modules/@comis/daemon/dist/graph/graph-coordinator.d.ts +1 -1
- package/node_modules/@comis/daemon/dist/graph/graph-coordinator.js +11 -11
- package/node_modules/@comis/daemon/dist/graph/graph-driver-handler.js +21 -22
- package/node_modules/@comis/daemon/dist/graph/graph-node-lifecycle.js +19 -20
- package/node_modules/@comis/daemon/dist/graph/graph-prewarm.js +5 -4
- package/node_modules/@comis/daemon/dist/graph/graph-state-machine.js +7 -6
- package/node_modules/@comis/daemon/dist/health/watchdog.js +4 -4
- package/node_modules/@comis/daemon/dist/index.d.ts +8 -9
- package/node_modules/@comis/daemon/dist/index.js +20 -8
- package/node_modules/@comis/daemon/dist/monitoring/disk-space-source.js +2 -1
- package/node_modules/@comis/daemon/dist/monitoring/exec-helpers.js +2 -1
- package/node_modules/@comis/daemon/dist/monitoring/git-watcher-source.js +2 -1
- package/node_modules/@comis/daemon/dist/monitoring/security-update-source.js +3 -1
- package/node_modules/@comis/daemon/dist/monitoring/system-resources-source.js +3 -1
- package/node_modules/@comis/daemon/dist/monitoring/systemd-service-source.js +3 -1
- package/node_modules/@comis/daemon/dist/observability/billing-estimator.js +4 -3
- package/node_modules/@comis/daemon/dist/observability/channel-activity-tracker.js +4 -3
- package/node_modules/@comis/daemon/dist/observability/channel-health-logger.js +5 -4
- package/node_modules/@comis/daemon/dist/observability/delivery-queue-logger.js +2 -2
- package/node_modules/@comis/daemon/dist/observability/delivery-tracer.js +8 -8
- package/node_modules/@comis/daemon/dist/observability/diagnostic-collector.js +4 -4
- package/node_modules/@comis/daemon/dist/observability/latency-recorder.js +3 -2
- package/node_modules/@comis/daemon/dist/observability/log-infra.js +3 -2
- package/node_modules/@comis/daemon/dist/observability/obs-persistence-wiring.js +7 -6
- package/node_modules/@comis/daemon/dist/observability/token-tracker.js +2 -1
- package/node_modules/@comis/daemon/dist/process/graceful-shutdown.js +8 -7
- package/node_modules/@comis/daemon/dist/process/process-monitor.js +4 -3
- package/node_modules/@comis/daemon/dist/stages/agents-helpers.d.ts +89 -0
- package/node_modules/@comis/daemon/dist/stages/agents-helpers.js +155 -0
- package/node_modules/@comis/daemon/dist/stages/channels-helpers.d.ts +127 -0
- package/node_modules/@comis/daemon/dist/stages/channels-helpers.js +223 -0
- package/node_modules/@comis/daemon/dist/stages/foundation-helpers.d.ts +53 -0
- package/node_modules/@comis/daemon/dist/stages/foundation-helpers.js +208 -0
- package/node_modules/@comis/daemon/dist/stages/gateway-helpers.d.ts +120 -0
- package/node_modules/@comis/daemon/dist/stages/gateway-helpers.js +277 -0
- package/node_modules/@comis/daemon/dist/stages/index.d.ts +14 -0
- package/node_modules/@comis/daemon/dist/stages/index.js +15 -0
- package/node_modules/@comis/daemon/dist/stages/shutdown-helpers.d.ts +84 -0
- package/node_modules/@comis/daemon/dist/stages/shutdown-helpers.js +157 -0
- package/node_modules/@comis/daemon/dist/wiring/daemon-context.d.ts +8 -8
- package/node_modules/@comis/daemon/dist/wiring/daemon-context.js +3 -2
- package/node_modules/@comis/daemon/dist/wiring/daemon-utils.d.ts +12 -11
- package/node_modules/@comis/daemon/dist/wiring/daemon-utils.js +15 -2
- package/node_modules/@comis/daemon/dist/wiring/inbound-message-id-resolver.d.ts +1 -1
- package/node_modules/@comis/daemon/dist/wiring/inbound-message-id-resolver.js +10 -1
- package/node_modules/@comis/daemon/dist/wiring/index.d.ts +4 -4
- package/node_modules/@comis/daemon/dist/wiring/index.js +4 -4
- package/node_modules/@comis/daemon/dist/wiring/oauth-preflight.js +3 -3
- package/node_modules/@comis/daemon/dist/wiring/restart-continuation.js +4 -3
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/index.d.ts +18 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/index.js +17 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/setup-agents-registry.d.ts +141 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/setup-agents-registry.js +278 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/setup-agents-runtime.d.ts +31 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/setup-agents-runtime.js +419 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/setup-agents-tooling.d.ts +51 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/setup-agents-tooling.js +103 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/setup-agents-types.d.ts +127 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/setup-agents-types.js +11 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-background-tasks.d.ts +5 -1
- package/node_modules/@comis/daemon/dist/wiring/setup-background-tasks.js +3 -1
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/index.d.ts +15 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/index.js +15 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-credentials.d.ts +76 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-credentials.js +361 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-registry.d.ts +183 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-registry.js +140 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-runtime.d.ts +111 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-runtime.js +429 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels-adapters.js +51 -4
- package/node_modules/@comis/daemon/dist/wiring/setup-channels-media.js +5 -5
- package/node_modules/@comis/daemon/dist/wiring/setup-cross-session/index.d.ts +16 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-cross-session/index.js +16 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-cross-session/setup-cross-session-events.d.ts +37 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-cross-session/setup-cross-session-events.js +104 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-cross-session/setup-cross-session-graph.d.ts +90 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-cross-session/setup-cross-session-graph.js +419 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-cross-session/setup-cross-session-runtime.d.ts +96 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-cross-session/setup-cross-session-runtime.js +241 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-delivery.d.ts +1 -2
- package/node_modules/@comis/daemon/dist/wiring/setup-delivery.js +16 -17
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway/index.d.ts +22 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway/index.js +21 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway/setup-gateway-admin.d.ts +100 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway/setup-gateway-admin.js +273 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway/setup-gateway-routes.d.ts +121 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway/setup-gateway-routes.js +147 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway/setup-gateway-rpc.d.ts +103 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway/setup-gateway-rpc.js +415 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway-api.d.ts +60 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway-api.js +68 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway-routes.js +11 -10
- package/node_modules/@comis/daemon/dist/wiring/setup-heartbeat.d.ts +1 -3
- package/node_modules/@comis/daemon/dist/wiring/setup-heartbeat.js +4 -5
- package/node_modules/@comis/daemon/dist/wiring/setup-mcp.js +1 -1
- package/node_modules/@comis/daemon/dist/wiring/setup-memory.d.ts +2 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-memory.js +2 -2
- package/node_modules/@comis/daemon/dist/wiring/setup-observability.js +2 -1
- package/node_modules/@comis/daemon/dist/wiring/setup-output-retention.js +4 -4
- package/node_modules/@comis/daemon/dist/wiring/setup-schedulers.d.ts +8 -4
- package/node_modules/@comis/daemon/dist/wiring/setup-schedulers.js +33 -23
- package/node_modules/@comis/daemon/dist/wiring/setup-shutdown.d.ts +1 -1
- package/node_modules/@comis/daemon/dist/wiring/setup-shutdown.js +51 -51
- package/node_modules/@comis/daemon/dist/wiring/setup-tools.d.ts +1 -1
- package/node_modules/@comis/daemon/dist/wiring/setup-tools.js +101 -93
- package/node_modules/@comis/daemon/dist/wiring/tool-capability-adapter.js +1 -1
- package/node_modules/@comis/daemon/package.json +1 -1
- package/node_modules/@comis/gateway/dist/acp/acp-server.js +1 -0
- package/node_modules/@comis/gateway/dist/auth/mtls-verifier.js +3 -2
- package/node_modules/@comis/gateway/dist/oauth/oauth-callback-route.d.ts +3 -3
- package/node_modules/@comis/gateway/dist/oauth/oauth-callback-route.js +7 -6
- package/node_modules/@comis/gateway/dist/openai/openai-completions.js +2 -1
- package/node_modules/@comis/gateway/dist/rpc/ws-handler.js +10 -9
- package/node_modules/@comis/gateway/dist/server/gateway-logger.d.ts +17 -0
- package/node_modules/@comis/gateway/dist/server/gateway-logger.js +1 -0
- package/node_modules/@comis/gateway/dist/server/hono-server.d.ts +2 -13
- package/node_modules/@comis/gateway/dist/server/hono-server.js +2 -2
- package/node_modules/@comis/gateway/dist/web/media-routes.js +3 -2
- package/node_modules/@comis/gateway/dist/web/rest-api.js +3 -3
- package/node_modules/@comis/gateway/dist/webhook/hmac-verifier.js +2 -1
- package/node_modules/@comis/gateway/dist/webhook/webhook-endpoint.js +2 -1
- package/node_modules/@comis/gateway/package.json +1 -1
- package/node_modules/@comis/infra/dist/index.d.ts +5 -2
- package/node_modules/@comis/infra/dist/index.js +10 -1
- package/node_modules/@comis/infra/dist/logging/index.d.ts +2 -2
- package/node_modules/@comis/infra/dist/logging/index.js +8 -2
- package/node_modules/@comis/infra/dist/logging/logger.d.ts +23 -5
- package/node_modules/@comis/infra/dist/logging/logger.js +19 -4
- package/node_modules/@comis/infra/dist/runtime/clock.d.ts +12 -0
- package/node_modules/@comis/infra/dist/runtime/clock.js +6 -0
- package/node_modules/@comis/infra/dist/runtime/env.d.ts +15 -0
- package/node_modules/@comis/infra/dist/runtime/env.js +11 -0
- package/node_modules/@comis/infra/dist/runtime/timers.d.ts +20 -0
- package/node_modules/@comis/infra/dist/runtime/timers.js +27 -0
- package/node_modules/@comis/infra/package.json +1 -1
- package/node_modules/@comis/memory/dist/compaction.d.ts +3 -4
- package/node_modules/@comis/memory/dist/compaction.js +6 -5
- package/node_modules/@comis/memory/dist/context-store.d.ts +3 -119
- package/node_modules/@comis/memory/dist/context-store.js +110 -38
- package/node_modules/@comis/memory/dist/credential-mapping-store.js +25 -8
- package/node_modules/@comis/memory/dist/delivery-mirror-adapter.js +12 -5
- package/node_modules/@comis/memory/dist/delivery-queue-adapter.js +40 -12
- package/node_modules/@comis/memory/dist/embedding-cache-sqlite.js +16 -7
- package/node_modules/@comis/memory/dist/hybrid-search.js +37 -3
- package/node_modules/@comis/memory/dist/identity-link-store.js +14 -4
- package/node_modules/@comis/memory/dist/index.d.ts +5 -5
- package/node_modules/@comis/memory/dist/index.js +10 -1
- package/node_modules/@comis/memory/dist/memory-api.d.ts +2 -3
- package/node_modules/@comis/memory/dist/memory-api.js +25 -9
- package/node_modules/@comis/memory/dist/named-graph-store.js +22 -6
- package/node_modules/@comis/memory/dist/oauth-profile-store-encrypted.js +31 -24
- package/node_modules/@comis/memory/dist/observability-store/index.d.ts +27 -0
- package/node_modules/@comis/memory/dist/observability-store/index.js +35 -0
- package/node_modules/@comis/memory/dist/observability-store/observability-mutations.d.ts +20 -0
- package/node_modules/@comis/memory/dist/observability-store/observability-mutations.js +63 -0
- package/node_modules/@comis/memory/dist/observability-store/observability-queries.d.ts +20 -0
- package/node_modules/@comis/memory/dist/observability-store/observability-queries.js +256 -0
- package/node_modules/@comis/memory/dist/observability-store/observability-reset.d.ts +20 -0
- package/node_modules/@comis/memory/dist/observability-store/observability-reset.js +61 -0
- package/node_modules/@comis/memory/dist/observability-store/observability-store-types.d.ts +336 -0
- package/node_modules/@comis/memory/dist/observability-store/observability-store-types.js +116 -0
- package/node_modules/@comis/memory/dist/row-mapper.d.ts +62 -0
- package/node_modules/@comis/memory/dist/row-mapper.js +113 -5
- package/node_modules/@comis/memory/dist/row-schemas.d.ts +559 -0
- package/node_modules/@comis/memory/dist/row-schemas.js +560 -0
- package/node_modules/@comis/memory/dist/schema.js +1 -0
- package/node_modules/@comis/memory/dist/secret-store-schema.js +3 -1
- package/node_modules/@comis/memory/dist/session-store.d.ts +3 -75
- package/node_modules/@comis/memory/dist/session-store.js +37 -9
- package/node_modules/@comis/memory/dist/sqlite-adapter-base.d.ts +3 -3
- package/node_modules/@comis/memory/dist/sqlite-adapter-base.js +3 -3
- package/node_modules/@comis/memory/dist/sqlite-memory-adapter.js +55 -34
- package/node_modules/@comis/memory/dist/sqlite-secret-store.js +35 -4
- package/node_modules/@comis/memory/dist/types.d.ts +0 -114
- package/node_modules/@comis/memory/dist/types.js +7 -0
- package/node_modules/@comis/memory/package.json +1 -1
- package/node_modules/@comis/orchestrator/dist/channel-manager.d.ts +230 -0
- package/node_modules/@comis/orchestrator/dist/channel-manager.js +229 -0
- package/node_modules/@comis/orchestrator/dist/commands/command-handler.js +509 -0
- package/node_modules/@comis/orchestrator/dist/cross-session/announcement-batcher.js +235 -0
- package/node_modules/@comis/orchestrator/dist/cross-session/announcement-dead-letter.d.ts +92 -0
- package/node_modules/@comis/orchestrator/dist/cross-session/announcement-dead-letter.js +219 -0
- package/node_modules/@comis/orchestrator/dist/cross-session/cross-session-sender.js +145 -0
- package/node_modules/@comis/orchestrator/dist/execution/execution-deliver.d.ts +20 -0
- package/node_modules/@comis/orchestrator/dist/execution/execution-deliver.js +173 -0
- package/node_modules/@comis/orchestrator/dist/execution/execution-execute.d.ts +45 -0
- package/node_modules/@comis/orchestrator/dist/execution/execution-execute.js +176 -0
- package/node_modules/@comis/orchestrator/dist/execution/execution-filter.d.ts +30 -0
- package/node_modules/@comis/orchestrator/dist/execution/execution-filter.js +182 -0
- package/node_modules/@comis/orchestrator/dist/execution/execution-pipeline.d.ts +106 -0
- package/node_modules/@comis/orchestrator/dist/execution/execution-pipeline.js +294 -0
- package/node_modules/@comis/orchestrator/dist/execution/execution-policy.d.ts +34 -0
- package/node_modules/@comis/orchestrator/dist/execution/execution-policy.js +127 -0
- package/node_modules/@comis/orchestrator/dist/inbound/inbound-gate.d.ts +35 -0
- package/node_modules/@comis/orchestrator/dist/inbound/inbound-gate.js +387 -0
- package/node_modules/@comis/orchestrator/dist/inbound/inbound-pipeline.d.ts +158 -0
- package/node_modules/@comis/orchestrator/dist/inbound/inbound-pipeline.js +90 -0
- package/node_modules/@comis/orchestrator/dist/inbound/inbound-preprocess.js +83 -0
- package/node_modules/@comis/orchestrator/dist/inbound/inbound-resolve.js +57 -0
- package/node_modules/@comis/orchestrator/dist/inbound/inbound-route.d.ts +24 -0
- package/node_modules/@comis/orchestrator/dist/inbound/inbound-route.js +248 -0
- package/node_modules/@comis/orchestrator/dist/inbound/inbound-setup.d.ts +32 -0
- package/node_modules/@comis/orchestrator/dist/inbound/inbound-setup.js +147 -0
- package/node_modules/@comis/orchestrator/dist/index.d.ts +31 -0
- package/node_modules/@comis/orchestrator/dist/index.js +75 -0
- package/node_modules/@comis/orchestrator/dist/queue/coalescer.js +59 -0
- package/node_modules/@comis/orchestrator/dist/queue/command-queue.d.ts +88 -0
- package/node_modules/@comis/orchestrator/dist/queue/command-queue.js +351 -0
- package/node_modules/@comis/orchestrator/dist/queue/debounce-buffer.js +132 -0
- package/node_modules/@comis/orchestrator/dist/queue/followup-trigger.js +63 -0
- package/node_modules/@comis/orchestrator/dist/queue/overflow.js +98 -0
- package/node_modules/@comis/orchestrator/dist/queue/priority-scheduler.js +200 -0
- package/node_modules/@comis/orchestrator/dist/session-key/session-key-builder.d.ts +49 -0
- package/node_modules/@comis/orchestrator/dist/session-key/session-key-builder.js +100 -0
- package/node_modules/@comis/orchestrator/package.json +44 -0
- package/node_modules/@comis/scheduler/dist/cron/cron-expression.js +3 -2
- package/node_modules/@comis/scheduler/dist/cron/cron-scheduler.d.ts +1 -1
- package/node_modules/@comis/scheduler/dist/cron/cron-scheduler.js +6 -5
- package/node_modules/@comis/scheduler/dist/cron/cron-store.js +13 -7
- package/node_modules/@comis/scheduler/dist/cron/index.d.ts +1 -1
- package/node_modules/@comis/scheduler/dist/execution/execution-tracker.js +1 -0
- package/node_modules/@comis/scheduler/dist/execution/index.d.ts +0 -2
- package/node_modules/@comis/scheduler/dist/execution/index.js +4 -3
- package/node_modules/@comis/scheduler/dist/heartbeat/agent-heartbeat-source.d.ts +7 -2
- package/node_modules/@comis/scheduler/dist/heartbeat/agent-heartbeat-source.js +7 -7
- package/node_modules/@comis/scheduler/dist/heartbeat/delivery-bridge.js +5 -4
- package/node_modules/@comis/scheduler/dist/heartbeat/heartbeat-runner.js +3 -3
- package/node_modules/@comis/scheduler/dist/heartbeat/per-agent-heartbeat-runner.js +4 -3
- package/node_modules/@comis/scheduler/dist/heartbeat/prompt-builder.js +2 -1
- package/node_modules/@comis/scheduler/dist/heartbeat/quiet-hours.js +3 -1
- package/node_modules/@comis/scheduler/dist/heartbeat/response-cache.d.ts +4 -1
- package/node_modules/@comis/scheduler/dist/heartbeat/response-cache.js +6 -2
- package/node_modules/@comis/scheduler/dist/heartbeat/wake-coalescer.js +7 -6
- package/node_modules/@comis/scheduler/dist/index.d.ts +1 -3
- package/node_modules/@comis/scheduler/dist/index.js +3 -2
- package/node_modules/@comis/scheduler/dist/tasks/task-priority.js +2 -1
- package/node_modules/@comis/scheduler/dist/tasks/task-store.js +3 -2
- package/node_modules/@comis/scheduler/package.json +1 -1
- package/node_modules/@comis/shared/dist/timeout.d.ts +16 -1
- package/node_modules/@comis/shared/dist/timeout.js +19 -4
- package/node_modules/@comis/shared/dist/ttl-cache.d.ts +13 -3
- package/node_modules/@comis/shared/dist/ttl-cache.js +12 -2
- package/node_modules/@comis/shared/package.json +1 -1
- package/node_modules/@comis/skills/dist/index.d.ts +9 -60
- package/node_modules/@comis/skills/dist/index.js +9 -109
- package/node_modules/@comis/skills/dist/platform-tools/admin-manage-factory.d.ts +70 -0
- package/node_modules/@comis/skills/dist/platform-tools/index.d.ts +68 -0
- package/node_modules/@comis/skills/dist/platform-tools/index.js +84 -0
- package/node_modules/@comis/skills/dist/platform-tools/messaging-factory.d.ts +92 -0
- package/node_modules/@comis/skills/dist/platform-tools/platform-action-tool.d.ts +60 -0
- package/node_modules/@comis/skills/dist/platform-tools/registry.d.ts +104 -0
- package/node_modules/@comis/skills/dist/platform-tools/registry.js +324 -0
- package/node_modules/@comis/skills/dist/platform-tools/tool-helpers.d.ts +163 -0
- package/node_modules/@comis/skills/dist/platform-tools/tool-helpers.js +238 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/agents-manage-tool.d.ts +116 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/agents-manage-tool.js +401 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/background-tasks-tool.d.ts +54 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/background-tasks-tool.js +158 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/browser-tool-schema.d.ts +88 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/browser-tool.d.ts +43 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/browser-tool.js +98 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/channels-manage-tool.d.ts +37 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/channels-manage-tool.js +140 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/cron-tool.d.ts +49 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/cron-tool.js +172 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/ctx-expand-tool.d.ts +25 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/ctx-expand-tool.js +48 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/ctx-inspect-tool.d.ts +23 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/ctx-inspect-tool.js +47 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/ctx-recall-tool.d.ts +27 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/ctx-recall-tool.js +62 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/ctx-search-tool.d.ts +27 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/ctx-search-tool.js +52 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/describe-video-tool.d.ts +24 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/describe-video-tool.js +53 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/discord-action-tool.d.ts +30 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/discord-action-tool.js +90 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/extract-document-tool.d.ts +24 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/extract-document-tool.js +53 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/gateway-tool.d.ts +59 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/gateway-tool.js +274 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/heartbeat-manage-tool.d.ts +37 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/heartbeat-manage-tool.js +139 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/image-generate-tool.d.ts +27 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/image-generate-tool.js +41 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/image-tool.d.ts +28 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/image-tool.js +73 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/mcp-manage-tool.d.ts +24 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/mcp-manage-tool.js +109 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/memory-get-tool.d.ts +28 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/memory-get-tool.js +55 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/memory-manage-tool.d.ts +42 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/memory-manage-tool.js +183 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/memory-search-tool.d.ts +24 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/memory-search-tool.js +44 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/memory-store-tool.d.ts +23 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/memory-store-tool.js +66 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/message-tool.d.ts +50 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/message-tool.js +209 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/models-manage-tool.d.ts +33 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/models-manage-tool.js +83 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/notify-tool.d.ts +29 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/notify-tool.js +54 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/obs-query-tool.d.ts +26 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/obs-query-tool.js +180 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/pipeline-tool.d.ts +63 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/pipeline-tool.js +461 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/providers-manage-tool.d.ts +57 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/providers-manage-tool.js +203 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/session-search-tool.d.ts +33 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/session-search-tool.js +76 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/session-status-tool.d.ts +22 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/session-status-tool.js +43 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/sessions-history-tool.d.ts +24 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/sessions-history-tool.js +51 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/sessions-list-tool.d.ts +23 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/sessions-list-tool.js +51 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/sessions-manage-tool.d.ts +34 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/sessions-manage-tool.js +82 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/sessions-send-tool.d.ts +30 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/sessions-send-tool.js +58 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/sessions-spawn-tool.d.ts +39 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/sessions-spawn-tool.js +84 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/skills-manage-tool.d.ts +39 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/skills-manage-tool.js +107 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/slack-action-tool.d.ts +24 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/slack-action-tool.js +77 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/subagents-tool.d.ts +27 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/subagents-tool.js +101 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/telegram-action-tool.d.ts +22 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/telegram-action-tool.js +72 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/tokens-manage-tool.d.ts +34 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/tokens-manage-tool.js +87 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/transcribe-audio-tool.d.ts +24 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/transcribe-audio-tool.js +53 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/tts-tool.d.ts +26 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/tts-tool.js +61 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/unified-context-tool.d.ts +35 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/unified-context-tool.js +106 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/unified-memory-tool.d.ts +45 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/unified-memory-tool.js +230 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/unified-session-tool.d.ts +33 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/unified-session-tool.js +130 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/whatsapp-action-tool.d.ts +25 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/whatsapp-action-tool.js +79 -0
- package/node_modules/@comis/skills/dist/skills/audit/skill-audit.js +72 -0
- package/node_modules/@comis/skills/dist/skills/bridge/credential-injector.d.ts +90 -0
- package/node_modules/@comis/skills/dist/skills/bridge/credential-injector.js +236 -0
- package/node_modules/@comis/skills/dist/skills/bridge/mcp-tool-bridge.d.ts +70 -0
- package/node_modules/@comis/skills/dist/skills/bridge/mcp-tool-bridge.js +242 -0
- package/node_modules/@comis/skills/dist/skills/bridge/schema-validator.js +169 -0
- package/node_modules/@comis/skills/dist/skills/bridge/tool-audit.d.ts +25 -0
- package/node_modules/@comis/skills/dist/skills/bridge/tool-audit.js +79 -0
- package/node_modules/@comis/skills/dist/skills/bridge/tool-bridge.d.ts +91 -0
- package/node_modules/@comis/skills/dist/skills/bridge/tool-bridge.js +137 -0
- package/node_modules/@comis/skills/dist/skills/bridge/tool-definition-adapter.d.ts +33 -0
- package/node_modules/@comis/skills/dist/skills/bridge/tool-metadata-enforcement.d.ts +45 -0
- package/node_modules/@comis/skills/dist/skills/bridge/tool-metadata-enforcement.js +114 -0
- package/node_modules/@comis/skills/dist/skills/bridge/tool-metadata-registry.js +493 -0
- package/node_modules/@comis/skills/dist/skills/index.d.ts +75 -0
- package/node_modules/@comis/skills/dist/skills/index.js +108 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/index.d.ts +25 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/index.js +64 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-call.d.ts +23 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-call.js +114 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-connect.d.ts +24 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-connect.js +190 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-discover.d.ts +75 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-discover.js +214 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-reconnect.d.ts +42 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-reconnect.js +234 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-types.d.ts +201 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-types.js +42 -0
- package/node_modules/@comis/skills/dist/skills/policy/tool-policy.d.ts +74 -0
- package/node_modules/@comis/skills/dist/skills/prompt/sanitizer.d.ts +57 -0
- package/node_modules/@comis/skills/dist/skills/prompt/sanitizer.js +67 -0
- package/node_modules/@comis/skills/dist/skills/registry/discovery.d.ts +102 -0
- package/node_modules/@comis/skills/dist/skills/registry/discovery.js +339 -0
- package/node_modules/@comis/skills/dist/skills/registry/skill-registry/index.d.ts +17 -0
- package/node_modules/@comis/skills/dist/skills/registry/skill-registry/index.js +18 -0
- package/node_modules/@comis/skills/dist/skills/registry/skill-registry/skill-registry-cache.d.ts +34 -0
- package/node_modules/@comis/skills/dist/skills/registry/skill-registry/skill-registry-cache.js +391 -0
- package/node_modules/@comis/skills/dist/skills/registry/skill-registry/skill-registry-discovery.d.ts +67 -0
- package/node_modules/@comis/skills/dist/skills/registry/skill-registry/skill-registry-discovery.js +224 -0
- package/node_modules/@comis/skills/dist/skills/registry/skill-registry/skill-registry-types.d.ts +160 -0
- package/node_modules/@comis/skills/dist/skills/registry/skill-registry/skill-registry-types.js +17 -0
- package/node_modules/@comis/skills/dist/skills/registry/skill-watcher.js +167 -0
- package/node_modules/@comis/skills/dist/tools/browser/browser-service.js +193 -0
- package/node_modules/@comis/skills/dist/tools/browser/cdp.d.ts +59 -0
- package/node_modules/@comis/skills/dist/tools/browser/cdp.js +95 -0
- package/node_modules/@comis/skills/dist/tools/browser/chrome-detection.d.ts +50 -0
- package/node_modules/@comis/skills/dist/tools/browser/chrome-detection.js +325 -0
- package/node_modules/@comis/skills/dist/tools/browser/playwright-actions.js +242 -0
- package/node_modules/@comis/skills/dist/tools/browser/playwright-session.js +343 -0
- package/node_modules/@comis/skills/dist/tools/browser/profiles.js +71 -0
- package/node_modules/@comis/skills/dist/tools/browser/screenshots.js +66 -0
- package/node_modules/@comis/skills/dist/tools/builtin/exec-security/exec-security-allowlist.d.ts +72 -0
- package/node_modules/@comis/skills/dist/tools/builtin/exec-security/exec-security-allowlist.js +391 -0
- package/node_modules/@comis/skills/dist/tools/builtin/exec-security/exec-security-pre-check.d.ts +87 -0
- package/node_modules/@comis/skills/dist/tools/builtin/exec-security/exec-security-pre-check.js +331 -0
- package/node_modules/@comis/skills/dist/tools/builtin/exec-security/exec-security-sandbox.d.ts +75 -0
- package/node_modules/@comis/skills/dist/tools/builtin/exec-security/exec-security-sandbox.js +332 -0
- package/node_modules/@comis/skills/dist/tools/builtin/exec-security/index.d.ts +13 -0
- package/node_modules/@comis/skills/dist/tools/builtin/exec-security/index.js +18 -0
- package/node_modules/@comis/skills/dist/tools/builtin/exec-tool/exec-background.d.ts +23 -0
- package/node_modules/@comis/skills/dist/tools/builtin/exec-tool/exec-background.js +213 -0
- package/node_modules/@comis/skills/dist/tools/builtin/exec-tool/exec-foreground.d.ts +14 -0
- package/node_modules/@comis/skills/dist/tools/builtin/exec-tool/exec-foreground.js +338 -0
- package/node_modules/@comis/skills/dist/tools/builtin/exec-tool/exec-shared.d.ts +102 -0
- package/node_modules/@comis/skills/dist/tools/builtin/exec-tool/exec-shared.js +386 -0
- package/node_modules/@comis/skills/dist/tools/builtin/exec-tool/exec-types.d.ts +100 -0
- package/node_modules/@comis/skills/dist/tools/builtin/exec-tool/exec-types.js +60 -0
- package/node_modules/@comis/skills/dist/tools/builtin/exec-tool/index.d.ts +27 -0
- package/node_modules/@comis/skills/dist/tools/builtin/exec-tool/index.js +155 -0
- package/node_modules/@comis/skills/dist/tools/builtin/file/apply-patch-tool.d.ts +17 -0
- package/node_modules/@comis/skills/dist/tools/builtin/file/apply-patch-tool.js +419 -0
- package/node_modules/@comis/skills/dist/tools/builtin/file/file-state-tracker.js +139 -0
- package/node_modules/@comis/skills/dist/tools/builtin/file/file-tools.d.ts +31 -0
- package/node_modules/@comis/skills/dist/tools/builtin/file/path-suggest.js +209 -0
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/edit-tool.d.ts +41 -0
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/edit-tool.js +309 -0
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/find-tool.d.ts +37 -0
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/find-tool.js +314 -0
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/grep-tool.d.ts +47 -0
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/grep-tool.js +425 -0
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/ls-tool.d.ts +35 -0
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/ls-tool.js +167 -0
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/notebook-edit-tool.d.ts +33 -0
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/notebook-edit-tool.js +196 -0
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/read-tool.d.ts +51 -0
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/read-tool.js +428 -0
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/shared/edit-diff.js +576 -0
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/write-tool.d.ts +37 -0
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/write-tool.js +284 -0
- package/node_modules/@comis/skills/dist/tools/builtin/install-detour.js +342 -0
- package/node_modules/@comis/skills/dist/tools/builtin/process-registry.js +215 -0
- package/node_modules/@comis/skills/dist/tools/builtin/process-tool.d.ts +56 -0
- package/node_modules/@comis/skills/dist/tools/builtin/process-tool.js +122 -0
- package/node_modules/@comis/skills/dist/tools/builtin/sandbox/bwrap-provider.js +281 -0
- package/node_modules/@comis/skills/dist/tools/builtin/sandbox/sandbox-exec-provider.js +182 -0
- package/node_modules/@comis/skills/dist/tools/builtin/tool-provisioner.js +227 -0
- package/node_modules/@comis/skills/dist/tools/builtin/web-fetch-tool.d.ts +78 -0
- package/node_modules/@comis/skills/dist/tools/builtin/web-fetch-tool.js +528 -0
- package/node_modules/@comis/skills/dist/tools/builtin/web-search-brave.js +148 -0
- package/node_modules/@comis/skills/dist/tools/builtin/web-search-duckduckgo.js +193 -0
- package/node_modules/@comis/skills/dist/tools/builtin/web-search-exa.js +85 -0
- package/node_modules/@comis/skills/dist/tools/builtin/web-search-grok.js +88 -0
- package/node_modules/@comis/skills/dist/tools/builtin/web-search-jina.js +95 -0
- package/node_modules/@comis/skills/dist/tools/builtin/web-search-perplexity.js +116 -0
- package/node_modules/@comis/skills/dist/tools/builtin/web-search-searxng.js +101 -0
- package/node_modules/@comis/skills/dist/tools/builtin/web-search-tavily.js +88 -0
- package/node_modules/@comis/skills/dist/tools/builtin/web-search-tool/index.d.ts +53 -0
- package/node_modules/@comis/skills/dist/tools/builtin/web-search-tool/index.js +100 -0
- package/node_modules/@comis/skills/dist/tools/builtin/web-search-tool/web-search-formatting.d.ts +78 -0
- package/node_modules/@comis/skills/dist/tools/builtin/web-search-tool/web-search-formatting.js +258 -0
- package/node_modules/@comis/skills/dist/tools/builtin/web-search-tool/web-search-normalization.d.ts +63 -0
- package/node_modules/@comis/skills/dist/tools/builtin/web-search-tool/web-search-normalization.js +172 -0
- package/node_modules/@comis/skills/dist/tools/builtin/web-search-tool/web-search-providers.d.ts +124 -0
- package/node_modules/@comis/skills/dist/tools/builtin/web-search-tool/web-search-providers.js +207 -0
- package/node_modules/@comis/skills/dist/tools/builtin/web-shared.js +128 -0
- package/node_modules/@comis/skills/dist/tools/index.d.ts +63 -0
- package/node_modules/@comis/skills/dist/tools/index.js +76 -0
- package/node_modules/@comis/skills/dist/tools/integrations/deepgram-stt-adapter.js +82 -0
- package/node_modules/@comis/skills/dist/tools/integrations/document/file-extractor.js +149 -0
- package/node_modules/@comis/skills/dist/tools/integrations/document/pdf-extractor.js +215 -0
- package/node_modules/@comis/skills/dist/tools/integrations/groq-stt-adapter.js +77 -0
- package/node_modules/@comis/skills/dist/tools/integrations/image-gen/rate-limiter.d.ts +19 -0
- package/node_modules/@comis/skills/dist/tools/integrations/image-gen/rate-limiter.js +37 -0
- package/node_modules/@comis/skills/dist/tools/integrations/link/link-fetcher.js +74 -0
- package/node_modules/@comis/skills/dist/tools/integrations/media-handler-audio.js +63 -0
- package/node_modules/@comis/skills/dist/tools/integrations/openai-stt-adapter.js +79 -0
- package/node_modules/@comis/skills/dist/tools/media/audio-converter.d.ts +39 -0
- package/node_modules/@comis/skills/dist/tools/media/audio-converter.js +154 -0
- package/node_modules/@comis/skills/dist/tools/media/media-persistence.d.ts +64 -0
- package/node_modules/@comis/skills/dist/tools/media/media-persistence.js +95 -0
- package/node_modules/@comis/skills/dist/tools/media/media-store.d.ts +64 -0
- package/node_modules/@comis/skills/dist/tools/media/media-store.js +178 -0
- package/node_modules/@comis/skills/dist/tools/media/media-temp.d.ts +53 -0
- package/node_modules/@comis/skills/dist/tools/media/media-temp.js +135 -0
- package/node_modules/@comis/skills/dist/tools/media/ssrf-fetcher.js +216 -0
- package/node_modules/@comis/skills/package.json +11 -5
- package/node_modules/@comis/web/dist/assets/agent-detail-DXSFtHWB.js +615 -0
- package/node_modules/@comis/web/dist/assets/agent-editor-CiuLrd4A.js +2173 -0
- package/node_modules/@comis/web/dist/assets/agent-list-CSZqnk49.js +504 -0
- package/node_modules/@comis/web/dist/assets/billing-view-Dt9hN2-S.js +375 -0
- package/node_modules/@comis/web/dist/assets/channel-detail-Bxd-eTyq.js +681 -0
- package/node_modules/@comis/web/dist/assets/channel-list-BTQK5Su0.js +323 -0
- package/node_modules/@comis/web/dist/assets/chat-console-BWFla-NT.js +522 -0
- package/node_modules/@comis/web/dist/assets/config-editor-B0KqHvNZ.js +880 -0
- package/node_modules/@comis/web/dist/assets/context-dag-browser-DrU6rs_2.js +393 -0
- package/node_modules/@comis/web/dist/assets/context-engine-4Or7ghQM.js +393 -0
- package/node_modules/@comis/web/dist/assets/delivery-view-DTqEXWkS.js +392 -0
- package/node_modules/@comis/web/dist/assets/diagnostics-view-BgRS9D1X.js +231 -0
- package/node_modules/@comis/web/dist/assets/ic-chat-message-b8x6Gh80.js +352 -0
- package/node_modules/@comis/web/dist/assets/ic-connection-dot-gE_3dfRP.js +54 -0
- package/node_modules/@comis/web/dist/assets/ic-delivery-row-F-EU0Xak.js +67 -0
- package/node_modules/@comis/web/dist/assets/ic-empty-state-BRy4ZXds.js +52 -0
- package/node_modules/@comis/web/dist/assets/ic-graph-canvas-BoTtvCKw.js +359 -0
- package/node_modules/@comis/web/dist/assets/ic-relative-time-D6XlY7ay.js +12 -0
- package/node_modules/@comis/web/dist/assets/ic-search-input-BpNiR0Fq.js +92 -0
- package/node_modules/@comis/web/dist/assets/ic-time-range-picker-BBLngsQy.js +93 -0
- package/node_modules/@comis/web/dist/assets/ic-tool-call-BgawpBdb.js +146 -0
- package/node_modules/@comis/web/dist/assets/index-D-Jo4yjp.css +2 -0
- package/node_modules/@comis/web/dist/assets/index-D_ZV_sV5.js +2793 -0
- package/node_modules/@comis/web/dist/assets/mcp-management-b4i92dMD.js +582 -0
- package/node_modules/@comis/web/dist/assets/media-config-CWrVZl6U.js +314 -0
- package/node_modules/@comis/web/dist/assets/media-test-Bmo-rRC7.js +496 -0
- package/node_modules/@comis/web/dist/assets/memory-inspector-BxrE6SZ2.js +1139 -0
- package/node_modules/@comis/web/dist/assets/message-center-DWeWxIrB.js +372 -0
- package/node_modules/@comis/web/dist/assets/models-Kqn-n6hZ.js +894 -0
- package/node_modules/@comis/web/dist/assets/observe-view-D6TtO4wV.js +814 -0
- package/node_modules/@comis/web/dist/assets/pipeline-builder-B37sMf0m.js +1495 -0
- package/node_modules/@comis/web/dist/assets/pipeline-history-DsOViMHn.js +317 -0
- package/node_modules/@comis/web/dist/assets/pipeline-history-detail-D6g-NB_Q.js +287 -0
- package/node_modules/@comis/web/dist/assets/pipeline-list-Cdq3gXY-.js +518 -0
- package/node_modules/@comis/web/dist/assets/pipeline-monitor-5Cpf53xw.js +972 -0
- package/node_modules/@comis/web/dist/assets/scheduler-BhvTHH12.js +1182 -0
- package/node_modules/@comis/web/dist/assets/security-CVla4rqz.js +1224 -0
- package/node_modules/@comis/web/dist/assets/session-detail-DY2vzwAA.js +632 -0
- package/node_modules/@comis/web/dist/assets/session-key-parser-DKcjXRm7.js +1 -0
- package/node_modules/@comis/web/dist/assets/session-list-Do6x1E42.js +231 -0
- package/node_modules/@comis/web/dist/assets/setup-wizard-BWXGUpsz.js +466 -0
- package/node_modules/@comis/web/dist/assets/skills-LNGRvGqi.js +317 -0
- package/node_modules/@comis/web/dist/assets/subagents-Cw3fWHL2.js +193 -0
- package/node_modules/@comis/web/dist/assets/system-time-B0nBw4nV.js +1 -0
- package/node_modules/@comis/web/dist/assets/workspace-manager-CQEZ9ckL.js +785 -0
- package/node_modules/@comis/web/dist/index.html +3 -2
- package/node_modules/@comis/web/package.json +1 -1
- package/package.json +24 -18
- package/node_modules/@comis/agent/dist/commands/command-handler.js +0 -508
- package/node_modules/@comis/agent/dist/executor/cache-break-detection.d.ts +0 -228
- package/node_modules/@comis/agent/dist/executor/cache-break-detection.js +0 -656
- package/node_modules/@comis/agent/dist/executor/executor-prompt-runner.d.ts +0 -143
- package/node_modules/@comis/agent/dist/executor/executor-prompt-runner.js +0 -1013
- package/node_modules/@comis/agent/dist/executor/pi-executor.d.ts +0 -222
- package/node_modules/@comis/agent/dist/executor/pi-executor.js +0 -1215
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/__test-helpers.d.ts +0 -9
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/__test-helpers.js +0 -43
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body-injector.d.ts +0 -282
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body-injector.js +0 -1732
- package/node_modules/@comis/agent/dist/model/model-catalog.d.ts +0 -93
- package/node_modules/@comis/agent/dist/model/model-catalog.js +0 -152
- package/node_modules/@comis/agent/dist/model/oauth-credential-store-file.d.ts +0 -37
- package/node_modules/@comis/agent/dist/model/oauth-credential-store-file.js +0 -279
- package/node_modules/@comis/agent/dist/model/oauth-credential-store-selector.d.ts +0 -49
- package/node_modules/@comis/agent/dist/model/oauth-credential-store-selector.js +0 -50
- package/node_modules/@comis/agent/dist/model/oauth-device-code.d.ts +0 -57
- package/node_modules/@comis/agent/dist/model/oauth-device-code.js +0 -302
- package/node_modules/@comis/agent/dist/model/oauth-errors.d.ts +0 -41
- package/node_modules/@comis/agent/dist/model/oauth-errors.js +0 -88
- package/node_modules/@comis/agent/dist/model/oauth-identity.d.ts +0 -53
- package/node_modules/@comis/agent/dist/model/oauth-identity.js +0 -141
- package/node_modules/@comis/agent/dist/model/oauth-login-runner.d.ts +0 -99
- package/node_modules/@comis/agent/dist/model/oauth-login-runner.js +0 -374
- package/node_modules/@comis/agent/dist/queue/coalescer.js +0 -58
- package/node_modules/@comis/agent/dist/queue/command-queue.d.ts +0 -88
- package/node_modules/@comis/agent/dist/queue/command-queue.js +0 -351
- package/node_modules/@comis/agent/dist/queue/debounce-buffer.js +0 -132
- package/node_modules/@comis/agent/dist/queue/followup-trigger.js +0 -62
- package/node_modules/@comis/agent/dist/queue/overflow.js +0 -97
- package/node_modules/@comis/agent/dist/queue/priority-scheduler.js +0 -198
- package/node_modules/@comis/agent/dist/session/session-key-builder.d.ts +0 -46
- package/node_modules/@comis/agent/dist/session/session-key-builder.js +0 -100
- package/node_modules/@comis/channels/dist/shared/channel-manager.d.ts +0 -193
- package/node_modules/@comis/channels/dist/shared/channel-manager.js +0 -230
- package/node_modules/@comis/channels/dist/shared/chunk-for-delivery.d.ts +0 -40
- package/node_modules/@comis/channels/dist/shared/chunk-for-delivery.js +0 -77
- package/node_modules/@comis/channels/dist/shared/deliver-to-channel.d.ts +0 -166
- package/node_modules/@comis/channels/dist/shared/deliver-to-channel.js +0 -533
- package/node_modules/@comis/channels/dist/shared/execution-deliver.d.ts +0 -21
- package/node_modules/@comis/channels/dist/shared/execution-deliver.js +0 -174
- package/node_modules/@comis/channels/dist/shared/execution-execute.d.ts +0 -45
- package/node_modules/@comis/channels/dist/shared/execution-execute.js +0 -175
- package/node_modules/@comis/channels/dist/shared/execution-filter.d.ts +0 -30
- package/node_modules/@comis/channels/dist/shared/execution-filter.js +0 -186
- package/node_modules/@comis/channels/dist/shared/execution-pipeline.d.ts +0 -103
- package/node_modules/@comis/channels/dist/shared/execution-pipeline.js +0 -294
- package/node_modules/@comis/channels/dist/shared/execution-policy.d.ts +0 -34
- package/node_modules/@comis/channels/dist/shared/execution-policy.js +0 -128
- package/node_modules/@comis/channels/dist/shared/inbound-gate.d.ts +0 -35
- package/node_modules/@comis/channels/dist/shared/inbound-gate.js +0 -386
- package/node_modules/@comis/channels/dist/shared/inbound-pipeline.d.ts +0 -159
- package/node_modules/@comis/channels/dist/shared/inbound-pipeline.js +0 -89
- package/node_modules/@comis/channels/dist/shared/inbound-preprocess.js +0 -83
- package/node_modules/@comis/channels/dist/shared/inbound-resolve.js +0 -55
- package/node_modules/@comis/channels/dist/shared/inbound-route.d.ts +0 -26
- package/node_modules/@comis/channels/dist/shared/inbound-route.js +0 -247
- package/node_modules/@comis/channels/dist/shared/inbound-setup.d.ts +0 -32
- package/node_modules/@comis/channels/dist/shared/inbound-setup.js +0 -148
- package/node_modules/@comis/channels/dist/shared/retry-engine.d.ts +0 -88
- package/node_modules/@comis/channels/dist/shared/retry-engine.js +0 -258
- package/node_modules/@comis/channels/dist/telegram/telegram-adapter.d.ts +0 -36
- package/node_modules/@comis/channels/dist/telegram/telegram-adapter.js +0 -679
- package/node_modules/@comis/core/dist/config/schema-agent.d.ts +0 -1708
- package/node_modules/@comis/core/dist/config/schema-agent.js +0 -790
- package/node_modules/@comis/core/dist/hooks/hook-runner-global.d.ts +0 -4
- package/node_modules/@comis/core/dist/hooks/hook-runner-global.js +0 -22
- package/node_modules/@comis/core/dist/ports/no-op-tool-capability.d.ts +0 -30
- package/node_modules/@comis/daemon/dist/announcement-batcher.js +0 -229
- package/node_modules/@comis/daemon/dist/announcement-dead-letter.d.ts +0 -71
- package/node_modules/@comis/daemon/dist/announcement-dead-letter.js +0 -216
- package/node_modules/@comis/daemon/dist/cross-session-sender.js +0 -144
- package/node_modules/@comis/daemon/dist/rpc/agent-handlers.d.ts +0 -64
- package/node_modules/@comis/daemon/dist/rpc/agent-handlers.js +0 -466
- package/node_modules/@comis/daemon/dist/rpc/approval-handlers.d.ts +0 -18
- package/node_modules/@comis/daemon/dist/rpc/approval-handlers.js +0 -68
- package/node_modules/@comis/daemon/dist/rpc/browser-handlers.d.ts +0 -22
- package/node_modules/@comis/daemon/dist/rpc/browser-handlers.js +0 -118
- package/node_modules/@comis/daemon/dist/rpc/builtin-provider-guard.js +0 -60
- package/node_modules/@comis/daemon/dist/rpc/channel-handlers.d.ts +0 -34
- package/node_modules/@comis/daemon/dist/rpc/channel-handlers.js +0 -217
- package/node_modules/@comis/daemon/dist/rpc/config-handlers.d.ts +0 -103
- package/node_modules/@comis/daemon/dist/rpc/config-handlers.js +0 -1008
- package/node_modules/@comis/daemon/dist/rpc/context-handlers.d.ts +0 -42
- package/node_modules/@comis/daemon/dist/rpc/context-handlers.js +0 -371
- package/node_modules/@comis/daemon/dist/rpc/credential-resolver.js +0 -162
- package/node_modules/@comis/daemon/dist/rpc/cron-handlers.d.ts +0 -22
- package/node_modules/@comis/daemon/dist/rpc/cron-handlers.js +0 -204
- package/node_modules/@comis/daemon/dist/rpc/daemon-handlers.d.ts +0 -19
- package/node_modules/@comis/daemon/dist/rpc/daemon-handlers.js +0 -49
- package/node_modules/@comis/daemon/dist/rpc/env-handlers.d.ts +0 -26
- package/node_modules/@comis/daemon/dist/rpc/env-handlers.js +0 -289
- package/node_modules/@comis/daemon/dist/rpc/graph-handlers.d.ts +0 -84
- package/node_modules/@comis/daemon/dist/rpc/graph-handlers.js +0 -803
- package/node_modules/@comis/daemon/dist/rpc/heartbeat-handlers.d.ts +0 -30
- package/node_modules/@comis/daemon/dist/rpc/heartbeat-handlers.js +0 -195
- package/node_modules/@comis/daemon/dist/rpc/image-handlers.d.ts +0 -28
- package/node_modules/@comis/daemon/dist/rpc/image-handlers.js +0 -95
- package/node_modules/@comis/daemon/dist/rpc/index.d.ts +0 -24
- package/node_modules/@comis/daemon/dist/rpc/index.js +0 -23
- package/node_modules/@comis/daemon/dist/rpc/mcp-handlers.d.ts +0 -32
- package/node_modules/@comis/daemon/dist/rpc/mcp-handlers.js +0 -209
- package/node_modules/@comis/daemon/dist/rpc/media-handlers.d.ts +0 -59
- package/node_modules/@comis/daemon/dist/rpc/media-handlers.js +0 -480
- package/node_modules/@comis/daemon/dist/rpc/memory-handlers.d.ts +0 -36
- package/node_modules/@comis/daemon/dist/rpc/memory-handlers.js +0 -246
- package/node_modules/@comis/daemon/dist/rpc/message-handlers.d.ts +0 -45
- package/node_modules/@comis/daemon/dist/rpc/message-handlers.js +0 -317
- package/node_modules/@comis/daemon/dist/rpc/model-handlers.d.ts +0 -30
- package/node_modules/@comis/daemon/dist/rpc/model-handlers.js +0 -142
- package/node_modules/@comis/daemon/dist/rpc/notification-handlers.d.ts +0 -25
- package/node_modules/@comis/daemon/dist/rpc/notification-handlers.js +0 -56
- package/node_modules/@comis/daemon/dist/rpc/obs-handlers.d.ts +0 -86
- package/node_modules/@comis/daemon/dist/rpc/obs-handlers.js +0 -570
- package/node_modules/@comis/daemon/dist/rpc/persist-to-config.d.ts +0 -74
- package/node_modules/@comis/daemon/dist/rpc/persist-to-config.js +0 -204
- package/node_modules/@comis/daemon/dist/rpc/provider-handlers.d.ts +0 -37
- package/node_modules/@comis/daemon/dist/rpc/provider-handlers.js +0 -403
- package/node_modules/@comis/daemon/dist/rpc/rpc-dispatch.d.ts +0 -205
- package/node_modules/@comis/daemon/dist/rpc/rpc-dispatch.js +0 -241
- package/node_modules/@comis/daemon/dist/rpc/session-handlers.d.ts +0 -73
- package/node_modules/@comis/daemon/dist/rpc/session-handlers.js +0 -854
- package/node_modules/@comis/daemon/dist/rpc/skill-handlers.d.ts +0 -34
- package/node_modules/@comis/daemon/dist/rpc/skill-handlers.js +0 -444
- package/node_modules/@comis/daemon/dist/rpc/subagent-handlers.d.ts +0 -25
- package/node_modules/@comis/daemon/dist/rpc/subagent-handlers.js +0 -80
- package/node_modules/@comis/daemon/dist/rpc/token-handlers.d.ts +0 -56
- package/node_modules/@comis/daemon/dist/rpc/token-handlers.js +0 -212
- package/node_modules/@comis/daemon/dist/rpc/types.d.ts +0 -2
- package/node_modules/@comis/daemon/dist/rpc/workspace-handlers.d.ts +0 -34
- package/node_modules/@comis/daemon/dist/rpc/workspace-handlers.js +0 -424
- package/node_modules/@comis/daemon/dist/sub-agent-result-processor.d.ts +0 -143
- package/node_modules/@comis/daemon/dist/sub-agent-result-processor.js +0 -493
- package/node_modules/@comis/daemon/dist/sub-agent-runner.d.ts +0 -339
- package/node_modules/@comis/daemon/dist/sub-agent-runner.js +0 -1256
- package/node_modules/@comis/daemon/dist/wiring/setup-agents.d.ts +0 -275
- package/node_modules/@comis/daemon/dist/wiring/setup-agents.js +0 -706
- package/node_modules/@comis/daemon/dist/wiring/setup-channels.d.ts +0 -180
- package/node_modules/@comis/daemon/dist/wiring/setup-channels.js +0 -785
- package/node_modules/@comis/daemon/dist/wiring/setup-cross-session.d.ts +0 -123
- package/node_modules/@comis/daemon/dist/wiring/setup-cross-session.js +0 -738
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway-rpc.d.ts +0 -31
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway-rpc.js +0 -235
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway.d.ts +0 -166
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway.js +0 -743
- package/node_modules/@comis/infra/dist/logging/log-fields.d.ts +0 -187
- package/node_modules/@comis/infra/dist/logging/log-fields.js +0 -19
- package/node_modules/@comis/memory/dist/observability-store.d.ts +0 -184
- package/node_modules/@comis/memory/dist/observability-store.js +0 -387
- package/node_modules/@comis/scheduler/dist/execution/execution-lock.d.ts +0 -45
- package/node_modules/@comis/scheduler/dist/execution/execution-lock.js +0 -86
- package/node_modules/@comis/skills/dist/audit/skill-audit.js +0 -72
- package/node_modules/@comis/skills/dist/bridge/credential-injector.d.ts +0 -90
- package/node_modules/@comis/skills/dist/bridge/credential-injector.js +0 -235
- package/node_modules/@comis/skills/dist/bridge/mcp-tool-bridge.d.ts +0 -70
- package/node_modules/@comis/skills/dist/bridge/mcp-tool-bridge.js +0 -242
- package/node_modules/@comis/skills/dist/bridge/schema-validator.js +0 -169
- package/node_modules/@comis/skills/dist/bridge/tool-audit.d.ts +0 -25
- package/node_modules/@comis/skills/dist/bridge/tool-audit.js +0 -78
- package/node_modules/@comis/skills/dist/bridge/tool-bridge.d.ts +0 -91
- package/node_modules/@comis/skills/dist/bridge/tool-bridge.js +0 -136
- package/node_modules/@comis/skills/dist/bridge/tool-definition-adapter.d.ts +0 -33
- package/node_modules/@comis/skills/dist/bridge/tool-metadata-enforcement.d.ts +0 -45
- package/node_modules/@comis/skills/dist/bridge/tool-metadata-enforcement.js +0 -113
- package/node_modules/@comis/skills/dist/bridge/tool-metadata-registry.js +0 -493
- package/node_modules/@comis/skills/dist/browser/browser-service.js +0 -192
- package/node_modules/@comis/skills/dist/browser/cdp.d.ts +0 -60
- package/node_modules/@comis/skills/dist/browser/cdp.js +0 -91
- package/node_modules/@comis/skills/dist/browser/chrome-detection.d.ts +0 -45
- package/node_modules/@comis/skills/dist/browser/chrome-detection.js +0 -256
- package/node_modules/@comis/skills/dist/browser/playwright-actions.js +0 -232
- package/node_modules/@comis/skills/dist/browser/playwright-session.js +0 -341
- package/node_modules/@comis/skills/dist/browser/profiles.js +0 -70
- package/node_modules/@comis/skills/dist/browser/screenshots.js +0 -65
- package/node_modules/@comis/skills/dist/builtin/exec-security.d.ts +0 -204
- package/node_modules/@comis/skills/dist/builtin/exec-security.js +0 -1026
- package/node_modules/@comis/skills/dist/builtin/exec-tool.d.ts +0 -130
- package/node_modules/@comis/skills/dist/builtin/exec-tool.js +0 -1259
- package/node_modules/@comis/skills/dist/builtin/file/apply-patch-tool.d.ts +0 -17
- package/node_modules/@comis/skills/dist/builtin/file/apply-patch-tool.js +0 -418
- package/node_modules/@comis/skills/dist/builtin/file/file-state-tracker.js +0 -138
- package/node_modules/@comis/skills/dist/builtin/file/file-tools.d.ts +0 -31
- package/node_modules/@comis/skills/dist/builtin/file/path-suggest.js +0 -208
- package/node_modules/@comis/skills/dist/builtin/file-tools/edit-tool.d.ts +0 -41
- package/node_modules/@comis/skills/dist/builtin/file-tools/edit-tool.js +0 -308
- package/node_modules/@comis/skills/dist/builtin/file-tools/find-tool.d.ts +0 -37
- package/node_modules/@comis/skills/dist/builtin/file-tools/find-tool.js +0 -313
- package/node_modules/@comis/skills/dist/builtin/file-tools/grep-tool.d.ts +0 -47
- package/node_modules/@comis/skills/dist/builtin/file-tools/grep-tool.js +0 -424
- package/node_modules/@comis/skills/dist/builtin/file-tools/ls-tool.d.ts +0 -35
- package/node_modules/@comis/skills/dist/builtin/file-tools/ls-tool.js +0 -166
- package/node_modules/@comis/skills/dist/builtin/file-tools/notebook-edit-tool.d.ts +0 -33
- package/node_modules/@comis/skills/dist/builtin/file-tools/notebook-edit-tool.js +0 -195
- package/node_modules/@comis/skills/dist/builtin/file-tools/read-tool.d.ts +0 -51
- package/node_modules/@comis/skills/dist/builtin/file-tools/read-tool.js +0 -427
- package/node_modules/@comis/skills/dist/builtin/file-tools/shared/edit-diff.js +0 -575
- package/node_modules/@comis/skills/dist/builtin/file-tools/write-tool.d.ts +0 -37
- package/node_modules/@comis/skills/dist/builtin/file-tools/write-tool.js +0 -283
- package/node_modules/@comis/skills/dist/builtin/install-detour.js +0 -342
- package/node_modules/@comis/skills/dist/builtin/platform/admin-manage-factory.d.ts +0 -70
- package/node_modules/@comis/skills/dist/builtin/platform/agents-manage-tool.d.ts +0 -117
- package/node_modules/@comis/skills/dist/builtin/platform/agents-manage-tool.js +0 -401
- package/node_modules/@comis/skills/dist/builtin/platform/background-tasks-tool.d.ts +0 -54
- package/node_modules/@comis/skills/dist/builtin/platform/background-tasks-tool.js +0 -157
- package/node_modules/@comis/skills/dist/builtin/platform/browser-tool-schema.d.ts +0 -88
- package/node_modules/@comis/skills/dist/builtin/platform/browser-tool.d.ts +0 -43
- package/node_modules/@comis/skills/dist/builtin/platform/browser-tool.js +0 -98
- package/node_modules/@comis/skills/dist/builtin/platform/channels-manage-tool.d.ts +0 -37
- package/node_modules/@comis/skills/dist/builtin/platform/channels-manage-tool.js +0 -140
- package/node_modules/@comis/skills/dist/builtin/platform/cron-tool.d.ts +0 -49
- package/node_modules/@comis/skills/dist/builtin/platform/cron-tool.js +0 -172
- package/node_modules/@comis/skills/dist/builtin/platform/ctx-expand-tool.d.ts +0 -25
- package/node_modules/@comis/skills/dist/builtin/platform/ctx-expand-tool.js +0 -48
- package/node_modules/@comis/skills/dist/builtin/platform/ctx-inspect-tool.d.ts +0 -23
- package/node_modules/@comis/skills/dist/builtin/platform/ctx-inspect-tool.js +0 -47
- package/node_modules/@comis/skills/dist/builtin/platform/ctx-recall-tool.d.ts +0 -27
- package/node_modules/@comis/skills/dist/builtin/platform/ctx-recall-tool.js +0 -62
- package/node_modules/@comis/skills/dist/builtin/platform/ctx-search-tool.d.ts +0 -27
- package/node_modules/@comis/skills/dist/builtin/platform/ctx-search-tool.js +0 -52
- package/node_modules/@comis/skills/dist/builtin/platform/describe-video-tool.d.ts +0 -24
- package/node_modules/@comis/skills/dist/builtin/platform/describe-video-tool.js +0 -53
- package/node_modules/@comis/skills/dist/builtin/platform/discord-action-tool.d.ts +0 -30
- package/node_modules/@comis/skills/dist/builtin/platform/discord-action-tool.js +0 -90
- package/node_modules/@comis/skills/dist/builtin/platform/extract-document-tool.d.ts +0 -24
- package/node_modules/@comis/skills/dist/builtin/platform/extract-document-tool.js +0 -53
- package/node_modules/@comis/skills/dist/builtin/platform/gateway-tool.d.ts +0 -59
- package/node_modules/@comis/skills/dist/builtin/platform/gateway-tool.js +0 -274
- package/node_modules/@comis/skills/dist/builtin/platform/heartbeat-manage-tool.d.ts +0 -37
- package/node_modules/@comis/skills/dist/builtin/platform/heartbeat-manage-tool.js +0 -139
- package/node_modules/@comis/skills/dist/builtin/platform/image-generate-tool.d.ts +0 -27
- package/node_modules/@comis/skills/dist/builtin/platform/image-generate-tool.js +0 -41
- package/node_modules/@comis/skills/dist/builtin/platform/image-tool.d.ts +0 -28
- package/node_modules/@comis/skills/dist/builtin/platform/image-tool.js +0 -73
- package/node_modules/@comis/skills/dist/builtin/platform/index.d.ts +0 -60
- package/node_modules/@comis/skills/dist/builtin/platform/index.js +0 -74
- package/node_modules/@comis/skills/dist/builtin/platform/mcp-manage-tool.d.ts +0 -24
- package/node_modules/@comis/skills/dist/builtin/platform/mcp-manage-tool.js +0 -109
- package/node_modules/@comis/skills/dist/builtin/platform/memory-get-tool.d.ts +0 -28
- package/node_modules/@comis/skills/dist/builtin/platform/memory-get-tool.js +0 -55
- package/node_modules/@comis/skills/dist/builtin/platform/memory-manage-tool.d.ts +0 -42
- package/node_modules/@comis/skills/dist/builtin/platform/memory-manage-tool.js +0 -183
- package/node_modules/@comis/skills/dist/builtin/platform/memory-search-tool.d.ts +0 -24
- package/node_modules/@comis/skills/dist/builtin/platform/memory-search-tool.js +0 -44
- package/node_modules/@comis/skills/dist/builtin/platform/memory-store-tool.d.ts +0 -23
- package/node_modules/@comis/skills/dist/builtin/platform/memory-store-tool.js +0 -66
- package/node_modules/@comis/skills/dist/builtin/platform/message-tool.d.ts +0 -50
- package/node_modules/@comis/skills/dist/builtin/platform/message-tool.js +0 -208
- package/node_modules/@comis/skills/dist/builtin/platform/messaging-factory.d.ts +0 -92
- package/node_modules/@comis/skills/dist/builtin/platform/models-manage-tool.d.ts +0 -33
- package/node_modules/@comis/skills/dist/builtin/platform/models-manage-tool.js +0 -83
- package/node_modules/@comis/skills/dist/builtin/platform/notify-tool.d.ts +0 -29
- package/node_modules/@comis/skills/dist/builtin/platform/notify-tool.js +0 -54
- package/node_modules/@comis/skills/dist/builtin/platform/obs-query-tool.d.ts +0 -26
- package/node_modules/@comis/skills/dist/builtin/platform/obs-query-tool.js +0 -179
- package/node_modules/@comis/skills/dist/builtin/platform/pipeline-tool.d.ts +0 -63
- package/node_modules/@comis/skills/dist/builtin/platform/pipeline-tool.js +0 -460
- package/node_modules/@comis/skills/dist/builtin/platform/platform-action-tool.d.ts +0 -60
- package/node_modules/@comis/skills/dist/builtin/platform/providers-manage-tool.d.ts +0 -57
- package/node_modules/@comis/skills/dist/builtin/platform/providers-manage-tool.js +0 -203
- package/node_modules/@comis/skills/dist/builtin/platform/session-search-tool.d.ts +0 -33
- package/node_modules/@comis/skills/dist/builtin/platform/session-search-tool.js +0 -76
- package/node_modules/@comis/skills/dist/builtin/platform/session-status-tool.d.ts +0 -22
- package/node_modules/@comis/skills/dist/builtin/platform/session-status-tool.js +0 -43
- package/node_modules/@comis/skills/dist/builtin/platform/sessions-history-tool.d.ts +0 -24
- package/node_modules/@comis/skills/dist/builtin/platform/sessions-history-tool.js +0 -51
- package/node_modules/@comis/skills/dist/builtin/platform/sessions-list-tool.d.ts +0 -23
- package/node_modules/@comis/skills/dist/builtin/platform/sessions-list-tool.js +0 -51
- package/node_modules/@comis/skills/dist/builtin/platform/sessions-manage-tool.d.ts +0 -34
- package/node_modules/@comis/skills/dist/builtin/platform/sessions-manage-tool.js +0 -82
- package/node_modules/@comis/skills/dist/builtin/platform/sessions-send-tool.d.ts +0 -30
- package/node_modules/@comis/skills/dist/builtin/platform/sessions-send-tool.js +0 -58
- package/node_modules/@comis/skills/dist/builtin/platform/sessions-spawn-tool.d.ts +0 -39
- package/node_modules/@comis/skills/dist/builtin/platform/sessions-spawn-tool.js +0 -84
- package/node_modules/@comis/skills/dist/builtin/platform/skills-manage-tool.d.ts +0 -39
- package/node_modules/@comis/skills/dist/builtin/platform/skills-manage-tool.js +0 -107
- package/node_modules/@comis/skills/dist/builtin/platform/slack-action-tool.d.ts +0 -24
- package/node_modules/@comis/skills/dist/builtin/platform/slack-action-tool.js +0 -77
- package/node_modules/@comis/skills/dist/builtin/platform/subagents-tool.d.ts +0 -27
- package/node_modules/@comis/skills/dist/builtin/platform/subagents-tool.js +0 -100
- package/node_modules/@comis/skills/dist/builtin/platform/telegram-action-tool.d.ts +0 -22
- package/node_modules/@comis/skills/dist/builtin/platform/telegram-action-tool.js +0 -72
- package/node_modules/@comis/skills/dist/builtin/platform/tokens-manage-tool.d.ts +0 -34
- package/node_modules/@comis/skills/dist/builtin/platform/tokens-manage-tool.js +0 -87
- package/node_modules/@comis/skills/dist/builtin/platform/tool-helpers.d.ts +0 -163
- package/node_modules/@comis/skills/dist/builtin/platform/tool-helpers.js +0 -237
- package/node_modules/@comis/skills/dist/builtin/platform/transcribe-audio-tool.d.ts +0 -24
- package/node_modules/@comis/skills/dist/builtin/platform/transcribe-audio-tool.js +0 -53
- package/node_modules/@comis/skills/dist/builtin/platform/tts-tool.d.ts +0 -26
- package/node_modules/@comis/skills/dist/builtin/platform/tts-tool.js +0 -61
- package/node_modules/@comis/skills/dist/builtin/platform/unified-context-tool.d.ts +0 -35
- package/node_modules/@comis/skills/dist/builtin/platform/unified-context-tool.js +0 -106
- package/node_modules/@comis/skills/dist/builtin/platform/unified-memory-tool.d.ts +0 -45
- package/node_modules/@comis/skills/dist/builtin/platform/unified-memory-tool.js +0 -230
- package/node_modules/@comis/skills/dist/builtin/platform/unified-session-tool.d.ts +0 -33
- package/node_modules/@comis/skills/dist/builtin/platform/unified-session-tool.js +0 -130
- package/node_modules/@comis/skills/dist/builtin/platform/whatsapp-action-tool.d.ts +0 -25
- package/node_modules/@comis/skills/dist/builtin/platform/whatsapp-action-tool.js +0 -79
- package/node_modules/@comis/skills/dist/builtin/process-registry.js +0 -213
- package/node_modules/@comis/skills/dist/builtin/process-tool.d.ts +0 -56
- package/node_modules/@comis/skills/dist/builtin/process-tool.js +0 -122
- package/node_modules/@comis/skills/dist/builtin/sandbox/bwrap-provider.js +0 -303
- package/node_modules/@comis/skills/dist/builtin/sandbox/sandbox-exec-provider.js +0 -201
- package/node_modules/@comis/skills/dist/builtin/tool-provisioner.js +0 -227
- package/node_modules/@comis/skills/dist/builtin/web-fetch-tool.d.ts +0 -78
- package/node_modules/@comis/skills/dist/builtin/web-fetch-tool.js +0 -528
- package/node_modules/@comis/skills/dist/builtin/web-search-brave.js +0 -147
- package/node_modules/@comis/skills/dist/builtin/web-search-duckduckgo.js +0 -192
- package/node_modules/@comis/skills/dist/builtin/web-search-exa.js +0 -84
- package/node_modules/@comis/skills/dist/builtin/web-search-grok.js +0 -87
- package/node_modules/@comis/skills/dist/builtin/web-search-jina.js +0 -94
- package/node_modules/@comis/skills/dist/builtin/web-search-perplexity.js +0 -115
- package/node_modules/@comis/skills/dist/builtin/web-search-searxng.js +0 -100
- package/node_modules/@comis/skills/dist/builtin/web-search-tavily.js +0 -87
- package/node_modules/@comis/skills/dist/builtin/web-search-tool.d.ts +0 -175
- package/node_modules/@comis/skills/dist/builtin/web-search-tool.js +0 -666
- package/node_modules/@comis/skills/dist/builtin/web-shared.js +0 -127
- package/node_modules/@comis/skills/dist/integrations/deepgram-stt-adapter.js +0 -81
- package/node_modules/@comis/skills/dist/integrations/document/file-extractor.js +0 -148
- package/node_modules/@comis/skills/dist/integrations/document/pdf-extractor.js +0 -214
- package/node_modules/@comis/skills/dist/integrations/groq-stt-adapter.js +0 -76
- package/node_modules/@comis/skills/dist/integrations/image-gen/rate-limiter.d.ts +0 -22
- package/node_modules/@comis/skills/dist/integrations/image-gen/rate-limiter.js +0 -32
- package/node_modules/@comis/skills/dist/integrations/link/link-fetcher.js +0 -74
- package/node_modules/@comis/skills/dist/integrations/mcp-client.d.ts +0 -163
- package/node_modules/@comis/skills/dist/integrations/mcp-client.js +0 -705
- package/node_modules/@comis/skills/dist/integrations/media-handler-audio.js +0 -62
- package/node_modules/@comis/skills/dist/integrations/openai-stt-adapter.js +0 -78
- package/node_modules/@comis/skills/dist/media/audio-converter.d.ts +0 -39
- package/node_modules/@comis/skills/dist/media/audio-converter.js +0 -154
- package/node_modules/@comis/skills/dist/media/media-persistence.d.ts +0 -64
- package/node_modules/@comis/skills/dist/media/media-persistence.js +0 -95
- package/node_modules/@comis/skills/dist/media/media-store.d.ts +0 -64
- package/node_modules/@comis/skills/dist/media/media-store.js +0 -178
- package/node_modules/@comis/skills/dist/media/media-temp.d.ts +0 -53
- package/node_modules/@comis/skills/dist/media/media-temp.js +0 -134
- package/node_modules/@comis/skills/dist/media/ssrf-fetcher.js +0 -215
- package/node_modules/@comis/skills/dist/policy/tool-policy.d.ts +0 -74
- package/node_modules/@comis/skills/dist/prompt/sanitizer.d.ts +0 -62
- package/node_modules/@comis/skills/dist/prompt/sanitizer.js +0 -72
- package/node_modules/@comis/skills/dist/registry/discovery.d.ts +0 -102
- package/node_modules/@comis/skills/dist/registry/discovery.js +0 -339
- package/node_modules/@comis/skills/dist/registry/skill-registry.d.ts +0 -171
- package/node_modules/@comis/skills/dist/registry/skill-registry.js +0 -559
- package/node_modules/@comis/skills/dist/registry/skill-watcher.js +0 -166
- package/node_modules/@comis/web/dist/assets/agent-detail-q8t1NB7w.js +0 -615
- package/node_modules/@comis/web/dist/assets/agent-editor-B46io5gv.js +0 -2173
- package/node_modules/@comis/web/dist/assets/agent-list-DQ6g2Rcx.js +0 -504
- package/node_modules/@comis/web/dist/assets/billing-view-IWPR8LgF.js +0 -375
- package/node_modules/@comis/web/dist/assets/channel-detail-DlNNZuuC.js +0 -681
- package/node_modules/@comis/web/dist/assets/channel-list-DhGwxiMc.js +0 -323
- package/node_modules/@comis/web/dist/assets/chat-console-Nv6fM3Rc.js +0 -940
- package/node_modules/@comis/web/dist/assets/config-editor-BYKuJF76.js +0 -1374
- package/node_modules/@comis/web/dist/assets/context-dag-browser-ClNEtzYE.js +0 -393
- package/node_modules/@comis/web/dist/assets/context-engine-BZJ6HChd.js +0 -393
- package/node_modules/@comis/web/dist/assets/delivery-view-Cb7I3vGu.js +0 -392
- package/node_modules/@comis/web/dist/assets/diagnostics-view-9u9Lyu5a.js +0 -231
- package/node_modules/@comis/web/dist/assets/ic-chat-message-BFt3cVpx.js +0 -352
- package/node_modules/@comis/web/dist/assets/ic-connection-dot-y77LZ3Gu.js +0 -54
- package/node_modules/@comis/web/dist/assets/ic-delivery-row-B3YwjjuM.js +0 -67
- package/node_modules/@comis/web/dist/assets/ic-empty-state-CM3Wbj2f.js +0 -52
- package/node_modules/@comis/web/dist/assets/ic-graph-canvas-ByRjij68.js +0 -359
- package/node_modules/@comis/web/dist/assets/ic-relative-time-B3UAnTqg.js +0 -12
- package/node_modules/@comis/web/dist/assets/ic-search-input-B02AGw1i.js +0 -92
- package/node_modules/@comis/web/dist/assets/ic-time-range-picker-DXbYeBmY.js +0 -93
- package/node_modules/@comis/web/dist/assets/ic-tool-call-qt6w1NQl.js +0 -146
- package/node_modules/@comis/web/dist/assets/index-8Tg9oc-C.js +0 -2792
- package/node_modules/@comis/web/dist/assets/index-CVEaS9aY.css +0 -2
- package/node_modules/@comis/web/dist/assets/mcp-management-69dtH_kY.js +0 -582
- package/node_modules/@comis/web/dist/assets/media-config-BdjLj5c1.js +0 -314
- package/node_modules/@comis/web/dist/assets/media-test-DuPqrixi.js +0 -496
- package/node_modules/@comis/web/dist/assets/memory-inspector-B-Pepbq-.js +0 -1139
- package/node_modules/@comis/web/dist/assets/message-center-B7l0yNYY.js +0 -785
- package/node_modules/@comis/web/dist/assets/models-JHFHuv5S.js +0 -894
- package/node_modules/@comis/web/dist/assets/observe-view-r8mqhy4O.js +0 -814
- package/node_modules/@comis/web/dist/assets/pipeline-builder-XjkiZRcR.js +0 -1495
- package/node_modules/@comis/web/dist/assets/pipeline-history-CZqJv_Hj.js +0 -317
- package/node_modules/@comis/web/dist/assets/pipeline-history-detail-BEFGMoDy.js +0 -287
- package/node_modules/@comis/web/dist/assets/pipeline-list-B6q5LvO1.js +0 -518
- package/node_modules/@comis/web/dist/assets/pipeline-monitor-BNomXjVL.js +0 -972
- package/node_modules/@comis/web/dist/assets/scheduler-BJEjcGKA.js +0 -1182
- package/node_modules/@comis/web/dist/assets/security-2G1jhBfV.js +0 -1224
- package/node_modules/@comis/web/dist/assets/session-detail-DmVPzFBR.js +0 -632
- package/node_modules/@comis/web/dist/assets/session-key-parser-Dkqcj2Ss.js +0 -1
- package/node_modules/@comis/web/dist/assets/session-list-CsqMQoHs.js +0 -231
- package/node_modules/@comis/web/dist/assets/setup-wizard-CAdM-gSP.js +0 -881
- package/node_modules/@comis/web/dist/assets/skills-2ODqKaWr.js +0 -1051
- package/node_modules/@comis/web/dist/assets/subagents-BFlwfTbD.js +0 -193
- package/node_modules/@comis/web/dist/assets/workspace-manager--CbOx_dI.js +0 -785
- /package/node_modules/@comis/{channels/dist/shared → core/dist/delivery}/block-chunker.d.ts +0 -0
- /package/node_modules/@comis/{channels/dist/shared → core/dist/delivery}/block-chunker.js +0 -0
- /package/node_modules/@comis/{channels/dist/shared → core/dist/delivery}/format-for-channel.d.ts +0 -0
- /package/node_modules/@comis/{channels/dist/shared → core/dist/delivery}/format-for-channel.js +0 -0
- /package/node_modules/@comis/{channels/dist/shared → core/dist/delivery}/ir-chunker.d.ts +0 -0
- /package/node_modules/@comis/{channels/dist/shared → core/dist/delivery}/ir-chunker.js +0 -0
- /package/node_modules/@comis/{channels/dist/shared → core/dist/delivery}/ir-renderer.d.ts +0 -0
- /package/node_modules/@comis/{channels/dist/shared → core/dist/delivery}/ir-renderer.js +0 -0
- /package/node_modules/@comis/{channels/dist/shared → core/dist/delivery}/markdown-ir.d.ts +0 -0
- /package/node_modules/@comis/{channels/dist/shared → core/dist/delivery}/markdown-ir.js +0 -0
- /package/node_modules/@comis/{channels/dist/shared → core/dist/delivery}/markdown-tables.d.ts +0 -0
- /package/node_modules/@comis/{channels/dist/shared → core/dist/delivery}/markdown-tables.js +0 -0
- /package/node_modules/@comis/{channels/dist/shared → core/dist/delivery}/permanent-errors.d.ts +0 -0
- /package/node_modules/@comis/{channels/dist/shared → core/dist/delivery}/permanent-errors.js +0 -0
- /package/node_modules/@comis/{channels/dist/shared → core/dist/delivery}/sanitize-for-plain-text.d.ts +0 -0
- /package/node_modules/@comis/{channels/dist/shared → core/dist/delivery}/sanitize-for-plain-text.js +0 -0
- /package/node_modules/@comis/{channels/dist/shared → core/dist/delivery}/table-converter.d.ts +0 -0
- /package/node_modules/@comis/{channels/dist/shared → core/dist/delivery}/table-converter.js +0 -0
- /package/node_modules/@comis/{channels/dist/shared → core/dist/delivery}/telegram-file-ref-guard.d.ts +0 -0
- /package/node_modules/@comis/{channels/dist/shared → core/dist/delivery}/telegram-file-ref-guard.js +0 -0
- /package/node_modules/@comis/{agent/dist/model → core/dist/oauth}/oauth-tls-preflight.d.ts +0 -0
- /package/node_modules/@comis/{agent/dist/model → core/dist/oauth}/oauth-tls-preflight.js +0 -0
- /package/node_modules/@comis/{daemon/dist/rpc/types.js → core/dist/ports/file-lock.js} +0 -0
- /package/node_modules/@comis/{agent/dist/model/oauth-env.d.ts → core/dist/runtime/is-remote-env.d.ts} +0 -0
- /package/node_modules/@comis/{agent/dist/model/oauth-env.js → core/dist/runtime/is-remote-env.js} +0 -0
- /package/node_modules/@comis/core/dist/{ports → tool-capability}/no-op-tool-capability.js +0 -0
- /package/node_modules/@comis/daemon/dist/{rpc → api}/agent-inline-workspace.d.ts +0 -0
- /package/node_modules/@comis/daemon/dist/{rpc → api}/agent-inline-workspace.js +0 -0
- /package/node_modules/@comis/daemon/dist/{rpc → api/shared}/builtin-provider-guard.d.ts +0 -0
- /package/node_modules/@comis/daemon/dist/{rpc → api/shared}/credential-resolver.d.ts +0 -0
- /package/node_modules/@comis/daemon/dist/{rpc → api/shared}/probe-provider-auth.d.ts +0 -0
- /package/node_modules/@comis/daemon/dist/{rpc → api/shared}/probe-provider-auth.js +0 -0
- /package/node_modules/@comis/{agent → orchestrator}/dist/commands/budget-command.d.ts +0 -0
- /package/node_modules/@comis/{agent → orchestrator}/dist/commands/budget-command.js +0 -0
- /package/node_modules/@comis/{agent → orchestrator}/dist/commands/command-handler.d.ts +0 -0
- /package/node_modules/@comis/{agent → orchestrator}/dist/commands/command-parser.d.ts +0 -0
- /package/node_modules/@comis/{agent → orchestrator}/dist/commands/command-parser.js +0 -0
- /package/node_modules/@comis/{agent → orchestrator}/dist/commands/index.d.ts +0 -0
- /package/node_modules/@comis/{agent → orchestrator}/dist/commands/index.js +0 -0
- /package/node_modules/@comis/{agent → orchestrator}/dist/commands/prompt-skill-command.d.ts +0 -0
- /package/node_modules/@comis/{agent → orchestrator}/dist/commands/prompt-skill-command.js +0 -0
- /package/node_modules/@comis/{agent → orchestrator}/dist/commands/types.d.ts +0 -0
- /package/node_modules/@comis/{agent → orchestrator}/dist/commands/types.js +0 -0
- /package/node_modules/@comis/{daemon/dist → orchestrator/dist/cross-session}/announcement-batcher.d.ts +0 -0
- /package/node_modules/@comis/{daemon/dist → orchestrator/dist/cross-session}/cross-session-sender.d.ts +0 -0
- /package/node_modules/@comis/{channels/dist/shared → orchestrator/dist/inbound}/inbound-preprocess.d.ts +0 -0
- /package/node_modules/@comis/{channels/dist/shared → orchestrator/dist/inbound}/inbound-resolve.d.ts +0 -0
- /package/node_modules/@comis/{agent → orchestrator}/dist/queue/coalescer.d.ts +0 -0
- /package/node_modules/@comis/{agent → orchestrator}/dist/queue/debounce-buffer.d.ts +0 -0
- /package/node_modules/@comis/{agent → orchestrator}/dist/queue/followup-trigger.d.ts +0 -0
- /package/node_modules/@comis/{agent → orchestrator}/dist/queue/index.d.ts +0 -0
- /package/node_modules/@comis/{agent → orchestrator}/dist/queue/index.js +0 -0
- /package/node_modules/@comis/{agent → orchestrator}/dist/queue/lane.d.ts +0 -0
- /package/node_modules/@comis/{agent → orchestrator}/dist/queue/lane.js +0 -0
- /package/node_modules/@comis/{agent → orchestrator}/dist/queue/overflow.d.ts +0 -0
- /package/node_modules/@comis/{agent → orchestrator}/dist/queue/priority-scheduler.d.ts +0 -0
- /package/node_modules/@comis/{agent → orchestrator}/dist/routing/message-router.d.ts +0 -0
- /package/node_modules/@comis/{agent → orchestrator}/dist/routing/message-router.js +0 -0
- /package/node_modules/@comis/skills/dist/{builtin/platform → platform-tools}/admin-manage-factory.js +0 -0
- /package/node_modules/@comis/skills/dist/{builtin/platform → platform-tools}/messaging-factory.js +0 -0
- /package/node_modules/@comis/skills/dist/{builtin/platform → platform-tools}/platform-action-tool.js +0 -0
- /package/node_modules/@comis/skills/dist/{builtin/platform → platform-tools/tools}/browser-tool-schema.js +0 -0
- /package/node_modules/@comis/skills/dist/{builtin/platform → platform-tools/tools}/fts5-sanitizer.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin/platform → platform-tools/tools}/fts5-sanitizer.js +0 -0
- /package/node_modules/@comis/skills/dist/{audit → skills/audit}/skill-audit.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{bridge → skills/bridge}/json-truncate.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{bridge → skills/bridge}/json-truncate.js +0 -0
- /package/node_modules/@comis/skills/dist/{bridge → skills/bridge}/schema-validator.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{bridge → skills/bridge}/tool-definition-adapter.js +0 -0
- /package/node_modules/@comis/skills/dist/{bridge → skills/bridge}/tool-metadata-registry.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{manifest → skills/manifest}/capability-parser.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{manifest → skills/manifest}/capability-parser.js +0 -0
- /package/node_modules/@comis/skills/dist/{manifest → skills/manifest}/parser.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{manifest → skills/manifest}/parser.js +0 -0
- /package/node_modules/@comis/skills/dist/{manifest → skills/manifest}/schema.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{manifest → skills/manifest}/schema.js +0 -0
- /package/node_modules/@comis/skills/dist/{policy → skills/policy}/index.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{policy → skills/policy}/index.js +0 -0
- /package/node_modules/@comis/skills/dist/{policy → skills/policy}/tool-policy.js +0 -0
- /package/node_modules/@comis/skills/dist/{prompt → skills/prompt}/content-scanner.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{prompt → skills/prompt}/content-scanner.js +0 -0
- /package/node_modules/@comis/skills/dist/{prompt → skills/prompt}/processor.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{prompt → skills/prompt}/processor.js +0 -0
- /package/node_modules/@comis/skills/dist/{registry → skills/registry}/diagnostics.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{registry → skills/registry}/diagnostics.js +0 -0
- /package/node_modules/@comis/skills/dist/{registry → skills/registry}/eligibility.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{registry → skills/registry}/eligibility.js +0 -0
- /package/node_modules/@comis/skills/dist/{registry → skills/registry}/skill-watcher.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/browser-service.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/config.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/config.js +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/constants.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/constants.js +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/downloads.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/downloads.js +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/index.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/index.js +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/playwright-actions.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/playwright-session.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/playwright-snapshots.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/playwright-snapshots.js +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/profile-decoration.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/profile-decoration.js +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/profiles-service.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/profiles-service.js +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/profiles.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/screenshot-normalizer.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/screenshot-normalizer.js +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/screenshots.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/smart-waits.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/smart-waits.js +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/viewport.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{browser → tools/browser}/viewport.js +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/exec-diagnostics.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/exec-diagnostics.js +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/file/apply-patch-parser.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/file/apply-patch-parser.js +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/file/apply-patch-similarity.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/file/apply-patch-similarity.js +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/file/file-state-tracker.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/file/file-tools.js +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/file/path-suggest.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/file/safe-path-wrapper.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/file/safe-path-wrapper.js +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/file-tools/shared/edit-diff.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/file-tools/shared/file-encoding.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/file-tools/shared/file-encoding.js +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/file-tools/shared/file-mutation-queue.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/file-tools/shared/file-mutation-queue.js +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/file-tools/shared/git-diff.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/file-tools/shared/git-diff.js +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/file-tools/shared/notebook-edit-ops.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/file-tools/shared/notebook-edit-ops.js +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/file-tools/shared/notebook-utils.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/file-tools/shared/notebook-utils.js +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/install-detour.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/output-cleaner.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/output-cleaner.js +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/process-registry.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/sandbox/bwrap-provider.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/sandbox/detect-provider.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/sandbox/detect-provider.js +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/sandbox/sandbox-exec-provider.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/sandbox/types.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/sandbox/types.js +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/search-provider.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/search-provider.js +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/tool-provisioner.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/tool-source-profiles.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/tool-source-profiles.js +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/truncate.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/truncate.js +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/web-fetch-utils.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/web-fetch-utils.js +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/web-fetch-visibility.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/web-fetch-visibility.js +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/web-search-brave.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/web-search-duckduckgo.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/web-search-exa.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/web-search-grok.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/web-search-jina.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/web-search-perplexity.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/web-search-searxng.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/web-search-tavily.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{builtin → tools/builtin}/web-shared.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/deepgram-stt-adapter.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/document/binary-detector.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/document/binary-detector.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/document/composite-extractor.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/document/composite-extractor.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/document/file-classifier.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/document/file-classifier.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/document/file-extractor.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/document/pdf-extractor.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/document/pdf-page-renderer.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/document/pdf-page-renderer.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/document/text-decoder.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/document/text-decoder.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/document/xml-block.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/document/xml-block.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/edge-tts-adapter.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/edge-tts-adapter.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/elevenlabs-tts-adapter.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/elevenlabs-tts-adapter.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/groq-stt-adapter.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/image-gen/fal-adapter.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/image-gen/fal-adapter.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/image-gen/image-gen-factory.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/image-gen/image-gen-factory.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/image-gen/index.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/image-gen/index.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/image-gen/openai-adapter.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/image-gen/openai-adapter.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/image-sanitizer.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/image-sanitizer.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/link/link-detector.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/link/link-detector.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/link/link-fetcher.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/link/link-formatter.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/link/link-formatter.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/link/link-runner.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/link/link-runner.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/mcp-result-sanitizer.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/mcp-result-sanitizer.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/media-adapter-shared.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/media-adapter-shared.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/media-handler-audio.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/media-handler-document.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/media-handler-document.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/media-handler-factory.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/media-handler-factory.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/media-handler-image.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/media-handler-image.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/media-handler-video.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/media-handler-video.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/media-preprocessor.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/media-preprocessor.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/multimodal-analyzer.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/multimodal-analyzer.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/openai-stt-adapter.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/openai-tts-adapter.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/openai-tts-adapter.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/outbound-media-parser.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/outbound-media-parser.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/stt-factory.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/stt-factory.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/tts/tts-auto-mode.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/tts/tts-auto-mode.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/tts/tts-directive-parser.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/tts/tts-directive-parser.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/tts/tts-output-format.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/tts/tts-output-format.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/tts-factory.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/tts-factory.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/vision/gemini-vision-adapter.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/vision/gemini-vision-adapter.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/vision/scope-resolver.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/vision/scope-resolver.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/vision/video-handler.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/vision/video-handler.js +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/vision/vision-provider-registry.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{integrations → tools/integrations}/vision/vision-provider-registry.js +0 -0
- /package/node_modules/@comis/skills/dist/{media → tools/media}/audio-tags.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{media → tools/media}/audio-tags.js +0 -0
- /package/node_modules/@comis/skills/dist/{media → tools/media}/composite-resolver.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{media → tools/media}/composite-resolver.js +0 -0
- /package/node_modules/@comis/skills/dist/{media → tools/media}/constants.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{media → tools/media}/constants.js +0 -0
- /package/node_modules/@comis/skills/dist/{media → tools/media}/ffmpeg-detect.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{media → tools/media}/ffmpeg-detect.js +0 -0
- /package/node_modules/@comis/skills/dist/{media → tools/media}/file-validator.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{media → tools/media}/file-validator.js +0 -0
- /package/node_modules/@comis/skills/dist/{media → tools/media}/image-ops.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{media → tools/media}/image-ops.js +0 -0
- /package/node_modules/@comis/skills/dist/{media → tools/media}/index.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{media → tools/media}/index.js +0 -0
- /package/node_modules/@comis/skills/dist/{media → tools/media}/media-semaphore.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{media → tools/media}/media-semaphore.js +0 -0
- /package/node_modules/@comis/skills/dist/{media → tools/media}/mime-detection.d.ts +0 -0
- /package/node_modules/@comis/skills/dist/{media → tools/media}/mime-detection.js +0 -0
- /package/node_modules/@comis/skills/dist/{media → tools/media}/ssrf-fetcher.d.ts +0 -0
- /package/node_modules/@comis/web/dist/assets/{approvals-C-K6hN2U.js → approvals-BCnwA_Wl.js} +0 -0
- /package/node_modules/@comis/web/dist/assets/{directive-BOYXJ-K-.js → directive-BLQp04BH.js} +0 -0
- /package/node_modules/@comis/web/dist/assets/{extract-variables-B7-Doo7l.js → extract-variables-B5H_luKW.js} +0 -0
- /package/node_modules/@comis/web/dist/assets/{ic-array-editor-BLoEyeLS.js → ic-array-editor-Cyy1IkY8.js} +0 -0
- /package/node_modules/@comis/web/dist/assets/{ic-breadcrumb-DqN6G3gc.js → ic-breadcrumb-1qP0UJ5v.js} +0 -0
- /package/node_modules/@comis/web/dist/assets/{ic-budget-segment-bar-zLsMzjDO.js → ic-budget-segment-bar-BWIGfwtb.js} +0 -0
- /package/node_modules/@comis/web/dist/assets/{ic-confirm-dialog-DGlPbV1T.js → ic-confirm-dialog-Wdt0QSRg.js} +0 -0
- /package/node_modules/@comis/web/dist/assets/{ic-data-table-CKIvr-ag.js → ic-data-table-DPg9-J1A.js} +0 -0
- /package/node_modules/@comis/web/dist/assets/{ic-detail-panel-DiCe4hLr.js → ic-detail-panel-DGevqzFo.js} +0 -0
- /package/node_modules/@comis/web/dist/assets/{ic-icon-BGNCCPpZ.js → ic-icon-BkVssjSQ.js} +0 -0
- /package/node_modules/@comis/web/dist/assets/{ic-layer-waterfall-WkaFyu-l.js → ic-layer-waterfall-CFPbnC1V.js} +0 -0
- /package/node_modules/@comis/web/dist/assets/{ic-select-BqfZISjw.js → ic-select-BEeaNppH.js} +0 -0
- /package/node_modules/@comis/web/dist/assets/{ic-tabs-yBjkWKJH.js → ic-tabs-BM8xZY4a.js} +0 -0
- /package/node_modules/@comis/web/dist/assets/{ic-tag-CvMVQFRR.js → ic-tag-CKh2gHHX.js} +0 -0
|
@@ -1,46 +1,58 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
// @allow-throw: daemon bootstrap composition-root failures (secrets bootstrap, decryption, etc.); hard-fail at startup is the correct contract per AGENTS.md §6.2 (bootstrap() returns Result but daemon.ts is the entry point that catches it and exits).
|
|
2
3
|
/**
|
|
3
4
|
* Daemon Entry Point: thin orchestrator calling setupXxx() factories in sequence.
|
|
5
|
+
*
|
|
6
|
+
* Helpers live in `./stages/` (5 modules + 1 barrel); Handle interfaces and
|
|
7
|
+
* SessionStoreBridge live in `./daemon-types.ts`. This file is the
|
|
8
|
+
* composition root: 5 stage* orchestrators + main() + 4 small helpers
|
|
9
|
+
* (DEFAULT_CONFIG_PATHS / applyInspectDefaultsForLogging /
|
|
10
|
+
* hardenDataDirPermissions / runPreflightDoctor).
|
|
11
|
+
*
|
|
4
12
|
* @module
|
|
5
13
|
*/
|
|
6
|
-
import { bootstrap, loadEnvFile, createApprovalGate, parseFormattedSessionKey,
|
|
7
|
-
|
|
8
|
-
|
|
14
|
+
import { bootstrap, loadEnvFile, createApprovalGate, parseFormattedSessionKey, envSubset, createInjectionRateLimiter, checkApprovalsConfig, safePath, resolveConfigSecretRefs, BackgroundTasksConfigSchema, } from "@comis/core";
|
|
15
|
+
// Runtime adapter factories — constructed at the composition root and
|
|
16
|
+
// threaded through wiring helpers that retarget Date.now / process.env /
|
|
17
|
+
// setTimeout / setInterval. Sanctioned construction site.
|
|
18
|
+
import { createSystemClock, createSystemEnv, createSystemTimers } from "@comis/infra";
|
|
19
|
+
import { setupSecrets as _setupSecretsImpl, createNamedGraphStore, createContextStore, createObservabilityStore } from "@comis/memory";
|
|
9
20
|
import { createGatewayServer } from "@comis/gateway";
|
|
10
|
-
import { setupLogging, setupObservability, setupHealth, setupMemory, setupAgents, setupSchedulers, setupChannels, setupMedia, setupCrossSession,
|
|
11
|
-
import {
|
|
12
|
-
|
|
13
|
-
import {
|
|
21
|
+
import { setupLogging, setupObservability, setupHealth, setupMemory, setupAgents, setupSchedulers, setupChannels, setupMedia, setupCrossSession, setupTools, setupMonitoring, setupHeartbeat, setupTaskExtraction, setupShutdown, setupGateway, setupRpcBridge, setupDeliveryQueue, setupDeliveryMirror, setupNotifications, setupBackgroundTasks, setupBackgroundCompletionRunner, } from "./wiring/index.js";
|
|
22
|
+
import { createActiveRunRegistry, createBackgroundSessionResolver, createGeminiCacheManager, validateProviderOverrides, } from "@comis/agent";
|
|
23
|
+
// createModelCatalog + resolveWorkspaceDir live in @comis/core.
|
|
24
|
+
import { createModelCatalog, resolveWorkspaceDir } from "@comis/core";
|
|
25
|
+
import { detectSandboxProvider } from "@comis/skills";
|
|
14
26
|
import { createGraphCoordinator, createNodeTypeRegistry } from "./graph/index.js";
|
|
15
|
-
import { createChannelHealthMonitor } from "@comis/channels";
|
|
16
27
|
import { createWakeCoalescer, createSystemEventQueue } from "@comis/scheduler";
|
|
17
|
-
import { createTokenRegistry } from "./
|
|
28
|
+
import { createTokenRegistry } from "./api/token-handlers.js";
|
|
18
29
|
import { createLatencyRecorder } from "./observability/latency-recorder.js";
|
|
19
30
|
import { setupObsPersistence } from "./observability/obs-persistence-wiring.js";
|
|
20
31
|
import { createContextPipelineCollector } from "./observability/context-pipeline-collector.js";
|
|
21
32
|
import { createLogLevelManager } from "./observability/log-infra.js";
|
|
22
33
|
import { createTokenTracker } from "./observability/token-tracker.js";
|
|
23
34
|
import { createTracingLogger } from "./observability/trace-logger.js";
|
|
24
|
-
import { setupDeliveryQueueLogging } from "./observability/delivery-queue-logger.js";
|
|
25
35
|
import { setupChannelHealthLogging } from "./observability/channel-health-logger.js";
|
|
26
36
|
import { registerGracefulShutdown } from "./process/graceful-shutdown.js";
|
|
27
37
|
import { createProcessMonitor } from "./process/process-monitor.js";
|
|
28
38
|
import { startWatchdog } from "./health/watchdog.js";
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import { randomUUID, createHmac } from "node:crypto";
|
|
32
|
-
import { existsSync, chmodSync, statSync, mkdirSync, readFileSync, unlinkSync, cpSync } from "node:fs";
|
|
33
|
-
import { writeFile as fsWriteFile, rm } from "node:fs/promises";
|
|
39
|
+
import { randomUUID } from "node:crypto";
|
|
40
|
+
import { existsSync, chmodSync, statSync, mkdirSync } from "node:fs";
|
|
34
41
|
import { createExecGit } from "./config/exec-git.js";
|
|
35
42
|
import { saveLastKnownGood, buildRollbackSuggestion, handleRestoreFlag } from "./config/last-known-good.js";
|
|
36
|
-
import { createRestartContinuationTracker
|
|
43
|
+
import { createRestartContinuationTracker } from "./wiring/restart-continuation.js";
|
|
37
44
|
import { createInboundMessageIdResolver } from "./wiring/inbound-message-id-resolver.js";
|
|
38
45
|
import { logOperationModelDryRun } from "./wiring/startup-dry-run.js";
|
|
39
46
|
import os from "node:os";
|
|
40
|
-
import {
|
|
41
|
-
import { fileURLToPath } from "node:url";
|
|
47
|
+
import { dirname as pathDirname } from "node:path";
|
|
42
48
|
import { inspect } from "node:util";
|
|
43
|
-
|
|
49
|
+
// Stage-helper imports.
|
|
50
|
+
import { seedBundledSkillCreator, bootstrapSecretsAndEnv, wireConfigGitManager, } from "./stages/foundation-helpers.js";
|
|
51
|
+
import { restoreApprovalState, setupMcpManager, wirePostAgentsCleanup, buildAuditBundle, buildDeferredCronWakeCallback, } from "./stages/agents-helpers.js";
|
|
52
|
+
import { buildChannelManagerDeps, buildGraphCoordinatorDeps, setupChannelHealthMonitor, createCapabilityPortResolver, wirePostChannelsLifecycle, buildImageGenBundle, } from "./stages/channels-helpers.js";
|
|
53
|
+
import { resolveGatewayTokens, createHotAdd, createHotRemove, buildRpcDispatchDeps, replayContinuationsIfAny, } from "./stages/gateway-helpers.js";
|
|
54
|
+
import { wireHealthLogging, emitStartupBanner, } from "./stages/shutdown-helpers.js";
|
|
55
|
+
export const DEFAULT_CONFIG_PATHS = [
|
|
44
56
|
safePath(safePath(os.homedir(), ".comis"), "config.yaml"),
|
|
45
57
|
safePath(safePath(os.homedir(), ".comis"), "config.local.yaml"),
|
|
46
58
|
];
|
|
@@ -73,51 +85,9 @@ export function applyInspectDefaultsForLogging(env) {
|
|
|
73
85
|
inspect.defaultOptions.breakLength = Infinity;
|
|
74
86
|
return { depthChanged, breakLengthChanged };
|
|
75
87
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
* subprocess inheritance.
|
|
80
|
-
*/
|
|
81
|
-
const SENSITIVE_PREFIXES = [
|
|
82
|
-
"ANTHROPIC_",
|
|
83
|
-
"OPENAI_",
|
|
84
|
-
"TELEGRAM_",
|
|
85
|
-
"DISCORD_",
|
|
86
|
-
"SLACK_",
|
|
87
|
-
"WHATSAPP_",
|
|
88
|
-
"GOOGLE_",
|
|
89
|
-
"GROQ_",
|
|
90
|
-
"MISTRAL_",
|
|
91
|
-
"DEEPGRAM_",
|
|
92
|
-
"ELEVENLABS_",
|
|
93
|
-
"SENDGRID_",
|
|
94
|
-
"STRIPE_",
|
|
95
|
-
];
|
|
96
|
-
/** Individual keys to scrub that don't match prefix patterns. */
|
|
97
|
-
const SENSITIVE_EXACT_KEYS = new Set([
|
|
98
|
-
"SECRETS_MASTER_KEY",
|
|
99
|
-
]);
|
|
100
|
-
/**
|
|
101
|
-
* Remove sensitive environment variables from process.env.
|
|
102
|
-
* Called AFTER mergedEnv snapshot is built but BEFORE bootstrap().
|
|
103
|
-
* Preserves operational vars: COMIS_*, PATH, HOME, NODE_ENV, etc.
|
|
104
|
-
*/
|
|
105
|
-
function scrubProcessEnv() {
|
|
106
|
-
for (const key of Object.keys(process.env)) {
|
|
107
|
-
if (SENSITIVE_EXACT_KEYS.has(key)) {
|
|
108
|
-
// eslint-disable-next-line no-restricted-syntax -- see scrubProcessEnv comment above
|
|
109
|
-
delete process.env[key];
|
|
110
|
-
continue;
|
|
111
|
-
}
|
|
112
|
-
for (const prefix of SENSITIVE_PREFIXES) {
|
|
113
|
-
if (key.startsWith(prefix)) {
|
|
114
|
-
// eslint-disable-next-line no-restricted-syntax -- see scrubProcessEnv comment above
|
|
115
|
-
delete process.env[key];
|
|
116
|
-
break;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
88
|
+
// ---------------------------------------------------------------------------
|
|
89
|
+
// Startup permission hardening
|
|
90
|
+
// ---------------------------------------------------------------------------
|
|
121
91
|
/**
|
|
122
92
|
* Scan ~/.comis/ and fix permissions on the data directory and known
|
|
123
93
|
* sensitive files. Returns an array of corrections for deferred logging.
|
|
@@ -194,17 +164,29 @@ export async function runPreflightDoctor(exitFn, opts = {}) {
|
|
|
194
164
|
exitFn(78);
|
|
195
165
|
}
|
|
196
166
|
}
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
167
|
+
// ---------------------------------------------------------------------------
|
|
168
|
+
// Stage 1: foundation
|
|
169
|
+
// ---------------------------------------------------------------------------
|
|
170
|
+
/**
|
|
171
|
+
* stageFoundation — daemon-process foundation startup. Owns:
|
|
172
|
+
* - data directory + .env load + permission hardening
|
|
173
|
+
* - secret decryption + env merge + process.env scrub
|
|
174
|
+
* - bootstrap (core container) + config-secret-ref resolution
|
|
175
|
+
* - config git versioning
|
|
176
|
+
* - logging + observability + context-pipeline collector
|
|
177
|
+
* - health (process monitor + watchdog + device identity)
|
|
178
|
+
* - memory + embedding + observability-persistence
|
|
179
|
+
* - context store + active-run registry + session resolver
|
|
180
|
+
* - canary fallback + injection rate limiter
|
|
181
|
+
* - delivery mirror + Gemini cache manager
|
|
182
|
+
* - background task system + deferred channel/notification refs
|
|
183
|
+
* - bundled skill-creator seeding (idempotent)
|
|
184
|
+
*
|
|
185
|
+
* Hard cap: ≤200 lines AST-measured. Per-line-source order preserved so
|
|
186
|
+
* daemon-lifecycle.test.ts log-sequence assertions remain green.
|
|
187
|
+
*/
|
|
188
|
+
async function stageFoundation(input) {
|
|
189
|
+
const { overrides, startupStartMs, instanceId } = input;
|
|
208
190
|
const _bootstrap = overrides.bootstrap ?? bootstrap;
|
|
209
191
|
const _setupSecrets = overrides.setupSecrets ?? _setupSecretsImpl;
|
|
210
192
|
const _createTracingLogger = overrides.createTracingLogger ?? createTracingLogger;
|
|
@@ -212,118 +194,42 @@ export async function main(overrides = {}) {
|
|
|
212
194
|
const _createTokenTracker = overrides.createTokenTracker ?? createTokenTracker;
|
|
213
195
|
const _createLatencyRecorder = overrides.createLatencyRecorder ?? createLatencyRecorder;
|
|
214
196
|
const _createProcessMonitor = overrides.createProcessMonitor ?? createProcessMonitor;
|
|
215
|
-
const _registerGracefulShutdown = overrides.registerGracefulShutdown ?? registerGracefulShutdown;
|
|
216
197
|
const _startWatchdog = overrides.startWatchdog ?? startWatchdog;
|
|
217
|
-
const _createGatewayServer = overrides.createGatewayServer ?? createGatewayServer;
|
|
218
|
-
const _setupMedia = overrides.setupMedia ?? setupMedia;
|
|
219
|
-
const exitFn = overrides.exit ?? ((code) => process.exit(code));
|
|
220
|
-
const _preflightDoctor = overrides.preflightDoctor ?? ((fn) => runPreflightDoctor(fn));
|
|
221
|
-
// Preflight: probe native deps before any subsystem init so a missing
|
|
222
|
-
// better-sqlite3 'bindings' module fails fast with a clear repair hint
|
|
223
|
-
// instead of cascading into a systemd restart loop.
|
|
224
|
-
await _preflightDoctor(exitFn);
|
|
225
198
|
// 0. Resolve data directory, then load secrets from <dataDir>/.env.
|
|
226
|
-
// The env file always lives alongside the data dir, so it follows
|
|
227
|
-
// COMIS_DATA_DIR — set to /data inside the Docker container (matches
|
|
228
|
-
// the compose mount of ${COMIS_ENV_FILE:-~/.comis/.env}:/data/.env:ro),
|
|
229
|
-
// unset on bare-metal so it falls back to ~/.comis/.env. This is what
|
|
230
|
-
// makes the legacy "credentials in a flat .env file" workflow the
|
|
231
|
-
// default for both deployment modes; secrets.db is opt-in via
|
|
232
|
-
// SECRETS_MASTER_KEY.
|
|
233
199
|
// eslint-disable-next-line no-restricted-syntax -- process.env access needed before SecretManager is initialized
|
|
234
|
-
const dataDir = process.env["COMIS_DATA_DIR"]
|
|
235
|
-
?? safePath(os.homedir(), ".comis");
|
|
200
|
+
const dataDir = process.env["COMIS_DATA_DIR"] ?? safePath(os.homedir(), ".comis");
|
|
236
201
|
const envPath = safePath(dataDir, ".env");
|
|
237
202
|
loadEnvFile(envPath);
|
|
238
|
-
// 0.5. Decrypt secrets, merge with env, scrub process.env
|
|
239
|
-
// Scan and correct permissions on known sensitive files
|
|
203
|
+
// 0.5. Decrypt secrets, merge with env, scrub process.env.
|
|
240
204
|
const permissionCorrections = hardenDataDirPermissions(dataDir);
|
|
241
|
-
const
|
|
242
|
-
|
|
205
|
+
const { mergedEnv, secretStore, secretsCrypto, secretsDb } = bootstrapSecretsAndEnv({
|
|
206
|
+
setupSecrets: _setupSecrets,
|
|
243
207
|
dataDir,
|
|
244
208
|
});
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
// file).
|
|
250
|
-
let secretsCrypto;
|
|
251
|
-
let secretsDb;
|
|
252
|
-
if (!secretsBootResult.ok) {
|
|
253
|
-
// Invalid master key -- fatal error
|
|
254
|
-
throw new Error(`Secrets bootstrap failed: ${secretsBootResult.error.message}`);
|
|
255
|
-
}
|
|
256
|
-
if (secretsBootResult.value !== null) {
|
|
257
|
-
// Valid master key -- create store and decrypt all secrets
|
|
258
|
-
const { crypto, dbPath } = secretsBootResult.value;
|
|
259
|
-
const store = createSqliteSecretStore(dbPath, crypto);
|
|
260
|
-
secretStore = store;
|
|
261
|
-
// Capture for downstream OAuth wiring in setupAgents.
|
|
262
|
-
secretsCrypto = crypto;
|
|
263
|
-
secretsDb = store.db;
|
|
264
|
-
const decryptResult = store.decryptAll();
|
|
265
|
-
if (!decryptResult.ok) {
|
|
266
|
-
throw new Error(`Secret decryption failed: ${decryptResult.error.message}`);
|
|
267
|
-
}
|
|
268
|
-
// Build merged env: decrypted secrets as base, env vars override
|
|
269
|
-
const merged = {};
|
|
270
|
-
for (const [name, value] of decryptResult.value) {
|
|
271
|
-
merged[name] = value;
|
|
272
|
-
}
|
|
273
|
-
for (const [key, value] of Object.entries(process.env)) {
|
|
274
|
-
if (value !== undefined)
|
|
275
|
-
merged[key] = value;
|
|
276
|
-
}
|
|
277
|
-
mergedEnv = merged;
|
|
278
|
-
// Scrub process.env of sensitive prefixes (after snapshot)
|
|
279
|
-
scrubProcessEnv();
|
|
280
|
-
}
|
|
209
|
+
// 0.6. Runtime adapter construction (composition root). overrides.timers is opt-in for test fake-timers; never set in production.
|
|
210
|
+
const clock = createSystemClock();
|
|
211
|
+
const env = createSystemEnv(mergedEnv);
|
|
212
|
+
const timers = overrides.timers ?? createSystemTimers();
|
|
281
213
|
// 1. Bootstrap core container
|
|
282
214
|
// eslint-disable-next-line no-restricted-syntax -- process.env access needed before SecretManager for config path resolution
|
|
283
215
|
const rawConfigPaths = process.env["COMIS_CONFIG_PATHS"];
|
|
284
|
-
const configPaths = (rawConfigPaths
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
const refResult = resolveConfigSecretRefs(container.config, { secretManager: container.secretManager });
|
|
216
|
+
const configPaths = (rawConfigPaths ? rawConfigPaths.split(":") : DEFAULT_CONFIG_PATHS)
|
|
217
|
+
.filter((p) => existsSync(p));
|
|
218
|
+
const bootResult = _bootstrap({ configPaths, env: mergedEnv });
|
|
219
|
+
if (!bootResult.ok) {
|
|
220
|
+
throw new Error(`Bootstrap failed: ${bootResult.error.message}`);
|
|
221
|
+
}
|
|
222
|
+
// Container via const+resolve-then-spread.
|
|
223
|
+
const initialContainer = bootResult.value;
|
|
224
|
+
const refResult = resolveConfigSecretRefs(initialContainer.config, { secretManager: initialContainer.secretManager });
|
|
294
225
|
if (!refResult.ok) {
|
|
295
226
|
throw new Error(`SecretRef resolution failed: ${refResult.error.message}`);
|
|
296
227
|
}
|
|
297
|
-
container = { ...
|
|
228
|
+
const container = { ...initialContainer, config: refResult.value };
|
|
298
229
|
// 1.5. Config git versioning
|
|
299
230
|
const execGit = createExecGit();
|
|
300
231
|
const configDir = configPaths.length > 0 ? pathDirname(configPaths[0]) : "";
|
|
301
|
-
const configGitManager = configDir
|
|
302
|
-
? createConfigGitManager({
|
|
303
|
-
configDir,
|
|
304
|
-
execGit,
|
|
305
|
-
writeFile: async (relativePath, content) => {
|
|
306
|
-
try {
|
|
307
|
-
const targetPath = safePath(configDir, relativePath);
|
|
308
|
-
await fsWriteFile(targetPath, content, "utf-8");
|
|
309
|
-
return ok(undefined);
|
|
310
|
-
}
|
|
311
|
-
catch (e) {
|
|
312
|
-
return err(e instanceof Error ? e.message : String(e));
|
|
313
|
-
}
|
|
314
|
-
},
|
|
315
|
-
removeDir: async (relativePath) => {
|
|
316
|
-
try {
|
|
317
|
-
const targetPath = safePath(configDir, relativePath);
|
|
318
|
-
await rm(targetPath, { recursive: true, force: true });
|
|
319
|
-
return ok(undefined);
|
|
320
|
-
}
|
|
321
|
-
catch (e) {
|
|
322
|
-
return err(e instanceof Error ? e.message : String(e));
|
|
323
|
-
}
|
|
324
|
-
},
|
|
325
|
-
})
|
|
326
|
-
: undefined;
|
|
232
|
+
const configGitManager = wireConfigGitManager({ configDir, execGit });
|
|
327
233
|
// 2-3. Logging
|
|
328
234
|
const { logger, logLevelManager, daemonLogger, gatewayLogger, channelsLogger, agentLogger, schedulerLogger, skillsLogger, memoryLogger, daemonVersion, } = setupLogging({ container, instanceId, _createTracingLogger, _createLogLevelManager });
|
|
329
235
|
// Log permission corrections (deferred until logger is available)
|
|
@@ -337,15 +243,10 @@ export async function main(overrides = {}) {
|
|
|
337
243
|
if (approvalsWarning) {
|
|
338
244
|
daemonLogger.warn({ hint: "Set approvals.enabled: true or remove unused rules", errorKind: "config" }, approvalsWarning);
|
|
339
245
|
}
|
|
340
|
-
// 3.6. Validate PROVIDER_OVERRIDES vs live pi-ai catalog.
|
|
341
|
-
// Emits one structured WARN per orphaned override key (provider listed in
|
|
342
|
-
// PROVIDER_OVERRIDES that pi-ai no longer ships). Fire-and-forget: never
|
|
343
|
-
// throws, daemon continues to boot with dead override entries.
|
|
246
|
+
// 3.6. Validate PROVIDER_OVERRIDES vs live pi-ai catalog (fire-and-forget).
|
|
344
247
|
validateProviderOverrides(agentLogger);
|
|
345
248
|
// 4. Observability
|
|
346
|
-
const { tokenTracker, latencyRecorder, sharedCostTracker,
|
|
347
|
-
diagnosticCollector, billingEstimator, channelActivityTracker, deliveryTracer, } = setupObservability({ eventBus: container.eventBus, _createTokenTracker, _createLatencyRecorder, logger: logLevelManager.getLogger("observability"), dataDir });
|
|
348
|
-
// Context pipeline collector for obs.context.* RPC handlers
|
|
249
|
+
const { tokenTracker, latencyRecorder, sharedCostTracker, diagnosticCollector, billingEstimator, channelActivityTracker, deliveryTracer, } = setupObservability({ eventBus: container.eventBus, _createTokenTracker, _createLatencyRecorder, logger: logLevelManager.getLogger("observability"), dataDir });
|
|
349
250
|
const contextPipelineCollector = createContextPipelineCollector({
|
|
350
251
|
eventBus: container.eventBus,
|
|
351
252
|
logger: logLevelManager.getLogger("context-pipeline"),
|
|
@@ -355,80 +256,64 @@ export async function main(overrides = {}) {
|
|
|
355
256
|
container, logger, daemonLogger, _createProcessMonitor, _startWatchdog,
|
|
356
257
|
});
|
|
357
258
|
// 6.5. Memory + embedding
|
|
358
|
-
const { disposeEmbedding, cachedPort, memoryAdapter, db, sessionStore, memoryApi, embeddingQueue, backgroundIndexingPromise, embeddingCacheStats, embeddingCircuitBreakerState, maintenanceTick, } = await setupMemory({ container, memoryLogger });
|
|
359
|
-
// Observability persistence (dual-write to SQLite)
|
|
259
|
+
const { disposeEmbedding, cachedPort, memoryAdapter, db, sessionStore, memoryApi, embeddingQueue, backgroundIndexingPromise, embeddingCacheStats, embeddingCircuitBreakerState, maintenanceTick, } = await setupMemory({ container, memoryLogger, clock });
|
|
260
|
+
// Observability persistence (dual-write to SQLite). obsStore +
|
|
261
|
+
// obsPersistence via const+IIFE.
|
|
360
262
|
const obsConfig = container.config.observability;
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
//
|
|
384
|
-
// contextSchema tables are created lazily by createContextStore if they don't exist.
|
|
263
|
+
const obsBundle = obsConfig.persistence.enabled
|
|
264
|
+
? (() => {
|
|
265
|
+
const store = createObservabilityStore(db);
|
|
266
|
+
const pruneResult = store.prune(obsConfig.persistence.retentionDays);
|
|
267
|
+
daemonLogger.info({
|
|
268
|
+
retentionDays: obsConfig.persistence.retentionDays,
|
|
269
|
+
pruned: pruneResult,
|
|
270
|
+
}, "Observability data pruned on startup");
|
|
271
|
+
const persistence = setupObsPersistence({
|
|
272
|
+
eventBus: container.eventBus,
|
|
273
|
+
obsStore: store,
|
|
274
|
+
db,
|
|
275
|
+
channelActivityTracker,
|
|
276
|
+
startupTimestamp: startupStartMs,
|
|
277
|
+
snapshotIntervalMs: obsConfig.persistence.snapshotIntervalMs,
|
|
278
|
+
logger: daemonLogger,
|
|
279
|
+
});
|
|
280
|
+
return { obsStore: store, obsPersistence: persistence };
|
|
281
|
+
})()
|
|
282
|
+
: undefined;
|
|
283
|
+
const obsStore = obsBundle?.obsStore;
|
|
284
|
+
const obsPersistence = obsBundle?.obsPersistence;
|
|
285
|
+
// Create context store + daemon-level runtime registries
|
|
385
286
|
const contextStore = createContextStore(db);
|
|
386
|
-
// Shared active run registry for steer+followup routing.
|
|
387
|
-
// Created once and injected into both setupAgents (PiExecutor registration)
|
|
388
|
-
// and setupChannels (inbound pipeline routing).
|
|
389
287
|
const activeRunRegistry = createActiveRunRegistry();
|
|
390
|
-
// Composite-key resolver wraps the registry for production lookups.
|
|
391
|
-
// The raw registry is still threaded for register/deregister calls in
|
|
392
|
-
// pi-executor and executor-post-execution; the resolver supersedes
|
|
393
|
-
// single-arg `.has()`/`.get()` everywhere.
|
|
394
288
|
const sessionResolver = createBackgroundSessionResolver({ activeRunRegistry });
|
|
395
|
-
|
|
396
|
-
// Used when CANARY_SECRET env var is not configured. The per-agent derivation
|
|
397
|
-
// in setup-agents.ts uses this as a base combined with agentId for uniqueness.
|
|
398
|
-
const canaryFallbackSecret = createHmac("sha256", container.config.tenantId)
|
|
289
|
+
const canaryFallbackSecret = (await import("node:crypto")).createHmac("sha256", container.config.tenantId)
|
|
399
290
|
.update("comis:canary-fallback")
|
|
400
291
|
.digest("hex");
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
// Session mirroring -- adapter + hook plugin registration.
|
|
404
|
-
// MUST run before setupAgents() so agents receive a live deliveryMirror port.
|
|
405
|
-
// Only needs db (from setupMemory) + config + pluginRegistry + logger.
|
|
292
|
+
const injectionRateLimiter = createInjectionRateLimiter({ clock, timers });
|
|
293
|
+
// Session mirroring (must precede setupAgents — agents receive a live deliveryMirror port)
|
|
406
294
|
const { deliveryMirror, startPrune: startMirrorPrune, shutdown: shutdownMirror } = await setupDeliveryMirror({
|
|
407
295
|
db, config: container.config, pluginRegistry: container.pluginRegistry, logger: daemonLogger,
|
|
408
296
|
});
|
|
409
|
-
// Gemini CachedContent lifecycle manager
|
|
410
|
-
// Always created (cheap -- closure-scoped Maps, lazy SDK client). Per-agent
|
|
411
|
-
// geminiCache.enabled guard in the injector handles individual enablement.
|
|
297
|
+
// Gemini CachedContent lifecycle manager (per-agent enable gate lives in the injector)
|
|
412
298
|
const geminiCacheManager = createGeminiCacheManager({
|
|
413
299
|
getApiKey: () => container.secretManager.get("google-api-key") ?? container.secretManager.get("GOOGLE_API_KEY"),
|
|
414
300
|
ttlSeconds: 3600,
|
|
415
301
|
maxActiveCachesPerAgent: 20,
|
|
416
302
|
refreshThreshold: 0.5,
|
|
417
303
|
logger: daemonLogger,
|
|
304
|
+
clock,
|
|
418
305
|
});
|
|
419
|
-
// Deferred channel plugins ref
|
|
420
|
-
// Populated after setupChannels; the callback is invoked at message time (always set by then).
|
|
306
|
+
// Deferred channel plugins ref (populated after setupChannels)
|
|
421
307
|
const channelPluginsRef = {};
|
|
422
|
-
// 6.5.1. Background task system
|
|
423
|
-
// Created before setupAgents so BackgroundTaskManager is available for executor deps.
|
|
308
|
+
// 6.5.1. Background task system (created before setupAgents)
|
|
424
309
|
const { backgroundTaskManager } = setupBackgroundTasks({
|
|
425
310
|
dataDir,
|
|
426
311
|
eventBus: container.eventBus,
|
|
427
312
|
logger: logLevelManager.getLogger("background-tasks"),
|
|
313
|
+
clock,
|
|
314
|
+
timers,
|
|
428
315
|
});
|
|
429
|
-
// Deferred notification ref
|
|
430
|
-
// Populated after setupNotifications returns (below). The bgNotifyFn captures the
|
|
431
|
-
// ref, so it is always set before any background task completes.
|
|
316
|
+
// Deferred notification ref + bgNotifyFn closure
|
|
432
317
|
const bgNotifyRef = {};
|
|
433
318
|
const bgNotifyFn = async (opts) => {
|
|
434
319
|
await bgNotifyRef.ref?.notifyUser({
|
|
@@ -439,43 +324,57 @@ export async function main(overrides = {}) {
|
|
|
439
324
|
});
|
|
440
325
|
};
|
|
441
326
|
// 6.5.9. Seed bundled skill-creator into user data dir (version-aware)
|
|
442
|
-
{
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
327
|
+
seedBundledSkillCreator({ dataDir, agentLogger });
|
|
328
|
+
return {
|
|
329
|
+
container, dataDir, configPaths, envPath,
|
|
330
|
+
clock, env, timers,
|
|
331
|
+
secretStore, secretsCrypto, secretsDb, permissionCorrections,
|
|
332
|
+
execGit, configGitManager,
|
|
333
|
+
logger, logLevelManager, daemonLogger, gatewayLogger, channelsLogger, agentLogger,
|
|
334
|
+
schedulerLogger, skillsLogger, memoryLogger, daemonVersion,
|
|
335
|
+
tokenTracker, latencyRecorder, sharedCostTracker,
|
|
336
|
+
diagnosticCollector, billingEstimator, channelActivityTracker, deliveryTracer,
|
|
337
|
+
contextPipelineCollector,
|
|
338
|
+
processMonitor, watchdogHandle, deviceIdentity,
|
|
339
|
+
disposeEmbedding, cachedPort, memoryAdapter, db, sessionStore, memoryApi,
|
|
340
|
+
embeddingQueue, backgroundIndexingPromise, embeddingCacheStats,
|
|
341
|
+
embeddingCircuitBreakerState, maintenanceTick,
|
|
342
|
+
obsStore, obsPersistence, contextStore,
|
|
343
|
+
activeRunRegistry, sessionResolver, canaryFallbackSecret, injectionRateLimiter,
|
|
344
|
+
deliveryMirror, startMirrorPrune, shutdownMirror,
|
|
345
|
+
geminiCacheManager,
|
|
346
|
+
channelPluginsRef, backgroundTaskManager, bgNotifyRef, bgNotifyFn,
|
|
347
|
+
};
|
|
348
|
+
}
|
|
349
|
+
// ---------------------------------------------------------------------------
|
|
350
|
+
// Stage 2: agents
|
|
351
|
+
// ---------------------------------------------------------------------------
|
|
352
|
+
/**
|
|
353
|
+
* stageAgents — agent-runtime startup. Owns:
|
|
354
|
+
* - agents config map + default agent/workspace resolution
|
|
355
|
+
* - mcpClientManager (constructed BEFORE setupAgents per ordering constraint)
|
|
356
|
+
* - setupAgents (executors, costTrackers, skillRegistries, OAuth store, etc.)
|
|
357
|
+
* - subprocessEnv + execToolEnv (filtered envs for trusted/untrusted children)
|
|
358
|
+
* - systemEventQueue (cron-heartbeat routing) + setupSchedulers
|
|
359
|
+
* - sessionTrackerRegistry + Gemini-cache cleanup + MCP disconnect cleanup
|
|
360
|
+
* - setupTaskExtraction + auditAggregator + onSuspiciousContent
|
|
361
|
+
* - setupMedia + setupRpcBridge
|
|
362
|
+
* - approvalGate + restoreApprovalState (extracted helper)
|
|
363
|
+
* - setupDeliveryQueue (+ channelAdaptersRef placeholder)
|
|
364
|
+
*
|
|
365
|
+
* Hard cap: ≤200 lines AST-measured. Per-line-source order preserved so
|
|
366
|
+
* daemon-lifecycle.test.ts log-sequence assertions remain green ("Agent
|
|
367
|
+
* executor initialized", "Per-agent CronScheduler started").
|
|
368
|
+
*
|
|
369
|
+
* mcpClientManager construction order is a production-correctness
|
|
370
|
+
* constraint: it must be constructed BEFORE setupAgents — do not invert.
|
|
371
|
+
*/
|
|
372
|
+
async function stageAgents(input) {
|
|
373
|
+
const { overrides, foundation } = input;
|
|
374
|
+
const { container, dataDir, clock, env, timers, daemonLogger, gatewayLogger, agentLogger, schedulerLogger, skillsLogger, memoryAdapter, db, sessionStore, cachedPort, embeddingQueue, contextStore, activeRunRegistry, canaryFallbackSecret, injectionRateLimiter, deliveryMirror, geminiCacheManager, channelPluginsRef, backgroundTaskManager, secretsCrypto, secretsDb, } = foundation;
|
|
375
|
+
const _setupMedia = overrides.setupMedia ?? setupMedia;
|
|
477
376
|
// 6.6. Agents
|
|
478
|
-
const
|
|
377
|
+
const agentsConfig = container.config.agents;
|
|
479
378
|
// defaultWorkspaceDir hoisted upfront so setupMcp can run BEFORE
|
|
480
379
|
// setupAgents (it consumes defaultWorkspaceDir as defaultCwd; per-agent
|
|
481
380
|
// ToolCapabilityPort adapters constructed inside setupSingleAgent close
|
|
@@ -483,26 +382,15 @@ export async function main(overrides = {}) {
|
|
|
483
382
|
// computation in setup-agents.ts (`resolveWorkspaceDir(effectiveConfig,
|
|
484
383
|
// agentId)` for the agent's own workspace).
|
|
485
384
|
const defaultAgentId = container.config.routing.defaultAgentId;
|
|
486
|
-
const defaultAgentConfig =
|
|
487
|
-
|
|
385
|
+
const defaultAgentConfig = agentsConfig[defaultAgentId] ??
|
|
386
|
+
agentsConfig.default ??
|
|
488
387
|
{};
|
|
489
388
|
const defaultWorkspaceDir = resolveWorkspaceDir(defaultAgentConfig, defaultAgentId);
|
|
490
|
-
//
|
|
491
|
-
//
|
|
492
|
-
|
|
493
|
-
// holder (no I/O) -- the manager is constructed before any server-connect
|
|
494
|
-
// attempts, so the ordering is safe.
|
|
495
|
-
const { mcpClientManager } = await setupMcp({
|
|
496
|
-
servers: container.config.integrations.mcp.servers,
|
|
497
|
-
logger: skillsLogger,
|
|
498
|
-
callToolTimeoutMs: container.config.integrations.mcp.callToolTimeoutMs,
|
|
499
|
-
defaultCwd: defaultWorkspaceDir,
|
|
500
|
-
eventBus: container.eventBus,
|
|
501
|
-
stdioDefaultConcurrency: container.config.integrations.mcp.stdioDefaultConcurrency,
|
|
502
|
-
httpDefaultConcurrency: container.config.integrations.mcp.httpDefaultConcurrency,
|
|
503
|
-
});
|
|
389
|
+
// Construct daemon-global MCP manager BEFORE setupAgents (ordering constraint
|
|
390
|
+
// -- per-agent ToolCapabilityPort adapters close over mcpClientManager).
|
|
391
|
+
const mcpClientManager = await setupMcpManager({ container, skillsLogger, defaultWorkspaceDir });
|
|
504
392
|
const { sessionManager, executors, workspaceDirs, costTrackers, budgetGuards, stepCounters, getExecutor, piSessionAdapters, skillWatcherHandles, skillRegistries, lockCleanupTimer, singleAgentDeps, providerHealth,
|
|
505
|
-
// Daemon-level OAuth credential store, threaded into
|
|
393
|
+
// Daemon-level OAuth credential store, threaded into ApiDispatchDeps
|
|
506
394
|
// below so agents.update can validate oauthProfiles patches via has().
|
|
507
395
|
oauthCredentialStore,
|
|
508
396
|
// Per-agent live ToolCapabilityPort adapters; daemon.ts threads
|
|
@@ -533,7 +421,6 @@ export async function main(overrides = {}) {
|
|
|
533
421
|
return plugin?.capabilities?.limits?.maxMessageChars;
|
|
534
422
|
},
|
|
535
423
|
backgroundTaskManager, // Auto-background middleware in executor pipeline
|
|
536
|
-
backgroundNotifyFn: bgNotifyFn, // Completion notification via deferred notificationService ref
|
|
537
424
|
// Plumb the secrets bootstrap result through so setup-agents can wire the
|
|
538
425
|
// OAuth credential store. encrypted-mode shares the existing
|
|
539
426
|
// better-sqlite3 connection (no dual-handle).
|
|
@@ -542,6 +429,7 @@ export async function main(overrides = {}) {
|
|
|
542
429
|
// Daemon-global MCP manager threaded into setupSingleAgent for
|
|
543
430
|
// per-agent ToolCapabilityPort adapter construction.
|
|
544
431
|
mcpClientManager,
|
|
432
|
+
clock, env, timers,
|
|
545
433
|
});
|
|
546
434
|
// Log operation model resolutions at startup (dry-run validation)
|
|
547
435
|
logOperationModelDryRun({
|
|
@@ -551,27 +439,16 @@ export async function main(overrides = {}) {
|
|
|
551
439
|
});
|
|
552
440
|
// Restart continuation tracker: track recently-active sessions for SIGUSR2 replay
|
|
553
441
|
const continuationTracker = createRestartContinuationTracker();
|
|
554
|
-
// Filtered subprocess environment (used by setupSchedulers and MCP spawns)
|
|
555
|
-
//
|
|
556
|
-
// SecretManager only contains values explicitly provisioned for the agent
|
|
557
|
-
// (via env_set, .env file, or secrets.db). Host process.env was already
|
|
558
|
-
// scrubbed by scrubProcessEnv() so no host credentials leak through here.
|
|
559
|
-
//
|
|
560
|
-
// IMPORTANT: This env is for TRUSTED children (scheduler-spawned tasks and
|
|
561
|
-
// MCP server processes whose env is declared in config.yaml). It is NOT safe
|
|
562
|
-
// for exec-tool children, which run agent-issued shell commands sourced from
|
|
563
|
-
// attacker-controllable channels (Discord, email, webhooks, prompt injection,
|
|
564
|
-
// etc.). Exec-tool gets its own credential-free env (`execToolEnv` below).
|
|
442
|
+
// Filtered subprocess environment (used by setupSchedulers and MCP spawns).
|
|
443
|
+
// See original main() comment block for the trusted-vs-untrusted env split.
|
|
565
444
|
const SUBPROCESS_SYSTEM = ["PATH", "HOME", "LANG", "TERM", "NODE_ENV", "TZ"];
|
|
566
445
|
const subprocessEnv = envSubset(container.secretManager, [...SUBPROCESS_SYSTEM, ...container.secretManager.keys()]);
|
|
567
446
|
// Credential-free env for the exec tool (agent-issued shell commands).
|
|
568
|
-
// Strips ANTHROPIC_API_KEY, OPENAI_API_KEY, COMIS_GATEWAY_TOKEN, etc. so an
|
|
569
|
-
// LLM-induced prompt injection cannot exfiltrate daemon credentials via a
|
|
570
|
-
// simple `env` or `printenv` call inside the sandbox. System vars only.
|
|
571
447
|
const execToolEnv = envSubset(container.secretManager, [...SUBPROCESS_SYSTEM]);
|
|
572
|
-
// Deferred wake callback --
|
|
573
|
-
//
|
|
574
|
-
|
|
448
|
+
// Deferred wake callback ref -- populated by stageChannels once
|
|
449
|
+
// wakeCoalescer is constructed. Same shape as channelPluginsRef /
|
|
450
|
+
// bgNotifyRef (cross-stage deferred-ref pattern).
|
|
451
|
+
const cronWakeCallbackRef = {};
|
|
575
452
|
// 6.6.4.9. System event queue (created early for cron-heartbeat routing)
|
|
576
453
|
const systemEventQueue = createSystemEventQueue({ logger: schedulerLogger });
|
|
577
454
|
// 6.6.5. Schedulers
|
|
@@ -580,44 +457,32 @@ export async function main(overrides = {}) {
|
|
|
580
457
|
schedulerLogger, agentLogger, skillsLogger,
|
|
581
458
|
subprocessEnv,
|
|
582
459
|
systemEventQueue, // cron-heartbeat routing
|
|
583
|
-
onCronWake: (
|
|
460
|
+
onCronWake: buildDeferredCronWakeCallback(cronWakeCallbackRef, daemonLogger),
|
|
461
|
+
clock, timers,
|
|
584
462
|
});
|
|
585
|
-
//
|
|
586
|
-
|
|
587
|
-
//
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
sessionTrackerRegistry.release(formatSessionKey(payload.sessionKey));
|
|
463
|
+
// Post-setupAgents cleanup wiring: session expiry, Gemini cache disposal,
|
|
464
|
+
// orphan cleanup, MCP disconnect cleanup. Returns the sessionTrackerRegistry
|
|
465
|
+
// bound to the session:expired listener (helper keeps stageAgents ≤200L).
|
|
466
|
+
const sessionTrackerRegistry = wirePostAgentsCleanup({
|
|
467
|
+
eventBus: container.eventBus,
|
|
468
|
+
geminiCacheManager,
|
|
469
|
+
daemonLogger,
|
|
593
470
|
});
|
|
594
|
-
// Dispose Gemini cache on session expiry (fire-and-forget)
|
|
595
|
-
wireGeminiCacheCleanup(container.eventBus, geminiCacheManager);
|
|
596
|
-
// Clean up orphaned comis:* caches from previous daemon runs
|
|
597
|
-
suppressError(geminiCacheManager.cleanupOrphaned().then((result) => {
|
|
598
|
-
if (result.ok && (result.value.deleted > 0 || result.value.skipped > 0)) {
|
|
599
|
-
daemonLogger.info({ deleted: result.value.deleted, skipped: result.value.skipped }, "Gemini cache: orphan cleanup complete");
|
|
600
|
-
}
|
|
601
|
-
}), "gemini-cache-orphan-cleanup");
|
|
602
|
-
// Clean up discovery state when MCP servers disconnect or remove tools
|
|
603
|
-
wireMcpDisconnectCleanup(container.eventBus);
|
|
604
471
|
// 6.6.5.5. Task extraction (conversation -> extracted tasks pipeline)
|
|
605
472
|
const { extractFromConversation } = setupTaskExtraction({
|
|
606
473
|
container, workspaceDirs, schedulerLogger,
|
|
607
474
|
});
|
|
608
|
-
// Audit aggregator for deduplicating security events
|
|
609
|
-
const auditAggregator =
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
};
|
|
475
|
+
// Audit aggregator for deduplicating security events (extracted helper).
|
|
476
|
+
const { auditAggregator, onSuspiciousContent } = buildAuditBundle({
|
|
477
|
+
eventBus: container.eventBus,
|
|
478
|
+
skillsLogger,
|
|
479
|
+
clock,
|
|
480
|
+
timers,
|
|
481
|
+
});
|
|
616
482
|
// 6.6.7. Media (moved up from 6.6.8 -- media infrastructure must be ready before channels)
|
|
617
483
|
const { ttsAdapter, visionRegistry, linkRunner, mediaTempManager, mediaSemaphore, audioConverter, transcriber, ssrfFetcher, fileExtractor, } = await _setupMedia({ container, skillsLogger, onSuspiciousContent });
|
|
618
484
|
// 6.6.7.5. RPC bridge (deferred dispatch) -- moved before setupChannels so rpcCall
|
|
619
|
-
// can be threaded into channel config command handling.
|
|
620
|
-
// ensures rpcCall is safe to pass now; actual dispatch wires later via wireDispatch().
|
|
485
|
+
// can be threaded into channel config command handling.
|
|
621
486
|
const { rpcCall, wireDispatch } = setupRpcBridge({ gatewayLogger });
|
|
622
487
|
// 6.6.8.6. Approval gate (moved before channels for chat command interception)
|
|
623
488
|
const approvalGate = createApprovalGate({
|
|
@@ -625,48 +490,17 @@ export async function main(overrides = {}) {
|
|
|
625
490
|
getTimeoutMs: () => container.config.approvals?.defaultTimeoutMs ?? 30_000,
|
|
626
491
|
getDenialCacheTtlMs: () => container.config.approvals?.denialCacheTtlMs ?? 60_000,
|
|
627
492
|
getBatchApprovalTtlMs: () => container.config.approvals?.batchApprovalTtlMs ?? 30_000,
|
|
493
|
+
clock, // wall-clock reads
|
|
494
|
+
timers, // setTimeout scheduling
|
|
628
495
|
logger: daemonLogger, // Approval cache hit/miss debug logging
|
|
629
496
|
});
|
|
630
|
-
// 6.6.8.6.1. Restore pending approvals from previous
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
const restored = approvalGate.restorePending(records);
|
|
638
|
-
if (restored > 0) {
|
|
639
|
-
daemonLogger.info({ count: restored, total: records.length }, "Pending approvals restored from previous session");
|
|
640
|
-
}
|
|
641
|
-
}
|
|
642
|
-
catch (restoreErr) {
|
|
643
|
-
daemonLogger.warn({ err: restoreErr, hint: "Could not restore pending approvals; operators may need to re-approve", errorKind: "internal" }, "Failed to restore pending approvals");
|
|
644
|
-
try {
|
|
645
|
-
unlinkSync(approvalRestorePath);
|
|
646
|
-
}
|
|
647
|
-
catch { /* ignore */ }
|
|
648
|
-
}
|
|
649
|
-
}
|
|
650
|
-
// 6.6.8.6.2. Restore approval cache from previous session
|
|
651
|
-
const approvalCacheRestorePath = pathJoin(container.config.dataDir || dataDir, "restart-approval-cache.json");
|
|
652
|
-
if (existsSync(approvalCacheRestorePath)) {
|
|
653
|
-
try {
|
|
654
|
-
const raw = readFileSync(approvalCacheRestorePath, "utf-8");
|
|
655
|
-
unlinkSync(approvalCacheRestorePath); // Consume immediately
|
|
656
|
-
const entries = JSON.parse(raw);
|
|
657
|
-
const restored = approvalGate.restoreApprovalCache(entries);
|
|
658
|
-
if (restored > 0) {
|
|
659
|
-
daemonLogger.info({ count: restored, total: entries.length }, "Approval cache restored from previous session");
|
|
660
|
-
}
|
|
661
|
-
}
|
|
662
|
-
catch (restoreErr) {
|
|
663
|
-
daemonLogger.warn({ err: restoreErr, hint: "Could not restore approval cache; users may need to re-approve", errorKind: "internal" }, "Failed to restore approval cache");
|
|
664
|
-
try {
|
|
665
|
-
unlinkSync(approvalCacheRestorePath);
|
|
666
|
-
}
|
|
667
|
-
catch { /* ignore */ }
|
|
668
|
-
}
|
|
669
|
-
}
|
|
497
|
+
// 6.6.8.6.1 + 6.6.8.6.2. Restore pending approvals + approval cache from previous session
|
|
498
|
+
restoreApprovalState({
|
|
499
|
+
approvalGate,
|
|
500
|
+
dataDir,
|
|
501
|
+
containerDataDir: container.config.dataDir,
|
|
502
|
+
daemonLogger,
|
|
503
|
+
});
|
|
670
504
|
// 6.6.7.8. Delivery queue: create adapter BEFORE setupChannels.
|
|
671
505
|
// channelAdapters map is passed by reference -- populated after setupChannels.
|
|
672
506
|
// drainAndStart() is called AFTER setupChannels (two-phase lifecycle).
|
|
@@ -674,406 +508,191 @@ export async function main(overrides = {}) {
|
|
|
674
508
|
const { deliveryQueue, drainAndStart: drainAndStartDeliveryPrune, shutdown: shutdownDeliveryQueue } = await setupDeliveryQueue({
|
|
675
509
|
db, config: container.config, eventBus: container.eventBus, logger: daemonLogger, channelAdapters: channelAdaptersRef,
|
|
676
510
|
});
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
511
|
+
return {
|
|
512
|
+
...foundation,
|
|
513
|
+
defaultAgentId, defaultWorkspaceDir, agentsConfig,
|
|
514
|
+
sessionManager, executors, workspaceDirs, costTrackers, budgetGuards, stepCounters,
|
|
515
|
+
getExecutor, piSessionAdapters, skillWatcherHandles, skillRegistries, lockCleanupTimer,
|
|
516
|
+
singleAgentDeps, providerHealth, oauthCredentialStore, toolCapabilityPorts, mcpClientManager,
|
|
517
|
+
continuationTracker, subprocessEnv, execToolEnv,
|
|
518
|
+
systemEventQueue, cronSchedulers, executionTrackers, browserServices, resetSchedulers,
|
|
519
|
+
getAgentCronScheduler, getAgentBrowserService,
|
|
520
|
+
sessionTrackerRegistry, extractFromConversation, auditAggregator, onSuspiciousContent,
|
|
521
|
+
ttsAdapter, visionRegistry, linkRunner, mediaTempManager, mediaSemaphore, audioConverter,
|
|
522
|
+
transcriber, ssrfFetcher, fileExtractor,
|
|
523
|
+
rpcCall, wireDispatch, approvalGate,
|
|
524
|
+
channelAdaptersRef, deliveryQueue, drainAndStartDeliveryPrune, shutdownDeliveryQueue,
|
|
525
|
+
cronWakeCallbackRef,
|
|
526
|
+
};
|
|
527
|
+
}
|
|
528
|
+
// ---------------------------------------------------------------------------
|
|
529
|
+
// Stage 3: channels
|
|
530
|
+
// ---------------------------------------------------------------------------
|
|
531
|
+
/**
|
|
532
|
+
* stageChannels — channel-runtime startup. Owns:
|
|
533
|
+
* - channel adapters + composite media resolution + delivery service
|
|
534
|
+
* - inbound message id resolver
|
|
535
|
+
* - notification system + background completion runner
|
|
536
|
+
* - channel health monitor
|
|
537
|
+
* - sandbox + image generation providers
|
|
538
|
+
* - per-agent ToolCapabilityPort resolver (factory helper)
|
|
539
|
+
* - tools assembly + message preprocessing
|
|
540
|
+
* - cross-session sender + sub-agent runner
|
|
541
|
+
* - node type registry + graph coordinator + named graph store
|
|
542
|
+
* - monitoring (heartbeat runner) + per-agent heartbeat + wake coalescer
|
|
543
|
+
* - cronWakeCallbackRef populated (cross-stage handoff)
|
|
544
|
+
* - agent management runtime state (suspended set, model catalog, channel cfg)
|
|
545
|
+
*
|
|
546
|
+
* Hard cap: ≤200 lines AST-measured. Per-line-source order preserved so
|
|
547
|
+
* daemon-lifecycle.test.ts log-sequence assertions remain green.
|
|
548
|
+
*/
|
|
549
|
+
async function stageChannels(input) {
|
|
550
|
+
const { agents: handle } = input;
|
|
551
|
+
// Names consumed by stageChannels body itself; helper functions
|
|
552
|
+
// re-destructure from `handle` directly so closure deps are explicit.
|
|
553
|
+
const { container, sessionStore, db, daemonLogger, agentLogger, schedulerLogger, skillsLogger, logger, memoryAdapter, memoryApi, activeRunRegistry, sessionResolver, channelPluginsRef, backgroundTaskManager, bgNotifyRef, bgNotifyFn, defaultAgentId, defaultWorkspaceDir, executors, workspaceDirs, agentsConfig: agents, toolCapabilityPorts, mcpClientManager, linkRunner, systemEventQueue, rpcCall, approvalGate, deliveryQueue, cronWakeCallbackRef, singleAgentDeps, } = handle;
|
|
686
554
|
const sessionTrackerRef = {};
|
|
687
555
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- matches assembleToolsForAgent signature from setup-tools.ts
|
|
688
556
|
const toolAssemblerRef = {};
|
|
689
|
-
//
|
|
690
|
-
//
|
|
691
|
-
|
|
692
|
-
//
|
|
693
|
-
|
|
694
|
-
// before channelManager.start() runs later.
|
|
695
|
-
let inboundMessageIdResolver;
|
|
696
|
-
const { adaptersByType, channelManager, resolveAttachment, lifecycleReactors, channelPlugins, channelCapabilities, commandQueue } = await setupChannels({
|
|
697
|
-
container, executors, defaultAgentId, sessionManager, sessionStore,
|
|
698
|
-
logger, channelsLogger,
|
|
699
|
-
linkRunner,
|
|
700
|
-
ssrfFetcher,
|
|
701
|
-
transcriber,
|
|
702
|
-
maxMediaBytes: container.config.integrations.media.infrastructure.maxRemoteFetchBytes,
|
|
703
|
-
assembleToolsForAgent: (agentId, options) => toolAssemblerRef.ref ? toolAssemblerRef.ref(agentId, options) : Promise.resolve([]),
|
|
704
|
-
// Voice response pipeline deps
|
|
705
|
-
ttsAdapter,
|
|
706
|
-
audioConverter,
|
|
707
|
-
mediaTempManager,
|
|
708
|
-
mediaSemaphore,
|
|
709
|
-
// Document extraction pipeline
|
|
710
|
-
fileExtractor,
|
|
711
|
-
fileExtractionConfig: container.config.integrations.media.documentExtraction,
|
|
712
|
-
// Media file persistence pipeline
|
|
713
|
-
workspaceDirs,
|
|
714
|
-
defaultWorkspaceDir,
|
|
715
|
-
memoryAdapter,
|
|
716
|
-
tenantId: container.config.tenantId,
|
|
717
|
-
embeddingQueue,
|
|
718
|
-
// Pass queue config for per-session serialization
|
|
719
|
-
queueConfig: container.config.queue,
|
|
720
|
-
// steer+followup inbound routing
|
|
721
|
-
activeRunRegistry,
|
|
722
|
-
// Composite-key resolver for active-session lookup
|
|
723
|
-
sessionResolver,
|
|
724
|
-
// /config chat command handling via deferred RPC dispatch
|
|
725
|
-
rpcCall,
|
|
726
|
-
// Task extraction callback (gated by config.scheduler.tasks.enabled)
|
|
727
|
-
onTaskExtraction: extractFromConversation,
|
|
728
|
-
// Restart continuation: track recently-active sessions for SIGUSR2 replay.
|
|
729
|
-
// Two-callback timing split:
|
|
730
|
-
// onMessageReceived fires BEFORE processInboundMessage so the tracker
|
|
731
|
-
// Map is populated before any tool call could trigger SIGUSR2 mid-
|
|
732
|
-
// execution. Without this, multi-restart chains saw 0 captured records
|
|
733
|
-
// and the next instance had nothing to replay -> silent bot.
|
|
734
|
-
// onMessageProcessed fires AFTER processing for sessionTrackerRef
|
|
735
|
-
// because the ref is wired post-setupNotifications (deferred-ref
|
|
736
|
-
// pattern); calling it pre-processing would fire on an undefined ref.
|
|
737
|
-
onMessageReceived: (msg, channelType) => {
|
|
738
|
-
// Preserve channel-native chat type so post-restart synthetic messages
|
|
739
|
-
// can frame group sessions correctly. Without this, group inbounds are
|
|
740
|
-
// mis-framed as DMs on first turn after restart.
|
|
741
|
-
const chatType = typeof msg.metadata?.telegramChatType === "string"
|
|
742
|
-
? msg.metadata.telegramChatType
|
|
743
|
-
: undefined;
|
|
744
|
-
continuationTracker.track({
|
|
745
|
-
agentId: defaultAgentId,
|
|
746
|
-
channelType,
|
|
747
|
-
channelId: msg.channelId,
|
|
748
|
-
userId: msg.senderId,
|
|
749
|
-
chatType,
|
|
750
|
-
tenantId: container.config.tenantId,
|
|
751
|
-
timestamp: Date.now(),
|
|
752
|
-
});
|
|
753
|
-
// Translate daemon UUID -> platform-native message id so message.delete/
|
|
754
|
-
// edit/react can call channel adapters with what they actually expect.
|
|
755
|
-
// Resolver is assigned just after setupChannels returns (below).
|
|
756
|
-
inboundMessageIdResolver?.record(msg, channelType);
|
|
757
|
-
},
|
|
758
|
-
onMessageProcessed: (msg, channelType) => {
|
|
759
|
-
// Record session activity for notification channel resolution fallback.
|
|
760
|
-
// sessionTrackerRef.ref is populated post-construction by
|
|
761
|
-
// setupNotifications (line 879 below), so this MUST stay in the
|
|
762
|
-
// after-processing callback -- moving it earlier would fire on undefined.
|
|
763
|
-
sessionTrackerRef.ref?.recordActivity(defaultAgentId, channelType, msg.channelId);
|
|
764
|
-
},
|
|
765
|
-
// /approve and /deny chat command interception
|
|
766
|
-
approvalGate: container.config.approvals?.enabled ? approvalGate : undefined,
|
|
767
|
-
// Per-agent session adapters and cost trackers for slash commands
|
|
768
|
-
piSessionAdapters,
|
|
769
|
-
costTrackers,
|
|
770
|
-
// Delivery queue for crash-safe persistence
|
|
771
|
-
deliveryQueue,
|
|
772
|
-
// Cron execution trackers for enriched JSONL entries
|
|
773
|
-
cronExecutionTrackers: executionTrackers,
|
|
774
|
-
});
|
|
775
|
-
// Populate channel plugins ref for per-message char limit resolution.
|
|
557
|
+
// `{ ref?: T }` indirection captured by onMessageReceived lambda;
|
|
558
|
+
// populated below once channelCapabilities is available.
|
|
559
|
+
const inboundMessageIdResolverRef = {};
|
|
560
|
+
// 6.6.8. Channels (lifted from main()'s setupChannels; deps via helper)
|
|
561
|
+
const { adaptersByType, channelManager, resolveAttachment, lifecycleReactors, channelPlugins, channelCapabilities, commandQueue, deliveryService } = await setupChannels(buildChannelManagerDeps({ agents: handle, toolAssemblerRef, inboundMessageIdResolverRef, sessionTrackerRef }));
|
|
776
562
|
channelPluginsRef.ref = channelPlugins;
|
|
777
|
-
|
|
778
|
-
// Each enabled channel contributes its `replyToMetaKey` (e.g. "telegramMessageId")
|
|
779
|
-
// so the resolver knows which metadata field to read on inbound to capture
|
|
780
|
-
// the platform-native id. Safe to assign now: setupChannels has not started
|
|
781
|
-
// adapters yet, so no inbound message has fired the onMessageReceived lambda.
|
|
782
|
-
{
|
|
563
|
+
const inboundMessageIdResolver = (() => {
|
|
783
564
|
const metaKeyByChannel = new Map();
|
|
784
|
-
for (const [type, cap] of channelCapabilities)
|
|
565
|
+
for (const [type, cap] of channelCapabilities)
|
|
785
566
|
metaKeyByChannel.set(type, cap.replyToMetaKey);
|
|
786
|
-
}
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
container.eventBus.on("system:shutdown", () => { shutdownMirror(); });
|
|
801
|
-
// Structured logging for delivery queue lifecycle events
|
|
802
|
-
setupDeliveryQueueLogging({ eventBus: container.eventBus, logger: daemonLogger });
|
|
803
|
-
// Output retention housekeeper.
|
|
804
|
-
// Mirrors the delivery-queue/mirror prune pattern — single-tick gate +
|
|
805
|
-
// .unref() interval. Scans <defaultWorkspaceDir>/output/<className>/,
|
|
806
|
-
// deletes leaf files older than the class's retentionMs. Operators can
|
|
807
|
-
// disable via outputRetention.enabled: false. Per AGENTS §6.6
|
|
808
|
-
// (security/daemon): file deletion is destructive; the destructive
|
|
809
|
-
// path is gated on enabled + per-class retentionMs.
|
|
810
|
-
if (defaultWorkspaceDir) {
|
|
811
|
-
const outputRetentionHandle = setupOutputRetention({
|
|
812
|
-
config: container.config.outputRetention,
|
|
813
|
-
workspaceDir: defaultWorkspaceDir,
|
|
814
|
-
logger: daemonLogger,
|
|
815
|
-
});
|
|
816
|
-
container.eventBus.on("system:shutdown", () => { outputRetentionHandle.shutdown(); });
|
|
817
|
-
}
|
|
818
|
-
else {
|
|
819
|
-
daemonLogger.debug({ hint: "No defaultWorkspaceDir; output retention housekeeper skipped" }, "Output retention: skipped (no default workspace)");
|
|
820
|
-
}
|
|
821
|
-
// 6.6.8.0.1. Notification system
|
|
822
|
-
// setupNotifications creates the NotificationService and SessionTracker.
|
|
823
|
-
// The factory is already complete -- this call wires it into the daemon.
|
|
567
|
+
return createInboundMessageIdResolver({ metaKeyByChannel });
|
|
568
|
+
})();
|
|
569
|
+
inboundMessageIdResolverRef.ref = inboundMessageIdResolver;
|
|
570
|
+
await wirePostChannelsLifecycle({
|
|
571
|
+
adaptersByType,
|
|
572
|
+
channelAdaptersRef: handle.channelAdaptersRef,
|
|
573
|
+
drainAndStartDeliveryPrune: handle.drainAndStartDeliveryPrune,
|
|
574
|
+
shutdownDeliveryQueue: handle.shutdownDeliveryQueue,
|
|
575
|
+
startMirrorPrune: handle.startMirrorPrune,
|
|
576
|
+
shutdownMirror: handle.shutdownMirror,
|
|
577
|
+
daemonLogger, container, defaultWorkspaceDir,
|
|
578
|
+
outputRetentionConfig: container.config.outputRetention,
|
|
579
|
+
});
|
|
580
|
+
// 6.6.8.0.1. Notifications + bg completion runner
|
|
824
581
|
const notificationContext = setupNotifications({
|
|
825
|
-
eventBus: container.eventBus,
|
|
826
|
-
deliveryQueue,
|
|
827
|
-
agents,
|
|
582
|
+
eventBus: container.eventBus, deliveryQueue, agents,
|
|
828
583
|
quietHoursConfig: container.config.scheduler.quietHours,
|
|
829
584
|
criticalBypass: container.config.scheduler.quietHours.criticalBypass,
|
|
830
585
|
activeAdapterTypes: new Set(adaptersByType.keys()),
|
|
831
|
-
logger: daemonLogger,
|
|
832
|
-
tenantId: container.config.tenantId,
|
|
586
|
+
logger: daemonLogger, tenantId: container.config.tenantId,
|
|
833
587
|
});
|
|
834
|
-
// Wire deferred session tracker ref for onMessageProcessed callback
|
|
835
588
|
sessionTrackerRef.ref = notificationContext.sessionTracker;
|
|
836
|
-
// Wire deferred notification ref for background task completion callbacks
|
|
837
589
|
bgNotifyRef.ref = notificationContext.notificationService;
|
|
838
|
-
// 6.6.8.0.2. Background-task completion runner -- re-enters the originating
|
|
839
|
-
// agent session when a backgrounded tool finishes.
|
|
840
|
-
// Runs AFTER setupNotifications so bgNotifyFn is live as fallbackNotifyFn.
|
|
841
|
-
//
|
|
842
|
-
// maxBackgroundHops is read from config.backgroundTasks.maxBackgroundHops
|
|
843
|
-
// (NOT config.workflow.*).
|
|
844
|
-
// backgroundTasks is a per-agent field; parse via BackgroundTasksConfigSchema to
|
|
845
|
-
// get the correct default (3) when not explicitly configured.
|
|
846
590
|
const bgConfigForRunner = BackgroundTasksConfigSchema.parse(agents[defaultAgentId]?.backgroundTasks ?? {});
|
|
847
591
|
const bgCompletionRunnerContext = setupBackgroundCompletionRunner({
|
|
848
|
-
eventBus: container.eventBus,
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
getExecutor,
|
|
852
|
-
sessionStore,
|
|
853
|
-
taskManager: backgroundTaskManager,
|
|
854
|
-
fallbackNotifyFn: bgNotifyFn,
|
|
855
|
-
maxBackgroundHops: bgConfigForRunner.maxBackgroundHops,
|
|
856
|
-
logger: daemonLogger,
|
|
592
|
+
eventBus: container.eventBus, getExecutor: handle.getExecutor, sessionStore,
|
|
593
|
+
taskManager: backgroundTaskManager, fallbackNotifyFn: bgNotifyFn,
|
|
594
|
+
maxBackgroundHops: bgConfigForRunner.maxBackgroundHops, logger: daemonLogger,
|
|
857
595
|
});
|
|
858
|
-
container.eventBus.on("system:shutdown", () => {
|
|
859
|
-
|
|
860
|
-
});
|
|
861
|
-
// 6.6.8.0.3. Recover background tasks NOW (after the runner is subscribed).
|
|
862
|
-
// setup-background-tasks.ts INTENTIONALLY does not call this -- if it did,
|
|
863
|
-
// recovered failed events would fire before the runner subscribes and the
|
|
864
|
-
// user would never see the recovery announcement.
|
|
596
|
+
container.eventBus.on("system:shutdown", () => { void bgCompletionRunnerContext.runner.shutdown(); });
|
|
597
|
+
// 6.6.8.0.3. Recover background tasks NOW (after the runner is subscribed)
|
|
865
598
|
backgroundTaskManager.recoverOnStartup();
|
|
866
|
-
// Channel health monitor
|
|
867
|
-
|
|
868
|
-
let channelHealthMonitor;
|
|
869
|
-
let stopChannelHealthMonitor;
|
|
870
|
-
const healthCheckConfig = container.config.channels?.healthCheck;
|
|
871
|
-
if (healthCheckConfig?.enabled !== false) {
|
|
872
|
-
channelHealthMonitor = createChannelHealthMonitor({
|
|
873
|
-
eventBus: container.eventBus,
|
|
874
|
-
pollIntervalMs: healthCheckConfig?.pollIntervalMs,
|
|
875
|
-
staleThresholdMs: healthCheckConfig?.staleThresholdMs,
|
|
876
|
-
idleThresholdMs: healthCheckConfig?.idleThresholdMs,
|
|
877
|
-
errorThreshold: healthCheckConfig?.errorThreshold,
|
|
878
|
-
stuckThresholdMs: healthCheckConfig?.stuckThresholdMs,
|
|
879
|
-
startupGraceMs: healthCheckConfig?.startupGraceMs,
|
|
880
|
-
autoRestartOnStale: healthCheckConfig?.autoRestartOnStale,
|
|
881
|
-
maxRestartsPerHour: healthCheckConfig?.maxRestartsPerHour,
|
|
882
|
-
restartCooldownMs: healthCheckConfig?.restartCooldownMs,
|
|
883
|
-
restartAdapter: async (channelType) => {
|
|
884
|
-
const adapter = adaptersByType.get(channelType);
|
|
885
|
-
if (!adapter)
|
|
886
|
-
return;
|
|
887
|
-
daemonLogger.info({ channelType }, "Health monitor triggering auto-restart for stale adapter");
|
|
888
|
-
await adapter.stop();
|
|
889
|
-
await adapter.start();
|
|
890
|
-
},
|
|
891
|
-
});
|
|
892
|
-
stopChannelHealthMonitor = channelHealthMonitor.start(adaptersByType);
|
|
893
|
-
}
|
|
894
|
-
// Register health monitor shutdown on system:shutdown event
|
|
599
|
+
// Channel health monitor (start + stop produced by helper).
|
|
600
|
+
const { monitor: channelHealthMonitor, stop: stopChannelHealthMonitor } = setupChannelHealthMonitor({ adaptersByType, daemonLogger, container });
|
|
895
601
|
container.eventBus.on("system:shutdown", () => { stopChannelHealthMonitor?.(); });
|
|
896
|
-
// Structured logging for channel health state transitions
|
|
897
602
|
setupChannelHealthLogging({ eventBus: container.eventBus, logger: daemonLogger });
|
|
898
|
-
// 6.6.8.
|
|
899
|
-
// setupMcp is called earlier (before setupAgents @ line ~600) so per-agent
|
|
900
|
-
// ToolCapabilityPort adapter construction inside setupSingleAgent can
|
|
901
|
-
// close over mcpClientManager. The mcpClientManager const declared at the
|
|
902
|
-
// earlier site is in lexical scope here; no additional wiring needed at
|
|
903
|
-
// this section anchor.
|
|
904
|
-
// Detect sandbox provider once at startup
|
|
603
|
+
// 6.6.8.4.1. Sandbox + image generation providers (helper)
|
|
905
604
|
const sandboxProvider = detectSandboxProvider(skillsLogger);
|
|
906
|
-
if (sandboxProvider)
|
|
605
|
+
if (sandboxProvider)
|
|
907
606
|
skillsLogger.info({ provider: sandboxProvider.name }, "Exec sandbox provider detected");
|
|
908
|
-
}
|
|
909
|
-
// 6.6.8.4.1. Image generation provider
|
|
910
|
-
const imageGenConfig = container.config.integrations.media.imageGeneration;
|
|
911
|
-
const imageGenResult = createImageGenProvider(imageGenConfig, container.secretManager);
|
|
912
|
-
const imageGenProvider = imageGenResult.ok ? imageGenResult.value : undefined;
|
|
913
|
-
const imageGenRateLimiter = imageGenProvider
|
|
914
|
-
? createImageGenRateLimiter({ maxPerHour: imageGenConfig.maxPerHour })
|
|
915
|
-
: undefined;
|
|
916
|
-
if (imageGenProvider) {
|
|
917
|
-
skillsLogger.info({ provider: imageGenConfig.provider }, "Image generation provider initialized");
|
|
918
|
-
}
|
|
919
|
-
else if (imageGenResult.ok) {
|
|
920
|
-
skillsLogger.debug("Image generation disabled: API key not configured");
|
|
921
|
-
}
|
|
922
|
-
else {
|
|
923
|
-
skillsLogger.warn({ err: imageGenResult.error, hint: "Check image generation config provider value", errorKind: "config" }, "Image generation provider creation failed");
|
|
924
|
-
}
|
|
925
|
-
// Per-agent ToolCapabilityPort resolver. Falls back to the default
|
|
926
|
-
// agent's port for unknown agentIds (mirrors the setup-tools.ts:327
|
|
927
|
-
// `agents[agentId] ?? agents[defaultAgentId]` convention). Throws if
|
|
928
|
-
// neither exists -- this fires both for an initialization-order bug AND
|
|
929
|
-
// for runtime hot-remove paths (agent + default both removed; stale
|
|
930
|
-
// cron/graph/heartbeat caller carrying a since-removed agentId). The
|
|
931
|
-
// message stays scenario-agnostic so the operator can diagnose either
|
|
932
|
-
// cause.
|
|
933
|
-
const getCapabilityPortForAgent = (agentId) => {
|
|
934
|
-
const port = toolCapabilityPorts.get(agentId) ?? toolCapabilityPorts.get(defaultAgentId);
|
|
935
|
-
if (!port) {
|
|
936
|
-
throw new Error(`No ToolCapabilityPort registered for agent '${agentId}' and no default agent ('${defaultAgentId}') fallback available -- the agent may have been removed or the daemon failed to initialize.`);
|
|
937
|
-
}
|
|
938
|
-
return port;
|
|
939
|
-
};
|
|
607
|
+
const { imageGenProvider, imageGenRateLimiter, imageGenConfig } = buildImageGenBundle({ container, skillsLogger });
|
|
940
608
|
// 6.6.8.5. Tools + message preprocessing
|
|
609
|
+
const getCapabilityPortForAgent = createCapabilityPortResolver(toolCapabilityPorts, defaultAgentId);
|
|
941
610
|
const { assembleToolsForAgent, preprocessMessageText } = setupTools({
|
|
942
611
|
rpcCall, agents, defaultAgentId, workspaceDirs, defaultWorkspaceDir,
|
|
943
612
|
dataDir: container.config.dataDir || ".",
|
|
944
|
-
secretManager: container.secretManager,
|
|
945
|
-
platformSecretNames: container.platformSecretNames,
|
|
613
|
+
secretManager: container.secretManager, platformSecretNames: container.platformSecretNames,
|
|
946
614
|
eventBus: container.eventBus, skillsLogger, linkRunner,
|
|
947
615
|
approvalGate: container.config.approvals?.enabled ? approvalGate : undefined,
|
|
948
|
-
subprocessEnv: execToolEnv,
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
sandboxProvider,
|
|
952
|
-
imageGenProvider, // Conditional: only registered when API key is present
|
|
953
|
-
backgroundTaskManager, // Background_tasks tool registration
|
|
954
|
-
sessionTrackerRegistry,
|
|
955
|
-
getCapabilityPortForAgent,
|
|
616
|
+
subprocessEnv: handle.execToolEnv, onSuspiciousContent: handle.onSuspiciousContent,
|
|
617
|
+
mcpClientManager, sandboxProvider, imageGenProvider, backgroundTaskManager,
|
|
618
|
+
sessionTrackerRegistry: handle.sessionTrackerRegistry, getCapabilityPortForAgent,
|
|
956
619
|
});
|
|
957
|
-
// Wire deferred tool assembler ref now that setupTools has returned
|
|
958
620
|
toolAssemblerRef.ref = assembleToolsForAgent;
|
|
959
621
|
// 6.6.9. Cross-session sender + sub-agent runner
|
|
960
|
-
// Deferred gateway send ref: wired after setupGateway returns wsConnections
|
|
961
622
|
const gatewaySendRef = {};
|
|
962
623
|
const { crossSessionSender, subAgentRunner, sendToChannel, announceToParent, deadLetterQueue, announcementBatcher } = setupCrossSession({
|
|
963
|
-
sessionStore, container, assembleToolsForAgent, getExecutor, adaptersByType,
|
|
964
|
-
logger: agentLogger,
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
// Composite-key resolver supersedes activeRunRegistry.get(sessionKey)
|
|
969
|
-
// for sub-agent-runner abort paths.
|
|
970
|
-
sessionResolver,
|
|
971
|
-
deliveryQueue,
|
|
624
|
+
sessionStore, container, assembleToolsForAgent, getExecutor: handle.getExecutor, adaptersByType,
|
|
625
|
+
logger: agentLogger, memoryAdapter, gatewaySend: gatewaySendRef,
|
|
626
|
+
activeRunRegistry, sessionResolver, deliveryQueue, deliveryService,
|
|
627
|
+
fileLock: singleAgentDeps.fileLock,
|
|
628
|
+
clock: handle.clock, timers: handle.timers,
|
|
972
629
|
});
|
|
973
|
-
// Rolling prompt timeout counter (sliding 5-minute window).
|
|
974
|
-
// Timestamps are pushed on every execution:prompt_timeout event. Pruning
|
|
975
|
-
// happens at read time inside the health log handler to avoid timer overhead.
|
|
976
630
|
const promptTimeoutTimestamps = [];
|
|
977
|
-
container.eventBus.on("execution:prompt_timeout", () => {
|
|
978
|
-
|
|
979
|
-
});
|
|
980
|
-
// 6.6.9.0. Node type registry (initially empty; drivers registered at startup)
|
|
631
|
+
container.eventBus.on("execution:prompt_timeout", () => { promptTimeoutTimestamps.push(Date.now()); });
|
|
632
|
+
// 6.6.9.0-2. Node type registry + graph coordinator + named graph store
|
|
981
633
|
const nodeTypeRegistry = createNodeTypeRegistry();
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
subAgentRunner,
|
|
985
|
-
|
|
986
|
-
sendToChannel,
|
|
987
|
-
announceToParent,
|
|
988
|
-
batcher: announcementBatcher,
|
|
989
|
-
tenantId: container.config.tenantId,
|
|
990
|
-
defaultAgentId,
|
|
991
|
-
maxConcurrency: container.config.security.agentToAgent.graphMaxConcurrency ?? 4,
|
|
992
|
-
maxResultLength: container.config.security.agentToAgent.graphMaxResultLength,
|
|
993
|
-
maxGlobalSubAgents: container.config.security.agentToAgent.graphMaxGlobalSubAgents,
|
|
994
|
-
logger: agentLogger?.child?.({ submodule: "graph-coordinator" }),
|
|
995
|
-
dataDir: container.config.dataDir || dataDir,
|
|
996
|
-
nodeTypeRegistry,
|
|
997
|
-
activeRunRegistry, // Parent-session-gone detection for graph completion
|
|
998
|
-
// Provide tool assembly for graph-wide superset computation and prewarm.
|
|
999
|
-
// Returns full tool definitions (name + description + inputSchema) so prewarm
|
|
1000
|
-
// can send byte-identical tool schemas to seed the cache prefix.
|
|
1001
|
-
assembleToolsForAgent: async (agentId) => {
|
|
1002
|
-
const tools = await assembleToolsForAgent(agentId);
|
|
1003
|
-
return tools.map((t) => ({
|
|
1004
|
-
name: t.name,
|
|
1005
|
-
description: t.description,
|
|
1006
|
-
inputSchema: t.inputSchema,
|
|
1007
|
-
}));
|
|
1008
|
-
},
|
|
1009
|
-
// Keep parent session lane alive during graph execution
|
|
1010
|
-
touchParentSession: commandQueue
|
|
1011
|
-
? (sessionKey) => commandQueue.touchLane(sessionKey)
|
|
1012
|
-
: undefined,
|
|
1013
|
-
// Pre-warm cache prefix for Anthropic graph executions.
|
|
1014
|
-
// Seeds system prompt + tools into Anthropic's cache before graph nodes spawn,
|
|
1015
|
-
// so all nodes get cache reads instead of independent cold writes.
|
|
1016
|
-
// Tools field is populated eagerly -- the graph coordinator awaits toolSupersetPromise
|
|
1017
|
-
// before calling preWarmGraphCache, but the deps.preWarm.tools field provides the full
|
|
1018
|
-
// tool definitions (with description + inputSchema) for the prewarm API call.
|
|
1019
|
-
// assembleToolsForAgent is called lazily at graph start time, so we provide the
|
|
1020
|
-
// resolver function via a getter pattern: the coordinator resolves tools from
|
|
1021
|
-
// the superset at prewarm time using deps.assembleToolsForAgent (already wired above).
|
|
1022
|
-
preWarm: (() => {
|
|
1023
|
-
const agentCfg = agents[defaultAgentId];
|
|
1024
|
-
const provider = agentCfg?.provider ?? "anthropic";
|
|
1025
|
-
const resolvedModel = agentCfg?.model === "default" || !agentCfg?.model
|
|
1026
|
-
? "claude-sonnet-4-5-20250929"
|
|
1027
|
-
: agentCfg.model;
|
|
1028
|
-
const apiKey = container.secretManager.get("anthropic-api-key")
|
|
1029
|
-
?? container.secretManager.get("ANTHROPIC_API_KEY") ?? "";
|
|
1030
|
-
if (!apiKey)
|
|
1031
|
-
return undefined;
|
|
1032
|
-
return {
|
|
1033
|
-
provider,
|
|
1034
|
-
modelId: resolvedModel,
|
|
1035
|
-
apiKey,
|
|
1036
|
-
systemPrompt: agentCfg?.name
|
|
1037
|
-
? `You are ${agentCfg.name}. You are a helpful AI assistant.`
|
|
1038
|
-
: "You are a helpful AI assistant.",
|
|
1039
|
-
tools: [],
|
|
1040
|
-
};
|
|
1041
|
-
})(),
|
|
1042
|
-
});
|
|
1043
|
-
// Late-bind graph coordinator into sub-agent runner for direct kill cascade
|
|
634
|
+
const graphCoordinator = createGraphCoordinator(buildGraphCoordinatorDeps({
|
|
635
|
+
agents: handle,
|
|
636
|
+
channels: { subAgentRunner, sendToChannel, announceToParent, announcementBatcher, commandQueue, assembleToolsForAgent, nodeTypeRegistry },
|
|
637
|
+
}));
|
|
1044
638
|
subAgentRunner.setGraphCoordinator(graphCoordinator);
|
|
1045
|
-
// 6.6.9.2. Named graph store for server-side pipeline persistence
|
|
1046
639
|
const namedGraphStore = createNamedGraphStore(db);
|
|
1047
|
-
// 6.7. Monitoring
|
|
640
|
+
// 6.7. Monitoring + per-agent heartbeat + wake coalescer
|
|
1048
641
|
const { heartbeatRunner, duplicateDetector } = setupMonitoring({ container, schedulerLogger, logger, adaptersByType });
|
|
1049
|
-
// 6.7.0.0. Per-agent heartbeat with LLM-driven agent turns
|
|
1050
642
|
const { perAgentRunner } = setupHeartbeat({
|
|
1051
|
-
container,
|
|
1052
|
-
|
|
1053
|
-
assembleToolsForAgent,
|
|
1054
|
-
workspaceDirs,
|
|
1055
|
-
// Composite-key resolver replaces single-arg .has()
|
|
1056
|
-
sessionResolver,
|
|
1057
|
-
duplicateDetector,
|
|
1058
|
-
adaptersByType,
|
|
1059
|
-
systemEventQueue,
|
|
1060
|
-
memoryApi,
|
|
1061
|
-
schedulerLogger,
|
|
643
|
+
container, executors, assembleToolsForAgent, workspaceDirs,
|
|
644
|
+
sessionResolver, duplicateDetector, adaptersByType, systemEventQueue, memoryApi, schedulerLogger,
|
|
1062
645
|
});
|
|
1063
|
-
// 6.7.0.1. Wake coalescer wrapping heartbeatRunner
|
|
1064
646
|
const wakeCoalescer = createWakeCoalescer({
|
|
1065
647
|
runOnce: () => (heartbeatRunner ? heartbeatRunner.runOnce() : Promise.resolve()),
|
|
1066
648
|
logger: schedulerLogger,
|
|
1067
649
|
});
|
|
1068
|
-
//
|
|
1069
|
-
|
|
650
|
+
// Cross-stage: populate cronWakeCallbackRef now that wakeCoalescer is
|
|
651
|
+
// constructed. The setupSchedulers `onCronWake` lambda (wired in
|
|
652
|
+
// stageAgents) reads `.ref` at call time.
|
|
653
|
+
cronWakeCallbackRef.ref = (reason) => wakeCoalescer.requestHeartbeatNow(reason);
|
|
1070
654
|
// 6.7.0.2. Agent management runtime state
|
|
1071
655
|
const suspendedAgents = new Set();
|
|
1072
|
-
// Model catalog for model management handlers
|
|
1073
656
|
const modelCatalog = createModelCatalog();
|
|
1074
657
|
modelCatalog.loadStatic();
|
|
1075
|
-
// Channel config for channel management handlers
|
|
1076
658
|
const channelConfig = Object.fromEntries(Object.entries(container.config.channels ?? {}).filter(([k, v]) => k !== "healthCheck" && typeof v === "object" && v !== null && "enabled" in v).map(([k, v]) => [k, { enabled: !!v.enabled }]));
|
|
659
|
+
return {
|
|
660
|
+
...handle,
|
|
661
|
+
adaptersByType, channelManager, resolveAttachment, lifecycleReactors, channelPlugins,
|
|
662
|
+
channelCapabilities, commandQueue, deliveryService,
|
|
663
|
+
inboundMessageIdResolver, channelHealthMonitor, stopChannelHealthMonitor,
|
|
664
|
+
notificationContext, bgCompletionRunnerContext,
|
|
665
|
+
crossSessionSender, subAgentRunner, sendToChannel, announceToParent,
|
|
666
|
+
deadLetterQueue, announcementBatcher, gatewaySendRef,
|
|
667
|
+
sandboxProvider, imageGenProvider, imageGenRateLimiter, imageGenConfig,
|
|
668
|
+
assembleToolsForAgent, preprocessMessageText, getCapabilityPortForAgent,
|
|
669
|
+
heartbeatRunner, duplicateDetector, perAgentRunner, wakeCoalescer,
|
|
670
|
+
nodeTypeRegistry, graphCoordinator, namedGraphStore,
|
|
671
|
+
suspendedAgents, modelCatalog, channelConfig, promptTimeoutTimestamps,
|
|
672
|
+
};
|
|
673
|
+
}
|
|
674
|
+
// ---------------------------------------------------------------------------
|
|
675
|
+
// Stage 4: gateway
|
|
676
|
+
// ---------------------------------------------------------------------------
|
|
677
|
+
/**
|
|
678
|
+
* stageGateway -- gateway-runtime startup. Owns:
|
|
679
|
+
* token registry + session store bridge + shutdown ref + hot-add/hot-remove
|
|
680
|
+
* closures + RPC dispatch deps assembly + gateway server + deferred gateway
|
|
681
|
+
* attachment wiring + gatewaySendRef.ref population + restart continuation
|
|
682
|
+
* replay.
|
|
683
|
+
* Inputs: ChannelsHandle (yields foundation + agents + channels) + overrides.
|
|
684
|
+
*
|
|
685
|
+
* Hard cap ≤200 lines AST-measured. Five helpers extracted to fit
|
|
686
|
+
* (resolveGatewayTokens, createHotAdd, createHotRemove,
|
|
687
|
+
* buildRpcDispatchDeps, replayContinuationsIfAny).
|
|
688
|
+
*
|
|
689
|
+
* Log-sequence: "Gateway server started" emits inside setupGateway here in
|
|
690
|
+
* source order; daemon-lifecycle.test.ts assertions remain unchanged.
|
|
691
|
+
*/
|
|
692
|
+
async function stageGateway(input) {
|
|
693
|
+
const { overrides, channels, startupStartMs, instanceId } = input;
|
|
694
|
+
const { container, configPaths, sessionStore, daemonLogger, gatewayLogger, cachedPort, memoryApi, memoryAdapter, embeddingQueue, defaultAgentId, defaultWorkspaceDir, agentsConfig: agents, costTrackers, workspaceDirs, piSessionAdapters, getExecutor, rpcCall, wireDispatch, assembleToolsForAgent, preprocessMessageText, suspendedAgents, gatewaySendRef, } = channels;
|
|
695
|
+
const _createGatewayServer = overrides.createGatewayServer ?? createGatewayServer;
|
|
1077
696
|
// Token registry for token management handlers
|
|
1078
697
|
const gwTokens = (container.config.gateway?.tokens ?? []).map((t) => ({
|
|
1079
698
|
id: t.id ?? "unknown",
|
|
@@ -1083,29 +702,7 @@ export async function main(overrides = {}) {
|
|
|
1083
702
|
const runtimeTokens = [];
|
|
1084
703
|
const removedTokenIds = new Set();
|
|
1085
704
|
// Resolve gateway token secrets at startup (config -> env -> auto-generate)
|
|
1086
|
-
const resolvedGatewayTokens =
|
|
1087
|
-
for (const t of container.config.gateway?.tokens ?? []) {
|
|
1088
|
-
const tokenId = t.id ?? "unknown";
|
|
1089
|
-
const tokenScopes = [...(t.scopes ?? [])];
|
|
1090
|
-
if (typeof t.secret === "string" && t.secret.length >= 32) {
|
|
1091
|
-
// Source: config (explicit secret present and valid)
|
|
1092
|
-
resolvedGatewayTokens.push({ id: tokenId, secret: t.secret, scopes: tokenScopes });
|
|
1093
|
-
}
|
|
1094
|
-
else {
|
|
1095
|
-
const envKey = `GATEWAY_TOKEN_${tokenId.toUpperCase().replace(/-/g, "_")}`;
|
|
1096
|
-
const envSecret = container.secretManager.get(envKey);
|
|
1097
|
-
if (envSecret) {
|
|
1098
|
-
// Source: env / SecretManager
|
|
1099
|
-
resolvedGatewayTokens.push({ id: tokenId, secret: envSecret, scopes: tokenScopes });
|
|
1100
|
-
}
|
|
1101
|
-
else {
|
|
1102
|
-
// Source: auto-generated (ephemeral)
|
|
1103
|
-
const generated = generateStrongToken();
|
|
1104
|
-
resolvedGatewayTokens.push({ id: tokenId, secret: generated, scopes: tokenScopes });
|
|
1105
|
-
daemonLogger.warn({ tokenId, envVar: envKey, hint: `Set ${envKey} in environment or secrets store for persistence`, errorKind: "config" }, "Gateway token auto-generated (ephemeral -- will be lost on restart)");
|
|
1106
|
-
}
|
|
1107
|
-
}
|
|
1108
|
-
}
|
|
705
|
+
const resolvedGatewayTokens = resolveGatewayTokens({ container, daemonLogger });
|
|
1109
706
|
// 6.7.0.5. Session store bridge (shared between RPC dispatch and DaemonInstance return)
|
|
1110
707
|
const sessionStoreBridge = {
|
|
1111
708
|
listDetailed: (tenantId) => sessionStore.listDetailed(tenantId),
|
|
@@ -1123,141 +720,21 @@ export async function main(overrides = {}) {
|
|
|
1123
720
|
sessionStore.save(parsed, messages, metadata);
|
|
1124
721
|
},
|
|
1125
722
|
};
|
|
1126
|
-
// Mutable shutdown ref for hot-add guard.
|
|
1127
|
-
//
|
|
1128
|
-
// spread in createAgentHandlers captures them. But shutdownHandle is created
|
|
1129
|
-
// after wireDispatch at setupShutdown(). We use a mutable ref that
|
|
1130
|
-
// is assigned after setupShutdown -- closures read it at RPC call time, not
|
|
1131
|
-
// definition time, so it is always set before any RPC arrives.
|
|
723
|
+
// Mutable shutdown ref for hot-add guard. Populated by stageShutdown --
|
|
724
|
+
// closures read .value at RPC call time, not definition time.
|
|
1132
725
|
const shutdownRef = {};
|
|
1133
|
-
// Hot-add/hot-remove closures
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
//
|
|
1137
|
-
const
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
executors.set(agentId, result.executor);
|
|
1144
|
-
workspaceDirs.set(agentId, result.workspaceDir);
|
|
1145
|
-
costTrackers.set(agentId, result.costTracker);
|
|
1146
|
-
budgetGuards.set(agentId, result.budgetGuard);
|
|
1147
|
-
stepCounters.set(agentId, result.stepCounter);
|
|
1148
|
-
piSessionAdapters.set(agentId, result.piSessionAdapter);
|
|
1149
|
-
if (result.skillWatcherHandle) {
|
|
1150
|
-
skillWatcherHandles.set(agentId, result.skillWatcherHandle);
|
|
1151
|
-
}
|
|
1152
|
-
skillRegistries.set(agentId, result.skillRegistry);
|
|
1153
|
-
toolCapabilityPorts.set(agentId, result.toolCapabilityPort);
|
|
1154
|
-
container.eventBus.emit("agent:hot_added", { agentId, timestamp: Date.now() });
|
|
1155
|
-
daemonLogger.info({ agentId, durationMs: Date.now() - startMs }, "Agent hot-added to running daemon");
|
|
1156
|
-
};
|
|
1157
|
-
const hotRemove = async (agentId) => {
|
|
1158
|
-
const startMs = Date.now();
|
|
1159
|
-
// Warn if agent may have active executions.
|
|
1160
|
-
// ActiveRunRegistry is keyed by sessionKey, not agentId. Since hot-remove is
|
|
1161
|
-
// rare and the registry is small, a coarse size > 0 check is sufficient for v1.
|
|
1162
|
-
if (activeRunRegistry.size > 0) {
|
|
1163
|
-
daemonLogger.warn({ agentId, activeRuns: activeRunRegistry.size,
|
|
1164
|
-
hint: "Agent removed while daemon has active executions; if this agent has an in-flight run it will complete but response delivery may fail",
|
|
1165
|
-
errorKind: "operational" }, "Hot-removing agent with possible active executions");
|
|
1166
|
-
}
|
|
1167
|
-
// Stop skill watcher if present
|
|
1168
|
-
const watcher = skillWatcherHandles.get(agentId);
|
|
1169
|
-
if (watcher) {
|
|
1170
|
-
await watcher.close();
|
|
1171
|
-
skillWatcherHandles.delete(agentId);
|
|
1172
|
-
}
|
|
1173
|
-
// Remove from all Maps (workspace dir preserved on disk for data safety)
|
|
1174
|
-
executors.delete(agentId);
|
|
1175
|
-
workspaceDirs.delete(agentId);
|
|
1176
|
-
costTrackers.delete(agentId);
|
|
1177
|
-
budgetGuards.delete(agentId);
|
|
1178
|
-
stepCounters.delete(agentId);
|
|
1179
|
-
piSessionAdapters.delete(agentId);
|
|
1180
|
-
skillRegistries.delete(agentId);
|
|
1181
|
-
toolCapabilityPorts.delete(agentId);
|
|
1182
|
-
container.eventBus.emit("agent:hot_removed", { agentId, timestamp: Date.now() });
|
|
1183
|
-
daemonLogger.info({ agentId, durationMs: Date.now() - startMs }, "Agent hot-removed from running daemon");
|
|
1184
|
-
};
|
|
1185
|
-
// 6.7.1. Wire RPC dispatch now that heartbeatRunner is available
|
|
1186
|
-
// Keep a reference so we can add wsConnections/mediaDir after gateway setup.
|
|
1187
|
-
const rpcDispatchDeps = {
|
|
1188
|
-
defaultAgentId, getAgentCronScheduler, cronSchedulers, executionTrackers,
|
|
1189
|
-
wakeCoalescer, defaultWorkspaceDir, workspaceDirs, memoryApi, memoryAdapter,
|
|
1190
|
-
embeddingQueue, tenantId: container.config.tenantId, agents, costTrackers,
|
|
1191
|
-
stepCounters,
|
|
1192
|
-
agentDataDir: pathJoin(container.config.dataDir ?? pathJoin(os.homedir(), ".comis"), "agents"),
|
|
1193
|
-
sessionStore: sessionStoreBridge,
|
|
1194
|
-
crossSessionSender, subAgentRunner, graphCoordinator, namedGraphStore, nodeTypeRegistry,
|
|
1195
|
-
securityConfig: container.config.security, adaptersByType, inboundMessageIdResolver, visionRegistry,
|
|
1196
|
-
mediaConfig: container.config.integrations.media, ttsAdapter, linkRunner,
|
|
1197
|
-
logger, container, configPaths, defaultConfigPaths: DEFAULT_CONFIG_PATHS,
|
|
1198
|
-
configGitManager,
|
|
1199
|
-
configWebhook: container.config.daemon.configWebhook,
|
|
1200
|
-
secretStore,
|
|
1201
|
-
envFilePath: envPath,
|
|
1202
|
-
logLevelManager,
|
|
1203
|
-
getAgentBrowserService,
|
|
1204
|
-
resolveAttachment, transcriber, fileExtractor,
|
|
1205
|
-
approvalGate,
|
|
1206
|
-
suspendedAgents,
|
|
1207
|
-
hotAdd, // runtime agent creation without restart
|
|
1208
|
-
hotRemove, // runtime agent deletion without restart
|
|
1209
|
-
diagnosticCollector, billingEstimator, channelActivityTracker, deliveryTracer,
|
|
1210
|
-
budgetGuards,
|
|
1211
|
-
modelCatalog,
|
|
1212
|
-
channelConfig,
|
|
1213
|
-
tokenRegistry,
|
|
1214
|
-
addToTokenStore: (entry) => {
|
|
1215
|
-
runtimeTokens.push({ id: entry.id, secretBuf: Buffer.from(entry.secret, "utf-8"), scopes: entry.scopes });
|
|
1216
|
-
},
|
|
1217
|
-
removeFromTokenStore: (id) => {
|
|
1218
|
-
removedTokenIds.add(id);
|
|
1219
|
-
const idx = runtimeTokens.findIndex((t) => t.id === id);
|
|
1220
|
-
if (idx >= 0)
|
|
1221
|
-
runtimeTokens.splice(idx, 1);
|
|
1222
|
-
},
|
|
1223
|
-
memoryWriteValidator: validateMemoryWrite, // memory content validation
|
|
1224
|
-
eventBus: container.eventBus, // security event emission for memory writes
|
|
1225
|
-
mcpClientManager, // MCP server management
|
|
1226
|
-
contextStore, // DAG recall RPC handlers
|
|
1227
|
-
contextEngineConfig: {
|
|
1228
|
-
maxRecallsPerDay: agents[defaultAgentId]?.contextEngine?.maxRecallsPerDay ?? 10,
|
|
1229
|
-
maxExpandTokens: agents[defaultAgentId]?.contextEngine?.maxExpandTokens ?? 4000,
|
|
1230
|
-
recallTimeoutMs: agents[defaultAgentId]?.contextEngine?.recallTimeoutMs ?? 120000,
|
|
1231
|
-
},
|
|
1232
|
-
obsStore, // dual-source reads in obs-handlers
|
|
1233
|
-
startupTimestamp: startupStartMs, // dedup boundary for dual-source merge
|
|
1234
|
-
sharedCostTracker, // obs.reset needs to clear in-memory billing data
|
|
1235
|
-
contextPipelineCollector, // context engine pipeline/DAG RPC handlers
|
|
1236
|
-
execGit, // workspace file management
|
|
1237
|
-
deliveryQueue, // crash-safe delivery queue
|
|
1238
|
-
channelPlugins, // channel plugins for capabilities RPC
|
|
1239
|
-
healthMonitor: channelHealthMonitor, // channel health monitor for channels.health RPC
|
|
1240
|
-
embeddingCacheStats, // embedding cache stats for memory.embeddingCache RPC
|
|
1241
|
-
embeddingCircuitBreakerState, // Embedding circuit breaker state for memory operations
|
|
1242
|
-
skillRegistries, // skill management handlers in rpc-dispatch
|
|
1243
|
-
notificationService: notificationContext.notificationService, // notification.send RPC handler
|
|
1244
|
-
// Image generation RPC handler deps
|
|
1245
|
-
imageHandlerDeps: imageGenProvider && imageGenRateLimiter ? {
|
|
1246
|
-
provider: imageGenProvider,
|
|
1247
|
-
rateLimiter: imageGenRateLimiter,
|
|
1248
|
-
config: imageGenConfig,
|
|
1249
|
-
logger: skillsLogger,
|
|
1250
|
-
getChannelAdapter: (channelType) => adaptersByType.get(channelType),
|
|
1251
|
-
} : undefined,
|
|
1252
|
-
// Daemon-level OAuth credential store handle for the agents.update
|
|
1253
|
-
// oauthProfiles existence check.
|
|
1254
|
-
oauthCredentialStore,
|
|
1255
|
-
};
|
|
726
|
+
// Hot-add / hot-remove closures (factory pattern; deps captured by closure)
|
|
727
|
+
const hotAdd = createHotAdd({ channels, shutdownRef });
|
|
728
|
+
const hotRemove = createHotRemove({ channels });
|
|
729
|
+
// 6.7.1. Build RPC dispatch deps and wire dispatch
|
|
730
|
+
const rpcDispatchDeps = buildRpcDispatchDeps({
|
|
731
|
+
channels,
|
|
732
|
+
startupStartMs,
|
|
733
|
+
gateway: { tokenRegistry, runtimeTokens, removedTokenIds, sessionStoreBridge, hotAdd, hotRemove },
|
|
734
|
+
defaultConfigPaths: DEFAULT_CONFIG_PATHS,
|
|
735
|
+
});
|
|
1256
736
|
wireDispatch(rpcDispatchDeps);
|
|
1257
|
-
// 7. Gateway
|
|
1258
|
-
// gateway.host / .port are resolved through the layered config in bootstrap:
|
|
1259
|
-
// schema defaults < env layer (COMIS_GATEWAY_HOST/PORT) < config.yaml.
|
|
1260
|
-
// See packages/core/src/config/env-layer.ts.
|
|
737
|
+
// 7. Gateway server
|
|
1261
738
|
const gwConfig = container.config.gateway;
|
|
1262
739
|
const { gatewayHandle, activeExecutions, getActiveConnectionCount, wsConnections } = await setupGateway({
|
|
1263
740
|
container, gwConfig, webhooksConfig: container.config.webhooks, agents, defaultAgentId,
|
|
@@ -1270,9 +747,22 @@ export async function main(overrides = {}) {
|
|
|
1270
747
|
suspendedAgents,
|
|
1271
748
|
instanceId, startupStartMs,
|
|
1272
749
|
});
|
|
1273
|
-
// 7.0.1. Wire deferred gateway attachment deps
|
|
1274
|
-
//
|
|
1275
|
-
//
|
|
750
|
+
// 7.0.1. Wire deferred gateway attachment deps (wsConnections / mediaDir /
|
|
751
|
+
// onGatewayAttachment) into the mutable rpcDispatchDeps reference; handler
|
|
752
|
+
// closures read them at RPC call time, not at wireDispatch time.
|
|
753
|
+
//
|
|
754
|
+
// INVARIANT: handler factory bodies in
|
|
755
|
+
// `packages/daemon/src/api/*-handlers.ts` MUST read these three fields
|
|
756
|
+
// off `deps` at RPC INVOCATION time (`deps.wsConnections`, `deps.mediaDir`,
|
|
757
|
+
// `deps.onGatewayAttachment`). They MUST NOT destructure them at factory
|
|
758
|
+
// creation time -- the factory runs INSIDE `wireDispatch(rpcDispatchDeps)`
|
|
759
|
+
// above, BEFORE the mutations below. A destructure like
|
|
760
|
+
// const { wsConnections, mediaDir } = deps;
|
|
761
|
+
// at the top of `createMessageHandlers` would capture `undefined` (the
|
|
762
|
+
// pre-mutation values) and silently break gateway-bound RPC paths. The
|
|
763
|
+
// wireDispatch call must remain BEFORE the mutations so the gateway server
|
|
764
|
+
// (setupGateway, above) can register methods on the dynamic router before
|
|
765
|
+
// its HTTP listener starts; "fix by mutating earlier" is not an option.
|
|
1276
766
|
rpcDispatchDeps.wsConnections = wsConnections;
|
|
1277
767
|
if (defaultWorkspaceDir) {
|
|
1278
768
|
rpcDispatchDeps.mediaDir = safePath(defaultWorkspaceDir, "media");
|
|
@@ -1319,58 +809,35 @@ export async function main(overrides = {}) {
|
|
|
1319
809
|
}
|
|
1320
810
|
return sent;
|
|
1321
811
|
};
|
|
1322
|
-
// 7.5. Restart continuation replay
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
};
|
|
1352
|
-
if (record.channelType === "telegram" && record.chatType) {
|
|
1353
|
-
syntheticMetadata.telegramChatType = record.chatType;
|
|
1354
|
-
}
|
|
1355
|
-
if (record.chatType === "group" || record.chatType === "supergroup") {
|
|
1356
|
-
// Channel-agnostic flag mirrored by other adapters (e.g. WhatsApp).
|
|
1357
|
-
syntheticMetadata.isGroup = true;
|
|
1358
|
-
}
|
|
1359
|
-
const syntheticMsg = {
|
|
1360
|
-
id: randomUUID(),
|
|
1361
|
-
channelId: record.channelId,
|
|
1362
|
-
channelType: record.channelType,
|
|
1363
|
-
senderId: record.userId,
|
|
1364
|
-
text: mcpStatusLine ? `${baseText}\n${mcpStatusLine}` : baseText,
|
|
1365
|
-
timestamp: Date.now(),
|
|
1366
|
-
attachments: [],
|
|
1367
|
-
metadata: syntheticMetadata,
|
|
1368
|
-
};
|
|
1369
|
-
channelManager.injectMessage(record.channelType, syntheticMsg).catch((injectErr) => {
|
|
1370
|
-
daemonLogger.warn({ err: injectErr, channelType: record.channelType, channelId: record.channelId, hint: "Continuation replay failed; user can re-send to resume", errorKind: "internal" }, "Failed to replay continuation");
|
|
1371
|
-
});
|
|
1372
|
-
}
|
|
1373
|
-
}
|
|
812
|
+
// 7.5. Restart continuation replay (helper enforces source order:
|
|
813
|
+
// load -> mcp-status -> per-record inject).
|
|
814
|
+
await replayContinuationsIfAny({ channels });
|
|
815
|
+
return {
|
|
816
|
+
...channels,
|
|
817
|
+
tokenRegistry, runtimeTokens, removedTokenIds, resolvedGatewayTokens,
|
|
818
|
+
sessionStoreBridge, shutdownRef, hotAdd, hotRemove, rpcDispatchDeps,
|
|
819
|
+
gatewayHandle, activeExecutions, getActiveConnectionCount, wsConnections,
|
|
820
|
+
};
|
|
821
|
+
}
|
|
822
|
+
// ---------------------------------------------------------------------------
|
|
823
|
+
// Stage 5: shutdown
|
|
824
|
+
// ---------------------------------------------------------------------------
|
|
825
|
+
/**
|
|
826
|
+
* stageShutdown -- final stage. Constructs the shutdown handle, populates
|
|
827
|
+
* gateway.shutdownRef.value (cross-stage deferred-ref pattern), wires the
|
|
828
|
+
* health-metrics event-bus subscription, emits the startup banner, snapshots
|
|
829
|
+
* last-known-good config, and returns the DaemonInstance to main()'s callers.
|
|
830
|
+
*
|
|
831
|
+
* Hard cap: ≤200 lines AST-measured.
|
|
832
|
+
*/
|
|
833
|
+
async function stageShutdown(input) {
|
|
834
|
+
const { overrides, gateway, startupStartMs, instanceId } = input;
|
|
835
|
+
const { container, dataDir, configPaths, logger, logLevelManager, daemonLogger, daemonVersion, tokenTracker, latencyRecorder, processMonitor, watchdogHandle, deviceIdentity, diagnosticCollector, billingEstimator, channelActivityTracker, deliveryTracer, contextPipelineCollector, backgroundIndexingPromise, db, disposeEmbedding, cachedPort, maintenanceTick, obsPersistence, injectionRateLimiter, geminiCacheManager, backgroundTaskManager, secretStore, executors: _execs, cronSchedulers, resetSchedulers, browserServices, skillWatcherHandles, lockCleanupTimer, continuationTracker, mediaTempManager, ttsAdapter, visionRegistry, rpcCall, approvalGate, auditAggregator, agentsConfig: agents, providerHealth, subAgentRunner, channelManager, channelAdaptersRef, deliveryQueue, adaptersByType, lifecycleReactors, channelHealthMonitor, deadLetterQueue, heartbeatRunner, perAgentRunner, wakeCoalescer, graphCoordinator, suspendedAgents: _suspended, promptTimeoutTimestamps, sessionStoreBridge, shutdownRef, gatewayHandle, activeExecutions, getActiveConnectionCount, } = gateway;
|
|
836
|
+
void _execs;
|
|
837
|
+
void _suspended;
|
|
838
|
+
// Override-derived locals -- only consumed by setupShutdown below.
|
|
839
|
+
const exitFn = overrides.exit ?? ((code) => process.exit(code));
|
|
840
|
+
const _registerGracefulShutdown = overrides.registerGracefulShutdown ?? registerGracefulShutdown;
|
|
1374
841
|
// 8. Graceful shutdown
|
|
1375
842
|
const { shutdownHandle } = setupShutdown({
|
|
1376
843
|
logger, daemonLogger, processMonitor, container, exitFn, _registerGracefulShutdown,
|
|
@@ -1392,131 +859,23 @@ export async function main(overrides = {}) {
|
|
|
1392
859
|
obsPersistence, // drain write buffers before db.close
|
|
1393
860
|
geminiCacheManager, // Dispose all Gemini caches on shutdown
|
|
1394
861
|
});
|
|
1395
|
-
// Wire shutdown ref for hot-add guard.
|
|
862
|
+
// Wire shutdown ref for hot-add guard. Cross-stage deferred-ref populate:
|
|
863
|
+
// stageGateway declared the empty ref + captured it in hot-add closure;
|
|
864
|
+
// here we point .value at the live shutdown handle so the closure reads
|
|
865
|
+
// .isShuttingDown at call time.
|
|
1396
866
|
shutdownRef.value = shutdownHandle;
|
|
1397
|
-
// 8.5. Health logging
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
const dbFilePath = db.name;
|
|
1409
|
-
if (dbFilePath) {
|
|
1410
|
-
memoryDbSizeBytes = statSync(dbFilePath).size;
|
|
1411
|
-
try {
|
|
1412
|
-
memoryDbWalSizeBytes = statSync(dbFilePath + "-wal").size;
|
|
1413
|
-
}
|
|
1414
|
-
catch { /* WAL file may not exist */ }
|
|
1415
|
-
}
|
|
1416
|
-
}
|
|
1417
|
-
catch { /* stat failure must not crash health check */ }
|
|
1418
|
-
maintenanceTick();
|
|
1419
|
-
// Compute sub-agent health metrics (threshold-aware split)
|
|
1420
|
-
const stuckKillThresholdMs = container.config.security.agentToAgent.subagentContext?.stuckKillThresholdMs ?? 180_000;
|
|
1421
|
-
const graphStuckKillThresholdMs = container.config.security.agentToAgent.subagentContext?.graphStuckKillThresholdMs ?? 600_000;
|
|
1422
|
-
const allRuns = subAgentRunner.listRuns();
|
|
1423
|
-
const now = Date.now();
|
|
1424
|
-
let activeSubAgentRuns = 0;
|
|
1425
|
-
let stuckSubAgentRuns = 0;
|
|
1426
|
-
for (const run of allRuns) {
|
|
1427
|
-
if (run.status !== "running")
|
|
1428
|
-
continue;
|
|
1429
|
-
activeSubAgentRuns++;
|
|
1430
|
-
const threshold = run.graphId ? graphStuckKillThresholdMs : stuckKillThresholdMs;
|
|
1431
|
-
if (threshold > 0 && (now - run.startedAt) > threshold) {
|
|
1432
|
-
stuckSubAgentRuns++;
|
|
1433
|
-
}
|
|
1434
|
-
}
|
|
1435
|
-
// Kill stuck sub-agents and track actual killed count.
|
|
1436
|
-
// Graph sub-agents get a longer threshold since they do multi-step analytical work.
|
|
1437
|
-
let stuckKilledThisTick = 0;
|
|
1438
|
-
if (stuckKillThresholdMs > 0 || graphStuckKillThresholdMs > 0) {
|
|
1439
|
-
for (const run of allRuns) {
|
|
1440
|
-
if (run.status !== "running")
|
|
1441
|
-
continue;
|
|
1442
|
-
const threshold = run.graphId ? graphStuckKillThresholdMs : stuckKillThresholdMs;
|
|
1443
|
-
if (threshold <= 0)
|
|
1444
|
-
continue;
|
|
1445
|
-
if ((now - run.startedAt) <= threshold)
|
|
1446
|
-
continue;
|
|
1447
|
-
subAgentRunner.killRun(run.runId);
|
|
1448
|
-
stuckKilledThisTick++;
|
|
1449
|
-
daemonLogger.warn({
|
|
1450
|
-
runId: run.runId,
|
|
1451
|
-
agentId: run.agentId,
|
|
1452
|
-
runtimeMs: now - run.startedAt,
|
|
1453
|
-
thresholdMs: threshold,
|
|
1454
|
-
isGraphRun: !!run.graphId,
|
|
1455
|
-
hint: run.graphId
|
|
1456
|
-
? "Graph sub-agent exceeded graphStuckKillThresholdMs; force-killed by health handler. Adjust security.agentToAgent.subagentContext.graphStuckKillThresholdMs if needed."
|
|
1457
|
-
: "Sub-agent exceeded stuckKillThresholdMs; force-killed by health handler. Adjust security.agentToAgent.subagentContext.stuckKillThresholdMs if needed.",
|
|
1458
|
-
errorKind: "timeout",
|
|
1459
|
-
}, "Stuck sub-agent killed by health handler");
|
|
1460
|
-
}
|
|
1461
|
-
}
|
|
1462
|
-
daemonLogger.debug({
|
|
1463
|
-
rssBytes: metrics.rssBytes,
|
|
1464
|
-
heapUsedBytes: metrics.heapUsedBytes,
|
|
1465
|
-
heapTotalBytes: metrics.heapTotalBytes,
|
|
1466
|
-
externalBytes: metrics.externalBytes,
|
|
1467
|
-
eventLoopP99Ms: Math.round(metrics.eventLoopDelayMs.p99 * 100) / 100,
|
|
1468
|
-
activeHandles: metrics.activeHandles,
|
|
1469
|
-
activeConnections: getActiveConnectionCount(),
|
|
1470
|
-
activeExecutions: activeExecutions.size,
|
|
1471
|
-
uptimeSeconds: Math.round(metrics.uptimeSeconds),
|
|
1472
|
-
// Resilience metrics
|
|
1473
|
-
activeSubAgentRuns,
|
|
1474
|
-
stuckSubAgentRuns,
|
|
1475
|
-
stuckKilledThisTick,
|
|
1476
|
-
deadLetterQueueSize: deadLetterQueue?.size() ?? 0,
|
|
1477
|
-
degradedProviders: [...providerHealth.getHealthSummary().entries()]
|
|
1478
|
-
.filter(([, v]) => v.degraded)
|
|
1479
|
-
.map(([k]) => k),
|
|
1480
|
-
promptTimeoutsLast5m: promptTimeoutTimestamps.length,
|
|
1481
|
-
// Database file size and delivery queue depth for health monitoring
|
|
1482
|
-
...(memoryDbSizeBytes !== undefined && { memoryDbSizeBytes }),
|
|
1483
|
-
...(memoryDbWalSizeBytes !== undefined && { memoryDbWalSizeBytes }),
|
|
1484
|
-
pendingDeliveryCount: await deliveryQueue.pendingEntries().then(r => r.ok ? r.value.length : 0),
|
|
1485
|
-
}, "Daemon health");
|
|
867
|
+
// 8.5. Health logging
|
|
868
|
+
wireHealthLogging({
|
|
869
|
+
container, daemonLogger, db, maintenanceTick, subAgentRunner,
|
|
870
|
+
promptTimeoutTimestamps, activeExecutions, getActiveConnectionCount,
|
|
871
|
+
deadLetterQueue, providerHealth, deliveryQueue,
|
|
872
|
+
});
|
|
873
|
+
// 9. Startup banner + docker restart-policy warn + OAuth TLS preflight
|
|
874
|
+
emitStartupBanner({
|
|
875
|
+
container, daemonLogger, daemonVersion, agents, adaptersByType, configPaths,
|
|
876
|
+
db, secretStore, cachedPort, ttsAdapter, visionRegistry,
|
|
877
|
+
startupStartMs, instanceId,
|
|
1486
878
|
});
|
|
1487
|
-
// 9. Startup banner
|
|
1488
|
-
daemonLogger.info({
|
|
1489
|
-
version: daemonVersion, agents: Object.keys(agents),
|
|
1490
|
-
channels: Array.from(adaptersByType.keys()),
|
|
1491
|
-
port: gwConfig.enabled ? gwConfig.port : undefined, instanceId,
|
|
1492
|
-
startupDurationMs: Date.now() - startupStartMs, configPaths, dbPath: db.name,
|
|
1493
|
-
logLevel: container.config.logLevel ?? "info", nodeVersion: process.versions.node,
|
|
1494
|
-
manifest: {
|
|
1495
|
-
secrets: { encrypted: !!secretStore },
|
|
1496
|
-
memory: { embedding: !!cachedPort, dbPath: db.name },
|
|
1497
|
-
agents: Object.fromEntries(Object.entries(agents).map(([id, cfg]) => [id, { model: cfg.model }])),
|
|
1498
|
-
skills: {
|
|
1499
|
-
tts: !!ttsAdapter,
|
|
1500
|
-
vision: visionRegistry ? [...visionRegistry.keys()] : [],
|
|
1501
|
-
linkUnderstanding: container.config.integrations.media.linkUnderstanding.enabled,
|
|
1502
|
-
},
|
|
1503
|
-
gateway: {
|
|
1504
|
-
enabled: gwConfig.enabled,
|
|
1505
|
-
port: gwConfig.enabled ? gwConfig.port : undefined,
|
|
1506
|
-
tls: !!gwConfig.tls?.certPath,
|
|
1507
|
-
},
|
|
1508
|
-
},
|
|
1509
|
-
}, "Comis daemon started");
|
|
1510
|
-
// Docker-only: surface restart-policy requirement immediately after the
|
|
1511
|
-
// startup banner. No-op outside containers. Wired here so the WARN lands
|
|
1512
|
-
// in `docker logs` next to the banner, where operators look first.
|
|
1513
|
-
emitDockerRestartPolicyWarn(daemonLogger);
|
|
1514
|
-
// Boot-time TLS preflight against auth.openai.com.
|
|
1515
|
-
// Fire-and-forget — daemon is already serving by this point; the WARN
|
|
1516
|
-
// is purely advisory. Skipped when no OAuth-using agent is configured.
|
|
1517
|
-
if (hasAnyOAuthAgent(container.config.agents)) {
|
|
1518
|
-
void emitOAuthTlsPreflightWarn(daemonLogger);
|
|
1519
|
-
}
|
|
1520
879
|
// Snapshot current config as last-known-good after successful startup
|
|
1521
880
|
if (configPaths.length > 0) {
|
|
1522
881
|
const activeConfigPath = configPaths[configPaths.length - 1];
|
|
@@ -1529,19 +888,56 @@ export async function main(overrides = {}) {
|
|
|
1529
888
|
container, logger, logLevelManager, tokenTracker, latencyRecorder,
|
|
1530
889
|
processMonitor, shutdownHandle, watchdogHandle, cronSchedulers, resetSchedulers,
|
|
1531
890
|
browserServices, heartbeatRunner, gatewayHandle, adapterRegistry: adaptersByType,
|
|
1532
|
-
// Expose the delivery-queue-side adapter map and the queue port
|
|
1533
|
-
//
|
|
1534
|
-
//
|
|
891
|
+
// Expose the delivery-queue-side adapter map and the queue port itself so
|
|
892
|
+
// integration tests can register adapters that the recurring drainer sees
|
|
893
|
+
// and assert on queue depth.
|
|
1535
894
|
deliveryAdapters: channelAdaptersRef,
|
|
1536
895
|
deliveryQueue,
|
|
1537
|
-
// Expose the background task manager so integration tests can
|
|
1538
|
-
//
|
|
1539
|
-
//
|
|
896
|
+
// Expose the background task manager so integration tests can promote
|
|
897
|
+
// synthetic tasks and call complete()/fail() to drive the completion
|
|
898
|
+
// runner pipeline without requiring a live LLM call.
|
|
1540
899
|
backgroundTaskManager,
|
|
1541
900
|
rpcCall, deviceIdentity, diagnosticCollector, billingEstimator,
|
|
1542
901
|
channelActivityTracker, deliveryTracer, approvalGate, channelHealthMonitor, sessionStoreBridge,
|
|
1543
902
|
};
|
|
1544
903
|
}
|
|
904
|
+
/** Main daemon entry point. Wires all subsystem modules and returns DaemonInstance. */
|
|
905
|
+
export async function main(overrides = {}) {
|
|
906
|
+
const startupStartMs = Date.now();
|
|
907
|
+
const instanceId = randomUUID().slice(0, 8);
|
|
908
|
+
// Anthropic SDK debug log lines route through console.debug -> util.inspect.
|
|
909
|
+
// Deepen inspect defaults BEFORE any code path that may construct an
|
|
910
|
+
// Anthropic client (skills/agent setup, prewarm, etc.) so the very first
|
|
911
|
+
// `[req] sending request` line shows the full body. Gated on ANTHROPIC_LOG
|
|
912
|
+
// so production runs are unaffected.
|
|
913
|
+
// eslint-disable-next-line no-restricted-syntax -- process.env access required before SecretManager is initialized; ANTHROPIC_LOG is the SDK-owned switch, not a comis credential.
|
|
914
|
+
applyInspectDefaultsForLogging(process.env);
|
|
915
|
+
// Preflight: probe native deps before any subsystem init so a missing
|
|
916
|
+
// better-sqlite3 'bindings' module fails fast with a clear repair hint
|
|
917
|
+
// instead of cascading into a systemd restart loop.
|
|
918
|
+
const exitFn = overrides.exit ?? ((code) => process.exit(code));
|
|
919
|
+
await (overrides.preflightDoctor ?? ((fn) => runPreflightDoctor(fn)))(exitFn);
|
|
920
|
+
// Stage 1: foundation. Owns data-dir + secrets + bootstrap + logging +
|
|
921
|
+
// observability + memory + obs-persistence + context store + session
|
|
922
|
+
// mirroring + Gemini cache + background tasks + deferred refs.
|
|
923
|
+
const foundation = await stageFoundation({ overrides, startupStartMs, instanceId });
|
|
924
|
+
// Stage 2: agents. Owns agent executors + mcpClientManager + schedulers +
|
|
925
|
+
// media + RPC bridge + approval gate (with restore) + delivery queue.
|
|
926
|
+
const agents = await stageAgents({ overrides, foundation });
|
|
927
|
+
// Stage 3: channels. Owns channel adapters + notifications + bg completion
|
|
928
|
+
// runner + sandbox/image-gen + tools + cross-session + graph + monitoring +
|
|
929
|
+
// heartbeat + wake coalescer + agent runtime state.
|
|
930
|
+
const channels = await stageChannels({ agents });
|
|
931
|
+
// Stage 4: gateway. Owns token registry + session store bridge + shutdown
|
|
932
|
+
// ref slot + hot-add/hot-remove closures + RPC dispatch deps assembly +
|
|
933
|
+
// gateway server + restart continuation replay.
|
|
934
|
+
const gateway = await stageGateway({ overrides, channels, startupStartMs, instanceId });
|
|
935
|
+
// Stage 5: shutdown. Constructs shutdown handle, populates
|
|
936
|
+
// gateway.shutdownRef.value (cross-stage deferred-ref), wires health
|
|
937
|
+
// logging, emits the startup banner ("Comis daemon started"), and returns
|
|
938
|
+
// the DaemonInstance.
|
|
939
|
+
return await stageShutdown({ overrides, gateway, startupStartMs, instanceId });
|
|
940
|
+
}
|
|
1545
941
|
// Only run when invoked directly (not imported).
|
|
1546
942
|
// Under pm2, process.argv[1] is ProcessContainerFork.js — detect via pm_id env var.
|
|
1547
943
|
const isDirectRun = typeof process !== "undefined" &&
|