comisai 1.0.34 → 1.0.37

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 (448) hide show
  1. package/node_modules/@comis/agent/dist/background/auto-background-middleware.d.ts +11 -1
  2. package/node_modules/@comis/agent/dist/background/auto-background-middleware.js +30 -4
  3. package/node_modules/@comis/agent/dist/background/background-task-manager.d.ts +22 -2
  4. package/node_modules/@comis/agent/dist/background/background-task-manager.js +88 -40
  5. package/node_modules/@comis/agent/dist/background/background-task-persistence.js +34 -4
  6. package/node_modules/@comis/agent/dist/background/background-task-types.d.ts +59 -3
  7. package/node_modules/@comis/agent/dist/background/background-task-types.js +1 -1
  8. package/node_modules/@comis/agent/dist/background/completion-dispatcher.d.ts +130 -0
  9. package/node_modules/@comis/agent/dist/background/completion-dispatcher.js +215 -0
  10. package/node_modules/@comis/agent/dist/background/completion-formatter.d.ts +39 -0
  11. package/node_modules/@comis/agent/dist/background/completion-formatter.js +77 -0
  12. package/node_modules/@comis/agent/dist/background/completion-runner.d.ts +62 -0
  13. package/node_modules/@comis/agent/dist/background/completion-runner.js +234 -0
  14. package/node_modules/@comis/agent/dist/background/index.d.ts +10 -1
  15. package/node_modules/@comis/agent/dist/background/index.js +4 -0
  16. package/node_modules/@comis/agent/dist/background/session-resolver.d.ts +85 -0
  17. package/node_modules/@comis/agent/dist/background/session-resolver.js +78 -0
  18. package/node_modules/@comis/agent/dist/bootstrap/sections/messaging-sections.js +1 -0
  19. package/node_modules/@comis/agent/dist/bootstrap/sections/tool-descriptions.js +3 -3
  20. package/node_modules/@comis/agent/dist/bootstrap/sections/tooling-sections.d.ts +30 -2
  21. package/node_modules/@comis/agent/dist/bootstrap/sections/tooling-sections.js +51 -2
  22. package/node_modules/@comis/agent/dist/bootstrap/system-prompt-assembler.d.ts +22 -0
  23. package/node_modules/@comis/agent/dist/bootstrap/system-prompt-assembler.js +2 -2
  24. package/node_modules/@comis/agent/dist/bridge/bridge-event-handlers.d.ts +1 -5
  25. package/node_modules/@comis/agent/dist/bridge/bridge-event-handlers.js +2 -14
  26. package/node_modules/@comis/agent/dist/bridge/bridge-metrics.d.ts +43 -2
  27. package/node_modules/@comis/agent/dist/bridge/bridge-metrics.js +17 -2
  28. package/node_modules/@comis/agent/dist/bridge/pi-event-bridge.d.ts +32 -23
  29. package/node_modules/@comis/agent/dist/bridge/pi-event-bridge.js +145 -62
  30. package/node_modules/@comis/agent/dist/bridge/thinking-block-hash-invariant.d.ts +6 -7
  31. package/node_modules/@comis/agent/dist/bridge/thinking-block-hash-invariant.js +24 -25
  32. package/node_modules/@comis/agent/dist/budget/cost-tracker.d.ts +1 -1
  33. package/node_modules/@comis/agent/dist/context-engine/constants.d.ts +5 -5
  34. package/node_modules/@comis/agent/dist/context-engine/constants.js +12 -12
  35. package/node_modules/@comis/agent/dist/context-engine/context-engine.js +13 -4
  36. package/node_modules/@comis/agent/dist/context-engine/dag-annotator.d.ts +1 -2
  37. package/node_modules/@comis/agent/dist/context-engine/dag-annotator.js +1 -2
  38. package/node_modules/@comis/agent/dist/context-engine/llm-compaction.js +20 -16
  39. package/node_modules/@comis/agent/dist/context-engine/rehydration.js +6 -6
  40. package/node_modules/@comis/agent/dist/context-engine/signature-replay-scrubber.d.ts +12 -12
  41. package/node_modules/@comis/agent/dist/context-engine/signature-replay-scrubber.js +36 -22
  42. package/node_modules/@comis/agent/dist/context-engine/signature-surrogate-guard.d.ts +10 -10
  43. package/node_modules/@comis/agent/dist/context-engine/signature-surrogate-guard.js +14 -14
  44. package/node_modules/@comis/agent/dist/context-engine/thinking-block-cleaner.d.ts +11 -13
  45. package/node_modules/@comis/agent/dist/context-engine/thinking-block-cleaner.js +14 -15
  46. package/node_modules/@comis/agent/dist/context-engine/types-core.d.ts +15 -0
  47. package/node_modules/@comis/agent/dist/executor/cache-break-detection.d.ts +6 -6
  48. package/node_modules/@comis/agent/dist/executor/cache-break-detection.js +8 -8
  49. package/node_modules/@comis/agent/dist/executor/capability-index-context.d.ts +72 -0
  50. package/node_modules/@comis/agent/dist/executor/capability-index-context.js +329 -0
  51. package/node_modules/@comis/agent/dist/executor/drain-helper.d.ts +122 -0
  52. package/node_modules/@comis/agent/dist/executor/drain-helper.js +173 -0
  53. package/node_modules/@comis/agent/dist/executor/error-classifier.js +2 -2
  54. package/node_modules/@comis/agent/dist/executor/executor-context-engine-setup.d.ts +16 -0
  55. package/node_modules/@comis/agent/dist/executor/executor-context-engine-setup.js +46 -5
  56. package/node_modules/@comis/agent/dist/executor/executor-post-execution.d.ts +78 -4
  57. package/node_modules/@comis/agent/dist/executor/executor-post-execution.js +150 -31
  58. package/node_modules/@comis/agent/dist/executor/executor-prompt-runner.d.ts +7 -0
  59. package/node_modules/@comis/agent/dist/executor/executor-prompt-runner.js +26 -5
  60. package/node_modules/@comis/agent/dist/executor/executor-response-filter.d.ts +7 -6
  61. package/node_modules/@comis/agent/dist/executor/executor-response-filter.js +9 -42
  62. package/node_modules/@comis/agent/dist/executor/executor-tool-assembly.d.ts +18 -1
  63. package/node_modules/@comis/agent/dist/executor/executor-tool-assembly.js +20 -18
  64. package/node_modules/@comis/agent/dist/executor/gemini-cache-injector.d.ts +2 -2
  65. package/node_modules/@comis/agent/dist/executor/gemini-cache-injector.js +4 -4
  66. package/node_modules/@comis/agent/dist/executor/jit-guide-injector.d.ts +11 -2
  67. package/node_modules/@comis/agent/dist/executor/jit-guide-injector.js +16 -2
  68. package/node_modules/@comis/agent/dist/executor/phase-filter.d.ts +2 -2
  69. package/node_modules/@comis/agent/dist/executor/phase-filter.js +5 -7
  70. package/node_modules/@comis/agent/dist/executor/pi-executor.d.ts +21 -2
  71. package/node_modules/@comis/agent/dist/executor/pi-executor.js +96 -18
  72. package/node_modules/@comis/agent/dist/executor/post-batch-continuation.js +7 -7
  73. package/node_modules/@comis/agent/dist/executor/prompt-assembly.d.ts +9 -1
  74. package/node_modules/@comis/agent/dist/executor/prompt-assembly.js +15 -1
  75. package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body-injector.d.ts +1 -1
  76. package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body-injector.js +1 -1
  77. package/node_modules/@comis/agent/dist/executor/tool-deferral.d.ts +18 -27
  78. package/node_modules/@comis/agent/dist/executor/tool-deferral.js +34 -43
  79. package/node_modules/@comis/agent/dist/index.d.ts +17 -0
  80. package/node_modules/@comis/agent/dist/index.js +32 -11
  81. package/node_modules/@comis/agent/dist/model/auth-provider.d.ts +25 -2
  82. package/node_modules/@comis/agent/dist/model/auth-provider.js +6 -0
  83. package/node_modules/@comis/agent/dist/model/compaction-model-resolver.d.ts +3 -3
  84. package/node_modules/@comis/agent/dist/model/compaction-model-resolver.js +3 -3
  85. package/node_modules/@comis/agent/dist/model/model-registry-adapter.js +1 -1
  86. package/node_modules/@comis/agent/dist/model/model-scanner.js +1 -1
  87. package/node_modules/@comis/agent/dist/model/oauth-credential-store-file.d.ts +37 -0
  88. package/node_modules/@comis/agent/dist/model/oauth-credential-store-file.js +279 -0
  89. package/node_modules/@comis/agent/dist/model/oauth-credential-store-selector.d.ts +49 -0
  90. package/node_modules/@comis/agent/dist/model/oauth-credential-store-selector.js +50 -0
  91. package/node_modules/@comis/agent/dist/model/oauth-device-code.d.ts +57 -0
  92. package/node_modules/@comis/agent/dist/model/oauth-device-code.js +302 -0
  93. package/node_modules/@comis/agent/dist/model/oauth-env.d.ts +33 -0
  94. package/node_modules/@comis/agent/dist/model/oauth-env.js +38 -0
  95. package/node_modules/@comis/agent/dist/model/oauth-errors.d.ts +41 -0
  96. package/node_modules/@comis/agent/dist/model/oauth-errors.js +88 -0
  97. package/node_modules/@comis/agent/dist/model/oauth-identity.d.ts +53 -0
  98. package/node_modules/@comis/agent/dist/model/oauth-identity.js +141 -0
  99. package/node_modules/@comis/agent/dist/model/oauth-login-runner.d.ts +99 -0
  100. package/node_modules/@comis/agent/dist/model/oauth-login-runner.js +374 -0
  101. package/node_modules/@comis/agent/dist/model/oauth-tls-preflight.d.ts +58 -0
  102. package/node_modules/@comis/agent/dist/model/oauth-tls-preflight.js +82 -0
  103. package/node_modules/@comis/agent/dist/model/oauth-token-manager.d.ts +86 -16
  104. package/node_modules/@comis/agent/dist/model/oauth-token-manager.js +961 -66
  105. package/node_modules/@comis/agent/dist/model/operation-model-defaults.d.ts +9 -4
  106. package/node_modules/@comis/agent/dist/model/operation-model-defaults.js +36 -9
  107. package/node_modules/@comis/agent/dist/model/resolve-provider-api-key.d.ts +48 -0
  108. package/node_modules/@comis/agent/dist/model/resolve-provider-api-key.js +66 -0
  109. package/node_modules/@comis/agent/dist/provider/capabilities.d.ts +5 -5
  110. package/node_modules/@comis/agent/dist/provider/capabilities.js +10 -23
  111. package/node_modules/@comis/agent/dist/safety/tool-output-safety.js +3 -3
  112. package/node_modules/@comis/agent/dist/safety/tool-retry-breaker.d.ts +11 -1
  113. package/node_modules/@comis/agent/dist/safety/tool-retry-breaker.js +19 -22
  114. package/node_modules/@comis/agent/dist/session/comis-session-manager.d.ts +17 -3
  115. package/node_modules/@comis/agent/dist/session/comis-session-manager.js +1 -1
  116. package/node_modules/@comis/agent/dist/spawn/narrative-caster.d.ts +10 -0
  117. package/node_modules/@comis/agent/dist/spawn/narrative-caster.js +5 -1
  118. package/node_modules/@comis/agent/dist/spawn/pi-mono-adapters.d.ts +1 -1
  119. package/node_modules/@comis/agent/dist/spawn/pi-mono-adapters.js +5 -5
  120. package/node_modules/@comis/agent/dist/workspace/data-env.d.ts +38 -0
  121. package/node_modules/@comis/agent/dist/workspace/data-env.js +56 -0
  122. package/node_modules/@comis/agent/dist/workspace/index.d.ts +1 -0
  123. package/node_modules/@comis/agent/dist/workspace/index.js +1 -0
  124. package/node_modules/@comis/agent/dist/workspace/templates.js +5 -1
  125. package/node_modules/@comis/agent/package.json +1 -1
  126. package/node_modules/@comis/channels/dist/email/email-adapter.js +6 -6
  127. package/node_modules/@comis/channels/dist/email/imap-lifecycle.js +7 -7
  128. package/node_modules/@comis/channels/dist/index.d.ts +1 -1
  129. package/node_modules/@comis/channels/dist/index.js +1 -1
  130. package/node_modules/@comis/channels/dist/shared/channel-manager.d.ts +9 -3
  131. package/node_modules/@comis/channels/dist/shared/deliver-to-channel.js +12 -10
  132. package/node_modules/@comis/channels/dist/shared/inbound-gate.d.ts +1 -1
  133. package/node_modules/@comis/channels/dist/shared/inbound-gate.js +22 -7
  134. package/node_modules/@comis/channels/dist/shared/inbound-pipeline.d.ts +10 -3
  135. package/node_modules/@comis/channels/dist/shared/inbound-route.d.ts +1 -1
  136. package/node_modules/@comis/channels/dist/shared/inbound-route.js +13 -2
  137. package/node_modules/@comis/channels/dist/shared/response-filter.d.ts +11 -24
  138. package/node_modules/@comis/channels/dist/shared/response-filter.js +25 -53
  139. package/node_modules/@comis/channels/dist/telegram/telegram-adapter.js +1 -1
  140. package/node_modules/@comis/channels/package.json +1 -1
  141. package/node_modules/@comis/cli/dist/cli.js +2 -0
  142. package/node_modules/@comis/cli/dist/commands/agent.d.ts +3 -3
  143. package/node_modules/@comis/cli/dist/commands/agent.js +46 -3
  144. package/node_modules/@comis/cli/dist/commands/auth.d.ts +37 -0
  145. package/node_modules/@comis/cli/dist/commands/auth.js +433 -0
  146. package/node_modules/@comis/cli/dist/commands/doctor.d.ts +4 -1
  147. package/node_modules/@comis/cli/dist/commands/doctor.js +20 -5
  148. package/node_modules/@comis/cli/dist/commands/providers.d.ts +1 -2
  149. package/node_modules/@comis/cli/dist/commands/providers.js +5 -6
  150. package/node_modules/@comis/cli/dist/doctor/checks/oauth-health.d.ts +39 -0
  151. package/node_modules/@comis/cli/dist/doctor/checks/oauth-health.js +399 -0
  152. package/node_modules/@comis/cli/dist/doctor/types.d.ts +19 -0
  153. package/node_modules/@comis/cli/dist/index.d.ts +1 -0
  154. package/node_modules/@comis/cli/dist/index.js +10 -4
  155. package/node_modules/@comis/cli/dist/output/relative-time.d.ts +23 -0
  156. package/node_modules/@comis/cli/dist/output/relative-time.js +36 -0
  157. package/node_modules/@comis/cli/dist/wizard/non-interactive.js +17 -8
  158. package/node_modules/@comis/cli/dist/wizard/steps/03-provider.js +2 -1
  159. package/node_modules/@comis/cli/dist/wizard/steps/04-credentials.js +223 -34
  160. package/node_modules/@comis/cli/dist/wizard/steps/10-write-config.js +14 -0
  161. package/node_modules/@comis/cli/dist/wizard/steps/11-daemon-start.js +3 -3
  162. package/node_modules/@comis/cli/dist/wizard/types.d.ts +7 -0
  163. package/node_modules/@comis/cli/package.json +1 -1
  164. package/node_modules/@comis/core/dist/bootstrap.d.ts +1 -1
  165. package/node_modules/@comis/core/dist/config/env-substitution.d.ts +66 -0
  166. package/node_modules/@comis/core/dist/config/env-substitution.js +115 -0
  167. package/node_modules/@comis/core/dist/config/field-metadata.js +2 -0
  168. package/node_modules/@comis/core/dist/config/immutable-keys.js +4 -1
  169. package/node_modules/@comis/core/dist/config/index.d.ts +7 -1
  170. package/node_modules/@comis/core/dist/config/index.js +4 -1
  171. package/node_modules/@comis/core/dist/config/loader.js +61 -0
  172. package/node_modules/@comis/core/dist/config/managed-sections.d.ts +3 -3
  173. package/node_modules/@comis/core/dist/config/managed-sections.js +10 -5
  174. package/node_modules/@comis/core/dist/config/schema-agent.d.ts +4 -792
  175. package/node_modules/@comis/core/dist/config/schema-agent.js +16 -1
  176. package/node_modules/@comis/core/dist/config/schema-approvals.d.ts +0 -14
  177. package/node_modules/@comis/core/dist/config/schema-auto-reply-engine.d.ts +0 -6
  178. package/node_modules/@comis/core/dist/config/schema-background-tasks.d.ts +1 -6
  179. package/node_modules/@comis/core/dist/config/schema-background-tasks.js +7 -0
  180. package/node_modules/@comis/core/dist/config/schema-browser.d.ts +0 -18
  181. package/node_modules/@comis/core/dist/config/schema-channel.d.ts +0 -158
  182. package/node_modules/@comis/core/dist/config/schema-coalescer.d.ts +0 -5
  183. package/node_modules/@comis/core/dist/config/schema-daemon.d.ts +0 -32
  184. package/node_modules/@comis/core/dist/config/schema-delivery.d.ts +1 -17
  185. package/node_modules/@comis/core/dist/config/schema-delivery.js +2 -0
  186. package/node_modules/@comis/core/dist/config/schema-documentation.d.ts +0 -12
  187. package/node_modules/@comis/core/dist/config/schema-embedding.d.ts +0 -20
  188. package/node_modules/@comis/core/dist/config/schema-envelope.d.ts +0 -15
  189. package/node_modules/@comis/core/dist/config/schema-gateway.d.ts +0 -37
  190. package/node_modules/@comis/core/dist/config/schema-gemini-cache.d.ts +0 -4
  191. package/node_modules/@comis/core/dist/config/schema-gemini-cache.js +0 -2
  192. package/node_modules/@comis/core/dist/config/schema-integrations.d.ts +0 -318
  193. package/node_modules/@comis/core/dist/config/schema-lifecycle-reactions.d.ts +0 -18
  194. package/node_modules/@comis/core/dist/config/schema-memory-review.d.ts +0 -7
  195. package/node_modules/@comis/core/dist/config/schema-memory.d.ts +0 -16
  196. package/node_modules/@comis/core/dist/config/schema-messages.d.ts +0 -8
  197. package/node_modules/@comis/core/dist/config/schema-models.d.ts +0 -15
  198. package/node_modules/@comis/core/dist/config/schema-notification.d.ts +0 -5
  199. package/node_modules/@comis/core/dist/config/schema-oauth.d.ts +18 -0
  200. package/node_modules/@comis/core/dist/config/schema-oauth.js +19 -0
  201. package/node_modules/@comis/core/dist/config/schema-observability.d.ts +0 -38
  202. package/node_modules/@comis/core/dist/config/schema-output-retention.d.ts +34 -0
  203. package/node_modules/@comis/core/dist/config/schema-output-retention.js +48 -0
  204. package/node_modules/@comis/core/dist/config/schema-plugins.d.ts +0 -8
  205. package/node_modules/@comis/core/dist/config/schema-providers.d.ts +0 -64
  206. package/node_modules/@comis/core/dist/config/schema-queue.d.ts +0 -58
  207. package/node_modules/@comis/core/dist/config/schema-response-prefix.d.ts +0 -2
  208. package/node_modules/@comis/core/dist/config/schema-retry.d.ts +0 -6
  209. package/node_modules/@comis/core/dist/config/schema-scheduler.d.ts +0 -39
  210. package/node_modules/@comis/core/dist/config/schema-secrets.d.ts +0 -3
  211. package/node_modules/@comis/core/dist/config/schema-security.d.ts +0 -18
  212. package/node_modules/@comis/core/dist/config/schema-send-policy.d.ts +0 -13
  213. package/node_modules/@comis/core/dist/config/schema-sender-trust-display.d.ts +0 -5
  214. package/node_modules/@comis/core/dist/config/schema-serializer.js +2 -0
  215. package/node_modules/@comis/core/dist/config/schema-skills.d.ts +0 -63
  216. package/node_modules/@comis/core/dist/config/schema-skills.js +3 -4
  217. package/node_modules/@comis/core/dist/config/schema-streaming.d.ts +0 -38
  218. package/node_modules/@comis/core/dist/config/schema-telegram-file-guard.d.ts +0 -3
  219. package/node_modules/@comis/core/dist/config/schema-tooling.d.ts +87 -0
  220. package/node_modules/@comis/core/dist/config/schema-tooling.js +152 -0
  221. package/node_modules/@comis/core/dist/config/schema-verbosity.d.ts +0 -12
  222. package/node_modules/@comis/core/dist/config/schema-webhooks.d.ts +0 -40
  223. package/node_modules/@comis/core/dist/config/schema.d.ts +50 -37
  224. package/node_modules/@comis/core/dist/config/schema.js +9 -0
  225. package/node_modules/@comis/core/dist/context/context.d.ts +0 -4
  226. package/node_modules/@comis/core/dist/domain/approval-request.d.ts +0 -17
  227. package/node_modules/@comis/core/dist/domain/background-task-origin.d.ts +29 -0
  228. package/node_modules/@comis/core/dist/domain/background-task-origin.js +39 -0
  229. package/node_modules/@comis/core/dist/domain/delivery-origin.d.ts +0 -5
  230. package/node_modules/@comis/core/dist/domain/execution-graph.d.ts +0 -48
  231. package/node_modules/@comis/core/dist/domain/memory-entry.d.ts +0 -3
  232. package/node_modules/@comis/core/dist/domain/model-compat.d.ts +0 -4
  233. package/node_modules/@comis/core/dist/domain/normalized-message.d.ts +0 -15
  234. package/node_modules/@comis/core/dist/domain/provider-capabilities.d.ts +0 -6
  235. package/node_modules/@comis/core/dist/domain/rich-message.d.ts +0 -14
  236. package/node_modules/@comis/core/dist/domain/subagent-context-config.d.ts +0 -22
  237. package/node_modules/@comis/core/dist/domain/subagent-context-types.d.ts +0 -8
  238. package/node_modules/@comis/core/dist/event-bus/events-agent.d.ts +31 -0
  239. package/node_modules/@comis/core/dist/event-bus/events-infra.d.ts +76 -2
  240. package/node_modules/@comis/core/dist/exports/config.d.ts +2 -2
  241. package/node_modules/@comis/core/dist/exports/config.js +3 -1
  242. package/node_modules/@comis/core/dist/exports/domain.d.ts +2 -0
  243. package/node_modules/@comis/core/dist/exports/domain.js +1 -0
  244. package/node_modules/@comis/core/dist/exports/hooks.d.ts +1 -1
  245. package/node_modules/@comis/core/dist/exports/ports.d.ts +2 -2
  246. package/node_modules/@comis/core/dist/exports/ports.js +1 -1
  247. package/node_modules/@comis/core/dist/ports/channel-plugin.d.ts +0 -13
  248. package/node_modules/@comis/core/dist/ports/delivery-queue.d.ts +23 -0
  249. package/node_modules/@comis/core/dist/ports/delivery-queue.js +2 -0
  250. package/node_modules/@comis/core/dist/ports/index.d.ts +4 -0
  251. package/node_modules/@comis/core/dist/ports/index.js +5 -0
  252. package/node_modules/@comis/core/dist/ports/no-op-tool-capability.d.ts +30 -0
  253. package/node_modules/@comis/core/dist/ports/no-op-tool-capability.js +47 -0
  254. package/node_modules/@comis/core/dist/ports/oauth-credential-store.d.ts +64 -0
  255. package/node_modules/@comis/core/dist/ports/oauth-credential-store.js +37 -0
  256. package/node_modules/@comis/core/dist/ports/tool-capability.d.ts +165 -0
  257. package/node_modules/@comis/core/dist/ports/tool-capability.js +15 -0
  258. package/node_modules/@comis/core/dist/security/audit.d.ts +0 -11
  259. package/node_modules/@comis/core/dist/tool-metadata.d.ts +41 -1
  260. package/node_modules/@comis/core/dist/tool-metadata.js +1 -1
  261. package/node_modules/@comis/core/package.json +1 -1
  262. package/node_modules/@comis/daemon/bundled-skills/skill-creator/scripts/validate-skill.py +1 -1
  263. package/node_modules/@comis/daemon/dist/daemon-types.d.ts +23 -3
  264. package/node_modules/@comis/daemon/dist/daemon.js +168 -30
  265. package/node_modules/@comis/daemon/dist/index.d.ts +2 -0
  266. package/node_modules/@comis/daemon/dist/index.js +5 -0
  267. package/node_modules/@comis/daemon/dist/observability/channel-health-logger.js +3 -3
  268. package/node_modules/@comis/daemon/dist/observability/delivery-queue-logger.js +1 -1
  269. package/node_modules/@comis/daemon/dist/rpc/agent-handlers.d.ts +22 -1
  270. package/node_modules/@comis/daemon/dist/rpc/agent-handlers.js +84 -21
  271. package/node_modules/@comis/daemon/dist/rpc/agent-inline-workspace.d.ts +1 -1
  272. package/node_modules/@comis/daemon/dist/rpc/agent-inline-workspace.js +3 -3
  273. package/node_modules/@comis/daemon/dist/rpc/builtin-provider-guard.js +2 -2
  274. package/node_modules/@comis/daemon/dist/rpc/config-handlers.d.ts +9 -1
  275. package/node_modules/@comis/daemon/dist/rpc/config-handlers.js +104 -23
  276. package/node_modules/@comis/daemon/dist/rpc/credential-resolver.d.ts +30 -1
  277. package/node_modules/@comis/daemon/dist/rpc/credential-resolver.js +74 -11
  278. package/node_modules/@comis/daemon/dist/rpc/mcp-handlers.d.ts +8 -0
  279. package/node_modules/@comis/daemon/dist/rpc/mcp-handlers.js +22 -8
  280. package/node_modules/@comis/daemon/dist/rpc/model-handlers.d.ts +1 -1
  281. package/node_modules/@comis/daemon/dist/rpc/model-handlers.js +2 -2
  282. package/node_modules/@comis/daemon/dist/rpc/provider-handlers.js +9 -12
  283. package/node_modules/@comis/daemon/dist/rpc/rpc-dispatch.d.ts +1 -0
  284. package/node_modules/@comis/daemon/dist/rpc/rpc-dispatch.js +27 -2
  285. package/node_modules/@comis/daemon/dist/setup-docker-restart-warn.js +0 -1
  286. package/node_modules/@comis/daemon/dist/sub-agent-runner.d.ts +18 -0
  287. package/node_modules/@comis/daemon/dist/sub-agent-runner.js +41 -9
  288. package/node_modules/@comis/daemon/dist/wiring/index.d.ts +4 -0
  289. package/node_modules/@comis/daemon/dist/wiring/index.js +2 -0
  290. package/node_modules/@comis/daemon/dist/wiring/oauth-preflight.d.ts +21 -0
  291. package/node_modules/@comis/daemon/dist/wiring/oauth-preflight.js +134 -0
  292. package/node_modules/@comis/daemon/dist/wiring/setup-agents.d.ts +81 -2
  293. package/node_modules/@comis/daemon/dist/wiring/setup-agents.js +164 -3
  294. package/node_modules/@comis/daemon/dist/wiring/setup-background-completion-runner.d.ts +58 -0
  295. package/node_modules/@comis/daemon/dist/wiring/setup-background-completion-runner.js +59 -0
  296. package/node_modules/@comis/daemon/dist/wiring/setup-background-tasks.d.ts +10 -3
  297. package/node_modules/@comis/daemon/dist/wiring/setup-background-tasks.js +13 -7
  298. package/node_modules/@comis/daemon/dist/wiring/setup-channels.d.ts +9 -2
  299. package/node_modules/@comis/daemon/dist/wiring/setup-channels.js +35 -10
  300. package/node_modules/@comis/daemon/dist/wiring/setup-cross-session.d.ts +20 -5
  301. package/node_modules/@comis/daemon/dist/wiring/setup-cross-session.js +21 -16
  302. package/node_modules/@comis/daemon/dist/wiring/setup-delivery.d.ts +14 -5
  303. package/node_modules/@comis/daemon/dist/wiring/setup-delivery.js +65 -20
  304. package/node_modules/@comis/daemon/dist/wiring/setup-gateway.d.ts +4 -6
  305. package/node_modules/@comis/daemon/dist/wiring/setup-gateway.js +3 -5
  306. package/node_modules/@comis/daemon/dist/wiring/setup-heartbeat.d.ts +20 -5
  307. package/node_modules/@comis/daemon/dist/wiring/setup-heartbeat.js +11 -2
  308. package/node_modules/@comis/daemon/dist/wiring/setup-output-retention.d.ts +89 -0
  309. package/node_modules/@comis/daemon/dist/wiring/setup-output-retention.js +212 -0
  310. package/node_modules/@comis/daemon/dist/wiring/setup-schedulers.js +4 -0
  311. package/node_modules/@comis/daemon/dist/wiring/setup-tools.d.ts +18 -4
  312. package/node_modules/@comis/daemon/dist/wiring/setup-tools.js +29 -10
  313. package/node_modules/@comis/daemon/dist/wiring/tool-capability-adapter.d.ts +75 -0
  314. package/node_modules/@comis/daemon/dist/wiring/tool-capability-adapter.js +253 -0
  315. package/node_modules/@comis/daemon/package.json +1 -1
  316. package/node_modules/@comis/gateway/dist/index.d.ts +2 -0
  317. package/node_modules/@comis/gateway/dist/index.js +2 -0
  318. package/node_modules/@comis/gateway/dist/oauth/oauth-callback-route.d.ts +66 -0
  319. package/node_modules/@comis/gateway/dist/oauth/oauth-callback-route.js +212 -0
  320. package/node_modules/@comis/gateway/dist/server/hono-server.d.ts +14 -0
  321. package/node_modules/@comis/gateway/dist/server/hono-server.js +10 -0
  322. package/node_modules/@comis/gateway/dist/webhook/webhook-endpoint.d.ts +0 -4
  323. package/node_modules/@comis/gateway/package.json +1 -1
  324. package/node_modules/@comis/infra/dist/logging/log-fields.d.ts +23 -0
  325. package/node_modules/@comis/infra/package.json +1 -1
  326. package/node_modules/@comis/memory/dist/compaction.d.ts +3 -5
  327. package/node_modules/@comis/memory/dist/compaction.js +2 -3
  328. package/node_modules/@comis/memory/dist/delivery-queue-adapter.d.ts +2 -2
  329. package/node_modules/@comis/memory/dist/delivery-queue-adapter.js +49 -1
  330. package/node_modules/@comis/memory/dist/index.d.ts +2 -0
  331. package/node_modules/@comis/memory/dist/index.js +3 -0
  332. package/node_modules/@comis/memory/dist/memory-api.d.ts +1 -1
  333. package/node_modules/@comis/memory/dist/memory-api.js +1 -1
  334. package/node_modules/@comis/memory/dist/oauth-profile-schema.d.ts +17 -0
  335. package/node_modules/@comis/memory/dist/oauth-profile-schema.js +33 -0
  336. package/node_modules/@comis/memory/dist/oauth-profile-store-encrypted.d.ts +27 -0
  337. package/node_modules/@comis/memory/dist/oauth-profile-store-encrypted.js +144 -0
  338. package/node_modules/@comis/memory/dist/session-store.d.ts +1 -1
  339. package/node_modules/@comis/memory/dist/session-store.js +1 -1
  340. package/node_modules/@comis/memory/dist/sqlite-secret-store.d.ts +29 -3
  341. package/node_modules/@comis/memory/dist/sqlite-secret-store.js +11 -3
  342. package/node_modules/@comis/memory/package.json +1 -1
  343. package/node_modules/@comis/scheduler/dist/cron/cron-types.d.ts +0 -42
  344. package/node_modules/@comis/scheduler/dist/execution/execution-lock.d.ts +13 -0
  345. package/node_modules/@comis/scheduler/dist/execution/execution-lock.js +1 -1
  346. package/node_modules/@comis/scheduler/dist/execution/index.d.ts +2 -0
  347. package/node_modules/@comis/scheduler/dist/execution/index.js +2 -0
  348. package/node_modules/@comis/scheduler/dist/heartbeat/agent-heartbeat-source.d.ts +29 -8
  349. package/node_modules/@comis/scheduler/dist/heartbeat/agent-heartbeat-source.js +20 -8
  350. package/node_modules/@comis/scheduler/dist/index.d.ts +2 -0
  351. package/node_modules/@comis/scheduler/dist/index.js +2 -0
  352. package/node_modules/@comis/scheduler/dist/system-events/system-event-types.d.ts +0 -3
  353. package/node_modules/@comis/scheduler/dist/tasks/task-types.d.ts +0 -17
  354. package/node_modules/@comis/scheduler/package.json +1 -1
  355. package/node_modules/@comis/shared/dist/index.d.ts +3 -0
  356. package/node_modules/@comis/shared/dist/index.js +4 -0
  357. package/node_modules/@comis/shared/dist/mcp-tool-name.d.ts +78 -0
  358. package/node_modules/@comis/shared/dist/mcp-tool-name.js +92 -0
  359. package/node_modules/@comis/shared/dist/silent-tokens.d.ts +38 -0
  360. package/node_modules/@comis/shared/dist/silent-tokens.js +51 -0
  361. package/node_modules/@comis/shared/dist/visible-delivery.d.ts +28 -0
  362. package/node_modules/@comis/shared/dist/visible-delivery.js +16 -0
  363. package/node_modules/@comis/shared/package.json +1 -1
  364. package/node_modules/@comis/skills/dist/bridge/mcp-tool-bridge.d.ts +2 -13
  365. package/node_modules/@comis/skills/dist/bridge/mcp-tool-bridge.js +3 -21
  366. package/node_modules/@comis/skills/dist/bridge/schema-validator.d.ts +38 -0
  367. package/node_modules/@comis/skills/dist/bridge/schema-validator.js +169 -0
  368. package/node_modules/@comis/skills/dist/bridge/tool-metadata-enforcement.js +12 -0
  369. package/node_modules/@comis/skills/dist/bridge/tool-metadata-registry.js +133 -3
  370. package/node_modules/@comis/skills/dist/builtin/exec-diagnostics.d.ts +32 -0
  371. package/node_modules/@comis/skills/dist/builtin/exec-diagnostics.js +127 -0
  372. package/node_modules/@comis/skills/dist/builtin/exec-security.js +38 -0
  373. package/node_modules/@comis/skills/dist/builtin/exec-tool.d.ts +55 -9
  374. package/node_modules/@comis/skills/dist/builtin/exec-tool.js +392 -19
  375. package/node_modules/@comis/skills/dist/builtin/file-tools/grep-tool.js +6 -6
  376. package/node_modules/@comis/skills/dist/builtin/install-detour.d.ts +67 -0
  377. package/node_modules/@comis/skills/dist/builtin/install-detour.js +342 -0
  378. package/node_modules/@comis/skills/dist/builtin/platform/admin-manage-factory.js +5 -5
  379. package/node_modules/@comis/skills/dist/builtin/platform/agents-manage-tool.d.ts +7 -6
  380. package/node_modules/@comis/skills/dist/builtin/platform/agents-manage-tool.js +40 -29
  381. package/node_modules/@comis/skills/dist/builtin/platform/background-tasks-tool.d.ts +4 -1
  382. package/node_modules/@comis/skills/dist/builtin/platform/background-tasks-tool.js +3 -3
  383. package/node_modules/@comis/skills/dist/builtin/platform/cron-tool.js +1 -1
  384. package/node_modules/@comis/skills/dist/builtin/platform/gateway-tool.js +6 -6
  385. package/node_modules/@comis/skills/dist/builtin/platform/mcp-manage-tool.d.ts +1 -1
  386. package/node_modules/@comis/skills/dist/builtin/platform/mcp-manage-tool.js +9 -9
  387. package/node_modules/@comis/skills/dist/builtin/platform/message-tool.js +18 -0
  388. package/node_modules/@comis/skills/dist/builtin/platform/messaging-factory.d.ts +18 -1
  389. package/node_modules/@comis/skills/dist/builtin/platform/messaging-factory.js +18 -2
  390. package/node_modules/@comis/skills/dist/builtin/platform/models-manage-tool.js +3 -3
  391. package/node_modules/@comis/skills/dist/builtin/process-registry.d.ts +14 -0
  392. package/node_modules/@comis/skills/dist/builtin/process-tool.d.ts +24 -4
  393. package/node_modules/@comis/skills/dist/builtin/process-tool.js +25 -7
  394. package/node_modules/@comis/skills/dist/builtin/sandbox/bwrap-provider.d.ts +11 -0
  395. package/node_modules/@comis/skills/dist/builtin/sandbox/bwrap-provider.js +123 -1
  396. package/node_modules/@comis/skills/dist/builtin/sandbox/detect-provider.js +40 -15
  397. package/node_modules/@comis/skills/dist/index.d.ts +4 -1
  398. package/node_modules/@comis/skills/dist/index.js +3 -1
  399. package/node_modules/@comis/skills/dist/manifest/capability-parser.d.ts +44 -0
  400. package/node_modules/@comis/skills/dist/manifest/capability-parser.js +68 -0
  401. package/node_modules/@comis/skills/dist/manifest/schema.d.ts +44 -37
  402. package/node_modules/@comis/skills/dist/manifest/schema.js +35 -0
  403. package/node_modules/@comis/skills/dist/media/ssrf-fetcher.d.ts +7 -0
  404. package/node_modules/@comis/skills/dist/media/ssrf-fetcher.js +9 -2
  405. package/node_modules/@comis/skills/dist/registry/discovery.d.ts +8 -0
  406. package/node_modules/@comis/skills/dist/registry/discovery.js +10 -3
  407. package/node_modules/@comis/skills/dist/registry/skill-registry.d.ts +45 -1
  408. package/node_modules/@comis/skills/dist/registry/skill-registry.js +70 -7
  409. package/node_modules/@comis/skills/package.json +1 -1
  410. package/node_modules/@comis/web/dist/assets/{agent-detail-71BSbSfD.js → agent-detail-q8t1NB7w.js} +1 -1
  411. package/node_modules/@comis/web/dist/assets/{agent-editor-CTSDZhwT.js → agent-editor-B46io5gv.js} +1 -1
  412. package/node_modules/@comis/web/dist/assets/{agent-list-BEhni2ea.js → agent-list-DQ6g2Rcx.js} +1 -1
  413. package/node_modules/@comis/web/dist/assets/{billing-view-DVP1IvVs.js → billing-view-IWPR8LgF.js} +1 -1
  414. package/node_modules/@comis/web/dist/assets/{channel-detail-N_YK74xC.js → channel-detail-DlNNZuuC.js} +1 -1
  415. package/node_modules/@comis/web/dist/assets/{channel-list-DRk6ZJaF.js → channel-list-DhGwxiMc.js} +1 -1
  416. package/node_modules/@comis/web/dist/assets/{chat-console-Dm-GtSf9.js → chat-console-Nv6fM3Rc.js} +1 -1
  417. package/node_modules/@comis/web/dist/assets/{config-editor-CIferYX6.js → config-editor-BYKuJF76.js} +1 -1
  418. package/node_modules/@comis/web/dist/assets/{context-dag-browser-CL84rXXM.js → context-dag-browser-ClNEtzYE.js} +1 -1
  419. package/node_modules/@comis/web/dist/assets/{context-engine-B1HOTEZv.js → context-engine-BZJ6HChd.js} +1 -1
  420. package/node_modules/@comis/web/dist/assets/{delivery-view-Y6JKYVFw.js → delivery-view-Cb7I3vGu.js} +1 -1
  421. package/node_modules/@comis/web/dist/assets/{diagnostics-view-DWV1UQjz.js → diagnostics-view-9u9Lyu5a.js} +1 -1
  422. package/node_modules/@comis/web/dist/assets/{ic-chat-message-DfSERzzg.js → ic-chat-message-BFt3cVpx.js} +1 -1
  423. package/node_modules/@comis/web/dist/assets/{ic-connection-dot-CXyhlJup.js → ic-connection-dot-y77LZ3Gu.js} +1 -1
  424. package/node_modules/@comis/web/dist/assets/{ic-tool-call-DNmwTjek.js → ic-tool-call-qt6w1NQl.js} +1 -1
  425. package/node_modules/@comis/web/dist/assets/{index-CBr0Tm9_.js → index-8Tg9oc-C.js} +2 -2
  426. package/node_modules/@comis/web/dist/assets/{mcp-management-BaH2-vox.js → mcp-management-69dtH_kY.js} +2 -2
  427. package/node_modules/@comis/web/dist/assets/{media-config-CZLshJoN.js → media-config-BdjLj5c1.js} +1 -1
  428. package/node_modules/@comis/web/dist/assets/{media-test-C9NUWgo_.js → media-test-DuPqrixi.js} +1 -1
  429. package/node_modules/@comis/web/dist/assets/{memory-inspector-D_fmTcRN.js → memory-inspector-B-Pepbq-.js} +1 -1
  430. package/node_modules/@comis/web/dist/assets/{message-center-BBFlNCZn.js → message-center-B7l0yNYY.js} +1 -1
  431. package/node_modules/@comis/web/dist/assets/{models-BytGLm99.js → models-JHFHuv5S.js} +1 -1
  432. package/node_modules/@comis/web/dist/assets/{observe-view-VXtHqaqq.js → observe-view-r8mqhy4O.js} +1 -1
  433. package/node_modules/@comis/web/dist/assets/{pipeline-builder-CfXczlfJ.js → pipeline-builder-XjkiZRcR.js} +1 -1
  434. package/node_modules/@comis/web/dist/assets/{pipeline-history-CPmXFnbe.js → pipeline-history-CZqJv_Hj.js} +1 -1
  435. package/node_modules/@comis/web/dist/assets/{pipeline-history-detail-DcueTMs9.js → pipeline-history-detail-BEFGMoDy.js} +1 -1
  436. package/node_modules/@comis/web/dist/assets/{pipeline-list-B-xG5WZh.js → pipeline-list-B6q5LvO1.js} +1 -1
  437. package/node_modules/@comis/web/dist/assets/{pipeline-monitor-pnIOYaSY.js → pipeline-monitor-BNomXjVL.js} +1 -1
  438. package/node_modules/@comis/web/dist/assets/{scheduler-BtUIFHhA.js → scheduler-BJEjcGKA.js} +1 -1
  439. package/node_modules/@comis/web/dist/assets/{security-C8mWRq2y.js → security-2G1jhBfV.js} +1 -1
  440. package/node_modules/@comis/web/dist/assets/{session-detail-DgdkO5ka.js → session-detail-DmVPzFBR.js} +1 -1
  441. package/node_modules/@comis/web/dist/assets/{session-list-DcylcfTn.js → session-list-CsqMQoHs.js} +1 -1
  442. package/node_modules/@comis/web/dist/assets/{setup-wizard-BP5yjsuL.js → setup-wizard-CAdM-gSP.js} +1 -1
  443. package/node_modules/@comis/web/dist/assets/{skills-DXt1bX8Z.js → skills-2ODqKaWr.js} +1 -1
  444. package/node_modules/@comis/web/dist/assets/{subagents-C7YbUHXY.js → subagents-BFlwfTbD.js} +1 -1
  445. package/node_modules/@comis/web/dist/assets/{workspace-manager-DP6pW4wa.js → workspace-manager--CbOx_dI.js} +1 -1
  446. package/node_modules/@comis/web/dist/index.html +1 -1
  447. package/node_modules/@comis/web/package.json +1 -1
  448. package/package.json +25 -24
@@ -1,4 +1,4 @@
1
- import{c as e,f as t,h as n,l as r,m as i,n as a,o,r as s,s as c,t as l,u}from"./decorate-BvWYovGE.js";import{a as d}from"./index-CBr0Tm9_.js";import"./ic-breadcrumb-DqN6G3gc.js";import"./ic-confirm-dialog-DGlPbV1T.js";import{n as f,t as p}from"./ic-graph-canvas-ByRjij68.js";var m=2e3,h=1e3;function g(){let e=``,t=`running`,n=!1,r=[],i=[],a=[],o={total:0,completed:0,failed:0,skipped:0,running:0,pending:0},s=0,c=null,l=!0,u=null,d=null,f=null,p=null,g=[],_=null,v=new Set;function y(){for(let e of v)e()}function b(e,t){return e.map(e=>{let n=t[e.id];return{id:e.id,task:e.task,agentId:e.agentId,modelId:e.modelId,status:n?.status??`pending`,runId:n?.runId,output:n?.output,error:n?.error,startedAt:n?.startedAt,completedAt:n?.completedAt,durationMs:n?.durationMs,retryAttempt:n?.retryAttempt,retriesRemaining:n?.retriesRemaining,dependsOn:e.dependsOn,position:{x:e.position.x,y:e.position.y}}})}function x(i){e=i.graphId,t=i.status,n=i.isTerminal,a=i.executionOrder,o=i.stats,r=b(g,i.nodes),l=!1,u=null,p===null&&i.status===`running`&&(p=Date.now(),s=0,E()),n&&(w(),T()),y()}function S(e){u=e instanceof Error?e.message:String(e),l=!1,y()}async function C(e,t){try{x(await e.call(`graph.status`,{graphId:t}))}catch(e){S(e)}}function w(){d!==null&&(clearInterval(d),d=null)}function T(){f!==null&&(clearInterval(f),f=null)}function E(){T(),f=setInterval(()=>{p!==null&&(s=Date.now()-p,y())},h)}function D(){let e=0,t=0,n=0,i=0,a=0;for(let o of r)switch(o.status){case`completed`:e++;break;case`failed`:t++;break;case`skipped`:n++;break;case`running`:i++;break;default:a++;break}o={total:r.length,completed:e,failed:t,skipped:n,running:i,pending:a}}return{subscribe(e){return v.add(e),()=>{v.delete(e)}},getSnapshot(){return Object.freeze({graphId:e,graphStatus:t,isTerminal:n,nodes:[...r],edges:[...i],executionOrder:[...a],stats:{...o},elapsedMs:s,selectedNodeId:c,loading:l,error:u})},selectNode(e){c=e,y()},startPolling(t,r,a,o){w(),T(),_=t,e=r,g=a,i=o,p=null,n=!1,C(t,r),d=setInterval(()=>{C(t,r)},m)},stopPolling(){w(),T()},destroy(){w(),T(),v.clear()},applyEvent(i,a){if(i===`graph:node_updated`){let t=a;if(t.graphId!==e)return;let n=r.findIndex(e=>e.id===t.nodeId);if(n>=0){let e=r[n];r[n]={...e,status:t.status,durationMs:t.durationMs??e.durationMs,error:t.error??e.error,startedAt:t.status===`running`&&e.startedAt==null?t.timestamp:e.startedAt,completedAt:t.status===`completed`||t.status===`failed`?t.timestamp:e.completedAt},D(),y()}}else if(i===`graph:completed`){let r=a;if(r.graphId!==e)return;t=r.status,n=!0,o={total:r.nodeCount,completed:r.nodesCompleted,failed:r.nodesFailed,skipped:r.nodesSkipped,running:0,pending:0},w(),T(),l=!1,u=null,y()}else if(i===`graph:started`){if(a.graphId!==e)return;p===null&&(p=Date.now(),s=0,E()),y()}},suspendPolling(){w()},resumePolling(){n||_&&(C(_,e),w(),d=setInterval(()=>{C(_,e)},m))}}}var _=class extends r{constructor(...e){super(...e),this.graphStatus=`running`,this.isTerminal=!1,this.elapsedMs=0,this.stats={total:0,completed:0,failed:0,skipped:0,running:0,pending:0}}static{this.styles=[s,n`
1
+ import{c as e,f as t,h as n,l as r,m as i,n as a,o,r as s,s as c,t as l,u}from"./decorate-BvWYovGE.js";import{a as d}from"./index-8Tg9oc-C.js";import"./ic-breadcrumb-DqN6G3gc.js";import"./ic-confirm-dialog-DGlPbV1T.js";import{n as f,t as p}from"./ic-graph-canvas-ByRjij68.js";var m=2e3,h=1e3;function g(){let e=``,t=`running`,n=!1,r=[],i=[],a=[],o={total:0,completed:0,failed:0,skipped:0,running:0,pending:0},s=0,c=null,l=!0,u=null,d=null,f=null,p=null,g=[],_=null,v=new Set;function y(){for(let e of v)e()}function b(e,t){return e.map(e=>{let n=t[e.id];return{id:e.id,task:e.task,agentId:e.agentId,modelId:e.modelId,status:n?.status??`pending`,runId:n?.runId,output:n?.output,error:n?.error,startedAt:n?.startedAt,completedAt:n?.completedAt,durationMs:n?.durationMs,retryAttempt:n?.retryAttempt,retriesRemaining:n?.retriesRemaining,dependsOn:e.dependsOn,position:{x:e.position.x,y:e.position.y}}})}function x(i){e=i.graphId,t=i.status,n=i.isTerminal,a=i.executionOrder,o=i.stats,r=b(g,i.nodes),l=!1,u=null,p===null&&i.status===`running`&&(p=Date.now(),s=0,E()),n&&(w(),T()),y()}function S(e){u=e instanceof Error?e.message:String(e),l=!1,y()}async function C(e,t){try{x(await e.call(`graph.status`,{graphId:t}))}catch(e){S(e)}}function w(){d!==null&&(clearInterval(d),d=null)}function T(){f!==null&&(clearInterval(f),f=null)}function E(){T(),f=setInterval(()=>{p!==null&&(s=Date.now()-p,y())},h)}function D(){let e=0,t=0,n=0,i=0,a=0;for(let o of r)switch(o.status){case`completed`:e++;break;case`failed`:t++;break;case`skipped`:n++;break;case`running`:i++;break;default:a++;break}o={total:r.length,completed:e,failed:t,skipped:n,running:i,pending:a}}return{subscribe(e){return v.add(e),()=>{v.delete(e)}},getSnapshot(){return Object.freeze({graphId:e,graphStatus:t,isTerminal:n,nodes:[...r],edges:[...i],executionOrder:[...a],stats:{...o},elapsedMs:s,selectedNodeId:c,loading:l,error:u})},selectNode(e){c=e,y()},startPolling(t,r,a,o){w(),T(),_=t,e=r,g=a,i=o,p=null,n=!1,C(t,r),d=setInterval(()=>{C(t,r)},m)},stopPolling(){w(),T()},destroy(){w(),T(),v.clear()},applyEvent(i,a){if(i===`graph:node_updated`){let t=a;if(t.graphId!==e)return;let n=r.findIndex(e=>e.id===t.nodeId);if(n>=0){let e=r[n];r[n]={...e,status:t.status,durationMs:t.durationMs??e.durationMs,error:t.error??e.error,startedAt:t.status===`running`&&e.startedAt==null?t.timestamp:e.startedAt,completedAt:t.status===`completed`||t.status===`failed`?t.timestamp:e.completedAt},D(),y()}}else if(i===`graph:completed`){let r=a;if(r.graphId!==e)return;t=r.status,n=!0,o={total:r.nodeCount,completed:r.nodesCompleted,failed:r.nodesFailed,skipped:r.nodesSkipped,running:0,pending:0},w(),T(),l=!1,u=null,y()}else if(i===`graph:started`){if(a.graphId!==e)return;p===null&&(p=Date.now(),s=0,E()),y()}},suspendPolling(){w()},resumePolling(){n||_&&(C(_,e),w(),d=setInterval(()=>{C(_,e)},m))}}}var _=class extends r{constructor(...e){super(...e),this.graphStatus=`running`,this.isTerminal=!1,this.elapsedMs=0,this.stats={total:0,completed:0,failed:0,skipped:0,running:0,pending:0}}static{this.styles=[s,n`
2
2
  :host {
3
3
  display: block;
4
4
  }
@@ -1,4 +1,4 @@
1
- import{c as e,f as t,h as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./decorate-BvWYovGE.js";import{a as u,i as d}from"./index-CBr0Tm9_.js";import"./ic-tag-CvMVQFRR.js";import"./ic-relative-time-B3UAnTqg.js";import"./ic-icon-BGNCCPpZ.js";import"./ic-empty-state-CM3Wbj2f.js";import"./ic-tabs-yBjkWKJH.js";function f(e,t,n){let r=new Set;for(let i of e.split(`,`)){let e=i.trim(),a=e.match(/^(\*|(\d+)-(\d+))\/(\d+)$/);if(a){let e=parseInt(a[4],10);if(e<=0)return null;let i=t,o=n;if(a[2]!==void 0&&a[3]!==void 0&&(i=parseInt(a[2],10),o=parseInt(a[3],10)),i<t||o>n||i>o)return null;for(let t=i;t<=o;t+=e)r.add(t);continue}if(e===`*`){for(let e=t;e<=n;e++)r.add(e);continue}let o=e.match(/^(\d+)-(\d+)$/);if(o){let e=parseInt(o[1],10),i=parseInt(o[2],10);if(e<t||i>n||e>i)return null;for(let t=e;t<=i;t++)r.add(t);continue}if(/^\d+$/.test(e)){let i=parseInt(e,10);if(i<t||i>n)return null;r.add(i);continue}return null}return r.size>0?Array.from(r).sort((e,t)=>e-t):null}function p(e,t,n,r){let i=e.trim().split(/\s+/);if(i.length!==5)return[];let a=f(i[0],0,59),o=f(i[1],0,23),s=f(i[2],1,31),c=f(i[3],1,12),l=f(i[4],0,6);if(!a||!o||!s||!c||!l)return[];let u=new Set(a),d=new Set(o),p=new Set(s),m=new Set(c),h=new Set(l),g=[],_=r.getTime()+366*24*60*60*1e3,v=new Date(r);for(v.setSeconds(0,0),v.setTime(v.getTime()+6e4);v.getTime()<=_&&g.length<n;){let e=v.getMinutes(),t=v.getHours(),n=v.getDate(),r=v.getMonth()+1,i=v.getDay();u.has(e)&&d.has(t)&&p.has(n)&&m.has(r)&&h.has(i)&&g.push(new Date(v)),v.setTime(v.getTime()+6e4)}return g}function m(e,t,n){if(e<=0||!Number.isFinite(e))return[];let r=[],i=n.getTime();for(let n=0;n<t;n++)i+=e,r.push(new Date(i));return r}function h(e,t){let n=new Date(e);if(isNaN(n.getTime()))return[];let r=t??new Date;return n.getTime()>r.getTime()?[n]:[]}function g(e,t){try{return new Intl.DateTimeFormat(`en-US`,{weekday:`short`,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,timeZone:t||void 0,timeZoneName:`short`,hour12:!1}).format(e)}catch{return e.toISOString()}}var _=[`UTC`,`America/New_York`,`America/Chicago`,`America/Denver`,`America/Los_Angeles`,`Europe/London`,`Europe/Berlin`,`Asia/Tokyo`,`Asia/Shanghai`,`Australia/Sydney`],v=class extends r{constructor(...e){super(...e),this.job=null,this.mode=`create`,this.agents=[],this._id=``,this._name=``,this._scheduleKind=`cron`,this._cronExpr=``,this._timezone=`UTC`,this._everyMs=6e4,this._atDateTime=``,this._enabled=!0,this._agentId=``,this._message=``,this._maxConcurrent=1,this._sessionTarget=`main`,this._deliveryMode=`none`,this._deliveryChannelType=``,this._deliveryChannelId=``,this._nextRuns=[],this._previewTimer=null}static{this.styles=[o,i,n`
1
+ import{c as e,f as t,h as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./decorate-BvWYovGE.js";import{a as u,i as d}from"./index-8Tg9oc-C.js";import"./ic-tag-CvMVQFRR.js";import"./ic-relative-time-B3UAnTqg.js";import"./ic-icon-BGNCCPpZ.js";import"./ic-empty-state-CM3Wbj2f.js";import"./ic-tabs-yBjkWKJH.js";function f(e,t,n){let r=new Set;for(let i of e.split(`,`)){let e=i.trim(),a=e.match(/^(\*|(\d+)-(\d+))\/(\d+)$/);if(a){let e=parseInt(a[4],10);if(e<=0)return null;let i=t,o=n;if(a[2]!==void 0&&a[3]!==void 0&&(i=parseInt(a[2],10),o=parseInt(a[3],10)),i<t||o>n||i>o)return null;for(let t=i;t<=o;t+=e)r.add(t);continue}if(e===`*`){for(let e=t;e<=n;e++)r.add(e);continue}let o=e.match(/^(\d+)-(\d+)$/);if(o){let e=parseInt(o[1],10),i=parseInt(o[2],10);if(e<t||i>n||e>i)return null;for(let t=e;t<=i;t++)r.add(t);continue}if(/^\d+$/.test(e)){let i=parseInt(e,10);if(i<t||i>n)return null;r.add(i);continue}return null}return r.size>0?Array.from(r).sort((e,t)=>e-t):null}function p(e,t,n,r){let i=e.trim().split(/\s+/);if(i.length!==5)return[];let a=f(i[0],0,59),o=f(i[1],0,23),s=f(i[2],1,31),c=f(i[3],1,12),l=f(i[4],0,6);if(!a||!o||!s||!c||!l)return[];let u=new Set(a),d=new Set(o),p=new Set(s),m=new Set(c),h=new Set(l),g=[],_=r.getTime()+366*24*60*60*1e3,v=new Date(r);for(v.setSeconds(0,0),v.setTime(v.getTime()+6e4);v.getTime()<=_&&g.length<n;){let e=v.getMinutes(),t=v.getHours(),n=v.getDate(),r=v.getMonth()+1,i=v.getDay();u.has(e)&&d.has(t)&&p.has(n)&&m.has(r)&&h.has(i)&&g.push(new Date(v)),v.setTime(v.getTime()+6e4)}return g}function m(e,t,n){if(e<=0||!Number.isFinite(e))return[];let r=[],i=n.getTime();for(let n=0;n<t;n++)i+=e,r.push(new Date(i));return r}function h(e,t){let n=new Date(e);if(isNaN(n.getTime()))return[];let r=t??new Date;return n.getTime()>r.getTime()?[n]:[]}function g(e,t){try{return new Intl.DateTimeFormat(`en-US`,{weekday:`short`,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,timeZone:t||void 0,timeZoneName:`short`,hour12:!1}).format(e)}catch{return e.toISOString()}}var _=[`UTC`,`America/New_York`,`America/Chicago`,`America/Denver`,`America/Los_Angeles`,`Europe/London`,`Europe/Berlin`,`Asia/Tokyo`,`Asia/Shanghai`,`Australia/Sydney`],v=class extends r{constructor(...e){super(...e),this.job=null,this.mode=`create`,this.agents=[],this._id=``,this._name=``,this._scheduleKind=`cron`,this._cronExpr=``,this._timezone=`UTC`,this._everyMs=6e4,this._atDateTime=``,this._enabled=!0,this._agentId=``,this._message=``,this._maxConcurrent=1,this._sessionTarget=`main`,this._deliveryMode=`none`,this._deliveryChannelType=``,this._deliveryChannelId=``,this._nextRuns=[],this._previewTimer=null}static{this.styles=[o,i,n`
2
2
  :host {
3
3
  display: block;
4
4
  }
@@ -1,4 +1,4 @@
1
- import{c as e,f as t,h as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./decorate-BvWYovGE.js";import{a as u,i as d}from"./index-CBr0Tm9_.js";import"./ic-tag-CvMVQFRR.js";import"./ic-relative-time-B3UAnTqg.js";import"./ic-array-editor-BLoEyeLS.js";import"./ic-empty-state-CM3Wbj2f.js";import"./ic-tabs-yBjkWKJH.js";import"./ic-connection-dot-CXyhlJup.js";import"./ic-select-BqfZISjw.js";var f=class extends r{constructor(...e){super(...e),this.label=``,this.value=``,this.placeholder=`env:SECRET_NAME or file:/path`,this.disabled=!1,this._visible=!1}static{this.styles=[o,i,n`
1
+ import{c as e,f as t,h as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./decorate-BvWYovGE.js";import{a as u,i as d}from"./index-8Tg9oc-C.js";import"./ic-tag-CvMVQFRR.js";import"./ic-relative-time-B3UAnTqg.js";import"./ic-array-editor-BLoEyeLS.js";import"./ic-empty-state-CM3Wbj2f.js";import"./ic-tabs-yBjkWKJH.js";import"./ic-connection-dot-y77LZ3Gu.js";import"./ic-select-BqfZISjw.js";var f=class extends r{constructor(...e){super(...e),this.label=``,this.value=``,this.placeholder=`env:SECRET_NAME or file:/path`,this.disabled=!1,this._visible=!1}static{this.styles=[o,i,n`
2
2
  :host {
3
3
  display: block;
4
4
  }
@@ -1,4 +1,4 @@
1
- import{c as e,f as t,h as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./decorate-BvWYovGE.js";import{a as u}from"./index-CBr0Tm9_.js";import"./ic-breadcrumb-DqN6G3gc.js";import"./ic-tag-CvMVQFRR.js";import"./ic-confirm-dialog-DGlPbV1T.js";import"./ic-relative-time-B3UAnTqg.js";import"./ic-empty-state-CM3Wbj2f.js";import{n as d,r as f,t as p}from"./session-key-parser-Dkqcj2Ss.js";import{t as m}from"./ic-tool-call-DNmwTjek.js";import"./ic-chat-message-DfSERzzg.js";import"./ic-budget-segment-bar-zLsMzjDO.js";import"./ic-layer-waterfall-WkaFyu-l.js";function h(e){if(e>=1e3){let t=e/1e3;return t>=100?`${Math.round(t)}K`:`${t.toFixed(1)}K`}return String(e)}function g(e){return new Intl.NumberFormat(`en-US`,{style:`currency`,currency:`USD`}).format(e)}var _=class extends r{constructor(...e){super(...e),this.apiClient=null,this.rpcClient=null,this.sessionKey=``,this._session=null,this._messages=[],this._loading=!1,this._error=``,this._showConfirm=!1,this._confirmAction=``,this._activeTab=`conversation`,this._contextLoaded=!1,this._metricsLoaded=!1,this._pipelineSnapshots=[],this._dagCompactions=[],this._selectedSnapshot=null,this._sessionBilling=null}static{this.styles=[o,i,n`
1
+ import{c as e,f as t,h as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./decorate-BvWYovGE.js";import{a as u}from"./index-8Tg9oc-C.js";import"./ic-breadcrumb-DqN6G3gc.js";import"./ic-tag-CvMVQFRR.js";import"./ic-confirm-dialog-DGlPbV1T.js";import"./ic-relative-time-B3UAnTqg.js";import"./ic-empty-state-CM3Wbj2f.js";import{n as d,r as f,t as p}from"./session-key-parser-Dkqcj2Ss.js";import{t as m}from"./ic-tool-call-qt6w1NQl.js";import"./ic-chat-message-BFt3cVpx.js";import"./ic-budget-segment-bar-zLsMzjDO.js";import"./ic-layer-waterfall-WkaFyu-l.js";function h(e){if(e>=1e3){let t=e/1e3;return t>=100?`${Math.round(t)}K`:`${t.toFixed(1)}K`}return String(e)}function g(e){return new Intl.NumberFormat(`en-US`,{style:`currency`,currency:`USD`}).format(e)}var _=class extends r{constructor(...e){super(...e),this.apiClient=null,this.rpcClient=null,this.sessionKey=``,this._session=null,this._messages=[],this._loading=!1,this._error=``,this._showConfirm=!1,this._confirmAction=``,this._activeTab=`conversation`,this._contextLoaded=!1,this._metricsLoaded=!1,this._pipelineSnapshots=[],this._dagCompactions=[],this._selectedSnapshot=null,this._sessionBilling=null}static{this.styles=[o,i,n`
2
2
  :host {
3
3
  display: block;
4
4
  }
@@ -1,4 +1,4 @@
1
- import{c as e,f as t,h as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./decorate-BvWYovGE.js";import{a as u,i as d}from"./index-CBr0Tm9_.js";import"./ic-tag-CvMVQFRR.js";import"./ic-confirm-dialog-DGlPbV1T.js";import"./ic-relative-time-B3UAnTqg.js";import"./ic-data-table-CKIvr-ag.js";import"./ic-search-input-B02AGw1i.js";import"./ic-empty-state-CM3Wbj2f.js";import{n as f,r as p,t as m}from"./session-key-parser-Dkqcj2Ss.js";function h(e){if(e>=1e3){let t=e/1e3;return t>=100?`${Math.round(t)}K`:`${t.toFixed(1)}K`}return String(e)}var g={active:`#22c55e`,idle:`#eab308`,expired:`#6b7280`},_=[{key:`key`,label:`Session`,sortable:!0,render:(e,n)=>{let r=String(e??``),i=p(r);return t`<span title=${r}>
1
+ import{c as e,f as t,h as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./decorate-BvWYovGE.js";import{a as u,i as d}from"./index-8Tg9oc-C.js";import"./ic-tag-CvMVQFRR.js";import"./ic-confirm-dialog-DGlPbV1T.js";import"./ic-relative-time-B3UAnTqg.js";import"./ic-data-table-CKIvr-ag.js";import"./ic-search-input-B02AGw1i.js";import"./ic-empty-state-CM3Wbj2f.js";import{n as f,r as p,t as m}from"./session-key-parser-Dkqcj2Ss.js";function h(e){if(e>=1e3){let t=e/1e3;return t>=100?`${Math.round(t)}K`:`${t.toFixed(1)}K`}return String(e)}var g={active:`#22c55e`,idle:`#eab308`,expired:`#6b7280`},_=[{key:`key`,label:`Session`,sortable:!0,render:(e,n)=>{let r=String(e??``),i=p(r);return t`<span title=${r}>
2
2
  <strong style="font-size: var(--ic-text-sm);">${i?f(i):r.length>15?r.slice(0,12)+`...`:r}</strong>
3
3
  <span style="font-size: var(--ic-text-xs); color: var(--ic-text-dim); margin-left: 4px;">${i?.channelId??n.channelType}</span>
4
4
  </span>`}},{key:`createdAt`,label:`Status`,sortable:!1,render:(e,n)=>{let r=m(n.lastActiveAt);return t`<span style="display: inline-flex; align-items: center; gap: 6px;">
@@ -1,4 +1,4 @@
1
- import{c as e,f as t,h as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./decorate-BvWYovGE.js";import{a as u}from"./index-CBr0Tm9_.js";import"./ic-icon-BGNCCPpZ.js";var d=[{label:`Basics`,icon:`settings`},{label:`Provider`,icon:`server`},{label:`Agent`,icon:`agent`},{label:`Channels`,icon:`channel`},{label:`Review`,icon:`check`}],f={anthropic:{displayName:`Anthropic`,description:`Claude models, recommended for agents`,signupUrl:`https://console.anthropic.com/settings/keys`,needsApiKey:!0,needsBaseUrl:!1},openai:{displayName:`OpenAI`,description:`GPT-4o, o1, o3 models`,signupUrl:`https://platform.openai.com/api-keys`,needsApiKey:!0,needsBaseUrl:!1},google:{displayName:`Google`,description:`Gemini models`,signupUrl:`https://aistudio.google.com/app/apikey`,needsApiKey:!0,needsBaseUrl:!1},groq:{displayName:`Groq`,description:`Fast inference`,signupUrl:`https://console.groq.com/keys`,needsApiKey:!0,needsBaseUrl:!1},mistral:{displayName:`Mistral`,description:`Mistral models`,signupUrl:`https://console.mistral.ai/api-keys/`,needsApiKey:!0,needsBaseUrl:!1},cerebras:{displayName:`Cerebras`,description:`Fast inference`,signupUrl:`https://cloud.cerebras.ai/`,needsApiKey:!0,needsBaseUrl:!1},xai:{displayName:`xAI`,description:`Grok models`,signupUrl:`https://console.x.ai/`,needsApiKey:!0,needsBaseUrl:!1},openrouter:{displayName:`OpenRouter`,description:`Multi-provider routing`,signupUrl:`https://openrouter.ai/keys`,needsApiKey:!0,needsBaseUrl:!1}},p=`__custom__`,m={displayName:`Custom`,description:`Any OpenAI-compatible API endpoint`,needsApiKey:!1,needsBaseUrl:!0};function h(e){return Object.hasOwn(f,e)?f[e]:{displayName:e.charAt(0).toUpperCase()+e.slice(1),description:``,needsApiKey:!0,needsBaseUrl:!1}}var g=[{key:`telegram`,label:`Telegram`,fields:[{key:`botToken`,label:`Bot Token`,type:`password`},{key:`allowedChatIds`,label:`Allowed Chat IDs`,type:`text`,placeholder:`Comma-separated IDs`}]},{key:`discord`,label:`Discord`,fields:[{key:`botToken`,label:`Bot Token`,type:`password`},{key:`guildIds`,label:`Guild IDs`,type:`text`,placeholder:`Comma-separated IDs`}]},{key:`slack`,label:`Slack`,fields:[{key:`botToken`,label:`Bot Token`,type:`password`},{key:`appToken`,label:`App Token`,type:`password`},{key:`signingSecret`,label:`Signing Secret`,type:`password`}]},{key:`whatsapp`,label:`WhatsApp`,fields:[{key:`phoneNumberId`,label:`Phone Number ID`,type:`text`},{key:`accessToken`,label:`Access Token`,type:`password`},{key:`verifyToken`,label:`Verify Token`,type:`text`}]},{key:`line`,label:`LINE`,fields:[{key:`channelAccessToken`,label:`Channel Access Token`,type:`password`},{key:`channelSecret`,label:`Channel Secret`,type:`password`}]},{key:`signal`,label:`Signal`,fields:[{key:`phone`,label:`Phone Number`,type:`text`},{key:`signalCliPath`,label:`Signal CLI Path`,type:`text`}]},{key:`irc`,label:`IRC`,fields:[{key:`server`,label:`Server`,type:`text`},{key:`port`,label:`Port`,type:`number`,defaultValue:`6667`},{key:`nick`,label:`Nickname`,type:`text`},{key:`channels`,label:`Channels`,type:`text`,placeholder:`Comma-separated, e.g. #general,#dev`}]},{key:`imessage`,label:`iMessage`,fields:[{key:`applescriptPath`,label:`AppleScript Path`,type:`text`,placeholder:`Requires macOS with Messages app`}]}],_=[`trace`,`debug`,`info`,`warn`,`error`];function v(e,t=0){let n=` `.repeat(t);if(e==null)return`${n}~\n`;if(typeof e==`string`)return e===``||/[:#[\]{},&*!|>'"@`]/.test(e)||/^\s|\s$/.test(e)?`"${e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}"`:e;if(typeof e==`number`||typeof e==`boolean`)return String(e);if(Array.isArray(e))return e.length===0?`[]
1
+ import{c as e,f as t,h as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./decorate-BvWYovGE.js";import{a as u}from"./index-8Tg9oc-C.js";import"./ic-icon-BGNCCPpZ.js";var d=[{label:`Basics`,icon:`settings`},{label:`Provider`,icon:`server`},{label:`Agent`,icon:`agent`},{label:`Channels`,icon:`channel`},{label:`Review`,icon:`check`}],f={anthropic:{displayName:`Anthropic`,description:`Claude models, recommended for agents`,signupUrl:`https://console.anthropic.com/settings/keys`,needsApiKey:!0,needsBaseUrl:!1},openai:{displayName:`OpenAI`,description:`GPT-4o, o1, o3 models`,signupUrl:`https://platform.openai.com/api-keys`,needsApiKey:!0,needsBaseUrl:!1},google:{displayName:`Google`,description:`Gemini models`,signupUrl:`https://aistudio.google.com/app/apikey`,needsApiKey:!0,needsBaseUrl:!1},groq:{displayName:`Groq`,description:`Fast inference`,signupUrl:`https://console.groq.com/keys`,needsApiKey:!0,needsBaseUrl:!1},mistral:{displayName:`Mistral`,description:`Mistral models`,signupUrl:`https://console.mistral.ai/api-keys/`,needsApiKey:!0,needsBaseUrl:!1},cerebras:{displayName:`Cerebras`,description:`Fast inference`,signupUrl:`https://cloud.cerebras.ai/`,needsApiKey:!0,needsBaseUrl:!1},xai:{displayName:`xAI`,description:`Grok models`,signupUrl:`https://console.x.ai/`,needsApiKey:!0,needsBaseUrl:!1},openrouter:{displayName:`OpenRouter`,description:`Multi-provider routing`,signupUrl:`https://openrouter.ai/keys`,needsApiKey:!0,needsBaseUrl:!1}},p=`__custom__`,m={displayName:`Custom`,description:`Any OpenAI-compatible API endpoint`,needsApiKey:!1,needsBaseUrl:!0};function h(e){return Object.hasOwn(f,e)?f[e]:{displayName:e.charAt(0).toUpperCase()+e.slice(1),description:``,needsApiKey:!0,needsBaseUrl:!1}}var g=[{key:`telegram`,label:`Telegram`,fields:[{key:`botToken`,label:`Bot Token`,type:`password`},{key:`allowedChatIds`,label:`Allowed Chat IDs`,type:`text`,placeholder:`Comma-separated IDs`}]},{key:`discord`,label:`Discord`,fields:[{key:`botToken`,label:`Bot Token`,type:`password`},{key:`guildIds`,label:`Guild IDs`,type:`text`,placeholder:`Comma-separated IDs`}]},{key:`slack`,label:`Slack`,fields:[{key:`botToken`,label:`Bot Token`,type:`password`},{key:`appToken`,label:`App Token`,type:`password`},{key:`signingSecret`,label:`Signing Secret`,type:`password`}]},{key:`whatsapp`,label:`WhatsApp`,fields:[{key:`phoneNumberId`,label:`Phone Number ID`,type:`text`},{key:`accessToken`,label:`Access Token`,type:`password`},{key:`verifyToken`,label:`Verify Token`,type:`text`}]},{key:`line`,label:`LINE`,fields:[{key:`channelAccessToken`,label:`Channel Access Token`,type:`password`},{key:`channelSecret`,label:`Channel Secret`,type:`password`}]},{key:`signal`,label:`Signal`,fields:[{key:`phone`,label:`Phone Number`,type:`text`},{key:`signalCliPath`,label:`Signal CLI Path`,type:`text`}]},{key:`irc`,label:`IRC`,fields:[{key:`server`,label:`Server`,type:`text`},{key:`port`,label:`Port`,type:`number`,defaultValue:`6667`},{key:`nick`,label:`Nickname`,type:`text`},{key:`channels`,label:`Channels`,type:`text`,placeholder:`Comma-separated, e.g. #general,#dev`}]},{key:`imessage`,label:`iMessage`,fields:[{key:`applescriptPath`,label:`AppleScript Path`,type:`text`,placeholder:`Requires macOS with Messages app`}]}],_=[`trace`,`debug`,`info`,`warn`,`error`];function v(e,t=0){let n=` `.repeat(t);if(e==null)return`${n}~\n`;if(typeof e==`string`)return e===``||/[:#[\]{},&*!|>'"@`]/.test(e)||/^\s|\s$/.test(e)?`"${e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}"`:e;if(typeof e==`number`||typeof e==`boolean`)return String(e);if(Array.isArray(e))return e.length===0?`[]
2
2
  `:e.map(e=>{if(typeof e==`object`&&e){let r=v(e,t+1),i=r.split(`
3
3
  `).filter(Boolean);if(i.length>0){let e=` `.repeat(t+1);return`${n}- ${i[0].substring(e.length)}\n${i.slice(1).map(t=>`${n} ${t.substring(e.length)}\n`).join(``)}`}return`${n}- ${r.trim()}\n`}return`${n}- ${v(e,0)}\n`}).join(``);if(typeof e==`object`){let r=Object.entries(e).filter(([,e])=>e!=null&&e!==``);return r.length===0?`{}
4
4
  `:r.map(([e,r])=>typeof r==`object`&&!Array.isArray(r)||Array.isArray(r)?`${n}${e}:\n${v(r,t+1)}`:`${n}${e}: ${v(r,0)}\n`).join(``)}return String(e)}function y(){let e={};for(let t of g)e[t.key]={enabled:!1,credentials:{}};return{tenantId:`default`,dataDir:`~/.comis`,logLevel:`info`,gatewayHost:`127.0.0.1`,gatewayPort:4766,providerName:``,providerType:``,apiKey:``,baseUrl:``,defaultModel:``,agentId:`default`,agentName:`Comis`,agentModel:``,agentProvider:``,maxSteps:50,budgetPerDay:1e8,budgetPerHour:1e7,channels:e}}var b=class extends r{constructor(...e){super(...e),this.rpcClient=null,this._currentStep=0,this._wizardData=y(),this._testResult={status:`idle`},this._expandedChannels=new Set,this._yamlPreview=``,this._applying=!1,this._applyStatus=``,this._applyDone=!1,this._validationErrors={},this._catalogProviders=[],this._catalogProvidersLoading=!1,this._modelOptions=[],this._modelOptionsLoading=!1}static{this.styles=[o,i,n`
@@ -1,4 +1,4 @@
1
- import{c as e,f as t,h as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./decorate-BvWYovGE.js";import{a as u,i as d}from"./index-CBr0Tm9_.js";import"./ic-tag-CvMVQFRR.js";import"./ic-confirm-dialog-DGlPbV1T.js";import"./ic-search-input-B02AGw1i.js";import"./ic-empty-state-CM3Wbj2f.js";import"./ic-tabs-yBjkWKJH.js";var f={read:`Read file contents with line numbers and pagination`,write:`Write or overwrite files; auto-creates parent directories`,edit:`Surgical search-and-replace on files (exact text match)`,grep:`Regex search across files (ripgrep-based)`,find:`Find files by glob pattern (fd-based)`,ls:`List directory contents alphabetically`,exec:`Shell command execution with foreground/background modes`,process:`Background process management (list, kill, status, log)`,webSearch:`Multi-provider web search (Brave, DuckDuckGo, Perplexity, Grok, Tavily, Exa, Jina, SearXNG)`,webFetch:`Fetch and extract content from URLs (markdown, text, readability modes)`,browser:`Headless browser control (requires Playwright/Chromium)`},p={webSearch:[`freshness: pd (past day), pw (past week), pm (past month), py (past year), or YYYY-MM-DDtoYYYY-MM-DD`,`deepFetch: 0-5 - auto-fetch full page content for top N results`,`provider: override search provider per call`]},m=[{label:`File Operations`,tools:[`read`,`write`,`edit`,`find`,`ls`]},{label:`Execution`,tools:[`exec`,`process`]},{label:`Search`,tools:[`grep`]},{label:`Web`,tools:[`webSearch`,`webFetch`,`browser`]}],h={minimal:[`exec`],coding:[`read`,`write`,`edit`,`grep`,`find`,`ls`,`exec`,`process`],messaging:[`exec`,`webSearch`,`webFetch`],supervisor:[`read`,`write`,`edit`,`grep`,`find`,`ls`,`exec`,`process`,`webSearch`,`webFetch`],full:[...m.flatMap(e=>e.tools)]};function g(e){let t=e.match(/\/workspace-([^/]+)\/skills\//);return t?t[1]:/\/workspace\/skills\//.test(e)?`default`:``}var _={memory_search:`Semantic hybrid search across memory and session transcripts`,memory_get:`Read specific memory file sections by path with line ranges`,memory_store:`Store facts, preferences, or context in long-term memory`,memory_manage:`Stats, browse, delete, flush, and export memory entries`,session_status:`View current session model, token usage, and duration`,sessions_list:`List active sessions filtered by kind and recency`,sessions_history:`View conversation history for a session with pagination`,sessions_send:`Send a message into another session (fire-and-forget, wait, or ping-pong)`,sessions_spawn:`Spawn a sub-agent session for background work (sync or async)`,sessions_manage:`Delete, reset, export, or compact session lifecycles`,agents_manage:`List, create, inspect, update, suspend/resume, and delete agents`,subagents:`List, kill, or steer running sub-agents`,message:`Send, reply, react, edit, delete, and fetch messages across all channels`,discord_action:`Pin/unpin, kick/ban, roles, threads, channels, bot presence`,telegram_action:`Pin/unpin, polls, stickers, chat info, ban/promote members`,slack_action:`Pin/unpin, topics, archive, create channels, invite/kick, bookmarks`,whatsapp_action:`Group info, participants, settings, invite codes, profile status`,image_analyze:`Analyze images using vision AI from files, URLs, or base64`,tts_synthesize:`Generate speech audio from text via configured TTS provider`,transcribe_audio:`Transcribe audio/voice attachments to text with language hints`,describe_video:`Generate text descriptions of video attachments`,extract_document:`Extract text from PDF, CSV, TXT, and other document formats`,cron:`Create, list, update, remove, and trigger scheduled jobs`,gateway:`Read/patch config, set secrets, restart, rollback, and status`,browser:`Headless browser: navigate, snapshot, screenshot, click, type, tabs`,obs_query:`Query diagnostics, billing, delivery traces, and channel activity`,models_manage:`List available models and test provider availability`,tokens_manage:`List, create, revoke, and rotate gateway auth tokens`,channels_manage:`List, enable, disable, and restart channel adapters`,skills_manage:`List, import from GitHub, and delete prompt skills`},v=[{label:`MEMORY`,tools:[`memory_search`,`memory_get`,`memory_store`,`memory_manage`]},{label:`SESSIONS`,tools:[`session_status`,`sessions_list`,`sessions_history`,`sessions_send`,`sessions_spawn`,`sessions_manage`]},{label:`AGENTS`,tools:[`agents_manage`,`subagents`]},{label:`MESSAGING`,tools:[`message`,`discord_action`,`telegram_action`,`slack_action`,`whatsapp_action`]},{label:`MEDIA`,tools:[`image_analyze`,`tts_synthesize`,`transcribe_audio`,`describe_video`,`extract_document`]},{label:`INFRASTRUCTURE`,tools:[`cron`,`gateway`,`browser`,`obs_query`]},{label:`FLEET MANAGEMENT`,tools:[`models_manage`,`tokens_manage`,`channels_manage`,`skills_manage`]}],y=[{id:`tools`,label:`Built-in Tools`},{id:`skills`,label:`Prompt Skills`}],b=class extends r{constructor(...e){super(...e),this.apiClient=null,this.rpcClient=null,this.eventDispatcher=null,this._sse=null,this._reloadDebounce=null,this._loadState=`loading`,this._recentSkillEvents=[],this._error=``,this._activeTab=`tools`,this._skillsConfig=null,this._discoveredSkills=[],this._targetAgentId=``,this._agentIds=[],this._skillScope=`all`,this._defaultAgentId=`default`,this._searchQuery=``,this._importUrl=``,this._isImportingSkill=!1,this._isUploadingSkill=!1,this._deletingSkill=null,this._installAgent=``,this._installScope=`shared`,this._newAllowedSkill=``,this._newDeniedSkill=``,this._newPolicyAllow=``,this._newPolicyDeny=``,this._rpcStatusUnsub=null,this._dataLoaded=!1}static{this.styles=[o,i,n`
1
+ import{c as e,f as t,h as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./decorate-BvWYovGE.js";import{a as u,i as d}from"./index-8Tg9oc-C.js";import"./ic-tag-CvMVQFRR.js";import"./ic-confirm-dialog-DGlPbV1T.js";import"./ic-search-input-B02AGw1i.js";import"./ic-empty-state-CM3Wbj2f.js";import"./ic-tabs-yBjkWKJH.js";var f={read:`Read file contents with line numbers and pagination`,write:`Write or overwrite files; auto-creates parent directories`,edit:`Surgical search-and-replace on files (exact text match)`,grep:`Regex search across files (ripgrep-based)`,find:`Find files by glob pattern (fd-based)`,ls:`List directory contents alphabetically`,exec:`Shell command execution with foreground/background modes`,process:`Background process management (list, kill, status, log)`,webSearch:`Multi-provider web search (Brave, DuckDuckGo, Perplexity, Grok, Tavily, Exa, Jina, SearXNG)`,webFetch:`Fetch and extract content from URLs (markdown, text, readability modes)`,browser:`Headless browser control (requires Playwright/Chromium)`},p={webSearch:[`freshness: pd (past day), pw (past week), pm (past month), py (past year), or YYYY-MM-DDtoYYYY-MM-DD`,`deepFetch: 0-5 - auto-fetch full page content for top N results`,`provider: override search provider per call`]},m=[{label:`File Operations`,tools:[`read`,`write`,`edit`,`find`,`ls`]},{label:`Execution`,tools:[`exec`,`process`]},{label:`Search`,tools:[`grep`]},{label:`Web`,tools:[`webSearch`,`webFetch`,`browser`]}],h={minimal:[`exec`],coding:[`read`,`write`,`edit`,`grep`,`find`,`ls`,`exec`,`process`],messaging:[`exec`,`webSearch`,`webFetch`],supervisor:[`read`,`write`,`edit`,`grep`,`find`,`ls`,`exec`,`process`,`webSearch`,`webFetch`],full:[...m.flatMap(e=>e.tools)]};function g(e){let t=e.match(/\/workspace-([^/]+)\/skills\//);return t?t[1]:/\/workspace\/skills\//.test(e)?`default`:``}var _={memory_search:`Semantic hybrid search across memory and session transcripts`,memory_get:`Read specific memory file sections by path with line ranges`,memory_store:`Store facts, preferences, or context in long-term memory`,memory_manage:`Stats, browse, delete, flush, and export memory entries`,session_status:`View current session model, token usage, and duration`,sessions_list:`List active sessions filtered by kind and recency`,sessions_history:`View conversation history for a session with pagination`,sessions_send:`Send a message into another session (fire-and-forget, wait, or ping-pong)`,sessions_spawn:`Spawn a sub-agent session for background work (sync or async)`,sessions_manage:`Delete, reset, export, or compact session lifecycles`,agents_manage:`List, create, inspect, update, suspend/resume, and delete agents`,subagents:`List, kill, or steer running sub-agents`,message:`Send, reply, react, edit, delete, and fetch messages across all channels`,discord_action:`Pin/unpin, kick/ban, roles, threads, channels, bot presence`,telegram_action:`Pin/unpin, polls, stickers, chat info, ban/promote members`,slack_action:`Pin/unpin, topics, archive, create channels, invite/kick, bookmarks`,whatsapp_action:`Group info, participants, settings, invite codes, profile status`,image_analyze:`Analyze images using vision AI from files, URLs, or base64`,tts_synthesize:`Generate speech audio from text via configured TTS provider`,transcribe_audio:`Transcribe audio/voice attachments to text with language hints`,describe_video:`Generate text descriptions of video attachments`,extract_document:`Extract text from PDF, CSV, TXT, and other document formats`,cron:`Create, list, update, remove, and trigger scheduled jobs`,gateway:`Read/patch config, set secrets, restart, rollback, and status`,browser:`Headless browser: navigate, snapshot, screenshot, click, type, tabs`,obs_query:`Query diagnostics, billing, delivery traces, and channel activity`,models_manage:`List available models and test provider availability`,tokens_manage:`List, create, revoke, and rotate gateway auth tokens`,channels_manage:`List, enable, disable, and restart channel adapters`,skills_manage:`List, import from GitHub, and delete prompt skills`},v=[{label:`MEMORY`,tools:[`memory_search`,`memory_get`,`memory_store`,`memory_manage`]},{label:`SESSIONS`,tools:[`session_status`,`sessions_list`,`sessions_history`,`sessions_send`,`sessions_spawn`,`sessions_manage`]},{label:`AGENTS`,tools:[`agents_manage`,`subagents`]},{label:`MESSAGING`,tools:[`message`,`discord_action`,`telegram_action`,`slack_action`,`whatsapp_action`]},{label:`MEDIA`,tools:[`image_analyze`,`tts_synthesize`,`transcribe_audio`,`describe_video`,`extract_document`]},{label:`INFRASTRUCTURE`,tools:[`cron`,`gateway`,`browser`,`obs_query`]},{label:`FLEET MANAGEMENT`,tools:[`models_manage`,`tokens_manage`,`channels_manage`,`skills_manage`]}],y=[{id:`tools`,label:`Built-in Tools`},{id:`skills`,label:`Prompt Skills`}],b=class extends r{constructor(...e){super(...e),this.apiClient=null,this.rpcClient=null,this.eventDispatcher=null,this._sse=null,this._reloadDebounce=null,this._loadState=`loading`,this._recentSkillEvents=[],this._error=``,this._activeTab=`tools`,this._skillsConfig=null,this._discoveredSkills=[],this._targetAgentId=``,this._agentIds=[],this._skillScope=`all`,this._defaultAgentId=`default`,this._searchQuery=``,this._importUrl=``,this._isImportingSkill=!1,this._isUploadingSkill=!1,this._deletingSkill=null,this._installAgent=``,this._installScope=`shared`,this._newAllowedSkill=``,this._newDeniedSkill=``,this._newPolicyAllow=``,this._newPolicyDeny=``,this._rpcStatusUnsub=null,this._dataLoaded=!1}static{this.styles=[o,i,n`
2
2
  :host {
3
3
  display: block;
4
4
  }
@@ -1,4 +1,4 @@
1
- import{c as e,f as t,h as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./decorate-BvWYovGE.js";import{a as u,i as d}from"./index-CBr0Tm9_.js";import"./ic-tag-CvMVQFRR.js";import"./ic-confirm-dialog-DGlPbV1T.js";import"./ic-relative-time-B3UAnTqg.js";import"./ic-empty-state-CM3Wbj2f.js";var f=class extends r{constructor(...e){super(...e),this.rpcClient=null,this.apiClient=null,this.eventDispatcher=null,this._loadState=`loading`,this._runs=[],this._confirmKillRunId=null,this._sse=null,this._reloadDebounce=null,this._rpcStatusUnsub=null}static{this.styles=[o,i,n`
1
+ import{c as e,f as t,h as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./decorate-BvWYovGE.js";import{a as u,i as d}from"./index-8Tg9oc-C.js";import"./ic-tag-CvMVQFRR.js";import"./ic-confirm-dialog-DGlPbV1T.js";import"./ic-relative-time-B3UAnTqg.js";import"./ic-empty-state-CM3Wbj2f.js";var f=class extends r{constructor(...e){super(...e),this.rpcClient=null,this.apiClient=null,this.eventDispatcher=null,this._loadState=`loading`,this._runs=[],this._confirmKillRunId=null,this._sse=null,this._reloadDebounce=null,this._rpcStatusUnsub=null}static{this.styles=[o,i,n`
2
2
  :host {
3
3
  display: block;
4
4
  }
@@ -1,4 +1,4 @@
1
- import{c as e,f as t,h as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./decorate-BvWYovGE.js";import{a as u}from"./index-CBr0Tm9_.js";import"./ic-breadcrumb-DqN6G3gc.js";import"./ic-tag-CvMVQFRR.js";import"./ic-confirm-dialog-DGlPbV1T.js";import"./ic-relative-time-B3UAnTqg.js";import"./ic-empty-state-CM3Wbj2f.js";var d=[`projects`,`scripts`,`documents`,`media`,`data`,`output`];function f(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}var p=class extends r{constructor(...e){super(...e),this.rpcClient=null,this.agentId=``,this._status=null,this._loadState=`loading`,this._error=``,this._activeTab=`files`,this._selectedFile=null,this._selectedSubdir=null,this._fileContent=``,this._editedContent=``,this._dirEntries=[],this._saving=!1,this._dirty=!1,this._confirmAction=null,this._actionPending=!1,this._gitStatus=null,this._gitLog=[],this._gitDiff=``,this._gitDiffFile=null,this._commitMessage=``,this._committing=!1,this._restoreTarget=null}static{this.styles=[o,i,n`
1
+ import{c as e,f as t,h as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./decorate-BvWYovGE.js";import{a as u}from"./index-8Tg9oc-C.js";import"./ic-breadcrumb-DqN6G3gc.js";import"./ic-tag-CvMVQFRR.js";import"./ic-confirm-dialog-DGlPbV1T.js";import"./ic-relative-time-B3UAnTqg.js";import"./ic-empty-state-CM3Wbj2f.js";var d=[`projects`,`scripts`,`documents`,`media`,`data`,`output`];function f(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}var p=class extends r{constructor(...e){super(...e),this.rpcClient=null,this.agentId=``,this._status=null,this._loadState=`loading`,this._error=``,this._activeTab=`files`,this._selectedFile=null,this._selectedSubdir=null,this._fileContent=``,this._editedContent=``,this._dirEntries=[],this._saving=!1,this._dirty=!1,this._confirmAction=null,this._actionPending=!1,this._gitStatus=null,this._gitLog=[],this._gitDiff=``,this._gitDiffFile=null,this._commitMessage=``,this._committing=!1,this._restoreTarget=null}static{this.styles=[o,i,n`
2
2
  :host {
3
3
  display: block;
4
4
  }
@@ -8,7 +8,7 @@
8
8
  <link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png" />
9
9
  <link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png" />
10
10
  <link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png" />
11
- <script type="module" crossorigin src="/app/assets/index-CBr0Tm9_.js"></script>
11
+ <script type="module" crossorigin src="/app/assets/index-8Tg9oc-C.js"></script>
12
12
  <link rel="modulepreload" crossorigin href="/app/assets/decorate-BvWYovGE.js">
13
13
  <link rel="stylesheet" crossorigin href="/app/assets/index-CVEaS9aY.css">
14
14
  </head>
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@comis/web",
3
- "version": "1.0.34",
3
+ "version": "1.0.37",
4
4
  "description": "Web dashboard SPA for Comis agent management",
5
5
  "author": "Moshe Anconina",
6
6
  "license": "Apache-2.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "comisai",
3
- "version": "1.0.34",
3
+ "version": "1.0.37",
4
4
  "author": "Moshe Anconina",
5
5
  "license": "Apache-2.0",
6
6
  "description": "Security-first AI agent platform — connects AI agents to Discord, Telegram, Slack, WhatsApp, and more",
@@ -115,19 +115,19 @@
115
115
  "file-uri-to-path"
116
116
  ],
117
117
  "dependencies": {
118
- "@comis/shared": "1.0.34",
119
- "@comis/core": "1.0.34",
120
- "@comis/infra": "1.0.34",
121
- "@comis/memory": "1.0.34",
122
- "@comis/gateway": "1.0.34",
123
- "@comis/skills": "1.0.34",
124
- "@comis/scheduler": "1.0.34",
125
- "@comis/agent": "1.0.34",
126
- "@comis/channels": "1.0.34",
127
- "@comis/cli": "1.0.34",
128
- "@comis/daemon": "1.0.34",
129
- "@comis/web": "1.0.34",
130
- "@agentclientprotocol/sdk": "0.19.2",
118
+ "@comis/shared": "1.0.37",
119
+ "@comis/core": "1.0.37",
120
+ "@comis/infra": "1.0.37",
121
+ "@comis/memory": "1.0.37",
122
+ "@comis/gateway": "1.0.37",
123
+ "@comis/skills": "1.0.37",
124
+ "@comis/scheduler": "1.0.37",
125
+ "@comis/agent": "1.0.37",
126
+ "@comis/channels": "1.0.37",
127
+ "@comis/cli": "1.0.37",
128
+ "@comis/daemon": "1.0.37",
129
+ "@comis/web": "1.0.37",
130
+ "@agentclientprotocol/sdk": "0.21.0",
131
131
  "@clack/core": "1.2.0",
132
132
  "@clack/prompts": "1.2.0",
133
133
  "@elevenlabs/elevenlabs-js": "2.45.0",
@@ -141,14 +141,14 @@
141
141
  "@hono/node-server": "1.19.14",
142
142
  "@hono/node-ws": "1.3.1",
143
143
  "@line/bot-sdk": "10.8.0",
144
- "@mariozechner/pi-agent-core": "0.70.6",
145
- "@mariozechner/pi-ai": "0.71.0",
146
- "@mariozechner/pi-coding-agent": "0.70.6",
144
+ "@mariozechner/pi-agent-core": "0.72.1",
145
+ "@mariozechner/pi-ai": "0.72.1",
146
+ "@mariozechner/pi-coding-agent": "0.72.1",
147
147
  "@modelcontextprotocol/sdk": "1.29.0",
148
148
  "@mozilla/readability": "0.6.0",
149
149
  "@napi-rs/canvas": "0.1.100",
150
- "typebox": "1.1.24",
151
- "@slack/bolt": "4.7.1",
150
+ "typebox": "1.1.37",
151
+ "@slack/bolt": "4.7.2",
152
152
  "@slack/web-api": "7.15.1",
153
153
  "@whiskeysockets/baileys": "7.0.0-rc.9",
154
154
  "better-sqlite3": "12.9.0",
@@ -160,16 +160,16 @@
160
160
  "commander": "14.0.3",
161
161
  "croner": "10.0.1",
162
162
  "diff": "8.0.4",
163
- "discord.js": "14.26.3",
163
+ "discord.js": "14.26.4",
164
164
  "edge-tts-universal": "1.4.0",
165
165
  "file-type": "21.3.4",
166
166
  "file-uri-to-path": "1.0.0",
167
167
  "grammy": "1.42.0",
168
- "hono": "4.12.15",
168
+ "hono": "4.12.16",
169
169
  "hono-rate-limiter": "0.5.3",
170
170
  "iconv-lite": "0.7.2",
171
171
  "ignore": "7.0.5",
172
- "imapflow": "1.3.2",
172
+ "imapflow": "1.3.3",
173
173
  "impit": "0.13.0",
174
174
  "ipaddr.js": "2.3.0",
175
175
  "irc-framework": "4.14.0",
@@ -180,6 +180,7 @@
180
180
  "music-metadata": "11.12.3",
181
181
  "node-llama-cpp": "3.18.1",
182
182
  "nodemailer": "8.0.7",
183
+ "open": "10.1.2",
183
184
  "openai": "6.34.0",
184
185
  "ora": "9.4.0",
185
186
  "p-queue": "9.2.0",
@@ -192,8 +193,8 @@
192
193
  "sqlite-vec": "0.1.9",
193
194
  "undici": "8.1.0",
194
195
  "ws": "8.20.0",
195
- "yaml": "2.8.3",
196
- "zod": "4.3.6"
196
+ "yaml": "2.8.4",
197
+ "zod": "4.4.2"
197
198
  },
198
199
  "optionalDependencies": {
199
200
  "sd-notify": "2.8.0"