comisai 1.0.42 → 1.0.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +3 -1
- package/dist/index.js +3 -1
- package/dist/observability-otel.d.ts +1 -0
- package/dist/observability-otel.js +2 -0
- package/dist/observability.d.ts +1 -0
- package/dist/observability.js +2 -0
- package/node_modules/@comis/agent/dist/background/background-task-persistence.d.ts +10 -1
- package/node_modules/@comis/agent/dist/background/background-task-persistence.js +22 -7
- package/node_modules/@comis/agent/dist/background/background-task-types.d.ts +2 -2
- package/node_modules/@comis/agent/dist/background/completion-dispatcher.d.ts +4 -9
- package/node_modules/@comis/agent/dist/background/completion-dispatcher.js +2 -2
- package/node_modules/@comis/agent/dist/background/completion-runner.d.ts +1 -1
- package/node_modules/@comis/agent/dist/background/completion-runner.js +1 -1
- package/node_modules/@comis/agent/dist/bootstrap/sections/autonomy-doctrine.d.ts +38 -0
- package/node_modules/@comis/agent/dist/bootstrap/sections/autonomy-doctrine.js +63 -0
- package/node_modules/@comis/agent/dist/bootstrap/sections/context-sections.d.ts +27 -0
- package/node_modules/@comis/agent/dist/bootstrap/sections/context-sections.js +48 -5
- package/node_modules/@comis/agent/dist/bootstrap/sections/index.d.ts +1 -0
- package/node_modules/@comis/agent/dist/bootstrap/sections/index.js +1 -0
- package/node_modules/@comis/agent/dist/bootstrap/sections/skills-memory-sections.js +3 -0
- package/node_modules/@comis/agent/dist/bootstrap/sections/tool-descriptions.d.ts +1 -2
- package/node_modules/@comis/agent/dist/bootstrap/sections/tool-descriptions.js +8 -13
- package/node_modules/@comis/agent/dist/bootstrap/sections/tooling-sections.d.ts +1 -3
- package/node_modules/@comis/agent/dist/bootstrap/sections/tooling-sections.js +7 -4
- package/node_modules/@comis/agent/dist/bootstrap/system-prompt-assembler.d.ts +51 -4
- package/node_modules/@comis/agent/dist/bootstrap/system-prompt-assembler.js +146 -26
- package/node_modules/@comis/agent/dist/bootstrap/types.d.ts +10 -2
- package/node_modules/@comis/agent/dist/bootstrap/workspace-loader.d.ts +2 -1
- package/node_modules/@comis/agent/dist/bootstrap/workspace-loader.js +23 -1
- package/node_modules/@comis/agent/dist/bridge/bridge-event-handlers.d.ts +6 -0
- package/node_modules/@comis/agent/dist/bridge/bridge-event-handlers.js +29 -0
- package/node_modules/@comis/agent/dist/bridge/bridge-metrics.d.ts +59 -0
- package/node_modules/@comis/agent/dist/bridge/bridge-metrics.js +22 -0
- package/node_modules/@comis/agent/dist/bridge/bridge-safety-controls.d.ts +120 -2
- package/node_modules/@comis/agent/dist/bridge/bridge-safety-controls.js +158 -1
- package/node_modules/@comis/agent/dist/bridge/pi-event-bridge.d.ts +219 -6
- package/node_modules/@comis/agent/dist/bridge/pi-event-bridge.js +1085 -40
- package/node_modules/@comis/agent/dist/bridge/thinking-block-hash-invariant.d.ts +1 -1
- package/node_modules/@comis/agent/dist/bridge/thinking-block-hash-invariant.js +1 -1
- package/node_modules/@comis/agent/dist/bridge/tool-failure-hint.d.ts +27 -0
- package/node_modules/@comis/agent/dist/bridge/tool-failure-hint.js +51 -0
- package/node_modules/@comis/agent/dist/bridge/tool-name-suggest.d.ts +20 -0
- package/node_modules/@comis/agent/dist/bridge/tool-name-suggest.js +98 -0
- package/node_modules/@comis/agent/dist/budget/budget-guard.d.ts +97 -2
- package/node_modules/@comis/agent/dist/budget/budget-guard.js +149 -46
- package/node_modules/@comis/agent/dist/budget/spend-accumulator.d.ts +171 -0
- package/node_modules/@comis/agent/dist/budget/spend-accumulator.js +126 -0
- package/node_modules/@comis/agent/dist/context-engine/budget-capacity-cap.d.ts +35 -0
- package/node_modules/@comis/agent/dist/context-engine/budget-capacity-cap.js +150 -0
- package/node_modules/@comis/agent/dist/context-engine/compaction-capability-router.d.ts +21 -0
- package/node_modules/@comis/agent/dist/context-engine/compaction-capability-router.js +24 -0
- package/node_modules/@comis/agent/dist/context-engine/compaction-zone-helpers.d.ts +68 -0
- package/node_modules/@comis/agent/dist/context-engine/compaction-zone-helpers.js +155 -0
- package/node_modules/@comis/agent/dist/context-engine/constants.d.ts +119 -26
- package/node_modules/@comis/agent/dist/context-engine/constants.js +128 -76
- package/node_modules/@comis/agent/dist/context-engine/context-engine.js +82 -34
- package/node_modules/@comis/agent/dist/context-engine/errors.d.ts +83 -0
- package/node_modules/@comis/agent/dist/context-engine/errors.js +117 -0
- package/node_modules/@comis/agent/dist/context-engine/factored-message-tokens.d.ts +37 -0
- package/node_modules/@comis/agent/dist/context-engine/factored-message-tokens.js +38 -0
- package/node_modules/@comis/agent/dist/context-engine/index.d.ts +0 -14
- package/node_modules/@comis/agent/dist/context-engine/index.js +0 -14
- package/node_modules/@comis/agent/dist/context-engine/lcd-arbiter-seam.d.ts +67 -0
- package/node_modules/@comis/agent/dist/context-engine/lcd-arbiter-seam.js +219 -0
- package/node_modules/@comis/agent/dist/context-engine/lcd-assembler.d.ts +90 -0
- package/node_modules/@comis/agent/dist/context-engine/lcd-assembler.js +684 -0
- package/node_modules/@comis/agent/dist/context-engine/lcd-budget-eviction.d.ts +78 -0
- package/node_modules/@comis/agent/dist/context-engine/lcd-budget-eviction.js +118 -0
- package/node_modules/@comis/agent/dist/context-engine/lcd-condense.d.ts +202 -0
- package/node_modules/@comis/agent/dist/context-engine/lcd-condense.js +341 -0
- package/node_modules/@comis/agent/dist/context-engine/lcd-fresh-tail-bound.d.ts +119 -0
- package/node_modules/@comis/agent/dist/context-engine/lcd-fresh-tail-bound.js +320 -0
- package/node_modules/@comis/agent/dist/context-engine/lcd-leaf-summarizer.d.ts +335 -0
- package/node_modules/@comis/agent/dist/context-engine/lcd-leaf-summarizer.js +503 -0
- package/node_modules/@comis/agent/dist/context-engine/lcd-preflight.d.ts +58 -0
- package/node_modules/@comis/agent/dist/context-engine/lcd-preflight.js +281 -0
- package/node_modules/@comis/agent/dist/context-engine/lcd-summary-render.d.ts +38 -0
- package/node_modules/@comis/agent/dist/context-engine/lcd-summary-render.js +92 -0
- package/node_modules/@comis/agent/dist/context-engine/llm-compaction.d.ts +10 -0
- package/node_modules/@comis/agent/dist/context-engine/llm-compaction.js +260 -122
- package/node_modules/@comis/agent/dist/context-engine/margin-arbiter.d.ts +171 -0
- package/node_modules/@comis/agent/dist/context-engine/margin-arbiter.js +261 -0
- package/node_modules/@comis/agent/dist/context-engine/microcompaction-guard.d.ts +6 -1
- package/node_modules/@comis/agent/dist/context-engine/microcompaction-guard.js +65 -12
- package/node_modules/@comis/agent/dist/context-engine/output-headroom.d.ts +81 -0
- package/node_modules/@comis/agent/dist/context-engine/output-headroom.js +99 -0
- package/node_modules/@comis/agent/dist/context-engine/relevance-eviction.d.ts +82 -0
- package/node_modules/@comis/agent/dist/context-engine/relevance-eviction.js +313 -0
- package/node_modules/@comis/agent/dist/context-engine/security-context-pinner.d.ts +37 -0
- package/node_modules/@comis/agent/dist/context-engine/security-context-pinner.js +66 -0
- package/node_modules/@comis/agent/dist/context-engine/signature-replay-scrubber.d.ts +0 -7
- package/node_modules/@comis/agent/dist/context-engine/summarize-prompt-style.d.ts +33 -0
- package/node_modules/@comis/agent/dist/context-engine/summarize-prompt-style.js +67 -0
- package/node_modules/@comis/agent/dist/context-engine/summarize-tier-targets.d.ts +51 -0
- package/node_modules/@comis/agent/dist/context-engine/summarize-tier-targets.js +163 -0
- package/node_modules/@comis/agent/dist/context-engine/summarizer-window.d.ts +72 -0
- package/node_modules/@comis/agent/dist/context-engine/summarizer-window.js +94 -0
- package/node_modules/@comis/agent/dist/context-engine/token-budget.d.ts +33 -2
- package/node_modules/@comis/agent/dist/context-engine/token-budget.js +63 -3
- package/node_modules/@comis/agent/dist/context-engine/transcript-repair.d.ts +62 -0
- package/node_modules/@comis/agent/dist/context-engine/transcript-repair.js +208 -0
- package/node_modules/@comis/agent/dist/context-engine/types-compaction.d.ts +20 -2
- package/node_modules/@comis/agent/dist/context-engine/types-core.d.ts +151 -9
- package/node_modules/@comis/agent/dist/context-engine/types.d.ts +0 -4
- package/node_modules/@comis/agent/dist/context-engine/types.js +0 -4
- package/node_modules/@comis/agent/dist/context-engine/viable-floor.d.ts +175 -0
- package/node_modules/@comis/agent/dist/context-engine/viable-floor.js +252 -0
- package/node_modules/@comis/agent/dist/executor/cache-break-diff-writer.d.ts +17 -0
- package/node_modules/@comis/agent/dist/executor/cache-break-diff-writer.js +59 -4
- package/node_modules/@comis/agent/dist/executor/cache-detection/cache-state-types.d.ts +11 -0
- package/node_modules/@comis/agent/dist/executor/cache-detection/cache-state.js +5 -0
- package/node_modules/@comis/agent/dist/executor/capability-index-context.js +2 -1
- package/node_modules/@comis/agent/dist/executor/critic-isolation.d.ts +93 -0
- package/node_modules/@comis/agent/dist/executor/critic-isolation.js +154 -0
- package/node_modules/@comis/agent/dist/executor/dag-repair-loop.d.ts +32 -0
- package/node_modules/@comis/agent/dist/executor/dag-repair-loop.js +68 -0
- package/node_modules/@comis/agent/dist/executor/dag-synthesizer.d.ts +68 -0
- package/node_modules/@comis/agent/dist/executor/dag-synthesizer.js +119 -0
- package/node_modules/@comis/agent/dist/executor/dag-template-match.d.ts +32 -0
- package/node_modules/@comis/agent/dist/executor/dag-template-match.js +218 -0
- package/node_modules/@comis/agent/dist/executor/dag-templates.d.ts +87 -0
- package/node_modules/@comis/agent/dist/executor/dag-templates.js +242 -0
- package/node_modules/@comis/agent/dist/executor/degraded-reply-i18n.d.ts +99 -0
- package/node_modules/@comis/agent/dist/executor/degraded-reply-i18n.js +228 -0
- package/node_modules/@comis/agent/dist/executor/degraded-reply.d.ts +63 -0
- package/node_modules/@comis/agent/dist/executor/degraded-reply.js +73 -0
- package/node_modules/@comis/agent/dist/executor/discovery-tracker.d.ts +6 -1
- package/node_modules/@comis/agent/dist/executor/discovery-tracker.js +7 -2
- package/node_modules/@comis/agent/dist/executor/error-classifier.d.ts +63 -3
- package/node_modules/@comis/agent/dist/executor/error-classifier.js +96 -1
- package/node_modules/@comis/agent/dist/executor/executor-context-engine-setup.d.ts +77 -2
- package/node_modules/@comis/agent/dist/executor/executor-context-engine-setup.js +301 -77
- package/node_modules/@comis/agent/dist/executor/executor-input-guard.d.ts +14 -0
- package/node_modules/@comis/agent/dist/executor/executor-input-guard.js +34 -1
- package/node_modules/@comis/agent/dist/executor/executor-post-execution.d.ts +361 -4
- package/node_modules/@comis/agent/dist/executor/executor-post-execution.js +976 -51
- package/node_modules/@comis/agent/dist/executor/executor-response-filter.d.ts +52 -0
- package/node_modules/@comis/agent/dist/executor/executor-response-filter.js +184 -7
- package/node_modules/@comis/agent/dist/executor/executor-session-state.d.ts +18 -0
- package/node_modules/@comis/agent/dist/executor/executor-session-state.js +66 -0
- package/node_modules/@comis/agent/dist/executor/executor-stream-setup.d.ts +67 -1
- package/node_modules/@comis/agent/dist/executor/executor-stream-setup.js +136 -23
- package/node_modules/@comis/agent/dist/executor/executor-tool-assembly-types.d.ts +244 -0
- package/node_modules/@comis/agent/dist/executor/executor-tool-assembly-types.js +12 -0
- package/node_modules/@comis/agent/dist/executor/executor-tool-assembly.d.ts +17 -140
- package/node_modules/@comis/agent/dist/executor/executor-tool-assembly.js +268 -29
- package/node_modules/@comis/agent/dist/executor/executor-tool-pipeline.d.ts +34 -3
- package/node_modules/@comis/agent/dist/executor/executor-tool-pipeline.js +61 -12
- package/node_modules/@comis/agent/dist/executor/gemini-cache-injector.js +19 -7
- package/node_modules/@comis/agent/dist/executor/goal-planner.d.ts +28 -0
- package/node_modules/@comis/agent/dist/executor/goal-planner.js +29 -0
- package/node_modules/@comis/agent/dist/executor/jit-guide-injector.js +2 -2
- package/node_modules/@comis/agent/dist/executor/later-queue.d.ts +147 -0
- package/node_modules/@comis/agent/dist/executor/later-queue.js +68 -0
- package/node_modules/@comis/agent/dist/executor/lcd-bootstrap-sweep.d.ts +83 -0
- package/node_modules/@comis/agent/dist/executor/lcd-bootstrap-sweep.js +125 -0
- package/node_modules/@comis/agent/dist/executor/lcd-compaction-helpers.d.ts +32 -0
- package/node_modules/@comis/agent/dist/executor/lcd-compaction-helpers.js +42 -0
- package/node_modules/@comis/agent/dist/executor/lcd-compaction-trigger.d.ts +208 -0
- package/node_modules/@comis/agent/dist/executor/lcd-compaction-trigger.js +529 -0
- package/node_modules/@comis/agent/dist/executor/lcd-condense-trigger.d.ts +158 -0
- package/node_modules/@comis/agent/dist/executor/lcd-condense-trigger.js +378 -0
- package/node_modules/@comis/agent/dist/executor/lcd-distillation-runner.d.ts +77 -0
- package/node_modules/@comis/agent/dist/executor/lcd-distillation-runner.js +326 -0
- package/node_modules/@comis/agent/dist/executor/lcd-ingest.d.ts +127 -0
- package/node_modules/@comis/agent/dist/executor/lcd-ingest.js +334 -0
- package/node_modules/@comis/agent/dist/executor/model-profile.d.ts +86 -0
- package/node_modules/@comis/agent/dist/executor/model-profile.js +191 -0
- package/node_modules/@comis/agent/dist/executor/model-retry.d.ts +11 -0
- package/node_modules/@comis/agent/dist/executor/model-retry.js +177 -21
- package/node_modules/@comis/agent/dist/executor/narrate-nudge.d.ts +85 -0
- package/node_modules/@comis/agent/dist/executor/narrate-nudge.js +156 -0
- package/node_modules/@comis/agent/dist/executor/observed-model-id.d.ts +33 -0
- package/node_modules/@comis/agent/dist/executor/observed-model-id.js +32 -0
- package/node_modules/@comis/agent/dist/executor/overflow-recovery.d.ts +2 -2
- package/node_modules/@comis/agent/dist/executor/overflow-recovery.js +4 -4
- package/node_modules/@comis/agent/dist/executor/pi-executor/before-tool-call-guard.d.ts +4 -3
- package/node_modules/@comis/agent/dist/executor/pi-executor/before-tool-call-guard.js +22 -2
- package/node_modules/@comis/agent/dist/executor/pi-executor/delta-reset.d.ts +60 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/delta-reset.js +59 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/execution-plan-holder.d.ts +55 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/execution-plan-holder.js +49 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/maybe-run-bootstrap-sweep.d.ts +73 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/maybe-run-bootstrap-sweep.js +59 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/message-envelope.d.ts +2 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/message-envelope.js +46 -9
- package/node_modules/@comis/agent/dist/executor/pi-executor/pi-executor-prompting.d.ts +30 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/pi-executor-prompting.js +44 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/pi-executor-types.d.ts +206 -5
- package/node_modules/@comis/agent/dist/executor/pi-executor/pi-executor.js +614 -52
- package/node_modules/@comis/agent/dist/executor/pi-executor/safety-gate.js +4 -1
- package/node_modules/@comis/agent/dist/executor/pi-executor/session-bootstrap.d.ts +32 -5
- package/node_modules/@comis/agent/dist/executor/pi-executor/session-bootstrap.js +32 -1
- package/node_modules/@comis/agent/dist/executor/pi-executor/trajectory-confinement.d.ts +1 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor/trajectory-confinement.js +30 -0
- package/node_modules/@comis/agent/dist/executor/post-batch-continuation.d.ts +2 -2
- package/node_modules/@comis/agent/dist/executor/post-batch-continuation.js +7 -7
- package/node_modules/@comis/agent/dist/executor/prompt-assembly.d.ts +232 -1
- package/node_modules/@comis/agent/dist/executor/prompt-assembly.js +817 -80
- package/node_modules/@comis/agent/dist/executor/prompt-runner/envelope-wrapper.js +133 -13
- package/node_modules/@comis/agent/dist/executor/prompt-runner/failure-path.js +51 -19
- package/node_modules/@comis/agent/dist/executor/prompt-runner/goal-anchor.d.ts +46 -0
- package/node_modules/@comis/agent/dist/executor/prompt-runner/goal-anchor.js +56 -0
- package/node_modules/@comis/agent/dist/executor/prompt-runner/output-escalation.js +36 -1
- package/node_modules/@comis/agent/dist/executor/prompt-runner/prompt-runner-types.d.ts +18 -6
- package/node_modules/@comis/agent/dist/executor/prompt-runner/prompt-runner.js +56 -0
- package/node_modules/@comis/agent/dist/executor/prompt-runner/retry-loop.d.ts +4 -3
- package/node_modules/@comis/agent/dist/executor/prompt-runner/retry-loop.js +31 -7
- package/node_modules/@comis/agent/dist/executor/prompt-runner/silent-failure-handlers.d.ts +10 -6
- package/node_modules/@comis/agent/dist/executor/prompt-runner/silent-failure-handlers.js +14 -6
- package/node_modules/@comis/agent/dist/executor/prompt-runner/tool-schema-strip.d.ts +85 -0
- package/node_modules/@comis/agent/dist/executor/prompt-runner/tool-schema-strip.js +191 -0
- package/node_modules/@comis/agent/dist/executor/prompt-runner/tool-schema-unsupported-handler.d.ts +56 -0
- package/node_modules/@comis/agent/dist/executor/prompt-runner/tool-schema-unsupported-handler.js +189 -0
- package/node_modules/@comis/agent/dist/executor/prompt-timeout.d.ts +57 -6
- package/node_modules/@comis/agent/dist/executor/prompt-timeout.js +73 -11
- package/node_modules/@comis/agent/dist/executor/resolve-reply-language.d.ts +48 -0
- package/node_modules/@comis/agent/dist/executor/resolve-reply-language.js +113 -0
- package/node_modules/@comis/agent/dist/executor/scaffold-defaults.d.ts +147 -0
- package/node_modules/@comis/agent/dist/executor/scaffold-defaults.js +247 -0
- package/node_modules/@comis/agent/dist/executor/session-health-rollup.d.ts +56 -0
- package/node_modules/@comis/agent/dist/executor/session-health-rollup.js +69 -0
- package/node_modules/@comis/agent/dist/executor/session-snapshot-cleanup.d.ts +2 -2
- package/node_modules/@comis/agent/dist/executor/session-snapshot-cleanup.js +5 -3
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/api-payload-trace-writer.js +1 -1
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/config-resolver.d.ts +12 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/config-resolver.js +21 -2
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/index.d.ts +0 -2
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/index.js +5 -1
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/jsonl-rotation.d.ts +49 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/jsonl-rotation.js +126 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/breakpoint-orchestration.js +67 -1
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/breakpoint-placement.d.ts +7 -7
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/breakpoint-placement.js +68 -101
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/cache-breakpoints.d.ts +14 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/cache-breakpoints.js +7 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/factory.js +110 -6
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/index.d.ts +1 -1
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/index.js +1 -1
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/marker-upgrade.d.ts +31 -2
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/marker-upgrade.js +22 -3
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/microcompact.d.ts +30 -3
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/microcompact.js +43 -3
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/monotonic-ttl.d.ts +44 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/monotonic-ttl.js +140 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/prefix-stability.d.ts +4 -2
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/prefix-stability.js +171 -57
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/store-flag.d.ts +18 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/store-flag.js +20 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/token-estimation.d.ts +7 -3
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/token-estimation.js +9 -4
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/tool-deferral-injection.d.ts +11 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/tool-deferral-injection.js +15 -3
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/tool-result-clearing.d.ts +147 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/tool-result-clearing.js +350 -4
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body/types.d.ts +28 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/stub-filter-injector.d.ts +4 -2
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/stub-filter-injector.js +20 -5
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/tool-call-repair-wrapper.d.ts +59 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/tool-call-repair-wrapper.js +193 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/tool-result-size-bouncer.js +22 -9
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/tool-schema-cache.js +1 -1
- package/node_modules/@comis/agent/dist/executor/timeout-knob.d.ts +47 -0
- package/node_modules/@comis/agent/dist/executor/timeout-knob.js +63 -0
- package/node_modules/@comis/agent/dist/executor/tool-arg-coercion.d.ts +41 -0
- package/node_modules/@comis/agent/dist/executor/tool-arg-coercion.js +81 -0
- package/node_modules/@comis/agent/dist/executor/tool-deferral.d.ts +218 -21
- package/node_modules/@comis/agent/dist/executor/tool-deferral.js +430 -76
- package/node_modules/@comis/agent/dist/executor/tool-overhead.d.ts +50 -0
- package/node_modules/@comis/agent/dist/executor/tool-overhead.js +49 -0
- package/node_modules/@comis/agent/dist/executor/tool-parallelism.d.ts +51 -0
- package/node_modules/@comis/agent/dist/executor/tool-parallelism.js +39 -0
- package/node_modules/@comis/agent/dist/executor/turn-loop-detector.d.ts +68 -0
- package/node_modules/@comis/agent/dist/executor/turn-loop-detector.js +160 -0
- package/node_modules/@comis/agent/dist/executor/types.d.ts +38 -4
- package/node_modules/@comis/agent/dist/executor/user-representation-block.d.ts +58 -0
- package/node_modules/@comis/agent/dist/executor/user-representation-block.js +108 -0
- package/node_modules/@comis/agent/dist/executor/verification-gate-synth-deps.d.ts +36 -0
- package/node_modules/@comis/agent/dist/executor/verification-gate-synth-deps.js +31 -0
- package/node_modules/@comis/agent/dist/executor/verification-gate.d.ts +60 -0
- package/node_modules/@comis/agent/dist/executor/verification-gate.js +262 -0
- package/node_modules/@comis/agent/dist/greeting/session-greeting.d.ts +11 -2
- package/node_modules/@comis/agent/dist/greeting/session-greeting.js +30 -3
- package/node_modules/@comis/agent/dist/identity/identity-updater.js +1 -0
- package/node_modules/@comis/agent/dist/index.d.ts +45 -15
- package/node_modules/@comis/agent/dist/index.js +135 -10
- package/node_modules/@comis/agent/dist/memory/__fixtures__/recall-eval-fixtures-causal.d.ts +32 -0
- package/node_modules/@comis/agent/dist/memory/__fixtures__/recall-eval-fixtures-causal.js +81 -0
- package/node_modules/@comis/agent/dist/memory/__fixtures__/recall-eval-fixtures.d.ts +387 -0
- package/node_modules/@comis/agent/dist/memory/__fixtures__/recall-eval-fixtures.js +658 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/__fixtures__/qa-judge-stub.d.ts +47 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/__fixtures__/qa-judge-stub.js +41 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/ablation-sweep.d.ts +117 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/ablation-sweep.js +156 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/beam-generator.d.ts +79 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/beam-generator.js +145 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/beam-scorer.d.ts +54 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/beam-scorer.js +77 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/competitor-adapter.d.ts +165 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/competitor-adapter.js +108 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/contradiction-scorer.d.ts +70 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/contradiction-scorer.js +84 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/cross-judge-spread.d.ts +131 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/cross-judge-spread.js +174 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/filesystem-baseline.d.ts +63 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/filesystem-baseline.js +79 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/gold-map.d.ts +40 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/gold-map.js +54 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/learning-lift-scorer.d.ts +59 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/learning-lift-scorer.js +63 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/letta-fs-baseline-adapter.d.ts +77 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/letta-fs-baseline-adapter.js +119 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/locomo-loader.d.ts +108 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/locomo-loader.js +256 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/longmemeval-loader.d.ts +118 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/longmemeval-loader.js +200 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/longmemeval-v2-loader.d.ts +133 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/longmemeval-v2-loader.js +214 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/memoryagentbench-loader.d.ts +107 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/memoryagentbench-loader.js +160 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/personalization-loaders.d.ts +174 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/personalization-loaders.js +361 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/poisoning-scorer.d.ts +58 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/poisoning-scorer.js +72 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/qa-accuracy.d.ts +89 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/qa-accuracy.js +104 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/qa-answer-prompt.d.ts +58 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/qa-answer-prompt.js +79 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/qa-judge-parse.d.ts +77 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/qa-judge-parse.js +141 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/qa-judge-prompt.d.ts +51 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/qa-judge-prompt.js +142 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/qa-report.d.ts +230 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/qa-report.js +178 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/recall-trace-analyzer.d.ts +106 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/recall-trace-analyzer.js +203 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/redaction-scorer.d.ts +81 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/redaction-scorer.js +65 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/regression-gate.d.ts +145 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/regression-gate.js +189 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/results-ledger.d.ts +146 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/results-ledger.js +223 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/significance.d.ts +109 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/significance.js +134 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/suite-report.d.ts +99 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/suite-report.js +119 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/suite-scenario.d.ts +164 -0
- package/node_modules/@comis/agent/dist/memory/benchmark/suite-scenario.js +209 -0
- package/node_modules/@comis/agent/dist/memory/correction-detector-seam.d.ts +145 -0
- package/node_modules/@comis/agent/dist/memory/correction-detector-seam.js +237 -0
- package/node_modules/@comis/agent/dist/memory/emit-generation-quality.d.ts +56 -0
- package/node_modules/@comis/agent/dist/memory/emit-generation-quality.js +68 -0
- package/node_modules/@comis/agent/dist/memory/index.d.ts +26 -0
- package/node_modules/@comis/agent/dist/memory/index.js +34 -0
- package/node_modules/@comis/agent/dist/memory/judge-model-resolver.d.ts +61 -0
- package/node_modules/@comis/agent/dist/memory/judge-model-resolver.js +73 -0
- package/node_modules/@comis/agent/dist/memory/llm-json.d.ts +41 -0
- package/node_modules/@comis/agent/dist/memory/llm-json.js +103 -0
- package/node_modules/@comis/agent/dist/memory/llm-reflection-adapter.d.ts +90 -0
- package/node_modules/@comis/agent/dist/memory/llm-reflection-adapter.js +157 -0
- package/node_modules/@comis/agent/dist/memory/memory-capability-router.d.ts +40 -0
- package/node_modules/@comis/agent/dist/memory/memory-capability-router.js +28 -0
- package/node_modules/@comis/agent/dist/memory/memory-dialectic-prompt.d.ts +59 -0
- package/node_modules/@comis/agent/dist/memory/memory-dialectic-prompt.js +129 -0
- package/node_modules/@comis/agent/dist/memory/memory-dialectic-seam.d.ts +95 -0
- package/node_modules/@comis/agent/dist/memory/memory-dialectic-seam.js +178 -0
- package/node_modules/@comis/agent/dist/memory/memory-dialectic-synthesis.d.ts +104 -0
- package/node_modules/@comis/agent/dist/memory/memory-dialectic-synthesis.js +140 -0
- package/node_modules/@comis/agent/dist/memory/memory-extraction.d.ts +68 -0
- package/node_modules/@comis/agent/dist/memory/memory-extraction.js +147 -0
- package/node_modules/@comis/agent/dist/memory/memory-prompt-language.d.ts +33 -0
- package/node_modules/@comis/agent/dist/memory/memory-prompt-language.js +34 -0
- package/node_modules/@comis/agent/dist/memory/memory-review-job.d.ts +63 -9
- package/node_modules/@comis/agent/dist/memory/memory-review-job.js +323 -85
- package/node_modules/@comis/agent/dist/memory/outcome-judge-seam.d.ts +123 -0
- package/node_modules/@comis/agent/dist/memory/outcome-judge-seam.js +229 -0
- package/node_modules/@comis/agent/dist/memory/recall-eval.d.ts +90 -0
- package/node_modules/@comis/agent/dist/memory/recall-eval.js +136 -0
- package/node_modules/@comis/agent/dist/memory/reflection-job.d.ts +260 -0
- package/node_modules/@comis/agent/dist/memory/reflection-job.js +537 -0
- package/node_modules/@comis/agent/dist/memory/reflection-prompt.d.ts +149 -0
- package/node_modules/@comis/agent/dist/memory/reflection-prompt.js +318 -0
- package/node_modules/@comis/agent/dist/memory/topic-key.d.ts +174 -0
- package/node_modules/@comis/agent/dist/memory/topic-key.js +344 -0
- package/node_modules/@comis/agent/dist/model/auth-storage-adapter.d.ts +9 -1
- package/node_modules/@comis/agent/dist/model/auth-storage-adapter.js +11 -2
- package/node_modules/@comis/agent/dist/model/effective-context-window.d.ts +53 -0
- package/node_modules/@comis/agent/dist/model/effective-context-window.js +53 -0
- package/node_modules/@comis/agent/dist/model/fresh-tail-clamp.d.ts +37 -0
- package/node_modules/@comis/agent/dist/model/fresh-tail-clamp.js +48 -0
- package/node_modules/@comis/agent/dist/model/model-registry-adapter.d.ts +24 -1
- package/node_modules/@comis/agent/dist/model/model-registry-adapter.js +38 -15
- package/node_modules/@comis/agent/dist/model/oauth-token-manager.d.ts +22 -1
- package/node_modules/@comis/agent/dist/model/oauth-token-manager.js +61 -40
- package/node_modules/@comis/agent/dist/model/ollama-capacity-probe.d.ts +137 -0
- package/node_modules/@comis/agent/dist/model/ollama-capacity-probe.js +325 -0
- package/node_modules/@comis/agent/dist/model/operation-model-defaults.d.ts +6 -1
- package/node_modules/@comis/agent/dist/model/operation-model-defaults.js +26 -2
- package/node_modules/@comis/agent/dist/model/operation-model-resolver.d.ts +33 -4
- package/node_modules/@comis/agent/dist/model/operation-model-resolver.js +54 -20
- package/node_modules/@comis/agent/dist/model/served-window-comparator.d.ts +75 -0
- package/node_modules/@comis/agent/dist/model/served-window-comparator.js +76 -0
- package/node_modules/@comis/agent/dist/provider/model-compat.d.ts +35 -12
- package/node_modules/@comis/agent/dist/provider/model-compat.js +38 -13
- package/node_modules/@comis/agent/dist/provider/response/sanitize-pipeline.d.ts +9 -3
- package/node_modules/@comis/agent/dist/provider/response/sanitize-pipeline.js +16 -8
- package/node_modules/@comis/agent/dist/provider/tool-schema/clean-for-gbnf.d.ts +88 -0
- package/node_modules/@comis/agent/dist/provider/tool-schema/clean-for-gbnf.js +361 -0
- package/node_modules/@comis/agent/dist/provider/tool-schema/gbnf-hostile-fixtures.d.ts +54 -0
- package/node_modules/@comis/agent/dist/provider/tool-schema/gbnf-hostile-fixtures.js +98 -0
- package/node_modules/@comis/agent/dist/provider/tool-schema/normalize.d.ts +30 -7
- package/node_modules/@comis/agent/dist/provider/tool-schema/normalize.js +125 -11
- package/node_modules/@comis/agent/dist/rag/cosine.d.ts +17 -0
- package/node_modules/@comis/agent/dist/rag/cosine.js +34 -0
- package/node_modules/@comis/agent/dist/rag/fuse.d.ts +52 -0
- package/node_modules/@comis/agent/dist/rag/fuse.js +93 -0
- package/node_modules/@comis/agent/dist/rag/hybrid-memory-injector.d.ts +21 -0
- package/node_modules/@comis/agent/dist/rag/hybrid-memory-injector.js +41 -1
- package/node_modules/@comis/agent/dist/rag/memory-recall.d.ts +39 -0
- package/node_modules/@comis/agent/dist/rag/memory-recall.js +698 -0
- package/node_modules/@comis/agent/dist/rag/mmr.d.ts +26 -0
- package/node_modules/@comis/agent/dist/rag/mmr.js +67 -0
- package/node_modules/@comis/agent/dist/rag/query-understanding.d.ts +89 -0
- package/node_modules/@comis/agent/dist/rag/query-understanding.js +337 -0
- package/node_modules/@comis/agent/dist/rag/rag-retriever.d.ts +5 -37
- package/node_modules/@comis/agent/dist/rag/rag-retriever.js +18 -78
- package/node_modules/@comis/agent/dist/rag/recall-attribution.d.ts +55 -0
- package/node_modules/@comis/agent/dist/rag/recall-attribution.js +152 -0
- package/node_modules/@comis/agent/dist/rag/recall-causal-lane.d.ts +43 -0
- package/node_modules/@comis/agent/dist/rag/recall-causal-lane.js +59 -0
- package/node_modules/@comis/agent/dist/rag/recall-graph-spread-lane.d.ts +51 -0
- package/node_modules/@comis/agent/dist/rag/recall-graph-spread-lane.js +72 -0
- package/node_modules/@comis/agent/dist/rag/recall-observability.d.ts +59 -0
- package/node_modules/@comis/agent/dist/rag/recall-observability.js +143 -0
- package/node_modules/@comis/agent/dist/rag/recall-provenance.d.ts +78 -0
- package/node_modules/@comis/agent/dist/rag/recall-provenance.js +153 -0
- package/node_modules/@comis/agent/dist/rag/recall-record.d.ts +110 -0
- package/node_modules/@comis/agent/dist/rag/recall-record.js +81 -0
- package/node_modules/@comis/agent/dist/rag/recall-security-prefilter.d.ts +134 -0
- package/node_modules/@comis/agent/dist/rag/recall-security-prefilter.js +165 -0
- package/node_modules/@comis/agent/dist/rag/recall-types.d.ts +280 -0
- package/node_modules/@comis/agent/dist/rag/recall-types.js +16 -0
- package/node_modules/@comis/agent/dist/rag/relevance-scorer.d.ts +110 -0
- package/node_modules/@comis/agent/dist/rag/relevance-scorer.js +212 -0
- package/node_modules/@comis/agent/dist/rag/score.d.ts +203 -0
- package/node_modules/@comis/agent/dist/rag/score.js +398 -0
- package/node_modules/@comis/agent/dist/rag/temporal-guidance.d.ts +36 -0
- package/node_modules/@comis/agent/dist/rag/temporal-guidance.js +73 -0
- package/node_modules/@comis/agent/dist/response-filter/reasoning-tags.d.ts +7 -0
- package/node_modules/@comis/agent/dist/response-filter/reasoning-tags.js +19 -2
- package/node_modules/@comis/agent/dist/safety/summarizer-spend-breaker.d.ts +86 -0
- package/node_modules/@comis/agent/dist/safety/summarizer-spend-breaker.js +131 -0
- package/node_modules/@comis/agent/dist/safety/token-estimator.d.ts +9 -2
- package/node_modules/@comis/agent/dist/safety/token-estimator.js +54 -10
- package/node_modules/@comis/agent/dist/safety/tool-output-safety.js +1 -0
- package/node_modules/@comis/agent/dist/safety/tool-result-size-guard.js +16 -3
- package/node_modules/@comis/agent/dist/safety/tool-retry-breaker.d.ts +83 -2
- package/node_modules/@comis/agent/dist/safety/tool-retry-breaker.js +140 -11
- package/node_modules/@comis/agent/dist/safety/tool-schema-safety.js +1 -0
- package/node_modules/@comis/agent/dist/session/comis-session-manager.d.ts +58 -2
- package/node_modules/@comis/agent/dist/session/comis-session-manager.js +100 -7
- package/node_modules/@comis/agent/dist/session/orphaned-message-repair.js +4 -4
- package/node_modules/@comis/agent/dist/session/sanitize-session-secrets.js +25 -2
- package/node_modules/@comis/agent/dist/session/scrub-redacted-tool-calls.js +1 -0
- package/node_modules/@comis/agent/dist/session/session-reset-policy.d.ts +2 -2
- package/node_modules/@comis/agent/dist/session/session-reset-policy.js +1 -1
- package/node_modules/@comis/agent/dist/spawn/announce-key.d.ts +60 -0
- package/node_modules/@comis/agent/dist/spawn/announce-key.js +64 -0
- package/node_modules/@comis/agent/dist/spawn/announcement-ports.d.ts +16 -1
- package/node_modules/@comis/agent/dist/spawn/child-prompt-economy.d.ts +147 -0
- package/node_modules/@comis/agent/dist/spawn/child-prompt-economy.js +200 -0
- package/node_modules/@comis/agent/dist/spawn/coordinator-progress-fork.d.ts +95 -0
- package/node_modules/@comis/agent/dist/spawn/coordinator-progress-fork.js +49 -0
- package/node_modules/@comis/agent/dist/spawn/index.d.ts +5 -1
- package/node_modules/@comis/agent/dist/spawn/index.js +11 -1
- package/node_modules/@comis/agent/dist/spawn/narrative-caster.d.ts +10 -1
- package/node_modules/@comis/agent/dist/spawn/narrative-caster.js +23 -5
- package/node_modules/@comis/agent/dist/spawn/result-condenser.js +44 -8
- package/node_modules/@comis/agent/dist/spawn/sandbox-posture.d.ts +137 -0
- package/node_modules/@comis/agent/dist/spawn/sandbox-posture.js +194 -0
- package/node_modules/@comis/agent/dist/spawn/spawn-packet-builder.d.ts +2 -0
- package/node_modules/@comis/agent/dist/spawn/spawn-packet-builder.js +1 -0
- package/node_modules/@comis/agent/dist/spawn/steer-run.d.ts +105 -0
- package/node_modules/@comis/agent/dist/spawn/steer-run.js +119 -0
- package/node_modules/@comis/agent/dist/spawn/sub-agent-result-processor.d.ts +30 -1
- package/node_modules/@comis/agent/dist/spawn/sub-agent-result-processor.js +124 -4
- package/node_modules/@comis/agent/dist/spawn/sub-agent-runner.d.ts +216 -3
- package/node_modules/@comis/agent/dist/spawn/sub-agent-runner.js +697 -33
- package/node_modules/@comis/agent/dist/workspace/index.d.ts +1 -1
- package/node_modules/@comis/agent/dist/workspace/index.js +1 -1
- package/node_modules/@comis/agent/dist/workspace/templates.d.ts +17 -0
- package/node_modules/@comis/agent/dist/workspace/templates.js +27 -13
- package/node_modules/@comis/agent/dist/workspace/workspace-manager.js +94 -2
- package/node_modules/@comis/agent/dist/workspace/workspace-state.js +1 -0
- package/node_modules/@comis/agent/package.json +2 -2
- package/node_modules/@comis/channels/dist/__tests__/fakes/discord-fake.d.ts +59 -0
- package/node_modules/@comis/channels/dist/__tests__/fakes/discord-fake.js +128 -0
- package/node_modules/@comis/channels/dist/__tests__/fakes/echo-fake.d.ts +41 -0
- package/node_modules/@comis/channels/dist/__tests__/fakes/echo-fake.js +104 -0
- package/node_modules/@comis/channels/dist/__tests__/fakes/email-fake.d.ts +39 -0
- package/node_modules/@comis/channels/dist/__tests__/fakes/email-fake.js +104 -0
- package/node_modules/@comis/channels/dist/__tests__/fakes/imessage-fake.d.ts +39 -0
- package/node_modules/@comis/channels/dist/__tests__/fakes/imessage-fake.js +100 -0
- package/node_modules/@comis/channels/dist/__tests__/fakes/irc-fake.d.ts +41 -0
- package/node_modules/@comis/channels/dist/__tests__/fakes/irc-fake.js +105 -0
- package/node_modules/@comis/channels/dist/__tests__/fakes/line-fake.d.ts +42 -0
- package/node_modules/@comis/channels/dist/__tests__/fakes/line-fake.js +112 -0
- package/node_modules/@comis/channels/dist/__tests__/fakes/signal-fake.d.ts +42 -0
- package/node_modules/@comis/channels/dist/__tests__/fakes/signal-fake.js +107 -0
- package/node_modules/@comis/channels/dist/__tests__/fakes/slack-fake.d.ts +58 -0
- package/node_modules/@comis/channels/dist/__tests__/fakes/slack-fake.js +131 -0
- package/node_modules/@comis/channels/dist/__tests__/fakes/telegram-fake.d.ts +50 -0
- package/node_modules/@comis/channels/dist/__tests__/fakes/telegram-fake.js +114 -0
- package/node_modules/@comis/channels/dist/__tests__/fakes/whatsapp-fake.d.ts +67 -0
- package/node_modules/@comis/channels/dist/__tests__/fakes/whatsapp-fake.js +139 -0
- package/node_modules/@comis/channels/dist/__tests__/fixture-harness.d.ts +9 -0
- package/node_modules/@comis/channels/dist/__tests__/fixture-harness.js +48 -0
- package/node_modules/@comis/channels/dist/discord/discord-activity.d.ts +41 -0
- package/node_modules/@comis/channels/dist/discord/discord-activity.js +204 -0
- package/node_modules/@comis/channels/dist/discord/discord-adapter.js +130 -32
- package/node_modules/@comis/channels/dist/discord/discord-plugin.js +3 -18
- package/node_modules/@comis/channels/dist/discord/discord-reaction-binder.d.ts +37 -0
- package/node_modules/@comis/channels/dist/discord/discord-reaction-binder.js +84 -0
- package/node_modules/@comis/channels/dist/discord/voice-sender.js +2 -2
- package/node_modules/@comis/channels/dist/echo/echo-activity.d.ts +19 -0
- package/node_modules/@comis/channels/dist/echo/echo-activity.js +22 -0
- package/node_modules/@comis/channels/dist/echo/echo-adapter.d.ts +20 -1
- package/node_modules/@comis/channels/dist/echo/echo-adapter.js +44 -3
- package/node_modules/@comis/channels/dist/echo/echo-plugin.js +8 -15
- package/node_modules/@comis/channels/dist/email/email-activity.d.ts +47 -0
- package/node_modules/@comis/channels/dist/email/email-activity.js +158 -0
- package/node_modules/@comis/channels/dist/email/email-adapter.js +21 -25
- package/node_modules/@comis/channels/dist/email/email-plugin.js +4 -16
- package/node_modules/@comis/channels/dist/email/imap-lifecycle.js +15 -4
- package/node_modules/@comis/channels/dist/imessage/credential-validator.d.ts +1 -1
- package/node_modules/@comis/channels/dist/imessage/credential-validator.js +22 -29
- package/node_modules/@comis/channels/dist/imessage/imessage-activity.d.ts +35 -0
- package/node_modules/@comis/channels/dist/imessage/imessage-activity.js +119 -0
- package/node_modules/@comis/channels/dist/imessage/imessage-adapter.js +24 -31
- package/node_modules/@comis/channels/dist/imessage/imessage-plugin.js +3 -16
- package/node_modules/@comis/channels/dist/index.d.ts +18 -6
- package/node_modules/@comis/channels/dist/index.js +36 -8
- package/node_modules/@comis/channels/dist/irc/credential-validator.d.ts +1 -1
- package/node_modules/@comis/channels/dist/irc/credential-validator.js +48 -55
- package/node_modules/@comis/channels/dist/irc/irc-activity.d.ts +44 -0
- package/node_modules/@comis/channels/dist/irc/irc-activity.js +138 -0
- package/node_modules/@comis/channels/dist/irc/irc-adapter.js +18 -37
- package/node_modules/@comis/channels/dist/irc/irc-plugin.js +3 -15
- package/node_modules/@comis/channels/dist/line/line-activity.d.ts +45 -0
- package/node_modules/@comis/channels/dist/line/line-activity.js +137 -0
- package/node_modules/@comis/channels/dist/line/line-adapter.js +17 -26
- package/node_modules/@comis/channels/dist/line/line-plugin.d.ts +1 -3
- package/node_modules/@comis/channels/dist/line/line-plugin.js +4 -19
- package/node_modules/@comis/channels/dist/shared/lifecycle-reactor.js +20 -4
- package/node_modules/@comis/channels/dist/shared/outbound-media-handler.js +15 -0
- package/node_modules/@comis/channels/dist/shared/plan-renderer.d.ts +17 -0
- package/node_modules/@comis/channels/dist/shared/plan-renderer.js +25 -0
- package/node_modules/@comis/channels/dist/shared/strategies/actions.d.ts +48 -0
- package/node_modules/@comis/channels/dist/shared/strategies/append-only.d.ts +29 -0
- package/node_modules/@comis/channels/dist/shared/strategies/append-only.js +75 -0
- package/node_modules/@comis/channels/dist/shared/strategies/approval-render.d.ts +79 -0
- package/node_modules/@comis/channels/dist/shared/strategies/approval-render.js +74 -0
- package/node_modules/@comis/channels/dist/shared/strategies/delete-and-repost.d.ts +20 -0
- package/node_modules/@comis/channels/dist/shared/strategies/delete-and-repost.js +114 -0
- package/node_modules/@comis/channels/dist/shared/strategies/digest-only.d.ts +24 -0
- package/node_modules/@comis/channels/dist/shared/strategies/digest-only.js +76 -0
- package/node_modules/@comis/channels/dist/shared/strategies/edit-place.d.ts +32 -0
- package/node_modules/@comis/channels/dist/shared/strategies/edit-place.js +175 -0
- package/node_modules/@comis/channels/dist/shared/strategies/line-per-event.d.ts +26 -0
- package/node_modules/@comis/channels/dist/shared/strategies/line-per-event.js +103 -0
- package/node_modules/@comis/channels/dist/shared/strategies/render.d.ts +114 -0
- package/node_modules/@comis/channels/dist/shared/strategies/render.js +245 -0
- package/node_modules/@comis/channels/dist/shared/strategies/test-sink.d.ts +13 -0
- package/node_modules/@comis/channels/dist/shared/strategies/test-sink.js +37 -0
- package/node_modules/@comis/channels/dist/shared/voice-response-pipeline.d.ts +12 -0
- package/node_modules/@comis/channels/dist/shared/voice-response-pipeline.js +14 -4
- package/node_modules/@comis/channels/dist/shared/voice-sender.d.ts +1 -1
- package/node_modules/@comis/channels/dist/shared/voice-sender.js +1 -1
- package/node_modules/@comis/channels/dist/signal/credential-validator.d.ts +1 -1
- package/node_modules/@comis/channels/dist/signal/credential-validator.js +42 -49
- package/node_modules/@comis/channels/dist/signal/signal-activity.d.ts +31 -0
- package/node_modules/@comis/channels/dist/signal/signal-activity.js +108 -0
- package/node_modules/@comis/channels/dist/signal/signal-adapter.js +22 -23
- package/node_modules/@comis/channels/dist/signal/signal-plugin.js +3 -16
- package/node_modules/@comis/channels/dist/slack/slack-activity.d.ts +40 -0
- package/node_modules/@comis/channels/dist/slack/slack-activity.js +206 -0
- package/node_modules/@comis/channels/dist/slack/slack-adapter.js +124 -33
- package/node_modules/@comis/channels/dist/slack/slack-plugin.js +3 -17
- package/node_modules/@comis/channels/dist/slack/slack-reaction-binder.d.ts +62 -0
- package/node_modules/@comis/channels/dist/slack/slack-reaction-binder.js +69 -0
- package/node_modules/@comis/channels/dist/telegram/emoji-fallback.js +11 -2
- package/node_modules/@comis/channels/dist/telegram/rich-renderer.d.ts +24 -2
- package/node_modules/@comis/channels/dist/telegram/rich-renderer.js +24 -13
- package/node_modules/@comis/channels/dist/telegram/telegram-activity.d.ts +39 -0
- package/node_modules/@comis/channels/dist/telegram/telegram-activity.js +214 -0
- package/node_modules/@comis/channels/dist/telegram/telegram-adapter/index.js +8 -6
- package/node_modules/@comis/channels/dist/telegram/telegram-adapter/telegram-adapter-types.d.ts +3 -1
- package/node_modules/@comis/channels/dist/telegram/telegram-adapter/telegram-inbound.d.ts +2 -0
- package/node_modules/@comis/channels/dist/telegram/telegram-adapter/telegram-inbound.js +116 -25
- package/node_modules/@comis/channels/dist/telegram/telegram-adapter/telegram-lifecycle.js +13 -2
- package/node_modules/@comis/channels/dist/telegram/telegram-adapter/telegram-outbound.d.ts +2 -3
- package/node_modules/@comis/channels/dist/telegram/telegram-adapter/telegram-outbound.js +33 -11
- package/node_modules/@comis/channels/dist/telegram/telegram-plugin.js +7 -18
- package/node_modules/@comis/channels/dist/telegram/telegram-resolver.d.ts +8 -0
- package/node_modules/@comis/channels/dist/telegram/telegram-resolver.js +20 -3
- package/node_modules/@comis/channels/dist/whatsapp/credential-validator.d.ts +1 -1
- package/node_modules/@comis/channels/dist/whatsapp/credential-validator.js +42 -49
- package/node_modules/@comis/channels/dist/whatsapp/whatsapp-activity.d.ts +30 -0
- package/node_modules/@comis/channels/dist/whatsapp/whatsapp-activity.js +160 -0
- package/node_modules/@comis/channels/dist/whatsapp/whatsapp-adapter.js +27 -16
- package/node_modules/@comis/channels/dist/whatsapp/whatsapp-plugin.js +3 -17
- package/node_modules/@comis/channels/package.json +2 -2
- package/node_modules/@comis/cli/dist/cli.js +14 -0
- package/node_modules/@comis/cli/dist/client/rpc-client.d.ts +42 -9
- package/node_modules/@comis/cli/dist/client/rpc-client.js +110 -44
- package/node_modules/@comis/cli/dist/commands/agent.js +7 -15
- package/node_modules/@comis/cli/dist/commands/auth-helpers.d.ts +44 -0
- package/node_modules/@comis/cli/dist/commands/auth-helpers.js +85 -0
- package/node_modules/@comis/cli/dist/commands/auth.d.ts +37 -8
- package/node_modules/@comis/cli/dist/commands/auth.js +178 -131
- package/node_modules/@comis/cli/dist/commands/cache.d.ts +29 -0
- package/node_modules/@comis/cli/dist/commands/cache.js +165 -0
- package/node_modules/@comis/cli/dist/commands/channel.js +63 -16
- package/node_modules/@comis/cli/dist/commands/config/audit.d.ts +40 -0
- package/node_modules/@comis/cli/dist/commands/config/audit.js +224 -0
- package/node_modules/@comis/cli/dist/commands/config.js +38 -34
- package/node_modules/@comis/cli/dist/commands/cost-export.d.ts +33 -0
- package/node_modules/@comis/cli/dist/commands/cost-export.js +99 -0
- package/node_modules/@comis/cli/dist/commands/daemon.js +9 -2
- package/node_modules/@comis/cli/dist/commands/doctor.d.ts +2 -2
- package/node_modules/@comis/cli/dist/commands/doctor.js +101 -26
- package/node_modules/@comis/cli/dist/commands/explain.d.ts +34 -0
- package/node_modules/@comis/cli/dist/commands/explain.js +150 -0
- package/node_modules/@comis/cli/dist/commands/fleet.d.ts +35 -0
- package/node_modules/@comis/cli/dist/commands/fleet.js +149 -0
- package/node_modules/@comis/cli/dist/commands/health.js +41 -46
- package/node_modules/@comis/cli/dist/commands/init.d.ts +8 -0
- package/node_modules/@comis/cli/dist/commands/init.js +39 -8
- package/node_modules/@comis/cli/dist/commands/mcp-oauth.d.ts +49 -0
- package/node_modules/@comis/cli/dist/commands/mcp-oauth.js +136 -0
- package/node_modules/@comis/cli/dist/commands/mcp-token.d.ts +39 -0
- package/node_modules/@comis/cli/dist/commands/mcp-token.js +59 -0
- package/node_modules/@comis/cli/dist/commands/mcp.d.ts +26 -0
- package/node_modules/@comis/cli/dist/commands/mcp.js +313 -0
- package/node_modules/@comis/cli/dist/commands/memory.d.ts +6 -3
- package/node_modules/@comis/cli/dist/commands/memory.js +417 -109
- package/node_modules/@comis/cli/dist/commands/providers.js +1 -1
- package/node_modules/@comis/cli/dist/commands/reset.js +1 -1
- package/node_modules/@comis/cli/dist/commands/secrets.js +121 -33
- package/node_modules/@comis/cli/dist/commands/security-audit-log.d.ts +44 -0
- package/node_modules/@comis/cli/dist/commands/security-audit-log.js +89 -0
- package/node_modules/@comis/cli/dist/commands/security.d.ts +1 -0
- package/node_modules/@comis/cli/dist/commands/security.js +20 -0
- package/node_modules/@comis/cli/dist/commands/sessions.d.ts +12 -0
- package/node_modules/@comis/cli/dist/commands/sessions.js +246 -1
- package/node_modules/@comis/cli/dist/commands/status.js +29 -27
- package/node_modules/@comis/cli/dist/commands/trace.d.ts +25 -0
- package/node_modules/@comis/cli/dist/commands/trace.js +142 -0
- package/node_modules/@comis/cli/dist/commands/uninstall.js +1 -1
- package/node_modules/@comis/cli/dist/commands/whoami.d.ts +34 -0
- package/node_modules/@comis/cli/dist/commands/whoami.js +74 -0
- package/node_modules/@comis/cli/dist/doctor/checks/channel-health.d.ts +15 -6
- package/node_modules/@comis/cli/dist/doctor/checks/channel-health.js +50 -33
- package/node_modules/@comis/cli/dist/doctor/checks/config-health.d.ts +9 -3
- package/node_modules/@comis/cli/dist/doctor/checks/config-health.js +32 -76
- package/node_modules/@comis/cli/dist/doctor/checks/daemon-health.d.ts +14 -5
- package/node_modules/@comis/cli/dist/doctor/checks/daemon-health.js +88 -23
- package/node_modules/@comis/cli/dist/doctor/checks/gateway-health.js +8 -1
- package/node_modules/@comis/cli/dist/doctor/checks/lcd-health.d.ts +32 -0
- package/node_modules/@comis/cli/dist/doctor/checks/lcd-health.js +289 -0
- package/node_modules/@comis/cli/dist/doctor/checks/oauth-health.d.ts +1 -1
- package/node_modules/@comis/cli/dist/doctor/checks/oauth-health.js +68 -12
- package/node_modules/@comis/cli/dist/doctor/checks/secrets-audit-health.d.ts +18 -0
- package/node_modules/@comis/cli/dist/doctor/checks/secrets-audit-health.js +67 -0
- package/node_modules/@comis/cli/dist/doctor/checks/version-skew-health.d.ts +32 -0
- package/node_modules/@comis/cli/dist/doctor/checks/version-skew-health.js +166 -0
- package/node_modules/@comis/cli/dist/doctor/config-resolve.d.ts +41 -0
- package/node_modules/@comis/cli/dist/doctor/config-resolve.js +169 -0
- package/node_modules/@comis/cli/dist/doctor/output.d.ts +2 -2
- package/node_modules/@comis/cli/dist/doctor/output.js +24 -43
- package/node_modules/@comis/cli/dist/doctor/repairs/repair-config-audit.d.ts +27 -0
- package/node_modules/@comis/cli/dist/doctor/repairs/repair-config-audit.js +50 -0
- package/node_modules/@comis/cli/dist/doctor/repairs/repair-config.js +1 -1
- package/node_modules/@comis/cli/dist/doctor/repairs/repair-lcd.d.ts +94 -0
- package/node_modules/@comis/cli/dist/doctor/repairs/repair-lcd.js +195 -0
- package/node_modules/@comis/cli/dist/doctor/types.d.ts +44 -1
- package/node_modules/@comis/cli/dist/index.d.ts +1 -1
- package/node_modules/@comis/cli/dist/index.js +1 -1
- package/node_modules/@comis/cli/dist/output/spinner.js +1 -1
- package/node_modules/@comis/cli/dist/security/output.d.ts +2 -2
- package/node_modules/@comis/cli/dist/security/output.js +34 -51
- package/node_modules/@comis/cli/dist/sync-tooling/atomic-write.js +17 -8
- package/node_modules/@comis/cli/dist/sync-tooling/backup.js +3 -3
- package/node_modules/@comis/cli/dist/sync-tooling/daemon-guard.js +10 -3
- package/node_modules/@comis/cli/dist/test-helpers.js +1 -1
- package/node_modules/@comis/cli/dist/tooling-fill/agent-call.d.ts +3 -3
- package/node_modules/@comis/cli/dist/tooling-fill/agent-call.js +2 -2
- package/node_modules/@comis/cli/dist/tooling-fill/apply-hint.d.ts +1 -1
- package/node_modules/@comis/cli/dist/tooling-fill/apply-hint.js +3 -3
- package/node_modules/@comis/cli/dist/tooling-fill/orchestrator/index.d.ts +1 -1
- package/node_modules/@comis/cli/dist/tooling-fill/orchestrator/index.js +1 -1
- package/node_modules/@comis/cli/dist/tooling-fill/orchestrator/orchestrator-discover.js +1 -1
- package/node_modules/@comis/cli/dist/tooling-fill/orchestrator/orchestrator-fill.js +2 -3
- package/node_modules/@comis/cli/dist/tooling-fill/orchestrator/orchestrator-types.d.ts +2 -2
- package/node_modules/@comis/cli/dist/tooling-fill/prompt-template.d.ts +1 -1
- package/node_modules/@comis/cli/dist/tooling-fill/prompt-template.js +1 -1
- package/node_modules/@comis/cli/dist/tooling-fill/response-parser.d.ts +1 -1
- package/node_modules/@comis/cli/dist/tooling-fill/response-parser.js +1 -1
- package/node_modules/@comis/cli/dist/util/confirm.d.ts +27 -0
- package/node_modules/@comis/cli/dist/util/confirm.js +34 -0
- package/node_modules/@comis/cli/dist/util/csv.d.ts +28 -0
- package/node_modules/@comis/cli/dist/util/csv.js +67 -0
- package/node_modules/@comis/cli/dist/util/offline-learning.d.ts +54 -0
- package/node_modules/@comis/cli/dist/util/offline-learning.js +121 -0
- package/node_modules/@comis/cli/dist/util/offline-obs.d.ts +63 -0
- package/node_modules/@comis/cli/dist/util/offline-obs.js +149 -0
- package/node_modules/@comis/cli/dist/util/offline-secrets-store.d.ts +22 -0
- package/node_modules/@comis/cli/dist/util/offline-secrets-store.js +26 -0
- package/node_modules/@comis/cli/dist/util/offline-skills.d.ts +84 -0
- package/node_modules/@comis/cli/dist/util/offline-skills.js +143 -0
- package/node_modules/@comis/cli/dist/util/render-findings.d.ts +69 -0
- package/node_modules/@comis/cli/dist/util/render-findings.js +239 -0
- package/node_modules/@comis/cli/dist/wizard/clack-adapter.js +1 -1
- package/node_modules/@comis/cli/dist/wizard/index.d.ts +7 -2
- package/node_modules/@comis/cli/dist/wizard/index.js +6 -1
- package/node_modules/@comis/cli/dist/wizard/json-output.js +2 -2
- package/node_modules/@comis/cli/dist/wizard/non-interactive.d.ts +9 -2
- package/node_modules/@comis/cli/dist/wizard/non-interactive.js +173 -23
- package/node_modules/@comis/cli/dist/wizard/state.js +22 -2
- package/node_modules/@comis/cli/dist/wizard/steps/00-welcome.js +1 -1
- package/node_modules/@comis/cli/dist/wizard/steps/01-detect-existing.js +1 -2
- package/node_modules/@comis/cli/dist/wizard/steps/02b-storage.d.ts +17 -0
- package/node_modules/@comis/cli/dist/wizard/steps/02b-storage.js +71 -0
- package/node_modules/@comis/cli/dist/wizard/steps/04-credentials.js +5 -182
- package/node_modules/@comis/cli/dist/wizard/steps/04-oauth-helpers.d.ts +46 -0
- package/node_modules/@comis/cli/dist/wizard/steps/04-oauth-helpers.js +373 -0
- package/node_modules/@comis/cli/dist/wizard/steps/07-gateway.d.ts +4 -3
- package/node_modules/@comis/cli/dist/wizard/steps/07-gateway.js +9 -36
- package/node_modules/@comis/cli/dist/wizard/steps/08c-video-providers.d.ts +25 -0
- package/node_modules/@comis/cli/dist/wizard/steps/08c-video-providers.js +74 -0
- package/node_modules/@comis/cli/dist/wizard/steps/08d-image-providers.d.ts +33 -0
- package/node_modules/@comis/cli/dist/wizard/steps/08d-image-providers.js +89 -0
- package/node_modules/@comis/cli/dist/wizard/steps/08e-transcription.d.ts +27 -0
- package/node_modules/@comis/cli/dist/wizard/steps/08e-transcription.js +75 -0
- package/node_modules/@comis/cli/dist/wizard/steps/08f-tts.d.ts +26 -0
- package/node_modules/@comis/cli/dist/wizard/steps/08f-tts.js +80 -0
- package/node_modules/@comis/cli/dist/wizard/steps/09-review.js +34 -2
- package/node_modules/@comis/cli/dist/wizard/steps/10-write-config.d.ts +5 -2
- package/node_modules/@comis/cli/dist/wizard/steps/10-write-config.js +193 -59
- package/node_modules/@comis/cli/dist/wizard/steps/11-daemon-start.d.ts +19 -0
- package/node_modules/@comis/cli/dist/wizard/steps/11-daemon-start.js +38 -5
- package/node_modules/@comis/cli/dist/wizard/steps/12-finish.js +1 -10
- package/node_modules/@comis/cli/dist/wizard/types.d.ts +210 -5
- package/node_modules/@comis/cli/dist/wizard/types.js +120 -5
- package/node_modules/@comis/cli/package.json +2 -2
- package/node_modules/@comis/core/dist/activity/activity-event.d.ts +103 -0
- package/node_modules/@comis/core/dist/activity/activity-event.js +72 -0
- package/node_modules/@comis/core/dist/activity/activity-strategy.d.ts +26 -0
- package/node_modules/@comis/core/dist/activity/activity-strategy.js +39 -0
- package/node_modules/@comis/core/dist/activity/activity-stream-port.d.ts +32 -0
- package/node_modules/@comis/core/dist/activity/approval.d.ts +44 -0
- package/node_modules/@comis/core/dist/activity/approval.js +35 -0
- package/node_modules/@comis/core/dist/activity/channel-activity-renderer.d.ts +93 -0
- package/node_modules/@comis/core/dist/activity/channel-activity-renderer.js +1 -0
- package/node_modules/@comis/core/dist/activity/index.d.ts +35 -0
- package/node_modules/@comis/core/dist/activity/index.js +35 -0
- package/node_modules/@comis/core/dist/activity/label-spec.d.ts +175 -0
- package/node_modules/@comis/core/dist/activity/label-spec.js +187 -0
- package/node_modules/@comis/core/dist/activity/projections/acp-projection.d.ts +16 -0
- package/node_modules/@comis/core/dist/activity/projections/acp-projection.js +30 -0
- package/node_modules/@comis/core/dist/activity/projections/chat-projection.d.ts +24 -0
- package/node_modules/@comis/core/dist/activity/projections/chat-projection.js +83 -0
- package/node_modules/@comis/core/dist/activity/projections/coalesce.d.ts +41 -0
- package/node_modules/@comis/core/dist/activity/projections/coalesce.js +131 -0
- package/node_modules/@comis/core/dist/activity/projections/index.d.ts +9 -0
- package/node_modules/@comis/core/dist/activity/projections/index.js +8 -0
- package/node_modules/@comis/core/dist/activity/semantic-classifier.d.ts +29 -0
- package/node_modules/@comis/core/dist/activity/semantic-classifier.js +32 -0
- package/node_modules/@comis/core/dist/activity/template-engine.d.ts +74 -0
- package/node_modules/@comis/core/dist/activity/template-engine.js +178 -0
- package/node_modules/@comis/core/dist/activity/themes/ascii.d.ts +16 -0
- package/node_modules/@comis/core/dist/activity/themes/ascii.js +13 -0
- package/node_modules/@comis/core/dist/activity/themes/default.d.ts +13 -0
- package/node_modules/@comis/core/dist/activity/themes/default.js +12 -0
- package/node_modules/@comis/core/dist/activity/themes/index.d.ts +33 -0
- package/node_modules/@comis/core/dist/activity/themes/index.js +28 -0
- package/node_modules/@comis/core/dist/activity/themes/playful.d.ts +13 -0
- package/node_modules/@comis/core/dist/activity/themes/playful.js +9 -0
- package/node_modules/@comis/core/dist/activity/themes/terminal-minimal.d.ts +14 -0
- package/node_modules/@comis/core/dist/activity/themes/terminal-minimal.js +9 -0
- package/node_modules/@comis/core/dist/activity/turn-activity-context.d.ts +33 -0
- package/node_modules/@comis/core/dist/activity/turn-activity-context.js +1 -0
- package/node_modules/@comis/core/dist/activity/turn-outcome.d.ts +82 -0
- package/node_modules/@comis/core/dist/activity/turn-outcome.js +9 -0
- package/node_modules/@comis/core/dist/api-contracts/agents.d.ts +11 -2
- package/node_modules/@comis/core/dist/api-contracts/agents.js +10 -2
- package/node_modules/@comis/core/dist/api-contracts/audit-query.d.ts +86 -0
- package/node_modules/@comis/core/dist/api-contracts/audit-query.js +71 -0
- package/node_modules/@comis/core/dist/api-contracts/auth.d.ts +47 -0
- package/node_modules/@comis/core/dist/api-contracts/auth.js +48 -1
- package/node_modules/@comis/core/dist/api-contracts/capabilities.d.ts +78 -0
- package/node_modules/@comis/core/dist/api-contracts/capabilities.js +83 -0
- package/node_modules/@comis/core/dist/api-contracts/channels.d.ts +4 -0
- package/node_modules/@comis/core/dist/api-contracts/channels.js +16 -3
- package/node_modules/@comis/core/dist/api-contracts/config.d.ts +112 -43
- package/node_modules/@comis/core/dist/api-contracts/config.js +128 -39
- package/node_modules/@comis/core/dist/api-contracts/context.d.ts +134 -0
- package/node_modules/@comis/core/dist/api-contracts/context.js +127 -0
- package/node_modules/@comis/core/dist/api-contracts/daemon.d.ts +2 -2
- package/node_modules/@comis/core/dist/api-contracts/fleet-health-report.d.ts +211 -0
- package/node_modules/@comis/core/dist/api-contracts/fleet-health-report.js +211 -0
- package/node_modules/@comis/core/dist/api-contracts/incident-report-sections.d.ts +117 -0
- package/node_modules/@comis/core/dist/api-contracts/incident-report-sections.js +113 -0
- package/node_modules/@comis/core/dist/api-contracts/incident-report.d.ts +920 -0
- package/node_modules/@comis/core/dist/api-contracts/incident-report.js +517 -0
- package/node_modules/@comis/core/dist/api-contracts/index.d.ts +8 -4
- package/node_modules/@comis/core/dist/api-contracts/index.js +10 -1
- package/node_modules/@comis/core/dist/api-contracts/internals.d.ts +2 -2
- package/node_modules/@comis/core/dist/api-contracts/internals.js +25 -1
- package/node_modules/@comis/core/dist/api-contracts/mcp-oauth.d.ts +137 -0
- package/node_modules/@comis/core/dist/api-contracts/mcp-oauth.js +141 -0
- package/node_modules/@comis/core/dist/api-contracts/mcp.d.ts +62 -0
- package/node_modules/@comis/core/dist/api-contracts/mcp.js +57 -0
- package/node_modules/@comis/core/dist/api-contracts/media.d.ts +111 -6
- package/node_modules/@comis/core/dist/api-contracts/media.js +102 -5
- package/node_modules/@comis/core/dist/api-contracts/memory-diagnostics.d.ts +204 -0
- package/node_modules/@comis/core/dist/api-contracts/memory-diagnostics.js +202 -0
- package/node_modules/@comis/core/dist/api-contracts/memory-pinning.d.ts +50 -0
- package/node_modules/@comis/core/dist/api-contracts/memory-pinning.js +53 -0
- package/node_modules/@comis/core/dist/api-contracts/memory-portability.d.ts +92 -0
- package/node_modules/@comis/core/dist/api-contracts/memory-portability.js +91 -0
- package/node_modules/@comis/core/dist/api-contracts/memory.d.ts +179 -343
- package/node_modules/@comis/core/dist/api-contracts/memory.js +166 -325
- package/node_modules/@comis/core/dist/api-contracts/observability-billing.d.ts +114 -0
- package/node_modules/@comis/core/dist/api-contracts/observability-billing.js +177 -0
- package/node_modules/@comis/core/dist/api-contracts/observability.d.ts +573 -192
- package/node_modules/@comis/core/dist/api-contracts/observability.js +237 -229
- package/node_modules/@comis/core/dist/api-contracts/orchestrator/autonomy-handlers.d.ts +99 -0
- package/node_modules/@comis/core/dist/api-contracts/orchestrator/autonomy-handlers.js +119 -0
- package/node_modules/@comis/core/dist/api-contracts/orchestrator/cron-handlers.d.ts +22 -4
- package/node_modules/@comis/core/dist/api-contracts/orchestrator/cron-handlers.js +16 -2
- package/node_modules/@comis/core/dist/api-contracts/orchestrator/index.d.ts +29 -3
- package/node_modules/@comis/core/dist/api-contracts/orchestrator/index.js +7 -2
- package/node_modules/@comis/core/dist/api-contracts/orchestrator/subagent-handlers.d.ts +27 -10
- package/node_modules/@comis/core/dist/api-contracts/orchestrator/subagent-handlers.js +28 -11
- package/node_modules/@comis/core/dist/api-contracts/secrets.d.ts +6 -6
- package/node_modules/@comis/core/dist/api-contracts/secrets.js +4 -4
- package/node_modules/@comis/core/dist/api-contracts/sessions.d.ts +98 -10
- package/node_modules/@comis/core/dist/api-contracts/sessions.js +126 -11
- package/node_modules/@comis/core/dist/api-contracts/types.d.ts +4 -2
- package/node_modules/@comis/core/dist/api-contracts/workspace/index.d.ts +3 -0
- package/node_modules/@comis/core/dist/api-contracts/workspace/skill-handlers.d.ts +6 -0
- package/node_modules/@comis/core/dist/api-contracts/workspace/skill-handlers.js +25 -5
- package/node_modules/@comis/core/dist/approval/approval-gate.d.ts +10 -1
- package/node_modules/@comis/core/dist/approval/approval-gate.js +41 -2
- package/node_modules/@comis/core/dist/approval/approval-short-id.d.ts +21 -0
- package/node_modules/@comis/core/dist/approval/approval-short-id.js +43 -0
- package/node_modules/@comis/core/dist/bootstrap.d.ts +30 -0
- package/node_modules/@comis/core/dist/bootstrap.js +66 -7
- package/node_modules/@comis/core/dist/config/capability-activation.d.ts +155 -0
- package/node_modules/@comis/core/dist/config/capability-activation.js +146 -0
- package/node_modules/@comis/core/dist/config/env-layer.d.ts +5 -1
- package/node_modules/@comis/core/dist/config/env-layer.js +17 -2
- package/node_modules/@comis/core/dist/config/env-substitution.d.ts +16 -0
- package/node_modules/@comis/core/dist/config/env-substitution.js +3 -3
- package/node_modules/@comis/core/dist/config/immutable-keys.js +8 -1
- package/node_modules/@comis/core/dist/config/index.d.ts +29 -13
- package/node_modules/@comis/core/dist/config/index.js +43 -9
- package/node_modules/@comis/core/dist/config/layered.d.ts +16 -1
- package/node_modules/@comis/core/dist/config/layered.js +16 -5
- package/node_modules/@comis/core/dist/config/pre-read-storage-mode.d.ts +38 -0
- package/node_modules/@comis/core/dist/config/pre-read-storage-mode.js +74 -0
- package/node_modules/@comis/core/dist/config/schema-agent/index.d.ts +6 -0
- package/node_modules/@comis/core/dist/config/schema-agent/index.js +19 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-autonomy-bounds.d.ts +138 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-autonomy-bounds.js +155 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-autonomy-degrade.d.ts +72 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-autonomy-degrade.js +63 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-autonomy-durability.d.ts +40 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-autonomy-durability.js +66 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-autonomy-escalate.d.ts +38 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-autonomy-escalate.js +24 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-autonomy-mode.d.ts +44 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-autonomy-mode.js +48 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-autonomy-role.d.ts +43 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-autonomy-role.js +45 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-autonomy.d.ts +303 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-autonomy.js +379 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-context.d.ts +39 -8
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-context.js +151 -12
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-model.d.ts +10 -4
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-model.js +18 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-prompt.d.ts +104 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-prompt.js +256 -0
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-runtime.d.ts +905 -8
- package/node_modules/@comis/core/dist/config/schema-agent/schema-agent-runtime.js +145 -8
- package/node_modules/@comis/core/dist/config/schema-broker.d.ts +142 -0
- package/node_modules/@comis/core/dist/config/schema-broker.js +91 -0
- package/node_modules/@comis/core/dist/config/schema-channel.d.ts +1 -1
- package/node_modules/@comis/core/dist/config/schema-channel.js +1 -1
- package/node_modules/@comis/core/dist/config/schema-daemon.d.ts +25 -5
- package/node_modules/@comis/core/dist/config/schema-daemon.js +31 -5
- package/node_modules/@comis/core/dist/config/schema-diagnostics.d.ts +58 -0
- package/node_modules/@comis/core/dist/config/schema-diagnostics.js +209 -0
- package/node_modules/@comis/core/dist/config/schema-dialectic.d.ts +46 -0
- package/node_modules/@comis/core/dist/config/schema-dialectic.js +51 -0
- package/node_modules/@comis/core/dist/config/schema-embedding.d.ts +1 -0
- package/node_modules/@comis/core/dist/config/schema-embedding.js +2 -0
- package/node_modules/@comis/core/dist/config/schema-executor.d.ts +116 -0
- package/node_modules/@comis/core/dist/config/schema-executor.js +32 -0
- package/node_modules/@comis/core/dist/config/schema-gateway.d.ts +21 -0
- package/node_modules/@comis/core/dist/config/schema-gateway.js +46 -1
- package/node_modules/@comis/core/dist/config/schema-gemini-cache.js +11 -2
- package/node_modules/@comis/core/dist/config/schema-integrations.d.ts +285 -9
- package/node_modules/@comis/core/dist/config/schema-integrations.js +285 -12
- package/node_modules/@comis/core/dist/config/schema-learning-outcome.d.ts +64 -0
- package/node_modules/@comis/core/dist/config/schema-learning-outcome.js +77 -0
- package/node_modules/@comis/core/dist/config/schema-learning.d.ts +72 -0
- package/node_modules/@comis/core/dist/config/schema-learning.js +96 -0
- package/node_modules/@comis/core/dist/config/schema-memory-lifecycle.d.ts +53 -0
- package/node_modules/@comis/core/dist/config/schema-memory-lifecycle.js +56 -0
- package/node_modules/@comis/core/dist/config/schema-memory-review.d.ts +2 -1
- package/node_modules/@comis/core/dist/config/schema-memory-review.js +11 -7
- package/node_modules/@comis/core/dist/config/schema-memory.d.ts +28 -4
- package/node_modules/@comis/core/dist/config/schema-memory.js +39 -6
- package/node_modules/@comis/core/dist/config/schema-observability.d.ts +255 -1
- package/node_modules/@comis/core/dist/config/schema-observability.js +262 -0
- package/node_modules/@comis/core/dist/config/schema-orchestration.d.ts +35 -0
- package/node_modules/@comis/core/dist/config/schema-orchestration.js +31 -0
- package/node_modules/@comis/core/dist/config/schema-providers.d.ts +27 -0
- package/node_modules/@comis/core/dist/config/schema-providers.js +12 -2
- package/node_modules/@comis/core/dist/config/schema-queue.d.ts +0 -42
- package/node_modules/@comis/core/dist/config/schema-queue.js +0 -45
- package/node_modules/@comis/core/dist/config/schema-secrets.d.ts +0 -6
- package/node_modules/@comis/core/dist/config/schema-secrets.js +1 -8
- package/node_modules/@comis/core/dist/config/schema-security.d.ts +32 -4
- package/node_modules/@comis/core/dist/config/schema-security.js +53 -4
- package/node_modules/@comis/core/dist/config/schema-sender-trust-display.d.ts +1 -1
- package/node_modules/@comis/core/dist/config/schema-skills.d.ts +222 -0
- package/node_modules/@comis/core/dist/config/schema-skills.js +205 -1
- package/node_modules/@comis/core/dist/config/schema-streaming.d.ts +13 -10
- package/node_modules/@comis/core/dist/config/schema-streaming.js +6 -0
- package/node_modules/@comis/core/dist/config/schema-tooling.d.ts +1 -1
- package/node_modules/@comis/core/dist/config/schema-tooling.js +1 -1
- package/node_modules/@comis/core/dist/config/schema-verbosity.d.ts +5 -5
- package/node_modules/@comis/core/dist/config/schema.d.ts +700 -40
- package/node_modules/@comis/core/dist/config/schema.js +24 -5
- package/node_modules/@comis/core/dist/config/section-registry.d.ts +16 -18
- package/node_modules/@comis/core/dist/config/section-registry.js +41 -25
- package/node_modules/@comis/core/dist/config/types.d.ts +3 -3
- package/node_modules/@comis/core/dist/context/context.d.ts +17 -2
- package/node_modules/@comis/core/dist/context/context.js +20 -3
- package/node_modules/@comis/core/dist/context-store/index.d.ts +1 -0
- package/node_modules/@comis/core/dist/context-store/index.js +2 -0
- package/node_modules/@comis/core/dist/context-store/parts-codec.d.ts +48 -0
- package/node_modules/@comis/core/dist/context-store/parts-codec.js +207 -0
- package/node_modules/@comis/core/dist/delivery/delivery-service.d.ts +57 -16
- package/node_modules/@comis/core/dist/delivery/delivery-service.js +141 -23
- package/node_modules/@comis/core/dist/delivery/markdown-ir.js +43 -18
- package/node_modules/@comis/core/dist/delivery/no-op-delivery-queue.js +1 -0
- package/node_modules/@comis/core/dist/domain/agent-response.d.ts +1 -1
- package/node_modules/@comis/core/dist/domain/approval-request.d.ts +2 -0
- package/node_modules/@comis/core/dist/domain/approval-request.js +4 -0
- package/node_modules/@comis/core/dist/domain/background-task-origin.d.ts +1 -1
- package/node_modules/@comis/core/dist/domain/background-task-origin.js +1 -1
- package/node_modules/@comis/core/dist/domain/channel-capability.d.ts +8 -32
- package/node_modules/@comis/core/dist/domain/channel-capability.js +11 -33
- package/node_modules/@comis/core/dist/domain/chat-type.d.ts +27 -0
- package/node_modules/@comis/core/dist/domain/chat-type.js +40 -0
- package/node_modules/@comis/core/dist/domain/durable-run.d.ts +95 -0
- package/node_modules/@comis/core/dist/domain/durable-run.js +98 -0
- package/node_modules/@comis/core/dist/domain/execution-graph.d.ts +2 -0
- package/node_modules/@comis/core/dist/domain/execution-graph.js +50 -1
- package/node_modules/@comis/core/dist/domain/index.d.ts +11 -3
- package/node_modules/@comis/core/dist/domain/index.js +13 -2
- package/node_modules/@comis/core/dist/domain/memory-entry.d.ts +124 -0
- package/node_modules/@comis/core/dist/domain/memory-entry.js +141 -0
- package/node_modules/@comis/core/dist/domain/memory-export-envelope.d.ts +61 -0
- package/node_modules/@comis/core/dist/domain/memory-export-envelope.js +53 -0
- package/node_modules/@comis/core/dist/domain/model-compat.d.ts +3 -0
- package/node_modules/@comis/core/dist/domain/model-compat.js +2 -1
- package/node_modules/@comis/core/dist/domain/normalized-message.d.ts +18 -1
- package/node_modules/@comis/core/dist/domain/normalized-message.js +32 -1
- package/node_modules/@comis/core/dist/domain/normalized-reaction.d.ts +35 -0
- package/node_modules/@comis/core/dist/domain/normalized-reaction.js +46 -0
- package/node_modules/@comis/core/dist/domain/provider-capabilities.d.ts +10 -0
- package/node_modules/@comis/core/dist/domain/provider-capabilities.js +18 -0
- package/node_modules/@comis/core/dist/domain/rpc-error-classification.d.ts +49 -0
- package/node_modules/@comis/core/dist/domain/rpc-error-classification.js +62 -0
- package/node_modules/@comis/core/dist/domain/sub-agent-tool-denylist.d.ts +93 -0
- package/node_modules/@comis/core/dist/domain/sub-agent-tool-denylist.js +221 -0
- package/node_modules/@comis/core/dist/domain/subagent-context-types.d.ts +8 -2
- package/node_modules/@comis/core/dist/event-bus/events-agent.d.ts +493 -139
- package/node_modules/@comis/core/dist/event-bus/events-channel.d.ts +51 -16
- package/node_modules/@comis/core/dist/event-bus/events-infra.d.ts +164 -44
- package/node_modules/@comis/core/dist/event-bus/events-learning.d.ts +230 -0
- package/node_modules/@comis/core/dist/event-bus/events-learning.js +21 -0
- package/node_modules/@comis/core/dist/event-bus/events-media.d.ts +522 -0
- package/node_modules/@comis/core/dist/event-bus/events-media.js +1 -0
- package/node_modules/@comis/core/dist/event-bus/events-messaging.d.ts +281 -3
- package/node_modules/@comis/core/dist/event-bus/events-model.d.ts +87 -0
- package/node_modules/@comis/core/dist/event-bus/events-model.js +1 -0
- package/node_modules/@comis/core/dist/event-bus/events-orchestration.d.ts +350 -0
- package/node_modules/@comis/core/dist/event-bus/events-orchestration.js +1 -0
- package/node_modules/@comis/core/dist/event-bus/events-terminal.d.ts +258 -0
- package/node_modules/@comis/core/dist/event-bus/events-terminal.js +1 -0
- package/node_modules/@comis/core/dist/event-bus/events-trajectory.d.ts +161 -0
- package/node_modules/@comis/core/dist/event-bus/events-trajectory.js +19 -0
- package/node_modules/@comis/core/dist/event-bus/events.d.ts +17 -2
- package/node_modules/@comis/core/dist/event-bus/index.d.ts +4 -0
- package/node_modules/@comis/core/dist/exports/activity.d.ts +4 -0
- package/node_modules/@comis/core/dist/exports/activity.js +30 -0
- package/node_modules/@comis/core/dist/exports/bootstrap.d.ts +1 -1
- package/node_modules/@comis/core/dist/exports/bootstrap.js +1 -1
- package/node_modules/@comis/core/dist/exports/config.d.ts +2 -2
- package/node_modules/@comis/core/dist/exports/config.js +22 -3
- package/node_modules/@comis/core/dist/exports/delivery.js +3 -3
- package/node_modules/@comis/core/dist/exports/domain.d.ts +3 -2
- package/node_modules/@comis/core/dist/exports/domain.js +13 -2
- package/node_modules/@comis/core/dist/exports/event-bus.d.ts +1 -1
- 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 +2 -0
- package/node_modules/@comis/core/dist/exports/logging.js +2 -0
- package/node_modules/@comis/core/dist/exports/media.d.ts +10 -0
- package/node_modules/@comis/core/dist/exports/media.js +74 -0
- package/node_modules/@comis/core/dist/exports/model.d.ts +2 -1
- package/node_modules/@comis/core/dist/exports/model.js +5 -1
- package/node_modules/@comis/core/dist/exports/oauth.d.ts +1 -1
- package/node_modules/@comis/core/dist/exports/ports.d.ts +3 -1
- package/node_modules/@comis/core/dist/exports/ports.js +11 -0
- package/node_modules/@comis/core/dist/exports/runtime.d.ts +3 -0
- package/node_modules/@comis/core/dist/exports/runtime.js +4 -0
- package/node_modules/@comis/core/dist/exports/security.d.ts +33 -8
- package/node_modules/@comis/core/dist/exports/security.js +39 -6
- package/node_modules/@comis/core/dist/exports/text.d.ts +10 -0
- package/node_modules/@comis/core/dist/exports/text.js +12 -0
- package/node_modules/@comis/core/dist/hooks/hook-runner.d.ts +7 -12
- package/node_modules/@comis/core/dist/hooks/hook-runner.js +2 -84
- package/node_modules/@comis/core/dist/hooks/hook-strategies.d.ts +1 -11
- package/node_modules/@comis/core/dist/hooks/hook-strategies.js +0 -20
- package/node_modules/@comis/core/dist/hooks/index.d.ts +1 -1
- package/node_modules/@comis/core/dist/hooks/index.js +1 -1
- package/node_modules/@comis/core/dist/hooks/plugin-registry.d.ts +9 -18
- package/node_modules/@comis/core/dist/hooks/plugin-registry.js +5 -79
- package/node_modules/@comis/core/dist/index.d.ts +6 -0
- package/node_modules/@comis/core/dist/index.js +9 -0
- package/node_modules/@comis/core/dist/load-env.js +1 -1
- package/node_modules/@comis/core/dist/logging/console-logger.js +40 -10
- package/node_modules/@comis/core/dist/logging/dedup-logger.d.ts +46 -0
- package/node_modules/@comis/core/dist/logging/dedup-logger.js +46 -0
- package/node_modules/@comis/core/dist/logging/fingerprint.d.ts +1 -0
- package/node_modules/@comis/core/dist/logging/fingerprint.js +20 -0
- package/node_modules/@comis/core/dist/logging/index.d.ts +1 -0
- package/node_modules/@comis/core/dist/logging/index.js +1 -0
- package/node_modules/@comis/core/dist/logging/log-fields.d.ts +24 -13
- package/node_modules/@comis/core/dist/media/image-capability.d.ts +39 -0
- package/node_modules/@comis/core/dist/media/image-capability.js +44 -0
- package/node_modules/@comis/core/dist/media/image-error.d.ts +25 -0
- package/node_modules/@comis/core/dist/media/image-error.js +36 -0
- package/node_modules/@comis/core/dist/media/image-models.d.ts +43 -0
- package/node_modules/@comis/core/dist/media/image-models.js +54 -0
- package/node_modules/@comis/core/dist/media/index.d.ts +23 -0
- package/node_modules/@comis/core/dist/media/index.js +25 -0
- package/node_modules/@comis/core/dist/media/resolve-image-provider.d.ts +54 -0
- package/node_modules/@comis/core/dist/media/resolve-image-provider.js +97 -0
- package/node_modules/@comis/core/dist/media/resolve-transcription-provider.d.ts +60 -0
- package/node_modules/@comis/core/dist/media/resolve-transcription-provider.js +85 -0
- package/node_modules/@comis/core/dist/media/resolve-tts-provider.d.ts +54 -0
- package/node_modules/@comis/core/dist/media/resolve-tts-provider.js +82 -0
- package/node_modules/@comis/core/dist/media/resolve-video-provider.d.ts +65 -0
- package/node_modules/@comis/core/dist/media/resolve-video-provider.js +132 -0
- package/node_modules/@comis/core/dist/media/resolve-vision-path.d.ts +81 -0
- package/node_modules/@comis/core/dist/media/resolve-vision-path.js +99 -0
- package/node_modules/@comis/core/dist/media/video-capability.d.ts +39 -0
- package/node_modules/@comis/core/dist/media/video-capability.js +45 -0
- package/node_modules/@comis/core/dist/media/video-error.d.ts +54 -0
- package/node_modules/@comis/core/dist/media/video-error.js +66 -0
- package/node_modules/@comis/core/dist/media/video-models.d.ts +106 -0
- package/node_modules/@comis/core/dist/media/video-models.js +156 -0
- package/node_modules/@comis/core/dist/media/video-pricing.d.ts +42 -0
- package/node_modules/@comis/core/dist/media/video-pricing.js +62 -0
- package/node_modules/@comis/core/dist/media/voice-capability.d.ts +37 -0
- package/node_modules/@comis/core/dist/media/voice-capability.js +43 -0
- package/node_modules/@comis/core/dist/media/voice-error.d.ts +29 -0
- package/node_modules/@comis/core/dist/media/voice-error.js +39 -0
- package/node_modules/@comis/core/dist/model/model-catalog.d.ts +24 -0
- package/node_modules/@comis/core/dist/model/model-catalog.js +39 -0
- package/node_modules/@comis/core/dist/model/model-family.d.ts +53 -0
- package/node_modules/@comis/core/dist/model/model-family.js +99 -0
- package/node_modules/@comis/core/dist/oauth/index.d.ts +1 -1
- package/node_modules/@comis/core/dist/oauth/oauth-credential-store-file.js +9 -1
- package/node_modules/@comis/core/dist/oauth/oauth-credential-store-selector.d.ts +5 -5
- package/node_modules/@comis/core/dist/oauth/oauth-credential-store-selector.js +11 -2
- package/node_modules/@comis/core/dist/oauth/oauth-device-code.d.ts +3 -4
- package/node_modules/@comis/core/dist/oauth/oauth-device-code.js +7 -8
- package/node_modules/@comis/core/dist/oauth/oauth-login-runner.d.ts +3 -3
- package/node_modules/@comis/core/dist/oauth/oauth-login-runner.js +3 -3
- package/node_modules/@comis/core/dist/oauth/oauth-tls-preflight.d.ts +5 -5
- package/node_modules/@comis/core/dist/oauth/oauth-tls-preflight.js +3 -3
- package/node_modules/@comis/core/dist/oauth/oauth-token-manager.d.ts +18 -1
- package/node_modules/@comis/core/dist/ports/ca-manager.d.ts +17 -0
- package/node_modules/@comis/core/dist/ports/ca-manager.js +1 -0
- package/node_modules/@comis/core/dist/ports/channel.d.ts +106 -12
- package/node_modules/@comis/core/dist/ports/context-store-types.d.ts +390 -92
- package/node_modules/@comis/core/dist/ports/context-store-types.js +17 -7
- package/node_modules/@comis/core/dist/ports/context-store.d.ts +268 -137
- package/node_modules/@comis/core/dist/ports/context-store.js +11 -8
- package/node_modules/@comis/core/dist/ports/delivery-queue.d.ts +14 -9
- package/node_modules/@comis/core/dist/ports/durable-run.d.ts +90 -0
- package/node_modules/@comis/core/dist/ports/durable-run.js +15 -0
- package/node_modules/@comis/core/dist/ports/egress-control.d.ts +74 -0
- package/node_modules/@comis/core/dist/ports/egress-control.js +38 -0
- package/node_modules/@comis/core/dist/ports/env.d.ts +0 -5
- package/node_modules/@comis/core/dist/ports/execution-plan-port.d.ts +57 -0
- package/node_modules/@comis/core/dist/ports/execution-plan-port.js +16 -0
- package/node_modules/@comis/core/dist/ports/hook-types.d.ts +8 -72
- package/node_modules/@comis/core/dist/ports/index.d.ts +23 -10
- package/node_modules/@comis/core/dist/ports/learned-skill-store.d.ts +223 -0
- package/node_modules/@comis/core/dist/ports/learned-skill-store.js +1 -0
- package/node_modules/@comis/core/dist/ports/memory-causal-store.d.ts +73 -0
- package/node_modules/@comis/core/dist/ports/memory-causal-store.js +1 -0
- package/node_modules/@comis/core/dist/ports/memory-consolidation.d.ts +96 -0
- package/node_modules/@comis/core/dist/ports/memory-consolidation.js +1 -0
- package/node_modules/@comis/core/dist/ports/memory-embedding-store.d.ts +45 -0
- package/node_modules/@comis/core/dist/ports/memory-embedding-store.js +1 -0
- package/node_modules/@comis/core/dist/ports/memory-entity-store.d.ts +95 -0
- package/node_modules/@comis/core/dist/ports/memory-entity-store.js +1 -0
- package/node_modules/@comis/core/dist/ports/memory-lifecycle.d.ts +148 -0
- package/node_modules/@comis/core/dist/ports/memory-lifecycle.js +1 -0
- package/node_modules/@comis/core/dist/ports/memory-pinned-store.d.ts +41 -0
- package/node_modules/@comis/core/dist/ports/memory-pinned-store.js +1 -0
- package/node_modules/@comis/core/dist/ports/memory-temporal-store.d.ts +45 -0
- package/node_modules/@comis/core/dist/ports/memory-temporal-store.js +1 -0
- package/node_modules/@comis/core/dist/ports/memory-usefulness-store.d.ts +114 -0
- package/node_modules/@comis/core/dist/ports/memory-usefulness-store.js +1 -0
- package/node_modules/@comis/core/dist/ports/memory.d.ts +76 -29
- package/node_modules/@comis/core/dist/ports/outcome-signal-port.d.ts +148 -0
- package/node_modules/@comis/core/dist/ports/outcome-signal-port.js +1 -0
- package/node_modules/@comis/core/dist/ports/output-guard.d.ts +8 -0
- package/node_modules/@comis/core/dist/ports/outward-send-ledger.d.ts +128 -0
- package/node_modules/@comis/core/dist/ports/outward-send-ledger.js +21 -0
- package/node_modules/@comis/core/dist/ports/plugin.d.ts +4 -22
- package/node_modules/@comis/core/dist/ports/provider.d.ts +182 -21
- package/node_modules/@comis/core/dist/ports/reflection-port.d.ts +77 -0
- package/node_modules/@comis/core/dist/ports/reflection-port.js +25 -0
- package/node_modules/@comis/core/dist/ports/reranker.d.ts +33 -0
- package/node_modules/@comis/core/dist/ports/reranker.js +1 -0
- package/node_modules/@comis/core/dist/ports/secret-store.d.ts +0 -19
- package/node_modules/@comis/core/dist/ports/tool-capability.d.ts +8 -4
- package/node_modules/@comis/core/dist/ports/tool-capability.js +1 -1
- package/node_modules/@comis/core/dist/ports/triple-store.d.ts +150 -0
- package/node_modules/@comis/core/dist/ports/triple-store.js +1 -0
- package/node_modules/@comis/core/dist/provider/keyless-providers.d.ts +22 -0
- package/node_modules/@comis/core/dist/provider/keyless-providers.js +23 -0
- package/node_modules/@comis/core/dist/reflection/delta-ops.d.ts +45 -0
- package/node_modules/@comis/core/dist/reflection/delta-ops.js +87 -0
- package/node_modules/@comis/core/dist/runtime/file-lock.js +1 -1
- package/node_modules/@comis/core/dist/runtime/poll-deadline.d.ts +47 -0
- package/node_modules/@comis/core/dist/runtime/poll-deadline.js +63 -0
- package/node_modules/@comis/core/dist/security/action-classifier.js +4 -4
- package/node_modules/@comis/core/dist/security/audit.d.ts +58 -5
- package/node_modules/@comis/core/dist/security/audit.js +99 -5
- package/node_modules/@comis/core/dist/security/bind-mount-validator.d.ts +13 -0
- package/node_modules/@comis/core/dist/security/bind-mount-validator.js +106 -0
- package/node_modules/@comis/core/dist/security/callback-signing.d.ts +49 -0
- package/node_modules/@comis/core/dist/security/callback-signing.js +90 -0
- package/node_modules/@comis/core/dist/security/capability.d.ts +94 -0
- package/node_modules/@comis/core/dist/security/capability.js +117 -0
- package/node_modules/@comis/core/dist/security/cli-subcommand-map.d.ts +141 -0
- package/node_modules/@comis/core/dist/security/cli-subcommand-map.js +130 -0
- package/node_modules/@comis/core/dist/security/credential-classify.d.ts +30 -0
- package/node_modules/@comis/core/dist/security/credential-classify.js +47 -0
- package/node_modules/@comis/core/dist/security/external-content.d.ts +1 -1
- package/node_modules/@comis/core/dist/security/external-content.js +54 -3
- package/node_modules/@comis/core/dist/security/handler-capability-map.d.ts +134 -0
- package/node_modules/@comis/core/dist/security/handler-capability-map.js +112 -0
- package/node_modules/@comis/core/dist/security/index.d.ts +35 -9
- package/node_modules/@comis/core/dist/security/index.js +39 -8
- package/node_modules/@comis/core/dist/security/input-security-guard.js +14 -1
- package/node_modules/@comis/core/dist/security/log-sanitizer.d.ts +23 -0
- package/node_modules/@comis/core/dist/security/log-sanitizer.js +50 -1
- package/node_modules/@comis/core/dist/security/master-key.d.ts +7 -0
- package/node_modules/@comis/core/dist/security/master-key.js +20 -3
- package/node_modules/@comis/core/dist/security/memory-write-validator.js +7 -0
- package/node_modules/@comis/core/dist/security/oauth-helpers.d.ts +1 -2
- package/node_modules/@comis/core/dist/security/output-guard.d.ts +15 -6
- package/node_modules/@comis/core/dist/security/output-guard.js +54 -9
- package/node_modules/@comis/core/dist/security/patterns/credential-log.d.ts +9 -0
- package/node_modules/@comis/core/dist/security/patterns/credential-log.js +10 -0
- package/node_modules/@comis/core/dist/security/provider-catalog/index.d.ts +5 -0
- package/node_modules/@comis/core/dist/security/provider-catalog/index.js +5 -0
- package/node_modules/@comis/core/dist/security/provider-catalog/injection-engine.d.ts +42 -0
- package/node_modules/@comis/core/dist/security/provider-catalog/injection-engine.js +101 -0
- package/node_modules/@comis/core/dist/security/provider-catalog/matcher.d.ts +74 -0
- package/node_modules/@comis/core/dist/security/provider-catalog/matcher.js +212 -0
- package/node_modules/@comis/core/dist/security/provider-catalog/presets.d.ts +31 -0
- package/node_modules/@comis/core/dist/security/provider-catalog/presets.js +72 -0
- package/node_modules/@comis/core/dist/security/provider-catalog/types.d.ts +82 -0
- package/node_modules/@comis/core/dist/security/provider-catalog/types.js +15 -0
- package/node_modules/@comis/core/dist/security/redact-value.d.ts +109 -0
- package/node_modules/@comis/core/dist/security/redact-value.js +425 -0
- package/node_modules/@comis/core/dist/security/result-ref.d.ts +127 -0
- package/node_modules/@comis/core/dist/security/result-ref.js +144 -0
- package/node_modules/@comis/core/dist/security/secret-detection.d.ts +101 -0
- package/node_modules/@comis/core/dist/security/secret-detection.js +333 -0
- package/node_modules/@comis/core/dist/security/secret-egress-guard.d.ts +26 -0
- package/node_modules/@comis/core/dist/security/secret-egress-guard.js +61 -0
- package/node_modules/@comis/core/dist/security/secret-manager.d.ts +45 -1
- package/node_modules/@comis/core/dist/security/secret-manager.js +38 -7
- package/node_modules/@comis/core/dist/security/secrets-audit.d.ts +2 -2
- package/node_modules/@comis/core/dist/security/secrets-audit.js +20 -4
- package/node_modules/@comis/core/dist/security/ssrf-guard.d.ts +65 -1
- package/node_modules/@comis/core/dist/security/ssrf-guard.js +119 -1
- package/node_modules/@comis/core/dist/security/tool-capability-map.d.ts +119 -0
- package/node_modules/@comis/core/dist/security/tool-capability-map.js +104 -0
- package/node_modules/@comis/core/dist/security/validate-learned-doc-body.d.ts +69 -0
- package/node_modules/@comis/core/dist/security/validate-learned-doc-body.js +75 -0
- package/node_modules/@comis/core/dist/text/generation-quality.d.ts +44 -0
- package/node_modules/@comis/core/dist/text/generation-quality.js +37 -0
- package/node_modules/@comis/core/dist/text/multilingual-heuristic.d.ts +47 -0
- package/node_modules/@comis/core/dist/text/multilingual-heuristic.js +54 -0
- package/node_modules/@comis/core/dist/text/normalize-search.d.ts +44 -0
- package/node_modules/@comis/core/dist/text/normalize-search.js +185 -0
- package/node_modules/@comis/core/dist/text/script-classes.d.ts +63 -0
- package/node_modules/@comis/core/dist/text/script-classes.js +265 -0
- package/node_modules/@comis/core/dist/text/slice-boundary.d.ts +36 -0
- package/node_modules/@comis/core/dist/text/slice-boundary.js +77 -0
- package/node_modules/@comis/core/dist/text/token-factor.d.ts +14 -0
- package/node_modules/@comis/core/dist/text/token-factor.js +61 -0
- package/node_modules/@comis/core/dist/text/trigram-query.d.ts +49 -0
- package/node_modules/@comis/core/dist/text/trigram-query.js +238 -0
- package/node_modules/@comis/core/dist/tool-metadata.d.ts +49 -2
- package/node_modules/@comis/core/dist/workspace/index.d.ts +1 -1
- package/node_modules/@comis/core/dist/workspace/index.js +1 -1
- package/node_modules/@comis/core/dist/workspace/templates.d.ts +17 -0
- package/node_modules/@comis/core/dist/workspace/templates.js +27 -13
- package/node_modules/@comis/core/dist/workspace/workspace-manager.js +90 -2
- package/node_modules/@comis/core/dist/workspace/workspace-resolver.d.ts +11 -3
- package/node_modules/@comis/core/dist/workspace/workspace-resolver.js +15 -5
- package/node_modules/@comis/core/package.json +2 -2
- package/node_modules/@comis/daemon/bundled-skills/autonomy/SKILL.md +111 -0
- package/node_modules/@comis/daemon/bundled-skills/claude-code/SKILL.md +131 -0
- package/node_modules/@comis/daemon/bundled-skills/codex/SKILL.md +81 -0
- package/node_modules/@comis/daemon/bundled-skills/gsd-builder/SKILL.md +133 -0
- package/node_modules/@comis/daemon/bundled-skills/skill-creator/scripts/validate-skill.py +6 -0
- package/node_modules/@comis/daemon/dist/api/agent-handlers.js +34 -6
- package/node_modules/@comis/daemon/dist/api/agent-inline-workspace.js +1 -0
- package/node_modules/@comis/daemon/dist/api/auth-handlers.d.ts +8 -6
- package/node_modules/@comis/daemon/dist/api/auth-handlers.js +122 -11
- package/node_modules/@comis/daemon/dist/api/autonomy-handlers.d.ts +110 -0
- package/node_modules/@comis/daemon/dist/api/autonomy-handlers.js +186 -0
- package/node_modules/@comis/daemon/dist/api/cache-handlers.d.ts +8 -0
- package/node_modules/@comis/daemon/dist/api/cache-handlers.js +78 -0
- package/node_modules/@comis/daemon/dist/api/capabilities-handlers.d.ts +71 -0
- package/node_modules/@comis/daemon/dist/api/capabilities-handlers.js +124 -0
- package/node_modules/@comis/daemon/dist/api/channel-handlers.js +5 -4
- package/node_modules/@comis/daemon/dist/api/classify-grok-video-error.d.ts +46 -0
- package/node_modules/@comis/daemon/dist/api/classify-grok-video-error.js +87 -0
- package/node_modules/@comis/daemon/dist/api/classify-veo-video-error.d.ts +33 -0
- package/node_modules/@comis/daemon/dist/api/classify-veo-video-error.js +74 -0
- package/node_modules/@comis/daemon/dist/api/codex-image-adapter.d.ts +80 -0
- package/node_modules/@comis/daemon/dist/api/codex-image-adapter.js +160 -0
- package/node_modules/@comis/daemon/dist/api/codex-images-transport.d.ts +114 -0
- package/node_modules/@comis/daemon/dist/api/codex-images-transport.js +281 -0
- package/node_modules/@comis/daemon/dist/api/config-handlers/config-export.js +19 -9
- package/node_modules/@comis/daemon/dist/api/config-handlers/config-helpers.d.ts +24 -0
- package/node_modules/@comis/daemon/dist/api/config-handlers/config-helpers.js +50 -1
- package/node_modules/@comis/daemon/dist/api/config-handlers/config-read.js +21 -8
- package/node_modules/@comis/daemon/dist/api/config-handlers/config-validate.d.ts +9 -4
- package/node_modules/@comis/daemon/dist/api/config-handlers/config-validate.js +21 -5
- package/node_modules/@comis/daemon/dist/api/config-handlers/config-write.js +90 -59
- package/node_modules/@comis/daemon/dist/api/context-handlers.d.ts +31 -39
- package/node_modules/@comis/daemon/dist/api/context-handlers.js +119 -416
- package/node_modules/@comis/daemon/dist/api/cron-handlers.js +67 -24
- package/node_modules/@comis/daemon/dist/api/daemon-handlers.js +2 -1
- package/node_modules/@comis/daemon/dist/api/env-handlers.d.ts +5 -3
- package/node_modules/@comis/daemon/dist/api/env-handlers.js +29 -78
- package/node_modules/@comis/daemon/dist/api/errors.d.ts +35 -0
- package/node_modules/@comis/daemon/dist/api/errors.js +46 -0
- package/node_modules/@comis/daemon/dist/api/github-skill-fetch.d.ts +44 -0
- package/node_modules/@comis/daemon/dist/api/github-skill-fetch.js +87 -0
- package/node_modules/@comis/daemon/dist/api/google-images-transport.d.ts +19 -0
- package/node_modules/@comis/daemon/dist/api/google-images-transport.js +115 -0
- package/node_modules/@comis/daemon/dist/api/graph-handlers/graph-export.js +5 -1
- package/node_modules/@comis/daemon/dist/api/graph-handlers/graph-helpers.d.ts +70 -24
- package/node_modules/@comis/daemon/dist/api/graph-handlers/graph-helpers.js +104 -64
- package/node_modules/@comis/daemon/dist/api/graph-handlers/graph-mutate-telemetry.d.ts +37 -0
- package/node_modules/@comis/daemon/dist/api/graph-handlers/graph-mutate-telemetry.js +126 -0
- package/node_modules/@comis/daemon/dist/api/graph-handlers/graph-mutate.js +121 -7
- package/node_modules/@comis/daemon/dist/api/graph-handlers/graph-repair.d.ts +112 -0
- package/node_modules/@comis/daemon/dist/api/graph-handlers/graph-repair.js +101 -0
- package/node_modules/@comis/daemon/dist/api/graph-handlers/graph-schema-example.d.ts +16 -0
- package/node_modules/@comis/daemon/dist/api/graph-handlers/graph-schema-example.js +45 -0
- package/node_modules/@comis/daemon/dist/api/grok-adapter.d.ts +100 -0
- package/node_modules/@comis/daemon/dist/api/grok-adapter.js +419 -0
- package/node_modules/@comis/daemon/dist/api/heartbeat-handlers.js +3 -2
- package/node_modules/@comis/daemon/dist/api/image-cost-limiter.d.ts +35 -0
- package/node_modules/@comis/daemon/dist/api/image-cost-limiter.js +89 -0
- package/node_modules/@comis/daemon/dist/api/image-handlers.js +356 -33
- package/node_modules/@comis/daemon/dist/api/index.d.ts +2 -1
- package/node_modules/@comis/daemon/dist/api/index.js +2 -1
- package/node_modules/@comis/daemon/dist/api/main-provider-vision.d.ts +110 -0
- package/node_modules/@comis/daemon/dist/api/main-provider-vision.js +229 -0
- package/node_modules/@comis/daemon/dist/api/mcp-config-mutated-coalescer.d.ts +40 -0
- package/node_modules/@comis/daemon/dist/api/mcp-config-mutated-coalescer.js +101 -0
- package/node_modules/@comis/daemon/dist/api/mcp-handlers.d.ts +5 -2
- package/node_modules/@comis/daemon/dist/api/mcp-handlers.js +365 -14
- package/node_modules/@comis/daemon/dist/api/mcp-header-credential.d.ts +112 -0
- package/node_modules/@comis/daemon/dist/api/mcp-header-credential.js +138 -0
- package/node_modules/@comis/daemon/dist/api/mcp-oauth-handlers.d.ts +99 -0
- package/node_modules/@comis/daemon/dist/api/mcp-oauth-handlers.js +308 -0
- package/node_modules/@comis/daemon/dist/api/mcp-persisted-entry.d.ts +96 -0
- package/node_modules/@comis/daemon/dist/api/mcp-persisted-entry.js +95 -0
- package/node_modules/@comis/daemon/dist/api/mcp-server-handlers.d.ts +142 -0
- package/node_modules/@comis/daemon/dist/api/mcp-server-handlers.js +542 -0
- package/node_modules/@comis/daemon/dist/api/mcp-server-rate-limit.d.ts +58 -0
- package/node_modules/@comis/daemon/dist/api/mcp-server-rate-limit.js +77 -0
- package/node_modules/@comis/daemon/dist/api/mcp-server-resources.d.ts +55 -0
- package/node_modules/@comis/daemon/dist/api/mcp-server-resources.js +121 -0
- package/node_modules/@comis/daemon/dist/api/media-handlers.d.ts +11 -19
- package/node_modules/@comis/daemon/dist/api/media-handlers.js +163 -84
- package/node_modules/@comis/daemon/dist/api/media-reference-resolver.d.ts +46 -0
- package/node_modules/@comis/daemon/dist/api/media-reference-resolver.js +107 -0
- package/node_modules/@comis/daemon/dist/api/memory-ask-handlers.d.ts +11 -0
- package/node_modules/@comis/daemon/dist/api/memory-ask-handlers.js +228 -0
- package/node_modules/@comis/daemon/dist/api/memory-handlers.js +235 -16
- package/node_modules/@comis/daemon/dist/api/memory-pinning-handlers.d.ts +15 -0
- package/node_modules/@comis/daemon/dist/api/memory-pinning-handlers.js +93 -0
- package/node_modules/@comis/daemon/dist/api/memory-portability-handlers.d.ts +18 -0
- package/node_modules/@comis/daemon/dist/api/memory-portability-handlers.js +287 -0
- package/node_modules/@comis/daemon/dist/api/message-handlers.js +208 -42
- package/node_modules/@comis/daemon/dist/api/model-handlers.js +2 -1
- package/node_modules/@comis/daemon/dist/api/obs-handlers/config-audit.d.ts +32 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/config-audit.js +213 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/fleet-autonomy.d.ts +89 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/fleet-autonomy.js +265 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/fleet-findings-extractors.d.ts +167 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/fleet-findings-extractors.js +376 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/fleet-findings.d.ts +46 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/fleet-findings.js +464 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/fleet-health.d.ts +88 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/fleet-health.js +410 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/fleet-session-index.d.ts +103 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/fleet-session-index.js +272 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/index.d.ts +7 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/index.js +46 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-audit.d.ts +37 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-audit.js +79 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-cache-breaks.d.ts +33 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-cache-breaks.js +67 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-diagnostics.js +13 -9
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-assemble.d.ts +46 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-assemble.js +392 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-bound-caps.d.ts +93 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-bound-caps.js +94 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-bound-helpers.d.ts +44 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-bound-helpers.js +54 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-bound.d.ts +69 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-bound.js +445 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-heuristics-helpers.d.ts +33 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-heuristics-helpers.js +47 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-heuristics.d.ts +75 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-heuristics.js +464 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-learning-verdicts.d.ts +47 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-learning-verdicts.js +66 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-readers.d.ts +74 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-readers.js +350 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-recall-verdict.d.ts +33 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-recall-verdict.js +47 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-resolve.d.ts +79 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-resolve.js +185 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-signal-folds.d.ts +223 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-signal-folds.js +409 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-signals-acc.d.ts +134 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-signals-acc.js +1 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-signals-fields.d.ts +172 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-signals-fields.js +373 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-signals.d.ts +32 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-signals.js +612 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-spend-verdict.d.ts +49 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-spend-verdict.js +74 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-terminal-drive-verdict.d.ts +48 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-terminal-drive-verdict.js +68 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-voice-fold.d.ts +50 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain-voice-fold.js +109 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain.d.ts +99 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-explain.js +234 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-export.js +3 -2
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-metrics.js +11 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-spend.d.ts +41 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-spend.js +98 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-system-prompt-report.d.ts +25 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-system-prompt-report.js +105 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-trace.d.ts +40 -0
- package/node_modules/@comis/daemon/dist/api/obs-handlers/obs-trace.js +345 -0
- package/node_modules/@comis/daemon/dist/api/openai-images-transport.d.ts +21 -0
- package/node_modules/@comis/daemon/dist/api/openai-images-transport.js +133 -0
- package/node_modules/@comis/daemon/dist/api/outward-ledger-wrap.d.ts +95 -0
- package/node_modules/@comis/daemon/dist/api/outward-ledger-wrap.js +133 -0
- package/node_modules/@comis/daemon/dist/api/pi-image-adapter.d.ts +95 -0
- package/node_modules/@comis/daemon/dist/api/pi-image-adapter.js +291 -0
- package/node_modules/@comis/daemon/dist/api/provider-handlers.js +8 -7
- package/node_modules/@comis/daemon/dist/api/rpc-dispatch.d.ts +21 -4
- package/node_modules/@comis/daemon/dist/api/rpc-dispatch.js +470 -35
- package/node_modules/@comis/daemon/dist/api/secrets-handlers.js +57 -33
- package/node_modules/@comis/daemon/dist/api/session-handlers/session-archive.d.ts +6 -0
- package/node_modules/@comis/daemon/dist/api/session-handlers/session-archive.js +306 -5
- package/node_modules/@comis/daemon/dist/api/session-handlers/session-helpers.d.ts +18 -5
- package/node_modules/@comis/daemon/dist/api/session-handlers/session-helpers.js +54 -5
- package/node_modules/@comis/daemon/dist/api/session-handlers/session-list.d.ts +13 -0
- package/node_modules/@comis/daemon/dist/api/session-handlers/session-list.js +96 -28
- package/node_modules/@comis/daemon/dist/api/session-handlers/session-mutate.js +101 -59
- package/node_modules/@comis/daemon/dist/api/session-handlers/session-read.js +94 -0
- package/node_modules/@comis/daemon/dist/api/shared/assert-not-agent-origin.d.ts +32 -0
- package/node_modules/@comis/daemon/dist/api/shared/assert-not-agent-origin.js +86 -0
- package/node_modules/@comis/daemon/dist/api/shared/credential-resolver.d.ts +2 -2
- package/node_modules/@comis/daemon/dist/api/shared/credential-resolver.js +38 -16
- package/node_modules/@comis/daemon/dist/api/shared/emit-capability-audit.d.ts +55 -0
- package/node_modules/@comis/daemon/dist/api/shared/emit-capability-audit.js +90 -0
- package/node_modules/@comis/daemon/dist/api/shared/persist-mcp-servers.d.ts +73 -0
- package/node_modules/@comis/daemon/dist/api/shared/persist-mcp-servers.js +140 -0
- package/node_modules/@comis/daemon/dist/api/shared/persist-to-config.d.ts +32 -0
- package/node_modules/@comis/daemon/dist/api/shared/persist-to-config.js +207 -16
- package/node_modules/@comis/daemon/dist/api/skill-handlers.js +187 -52
- package/node_modules/@comis/daemon/dist/api/ssrf-image-fetch.d.ts +21 -0
- package/node_modules/@comis/daemon/dist/api/ssrf-image-fetch.js +133 -0
- package/node_modules/@comis/daemon/dist/api/subagent-handlers.d.ts +5 -2
- package/node_modules/@comis/daemon/dist/api/subagent-handlers.js +58 -2
- package/node_modules/@comis/daemon/dist/api/token-handlers.js +120 -14
- package/node_modules/@comis/daemon/dist/api/types.d.ts +359 -57
- package/node_modules/@comis/daemon/dist/api/veo-adapter.d.ts +19 -0
- package/node_modules/@comis/daemon/dist/api/veo-adapter.js +373 -0
- package/node_modules/@comis/daemon/dist/api/video-cost-limiter.d.ts +39 -0
- package/node_modules/@comis/daemon/dist/api/video-cost-limiter.js +94 -0
- package/node_modules/@comis/daemon/dist/api/video-handler-deps.d.ts +105 -0
- package/node_modules/@comis/daemon/dist/api/video-handler-deps.js +1 -0
- package/node_modules/@comis/daemon/dist/api/video-handlers.d.ts +57 -0
- package/node_modules/@comis/daemon/dist/api/video-handlers.js +453 -0
- package/node_modules/@comis/daemon/dist/api/video-obs-emit.d.ts +99 -0
- package/node_modules/@comis/daemon/dist/api/video-obs-emit.js +85 -0
- package/node_modules/@comis/daemon/dist/api/video-status-handlers.d.ts +48 -0
- package/node_modules/@comis/daemon/dist/api/video-status-handlers.js +77 -0
- package/node_modules/@comis/daemon/dist/api/vision-obs-emit.d.ts +129 -0
- package/node_modules/@comis/daemon/dist/api/vision-obs-emit.js +92 -0
- package/node_modules/@comis/daemon/dist/api/voice-handler-wiring.d.ts +55 -0
- package/node_modules/@comis/daemon/dist/api/voice-handler-wiring.js +127 -0
- package/node_modules/@comis/daemon/dist/api/voice-obs-emit.d.ts +161 -0
- package/node_modules/@comis/daemon/dist/api/voice-obs-emit.js +263 -0
- package/node_modules/@comis/daemon/dist/api/workspace-handlers.js +5 -1
- package/node_modules/@comis/daemon/dist/autonomy/bounded-autonomy.d.ts +151 -0
- package/node_modules/@comis/daemon/dist/autonomy/bounded-autonomy.js +185 -0
- package/node_modules/@comis/daemon/dist/autonomy/call-rate-limiter.d.ts +60 -0
- package/node_modules/@comis/daemon/dist/autonomy/call-rate-limiter.js +124 -0
- package/node_modules/@comis/daemon/dist/autonomy/denial-breaker.d.ts +70 -0
- package/node_modules/@comis/daemon/dist/autonomy/denial-breaker.js +52 -0
- package/node_modules/@comis/daemon/dist/autonomy/durable-resume-engine.d.ts +160 -0
- package/node_modules/@comis/daemon/dist/autonomy/durable-resume-engine.js +346 -0
- package/node_modules/@comis/daemon/dist/autonomy/durable-watchdog.d.ts +54 -0
- package/node_modules/@comis/daemon/dist/autonomy/durable-watchdog.js +56 -0
- package/node_modules/@comis/daemon/dist/autonomy/evict-registry.d.ts +63 -0
- package/node_modules/@comis/daemon/dist/autonomy/evict-registry.js +30 -0
- package/node_modules/@comis/daemon/dist/autonomy/outward-quota.d.ts +68 -0
- package/node_modules/@comis/daemon/dist/autonomy/outward-quota.js +94 -0
- package/node_modules/@comis/daemon/dist/autonomy/per-root-budget.d.ts +117 -0
- package/node_modules/@comis/daemon/dist/autonomy/per-root-budget.js +115 -0
- package/node_modules/@comis/daemon/dist/autonomy/root-run-semaphore.d.ts +75 -0
- package/node_modules/@comis/daemon/dist/autonomy/root-run-semaphore.js +78 -0
- package/node_modules/@comis/daemon/dist/config/audit-hook.d.ts +137 -0
- package/node_modules/@comis/daemon/dist/config/audit-hook.js +353 -0
- package/node_modules/@comis/daemon/dist/config/bootstrap-observe.d.ts +99 -0
- package/node_modules/@comis/daemon/dist/config/bootstrap-observe.js +87 -0
- package/node_modules/@comis/daemon/dist/config/last-known-good.d.ts +40 -3
- package/node_modules/@comis/daemon/dist/config/last-known-good.js +92 -17
- package/node_modules/@comis/daemon/dist/config/read-config-file-observation.d.ts +53 -0
- package/node_modules/@comis/daemon/dist/config/read-config-file-observation.js +68 -0
- package/node_modules/@comis/daemon/dist/daemon-types.d.ts +445 -237
- package/node_modules/@comis/daemon/dist/daemon-types.js +37 -7
- package/node_modules/@comis/daemon/dist/daemon.d.ts +19 -31
- package/node_modules/@comis/daemon/dist/daemon.js +1796 -381
- package/node_modules/@comis/daemon/dist/graph/graph-capability-defaults.d.ts +45 -0
- package/node_modules/@comis/daemon/dist/graph/graph-capability-defaults.js +48 -0
- package/node_modules/@comis/daemon/dist/graph/graph-completion.d.ts +24 -0
- package/node_modules/@comis/daemon/dist/graph/graph-completion.js +86 -3
- package/node_modules/@comis/daemon/dist/graph/graph-concurrency.d.ts +13 -8
- package/node_modules/@comis/daemon/dist/graph/graph-concurrency.js +28 -18
- package/node_modules/@comis/daemon/dist/graph/graph-coordinator-state.d.ts +60 -1
- package/node_modules/@comis/daemon/dist/graph/graph-coordinator.d.ts +14 -1
- package/node_modules/@comis/daemon/dist/graph/graph-coordinator.js +246 -24
- package/node_modules/@comis/daemon/dist/graph/graph-driver-handler.js +11 -7
- package/node_modules/@comis/daemon/dist/graph/graph-durable-checkpoint.d.ts +88 -0
- package/node_modules/@comis/daemon/dist/graph/graph-durable-checkpoint.js +92 -0
- package/node_modules/@comis/daemon/dist/graph/graph-node-budget.d.ts +88 -0
- package/node_modules/@comis/daemon/dist/graph/graph-node-budget.js +159 -0
- package/node_modules/@comis/daemon/dist/graph/graph-node-lifecycle.d.ts +2 -2
- package/node_modules/@comis/daemon/dist/graph/graph-node-lifecycle.js +58 -21
- package/node_modules/@comis/daemon/dist/graph/graph-state-machine.d.ts +7 -2
- package/node_modules/@comis/daemon/dist/graph/graph-state-machine.js +5 -3
- package/node_modules/@comis/daemon/dist/graph/graph-timeout-floor.d.ts +49 -0
- package/node_modules/@comis/daemon/dist/graph/graph-timeout-floor.js +83 -0
- package/node_modules/@comis/daemon/dist/graph/template-interpolation.d.ts +2 -0
- package/node_modules/@comis/daemon/dist/graph/template-interpolation.js +19 -3
- package/node_modules/@comis/daemon/dist/index.d.ts +25 -2
- package/node_modules/@comis/daemon/dist/index.js +130 -5
- package/node_modules/@comis/daemon/dist/monitoring/disk-space-source.js +1 -1
- package/node_modules/@comis/daemon/dist/monitoring/git-watcher-source.js +1 -1
- package/node_modules/@comis/daemon/dist/monitoring/security-update-source.js +1 -1
- package/node_modules/@comis/daemon/dist/monitoring/system-resources-source.js +1 -1
- package/node_modules/@comis/daemon/dist/monitoring/systemd-service-source.js +1 -1
- package/node_modules/@comis/daemon/dist/notification/notification-service.js +10 -4
- package/node_modules/@comis/daemon/dist/notification/rate-limiter.d.ts +7 -1
- package/node_modules/@comis/daemon/dist/notification/rate-limiter.js +2 -1
- package/node_modules/@comis/daemon/dist/observability/build-config-posture-record.d.ts +143 -0
- package/node_modules/@comis/daemon/dist/observability/build-config-posture-record.js +91 -0
- package/node_modules/@comis/daemon/dist/observability/delivery-queue-logger.d.ts +7 -3
- package/node_modules/@comis/daemon/dist/observability/delivery-queue-logger.js +23 -3
- package/node_modules/@comis/daemon/dist/observability/index.d.ts +0 -2
- package/node_modules/@comis/daemon/dist/observability/index.js +1 -3
- package/node_modules/@comis/daemon/dist/observability/log-infra.d.ts +9 -1
- package/node_modules/@comis/daemon/dist/observability/log-infra.js +46 -13
- package/node_modules/@comis/daemon/dist/observability/obs-audit-sink.d.ts +119 -0
- package/node_modules/@comis/daemon/dist/observability/obs-audit-sink.js +430 -0
- package/node_modules/@comis/daemon/dist/observability/obs-autonomy-rows.d.ts +77 -0
- package/node_modules/@comis/daemon/dist/observability/obs-autonomy-rows.js +151 -0
- package/node_modules/@comis/daemon/dist/observability/obs-orchestration-rows.d.ts +48 -0
- package/node_modules/@comis/daemon/dist/observability/obs-orchestration-rows.js +90 -0
- package/node_modules/@comis/daemon/dist/observability/obs-persistence-wiring.d.ts +178 -6
- package/node_modules/@comis/daemon/dist/observability/obs-persistence-wiring.js +521 -10
- package/node_modules/@comis/daemon/dist/observability/recall-counters-wiring.d.ts +42 -0
- package/node_modules/@comis/daemon/dist/observability/recall-counters-wiring.js +55 -0
- package/node_modules/@comis/daemon/dist/observability/record-model-health.d.ts +58 -0
- package/node_modules/@comis/daemon/dist/observability/record-model-health.js +25 -0
- package/node_modules/@comis/daemon/dist/observability/token-tracker.js +8 -0
- package/node_modules/@comis/daemon/dist/process/index.d.ts +0 -1
- package/node_modules/@comis/daemon/dist/process/index.js +0 -1
- package/node_modules/@comis/daemon/dist/setup-docker-restart-warn.js +4 -3
- package/node_modules/@comis/daemon/dist/skills/bundle-install-helper.d.ts +104 -0
- package/node_modules/@comis/daemon/dist/skills/bundle-install-helper.js +321 -0
- package/node_modules/@comis/daemon/dist/skills/bundle-install-state.d.ts +106 -0
- package/node_modules/@comis/daemon/dist/skills/bundle-install-state.js +206 -0
- package/node_modules/@comis/daemon/dist/skills/bundle-mcp-resolver.d.ts +116 -0
- package/node_modules/@comis/daemon/dist/skills/bundle-mcp-resolver.js +258 -0
- package/node_modules/@comis/daemon/dist/skills/bundle-types.d.ts +89 -0
- package/node_modules/@comis/daemon/dist/skills/bundle-types.js +11 -0
- package/node_modules/@comis/daemon/dist/wiring/broker-placeholder-builder.d.ts +25 -0
- package/node_modules/@comis/daemon/dist/wiring/broker-placeholder-builder.js +38 -0
- package/node_modules/@comis/daemon/dist/wiring/conversation-reset.d.ts +88 -0
- package/node_modules/@comis/daemon/dist/wiring/conversation-reset.js +140 -0
- package/node_modules/@comis/daemon/dist/wiring/daemon-context.d.ts +3 -11
- package/node_modules/@comis/daemon/dist/wiring/daemon-utils.js +8 -1
- package/node_modules/@comis/daemon/dist/wiring/data-dir-lock.d.ts +21 -0
- package/node_modules/@comis/daemon/dist/wiring/data-dir-lock.js +136 -0
- package/node_modules/@comis/daemon/dist/wiring/emit-autonomy-boot-log.d.ts +40 -0
- package/node_modules/@comis/daemon/dist/wiring/emit-autonomy-boot-log.js +48 -0
- package/node_modules/@comis/daemon/dist/wiring/emit-startup-banner.d.ts +28 -0
- package/node_modules/@comis/daemon/dist/wiring/emit-startup-banner.js +55 -0
- package/node_modules/@comis/daemon/dist/wiring/harden-data-dir.d.ts +26 -0
- package/node_modules/@comis/daemon/dist/wiring/harden-data-dir.js +59 -0
- package/node_modules/@comis/daemon/dist/wiring/inbound-message-id-resolver.js +3 -2
- package/node_modules/@comis/daemon/dist/wiring/index.d.ts +15 -4
- package/node_modules/@comis/daemon/dist/wiring/index.js +20 -4
- package/node_modules/@comis/daemon/dist/wiring/main-helpers.d.ts +303 -0
- package/node_modules/@comis/daemon/dist/wiring/main-helpers.js +596 -0
- package/node_modules/@comis/daemon/dist/wiring/mcp-token-port-adapter.d.ts +54 -0
- package/node_modules/@comis/daemon/dist/wiring/mcp-token-port-adapter.js +190 -0
- package/node_modules/@comis/daemon/dist/wiring/mcp-token-store-encrypted.d.ts +28 -0
- package/node_modules/@comis/daemon/dist/wiring/mcp-token-store-encrypted.js +195 -0
- package/node_modules/@comis/daemon/dist/wiring/oauth-preflight.js +5 -5
- package/node_modules/@comis/daemon/dist/wiring/obs-mcp-closures.d.ts +39 -0
- package/node_modules/@comis/daemon/dist/wiring/obs-mcp-closures.js +14 -0
- package/node_modules/@comis/daemon/dist/wiring/preflight-doctor.d.ts +97 -0
- package/node_modules/@comis/daemon/dist/wiring/preflight-doctor.js +110 -0
- package/node_modules/@comis/daemon/dist/wiring/provider-timeout-redirect.d.ts +45 -0
- package/node_modules/@comis/daemon/dist/wiring/provider-timeout-redirect.js +71 -0
- package/node_modules/@comis/daemon/dist/wiring/restart-continuation.d.ts +16 -2
- package/node_modules/@comis/daemon/dist/wiring/restart-continuation.js +21 -3
- package/node_modules/@comis/daemon/dist/wiring/seed-bundled-skills.d.ts +34 -0
- package/node_modules/@comis/daemon/dist/wiring/seed-bundled-skills.js +113 -0
- package/node_modules/@comis/daemon/dist/wiring/select-mcp-token-store.d.ts +71 -0
- package/node_modules/@comis/daemon/dist/wiring/select-mcp-token-store.js +91 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/index.d.ts +6 -3
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/index.js +8 -3
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/learned-skill-surface-registry.d.ts +72 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/learned-skill-surface-registry.js +70 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/learned-skill-surface.d.ts +125 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/learned-skill-surface.js +255 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/setup-acp-wiring.d.ts +61 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/setup-acp-wiring.js +46 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/setup-agents-boot-window.d.ts +33 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/setup-agents-boot-window.js +58 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/setup-agents-descriptions.d.ts +40 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/setup-agents-descriptions.js +66 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/setup-agents-oauth.d.ts +58 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/setup-agents-oauth.js +128 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/setup-agents-registry.d.ts +90 -19
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/setup-agents-registry.js +98 -41
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/setup-agents-runtime.d.ts +5 -2
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/setup-agents-runtime.js +238 -164
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/setup-agents-tooling.d.ts +42 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/setup-agents-tooling.js +44 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/setup-agents-types.d.ts +155 -6
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/skill-discovery-paths.d.ts +9 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents/skill-discovery-paths.js +50 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-audio-provider.d.ts +124 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-audio-provider.js +191 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-broker-activation.d.ts +116 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-broker-activation.js +84 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-broker.d.ts +68 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-broker.js +57 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-capability-endpoint-boot.d.ts +235 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-capability-endpoint-boot.js +324 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-capability-endpoint.d.ts +128 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-capability-endpoint.js +637 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/activity-kill-switch.d.ts +49 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/activity-kill-switch.js +36 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/index.d.ts +1 -1
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/index.js +1 -1
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/resolve-memory-ops-capability.d.ts +60 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/resolve-memory-ops-capability.js +61 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/review-session-source.d.ts +71 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/review-session-source.js +116 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-activity-renderers.d.ts +86 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-activity-renderers.js +107 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-credentials.d.ts +42 -5
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-credentials.js +42 -9
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-cron-credential.d.ts +66 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-cron-credential.js +79 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-memory-crons-types.d.ts +92 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-memory-crons-types.js +13 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-memory-crons-wire.d.ts +35 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-memory-crons-wire.js +337 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-memory-crons.d.ts +31 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-memory-crons.js +39 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-registry-builder.d.ts +27 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-registry-builder.js +61 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-registry.d.ts +148 -16
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-registry.js +38 -10
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-runtime.d.ts +43 -26
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-runtime.js +120 -103
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-skill-synthesis-deps.d.ts +65 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels/setup-channels-skill-synthesis-deps.js +266 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-channels-adapters.d.ts +2 -10
- package/node_modules/@comis/daemon/dist/wiring/setup-channels-adapters.js +1 -11
- package/node_modules/@comis/daemon/dist/wiring/setup-channels-media.d.ts +5 -1
- package/node_modules/@comis/daemon/dist/wiring/setup-channels-media.js +2 -1
- package/node_modules/@comis/daemon/dist/wiring/setup-context-tools.d.ts +120 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-context-tools.js +120 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-cross-session/index.d.ts +5 -2
- package/node_modules/@comis/daemon/dist/wiring/setup-cross-session/index.js +5 -2
- package/node_modules/@comis/daemon/dist/wiring/setup-cross-session/setup-cross-session-events.d.ts +9 -4
- package/node_modules/@comis/daemon/dist/wiring/setup-cross-session/setup-cross-session-events.js +17 -6
- package/node_modules/@comis/daemon/dist/wiring/setup-cross-session/setup-cross-session-graph.d.ts +21 -7
- package/node_modules/@comis/daemon/dist/wiring/setup-cross-session/setup-cross-session-graph.js +89 -34
- package/node_modules/@comis/daemon/dist/wiring/setup-cross-session/setup-cross-session-runtime.d.ts +68 -1
- package/node_modules/@comis/daemon/dist/wiring/setup-cross-session/setup-cross-session-runtime.js +121 -5
- package/node_modules/@comis/daemon/dist/wiring/setup-cross-session/worktree-spawn-run.d.ts +72 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-cross-session/worktree-spawn-run.js +125 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-delivery.d.ts +29 -1
- package/node_modules/@comis/daemon/dist/wiring/setup-delivery.js +54 -6
- package/node_modules/@comis/daemon/dist/wiring/setup-dialectic.d.ts +182 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-dialectic.js +256 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-durable-resume.d.ts +155 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-durable-resume.js +200 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway/non-secret-projections.d.ts +46 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway/non-secret-projections.js +45 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway/setup-gateway-admin.d.ts +42 -4
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway/setup-gateway-admin.js +54 -6
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway/setup-gateway-routes.d.ts +47 -2
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway/setup-gateway-routes.js +80 -1
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway/setup-gateway-rpc.d.ts +5 -1
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway/setup-gateway-rpc.js +56 -13
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway-api.d.ts +1 -1
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway-api.js +32 -3
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway-routes.d.ts +28 -1
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway-routes.js +151 -5
- package/node_modules/@comis/daemon/dist/wiring/setup-health.d.ts +4 -12
- package/node_modules/@comis/daemon/dist/wiring/setup-health.js +4 -29
- package/node_modules/@comis/daemon/dist/wiring/setup-image-provider.d.ts +86 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-image-provider.js +206 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-interactive-callback.d.ts +59 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-interactive-callback.js +192 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-learning-corroboration.d.ts +43 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-learning-corroboration.js +75 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-learning-dedup.d.ts +28 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-learning-dedup.js +39 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-learning-judge.d.ts +168 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-learning-judge.js +250 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-learning-reactions.d.ts +242 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-learning-reactions.js +541 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-learning-skill-transitions.d.ts +62 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-learning-skill-transitions.js +161 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-learning-skill-trend.d.ts +79 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-learning-skill-trend.js +170 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-learning.d.ts +182 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-learning.js +545 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-logging.d.ts +2 -2
- package/node_modules/@comis/daemon/dist/wiring/setup-logging.js +51 -8
- package/node_modules/@comis/daemon/dist/wiring/setup-mcp.d.ts +24 -1
- package/node_modules/@comis/daemon/dist/wiring/setup-mcp.js +58 -2
- package/node_modules/@comis/daemon/dist/wiring/setup-media.d.ts +70 -2
- package/node_modules/@comis/daemon/dist/wiring/setup-media.js +304 -38
- package/node_modules/@comis/daemon/dist/wiring/setup-memory-cost-notice.d.ts +59 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-memory-cost-notice.js +79 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-memory-usefulness-wiring.d.ts +49 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-memory-usefulness-wiring.js +92 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-memory.d.ts +112 -7
- package/node_modules/@comis/daemon/dist/wiring/setup-memory.js +281 -13
- package/node_modules/@comis/daemon/dist/wiring/setup-observability.d.ts +100 -15
- package/node_modules/@comis/daemon/dist/wiring/setup-observability.js +163 -13
- package/node_modules/@comis/daemon/dist/wiring/setup-output-retention.d.ts +0 -33
- package/node_modules/@comis/daemon/dist/wiring/setup-output-retention.js +1 -48
- package/node_modules/@comis/daemon/dist/wiring/setup-schedulers.d.ts +51 -28
- package/node_modules/@comis/daemon/dist/wiring/setup-schedulers.js +251 -77
- package/node_modules/@comis/daemon/dist/wiring/setup-secret-manager.d.ts +25 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-secret-manager.js +26 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-shutdown.d.ts +64 -10
- package/node_modules/@comis/daemon/dist/wiring/setup-shutdown.js +493 -269
- package/node_modules/@comis/daemon/dist/wiring/setup-skill-bundles.d.ts +118 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-skill-bundles.js +336 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-spend-rehydration.d.ts +30 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-spend-rehydration.js +23 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-startup-invariants.d.ts +102 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-startup-invariants.js +94 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-storage-mismatch-warn.d.ts +41 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-storage-mismatch-warn.js +237 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-terminal-tools.d.ts +306 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-terminal-tools.js +505 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-terminal-wake.d.ts +158 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-terminal-wake.js +610 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-tool-audit.d.ts +20 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-tool-audit.js +46 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-tool-invoke-executor.d.ts +122 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-tool-invoke-executor.js +189 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-tools-autonomy.d.ts +93 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-tools-autonomy.js +88 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-tools-capabilities.d.ts +48 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-tools-capabilities.js +114 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-tools-coordinator.d.ts +42 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-tools-coordinator.js +43 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-tools.d.ts +73 -29
- package/node_modules/@comis/daemon/dist/wiring/setup-tools.js +167 -157
- package/node_modules/@comis/daemon/dist/wiring/setup-video-poller-timer.d.ts +15 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-video-poller-timer.js +38 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-video-poller.d.ts +148 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-video-poller.js +590 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-video-provider.d.ts +69 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-video-provider.js +159 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-worktree-sweep.d.ts +119 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-worktree-sweep.js +158 -0
- package/node_modules/@comis/daemon/dist/wiring/shutdown-step-timeout.d.ts +17 -0
- package/node_modules/@comis/daemon/dist/wiring/shutdown-step-timeout.js +43 -0
- package/node_modules/@comis/daemon/dist/wiring/terminal-drive-journal-persistence.d.ts +75 -0
- package/node_modules/@comis/daemon/dist/wiring/terminal-drive-journal-persistence.js +214 -0
- package/node_modules/@comis/daemon/dist/wiring/terminal-drive-scope.d.ts +96 -0
- package/node_modules/@comis/daemon/dist/wiring/terminal-drive-scope.js +109 -0
- package/node_modules/@comis/daemon/dist/wiring/terminal-durable-wiring.d.ts +236 -0
- package/node_modules/@comis/daemon/dist/wiring/terminal-durable-wiring.js +404 -0
- package/node_modules/@comis/daemon/dist/wiring/terminal-session-descriptor-persistence.d.ts +49 -0
- package/node_modules/@comis/daemon/dist/wiring/terminal-session-descriptor-persistence.js +200 -0
- package/node_modules/@comis/daemon/dist/wiring/terminal-wake-dispatch.d.ts +82 -0
- package/node_modules/@comis/daemon/dist/wiring/terminal-wake-dispatch.js +258 -0
- package/node_modules/@comis/daemon/dist/wiring/terminal-wake-notify.d.ts +195 -0
- package/node_modules/@comis/daemon/dist/wiring/terminal-wake-notify.js +233 -0
- package/node_modules/@comis/daemon/dist/wiring/terminal-wake-persistence.d.ts +51 -0
- package/node_modules/@comis/daemon/dist/wiring/terminal-wake-persistence.js +164 -0
- package/node_modules/@comis/daemon/dist/wiring/terminal-wake-turn.d.ts +150 -0
- package/node_modules/@comis/daemon/dist/wiring/terminal-wake-turn.js +313 -0
- package/node_modules/@comis/daemon/dist/wiring/terminal-wake-types.d.ts +22 -0
- package/node_modules/@comis/daemon/dist/wiring/terminal-wake-types.js +1 -0
- package/node_modules/@comis/daemon/dist/wiring/tool-results-dir.d.ts +25 -0
- package/node_modules/@comis/daemon/dist/wiring/tool-results-dir.js +31 -0
- package/node_modules/@comis/daemon/dist/wiring/video-delivery-limits.d.ts +109 -0
- package/node_modules/@comis/daemon/dist/wiring/video-delivery-limits.js +205 -0
- package/node_modules/@comis/daemon/dist/wiring/video-log-redaction.d.ts +25 -0
- package/node_modules/@comis/daemon/dist/wiring/video-log-redaction.js +109 -0
- package/node_modules/@comis/daemon/package.json +2 -5
- package/node_modules/@comis/gateway/dist/acp/acp-activity-bridge.d.ts +64 -0
- package/node_modules/@comis/gateway/dist/acp/acp-activity-bridge.js +115 -0
- package/node_modules/@comis/gateway/dist/acp/acp-approval-bridge.d.ts +65 -0
- package/node_modules/@comis/gateway/dist/acp/acp-approval-bridge.js +125 -0
- package/node_modules/@comis/gateway/dist/acp/acp-bounded-queue.d.ts +51 -0
- package/node_modules/@comis/gateway/dist/acp/acp-bounded-queue.js +66 -0
- package/node_modules/@comis/gateway/dist/acp/acp-plan-bridge.d.ts +73 -0
- package/node_modules/@comis/gateway/dist/acp/acp-plan-bridge.js +116 -0
- package/node_modules/@comis/gateway/dist/acp/acp-server.d.ts +78 -8
- package/node_modules/@comis/gateway/dist/acp/acp-server.js +113 -5
- package/node_modules/@comis/gateway/dist/acp/index.d.ts +9 -1
- package/node_modules/@comis/gateway/dist/acp/index.js +7 -0
- package/node_modules/@comis/gateway/dist/auth/token-auth.d.ts +25 -0
- package/node_modules/@comis/gateway/dist/auth/token-auth.js +4 -1
- package/node_modules/@comis/gateway/dist/index.d.ts +9 -2
- package/node_modules/@comis/gateway/dist/index.js +14 -1
- package/node_modules/@comis/gateway/dist/mcp-server-endpoint.d.ts +86 -0
- package/node_modules/@comis/gateway/dist/mcp-server-endpoint.js +211 -0
- package/node_modules/@comis/gateway/dist/oauth/oauth-callback-route.d.ts +1 -1
- package/node_modules/@comis/gateway/dist/oauth/oauth-callback-route.js +2 -2
- package/node_modules/@comis/gateway/dist/openai/openai-completions.d.ts +22 -1
- package/node_modules/@comis/gateway/dist/openai/openai-completions.js +67 -8
- package/node_modules/@comis/gateway/dist/openai/openai-models.js +15 -3
- package/node_modules/@comis/gateway/dist/openai/openai-types.d.ts +53 -3
- package/node_modules/@comis/gateway/dist/openai/openai-types.js +41 -2
- package/node_modules/@comis/gateway/dist/rate-limit/rate-limiter.d.ts +3 -5
- package/node_modules/@comis/gateway/dist/rate-limit/rate-limiter.js +4 -10
- package/node_modules/@comis/gateway/dist/rpc/method-router.d.ts +4 -22
- package/node_modules/@comis/gateway/dist/rpc/method-router.js +17 -75
- package/node_modules/@comis/gateway/dist/rpc/rpc-adapters.d.ts +28 -1
- package/node_modules/@comis/gateway/dist/rpc/rpc-adapters.js +12 -5
- package/node_modules/@comis/gateway/dist/rpc/ws-handler.d.ts +6 -0
- package/node_modules/@comis/gateway/dist/rpc/ws-handler.js +9 -2
- package/node_modules/@comis/gateway/dist/server/gateway-logger.d.ts +2 -0
- package/node_modules/@comis/gateway/dist/server/hono-server.d.ts +8 -28
- package/node_modules/@comis/gateway/dist/server/hono-server.js +43 -23
- package/node_modules/@comis/gateway/dist/web/approval-token-route.d.ts +98 -0
- package/node_modules/@comis/gateway/dist/web/approval-token-route.js +143 -0
- package/node_modules/@comis/gateway/dist/web/index.d.ts +2 -0
- package/node_modules/@comis/gateway/dist/web/index.js +1 -0
- package/node_modules/@comis/gateway/dist/web/media-routes.js +9 -3
- package/node_modules/@comis/gateway/dist/web/rest-api.js +25 -26
- package/node_modules/@comis/gateway/dist/web/sse-endpoint.js +8 -3
- package/node_modules/@comis/gateway/dist/webhook/webhook-endpoint.d.ts +4 -57
- package/node_modules/@comis/gateway/dist/webhook/webhook-endpoint.js +8 -85
- package/node_modules/@comis/gateway/package.json +2 -2
- package/node_modules/@comis/infra/dist/credential-broker/broker-events.d.ts +78 -0
- package/node_modules/@comis/infra/dist/credential-broker/broker-events.js +68 -0
- package/node_modules/@comis/infra/dist/credential-broker/ca-manager.d.ts +17 -0
- package/node_modules/@comis/infra/dist/credential-broker/ca-manager.js +174 -0
- package/node_modules/@comis/infra/dist/credential-broker/finalizer-stage.d.ts +89 -0
- package/node_modules/@comis/infra/dist/credential-broker/finalizer-stage.js +151 -0
- package/node_modules/@comis/infra/dist/credential-broker/index.d.ts +8 -0
- package/node_modules/@comis/infra/dist/credential-broker/index.js +6 -0
- package/node_modules/@comis/infra/dist/credential-broker/lease-manager.d.ts +85 -0
- package/node_modules/@comis/infra/dist/credential-broker/lease-manager.js +235 -0
- package/node_modules/@comis/infra/dist/credential-broker/mitm-broker.d.ts +26 -0
- package/node_modules/@comis/infra/dist/credential-broker/mitm-broker.js +648 -0
- package/node_modules/@comis/infra/dist/credential-broker/session-manager.d.ts +19 -0
- package/node_modules/@comis/infra/dist/credential-broker/session-manager.js +71 -0
- package/node_modules/@comis/infra/dist/index.d.ts +2 -1
- package/node_modules/@comis/infra/dist/index.js +9 -2
- package/node_modules/@comis/infra/dist/logging/logger.d.ts +26 -0
- package/node_modules/@comis/infra/dist/logging/logger.js +117 -84
- package/node_modules/@comis/infra/dist/logging/pipeline-redact-stage.d.ts +20 -0
- package/node_modules/@comis/infra/dist/logging/pipeline-redact-stage.js +32 -0
- package/node_modules/@comis/infra/dist/logging/redact-transport.d.ts +33 -0
- package/node_modules/@comis/infra/dist/logging/redact-transport.js +34 -0
- package/node_modules/@comis/infra/dist/runtime/env.js +0 -6
- package/node_modules/@comis/infra/package.json +12 -2
- package/node_modules/@comis/memory/dist/delivery-queue-adapter.js +30 -31
- package/node_modules/@comis/memory/dist/durable-run-row-schema.d.ts +49 -0
- package/node_modules/@comis/memory/dist/durable-run-row-schema.js +57 -0
- package/node_modules/@comis/memory/dist/durable-run-store.d.ts +52 -0
- package/node_modules/@comis/memory/dist/durable-run-store.js +306 -0
- package/node_modules/@comis/memory/dist/embedding-batch-indexer.d.ts +6 -2
- package/node_modules/@comis/memory/dist/embedding-batch-indexer.js +7 -3
- package/node_modules/@comis/memory/dist/entity-resolver.d.ts +65 -0
- package/node_modules/@comis/memory/dist/entity-resolver.js +89 -0
- package/node_modules/@comis/memory/dist/file-secret-store.d.ts +27 -0
- package/node_modules/@comis/memory/dist/file-secret-store.js +224 -0
- package/node_modules/@comis/memory/dist/hybrid-search.d.ts +38 -0
- package/node_modules/@comis/memory/dist/hybrid-search.js +128 -36
- package/node_modules/@comis/memory/dist/index.d.ts +49 -4
- package/node_modules/@comis/memory/dist/index.js +162 -5
- package/node_modules/@comis/memory/dist/lcd-browse-store.d.ts +25 -0
- package/node_modules/@comis/memory/dist/lcd-browse-store.js +98 -0
- package/node_modules/@comis/memory/dist/lcd-fts.d.ts +105 -0
- package/node_modules/@comis/memory/dist/lcd-fts.js +646 -0
- package/node_modules/@comis/memory/dist/lcd-ingest-serializer.d.ts +59 -0
- package/node_modules/@comis/memory/dist/lcd-ingest-serializer.js +68 -0
- package/node_modules/@comis/memory/dist/lcd-store-fts-populate.d.ts +61 -0
- package/node_modules/@comis/memory/dist/lcd-store-fts-populate.js +172 -0
- package/node_modules/@comis/memory/dist/lcd-store-mappers.d.ts +111 -0
- package/node_modules/@comis/memory/dist/lcd-store-mappers.js +123 -0
- package/node_modules/@comis/memory/dist/lcd-store-provenance-read.d.ts +35 -0
- package/node_modules/@comis/memory/dist/lcd-store-provenance-read.js +76 -0
- package/node_modules/@comis/memory/dist/lcd-store-provenance.d.ts +43 -0
- package/node_modules/@comis/memory/dist/lcd-store-provenance.js +60 -0
- package/node_modules/@comis/memory/dist/lcd-store-reads.d.ts +48 -0
- package/node_modules/@comis/memory/dist/lcd-store-reads.js +145 -0
- package/node_modules/@comis/memory/dist/lcd-store-writes.d.ts +123 -0
- package/node_modules/@comis/memory/dist/lcd-store-writes.js +250 -0
- package/node_modules/@comis/memory/dist/lcd-store.d.ts +50 -0
- package/node_modules/@comis/memory/dist/lcd-store.js +596 -0
- package/node_modules/@comis/memory/dist/memory-api.d.ts +19 -8
- package/node_modules/@comis/memory/dist/memory-api.js +71 -52
- package/node_modules/@comis/memory/dist/mental-model-row-schema.d.ts +60 -0
- package/node_modules/@comis/memory/dist/mental-model-row-schema.js +74 -0
- package/node_modules/@comis/memory/dist/observability-store/audit-mutations.d.ts +92 -0
- package/node_modules/@comis/memory/dist/observability-store/audit-mutations.js +168 -0
- package/node_modules/@comis/memory/dist/observability-store/cache-break-queries.d.ts +25 -0
- package/node_modules/@comis/memory/dist/observability-store/cache-break-queries.js +64 -0
- package/node_modules/@comis/memory/dist/observability-store/cache-break-types.d.ts +43 -0
- package/node_modules/@comis/memory/dist/observability-store/cache-break-types.js +13 -0
- package/node_modules/@comis/memory/dist/observability-store/cache-stats-queries.d.ts +106 -0
- package/node_modules/@comis/memory/dist/observability-store/cache-stats-queries.js +205 -0
- package/node_modules/@comis/memory/dist/observability-store/cache-stats-types.d.ts +72 -0
- package/node_modules/@comis/memory/dist/observability-store/cache-stats-types.js +20 -0
- package/node_modules/@comis/memory/dist/observability-store/fleet-window-rollup.d.ts +84 -0
- package/node_modules/@comis/memory/dist/observability-store/fleet-window-rollup.js +108 -0
- package/node_modules/@comis/memory/dist/observability-store/index.d.ts +6 -1
- package/node_modules/@comis/memory/dist/observability-store/index.js +25 -0
- package/node_modules/@comis/memory/dist/observability-store/observability-aggregates.d.ts +40 -0
- package/node_modules/@comis/memory/dist/observability-store/observability-aggregates.js +248 -0
- package/node_modules/@comis/memory/dist/observability-store/observability-mutations.d.ts +27 -2
- package/node_modules/@comis/memory/dist/observability-store/observability-mutations.js +84 -4
- package/node_modules/@comis/memory/dist/observability-store/observability-queries.d.ts +1 -1
- package/node_modules/@comis/memory/dist/observability-store/observability-queries.js +170 -30
- package/node_modules/@comis/memory/dist/observability-store/observability-row-shapes.d.ts +100 -0
- package/node_modules/@comis/memory/dist/observability-store/observability-row-shapes.js +133 -0
- package/node_modules/@comis/memory/dist/observability-store/observability-store-types.d.ts +254 -81
- package/node_modules/@comis/memory/dist/observability-store/observability-store-types.js +44 -85
- package/node_modules/@comis/memory/dist/observability-store/pricing-coverage-types.d.ts +35 -0
- package/node_modules/@comis/memory/dist/observability-store/pricing-coverage-types.js +14 -0
- package/node_modules/@comis/memory/dist/observability-store/spend-queries.d.ts +27 -0
- package/node_modules/@comis/memory/dist/observability-store/spend-queries.js +58 -0
- package/node_modules/@comis/memory/dist/offline-oauth-write.d.ts +35 -0
- package/node_modules/@comis/memory/dist/offline-oauth-write.js +62 -0
- package/node_modules/@comis/memory/dist/offline-secrets-write.d.ts +60 -0
- package/node_modules/@comis/memory/dist/offline-secrets-write.js +114 -0
- package/node_modules/@comis/memory/dist/outcome-event-row-schema.d.ts +41 -0
- package/node_modules/@comis/memory/dist/outcome-event-row-schema.js +48 -0
- package/node_modules/@comis/memory/dist/outward-ledger-row-schema.d.ts +49 -0
- package/node_modules/@comis/memory/dist/outward-ledger-row-schema.js +56 -0
- package/node_modules/@comis/memory/dist/outward-send-ledger-store.d.ts +50 -0
- package/node_modules/@comis/memory/dist/outward-send-ledger-store.js +216 -0
- package/node_modules/@comis/memory/dist/reranker-model-present.d.ts +12 -0
- package/node_modules/@comis/memory/dist/reranker-model-present.js +22 -0
- package/node_modules/@comis/memory/dist/reranker-provider-local.d.ts +50 -0
- package/node_modules/@comis/memory/dist/reranker-provider-local.js +89 -0
- package/node_modules/@comis/memory/dist/row-mapper.d.ts +9 -14
- package/node_modules/@comis/memory/dist/row-mapper.js +95 -23
- package/node_modules/@comis/memory/dist/row-schemas.d.ts +326 -231
- package/node_modules/@comis/memory/dist/row-schemas.js +379 -222
- package/node_modules/@comis/memory/dist/schema-durable-runs.d.ts +48 -0
- package/node_modules/@comis/memory/dist/schema-durable-runs.js +68 -0
- package/node_modules/@comis/memory/dist/schema-lcd.d.ts +64 -0
- package/node_modules/@comis/memory/dist/schema-lcd.js +320 -0
- package/node_modules/@comis/memory/dist/schema-mental-models.d.ts +78 -0
- package/node_modules/@comis/memory/dist/schema-mental-models.js +258 -0
- package/node_modules/@comis/memory/dist/schema-obs-token.d.ts +53 -0
- package/node_modules/@comis/memory/dist/schema-obs-token.js +142 -0
- package/node_modules/@comis/memory/dist/schema-outcome-events.d.ts +44 -0
- package/node_modules/@comis/memory/dist/schema-outcome-events.js +63 -0
- package/node_modules/@comis/memory/dist/schema-outward-ledger.d.ts +48 -0
- package/node_modules/@comis/memory/dist/schema-outward-ledger.js +74 -0
- package/node_modules/@comis/memory/dist/schema-pinned.d.ts +16 -0
- package/node_modules/@comis/memory/dist/schema-pinned.js +35 -0
- package/node_modules/@comis/memory/dist/schema-trigram.d.ts +60 -0
- package/node_modules/@comis/memory/dist/schema-trigram.js +153 -0
- package/node_modules/@comis/memory/dist/schema-usefulness.d.ts +42 -0
- package/node_modules/@comis/memory/dist/schema-usefulness.js +47 -0
- package/node_modules/@comis/memory/dist/schema-video-jobs.d.ts +39 -0
- package/node_modules/@comis/memory/dist/schema-video-jobs.js +81 -0
- package/node_modules/@comis/memory/dist/schema.d.ts +154 -0
- package/node_modules/@comis/memory/dist/schema.js +392 -64
- package/node_modules/@comis/memory/dist/secret-store-schema.js +20 -14
- package/node_modules/@comis/memory/dist/select-secret-store.d.ts +53 -0
- package/node_modules/@comis/memory/dist/select-secret-store.js +113 -0
- package/node_modules/@comis/memory/dist/setup-secrets.d.ts +8 -2
- package/node_modules/@comis/memory/dist/setup-secrets.js +8 -5
- 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.d.ts +122 -13
- package/node_modules/@comis/memory/dist/sqlite-memory-adapter.js +459 -151
- package/node_modules/@comis/memory/dist/sqlite-memory-causal-store.d.ts +58 -0
- package/node_modules/@comis/memory/dist/sqlite-memory-causal-store.js +211 -0
- package/node_modules/@comis/memory/dist/sqlite-memory-consolidation-store.d.ts +61 -0
- package/node_modules/@comis/memory/dist/sqlite-memory-consolidation-store.js +237 -0
- package/node_modules/@comis/memory/dist/sqlite-memory-embedding-store.d.ts +71 -0
- package/node_modules/@comis/memory/dist/sqlite-memory-embedding-store.js +163 -0
- package/node_modules/@comis/memory/dist/sqlite-memory-entity-store.d.ts +54 -0
- package/node_modules/@comis/memory/dist/sqlite-memory-entity-store.js +284 -0
- package/node_modules/@comis/memory/dist/sqlite-memory-lifecycle-store.d.ts +139 -0
- package/node_modules/@comis/memory/dist/sqlite-memory-lifecycle-store.js +307 -0
- package/node_modules/@comis/memory/dist/sqlite-memory-temporal-store.d.ts +55 -0
- package/node_modules/@comis/memory/dist/sqlite-memory-temporal-store.js +155 -0
- package/node_modules/@comis/memory/dist/sqlite-memory-usefulness-store.d.ts +63 -0
- package/node_modules/@comis/memory/dist/sqlite-memory-usefulness-store.js +238 -0
- package/node_modules/@comis/memory/dist/sqlite-mental-model-store.d.ts +77 -0
- package/node_modules/@comis/memory/dist/sqlite-mental-model-store.js +535 -0
- package/node_modules/@comis/memory/dist/sqlite-outcome-store.d.ts +60 -0
- package/node_modules/@comis/memory/dist/sqlite-outcome-store.js +323 -0
- package/node_modules/@comis/memory/dist/sqlite-secret-store.js +1 -15
- package/node_modules/@comis/memory/dist/sqlite-triple-store.d.ts +84 -0
- package/node_modules/@comis/memory/dist/sqlite-triple-store.js +490 -0
- package/node_modules/@comis/memory/dist/types.d.ts +173 -0
- package/node_modules/@comis/memory/dist/types.js +0 -7
- package/node_modules/@comis/memory/dist/video-job-row-schema.d.ts +57 -0
- package/node_modules/@comis/memory/dist/video-job-row-schema.js +66 -0
- package/node_modules/@comis/memory/dist/video-job-store.d.ts +130 -0
- package/node_modules/@comis/memory/dist/video-job-store.js +202 -0
- package/node_modules/@comis/memory/package.json +2 -2
- package/node_modules/@comis/observability/dist/activity/activity-stream.d.ts +106 -0
- package/node_modules/@comis/observability/dist/activity/activity-stream.js +546 -0
- package/node_modules/@comis/observability/dist/activity/bounded-queue.d.ts +74 -0
- package/node_modules/@comis/observability/dist/activity/bounded-queue.js +67 -0
- package/node_modules/@comis/observability/dist/activity/index.d.ts +23 -0
- package/node_modules/@comis/observability/dist/activity/index.js +20 -0
- package/node_modules/@comis/observability/dist/activity/label-compressor.d.ts +51 -0
- package/node_modules/@comis/observability/dist/activity/label-compressor.js +122 -0
- package/node_modules/@comis/observability/dist/activity/label-resolver.d.ts +75 -0
- package/node_modules/@comis/observability/dist/activity/label-resolver.js +75 -0
- package/node_modules/@comis/observability/dist/activity/plan-stream.d.ts +67 -0
- package/node_modules/@comis/observability/dist/activity/plan-stream.js +76 -0
- package/node_modules/@comis/observability/dist/activity/shell-label-parser.d.ts +7 -0
- package/node_modules/@comis/observability/dist/activity/shell-label-parser.js +254 -0
- package/node_modules/@comis/observability/dist/cache-stats/aggregator.d.ts +17 -0
- package/node_modules/@comis/observability/dist/cache-stats/aggregator.js +115 -0
- package/node_modules/@comis/observability/dist/cache-stats/parse-since.d.ts +25 -0
- package/node_modules/@comis/observability/dist/cache-stats/parse-since.js +51 -0
- package/node_modules/@comis/observability/dist/cache-stats/rpc-handler-shape.d.ts +47 -0
- package/node_modules/@comis/observability/dist/cache-stats/rpc-handler-shape.js +36 -0
- package/node_modules/@comis/observability/dist/cache-stats/types.d.ts +169 -0
- package/node_modules/@comis/observability/dist/cache-stats/types.js +70 -0
- package/node_modules/@comis/observability/dist/cache-trace/event-bus-bridge.d.ts +80 -0
- package/node_modules/@comis/observability/dist/cache-trace/event-bus-bridge.js +224 -0
- package/node_modules/@comis/observability/dist/cache-trace/paths.d.ts +38 -0
- package/node_modules/@comis/observability/dist/cache-trace/paths.js +42 -0
- package/node_modules/@comis/observability/dist/cache-trace/runtime.d.ts +141 -0
- package/node_modules/@comis/observability/dist/cache-trace/runtime.js +403 -0
- package/node_modules/@comis/observability/dist/cache-trace/stream-fn-wrapper.d.ts +59 -0
- package/node_modules/@comis/observability/dist/cache-trace/stream-fn-wrapper.js +307 -0
- package/node_modules/@comis/observability/dist/cache-trace/types.d.ts +133 -0
- package/node_modules/@comis/observability/dist/cache-trace/types.js +158 -0
- package/node_modules/@comis/observability/dist/config-audit/append-observe.d.ts +145 -0
- package/node_modules/@comis/observability/dist/config-audit/append-observe.js +156 -0
- package/node_modules/@comis/observability/dist/config-audit/append.d.ts +220 -0
- package/node_modules/@comis/observability/dist/config-audit/append.js +399 -0
- package/node_modules/@comis/observability/dist/config-audit/argv-redactor.d.ts +70 -0
- package/node_modules/@comis/observability/dist/config-audit/argv-redactor.js +158 -0
- package/node_modules/@comis/observability/dist/config-audit/encode-record.d.ts +39 -0
- package/node_modules/@comis/observability/dist/config-audit/encode-record.js +73 -0
- package/node_modules/@comis/observability/dist/config-audit/log-path.d.ts +36 -0
- package/node_modules/@comis/observability/dist/config-audit/log-path.js +43 -0
- package/node_modules/@comis/observability/dist/config-audit/scrub.d.ts +79 -0
- package/node_modules/@comis/observability/dist/config-audit/scrub.js +183 -0
- package/node_modules/@comis/observability/dist/config-audit/serialization-sentinel.d.ts +1 -0
- package/node_modules/@comis/observability/dist/config-audit/serialization-sentinel.js +25 -0
- package/node_modules/@comis/observability/dist/config-audit/suspicious.d.ts +64 -0
- package/node_modules/@comis/observability/dist/config-audit/suspicious.js +80 -0
- package/node_modules/@comis/observability/dist/config-audit/types.d.ts +242 -0
- package/node_modules/@comis/observability/dist/config-audit/types.js +210 -0
- package/node_modules/@comis/observability/dist/health-aggregator/aggregator.d.ts +35 -0
- package/node_modules/@comis/observability/dist/health-aggregator/aggregator.js +63 -0
- package/node_modules/@comis/observability/dist/health-aggregator/error-kind-map.d.ts +27 -0
- package/node_modules/@comis/observability/dist/health-aggregator/error-kind-map.js +31 -0
- package/node_modules/@comis/observability/dist/health-aggregator/types.d.ts +22 -0
- package/node_modules/@comis/observability/dist/health-aggregator/types.js +10 -0
- package/node_modules/@comis/observability/dist/index.d.ts +99 -0
- package/node_modules/@comis/observability/dist/index.js +210 -0
- package/node_modules/@comis/observability/dist/pipeline-authoring-gate.d.ts +62 -0
- package/node_modules/@comis/observability/dist/pipeline-authoring-gate.js +75 -0
- package/node_modules/@comis/observability/dist/recall-counters/registry.d.ts +31 -0
- package/node_modules/@comis/observability/dist/recall-counters/registry.js +81 -0
- package/node_modules/@comis/observability/dist/recall-counters/types.d.ts +89 -0
- package/node_modules/@comis/observability/dist/recall-counters/types.js +19 -0
- package/node_modules/@comis/observability/dist/recall-trace/paths.d.ts +38 -0
- package/node_modules/@comis/observability/dist/recall-trace/paths.js +42 -0
- package/node_modules/@comis/observability/dist/recall-trace/runtime.d.ts +102 -0
- package/node_modules/@comis/observability/dist/recall-trace/runtime.js +311 -0
- package/node_modules/@comis/observability/dist/recall-trace/types.d.ts +151 -0
- package/node_modules/@comis/observability/dist/recall-trace/types.js +178 -0
- package/node_modules/@comis/observability/dist/redact/edge-keeping.d.ts +76 -0
- package/node_modules/@comis/observability/dist/redact/edge-keeping.js +93 -0
- package/node_modules/@comis/observability/dist/redact/patterns.d.ts +53 -0
- package/node_modules/@comis/observability/dist/redact/patterns.js +240 -0
- package/node_modules/@comis/observability/dist/redact/pino-redact-transport.d.ts +41 -0
- package/node_modules/@comis/observability/dist/redact/pino-redact-transport.js +62 -0
- package/node_modules/@comis/observability/dist/redact/redact-identifier.d.ts +30 -0
- package/node_modules/@comis/observability/dist/redact/redact-identifier.js +40 -0
- package/node_modules/@comis/observability/dist/redact/redact-secrets.d.ts +79 -0
- package/node_modules/@comis/observability/dist/redact/redact-secrets.js +88 -0
- package/node_modules/@comis/observability/dist/redact/redact-text.d.ts +40 -0
- package/node_modules/@comis/observability/dist/redact/redact-text.js +54 -0
- package/node_modules/@comis/observability/dist/redact/regex-bounded.d.ts +49 -0
- package/node_modules/@comis/observability/dist/redact/regex-bounded.js +58 -0
- package/node_modules/@comis/observability/dist/redact/value-shapes.d.ts +145 -0
- package/node_modules/@comis/observability/dist/redact/value-shapes.js +318 -0
- package/node_modules/@comis/observability/dist/rotation/policy.d.ts +62 -0
- package/node_modules/@comis/observability/dist/rotation/policy.js +128 -0
- package/node_modules/@comis/observability/dist/rotation/sweep.d.ts +64 -0
- package/node_modules/@comis/observability/dist/rotation/sweep.js +175 -0
- package/node_modules/@comis/observability/dist/session-index/append.d.ts +47 -0
- package/node_modules/@comis/observability/dist/session-index/append.js +88 -0
- package/node_modules/@comis/observability/dist/session-index/index.d.ts +12 -0
- package/node_modules/@comis/observability/dist/session-index/index.js +12 -0
- package/node_modules/@comis/observability/dist/session-index/types.d.ts +95 -0
- package/node_modules/@comis/observability/dist/session-index/types.js +18 -0
- package/node_modules/@comis/observability/dist/shared/bounded-payload.d.ts +109 -0
- package/node_modules/@comis/observability/dist/shared/bounded-payload.js +80 -0
- package/node_modules/@comis/observability/dist/shared/combined-walker.d.ts +155 -0
- package/node_modules/@comis/observability/dist/shared/combined-walker.js +291 -0
- package/node_modules/@comis/observability/dist/shared/file-snapshot.d.ts +87 -0
- package/node_modules/@comis/observability/dist/shared/file-snapshot.js +86 -0
- package/node_modules/@comis/observability/dist/shared/fs-safe.d.ts +270 -0
- package/node_modules/@comis/observability/dist/shared/fs-safe.js +488 -0
- package/node_modules/@comis/observability/dist/shared/path-guards.d.ts +90 -0
- package/node_modules/@comis/observability/dist/shared/path-guards.js +129 -0
- package/node_modules/@comis/observability/dist/shared/queued-file-writer.d.ts +128 -0
- package/node_modules/@comis/observability/dist/shared/queued-file-writer.js +165 -0
- package/node_modules/@comis/observability/dist/shared/safe-json-stringify.d.ts +29 -0
- package/node_modules/@comis/observability/dist/shared/safe-json-stringify.js +38 -0
- package/node_modules/@comis/observability/dist/shared/sanitize-diagnostic-payload.d.ts +127 -0
- package/node_modules/@comis/observability/dist/shared/sanitize-diagnostic-payload.js +290 -0
- package/node_modules/@comis/observability/dist/shared/stable-stringify.d.ts +31 -0
- package/node_modules/@comis/observability/dist/shared/stable-stringify.js +64 -0
- package/node_modules/@comis/observability/dist/system-prompt-report/build.d.ts +117 -0
- package/node_modules/@comis/observability/dist/system-prompt-report/build.js +210 -0
- package/node_modules/@comis/observability/dist/system-prompt-report/persist.d.ts +86 -0
- package/node_modules/@comis/observability/dist/system-prompt-report/persist.js +115 -0
- package/node_modules/@comis/observability/dist/system-prompt-report/types.d.ts +171 -0
- package/node_modules/@comis/observability/dist/system-prompt-report/types.js +145 -0
- package/node_modules/@comis/observability/dist/trajectory/artifacts.d.ts +44 -0
- package/node_modules/@comis/observability/dist/trajectory/artifacts.js +44 -0
- package/node_modules/@comis/observability/dist/trajectory/bundle-exporter.d.ts +105 -0
- package/node_modules/@comis/observability/dist/trajectory/bundle-exporter.js +534 -0
- package/node_modules/@comis/observability/dist/trajectory/event-bus-bridge.d.ts +180 -0
- package/node_modules/@comis/observability/dist/trajectory/event-bus-bridge.js +433 -0
- package/node_modules/@comis/observability/dist/trajectory/export.d.ts +218 -0
- package/node_modules/@comis/observability/dist/trajectory/export.js +344 -0
- package/node_modules/@comis/observability/dist/trajectory/metadata.d.ts +47 -0
- package/node_modules/@comis/observability/dist/trajectory/metadata.js +38 -0
- package/node_modules/@comis/observability/dist/trajectory/paths.d.ts +81 -0
- package/node_modules/@comis/observability/dist/trajectory/paths.js +117 -0
- package/node_modules/@comis/observability/dist/trajectory/pointer-file.d.ts +57 -0
- package/node_modules/@comis/observability/dist/trajectory/pointer-file.js +108 -0
- package/node_modules/@comis/observability/dist/trajectory/runtime.d.ts +91 -0
- package/node_modules/@comis/observability/dist/trajectory/runtime.js +587 -0
- package/node_modules/@comis/observability/dist/trajectory/session-registry.d.ts +119 -0
- package/node_modules/@comis/observability/dist/trajectory/session-registry.js +120 -0
- package/node_modules/@comis/observability/dist/trajectory/translate-cache-break-payload.d.ts +2 -0
- package/node_modules/@comis/observability/dist/trajectory/translate-cache-break-payload.js +39 -0
- package/node_modules/@comis/observability/dist/trajectory/translate-image-payload.d.ts +30 -0
- package/node_modules/@comis/observability/dist/trajectory/translate-image-payload.js +61 -0
- package/node_modules/@comis/observability/dist/trajectory/translate-orchestration-payload.d.ts +26 -0
- package/node_modules/@comis/observability/dist/trajectory/translate-orchestration-payload.js +99 -0
- package/node_modules/@comis/observability/dist/trajectory/translate-payload.d.ts +30 -0
- package/node_modules/@comis/observability/dist/trajectory/translate-payload.js +749 -0
- package/node_modules/@comis/observability/dist/trajectory/translate-spend-payload.d.ts +28 -0
- package/node_modules/@comis/observability/dist/trajectory/translate-spend-payload.js +51 -0
- package/node_modules/@comis/observability/dist/trajectory/translate-video-payload.d.ts +29 -0
- package/node_modules/@comis/observability/dist/trajectory/translate-video-payload.js +66 -0
- package/node_modules/@comis/observability/dist/trajectory/translate-vision-payload.d.ts +31 -0
- package/node_modules/@comis/observability/dist/trajectory/translate-vision-payload.js +60 -0
- package/node_modules/@comis/observability/dist/trajectory/translate-voice-payload.d.ts +34 -0
- package/node_modules/@comis/observability/dist/trajectory/translate-voice-payload.js +77 -0
- package/node_modules/@comis/observability/dist/trajectory/types.d.ts +293 -0
- package/node_modules/@comis/observability/dist/trajectory/types.js +319 -0
- package/node_modules/@comis/observability/package.json +54 -0
- package/node_modules/@comis/observability-otel/dist/dashboard-metric-names.d.ts +13 -0
- package/node_modules/@comis/observability-otel/dist/dashboard-metric-names.js +60 -0
- package/node_modules/@comis/observability-otel/dist/exemplar-capability.d.ts +9 -0
- package/node_modules/@comis/observability-otel/dist/exemplar-capability.js +103 -0
- package/node_modules/@comis/observability-otel/dist/index.d.ts +39 -0
- package/node_modules/@comis/observability-otel/dist/index.js +51 -0
- package/node_modules/@comis/observability-otel/dist/metric-catalog.d.ts +79 -0
- package/node_modules/@comis/observability-otel/dist/metric-catalog.js +144 -0
- package/node_modules/@comis/observability-otel/dist/metric-mapping.d.ts +60 -0
- package/node_modules/@comis/observability-otel/dist/metric-mapping.js +339 -0
- package/node_modules/@comis/observability-otel/dist/otel-exporter.d.ts +27 -0
- package/node_modules/@comis/observability-otel/dist/otel-exporter.js +145 -0
- package/node_modules/@comis/observability-otel/dist/prometheus-surface.d.ts +46 -0
- package/node_modules/@comis/observability-otel/dist/prometheus-surface.js +64 -0
- package/node_modules/@comis/observability-otel/dist/redact-attributes.d.ts +14 -0
- package/node_modules/@comis/observability-otel/dist/redact-attributes.js +114 -0
- package/node_modules/@comis/observability-otel/dist/spend-snapshot.d.ts +31 -0
- package/node_modules/@comis/observability-otel/dist/spend-snapshot.js +19 -0
- package/node_modules/@comis/observability-otel/dist/test-harness.d.ts +44 -0
- package/node_modules/@comis/observability-otel/dist/test-harness.js +79 -0
- package/node_modules/@comis/observability-otel/dist/traces.d.ts +65 -0
- package/node_modules/@comis/observability-otel/dist/traces.js +95 -0
- package/node_modules/@comis/observability-otel/package.json +44 -0
- package/node_modules/@comis/orchestrator/dist/approval/index.d.ts +8 -0
- package/node_modules/@comis/orchestrator/dist/approval/index.js +9 -0
- package/node_modules/@comis/orchestrator/dist/approval/interactive-callback-router.d.ts +82 -0
- package/node_modules/@comis/orchestrator/dist/approval/interactive-callback-router.js +136 -0
- package/node_modules/@comis/orchestrator/dist/channel-manager.d.ts +71 -57
- package/node_modules/@comis/orchestrator/dist/channel-manager.js +225 -103
- package/node_modules/@comis/orchestrator/dist/commands/command-handler.js +12 -0
- package/node_modules/@comis/orchestrator/dist/commands/command-parser.js +4 -2
- package/node_modules/@comis/orchestrator/dist/commands/export-trajectory.d.ts +44 -0
- package/node_modules/@comis/orchestrator/dist/commands/export-trajectory.js +82 -0
- package/node_modules/@comis/orchestrator/dist/commands/index.d.ts +2 -0
- package/node_modules/@comis/orchestrator/dist/commands/index.js +2 -0
- package/node_modules/@comis/orchestrator/dist/commands/types.d.ts +15 -1
- package/node_modules/@comis/orchestrator/dist/cross-session/announcement-batcher.d.ts +32 -1
- package/node_modules/@comis/orchestrator/dist/cross-session/announcement-batcher.js +166 -36
- package/node_modules/@comis/orchestrator/dist/cross-session/announcement-dead-letter.d.ts +36 -2
- package/node_modules/@comis/orchestrator/dist/cross-session/announcement-dead-letter.js +31 -2
- package/node_modules/@comis/orchestrator/dist/cross-session/cross-session-sender.d.ts +23 -1
- package/node_modules/@comis/orchestrator/dist/cross-session/cross-session-sender.js +88 -4
- package/node_modules/@comis/orchestrator/dist/execution/activity-circuit-breaker.d.ts +104 -0
- package/node_modules/@comis/orchestrator/dist/execution/activity-circuit-breaker.js +151 -0
- package/node_modules/@comis/orchestrator/dist/execution/activity-turn-coordinator.d.ts +213 -0
- package/node_modules/@comis/orchestrator/dist/execution/activity-turn-coordinator.js +371 -0
- package/node_modules/@comis/orchestrator/dist/execution/execution-deliver.d.ts +27 -3
- package/node_modules/@comis/orchestrator/dist/execution/execution-deliver.js +87 -4
- package/node_modules/@comis/orchestrator/dist/execution/execution-execute.js +43 -14
- package/node_modules/@comis/orchestrator/dist/execution/execution-filter.js +12 -4
- package/node_modules/@comis/orchestrator/dist/execution/execution-pipeline.d.ts +30 -23
- package/node_modules/@comis/orchestrator/dist/execution/execution-pipeline.js +301 -148
- package/node_modules/@comis/orchestrator/dist/execution/turn-outcome-mapper.d.ts +34 -0
- package/node_modules/@comis/orchestrator/dist/execution/turn-outcome-mapper.js +33 -0
- package/node_modules/@comis/orchestrator/dist/inbound/dedup-detector.d.ts +68 -0
- package/node_modules/@comis/orchestrator/dist/inbound/dedup-detector.js +80 -0
- package/node_modules/@comis/orchestrator/dist/inbound/inbound-gate.d.ts +11 -1
- package/node_modules/@comis/orchestrator/dist/inbound/inbound-gate.js +100 -65
- package/node_modules/@comis/orchestrator/dist/inbound/inbound-pipeline.d.ts +58 -48
- package/node_modules/@comis/orchestrator/dist/inbound/inbound-pipeline.js +44 -21
- package/node_modules/@comis/orchestrator/dist/inbound/resolve-and-preprocess.d.ts +34 -0
- package/node_modules/@comis/orchestrator/dist/inbound/resolve-and-preprocess.js +115 -0
- package/node_modules/@comis/orchestrator/dist/inbound/setup-and-route.d.ts +37 -0
- package/node_modules/@comis/orchestrator/dist/inbound/setup-and-route.js +253 -0
- package/node_modules/@comis/orchestrator/dist/index.d.ts +9 -7
- package/node_modules/@comis/orchestrator/dist/index.js +32 -9
- package/node_modules/@comis/orchestrator/dist/queue/command-queue.d.ts +1 -4
- package/node_modules/@comis/orchestrator/dist/queue/command-queue.js +15 -19
- package/node_modules/@comis/orchestrator/dist/queue/index.d.ts +0 -2
- package/node_modules/@comis/orchestrator/dist/queue/index.js +0 -1
- package/node_modules/@comis/orchestrator/dist/routing/message-router.d.ts +5 -7
- package/node_modules/@comis/orchestrator/dist/routing/message-router.js +6 -10
- package/node_modules/@comis/orchestrator/package.json +2 -2
- package/node_modules/@comis/scheduler/dist/cron/cron-expression.js +62 -3
- package/node_modules/@comis/scheduler/dist/cron/cron-scheduler.js +8 -1
- package/node_modules/@comis/scheduler/dist/cron/cron-store.js +0 -9
- package/node_modules/@comis/scheduler/dist/cron/cron-types.d.ts +13 -0
- package/node_modules/@comis/scheduler/dist/cron/cron-types.js +17 -0
- package/node_modules/@comis/scheduler/dist/heartbeat/agent-heartbeat-source.d.ts +3 -3
- package/node_modules/@comis/scheduler/dist/heartbeat/agent-heartbeat-source.js +2 -2
- package/node_modules/@comis/scheduler/dist/heartbeat/index.d.ts +0 -5
- package/node_modules/@comis/scheduler/dist/heartbeat/index.js +0 -8
- package/node_modules/@comis/scheduler/dist/heartbeat/relevance-filter.d.ts +0 -2
- package/node_modules/@comis/scheduler/dist/heartbeat/relevance-filter.js +1 -2
- package/node_modules/@comis/scheduler/dist/heartbeat/response-processor.js +1 -1
- package/node_modules/@comis/scheduler/dist/index.d.ts +1 -11
- package/node_modules/@comis/scheduler/dist/index.js +2 -10
- package/node_modules/@comis/scheduler/package.json +2 -2
- package/node_modules/@comis/shared/dist/fsync-permission.d.ts +32 -0
- package/node_modules/@comis/shared/dist/fsync-permission.js +49 -0
- package/node_modules/@comis/shared/dist/index.d.ts +2 -1
- package/node_modules/@comis/shared/dist/index.js +5 -2
- package/node_modules/@comis/shared/dist/mcp-tool-name.d.ts +2 -34
- package/node_modules/@comis/shared/dist/mcp-tool-name.js +2 -39
- package/node_modules/@comis/shared/package.json +2 -2
- package/node_modules/@comis/skills/dist/platform-tools/index.d.ts +3 -7
- package/node_modules/@comis/skills/dist/platform-tools/index.js +8 -9
- package/node_modules/@comis/skills/dist/platform-tools/registry.d.ts +38 -2
- package/node_modules/@comis/skills/dist/platform-tools/registry.js +101 -44
- package/node_modules/@comis/skills/dist/platform-tools/tool-helpers.d.ts +4 -1
- package/node_modules/@comis/skills/dist/platform-tools/tools/agents-manage-tool.js +16 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/browser-tool-schema.d.ts +1 -1
- package/node_modules/@comis/skills/dist/platform-tools/tools/browser-tool.d.ts +2 -5
- package/node_modules/@comis/skills/dist/platform-tools/tools/browser-tool.js +11 -10
- package/node_modules/@comis/skills/dist/platform-tools/tools/channels-manage-tool.js +15 -1
- package/node_modules/@comis/skills/dist/platform-tools/tools/cron-tool.d.ts +2 -1
- package/node_modules/@comis/skills/dist/platform-tools/tools/cron-tool.js +8 -5
- package/node_modules/@comis/skills/dist/platform-tools/tools/describe-video-tool.js +6 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/discord-action-tool.js +8 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/extract-document-tool.js +6 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/gateway-tool.js +28 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/heartbeat-manage-tool.js +13 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/image-generate-tool.d.ts +2 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/image-generate-tool.js +13 -1
- package/node_modules/@comis/skills/dist/platform-tools/tools/image-tool.js +7 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/mcp-login-tool.d.ts +31 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/mcp-login-tool.js +85 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/mcp-manage-tool.d.ts +14 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/mcp-manage-tool.js +213 -16
- package/node_modules/@comis/skills/dist/platform-tools/tools/mcp-prompts-tool.d.ts +38 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/mcp-prompts-tool.js +83 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/mcp-resources-tool.d.ts +44 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/mcp-resources-tool.js +87 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/memory-ask-tool.d.ts +34 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/memory-ask-tool.js +65 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/memory-get-tool.js +21 -1
- package/node_modules/@comis/skills/dist/platform-tools/tools/memory-manage-tool.d.ts +6 -3
- package/node_modules/@comis/skills/dist/platform-tools/tools/memory-manage-tool.js +52 -6
- package/node_modules/@comis/skills/dist/platform-tools/tools/memory-search-tool.js +6 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/memory-store-tool.js +9 -20
- package/node_modules/@comis/skills/dist/platform-tools/tools/models-manage-tool.js +12 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/notify-tool.js +8 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/obs-query-tool.d.ts +14 -3
- package/node_modules/@comis/skills/dist/platform-tools/tools/obs-query-tool.js +125 -27
- package/node_modules/@comis/skills/dist/platform-tools/tools/pipeline-tool.d.ts +25 -2
- package/node_modules/@comis/skills/dist/platform-tools/tools/pipeline-tool.js +117 -9
- package/node_modules/@comis/skills/dist/platform-tools/tools/providers-manage-tool.js +16 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/session-search-tool.js +1 -1
- package/node_modules/@comis/skills/dist/platform-tools/tools/sessions-manage-tool.d.ts +1 -1
- package/node_modules/@comis/skills/dist/platform-tools/tools/sessions-manage-tool.js +22 -5
- package/node_modules/@comis/skills/dist/platform-tools/tools/sessions-spawn-tool.d.ts +1 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/sessions-spawn-tool.js +2 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/skills-manage-tool.js +14 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/slack-action-tool.js +6 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/suppressed-tools-metadata.d.ts +1 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/suppressed-tools-metadata.js +61 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/telegram-action-tool.js +6 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/tokens-manage-tool.js +13 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/transcribe-audio-tool.js +6 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/tts-tool.js +7 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/video-generate-tool.d.ts +47 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/video-generate-tool.js +123 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/video-status-tool.d.ts +35 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/video-status-tool.js +53 -0
- package/node_modules/@comis/skills/dist/platform-tools/tools/whatsapp-action-tool.js +6 -0
- package/node_modules/@comis/skills/dist/skills/audit/skill-audit.js +5 -1
- package/node_modules/@comis/skills/dist/skills/bridge/json-truncate.js +10 -2
- package/node_modules/@comis/skills/dist/skills/bridge/mcp-tool-bridge.d.ts +50 -1
- package/node_modules/@comis/skills/dist/skills/bridge/mcp-tool-bridge.js +96 -4
- package/node_modules/@comis/skills/dist/skills/bridge/register-failure-detector-metadata.d.ts +45 -0
- package/node_modules/@comis/skills/dist/skills/bridge/register-failure-detector-metadata.js +128 -0
- package/node_modules/@comis/skills/dist/skills/bridge/tool-audit.d.ts +6 -1
- package/node_modules/@comis/skills/dist/skills/bridge/tool-audit.js +45 -9
- package/node_modules/@comis/skills/dist/skills/bridge/tool-bridge.d.ts +6 -0
- package/node_modules/@comis/skills/dist/skills/bridge/tool-bridge.js +1 -1
- package/node_modules/@comis/skills/dist/skills/bridge/tool-metadata-registry.js +181 -17
- package/node_modules/@comis/skills/dist/skills/index.d.ts +21 -5
- package/node_modules/@comis/skills/dist/skills/index.js +65 -4
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/index.d.ts +20 -1
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/index.js +89 -5
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-call.d.ts +5 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-call.js +162 -6
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-connect.d.ts +1 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-connect.js +156 -11
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-discover.d.ts +49 -1
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-discover.js +178 -33
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-idle-eviction.d.ts +44 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-idle-eviction.js +180 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-keepalive.d.ts +107 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-keepalive.js +271 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-oauth-connect.d.ts +47 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-oauth-connect.js +124 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-osv-check.d.ts +58 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-osv-check.js +309 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-prlimit-probe.d.ts +50 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-prlimit-probe.js +86 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-reconnect.d.ts +1 -1
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-reconnect.js +66 -4
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-redirect-policy.d.ts +40 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-redirect-policy.js +168 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-resources.d.ts +118 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-resources.js +215 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-stdio-env.d.ts +50 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-stdio-env.js +120 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-ticker.d.ts +19 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-ticker.js +26 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/mcp-client-types.d.ts +252 -1
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/oauth/browser-callback.d.ts +194 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/oauth/browser-callback.js +316 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/oauth/deduped-fetch.d.ts +90 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/oauth/deduped-fetch.js +190 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/oauth/device-flow.d.ts +83 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/oauth/device-flow.js +320 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/oauth/discovery.d.ts +85 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/oauth/discovery.js +157 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/oauth/login.d.ts +96 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/oauth/login.js +319 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/oauth/oauth-types.d.ts +66 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/oauth/oauth-types.js +16 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/oauth/provider.d.ts +114 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/oauth/provider.js +188 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/oauth/refresh-deduper.d.ts +159 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/oauth/refresh-deduper.js +172 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/oauth/token-store.d.ts +136 -0
- package/node_modules/@comis/skills/dist/skills/integrations/mcp-client/oauth/token-store.js +356 -0
- package/node_modules/@comis/skills/dist/skills/manifest/schema.d.ts +113 -1
- package/node_modules/@comis/skills/dist/skills/manifest/schema.js +33 -2
- package/node_modules/@comis/skills/dist/skills/policy/tool-policy.js +37 -14
- package/node_modules/@comis/skills/dist/skills/prompt/processor.d.ts +10 -3
- package/node_modules/@comis/skills/dist/skills/prompt/processor.js +6 -1
- package/node_modules/@comis/skills/dist/skills/registry/discovery.d.ts +7 -1
- package/node_modules/@comis/skills/dist/skills/registry/skill-registry/skill-registry-cache.js +8 -7
- package/node_modules/@comis/skills/dist/skills/registry/skill-registry/skill-registry-types.d.ts +10 -0
- package/node_modules/@comis/skills/dist/tools/browser/index.d.ts +0 -4
- package/node_modules/@comis/skills/dist/tools/browser/index.js +0 -2
- package/node_modules/@comis/skills/dist/tools/builtin/context-tools/context-tools-shared.d.ts +134 -0
- package/node_modules/@comis/skills/dist/tools/builtin/context-tools/context-tools-shared.js +162 -0
- package/node_modules/@comis/skills/dist/tools/builtin/context-tools/ctx-expand-tool.d.ts +48 -0
- package/node_modules/@comis/skills/dist/tools/builtin/context-tools/ctx-expand-tool.js +212 -0
- package/node_modules/@comis/skills/dist/tools/builtin/context-tools/ctx-expand-walk.d.ts +97 -0
- package/node_modules/@comis/skills/dist/tools/builtin/context-tools/ctx-expand-walk.js +198 -0
- package/node_modules/@comis/skills/dist/tools/builtin/context-tools/ctx-inspect-tool.d.ts +31 -0
- package/node_modules/@comis/skills/dist/tools/builtin/context-tools/ctx-inspect-tool.js +103 -0
- package/node_modules/@comis/skills/dist/tools/builtin/context-tools/ctx-search-tool.d.ts +33 -0
- package/node_modules/@comis/skills/dist/tools/builtin/context-tools/ctx-search-tool.js +183 -0
- package/node_modules/@comis/skills/dist/tools/builtin/context-tools/index.d.ts +19 -0
- package/node_modules/@comis/skills/dist/tools/builtin/context-tools/index.js +21 -0
- package/node_modules/@comis/skills/dist/tools/builtin/exec-diagnostics.js +71 -0
- package/node_modules/@comis/skills/dist/tools/builtin/exec-security/exec-security-pre-check.d.ts +33 -0
- package/node_modules/@comis/skills/dist/tools/builtin/exec-security/exec-security-pre-check.js +122 -16
- package/node_modules/@comis/skills/dist/tools/builtin/exec-security/index.d.ts +1 -1
- package/node_modules/@comis/skills/dist/tools/builtin/exec-security/index.js +1 -1
- package/node_modules/@comis/skills/dist/tools/builtin/exec-tool/exec-shared.d.ts +25 -3
- package/node_modules/@comis/skills/dist/tools/builtin/exec-tool/exec-shared.js +90 -15
- package/node_modules/@comis/skills/dist/tools/builtin/exec-tool/exec-types.d.ts +17 -4
- package/node_modules/@comis/skills/dist/tools/builtin/exec-tool/index.d.ts +1 -1
- package/node_modules/@comis/skills/dist/tools/builtin/exec-tool/index.js +44 -6
- package/node_modules/@comis/skills/dist/tools/builtin/file/apply-patch-tool.js +10 -1
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/edit-tool.d.ts +8 -1
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/edit-tool.js +36 -3
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/find-tool.js +10 -2
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/grep-tool.js +12 -2
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/ls-tool.js +10 -2
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/notebook-edit-tool.js +13 -2
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/path-error.d.ts +22 -0
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/path-error.js +27 -0
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/read-tool.js +14 -3
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/write-tool.d.ts +9 -1
- package/node_modules/@comis/skills/dist/tools/builtin/file-tools/write-tool.js +48 -7
- package/node_modules/@comis/skills/dist/tools/builtin/orchestrate/comis-agent-cli.d.ts +25 -0
- package/node_modules/@comis/skills/dist/tools/builtin/orchestrate/comis-agent-cli.js +198 -0
- package/node_modules/@comis/skills/dist/tools/builtin/orchestrate/comis-agent-entry.d.ts +2 -0
- package/node_modules/@comis/skills/dist/tools/builtin/orchestrate/comis-agent-entry.js +24 -0
- package/node_modules/@comis/skills/dist/tools/builtin/orchestrate/comis-agent-manifest.json +4 -0
- package/node_modules/@comis/skills/dist/tools/builtin/orchestrate/comis_tools.d.ts +98 -0
- package/node_modules/@comis/skills/dist/tools/builtin/orchestrate/comis_tools.js +150 -0
- package/node_modules/@comis/skills/dist/tools/builtin/orchestrate/index.d.ts +23 -0
- package/node_modules/@comis/skills/dist/tools/builtin/orchestrate/index.js +29 -0
- package/node_modules/@comis/skills/dist/tools/builtin/orchestrate/orchestrate-executor-cores.d.ts +71 -0
- package/node_modules/@comis/skills/dist/tools/builtin/orchestrate/orchestrate-executor-cores.js +396 -0
- package/node_modules/@comis/skills/dist/tools/builtin/orchestrate/orchestrate-sdk-runtime.d.ts +62 -0
- package/node_modules/@comis/skills/dist/tools/builtin/orchestrate/orchestrate-sdk-runtime.js +164 -0
- package/node_modules/@comis/skills/dist/tools/builtin/orchestrate/orchestrate-tool.d.ts +180 -0
- package/node_modules/@comis/skills/dist/tools/builtin/orchestrate/orchestrate-tool.js +442 -0
- package/node_modules/@comis/skills/dist/tools/builtin/orchestrate/result-ref-store.d.ts +108 -0
- package/node_modules/@comis/skills/dist/tools/builtin/orchestrate/result-ref-store.js +359 -0
- package/node_modules/@comis/skills/dist/tools/builtin/orchestrate/worktree-lifecycle.d.ts +112 -0
- package/node_modules/@comis/skills/dist/tools/builtin/orchestrate/worktree-lifecycle.js +280 -0
- package/node_modules/@comis/skills/dist/tools/builtin/process-tool.d.ts +1 -1
- package/node_modules/@comis/skills/dist/tools/builtin/process-tool.js +11 -0
- package/node_modules/@comis/skills/dist/tools/builtin/sandbox/bwrap-provider.d.ts +53 -1
- package/node_modules/@comis/skills/dist/tools/builtin/sandbox/bwrap-provider.js +245 -23
- package/node_modules/@comis/skills/dist/tools/builtin/sandbox/detect-provider.d.ts +36 -0
- package/node_modules/@comis/skills/dist/tools/builtin/sandbox/detect-provider.js +56 -1
- package/node_modules/@comis/skills/dist/tools/builtin/sandbox/sandbox-exec-provider.js +1 -18
- package/node_modules/@comis/skills/dist/tools/builtin/sandbox/seccomp-profile.d.ts +61 -0
- package/node_modules/@comis/skills/dist/tools/builtin/sandbox/seccomp-profile.js +88 -0
- package/node_modules/@comis/skills/dist/tools/builtin/sandbox/types.d.ts +132 -0
- package/node_modules/@comis/skills/dist/tools/builtin/sleep-tool.d.ts +68 -0
- package/node_modules/@comis/skills/dist/tools/builtin/sleep-tool.js +166 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/allowlist-matcher.d.ts +178 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/allowlist-matcher.js +143 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/egress-relay-init.d.ts +117 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/egress-relay-init.js +263 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/index.d.ts +41 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/index.js +140 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/platforms/claude-code/profile.d.ts +33 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/platforms/claude-code/profile.js +120 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/platforms/codex/profile.d.ts +16 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/platforms/codex/profile.js +47 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/platforms/index.d.ts +35 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/platforms/index.js +138 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/platforms/terminal-platform-profile.d.ts +91 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/platforms/terminal-platform-profile.js +22 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-attention-emitter.d.ts +99 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-attention-emitter.js +122 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-auto-answer.d.ts +85 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-auto-answer.js +271 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-busy-predicate.d.ts +80 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-busy-predicate.js +73 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-caps.d.ts +84 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-caps.js +109 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-classifier.d.ts +176 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-classifier.js +248 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-dialog-detector.d.ts +77 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-dialog-detector.js +236 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-drive-journal.d.ts +159 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-drive-journal.js +259 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-drive-outcome.d.ts +111 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-drive-outcome.js +101 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-drive-promote.d.ts +135 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-drive-promote.js +139 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-egress-proxy.d.ts +72 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-egress-proxy.js +182 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-egress-relay.d.ts +115 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-egress-relay.js +126 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-env-scrub.d.ts +120 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-env-scrub.js +224 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-events-attention.d.ts +114 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-events-attention.js +25 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-heartbeat-digest.d.ts +44 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-heartbeat-digest.js +59 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-ipc.d.ts +108 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-ipc.js +148 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-key-grammar.d.ts +54 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-key-grammar.js +137 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-loop-guard.d.ts +75 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-loop-guard.js +132 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-notify-policy.d.ts +47 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-notify-policy.js +53 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-read-digest.d.ts +128 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-read-digest.js +193 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-reap-untasked.d.ts +45 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-reap-untasked.js +28 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-reaper.d.ts +171 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-reaper.js +141 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-reattach-match.d.ts +155 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-reattach-match.js +227 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-render.d.ts +276 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-render.js +279 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-scope-args.d.ts +94 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-scope-args.js +261 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-send-guards.d.ts +121 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-send-guards.js +155 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-session-owner.d.ts +37 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-session-owner.js +29 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-session-reattach.d.ts +254 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-session-reattach.js +273 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-session-registry.d.ts +181 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-session-registry.js +517 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-session-types.d.ts +170 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-session-types.js +26 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-settle.d.ts +163 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-settle.js +231 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-spawn-plan.d.ts +171 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-spawn-plan.js +272 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-spend-ceiling.d.ts +69 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-spend-ceiling.js +75 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-status-tool.d.ts +43 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-status-tool.js +72 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-status-view.d.ts +101 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-status-view.js +97 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-tmux-backend.d.ts +174 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-tmux-backend.js +193 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-tools-stubs.d.ts +15 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-tools-stubs.js +16 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-tools.d.ts +228 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-tools.js +523 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-wait-reply.d.ts +89 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-wait-reply.js +93 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-worker-backend-attach.d.ts +116 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-worker-backend-attach.js +167 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-worker-classify.d.ts +100 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-worker-classify.js +156 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-worker-context.d.ts +40 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-worker-context.js +46 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-worker-defaults.d.ts +50 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-worker-defaults.js +65 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-worker-entry.d.ts +102 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-worker-entry.js +546 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-worker-launch.d.ts +42 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-worker-launch.js +75 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-worker-main.d.ts +106 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-worker-main.js +313 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-worker-reattach.d.ts +72 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-worker-reattach.js +94 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-worker-stdio-pump.d.ts +40 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-worker-stdio-pump.js +64 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-worker-supervisor.d.ts +58 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-worker-supervisor.js +179 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-worker-types.d.ts +206 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-worker-types.js +27 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-workspace.d.ts +129 -0
- package/node_modules/@comis/skills/dist/tools/builtin/terminal-driver/terminal-workspace.js +204 -0
- package/node_modules/@comis/skills/dist/tools/builtin/web-fetch-tool.js +12 -1
- package/node_modules/@comis/skills/dist/tools/builtin/web-search-brave.js +2 -2
- package/node_modules/@comis/skills/dist/tools/builtin/web-search-exa.js +2 -2
- package/node_modules/@comis/skills/dist/tools/builtin/web-search-grok.js +2 -2
- package/node_modules/@comis/skills/dist/tools/builtin/web-search-jina.js +2 -2
- package/node_modules/@comis/skills/dist/tools/builtin/web-search-perplexity.js +2 -2
- package/node_modules/@comis/skills/dist/tools/builtin/web-search-searxng.js +2 -2
- package/node_modules/@comis/skills/dist/tools/builtin/web-search-tavily.js +2 -2
- package/node_modules/@comis/skills/dist/tools/builtin/web-search-tool/index.js +12 -0
- package/node_modules/@comis/skills/dist/tools/builtin/web-shared.d.ts +5 -1
- package/node_modules/@comis/skills/dist/tools/builtin/web-shared.js +5 -1
- package/node_modules/@comis/skills/dist/tools/index.d.ts +17 -0
- package/node_modules/@comis/skills/dist/tools/index.js +82 -0
- package/node_modules/@comis/skills/dist/tools/integrations/document/pdf-extractor.d.ts +3 -2
- package/node_modules/@comis/skills/dist/tools/integrations/document/pdf-extractor.js +5 -3
- package/node_modules/@comis/skills/dist/tools/integrations/edge-tts-adapter.d.ts +9 -0
- package/node_modules/@comis/skills/dist/tools/integrations/edge-tts-adapter.js +27 -1
- package/node_modules/@comis/skills/dist/tools/integrations/image-gen/image-gen-factory.d.ts +8 -1
- package/node_modules/@comis/skills/dist/tools/integrations/image-gen/image-gen-factory.js +8 -8
- package/node_modules/@comis/skills/dist/tools/integrations/image-gen/index.d.ts +0 -1
- package/node_modules/@comis/skills/dist/tools/integrations/image-gen/index.js +0 -1
- package/node_modules/@comis/skills/dist/tools/integrations/local-stt-adapter.d.ts +140 -0
- package/node_modules/@comis/skills/dist/tools/integrations/local-stt-adapter.js +331 -0
- package/node_modules/@comis/skills/dist/tools/integrations/local-stt-probe.d.ts +65 -0
- package/node_modules/@comis/skills/dist/tools/integrations/local-stt-probe.js +133 -0
- package/node_modules/@comis/skills/dist/tools/integrations/local-tts-adapter.d.ts +124 -0
- package/node_modules/@comis/skills/dist/tools/integrations/local-tts-adapter.js +263 -0
- package/node_modules/@comis/skills/dist/tools/integrations/media-adapter-shared.d.ts +9 -0
- package/node_modules/@comis/skills/dist/tools/integrations/media-adapter-shared.js +11 -3
- package/node_modules/@comis/skills/dist/tools/integrations/media-handler-audio.d.ts +3 -0
- package/node_modules/@comis/skills/dist/tools/integrations/media-handler-audio.js +23 -8
- package/node_modules/@comis/skills/dist/tools/integrations/media-handler-image.d.ts +3 -0
- package/node_modules/@comis/skills/dist/tools/integrations/media-handler-image.js +20 -3
- package/node_modules/@comis/skills/dist/tools/integrations/media-handler-video.d.ts +3 -0
- package/node_modules/@comis/skills/dist/tools/integrations/media-handler-video.js +3 -1
- package/node_modules/@comis/skills/dist/tools/integrations/media-preprocessor.js +3 -3
- package/node_modules/@comis/skills/dist/tools/integrations/openai-stt-adapter.d.ts +12 -0
- package/node_modules/@comis/skills/dist/tools/integrations/openai-stt-adapter.js +36 -3
- package/node_modules/@comis/skills/dist/tools/integrations/openai-tts-adapter.js +4 -1
- package/node_modules/@comis/skills/dist/tools/integrations/pinned-fetch.d.ts +33 -0
- package/node_modules/@comis/skills/dist/tools/integrations/pinned-fetch.js +88 -0
- package/node_modules/@comis/skills/dist/tools/integrations/stt-factory.d.ts +12 -2
- package/node_modules/@comis/skills/dist/tools/integrations/stt-factory.js +46 -2
- package/node_modules/@comis/skills/dist/tools/integrations/tts-factory.d.ts +10 -1
- package/node_modules/@comis/skills/dist/tools/integrations/tts-factory.js +23 -1
- package/node_modules/@comis/skills/dist/tools/integrations/video-gen/classify-fal-video-error.d.ts +28 -0
- package/node_modules/@comis/skills/dist/tools/integrations/video-gen/classify-fal-video-error.js +35 -0
- package/node_modules/@comis/skills/dist/tools/integrations/video-gen/fal-adapter.d.ts +34 -0
- package/node_modules/@comis/skills/dist/tools/integrations/video-gen/fal-adapter.js +300 -0
- package/node_modules/@comis/skills/dist/tools/integrations/video-gen/index.d.ts +5 -0
- package/node_modules/@comis/skills/dist/tools/integrations/video-gen/index.js +5 -0
- package/node_modules/@comis/skills/dist/tools/integrations/video-gen/rate-limiter.d.ts +19 -0
- package/node_modules/@comis/skills/dist/tools/integrations/video-gen/rate-limiter.js +43 -0
- package/node_modules/@comis/skills/dist/tools/integrations/video-gen/video-gen-factory.d.ts +24 -0
- package/node_modules/@comis/skills/dist/tools/integrations/video-gen/video-gen-factory.js +21 -0
- package/node_modules/@comis/skills/dist/tools/integrations/vision/vision-provider-registry.d.ts +16 -2
- package/node_modules/@comis/skills/dist/tools/integrations/vision/vision-provider-registry.js +180 -26
- package/node_modules/@comis/skills/dist/tools/media/index.d.ts +3 -10
- package/node_modules/@comis/skills/dist/tools/media/index.js +3 -10
- package/node_modules/@comis/skills/dist/tools/media/ssrf-fetcher.d.ts +10 -0
- package/node_modules/@comis/skills/dist/tools/media/ssrf-fetcher.js +22 -31
- package/node_modules/@comis/skills/package.json +6 -3
- package/node_modules/@comis/web/dist/assets/agent-detail-lQF_QdY3.js +615 -0
- package/node_modules/@comis/web/dist/assets/agent-editor-t3rxtj2c.js +2015 -0
- package/node_modules/@comis/web/dist/assets/agent-list-B3PEW7Eu.js +504 -0
- package/node_modules/@comis/web/dist/assets/billing-view-C4UJZTvI.js +470 -0
- package/node_modules/@comis/web/dist/assets/cache-health-CTOg1ZYH.js +111 -0
- package/node_modules/@comis/web/dist/assets/channel-detail-BqazWug8.js +681 -0
- package/node_modules/@comis/web/dist/assets/channel-list-DYB8MGjC.js +323 -0
- package/node_modules/@comis/web/dist/assets/chat-console-C_EZsEon.js +522 -0
- package/node_modules/@comis/web/dist/assets/config-editor-5rFdpiyn.js +880 -0
- package/node_modules/@comis/web/dist/assets/context-dag-browser-8RP0Dm9d.js +393 -0
- package/node_modules/@comis/web/dist/assets/context-engine-0Sl4qfpl.js +393 -0
- package/node_modules/@comis/web/dist/assets/decorate-C2wzL86z.js +38 -0
- package/node_modules/@comis/web/dist/assets/delivery-view-QQ-LYwDU.js +392 -0
- package/node_modules/@comis/web/dist/assets/diagnostics-view-DjMOkstH.js +231 -0
- package/node_modules/@comis/web/dist/assets/extract-variables-pqBMrtGG.js +149 -0
- package/node_modules/@comis/web/dist/assets/ic-array-editor-Ba7psX7q.js +118 -0
- package/node_modules/@comis/web/dist/assets/ic-breadcrumb-CamOsLdw.js +75 -0
- package/node_modules/@comis/web/dist/assets/ic-budget-segment-bar-Dw6vzCTO.js +64 -0
- package/node_modules/@comis/web/dist/assets/ic-chat-message-s52yIvwR.js +352 -0
- package/node_modules/@comis/web/dist/assets/ic-confirm-dialog-JnoEg4kp.js +110 -0
- package/node_modules/@comis/web/dist/assets/ic-connection-dot-3QDCBFHW.js +54 -0
- package/node_modules/@comis/web/dist/assets/ic-data-table-c9pQCH_h.js +279 -0
- package/node_modules/@comis/web/dist/assets/ic-delivery-row-BlEML37J.js +67 -0
- package/node_modules/@comis/web/dist/assets/ic-detail-panel-ZsLNS21P.js +116 -0
- package/node_modules/@comis/web/dist/assets/ic-empty-state-DIodMykW.js +52 -0
- package/node_modules/@comis/web/dist/assets/ic-graph-canvas-Dllu1VH-.js +359 -0
- package/node_modules/@comis/web/dist/assets/ic-layer-waterfall-3qBGZLwA.js +69 -0
- package/node_modules/@comis/web/dist/assets/ic-relative-time-DCCDywYC.js +12 -0
- package/node_modules/@comis/web/dist/assets/ic-search-input-zfYWKjl4.js +92 -0
- package/node_modules/@comis/web/dist/assets/ic-select-DY2apnK_.js +127 -0
- package/node_modules/@comis/web/dist/assets/ic-tabs-BsjznKoe.js +95 -0
- package/node_modules/@comis/web/dist/assets/ic-tag-C5SwX7RT.js +33 -0
- package/node_modules/@comis/web/dist/assets/ic-time-range-picker-uBAk6VB8.js +93 -0
- package/node_modules/@comis/web/dist/assets/ic-tool-call-CFexsEC4.js +146 -0
- package/node_modules/@comis/web/dist/assets/incident-view-C9r6FvdE.js +228 -0
- package/node_modules/@comis/web/dist/assets/index-HkMDWTbD.css +1 -0
- package/node_modules/@comis/web/dist/assets/index-IIyLteKK.js +2827 -0
- package/node_modules/@comis/web/dist/assets/mcp-management-CON6d_R1.js +586 -0
- package/node_modules/@comis/web/dist/assets/media-config-DNAN4cgu.js +314 -0
- package/node_modules/@comis/web/dist/assets/media-test-BOrE2MrP.js +496 -0
- package/node_modules/@comis/web/dist/assets/memory-inspector-CdE2cWRI.js +1141 -0
- package/node_modules/@comis/web/dist/assets/message-center-BggZE_We.js +372 -0
- package/node_modules/@comis/web/dist/assets/models-BpdoS8xA.js +894 -0
- package/node_modules/@comis/web/dist/assets/observe-view-D1ajhutj.js +814 -0
- package/node_modules/@comis/web/dist/assets/pipeline-builder-DwLB9aCL.js +1495 -0
- package/node_modules/@comis/web/dist/assets/pipeline-history-DVSVvho7.js +317 -0
- package/node_modules/@comis/web/dist/assets/pipeline-history-detail-C3e5mGIt.js +287 -0
- package/node_modules/@comis/web/dist/assets/pipeline-list-DYdQxTk4.js +518 -0
- package/node_modules/@comis/web/dist/assets/pipeline-monitor-Q48nN7ZK.js +972 -0
- package/node_modules/@comis/web/dist/assets/scheduler-Drjol0QC.js +1109 -0
- package/node_modules/@comis/web/dist/assets/security-DvcAVz_Q.js +1332 -0
- package/node_modules/@comis/web/dist/assets/session-detail-Cv3O0UDP.js +635 -0
- package/node_modules/@comis/web/dist/assets/session-key-parser-CzslOQQP.js +1 -0
- package/node_modules/@comis/web/dist/assets/session-list-BGVUpP_a.js +231 -0
- package/node_modules/@comis/web/dist/assets/setup-wizard-DZsr49mN.js +466 -0
- package/node_modules/@comis/web/dist/assets/skills-DP1dLFcB.js +317 -0
- package/node_modules/@comis/web/dist/assets/spend-governance-D-IBKKqz.js +117 -0
- package/node_modules/@comis/web/dist/assets/subagents-D0_m-5Pa.js +193 -0
- package/node_modules/@comis/web/dist/assets/workspace-manager-QmBrvxyy.js +785 -0
- package/node_modules/@comis/web/dist/index.html +4 -5
- package/node_modules/@comis/web/package.json +1 -1
- package/package.json +87 -48
- package/node_modules/@comis/agent/dist/context-engine/dag-annotator.d.ts +0 -48
- package/node_modules/@comis/agent/dist/context-engine/dag-annotator.js +0 -177
- package/node_modules/@comis/agent/dist/context-engine/dag-assembler.d.ts +0 -30
- package/node_modules/@comis/agent/dist/context-engine/dag-assembler.js +0 -296
- package/node_modules/@comis/agent/dist/context-engine/dag-compaction.d.ts +0 -110
- package/node_modules/@comis/agent/dist/context-engine/dag-compaction.js +0 -358
- package/node_modules/@comis/agent/dist/context-engine/dag-integrity.d.ts +0 -27
- package/node_modules/@comis/agent/dist/context-engine/dag-integrity.js +0 -372
- package/node_modules/@comis/agent/dist/context-engine/dag-reconciliation.d.ts +0 -94
- package/node_modules/@comis/agent/dist/context-engine/dag-reconciliation.js +0 -522
- package/node_modules/@comis/agent/dist/context-engine/dag-triggers.d.ts +0 -88
- package/node_modules/@comis/agent/dist/context-engine/dag-triggers.js +0 -230
- package/node_modules/@comis/agent/dist/context-engine/types-dag.d.ts +0 -238
- package/node_modules/@comis/agent/dist/context-engine/types-dag.js +0 -7
- package/node_modules/@comis/agent/dist/context-engine/types-integrity.d.ts +0 -76
- package/node_modules/@comis/agent/dist/context-engine/types-integrity.js +0 -7
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/cache-trace-writer.d.ts +0 -67
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/cache-trace-writer.js +0 -145
- package/node_modules/@comis/agent/dist/identity/identity-link-resolver.d.ts +0 -47
- package/node_modules/@comis/agent/dist/identity/identity-link-resolver.js +0 -54
- package/node_modules/@comis/agent/dist/model/model-alias-resolver.d.ts +0 -57
- package/node_modules/@comis/agent/dist/model/model-alias-resolver.js +0 -72
- package/node_modules/@comis/agent/dist/planner/checklist-formatter.d.ts +0 -21
- package/node_modules/@comis/agent/dist/planner/checklist-formatter.js +0 -53
- package/node_modules/@comis/channels/dist/discord/discord-resolver.d.ts +0 -43
- package/node_modules/@comis/channels/dist/discord/discord-resolver.js +0 -52
- package/node_modules/@comis/channels/dist/shared/approval-notifier.d.ts +0 -36
- package/node_modules/@comis/channels/dist/shared/approval-notifier.js +0 -83
- package/node_modules/@comis/channels/dist/shared/credential-validator-factory.d.ts +0 -20
- package/node_modules/@comis/channels/dist/shared/credential-validator-factory.js +0 -24
- package/node_modules/@comis/channels/dist/signal/signal-resolver.d.ts +0 -43
- package/node_modules/@comis/channels/dist/signal/signal-resolver.js +0 -52
- package/node_modules/@comis/core/dist/config/migrate.d.ts +0 -27
- package/node_modules/@comis/core/dist/config/migrate.js +0 -117
- package/node_modules/@comis/core/dist/config/schema-oauth.d.ts +0 -18
- package/node_modules/@comis/core/dist/config/schema-oauth.js +0 -19
- package/node_modules/@comis/core/dist/ports/credential-mapping.d.ts +0 -61
- package/node_modules/@comis/core/dist/ports/device-identity.d.ts +0 -50
- package/node_modules/@comis/core/dist/ports/device-identity.js +0 -14
- package/node_modules/@comis/core/dist/ports/skill.d.ts +0 -92
- package/node_modules/@comis/core/dist/security/config-redaction.d.ts +0 -19
- package/node_modules/@comis/core/dist/security/config-redaction.js +0 -42
- package/node_modules/@comis/daemon/dist/device/device-identity.d.ts +0 -29
- package/node_modules/@comis/daemon/dist/device/device-identity.js +0 -95
- package/node_modules/@comis/daemon/dist/device/device-pairing.d.ts +0 -31
- package/node_modules/@comis/daemon/dist/device/device-pairing.js +0 -240
- package/node_modules/@comis/daemon/dist/health/index.d.ts +0 -1
- package/node_modules/@comis/daemon/dist/health/index.js +0 -3
- package/node_modules/@comis/daemon/dist/health/watchdog.d.ts +0 -50
- package/node_modules/@comis/daemon/dist/health/watchdog.js +0 -99
- package/node_modules/@comis/daemon/dist/observability/latency-recorder.d.ts +0 -54
- package/node_modules/@comis/daemon/dist/observability/latency-recorder.js +0 -86
- package/node_modules/@comis/daemon/dist/process/graceful-shutdown.d.ts +0 -50
- package/node_modules/@comis/daemon/dist/process/graceful-shutdown.js +0 -127
- package/node_modules/@comis/daemon/dist/stages/agents-helpers.d.ts +0 -89
- package/node_modules/@comis/daemon/dist/stages/agents-helpers.js +0 -155
- package/node_modules/@comis/daemon/dist/stages/channels-helpers.d.ts +0 -127
- package/node_modules/@comis/daemon/dist/stages/channels-helpers.js +0 -223
- package/node_modules/@comis/daemon/dist/stages/foundation-helpers.d.ts +0 -53
- package/node_modules/@comis/daemon/dist/stages/foundation-helpers.js +0 -208
- package/node_modules/@comis/daemon/dist/stages/gateway-helpers.d.ts +0 -120
- package/node_modules/@comis/daemon/dist/stages/gateway-helpers.js +0 -277
- package/node_modules/@comis/daemon/dist/stages/index.d.ts +0 -14
- package/node_modules/@comis/daemon/dist/stages/index.js +0 -15
- package/node_modules/@comis/daemon/dist/stages/shutdown-helpers.d.ts +0 -84
- package/node_modules/@comis/daemon/dist/stages/shutdown-helpers.js +0 -157
- package/node_modules/@comis/infra/dist/runtime/is-docker.d.ts +0 -1
- package/node_modules/@comis/infra/dist/runtime/is-docker.js +0 -25
- package/node_modules/@comis/memory/dist/compaction.d.ts +0 -82
- package/node_modules/@comis/memory/dist/compaction.js +0 -181
- package/node_modules/@comis/memory/dist/context-schema.d.ts +0 -24
- package/node_modules/@comis/memory/dist/context-schema.js +0 -161
- package/node_modules/@comis/memory/dist/context-store.d.ts +0 -23
- package/node_modules/@comis/memory/dist/context-store.js +0 -522
- package/node_modules/@comis/memory/dist/credential-mapping-schema.d.ts +0 -25
- package/node_modules/@comis/memory/dist/credential-mapping-schema.js +0 -40
- package/node_modules/@comis/memory/dist/credential-mapping-store.d.ts +0 -22
- package/node_modules/@comis/memory/dist/credential-mapping-store.js +0 -115
- package/node_modules/@comis/memory/dist/identity-link-store.d.ts +0 -45
- package/node_modules/@comis/memory/dist/identity-link-store.js +0 -73
- package/node_modules/@comis/orchestrator/dist/execution/execution-policy.d.ts +0 -34
- package/node_modules/@comis/orchestrator/dist/execution/execution-policy.js +0 -127
- package/node_modules/@comis/orchestrator/dist/inbound/inbound-preprocess.d.ts +0 -19
- package/node_modules/@comis/orchestrator/dist/inbound/inbound-preprocess.js +0 -83
- package/node_modules/@comis/orchestrator/dist/inbound/inbound-resolve.d.ts +0 -28
- package/node_modules/@comis/orchestrator/dist/inbound/inbound-resolve.js +0 -57
- package/node_modules/@comis/orchestrator/dist/inbound/inbound-route.d.ts +0 -24
- package/node_modules/@comis/orchestrator/dist/inbound/inbound-route.js +0 -248
- package/node_modules/@comis/orchestrator/dist/inbound/inbound-setup.d.ts +0 -32
- package/node_modules/@comis/orchestrator/dist/inbound/inbound-setup.js +0 -147
- package/node_modules/@comis/orchestrator/dist/queue/priority-scheduler.d.ts +0 -59
- package/node_modules/@comis/orchestrator/dist/queue/priority-scheduler.js +0 -200
- package/node_modules/@comis/scheduler/dist/heartbeat/cron-delivery-policy.d.ts +0 -28
- package/node_modules/@comis/scheduler/dist/heartbeat/cron-delivery-policy.js +0 -33
- package/node_modules/@comis/scheduler/dist/heartbeat/cron-event-prompt.d.ts +0 -21
- package/node_modules/@comis/scheduler/dist/heartbeat/cron-event-prompt.js +0 -25
- package/node_modules/@comis/scheduler/dist/heartbeat/response-cache.d.ts +0 -45
- package/node_modules/@comis/scheduler/dist/heartbeat/response-cache.js +0 -65
- package/node_modules/@comis/scheduler/dist/tasks/index.d.ts +0 -8
- package/node_modules/@comis/scheduler/dist/tasks/index.js +0 -6
- package/node_modules/@comis/scheduler/dist/tasks/task-extractor.d.ts +0 -60
- package/node_modules/@comis/scheduler/dist/tasks/task-extractor.js +0 -90
- package/node_modules/@comis/scheduler/dist/tasks/task-priority.d.ts +0 -38
- package/node_modules/@comis/scheduler/dist/tasks/task-priority.js +0 -66
- package/node_modules/@comis/scheduler/dist/tasks/task-store.d.ts +0 -30
- package/node_modules/@comis/scheduler/dist/tasks/task-store.js +0 -74
- package/node_modules/@comis/scheduler/dist/tasks/task-types.d.ts +0 -75
- package/node_modules/@comis/scheduler/dist/tasks/task-types.js +0 -50
- package/node_modules/@comis/skills/dist/platform-tools/tools/ctx-expand-tool.d.ts +0 -25
- package/node_modules/@comis/skills/dist/platform-tools/tools/ctx-expand-tool.js +0 -48
- package/node_modules/@comis/skills/dist/platform-tools/tools/ctx-inspect-tool.d.ts +0 -23
- package/node_modules/@comis/skills/dist/platform-tools/tools/ctx-inspect-tool.js +0 -47
- package/node_modules/@comis/skills/dist/platform-tools/tools/ctx-recall-tool.d.ts +0 -27
- package/node_modules/@comis/skills/dist/platform-tools/tools/ctx-recall-tool.js +0 -62
- package/node_modules/@comis/skills/dist/platform-tools/tools/ctx-search-tool.d.ts +0 -27
- package/node_modules/@comis/skills/dist/platform-tools/tools/ctx-search-tool.js +0 -52
- package/node_modules/@comis/skills/dist/platform-tools/tools/unified-context-tool.d.ts +0 -35
- package/node_modules/@comis/skills/dist/platform-tools/tools/unified-context-tool.js +0 -106
- package/node_modules/@comis/skills/dist/platform-tools/tools/unified-memory-tool.d.ts +0 -45
- package/node_modules/@comis/skills/dist/platform-tools/tools/unified-memory-tool.js +0 -230
- package/node_modules/@comis/skills/dist/platform-tools/tools/unified-session-tool.d.ts +0 -33
- package/node_modules/@comis/skills/dist/platform-tools/tools/unified-session-tool.js +0 -130
- package/node_modules/@comis/skills/dist/tools/browser/screenshot-normalizer.d.ts +0 -63
- package/node_modules/@comis/skills/dist/tools/browser/screenshot-normalizer.js +0 -124
- package/node_modules/@comis/skills/dist/tools/browser/smart-waits.d.ts +0 -44
- package/node_modules/@comis/skills/dist/tools/browser/smart-waits.js +0 -74
- package/node_modules/@comis/skills/dist/tools/integrations/image-gen/openai-adapter.d.ts +0 -11
- package/node_modules/@comis/skills/dist/tools/integrations/image-gen/openai-adapter.js +0 -32
- package/node_modules/@comis/skills/dist/tools/integrations/multimodal-analyzer.d.ts +0 -27
- package/node_modules/@comis/skills/dist/tools/integrations/multimodal-analyzer.js +0 -139
- package/node_modules/@comis/skills/dist/tools/media/audio-tags.d.ts +0 -37
- package/node_modules/@comis/skills/dist/tools/media/audio-tags.js +0 -45
- package/node_modules/@comis/skills/dist/tools/media/file-validator.d.ts +0 -45
- package/node_modules/@comis/skills/dist/tools/media/file-validator.js +0 -98
- package/node_modules/@comis/skills/dist/tools/media/image-ops.d.ts +0 -64
- package/node_modules/@comis/skills/dist/tools/media/image-ops.js +0 -139
- package/node_modules/@comis/skills/dist/tools/media/media-store.d.ts +0 -64
- package/node_modules/@comis/skills/dist/tools/media/media-store.js +0 -178
- package/node_modules/@comis/web/dist/assets/agent-detail-DXSFtHWB.js +0 -615
- package/node_modules/@comis/web/dist/assets/agent-editor-CiuLrd4A.js +0 -2173
- package/node_modules/@comis/web/dist/assets/agent-list-CSZqnk49.js +0 -504
- package/node_modules/@comis/web/dist/assets/approvals-BCnwA_Wl.js +0 -54
- package/node_modules/@comis/web/dist/assets/billing-view-Dt9hN2-S.js +0 -375
- package/node_modules/@comis/web/dist/assets/channel-detail-Bxd-eTyq.js +0 -681
- package/node_modules/@comis/web/dist/assets/channel-list-BTQK5Su0.js +0 -323
- package/node_modules/@comis/web/dist/assets/chat-console-BWFla-NT.js +0 -522
- package/node_modules/@comis/web/dist/assets/config-editor-B0KqHvNZ.js +0 -880
- package/node_modules/@comis/web/dist/assets/context-dag-browser-DrU6rs_2.js +0 -393
- package/node_modules/@comis/web/dist/assets/context-engine-4Or7ghQM.js +0 -393
- package/node_modules/@comis/web/dist/assets/decorate-BvWYovGE.js +0 -38
- package/node_modules/@comis/web/dist/assets/delivery-view-DTqEXWkS.js +0 -392
- package/node_modules/@comis/web/dist/assets/diagnostics-view-BgRS9D1X.js +0 -231
- package/node_modules/@comis/web/dist/assets/extract-variables-B5H_luKW.js +0 -149
- package/node_modules/@comis/web/dist/assets/ic-array-editor-Cyy1IkY8.js +0 -118
- package/node_modules/@comis/web/dist/assets/ic-breadcrumb-1qP0UJ5v.js +0 -75
- package/node_modules/@comis/web/dist/assets/ic-budget-segment-bar-BWIGfwtb.js +0 -64
- package/node_modules/@comis/web/dist/assets/ic-chat-message-b8x6Gh80.js +0 -352
- package/node_modules/@comis/web/dist/assets/ic-confirm-dialog-Wdt0QSRg.js +0 -110
- package/node_modules/@comis/web/dist/assets/ic-connection-dot-gE_3dfRP.js +0 -54
- package/node_modules/@comis/web/dist/assets/ic-data-table-DPg9-J1A.js +0 -277
- package/node_modules/@comis/web/dist/assets/ic-delivery-row-F-EU0Xak.js +0 -67
- package/node_modules/@comis/web/dist/assets/ic-detail-panel-DGevqzFo.js +0 -116
- package/node_modules/@comis/web/dist/assets/ic-empty-state-BRy4ZXds.js +0 -52
- package/node_modules/@comis/web/dist/assets/ic-graph-canvas-BoTtvCKw.js +0 -359
- package/node_modules/@comis/web/dist/assets/ic-icon-BkVssjSQ.js +0 -33
- package/node_modules/@comis/web/dist/assets/ic-layer-waterfall-CFPbnC1V.js +0 -69
- package/node_modules/@comis/web/dist/assets/ic-relative-time-D6XlY7ay.js +0 -12
- package/node_modules/@comis/web/dist/assets/ic-search-input-BpNiR0Fq.js +0 -92
- package/node_modules/@comis/web/dist/assets/ic-select-BEeaNppH.js +0 -127
- package/node_modules/@comis/web/dist/assets/ic-tabs-BM8xZY4a.js +0 -95
- package/node_modules/@comis/web/dist/assets/ic-tag-CKh2gHHX.js +0 -33
- package/node_modules/@comis/web/dist/assets/ic-time-range-picker-BBLngsQy.js +0 -93
- package/node_modules/@comis/web/dist/assets/ic-tool-call-BgawpBdb.js +0 -146
- package/node_modules/@comis/web/dist/assets/index-D-Jo4yjp.css +0 -2
- package/node_modules/@comis/web/dist/assets/index-D_ZV_sV5.js +0 -2793
- package/node_modules/@comis/web/dist/assets/mcp-management-b4i92dMD.js +0 -582
- package/node_modules/@comis/web/dist/assets/media-config-CWrVZl6U.js +0 -314
- package/node_modules/@comis/web/dist/assets/media-test-Bmo-rRC7.js +0 -496
- package/node_modules/@comis/web/dist/assets/memory-inspector-BxrE6SZ2.js +0 -1139
- package/node_modules/@comis/web/dist/assets/message-center-DWeWxIrB.js +0 -372
- package/node_modules/@comis/web/dist/assets/models-Kqn-n6hZ.js +0 -894
- package/node_modules/@comis/web/dist/assets/observe-view-D6TtO4wV.js +0 -814
- package/node_modules/@comis/web/dist/assets/pipeline-builder-B37sMf0m.js +0 -1495
- package/node_modules/@comis/web/dist/assets/pipeline-history-DsOViMHn.js +0 -317
- package/node_modules/@comis/web/dist/assets/pipeline-history-detail-D6g-NB_Q.js +0 -287
- package/node_modules/@comis/web/dist/assets/pipeline-list-Cdq3gXY-.js +0 -518
- package/node_modules/@comis/web/dist/assets/pipeline-monitor-5Cpf53xw.js +0 -972
- package/node_modules/@comis/web/dist/assets/scheduler-BhvTHH12.js +0 -1182
- package/node_modules/@comis/web/dist/assets/security-CVla4rqz.js +0 -1224
- package/node_modules/@comis/web/dist/assets/session-detail-DY2vzwAA.js +0 -632
- package/node_modules/@comis/web/dist/assets/session-key-parser-DKcjXRm7.js +0 -1
- package/node_modules/@comis/web/dist/assets/session-list-Do6x1E42.js +0 -231
- package/node_modules/@comis/web/dist/assets/setup-wizard-BWXGUpsz.js +0 -466
- package/node_modules/@comis/web/dist/assets/skills-LNGRvGqi.js +0 -317
- package/node_modules/@comis/web/dist/assets/subagents-Cw3fWHL2.js +0 -193
- package/node_modules/@comis/web/dist/assets/system-time-B0nBw4nV.js +0 -1
- package/node_modules/@comis/web/dist/assets/workspace-manager-CQEZ9ckL.js +0 -785
- /package/node_modules/@comis/{core/dist/ports/credential-mapping.js → channels/dist/shared/strategies/actions.js} +0 -0
- /package/node_modules/@comis/core/dist/{ports/skill.js → activity/activity-stream-port.js} +0 -0
- /package/node_modules/@comis/web/dist/assets/{directive-BLQp04BH.js → directive-BSZPiF1A.js} +0 -0
- /package/node_modules/@comis/web/dist/assets/{observability-types-D0tkwElU.js → observability-types-BvcvLSWK.js} +0 -0
|
@@ -1,57 +1,95 @@
|
|
|
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
|
|
2
|
+
// @allow-throw: daemon bootstrap composition-root failures (secrets bootstrap, decryption, etc.); hard-fail at startup is the correct contract (bootstrap() returns Result but daemon.ts is the entry point that catches it and exits).
|
|
3
3
|
/**
|
|
4
|
-
* Daemon Entry Point:
|
|
4
|
+
* Daemon Entry Point: composition root for the entire daemon process.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* (
|
|
10
|
-
*
|
|
6
|
+
* Structure: (1) imports; (2) DEFAULT_CONFIG_PATHS + applyInspectDefaultsForLogging;
|
|
7
|
+
* (3) hardenDataDirPermissions; (4) runPreflightDoctor; (5) process.env scrub helpers;
|
|
8
|
+
* (6) agents-stage helpers; (7) channels-stage helpers (buildChannelManagerDeps,
|
|
9
|
+
* buildGraphCoordinatorDeps, wirePostChannelsLifecycle); (8) gateway-stage helpers
|
|
10
|
+
* (resolveGatewayTokens, createHotAdd/Remove, buildRpcDispatchDeps,
|
|
11
|
+
* replayContinuationsIfAny); (9) shutdown-stage helpers; (10) bootFoundation /
|
|
12
|
+
* bootAgents / bootChannels / bootGateway / bootShutdown; (11) main(); (12) direct-run guard.
|
|
13
|
+
*
|
|
14
|
+
* The 4-handle chain (Foundation → Agents → Channels → Gateway) is collapsed into ONE
|
|
15
|
+
* BootContext (`./daemon-types.ts`): each boot* helper takes `boot: BootContext` and
|
|
16
|
+
* mutates it via Object.assign; main() chains the 5 helpers. The 6 true forward-ref
|
|
17
|
+
* slots (channelPluginsRef, bgNotifyRef, cronWakeCallbackRef, gatewaySendRef,
|
|
18
|
+
* shutdownRef, channelAdaptersRef) persist on BootContext. Larger one-shot helpers are
|
|
19
|
+
* top-level functions here; trivial ones are inlined at their single call site. Some
|
|
20
|
+
* helpers live in wiring/main-helpers.ts (image/video bundles, durability, etc.).
|
|
11
21
|
*
|
|
12
22
|
* @module
|
|
13
23
|
*/
|
|
14
|
-
import { bootstrap, loadEnvFile, createApprovalGate, parseFormattedSessionKey, envSubset, createInjectionRateLimiter, checkApprovalsConfig, safePath, resolveConfigSecretRefs, BackgroundTasksConfigSchema, } from "@comis/core";
|
|
24
|
+
import { bootstrap, loadEnvFile, createApprovalGate, createAuditAggregator, createConfigGitManager, parseFormattedSessionKey, envSubset, createInjectionRateLimiter, checkApprovalsConfig, formatSessionKey, safePath, resolveConfigSecretRefs, validateMemoryWrite, themeForName, BackgroundTasksConfigSchema, writeMasterKeyIfAbsent, preReadStorageMode, systemNowMs, } from "@comis/core";
|
|
15
25
|
// Runtime adapter factories — constructed at the composition root and
|
|
16
26
|
// threaded through wiring helpers that retarget Date.now / process.env /
|
|
17
27
|
// setTimeout / setInterval. Sanctioned construction site.
|
|
18
28
|
import { createSystemClock, createSystemEnv, createSystemTimers } from "@comis/infra";
|
|
19
|
-
import {
|
|
29
|
+
import { createNamedGraphStore, createObservabilityStore, selectSecretStore, } from "@comis/memory";
|
|
20
30
|
import { createGatewayServer } from "@comis/gateway";
|
|
21
|
-
import { setupLogging, setupObservability, setupHealth, setupMemory, setupAgents, setupSchedulers, setupChannels, setupMedia, setupCrossSession, setupTools, setupMonitoring, setupHeartbeat,
|
|
22
|
-
import { createActiveRunRegistry, createBackgroundSessionResolver, createGeminiCacheManager, validateProviderOverrides, } from "@comis/agent";
|
|
31
|
+
import { setupLogging, setupObservability, rehydrateSpendFromStore, setupHealth, setupMemory, setupAgents, setupSchedulers, setupChannels, createInteractiveCallbackWiring, setupMedia, setupCrossSession, setupTools, setupMonitoring, setupHeartbeat, setupShutdown, setupGateway, setupRpcBridge, setupDeliveryQueue, setupDeliveryMirror, buildDurableStores, buildDurableResume, createWorktreeRegistry, toLifecycleGitExec, setupWorktreeSweep, discoverWorktreeOrphans, setupNotifications, setupBackgroundTasks, setupBackgroundCompletionRunner, setupTerminalWake, setupMcp, selectMcpTokenStore, setupSkillBundles, buildSkillRegistriesForBundles, setupOutputRetention, setupBroker, acquireDataDirLock, releaseDataDirLock, } from "./wiring/index.js";
|
|
32
|
+
import { createActiveRunRegistry, createBackgroundSessionResolver, clearSessionState, createGeminiCacheManager, createSessionTrackerRegistry, evaluateViableFloorForAgent, probeAllOllamaProviders, seedDefaultDagTemplates, validateProviderOverrides, wireGeminiCacheCleanup, wireMcpDisconnectCleanup, wireSessionStateCleanup, } from "@comis/agent";
|
|
33
|
+
// resolveAgentMainProvider is the handler-side accessor that delegates to the
|
|
34
|
+
// EXACT completion-path resolveAgentModel (I4 lockstep / RES-01). Imported
|
|
35
|
+
// directly (not via the wiring barrel) to avoid widening the barrel surface.
|
|
36
|
+
import { resolveAgentMainProvider } from "./wiring/setup-agents/setup-agents-tooling.js";
|
|
37
|
+
import { seedBundledSkills, defaultSeedBundledSkillsDeps } from "./wiring/seed-bundled-skills.js";
|
|
23
38
|
// createModelCatalog + resolveWorkspaceDir live in @comis/core.
|
|
24
39
|
import { createModelCatalog, resolveWorkspaceDir } from "@comis/core";
|
|
25
|
-
import { detectSandboxProvider } from "@comis/skills";
|
|
40
|
+
import { createFileStateTracker, detectSandboxProvider } from "@comis/skills";
|
|
41
|
+
import { reapNeverTaskedDrives as reapNeverTaskedDrivesInRegistry } from "@comis/skills/tools";
|
|
42
|
+
import { constructCapabilityLayer } from "./wiring/setup-capability-endpoint-boot.js"; // Phase 211 ENDPOINT-01/03 + JAIL-03
|
|
43
|
+
// The single process-singleton activity circuit breaker is constructed
|
|
44
|
+
// here and threaded down through ChannelsDeps → buildAndStartChannelManager
|
|
45
|
+
// into every per-turn coordinator. The daemon is the composition root that owns
|
|
46
|
+
// the breaker's lifetime; the orchestrator owns its logic.
|
|
47
|
+
import { createActivityCircuitBreaker } from "@comis/orchestrator";
|
|
26
48
|
import { createGraphCoordinator, createNodeTypeRegistry } from "./graph/index.js";
|
|
49
|
+
import { resolveGraphConcurrencyDefaults } from "./graph/graph-capability-defaults.js";
|
|
27
50
|
import { createWakeCoalescer, createSystemEventQueue } from "@comis/scheduler";
|
|
28
51
|
import { createTokenRegistry } from "./api/token-handlers.js";
|
|
29
|
-
import {
|
|
52
|
+
import { buildObsMcpClientClosures } from "./wiring/obs-mcp-closures.js";
|
|
53
|
+
import { createEmptyBootContext } from "./daemon-types.js";
|
|
30
54
|
import { setupObsPersistence } from "./observability/obs-persistence-wiring.js";
|
|
55
|
+
import { recordModelHealth } from "./observability/record-model-health.js";
|
|
56
|
+
import { buildConfigPostureRecord, countChimericModels, countPricingGaps, isLoopbackHost } from "./observability/build-config-posture-record.js";
|
|
57
|
+
import { setupDeliveryQueueLogging } from "./observability/delivery-queue-logger.js";
|
|
31
58
|
import { createContextPipelineCollector } from "./observability/context-pipeline-collector.js";
|
|
32
|
-
import { createLogLevelManager } from "./observability/log-infra.js";
|
|
59
|
+
import { createLogLevelManager, expandTilde } from "./observability/log-infra.js";
|
|
33
60
|
import { createTokenTracker } from "./observability/token-tracker.js";
|
|
34
61
|
import { createTracingLogger } from "./observability/trace-logger.js";
|
|
35
62
|
import { setupChannelHealthLogging } from "./observability/channel-health-logger.js";
|
|
36
|
-
import { registerGracefulShutdown } from "./process/graceful-shutdown.js";
|
|
37
63
|
import { createProcessMonitor } from "./process/process-monitor.js";
|
|
38
|
-
import {
|
|
64
|
+
import { ok, err, suppressError } from "@comis/shared";
|
|
65
|
+
import { exportTrajectoryBundle } from "@comis/observability";
|
|
39
66
|
import { randomUUID } from "node:crypto";
|
|
40
|
-
import { existsSync,
|
|
67
|
+
import { existsSync, statSync } from "node:fs";
|
|
68
|
+
import { writeFile as fsWriteFile, rm } from "node:fs/promises";
|
|
69
|
+
import { fileURLToPath } from "node:url";
|
|
70
|
+
import { resolve as pathResolve } from "node:path";
|
|
41
71
|
import { createExecGit } from "./config/exec-git.js";
|
|
42
72
|
import { saveLastKnownGood, buildRollbackSuggestion, handleRestoreFlag } from "./config/last-known-good.js";
|
|
43
|
-
import {
|
|
73
|
+
import { runConfigBootstrapAndEmitObserve } from "./config/bootstrap-observe.js";
|
|
74
|
+
import { createRestartContinuationTracker, loadContinuations, buildMcpStatusLine, } from "./wiring/restart-continuation.js";
|
|
75
|
+
import { setupSingleAgent, createLearnedSkillSurfaceRegistry } from "./wiring/setup-agents/index.js";
|
|
76
|
+
import { buildDialecticWiring, dialecticWiringDepsFromBoot } from "./wiring/setup-dialectic.js";
|
|
77
|
+
import { createConversationReset } from "./wiring/conversation-reset.js";
|
|
78
|
+
import { setupSecretManager } from "./wiring/setup-secret-manager.js";
|
|
79
|
+
import { restoreApprovalState, resolveGatewayTokens, setupChannelHealthMonitor, resolveModelHealthMultilingual, buildImageGenBundle, buildImageHandlerDeps, buildVideoGenBundle, buildVideoHandlerDeps, buildVideoStatusHandlerDeps, buildMediaVisionBundle, createBoundedAutonomyWiring } from "./wiring/main-helpers.js";
|
|
80
|
+
import { hardenDataDirPermissions } from "./wiring/harden-data-dir.js";
|
|
81
|
+
import { buildAudioResolverDeps } from "./wiring/setup-audio-provider.js";
|
|
82
|
+
import { runPreflightDoctor } from "./wiring/preflight-doctor.js";
|
|
44
83
|
import { createInboundMessageIdResolver } from "./wiring/inbound-message-id-resolver.js";
|
|
45
84
|
import { logOperationModelDryRun } from "./wiring/startup-dry-run.js";
|
|
85
|
+
import { emitStartupBanner } from "./wiring/emit-startup-banner.js";
|
|
86
|
+
import { emitStartupInvariants } from "./wiring/setup-startup-invariants.js";
|
|
87
|
+
import { checkStorageModeConsistency } from "./wiring/setup-storage-mismatch-warn.js";
|
|
88
|
+
import { buildPlaceholdersFromBindings } from "./wiring/broker-placeholder-builder.js";
|
|
89
|
+
import { warnOnProviderTimeoutRedirect } from "./wiring/provider-timeout-redirect.js";
|
|
46
90
|
import os from "node:os";
|
|
47
91
|
import { dirname as pathDirname } from "node:path";
|
|
48
92
|
import { inspect } from "node:util";
|
|
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
93
|
export const DEFAULT_CONFIG_PATHS = [
|
|
56
94
|
safePath(safePath(os.homedir(), ".comis"), "config.yaml"),
|
|
57
95
|
safePath(safePath(os.homedir(), ".comis"), "config.local.yaml"),
|
|
@@ -85,96 +123,725 @@ export function applyInspectDefaultsForLogging(env) {
|
|
|
85
123
|
inspect.defaultOptions.breakLength = Infinity;
|
|
86
124
|
return { depthChanged, breakLengthChanged };
|
|
87
125
|
}
|
|
126
|
+
// Preflight native-dep doctor — extracted to wiring/preflight-doctor.ts to keep
|
|
127
|
+
// this composition root ≤3000 lines (v2.25 audio wiring pushed it over). Imported
|
|
128
|
+
// for the boot call site below AND re-exported so `runPreflightDoctor` stays on
|
|
129
|
+
// daemon.ts's public surface (daemon.test.ts imports it from "./daemon.js").
|
|
130
|
+
export { runPreflightDoctor };
|
|
88
131
|
// ---------------------------------------------------------------------------
|
|
89
|
-
//
|
|
132
|
+
// Foundation helpers — scrub + store-wins env merge
|
|
90
133
|
// ---------------------------------------------------------------------------
|
|
91
134
|
/**
|
|
92
|
-
*
|
|
93
|
-
*
|
|
135
|
+
* Sensitive environment variable prefixes to remove from process.env after
|
|
136
|
+
* the SecretManager snapshot captures them. Prevents leakage through
|
|
137
|
+
* subprocess inheritance.
|
|
94
138
|
*/
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
139
|
+
const SENSITIVE_PREFIXES = [
|
|
140
|
+
"ANTHROPIC_",
|
|
141
|
+
"OPENAI_",
|
|
142
|
+
"TELEGRAM_",
|
|
143
|
+
"DISCORD_",
|
|
144
|
+
"SLACK_",
|
|
145
|
+
"WHATSAPP_",
|
|
146
|
+
"GOOGLE_",
|
|
147
|
+
"GROQ_",
|
|
148
|
+
"MISTRAL_",
|
|
149
|
+
"DEEPGRAM_",
|
|
150
|
+
"ELEVENLABS_",
|
|
151
|
+
"SENDGRID_",
|
|
152
|
+
"STRIPE_",
|
|
153
|
+
];
|
|
154
|
+
/** Individual keys to scrub that don't match prefix patterns. */
|
|
155
|
+
const SENSITIVE_EXACT_KEYS = new Set([
|
|
156
|
+
"SECRETS_MASTER_KEY",
|
|
157
|
+
]);
|
|
158
|
+
/**
|
|
159
|
+
* Stage-1 scrub: remove sensitive env vars from process.env (ALL storage modes).
|
|
160
|
+
* Preserves COMIS_* (filesystem-layout pointers, not credentials — kept for
|
|
161
|
+
* subprocess path resolution; per-spawn-site envSubset() excludes them from
|
|
162
|
+
* untrusted-child envs). Preserves PATH, HOME, NODE_ENV, etc.
|
|
163
|
+
*/
|
|
164
|
+
function scrubProcessEnv() {
|
|
165
|
+
for (const key of Object.keys(process.env)) {
|
|
166
|
+
if (SENSITIVE_EXACT_KEYS.has(key)) {
|
|
167
|
+
// eslint-disable-next-line no-restricted-syntax -- see scrubProcessEnv comment above
|
|
168
|
+
delete process.env[key];
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
171
|
+
for (const prefix of SENSITIVE_PREFIXES) {
|
|
172
|
+
if (key.startsWith(prefix)) {
|
|
173
|
+
// eslint-disable-next-line no-restricted-syntax -- see scrubProcessEnv comment above
|
|
174
|
+
delete process.env[key];
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
100
178
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
179
|
+
}
|
|
180
|
+
/** Build mergedEnv: store-wins, stage-1 scrub for ALL modes.
|
|
181
|
+
* Returns shadowed names for deferred WARN logging (logger not yet available). */
|
|
182
|
+
function buildMergedEnv(secretStore, mode) {
|
|
183
|
+
const merged = {
|
|
184
|
+
...process.env,
|
|
185
|
+
};
|
|
186
|
+
if (mode === "env") {
|
|
187
|
+
// Env mode: env IS the source. No store values to overlay.
|
|
188
|
+
scrubProcessEnv();
|
|
189
|
+
return { mergedEnv: merged, shadowedNames: [] };
|
|
190
|
+
}
|
|
191
|
+
// file / encrypted: store is authoritative.
|
|
192
|
+
const decryptResult = secretStore.decryptAll();
|
|
193
|
+
if (!decryptResult.ok) {
|
|
194
|
+
throw new Error(`Secret decryption failed: ${decryptResult.error.message}`);
|
|
195
|
+
}
|
|
196
|
+
const shadowedNames = [];
|
|
197
|
+
for (const [name, value] of decryptResult.value) {
|
|
198
|
+
if (merged[name] !== undefined && merged[name] !== value) {
|
|
199
|
+
// store wins; collect name for deferred WARN (logger not yet available).
|
|
200
|
+
shadowedNames.push(name);
|
|
109
201
|
}
|
|
202
|
+
merged[name] = value;
|
|
110
203
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
204
|
+
scrubProcessEnv();
|
|
205
|
+
return { mergedEnv: merged, shadowedNames };
|
|
206
|
+
}
|
|
207
|
+
// ---------------------------------------------------------------------------
|
|
208
|
+
// Agents helpers
|
|
209
|
+
// ---------------------------------------------------------------------------
|
|
210
|
+
// Helpers consumed by `bootAgents`. `wirePostAgentsCleanup` (eventBus.on
|
|
211
|
+
// subscriber wiring for session:expired → registry release + Gemini cache
|
|
212
|
+
// cleanup + MCP disconnect cleanup; returns the per-session FileStateTracker
|
|
213
|
+
// pool) is kept here as a top-level function (large body, single call site).
|
|
214
|
+
// `restoreApprovalState` (file I/O against the approvals JSON snapshot left by
|
|
215
|
+
// graceful shutdown) lives in `wiring/main-helpers.ts` to keep this file under
|
|
216
|
+
// its architecture line cap. Three other helpers (setupMcpManager,
|
|
217
|
+
// buildAuditBundle, buildDeferredCronWakeCallback) were inlined into bootAgents.
|
|
218
|
+
// ---------------------------------------------------------------------------
|
|
219
|
+
/**
|
|
220
|
+
* Wire post-setupAgents cleanup listeners: session:expired releases
|
|
221
|
+
* sessionTrackerRegistry, Gemini cache disposal, and MCP disconnect cleanup.
|
|
222
|
+
* Schedules an orphan-cache cleanup pass for any stale comis:* caches.
|
|
223
|
+
*/
|
|
224
|
+
function wirePostAgentsCleanup(deps) {
|
|
225
|
+
const { eventBus, geminiCacheManager, daemonLogger } = deps;
|
|
226
|
+
// Clean up all session-scoped state on session expiry
|
|
227
|
+
wireSessionStateCleanup(eventBus);
|
|
228
|
+
// Per-session FileStateTracker pool -- keeps the LLM's file read state alive
|
|
229
|
+
// across turns. Registered trackers are released on session:expired.
|
|
230
|
+
const sessionTrackerRegistry = createSessionTrackerRegistry(createFileStateTracker);
|
|
231
|
+
eventBus.on("session:expired", (payload) => {
|
|
232
|
+
sessionTrackerRegistry.release(formatSessionKey(payload.sessionKey));
|
|
233
|
+
});
|
|
234
|
+
// Dispose Gemini cache on session expiry (fire-and-forget)
|
|
235
|
+
wireGeminiCacheCleanup(eventBus, geminiCacheManager);
|
|
236
|
+
// Clean up orphaned comis:* caches from previous daemon runs
|
|
237
|
+
suppressError(geminiCacheManager.cleanupOrphaned().then((result) => {
|
|
238
|
+
if (result.ok && (result.value.deleted > 0 || result.value.skipped > 0)) {
|
|
239
|
+
daemonLogger.info({ deleted: result.value.deleted, skipped: result.value.skipped }, "Gemini cache: orphan cleanup complete");
|
|
123
240
|
}
|
|
124
|
-
|
|
241
|
+
}), "gemini-cache-orphan-cleanup");
|
|
242
|
+
// Clean up discovery state when MCP servers disconnect or remove tools
|
|
243
|
+
wireMcpDisconnectCleanup(eventBus);
|
|
244
|
+
return sessionTrackerRegistry;
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Build the deps object passed to `setupChannels`. The tool-assembler /
|
|
248
|
+
* session-tracker / inbound-message-id-resolver indirection slots are
|
|
249
|
+
* gone — callers pass `assembleToolsForAgent` directly (setupTools is
|
|
250
|
+
* hoisted before setupChannels) and pass `sessionTracker` /
|
|
251
|
+
* `inboundMessageIdResolver` accessor closures that read local-`let` slots
|
|
252
|
+
* captured at message-arrival time.
|
|
253
|
+
*/
|
|
254
|
+
function buildChannelManagerDeps(deps) {
|
|
255
|
+
const { agents, assembleToolsForAgent, getInboundMessageIdResolver, getSessionTracker } = deps;
|
|
256
|
+
const { container, executors, defaultAgentId, sessionManager, sessionStore, logger, channelsLogger, linkRunner, ssrfFetcher, transcriber, ttsAdapter, audioConverter, mediaTempManager, mediaSemaphore, fileExtractor, workspaceDirs, defaultWorkspaceDir, memoryAdapter, memoryApi, entityStore, causalStore, consolidationStore, memoryLifecycleStore, outcomeStore, learnedSkillStore, embeddingQueue, activeRunRegistry, sessionResolver, rpcCall, continuationTracker, approvalGate, interactiveCallbackWiring, piSessionAdapters, costTrackers, deliveryQueue, recordOutboundMessage, executionTrackers, onSuspiciousContent, dataDir, clock, timers, activityBreaker, activityStream, activityRendererFactoryOverride, executionPlanPorts, oauthManagers, } = agents;
|
|
257
|
+
// LEARN-01: per-agent OAuth access-token resolver (auto-refreshing) so the
|
|
258
|
+
// background memory/learning cron jobs run on an OAuth main provider
|
|
259
|
+
// (openai-codex) instead of skipping for "no API key". Wraps the SAME
|
|
260
|
+
// OAuthTokenManager.getApiKey the interactive + media-bundle paths use.
|
|
261
|
+
const resolveCronAccessToken = async (agentId, provider) => {
|
|
262
|
+
const mgr = oauthManagers?.get(agentId);
|
|
263
|
+
if (!mgr)
|
|
264
|
+
return undefined;
|
|
265
|
+
const r = await mgr.getApiKey(provider, {
|
|
266
|
+
oauthProfiles: container.config.agents?.[agentId]?.oauthProfiles,
|
|
267
|
+
});
|
|
268
|
+
return r.ok ? r.value : undefined;
|
|
269
|
+
};
|
|
270
|
+
// Complete three-layer forget for channel /new + /reset (live 2026-06-11).
|
|
271
|
+
const channelConversationReset = createConversationReset({ lcdStore: agents.lcdStore, piSessionAdapters, tenantId: container.config.tenantId, logger });
|
|
272
|
+
// Build exportSessionBundle DI closure for the /export-trajectory slash
|
|
273
|
+
// command. Uses exportTrajectoryBundle from @comis/observability (same
|
|
274
|
+
// pipeline as `comis trace export`).
|
|
275
|
+
const exportSessionBundle = async (sessionId) => {
|
|
276
|
+
const sessionsDir = safePath(container.config.dataDir ?? dataDir, "sessions");
|
|
277
|
+
const sessionFile = safePath(sessionsDir, `${sessionId}.jsonl`);
|
|
278
|
+
const workspaceDir = defaultWorkspaceDir ?? safePath(container.config.dataDir ?? dataDir, "workspace");
|
|
279
|
+
const result = await exportTrajectoryBundle({
|
|
280
|
+
sessionId,
|
|
281
|
+
sessionKey: sessionId,
|
|
282
|
+
sessionFile,
|
|
283
|
+
workspaceDir,
|
|
284
|
+
traceId: sessionId, // best-effort; bundle exporter uses for naming only
|
|
285
|
+
agentId: "unknown", // best-effort; available in session file header
|
|
286
|
+
});
|
|
287
|
+
if (!result.ok)
|
|
288
|
+
throw new Error(`Bundle export failed: ${result.error.kind}`);
|
|
289
|
+
return { bundlePath: result.value.bundleDir };
|
|
290
|
+
};
|
|
291
|
+
return {
|
|
292
|
+
container, executors, defaultAgentId, sessionManager, sessionStore,
|
|
293
|
+
logger, channelsLogger, clock, timers,
|
|
294
|
+
resolveAccessToken: resolveCronAccessToken, // LEARN-01: OAuth-provider background jobs
|
|
295
|
+
// the orchestrator-facing redacted ActivityStream (setupObservability)
|
|
296
|
+
// injected into the inbound coordinatorFactory as its activityStreamPort.
|
|
297
|
+
// the process-singleton circuit breaker shared across every coordinator.
|
|
298
|
+
activityStream, activityBreaker,
|
|
299
|
+
// the DEFAULT agent's shared ExecutionPlanHolder reference
|
|
300
|
+
// (Pitfall 1 lock — same reference as PiExecutorDeps.executionPlanHolder +
|
|
301
|
+
// AcpServerDeps.executionPlanPort, NOT a parallel createExecutionPlanHolder).
|
|
302
|
+
// Multi-agent note: only the default agent's plan-state reaches chat in this
|
|
303
|
+
// wave; non-default-agent plan updates are filtered out per-turn in the
|
|
304
|
+
// coordinator by the (agentId, sessionKey) guard. A future per-agent
|
|
305
|
+
// plan-stream Map plumbing lifts that single-agent limitation cleanly.
|
|
306
|
+
executionPlanPort: executionPlanPorts.get(defaultAgentId),
|
|
307
|
+
// test-only renderer-injection seam. Default-undefined in production
|
|
308
|
+
// (the daemon override is never set); threaded into buildActivityRenderers so
|
|
309
|
+
// an integration test can inject a spy renderer.
|
|
310
|
+
activityRendererFactory: activityRendererFactoryOverride,
|
|
311
|
+
// signed approval buttons (Telegram/Discord/Slack/LINE) + the Email
|
|
312
|
+
// single-use approval link. The wiring is built once in the agents phase
|
|
313
|
+
// (always present at runtime; optional-typed on BootContext).
|
|
314
|
+
signCallbackData: interactiveCallbackWiring?.signCallbackData,
|
|
315
|
+
mintApprovalLink: interactiveCallbackWiring?.mintApprovalLink,
|
|
316
|
+
// thread the verifier. The InteractiveCallbackRouter is the server-side
|
|
317
|
+
// authority that intercepts inbound button callbacks (inbound-gate.ts) BEFORE
|
|
318
|
+
// slash parsing — without this hop the signed payload reaches the LLM as text.
|
|
319
|
+
interactiveCallbackRouter: interactiveCallbackWiring?.router,
|
|
320
|
+
linkRunner, ssrfFetcher, transcriber,
|
|
321
|
+
maxMediaBytes: container.config.integrations.media.infrastructure.maxRemoteFetchBytes,
|
|
322
|
+
assembleToolsForAgent,
|
|
323
|
+
ttsAdapter, audioConverter, mediaTempManager, mediaSemaphore,
|
|
324
|
+
fileExtractor, fileExtractionConfig: container.config.integrations.media.documentExtraction,
|
|
325
|
+
workspaceDirs, defaultWorkspaceDir, memoryAdapter,
|
|
326
|
+
// the entity-associative store (built in setup-memory on the shared db).
|
|
327
|
+
// Forwarded into registerCronEventListeners -> runMemoryReview (the write path that
|
|
328
|
+
// populates memory_entities / memory_entity_links after each successful store).
|
|
329
|
+
entityStore,
|
|
330
|
+
// the causal store (built in setup-memory on the shared db).
|
|
331
|
+
// Forwarded into registerCronEventListeners -> runMemoryReview (the write path that
|
|
332
|
+
// links cause->effect edges via linkCausal after each successful store). The SAME store
|
|
333
|
+
// also rides the setupAgents read path (the 5th causal recall lane).
|
|
334
|
+
causalStore,
|
|
335
|
+
// the consolidation store (built in setup-memory on the shared db).
|
|
336
|
+
// Orphaned in v2.31 Phase 225-05 (the runMemoryConsolidation job + the
|
|
337
|
+
// __MEMORY_CONSOLIDATION__ cron were deleted); the consolidationStore port + its
|
|
338
|
+
// memories table are retired in Phase 226. Still threaded (its writer is gone, no live consumer).
|
|
339
|
+
consolidationStore,
|
|
340
|
+
// memoryLifecycleStore + memoryApi ride the SAME cron-deps chain → the __MEMORY_LIFECYCLE__
|
|
341
|
+
// sentinel (KEYLESS: the DORMANT lifecycle sweep). (The __SOCIAL_MODELING__ sentinel + its
|
|
342
|
+
// relationshipStore were DELETED in Phase 226-04 with the rest of the social-modeling subsystem.
|
|
343
|
+
// The __MEMORY_TRIPLE_EXTRACTION__ + __USEFULNESS_JUDGE__ sentinels were deleted in Phase 226
|
|
344
|
+
// SIMPLIFY-03 — neither tripleStore nor usefulnessStore rides the cron chain anymore: tripleStore
|
|
345
|
+
// feeds ONLY the graphSpread recall lane via setupAgents (below), the FORGET-02 recordUsage write
|
|
346
|
+
// is in setup-learning.ts. The __MEMORY_REASONING__ / __USER_REPRESENTATION__ sentinels + the
|
|
347
|
+
// __ONLINE_TUNING__ bandit were deleted in Phase 225 / 224.)
|
|
348
|
+
// outcomeStore + learnedSkillStore ride the SAME chain → the __REFLECT__ sentinel (v2.31 Reflection): the daemon assembles the closed-graph reflection bundle from them + the trusted-origin LCD source inside registerCronEventListeners. (The embedder is NO LONGER threaded here — the reflection job groups by topicKey, no clustering embeddings; the dead procedural-synthesis embedding wiring was deleted in Phase 223 Plan 05.)
|
|
349
|
+
memoryLifecycleStore, outcomeStore, learnedSkillStore, memoryApi,
|
|
350
|
+
tenantId: container.config.tenantId,
|
|
351
|
+
embeddingQueue, queueConfig: container.config.queue,
|
|
352
|
+
onSuspiciousContent,
|
|
353
|
+
activeRunRegistry, sessionResolver, rpcCall,
|
|
354
|
+
onMessageReceived: (msg, channelType) => {
|
|
355
|
+
const chatType = typeof msg.metadata?.telegramChatType === "string"
|
|
356
|
+
? msg.metadata.telegramChatType
|
|
357
|
+
: undefined;
|
|
358
|
+
continuationTracker.track({
|
|
359
|
+
agentId: defaultAgentId, channelType, channelId: msg.channelId,
|
|
360
|
+
userId: msg.senderId, chatType, tenantId: container.config.tenantId, timestamp: Date.now(),
|
|
361
|
+
});
|
|
362
|
+
getInboundMessageIdResolver()?.record(msg, channelType);
|
|
363
|
+
},
|
|
364
|
+
onMessageProcessed: (msg, channelType) => {
|
|
365
|
+
getSessionTracker()?.recordActivity(defaultAgentId, channelType, msg.channelId);
|
|
366
|
+
},
|
|
367
|
+
approvalGate: container.config.approvals?.enabled ? approvalGate : undefined,
|
|
368
|
+
piSessionAdapters, costTrackers, deliveryQueue,
|
|
369
|
+
// REACT-04 (206-04): the outbound → trajectory binding (same callback the
|
|
370
|
+
// delivery-queue drain receives) so the DIRECT ack path in createDeliveryService
|
|
371
|
+
// binds the primary inbound-reply id → trajectory (the 206-03 live-finding fix).
|
|
372
|
+
recordOutboundMessage,
|
|
373
|
+
destroyConversation: channelConversationReset.destroyConversationCompletely,
|
|
374
|
+
lcdStore: agents.lcdStore, contextBrowse: agents.contextBrowse, // review session source (DAG transcripts)
|
|
375
|
+
cronExecutionTrackers: executionTrackers,
|
|
376
|
+
exportSessionBundle,
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Build the deps object passed to `createGraphCoordinator`. The optional
|
|
381
|
+
* pre-warm cache config (Anthropic graph executions) is inlined inside the
|
|
382
|
+
* preWarm field — it returns undefined if no Anthropic API key is resolvable.
|
|
383
|
+
*/
|
|
384
|
+
function buildGraphCoordinatorDeps(deps) {
|
|
385
|
+
const { agents, channels } = deps;
|
|
386
|
+
const { container, defaultAgentId, dataDir, agentLogger, activeRunRegistry, agentsConfig } = agents;
|
|
387
|
+
const a2aSec = container.config.security.agentToAgent;
|
|
388
|
+
// Pre-warm cache config: undefined if no Anthropic API key resolvable
|
|
389
|
+
// (lifted from buildGraphPreWarm helper).
|
|
390
|
+
const preWarm = (() => {
|
|
391
|
+
const agentCfg = agentsConfig[defaultAgentId];
|
|
392
|
+
const provider = agentCfg?.provider ?? "anthropic";
|
|
393
|
+
const resolvedModel = agentCfg?.model === "default" || !agentCfg?.model
|
|
394
|
+
? "claude-sonnet-4-5-20250929"
|
|
395
|
+
: agentCfg.model;
|
|
396
|
+
const apiKey = container.secretManager.get("anthropic-api-key") ?? container.secretManager.get("ANTHROPIC_API_KEY") ?? "";
|
|
397
|
+
if (!apiKey)
|
|
398
|
+
return undefined;
|
|
399
|
+
return {
|
|
400
|
+
provider, modelId: resolvedModel, apiKey,
|
|
401
|
+
systemPrompt: agentCfg?.name
|
|
402
|
+
? `You are ${agentCfg.name}. You are a helpful AI assistant.`
|
|
403
|
+
: "You are a helpful AI assistant.",
|
|
404
|
+
tools: [],
|
|
405
|
+
};
|
|
406
|
+
})();
|
|
407
|
+
// F3: capability-gated graph concurrency — small/nano → 2, frontier/mid → 4.
|
|
408
|
+
// Reads the default agent's model+provider — the same values the preWarm block uses,
|
|
409
|
+
// but declared here in the outer function scope (not inside the IIFE above).
|
|
410
|
+
// Explicit `graphMaxConcurrency` config always wins via the ?? chain below.
|
|
411
|
+
const agentCfg = agentsConfig[defaultAgentId];
|
|
412
|
+
const defaultModel = agentCfg?.model === "default" || !agentCfg?.model
|
|
413
|
+
? "claude-sonnet-4-5-20250929"
|
|
414
|
+
: agentCfg.model;
|
|
415
|
+
const defaultProvider = agentCfg?.provider ?? "anthropic";
|
|
416
|
+
const capabilityOverride = (container.config.providers?.entries?.[defaultProvider]?.capabilities?.capabilityClass);
|
|
417
|
+
const graphDefaults = resolveGraphConcurrencyDefaults({ provider: defaultProvider, modelId: defaultModel }, capabilityOverride);
|
|
418
|
+
return {
|
|
419
|
+
subAgentRunner: channels.subAgentRunner, eventBus: container.eventBus,
|
|
420
|
+
sendToChannel: channels.sendToChannel, announceToParent: channels.announceToParent,
|
|
421
|
+
batcher: channels.announcementBatcher, tenantId: container.config.tenantId, defaultAgentId,
|
|
422
|
+
maxConcurrency: a2aSec.graphMaxConcurrency ?? graphDefaults.maxConcurrency,
|
|
423
|
+
maxResultLength: a2aSec.graphMaxResultLength, maxGlobalSubAgents: a2aSec.graphMaxGlobalSubAgents,
|
|
424
|
+
// BUDGET-02/03 (D3): operator default per-node token-budget inherit-share source.
|
|
425
|
+
subAgentTokenBudget: a2aSec.tokenBudget ?? null,
|
|
426
|
+
logger: agentLogger?.child?.({ submodule: "graph-coordinator" }),
|
|
427
|
+
dataDir: container.config.dataDir || dataDir,
|
|
428
|
+
nodeTypeRegistry: channels.nodeTypeRegistry, activeRunRegistry,
|
|
429
|
+
assembleToolsForAgent: async (agentId) => {
|
|
430
|
+
const tools = await channels.assembleToolsForAgent(agentId);
|
|
431
|
+
return tools.map((t) => ({
|
|
432
|
+
name: t.name, description: t.description, inputSchema: t.inputSchema,
|
|
433
|
+
}));
|
|
434
|
+
},
|
|
435
|
+
touchParentSession: channels.commandQueue
|
|
436
|
+
? (sessionKey) => channels.commandQueue.touchLane(sessionKey)
|
|
437
|
+
: undefined,
|
|
438
|
+
...(agents.resolveRootRunId ? { resolveRootRunId: agents.resolveRootRunId } : {}), // Phase 213 CR-01: graph nodes share one tree root (killByRootRun reach).
|
|
439
|
+
...(deps.durableRunStore ? { durableRuns: deps.durableRunStore } : {}), // Phase 216 HIGH-3/DUR-01: node-boundary DAG checkpointing → the live durable store (off ⇒ no-op).
|
|
440
|
+
preWarm,
|
|
441
|
+
};
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* Wire post-setupChannels lifecycle hooks: populate the delivery-queue
|
|
445
|
+
* channelAdapters map, drain + start prune timer, mirror prune lifecycle,
|
|
446
|
+
* delivery-queue logging, and output retention housekeeper.
|
|
447
|
+
*/
|
|
448
|
+
async function wirePostChannelsLifecycle(deps) {
|
|
449
|
+
const { adaptersByType, channelAdaptersRef, drainAndStartDeliveryPrune, startAndResumeVideoPoller, startAndResumeDurable, startMirrorPrune, daemonLogger, container, defaultWorkspaceDir, outputRetentionConfig } = deps;
|
|
450
|
+
for (const [type, adapter] of adaptersByType)
|
|
451
|
+
channelAdaptersRef.set(type, adapter);
|
|
452
|
+
await drainAndStartDeliveryPrune();
|
|
453
|
+
// JOB-03 (189): the channel registry is now populated (channelAdaptersRef was
|
|
454
|
+
// just filled by reference) — start + resume the video poller so a pending
|
|
455
|
+
// render's finished clip announces to the recorded channel outside any turn,
|
|
456
|
+
// exactly like the delivery queue's drainAndStart above.
|
|
457
|
+
await startAndResumeVideoPoller?.();
|
|
458
|
+
// Phase 216: run the durable resume engine AFTER the video poller — i.e. after the
|
|
459
|
+
// channel registry is populated — so its reconcile (reconcileSend) + replay resolve
|
|
460
|
+
// a LIVE adapter (a crashed-mid-send row is otherwise mis-resolved). Boot-order.
|
|
461
|
+
await startAndResumeDurable?.();
|
|
462
|
+
// eventBus.on("system:shutdown", ...) subscribers deleted —
|
|
463
|
+
// shutdownDeliveryQueue, shutdownMirror, and outputRetentionHandle.shutdown
|
|
464
|
+
// are surfaced through BootContext / wirePostChannelsLifecycle return
|
|
465
|
+
// shape so the composition root invokes them directly via ShutdownDeps.
|
|
466
|
+
startMirrorPrune();
|
|
467
|
+
setupDeliveryQueueLogging({ eventBus: container.eventBus, logger: daemonLogger });
|
|
468
|
+
if (defaultWorkspaceDir) {
|
|
469
|
+
const outputRetentionHandle = setupOutputRetention({
|
|
470
|
+
config: outputRetentionConfig, workspaceDir: defaultWorkspaceDir, logger: daemonLogger,
|
|
471
|
+
});
|
|
472
|
+
return { outputRetentionHandle };
|
|
125
473
|
}
|
|
126
|
-
|
|
474
|
+
daemonLogger.debug({ hint: "No defaultWorkspaceDir; output retention housekeeper skipped" }, "Output retention: skipped (no default workspace)");
|
|
475
|
+
return {};
|
|
127
476
|
}
|
|
128
477
|
/**
|
|
129
|
-
*
|
|
130
|
-
*
|
|
131
|
-
*
|
|
132
|
-
* opaque mid-boot crash and a systemd restart loop. Here we catch it up
|
|
133
|
-
* front and exit 78 (EX_CONFIG) with an actionable hint, so operators can
|
|
134
|
-
* repair instead of chasing a cascading failure.
|
|
478
|
+
* Factory: hot-add agent closure. Returns the closure that captures
|
|
479
|
+
* destructured Maps + setupSingleAgent + shutdownRef + eventBus by reference
|
|
480
|
+
* (all consumers hold the same Map references).
|
|
135
481
|
*/
|
|
136
|
-
|
|
137
|
-
const
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
try {
|
|
144
|
-
const row = db.prepare("select 1 as ok").get();
|
|
145
|
-
if (!row)
|
|
146
|
-
throw new Error("better-sqlite3 returned no row from sentinel query");
|
|
482
|
+
function createHotAdd(deps) {
|
|
483
|
+
const { channels, shutdownRef } = deps;
|
|
484
|
+
const { singleAgentDeps, executors, workspaceDirs, costTrackers, budgetGuards, stepCounters, piSessionAdapters, skillWatcherHandles, skillRegistries, toolCapabilityPorts, container, daemonLogger, } = channels;
|
|
485
|
+
return async (agentId, config, rawRerankEnabled) => {
|
|
486
|
+
const startMs = systemNowMs();
|
|
487
|
+
if (shutdownRef.value?.isShuttingDown) {
|
|
488
|
+
throw new Error("Cannot hot-add agent during shutdown");
|
|
147
489
|
}
|
|
148
|
-
|
|
149
|
-
|
|
490
|
+
// forward the RAW rerank signal from the agents.create RPC input
|
|
491
|
+
// so the hot-added agent's effective-rerank precedence matches the boot path.
|
|
492
|
+
const result = await setupSingleAgent(agentId, config, singleAgentDeps, rawRerankEnabled);
|
|
493
|
+
executors.set(agentId, result.executor);
|
|
494
|
+
workspaceDirs.set(agentId, result.workspaceDir);
|
|
495
|
+
costTrackers.set(agentId, result.costTracker);
|
|
496
|
+
budgetGuards.set(agentId, result.budgetGuard);
|
|
497
|
+
stepCounters.set(agentId, result.stepCounter);
|
|
498
|
+
piSessionAdapters.set(agentId, result.piSessionAdapter);
|
|
499
|
+
if (result.skillWatcherHandle) {
|
|
500
|
+
skillWatcherHandles.set(agentId, result.skillWatcherHandle);
|
|
150
501
|
}
|
|
502
|
+
skillRegistries.set(agentId, result.skillRegistry);
|
|
503
|
+
toolCapabilityPorts.set(agentId, result.toolCapabilityPort);
|
|
504
|
+
container.eventBus.emit("agent:hot_added", { agentId, timestamp: systemNowMs() });
|
|
505
|
+
daemonLogger.info({ agentId, durationMs: systemNowMs() - startMs }, "Agent hot-added to running daemon");
|
|
506
|
+
};
|
|
507
|
+
}
|
|
508
|
+
/**
|
|
509
|
+
* Factory: hot-remove agent closure. Mirror of createHotAdd.
|
|
510
|
+
*/
|
|
511
|
+
function createHotRemove(deps) {
|
|
512
|
+
const { activeRunRegistry, daemonLogger, skillWatcherHandles, executors, workspaceDirs, costTrackers, budgetGuards, stepCounters, piSessionAdapters, skillRegistries, toolCapabilityPorts, container, } = deps.channels;
|
|
513
|
+
return async (agentId) => {
|
|
514
|
+
const startMs = systemNowMs();
|
|
515
|
+
// Warn if agent may have active executions.
|
|
516
|
+
// ActiveRunRegistry is keyed by sessionKey, not agentId. Since hot-remove is
|
|
517
|
+
// rare and the registry is small, a coarse size > 0 check is sufficient for v1.
|
|
518
|
+
if (activeRunRegistry.size > 0) {
|
|
519
|
+
daemonLogger.warn({ agentId, activeRuns: activeRunRegistry.size,
|
|
520
|
+
hint: "Agent removed while daemon has active executions; if this agent has an in-flight run it will complete but response delivery may fail",
|
|
521
|
+
errorKind: "internal" }, "Hot-removing agent with possible active executions");
|
|
522
|
+
}
|
|
523
|
+
// Stop skill watcher if present
|
|
524
|
+
const watcher = skillWatcherHandles.get(agentId);
|
|
525
|
+
if (watcher) {
|
|
526
|
+
await watcher.close();
|
|
527
|
+
skillWatcherHandles.delete(agentId);
|
|
528
|
+
}
|
|
529
|
+
// Remove from all Maps (workspace dir preserved on disk for data safety)
|
|
530
|
+
executors.delete(agentId);
|
|
531
|
+
workspaceDirs.delete(agentId);
|
|
532
|
+
costTrackers.delete(agentId);
|
|
533
|
+
budgetGuards.delete(agentId);
|
|
534
|
+
stepCounters.delete(agentId);
|
|
535
|
+
piSessionAdapters.delete(agentId);
|
|
536
|
+
skillRegistries.delete(agentId);
|
|
537
|
+
toolCapabilityPorts.delete(agentId);
|
|
538
|
+
container.eventBus.emit("agent:hot_removed", { agentId, timestamp: systemNowMs() });
|
|
539
|
+
daemonLogger.info({ agentId, durationMs: systemNowMs() - startMs }, "Agent hot-removed from running daemon");
|
|
540
|
+
};
|
|
541
|
+
}
|
|
542
|
+
/**
|
|
543
|
+
* Build the rpcDispatchDeps literal. Inlines the image-handler-deps,
|
|
544
|
+
* token-store-mutators, and context-engine-config helpers — each was a
|
|
545
|
+
* trivial one-call-site builder.
|
|
546
|
+
*/
|
|
547
|
+
function buildRpcDispatchDeps(deps) {
|
|
548
|
+
const { channels: c, gateway: g, startupStartMs, defaultConfigPaths } = deps;
|
|
549
|
+
// RES-01 keystone (I4 lockstep): the agent's main provider via the EXACT completion-path resolver, falling back to the configurable defaultAgentId (NOT literal "default"; WR-01 183-REVIEW). See resolveAgentMainProvider (setup-agents-tooling.ts) for the fallback + honest-sentinel semantics.
|
|
550
|
+
const resolveAgentMainProviderFor = (agentId) => resolveAgentMainProvider(c.container.config.agents, c.container.config.models, agentId, c.defaultAgentId);
|
|
551
|
+
// WR-04 (186-REVIEW): extracted to buildImageHandlerDeps (wiring/main-helpers.ts) to keep this composition root under its 3000-line cap. Undefined when image generation is disabled (no provider / rate limiter).
|
|
552
|
+
const imageHandlerDeps = buildImageHandlerDeps(c, resolveAgentMainProviderFor);
|
|
553
|
+
// Phase 188: video.generate handler deps (undefined when disabled). The spread
|
|
554
|
+
// into ApiDispatchDeps below wires the live handler (source guard pins it).
|
|
555
|
+
const videoHandlerDeps = buildVideoHandlerDeps(c, resolveAgentMainProviderFor);
|
|
556
|
+
// Phase 189 (JOB-04): video.status read-handler deps (undefined when disabled) —
|
|
557
|
+
// reads the SAME agent-scoped store the poller writes. Spread below (guard pins it).
|
|
558
|
+
const videoStatusHandlerDeps = buildVideoStatusHandlerDeps(c);
|
|
559
|
+
// Inlined buildTokenStoreMutators.
|
|
560
|
+
const addToTokenStore = (entry) => { g.runtimeTokens.push({ id: entry.id, secretBuf: Buffer.from(entry.secret, "utf-8"), scopes: entry.scopes }); };
|
|
561
|
+
const removeFromTokenStore = (id) => {
|
|
562
|
+
g.removedTokenIds.add(id);
|
|
563
|
+
const idx = g.runtimeTokens.findIndex((t) => t.id === id);
|
|
564
|
+
if (idx >= 0)
|
|
565
|
+
g.runtimeTokens.splice(idx, 1);
|
|
566
|
+
};
|
|
567
|
+
// Pass-through to the ONE mode-selected MCP OAuth token store the composition
|
|
568
|
+
// root built via selectMcpTokenStore (threaded onto the boot context). Both
|
|
569
|
+
// mcp-handlers (Fix 4 — pre-check no-token before manager.connect) and
|
|
570
|
+
// mcp-oauth-handlers (read/write tokens during login) consume this factory and
|
|
571
|
+
// receive the SAME instance setupMcp's manager wiring uses — no split-brain,
|
|
572
|
+
// no plaintext-disk fallback. Returns undefined in env mode (no writable MCP
|
|
573
|
+
// OAuth store); consumers guard on undefined.
|
|
574
|
+
const createTokenStore = () => c.mcpTokenStore;
|
|
575
|
+
// the single in-process recall-counter registry is stood up once in
|
|
576
|
+
// setup-memory (the composition site that holds the event bus) and threaded
|
|
577
|
+
// here on the boot context. The snapshot accessor feeds the
|
|
578
|
+
// memory.recall_stats handler (comis memory stats reads live counters). The
|
|
579
|
+
// gauge is daemon-lifetime — it resets on restart.
|
|
580
|
+
const recallCounters = c.recallCounters;
|
|
581
|
+
const dialecticWiring = buildDialecticWiring(dialecticWiringDepsFromBoot(c)); // the memory.ask seam + per-agent recall factory (setup-dialectic.ts owns the wiring; the cost gate returns {} when off). Spread into the dispatch deps below; the forward-presence belt locks the spread.
|
|
582
|
+
// L3 destroy for session.reset_conversation (live 2026-06-11: skipping it resurrected the forget).
|
|
583
|
+
const conversationReset = createConversationReset({ lcdStore: c.lcdStore, sessionStore: g.sessionStoreBridge, piSessionAdapters: c.piSessionAdapters, tenantId: c.container.config.tenantId, logger: c.logger });
|
|
584
|
+
return {
|
|
585
|
+
defaultAgentId: c.defaultAgentId, getAgentCronScheduler: c.getAgentCronScheduler,
|
|
586
|
+
cronSchedulers: c.cronSchedulers, executionTrackers: c.executionTrackers, wakeCoalescer: c.wakeCoalescer,
|
|
587
|
+
defaultWorkspaceDir: c.defaultWorkspaceDir, workspaceDirs: c.workspaceDirs,
|
|
588
|
+
memoryApi: c.memoryApi, memoryAdapter: c.memoryAdapter, embeddingQueue: c.embeddingQueue,
|
|
589
|
+
// DIST-05: thread the memory adapter as the MemoryPort for the
|
|
590
|
+
// session.reset_conversation --memory honest reset. SqliteMemoryAdapter
|
|
591
|
+
// implements MemoryPort (incl. deleteBySessionKey, Phase 172-03), so the
|
|
592
|
+
// SAME object satisfies SessionsApiDeps.memoryPort. consolidationStore (the
|
|
593
|
+
// unlink/purge surface) is already on the spread below.
|
|
594
|
+
memoryPort: c.memoryAdapter,
|
|
595
|
+
destroyRuntimeSession: (formattedSessionKey) => conversationReset.destroyRuntimeSession(c.defaultAgentId, formattedSessionKey),
|
|
596
|
+
// CR-02 (175-REVIEW): session.reset_conversation / session.delete drop
|
|
597
|
+
// the executor's session-scoped state (tool-schema snapshots, GBNF-02
|
|
598
|
+
// strip-retry once-gate, JIT-guide delivery, cache latches) through the
|
|
599
|
+
// agent's single authoritative cleanup path — the same function the
|
|
600
|
+
// session:expired listener uses (wireSessionStateCleanup above).
|
|
601
|
+
clearAgentSessionState: clearSessionState,
|
|
602
|
+
// context.* operator-browse RPC deps (Context DAG browser): the LCD
|
|
603
|
+
// ContextStorePort (context.tree reads getSummaries/getContextItems) + the
|
|
604
|
+
// ContextBrowsePort (context.conversations). Both R4 agent+tenant scoped.
|
|
605
|
+
lcdStore: c.lcdStore, contextBrowse: c.contextBrowse,
|
|
606
|
+
// memory-diagnostic deps: the scoped consolidation + entity stores
|
|
607
|
+
// (provenance + entity-graph reads) and the live recall counters
|
|
608
|
+
// for the 4 admin-gated memory.* diagnostic handlers. (usefulnessStore is NOT
|
|
609
|
+
// here — no diagnostic handler consumes it; its read path is the setupAgents
|
|
610
|
+
// injection at the setupAgents({…}) call below, mirroring entityStore.)
|
|
611
|
+
consolidationStore: c.consolidationStore, entityStore: c.entityStore, recallCounters, ...dialecticWiring, onSuspiciousContent: c.onSuspiciousContent,
|
|
612
|
+
recallTraceEnabled: c.container.config.diagnostics?.recallTrace?.enabled ?? false, // memory.recall_trace honest-empty gate
|
|
613
|
+
tenantId: c.container.config.tenantId, agents: c.agentsConfig, costTrackers: c.costTrackers, stepCounters: c.stepCounters,
|
|
614
|
+
agentDataDir: safePath(c.container.config.dataDir ?? safePath(os.homedir(), ".comis"), "agents"),
|
|
615
|
+
sessionStore: g.sessionStoreBridge, crossSessionSender: c.crossSessionSender, subAgentRunner: c.subAgentRunner,
|
|
616
|
+
...(c.resolveRootRunId ? { resolveRootRunId: c.resolveRootRunId } : {}), // Phase 213 CR-01: session→rootRunId resolver so session.spawn propagates one tree root (ceiling/kill/budget key on it).
|
|
617
|
+
// Phase 213-06: the daemon-wide LeaseManager (autonomy-handlers gate lease.revoke/run.kill on it).
|
|
618
|
+
// Phase 216: DUR-03 durableRuns (revoke ALSO invalidates the persisted record) + ONCE-01/02 outwardLedger (the message.send/reply/react wrap). Absent ⇒ degrade (no revoke RPC / pass-through wrap).
|
|
619
|
+
...(c.capEndpointHandle?.leaseManager ?? c.sharedLeaseManager ? { leaseManager: c.capEndpointHandle?.leaseManager ?? c.sharedLeaseManager } : {}),
|
|
620
|
+
...(c.durableRunStore ? { durableRuns: c.durableRunStore } : {}),
|
|
621
|
+
...(c.outwardLedger ? { outwardLedger: c.outwardLedger } : {}),
|
|
622
|
+
// Phase 217-05 (UNATT/BREAK/EVICT): the never-hang control plane the dispatch chokepoint reads — the denial breaker (recordDenial/recordAllow → trip→abort), the evicted-rootRunId set (isEvicted → demote mid-run), and the content-free escalate. Constructed at the cap layer; absent when no autonomy agent ⇒ pre-217 deny-without-escalate (byte-identical). Threading evictRegistry here ALSO flows it into createAutonomyHandlers via the `...deps` spread, activating the autonomy.evict handler (Plan 04 cross-wave point).
|
|
623
|
+
...(c.capEndpointHandle ? { denialBreaker: c.capEndpointHandle.denialBreaker, evictRegistry: c.capEndpointHandle.evictRegistry, escalate: c.capEndpointHandle.escalate } : {}),
|
|
624
|
+
graphCoordinator: c.graphCoordinator, namedGraphStore: c.namedGraphStore, nodeTypeRegistry: c.nodeTypeRegistry,
|
|
625
|
+
securityConfig: c.container.config.security, adaptersByType: c.adaptersByType,
|
|
626
|
+
inboundMessageIdResolver: c.inboundMessageIdResolver, visionRegistry: c.visionRegistry, resolveAgentMainProvider: resolveAgentMainProviderFor, mainModelIdFor: c.mediaVisionBundle?.resolveMainModelId, mainProviderVision: c.mediaVisionBundle?.capability, trajectoryRegistry: c.trajectoryRegistry,
|
|
627
|
+
mediaConfig: c.container.config.integrations.media, ttsAdapter: c.ttsAdapter, linkRunner: c.linkRunner,
|
|
628
|
+
logger: c.logger, container: c.container, configPaths: c.configPaths, defaultConfigPaths,
|
|
629
|
+
// VERSION-SKEW: surface the daemon build version on gateway.status so
|
|
630
|
+
// `comis doctor` can flag a stale CLI talking to a newer daemon.
|
|
631
|
+
daemonVersion: c.daemonVersion,
|
|
632
|
+
configGitManager: c.configGitManager,
|
|
633
|
+
configWebhook: c.container.config.daemon.configWebhook,
|
|
634
|
+
secretStore: c.secretStore, mutableSecretManager: c.mutableHandle, envFilePath: c.envPath, logLevelManager: c.logLevelManager,
|
|
635
|
+
getAgentBrowserService: c.getAgentBrowserService,
|
|
636
|
+
resolveAttachment: c.resolveAttachment, transcriber: c.transcriber, fileExtractor: c.fileExtractor, voiceSelection: c.voiceSelection,
|
|
637
|
+
approvalGate: c.approvalGate, suspendedAgents: c.suspendedAgents,
|
|
638
|
+
hotAdd: g.hotAdd, hotRemove: g.hotRemove,
|
|
639
|
+
diagnosticCollector: c.diagnosticCollector, billingEstimator: c.billingEstimator,
|
|
640
|
+
channelActivityTracker: c.channelActivityTracker, deliveryTracer: c.deliveryTracer, budgetGuards: c.budgetGuards,
|
|
641
|
+
// WEBUI-02 (179-04): thread the LIVE spend snapshot the kill-switch enforces
|
|
642
|
+
// (locked A1 — getSnapshot(), NOT the lagging SQL) + the configured ceilings, so
|
|
643
|
+
// obs.spend.snapshot computes headroom = ceiling − spend. Absent ⇒ spend off
|
|
644
|
+
// (the handler degrades to an honest enabled:false, never a misleading $0).
|
|
645
|
+
spendSnapshot: c.spendAccumulator
|
|
646
|
+
? () => ({
|
|
647
|
+
...c.spendAccumulator.getSnapshot(),
|
|
648
|
+
ceilings: {
|
|
649
|
+
perAgentUsd: c.container.config.observability.spend.perAgentUsd,
|
|
650
|
+
perTenantUsd: c.container.config.observability.spend.perTenantUsd,
|
|
651
|
+
daemonGlobalUsd: c.container.config.observability.spend.daemonGlobalUsd,
|
|
652
|
+
},
|
|
653
|
+
})
|
|
654
|
+
: undefined,
|
|
655
|
+
modelCatalog: c.modelCatalog, channelConfig: c.channelConfig,
|
|
656
|
+
tokenRegistry: g.tokenRegistry,
|
|
657
|
+
addToTokenStore, removeFromTokenStore,
|
|
658
|
+
createTokenStore,
|
|
659
|
+
memoryWriteValidator: validateMemoryWrite,
|
|
660
|
+
// MemoryApiDeps.eventBus accepts the full AppContainer["eventBus"] type;
|
|
661
|
+
// no down-cast to `{ emit }` is needed.
|
|
662
|
+
eventBus: c.container.eventBus,
|
|
663
|
+
mcpClientManager: c.mcpClientManager,
|
|
664
|
+
// 161-02: ObservabilityApiDeps.clock = the SAME boot ClockPort (one createSystemClock()
|
|
665
|
+
// at the composition root) so the obs.fleet.health assembler has a clock (asserts deps.clock!).
|
|
666
|
+
obsStore: c.obsStore, clock: c.clock, startupTimestamp: startupStartMs, sharedCostTracker: c.sharedCostTracker,
|
|
667
|
+
// obs.getCacheStats reads deps.tokenTracker for the in-memory hit-rate/effectiveness;
|
|
668
|
+
// without this it fell to the `!deps.tokenTracker` branch and returned a silent 0/0
|
|
669
|
+
// forever, even at an 85% live hit rate (live cache-management finding, 2026-06-12).
|
|
670
|
+
tokenTracker: c.tokenTracker,
|
|
671
|
+
contextPipelineCollector: c.contextPipelineCollector, execGit: c.execGit,
|
|
672
|
+
deliveryQueue: c.deliveryQueue, deliveryService: c.deliveryService,
|
|
673
|
+
boundedAutonomy: c.capEndpointHandle?.boundedAutonomy, leaseManager: c.capEndpointHandle?.leaseManager, // Phase 213 QUOTA-01/02 + 213-06 REVOKE-01/03: the outward-quota service the message handlers gate on, plus the SAME cap-endpoint handle's LeaseManager gating lease.revoke + run.kill registration — omitting leaseManager (while boundedAutonomy WAS threaded) left REVOKE unreachable live ("Unknown RPC method" with the lease layer ACTIVE — VPS finding)
|
|
674
|
+
channelPlugins: c.channelPlugins, healthMonitor: c.channelHealthMonitor,
|
|
675
|
+
embeddingCacheStats: c.embeddingCacheStats, embeddingCircuitBreakerState: c.embeddingCircuitBreakerState,
|
|
676
|
+
skillRegistries: c.skillRegistries, notificationService: c.notificationContext.notificationService,
|
|
677
|
+
imageHandlerDeps,
|
|
678
|
+
videoHandlerDeps,
|
|
679
|
+
videoStatusHandlerDeps,
|
|
680
|
+
oauthCredentialStore: c.oauthCredentialStore,
|
|
681
|
+
// Wire observability DI seams.
|
|
682
|
+
// ObservabilityApiDeps.dataDir: used by obs.trace.* handlers for session-index + bundle export.
|
|
683
|
+
// ObservabilityApiDeps.exportTrajectoryBundle: DI seam for obs.trace.export RPC (comis trace export <sessionId>).
|
|
684
|
+
dataDir: c.dataDir,
|
|
685
|
+
exportTrajectoryBundle,
|
|
686
|
+
};
|
|
687
|
+
}
|
|
688
|
+
/**
|
|
689
|
+
* Replay restart continuations from disk if any. Owns the block that
|
|
690
|
+
* loads persisted continuation records and re-injects synthetic restart
|
|
691
|
+
* messages through channelManager. Per-record synthetic message construction
|
|
692
|
+
* is inlined inside the per-record loop.
|
|
693
|
+
*/
|
|
694
|
+
async function replayContinuationsIfAny(deps) {
|
|
695
|
+
const { container, dataDir, daemonLogger, mcpClientManager, continuationTracker, channelManager } = deps.channels;
|
|
696
|
+
const continuationFilePath = safePath(container.config.dataDir || dataDir, "restart-continuations.json");
|
|
697
|
+
const continuations = loadContinuations(continuationFilePath, 5 * 60_000, daemonLogger);
|
|
698
|
+
if (continuations.length === 0 || !channelManager)
|
|
699
|
+
return;
|
|
700
|
+
daemonLogger.info({ count: continuations.length }, "Replaying restart continuations");
|
|
701
|
+
const mcpStatusLine = buildMcpStatusLine(mcpClientManager.getAllConnections());
|
|
702
|
+
if (mcpStatusLine) {
|
|
703
|
+
daemonLogger.warn({ mcpStatusLine, continuationCount: continuations.length,
|
|
704
|
+
hint: "One or more MCP servers failed to handshake after restart; surfacing status to agents via synthetic system message",
|
|
705
|
+
errorKind: "dependency" }, "MCP connection failures detected during restart continuation replay");
|
|
151
706
|
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
707
|
+
const baseText = "[system: daemon restarted to apply a config change. The result of your previous tool call is in the conversation above — react to it naturally, confirm or surface any issue, then yield to the user.]";
|
|
708
|
+
for (const record of continuations) {
|
|
709
|
+
// Skip sessions that already received a message during this startup cycle
|
|
710
|
+
// (e.g., Telegram webhook delivered before continuation replay ran).
|
|
711
|
+
if (continuationTracker.isTracked(record)) {
|
|
712
|
+
daemonLogger.debug({ channelType: record.channelType, channelId: record.channelId }, "Skipping continuation replay: session already active this cycle");
|
|
713
|
+
continue;
|
|
714
|
+
}
|
|
715
|
+
// Inlined buildSyntheticRestartMessage: synthetic-restart message payload
|
|
716
|
+
// for a single continuation record. Rehydrates chat-type metadata so
|
|
717
|
+
// downstream resolveChatType / isGroupMessage classify correctly.
|
|
718
|
+
const metadata = {
|
|
719
|
+
isRestartContinuation: true,
|
|
720
|
+
mcpStatusLine: mcpStatusLine ?? null,
|
|
721
|
+
};
|
|
722
|
+
if (record.channelType === "telegram" && record.chatType) {
|
|
723
|
+
metadata.telegramChatType = record.chatType;
|
|
724
|
+
}
|
|
725
|
+
if (record.chatType === "group" || record.chatType === "supergroup") {
|
|
726
|
+
// Channel-agnostic flag mirrored by other adapters (e.g. WhatsApp).
|
|
727
|
+
metadata.isGroup = true;
|
|
728
|
+
}
|
|
729
|
+
const syntheticMsg = {
|
|
730
|
+
id: randomUUID(),
|
|
731
|
+
channelId: record.channelId,
|
|
732
|
+
channelType: record.channelType,
|
|
733
|
+
senderId: record.userId,
|
|
734
|
+
text: mcpStatusLine ? `${baseText}\n${mcpStatusLine}` : baseText,
|
|
735
|
+
timestamp: Date.now(),
|
|
736
|
+
attachments: [],
|
|
737
|
+
metadata,
|
|
738
|
+
};
|
|
739
|
+
channelManager.injectMessage(record.channelType, syntheticMsg).catch((injectErr) => {
|
|
740
|
+
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");
|
|
741
|
+
});
|
|
165
742
|
}
|
|
166
743
|
}
|
|
167
744
|
// ---------------------------------------------------------------------------
|
|
745
|
+
// Shutdown helpers
|
|
746
|
+
// ---------------------------------------------------------------------------
|
|
747
|
+
/**
|
|
748
|
+
* Wire eventBus health subscriptions to structured logger metrics.
|
|
749
|
+
* Reads metrics from the observability event bus, prunes prompt timeouts,
|
|
750
|
+
* computes stuck-sub-agent counters, force-kills sub-agents past threshold,
|
|
751
|
+
* and emits the canonical "Daemon health" DEBUG line. The DB-size metrics
|
|
752
|
+
* and stuck-sub-agent computation are inlined directly into the subscriber
|
|
753
|
+
* body (each was a single-call-site helper).
|
|
754
|
+
*/
|
|
755
|
+
function wireHealthLogging(deps) {
|
|
756
|
+
const { container, daemonLogger, db, maintenanceTick, subAgentRunner, promptTimeoutTimestamps, activeExecutions, getActiveConnectionCount, deadLetterQueue, providerHealth, deliveryQueue, } = deps;
|
|
757
|
+
container.eventBus.on("observability:metrics", async (metrics) => {
|
|
758
|
+
// Prune prompt timeout timestamps to 5-minute window
|
|
759
|
+
const fiveMinAgo = Date.now() - 5 * 60_000;
|
|
760
|
+
while (promptTimeoutTimestamps.length > 0 && promptTimeoutTimestamps[0] < fiveMinAgo) {
|
|
761
|
+
promptTimeoutTimestamps.shift();
|
|
762
|
+
}
|
|
763
|
+
// Inlined readDbSizeMetrics: best-effort DB file + WAL file sizes.
|
|
764
|
+
let memoryDbSizeBytes;
|
|
765
|
+
let memoryDbWalSizeBytes;
|
|
766
|
+
try {
|
|
767
|
+
const dbFilePath = db.name;
|
|
768
|
+
if (dbFilePath) {
|
|
769
|
+
memoryDbSizeBytes = statSync(dbFilePath).size;
|
|
770
|
+
try {
|
|
771
|
+
memoryDbWalSizeBytes = statSync(dbFilePath + "-wal").size;
|
|
772
|
+
}
|
|
773
|
+
catch { /* WAL file may not exist */ }
|
|
774
|
+
}
|
|
775
|
+
}
|
|
776
|
+
catch { /* stat failure must not crash health check */ }
|
|
777
|
+
maintenanceTick();
|
|
778
|
+
// Inlined computeAndKillStuckSubAgents: count active sub-agent runs and
|
|
779
|
+
// force-kill any past the threshold-aware cutoff. Graph sub-agents get a
|
|
780
|
+
// longer threshold since they do multi-step analytical work.
|
|
781
|
+
const stuckKillThresholdMs = container.config.security.agentToAgent.subagentContext?.stuckKillThresholdMs ?? 180_000;
|
|
782
|
+
const graphStuckKillThresholdMs = container.config.security.agentToAgent.subagentContext?.graphStuckKillThresholdMs ?? 600_000;
|
|
783
|
+
const allRuns = subAgentRunner.listRuns();
|
|
784
|
+
const now = Date.now();
|
|
785
|
+
let activeSubAgentRuns = 0;
|
|
786
|
+
let stuckSubAgentRuns = 0;
|
|
787
|
+
let stuckKilledThisTick = 0;
|
|
788
|
+
for (const run of allRuns) {
|
|
789
|
+
if (run.status !== "running")
|
|
790
|
+
continue;
|
|
791
|
+
activeSubAgentRuns++;
|
|
792
|
+
const threshold = run.graphId ? graphStuckKillThresholdMs : stuckKillThresholdMs;
|
|
793
|
+
if (threshold > 0 && (now - run.startedAt) > threshold)
|
|
794
|
+
stuckSubAgentRuns++;
|
|
795
|
+
if (threshold <= 0)
|
|
796
|
+
continue;
|
|
797
|
+
if ((now - run.startedAt) <= threshold)
|
|
798
|
+
continue;
|
|
799
|
+
subAgentRunner.killRun(run.runId);
|
|
800
|
+
stuckKilledThisTick++;
|
|
801
|
+
daemonLogger.warn({
|
|
802
|
+
runId: run.runId, agentId: run.agentId, runtimeMs: now - run.startedAt,
|
|
803
|
+
thresholdMs: threshold, isGraphRun: !!run.graphId,
|
|
804
|
+
hint: run.graphId
|
|
805
|
+
? "Graph sub-agent exceeded graphStuckKillThresholdMs; force-killed by health handler. Adjust security.agentToAgent.subagentContext.graphStuckKillThresholdMs if needed."
|
|
806
|
+
: "Sub-agent exceeded stuckKillThresholdMs; force-killed by health handler. Adjust security.agentToAgent.subagentContext.stuckKillThresholdMs if needed.",
|
|
807
|
+
errorKind: "timeout",
|
|
808
|
+
}, "Stuck sub-agent killed by health handler");
|
|
809
|
+
}
|
|
810
|
+
daemonLogger.debug({
|
|
811
|
+
rssBytes: metrics.rssBytes, heapUsedBytes: metrics.heapUsedBytes,
|
|
812
|
+
heapTotalBytes: metrics.heapTotalBytes, externalBytes: metrics.externalBytes,
|
|
813
|
+
eventLoopP99Ms: Math.round(metrics.eventLoopDelayMs.p99 * 100) / 100,
|
|
814
|
+
activeHandles: metrics.activeHandles, activeConnections: getActiveConnectionCount(),
|
|
815
|
+
activeExecutions: activeExecutions.size, uptimeSeconds: Math.round(metrics.uptimeSeconds),
|
|
816
|
+
activeSubAgentRuns, stuckSubAgentRuns, stuckKilledThisTick,
|
|
817
|
+
deadLetterQueueSize: deadLetterQueue?.size() ?? 0,
|
|
818
|
+
degradedProviders: [...providerHealth.getHealthSummary().entries()]
|
|
819
|
+
.filter(([, v]) => v.degraded).map(([k]) => k),
|
|
820
|
+
promptTimeoutsLast5m: promptTimeoutTimestamps.length,
|
|
821
|
+
...(memoryDbSizeBytes !== undefined && { memoryDbSizeBytes }),
|
|
822
|
+
...(memoryDbWalSizeBytes !== undefined && { memoryDbWalSizeBytes }),
|
|
823
|
+
pendingDeliveryCount: await deliveryQueue.pendingEntries().then(r => r.ok ? r.value.length : 0),
|
|
824
|
+
}, "Daemon health");
|
|
825
|
+
});
|
|
826
|
+
}
|
|
827
|
+
/**
|
|
828
|
+
* Emit startup banner + docker restart-policy warn + OAuth TLS preflight.
|
|
829
|
+
* Emits the canonical "Comis daemon started" INFO line (log line 5 in
|
|
830
|
+
* daemon-lifecycle.test.ts). The startup-banner-manifest sub-object is
|
|
831
|
+
* inlined directly into the log call.
|
|
832
|
+
*/
|
|
833
|
+
// emitStartupBanner → wiring/emit-startup-banner.ts (daemon.ts ≤3000 line cap).
|
|
834
|
+
// ---------------------------------------------------------------------------
|
|
168
835
|
// Stage 1: foundation
|
|
169
836
|
// ---------------------------------------------------------------------------
|
|
170
837
|
/**
|
|
171
|
-
*
|
|
838
|
+
* bootFoundation — daemon-process foundation startup. Owns:
|
|
172
839
|
* - data directory + .env load + permission hardening
|
|
173
840
|
* - secret decryption + env merge + process.env scrub
|
|
174
841
|
* - bootstrap (core container) + config-secret-ref resolution
|
|
175
842
|
* - config git versioning
|
|
176
843
|
* - logging + observability + context-pipeline collector
|
|
177
|
-
* - health (process monitor
|
|
844
|
+
* - health (process monitor)
|
|
178
845
|
* - memory + embedding + observability-persistence
|
|
179
846
|
* - context store + active-run registry + session resolver
|
|
180
847
|
* - canary fallback + injection rate limiter
|
|
@@ -182,196 +849,441 @@ export async function runPreflightDoctor(exitFn, opts = {}) {
|
|
|
182
849
|
* - background task system + deferred channel/notification refs
|
|
183
850
|
* - bundled skill-creator seeding (idempotent)
|
|
184
851
|
*
|
|
185
|
-
*
|
|
186
|
-
* daemon-lifecycle.test.ts log-sequence assertions remain green.
|
|
852
|
+
* Mutates `boot` with all Group A foundation fields. Per-line-source order
|
|
853
|
+
* preserved so daemon-lifecycle.test.ts log-sequence assertions remain green.
|
|
187
854
|
*/
|
|
188
|
-
async function
|
|
855
|
+
async function bootFoundation(boot, input) {
|
|
189
856
|
const { overrides, startupStartMs, instanceId } = input;
|
|
190
857
|
const _bootstrap = overrides.bootstrap ?? bootstrap;
|
|
191
|
-
const
|
|
858
|
+
const _preReadStorageMode = overrides.preReadStorageMode ?? preReadStorageMode;
|
|
859
|
+
const _writeMasterKeyIfAbsent = overrides.writeMasterKeyIfAbsent ?? writeMasterKeyIfAbsent;
|
|
192
860
|
const _createTracingLogger = overrides.createTracingLogger ?? createTracingLogger;
|
|
193
861
|
const _createLogLevelManager = overrides.createLogLevelManager ?? createLogLevelManager;
|
|
194
862
|
const _createTokenTracker = overrides.createTokenTracker ?? createTokenTracker;
|
|
195
|
-
const _createLatencyRecorder = overrides.createLatencyRecorder ?? createLatencyRecorder;
|
|
196
863
|
const _createProcessMonitor = overrides.createProcessMonitor ?? createProcessMonitor;
|
|
197
|
-
|
|
198
|
-
// 0. Resolve data directory, then load secrets from <dataDir>/.env.
|
|
864
|
+
// 0. Resolve data directory + config paths, then load secrets from <dataDir>/.env.
|
|
199
865
|
// eslint-disable-next-line no-restricted-syntax -- process.env access needed before SecretManager is initialized
|
|
200
866
|
const dataDir = process.env["COMIS_DATA_DIR"] ?? safePath(os.homedir(), ".comis");
|
|
201
867
|
const envPath = safePath(dataDir, ".env");
|
|
202
|
-
|
|
203
|
-
//
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
dataDir,
|
|
208
|
-
});
|
|
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();
|
|
213
|
-
// 1. Bootstrap core container
|
|
214
|
-
// eslint-disable-next-line no-restricted-syntax -- process.env access needed before SecretManager for config path resolution
|
|
868
|
+
// Resolve config paths up front so we can pre-read security.storage
|
|
869
|
+
// before writeMasterKeyIfAbsent. The full bootstrap (which validates the
|
|
870
|
+
// whole config + does ${VAR} substitution) runs later — it depends on
|
|
871
|
+
// mergedEnv, which depends on whether the encrypted store opened.
|
|
872
|
+
// eslint-disable-next-line no-restricted-syntax -- process.env access needed before SecretManager for config path resolution + VITEST guard
|
|
215
873
|
const rawConfigPaths = process.env["COMIS_CONFIG_PATHS"];
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
const
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
//
|
|
223
|
-
const
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
874
|
+
if (process.env["VITEST"] === "true" && !rawConfigPaths)
|
|
875
|
+
throw new Error("VITEST=true and COMIS_CONFIG_PATHS unset — refusing to read ~/.comis/config.yaml from a test process. Set COMIS_CONFIG_PATHS to a sandbox path in your test setup, or import test/support/vitest-process-listeners.ts.");
|
|
876
|
+
const requestedConfigPaths = rawConfigPaths ? rawConfigPaths.split(":") : DEFAULT_CONFIG_PATHS;
|
|
877
|
+
// P0 boot gate: ensure file/env first boot creates no key material.
|
|
878
|
+
//
|
|
879
|
+
// Step 1: Pre-read security.storage from YAML (layered, last-wins). Returns
|
|
880
|
+
// "encrypted"|"file"|"env". NEVER writes key material before this check.
|
|
881
|
+
const storageMode = _preReadStorageMode(requestedConfigPaths);
|
|
882
|
+
// Step 2: Write master key ONLY when storageMode is "encrypted".
|
|
883
|
+
// file/env modes create NO key material on first boot.
|
|
884
|
+
if (storageMode === "encrypted") {
|
|
885
|
+
_writeMasterKeyIfAbsent(dataDir);
|
|
886
|
+
// loadEnvFile below picks up the freshly-written key from the .env file,
|
|
887
|
+
// so selectSecretStore can read SECRETS_MASTER_KEY from process.env.
|
|
227
888
|
}
|
|
228
|
-
|
|
229
|
-
//
|
|
230
|
-
const
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
//
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
889
|
+
loadEnvFile(envPath);
|
|
890
|
+
// 0.5. Select secret store by mode, merge with env, scrub process.env.
|
|
891
|
+
const permissionCorrections = hardenDataDirPermissions(dataDir);
|
|
892
|
+
// singleton lock — must run before any store bootstrap.
|
|
893
|
+
acquireDataDirLock(dataDir);
|
|
894
|
+
// On boot failure (e.g. selectSecretStore error, bootstrap failure), release
|
|
895
|
+
// the lock. Under normal boot setupShutdown.onShutdown owns the release.
|
|
896
|
+
try {
|
|
897
|
+
// selectSecretStore is called BEFORE scrubProcessEnv so encrypted mode
|
|
898
|
+
// can still read SECRETS_MASTER_KEY from process.env (Pitfall 5 in RESEARCH).
|
|
899
|
+
//
|
|
900
|
+
// sensitiveNames: built here at the composition root (a sanctioned process.env
|
|
901
|
+
// access point per AGENTS.md §2.8). In file/encrypted modes the names are
|
|
902
|
+
// passed to the env adapter via selectSecretStore but ignored there.
|
|
903
|
+
// NOTE: sensitiveNames and env snapshot must be built AFTER loadEnvFile so ~/.comis/.env vars are included.
|
|
904
|
+
const sensitiveNames = new Set([
|
|
905
|
+
...SENSITIVE_EXACT_KEYS,
|
|
906
|
+
...Object.keys(process.env).filter(k => SENSITIVE_PREFIXES.some(p => k.startsWith(p))),
|
|
907
|
+
]);
|
|
908
|
+
const storeResult = selectSecretStore({
|
|
909
|
+
mode: storageMode,
|
|
910
|
+
dataDir,
|
|
911
|
+
env: process.env,
|
|
912
|
+
sensitiveNames,
|
|
913
|
+
});
|
|
914
|
+
if (!storeResult.ok) {
|
|
915
|
+
throw new Error(`Failed to open secret store (mode: ${storageMode}): ${storeResult.error.message}`);
|
|
239
916
|
}
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
917
|
+
const selected = storeResult.value;
|
|
918
|
+
const secretStore = selected.secretStore;
|
|
919
|
+
let secretsCrypto;
|
|
920
|
+
let secretsDb;
|
|
921
|
+
if (selected.kind === "encrypted") {
|
|
922
|
+
secretsCrypto = selected.secretsCrypto;
|
|
923
|
+
secretsDb = selected.secretsDb;
|
|
924
|
+
}
|
|
925
|
+
// Build mergedEnv (store-wins) + stage-1 scrub.
|
|
926
|
+
const { mergedEnv, shadowedNames } = buildMergedEnv(secretStore, storageMode);
|
|
927
|
+
// 0.6. Runtime adapter construction (composition root). overrides.timers is opt-in for test fake-timers; never set in production.
|
|
928
|
+
const clock = createSystemClock();
|
|
929
|
+
const env = createSystemEnv(mergedEnv);
|
|
930
|
+
const timers = overrides.timers ?? createSystemTimers();
|
|
931
|
+
// test-only renderer-injection seam (mirrors overrides.timers): captured here
|
|
932
|
+
// and threaded onto BootContext so buildChannelManagerDeps can forward it into
|
|
933
|
+
// buildActivityRenderers. Never set in production; inert on the inbound path.
|
|
934
|
+
const activityRendererFactory = overrides.activityRendererFactory;
|
|
935
|
+
// ONE process-singleton ActivityCircuitBreaker, constructed at the
|
|
936
|
+
// composition root and shared across EVERY per-turn coordinator the inbound
|
|
937
|
+
// coordinatorFactory builds. Constructed once here (NOT inside a per-turn or
|
|
938
|
+
// per-agent loop) so a permission/error storm on one (agentId, channelKey) pair
|
|
939
|
+
// auto-quiesces that pair across turns. Threaded down via BootContext →
|
|
940
|
+
// buildChannelManagerDeps → ChannelsDeps → buildAndStartChannelManager.
|
|
941
|
+
const activityBreaker = createActivityCircuitBreaker(clock);
|
|
942
|
+
// Shared-map SecretManager: construct BEFORE bootstrap; same Map → AppContainer + mutableHandle.
|
|
943
|
+
const { secretManager: sharedSecretManager, mutableHandle } = setupSecretManager(mergedEnv);
|
|
944
|
+
const wrappedBootstrap = (opts) => _bootstrap({ ...opts, secretManager: sharedSecretManager });
|
|
945
|
+
// 1. Bootstrap core container. (security.storage pre-read in step 0 before encrypted-store bootstrap.)
|
|
946
|
+
const { configPaths, bootResult } = await runConfigBootstrapAndEmitObserve({ requestedConfigPaths, mergedEnv, bootstrap: wrappedBootstrap });
|
|
947
|
+
if (!bootResult.ok) {
|
|
948
|
+
throw new Error(`Bootstrap failed: ${bootResult.error.message}`);
|
|
949
|
+
}
|
|
950
|
+
// Container via const+resolve-then-spread.
|
|
951
|
+
const initialContainer = bootResult.value;
|
|
952
|
+
const refResult = resolveConfigSecretRefs(initialContainer.config, { secretManager: initialContainer.secretManager });
|
|
953
|
+
if (!refResult.ok) {
|
|
954
|
+
throw new Error(`SecretRef resolution failed: ${refResult.error.message}`);
|
|
955
|
+
}
|
|
956
|
+
const container = { ...initialContainer, config: refResult.value };
|
|
957
|
+
// Stage-2 scrub: remove config-referenced SecretRef names from process.env; runs after config parse.
|
|
958
|
+
for (const name of container.platformSecretNames) {
|
|
959
|
+
// eslint-disable-next-line no-restricted-syntax -- stage-2 scrub
|
|
960
|
+
delete process.env[name];
|
|
961
|
+
}
|
|
962
|
+
// 1.5. Config git versioning (inlined wireConfigGitManager).
|
|
963
|
+
const execGit = createExecGit();
|
|
964
|
+
const configDir = configPaths.length > 0 ? pathDirname(configPaths[0]) : "";
|
|
965
|
+
const configGitManager = configDir
|
|
966
|
+
? createConfigGitManager({
|
|
967
|
+
configDir,
|
|
968
|
+
execGit,
|
|
969
|
+
writeFile: async (relativePath, content) => {
|
|
970
|
+
try {
|
|
971
|
+
const targetPath = safePath(configDir, relativePath);
|
|
972
|
+
await fsWriteFile(targetPath, content, "utf-8");
|
|
973
|
+
return ok(undefined);
|
|
974
|
+
}
|
|
975
|
+
catch (e) {
|
|
976
|
+
return err(e instanceof Error ? e.message : String(e));
|
|
977
|
+
}
|
|
978
|
+
},
|
|
979
|
+
removeDir: async (relativePath) => {
|
|
980
|
+
try {
|
|
981
|
+
const targetPath = safePath(configDir, relativePath);
|
|
982
|
+
await rm(targetPath, { recursive: true, force: true });
|
|
983
|
+
return ok(undefined);
|
|
984
|
+
}
|
|
985
|
+
catch (e) {
|
|
986
|
+
return err(e instanceof Error ? e.message : String(e));
|
|
987
|
+
}
|
|
988
|
+
},
|
|
989
|
+
})
|
|
990
|
+
: undefined;
|
|
991
|
+
// 2-3. Logging
|
|
992
|
+
const { logger, logLevelManager, daemonLogger, gatewayLogger, channelsLogger, agentLogger, schedulerLogger, skillsLogger, memoryLogger, daemonVersion, } = setupLogging({ container, instanceId, _createTracingLogger, _createLogLevelManager });
|
|
993
|
+
// Log permission corrections (deferred until logger is available)
|
|
994
|
+
if (permissionCorrections.length > 0) {
|
|
995
|
+
for (const c of permissionCorrections) {
|
|
996
|
+
daemonLogger.info({ file: c.file, oldMode: `0o${c.oldMode.toString(8)}`, newMode: `0o${c.newMode.toString(8)}`, hint: "Restrictive permissions applied", errorKind: "config" }, `Fixed permissions on ${c.file}: 0o${c.oldMode.toString(8)} -> 0o${c.newMode.toString(8)}`);
|
|
997
|
+
}
|
|
998
|
+
}
|
|
999
|
+
// Deferred store-wins WARNs: shadow notifications (collected pre-logger).
|
|
1000
|
+
// Log name only — never value (residency invariant).
|
|
1001
|
+
for (const name of shadowedNames) {
|
|
1002
|
+
daemonLogger.warn({ submodule: "secrets-overlay", secretName: name }, `Secret '${name}' defined in both the active store and process.env — ` +
|
|
1003
|
+
"store value is authoritative. The env var has been removed from process.env.");
|
|
1004
|
+
}
|
|
1005
|
+
// Assert pre-read storageMode === post-bootstrap security.storage (invariant).
|
|
1006
|
+
// security.storage is a boot-critical, runtime-immutable switch that must be a literal
|
|
1007
|
+
// value — ${VAR} substitution is not supported for this field, because preReadStorageMode
|
|
1008
|
+
// (raw YAML scan, no variable expansion) gates key-material writes before
|
|
1009
|
+
// bootstrap resolves the substitution. A mismatch means ${VAR} was used and the two
|
|
1010
|
+
// values disagree — fail boot loudly rather than silently misrouting credential storage.
|
|
1011
|
+
if (container.config.security.storage !== storageMode) {
|
|
1012
|
+
throw new Error(`[CONFIG_ERROR] security.storage resolved to '${container.config.security.storage}' ` +
|
|
1013
|
+
`after config substitution, but pre-read value was '${storageMode}'. ` +
|
|
1014
|
+
"security.storage must be a literal value (encrypted|file|env); " +
|
|
1015
|
+
"${VAR} references are not supported for this field.");
|
|
1016
|
+
}
|
|
1017
|
+
// P0 boot: file/env storage mode INFO log (logger now available).
|
|
1018
|
+
// No WARN needed — the legacy opt-out path now fails at the boot gate above.
|
|
1019
|
+
// If we reach here with storageMode !== "encrypted", it is a valid P0 mode.
|
|
1020
|
+
if (storageMode !== "encrypted") {
|
|
1021
|
+
daemonLogger.info({
|
|
1022
|
+
storageMode,
|
|
1023
|
+
hint: "Credential stores operating in non-encrypted mode. SECRETS_MASTER_KEY and secrets.db are not created.",
|
|
1024
|
+
}, `security.storage: ${storageMode} — no key material created.`);
|
|
1025
|
+
}
|
|
1026
|
+
// 3.5. Startup config warnings
|
|
1027
|
+
const approvalsWarning = checkApprovalsConfig(container.config.approvals ?? { enabled: false, defaultMode: "auto", rules: [], defaultTimeoutMs: 30_000, waitTimeoutMs: 60_000 });
|
|
1028
|
+
if (approvalsWarning) {
|
|
1029
|
+
daemonLogger.warn({ hint: "Set approvals.enabled: true or remove unused rules", errorKind: "config" }, approvalsWarning);
|
|
1030
|
+
}
|
|
1031
|
+
// 3.6. Validate PROVIDER_OVERRIDES vs live pi-ai catalog (fire-and-forget).
|
|
1032
|
+
validateProviderOverrides(agentLogger);
|
|
1033
|
+
// 4. Observability
|
|
1034
|
+
const { tokenTracker, sharedCostTracker, diagnosticCollector, billingEstimator, channelActivityTracker, deliveryTracer,
|
|
1035
|
+
// the canonical redacted ActivityStream (the orchestrator-facing
|
|
1036
|
+
// ActivityStreamPort) + its drain hook. `activityStream` is injected into
|
|
1037
|
+
// ExecutionPipelineDeps + the ACP renderer hook; `disposeActivityStream` is
|
|
1038
|
+
// threaded into setupShutdown. The activity-stream logger + homeDir
|
|
1039
|
+
// are read here at the sanctioned composition root (no env reads in the
|
|
1040
|
+
// substrate; injected logger).
|
|
1041
|
+
activityStream, disposeActivityStream, spendAccumulator, otelHandle, // spendAccumulator: Phase 177 kill-switch (live-incremented, REHYDRATED below, threaded to bridges); otelHandle: Phase 178 OTLP/Prometheus exporter handle → setupShutdown.
|
|
1042
|
+
} = await setupObservability({
|
|
1043
|
+
eventBus: container.eventBus,
|
|
1044
|
+
_createTokenTracker,
|
|
1045
|
+
logger: logLevelManager.getLogger("observability"),
|
|
1046
|
+
activityLogger: logLevelManager.getLogger("activity-stream"),
|
|
1047
|
+
homeDir: mergedEnv["HOME"],
|
|
1048
|
+
dataDir, clock, config: container.config, version: daemonVersion, // Phase 177 (clock+config): construct the spend accumulator here (ceilings from config.observability.spend). Phase 178/CR-01: daemonVersion → comis_build_info{version}.
|
|
1049
|
+
// runtime reachability: resolve the DEFAULT agent's activity.theme →
|
|
1050
|
+
// themeForName bundle and forward it so the process-wide ActivityStream's
|
|
1051
|
+
// subagent marker follows the configured theme (the four themes are now
|
|
1052
|
+
// selectable at runtime; the schema fully-defaults activity.theme, the
|
|
1053
|
+
// `?? "default"` is belt-and-suspenders). Per-agent-per-turn theming via
|
|
1054
|
+
// TurnActivityContext is a documented future refinement.
|
|
1055
|
+
theme: themeForName(container.config.agents[container.config.routing.defaultAgentId]?.activity?.theme ?? "default"),
|
|
1056
|
+
});
|
|
1057
|
+
const contextPipelineCollector = createContextPipelineCollector({
|
|
1058
|
+
eventBus: container.eventBus,
|
|
1059
|
+
logger: logLevelManager.getLogger("context-pipeline"),
|
|
1060
|
+
});
|
|
1061
|
+
// The ActivityStream substrate is live and subscribed to the
|
|
1062
|
+
// EventBus. The orchestrator-facing ActivityStreamPort +
|
|
1063
|
+
// the per-channel coordinator-factory are now threaded into the INBOUND
|
|
1064
|
+
// execution pipeline (ExecutionPipelineDeps.activityStreamPort /
|
|
1065
|
+
// coordinatorFactory) — `activityStream` flows through buildChannelManagerDeps →
|
|
1066
|
+
// ChannelsDeps → buildAndStartChannelManager, which assembles the
|
|
1067
|
+
// coordinatorFactory over the live activityRenderers map and injects it onto
|
|
1068
|
+
// createChannelManager. The substrate is drained on shutdown via
|
|
1069
|
+
// disposeActivityStream. Per-renderer egress stays fail-closed until an
|
|
1070
|
+
// operator opts in via activity.channels.<rendererKey> (§22.2 Day-0).
|
|
1071
|
+
daemonLogger.debug({ component: "activity-stream", counters: activityStream.counters() }, "ActivityStream substrate constructed and subscribed to EventBus");
|
|
1072
|
+
// 5. Health / process
|
|
1073
|
+
const { processMonitor } = setupHealth({
|
|
1074
|
+
container, logger, daemonLogger, _createProcessMonitor,
|
|
1075
|
+
});
|
|
1076
|
+
// WR-01: the shared per-agent learned-skill SURFACE registry — created BEFORE the memory
|
|
1077
|
+
// wiring (which stands up the promote/demote loop) and threaded into BOTH it and setupAgents,
|
|
1078
|
+
// so a promote/demote can re-refresh the agent that registered its surface cache.
|
|
1079
|
+
const learnedSkillSurfaceRegistry = createLearnedSkillSurfaceRegistry();
|
|
1080
|
+
// 6.5. Memory + embedding
|
|
1081
|
+
const { disposeEmbedding, cachedPort, memoryAdapter, db, sessionStore, memoryApi, embeddingQueue, backgroundIndexingPromise, embeddingCacheStats, embeddingCircuitBreakerState, maintenanceTick, summarizerSpendBreaker, rerankerPort, rerankerModelPresent, disposeReranker, entityStore, lcdStore, provenanceStore, contextBrowse, temporalStore, causalStore, tripleStore, embeddingStore, usefulnessStore, outcomeStore, learnedSkillStore, recordOutboundMessage, destroyReactionWiring, memoryLifecycleStore, consolidationStore, recallCounters, } = await setupMemory({ container, memoryLogger, clock, timers, learnedSkillSurfaceRegistry });
|
|
1082
|
+
// Observability persistence (dual-write to SQLite). obsStore +
|
|
1083
|
+
// obsPersistence via const+IIFE.
|
|
1084
|
+
const obsConfig = container.config.observability;
|
|
1085
|
+
const obsBundle = obsConfig.persistence.enabled
|
|
1086
|
+
? (() => {
|
|
1087
|
+
const store = createObservabilityStore(db);
|
|
1088
|
+
const pruneResult = store.prune(obsConfig.persistence.retentionDays);
|
|
1089
|
+
daemonLogger.info({
|
|
1090
|
+
retentionDays: obsConfig.persistence.retentionDays,
|
|
1091
|
+
pruned: pruneResult,
|
|
1092
|
+
}, "Observability data pruned on startup");
|
|
1093
|
+
const persistence = setupObsPersistence({
|
|
1094
|
+
eventBus: container.eventBus,
|
|
1095
|
+
obsStore: store,
|
|
1096
|
+
db,
|
|
1097
|
+
channelActivityTracker,
|
|
1098
|
+
startupTimestamp: startupStartMs,
|
|
1099
|
+
snapshotIntervalMs: obsConfig.persistence.snapshotIntervalMs,
|
|
1100
|
+
logger: daemonLogger,
|
|
1101
|
+
// AUDIT-01: the security-audit.jsonl lives under <dataDir>/logs and
|
|
1102
|
+
// rides the shared observability.logRotation policy (the 6th stream).
|
|
1103
|
+
dataDir: container.config.dataDir || dataDir,
|
|
1104
|
+
logRotation: {
|
|
1105
|
+
maxSizeBytes: obsConfig.logRotation.maxSizeBytes,
|
|
1106
|
+
maxFiles: obsConfig.logRotation.maxFiles,
|
|
1107
|
+
},
|
|
1108
|
+
auditConfig: { persist: obsConfig.audit.persist, sink: obsConfig.audit.sink },
|
|
1109
|
+
// PERSIST-01: the cache_break subscriber is opt-out-able via this flag (default on).
|
|
1110
|
+
persistence: { cacheBreaks: obsConfig.persistence.cacheBreaks },
|
|
1111
|
+
});
|
|
1112
|
+
return { obsStore: store, obsPersistence: persistence };
|
|
1113
|
+
})()
|
|
1114
|
+
: undefined;
|
|
1115
|
+
const obsStore = obsBundle?.obsStore; // trajectory recorder is per-session (pi-executor.ts).
|
|
1116
|
+
const obsPersistence = obsBundle?.obsPersistence;
|
|
1117
|
+
// Phase 177: REHYDRATE the spend accumulator at the boot root, AFTER obsStore exists (the rolling-spend read lives there); NO-OPS when obsStore is undefined (persistence off → start at $0). 24h window.
|
|
1118
|
+
if (spendAccumulator)
|
|
1119
|
+
rehydrateSpendFromStore(spendAccumulator, obsStore, 24 * 60 * 60 * 1000);
|
|
1120
|
+
// OUTCOME-07: prune the append-only outcome_events ledger at EVERY boot,
|
|
1121
|
+
// UNCONDITIONALLY — deliberately OUTSIDE the obsConfig.persistence.enabled IIFE
|
|
1122
|
+
// above, because this is anti-DoS housekeeping that must run regardless of obs
|
|
1123
|
+
// persistence OR the learningOutcome enable flag (a ledger that grew while the
|
|
1124
|
+
// signal was briefly enabled must still be bounded after it is turned off). The
|
|
1125
|
+
// ledger is tenant/agent-agnostic, so retain the LONGEST horizon any agent asks
|
|
1126
|
+
// for (default 30 from the Plan-01 schema) — never prune one agent's data early.
|
|
1127
|
+
{
|
|
1128
|
+
const learningOutcomeRetentionDays = Math.max(30, ...Object.values(container.config.agents ?? {}).map((a) => a?.learningOutcome?.retentionDays ?? 30));
|
|
1129
|
+
const outcomePruneStart = systemNowMs();
|
|
1130
|
+
const outcomePruned = outcomeStore.prune(learningOutcomeRetentionDays);
|
|
267
1131
|
daemonLogger.info({
|
|
268
|
-
retentionDays:
|
|
269
|
-
pruned:
|
|
270
|
-
|
|
271
|
-
|
|
1132
|
+
retentionDays: learningOutcomeRetentionDays,
|
|
1133
|
+
pruned: outcomePruned.changes,
|
|
1134
|
+
durationMs: systemNowMs() - outcomePruneStart,
|
|
1135
|
+
}, "Outcome events pruned on startup");
|
|
1136
|
+
}
|
|
1137
|
+
// I2: one-shot model_health boot snapshot — embedding/reranker load-level
|
|
1138
|
+
// signals as a queryable obs_diagnostics row (no-ops when persistence off).
|
|
1139
|
+
// EMB-01 adds the two advisory multilingual booleans (provider-aware resolution
|
|
1140
|
+
// in resolveModelHealthMultilingual; advisory only — no recall gated, I4).
|
|
1141
|
+
recordModelHealth(obsStore, {
|
|
1142
|
+
embeddingAvailable: !!cachedPort, rerankerModelPresent, rerankerBuilt: rerankerPort !== undefined,
|
|
1143
|
+
...resolveModelHealthMultilingual(container.config),
|
|
1144
|
+
}, clock);
|
|
1145
|
+
// Create daemon-level runtime registries
|
|
1146
|
+
const activeRunRegistry = createActiveRunRegistry();
|
|
1147
|
+
const sessionResolver = createBackgroundSessionResolver({ activeRunRegistry });
|
|
1148
|
+
const canaryFallbackSecret = (await import("node:crypto")).createHmac("sha256", container.config.tenantId)
|
|
1149
|
+
.update("comis:canary-fallback")
|
|
1150
|
+
.digest("hex");
|
|
1151
|
+
const injectionRateLimiter = createInjectionRateLimiter({ clock, timers });
|
|
1152
|
+
// Session mirroring (must precede setupAgents — agents receive a live deliveryMirror port)
|
|
1153
|
+
const { deliveryMirror, startPrune: startMirrorPrune, shutdown: shutdownMirror } = await setupDeliveryMirror({
|
|
1154
|
+
db, config: container.config, pluginRegistry: container.pluginRegistry, logger: daemonLogger,
|
|
1155
|
+
});
|
|
1156
|
+
// Gemini CachedContent lifecycle manager (per-agent enable gate lives in the injector)
|
|
1157
|
+
const geminiCacheManager = createGeminiCacheManager({
|
|
1158
|
+
getApiKey: () => container.secretManager.get("google-api-key") ?? container.secretManager.get("GOOGLE_API_KEY"),
|
|
1159
|
+
ttlSeconds: 3600,
|
|
1160
|
+
maxActiveCachesPerAgent: 20,
|
|
1161
|
+
refreshThreshold: 0.5,
|
|
1162
|
+
logger: daemonLogger,
|
|
1163
|
+
clock,
|
|
1164
|
+
});
|
|
1165
|
+
// Deferred channel plugins ref (populated after setupChannels)
|
|
1166
|
+
const channelPluginsRef = {};
|
|
1167
|
+
// 6.5.1. Background task system (created before setupAgents)
|
|
1168
|
+
const { backgroundTaskManager } = setupBackgroundTasks({
|
|
1169
|
+
dataDir,
|
|
1170
|
+
eventBus: container.eventBus,
|
|
1171
|
+
logger: logLevelManager.getLogger("background-tasks"),
|
|
1172
|
+
clock,
|
|
1173
|
+
timers,
|
|
1174
|
+
});
|
|
1175
|
+
// Deferred notification ref + bgNotifyFn closure
|
|
1176
|
+
const bgNotifyRef = {};
|
|
1177
|
+
const bgNotifyFn = async (opts) => {
|
|
1178
|
+
await bgNotifyRef.ref?.notifyUser({
|
|
1179
|
+
agentId: opts.agentId,
|
|
1180
|
+
message: opts.message,
|
|
1181
|
+
priority: opts.priority,
|
|
1182
|
+
origin: opts.origin,
|
|
1183
|
+
});
|
|
1184
|
+
};
|
|
1185
|
+
// 6.5.2. Credential broker (constructed only when executor.broker is configured)
|
|
1186
|
+
const brokerHandle = container.config.executor?.broker
|
|
1187
|
+
? await setupBroker({
|
|
1188
|
+
dataDir,
|
|
272
1189
|
eventBus: container.eventBus,
|
|
273
|
-
obsStore: store,
|
|
274
|
-
db,
|
|
275
|
-
channelActivityTracker,
|
|
276
|
-
startupTimestamp: startupStartMs,
|
|
277
|
-
snapshotIntervalMs: obsConfig.persistence.snapshotIntervalMs,
|
|
278
1190
|
logger: daemonLogger,
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
.
|
|
291
|
-
.
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
1191
|
+
clock,
|
|
1192
|
+
timers,
|
|
1193
|
+
secretManager: container.secretManager,
|
|
1194
|
+
bindings: Object.values(container.config.executor.broker.bindings ?? {}),
|
|
1195
|
+
port: container.config.executor.broker.port,
|
|
1196
|
+
socketPath: container.config.executor.broker.socketPath ?? safePath(dataDir, "broker.sock"),
|
|
1197
|
+
})
|
|
1198
|
+
: undefined;
|
|
1199
|
+
// 6.5.9. Seed ALL bundled skills into the user data dir (version-aware, AUTO-SCANNED).
|
|
1200
|
+
// SKILLS-SEED-01: generalized from the former single skill-creator IIFE — every
|
|
1201
|
+
// `bundled-skills/<name>/` (skill-creator, claude-code, codex, …) is seeded into
|
|
1202
|
+
// `<dataDir>/skills/<name>`, so shipping a bundled skill is ZERO engine code. Idempotent:
|
|
1203
|
+
// re-seeds only when missing or the bundled `version:` differs (see seed-bundled-skills.ts).
|
|
1204
|
+
{
|
|
1205
|
+
// Relative path resolves to packages/daemon/bundled-skills from this file in packages/daemon/src/.
|
|
1206
|
+
const bundledSkillsRoot = pathResolve(fileURLToPath(import.meta.url), "../../bundled-skills");
|
|
1207
|
+
seedBundledSkills(defaultSeedBundledSkillsDeps(bundledSkillsRoot, safePath(dataDir, "skills"), agentLogger));
|
|
1208
|
+
}
|
|
1209
|
+
// Mutate boot with all Group A foundation fields. The 2 forward-ref slots
|
|
1210
|
+
// (channelPluginsRef, bgNotifyRef) were eagerly initialized by
|
|
1211
|
+
// createEmptyBootContext(); here we wire the bgNotifyFn closure that reads
|
|
1212
|
+
// bgNotifyRef.ref at call time (populated later by bootChannels).
|
|
1213
|
+
boot.channelPluginsRef = channelPluginsRef;
|
|
1214
|
+
boot.bgNotifyRef = bgNotifyRef;
|
|
1215
|
+
Object.assign(boot, {
|
|
1216
|
+
container, dataDir, configPaths, envPath,
|
|
1217
|
+
clock, env, timers, activityBreaker, activityRendererFactoryOverride: activityRendererFactory,
|
|
1218
|
+
secretStore, mutableHandle, secretsCrypto, secretsDb, permissionCorrections,
|
|
1219
|
+
execGit, configGitManager,
|
|
1220
|
+
logger, logLevelManager, daemonLogger, gatewayLogger, channelsLogger, agentLogger,
|
|
1221
|
+
schedulerLogger, skillsLogger, memoryLogger, daemonVersion,
|
|
1222
|
+
tokenTracker, sharedCostTracker,
|
|
1223
|
+
diagnosticCollector, billingEstimator, channelActivityTracker, deliveryTracer,
|
|
1224
|
+
activityStream, disposeActivityStream, spendAccumulator, otelHandle, // spendAccumulator: Phase 177 kill-switch → bridge; otelHandle: Phase 178 OTLP/Prometheus exporter → setupShutdown.
|
|
1225
|
+
contextPipelineCollector,
|
|
1226
|
+
processMonitor,
|
|
1227
|
+
disposeEmbedding, cachedPort, memoryAdapter, db, sessionStore, memoryApi,
|
|
1228
|
+
embeddingQueue, backgroundIndexingPromise, embeddingCacheStats,
|
|
1229
|
+
embeddingCircuitBreakerState, summarizerSpendBreaker, rerankerPort, rerankerModelPresent, disposeReranker, entityStore, lcdStore, provenanceStore, contextBrowse, temporalStore, causalStore, tripleStore, embeddingStore, usefulnessStore, outcomeStore, learnedSkillStore, learnedSkillSurfaceRegistry, recordOutboundMessage, destroyReactionWiring, memoryLifecycleStore, consolidationStore, recallCounters, maintenanceTick,
|
|
1230
|
+
obsStore, obsPersistence,
|
|
1231
|
+
activeRunRegistry, sessionResolver, canaryFallbackSecret, injectionRateLimiter,
|
|
1232
|
+
deliveryMirror, startMirrorPrune, shutdownMirror,
|
|
1233
|
+
geminiCacheManager,
|
|
1234
|
+
backgroundTaskManager, bgNotifyFn,
|
|
1235
|
+
brokerHandle,
|
|
324
1236
|
});
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
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
|
-
};
|
|
1237
|
+
}
|
|
1238
|
+
catch (e) {
|
|
1239
|
+
// Boot failed — release the lock. Under normal boot, setupShutdown.onShutdown
|
|
1240
|
+
// owns the release; catch here handles bootstrap/selectSecretStore failures.
|
|
1241
|
+
releaseDataDirLock(dataDir);
|
|
1242
|
+
throw e;
|
|
1243
|
+
}
|
|
348
1244
|
}
|
|
349
1245
|
// ---------------------------------------------------------------------------
|
|
350
1246
|
// Stage 2: agents
|
|
351
1247
|
// ---------------------------------------------------------------------------
|
|
352
1248
|
/**
|
|
353
|
-
*
|
|
1249
|
+
* bootAgents — agent-runtime startup. Owns:
|
|
354
1250
|
* - agents config map + default agent/workspace resolution
|
|
355
1251
|
* - mcpClientManager (constructed BEFORE setupAgents per ordering constraint)
|
|
356
1252
|
* - setupAgents (executors, costTrackers, skillRegistries, OAuth store, etc.)
|
|
357
1253
|
* - subprocessEnv + execToolEnv (filtered envs for trusted/untrusted children)
|
|
358
1254
|
* - systemEventQueue (cron-heartbeat routing) + setupSchedulers
|
|
359
1255
|
* - sessionTrackerRegistry + Gemini-cache cleanup + MCP disconnect cleanup
|
|
360
|
-
* -
|
|
1256
|
+
* - auditAggregator + onSuspiciousContent
|
|
361
1257
|
* - setupMedia + setupRpcBridge
|
|
362
|
-
* - approvalGate + restoreApprovalState
|
|
1258
|
+
* - approvalGate + restoreApprovalState
|
|
363
1259
|
* - setupDeliveryQueue (+ channelAdaptersRef placeholder)
|
|
364
1260
|
*
|
|
365
|
-
*
|
|
366
|
-
* daemon-lifecycle.test.ts log-sequence assertions remain green
|
|
367
|
-
* executor initialized", "Per-agent CronScheduler started").
|
|
1261
|
+
* Mutates `boot` with all Group B agent fields. Per-line-source order
|
|
1262
|
+
* preserved so daemon-lifecycle.test.ts log-sequence assertions remain green
|
|
1263
|
+
* ("Agent executor initialized", "Per-agent CronScheduler started").
|
|
368
1264
|
*
|
|
369
1265
|
* mcpClientManager construction order is a production-correctness
|
|
370
1266
|
* constraint: it must be constructed BEFORE setupAgents — do not invert.
|
|
371
1267
|
*/
|
|
372
|
-
async function
|
|
373
|
-
const { overrides
|
|
374
|
-
|
|
1268
|
+
async function bootAgents(boot, input) {
|
|
1269
|
+
const { overrides } = input;
|
|
1270
|
+
// Alias `boot` as `foundation` for body-readability — Group A fields are
|
|
1271
|
+
// already populated by bootFoundation, destructuring from boot is equivalent.
|
|
1272
|
+
const foundation = boot;
|
|
1273
|
+
const { container, dataDir, clock, env, timers, daemonLogger, gatewayLogger, agentLogger, schedulerLogger, skillsLogger, memoryAdapter, db, sessionStore, cachedPort, embeddingQueue, rerankerPort, // built in setup-memory; threaded into setupAgents -> createPiExecutor
|
|
1274
|
+
rerankerModelPresent, // model-present probe result; threaded into setupAgents -> per-agent effective rerank precedence (same value as the build gate)
|
|
1275
|
+
entityStore, // threaded into setupAgents -> createPiExecutor (recall read path) + the cron review (write path)
|
|
1276
|
+
lcdStore, // Phase 128 LCD store; threaded into setupAgents -> createPiExecutor (contextStore) -> setupContextEngine -> the `dag` branch (context-engine.ts). Opt-in (version: "dag"); default pipeline. The agent receives the core ContextStorePort TYPE only (agent↛memory cut)
|
|
1277
|
+
provenanceStore, // Phase 173 DIST-03 read side; threaded into setupAgents -> createPiExecutor -> prompt-assembly -> createMemoryRecall's post-fusion provenance down-weighting pass (was BUILT but never injected in Phase 172). The agent receives the core LcdProvenanceReadStore TYPE only (agent↛memory cut)
|
|
1278
|
+
summarizerSpendBreaker, // R1 (132-05); daemon-owned per-tenant breaker; threaded into setupAgents -> createPiExecutor -> setupContextEngine so getSummarizerDeps gates the leaf seam per tenant (truncation-only degrade on open-breaker/over-cap)
|
|
1279
|
+
spendAccumulator, temporalStore, // spendAccumulator = Phase 177 dollars kill-switch (threaded setupAgents -> createPiExecutor -> bridge); temporalStore -> createMemoryRecall (recall temporal-spread read; dormant until rag.lanes.temporal.enabled)
|
|
1280
|
+
causalStore, // threaded into setupAgents -> createPiExecutor -> createMemoryRecall (the 5th causal read lane, dormant until rag.lanes.causal.enabled) AND the cron review -> runMemoryReview -> linkCausal (the write path) — one segregated port, both halves
|
|
1281
|
+
tripleStore, // threaded into setupAgents -> createPiExecutor -> createMemoryRecall (the 6th graph-spread read lane, dormant until rag.lanes.graphSpread.enabled); the agent receives the port TYPE only (the agent↛memory cut)
|
|
1282
|
+
embeddingStore, usefulnessStore, // the MMR re-rank's scoped embedding read + recall usefulness read -> setupAgents -> createPiExecutor -> prompt-assembly; the agent receives the port TYPEs only (the agent↛memory cut). (The directional relationshipStore + the LLM-free <channel_relationships> standing-block read were DELETED in Phase 226-04 with the rest of the social-modeling subsystem. The LLM-free <user_profile> read is now the kind:"profile" mentalModelStore.list path — FOLD-01, Phase 225 — NOT a separate userRepresentationStore. The buildScoringAlphas tuned-vector read was deleted in Phase 224 — recall scoring is the fixed config alphas.)
|
|
1283
|
+
activeRunRegistry, canaryFallbackSecret, injectionRateLimiter, learnedSkillStore, learnedSkillSurfaceRegistry, // learnedSkillStore (v2.26 SURFACE-01/03) -> setupAgents -> getPromptSkillsXml; learnedSkillSurfaceRegistry (WR-01) -> setupAgents register + the promote/demote re-refresh
|
|
1284
|
+
deliveryMirror, geminiCacheManager, channelPluginsRef, backgroundTaskManager, secretsCrypto, secretsDb, obsStore, // thread into setupAgents
|
|
1285
|
+
secretStore, // interactive-callback signing-secret resolution
|
|
1286
|
+
} = foundation;
|
|
375
1287
|
const _setupMedia = overrides.setupMedia ?? setupMedia;
|
|
376
1288
|
// 6.6. Agents
|
|
377
1289
|
const agentsConfig = container.config.agents;
|
|
@@ -385,19 +1297,124 @@ async function stageAgents(input) {
|
|
|
385
1297
|
const defaultAgentConfig = agentsConfig[defaultAgentId] ??
|
|
386
1298
|
agentsConfig.default ??
|
|
387
1299
|
{};
|
|
388
|
-
const defaultWorkspaceDir = resolveWorkspaceDir(defaultAgentConfig, defaultAgentId);
|
|
1300
|
+
const defaultWorkspaceDir = resolveWorkspaceDir(defaultAgentConfig, defaultAgentId, container.config.dataDir || dataDir);
|
|
1301
|
+
// Boot-path skill-bundle re-merge MUST run BEFORE setupMcp (sequencing
|
|
1302
|
+
// gate). The orchestrator
|
|
1303
|
+
// re-runs the bundle resolver across every installed skill's mcpServers
|
|
1304
|
+
// block and persists the merged array via persistMcpServers — which
|
|
1305
|
+
// mutates container.config.integrations.mcp.servers via its in-memory
|
|
1306
|
+
// swap. setupMcp on the next line then connects from the POST-merge
|
|
1307
|
+
// state. Reversing the order leaves setupMcp connecting to the pre-merge
|
|
1308
|
+
// list (a new bundle entry persists on disk but stays disconnected).
|
|
1309
|
+
//
|
|
1310
|
+
// Pre-pass: build thin discovery-only skill registries inline (the real
|
|
1311
|
+
// per-agent registries with eligibility + watcher are built later inside
|
|
1312
|
+
// setupAgents). createSkillRegistry is idempotent so the two passes
|
|
1313
|
+
// don't race; the discovery-only registries are discarded after the
|
|
1314
|
+
// orchestrator returns.
|
|
1315
|
+
const skillRegistriesForBundles = buildSkillRegistriesForBundles(container, skillsLogger);
|
|
1316
|
+
await setupSkillBundles({
|
|
1317
|
+
container,
|
|
1318
|
+
skillRegistries: skillRegistriesForBundles,
|
|
1319
|
+
persistDeps: {
|
|
1320
|
+
container,
|
|
1321
|
+
configPaths: foundation.configPaths,
|
|
1322
|
+
defaultConfigPaths: DEFAULT_CONFIG_PATHS,
|
|
1323
|
+
configGitManager: foundation.configGitManager,
|
|
1324
|
+
logger: skillsLogger,
|
|
1325
|
+
},
|
|
1326
|
+
eventBus: container.eventBus,
|
|
1327
|
+
logger: skillsLogger,
|
|
1328
|
+
});
|
|
1329
|
+
// Construct the ONE mode-selected MCP OAuth token store at the composition
|
|
1330
|
+
// root. The SAME instance is threaded into BOTH consumers — setupMcp's manager
|
|
1331
|
+
// wiring (below) AND the login/handler path (buildRpcDispatchDeps reads it off
|
|
1332
|
+
// the boot context). This kills the encrypted-mode split-brain where the login
|
|
1333
|
+
// path wrote a plaintext disk store while the manager read the mode-selected
|
|
1334
|
+
// store. selectMcpTokenStore: encrypted → mcp_credentials (AES-256-GCM, no disk
|
|
1335
|
+
// files); file → chokidar mcp-tokens/ store; env → undefined (no MCP OAuth).
|
|
1336
|
+
const mcpTokenStore = selectMcpTokenStore({
|
|
1337
|
+
storage: container.config.security.storage,
|
|
1338
|
+
logger: skillsLogger,
|
|
1339
|
+
dataDir: container.config.dataDir && container.config.dataDir.length > 0
|
|
1340
|
+
? container.config.dataDir
|
|
1341
|
+
: dataDir,
|
|
1342
|
+
secretsDb,
|
|
1343
|
+
secretsCrypto,
|
|
1344
|
+
});
|
|
389
1345
|
// Construct daemon-global MCP manager BEFORE setupAgents (ordering constraint
|
|
390
1346
|
// -- per-agent ToolCapabilityPort adapters close over mcpClientManager).
|
|
391
|
-
|
|
1347
|
+
// setupMcp consumes the injected mcpTokenStore; it no longer mode-selects.
|
|
1348
|
+
const { mcpClientManager } = await setupMcp({
|
|
1349
|
+
servers: container.config.integrations.mcp.servers,
|
|
1350
|
+
logger: skillsLogger,
|
|
1351
|
+
callToolTimeoutMs: container.config.integrations.mcp.callToolTimeoutMs,
|
|
1352
|
+
defaultCwd: defaultWorkspaceDir,
|
|
1353
|
+
eventBus: container.eventBus,
|
|
1354
|
+
stdioDefaultConcurrency: container.config.integrations.mcp.stdioDefaultConcurrency,
|
|
1355
|
+
httpDefaultConcurrency: container.config.integrations.mcp.httpDefaultConcurrency,
|
|
1356
|
+
// Forward the global reliability config so daemon-wide overrides
|
|
1357
|
+
// apply to startup-connected servers. keepaliveIntervalMs is the middle tier:
|
|
1358
|
+
// per-server server.keepaliveIntervalMs ?? globalKeepaliveIntervalMs ??
|
|
1359
|
+
// transport-aware default (resolveDefaultKeepaliveIntervalMs in ticker).
|
|
1360
|
+
globalKeepaliveIntervalMs: container.config.integrations.mcp.keepaliveIntervalMs,
|
|
1361
|
+
circuitBreakerThreshold: container.config.integrations.mcp.circuitBreakerThreshold,
|
|
1362
|
+
circuitBreakerCooldownMs: container.config.integrations.mcp.circuitBreakerCooldownMs,
|
|
1363
|
+
// The single mode-selected MCP OAuth token store (same instance threaded
|
|
1364
|
+
// into the login/handler path via the boot context). Undefined in env mode.
|
|
1365
|
+
mcpTokenStore,
|
|
1366
|
+
});
|
|
1367
|
+
// CWF-03: Ollama served-window probe — best-effort, fail-open.
|
|
1368
|
+
// Must run before setupAgents so the result can be threaded into each executor.
|
|
1369
|
+
// daemon.ts is the globals allowlist root; raw fetch is permitted here.
|
|
1370
|
+
const servedWindowByProvider = await probeAllOllamaProviders({
|
|
1371
|
+
providerEntries: container.config.providers?.entries ?? {},
|
|
1372
|
+
fetchFn: (url, init) => fetch(url, init),
|
|
1373
|
+
timeoutMs: 5_000,
|
|
1374
|
+
// IMP-2a: also LOAD-warm each ollama model (fire-and-forget) so a cold model's first inference
|
|
1375
|
+
// doesn't exceed the per-inference stall budget and abort the first user turn after a (re)start.
|
|
1376
|
+
prewarm: true,
|
|
1377
|
+
logger: agentLogger,
|
|
1378
|
+
}).catch((err) => {
|
|
1379
|
+
agentLogger.warn({
|
|
1380
|
+
err,
|
|
1381
|
+
errorKind: "dependency",
|
|
1382
|
+
hint: "probeAllOllamaProviders threw an unhandled exception; all executor servedContextWindow values will be undefined. Check @comis/agent version compatibility.",
|
|
1383
|
+
}, "Ollama served-window probe threw unexpectedly — starting with empty map (fail-open)");
|
|
1384
|
+
return new Map();
|
|
1385
|
+
});
|
|
1386
|
+
// LAT-03: one-time redirect WARN for the config-echo-only providers.*.timeoutMs.
|
|
1387
|
+
try {
|
|
1388
|
+
warnOnProviderTimeoutRedirect({ providerEntries: container.config.providers?.entries ?? {}, logger: agentLogger });
|
|
1389
|
+
}
|
|
1390
|
+
catch { /* fail-open — a WARN helper must never block boot (I1) */ }
|
|
1391
|
+
// KNOB-01/03 + FLOOR-01 (v2.21): daemon-owned boot-honesty collectors, populated
|
|
1392
|
+
// per-agent in setup-agents beside the registry; read by the bootChannels floor
|
|
1393
|
+
// loop + the bootShutdown posture count (ONE comparison feeds WARN + count).
|
|
1394
|
+
const servedWindowComparisons = new Map();
|
|
1395
|
+
const agentBootWindowInfo = new Map();
|
|
1396
|
+
// Phase 213-08: the LATE-BOUND bounded-autonomy seam (built before the cap layer; see helper JSDoc).
|
|
1397
|
+
const { boundedAutonomyBudgetHolder, resolveRootRunId, sharedLeaseManager } = createBoundedAutonomyWiring({ clock });
|
|
392
1398
|
const { sessionManager, executors, workspaceDirs, costTrackers, budgetGuards, stepCounters, getExecutor, piSessionAdapters, skillWatcherHandles, skillRegistries, lockCleanupTimer, singleAgentDeps, providerHealth,
|
|
393
|
-
// Daemon-level OAuth credential store
|
|
394
|
-
//
|
|
1399
|
+
// Daemon-level OAuth credential store from setupAgents — same port instance
|
|
1400
|
+
// threaded into ApiDispatchDeps so agents.update can validate oauthProfiles
|
|
1401
|
+
// patches via has(). setupAgents constructs its own store internally via
|
|
1402
|
+
// selectOAuthCredentialStore. This is the OAuth *profile* store (provider
|
|
1403
|
+
// tokens), distinct from the MCP OAuth token store (`mcpTokenStore` above,
|
|
1404
|
+
// built via selectMcpTokenStore) — two separate credential families.
|
|
395
1405
|
oauthCredentialStore,
|
|
396
1406
|
// Per-agent live ToolCapabilityPort adapters; daemon.ts threads
|
|
397
1407
|
// getCapabilityPortForAgent into setupTools and mutates this map on
|
|
398
|
-
// hot-add / hot-remove.
|
|
399
|
-
toolCapabilityPorts,
|
|
400
|
-
|
|
1408
|
+
// hot-add / hot-remove. trajectoryRegistry is drained by setupShutdown.
|
|
1409
|
+
toolCapabilityPorts, trajectoryRegistry,
|
|
1410
|
+
// per-agent shared ExecutionPlanHolder reference map.
|
|
1411
|
+
// Threaded through buildChannelManagerDeps so the chat plan-stream reads
|
|
1412
|
+
// from the SAME object SEP publishes into (Pitfall 1).
|
|
1413
|
+
executionPlanPorts, oauthManagers, authStorages, // oauthManagers (184): DEFAULT agent's → buildImageGenBundle (CDX-01); authStorages (FLAG-3): dialectic OAuth resolver
|
|
1414
|
+
} = await setupAgents({
|
|
1415
|
+
container, memoryAdapter, sessionStore, agentLogger, rerankerPort, rerankerModelPresent, entityStore, lcdStore, provenanceStore, temporalStore, causalStore, tripleStore, embeddingStore, usefulnessStore, pinnedStore: memoryAdapter, learnedSkillStore, learnedSkillSurfaceRegistry, summarizerSpendBreaker, spendAccumulator,
|
|
1416
|
+
boundedAutonomyBudget: boundedAutonomyBudgetHolder, resolveRootRunId, // Phase 213-08: per-root budget holder + rootRunId resolver → each bridge
|
|
1417
|
+
outboundMediaEnabled: true,
|
|
401
1418
|
autonomousMediaEnabled: !container.config.integrations.media.transcription.autoTranscribe
|
|
402
1419
|
|| !container.config.integrations.media.vision.enabled
|
|
403
1420
|
|| !container.config.integrations.media.documentExtraction.enabled,
|
|
@@ -405,16 +1422,13 @@ async function stageAgents(input) {
|
|
|
405
1422
|
canaryFallbackSecret, // Deterministic canary fallback
|
|
406
1423
|
injectionRateLimiter, // Per-user injection rate limiting
|
|
407
1424
|
embeddingQueue, // Conversation memory persistence in executor
|
|
408
|
-
// DAG context engine deps
|
|
409
|
-
contextStore,
|
|
410
|
-
db,
|
|
411
1425
|
embeddingPort: cachedPort, // Semantic search in discover_tools
|
|
412
1426
|
// Session mirroring -- mirror port + injection budget config
|
|
413
1427
|
deliveryMirror,
|
|
414
1428
|
deliveryMirrorConfig: container.config.deliveryMirror
|
|
415
1429
|
? { maxEntriesPerInjection: container.config.deliveryMirror.maxEntriesPerInjection, maxCharsPerInjection: container.config.deliveryMirror.maxCharsPerInjection }
|
|
416
1430
|
: undefined,
|
|
417
|
-
geminiCacheManager, //
|
|
1431
|
+
geminiCacheManager, obsStore, // SystemPromptReport persistence
|
|
418
1432
|
// Resolve platform char limit via deferred channelPlugins ref
|
|
419
1433
|
getChannelMaxChars: (channelType) => {
|
|
420
1434
|
const plugin = channelPluginsRef.ref?.get(channelType);
|
|
@@ -430,6 +1444,8 @@ async function stageAgents(input) {
|
|
|
430
1444
|
// per-agent ToolCapabilityPort adapter construction.
|
|
431
1445
|
mcpClientManager,
|
|
432
1446
|
clock, env, timers,
|
|
1447
|
+
servedWindowByProvider, // CWF-03: Ollama served context-window probe result
|
|
1448
|
+
servedWindowComparisons, agentBootWindowInfo, // KNOB-01/03 + FLOOR-01 collectors
|
|
433
1449
|
});
|
|
434
1450
|
// Log operation model resolutions at startup (dry-run validation)
|
|
435
1451
|
logOperationModelDryRun({
|
|
@@ -445,42 +1461,55 @@ async function stageAgents(input) {
|
|
|
445
1461
|
const subprocessEnv = envSubset(container.secretManager, [...SUBPROCESS_SYSTEM, ...container.secretManager.keys()]);
|
|
446
1462
|
// Credential-free env for the exec tool (agent-issued shell commands).
|
|
447
1463
|
const execToolEnv = envSubset(container.secretManager, [...SUBPROCESS_SYSTEM]);
|
|
448
|
-
// Deferred wake callback ref -- populated by
|
|
449
|
-
//
|
|
450
|
-
// bgNotifyRef (cross-stage deferred-ref pattern).
|
|
1464
|
+
// Deferred wake callback ref -- populated by bootChannels once wakeCoalescer is
|
|
1465
|
+
// constructed (the channelPluginsRef / bgNotifyRef cross-stage deferred-ref pattern).
|
|
451
1466
|
const cronWakeCallbackRef = {};
|
|
452
1467
|
// 6.6.4.9. System event queue (created early for cron-heartbeat routing)
|
|
453
1468
|
const systemEventQueue = createSystemEventQueue({ logger: schedulerLogger });
|
|
454
|
-
// 6.6.5. Schedulers
|
|
1469
|
+
// 6.6.5. Schedulers — the onCronWake handler reads `cronWakeCallbackRef.ref` at
|
|
1470
|
+
// INVOCATION time (deferred), so the live wakeCoalescer wired in bootChannels
|
|
1471
|
+
// receives the wake; a cron firing in the handoff gap is DEBUG-logged (the silent
|
|
1472
|
+
// miss is visible). Observability-only: NO buffer-then-drain (channelPluginsRef/
|
|
1473
|
+
// bgNotifyRef precedent) — replaying timer-driven wakes could cause a wake storm.
|
|
455
1474
|
const { cronSchedulers, executionTrackers, browserServices, resetSchedulers, getAgentCronScheduler, getAgentBrowserService, } = await setupSchedulers({
|
|
456
1475
|
container, workspaceDirs, sessionStore, sessionManager,
|
|
457
1476
|
schedulerLogger, agentLogger, skillsLogger,
|
|
458
1477
|
subprocessEnv,
|
|
459
1478
|
systemEventQueue, // cron-heartbeat routing
|
|
460
|
-
onCronWake:
|
|
1479
|
+
onCronWake: (reason) => {
|
|
1480
|
+
const callback = cronWakeCallbackRef.ref;
|
|
1481
|
+
if (callback) {
|
|
1482
|
+
callback(reason);
|
|
1483
|
+
}
|
|
1484
|
+
else {
|
|
1485
|
+
daemonLogger.debug({ reason, hint: "wakeCoalescer not yet constructed; cron wake dropped" }, "Cron wake dropped during stage handoff");
|
|
1486
|
+
}
|
|
1487
|
+
},
|
|
461
1488
|
clock, timers,
|
|
1489
|
+
leaseManager: sharedLeaseManager, boundedAutonomyHolder: boundedAutonomyBudgetHolder, // Phase 213-08 (RATE-02): the cron-fire fresh-lease mint (shared LeaseManager + late-bound holder)
|
|
462
1490
|
});
|
|
463
1491
|
// Post-setupAgents cleanup wiring: session expiry, Gemini cache disposal,
|
|
464
1492
|
// orphan cleanup, MCP disconnect cleanup. Returns the sessionTrackerRegistry
|
|
465
|
-
// bound to the session:expired listener
|
|
1493
|
+
// bound to the session:expired listener.
|
|
466
1494
|
const sessionTrackerRegistry = wirePostAgentsCleanup({
|
|
467
1495
|
eventBus: container.eventBus,
|
|
468
1496
|
geminiCacheManager,
|
|
469
1497
|
daemonLogger,
|
|
470
1498
|
});
|
|
471
|
-
//
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
});
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
skillsLogger,
|
|
479
|
-
clock,
|
|
480
|
-
timers,
|
|
481
|
-
});
|
|
1499
|
+
// Audit aggregator for deduplicating security events. Inlined buildAuditBundle:
|
|
1500
|
+
// auditAggregator + onSuspiciousContent pair used by bootAgents and
|
|
1501
|
+
// threaded into setupMedia.
|
|
1502
|
+
const auditAggregator = createAuditAggregator(container.eventBus, { clock, timers }, undefined, skillsLogger);
|
|
1503
|
+
const onSuspiciousContent = (info) => {
|
|
1504
|
+
auditAggregator.record({ source: "external_content", patterns: info.patterns });
|
|
1505
|
+
};
|
|
482
1506
|
// 6.6.7. Media (moved up from 6.6.8 -- media infrastructure must be ready before channels)
|
|
483
|
-
|
|
1507
|
+
// Phase 193 keyless-first audio steering: setup-media gates STT/TTS construction
|
|
1508
|
+
// on this selector (resolveStt/resolveTts) BEFORE building any adapter — a
|
|
1509
|
+
// Codex/OAuth-only main never builds the empty-bearer OpenAI adapter (no 401).
|
|
1510
|
+
// Phase 194: buildAudioResolverDeps is async (runs the detectLocalSttEngine boot probe).
|
|
1511
|
+
const audioSelector = await buildAudioResolverDeps(container, defaultAgentId, skillsLogger);
|
|
1512
|
+
const { ttsAdapter, visionRegistry, visionRegistryHolder, linkRunner, mediaTempManager, mediaSemaphore, audioConverter, transcriber, ssrfFetcher, fileExtractor, voiceSelection, } = await _setupMedia({ container, skillsLogger, onSuspiciousContent, audioSelector });
|
|
484
1513
|
// 6.6.7.5. RPC bridge (deferred dispatch) -- moved before setupChannels so rpcCall
|
|
485
1514
|
// can be threaded into channel config command handling.
|
|
486
1515
|
const { rpcCall, wireDispatch } = setupRpcBridge({ gatewayLogger });
|
|
@@ -501,77 +1530,241 @@ async function stageAgents(input) {
|
|
|
501
1530
|
containerDataDir: container.config.dataDir,
|
|
502
1531
|
daemonLogger,
|
|
503
1532
|
});
|
|
1533
|
+
// 6.6.8.6.3. Interactive-callback wiring: resolve
|
|
1534
|
+
// the signing secret (store or in-memory fallback), bind the renderer signer,
|
|
1535
|
+
// construct the InteractiveCallbackRouter over the SAME gate + secret, and build
|
|
1536
|
+
// the Email single-use link minter + the gateway approval-token map/resolver.
|
|
1537
|
+
// Built here (gate + secretStore + clock all available) and consumed by both
|
|
1538
|
+
// bootChannels (signer + minter) and bootGateway (token map + resolveApproval).
|
|
1539
|
+
const interactiveCallbackWiring = createInteractiveCallbackWiring({
|
|
1540
|
+
secretStore,
|
|
1541
|
+
approvalGate,
|
|
1542
|
+
clock,
|
|
1543
|
+
config: container.config,
|
|
1544
|
+
logger: daemonLogger,
|
|
1545
|
+
});
|
|
504
1546
|
// 6.6.7.8. Delivery queue: create adapter BEFORE setupChannels.
|
|
505
1547
|
// channelAdapters map is passed by reference -- populated after setupChannels.
|
|
506
1548
|
// drainAndStart() is called AFTER setupChannels (two-phase lifecycle).
|
|
507
1549
|
const channelAdaptersRef = new Map();
|
|
508
1550
|
const { deliveryQueue, drainAndStart: drainAndStartDeliveryPrune, shutdown: shutdownDeliveryQueue } = await setupDeliveryQueue({
|
|
509
1551
|
db, config: container.config, eventBus: container.eventBus, logger: daemonLogger, channelAdapters: channelAdaptersRef,
|
|
1552
|
+
// REACT-02 (Verified Learning, Phase 199): capture agent-authored outbound (messageId → trajectory).
|
|
1553
|
+
// `undefined` when learning-outcome is off for all agents (byte-identity: zero extra drain work).
|
|
1554
|
+
recordOutboundMessage: foundation.recordOutboundMessage,
|
|
510
1555
|
});
|
|
511
|
-
|
|
512
|
-
...foundation,
|
|
1556
|
+
Object.assign(boot, {
|
|
513
1557
|
defaultAgentId, defaultWorkspaceDir, agentsConfig,
|
|
1558
|
+
boundedAutonomyBudgetHolder, resolveRootRunId, sharedLeaseManager, // Phase 213-08: ride the late-bind seam onto boot for bootChannels' cap layer
|
|
514
1559
|
sessionManager, executors, workspaceDirs, costTrackers, budgetGuards, stepCounters,
|
|
515
1560
|
getExecutor, piSessionAdapters, skillWatcherHandles, skillRegistries, lockCleanupTimer,
|
|
516
1561
|
singleAgentDeps, providerHealth, oauthCredentialStore, toolCapabilityPorts, mcpClientManager,
|
|
1562
|
+
mcpTokenStore,
|
|
517
1563
|
continuationTracker, subprocessEnv, execToolEnv,
|
|
518
1564
|
systemEventQueue, cronSchedulers, executionTrackers, browserServices, resetSchedulers,
|
|
519
1565
|
getAgentCronScheduler, getAgentBrowserService,
|
|
520
|
-
sessionTrackerRegistry,
|
|
521
|
-
ttsAdapter, visionRegistry, linkRunner, mediaTempManager, mediaSemaphore, audioConverter,
|
|
522
|
-
transcriber, ssrfFetcher, fileExtractor,
|
|
523
|
-
rpcCall, wireDispatch, approvalGate,
|
|
1566
|
+
sessionTrackerRegistry, auditAggregator, onSuspiciousContent,
|
|
1567
|
+
ttsAdapter, visionRegistry, visionRegistryHolder, linkRunner, mediaTempManager, mediaSemaphore, audioConverter,
|
|
1568
|
+
transcriber, ssrfFetcher, fileExtractor, voiceSelection,
|
|
1569
|
+
rpcCall, wireDispatch, approvalGate, interactiveCallbackWiring,
|
|
524
1570
|
channelAdaptersRef, deliveryQueue, drainAndStartDeliveryPrune, shutdownDeliveryQueue,
|
|
525
|
-
cronWakeCallbackRef,
|
|
526
|
-
};
|
|
1571
|
+
cronWakeCallbackRef, trajectoryRegistry, executionPlanPorts, oauthManagers, authStorages, servedWindowComparisons, agentBootWindowInfo,
|
|
1572
|
+
});
|
|
527
1573
|
}
|
|
528
1574
|
// ---------------------------------------------------------------------------
|
|
529
1575
|
// Stage 3: channels
|
|
530
1576
|
// ---------------------------------------------------------------------------
|
|
531
1577
|
/**
|
|
532
|
-
*
|
|
1578
|
+
* bootChannels — channel-runtime startup. Owns:
|
|
1579
|
+
* - sandbox + image generation providers
|
|
1580
|
+
* - per-agent ToolCapabilityPort resolver (inlined factory)
|
|
1581
|
+
* - tools assembly + message preprocessing (setupTools HOISTED above
|
|
1582
|
+
* setupChannels — eliminates the tool-assembler indirection)
|
|
533
1583
|
* - channel adapters + composite media resolution + delivery service
|
|
534
|
-
* - inbound message id resolver
|
|
1584
|
+
* - inbound message id resolver (local-let; lambda reads at call time)
|
|
535
1585
|
* - notification system + background completion runner
|
|
1586
|
+
* - sessionTracker (local-let after notifications; lambda reads at call time)
|
|
536
1587
|
* - channel health monitor
|
|
537
|
-
* - sandbox + image generation providers
|
|
538
|
-
* - per-agent ToolCapabilityPort resolver (factory helper)
|
|
539
|
-
* - tools assembly + message preprocessing
|
|
540
1588
|
* - cross-session sender + sub-agent runner
|
|
541
1589
|
* - node type registry + graph coordinator + named graph store
|
|
542
1590
|
* - monitoring (heartbeat runner) + per-agent heartbeat + wake coalescer
|
|
543
1591
|
* - cronWakeCallbackRef populated (cross-stage handoff)
|
|
544
1592
|
* - agent management runtime state (suspended set, model catalog, channel cfg)
|
|
545
1593
|
*
|
|
546
|
-
*
|
|
547
|
-
*
|
|
1594
|
+
* setupTools is constructed BEFORE setupChannels (every setupTools input
|
|
1595
|
+
* was already foundation/agents-stage output or constructed inline before
|
|
1596
|
+
* setupChannels). sandbox/imageGen providers remain before setupChannels
|
|
1597
|
+
* (unchanged). This eliminates the tool-assembler indirection:
|
|
1598
|
+
* `assembleToolsForAgent` is now passed directly into
|
|
1599
|
+
* `buildChannelManagerDeps`. The remaining 2 eliminable refs
|
|
1600
|
+
* (sessionTracker / inboundMessageIdResolver) are local `let` slots
|
|
1601
|
+
* captured by accessor closures that read at message-arrival time.
|
|
1602
|
+
*
|
|
1603
|
+
* Mutates `boot` with all Group C channel fields. Per-line-source order
|
|
1604
|
+
* preserved so daemon-lifecycle.test.ts log-sequence assertions remain green.
|
|
548
1605
|
*/
|
|
549
|
-
async function
|
|
550
|
-
|
|
551
|
-
//
|
|
1606
|
+
async function bootChannels(boot) {
|
|
1607
|
+
// Alias `boot` as `handle` to preserve readability of the body destructure
|
|
1608
|
+
// pattern — bootChannels reads many fields populated by bootAgents +
|
|
1609
|
+
// bootFoundation. Both names refer to the same object; mutations to `handle`
|
|
1610
|
+
// are mutations to `boot`.
|
|
1611
|
+
const handle = boot;
|
|
1612
|
+
// Names consumed by bootChannels body itself; helper functions
|
|
552
1613
|
// 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,
|
|
554
|
-
|
|
555
|
-
//
|
|
556
|
-
|
|
557
|
-
//
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
//
|
|
561
|
-
|
|
1614
|
+
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,
|
|
1615
|
+
// Phase 131 (E1/E2): the concrete LCD ContextStorePort (createLcdStore),
|
|
1616
|
+
// populated on the BootContext by bootFoundation's setupMemory Object.assign.
|
|
1617
|
+
// Threaded into setupTools so assembleToolsForAgent wires the dag-mode ctx_*
|
|
1618
|
+
// in-session expansion tools. The agent sees only the core port TYPE (the cut).
|
|
1619
|
+
lcdStore, } = handle;
|
|
1620
|
+
// The 3 eliminable local-scope refs (session-tracker, tool-assembler,
|
|
1621
|
+
// inbound-message-id-resolver) are GONE.
|
|
1622
|
+
// - assembleToolsForAgent is now a direct value (setupTools hoisted below).
|
|
1623
|
+
// - sessionTracker / inboundMessageIdResolver use a `const {current?: T}`
|
|
1624
|
+
// container pattern: the binding is `const` (satisfies prefer-const)
|
|
1625
|
+
// and the `.current` field is mutated after setupChannels returns. The
|
|
1626
|
+
// accessor closures passed into buildChannelManagerDeps read
|
|
1627
|
+
// `container.current` at message-arrival time (lambdas captured by
|
|
1628
|
+
// setupChannels are not invoked during setupChannels itself).
|
|
1629
|
+
const sessionTrackerSlot = {};
|
|
1630
|
+
const inboundMessageIdResolverSlot = {};
|
|
1631
|
+
// 6.6.8.4.1. Sandbox + image generation providers (HOISTED before setupTools
|
|
1632
|
+
// because setupTools consumes both as direct inputs).
|
|
1633
|
+
const sandboxProvider = detectSandboxProvider(skillsLogger);
|
|
1634
|
+
if (sandboxProvider)
|
|
1635
|
+
skillsLogger.info({ provider: sandboxProvider.name }, "Exec sandbox provider detected");
|
|
1636
|
+
// Image-generation bundle (see buildImageGenBundle in wiring/main-helpers.ts). 184: oauthManager threads the DEFAULT agent's OAuth manager for the Codex image path (CDX-01).
|
|
1637
|
+
const { imageGenConfig, imageGenProvider, imageGenRateLimiter, persistImage, imageGenCostLimiter } = await buildImageGenBundle({ container, defaultAgentId, skillsLogger, oauthManager: handle.oauthManagers.get(defaultAgentId), workspaceDirs, defaultWorkspaceDir });
|
|
1638
|
+
// Video-generation bundle (Phase 188 baseline + 189 async + 190 live adapters —
|
|
1639
|
+
// see buildVideoGenBundle in wiring/main-helpers.ts). 189: pass the shared
|
|
1640
|
+
// memory.db handle (the VideoJobStore binds it), the EARLY channelAdaptersRef
|
|
1641
|
+
// (WARNING-1 — the poller resolves a LIVE adapter from it after
|
|
1642
|
+
// wirePostChannelsLifecycle populates it), and the daemon TimerPort (the poller's
|
|
1643
|
+
// sweeper). 190 (CRED-01): oauthManager threads the DEFAULT agent's OAuth manager
|
|
1644
|
+
// for the Grok-video key-or-OAuth path (mirrors the image call below + :2169).
|
|
1645
|
+
// Destructure videoJobStore + videoPoller for the boot context + the handler deps.
|
|
1646
|
+
const { videoGenConfig, videoGenProvider, videoGenRateLimiter, persistVideo, videoGenCostLimiter, videoJobStore, videoPoller } = buildVideoGenBundle({ container, defaultAgentId, skillsLogger, oauthManager: handle.oauthManagers.get(defaultAgentId), workspaceDirs, defaultWorkspaceDir, db, channelAdaptersRef: handle.channelAdaptersRef, timers: handle.timers, trajectoryRegistry: handle.trajectoryRegistry, eventBus: container.eventBus });
|
|
1647
|
+
// VIS-01 (187): the provider-following vision bundle — same construction site, reusing the DEFAULT agent's OAuth manager (codex bearer) + the boot clock (the bridge's per-message timestamp). See buildMediaVisionBundle in wiring/main-helpers.ts.
|
|
1648
|
+
const mediaVisionBundle = buildMediaVisionBundle({ container, defaultAgentId, skillsLogger, clock: handle.clock, oauthManager: handle.oauthManagers.get(defaultAgentId) });
|
|
1649
|
+
// 6.6.8.5. Tools + message preprocessing — HOISTED above setupChannels.
|
|
1650
|
+
// getCapabilityPortForAgent: resolve a ToolCapabilityPort, default-agent fallback, throw if neither.
|
|
1651
|
+
const getCapabilityPortForAgent = (agentId) => {
|
|
1652
|
+
const port = toolCapabilityPorts.get(agentId) ?? toolCapabilityPorts.get(defaultAgentId);
|
|
1653
|
+
if (!port)
|
|
1654
|
+
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.`);
|
|
1655
|
+
return port;
|
|
1656
|
+
};
|
|
1657
|
+
// 7.8.9. Phase 216: durable stores built EARLY (before the cap layer — the jail-leg chokepoint shares the SAME store for the HIGH-1 _outwardStepIndex allocation). See buildDurableStores.
|
|
1658
|
+
const { durabilityCfg, durableRunStore: durableRunStoreEarly, outwardLedger: outwardLedgerEarly } = buildDurableStores({ agents, db });
|
|
1659
|
+
// 7.9. Capability-lease layer + ACTIVATION (Phase 211 + 212 Gap 3) — constructed BEFORE setupTools so the KEPT handle threads capMint + the orchestrate capSocketPath into tool assembly; on `boot` for bootShutdown. Phase 213: cronJobCount binds the bounded-autonomy RATE-02 count to the per-agent CronScheduler. Phase 216: durableRuns threads into the jail-leg chokepoint for the HIGH-1 _outwardStepIndex allocation.
|
|
1660
|
+
const { capEndpointHandle, namespacePreflightOk } = await constructCapabilityLayer({ agents, rpcCall, clock: boot.clock, timers: handle.timers, cronJobCount: (agentId) => { try {
|
|
1661
|
+
return handle.getAgentCronScheduler(agentId).getJobs().length;
|
|
1662
|
+
}
|
|
1663
|
+
catch {
|
|
1664
|
+
return 0;
|
|
1665
|
+
} }, dataDir: container.config.dataDir || ".", daemonLogger, skillsLogger, workspaceDirs, defaultWorkspaceDir, webSearchKeys: container.secretManager, boundedAutonomyHolder: handle.boundedAutonomyBudgetHolder, leaseManager: handle.sharedLeaseManager, container, ...(durableRunStoreEarly ? { durableRuns: durableRunStoreEarly } : {}) }); // Phase 213-08: POPULATE the late-bound budget holder (read by the bridge at turn time) + share the SAME LeaseManager as the cron-fire mint; Phase 215 (AUDIT-01): pass the container so the SOCKET chokepoint emits the per-cap audit (audit:event + capability:audited) for jailed tool.invoke calls
|
|
1666
|
+
Object.assign(boot, { capEndpointHandle, namespacePreflightOk });
|
|
1667
|
+
// 7.9.1. Phase 216: the durable-resume engine built AFTER the cap layer (BoundedAutonomy reachable); its closures resolve at resumeAndStart() (AFTER channels — boot-order). See buildDurableResume.
|
|
1668
|
+
// Plan 12 (DUR-02/LOW-2): late-bound holder for coordinator.resumeGraph — the coordinator is built later (after channels) but resumeRun only fires at resumeAndStart() (also after channels), so it is set by then. A DAG record routes here.
|
|
1669
|
+
const graphResumeHolder = {};
|
|
1670
|
+
const { durableResume, startAndResumeDurable, durableRunFacts } = buildDurableResume({
|
|
1671
|
+
db, durabilityCfg, durableRunStore: durableRunStoreEarly, outwardLedger: outwardLedgerEarly,
|
|
1672
|
+
boundedAutonomy: capEndpointHandle?.boundedAutonomy, sharedLeaseManager: handle.sharedLeaseManager,
|
|
1673
|
+
channelAdaptersRef: handle.channelAdaptersRef, eventBus: container.eventBus, logger: daemonLogger, clock: handle.clock, timers: handle.timers,
|
|
1674
|
+
// DUR-02/LOW-2: route a DAG record (spawn_tree objects w/ status) to coordinator.resumeGraph via the late-bound holder.
|
|
1675
|
+
resumeGraph: (record) => graphResumeHolder.ref ? graphResumeHolder.ref(record) : Promise.resolve(err(new Error("resumeGraph holder unpopulated (coordinator not built)"))),
|
|
1676
|
+
});
|
|
1677
|
+
Object.assign(boot, { durableRunStore: durableResume.durableRunStore, outwardLedger: durableResume.outwardLedger, durableResumeShutdown: durableResume.shutdown });
|
|
1678
|
+
const { assembleToolsForAgent, preprocessMessageText, shutdownBackgroundProcesses, terminalRegistries, getTerminalAttentionConfig, terminalDurability } = setupTools({
|
|
1679
|
+
rpcCall, agents, defaultAgentId, workspaceDirs, defaultWorkspaceDir, capEndpointHandle, namespacePreflightOk, // Phase 211 JAIL-03 → PROFILE-05: degrade the orchestrate surface + lease mint when the host cannot build the jail (no silent unjailed fallback)
|
|
1680
|
+
// Phase 216 (HIGH-1 / NEW-4): durable store + resolver → in-process outward send gets _outwardStepIndex (off ⇒ pass-through).
|
|
1681
|
+
...(durableResume.durableRunStore ? { durableRuns: durableResume.durableRunStore } : {}),
|
|
1682
|
+
...(handle.resolveRootRunId ? { resolveRootRunId: handle.resolveRootRunId } : {}),
|
|
1683
|
+
// WR-04 (Phase 174-04): the per-provider operator capabilityClass override so ctx_expand's walk depth honors a pinned tier (same providers.entries source as the executor's ModelProfile). Undefined ⇒ provider-family heuristic.
|
|
1684
|
+
getProviderCapabilityClass: (provider) => container.config.providers?.entries?.[provider ?? ""]?.capabilities?.capabilityClass,
|
|
1685
|
+
dataDir: container.config.dataDir || ".",
|
|
1686
|
+
secretManager: container.secretManager, platformSecretNames: container.platformSecretNames,
|
|
1687
|
+
eventBus: container.eventBus, skillsLogger, linkRunner,
|
|
1688
|
+
approvalGate: container.config.approvals?.enabled ? approvalGate : undefined,
|
|
1689
|
+
subprocessEnv: handle.execToolEnv, onSuspiciousContent: handle.onSuspiciousContent,
|
|
1690
|
+
// 124-09 (WR-01 closure): the daemon TimerPort drives the terminal-driver reaper sweep.
|
|
1691
|
+
timers: handle.timers,
|
|
1692
|
+
// Phase 131 (E1/E2): the concrete LCD store, so assembleToolsForAgent can wire the
|
|
1693
|
+
// dag-mode ctx_* tools (gated on version === "dag" && a present store). The agent
|
|
1694
|
+
// receives only the core ContextStorePort TYPE (the agent-to-store cut holds).
|
|
1695
|
+
lcdStore,
|
|
1696
|
+
mcpClientManager,
|
|
1697
|
+
// Fresh accessor for per-server tool filtering — read live so
|
|
1698
|
+
// config:mutated server edits surface on the next tool assembly.
|
|
1699
|
+
getMcpServerEntries: () => container.config.integrations?.mcp?.servers ?? [],
|
|
1700
|
+
sandboxProvider, imageGenProvider, videoGenProvider, backgroundTaskManager,
|
|
1701
|
+
// JOB-04 (189): gate the video_status tool on the SAME condition video_generate
|
|
1702
|
+
// uses (the async store + poller are wired exactly when videoGenProvider exists).
|
|
1703
|
+
videoStatusEnabled: videoGenProvider,
|
|
1704
|
+
sessionTrackerRegistry: handle.sessionTrackerRegistry, getCapabilityPortForAgent,
|
|
1705
|
+
// broker activation seam. When executor.broker is configured,
|
|
1706
|
+
// thread the broker handle into setupTools so assembleToolsForAgent wires
|
|
1707
|
+
// the exec tool with broker-only network + proxy env + placeholder creds.
|
|
1708
|
+
// When absent (no executor.broker config), brokerContext is undefined and
|
|
1709
|
+
// the exec tool uses the default open-network path (no regression).
|
|
1710
|
+
brokerContext: handle.brokerHandle
|
|
1711
|
+
? {
|
|
1712
|
+
tcpPort: handle.brokerHandle.tcpPort,
|
|
1713
|
+
socketPath: handle.brokerHandle.socketPath,
|
|
1714
|
+
caPath: handle.brokerHandle.caPath,
|
|
1715
|
+
sessionManager: handle.brokerHandle.sessionManager,
|
|
1716
|
+
placeholders: buildPlaceholdersFromBindings(container.config.executor?.broker?.bindings ?? {}, daemonLogger),
|
|
1717
|
+
}
|
|
1718
|
+
: undefined,
|
|
1719
|
+
});
|
|
1720
|
+
// FLOOR-01 (v2.21): boot-time viable-floor WARN per agent — WARN-only (I1/D-02),
|
|
1721
|
+
// awaited for determinism, fail-open per agent (a throw never aborts boot, T-176-15).
|
|
1722
|
+
for (const [floorAgentId, bootInfo] of handle.agentBootWindowInfo ?? new Map()) {
|
|
1723
|
+
try {
|
|
1724
|
+
evaluateViableFloorForAgent({ info: bootInfo, tools: await assembleToolsForAgent(floorAgentId), logger: daemonLogger });
|
|
1725
|
+
}
|
|
1726
|
+
catch (err) {
|
|
1727
|
+
daemonLogger.warn({ err, agentId: floorAgentId, errorKind: "internal", hint: "viable-floor boot check failed — boot continues (fail-open); turn-time guards still apply (dag: CWF-02 preflight; pipeline: 85% compaction trigger + reactive classification)" }, "viable-floor boot evaluation threw — skipped for agent");
|
|
1728
|
+
}
|
|
1729
|
+
}
|
|
1730
|
+
// 6.6.8. Channels — pass assembleToolsForAgent DIRECTLY (no ref) and
|
|
1731
|
+
// pass accessor closures for sessionTracker / inboundMessageIdResolver
|
|
1732
|
+
// (const `{current?:T}` container pattern; populated after setupChannels
|
|
1733
|
+
// returns by mutating the .current field).
|
|
1734
|
+
const { adaptersByType, channelManager, resolveAttachment, lifecycleReactors, channelPlugins, commandQueue, deliveryService } = await setupChannels(buildChannelManagerDeps({
|
|
1735
|
+
agents: handle,
|
|
1736
|
+
assembleToolsForAgent,
|
|
1737
|
+
getInboundMessageIdResolver: () => inboundMessageIdResolverSlot.current,
|
|
1738
|
+
getSessionTracker: () => sessionTrackerSlot.current,
|
|
1739
|
+
}));
|
|
562
1740
|
channelPluginsRef.ref = channelPlugins;
|
|
563
|
-
|
|
1741
|
+
inboundMessageIdResolverSlot.current = (() => {
|
|
564
1742
|
const metaKeyByChannel = new Map();
|
|
565
|
-
for (const [type,
|
|
566
|
-
|
|
1743
|
+
for (const [type, plugin] of channelPlugins) {
|
|
1744
|
+
const metaKey = plugin.capabilities.replyToMetaKey;
|
|
1745
|
+
if (metaKey)
|
|
1746
|
+
metaKeyByChannel.set(type, metaKey);
|
|
1747
|
+
}
|
|
567
1748
|
return createInboundMessageIdResolver({ metaKeyByChannel });
|
|
568
1749
|
})();
|
|
569
|
-
|
|
570
|
-
|
|
1750
|
+
// Local alias for the BootContext-bound publication below.
|
|
1751
|
+
const inboundMessageIdResolver = inboundMessageIdResolverSlot.current;
|
|
1752
|
+
// wirePostChannelsLifecycle now returns outputRetentionHandle so
|
|
1753
|
+
// the composition root can route .shutdown() through ShutdownDeps. The
|
|
1754
|
+
// eventBus.on("system:shutdown", ...) subscribers previously here are
|
|
1755
|
+
// deleted; shutdownDeliveryQueue + shutdownMirror remain reachable via
|
|
1756
|
+
// boot (they were always part of the agents/foundation groups).
|
|
1757
|
+
const { outputRetentionHandle } = await wirePostChannelsLifecycle({
|
|
571
1758
|
adaptersByType,
|
|
572
1759
|
channelAdaptersRef: handle.channelAdaptersRef,
|
|
573
1760
|
drainAndStartDeliveryPrune: handle.drainAndStartDeliveryPrune,
|
|
574
1761
|
shutdownDeliveryQueue: handle.shutdownDeliveryQueue,
|
|
1762
|
+
// JOB-03 (189): start + resume the background video poller after the channel
|
|
1763
|
+
// registry is populated (the local videoPoller from buildVideoGenBundle above;
|
|
1764
|
+
// undefined when video is disabled → the optional call no-ops).
|
|
1765
|
+
...(videoPoller ? { startAndResumeVideoPoller: () => videoPoller.startAndResume() } : {}),
|
|
1766
|
+
// Phase 216: run the durable resume engine after channels (boot-order — reconcile/replay need LIVE adapters); inert no-op when durability is off.
|
|
1767
|
+
startAndResumeDurable,
|
|
575
1768
|
startMirrorPrune: handle.startMirrorPrune,
|
|
576
1769
|
shutdownMirror: handle.shutdownMirror,
|
|
577
1770
|
daemonLogger, container, defaultWorkspaceDir,
|
|
@@ -585,7 +1778,7 @@ async function stageChannels(input) {
|
|
|
585
1778
|
activeAdapterTypes: new Set(adaptersByType.keys()),
|
|
586
1779
|
logger: daemonLogger, tenantId: container.config.tenantId,
|
|
587
1780
|
});
|
|
588
|
-
|
|
1781
|
+
sessionTrackerSlot.current = notificationContext.sessionTracker;
|
|
589
1782
|
bgNotifyRef.ref = notificationContext.notificationService;
|
|
590
1783
|
const bgConfigForRunner = BackgroundTasksConfigSchema.parse(agents[defaultAgentId]?.backgroundTasks ?? {});
|
|
591
1784
|
const bgCompletionRunnerContext = setupBackgroundCompletionRunner({
|
|
@@ -593,40 +1786,110 @@ async function stageChannels(input) {
|
|
|
593
1786
|
taskManager: backgroundTaskManager, fallbackNotifyFn: bgNotifyFn,
|
|
594
1787
|
maxBackgroundHops: bgConfigForRunner.maxBackgroundHops, logger: daemonLogger,
|
|
595
1788
|
});
|
|
596
|
-
|
|
1789
|
+
// eventBus.on("system:shutdown", () =>
|
|
1790
|
+
// bgCompletionRunnerContext.runner.shutdown()) deleted — runner.shutdown
|
|
1791
|
+
// is threaded directly into setupShutdown via
|
|
1792
|
+
// ShutdownDeps.bgCompletionRunnerShutdown.
|
|
1793
|
+
// Thread the terminal registries to bootGateway's webhook route for the unattended honest-fail backstop (WEBHOOK-CLAUDE-AGENT-DRIVE-RELIABILITY).
|
|
1794
|
+
Object.assign(boot, { terminalRegistries });
|
|
1795
|
+
// 6.6.8.0.2. Terminal-driver wake-FSM (v2.11 / 124-09 — THE KEYSTONE). One-per-daemon:
|
|
1796
|
+
// subscribes the re-published terminal:input_needed (the Task-1 fd3 hook) → dedupe/active-
|
|
1797
|
+
// check/hop-limit → wakes ONE turn that runs the safe-only auto-answer + loop-guard against
|
|
1798
|
+
// the SAME per-agent terminalRegistries the tools drive; escalations route via bgNotifyFn
|
|
1799
|
+
// (§4.7). Drained on shutdown via ShutdownDeps.terminalWakeShutdown.
|
|
1800
|
+
const terminalWakeContext = setupTerminalWake({
|
|
1801
|
+
eventBus: container.eventBus,
|
|
1802
|
+
registries: terminalRegistries,
|
|
1803
|
+
getTerminalAttentionConfig,
|
|
1804
|
+
notify: bgNotifyFn,
|
|
1805
|
+
dataDir: container.config.dataDir || ".",
|
|
1806
|
+
// 165-07 DUR-02 / LIVE-01 / ENDURE-01: the durable wake deps — the journal store
|
|
1807
|
+
// (persist-on-set + resume-on-re-attach), the liveness backstop (timers + heartbeatMs +
|
|
1808
|
+
// checkLiveness via the worker status round-trip, whose lastActivity stamp IS the I9 reaper
|
|
1809
|
+
// unify — LO-03), and the spend ceiling (maxCostUsd). timers = the reaper's TimerPort.
|
|
1810
|
+
...terminalDurability,
|
|
1811
|
+
timers: handle.timers,
|
|
1812
|
+
logger: daemonLogger,
|
|
1813
|
+
});
|
|
597
1814
|
// 6.6.8.0.3. Recover background tasks NOW (after the runner is subscribed)
|
|
598
1815
|
backgroundTaskManager.recoverOnStartup();
|
|
599
1816
|
// Channel health monitor (start + stop produced by helper).
|
|
600
1817
|
const { monitor: channelHealthMonitor, stop: stopChannelHealthMonitor } = setupChannelHealthMonitor({ adaptersByType, daemonLogger, container });
|
|
601
|
-
|
|
1818
|
+
// eventBus.on("system:shutdown", () => stopChannelHealthMonitor?.())
|
|
1819
|
+
// deleted — stopChannelHealthMonitor is threaded directly into setupShutdown
|
|
1820
|
+
// via ShutdownDeps.stopChannelHealthMonitor.
|
|
602
1821
|
setupChannelHealthLogging({ eventBus: container.eventBus, logger: daemonLogger });
|
|
603
|
-
// 6.6.8.4.1. Sandbox + image generation providers (helper)
|
|
604
|
-
const sandboxProvider = detectSandboxProvider(skillsLogger);
|
|
605
|
-
if (sandboxProvider)
|
|
606
|
-
skillsLogger.info({ provider: sandboxProvider.name }, "Exec sandbox provider detected");
|
|
607
|
-
const { imageGenProvider, imageGenRateLimiter, imageGenConfig } = buildImageGenBundle({ container, skillsLogger });
|
|
608
|
-
// 6.6.8.5. Tools + message preprocessing
|
|
609
|
-
const getCapabilityPortForAgent = createCapabilityPortResolver(toolCapabilityPorts, defaultAgentId);
|
|
610
|
-
const { assembleToolsForAgent, preprocessMessageText } = setupTools({
|
|
611
|
-
rpcCall, agents, defaultAgentId, workspaceDirs, defaultWorkspaceDir,
|
|
612
|
-
dataDir: container.config.dataDir || ".",
|
|
613
|
-
secretManager: container.secretManager, platformSecretNames: container.platformSecretNames,
|
|
614
|
-
eventBus: container.eventBus, skillsLogger, linkRunner,
|
|
615
|
-
approvalGate: container.config.approvals?.enabled ? approvalGate : undefined,
|
|
616
|
-
subprocessEnv: handle.execToolEnv, onSuspiciousContent: handle.onSuspiciousContent,
|
|
617
|
-
mcpClientManager, sandboxProvider, imageGenProvider, backgroundTaskManager,
|
|
618
|
-
sessionTrackerRegistry: handle.sessionTrackerRegistry, getCapabilityPortForAgent,
|
|
619
|
-
});
|
|
620
|
-
toolAssemblerRef.ref = assembleToolsForAgent;
|
|
621
1822
|
// 6.6.9. Cross-session sender + sub-agent runner
|
|
1823
|
+
// proxyTypingCleanup returned from setupCrossSession — replaces
|
|
1824
|
+
// the eventBus.on("system:shutdown", ...) subscriber inside
|
|
1825
|
+
// registerProxyTypingListeners that silently no-op'd in production.
|
|
622
1826
|
const gatewaySendRef = {};
|
|
623
|
-
|
|
1827
|
+
// WT-01/WT-02: the git-worktree seam for `spawn --worktree`. ONE registry shared
|
|
1828
|
+
// by executeSubAgent (which creates + auto-cleans worktrees in-line) and the boot
|
|
1829
|
+
// orphan-sweep (which reclaims worktrees orphaned by a crashed run). The lifecycle
|
|
1830
|
+
// GitExec is the SAME real execFile-backed `execGit` config-git uses, adapted to
|
|
1831
|
+
// the lifecycle's `{ stdout, exitCode }` shape (toLifecycleGitExec). The boot
|
|
1832
|
+
// sweep is started in wirePostChannelsLifecycle (after channels) + cancelled on
|
|
1833
|
+
// shutdown — modeled on the durable-resume two-phase boot hook.
|
|
1834
|
+
const worktreeRegistry = createWorktreeRegistry();
|
|
1835
|
+
const worktreeGitExec = toLifecycleGitExec(handle.execGit);
|
|
1836
|
+
const { crossSessionSender, subAgentRunner, sendToChannel, announceToParent, deadLetterQueue, announcementBatcher, proxyTypingCleanup } = setupCrossSession({
|
|
624
1837
|
sessionStore, container, assembleToolsForAgent, getExecutor: handle.getExecutor, adaptersByType,
|
|
625
1838
|
logger: agentLogger, memoryAdapter, gatewaySend: gatewaySendRef,
|
|
626
1839
|
activeRunRegistry, sessionResolver, deliveryQueue, deliveryService,
|
|
627
1840
|
fileLock: singleAgentDeps.fileLock,
|
|
628
1841
|
clock: handle.clock, timers: handle.timers,
|
|
1842
|
+
// WT-01/WT-02: thread the worktree seam + the shared registry.
|
|
1843
|
+
worktreeGitExec, worktreeRegistry,
|
|
1844
|
+
...(capEndpointHandle ? { checkSpawnCeiling: (rootRunId, depth, fanout) => capEndpointHandle.boundedAutonomy.tryAcquireSpawn(rootRunId, depth, fanout), releaseSpawnCeiling: (rootRunId) => capEndpointHandle.boundedAutonomy.releaseSpawn(rootRunId) } : {}), // Phase 213 CEIL-01/CR-02: tree-wide spawn ceiling + symmetric release (paired 1:1, no per-root leak)
|
|
1845
|
+
// Phase 216 DUR-01/HB-01: durable store + thresholds + facts → the runner writes a per-root checkpoint + heartbeat (off ⇒ inert).
|
|
1846
|
+
...(durableResume.durableRunStore ? { durableRuns: durableResume.durableRunStore } : {}),
|
|
1847
|
+
...(durabilityCfg.enabled ? { durability: { keepAliveMs: durabilityCfg.keepAliveMs, staleHeartbeatMs: durabilityCfg.staleHeartbeatMs } } : {}),
|
|
1848
|
+
...(durableRunFacts ? { durableRunFacts } : {}),
|
|
1849
|
+
// Phase 216 HIGH-2 (ONCE-01..04): the SAME ledger (Plan 07) + rootRunId resolver → announce() + the DLQ drain route through the exactly-once ledger (off ⇒ pass-through). Makes Plan 10 LIVE.
|
|
1850
|
+
...(durableResume.outwardLedger ? { outwardLedger: durableResume.outwardLedger } : {}),
|
|
1851
|
+
...(handle.resolveRootRunId ? { resolveRootRunId: handle.resolveRootRunId } : {}),
|
|
1852
|
+
});
|
|
1853
|
+
// WT-02: the worktree orphan-sweep. Boot recovery (discover prior-crash
|
|
1854
|
+
// worktrees from `git worktree list` → seed the registry → one conservative
|
|
1855
|
+
// sweep) THEN a periodic interval (.unref()'d, cancelled on shutdown). Modeled
|
|
1856
|
+
// on the durable-resume two-phase boot hook. The sweep is git/fs-only (no
|
|
1857
|
+
// channels), so it runs here once setupCrossSession has built the shared
|
|
1858
|
+
// registry. `exists` is the real fs check (existsSync); the boot discovery is
|
|
1859
|
+
// scoped to the agent workspace dirs so the operator's OWN worktrees are never
|
|
1860
|
+
// touched. Best-effort at boot — a failure WARN-logs and the periodic pass retries.
|
|
1861
|
+
const worktreeSweep = setupWorktreeSweep({
|
|
1862
|
+
execGit: handle.execGit,
|
|
1863
|
+
registry: worktreeRegistry,
|
|
1864
|
+
exists: (dir) => existsSync(dir),
|
|
1865
|
+
timers: handle.timers,
|
|
1866
|
+
clock: handle.clock,
|
|
1867
|
+
logger: daemonLogger,
|
|
629
1868
|
});
|
|
1869
|
+
void (async () => {
|
|
1870
|
+
try {
|
|
1871
|
+
await discoverWorktreeOrphans({
|
|
1872
|
+
execGit: handle.execGit,
|
|
1873
|
+
registry: worktreeRegistry,
|
|
1874
|
+
workspaceDirs: [...workspaceDirs.values()],
|
|
1875
|
+
logger: daemonLogger,
|
|
1876
|
+
});
|
|
1877
|
+
await worktreeSweep.sweepNow();
|
|
1878
|
+
}
|
|
1879
|
+
catch (sweepErr) {
|
|
1880
|
+
daemonLogger.warn({
|
|
1881
|
+
err: sweepErr,
|
|
1882
|
+
hint: "worktree boot sweep failed; the periodic sweep retries — no worktree was removed this pass",
|
|
1883
|
+
errorKind: "internal",
|
|
1884
|
+
}, "Worktree boot sweep failed");
|
|
1885
|
+
}
|
|
1886
|
+
finally {
|
|
1887
|
+
worktreeSweep.startPeriodicSweep();
|
|
1888
|
+
}
|
|
1889
|
+
})();
|
|
1890
|
+
// The sweep interval is .unref()'d so it never blocks event-loop exit at
|
|
1891
|
+
// shutdown (mirrors the per-agent lock-cleanup timer in setup-agents-registry,
|
|
1892
|
+
// which likewise relies on .unref() rather than a formal teardown handle).
|
|
630
1893
|
const promptTimeoutTimestamps = [];
|
|
631
1894
|
container.eventBus.on("execution:prompt_timeout", () => { promptTimeoutTimestamps.push(Date.now()); });
|
|
632
1895
|
// 6.6.9.0-2. Node type registry + graph coordinator + named graph store
|
|
@@ -634,9 +1897,15 @@ async function stageChannels(input) {
|
|
|
634
1897
|
const graphCoordinator = createGraphCoordinator(buildGraphCoordinatorDeps({
|
|
635
1898
|
agents: handle,
|
|
636
1899
|
channels: { subAgentRunner, sendToChannel, announceToParent, announcementBatcher, commandQueue, assembleToolsForAgent, nodeTypeRegistry },
|
|
1900
|
+
// Phase 216 HIGH-3/DUR-01: thread the live durable store so the coordinator checkpoints node state (Plan 11). Makes DAG durability LIVE.
|
|
1901
|
+
...(durableResume.durableRunStore ? { durableRunStore: durableResume.durableRunStore } : {}),
|
|
637
1902
|
}));
|
|
638
1903
|
subAgentRunner.setGraphCoordinator(graphCoordinator);
|
|
1904
|
+
// Phase 216 DUR-02/LOW-2: populate the late-bound holder so resumeRun (fires at resumeAndStart, after channels) routes a DAG record to coordinator.resumeGraph (incomplete-node re-entry).
|
|
1905
|
+
graphResumeHolder.ref = (record) => graphCoordinator.resumeGraph(record);
|
|
639
1906
|
const namedGraphStore = createNamedGraphStore(db);
|
|
1907
|
+
// O2 (WR-02): seed the four canonical small-model DAG templates into the named-graph store. Idempotent (INSERT-OR-IGNORE in the seeder), so operator-customized templates survive restarts and re-running on every boot is safe.
|
|
1908
|
+
seedDefaultDagTemplates(namedGraphStore);
|
|
640
1909
|
// 6.7. Monitoring + per-agent heartbeat + wake coalescer
|
|
641
1910
|
const { heartbeatRunner, duplicateDetector } = setupMonitoring({ container, schedulerLogger, logger, adaptersByType });
|
|
642
1911
|
const { perAgentRunner } = setupHeartbeat({
|
|
@@ -647,51 +1916,54 @@ async function stageChannels(input) {
|
|
|
647
1916
|
runOnce: () => (heartbeatRunner ? heartbeatRunner.runOnce() : Promise.resolve()),
|
|
648
1917
|
logger: schedulerLogger,
|
|
649
1918
|
});
|
|
650
|
-
// Cross-stage: populate cronWakeCallbackRef now that wakeCoalescer
|
|
651
|
-
// constructed. The setupSchedulers `onCronWake` lambda (wired in
|
|
652
|
-
// stageAgents) reads `.ref` at call time.
|
|
1919
|
+
// Cross-stage: populate cronWakeCallbackRef now that wakeCoalescer exists. The setupSchedulers `onCronWake` lambda (wired in bootAgents) reads `.ref` at call time.
|
|
653
1920
|
cronWakeCallbackRef.ref = (reason) => wakeCoalescer.requestHeartbeatNow(reason);
|
|
654
1921
|
// 6.7.0.2. Agent management runtime state
|
|
655
1922
|
const suspendedAgents = new Set();
|
|
656
1923
|
const modelCatalog = createModelCatalog();
|
|
657
1924
|
modelCatalog.loadStatic();
|
|
658
1925
|
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
|
-
|
|
660
|
-
...handle,
|
|
1926
|
+
Object.assign(boot, {
|
|
661
1927
|
adaptersByType, channelManager, resolveAttachment, lifecycleReactors, channelPlugins,
|
|
662
|
-
|
|
1928
|
+
commandQueue, deliveryService,
|
|
663
1929
|
inboundMessageIdResolver, channelHealthMonitor, stopChannelHealthMonitor,
|
|
664
|
-
notificationContext, bgCompletionRunnerContext,
|
|
1930
|
+
notificationContext, bgCompletionRunnerContext, terminalWakeContext,
|
|
665
1931
|
crossSessionSender, subAgentRunner, sendToChannel, announceToParent,
|
|
666
1932
|
deadLetterQueue, announcementBatcher, gatewaySendRef,
|
|
667
|
-
sandboxProvider, imageGenProvider, imageGenRateLimiter, imageGenConfig,
|
|
1933
|
+
sandboxProvider, imageGenProvider, imageGenRateLimiter, imageGenConfig, persistImage, imageGenCostLimiter, mediaVisionBundle,
|
|
1934
|
+
videoGenProvider, videoGenRateLimiter, videoGenConfig, persistVideo, videoGenCostLimiter, videoJobStore, videoPoller,
|
|
668
1935
|
assembleToolsForAgent, preprocessMessageText, getCapabilityPortForAgent,
|
|
669
1936
|
heartbeatRunner, duplicateDetector, perAgentRunner, wakeCoalescer,
|
|
670
1937
|
nodeTypeRegistry, graphCoordinator, namedGraphStore,
|
|
671
1938
|
suspendedAgents, modelCatalog, channelConfig, promptTimeoutTimestamps,
|
|
672
|
-
|
|
1939
|
+
// Teardown handles surfaced for ShutdownDeps wiring.
|
|
1940
|
+
shutdownBackgroundProcesses, proxyTypingCleanup,
|
|
1941
|
+
outputRetentionHandle,
|
|
1942
|
+
});
|
|
673
1943
|
}
|
|
674
1944
|
// ---------------------------------------------------------------------------
|
|
675
1945
|
// Stage 4: gateway
|
|
676
1946
|
// ---------------------------------------------------------------------------
|
|
677
1947
|
/**
|
|
678
|
-
*
|
|
1948
|
+
* bootGateway -- gateway-runtime startup. Owns:
|
|
679
1949
|
* token registry + session store bridge + shutdown ref + hot-add/hot-remove
|
|
680
1950
|
* closures + RPC dispatch deps assembly + gateway server + deferred gateway
|
|
681
1951
|
* attachment wiring + gatewaySendRef.ref population + restart continuation
|
|
682
1952
|
* 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
1953
|
*
|
|
689
|
-
*
|
|
690
|
-
*
|
|
1954
|
+
* Reads Group A/B/C fields populated by bootFoundation/bootAgents/bootChannels;
|
|
1955
|
+
* mutates `boot` with Group D gateway fields. Per-source-order:
|
|
1956
|
+
* "Gateway server started" emits inside setupGateway here in source order;
|
|
1957
|
+
* daemon-lifecycle.test.ts assertions remain unchanged.
|
|
691
1958
|
*/
|
|
692
|
-
async function
|
|
693
|
-
const { overrides,
|
|
694
|
-
|
|
1959
|
+
async function bootGateway(boot, input) {
|
|
1960
|
+
const { overrides, startupStartMs, instanceId } = input;
|
|
1961
|
+
// Alias `boot` as `channels` for body-readability — Group A/B/C fields are
|
|
1962
|
+
// already populated by bootFoundation/bootAgents/bootChannels.
|
|
1963
|
+
const channels = boot;
|
|
1964
|
+
const { container, configPaths, sessionStore, daemonLogger, gatewayLogger, cachedPort, memoryApi, memoryAdapter, embeddingQueue, defaultAgentId, defaultWorkspaceDir, agentsConfig: agents, costTrackers, workspaceDirs, piSessionAdapters, getExecutor, rpcCall, wireDispatch, assembleToolsForAgent, preprocessMessageText, suspendedAgents, gatewaySendRef, interactiveCallbackWiring, obsStore, // 154-03: backs the obs_explain assembler closure (diagnostics rollup)
|
|
1965
|
+
dataDir: bootDataDir, // 154-03: absolute fallback data dir (always abs; ~/.comis or $COMIS_DATA_DIR)
|
|
1966
|
+
} = channels;
|
|
695
1967
|
const _createGatewayServer = overrides.createGatewayServer ?? createGatewayServer;
|
|
696
1968
|
// Token registry for token management handlers
|
|
697
1969
|
const gwTokens = (container.config.gateway?.tokens ?? []).map((t) => ({
|
|
@@ -720,7 +1992,7 @@ async function stageGateway(input) {
|
|
|
720
1992
|
sessionStore.save(parsed, messages, metadata);
|
|
721
1993
|
},
|
|
722
1994
|
};
|
|
723
|
-
// Mutable shutdown ref for hot-add guard. Populated by
|
|
1995
|
+
// Mutable shutdown ref for hot-add guard. Populated by bootShutdown --
|
|
724
1996
|
// closures read .value at RPC call time, not definition time.
|
|
725
1997
|
const shutdownRef = {};
|
|
726
1998
|
// Hot-add / hot-remove closures (factory pattern; deps captured by closure)
|
|
@@ -736,16 +2008,36 @@ async function stageGateway(input) {
|
|
|
736
2008
|
wireDispatch(rpcDispatchDeps);
|
|
737
2009
|
// 7. Gateway server
|
|
738
2010
|
const gwConfig = container.config.gateway;
|
|
2011
|
+
// 154-03 / 161-02: the trust-flag-FREE obs.explain + obs.fleet.health MCP-client
|
|
2012
|
+
// closures, extracted to wiring/obs-mcp-closures.ts (daemon.ts ≤3000 line cap).
|
|
2013
|
+
// SECURITY (never-inject-admin; allowlist-only authorization) + the durableRuns
|
|
2014
|
+
// NET-NEW-thread rationale (boot.durableRunStore — the live store the RPC path wires
|
|
2015
|
+
// at :893) live in that helper. dataDir MUST be the absolute boot dir (else
|
|
2016
|
+
// makeRealReader → PathTraversalError); clock is the load-bearing boot ClockPort.
|
|
2017
|
+
const { obsExplainForMcpClient, obsFleetHealthForMcpClient } = buildObsMcpClientClosures({
|
|
2018
|
+
dataDir: container.config.dataDir || bootDataDir,
|
|
2019
|
+
obsStore,
|
|
2020
|
+
clock: boot.clock,
|
|
2021
|
+
durableRuns: boot.durableRunStore,
|
|
2022
|
+
});
|
|
739
2023
|
const { gatewayHandle, activeExecutions, getActiveConnectionCount, wsConnections } = await setupGateway({
|
|
740
2024
|
container, gwConfig, webhooksConfig: container.config.webhooks, agents, defaultAgentId,
|
|
741
2025
|
configPaths, defaultConfigPaths: DEFAULT_CONFIG_PATHS, gatewayLogger,
|
|
742
2026
|
embeddingQueue, memoryAdapter, memoryApi, cachedPort, sessionStore, getExecutor,
|
|
2027
|
+
// Deterministic honest-fail backstop (WEBHOOK-CLAUDE-AGENT-DRIVE-RELIABILITY): reap a webhook turn's LIVE never-tasked drives so it records an honest failure, not a silent success.
|
|
2028
|
+
reapNeverTaskedDrives: (agentId, owner) => { const r = channels.terminalRegistries?.get(agentId); return r ? reapNeverTaskedDrivesInRegistry(r, owner) : Promise.resolve({ reaped: [] }); },
|
|
743
2029
|
assembleToolsForAgent, preprocessMessageText, rpcCall,
|
|
744
2030
|
costTrackers, workspaceDirs,
|
|
745
2031
|
_createGatewayServer, piSessionAdapters,
|
|
2032
|
+
// Complete three-layer forget for gateway slash /new + /reset (live 2026-06-11).
|
|
2033
|
+
destroyConversation: createConversationReset({ lcdStore: channels.lcdStore, sessionStore: sessionStoreBridge, piSessionAdapters, tenantId: container.config.tenantId, logger: gatewayLogger }).destroyConversationCompletely,
|
|
746
2034
|
resolvedTokens: resolvedGatewayTokens,
|
|
2035
|
+
daemonVersion: boot.daemonVersion,
|
|
747
2036
|
suspendedAgents,
|
|
748
2037
|
instanceId, startupStartMs,
|
|
2038
|
+
interactiveCallbackWiring,
|
|
2039
|
+
obsExplainForMcpClient,
|
|
2040
|
+
obsFleetHealthForMcpClient,
|
|
749
2041
|
});
|
|
750
2042
|
// 7.0.1. Wire deferred gateway attachment deps (wsConnections / mediaDir /
|
|
751
2043
|
// onGatewayAttachment) into the mutable rpcDispatchDeps reference; handler
|
|
@@ -812,35 +2104,47 @@ async function stageGateway(input) {
|
|
|
812
2104
|
// 7.5. Restart continuation replay (helper enforces source order:
|
|
813
2105
|
// load -> mcp-status -> per-record inject).
|
|
814
2106
|
await replayContinuationsIfAny({ channels });
|
|
815
|
-
|
|
816
|
-
...channels,
|
|
2107
|
+
Object.assign(boot, {
|
|
817
2108
|
tokenRegistry, runtimeTokens, removedTokenIds, resolvedGatewayTokens,
|
|
818
2109
|
sessionStoreBridge, shutdownRef, hotAdd, hotRemove, rpcDispatchDeps,
|
|
819
2110
|
gatewayHandle, activeExecutions, getActiveConnectionCount, wsConnections,
|
|
820
|
-
};
|
|
2111
|
+
});
|
|
821
2112
|
}
|
|
822
2113
|
// ---------------------------------------------------------------------------
|
|
823
2114
|
// Stage 5: shutdown
|
|
824
2115
|
// ---------------------------------------------------------------------------
|
|
825
2116
|
/**
|
|
826
|
-
*
|
|
2117
|
+
* bootShutdown -- final stage. Constructs the shutdown handle, populates
|
|
827
2118
|
* gateway.shutdownRef.value (cross-stage deferred-ref pattern), wires the
|
|
828
2119
|
* health-metrics event-bus subscription, emits the startup banner, snapshots
|
|
829
2120
|
* last-known-good config, and returns the DaemonInstance to main()'s callers.
|
|
830
2121
|
*
|
|
831
|
-
*
|
|
2122
|
+
* Reads Group A-D fields populated by the prior 4 boot* helpers; returns
|
|
2123
|
+
* `DaemonInstance` (unlike the other boot* helpers which return void) so
|
|
2124
|
+
* main()'s contract is preserved.
|
|
832
2125
|
*/
|
|
833
|
-
async function
|
|
834
|
-
const { overrides,
|
|
835
|
-
|
|
2126
|
+
async function bootShutdown(boot, input) {
|
|
2127
|
+
const { overrides, startupStartMs, instanceId } = input;
|
|
2128
|
+
// Alias `boot` as `gateway` for body-readability — all 4 prior boot* helpers
|
|
2129
|
+
// have populated Group A-D fields.
|
|
2130
|
+
const gateway = boot;
|
|
2131
|
+
const { container, dataDir, configPaths, capEndpointHandle, namespacePreflightOk, logger, logLevelManager, daemonLogger, daemonVersion, tokenTracker, processMonitor, diagnosticCollector, billingEstimator, channelActivityTracker, deliveryTracer, contextPipelineCollector, backgroundIndexingPromise, db, disposeEmbedding, disposeReranker, cachedPort, maintenanceTick, obsPersistence, disposeActivityStream, otelHandle, injectionRateLimiter, destroyReactionWiring, 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, trajectoryRegistry,
|
|
2132
|
+
// 9 new teardown handles surfaced through BootContext.
|
|
2133
|
+
shutdownBackgroundProcesses, proxyTypingCleanup, outputRetentionHandle, shutdownDeliveryQueue, shutdownMirror, bgCompletionRunnerContext, terminalWakeContext, stopChannelHealthMonitor, mcpClientManager,
|
|
2134
|
+
// Phase 189: the background video poller (undefined when video disabled) —
|
|
2135
|
+
// its shutdown is threaded into setupShutdown below.
|
|
2136
|
+
videoPoller, } = gateway;
|
|
836
2137
|
void _execs;
|
|
837
2138
|
void _suspended;
|
|
838
2139
|
// Override-derived locals -- only consumed by setupShutdown below.
|
|
839
2140
|
const exitFn = overrides.exit ?? ((code) => process.exit(code));
|
|
840
|
-
|
|
841
|
-
//
|
|
2141
|
+
// Declared here (before setupShutdown) so the thunk captures the ref;
|
|
2142
|
+
// assigned after emitStartupInvariants. Ref-object pattern mirrors
|
|
2143
|
+
// shutdownRef.value — setupShutdown reads .fn at teardown time.
|
|
2144
|
+
const _healthAggRef = { fn: undefined };
|
|
2145
|
+
// 8. Graceful shutdown: signal-handler registration + teardown ordering (setupShutdown).
|
|
842
2146
|
const { shutdownHandle } = setupShutdown({
|
|
843
|
-
logger, daemonLogger, processMonitor, container, exitFn,
|
|
2147
|
+
logger, daemonLogger, processMonitor, container, exitFn,
|
|
844
2148
|
tokenTracker, startupTimestamp: startupStartMs,
|
|
845
2149
|
activeExecutions, graphCoordinator, subAgentRunner, cronSchedulers, resetSchedulers,
|
|
846
2150
|
browserServices, channelManager, heartbeatRunner, perAgentRunner, wakeCoalescer, gatewayHandle,
|
|
@@ -848,19 +2152,47 @@ async function stageShutdown(input) {
|
|
|
848
2152
|
diagnosticCollector, channelActivityTracker, deliveryTracer, contextPipelineCollector,
|
|
849
2153
|
backgroundIndexingPromise, db,
|
|
850
2154
|
disposeEmbedding, // coordinated L1 -> L2 -> provider dispose chain
|
|
2155
|
+
disposeReranker, // release the reranker native context (ranking ctx -> model -> llama)
|
|
851
2156
|
approvalGate,
|
|
852
2157
|
secretStore, // close secrets.db on shutdown
|
|
853
2158
|
auditAggregator, // clear pending dedup timers
|
|
854
2159
|
injectionRateLimiter, // clear rate limiter timers on shutdown
|
|
2160
|
+
destroyReactionWiring, // WR-01: clear reaction/session map + reaction limiter timers on shutdown
|
|
855
2161
|
lockCleanupTimer, // clear periodic lock cleanup timer
|
|
856
2162
|
dataDir: container.config.dataDir || dataDir,
|
|
2163
|
+
lockDataDir: dataDir, // D14 lock release — must match acquireDataDirLock's boot path
|
|
857
2164
|
continuationTracker,
|
|
858
2165
|
lifecycleReactors, // destroy lifecycle reactors on shutdown
|
|
859
2166
|
obsPersistence, // drain write buffers before db.close
|
|
2167
|
+
disposeActivityStream, otelShutdown: otelHandle ? () => otelHandle.shutdown() : undefined, // drain ActivityStream; Phase 178 flush+close OTLP/Prometheus exporter (stops /metrics listener)
|
|
860
2168
|
geminiCacheManager, // Dispose all Gemini caches on shutdown
|
|
2169
|
+
trajectoryRegistry, // Drain session-scoped trajectory recorders
|
|
2170
|
+
// 9 new teardown fields (8 production subscribers + setup-tools
|
|
2171
|
+
// split into background-processes + mcp-client-manager).
|
|
2172
|
+
// Each was previously a silent no-op subscriber.
|
|
2173
|
+
shutdownBackgroundProcesses,
|
|
2174
|
+
mcpClientManagerDisconnectAll: () => mcpClientManager.disconnectAll(),
|
|
2175
|
+
bgCompletionRunnerShutdown: () => bgCompletionRunnerContext.runner.shutdown(),
|
|
2176
|
+
// 124-09: drain the terminal wake-FSM (unsubscribe + await in-flight woken turns).
|
|
2177
|
+
terminalWakeShutdown: terminalWakeContext ? () => terminalWakeContext.shutdown() : undefined,
|
|
2178
|
+
proxyTypingCleanup,
|
|
2179
|
+
shutdownDeliveryQueue,
|
|
2180
|
+
// Phase 189: SIGTERM clears the poller's sweeper interval + stops in-flight
|
|
2181
|
+
// per-job loops (no-op when video is disabled / poller undefined).
|
|
2182
|
+
...(videoPoller ? { shutdownVideoPoller: () => videoPoller.shutdown() } : {}),
|
|
2183
|
+
// Phase 216: cancel the durable-resume watchdog interval on shutdown (inert no-op when off).
|
|
2184
|
+
...(boot.durableResumeShutdown ? { durableResumeShutdown: boot.durableResumeShutdown } : {}),
|
|
2185
|
+
shutdownDeliveryMirror: shutdownMirror,
|
|
2186
|
+
outputRetentionShutdown: outputRetentionHandle ? () => outputRetentionHandle.shutdown() : undefined,
|
|
2187
|
+
stopChannelHealthMonitor: stopChannelHealthMonitor ?? undefined,
|
|
2188
|
+
// Thunk reads _healthAggRef.fn at teardown time — populated by emitStartupInvariants.
|
|
2189
|
+
unsubscribeHealthAggregator: () => _healthAggRef.fn?.(),
|
|
2190
|
+
// Credential broker teardown (no-op when executor.broker is absent)
|
|
2191
|
+
brokerStop: boot.brokerHandle ? () => boot.brokerHandle.stop() : undefined,
|
|
2192
|
+
capEndpointStop: capEndpointHandle ? () => capEndpointHandle.endpoint.stopSocket() : undefined, // Phase 211/212: stops+unlinks cap.sock
|
|
861
2193
|
});
|
|
862
2194
|
// Wire shutdown ref for hot-add guard. Cross-stage deferred-ref populate:
|
|
863
|
-
//
|
|
2195
|
+
// bootGateway declared the empty ref + captured it in hot-add closure;
|
|
864
2196
|
// here we point .value at the live shutdown handle so the closure reads
|
|
865
2197
|
// .isShuttingDown at call time.
|
|
866
2198
|
shutdownRef.value = shutdownHandle;
|
|
@@ -875,19 +2207,91 @@ async function stageShutdown(input) {
|
|
|
875
2207
|
container, daemonLogger, daemonVersion, agents, adaptersByType, configPaths,
|
|
876
2208
|
db, secretStore, cachedPort, ttsAdapter, visionRegistry,
|
|
877
2209
|
startupStartMs, instanceId,
|
|
2210
|
+
namespacePreflightOk, // Phase 211: the real probe result → emitAutonomyBootLog.
|
|
2211
|
+
});
|
|
2212
|
+
// 9.1. Boot invariant record + duplicate-wiring WARN.
|
|
2213
|
+
// Emitted AFTER the startup banner so the INFO record follows the human-readable
|
|
2214
|
+
// "Comis daemon started" line in log streams, and BEFORE saveLastKnownGood /
|
|
2215
|
+
// DaemonInstance return so WARNs fire before the daemon accepts traffic.
|
|
2216
|
+
// depSlotConsistency is passed explicitly — the daemon composition root is the
|
|
2217
|
+
// only site that knows which adapter slots were used (channelRegistry
|
|
2218
|
+
// only; adaptersList was removed from setup-channels-runtime.ts).
|
|
2219
|
+
// Derive logsDir from daemon.logging.filePath for the startup sweep.
|
|
2220
|
+
const _loggingFilePath = container.config.daemon?.logging?.filePath;
|
|
2221
|
+
const _logsDir = _loggingFilePath
|
|
2222
|
+
? pathDirname(expandTilde(_loggingFilePath))
|
|
2223
|
+
: undefined;
|
|
2224
|
+
_healthAggRef.fn = emitStartupInvariants({
|
|
2225
|
+
logger: daemonLogger,
|
|
2226
|
+
adaptersByType,
|
|
2227
|
+
rawHandlerCounts: channelManager?.getRawHandlerCounts() ?? new Map(),
|
|
2228
|
+
channelPlugins: gateway.channelPlugins ?? new Map(),
|
|
2229
|
+
pluginRegistry: container.pluginRegistry ?? { count: () => 0 },
|
|
2230
|
+
mcpClientManager: mcpClientManager ?? { getTools: () => [] },
|
|
2231
|
+
agentsConfig: agents,
|
|
2232
|
+
depSlotConsistency: { adaptersList: false, channelRegistry: true },
|
|
2233
|
+
logRotationPolicy: container.config.observability?.logRotation,
|
|
2234
|
+
logsDir: _logsDir,
|
|
2235
|
+
alertBudgetPolicy: container.config.observability?.alertBudget,
|
|
2236
|
+
eventBus: container.eventBus,
|
|
878
2237
|
});
|
|
879
|
-
|
|
2238
|
+
const posture = checkStorageModeConsistency({ logger: daemonLogger, activeMode: boot.container.config.security.storage, dataDir: boot.dataDir, secretsDb: boot.secretsDb });
|
|
2239
|
+
// 9.2. I3 — config-posture SNAPSHOT (one-shot boot record, NOT an event).
|
|
2240
|
+
// Records the three log-file-only posture FINDINGS — TLS-off, stranded-secret
|
|
2241
|
+
// COUNTS, canary-fallback — as a single config_posture obs_diagnostics row so
|
|
2242
|
+
// the fleet lens can query a daemon's posture without grepping daemon.log.
|
|
2243
|
+
// TLS-off is CONFIG-DERIVED here, not read from the gateway's own TLS decision:
|
|
2244
|
+
// `gateway.{tls,allowInsecureHttp}` is the INPUT the gateway acts on, but the
|
|
2245
|
+
// gateway's resolved `tls ? https : http` branch (hono-server.ts) is internal
|
|
2246
|
+
// and NOT exposed on GatewayServerHandle, and threading it back out is the deep
|
|
2247
|
+
// cross-package plumbing this phase's KISS constraint forbids. This recompute
|
|
2248
|
+
// matches the listener's posture today; it only diverges if the gateway gains a
|
|
2249
|
+
// TLS path that bypasses config (an injected cert / env override) — a future
|
|
2250
|
+
// change should thread the gateway's resolved boolean here (WR-02).
|
|
2251
|
+
// canaryFallbackActive is a daemon-global presence proxy: CANARY_SECRET is
|
|
2252
|
+
// folded into `boot.env`/mergedEnv store-wins (buildMergedEnv), so this env read
|
|
2253
|
+
// already honors an encrypted/file secret-store entry — the same source the
|
|
2254
|
+
// per-agent path resolves (setup-agents-runtime.ts). True ⇒ no secret set ⇒
|
|
2255
|
+
// every agent uses the deterministic fallback. KISS — no deep per-agent plumbing.
|
|
2256
|
+
// OBS-7 (openclaw-usecases 2026-06-25): TLS-off is a posture concern only on a
|
|
2257
|
+
// NON-loopback bind. A loopback gateway has no off-host exposure, so flagging it
|
|
2258
|
+
// made `fleet` headline `config_posture` (TLS-off) on a clean dev/loopback box —
|
|
2259
|
+
// noise. The gate matches the gateway-exposure security check (only 0.0.0.0-without-
|
|
2260
|
+
// TLS is critical). `gateway.host` defaults to 127.0.0.1, so a default daemon stays
|
|
2261
|
+
// benign; an operator-set 0.0.0.0/routable host WITHOUT TLS still flags.
|
|
2262
|
+
const tlsOff = boot.container.config.gateway.tls === undefined &&
|
|
2263
|
+
boot.container.config.gateway.allowInsecureHttp !== true &&
|
|
2264
|
+
!isLoopbackHost(boot.container.config.gateway.host);
|
|
2265
|
+
const allowInsecureHttp = boot.container.config.gateway.allowInsecureHttp === true;
|
|
2266
|
+
const canaryFallbackActive = !boot.env.get("CANARY_SECRET");
|
|
2267
|
+
// KNOB-03: derived from the SAME boot comparisons the KNOB-01 WARN used (no second comparison).
|
|
2268
|
+
const servedBelowConfiguredCount = [...(boot.servedWindowComparisons?.values() ?? [])].filter((c) => c.belowConfigured).length;
|
|
2269
|
+
// RELAX-SURFACE (Track-M): surface the relaxed no-downgrade sandbox default at boot.
|
|
2270
|
+
// The typed field defaults to true (schema-security.ts); === false is the relaxation.
|
|
2271
|
+
const sandboxNoDowngradeDisabled = container.config.security.agentToAgent.sandboxNoDowngrade === false;
|
|
2272
|
+
buildConfigPostureRecord(boot.obsStore, { tlsOff, allowInsecureHttp, strandedFindings: posture.findings, canaryFallbackActive, servedBelowConfiguredCount, chimericModelCount: countChimericModels(container.config.agents), pricingGapCount: countPricingGaps(container.config.agents), sandboxNoDowngradeDisabled }, boot.clock);
|
|
2273
|
+
// Snapshot current config as last-known-good after successful startup.
|
|
2274
|
+
// Honor diagnostics.configAudit.enabled.
|
|
2275
|
+
// `!== false` semantics preserve the schema's default-true contract;
|
|
2276
|
+
// operators who omit the knob or explicitly set true see the audit
|
|
2277
|
+
// line; only `enabled: false` skips the JSONL append.
|
|
880
2278
|
if (configPaths.length > 0) {
|
|
881
2279
|
const activeConfigPath = configPaths[configPaths.length - 1];
|
|
882
|
-
const
|
|
2280
|
+
const auditEnabled = container.config.diagnostics?.configAudit?.enabled !== false;
|
|
2281
|
+
const lkg = saveLastKnownGood(activeConfigPath, auditEnabled);
|
|
883
2282
|
if (lkg.saved) {
|
|
884
2283
|
daemonLogger.debug({ lkgPath: lkg.path }, "Last-known-good config snapshot saved");
|
|
885
2284
|
}
|
|
886
2285
|
}
|
|
887
2286
|
return {
|
|
888
|
-
container, logger, logLevelManager, tokenTracker,
|
|
889
|
-
processMonitor, shutdownHandle,
|
|
2287
|
+
container, logger, logLevelManager, tokenTracker,
|
|
2288
|
+
processMonitor, shutdownHandle, cronSchedulers, resetSchedulers,
|
|
890
2289
|
browserServices, heartbeatRunner, gatewayHandle, adapterRegistry: adaptersByType,
|
|
2290
|
+
// Expose the orchestrator ChannelManager so integration tests can drive a
|
|
2291
|
+
// real inbound turn through the daemon's REAL pipeline deps
|
|
2292
|
+
// (channelManager.injectMessage). Undefined when no channels are configured
|
|
2293
|
+
// at boot — see DaemonInstance.channelManager doc.
|
|
2294
|
+
channelManager,
|
|
891
2295
|
// Expose the delivery-queue-side adapter map and the queue port itself so
|
|
892
2296
|
// integration tests can register adapters that the recurring drainer sees
|
|
893
2297
|
// and assert on queue depth.
|
|
@@ -897,7 +2301,7 @@ async function stageShutdown(input) {
|
|
|
897
2301
|
// synthetic tasks and call complete()/fail() to drive the completion
|
|
898
2302
|
// runner pipeline without requiring a live LLM call.
|
|
899
2303
|
backgroundTaskManager,
|
|
900
|
-
rpcCall,
|
|
2304
|
+
rpcCall, diagnosticCollector, billingEstimator,
|
|
901
2305
|
channelActivityTracker, deliveryTracer, approvalGate, channelHealthMonitor, sessionStoreBridge,
|
|
902
2306
|
};
|
|
903
2307
|
}
|
|
@@ -917,26 +2321,37 @@ export async function main(overrides = {}) {
|
|
|
917
2321
|
// instead of cascading into a systemd restart loop.
|
|
918
2322
|
const exitFn = overrides.exit ?? ((code) => process.exit(code));
|
|
919
2323
|
await (overrides.preflightDoctor ?? ((fn) => runPreflightDoctor(fn)))(exitFn);
|
|
2324
|
+
// The 4-handle chain collapsed into a single BootContext that the 5
|
|
2325
|
+
// boot* helpers populate in sequence. main() owns the single `boot`
|
|
2326
|
+
// variable; helpers mutate it via Object.assign.
|
|
2327
|
+
const boot = createEmptyBootContext();
|
|
920
2328
|
// Stage 1: foundation. Owns data-dir + secrets + bootstrap + logging +
|
|
921
2329
|
// observability + memory + obs-persistence + context store + session
|
|
922
2330
|
// mirroring + Gemini cache + background tasks + deferred refs.
|
|
923
|
-
|
|
924
|
-
//
|
|
925
|
-
//
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
2331
|
+
await bootFoundation(boot, { overrides, startupStartMs, instanceId });
|
|
2332
|
+
// Stages 2-5: wrapped so a failure in any post-foundation stage releases the
|
|
2333
|
+
// singleton lock. Under normal boot, setupShutdown.onShutdown owns
|
|
2334
|
+
// the release; this catch handles partial-boot failures before that fires.
|
|
2335
|
+
try {
|
|
2336
|
+
// Stage 2: agents. Owns agent executors + mcpClientManager + schedulers +
|
|
2337
|
+
// media + RPC bridge + approval gate (with restore) + delivery queue.
|
|
2338
|
+
await bootAgents(boot, { overrides });
|
|
2339
|
+
// Stage 3: channels. Owns sandbox/image-gen + tools (HOISTED) + channel
|
|
2340
|
+
// adapters + notifications + bg completion runner + cross-session + graph
|
|
2341
|
+
// + monitoring + heartbeat + wake coalescer + agent runtime state.
|
|
2342
|
+
await bootChannels(boot);
|
|
2343
|
+
// Stage 4: gateway. Owns token registry + session store bridge + shutdown
|
|
2344
|
+
// ref slot + hot-add/hot-remove closures + RPC dispatch deps assembly +
|
|
2345
|
+
// gateway server + restart continuation replay.
|
|
2346
|
+
await bootGateway(boot, { overrides, startupStartMs, instanceId });
|
|
2347
|
+
// Stage 5: shutdown. Constructs shutdown handle, wires health logging,
|
|
2348
|
+
// emits the startup banner ("Comis daemon started"), returns DaemonInstance.
|
|
2349
|
+
return await bootShutdown(boot, { overrides, startupStartMs, instanceId });
|
|
2350
|
+
}
|
|
2351
|
+
catch (e) {
|
|
2352
|
+
releaseDataDirLock(boot.dataDir);
|
|
2353
|
+
throw e;
|
|
2354
|
+
}
|
|
940
2355
|
}
|
|
941
2356
|
// Only run when invoked directly (not imported).
|
|
942
2357
|
// Under pm2, process.argv[1] is ProcessContainerFork.js — detect via pm_id env var.
|