@poolzin/pool-bot 2026.2.21 → 2026.2.23

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 (378) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/agents/api-key-rotation.js +47 -0
  3. package/dist/agents/apply-patch-update.js +19 -9
  4. package/dist/agents/apply-patch.js +72 -47
  5. package/dist/agents/bash-tools.exec.js +141 -559
  6. package/dist/agents/cli-backends.js +49 -6
  7. package/dist/agents/cli-runner/helpers.js +69 -152
  8. package/dist/agents/cli-runner.js +70 -19
  9. package/dist/agents/identity.js +20 -1
  10. package/dist/agents/image-sanitization.js +9 -0
  11. package/dist/agents/live-auth-keys.js +123 -26
  12. package/dist/agents/live-model-filter.js +13 -4
  13. package/dist/agents/model-catalog.js +40 -9
  14. package/dist/agents/model-forward-compat.js +60 -23
  15. package/dist/agents/model-selection.js +134 -41
  16. package/dist/agents/pi-auth-json.js +2 -2
  17. package/dist/agents/pi-embedded-helpers/bootstrap.js +65 -15
  18. package/dist/agents/pi-embedded-helpers/errors.js +140 -15
  19. package/dist/agents/pi-embedded-helpers/images.js +22 -12
  20. package/dist/agents/pi-embedded-helpers.js +2 -2
  21. package/dist/agents/pi-embedded-runner/abort.js +10 -3
  22. package/dist/agents/pi-embedded-runner/compact.js +230 -32
  23. package/dist/agents/pi-embedded-runner/extra-params.js +203 -12
  24. package/dist/agents/pi-embedded-runner/google.js +109 -19
  25. package/dist/agents/pi-embedded-runner/history.js +35 -17
  26. package/dist/agents/pi-embedded-runner/run/attempt.js +386 -95
  27. package/dist/agents/pi-embedded-runner/run/images.js +81 -55
  28. package/dist/agents/pi-embedded-runner/run/payloads.js +89 -39
  29. package/dist/agents/pi-embedded-runner/run.js +193 -25
  30. package/dist/agents/pi-embedded-runner/run.overflow-compaction.mocks.shared.js +2 -2
  31. package/dist/agents/pi-embedded-runner/runs.js +17 -8
  32. package/dist/agents/pi-embedded-runner/tool-result-context-guard.js +262 -0
  33. package/dist/agents/pi-embedded-runner.js +1 -1
  34. package/dist/agents/pi-embedded-subscribe.handlers.tools.js +180 -10
  35. package/dist/agents/pi-embedded-subscribe.js +37 -0
  36. package/dist/agents/pi-embedded-subscribe.tools.js +127 -30
  37. package/dist/agents/pi-model-discovery.js +9 -2
  38. package/dist/agents/pi-tool-definition-adapter.js +60 -8
  39. package/dist/agents/pi-tools.before-tool-call.js +1 -1
  40. package/dist/agents/pi-tools.js +113 -94
  41. package/dist/agents/pi-tools.read.js +337 -38
  42. package/dist/agents/poolbot-tools.js +14 -5
  43. package/dist/agents/sandbox/docker.js +10 -5
  44. package/dist/agents/sandbox/registry.js +96 -46
  45. package/dist/agents/sandbox/sanitize-env-vars.js +82 -0
  46. package/dist/agents/sandbox-paths.js +43 -10
  47. package/dist/agents/session-tool-result-guard-wrapper.js +23 -11
  48. package/dist/agents/session-tool-result-guard.js +39 -39
  49. package/dist/agents/session-transcript-repair.js +36 -33
  50. package/dist/agents/session-write-lock.js +62 -44
  51. package/dist/agents/skills/frontmatter.js +49 -88
  52. package/dist/agents/skills/workspace.js +335 -28
  53. package/dist/agents/subagent-announce.js +508 -174
  54. package/dist/agents/subagent-registry.js +45 -4
  55. package/dist/agents/subagent-spawn.js +16 -33
  56. package/dist/agents/system-prompt-report.js +27 -10
  57. package/dist/agents/system-prompt.js +26 -32
  58. package/dist/agents/tool-call-id.js +69 -17
  59. package/dist/agents/tool-display-common.js +1 -1
  60. package/dist/agents/tool-images.js +64 -31
  61. package/dist/agents/tools/canvas-tool.js +17 -11
  62. package/dist/agents/tools/common.js +37 -19
  63. package/dist/agents/tools/cron-tool.js +40 -38
  64. package/dist/agents/tools/gateway.js +70 -2
  65. package/dist/agents/tools/message-tool.js +181 -40
  66. package/dist/agents/tools/nodes-tool.js +128 -36
  67. package/dist/agents/tools/nodes-utils.js +12 -38
  68. package/dist/agents/tools/session-status-tool.js +24 -71
  69. package/dist/agents/tools/sessions-helpers.js +38 -210
  70. package/dist/agents/tools/sessions-spawn-tool.js +28 -198
  71. package/dist/agents/tools/telegram-actions.js +58 -7
  72. package/dist/agents/tools/web-fetch-utils.js +112 -7
  73. package/dist/agents/tools/web-fetch.js +279 -175
  74. package/dist/agents/tools/web-shared.js +71 -8
  75. package/dist/agents/usage.js +25 -16
  76. package/dist/auto-reply/commands-registry.data.js +85 -11
  77. package/dist/auto-reply/dispatch.js +40 -21
  78. package/dist/auto-reply/reply/abort.js +102 -33
  79. package/dist/auto-reply/reply/commands-core.js +82 -33
  80. package/dist/auto-reply/reply/commands-export-session.js +1 -1
  81. package/dist/auto-reply/reply/commands-info.js +41 -12
  82. package/dist/auto-reply/reply/commands-subagents.js +352 -100
  83. package/dist/auto-reply/reply/commands-system-prompt.js +2 -2
  84. package/dist/auto-reply/reply/dispatch-from-config.js +100 -29
  85. package/dist/auto-reply/reply/elevated-unavailable.js +1 -1
  86. package/dist/auto-reply/reply/inbound-meta.js +12 -1
  87. package/dist/auto-reply/reply/mentions.js +18 -11
  88. package/dist/auto-reply/reply/normalize-reply.js +17 -8
  89. package/dist/auto-reply/reply/reply-dispatcher.js +62 -10
  90. package/dist/auto-reply/reply/session.js +102 -21
  91. package/dist/auto-reply/reply/streaming-directives.js +16 -5
  92. package/dist/auto-reply/status.js +73 -50
  93. package/dist/browser/extension-relay.js +3 -3
  94. package/dist/browser/http-auth.js +1 -1
  95. package/dist/browser/paths.js +2 -2
  96. package/dist/build-info.json +3 -3
  97. package/dist/channels/allowlist-match.js +20 -0
  98. package/dist/channels/allowlists/resolve-utils.js +65 -2
  99. package/dist/channels/chat-type.js +8 -4
  100. package/dist/channels/dock.js +127 -35
  101. package/dist/channels/draft-stream-loop.js +6 -2
  102. package/dist/channels/plugins/actions/telegram.js +42 -18
  103. package/dist/channels/plugins/allowlist-match.js +1 -1
  104. package/dist/channels/plugins/group-mentions.js +51 -41
  105. package/dist/channels/plugins/message-action-names.js +2 -0
  106. package/dist/channels/plugins/message-actions.js +24 -5
  107. package/dist/channels/plugins/normalize/discord.js +26 -4
  108. package/dist/channels/plugins/normalize/signal.js +35 -22
  109. package/dist/channels/plugins/onboarding/helpers.js +8 -26
  110. package/dist/channels/plugins/outbound/imessage.js +15 -14
  111. package/dist/channels/registry.js +20 -7
  112. package/dist/cli/acp-cli.js +7 -5
  113. package/dist/cli/browser-cli-extension.js +25 -12
  114. package/dist/cli/browser-cli-state.cookies-storage.js +25 -6
  115. package/dist/cli/browser-cli-state.js +101 -145
  116. package/dist/cli/command-options.js +28 -0
  117. package/dist/cli/completion-cli.js +6 -6
  118. package/dist/cli/cron-cli/register.cron-add.js +25 -1
  119. package/dist/cli/cron-cli/register.cron-edit.js +44 -0
  120. package/dist/cli/cron-cli/shared.js +7 -1
  121. package/dist/cli/daemon-cli/lifecycle-core.js +23 -21
  122. package/dist/cli/daemon-cli/lifecycle.js +23 -247
  123. package/dist/cli/daemon-cli/register-service-commands.js +25 -4
  124. package/dist/cli/daemon-cli.js +1 -0
  125. package/dist/cli/devices-cli.js +33 -20
  126. package/dist/cli/gateway-cli/register.js +37 -105
  127. package/dist/cli/gateway-cli/run.js +49 -11
  128. package/dist/cli/nodes-camera.js +59 -4
  129. package/dist/cli/nodes-cli/register.camera.js +27 -24
  130. package/dist/cli/nodes-cli/rpc.js +21 -38
  131. package/dist/cli/qr-cli.js +2 -2
  132. package/dist/cli/skills-cli.format.js +2 -2
  133. package/dist/cli/update-cli/progress.js +2 -2
  134. package/dist/cli/update-cli/restart-helper.js +28 -7
  135. package/dist/cli/update-cli/shared.js +7 -7
  136. package/dist/cli/update-cli/status.js +1 -1
  137. package/dist/cli/update-cli/update-command.js +14 -8
  138. package/dist/cli/update-cli/wizard.js +2 -2
  139. package/dist/cli/update-cli.js +21 -1027
  140. package/dist/commands/auth-choice.apply.anthropic.js +10 -2
  141. package/dist/commands/channels/add-mutators.js +3 -35
  142. package/dist/commands/channels/add.js +39 -51
  143. package/dist/commands/config-validation.js +1 -1
  144. package/dist/commands/configure.gateway-auth.js +52 -15
  145. package/dist/commands/configure.gateway.js +84 -40
  146. package/dist/commands/doctor-completion.js +3 -3
  147. package/dist/commands/doctor-config-flow.js +536 -16
  148. package/dist/commands/doctor-gateway-services.js +103 -79
  149. package/dist/commands/doctor-memory-search.js +9 -9
  150. package/dist/commands/doctor-platform-notes.js +57 -30
  151. package/dist/commands/doctor-prompter.js +26 -15
  152. package/dist/commands/doctor-session-locks.js +1 -1
  153. package/dist/commands/doctor.js +21 -9
  154. package/dist/commands/model-picker.js +120 -95
  155. package/dist/commands/models/set.js +2 -21
  156. package/dist/commands/models/shared.js +65 -37
  157. package/dist/commands/onboard-helpers.js +81 -39
  158. package/dist/commands/openai-codex-oauth.js +1 -1
  159. package/dist/commands/sessions.js +52 -53
  160. package/dist/commands/status.summary.js +52 -34
  161. package/dist/commands/test-wizard-helpers.js +2 -2
  162. package/dist/config/defaults.js +79 -42
  163. package/dist/config/group-policy.js +50 -18
  164. package/dist/config/includes.js +37 -10
  165. package/dist/config/schema.help.js +5 -4
  166. package/dist/config/schema.hints.js +2 -2
  167. package/dist/config/schema.labels.js +1 -0
  168. package/dist/config/sessions/group.js +12 -11
  169. package/dist/config/sessions/paths.js +137 -11
  170. package/dist/config/sessions/store.js +185 -65
  171. package/dist/config/sessions/types.js +15 -1
  172. package/dist/config/sessions.js +1 -0
  173. package/dist/config/telegram-custom-commands.js +3 -2
  174. package/dist/config/types.js +2 -0
  175. package/dist/config/zod-schema.agent-defaults.js +6 -27
  176. package/dist/config/zod-schema.agent-runtime.js +171 -79
  177. package/dist/config/zod-schema.providers-core.js +138 -65
  178. package/dist/config/zod-schema.session.js +49 -22
  179. package/dist/control-ui/assets/index-HRr1grwl.js.map +1 -1
  180. package/dist/cron/isolated-agent/run.js +224 -57
  181. package/dist/cron/normalize.js +48 -45
  182. package/dist/cron/run-log.js +14 -0
  183. package/dist/cron/service/jobs.js +190 -28
  184. package/dist/cron/service/normalize.js +29 -11
  185. package/dist/cron/service/store.js +30 -44
  186. package/dist/cron/service/timer.js +182 -96
  187. package/dist/cron/service.js +3 -0
  188. package/dist/cron/stagger.js +37 -0
  189. package/dist/daemon/inspect.js +132 -92
  190. package/dist/daemon/runtime-paths.js +25 -4
  191. package/dist/daemon/service-audit.js +47 -16
  192. package/dist/discord/accounts.js +23 -20
  193. package/dist/discord/monitor/agent-components.js +1115 -219
  194. package/dist/discord/monitor/allow-list.js +114 -34
  195. package/dist/discord/monitor/listeners.js +204 -97
  196. package/dist/discord/monitor/message-handler.js +21 -10
  197. package/dist/discord/monitor/message-handler.preflight.js +195 -101
  198. package/dist/discord/monitor/message-handler.process.js +384 -123
  199. package/dist/discord/monitor/message-utils.js +86 -23
  200. package/dist/discord/monitor/native-command.js +77 -57
  201. package/dist/discord/monitor/provider.js +122 -117
  202. package/dist/discord/monitor/reply-context.js +20 -16
  203. package/dist/discord/monitor/reply-delivery.js +40 -8
  204. package/dist/discord/monitor/rest-fetch.js +22 -0
  205. package/dist/discord/monitor/threading.js +117 -24
  206. package/dist/discord/send.js +2 -1
  207. package/dist/discord/send.outbound.js +124 -11
  208. package/dist/discord/send.shared.js +112 -72
  209. package/dist/discord/voice-message.js +3 -3
  210. package/dist/gateway/auth.js +119 -44
  211. package/dist/gateway/call.js +76 -34
  212. package/dist/gateway/channel-health-monitor.js +57 -50
  213. package/dist/gateway/client.js +63 -29
  214. package/dist/gateway/control-ui-contract.js +1 -1
  215. package/dist/gateway/gateway-config-prompts.shared.js +2 -2
  216. package/dist/gateway/net.js +109 -1
  217. package/dist/gateway/protocol/index.js +5 -8
  218. package/dist/gateway/protocol/schema/agent.js +19 -1
  219. package/dist/gateway/protocol/schema/channels.js +21 -0
  220. package/dist/gateway/protocol/schema/cron.js +43 -30
  221. package/dist/gateway/protocol/schema/protocol-schemas.js +6 -11
  222. package/dist/gateway/protocol/schema/sessions.js +5 -1
  223. package/dist/gateway/protocol/schema.js +0 -1
  224. package/dist/gateway/server/presence-events.js +12 -0
  225. package/dist/gateway/server/ws-connection/message-handler.js +203 -212
  226. package/dist/gateway/server/ws-connection.js +58 -21
  227. package/dist/gateway/server-broadcast.js +18 -13
  228. package/dist/gateway/server-cron.js +177 -10
  229. package/dist/gateway/server-methods/agent-job.js +131 -38
  230. package/dist/gateway/server-methods/send.js +60 -14
  231. package/dist/gateway/server-methods/sessions.js +160 -96
  232. package/dist/gateway/server-methods/system.js +5 -7
  233. package/dist/gateway/server-methods-list.js +8 -0
  234. package/dist/gateway/server-methods.js +24 -8
  235. package/dist/gateway/server-node-events.js +278 -68
  236. package/dist/gateway/session-utils.fs.js +316 -75
  237. package/dist/gateway/session-utils.js +224 -70
  238. package/dist/gateway/sessions-patch.js +63 -20
  239. package/dist/gateway/test-temp-config.js +1 -1
  240. package/dist/gateway/tools-invoke-http.js +118 -70
  241. package/dist/gateway/ws-log.js +135 -107
  242. package/dist/hooks/frontmatter.js +36 -82
  243. package/dist/hooks/install.js +149 -139
  244. package/dist/hooks/internal-hooks.js +29 -4
  245. package/dist/hooks/plugin-hooks.js +2 -1
  246. package/dist/imessage/monitor/deliver.js +10 -4
  247. package/dist/imessage/monitor/monitor-provider.js +138 -375
  248. package/dist/imessage/monitor/runtime.js +4 -8
  249. package/dist/imessage/send.js +65 -19
  250. package/dist/infra/exec-approvals-allowlist.js +7 -0
  251. package/dist/infra/exec-approvals.js +35 -920
  252. package/dist/infra/exec-safe-bin-trust.js +64 -0
  253. package/dist/infra/heartbeat-runner.js +207 -134
  254. package/dist/infra/heartbeat-wake.js +183 -22
  255. package/dist/infra/install-source-utils.js +47 -0
  256. package/dist/infra/net/ssrf.js +170 -36
  257. package/dist/infra/outbound/deliver.js +224 -58
  258. package/dist/infra/outbound/message-action-spec.js +12 -5
  259. package/dist/infra/outbound/outbound-session.js +27 -25
  260. package/dist/infra/poolbot-root.js +32 -22
  261. package/dist/infra/ports.js +14 -11
  262. package/dist/infra/skills-remote.js +48 -37
  263. package/dist/infra/system-events.js +25 -11
  264. package/dist/infra/system-presence.js +26 -33
  265. package/dist/infra/tmp-poolbot-dir.js +81 -2
  266. package/dist/infra/wsl.js +37 -1
  267. package/dist/line/bot-message-context.js +163 -191
  268. package/dist/logging/subsystem.js +59 -22
  269. package/dist/markdown/ir.js +124 -50
  270. package/dist/media/store.js +1 -1
  271. package/dist/media-understanding/runner.entries.js +42 -25
  272. package/dist/media-understanding/runner.js +53 -488
  273. package/dist/memory/embeddings-gemini.js +53 -38
  274. package/dist/memory/manager-embedding-ops.js +48 -69
  275. package/dist/pairing/pairing-store.js +178 -119
  276. package/dist/plugin-sdk/index.js +34 -6
  277. package/dist/plugins/hooks.js +135 -14
  278. package/dist/plugins/install.js +190 -152
  279. package/dist/polls.js +11 -0
  280. package/dist/routing/resolve-route.js +190 -56
  281. package/dist/routing/session-key.js +38 -22
  282. package/dist/runtime.js +35 -9
  283. package/dist/security/audit-channel.js +1 -1
  284. package/dist/sessions/session-key-utils.js +29 -11
  285. package/dist/shared/frontmatter.js +5 -5
  286. package/dist/shared/node-list-types.js +1 -0
  287. package/dist/shared/string-normalization.js +15 -0
  288. package/dist/signal/monitor/event-handler.js +68 -36
  289. package/dist/signal/send.js +29 -37
  290. package/dist/slack/monitor/allow-list.js +10 -11
  291. package/dist/slack/monitor/commands.js +14 -3
  292. package/dist/slack/monitor/events/interactions.js +4 -4
  293. package/dist/slack/monitor/media.js +224 -16
  294. package/dist/slack/monitor/message-handler/dispatch.js +247 -13
  295. package/dist/slack/monitor/message-handler/prepare.js +128 -45
  296. package/dist/slack/monitor/slash.js +357 -144
  297. package/dist/slack/streaming.js +77 -0
  298. package/dist/telegram/accounts.js +40 -13
  299. package/dist/telegram/allowed-updates.js +3 -0
  300. package/dist/telegram/bot/delivery.js +129 -66
  301. package/dist/telegram/bot/helpers.js +136 -122
  302. package/dist/telegram/bot-handlers.js +600 -339
  303. package/dist/telegram/bot-message-context.js +115 -73
  304. package/dist/telegram/bot-message-dispatch.js +235 -104
  305. package/dist/telegram/bot-native-command-menu.js +3 -1
  306. package/dist/telegram/bot-native-commands.js +213 -193
  307. package/dist/telegram/bot.js +24 -132
  308. package/dist/telegram/draft-stream.js +84 -75
  309. package/dist/telegram/format.js +150 -6
  310. package/dist/telegram/send.js +415 -255
  311. package/dist/telegram/targets.js +21 -2
  312. package/dist/telegram/update-offset-store.js +19 -3
  313. package/dist/terminal/restore.js +5 -2
  314. package/dist/test-utils/fetch-mock.js +5 -0
  315. package/dist/version.js +18 -5
  316. package/dist/web/auto-reply/monitor/broadcast.js +7 -3
  317. package/dist/web/auto-reply/monitor/on-message.js +6 -3
  318. package/dist/web/inbound/media.js +34 -8
  319. package/dist/web/inbound/monitor.js +34 -17
  320. package/dist/web/inbound/send-api.js +18 -17
  321. package/dist/web/outbound.js +12 -5
  322. package/dist/wizard/clack-prompter.js +40 -7
  323. package/extensions/bluebubbles/package.json +1 -1
  324. package/extensions/copilot-proxy/package.json +1 -1
  325. package/extensions/device-pair/index.ts +2 -2
  326. package/extensions/diagnostics-otel/package.json +1 -1
  327. package/extensions/discord/package.json +1 -1
  328. package/extensions/feishu/package.json +1 -1
  329. package/extensions/google-antigravity-auth/package.json +1 -1
  330. package/extensions/google-gemini-cli-auth/package.json +1 -1
  331. package/extensions/googlechat/package.json +1 -1
  332. package/extensions/imessage/package.json +1 -1
  333. package/extensions/irc/package.json +1 -1
  334. package/extensions/irc/src/accounts.ts +1 -1
  335. package/extensions/irc/src/onboarding.ts +4 -4
  336. package/extensions/line/package.json +1 -1
  337. package/extensions/llm-task/package.json +1 -1
  338. package/extensions/lobster/package.json +1 -1
  339. package/extensions/matrix/CHANGELOG.md +10 -0
  340. package/extensions/matrix/package.json +1 -1
  341. package/extensions/mattermost/package.json +1 -1
  342. package/extensions/memory-core/package.json +1 -1
  343. package/extensions/memory-lancedb/package.json +1 -1
  344. package/extensions/minimax-portal-auth/package.json +1 -1
  345. package/extensions/msteams/CHANGELOG.md +10 -0
  346. package/extensions/msteams/package.json +1 -1
  347. package/extensions/nextcloud-talk/package.json +1 -1
  348. package/extensions/nostr/CHANGELOG.md +10 -0
  349. package/extensions/nostr/package.json +1 -1
  350. package/extensions/open-prose/package.json +1 -1
  351. package/extensions/openai-codex-auth/package.json +1 -1
  352. package/extensions/signal/package.json +1 -1
  353. package/extensions/slack/package.json +1 -1
  354. package/extensions/telegram/package.json +1 -1
  355. package/extensions/tlon/package.json +1 -1
  356. package/extensions/twitch/CHANGELOG.md +10 -0
  357. package/extensions/twitch/package.json +1 -1
  358. package/extensions/voice-call/CHANGELOG.md +10 -0
  359. package/extensions/voice-call/package.json +1 -1
  360. package/extensions/whatsapp/package.json +1 -1
  361. package/extensions/zalo/CHANGELOG.md +10 -0
  362. package/extensions/zalo/package.json +1 -1
  363. package/extensions/zalouser/CHANGELOG.md +10 -0
  364. package/extensions/zalouser/package.json +1 -1
  365. package/package.json +1 -1
  366. package/skills/apple-reminders/SKILL.md +100 -49
  367. package/skills/coding-agent/SKILL.md +34 -28
  368. package/skills/github/SKILL.md +131 -16
  369. package/skills/imsg/SKILL.md +112 -15
  370. package/skills/openhue/SKILL.md +101 -19
  371. package/skills/tmux/SKILL.md +111 -79
  372. package/skills/weather/SKILL.md +88 -25
  373. package/dist/agents/openclaw-tools.js +0 -151
  374. package/dist/agents/tool-security.js +0 -96
  375. package/dist/gateway/url-validation.js +0 -94
  376. package/dist/infra/openclaw-root.js +0 -109
  377. package/dist/infra/tmp-openclaw-dir.js +0 -81
  378. package/dist/media/path-sanitization.js +0 -78
@@ -1,5 +1,5 @@
1
1
  import AjvPkg from "ajv";
2
- import { AgentEventSchema, AgentIdentityParamsSchema, AgentIdentityResultSchema, AgentParamsSchema, AgentSummarySchema, AgentsFileEntrySchema, AgentsCreateParamsSchema, AgentsCreateResultSchema, AgentsUpdateParamsSchema, AgentsUpdateResultSchema, AgentsDeleteParamsSchema, AgentsDeleteResultSchema, AgentsFilesGetParamsSchema, AgentsFilesGetResultSchema, AgentsFilesListParamsSchema, AgentsFilesListResultSchema, AgentsFilesSetParamsSchema, AgentsFilesSetResultSchema, AgentsListParamsSchema, AgentsListResultSchema, AgentWaitParamsSchema, ChannelsLogoutParamsSchema, ChannelsStatusParamsSchema, ChannelsStatusResultSchema, ChatAbortParamsSchema, ChatEventSchema, ChatHistoryParamsSchema, ChatInjectParamsSchema, ChatSendParamsSchema, ConfigApplyParamsSchema, ConfigGetParamsSchema, ConfigPatchParamsSchema, ConfigSchemaParamsSchema, ConfigSchemaResponseSchema, ConfigSetParamsSchema, ConnectParamsSchema, CronAddParamsSchema, CronJobSchema, CronListParamsSchema, CronRemoveParamsSchema, CronRunParamsSchema, CronRunsParamsSchema, CronStatusParamsSchema, CronUpdateParamsSchema, DevicePairApproveParamsSchema, DevicePairListParamsSchema, DevicePairRejectParamsSchema, DeviceTokenRevokeParamsSchema, DeviceTokenRotateParamsSchema, ExecApprovalsGetParamsSchema, ExecApprovalsNodeGetParamsSchema, ExecApprovalsNodeSetParamsSchema, ExecApprovalsSetParamsSchema, ExecApprovalRequestParamsSchema, ExecApprovalResolveParamsSchema, ErrorCodes, ErrorShapeSchema, EventFrameSchema, errorShape, GatewayFrameSchema, HelloOkSchema, LogsTailParamsSchema, LogsTailResultSchema, ModelsListParamsSchema, MeshPlanParamsSchema, MeshPlanAutoParamsSchema, MeshRetryParamsSchema, MeshRunParamsSchema, MeshStatusParamsSchema, MeshWorkflowPlanSchema, NodeDescribeParamsSchema, NodeEventParamsSchema, NodeInvokeParamsSchema, NodeInvokeResultParamsSchema, NodeListParamsSchema, NodePairApproveParamsSchema, NodePairListParamsSchema, NodePairRejectParamsSchema, NodePairRequestParamsSchema, NodePairVerifyParamsSchema, NodeRenameParamsSchema, PollParamsSchema, PROTOCOL_VERSION, PresenceEntrySchema, ProtocolSchemas, RequestFrameSchema, ResponseFrameSchema, SendParamsSchema, SessionsCompactParamsSchema, SessionsDeleteParamsSchema, SessionsListParamsSchema, SessionsPatchParamsSchema, SessionsPreviewParamsSchema, SessionsResetParamsSchema, SessionsResolveParamsSchema, SessionsUsageParamsSchema, ShutdownEventSchema, SkillsBinsParamsSchema, SkillsInstallParamsSchema, SkillsStatusParamsSchema, SkillsUpdateParamsSchema, SnapshotSchema, StateVersionSchema, TalkModeParamsSchema, TickEventSchema, UpdateRunParamsSchema, WakeParamsSchema, WebLoginStartParamsSchema, WebLoginWaitParamsSchema, WizardCancelParamsSchema, WizardNextParamsSchema, WizardNextResultSchema, WizardStartParamsSchema, WizardStartResultSchema, WizardStatusParamsSchema, WizardStatusResultSchema, WizardStepSchema, } from "./schema.js";
2
+ import { AgentEventSchema, AgentIdentityParamsSchema, AgentIdentityResultSchema, AgentParamsSchema, AgentSummarySchema, AgentsFileEntrySchema, AgentsCreateParamsSchema, AgentsCreateResultSchema, AgentsUpdateParamsSchema, AgentsUpdateResultSchema, AgentsDeleteParamsSchema, AgentsDeleteResultSchema, AgentsFilesGetParamsSchema, AgentsFilesGetResultSchema, AgentsFilesListParamsSchema, AgentsFilesListResultSchema, AgentsFilesSetParamsSchema, AgentsFilesSetResultSchema, AgentsListParamsSchema, AgentsListResultSchema, AgentWaitParamsSchema, ChannelsLogoutParamsSchema, TalkConfigParamsSchema, TalkConfigResultSchema, ChannelsStatusParamsSchema, ChannelsStatusResultSchema, ChatAbortParamsSchema, ChatEventSchema, ChatHistoryParamsSchema, ChatInjectParamsSchema, ChatSendParamsSchema, ConfigApplyParamsSchema, ConfigGetParamsSchema, ConfigPatchParamsSchema, ConfigSchemaParamsSchema, ConfigSchemaResponseSchema, ConfigSetParamsSchema, ConnectParamsSchema, CronAddParamsSchema, CronJobSchema, CronListParamsSchema, CronRemoveParamsSchema, CronRunParamsSchema, CronRunsParamsSchema, CronStatusParamsSchema, CronUpdateParamsSchema, DevicePairApproveParamsSchema, DevicePairListParamsSchema, DevicePairRejectParamsSchema, DeviceTokenRevokeParamsSchema, DeviceTokenRotateParamsSchema, ExecApprovalsGetParamsSchema, ExecApprovalsNodeGetParamsSchema, ExecApprovalsNodeSetParamsSchema, ExecApprovalsSetParamsSchema, ExecApprovalRequestParamsSchema, ExecApprovalResolveParamsSchema, ErrorCodes, ErrorShapeSchema, EventFrameSchema, errorShape, GatewayFrameSchema, HelloOkSchema, LogsTailParamsSchema, LogsTailResultSchema, ModelsListParamsSchema, NodeDescribeParamsSchema, NodeEventParamsSchema, NodeInvokeParamsSchema, NodeInvokeResultParamsSchema, NodeListParamsSchema, NodePairApproveParamsSchema, NodePairListParamsSchema, NodePairRejectParamsSchema, NodePairRequestParamsSchema, NodePairVerifyParamsSchema, NodeRenameParamsSchema, PollParamsSchema, PROTOCOL_VERSION, PresenceEntrySchema, ProtocolSchemas, RequestFrameSchema, ResponseFrameSchema, SendParamsSchema, SessionsCompactParamsSchema, SessionsDeleteParamsSchema, SessionsListParamsSchema, SessionsPatchParamsSchema, SessionsPreviewParamsSchema, SessionsResetParamsSchema, SessionsResolveParamsSchema, SessionsUsageParamsSchema, ShutdownEventSchema, SkillsBinsParamsSchema, SkillsInstallParamsSchema, SkillsStatusParamsSchema, SkillsUpdateParamsSchema, SnapshotSchema, StateVersionSchema, TalkModeParamsSchema, TickEventSchema, UpdateRunParamsSchema, WakeParamsSchema, WebLoginStartParamsSchema, WebLoginWaitParamsSchema, WizardCancelParamsSchema, WizardNextParamsSchema, WizardNextResultSchema, WizardStartParamsSchema, WizardStartResultSchema, WizardStatusParamsSchema, WizardStatusResultSchema, WizardStepSchema, } from "./schema.js";
3
3
  const ajv = new AjvPkg({
4
4
  allErrors: true,
5
5
  strict: false,
@@ -51,6 +51,7 @@ export const validateWizardNextParams = ajv.compile(WizardNextParamsSchema);
51
51
  export const validateWizardCancelParams = ajv.compile(WizardCancelParamsSchema);
52
52
  export const validateWizardStatusParams = ajv.compile(WizardStatusParamsSchema);
53
53
  export const validateTalkModeParams = ajv.compile(TalkModeParamsSchema);
54
+ export const validateTalkConfigParams = ajv.compile(TalkConfigParamsSchema);
54
55
  export const validateChannelsStatusParams = ajv.compile(ChannelsStatusParamsSchema);
55
56
  export const validateChannelsLogoutParams = ajv.compile(ChannelsLogoutParamsSchema);
56
57
  export const validateModelsListParams = ajv.compile(ModelsListParamsSchema);
@@ -85,14 +86,10 @@ export const validateChatEvent = ajv.compile(ChatEventSchema);
85
86
  export const validateUpdateRunParams = ajv.compile(UpdateRunParamsSchema);
86
87
  export const validateWebLoginStartParams = ajv.compile(WebLoginStartParamsSchema);
87
88
  export const validateWebLoginWaitParams = ajv.compile(WebLoginWaitParamsSchema);
88
- export const validateMeshPlanParams = ajv.compile(MeshPlanParamsSchema);
89
- export const validateMeshPlanAutoParams = ajv.compile(MeshPlanAutoParamsSchema);
90
- export const validateMeshRunParams = ajv.compile(MeshRunParamsSchema);
91
- export const validateMeshStatusParams = ajv.compile(MeshStatusParamsSchema);
92
- export const validateMeshRetryParams = ajv.compile(MeshRetryParamsSchema);
93
89
  export function formatValidationErrors(errors) {
94
- if (!errors?.length)
90
+ if (!errors?.length) {
95
91
  return "unknown validation error";
92
+ }
96
93
  const parts = [];
97
94
  for (const err of errors) {
98
95
  const keyword = typeof err?.keyword === "string" ? err.keyword : "";
@@ -118,4 +115,4 @@ export function formatValidationErrors(errors) {
118
115
  }
119
116
  return unique.join("; ");
120
117
  }
121
- export { ConnectParamsSchema, HelloOkSchema, RequestFrameSchema, ResponseFrameSchema, EventFrameSchema, GatewayFrameSchema, PresenceEntrySchema, SnapshotSchema, ErrorShapeSchema, StateVersionSchema, AgentEventSchema, ChatEventSchema, SendParamsSchema, PollParamsSchema, AgentParamsSchema, AgentIdentityParamsSchema, AgentIdentityResultSchema, WakeParamsSchema, NodePairRequestParamsSchema, NodePairListParamsSchema, NodePairApproveParamsSchema, NodePairRejectParamsSchema, NodePairVerifyParamsSchema, NodeListParamsSchema, NodeInvokeParamsSchema, SessionsListParamsSchema, SessionsPreviewParamsSchema, SessionsPatchParamsSchema, SessionsResetParamsSchema, SessionsDeleteParamsSchema, SessionsCompactParamsSchema, SessionsUsageParamsSchema, ConfigGetParamsSchema, ConfigSetParamsSchema, ConfigApplyParamsSchema, ConfigPatchParamsSchema, ConfigSchemaParamsSchema, ConfigSchemaResponseSchema, WizardStartParamsSchema, WizardNextParamsSchema, WizardCancelParamsSchema, WizardStatusParamsSchema, WizardStepSchema, WizardNextResultSchema, WizardStartResultSchema, WizardStatusResultSchema, ChannelsStatusParamsSchema, ChannelsStatusResultSchema, ChannelsLogoutParamsSchema, WebLoginStartParamsSchema, WebLoginWaitParamsSchema, AgentSummarySchema, AgentsListParamsSchema, AgentsListResultSchema, AgentsFileEntrySchema, AgentsCreateParamsSchema, AgentsCreateResultSchema, AgentsUpdateParamsSchema, AgentsUpdateResultSchema, AgentsDeleteParamsSchema, AgentsDeleteResultSchema, AgentsFilesListParamsSchema, AgentsFilesListResultSchema, AgentsFilesGetParamsSchema, AgentsFilesGetResultSchema, AgentsFilesSetParamsSchema, AgentsFilesSetResultSchema, ModelsListParamsSchema, SkillsStatusParamsSchema, SkillsInstallParamsSchema, SkillsUpdateParamsSchema, CronJobSchema, CronListParamsSchema, CronStatusParamsSchema, CronAddParamsSchema, CronUpdateParamsSchema, CronRemoveParamsSchema, CronRunParamsSchema, CronRunsParamsSchema, LogsTailParamsSchema, LogsTailResultSchema, ChatHistoryParamsSchema, ChatSendParamsSchema, ChatInjectParamsSchema, UpdateRunParamsSchema, TickEventSchema, ShutdownEventSchema, MeshPlanParamsSchema, MeshPlanAutoParamsSchema, MeshWorkflowPlanSchema, MeshRunParamsSchema, MeshStatusParamsSchema, MeshRetryParamsSchema, ProtocolSchemas, PROTOCOL_VERSION, ErrorCodes, errorShape, };
118
+ export { ConnectParamsSchema, HelloOkSchema, RequestFrameSchema, ResponseFrameSchema, EventFrameSchema, GatewayFrameSchema, PresenceEntrySchema, SnapshotSchema, ErrorShapeSchema, StateVersionSchema, AgentEventSchema, ChatEventSchema, SendParamsSchema, PollParamsSchema, AgentParamsSchema, AgentIdentityParamsSchema, AgentIdentityResultSchema, WakeParamsSchema, NodePairRequestParamsSchema, NodePairListParamsSchema, NodePairApproveParamsSchema, NodePairRejectParamsSchema, NodePairVerifyParamsSchema, NodeListParamsSchema, NodeInvokeParamsSchema, SessionsListParamsSchema, SessionsPreviewParamsSchema, SessionsPatchParamsSchema, SessionsResetParamsSchema, SessionsDeleteParamsSchema, SessionsCompactParamsSchema, SessionsUsageParamsSchema, ConfigGetParamsSchema, ConfigSetParamsSchema, ConfigApplyParamsSchema, ConfigPatchParamsSchema, ConfigSchemaParamsSchema, ConfigSchemaResponseSchema, WizardStartParamsSchema, WizardNextParamsSchema, WizardCancelParamsSchema, WizardStatusParamsSchema, WizardStepSchema, WizardNextResultSchema, WizardStartResultSchema, WizardStatusResultSchema, TalkConfigParamsSchema, TalkConfigResultSchema, ChannelsStatusParamsSchema, ChannelsStatusResultSchema, ChannelsLogoutParamsSchema, WebLoginStartParamsSchema, WebLoginWaitParamsSchema, AgentSummarySchema, AgentsFileEntrySchema, AgentsCreateParamsSchema, AgentsCreateResultSchema, AgentsUpdateParamsSchema, AgentsUpdateResultSchema, AgentsDeleteParamsSchema, AgentsDeleteResultSchema, AgentsFilesListParamsSchema, AgentsFilesListResultSchema, AgentsFilesGetParamsSchema, AgentsFilesGetResultSchema, AgentsFilesSetParamsSchema, AgentsFilesSetResultSchema, AgentsListParamsSchema, AgentsListResultSchema, ModelsListParamsSchema, SkillsStatusParamsSchema, SkillsInstallParamsSchema, SkillsUpdateParamsSchema, CronJobSchema, CronListParamsSchema, CronStatusParamsSchema, CronAddParamsSchema, CronUpdateParamsSchema, CronRemoveParamsSchema, CronRunParamsSchema, CronRunsParamsSchema, LogsTailParamsSchema, LogsTailResultSchema, ChatHistoryParamsSchema, ChatSendParamsSchema, ChatInjectParamsSchema, UpdateRunParamsSchema, TickEventSchema, ShutdownEventSchema, ProtocolSchemas, PROTOCOL_VERSION, ErrorCodes, errorShape, };
@@ -1,4 +1,5 @@
1
1
  import { Type } from "@sinclair/typebox";
2
+ import { INPUT_PROVENANCE_KIND_VALUES } from "../../../sessions/input-provenance.js";
2
3
  import { NonEmptyString, SessionLabelString } from "./primitives.js";
3
4
  export const AgentEventSchema = Type.Object({
4
5
  runId: NonEmptyString,
@@ -9,12 +10,14 @@ export const AgentEventSchema = Type.Object({
9
10
  }, { additionalProperties: false });
10
11
  export const SendParamsSchema = Type.Object({
11
12
  to: NonEmptyString,
12
- message: NonEmptyString,
13
+ message: Type.Optional(Type.String()),
13
14
  mediaUrl: Type.Optional(Type.String()),
14
15
  mediaUrls: Type.Optional(Type.Array(Type.String())),
15
16
  gifPlayback: Type.Optional(Type.Boolean()),
16
17
  channel: Type.Optional(Type.String()),
17
18
  accountId: Type.Optional(Type.String()),
19
+ /** Thread id (channel-specific meaning, e.g. Telegram forum topic id). */
20
+ threadId: Type.Optional(Type.String()),
18
21
  /** Optional session key for mirroring delivered output back into the transcript. */
19
22
  sessionKey: Type.Optional(Type.String()),
20
23
  idempotencyKey: NonEmptyString,
@@ -24,7 +27,15 @@ export const PollParamsSchema = Type.Object({
24
27
  question: NonEmptyString,
25
28
  options: Type.Array(NonEmptyString, { minItems: 2, maxItems: 12 }),
26
29
  maxSelections: Type.Optional(Type.Integer({ minimum: 1, maximum: 12 })),
30
+ /** Poll duration in seconds (channel-specific limits may apply). */
31
+ durationSeconds: Type.Optional(Type.Integer({ minimum: 1, maximum: 604_800 })),
27
32
  durationHours: Type.Optional(Type.Integer({ minimum: 1 })),
33
+ /** Send silently (no notification) where supported. */
34
+ silent: Type.Optional(Type.Boolean()),
35
+ /** Poll anonymity where supported (e.g. Telegram polls default to anonymous). */
36
+ isAnonymous: Type.Optional(Type.Boolean()),
37
+ /** Thread id (channel-specific meaning, e.g. Telegram forum topic id). */
38
+ threadId: Type.Optional(Type.String()),
28
39
  channel: Type.Optional(Type.String()),
29
40
  accountId: Type.Optional(Type.String()),
30
41
  idempotencyKey: NonEmptyString,
@@ -50,6 +61,12 @@ export const AgentParamsSchema = Type.Object({
50
61
  timeout: Type.Optional(Type.Integer({ minimum: 0 })),
51
62
  lane: Type.Optional(Type.String()),
52
63
  extraSystemPrompt: Type.Optional(Type.String()),
64
+ inputProvenance: Type.Optional(Type.Object({
65
+ kind: Type.String({ enum: [...INPUT_PROVENANCE_KIND_VALUES] }),
66
+ sourceSessionKey: Type.Optional(Type.String()),
67
+ sourceChannel: Type.Optional(Type.String()),
68
+ sourceTool: Type.Optional(Type.String()),
69
+ }, { additionalProperties: false })),
53
70
  idempotencyKey: NonEmptyString,
54
71
  label: Type.Optional(SessionLabelString),
55
72
  spawnedBy: Type.Optional(Type.String()),
@@ -62,6 +79,7 @@ export const AgentIdentityResultSchema = Type.Object({
62
79
  agentId: NonEmptyString,
63
80
  name: Type.Optional(NonEmptyString),
64
81
  avatar: Type.Optional(NonEmptyString),
82
+ emoji: Type.Optional(NonEmptyString),
65
83
  }, { additionalProperties: false });
66
84
  export const AgentWaitParamsSchema = Type.Object({
67
85
  runId: NonEmptyString,
@@ -4,6 +4,27 @@ export const TalkModeParamsSchema = Type.Object({
4
4
  enabled: Type.Boolean(),
5
5
  phase: Type.Optional(Type.String()),
6
6
  }, { additionalProperties: false });
7
+ export const TalkConfigParamsSchema = Type.Object({
8
+ includeSecrets: Type.Optional(Type.Boolean()),
9
+ }, { additionalProperties: false });
10
+ export const TalkConfigResultSchema = Type.Object({
11
+ config: Type.Object({
12
+ talk: Type.Optional(Type.Object({
13
+ voiceId: Type.Optional(Type.String()),
14
+ voiceAliases: Type.Optional(Type.Record(Type.String(), Type.String())),
15
+ modelId: Type.Optional(Type.String()),
16
+ outputFormat: Type.Optional(Type.String()),
17
+ apiKey: Type.Optional(Type.String()),
18
+ interruptOnSpeech: Type.Optional(Type.Boolean()),
19
+ }, { additionalProperties: false })),
20
+ session: Type.Optional(Type.Object({
21
+ mainKey: Type.Optional(Type.String()),
22
+ }, { additionalProperties: false })),
23
+ ui: Type.Optional(Type.Object({
24
+ seamColor: Type.Optional(Type.String()),
25
+ }, { additionalProperties: false })),
26
+ }, { additionalProperties: false }),
27
+ }, { additionalProperties: false });
7
28
  export const ChannelsStatusParamsSchema = Type.Object({
8
29
  probe: Type.Optional(Type.Boolean()),
9
30
  timeoutMs: Type.Optional(Type.Integer({ minimum: 0 })),
@@ -1,5 +1,19 @@
1
1
  import { Type } from "@sinclair/typebox";
2
2
  import { NonEmptyString } from "./primitives.js";
3
+ function cronAgentTurnPayloadSchema(params) {
4
+ return Type.Object({
5
+ kind: Type.Literal("agentTurn"),
6
+ message: params.message,
7
+ model: Type.Optional(Type.String()),
8
+ thinking: Type.Optional(Type.String()),
9
+ timeoutSeconds: Type.Optional(Type.Integer({ minimum: 0 })),
10
+ allowUnsafeExternalContent: Type.Optional(Type.Boolean()),
11
+ deliver: Type.Optional(Type.Boolean()),
12
+ channel: Type.Optional(Type.String()),
13
+ to: Type.Optional(Type.String()),
14
+ bestEffortDeliver: Type.Optional(Type.Boolean()),
15
+ }, { additionalProperties: false });
16
+ }
3
17
  export const CronScheduleSchema = Type.Union([
4
18
  Type.Object({
5
19
  kind: Type.Literal("at"),
@@ -14,6 +28,7 @@ export const CronScheduleSchema = Type.Union([
14
28
  kind: Type.Literal("cron"),
15
29
  expr: NonEmptyString,
16
30
  tz: Type.Optional(Type.String()),
31
+ staggerMs: Type.Optional(Type.Integer({ minimum: 0 })),
17
32
  }, { additionalProperties: false }),
18
33
  ]);
19
34
  export const CronPayloadSchema = Type.Union([
@@ -21,48 +36,43 @@ export const CronPayloadSchema = Type.Union([
21
36
  kind: Type.Literal("systemEvent"),
22
37
  text: NonEmptyString,
23
38
  }, { additionalProperties: false }),
24
- Type.Object({
25
- kind: Type.Literal("agentTurn"),
26
- message: NonEmptyString,
27
- model: Type.Optional(Type.String()),
28
- thinking: Type.Optional(Type.String()),
29
- timeoutSeconds: Type.Optional(Type.Integer({ minimum: 1 })),
30
- allowUnsafeExternalContent: Type.Optional(Type.Boolean()),
31
- deliver: Type.Optional(Type.Boolean()),
32
- channel: Type.Optional(Type.String()),
33
- to: Type.Optional(Type.String()),
34
- bestEffortDeliver: Type.Optional(Type.Boolean()),
35
- }, { additionalProperties: false }),
39
+ cronAgentTurnPayloadSchema({ message: NonEmptyString }),
36
40
  ]);
37
41
  export const CronPayloadPatchSchema = Type.Union([
38
42
  Type.Object({
39
43
  kind: Type.Literal("systemEvent"),
40
44
  text: Type.Optional(NonEmptyString),
41
45
  }, { additionalProperties: false }),
42
- Type.Object({
43
- kind: Type.Literal("agentTurn"),
44
- message: Type.Optional(NonEmptyString),
45
- model: Type.Optional(Type.String()),
46
- thinking: Type.Optional(Type.String()),
47
- timeoutSeconds: Type.Optional(Type.Integer({ minimum: 1 })),
48
- allowUnsafeExternalContent: Type.Optional(Type.Boolean()),
49
- deliver: Type.Optional(Type.Boolean()),
50
- channel: Type.Optional(Type.String()),
51
- to: Type.Optional(Type.String()),
52
- bestEffortDeliver: Type.Optional(Type.Boolean()),
53
- }, { additionalProperties: false }),
46
+ cronAgentTurnPayloadSchema({ message: Type.Optional(NonEmptyString) }),
54
47
  ]);
55
- export const CronDeliverySchema = Type.Object({
56
- mode: Type.Union([Type.Literal("none"), Type.Literal("announce")]),
48
+ const CronDeliverySharedProperties = {
57
49
  channel: Type.Optional(Type.Union([Type.Literal("last"), NonEmptyString])),
58
- to: Type.Optional(Type.String()),
59
50
  bestEffort: Type.Optional(Type.Boolean()),
51
+ };
52
+ const CronDeliveryNoopSchema = Type.Object({
53
+ mode: Type.Literal("none"),
54
+ ...CronDeliverySharedProperties,
55
+ to: Type.Optional(Type.String()),
56
+ }, { additionalProperties: false });
57
+ const CronDeliveryAnnounceSchema = Type.Object({
58
+ mode: Type.Literal("announce"),
59
+ ...CronDeliverySharedProperties,
60
+ to: Type.Optional(Type.String()),
61
+ }, { additionalProperties: false });
62
+ const CronDeliveryWebhookSchema = Type.Object({
63
+ mode: Type.Literal("webhook"),
64
+ ...CronDeliverySharedProperties,
65
+ to: NonEmptyString,
60
66
  }, { additionalProperties: false });
67
+ export const CronDeliverySchema = Type.Union([
68
+ CronDeliveryNoopSchema,
69
+ CronDeliveryAnnounceSchema,
70
+ CronDeliveryWebhookSchema,
71
+ ]);
61
72
  export const CronDeliveryPatchSchema = Type.Object({
62
- mode: Type.Optional(Type.Union([Type.Literal("none"), Type.Literal("announce")])),
63
- channel: Type.Optional(Type.Union([Type.Literal("last"), NonEmptyString])),
73
+ mode: Type.Optional(Type.Union([Type.Literal("none"), Type.Literal("announce"), Type.Literal("webhook")])),
74
+ ...CronDeliverySharedProperties,
64
75
  to: Type.Optional(Type.String()),
65
- bestEffort: Type.Optional(Type.Boolean()),
66
76
  }, { additionalProperties: false });
67
77
  export const CronJobStateSchema = Type.Object({
68
78
  nextRunAtMs: Type.Optional(Type.Integer({ minimum: 0 })),
@@ -76,6 +86,7 @@ export const CronJobStateSchema = Type.Object({
76
86
  export const CronJobSchema = Type.Object({
77
87
  id: NonEmptyString,
78
88
  agentId: Type.Optional(NonEmptyString),
89
+ sessionKey: Type.Optional(NonEmptyString),
79
90
  name: NonEmptyString,
80
91
  description: Type.Optional(Type.String()),
81
92
  enabled: Type.Boolean(),
@@ -96,6 +107,7 @@ export const CronStatusParamsSchema = Type.Object({}, { additionalProperties: fa
96
107
  export const CronAddParamsSchema = Type.Object({
97
108
  name: NonEmptyString,
98
109
  agentId: Type.Optional(Type.Union([NonEmptyString, Type.Null()])),
110
+ sessionKey: Type.Optional(Type.Union([NonEmptyString, Type.Null()])),
99
111
  description: Type.Optional(Type.String()),
100
112
  enabled: Type.Optional(Type.Boolean()),
101
113
  deleteAfterRun: Type.Optional(Type.Boolean()),
@@ -108,6 +120,7 @@ export const CronAddParamsSchema = Type.Object({
108
120
  export const CronJobPatchSchema = Type.Object({
109
121
  name: Type.Optional(NonEmptyString),
110
122
  agentId: Type.Optional(Type.Union([NonEmptyString, Type.Null()])),
123
+ sessionKey: Type.Optional(Type.Union([NonEmptyString, Type.Null()])),
111
124
  description: Type.Optional(Type.String()),
112
125
  enabled: Type.Optional(Type.Boolean()),
113
126
  deleteAfterRun: Type.Optional(Type.Boolean()),
@@ -1,12 +1,11 @@
1
1
  import { AgentEventSchema, AgentIdentityParamsSchema, AgentIdentityResultSchema, AgentParamsSchema, AgentWaitParamsSchema, PollParamsSchema, SendParamsSchema, WakeParamsSchema, } from "./agent.js";
2
2
  import { AgentSummarySchema, AgentsCreateParamsSchema, AgentsCreateResultSchema, AgentsDeleteParamsSchema, AgentsDeleteResultSchema, AgentsFileEntrySchema, AgentsFilesGetParamsSchema, AgentsFilesGetResultSchema, AgentsFilesListParamsSchema, AgentsFilesListResultSchema, AgentsFilesSetParamsSchema, AgentsFilesSetResultSchema, AgentsListParamsSchema, AgentsListResultSchema, AgentsUpdateParamsSchema, AgentsUpdateResultSchema, ModelChoiceSchema, ModelsListParamsSchema, ModelsListResultSchema, SkillsBinsParamsSchema, SkillsBinsResultSchema, SkillsInstallParamsSchema, SkillsStatusParamsSchema, SkillsUpdateParamsSchema, } from "./agents-models-skills.js";
3
- import { ChannelsLogoutParamsSchema, ChannelsStatusParamsSchema, ChannelsStatusResultSchema, TalkModeParamsSchema, WebLoginStartParamsSchema, WebLoginWaitParamsSchema, } from "./channels.js";
3
+ import { ChannelsLogoutParamsSchema, TalkConfigParamsSchema, TalkConfigResultSchema, ChannelsStatusParamsSchema, ChannelsStatusResultSchema, TalkModeParamsSchema, WebLoginStartParamsSchema, WebLoginWaitParamsSchema, } from "./channels.js";
4
4
  import { ConfigApplyParamsSchema, ConfigGetParamsSchema, ConfigPatchParamsSchema, ConfigSchemaParamsSchema, ConfigSchemaResponseSchema, ConfigSetParamsSchema, UpdateRunParamsSchema, } from "./config.js";
5
5
  import { CronAddParamsSchema, CronJobSchema, CronListParamsSchema, CronRemoveParamsSchema, CronRunLogEntrySchema, CronRunParamsSchema, CronRunsParamsSchema, CronStatusParamsSchema, CronUpdateParamsSchema, } from "./cron.js";
6
- import { ExecApprovalsGetParamsSchema, ExecApprovalsNodeGetParamsSchema, ExecApprovalsNodeSetParamsSchema, ExecApprovalsSetParamsSchema, ExecApprovalsSnapshotSchema, ExecApprovalRequestParamsSchema, ExecApprovalResolveParamsSchema, } from "./exec-approvals.js";
7
6
  import { DevicePairApproveParamsSchema, DevicePairListParamsSchema, DevicePairRejectParamsSchema, DevicePairRequestedEventSchema, DevicePairResolvedEventSchema, DeviceTokenRevokeParamsSchema, DeviceTokenRotateParamsSchema, } from "./devices.js";
7
+ import { ExecApprovalsGetParamsSchema, ExecApprovalsNodeGetParamsSchema, ExecApprovalsNodeSetParamsSchema, ExecApprovalsSetParamsSchema, ExecApprovalsSnapshotSchema, ExecApprovalRequestParamsSchema, ExecApprovalResolveParamsSchema, } from "./exec-approvals.js";
8
8
  import { ConnectParamsSchema, ErrorShapeSchema, EventFrameSchema, GatewayFrameSchema, HelloOkSchema, RequestFrameSchema, ResponseFrameSchema, ShutdownEventSchema, TickEventSchema, } from "./frames.js";
9
- import { MeshPlanAutoParamsSchema, MeshPlanParamsSchema, MeshRetryParamsSchema, MeshRunParamsSchema, MeshStatusParamsSchema, MeshWorkflowPlanSchema, } from "./mesh.js";
10
9
  import { ChatAbortParamsSchema, ChatEventSchema, ChatHistoryParamsSchema, ChatInjectParamsSchema, ChatSendParamsSchema, LogsTailParamsSchema, LogsTailResultSchema, } from "./logs-chat.js";
11
10
  import { NodeDescribeParamsSchema, NodeEventParamsSchema, NodeInvokeParamsSchema, NodeInvokeResultParamsSchema, NodeInvokeRequestEventSchema, NodeListParamsSchema, NodePairApproveParamsSchema, NodePairListParamsSchema, NodePairRejectParamsSchema, NodePairRequestParamsSchema, NodePairVerifyParamsSchema, NodeRenameParamsSchema, } from "./nodes.js";
12
11
  import { SessionsCompactParamsSchema, SessionsDeleteParamsSchema, SessionsListParamsSchema, SessionsPatchParamsSchema, SessionsPreviewParamsSchema, SessionsResetParamsSchema, SessionsResolveParamsSchema, SessionsUsageParamsSchema, } from "./sessions.js";
@@ -66,14 +65,14 @@ export const ProtocolSchemas = {
66
65
  WizardStartResult: WizardStartResultSchema,
67
66
  WizardStatusResult: WizardStatusResultSchema,
68
67
  TalkModeParams: TalkModeParamsSchema,
68
+ TalkConfigParams: TalkConfigParamsSchema,
69
+ TalkConfigResult: TalkConfigResultSchema,
69
70
  ChannelsStatusParams: ChannelsStatusParamsSchema,
70
71
  ChannelsStatusResult: ChannelsStatusResultSchema,
71
72
  ChannelsLogoutParams: ChannelsLogoutParamsSchema,
72
73
  WebLoginStartParams: WebLoginStartParamsSchema,
73
74
  WebLoginWaitParams: WebLoginWaitParamsSchema,
74
75
  AgentSummary: AgentSummarySchema,
75
- AgentsListParams: AgentsListParamsSchema,
76
- AgentsListResult: AgentsListResultSchema,
77
76
  AgentsCreateParams: AgentsCreateParamsSchema,
78
77
  AgentsCreateResult: AgentsCreateResultSchema,
79
78
  AgentsUpdateParams: AgentsUpdateParamsSchema,
@@ -87,6 +86,8 @@ export const ProtocolSchemas = {
87
86
  AgentsFilesGetResult: AgentsFilesGetResultSchema,
88
87
  AgentsFilesSetParams: AgentsFilesSetParamsSchema,
89
88
  AgentsFilesSetResult: AgentsFilesSetResultSchema,
89
+ AgentsListParams: AgentsListParamsSchema,
90
+ AgentsListResult: AgentsListResultSchema,
90
91
  ModelChoice: ModelChoiceSchema,
91
92
  ModelsListParams: ModelsListParamsSchema,
92
93
  ModelsListResult: ModelsListResultSchema,
@@ -128,11 +129,5 @@ export const ProtocolSchemas = {
128
129
  UpdateRunParams: UpdateRunParamsSchema,
129
130
  TickEvent: TickEventSchema,
130
131
  ShutdownEvent: ShutdownEventSchema,
131
- MeshPlanParams: MeshPlanParamsSchema,
132
- MeshPlanAutoParams: MeshPlanAutoParamsSchema,
133
- MeshWorkflowPlan: MeshWorkflowPlanSchema,
134
- MeshRunParams: MeshRunParamsSchema,
135
- MeshStatusParams: MeshStatusParamsSchema,
136
- MeshRetryParams: MeshRetryParamsSchema,
137
132
  };
138
133
  export const PROTOCOL_VERSION = 3;
@@ -55,10 +55,14 @@ export const SessionsPatchParamsSchema = Type.Object({
55
55
  execNode: Type.Optional(Type.Union([NonEmptyString, Type.Null()])),
56
56
  model: Type.Optional(Type.Union([NonEmptyString, Type.Null()])),
57
57
  spawnedBy: Type.Optional(Type.Union([NonEmptyString, Type.Null()])),
58
+ spawnDepth: Type.Optional(Type.Union([Type.Integer({ minimum: 0 }), Type.Null()])),
58
59
  sendPolicy: Type.Optional(Type.Union([Type.Literal("allow"), Type.Literal("deny"), Type.Null()])),
59
60
  groupActivation: Type.Optional(Type.Union([Type.Literal("mention"), Type.Literal("always"), Type.Null()])),
60
61
  }, { additionalProperties: false });
61
- export const SessionsResetParamsSchema = Type.Object({ key: NonEmptyString }, { additionalProperties: false });
62
+ export const SessionsResetParamsSchema = Type.Object({
63
+ key: NonEmptyString,
64
+ reason: Type.Optional(Type.Union([Type.Literal("new"), Type.Literal("reset")])),
65
+ }, { additionalProperties: false });
62
66
  export const SessionsDeleteParamsSchema = Type.Object({
63
67
  key: NonEmptyString,
64
68
  deleteTranscript: Type.Optional(Type.Boolean()),
@@ -13,5 +13,4 @@ export * from "./schema/protocol-schemas.js";
13
13
  export * from "./schema/sessions.js";
14
14
  export * from "./schema/snapshot.js";
15
15
  export * from "./schema/types.js";
16
- export * from "./schema/mesh.js";
17
16
  export * from "./schema/wizard.js";
@@ -0,0 +1,12 @@
1
+ import { listSystemPresence } from "../../infra/system-presence.js";
2
+ export function broadcastPresenceSnapshot(params) {
3
+ const presenceVersion = params.incrementPresenceVersion();
4
+ params.broadcast("presence", { presence: listSystemPresence() }, {
5
+ dropIfSlow: true,
6
+ stateVersion: {
7
+ presence: presenceVersion,
8
+ health: params.getHealthVersion(),
9
+ },
10
+ });
11
+ return presenceVersion;
12
+ }