comisai 1.0.37 → 1.0.40

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