comisai 1.0.36 → 1.0.40

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