@spinabot/brigade 0.1.2 → 1.0.1

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 (1931) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +748 -88
  3. package/brigade.mjs +150 -73
  4. package/dist/agents/a2a-policy-canonicalize.d.ts +60 -0
  5. package/dist/agents/a2a-policy-canonicalize.d.ts.map +1 -0
  6. package/dist/agents/a2a-policy-canonicalize.js +103 -0
  7. package/dist/agents/a2a-policy-canonicalize.js.map +1 -0
  8. package/dist/agents/agent-event-bus.d.ts +221 -0
  9. package/dist/agents/agent-event-bus.d.ts.map +1 -0
  10. package/dist/agents/agent-event-bus.js +88 -0
  11. package/dist/agents/agent-event-bus.js.map +1 -0
  12. package/dist/agents/agent-events.d.ts +84 -0
  13. package/dist/agents/agent-events.d.ts.map +1 -0
  14. package/dist/agents/agent-events.js +309 -0
  15. package/dist/agents/agent-events.js.map +1 -0
  16. package/dist/agents/agent-events.types.d.ts +139 -0
  17. package/dist/agents/agent-events.types.d.ts.map +1 -0
  18. package/dist/agents/agent-events.types.js +27 -0
  19. package/dist/agents/agent-events.types.js.map +1 -0
  20. package/dist/agents/agent-loop.d.ts +145 -0
  21. package/dist/agents/agent-loop.d.ts.map +1 -0
  22. package/dist/agents/agent-loop.js +1938 -0
  23. package/dist/agents/agent-loop.js.map +1 -0
  24. package/dist/agents/agent-scope.d.ts +28 -0
  25. package/dist/agents/agent-scope.d.ts.map +1 -0
  26. package/dist/agents/agent-scope.js +39 -0
  27. package/dist/agents/agent-scope.js.map +1 -0
  28. package/dist/agents/approval-bridge.d.ts +139 -0
  29. package/dist/agents/approval-bridge.d.ts.map +1 -0
  30. package/dist/agents/approval-bridge.js +178 -0
  31. package/dist/agents/approval-bridge.js.map +1 -0
  32. package/dist/agents/carrow.d.ts +49 -0
  33. package/dist/agents/carrow.d.ts.map +1 -0
  34. package/dist/agents/carrow.js +57 -0
  35. package/dist/agents/carrow.js.map +1 -0
  36. package/dist/agents/channels/abort-triggers.d.ts +17 -0
  37. package/dist/agents/channels/abort-triggers.d.ts.map +1 -0
  38. package/dist/agents/channels/abort-triggers.js +52 -0
  39. package/dist/agents/channels/abort-triggers.js.map +1 -0
  40. package/dist/agents/channels/access-control/index.d.ts +5 -0
  41. package/dist/agents/channels/access-control/index.d.ts.map +1 -0
  42. package/dist/agents/channels/access-control/index.js +4 -0
  43. package/dist/agents/channels/access-control/index.js.map +1 -0
  44. package/dist/agents/channels/access-control/policy.d.ts +69 -0
  45. package/dist/agents/channels/access-control/policy.d.ts.map +1 -0
  46. package/dist/agents/channels/access-control/policy.js +123 -0
  47. package/dist/agents/channels/access-control/policy.js.map +1 -0
  48. package/dist/agents/channels/access-control/store.d.ts +86 -0
  49. package/dist/agents/channels/access-control/store.d.ts.map +1 -0
  50. package/dist/agents/channels/access-control/store.js +482 -0
  51. package/dist/agents/channels/access-control/store.js.map +1 -0
  52. package/dist/agents/channels/access-control/types.d.ts +52 -0
  53. package/dist/agents/channels/access-control/types.d.ts.map +1 -0
  54. package/dist/agents/channels/access-control/types.js +20 -0
  55. package/dist/agents/channels/access-control/types.js.map +1 -0
  56. package/dist/agents/channels/active-manager.d.ts +31 -0
  57. package/dist/agents/channels/active-manager.d.ts.map +1 -0
  58. package/dist/agents/channels/active-manager.js +41 -0
  59. package/dist/agents/channels/active-manager.js.map +1 -0
  60. package/dist/agents/channels/agent-switch-command.d.ts +53 -0
  61. package/dist/agents/channels/agent-switch-command.d.ts.map +1 -0
  62. package/dist/agents/channels/agent-switch-command.js +349 -0
  63. package/dist/agents/channels/agent-switch-command.js.map +1 -0
  64. package/dist/agents/channels/approval-router.d.ts +158 -0
  65. package/dist/agents/channels/approval-router.d.ts.map +1 -0
  66. package/dist/agents/channels/approval-router.js +446 -0
  67. package/dist/agents/channels/approval-router.js.map +1 -0
  68. package/dist/agents/channels/channel-entry-contract.d.ts +70 -0
  69. package/dist/agents/channels/channel-entry-contract.d.ts.map +1 -0
  70. package/dist/agents/channels/channel-entry-contract.js +48 -0
  71. package/dist/agents/channels/channel-entry-contract.js.map +1 -0
  72. package/dist/agents/channels/channel-plugin-manager.d.ts +86 -0
  73. package/dist/agents/channels/channel-plugin-manager.d.ts.map +1 -0
  74. package/dist/agents/channels/channel-plugin-manager.js +345 -0
  75. package/dist/agents/channels/channel-plugin-manager.js.map +1 -0
  76. package/dist/agents/channels/chat-type.d.ts +27 -0
  77. package/dist/agents/channels/chat-type.d.ts.map +1 -0
  78. package/dist/agents/channels/chat-type.js +33 -0
  79. package/dist/agents/channels/chat-type.js.map +1 -0
  80. package/dist/agents/channels/dedupe.d.ts +44 -0
  81. package/dist/agents/channels/dedupe.d.ts.map +1 -0
  82. package/dist/agents/channels/dedupe.js +80 -0
  83. package/dist/agents/channels/dedupe.js.map +1 -0
  84. package/dist/agents/channels/inbound-pipeline.d.ts +90 -0
  85. package/dist/agents/channels/inbound-pipeline.d.ts.map +1 -0
  86. package/dist/agents/channels/inbound-pipeline.js +721 -0
  87. package/dist/agents/channels/inbound-pipeline.js.map +1 -0
  88. package/dist/agents/channels/last-channel.d.ts +56 -0
  89. package/dist/agents/channels/last-channel.d.ts.map +1 -0
  90. package/dist/agents/channels/last-channel.js +65 -0
  91. package/dist/agents/channels/last-channel.js.map +1 -0
  92. package/dist/agents/channels/manager.d.ts +76 -0
  93. package/dist/agents/channels/manager.d.ts.map +1 -0
  94. package/dist/agents/channels/manager.js +132 -0
  95. package/dist/agents/channels/manager.js.map +1 -0
  96. package/dist/agents/channels/media-capture.d.ts +23 -0
  97. package/dist/agents/channels/media-capture.d.ts.map +1 -0
  98. package/dist/agents/channels/media-capture.js +40 -0
  99. package/dist/agents/channels/media-capture.js.map +1 -0
  100. package/dist/agents/channels/plugin-channel-manager-facade.d.ts +18 -0
  101. package/dist/agents/channels/plugin-channel-manager-facade.d.ts.map +1 -0
  102. package/dist/agents/channels/plugin-channel-manager-facade.js +52 -0
  103. package/dist/agents/channels/plugin-channel-manager-facade.js.map +1 -0
  104. package/dist/agents/channels/reply-sanitizer.d.ts +38 -0
  105. package/dist/agents/channels/reply-sanitizer.d.ts.map +1 -0
  106. package/dist/agents/channels/reply-sanitizer.js +94 -0
  107. package/dist/agents/channels/reply-sanitizer.js.map +1 -0
  108. package/dist/agents/channels/retryable-inbound.d.ts +31 -0
  109. package/dist/agents/channels/retryable-inbound.d.ts.map +1 -0
  110. package/dist/agents/channels/retryable-inbound.js +37 -0
  111. package/dist/agents/channels/retryable-inbound.js.map +1 -0
  112. package/dist/agents/channels/types.adapters.d.ts +399 -0
  113. package/dist/agents/channels/types.adapters.d.ts.map +1 -0
  114. package/dist/agents/channels/types.adapters.js +33 -0
  115. package/dist/agents/channels/types.adapters.js.map +1 -0
  116. package/dist/agents/channels/types.core.d.ts +134 -0
  117. package/dist/agents/channels/types.core.d.ts.map +1 -0
  118. package/dist/agents/channels/types.core.js +32 -0
  119. package/dist/agents/channels/types.core.js.map +1 -0
  120. package/dist/agents/channels/types.plugin.d.ts +78 -0
  121. package/dist/agents/channels/types.plugin.d.ts.map +1 -0
  122. package/dist/agents/channels/types.plugin.js +30 -0
  123. package/dist/agents/channels/types.plugin.js.map +1 -0
  124. package/dist/agents/channels/whatsapp/account-config.d.ts +50 -0
  125. package/dist/agents/channels/whatsapp/account-config.d.ts.map +1 -0
  126. package/dist/agents/channels/whatsapp/account-config.js +105 -0
  127. package/dist/agents/channels/whatsapp/account-config.js.map +1 -0
  128. package/dist/agents/channels/whatsapp/adapter.d.ts +22 -0
  129. package/dist/agents/channels/whatsapp/adapter.d.ts.map +1 -0
  130. package/dist/agents/channels/whatsapp/adapter.js +270 -0
  131. package/dist/agents/channels/whatsapp/adapter.js.map +1 -0
  132. package/dist/agents/channels/whatsapp/chunk.d.ts +26 -0
  133. package/dist/agents/channels/whatsapp/chunk.d.ts.map +1 -0
  134. package/dist/agents/channels/whatsapp/chunk.js +123 -0
  135. package/dist/agents/channels/whatsapp/chunk.js.map +1 -0
  136. package/dist/agents/channels/whatsapp/connection.d.ts +249 -0
  137. package/dist/agents/channels/whatsapp/connection.d.ts.map +1 -0
  138. package/dist/agents/channels/whatsapp/connection.js +1628 -0
  139. package/dist/agents/channels/whatsapp/connection.js.map +1 -0
  140. package/dist/agents/channels/whatsapp/convex-auth-state.d.ts +34 -0
  141. package/dist/agents/channels/whatsapp/convex-auth-state.d.ts.map +1 -0
  142. package/dist/agents/channels/whatsapp/convex-auth-state.js +168 -0
  143. package/dist/agents/channels/whatsapp/convex-auth-state.js.map +1 -0
  144. package/dist/agents/channels/whatsapp/format.d.ts +15 -0
  145. package/dist/agents/channels/whatsapp/format.d.ts.map +1 -0
  146. package/dist/agents/channels/whatsapp/format.js +66 -0
  147. package/dist/agents/channels/whatsapp/format.js.map +1 -0
  148. package/dist/agents/channels/whatsapp/inbound-extras.d.ts +30 -0
  149. package/dist/agents/channels/whatsapp/inbound-extras.d.ts.map +1 -0
  150. package/dist/agents/channels/whatsapp/inbound-extras.js +146 -0
  151. package/dist/agents/channels/whatsapp/inbound-extras.js.map +1 -0
  152. package/dist/agents/channels/whatsapp/index.d.ts +7 -0
  153. package/dist/agents/channels/whatsapp/index.d.ts.map +1 -0
  154. package/dist/agents/channels/whatsapp/index.js +7 -0
  155. package/dist/agents/channels/whatsapp/index.js.map +1 -0
  156. package/dist/agents/channels/whatsapp/media.d.ts +47 -0
  157. package/dist/agents/channels/whatsapp/media.d.ts.map +1 -0
  158. package/dist/agents/channels/whatsapp/media.js +192 -0
  159. package/dist/agents/channels/whatsapp/media.js.map +1 -0
  160. package/dist/agents/channels/whatsapp/module.d.ts +10 -0
  161. package/dist/agents/channels/whatsapp/module.d.ts.map +1 -0
  162. package/dist/agents/channels/whatsapp/module.js +17 -0
  163. package/dist/agents/channels/whatsapp/module.js.map +1 -0
  164. package/dist/agents/channels/whatsapp/plugin.d.ts +60 -0
  165. package/dist/agents/channels/whatsapp/plugin.d.ts.map +1 -0
  166. package/dist/agents/channels/whatsapp/plugin.js +238 -0
  167. package/dist/agents/channels/whatsapp/plugin.js.map +1 -0
  168. package/dist/agents/cmd-ism-guard.d.ts +47 -0
  169. package/dist/agents/cmd-ism-guard.d.ts.map +1 -0
  170. package/dist/agents/cmd-ism-guard.js +100 -0
  171. package/dist/agents/cmd-ism-guard.js.map +1 -0
  172. package/dist/agents/config-write-guard.d.ts +25 -0
  173. package/dist/agents/config-write-guard.d.ts.map +1 -0
  174. package/dist/agents/config-write-guard.js +95 -0
  175. package/dist/agents/config-write-guard.js.map +1 -0
  176. package/dist/agents/content-quality-retry.d.ts +66 -0
  177. package/dist/agents/content-quality-retry.d.ts.map +1 -0
  178. package/dist/agents/content-quality-retry.js +140 -0
  179. package/dist/agents/content-quality-retry.js.map +1 -0
  180. package/dist/agents/error-classifier.d.ts +89 -0
  181. package/dist/agents/error-classifier.d.ts.map +1 -0
  182. package/dist/agents/error-classifier.js +630 -0
  183. package/dist/agents/error-classifier.js.map +1 -0
  184. package/dist/agents/exec-gate.d.ts +113 -0
  185. package/dist/agents/exec-gate.d.ts.map +1 -0
  186. package/dist/agents/exec-gate.js +335 -0
  187. package/dist/agents/exec-gate.js.map +1 -0
  188. package/dist/agents/exec-session-allow.d.ts +30 -0
  189. package/dist/agents/exec-session-allow.d.ts.map +1 -0
  190. package/dist/agents/exec-session-allow.js +50 -0
  191. package/dist/agents/exec-session-allow.js.map +1 -0
  192. package/dist/agents/extensions/active-registry.d.ts +4 -0
  193. package/dist/agents/extensions/active-registry.d.ts.map +1 -0
  194. package/dist/agents/extensions/active-registry.js +18 -0
  195. package/dist/agents/extensions/active-registry.js.map +1 -0
  196. package/dist/agents/extensions/discovery.d.ts +84 -0
  197. package/dist/agents/extensions/discovery.d.ts.map +1 -0
  198. package/dist/agents/extensions/discovery.js +249 -0
  199. package/dist/agents/extensions/discovery.js.map +1 -0
  200. package/dist/agents/extensions/hook-runner.d.ts +67 -0
  201. package/dist/agents/extensions/hook-runner.d.ts.map +1 -0
  202. package/dist/agents/extensions/hook-runner.js +155 -0
  203. package/dist/agents/extensions/hook-runner.js.map +1 -0
  204. package/dist/agents/extensions/index.d.ts +15 -0
  205. package/dist/agents/extensions/index.d.ts.map +1 -0
  206. package/dist/agents/extensions/index.js +14 -0
  207. package/dist/agents/extensions/index.js.map +1 -0
  208. package/dist/agents/extensions/loader.d.ts +38 -0
  209. package/dist/agents/extensions/loader.d.ts.map +1 -0
  210. package/dist/agents/extensions/loader.js +142 -0
  211. package/dist/agents/extensions/loader.js.map +1 -0
  212. package/dist/agents/extensions/modules/arxiv.d.ts +28 -0
  213. package/dist/agents/extensions/modules/arxiv.d.ts.map +1 -0
  214. package/dist/agents/extensions/modules/arxiv.js +145 -0
  215. package/dist/agents/extensions/modules/arxiv.js.map +1 -0
  216. package/dist/agents/extensions/modules/brave.d.ts +28 -0
  217. package/dist/agents/extensions/modules/brave.d.ts.map +1 -0
  218. package/dist/agents/extensions/modules/brave.js +489 -0
  219. package/dist/agents/extensions/modules/brave.js.map +1 -0
  220. package/dist/agents/extensions/modules/duckduckgo.d.ts +27 -0
  221. package/dist/agents/extensions/modules/duckduckgo.d.ts.map +1 -0
  222. package/dist/agents/extensions/modules/duckduckgo.js +263 -0
  223. package/dist/agents/extensions/modules/duckduckgo.js.map +1 -0
  224. package/dist/agents/extensions/modules/exa.d.ts +19 -0
  225. package/dist/agents/extensions/modules/exa.d.ts.map +1 -0
  226. package/dist/agents/extensions/modules/exa.js +208 -0
  227. package/dist/agents/extensions/modules/exa.js.map +1 -0
  228. package/dist/agents/extensions/modules/firecrawl.d.ts +51 -0
  229. package/dist/agents/extensions/modules/firecrawl.d.ts.map +1 -0
  230. package/dist/agents/extensions/modules/firecrawl.js +280 -0
  231. package/dist/agents/extensions/modules/firecrawl.js.map +1 -0
  232. package/dist/agents/extensions/modules/github-search.d.ts +29 -0
  233. package/dist/agents/extensions/modules/github-search.d.ts.map +1 -0
  234. package/dist/agents/extensions/modules/github-search.js +197 -0
  235. package/dist/agents/extensions/modules/github-search.js.map +1 -0
  236. package/dist/agents/extensions/modules/hackernews.d.ts +17 -0
  237. package/dist/agents/extensions/modules/hackernews.d.ts.map +1 -0
  238. package/dist/agents/extensions/modules/hackernews.js +144 -0
  239. package/dist/agents/extensions/modules/hackernews.js.map +1 -0
  240. package/dist/agents/extensions/modules/index.d.ts +11 -0
  241. package/dist/agents/extensions/modules/index.d.ts.map +1 -0
  242. package/dist/agents/extensions/modules/index.js +64 -0
  243. package/dist/agents/extensions/modules/index.js.map +1 -0
  244. package/dist/agents/extensions/modules/npm-search.d.ts +15 -0
  245. package/dist/agents/extensions/modules/npm-search.d.ts.map +1 -0
  246. package/dist/agents/extensions/modules/npm-search.js +126 -0
  247. package/dist/agents/extensions/modules/npm-search.js.map +1 -0
  248. package/dist/agents/extensions/modules/ollama-search.d.ts +30 -0
  249. package/dist/agents/extensions/modules/ollama-search.d.ts.map +1 -0
  250. package/dist/agents/extensions/modules/ollama-search.js +171 -0
  251. package/dist/agents/extensions/modules/ollama-search.js.map +1 -0
  252. package/dist/agents/extensions/modules/perplexity.d.ts +19 -0
  253. package/dist/agents/extensions/modules/perplexity.d.ts.map +1 -0
  254. package/dist/agents/extensions/modules/perplexity.js +358 -0
  255. package/dist/agents/extensions/modules/perplexity.js.map +1 -0
  256. package/dist/agents/extensions/modules/searxng.d.ts +43 -0
  257. package/dist/agents/extensions/modules/searxng.d.ts.map +1 -0
  258. package/dist/agents/extensions/modules/searxng.js +191 -0
  259. package/dist/agents/extensions/modules/searxng.js.map +1 -0
  260. package/dist/agents/extensions/modules/tavily.d.ts +71 -0
  261. package/dist/agents/extensions/modules/tavily.d.ts.map +1 -0
  262. package/dist/agents/extensions/modules/tavily.js +330 -0
  263. package/dist/agents/extensions/modules/tavily.js.map +1 -0
  264. package/dist/agents/extensions/modules/web-provider-helpers.d.ts +89 -0
  265. package/dist/agents/extensions/modules/web-provider-helpers.d.ts.map +1 -0
  266. package/dist/agents/extensions/modules/web-provider-helpers.js +146 -0
  267. package/dist/agents/extensions/modules/web-provider-helpers.js.map +1 -0
  268. package/dist/agents/extensions/modules/web-search-filters.d.ts +62 -0
  269. package/dist/agents/extensions/modules/web-search-filters.d.ts.map +1 -0
  270. package/dist/agents/extensions/modules/web-search-filters.js +179 -0
  271. package/dist/agents/extensions/modules/web-search-filters.js.map +1 -0
  272. package/dist/agents/extensions/modules/wikipedia.d.ts +16 -0
  273. package/dist/agents/extensions/modules/wikipedia.d.ts.map +1 -0
  274. package/dist/agents/extensions/modules/wikipedia.js +138 -0
  275. package/dist/agents/extensions/modules/wikipedia.js.map +1 -0
  276. package/dist/agents/extensions/registry-cache.d.ts +74 -0
  277. package/dist/agents/extensions/registry-cache.d.ts.map +1 -0
  278. package/dist/agents/extensions/registry-cache.js +117 -0
  279. package/dist/agents/extensions/registry-cache.js.map +1 -0
  280. package/dist/agents/extensions/registry.d.ts +184 -0
  281. package/dist/agents/extensions/registry.d.ts.map +1 -0
  282. package/dist/agents/extensions/registry.js +512 -0
  283. package/dist/agents/extensions/registry.js.map +1 -0
  284. package/dist/agents/extensions/types.d.ts +1195 -0
  285. package/dist/agents/extensions/types.d.ts.map +1 -0
  286. package/dist/agents/extensions/types.js +28 -0
  287. package/dist/agents/extensions/types.js.map +1 -0
  288. package/dist/agents/gateway-call.d.ts +171 -0
  289. package/dist/agents/gateway-call.d.ts.map +1 -0
  290. package/dist/agents/gateway-call.js +74 -0
  291. package/dist/agents/gateway-call.js.map +1 -0
  292. package/dist/agents/heartbeat-runner.d.ts +100 -0
  293. package/dist/agents/heartbeat-runner.d.ts.map +1 -0
  294. package/dist/agents/heartbeat-runner.js +268 -0
  295. package/dist/agents/heartbeat-runner.js.map +1 -0
  296. package/dist/agents/heartbeat-scheduler.d.ts +56 -0
  297. package/dist/agents/heartbeat-scheduler.d.ts.map +1 -0
  298. package/dist/agents/heartbeat-scheduler.js +366 -0
  299. package/dist/agents/heartbeat-scheduler.js.map +1 -0
  300. package/dist/agents/heartbeat-wake.d.ts +99 -0
  301. package/dist/agents/heartbeat-wake.d.ts.map +1 -0
  302. package/dist/agents/heartbeat-wake.js +304 -0
  303. package/dist/agents/heartbeat-wake.js.map +1 -0
  304. package/dist/agents/identity-file.d.ts +26 -0
  305. package/dist/agents/identity-file.d.ts.map +1 -0
  306. package/dist/agents/identity-file.js +86 -0
  307. package/dist/agents/identity-file.js.map +1 -0
  308. package/dist/agents/identity-links.d.ts +44 -0
  309. package/dist/agents/identity-links.d.ts.map +1 -0
  310. package/dist/agents/identity-links.js +51 -0
  311. package/dist/agents/identity-links.js.map +1 -0
  312. package/dist/agents/loop/autonomous-agent.d.ts +55 -0
  313. package/dist/agents/loop/autonomous-agent.d.ts.map +1 -0
  314. package/dist/agents/loop/autonomous-agent.js +91 -0
  315. package/dist/agents/loop/autonomous-agent.js.map +1 -0
  316. package/dist/agents/loop/loop-guards.d.ts +95 -0
  317. package/dist/agents/loop/loop-guards.d.ts.map +1 -0
  318. package/dist/agents/loop/loop-guards.js +169 -0
  319. package/dist/agents/loop/loop-guards.js.map +1 -0
  320. package/dist/agents/loop/loop-runner.d.ts +72 -0
  321. package/dist/agents/loop/loop-runner.d.ts.map +1 -0
  322. package/dist/agents/loop/loop-runner.js +114 -0
  323. package/dist/agents/loop/loop-runner.js.map +1 -0
  324. package/dist/agents/memory/auto-recall.d.ts +69 -0
  325. package/dist/agents/memory/auto-recall.d.ts.map +1 -0
  326. package/dist/agents/memory/auto-recall.js +147 -0
  327. package/dist/agents/memory/auto-recall.js.map +1 -0
  328. package/dist/agents/memory/behavior-review.d.ts +68 -0
  329. package/dist/agents/memory/behavior-review.d.ts.map +1 -0
  330. package/dist/agents/memory/behavior-review.js +131 -0
  331. package/dist/agents/memory/behavior-review.js.map +1 -0
  332. package/dist/agents/memory/consolidate.d.ts +62 -0
  333. package/dist/agents/memory/consolidate.d.ts.map +1 -0
  334. package/dist/agents/memory/consolidate.js +275 -0
  335. package/dist/agents/memory/consolidate.js.map +1 -0
  336. package/dist/agents/memory/contradiction.d.ts +44 -0
  337. package/dist/agents/memory/contradiction.d.ts.map +1 -0
  338. package/dist/agents/memory/contradiction.js +86 -0
  339. package/dist/agents/memory/contradiction.js.map +1 -0
  340. package/dist/agents/memory/curator.d.ts +22 -0
  341. package/dist/agents/memory/curator.d.ts.map +1 -0
  342. package/dist/agents/memory/curator.js +52 -0
  343. package/dist/agents/memory/curator.js.map +1 -0
  344. package/dist/agents/memory/decay.d.ts +32 -0
  345. package/dist/agents/memory/decay.d.ts.map +1 -0
  346. package/dist/agents/memory/decay.js +86 -0
  347. package/dist/agents/memory/decay.js.map +1 -0
  348. package/dist/agents/memory/dream.d.ts +52 -0
  349. package/dist/agents/memory/dream.d.ts.map +1 -0
  350. package/dist/agents/memory/dream.js +192 -0
  351. package/dist/agents/memory/dream.js.map +1 -0
  352. package/dist/agents/memory/embedder-providers.d.ts +114 -0
  353. package/dist/agents/memory/embedder-providers.d.ts.map +1 -0
  354. package/dist/agents/memory/embedder-providers.js +213 -0
  355. package/dist/agents/memory/embedder-providers.js.map +1 -0
  356. package/dist/agents/memory/embedder.d.ts +84 -0
  357. package/dist/agents/memory/embedder.d.ts.map +1 -0
  358. package/dist/agents/memory/embedder.js +218 -0
  359. package/dist/agents/memory/embedder.js.map +1 -0
  360. package/dist/agents/memory/eval/asr-bench.d.ts +33 -0
  361. package/dist/agents/memory/eval/asr-bench.d.ts.map +1 -0
  362. package/dist/agents/memory/eval/asr-bench.js +129 -0
  363. package/dist/agents/memory/eval/asr-bench.js.map +1 -0
  364. package/dist/agents/memory/eval/capabilities.d.ts +97 -0
  365. package/dist/agents/memory/eval/capabilities.d.ts.map +1 -0
  366. package/dist/agents/memory/eval/capabilities.js +210 -0
  367. package/dist/agents/memory/eval/capabilities.js.map +1 -0
  368. package/dist/agents/memory/eval/gold-export.d.ts +44 -0
  369. package/dist/agents/memory/eval/gold-export.d.ts.map +1 -0
  370. package/dist/agents/memory/eval/gold-export.js +85 -0
  371. package/dist/agents/memory/eval/gold-export.js.map +1 -0
  372. package/dist/agents/memory/eval/gold-hard.d.ts +35 -0
  373. package/dist/agents/memory/eval/gold-hard.d.ts.map +1 -0
  374. package/dist/agents/memory/eval/gold-hard.js +113 -0
  375. package/dist/agents/memory/eval/gold-hard.js.map +1 -0
  376. package/dist/agents/memory/eval/gold-rich.d.ts +33 -0
  377. package/dist/agents/memory/eval/gold-rich.d.ts.map +1 -0
  378. package/dist/agents/memory/eval/gold-rich.js +82 -0
  379. package/dist/agents/memory/eval/gold-rich.js.map +1 -0
  380. package/dist/agents/memory/eval/gold-synthetic.d.ts +19 -0
  381. package/dist/agents/memory/eval/gold-synthetic.d.ts.map +1 -0
  382. package/dist/agents/memory/eval/gold-synthetic.js +65 -0
  383. package/dist/agents/memory/eval/gold-synthetic.js.map +1 -0
  384. package/dist/agents/memory/eval/gold.d.ts +73 -0
  385. package/dist/agents/memory/eval/gold.d.ts.map +1 -0
  386. package/dist/agents/memory/eval/gold.js +174 -0
  387. package/dist/agents/memory/eval/gold.js.map +1 -0
  388. package/dist/agents/memory/eval/harness.d.ts +110 -0
  389. package/dist/agents/memory/eval/harness.d.ts.map +1 -0
  390. package/dist/agents/memory/eval/harness.js +123 -0
  391. package/dist/agents/memory/eval/harness.js.map +1 -0
  392. package/dist/agents/memory/eval/metrics.d.ts +71 -0
  393. package/dist/agents/memory/eval/metrics.d.ts.map +1 -0
  394. package/dist/agents/memory/eval/metrics.js +169 -0
  395. package/dist/agents/memory/eval/metrics.js.map +1 -0
  396. package/dist/agents/memory/event-log.d.ts +52 -0
  397. package/dist/agents/memory/event-log.d.ts.map +1 -0
  398. package/dist/agents/memory/event-log.js +65 -0
  399. package/dist/agents/memory/event-log.js.map +1 -0
  400. package/dist/agents/memory/extract.d.ts +155 -0
  401. package/dist/agents/memory/extract.d.ts.map +1 -0
  402. package/dist/agents/memory/extract.js +571 -0
  403. package/dist/agents/memory/extract.js.map +1 -0
  404. package/dist/agents/memory/governance.d.ts +45 -0
  405. package/dist/agents/memory/governance.d.ts.map +1 -0
  406. package/dist/agents/memory/governance.js +113 -0
  407. package/dist/agents/memory/governance.js.map +1 -0
  408. package/dist/agents/memory/graph-export.d.ts +59 -0
  409. package/dist/agents/memory/graph-export.d.ts.map +1 -0
  410. package/dist/agents/memory/graph-export.js +181 -0
  411. package/dist/agents/memory/graph-export.js.map +1 -0
  412. package/dist/agents/memory/graph-recall.d.ts +42 -0
  413. package/dist/agents/memory/graph-recall.d.ts.map +1 -0
  414. package/dist/agents/memory/graph-recall.js +165 -0
  415. package/dist/agents/memory/graph-recall.js.map +1 -0
  416. package/dist/agents/memory/graph.d.ts +92 -0
  417. package/dist/agents/memory/graph.d.ts.map +1 -0
  418. package/dist/agents/memory/graph.js +266 -0
  419. package/dist/agents/memory/graph.js.map +1 -0
  420. package/dist/agents/memory/host-ports.d.ts +27 -0
  421. package/dist/agents/memory/host-ports.d.ts.map +1 -0
  422. package/dist/agents/memory/host-ports.js +31 -0
  423. package/dist/agents/memory/host-ports.js.map +1 -0
  424. package/dist/agents/memory/hybrid.d.ts +46 -0
  425. package/dist/agents/memory/hybrid.d.ts.map +1 -0
  426. package/dist/agents/memory/hybrid.js +184 -0
  427. package/dist/agents/memory/hybrid.js.map +1 -0
  428. package/dist/agents/memory/index.d.ts +13 -0
  429. package/dist/agents/memory/index.d.ts.map +1 -0
  430. package/dist/agents/memory/index.js +13 -0
  431. package/dist/agents/memory/index.js.map +1 -0
  432. package/dist/agents/memory/json-scan.d.ts +14 -0
  433. package/dist/agents/memory/json-scan.d.ts.map +1 -0
  434. package/dist/agents/memory/json-scan.js +47 -0
  435. package/dist/agents/memory/json-scan.js.map +1 -0
  436. package/dist/agents/memory/links.d.ts +92 -0
  437. package/dist/agents/memory/links.d.ts.map +1 -0
  438. package/dist/agents/memory/links.js +140 -0
  439. package/dist/agents/memory/links.js.map +1 -0
  440. package/dist/agents/memory/maintenance.d.ts +18 -0
  441. package/dist/agents/memory/maintenance.d.ts.map +1 -0
  442. package/dist/agents/memory/maintenance.js +66 -0
  443. package/dist/agents/memory/maintenance.js.map +1 -0
  444. package/dist/agents/memory/memory-mcp-server.d.ts +39 -0
  445. package/dist/agents/memory/memory-mcp-server.d.ts.map +1 -0
  446. package/dist/agents/memory/memory-mcp-server.js +122 -0
  447. package/dist/agents/memory/memory-mcp-server.js.map +1 -0
  448. package/dist/agents/memory/memory-mcp.d.ts +34 -0
  449. package/dist/agents/memory/memory-mcp.d.ts.map +1 -0
  450. package/dist/agents/memory/memory-mcp.js +130 -0
  451. package/dist/agents/memory/memory-mcp.js.map +1 -0
  452. package/dist/agents/memory/plugin-runtime.d.ts +133 -0
  453. package/dist/agents/memory/plugin-runtime.d.ts.map +1 -0
  454. package/dist/agents/memory/plugin-runtime.js +149 -0
  455. package/dist/agents/memory/plugin-runtime.js.map +1 -0
  456. package/dist/agents/memory/query.d.ts +50 -0
  457. package/dist/agents/memory/query.d.ts.map +1 -0
  458. package/dist/agents/memory/query.js +94 -0
  459. package/dist/agents/memory/query.js.map +1 -0
  460. package/dist/agents/memory/records.d.ts +617 -0
  461. package/dist/agents/memory/records.d.ts.map +1 -0
  462. package/dist/agents/memory/records.js +1327 -0
  463. package/dist/agents/memory/records.js.map +1 -0
  464. package/dist/agents/memory/reembed.d.ts +42 -0
  465. package/dist/agents/memory/reembed.d.ts.map +1 -0
  466. package/dist/agents/memory/reembed.js +60 -0
  467. package/dist/agents/memory/reembed.js.map +1 -0
  468. package/dist/agents/memory/relationship-extract.d.ts +259 -0
  469. package/dist/agents/memory/relationship-extract.d.ts.map +1 -0
  470. package/dist/agents/memory/relationship-extract.js +454 -0
  471. package/dist/agents/memory/relationship-extract.js.map +1 -0
  472. package/dist/agents/memory/rerank.d.ts +37 -0
  473. package/dist/agents/memory/rerank.d.ts.map +1 -0
  474. package/dist/agents/memory/rerank.js +43 -0
  475. package/dist/agents/memory/rerank.js.map +1 -0
  476. package/dist/agents/memory/scoring.d.ts +85 -0
  477. package/dist/agents/memory/scoring.d.ts.map +1 -0
  478. package/dist/agents/memory/scoring.js +139 -0
  479. package/dist/agents/memory/scoring.js.map +1 -0
  480. package/dist/agents/memory/self-improve.d.ts +56 -0
  481. package/dist/agents/memory/self-improve.d.ts.map +1 -0
  482. package/dist/agents/memory/self-improve.js +98 -0
  483. package/dist/agents/memory/self-improve.js.map +1 -0
  484. package/dist/agents/memory/self-review.d.ts +68 -0
  485. package/dist/agents/memory/self-review.d.ts.map +1 -0
  486. package/dist/agents/memory/self-review.js +109 -0
  487. package/dist/agents/memory/self-review.js.map +1 -0
  488. package/dist/agents/memory/storage.d.ts +156 -0
  489. package/dist/agents/memory/storage.d.ts.map +1 -0
  490. package/dist/agents/memory/storage.js +359 -0
  491. package/dist/agents/memory/storage.js.map +1 -0
  492. package/dist/agents/memory/tideline.d.ts +203 -0
  493. package/dist/agents/memory/tideline.d.ts.map +1 -0
  494. package/dist/agents/memory/tideline.js +189 -0
  495. package/dist/agents/memory/tideline.js.map +1 -0
  496. package/dist/agents/memory/vault.d.ts +142 -0
  497. package/dist/agents/memory/vault.d.ts.map +1 -0
  498. package/dist/agents/memory/vault.js +787 -0
  499. package/dist/agents/memory/vault.js.map +1 -0
  500. package/dist/agents/memory/write-gate.d.ts +76 -0
  501. package/dist/agents/memory/write-gate.d.ts.map +1 -0
  502. package/dist/agents/memory/write-gate.js +140 -0
  503. package/dist/agents/memory/write-gate.js.map +1 -0
  504. package/dist/agents/mid-turn-switch.d.ts +25 -0
  505. package/dist/agents/mid-turn-switch.d.ts.map +1 -0
  506. package/dist/agents/mid-turn-switch.js +103 -0
  507. package/dist/agents/mid-turn-switch.js.map +1 -0
  508. package/dist/agents/model-fallback.d.ts +50 -0
  509. package/dist/agents/model-fallback.d.ts.map +1 -0
  510. package/dist/agents/model-fallback.js +226 -0
  511. package/dist/agents/model-fallback.js.map +1 -0
  512. package/dist/agents/model-resolution.d.ts +38 -0
  513. package/dist/agents/model-resolution.d.ts.map +1 -0
  514. package/dist/agents/model-resolution.js +155 -0
  515. package/dist/agents/model-resolution.js.map +1 -0
  516. package/dist/agents/org/a2a-adapter.d.ts +49 -0
  517. package/dist/agents/org/a2a-adapter.d.ts.map +1 -0
  518. package/dist/agents/org/a2a-adapter.js +92 -0
  519. package/dist/agents/org/a2a-adapter.js.map +1 -0
  520. package/dist/agents/org/assets/mascots/README.md +34 -0
  521. package/dist/agents/org/assets/mascots/Untitled-1.png +0 -0
  522. package/dist/agents/org/assets/mascots/brigade_biceps.png +0 -0
  523. package/dist/agents/org/audit-log.d.ts +22 -0
  524. package/dist/agents/org/audit-log.d.ts.map +1 -0
  525. package/dist/agents/org/audit-log.js +37 -0
  526. package/dist/agents/org/audit-log.js.map +1 -0
  527. package/dist/agents/org/auto-derive.d.ts +22 -0
  528. package/dist/agents/org/auto-derive.d.ts.map +1 -0
  529. package/dist/agents/org/auto-derive.js +66 -0
  530. package/dist/agents/org/auto-derive.js.map +1 -0
  531. package/dist/agents/org/delivery-kind.d.ts +89 -0
  532. package/dist/agents/org/delivery-kind.d.ts.map +1 -0
  533. package/dist/agents/org/delivery-kind.js +149 -0
  534. package/dist/agents/org/delivery-kind.js.map +1 -0
  535. package/dist/agents/org/derive-graph.d.ts +34 -0
  536. package/dist/agents/org/derive-graph.d.ts.map +1 -0
  537. package/dist/agents/org/derive-graph.js +266 -0
  538. package/dist/agents/org/derive-graph.js.map +1 -0
  539. package/dist/agents/org/lints.d.ts +21 -0
  540. package/dist/agents/org/lints.d.ts.map +1 -0
  541. package/dist/agents/org/lints.js +133 -0
  542. package/dist/agents/org/lints.js.map +1 -0
  543. package/dist/agents/org/pride-html.d.ts +61 -0
  544. package/dist/agents/org/pride-html.d.ts.map +1 -0
  545. package/dist/agents/org/pride-html.js +565 -0
  546. package/dist/agents/org/pride-html.js.map +1 -0
  547. package/dist/agents/org/pride-image.d.ts +101 -0
  548. package/dist/agents/org/pride-image.d.ts.map +1 -0
  549. package/dist/agents/org/pride-image.js +210 -0
  550. package/dist/agents/org/pride-image.js.map +1 -0
  551. package/dist/agents/org/pride-taunts.d.ts +47 -0
  552. package/dist/agents/org/pride-taunts.d.ts.map +1 -0
  553. package/dist/agents/org/pride-taunts.js +411 -0
  554. package/dist/agents/org/pride-taunts.js.map +1 -0
  555. package/dist/agents/org/pride-template.d.ts +272 -0
  556. package/dist/agents/org/pride-template.d.ts.map +1 -0
  557. package/dist/agents/org/pride-template.js +892 -0
  558. package/dist/agents/org/pride-template.js.map +1 -0
  559. package/dist/agents/org/pride-themes.d.ts +80 -0
  560. package/dist/agents/org/pride-themes.d.ts.map +1 -0
  561. package/dist/agents/org/pride-themes.js +7596 -0
  562. package/dist/agents/org/pride-themes.js.map +1 -0
  563. package/dist/agents/org/structured-errors.d.ts +47 -0
  564. package/dist/agents/org/structured-errors.d.ts.map +1 -0
  565. package/dist/agents/org/structured-errors.js +97 -0
  566. package/dist/agents/org/structured-errors.js.map +1 -0
  567. package/dist/agents/org/types.d.ts +139 -0
  568. package/dist/agents/org/types.d.ts.map +1 -0
  569. package/dist/agents/org/types.js +43 -0
  570. package/dist/agents/org/types.js.map +1 -0
  571. package/dist/agents/org/validate.d.ts +36 -0
  572. package/dist/agents/org/validate.d.ts.map +1 -0
  573. package/dist/agents/org/validate.js +135 -0
  574. package/dist/agents/org/validate.js.map +1 -0
  575. package/dist/agents/path-write-guard.d.ts +82 -0
  576. package/dist/agents/path-write-guard.d.ts.map +1 -0
  577. package/dist/agents/path-write-guard.js +722 -0
  578. package/dist/agents/path-write-guard.js.map +1 -0
  579. package/dist/agents/payload-mutators.d.ts +175 -0
  580. package/dist/agents/payload-mutators.d.ts.map +1 -0
  581. package/dist/agents/payload-mutators.js +994 -0
  582. package/dist/agents/payload-mutators.js.map +1 -0
  583. package/dist/agents/pending-system-events.d.ts +76 -0
  584. package/dist/agents/pending-system-events.d.ts.map +1 -0
  585. package/dist/agents/pending-system-events.js +115 -0
  586. package/dist/agents/pending-system-events.js.map +1 -0
  587. package/dist/agents/provider-attribution.d.ts +19 -0
  588. package/dist/agents/provider-attribution.d.ts.map +1 -0
  589. package/dist/agents/provider-attribution.js +62 -0
  590. package/dist/agents/provider-attribution.js.map +1 -0
  591. package/dist/agents/quality/slop-detector.d.ts +40 -0
  592. package/dist/agents/quality/slop-detector.d.ts.map +1 -0
  593. package/dist/agents/quality/slop-detector.js +108 -0
  594. package/dist/agents/quality/slop-detector.js.map +1 -0
  595. package/dist/agents/quality/slop-index.d.ts +27 -0
  596. package/dist/agents/quality/slop-index.d.ts.map +1 -0
  597. package/dist/agents/quality/slop-index.js +124 -0
  598. package/dist/agents/quality/slop-index.js.map +1 -0
  599. package/dist/agents/retry-policy.d.ts +38 -0
  600. package/dist/agents/retry-policy.d.ts.map +1 -0
  601. package/dist/agents/retry-policy.js +276 -0
  602. package/dist/agents/retry-policy.js.map +1 -0
  603. package/dist/agents/routing/account-id.d.ts +43 -0
  604. package/dist/agents/routing/account-id.d.ts.map +1 -0
  605. package/dist/agents/routing/account-id.js +103 -0
  606. package/dist/agents/routing/account-id.js.map +1 -0
  607. package/dist/agents/routing/bindings.d.ts +20 -0
  608. package/dist/agents/routing/bindings.d.ts.map +1 -0
  609. package/dist/agents/routing/bindings.js +22 -0
  610. package/dist/agents/routing/bindings.js.map +1 -0
  611. package/dist/agents/routing/dm-scope-warning.d.ts +37 -0
  612. package/dist/agents/routing/dm-scope-warning.d.ts.map +1 -0
  613. package/dist/agents/routing/dm-scope-warning.js +110 -0
  614. package/dist/agents/routing/dm-scope-warning.js.map +1 -0
  615. package/dist/agents/routing/identity-links.d.ts +45 -0
  616. package/dist/agents/routing/identity-links.d.ts.map +1 -0
  617. package/dist/agents/routing/identity-links.js +85 -0
  618. package/dist/agents/routing/identity-links.js.map +1 -0
  619. package/dist/agents/routing/resolve-route.d.ts +91 -0
  620. package/dist/agents/routing/resolve-route.d.ts.map +1 -0
  621. package/dist/agents/routing/resolve-route.js +653 -0
  622. package/dist/agents/routing/resolve-route.js.map +1 -0
  623. package/dist/agents/routing/session-key.d.ts +168 -0
  624. package/dist/agents/routing/session-key.d.ts.map +1 -0
  625. package/dist/agents/routing/session-key.js +268 -0
  626. package/dist/agents/routing/session-key.js.map +1 -0
  627. package/dist/agents/sanitize-surrogates.d.ts +30 -0
  628. package/dist/agents/sanitize-surrogates.d.ts.map +1 -0
  629. package/dist/agents/sanitize-surrogates.js +56 -0
  630. package/dist/agents/sanitize-surrogates.js.map +1 -0
  631. package/dist/agents/session-context.d.ts +80 -0
  632. package/dist/agents/session-context.d.ts.map +1 -0
  633. package/dist/agents/session-context.js +76 -0
  634. package/dist/agents/session-context.js.map +1 -0
  635. package/dist/agents/session-event-prompt.d.ts +124 -0
  636. package/dist/agents/session-event-prompt.d.ts.map +1 -0
  637. package/dist/agents/session-event-prompt.js +179 -0
  638. package/dist/agents/session-event-prompt.js.map +1 -0
  639. package/dist/agents/session-inbox.d.ts +129 -0
  640. package/dist/agents/session-inbox.d.ts.map +1 -0
  641. package/dist/agents/session-inbox.js +492 -0
  642. package/dist/agents/session-inbox.js.map +1 -0
  643. package/dist/agents/session-registry.d.ts +148 -0
  644. package/dist/agents/session-registry.d.ts.map +1 -0
  645. package/dist/agents/session-registry.js +405 -0
  646. package/dist/agents/session-registry.js.map +1 -0
  647. package/dist/agents/session-wiring.d.ts +214 -0
  648. package/dist/agents/session-wiring.d.ts.map +1 -0
  649. package/dist/agents/session-wiring.js +278 -0
  650. package/dist/agents/session-wiring.js.map +1 -0
  651. package/dist/agents/session-write-lock.d.ts +15 -0
  652. package/dist/agents/session-write-lock.d.ts.map +1 -0
  653. package/dist/agents/session-write-lock.js +15 -0
  654. package/dist/agents/session-write-lock.js.map +1 -0
  655. package/dist/agents/skills/agent-filter.d.ts +43 -0
  656. package/dist/agents/skills/agent-filter.d.ts.map +1 -0
  657. package/dist/agents/skills/agent-filter.js +89 -0
  658. package/dist/agents/skills/agent-filter.js.map +1 -0
  659. package/dist/agents/skills/discovery.d.ts +97 -0
  660. package/dist/agents/skills/discovery.d.ts.map +1 -0
  661. package/dist/agents/skills/discovery.js +136 -0
  662. package/dist/agents/skills/discovery.js.map +1 -0
  663. package/dist/agents/skills/eligibility.d.ts +118 -0
  664. package/dist/agents/skills/eligibility.d.ts.map +1 -0
  665. package/dist/agents/skills/eligibility.js +280 -0
  666. package/dist/agents/skills/eligibility.js.map +1 -0
  667. package/dist/agents/skills/grant.d.ts +70 -0
  668. package/dist/agents/skills/grant.d.ts.map +1 -0
  669. package/dist/agents/skills/grant.js +106 -0
  670. package/dist/agents/skills/grant.js.map +1 -0
  671. package/dist/agents/skills/index.d.ts +35 -0
  672. package/dist/agents/skills/index.d.ts.map +1 -0
  673. package/dist/agents/skills/index.js +88 -0
  674. package/dist/agents/skills/index.js.map +1 -0
  675. package/dist/agents/skills/install-spec.d.ts +51 -0
  676. package/dist/agents/skills/install-spec.d.ts.map +1 -0
  677. package/dist/agents/skills/install-spec.js +21 -0
  678. package/dist/agents/skills/install-spec.js.map +1 -0
  679. package/dist/agents/skills/install.d.ts +68 -0
  680. package/dist/agents/skills/install.d.ts.map +1 -0
  681. package/dist/agents/skills/install.js +206 -0
  682. package/dist/agents/skills/install.js.map +1 -0
  683. package/dist/agents/skills/org-access.d.ts +27 -0
  684. package/dist/agents/skills/org-access.d.ts.map +1 -0
  685. package/dist/agents/skills/org-access.js +87 -0
  686. package/dist/agents/skills/org-access.js.map +1 -0
  687. package/dist/agents/skills/skill-consolidate.d.ts +76 -0
  688. package/dist/agents/skills/skill-consolidate.d.ts.map +1 -0
  689. package/dist/agents/skills/skill-consolidate.js +264 -0
  690. package/dist/agents/skills/skill-consolidate.js.map +1 -0
  691. package/dist/agents/skills/skill-curator.d.ts +91 -0
  692. package/dist/agents/skills/skill-curator.d.ts.map +1 -0
  693. package/dist/agents/skills/skill-curator.js +239 -0
  694. package/dist/agents/skills/skill-curator.js.map +1 -0
  695. package/dist/agents/skills/skill-manifest.d.ts +35 -0
  696. package/dist/agents/skills/skill-manifest.d.ts.map +1 -0
  697. package/dist/agents/skills/skill-manifest.js +82 -0
  698. package/dist/agents/skills/skill-manifest.js.map +1 -0
  699. package/dist/agents/skills/skill-review.d.ts +91 -0
  700. package/dist/agents/skills/skill-review.d.ts.map +1 -0
  701. package/dist/agents/skills/skill-review.js +271 -0
  702. package/dist/agents/skills/skill-review.js.map +1 -0
  703. package/dist/agents/skills/skill-usage.d.ts +81 -0
  704. package/dist/agents/skills/skill-usage.d.ts.map +1 -0
  705. package/dist/agents/skills/skill-usage.js +208 -0
  706. package/dist/agents/skills/skill-usage.js.map +1 -0
  707. package/dist/agents/skills/status.d.ts +68 -0
  708. package/dist/agents/skills/status.d.ts.map +1 -0
  709. package/dist/agents/skills/status.js +147 -0
  710. package/dist/agents/skills/status.js.map +1 -0
  711. package/dist/agents/skills/update-config.d.ts +32 -0
  712. package/dist/agents/skills/update-config.d.ts.map +1 -0
  713. package/dist/agents/skills/update-config.js +53 -0
  714. package/dist/agents/skills/update-config.js.map +1 -0
  715. package/dist/agents/slash-commands.d.ts +25 -0
  716. package/dist/agents/slash-commands.d.ts.map +1 -0
  717. package/dist/agents/slash-commands.js +151 -0
  718. package/dist/agents/slash-commands.js.map +1 -0
  719. package/dist/agents/smart-compaction.d.ts +105 -0
  720. package/dist/agents/smart-compaction.d.ts.map +1 -0
  721. package/dist/agents/smart-compaction.js +355 -0
  722. package/dist/agents/smart-compaction.js.map +1 -0
  723. package/dist/agents/stream-wrappers.d.ts +20 -0
  724. package/dist/agents/stream-wrappers.d.ts.map +1 -0
  725. package/dist/agents/stream-wrappers.js +307 -0
  726. package/dist/agents/stream-wrappers.js.map +1 -0
  727. package/dist/agents/subagent-abort-cascade.d.ts +31 -0
  728. package/dist/agents/subagent-abort-cascade.d.ts.map +1 -0
  729. package/dist/agents/subagent-abort-cascade.js +124 -0
  730. package/dist/agents/subagent-abort-cascade.js.map +1 -0
  731. package/dist/agents/subagent-announce-delivery.d.ts +83 -0
  732. package/dist/agents/subagent-announce-delivery.d.ts.map +1 -0
  733. package/dist/agents/subagent-announce-delivery.js +159 -0
  734. package/dist/agents/subagent-announce-delivery.js.map +1 -0
  735. package/dist/agents/subagent-budget.d.ts +36 -0
  736. package/dist/agents/subagent-budget.d.ts.map +1 -0
  737. package/dist/agents/subagent-budget.js +93 -0
  738. package/dist/agents/subagent-budget.js.map +1 -0
  739. package/dist/agents/subagent-completion-bridge.d.ts +42 -0
  740. package/dist/agents/subagent-completion-bridge.d.ts.map +1 -0
  741. package/dist/agents/subagent-completion-bridge.js +338 -0
  742. package/dist/agents/subagent-completion-bridge.js.map +1 -0
  743. package/dist/agents/subagent-lifecycle-events.d.ts +31 -0
  744. package/dist/agents/subagent-lifecycle-events.d.ts.map +1 -0
  745. package/dist/agents/subagent-lifecycle-events.js +21 -0
  746. package/dist/agents/subagent-lifecycle-events.js.map +1 -0
  747. package/dist/agents/subagent-policy.d.ts +206 -0
  748. package/dist/agents/subagent-policy.d.ts.map +1 -0
  749. package/dist/agents/subagent-policy.js +295 -0
  750. package/dist/agents/subagent-policy.js.map +1 -0
  751. package/dist/agents/subagent-registry-completion.d.ts +69 -0
  752. package/dist/agents/subagent-registry-completion.d.ts.map +1 -0
  753. package/dist/agents/subagent-registry-completion.js +128 -0
  754. package/dist/agents/subagent-registry-completion.js.map +1 -0
  755. package/dist/agents/subagent-registry.d.ts +85 -0
  756. package/dist/agents/subagent-registry.d.ts.map +1 -0
  757. package/dist/agents/subagent-registry.js +215 -0
  758. package/dist/agents/subagent-registry.js.map +1 -0
  759. package/dist/agents/subagent-registry.types.d.ts +94 -0
  760. package/dist/agents/subagent-registry.types.d.ts.map +1 -0
  761. package/dist/agents/subagent-registry.types.js +19 -0
  762. package/dist/agents/subagent-registry.types.js.map +1 -0
  763. package/dist/agents/subagent-runner.d.ts +75 -0
  764. package/dist/agents/subagent-runner.d.ts.map +1 -0
  765. package/dist/agents/subagent-runner.js +358 -0
  766. package/dist/agents/subagent-runner.js.map +1 -0
  767. package/dist/agents/subagent-spawn-abort-marker.d.ts +46 -0
  768. package/dist/agents/subagent-spawn-abort-marker.d.ts.map +1 -0
  769. package/dist/agents/subagent-spawn-abort-marker.js +81 -0
  770. package/dist/agents/subagent-spawn-abort-marker.js.map +1 -0
  771. package/dist/agents/subagent-spawn.d.ts +104 -0
  772. package/dist/agents/subagent-spawn.d.ts.map +1 -0
  773. package/dist/agents/subagent-spawn.js +358 -0
  774. package/dist/agents/subagent-spawn.js.map +1 -0
  775. package/dist/agents/thinking-fallback.d.ts +49 -0
  776. package/dist/agents/thinking-fallback.d.ts.map +1 -0
  777. package/dist/agents/thinking-fallback.js +97 -0
  778. package/dist/agents/thinking-fallback.js.map +1 -0
  779. package/dist/agents/tool-guard.d.ts +71 -0
  780. package/dist/agents/tool-guard.d.ts.map +1 -0
  781. package/dist/agents/tool-guard.js +154 -0
  782. package/dist/agents/tool-guard.js.map +1 -0
  783. package/dist/agents/tool-loop-detector.d.ts +115 -0
  784. package/dist/agents/tool-loop-detector.d.ts.map +1 -0
  785. package/dist/agents/tool-loop-detector.js +0 -0
  786. package/dist/agents/tool-loop-detector.js.map +1 -0
  787. package/dist/agents/tool-summaries.d.ts +3 -0
  788. package/dist/agents/tool-summaries.d.ts.map +1 -0
  789. package/dist/agents/tool-summaries.js +78 -0
  790. package/dist/agents/tool-summaries.js.map +1 -0
  791. package/dist/agents/tools/agents-list-tool.d.ts +51 -0
  792. package/dist/agents/tools/agents-list-tool.d.ts.map +1 -0
  793. package/dist/agents/tools/agents-list-tool.js +167 -0
  794. package/dist/agents/tools/agents-list-tool.js.map +1 -0
  795. package/dist/agents/tools/browser.d.ts +144 -0
  796. package/dist/agents/tools/browser.d.ts.map +1 -0
  797. package/dist/agents/tools/browser.js +1538 -0
  798. package/dist/agents/tools/browser.js.map +1 -0
  799. package/dist/agents/tools/common.d.ts +208 -0
  800. package/dist/agents/tools/common.d.ts.map +1 -0
  801. package/dist/agents/tools/common.js +405 -0
  802. package/dist/agents/tools/common.js.map +1 -0
  803. package/dist/agents/tools/composio-tool.d.ts +179 -0
  804. package/dist/agents/tools/composio-tool.d.ts.map +1 -0
  805. package/dist/agents/tools/composio-tool.js +474 -0
  806. package/dist/agents/tools/composio-tool.js.map +1 -0
  807. package/dist/agents/tools/cron-tool.d.ts +187 -0
  808. package/dist/agents/tools/cron-tool.d.ts.map +1 -0
  809. package/dist/agents/tools/cron-tool.js +985 -0
  810. package/dist/agents/tools/cron-tool.js.map +1 -0
  811. package/dist/agents/tools/find-tool.d.ts +55 -0
  812. package/dist/agents/tools/find-tool.d.ts.map +1 -0
  813. package/dist/agents/tools/find-tool.js +163 -0
  814. package/dist/agents/tools/find-tool.js.map +1 -0
  815. package/dist/agents/tools/generate-image-tool.d.ts +77 -0
  816. package/dist/agents/tools/generate-image-tool.d.ts.map +1 -0
  817. package/dist/agents/tools/generate-image-tool.js +421 -0
  818. package/dist/agents/tools/generate-image-tool.js.map +1 -0
  819. package/dist/agents/tools/index.d.ts +14 -0
  820. package/dist/agents/tools/index.d.ts.map +1 -0
  821. package/dist/agents/tools/index.js +12 -0
  822. package/dist/agents/tools/index.js.map +1 -0
  823. package/dist/agents/tools/manage-access-tool.d.ts +64 -0
  824. package/dist/agents/tools/manage-access-tool.d.ts.map +1 -0
  825. package/dist/agents/tools/manage-access-tool.js +188 -0
  826. package/dist/agents/tools/manage-access-tool.js.map +1 -0
  827. package/dist/agents/tools/manage-agent-tool.d.ts +50 -0
  828. package/dist/agents/tools/manage-agent-tool.d.ts.map +1 -0
  829. package/dist/agents/tools/manage-agent-tool.js +232 -0
  830. package/dist/agents/tools/manage-agent-tool.js.map +1 -0
  831. package/dist/agents/tools/manage-channel-access-tool.d.ts +44 -0
  832. package/dist/agents/tools/manage-channel-access-tool.d.ts.map +1 -0
  833. package/dist/agents/tools/manage-channel-access-tool.js +144 -0
  834. package/dist/agents/tools/manage-channel-access-tool.js.map +1 -0
  835. package/dist/agents/tools/manage-memory-tool.d.ts +30 -0
  836. package/dist/agents/tools/manage-memory-tool.d.ts.map +1 -0
  837. package/dist/agents/tools/manage-memory-tool.js +309 -0
  838. package/dist/agents/tools/manage-memory-tool.js.map +1 -0
  839. package/dist/agents/tools/manage-provider-tool.d.ts +65 -0
  840. package/dist/agents/tools/manage-provider-tool.d.ts.map +1 -0
  841. package/dist/agents/tools/manage-provider-tool.js +249 -0
  842. package/dist/agents/tools/manage-provider-tool.js.map +1 -0
  843. package/dist/agents/tools/manage-skill-tool.d.ts +121 -0
  844. package/dist/agents/tools/manage-skill-tool.d.ts.map +1 -0
  845. package/dist/agents/tools/manage-skill-tool.js +722 -0
  846. package/dist/agents/tools/manage-skill-tool.js.map +1 -0
  847. package/dist/agents/tools/memory-tools.d.ts +172 -0
  848. package/dist/agents/tools/memory-tools.d.ts.map +1 -0
  849. package/dist/agents/tools/memory-tools.js +561 -0
  850. package/dist/agents/tools/memory-tools.js.map +1 -0
  851. package/dist/agents/tools/oauth-authorize-tool.d.ts +94 -0
  852. package/dist/agents/tools/oauth-authorize-tool.d.ts.map +1 -0
  853. package/dist/agents/tools/oauth-authorize-tool.js +670 -0
  854. package/dist/agents/tools/oauth-authorize-tool.js.map +1 -0
  855. package/dist/agents/tools/org-tool.d.ts +208 -0
  856. package/dist/agents/tools/org-tool.d.ts.map +1 -0
  857. package/dist/agents/tools/org-tool.js +790 -0
  858. package/dist/agents/tools/org-tool.js.map +1 -0
  859. package/dist/agents/tools/registry.d.ts +146 -0
  860. package/dist/agents/tools/registry.d.ts.map +1 -0
  861. package/dist/agents/tools/registry.js +396 -0
  862. package/dist/agents/tools/registry.js.map +1 -0
  863. package/dist/agents/tools/send-media-tool.d.ts +92 -0
  864. package/dist/agents/tools/send-media-tool.d.ts.map +1 -0
  865. package/dist/agents/tools/send-media-tool.js +512 -0
  866. package/dist/agents/tools/send-media-tool.js.map +1 -0
  867. package/dist/agents/tools/send-message-tool.d.ts +84 -0
  868. package/dist/agents/tools/send-message-tool.d.ts.map +1 -0
  869. package/dist/agents/tools/send-message-tool.js +226 -0
  870. package/dist/agents/tools/send-message-tool.js.map +1 -0
  871. package/dist/agents/tools/sessions/history.d.ts +53 -0
  872. package/dist/agents/tools/sessions/history.d.ts.map +1 -0
  873. package/dist/agents/tools/sessions/history.js +138 -0
  874. package/dist/agents/tools/sessions/history.js.map +1 -0
  875. package/dist/agents/tools/sessions/index.d.ts +92 -0
  876. package/dist/agents/tools/sessions/index.d.ts.map +1 -0
  877. package/dist/agents/tools/sessions/index.js +125 -0
  878. package/dist/agents/tools/sessions/index.js.map +1 -0
  879. package/dist/agents/tools/sessions/list.d.ts +53 -0
  880. package/dist/agents/tools/sessions/list.d.ts.map +1 -0
  881. package/dist/agents/tools/sessions/list.js +134 -0
  882. package/dist/agents/tools/sessions/list.js.map +1 -0
  883. package/dist/agents/tools/sessions/resolve-access.d.ts +34 -0
  884. package/dist/agents/tools/sessions/resolve-access.d.ts.map +1 -0
  885. package/dist/agents/tools/sessions/resolve-access.js +67 -0
  886. package/dist/agents/tools/sessions/resolve-access.js.map +1 -0
  887. package/dist/agents/tools/sessions/send.d.ts +68 -0
  888. package/dist/agents/tools/sessions/send.d.ts.map +1 -0
  889. package/dist/agents/tools/sessions/send.js +556 -0
  890. package/dist/agents/tools/sessions/send.js.map +1 -0
  891. package/dist/agents/tools/sessions/shared.d.ts +145 -0
  892. package/dist/agents/tools/sessions/shared.d.ts.map +1 -0
  893. package/dist/agents/tools/sessions/shared.js +352 -0
  894. package/dist/agents/tools/sessions/shared.js.map +1 -0
  895. package/dist/agents/tools/sessions/spawn.d.ts +71 -0
  896. package/dist/agents/tools/sessions/spawn.d.ts.map +1 -0
  897. package/dist/agents/tools/sessions/spawn.js +132 -0
  898. package/dist/agents/tools/sessions/spawn.js.map +1 -0
  899. package/dist/agents/tools/spawn-agent-tool.d.ts +87 -0
  900. package/dist/agents/tools/spawn-agent-tool.d.ts.map +1 -0
  901. package/dist/agents/tools/spawn-agent-tool.js +189 -0
  902. package/dist/agents/tools/spawn-agent-tool.js.map +1 -0
  903. package/dist/agents/tools/spawn-agents-tool.d.ts +75 -0
  904. package/dist/agents/tools/spawn-agents-tool.d.ts.map +1 -0
  905. package/dist/agents/tools/spawn-agents-tool.js +267 -0
  906. package/dist/agents/tools/spawn-agents-tool.js.map +1 -0
  907. package/dist/agents/tools/types.d.ts +55 -0
  908. package/dist/agents/tools/types.d.ts.map +1 -0
  909. package/dist/agents/tools/types.js +28 -0
  910. package/dist/agents/tools/types.js.map +1 -0
  911. package/dist/agents/tools/web-fetch-utils.d.ts +114 -0
  912. package/dist/agents/tools/web-fetch-utils.d.ts.map +1 -0
  913. package/dist/agents/tools/web-fetch-utils.js +560 -0
  914. package/dist/agents/tools/web-fetch-utils.js.map +1 -0
  915. package/dist/agents/tools/web-fetch.d.ts +97 -0
  916. package/dist/agents/tools/web-fetch.d.ts.map +1 -0
  917. package/dist/agents/tools/web-fetch.js +369 -0
  918. package/dist/agents/tools/web-fetch.js.map +1 -0
  919. package/dist/agents/tools/web-retry.d.ts +55 -0
  920. package/dist/agents/tools/web-retry.d.ts.map +1 -0
  921. package/dist/agents/tools/web-retry.js +172 -0
  922. package/dist/agents/tools/web-retry.js.map +1 -0
  923. package/dist/agents/tools/web-search.d.ts +96 -0
  924. package/dist/agents/tools/web-search.d.ts.map +1 -0
  925. package/dist/agents/tools/web-search.js +459 -0
  926. package/dist/agents/tools/web-search.js.map +1 -0
  927. package/dist/agents/tools/web-shared.d.ts +123 -0
  928. package/dist/agents/tools/web-shared.d.ts.map +1 -0
  929. package/dist/agents/tools/web-shared.js +207 -0
  930. package/dist/agents/tools/web-shared.js.map +1 -0
  931. package/dist/assets/brigade-favicon.png +0 -0
  932. package/dist/auth/profile-cooldown.d.ts +105 -0
  933. package/dist/auth/profile-cooldown.d.ts.map +1 -0
  934. package/dist/auth/profile-cooldown.js +466 -0
  935. package/dist/auth/profile-cooldown.js.map +1 -0
  936. package/dist/auth/profiles.d.ts +93 -0
  937. package/dist/auth/profiles.d.ts.map +1 -0
  938. package/dist/auth/profiles.js +321 -0
  939. package/dist/auth/profiles.js.map +1 -0
  940. package/dist/buildstamp.json +1 -0
  941. package/dist/cli/argv.d.ts +20 -0
  942. package/dist/cli/argv.d.ts.map +1 -0
  943. package/dist/cli/argv.js +47 -0
  944. package/dist/cli/argv.js.map +1 -0
  945. package/dist/cli/commands/agent.d.ts +19 -0
  946. package/dist/cli/commands/agent.d.ts.map +1 -0
  947. package/dist/cli/commands/agent.js +297 -0
  948. package/dist/cli/commands/agent.js.map +1 -0
  949. package/dist/cli/commands/agents-bindings.d.ts +80 -0
  950. package/dist/cli/commands/agents-bindings.d.ts.map +1 -0
  951. package/dist/cli/commands/agents-bindings.js +252 -0
  952. package/dist/cli/commands/agents-bindings.js.map +1 -0
  953. package/dist/cli/commands/agents-cmd.d.ts +160 -0
  954. package/dist/cli/commands/agents-cmd.d.ts.map +1 -0
  955. package/dist/cli/commands/agents-cmd.js +1199 -0
  956. package/dist/cli/commands/agents-cmd.js.map +1 -0
  957. package/dist/cli/commands/agents-config.d.ts +102 -0
  958. package/dist/cli/commands/agents-config.d.ts.map +1 -0
  959. package/dist/cli/commands/agents-config.js +294 -0
  960. package/dist/cli/commands/agents-config.js.map +1 -0
  961. package/dist/cli/commands/agents-shared.d.ts +57 -0
  962. package/dist/cli/commands/agents-shared.d.ts.map +1 -0
  963. package/dist/cli/commands/agents-shared.js +83 -0
  964. package/dist/cli/commands/agents-shared.js.map +1 -0
  965. package/dist/cli/commands/backup.d.ts +36 -0
  966. package/dist/cli/commands/backup.d.ts.map +1 -0
  967. package/dist/cli/commands/backup.js +244 -0
  968. package/dist/cli/commands/backup.js.map +1 -0
  969. package/dist/cli/commands/channels.d.ts +106 -0
  970. package/dist/cli/commands/channels.d.ts.map +1 -0
  971. package/dist/cli/commands/channels.js +830 -0
  972. package/dist/cli/commands/channels.js.map +1 -0
  973. package/dist/cli/commands/chat.d.ts +43 -0
  974. package/dist/cli/commands/chat.d.ts.map +1 -0
  975. package/dist/cli/commands/chat.js +84 -0
  976. package/dist/cli/commands/chat.js.map +1 -0
  977. package/dist/cli/commands/config-cmd.d.ts +62 -0
  978. package/dist/cli/commands/config-cmd.d.ts.map +1 -0
  979. package/dist/cli/commands/config-cmd.js +404 -0
  980. package/dist/cli/commands/config-cmd.js.map +1 -0
  981. package/dist/cli/commands/connect.d.ts +73 -0
  982. package/dist/cli/commands/connect.d.ts.map +1 -0
  983. package/dist/cli/commands/connect.js +1952 -0
  984. package/dist/cli/commands/connect.js.map +1 -0
  985. package/dist/cli/commands/cron.d.ts +58 -0
  986. package/dist/cli/commands/cron.d.ts.map +1 -0
  987. package/dist/cli/commands/cron.js +250 -0
  988. package/dist/cli/commands/cron.js.map +1 -0
  989. package/dist/cli/commands/doctor.d.ts +25 -0
  990. package/dist/cli/commands/doctor.d.ts.map +1 -0
  991. package/dist/cli/commands/doctor.js +618 -0
  992. package/dist/cli/commands/doctor.js.map +1 -0
  993. package/dist/cli/commands/encrypt-cmd.d.ts +12 -0
  994. package/dist/cli/commands/encrypt-cmd.d.ts.map +1 -0
  995. package/dist/cli/commands/encrypt-cmd.js +119 -0
  996. package/dist/cli/commands/encrypt-cmd.js.map +1 -0
  997. package/dist/cli/commands/exec-cmd.d.ts +55 -0
  998. package/dist/cli/commands/exec-cmd.d.ts.map +1 -0
  999. package/dist/cli/commands/exec-cmd.js +253 -0
  1000. package/dist/cli/commands/exec-cmd.js.map +1 -0
  1001. package/dist/cli/commands/gateway-install.d.ts +21 -0
  1002. package/dist/cli/commands/gateway-install.d.ts.map +1 -0
  1003. package/dist/cli/commands/gateway-install.js +71 -0
  1004. package/dist/cli/commands/gateway-install.js.map +1 -0
  1005. package/dist/cli/commands/gateway-supervise.d.ts +102 -0
  1006. package/dist/cli/commands/gateway-supervise.d.ts.map +1 -0
  1007. package/dist/cli/commands/gateway-supervise.js +194 -0
  1008. package/dist/cli/commands/gateway-supervise.js.map +1 -0
  1009. package/dist/cli/commands/gateway.d.ts +58 -0
  1010. package/dist/cli/commands/gateway.d.ts.map +1 -0
  1011. package/dist/cli/commands/gateway.js +497 -0
  1012. package/dist/cli/commands/gateway.js.map +1 -0
  1013. package/dist/cli/commands/logs.d.ts +14 -0
  1014. package/dist/cli/commands/logs.d.ts.map +1 -0
  1015. package/dist/cli/commands/logs.js +93 -0
  1016. package/dist/cli/commands/logs.js.map +1 -0
  1017. package/dist/cli/commands/mcp-cmd.d.ts +4 -0
  1018. package/dist/cli/commands/mcp-cmd.d.ts.map +1 -0
  1019. package/dist/cli/commands/mcp-cmd.js +30 -0
  1020. package/dist/cli/commands/mcp-cmd.js.map +1 -0
  1021. package/dist/cli/commands/onboard-config.d.ts +23 -0
  1022. package/dist/cli/commands/onboard-config.d.ts.map +1 -0
  1023. package/dist/cli/commands/onboard-config.js +33 -0
  1024. package/dist/cli/commands/onboard-config.js.map +1 -0
  1025. package/dist/cli/commands/onboard.d.ts +48 -0
  1026. package/dist/cli/commands/onboard.d.ts.map +1 -0
  1027. package/dist/cli/commands/onboard.js +397 -0
  1028. package/dist/cli/commands/onboard.js.map +1 -0
  1029. package/dist/cli/commands/org-cmd.d.ts +87 -0
  1030. package/dist/cli/commands/org-cmd.d.ts.map +1 -0
  1031. package/dist/cli/commands/org-cmd.js +394 -0
  1032. package/dist/cli/commands/org-cmd.js.map +1 -0
  1033. package/dist/cli/commands/org-cmd.templates.d.ts +66 -0
  1034. package/dist/cli/commands/org-cmd.templates.d.ts.map +1 -0
  1035. package/dist/cli/commands/org-cmd.templates.js +145 -0
  1036. package/dist/cli/commands/org-cmd.templates.js.map +1 -0
  1037. package/dist/cli/commands/org-slash.d.ts +107 -0
  1038. package/dist/cli/commands/org-slash.d.ts.map +1 -0
  1039. package/dist/cli/commands/org-slash.js +263 -0
  1040. package/dist/cli/commands/org-slash.js.map +1 -0
  1041. package/dist/cli/commands/pairing.d.ts +33 -0
  1042. package/dist/cli/commands/pairing.d.ts.map +1 -0
  1043. package/dist/cli/commands/pairing.js +155 -0
  1044. package/dist/cli/commands/pairing.js.map +1 -0
  1045. package/dist/cli/commands/secrets-audit.d.ts +17 -0
  1046. package/dist/cli/commands/secrets-audit.d.ts.map +1 -0
  1047. package/dist/cli/commands/secrets-audit.js +109 -0
  1048. package/dist/cli/commands/secrets-audit.js.map +1 -0
  1049. package/dist/cli/commands/sessions.d.ts +22 -0
  1050. package/dist/cli/commands/sessions.d.ts.map +1 -0
  1051. package/dist/cli/commands/sessions.js +99 -0
  1052. package/dist/cli/commands/sessions.js.map +1 -0
  1053. package/dist/cli/commands/skills.d.ts +17 -0
  1054. package/dist/cli/commands/skills.d.ts.map +1 -0
  1055. package/dist/cli/commands/skills.js +100 -0
  1056. package/dist/cli/commands/skills.js.map +1 -0
  1057. package/dist/cli/commands/status.d.ts +26 -0
  1058. package/dist/cli/commands/status.d.ts.map +1 -0
  1059. package/dist/cli/commands/status.js +252 -0
  1060. package/dist/cli/commands/status.js.map +1 -0
  1061. package/dist/cli/commands/store-cmd.d.ts +36 -0
  1062. package/dist/cli/commands/store-cmd.d.ts.map +1 -0
  1063. package/dist/cli/commands/store-cmd.js +405 -0
  1064. package/dist/cli/commands/store-cmd.js.map +1 -0
  1065. package/dist/cli/flows/web-setup.d.ts +47 -0
  1066. package/dist/cli/flows/web-setup.d.ts.map +1 -0
  1067. package/dist/cli/flows/web-setup.js +324 -0
  1068. package/dist/cli/flows/web-setup.js.map +1 -0
  1069. package/dist/cli/program/build-program.d.ts +3 -0
  1070. package/dist/cli/program/build-program.d.ts.map +1 -0
  1071. package/dist/cli/program/build-program.js +1326 -0
  1072. package/dist/cli/program/build-program.js.map +1 -0
  1073. package/dist/cli/run-main.d.ts +2 -0
  1074. package/dist/cli/run-main.d.ts.map +1 -0
  1075. package/dist/cli/run-main.js +63 -0
  1076. package/dist/cli/run-main.js.map +1 -0
  1077. package/dist/config/agent-limits.d.ts +22 -0
  1078. package/dist/config/agent-limits.d.ts.map +1 -0
  1079. package/dist/config/agent-limits.js +34 -0
  1080. package/dist/config/agent-limits.js.map +1 -0
  1081. package/dist/config/io.d.ts +378 -0
  1082. package/dist/config/io.d.ts.map +1 -0
  1083. package/dist/config/io.js +602 -0
  1084. package/dist/config/io.js.map +1 -0
  1085. package/dist/config/paths.d.ts +80 -0
  1086. package/dist/config/paths.d.ts.map +1 -0
  1087. package/dist/config/paths.js +342 -0
  1088. package/dist/config/paths.js.map +1 -0
  1089. package/dist/config/types.d.ts +12 -0
  1090. package/dist/config/types.d.ts.map +1 -0
  1091. package/dist/config/types.js +12 -0
  1092. package/dist/config/types.js.map +1 -0
  1093. package/dist/core/agent-dispatcher.d.ts +91 -0
  1094. package/dist/core/agent-dispatcher.d.ts.map +1 -0
  1095. package/dist/core/agent-dispatcher.js +251 -0
  1096. package/dist/core/agent-dispatcher.js.map +1 -0
  1097. package/dist/core/agent-events-stream.d.ts +76 -0
  1098. package/dist/core/agent-events-stream.d.ts.map +1 -0
  1099. package/dist/core/agent-events-stream.js +185 -0
  1100. package/dist/core/agent-events-stream.js.map +1 -0
  1101. package/dist/core/agent-runtime-persist.d.ts +53 -0
  1102. package/dist/core/agent-runtime-persist.d.ts.map +1 -0
  1103. package/dist/core/agent-runtime-persist.js +114 -0
  1104. package/dist/core/agent-runtime-persist.js.map +1 -0
  1105. package/dist/core/auth-bridge.d.ts +8 -0
  1106. package/dist/core/auth-bridge.d.ts.map +1 -0
  1107. package/dist/core/auth-bridge.js +102 -0
  1108. package/dist/core/auth-bridge.js.map +1 -0
  1109. package/dist/core/auth-error.d.ts +49 -0
  1110. package/dist/core/auth-error.d.ts.map +1 -0
  1111. package/dist/core/auth-error.js.map +1 -0
  1112. package/dist/core/brigade-config.d.ts +205 -0
  1113. package/dist/core/brigade-config.d.ts.map +1 -0
  1114. package/dist/core/brigade-config.js +58 -6
  1115. package/dist/core/brigade-config.js.map +1 -0
  1116. package/dist/core/config.d.ts +17 -0
  1117. package/dist/core/config.d.ts.map +1 -0
  1118. package/dist/core/config.js +92 -246
  1119. package/dist/core/config.js.map +1 -0
  1120. package/dist/core/console-stream.d.ts +52 -0
  1121. package/dist/core/console-stream.d.ts.map +1 -0
  1122. package/dist/core/console-stream.js +49 -3
  1123. package/dist/core/console-stream.js.map +1 -0
  1124. package/dist/core/daemon/launchd.d.ts +19 -0
  1125. package/dist/core/daemon/launchd.d.ts.map +1 -0
  1126. package/dist/core/daemon/launchd.js +117 -0
  1127. package/dist/core/daemon/launchd.js.map +1 -0
  1128. package/dist/core/daemon/schtasks.d.ts +23 -0
  1129. package/dist/core/daemon/schtasks.d.ts.map +1 -0
  1130. package/dist/core/daemon/schtasks.js +139 -0
  1131. package/dist/core/daemon/schtasks.js.map +1 -0
  1132. package/dist/core/daemon/service.d.ts +56 -0
  1133. package/dist/core/daemon/service.d.ts.map +1 -0
  1134. package/dist/core/daemon/service.js +54 -0
  1135. package/dist/core/daemon/service.js.map +1 -0
  1136. package/dist/core/daemon/systemd.d.ts +19 -0
  1137. package/dist/core/daemon/systemd.d.ts.map +1 -0
  1138. package/dist/core/daemon/systemd.js +117 -0
  1139. package/dist/core/daemon/systemd.js.map +1 -0
  1140. package/dist/core/event-logger.d.ts +74 -0
  1141. package/dist/core/event-logger.d.ts.map +1 -0
  1142. package/dist/core/event-logger.js +299 -6
  1143. package/dist/core/event-logger.js.map +1 -0
  1144. package/dist/core/exec-approvals.d.ts +178 -0
  1145. package/dist/core/exec-approvals.d.ts.map +1 -0
  1146. package/dist/core/exec-approvals.js +591 -266
  1147. package/dist/core/exec-approvals.js.map +1 -0
  1148. package/dist/core/extension-lifecycle.d.ts +27 -0
  1149. package/dist/core/extension-lifecycle.d.ts.map +1 -0
  1150. package/dist/core/extension-lifecycle.js +45 -0
  1151. package/dist/core/extension-lifecycle.js.map +1 -0
  1152. package/dist/core/gateway-caller-impl.d.ts +42 -0
  1153. package/dist/core/gateway-caller-impl.d.ts.map +1 -0
  1154. package/dist/core/gateway-caller-impl.js +95 -0
  1155. package/dist/core/gateway-caller-impl.js.map +1 -0
  1156. package/dist/core/gateway-lock.d.ts +88 -0
  1157. package/dist/core/gateway-lock.d.ts.map +1 -0
  1158. package/dist/core/gateway-lock.js +204 -0
  1159. package/dist/core/gateway-lock.js.map +1 -0
  1160. package/dist/core/gateway-probe.d.ts +148 -0
  1161. package/dist/core/gateway-probe.d.ts.map +1 -0
  1162. package/dist/core/gateway-probe.js +319 -0
  1163. package/dist/core/gateway-probe.js.map +1 -0
  1164. package/dist/core/gateway-spawn.d.ts +40 -0
  1165. package/dist/core/gateway-spawn.d.ts.map +1 -0
  1166. package/dist/core/gateway-spawn.js +156 -0
  1167. package/dist/core/gateway-spawn.js.map +1 -0
  1168. package/dist/core/model-caps.d.ts +85 -0
  1169. package/dist/core/model-caps.d.ts.map +1 -0
  1170. package/dist/core/model-caps.js +88 -2
  1171. package/dist/core/model-caps.js.map +1 -0
  1172. package/dist/core/port-inspect.d.ts +37 -0
  1173. package/dist/core/port-inspect.d.ts.map +1 -0
  1174. package/dist/core/port-inspect.js +165 -0
  1175. package/dist/core/port-inspect.js.map +1 -0
  1176. package/dist/core/server-lanes.d.ts +25 -0
  1177. package/dist/core/server-lanes.d.ts.map +1 -0
  1178. package/dist/core/server-lanes.js +31 -0
  1179. package/dist/core/server-lanes.js.map +1 -0
  1180. package/dist/core/server-methods/cron.d.ts +104 -0
  1181. package/dist/core/server-methods/cron.d.ts.map +1 -0
  1182. package/dist/core/server-methods/cron.js +183 -0
  1183. package/dist/core/server-methods/cron.js.map +1 -0
  1184. package/dist/core/server-methods/health.d.ts +36 -0
  1185. package/dist/core/server-methods/health.d.ts.map +1 -0
  1186. package/dist/core/server-methods/health.js +51 -0
  1187. package/dist/core/server-methods/health.js.map +1 -0
  1188. package/dist/core/server-methods/org.d.ts +93 -0
  1189. package/dist/core/server-methods/org.d.ts.map +1 -0
  1190. package/dist/core/server-methods/org.js +95 -0
  1191. package/dist/core/server-methods/org.js.map +1 -0
  1192. package/dist/core/server-methods/sessions.d.ts +133 -0
  1193. package/dist/core/server-methods/sessions.d.ts.map +1 -0
  1194. package/dist/core/server-methods/sessions.js +209 -0
  1195. package/dist/core/server-methods/sessions.js.map +1 -0
  1196. package/dist/core/server.d.ts +46 -0
  1197. package/dist/core/server.d.ts.map +1 -0
  1198. package/dist/core/server.js +4716 -249
  1199. package/dist/core/server.js.map +1 -0
  1200. package/dist/core/system-prompt.d.ts +92 -0
  1201. package/dist/core/system-prompt.d.ts.map +1 -0
  1202. package/dist/core/system-prompt.js +180 -1584
  1203. package/dist/core/system-prompt.js.map +1 -0
  1204. package/dist/core/version.d.ts +4 -0
  1205. package/dist/core/version.d.ts.map +1 -0
  1206. package/dist/core/version.js +8 -13
  1207. package/dist/core/version.js.map +1 -0
  1208. package/dist/core/webhook-guards.d.ts +131 -0
  1209. package/dist/core/webhook-guards.d.ts.map +1 -0
  1210. package/dist/core/webhook-guards.js +283 -0
  1211. package/dist/core/webhook-guards.js.map +1 -0
  1212. package/dist/core/ws-subscription-filter.d.ts +9 -0
  1213. package/dist/core/ws-subscription-filter.d.ts.map +1 -0
  1214. package/dist/core/ws-subscription-filter.js +39 -0
  1215. package/dist/core/ws-subscription-filter.js.map +1 -0
  1216. package/dist/cron/active-service.d.ts +30 -0
  1217. package/dist/cron/active-service.d.ts.map +1 -0
  1218. package/dist/cron/active-service.js +48 -0
  1219. package/dist/cron/active-service.js.map +1 -0
  1220. package/dist/cron/isolated-agent/run-executor.d.ts +49 -0
  1221. package/dist/cron/isolated-agent/run-executor.d.ts.map +1 -0
  1222. package/dist/cron/isolated-agent/run-executor.js +343 -0
  1223. package/dist/cron/isolated-agent/run-executor.js.map +1 -0
  1224. package/dist/cron/isolated-agent/run.d.ts +27 -0
  1225. package/dist/cron/isolated-agent/run.d.ts.map +1 -0
  1226. package/dist/cron/isolated-agent/run.js +29 -0
  1227. package/dist/cron/isolated-agent/run.js.map +1 -0
  1228. package/dist/cron/normalize.d.ts +103 -0
  1229. package/dist/cron/normalize.d.ts.map +1 -0
  1230. package/dist/cron/normalize.js +376 -0
  1231. package/dist/cron/normalize.js.map +1 -0
  1232. package/dist/cron/parse.d.ts +27 -0
  1233. package/dist/cron/parse.d.ts.map +1 -0
  1234. package/dist/cron/parse.js +55 -0
  1235. package/dist/cron/parse.js.map +1 -0
  1236. package/dist/cron/reminder-context.d.ts +78 -0
  1237. package/dist/cron/reminder-context.d.ts.map +1 -0
  1238. package/dist/cron/reminder-context.js +167 -0
  1239. package/dist/cron/reminder-context.js.map +1 -0
  1240. package/dist/cron/run-log.d.ts +48 -0
  1241. package/dist/cron/run-log.d.ts.map +1 -0
  1242. package/dist/cron/run-log.js +225 -0
  1243. package/dist/cron/run-log.js.map +1 -0
  1244. package/dist/cron/schedule.d.ts +46 -0
  1245. package/dist/cron/schedule.d.ts.map +1 -0
  1246. package/dist/cron/schedule.js +144 -0
  1247. package/dist/cron/schedule.js.map +1 -0
  1248. package/dist/cron/service/jobs.d.ts +138 -0
  1249. package/dist/cron/service/jobs.d.ts.map +1 -0
  1250. package/dist/cron/service/jobs.js +370 -0
  1251. package/dist/cron/service/jobs.js.map +1 -0
  1252. package/dist/cron/service/locked.d.ts +46 -0
  1253. package/dist/cron/service/locked.d.ts.map +1 -0
  1254. package/dist/cron/service/locked.js +54 -0
  1255. package/dist/cron/service/locked.js.map +1 -0
  1256. package/dist/cron/service/ops.d.ts +124 -0
  1257. package/dist/cron/service/ops.d.ts.map +1 -0
  1258. package/dist/cron/service/ops.js +415 -0
  1259. package/dist/cron/service/ops.js.map +1 -0
  1260. package/dist/cron/service/state.d.ts +254 -0
  1261. package/dist/cron/service/state.d.ts.map +1 -0
  1262. package/dist/cron/service/state.js +50 -0
  1263. package/dist/cron/service/state.js.map +1 -0
  1264. package/dist/cron/service/store.d.ts +65 -0
  1265. package/dist/cron/service/store.d.ts.map +1 -0
  1266. package/dist/cron/service/store.js +350 -0
  1267. package/dist/cron/service/store.js.map +1 -0
  1268. package/dist/cron/service/timer.d.ts +113 -0
  1269. package/dist/cron/service/timer.d.ts.map +1 -0
  1270. package/dist/cron/service/timer.js +1081 -0
  1271. package/dist/cron/service/timer.js.map +1 -0
  1272. package/dist/cron/session-reaper.d.ts +62 -0
  1273. package/dist/cron/session-reaper.d.ts.map +1 -0
  1274. package/dist/cron/session-reaper.js +152 -0
  1275. package/dist/cron/session-reaper.js.map +1 -0
  1276. package/dist/cron/session-target.d.ts +56 -0
  1277. package/dist/cron/session-target.d.ts.map +1 -0
  1278. package/dist/cron/session-target.js +96 -0
  1279. package/dist/cron/session-target.js.map +1 -0
  1280. package/dist/cron/stagger.d.ts +34 -0
  1281. package/dist/cron/stagger.d.ts.map +1 -0
  1282. package/dist/cron/stagger.js +69 -0
  1283. package/dist/cron/stagger.js.map +1 -0
  1284. package/dist/cron/types.d.ts +287 -0
  1285. package/dist/cron/types.d.ts.map +1 -0
  1286. package/dist/cron/types.js +22 -0
  1287. package/dist/cron/types.js.map +1 -0
  1288. package/dist/cron/validate-timestamp.d.ts +33 -0
  1289. package/dist/cron/validate-timestamp.d.ts.map +1 -0
  1290. package/dist/cron/validate-timestamp.js +54 -0
  1291. package/dist/cron/validate-timestamp.js.map +1 -0
  1292. package/dist/entry.d.ts +2 -0
  1293. package/dist/entry.d.ts.map +1 -0
  1294. package/dist/entry.js +57 -0
  1295. package/dist/entry.js.map +1 -0
  1296. package/dist/extension-sdk.d.ts +28 -0
  1297. package/dist/extension-sdk.d.ts.map +1 -0
  1298. package/dist/extension-sdk.js +26 -0
  1299. package/dist/extension-sdk.js.map +1 -0
  1300. package/dist/identity/device.d.ts +19 -0
  1301. package/dist/identity/device.d.ts.map +1 -0
  1302. package/dist/identity/device.js +88 -0
  1303. package/dist/identity/device.js.map +1 -0
  1304. package/dist/infra/backoff.d.ts +24 -0
  1305. package/dist/infra/backoff.d.ts.map +1 -0
  1306. package/dist/infra/backoff.js +48 -0
  1307. package/dist/infra/backoff.js.map +1 -0
  1308. package/dist/infra/errors.d.ts +35 -0
  1309. package/dist/infra/errors.d.ts.map +1 -0
  1310. package/dist/infra/errors.js +54 -0
  1311. package/dist/infra/errors.js.map +1 -0
  1312. package/dist/infra/fs/atomic-rename.d.ts +31 -0
  1313. package/dist/infra/fs/atomic-rename.d.ts.map +1 -0
  1314. package/dist/infra/fs/atomic-rename.js +75 -0
  1315. package/dist/infra/fs/atomic-rename.js.map +1 -0
  1316. package/dist/infra/json-file.d.ts +25 -0
  1317. package/dist/infra/json-file.d.ts.map +1 -0
  1318. package/dist/infra/json-file.js +49 -0
  1319. package/dist/infra/json-file.js.map +1 -0
  1320. package/dist/infra/json-utf8-bytes.d.ts +14 -0
  1321. package/dist/infra/json-utf8-bytes.d.ts.map +1 -0
  1322. package/dist/infra/json-utf8-bytes.js +20 -0
  1323. package/dist/infra/json-utf8-bytes.js.map +1 -0
  1324. package/dist/infra/net/dns-pinning.d.ts +66 -0
  1325. package/dist/infra/net/dns-pinning.d.ts.map +1 -0
  1326. package/dist/infra/net/dns-pinning.js +128 -0
  1327. package/dist/infra/net/dns-pinning.js.map +1 -0
  1328. package/dist/infra/net/fetch-guard.d.ts +85 -0
  1329. package/dist/infra/net/fetch-guard.d.ts.map +1 -0
  1330. package/dist/infra/net/fetch-guard.js +439 -0
  1331. package/dist/infra/net/fetch-guard.js.map +1 -0
  1332. package/dist/infra/prototype-keys.d.ts +19 -0
  1333. package/dist/infra/prototype-keys.d.ts.map +1 -0
  1334. package/dist/infra/prototype-keys.js +22 -0
  1335. package/dist/infra/prototype-keys.js.map +1 -0
  1336. package/dist/integrations/ollama.d.ts +67 -0
  1337. package/dist/integrations/ollama.d.ts.map +1 -0
  1338. package/dist/integrations/ollama.js +53 -0
  1339. package/dist/integrations/ollama.js.map +1 -0
  1340. package/dist/integrations/provider-discovery.d.ts +66 -0
  1341. package/dist/integrations/provider-discovery.d.ts.map +1 -0
  1342. package/dist/integrations/provider-discovery.js +166 -0
  1343. package/dist/integrations/provider-discovery.js.map +1 -0
  1344. package/dist/logging/redact.d.ts +28 -0
  1345. package/dist/logging/redact.d.ts.map +1 -0
  1346. package/dist/logging/redact.js +51 -0
  1347. package/dist/logging/redact.js.map +1 -0
  1348. package/dist/logging/subsystem-logger.d.ts +77 -0
  1349. package/dist/logging/subsystem-logger.d.ts.map +1 -0
  1350. package/dist/logging/subsystem-logger.js +577 -0
  1351. package/dist/logging/subsystem-logger.js.map +1 -0
  1352. package/dist/logging/subsystem.d.ts +13 -0
  1353. package/dist/logging/subsystem.d.ts.map +1 -0
  1354. package/dist/logging/subsystem.js +12 -0
  1355. package/dist/logging/subsystem.js.map +1 -0
  1356. package/dist/process/command-queue.d.ts +152 -0
  1357. package/dist/process/command-queue.d.ts.map +1 -0
  1358. package/dist/process/command-queue.js +420 -0
  1359. package/dist/process/command-queue.js.map +1 -0
  1360. package/dist/process/lanes.d.ts +102 -0
  1361. package/dist/process/lanes.d.ts.map +1 -0
  1362. package/dist/process/lanes.js +117 -0
  1363. package/dist/process/lanes.js.map +1 -0
  1364. package/dist/process/session-lane.d.ts +31 -0
  1365. package/dist/process/session-lane.d.ts.map +1 -0
  1366. package/dist/process/session-lane.js +45 -0
  1367. package/dist/process/session-lane.js.map +1 -0
  1368. package/dist/protocol/errors.d.ts +35 -0
  1369. package/dist/protocol/errors.d.ts.map +1 -0
  1370. package/dist/protocol/errors.js +36 -0
  1371. package/dist/protocol/errors.js.map +1 -0
  1372. package/dist/protocol/handshake.d.ts +101 -0
  1373. package/dist/protocol/handshake.d.ts.map +1 -0
  1374. package/dist/protocol/handshake.js +49 -0
  1375. package/dist/protocol/handshake.js.map +1 -0
  1376. package/dist/protocol/messages.d.ts +68 -0
  1377. package/dist/protocol/messages.d.ts.map +1 -0
  1378. package/dist/protocol/messages.js +20 -0
  1379. package/dist/protocol/messages.js.map +1 -0
  1380. package/dist/protocol/methods.d.ts +312 -0
  1381. package/dist/protocol/methods.d.ts.map +1 -0
  1382. package/dist/protocol/methods.js +16 -0
  1383. package/dist/protocol/methods.js.map +1 -0
  1384. package/dist/protocol.d.ts +598 -0
  1385. package/dist/protocol.d.ts.map +1 -0
  1386. package/dist/protocol.js +12 -0
  1387. package/dist/protocol.js.map +1 -0
  1388. package/dist/providers/auth-methods.d.ts +82 -0
  1389. package/dist/providers/auth-methods.d.ts.map +1 -0
  1390. package/dist/providers/auth-methods.js +180 -0
  1391. package/dist/providers/auth-methods.js.map +1 -0
  1392. package/dist/providers/catalog.d.ts +85 -0
  1393. package/dist/providers/catalog.d.ts.map +1 -0
  1394. package/dist/providers/catalog.js +41 -0
  1395. package/dist/providers/catalog.js.map +1 -0
  1396. package/dist/providers/validate-key.d.ts +42 -0
  1397. package/dist/providers/validate-key.d.ts.map +1 -0
  1398. package/dist/providers/validate-key.js.map +1 -0
  1399. package/dist/security/external-content.d.ts +67 -0
  1400. package/dist/security/external-content.d.ts.map +1 -0
  1401. package/dist/security/external-content.js +80 -0
  1402. package/dist/security/external-content.js.map +1 -0
  1403. package/dist/security/injection-patterns.d.ts +33 -0
  1404. package/dist/security/injection-patterns.d.ts.map +1 -0
  1405. package/dist/security/injection-patterns.js +97 -0
  1406. package/dist/security/injection-patterns.js.map +1 -0
  1407. package/dist/security/media-path-guard.d.ts +25 -0
  1408. package/dist/security/media-path-guard.d.ts.map +1 -0
  1409. package/dist/security/media-path-guard.js +98 -0
  1410. package/dist/security/media-path-guard.js.map +1 -0
  1411. package/dist/security/terminal-input-sanitizer.d.ts +30 -0
  1412. package/dist/security/terminal-input-sanitizer.d.ts.map +1 -0
  1413. package/dist/security/terminal-input-sanitizer.js +70 -0
  1414. package/dist/security/terminal-input-sanitizer.js.map +1 -0
  1415. package/dist/sessions/bootstrap-marker.d.ts +5 -0
  1416. package/dist/sessions/bootstrap-marker.d.ts.map +1 -0
  1417. package/dist/sessions/bootstrap-marker.js +120 -0
  1418. package/dist/sessions/bootstrap-marker.js.map +1 -0
  1419. package/dist/sessions/session-file-repair.d.ts +12 -0
  1420. package/dist/sessions/session-file-repair.d.ts.map +1 -0
  1421. package/dist/sessions/session-file-repair.js +155 -0
  1422. package/dist/sessions/session-file-repair.js.map +1 -0
  1423. package/dist/sessions/session-key-utils.d.ts +54 -0
  1424. package/dist/sessions/session-key-utils.d.ts.map +1 -0
  1425. package/dist/sessions/session-key-utils.js +133 -0
  1426. package/dist/sessions/session-key-utils.js.map +1 -0
  1427. package/dist/sessions/session-manager-factory.d.ts +21 -0
  1428. package/dist/sessions/session-manager-factory.d.ts.map +1 -0
  1429. package/dist/sessions/session-manager-factory.js +142 -0
  1430. package/dist/sessions/session-manager-factory.js.map +1 -0
  1431. package/dist/sessions/session-store.d.ts +154 -0
  1432. package/dist/sessions/session-store.d.ts.map +1 -0
  1433. package/dist/sessions/session-store.js +498 -0
  1434. package/dist/sessions/session-store.js.map +1 -0
  1435. package/dist/sessions/session-write-lock.d.ts +10 -0
  1436. package/dist/sessions/session-write-lock.d.ts.map +1 -0
  1437. package/dist/sessions/session-write-lock.js +167 -0
  1438. package/dist/sessions/session-write-lock.js.map +1 -0
  1439. package/dist/sessions/transcript-reader.d.ts +37 -0
  1440. package/dist/sessions/transcript-reader.d.ts.map +1 -0
  1441. package/dist/sessions/transcript-reader.js +136 -0
  1442. package/dist/sessions/transcript-reader.js.map +1 -0
  1443. package/dist/sessions/transcript-repair.d.ts +16 -0
  1444. package/dist/sessions/transcript-repair.d.ts.map +1 -0
  1445. package/dist/sessions/transcript-repair.js +214 -0
  1446. package/dist/sessions/transcript-repair.js.map +1 -0
  1447. package/dist/shared/global-singleton.d.ts +27 -0
  1448. package/dist/shared/global-singleton.d.ts.map +1 -0
  1449. package/dist/shared/global-singleton.js +35 -0
  1450. package/dist/shared/global-singleton.js.map +1 -0
  1451. package/dist/shared/string-coerce.d.ts +12 -0
  1452. package/dist/shared/string-coerce.d.ts.map +1 -0
  1453. package/dist/shared/string-coerce.js +12 -0
  1454. package/dist/shared/string-coerce.js.map +1 -0
  1455. package/dist/storage/boot.d.ts +28 -0
  1456. package/dist/storage/boot.d.ts.map +1 -0
  1457. package/dist/storage/boot.js +588 -0
  1458. package/dist/storage/boot.js.map +1 -0
  1459. package/dist/storage/config-cache.d.ts +23 -0
  1460. package/dist/storage/config-cache.d.ts.map +1 -0
  1461. package/dist/storage/config-cache.js +58 -0
  1462. package/dist/storage/config-cache.js.map +1 -0
  1463. package/dist/storage/convex/auth-store.d.ts +52 -0
  1464. package/dist/storage/convex/auth-store.d.ts.map +1 -0
  1465. package/dist/storage/convex/auth-store.js +282 -0
  1466. package/dist/storage/convex/auth-store.js.map +1 -0
  1467. package/dist/storage/convex/blob-store.d.ts +20 -0
  1468. package/dist/storage/convex/blob-store.d.ts.map +1 -0
  1469. package/dist/storage/convex/blob-store.js +74 -0
  1470. package/dist/storage/convex/blob-store.js.map +1 -0
  1471. package/dist/storage/convex/channel-store.d.ts +112 -0
  1472. package/dist/storage/convex/channel-store.d.ts.map +1 -0
  1473. package/dist/storage/convex/channel-store.js +267 -0
  1474. package/dist/storage/convex/channel-store.js.map +1 -0
  1475. package/dist/storage/convex/client.d.ts +53 -0
  1476. package/dist/storage/convex/client.d.ts.map +1 -0
  1477. package/dist/storage/convex/client.js +121 -0
  1478. package/dist/storage/convex/client.js.map +1 -0
  1479. package/dist/storage/convex/config-store.d.ts +29 -0
  1480. package/dist/storage/convex/config-store.d.ts.map +1 -0
  1481. package/dist/storage/convex/config-store.js +205 -0
  1482. package/dist/storage/convex/config-store.js.map +1 -0
  1483. package/dist/storage/convex/cron-store.d.ts +86 -0
  1484. package/dist/storage/convex/cron-store.d.ts.map +1 -0
  1485. package/dist/storage/convex/cron-store.js +428 -0
  1486. package/dist/storage/convex/cron-store.js.map +1 -0
  1487. package/dist/storage/convex/exec-approval-store.d.ts +38 -0
  1488. package/dist/storage/convex/exec-approval-store.d.ts.map +1 -0
  1489. package/dist/storage/convex/exec-approval-store.js +147 -0
  1490. package/dist/storage/convex/exec-approval-store.js.map +1 -0
  1491. package/dist/storage/convex/extension-store.d.ts +28 -0
  1492. package/dist/storage/convex/extension-store.d.ts.map +1 -0
  1493. package/dist/storage/convex/extension-store.js +39 -0
  1494. package/dist/storage/convex/extension-store.js.map +1 -0
  1495. package/dist/storage/convex/index.d.ts +35 -0
  1496. package/dist/storage/convex/index.d.ts.map +1 -0
  1497. package/dist/storage/convex/index.js +141 -0
  1498. package/dist/storage/convex/index.js.map +1 -0
  1499. package/dist/storage/convex/instance-store.d.ts +37 -0
  1500. package/dist/storage/convex/instance-store.d.ts.map +1 -0
  1501. package/dist/storage/convex/instance-store.js +88 -0
  1502. package/dist/storage/convex/instance-store.js.map +1 -0
  1503. package/dist/storage/convex/log-store.d.ts +36 -0
  1504. package/dist/storage/convex/log-store.d.ts.map +1 -0
  1505. package/dist/storage/convex/log-store.js +213 -0
  1506. package/dist/storage/convex/log-store.js.map +1 -0
  1507. package/dist/storage/convex/memory-store.d.ts +50 -0
  1508. package/dist/storage/convex/memory-store.d.ts.map +1 -0
  1509. package/dist/storage/convex/memory-store.js +537 -0
  1510. package/dist/storage/convex/memory-store.js.map +1 -0
  1511. package/dist/storage/convex/message-store.d.ts +32 -0
  1512. package/dist/storage/convex/message-store.d.ts.map +1 -0
  1513. package/dist/storage/convex/message-store.js +272 -0
  1514. package/dist/storage/convex/message-store.js.map +1 -0
  1515. package/dist/storage/convex/org-store.d.ts +46 -0
  1516. package/dist/storage/convex/org-store.d.ts.map +1 -0
  1517. package/dist/storage/convex/org-store.js +101 -0
  1518. package/dist/storage/convex/org-store.js.map +1 -0
  1519. package/dist/storage/convex/session-store.d.ts +44 -0
  1520. package/dist/storage/convex/session-store.d.ts.map +1 -0
  1521. package/dist/storage/convex/session-store.js +257 -0
  1522. package/dist/storage/convex/session-store.js.map +1 -0
  1523. package/dist/storage/convex/skill-store.d.ts +49 -0
  1524. package/dist/storage/convex/skill-store.d.ts.map +1 -0
  1525. package/dist/storage/convex/skill-store.js +84 -0
  1526. package/dist/storage/convex/skill-store.js.map +1 -0
  1527. package/dist/storage/convex/subagent-store.d.ts +28 -0
  1528. package/dist/storage/convex/subagent-store.d.ts.map +1 -0
  1529. package/dist/storage/convex/subagent-store.js +83 -0
  1530. package/dist/storage/convex/subagent-store.js.map +1 -0
  1531. package/dist/storage/convex/workspace-store.d.ts +25 -0
  1532. package/dist/storage/convex/workspace-store.d.ts.map +1 -0
  1533. package/dist/storage/convex/workspace-store.js +127 -0
  1534. package/dist/storage/convex/workspace-store.js.map +1 -0
  1535. package/dist/storage/cron-cache.d.ts +17 -0
  1536. package/dist/storage/cron-cache.d.ts.map +1 -0
  1537. package/dist/storage/cron-cache.js +67 -0
  1538. package/dist/storage/cron-cache.js.map +1 -0
  1539. package/dist/storage/encryption.d.ts +69 -0
  1540. package/dist/storage/encryption.d.ts.map +1 -0
  1541. package/dist/storage/encryption.js +389 -0
  1542. package/dist/storage/encryption.js.map +1 -0
  1543. package/dist/storage/factory-reset.d.ts +7 -0
  1544. package/dist/storage/factory-reset.d.ts.map +1 -0
  1545. package/dist/storage/factory-reset.js +34 -0
  1546. package/dist/storage/factory-reset.js.map +1 -0
  1547. package/dist/storage/facts-cache.d.ts +24 -0
  1548. package/dist/storage/facts-cache.d.ts.map +1 -0
  1549. package/dist/storage/facts-cache.js +110 -0
  1550. package/dist/storage/facts-cache.js.map +1 -0
  1551. package/dist/storage/flush.d.ts +4 -0
  1552. package/dist/storage/flush.d.ts.map +1 -0
  1553. package/dist/storage/flush.js +128 -0
  1554. package/dist/storage/flush.js.map +1 -0
  1555. package/dist/storage/instance-admin.d.ts +52 -0
  1556. package/dist/storage/instance-admin.d.ts.map +1 -0
  1557. package/dist/storage/instance-admin.js +91 -0
  1558. package/dist/storage/instance-admin.js.map +1 -0
  1559. package/dist/storage/local/auth-store.d.ts +44 -0
  1560. package/dist/storage/local/auth-store.d.ts.map +1 -0
  1561. package/dist/storage/local/auth-store.js +252 -0
  1562. package/dist/storage/local/auth-store.js.map +1 -0
  1563. package/dist/storage/local/blob-store.d.ts +14 -0
  1564. package/dist/storage/local/blob-store.d.ts.map +1 -0
  1565. package/dist/storage/local/blob-store.js +87 -0
  1566. package/dist/storage/local/blob-store.js.map +1 -0
  1567. package/dist/storage/local/channel-store.d.ts +107 -0
  1568. package/dist/storage/local/channel-store.d.ts.map +1 -0
  1569. package/dist/storage/local/channel-store.js +147 -0
  1570. package/dist/storage/local/channel-store.js.map +1 -0
  1571. package/dist/storage/local/config-store.d.ts +23 -0
  1572. package/dist/storage/local/config-store.d.ts.map +1 -0
  1573. package/dist/storage/local/config-store.js +98 -0
  1574. package/dist/storage/local/config-store.js.map +1 -0
  1575. package/dist/storage/local/cron-store.d.ts +30 -0
  1576. package/dist/storage/local/cron-store.d.ts.map +1 -0
  1577. package/dist/storage/local/cron-store.js +186 -0
  1578. package/dist/storage/local/cron-store.js.map +1 -0
  1579. package/dist/storage/local/exec-approval-store.d.ts +41 -0
  1580. package/dist/storage/local/exec-approval-store.d.ts.map +1 -0
  1581. package/dist/storage/local/exec-approval-store.js +78 -0
  1582. package/dist/storage/local/exec-approval-store.js.map +1 -0
  1583. package/dist/storage/local/extension-store.d.ts +13 -0
  1584. package/dist/storage/local/extension-store.d.ts.map +1 -0
  1585. package/dist/storage/local/extension-store.js +36 -0
  1586. package/dist/storage/local/extension-store.js.map +1 -0
  1587. package/dist/storage/local/file-watcher.d.ts +24 -0
  1588. package/dist/storage/local/file-watcher.d.ts.map +1 -0
  1589. package/dist/storage/local/file-watcher.js +141 -0
  1590. package/dist/storage/local/file-watcher.js.map +1 -0
  1591. package/dist/storage/local/index.d.ts +33 -0
  1592. package/dist/storage/local/index.d.ts.map +1 -0
  1593. package/dist/storage/local/index.js +143 -0
  1594. package/dist/storage/local/index.js.map +1 -0
  1595. package/dist/storage/local/instance-store.d.ts +30 -0
  1596. package/dist/storage/local/instance-store.d.ts.map +1 -0
  1597. package/dist/storage/local/instance-store.js +83 -0
  1598. package/dist/storage/local/instance-store.js.map +1 -0
  1599. package/dist/storage/local/log-store.d.ts +27 -0
  1600. package/dist/storage/local/log-store.d.ts.map +1 -0
  1601. package/dist/storage/local/log-store.js +185 -0
  1602. package/dist/storage/local/log-store.js.map +1 -0
  1603. package/dist/storage/local/memory-store.d.ts +39 -0
  1604. package/dist/storage/local/memory-store.d.ts.map +1 -0
  1605. package/dist/storage/local/memory-store.js +258 -0
  1606. package/dist/storage/local/memory-store.js.map +1 -0
  1607. package/dist/storage/local/message-store.d.ts +27 -0
  1608. package/dist/storage/local/message-store.d.ts.map +1 -0
  1609. package/dist/storage/local/message-store.js +253 -0
  1610. package/dist/storage/local/message-store.js.map +1 -0
  1611. package/dist/storage/local/org-store.d.ts +39 -0
  1612. package/dist/storage/local/org-store.d.ts.map +1 -0
  1613. package/dist/storage/local/org-store.js +155 -0
  1614. package/dist/storage/local/org-store.js.map +1 -0
  1615. package/dist/storage/local/session-store.d.ts +30 -0
  1616. package/dist/storage/local/session-store.d.ts.map +1 -0
  1617. package/dist/storage/local/session-store.js +82 -0
  1618. package/dist/storage/local/session-store.js.map +1 -0
  1619. package/dist/storage/local/skill-store.d.ts +40 -0
  1620. package/dist/storage/local/skill-store.d.ts.map +1 -0
  1621. package/dist/storage/local/skill-store.js +121 -0
  1622. package/dist/storage/local/skill-store.js.map +1 -0
  1623. package/dist/storage/local/subagent-store.d.ts +20 -0
  1624. package/dist/storage/local/subagent-store.d.ts.map +1 -0
  1625. package/dist/storage/local/subagent-store.js +71 -0
  1626. package/dist/storage/local/subagent-store.js.map +1 -0
  1627. package/dist/storage/local/workspace-store.d.ts +22 -0
  1628. package/dist/storage/local/workspace-store.d.ts.map +1 -0
  1629. package/dist/storage/local/workspace-store.js +190 -0
  1630. package/dist/storage/local/workspace-store.js.map +1 -0
  1631. package/dist/storage/migrate.d.ts +64 -0
  1632. package/dist/storage/migrate.d.ts.map +1 -0
  1633. package/dist/storage/migrate.js +585 -0
  1634. package/dist/storage/migrate.js.map +1 -0
  1635. package/dist/storage/runtime-context.d.ts +35 -0
  1636. package/dist/storage/runtime-context.d.ts.map +1 -0
  1637. package/dist/storage/runtime-context.js +145 -0
  1638. package/dist/storage/runtime-context.js.map +1 -0
  1639. package/dist/storage/sentinel.d.ts +28 -0
  1640. package/dist/storage/sentinel.d.ts.map +1 -0
  1641. package/dist/storage/sentinel.js +98 -0
  1642. package/dist/storage/sentinel.js.map +1 -0
  1643. package/dist/storage/session-cache.d.ts +15 -0
  1644. package/dist/storage/session-cache.d.ts.map +1 -0
  1645. package/dist/storage/session-cache.js +81 -0
  1646. package/dist/storage/session-cache.js.map +1 -0
  1647. package/dist/storage/store.d.ts +745 -0
  1648. package/dist/storage/store.d.ts.map +1 -0
  1649. package/dist/storage/store.js +36 -0
  1650. package/dist/storage/store.js.map +1 -0
  1651. package/dist/storage/strict-guard.d.ts +17 -0
  1652. package/dist/storage/strict-guard.d.ts.map +1 -0
  1653. package/dist/storage/strict-guard.js +200 -0
  1654. package/dist/storage/strict-guard.js.map +1 -0
  1655. package/dist/storage/workspace-live-mirror.d.ts +33 -0
  1656. package/dist/storage/workspace-live-mirror.d.ts.map +1 -0
  1657. package/dist/storage/workspace-live-mirror.js +207 -0
  1658. package/dist/storage/workspace-live-mirror.js.map +1 -0
  1659. package/dist/system-prompt/assembler.d.ts +113 -0
  1660. package/dist/system-prompt/assembler.d.ts.map +1 -0
  1661. package/dist/system-prompt/assembler.js +649 -0
  1662. package/dist/system-prompt/assembler.js.map +1 -0
  1663. package/dist/system-prompt/bootstrap-budget.d.ts +22 -0
  1664. package/dist/system-prompt/bootstrap-budget.d.ts.map +1 -0
  1665. package/dist/system-prompt/bootstrap-budget.js +83 -0
  1666. package/dist/system-prompt/bootstrap-budget.js.map +1 -0
  1667. package/dist/system-prompt/cache-boundary.d.ts +13 -0
  1668. package/dist/system-prompt/cache-boundary.d.ts.map +1 -0
  1669. package/dist/system-prompt/cache-boundary.js +56 -0
  1670. package/dist/system-prompt/cache-boundary.js.map +1 -0
  1671. package/dist/system-prompt/cache-stability.d.ts +3 -0
  1672. package/dist/system-prompt/cache-stability.d.ts.map +1 -0
  1673. package/dist/system-prompt/cache-stability.js +18 -0
  1674. package/dist/system-prompt/cache-stability.js.map +1 -0
  1675. package/dist/system-prompt/guidance.d.ts +147 -0
  1676. package/dist/system-prompt/guidance.d.ts.map +1 -0
  1677. package/dist/system-prompt/guidance.js +352 -0
  1678. package/dist/system-prompt/guidance.js.map +1 -0
  1679. package/dist/system-prompt/identity-defaults.d.ts +50 -0
  1680. package/dist/system-prompt/identity-defaults.d.ts.map +1 -0
  1681. package/dist/system-prompt/identity-defaults.js +119 -0
  1682. package/dist/system-prompt/identity-defaults.js.map +1 -0
  1683. package/dist/system-prompt/org/escalation-inbox.d.ts +53 -0
  1684. package/dist/system-prompt/org/escalation-inbox.d.ts.map +1 -0
  1685. package/dist/system-prompt/org/escalation-inbox.js +71 -0
  1686. package/dist/system-prompt/org/escalation-inbox.js.map +1 -0
  1687. package/dist/system-prompt/org/receiver-hint.d.ts +72 -0
  1688. package/dist/system-prompt/org/receiver-hint.d.ts.map +1 -0
  1689. package/dist/system-prompt/org/receiver-hint.js +116 -0
  1690. package/dist/system-prompt/org/receiver-hint.js.map +1 -0
  1691. package/dist/system-prompt/org/render-org-block.d.ts +42 -0
  1692. package/dist/system-prompt/org/render-org-block.d.ts.map +1 -0
  1693. package/dist/system-prompt/org/render-org-block.js +57 -0
  1694. package/dist/system-prompt/org/render-org-block.js.map +1 -0
  1695. package/dist/system-prompt/org/sub-agent-anchor.d.ts +30 -0
  1696. package/dist/system-prompt/org/sub-agent-anchor.d.ts.map +1 -0
  1697. package/dist/system-prompt/org/sub-agent-anchor.js +36 -0
  1698. package/dist/system-prompt/org/sub-agent-anchor.js.map +1 -0
  1699. package/dist/system-prompt/override.d.ts +7 -0
  1700. package/dist/system-prompt/override.d.ts.map +1 -0
  1701. package/dist/system-prompt/override.js +13 -0
  1702. package/dist/system-prompt/override.js.map +1 -0
  1703. package/dist/system-prompt/pi-injection.d.ts +5 -0
  1704. package/dist/system-prompt/pi-injection.d.ts.map +1 -0
  1705. package/dist/system-prompt/pi-injection.js +33 -0
  1706. package/dist/system-prompt/pi-injection.js.map +1 -0
  1707. package/dist/system-prompt/runtime-params.d.ts +34 -0
  1708. package/dist/system-prompt/runtime-params.d.ts.map +1 -0
  1709. package/dist/system-prompt/runtime-params.js +108 -0
  1710. package/dist/system-prompt/runtime-params.js.map +1 -0
  1711. package/dist/system-prompt/sanitize.d.ts +7 -0
  1712. package/dist/system-prompt/sanitize.d.ts.map +1 -0
  1713. package/dist/system-prompt/sanitize.js +31 -0
  1714. package/dist/system-prompt/sanitize.js.map +1 -0
  1715. package/dist/system-prompt/types.d.ts +7 -0
  1716. package/dist/system-prompt/types.d.ts.map +1 -0
  1717. package/dist/system-prompt/types.js +3 -0
  1718. package/dist/system-prompt/types.js.map +1 -0
  1719. package/dist/system-prompt/workspace-loader.d.ts +12 -0
  1720. package/dist/system-prompt/workspace-loader.d.ts.map +1 -0
  1721. package/dist/system-prompt/workspace-loader.js +115 -0
  1722. package/dist/system-prompt/workspace-loader.js.map +1 -0
  1723. package/dist/tideline/advanced.d.ts +25 -0
  1724. package/dist/tideline/advanced.d.ts.map +1 -0
  1725. package/dist/tideline/advanced.js +34 -0
  1726. package/dist/tideline/advanced.js.map +1 -0
  1727. package/dist/tideline/eval.d.ts +19 -0
  1728. package/dist/tideline/eval.d.ts.map +1 -0
  1729. package/dist/tideline/eval.js +24 -0
  1730. package/dist/tideline/eval.js.map +1 -0
  1731. package/dist/tideline/host-ports.standalone.d.ts +49 -0
  1732. package/dist/tideline/host-ports.standalone.d.ts.map +1 -0
  1733. package/dist/tideline/host-ports.standalone.js +61 -0
  1734. package/dist/tideline/host-ports.standalone.js.map +1 -0
  1735. package/dist/tideline/index.d.ts +34 -0
  1736. package/dist/tideline/index.d.ts.map +1 -0
  1737. package/dist/tideline/index.js +42 -0
  1738. package/dist/tideline/index.js.map +1 -0
  1739. package/dist/tui/approval-prompt.d.ts +73 -0
  1740. package/dist/tui/approval-prompt.d.ts.map +1 -0
  1741. package/dist/tui/approval-prompt.js +272 -0
  1742. package/dist/tui/approval-prompt.js.map +1 -0
  1743. package/dist/tui/client.d.ts +89 -0
  1744. package/dist/tui/client.d.ts.map +1 -0
  1745. package/dist/tui/client.js.map +1 -0
  1746. package/dist/ui/brand-frames-cli.d.ts +19 -0
  1747. package/dist/ui/brand-frames-cli.d.ts.map +1 -0
  1748. package/dist/ui/brand-frames-cli.js +8 -13
  1749. package/dist/ui/brand-frames-cli.js.map +1 -0
  1750. package/dist/ui/brand.d.ts +41 -0
  1751. package/dist/ui/brand.d.ts.map +1 -0
  1752. package/dist/ui/brand.js +28 -6
  1753. package/dist/ui/brand.js.map +1 -0
  1754. package/dist/ui/editor.d.ts +30 -0
  1755. package/dist/ui/editor.d.ts.map +1 -0
  1756. package/dist/ui/editor.js +73 -0
  1757. package/dist/ui/editor.js.map +1 -0
  1758. package/dist/ui/format-session.d.ts +68 -0
  1759. package/dist/ui/format-session.d.ts.map +1 -0
  1760. package/dist/ui/format-session.js +181 -0
  1761. package/dist/ui/format-session.js.map +1 -0
  1762. package/dist/ui/markdown.d.ts +48 -0
  1763. package/dist/ui/markdown.d.ts.map +1 -0
  1764. package/dist/ui/markdown.js +60 -0
  1765. package/dist/ui/markdown.js.map +1 -0
  1766. package/dist/ui/onboard-storage-mode.d.ts +17 -0
  1767. package/dist/ui/onboard-storage-mode.d.ts.map +1 -0
  1768. package/dist/ui/onboard-storage-mode.js +638 -0
  1769. package/dist/ui/onboard-storage-mode.js.map +1 -0
  1770. package/dist/ui/onboarding.d.ts +97 -0
  1771. package/dist/ui/onboarding.d.ts.map +1 -0
  1772. package/dist/ui/onboarding.js +259 -111
  1773. package/dist/ui/onboarding.js.map +1 -0
  1774. package/dist/ui/searchable-select.d.ts +48 -0
  1775. package/dist/ui/searchable-select.d.ts.map +1 -0
  1776. package/dist/ui/searchable-select.js +108 -0
  1777. package/dist/ui/searchable-select.js.map +1 -0
  1778. package/dist/ui/syntax-theme.d.ts +30 -0
  1779. package/dist/ui/syntax-theme.d.ts.map +1 -0
  1780. package/dist/ui/syntax-theme.js +72 -0
  1781. package/dist/ui/syntax-theme.js.map +1 -0
  1782. package/dist/ui/terminal-cleanup.d.ts +46 -0
  1783. package/dist/ui/terminal-cleanup.d.ts.map +1 -0
  1784. package/dist/ui/terminal-cleanup.js +17 -5
  1785. package/dist/ui/terminal-cleanup.js.map +1 -0
  1786. package/dist/ui/theme.d.ts +21 -0
  1787. package/dist/ui/theme.d.ts.map +1 -0
  1788. package/dist/ui/theme.js +66 -2
  1789. package/dist/ui/theme.js.map +1 -0
  1790. package/dist/ui/tool-result.d.ts +47 -0
  1791. package/dist/ui/tool-result.d.ts.map +1 -0
  1792. package/dist/ui/tool-result.js +100 -0
  1793. package/dist/ui/tool-result.js.map +1 -0
  1794. package/dist/utils/delivery-context.d.ts +50 -0
  1795. package/dist/utils/delivery-context.d.ts.map +1 -0
  1796. package/dist/utils/delivery-context.js +82 -0
  1797. package/dist/utils/delivery-context.js.map +1 -0
  1798. package/dist/utils/message-channel.d.ts +60 -0
  1799. package/dist/utils/message-channel.d.ts.map +1 -0
  1800. package/dist/utils/message-channel.js +103 -0
  1801. package/dist/utils/message-channel.js.map +1 -0
  1802. package/dist/utils/string-coerce.d.ts +50 -0
  1803. package/dist/utils/string-coerce.d.ts.map +1 -0
  1804. package/dist/utils/string-coerce.js +101 -0
  1805. package/dist/utils/string-coerce.js.map +1 -0
  1806. package/dist/version.d.ts +20 -0
  1807. package/dist/version.d.ts.map +1 -0
  1808. package/dist/version.js +54 -0
  1809. package/dist/version.js.map +1 -0
  1810. package/dist/workspace/bootstrap.d.ts +12 -0
  1811. package/dist/workspace/bootstrap.d.ts.map +1 -0
  1812. package/dist/workspace/bootstrap.js +123 -0
  1813. package/dist/workspace/bootstrap.js.map +1 -0
  1814. package/dist/workspace/fs-utils.d.ts +2 -0
  1815. package/dist/workspace/fs-utils.d.ts.map +1 -0
  1816. package/dist/workspace/fs-utils.js +14 -0
  1817. package/dist/workspace/fs-utils.js.map +1 -0
  1818. package/dist/workspace/git-init.d.ts +5 -0
  1819. package/dist/workspace/git-init.d.ts.map +1 -0
  1820. package/dist/workspace/git-init.js +71 -0
  1821. package/dist/workspace/git-init.js.map +1 -0
  1822. package/dist/workspace/state.d.ts +13 -0
  1823. package/dist/workspace/state.d.ts.map +1 -0
  1824. package/dist/workspace/state.js +128 -0
  1825. package/dist/workspace/state.js.map +1 -0
  1826. package/dist/workspace/template-loader.d.ts +15 -0
  1827. package/dist/workspace/template-loader.d.ts.map +1 -0
  1828. package/dist/workspace/template-loader.js +214 -0
  1829. package/dist/workspace/template-loader.js.map +1 -0
  1830. package/package.json +173 -68
  1831. package/scripts/build-done.mjs +125 -0
  1832. package/scripts/run-brigade.mjs +208 -0
  1833. package/skills/1password/SKILL.md +70 -0
  1834. package/skills/1password/references/cli-examples.md +29 -0
  1835. package/skills/1password/references/get-started.md +17 -0
  1836. package/skills/apple-notes/SKILL.md +77 -0
  1837. package/skills/apple-reminders/SKILL.md +118 -0
  1838. package/skills/bear-notes/SKILL.md +107 -0
  1839. package/skills/blogwatcher/SKILL.md +69 -0
  1840. package/skills/blucli/SKILL.md +47 -0
  1841. package/skills/bluebubbles/SKILL.md +136 -0
  1842. package/skills/camsnap/SKILL.md +45 -0
  1843. package/skills/canvas/SKILL.md +204 -0
  1844. package/skills/coding-agent/SKILL.md +316 -0
  1845. package/skills/discord/SKILL.md +197 -0
  1846. package/skills/eightctl/SKILL.md +50 -0
  1847. package/skills/gemini/SKILL.md +43 -0
  1848. package/skills/gh-issues/SKILL.md +885 -0
  1849. package/skills/gifgrep/SKILL.md +79 -0
  1850. package/skills/git-commit/SKILL.md +40 -0
  1851. package/skills/github/SKILL.md +163 -0
  1852. package/skills/gog/SKILL.md +116 -0
  1853. package/skills/goplaces/SKILL.md +52 -0
  1854. package/skills/healthcheck/SKILL.md +245 -0
  1855. package/skills/himalaya/SKILL.md +257 -0
  1856. package/skills/himalaya/references/configuration.md +184 -0
  1857. package/skills/himalaya/references/message-composition.md +199 -0
  1858. package/skills/imsg/SKILL.md +122 -0
  1859. package/skills/lead-scout/SKILL.md +46 -0
  1860. package/skills/mcporter/SKILL.md +61 -0
  1861. package/skills/model-usage/SKILL.md +69 -0
  1862. package/skills/nano-pdf/SKILL.md +38 -0
  1863. package/skills/node-connect/SKILL.md +142 -0
  1864. package/skills/notion/SKILL.md +174 -0
  1865. package/skills/oauth-setup/SKILL.md +55 -0
  1866. package/skills/obsidian/SKILL.md +81 -0
  1867. package/skills/openai-whisper/SKILL.md +38 -0
  1868. package/skills/openai-whisper-api/SKILL.md +62 -0
  1869. package/skills/openai-whisper-api/scripts/transcribe.sh +88 -0
  1870. package/skills/openhue/SKILL.md +112 -0
  1871. package/skills/oracle/SKILL.md +125 -0
  1872. package/skills/ordercli/SKILL.md +78 -0
  1873. package/skills/peekaboo/SKILL.md +190 -0
  1874. package/skills/sag/SKILL.md +87 -0
  1875. package/skills/session-logs/SKILL.md +151 -0
  1876. package/skills/share-skills/SKILL.md +72 -0
  1877. package/skills/sherpa-onnx-tts/SKILL.md +109 -0
  1878. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +178 -0
  1879. package/skills/skill-creator/SKILL.md +372 -0
  1880. package/skills/skill-creator/license.txt +202 -0
  1881. package/skills/skill-creator/scripts/init_skill.py +378 -0
  1882. package/skills/skill-creator/scripts/package_skill.py +139 -0
  1883. package/skills/skill-creator/scripts/quick_validate.py +159 -0
  1884. package/skills/skill-creator/scripts/test_package_skill.py +160 -0
  1885. package/skills/skill-creator/scripts/test_quick_validate.py +72 -0
  1886. package/skills/slack/SKILL.md +144 -0
  1887. package/skills/songsee/SKILL.md +49 -0
  1888. package/skills/sonoscli/SKILL.md +65 -0
  1889. package/skills/spotify-player/SKILL.md +64 -0
  1890. package/skills/summarize/SKILL.md +87 -0
  1891. package/skills/taskflow/SKILL.md +149 -0
  1892. package/skills/taskflow-inbox-triage/SKILL.md +119 -0
  1893. package/skills/things-mac/SKILL.md +86 -0
  1894. package/skills/tmux/SKILL.md +170 -0
  1895. package/skills/tmux/scripts/find-sessions.sh +112 -0
  1896. package/skills/tmux/scripts/wait-for-text.sh +83 -0
  1897. package/skills/trello/SKILL.md +108 -0
  1898. package/skills/video-frames/SKILL.md +46 -0
  1899. package/skills/video-frames/scripts/frame.sh +81 -0
  1900. package/skills/voice-call/SKILL.md +45 -0
  1901. package/skills/wacli/SKILL.md +72 -0
  1902. package/skills/weather/SKILL.md +129 -0
  1903. package/skills/xurl/SKILL.md +461 -0
  1904. package/templates/workspace/AGENTS.md +223 -0
  1905. package/templates/workspace/BOOTSTRAP.md +64 -0
  1906. package/templates/workspace/HEARTBEAT.md +15 -0
  1907. package/templates/workspace/IDENTITY.md +31 -0
  1908. package/templates/workspace/SOUL.md +47 -0
  1909. package/templates/workspace/TOOLS.md +48 -0
  1910. package/templates/workspace/USER.md +25 -0
  1911. package/CHANGELOG.md +0 -48
  1912. package/SECURITY.md +0 -208
  1913. package/assets/brigade-wordmark.png +0 -0
  1914. package/dist/cli/chat-cmd.js +0 -191
  1915. package/dist/cli/config-cmd.js +0 -171
  1916. package/dist/cli/connect-cmd.js +0 -487
  1917. package/dist/cli/doctor-cmd.js +0 -387
  1918. package/dist/cli/gateway-cmd.js +0 -155
  1919. package/dist/cli.js +0 -328
  1920. package/dist/core/agent.js +0 -1123
  1921. package/dist/core/auth-label.js +0 -147
  1922. package/dist/core/cli-error.js +0 -94
  1923. package/dist/core/error-classifier.js +0 -354
  1924. package/dist/core/provider-payload-mutators.js +0 -517
  1925. package/dist/core/provider-quirks.js +0 -285
  1926. package/dist/core/smart-compaction.js +0 -209
  1927. package/dist/core/system-prompt-defaults.js +0 -264
  1928. package/dist/core/system-prompt-guidance.js +0 -271
  1929. package/dist/index.js +0 -32
  1930. package/dist/ui/brand-frames.js +0 -36
  1931. package/dist/ui/chat.js +0 -1008
@@ -0,0 +1,985 @@
1
+ /**
2
+ * `cron` — agent-callable scheduler control tool.
3
+ *
4
+ * Lets the operator (via the chat/connect TUI) manage scheduled jobs:
5
+ * - `status` — service-level snapshot (job count, next wake, running).
6
+ * - `list` — paginated job list.
7
+ * - `add` — create a new job. Schedule + payload + delivery in one call.
8
+ * - `update` — patch one job by id.
9
+ * - `remove` — delete one job by id.
10
+ * - `run` — fire one job NOW (force or only-if-due).
11
+ * - `runs` — fetch run history for one job.
12
+ * - `wake` — inject a system-event string into the operator's main session.
13
+ *
14
+ * Reaches the cron service via the process-wide `getActiveCronService()`
15
+ * singleton. The tool refuses politely if the daemon hasn't been booted
16
+ * (so unit tests + standalone CLI invocations get a clear error rather
17
+ * than a confusing exception).
18
+ *
19
+ * Ownership model (per-action, not blanket):
20
+ * - Workspace owner (TUI / `connect` / CLI) gets full access to every
21
+ * action.
22
+ * - Channel-routed callers (e.g. an approved WhatsApp peer) can `add`
23
+ * reminders that fire back to THEIR OWN chat, plus read `status` /
24
+ * `list` / `runs`. Mutating / firing / waking another agent's jobs
25
+ * refuses with a 403-class error.
26
+ *
27
+ * The narrow surface for non-owner callers means an operator-allowed peer
28
+ * can ask "remind me to call mom in 1 hour" over WhatsApp and the cron
29
+ * fires back into THEIR DM, but can't reach the operator's main session
30
+ * or other peers' chats.
31
+ */
32
+ import { Type } from "typebox";
33
+ import { getActiveCronService } from "../../cron/active-service.js";
34
+ import { maybeAttachReminderContext, REMINDER_CONTEXT_MESSAGES_MAX, } from "../../cron/reminder-context.js";
35
+ import { computeJobStaggerOffsetMs } from "../../cron/stagger.js";
36
+ import { add as cronAdd, enqueueRun as cronEnqueueRun, list as cronList, listPage as cronListPage, remove as cronRemove, run as cronRun, runs as cronRuns, status as cronStatus, update as cronUpdate, wake as cronWake, } from "../../cron/service/ops.js";
37
+ import { failedTextResult, payloadTextResult, readNumberParam, readStringParam, } from "./common.js";
38
+ import { checkSessionToolAccess } from "./sessions/shared.js";
39
+ /**
40
+ * Top-level keys the cron tool will accept on the flat surface and pull
41
+ * back into a synthetic `job` (or `patch`) object when the model emits
42
+ * them at the call's top level instead of nesting under `job` / `patch`.
43
+ *
44
+ * Non-frontier models (Grok, smaller local models) sometimes flatten
45
+ * structured params into the tool's outer object — we recover defensively
46
+ * so a clearly-intended cron-add doesn't fail with "job required".
47
+ */
48
+ const CRON_FLAT_PAYLOAD_KEYS = [
49
+ "message",
50
+ "text",
51
+ "model",
52
+ "fallbacks",
53
+ "toolsAllow",
54
+ "thinking",
55
+ "timeoutSeconds",
56
+ "lightContext",
57
+ "allowUnsafeExternalContent",
58
+ ];
59
+ const CRON_RECOVERABLE_OBJECT_KEYS = new Set([
60
+ "name",
61
+ "schedule",
62
+ "sessionTarget",
63
+ "wakeMode",
64
+ "payload",
65
+ "delivery",
66
+ "enabled",
67
+ "description",
68
+ "deleteAfterRun",
69
+ "agentId",
70
+ "sessionKey",
71
+ "failureAlert",
72
+ ...CRON_FLAT_PAYLOAD_KEYS,
73
+ ]);
74
+ /**
75
+ * Stringified-object recovery. Some model/provider stacks (observed with
76
+ * Sonnet via OpenRouter) JSON-encode a nested tool arg, so a perfectly valid
77
+ * `job` arrives as the STRING '{"name": …}'. The TypeBox schema can't reject
78
+ * it (`job`/`patch` are Any), and bouncing it with "parameter required"
79
+ * misleads the model into retrying the identical call. Parse a string that
80
+ * holds a JSON object; anything else passes through untouched.
81
+ */
82
+ function coerceJsonObjectParam(value) {
83
+ if (typeof value !== "string")
84
+ return value;
85
+ const trimmed = value.trim();
86
+ if (!trimmed.startsWith("{"))
87
+ return value;
88
+ try {
89
+ const parsed = JSON.parse(trimmed);
90
+ return parsed !== null && typeof parsed === "object" && !Array.isArray(parsed)
91
+ ? parsed
92
+ : value;
93
+ }
94
+ catch {
95
+ return value;
96
+ }
97
+ }
98
+ /**
99
+ * Schema is purposefully permissive (`Type.Any()` on the payload-style
100
+ * subfields) — the cron service's `assertSupportedJobSpec` does the real
101
+ * validation. Pushing strict TypeBox here would force us to mirror the
102
+ * cron types one layer up the stack, and any drift between the two would
103
+ * be a permanent bug-hunt source.
104
+ */
105
+ const CronToolParams = Type.Object({
106
+ action: Type.Union([
107
+ Type.Literal("status"),
108
+ Type.Literal("list"),
109
+ Type.Literal("add"),
110
+ Type.Literal("update"),
111
+ Type.Literal("remove"),
112
+ Type.Literal("run"),
113
+ Type.Literal("runs"),
114
+ Type.Literal("wake"),
115
+ ], {
116
+ description: "Which cron operation to perform. " +
117
+ "`status` = service snapshot; `list` = paginated job list; `add` = create job; " +
118
+ "`update` = patch job by id; `remove` = delete job; `run` = fire now; " +
119
+ "`runs` = history; `wake` = inject system-event into main session.",
120
+ }),
121
+ job: Type.Optional(Type.Any({
122
+ description: 'REQUIRED for `action:"add"`. A nested JSON OBJECT — never a quoted/' +
123
+ "stringified object, never flat top-level fields. Shape: " +
124
+ '{"name":"<kebab-case>","schedule":{"kind":"in"|"at"|"every"|"cron",…},' +
125
+ '"payload":{"kind":"agentTurn","message":"…"} or {"kind":"systemEvent","text":"…"} ' +
126
+ 'or {"kind":"script","command":"<shell>","wakeAgent"?:false} (owner-only — runs a shell ' +
127
+ "command and by DEFAULT delivers its output with NO model turn; set wakeAgent:true to act " +
128
+ 'on the output), "delivery"?,"sessionTarget"?}. Use "script" for cheap scheduled ' +
129
+ "health-checks/probes that cost zero tokens. Copy a TEMPLATE and fill only the ⟨slots⟩.",
130
+ })),
131
+ patch: Type.Optional(Type.Any({
132
+ description: 'REQUIRED for `action:"update"`. A nested JSON OBJECT (never a quoted/' +
133
+ "stringified object) holding only the fields to change, e.g. " +
134
+ '{"enabled":false} or {"schedule":{"kind":"every","everyMs":600000}}.',
135
+ })),
136
+ jobId: Type.Optional(Type.String({
137
+ description: "Target job id. Required for update / remove / run / runs.",
138
+ })),
139
+ runMode: Type.Optional(Type.Union([Type.Literal("due"), Type.Literal("force")], {
140
+ description: "For `action: \"run\"` — `due` only if the job is past its " +
141
+ "next-fire, `force` regardless. Default `force`.",
142
+ })),
143
+ includeDisabled: Type.Optional(Type.Boolean({
144
+ description: "For `action: \"list\"` — include disabled jobs. Default false.",
145
+ })),
146
+ limit: Type.Optional(Type.Number({
147
+ description: "Pagination cap for `list` and `runs`. Default 50, max 200.",
148
+ })),
149
+ offset: Type.Optional(Type.Number({
150
+ description: "Pagination offset for `list` and `runs`. Default 0.",
151
+ })),
152
+ query: Type.Optional(Type.String({
153
+ description: "Free-text filter for `list` — matches name/description/id.",
154
+ })),
155
+ wakeMode: Type.Optional(Type.Union([Type.Literal("now"), Type.Literal("next-heartbeat")], {
156
+ description: "For `action: \"wake\"` — `now` forces a heartbeat; `next-heartbeat` " +
157
+ "waits for the next natural cycle. Default `next-heartbeat`.",
158
+ })),
159
+ text: Type.Optional(Type.String({
160
+ description: "Wake-action system-event text payload.",
161
+ })),
162
+ contextMessages: Type.Optional(Type.Number({
163
+ minimum: 0,
164
+ maximum: REMINDER_CONTEXT_MESSAGES_MAX,
165
+ description: "For `action: \"add\"` with a `systemEvent` payload — number of " +
166
+ "recent operator messages (0-10) to append as `Recent context:` " +
167
+ "after the reminder text. Lets the fire-time consumer see what " +
168
+ "the operator was just talking about. No-op for `agentTurn` " +
169
+ "payloads (their `message` is the model's prompt; mixing in " +
170
+ "random recent chat would pollute the isolated run). Default 0.",
171
+ })),
172
+ });
173
+ /**
174
+ * Result-side stagger surfacing for `add` / `update`. When the persisted
175
+ * job's schedule carries a non-zero `staggerMs`, the result includes a
176
+ * ready-to-say note so the model GROUNDS what it tells the operator instead
177
+ * of improvising. Observed in production without this: the model read
178
+ * `staggerMs: 300000` out of the raw job JSON and told the operator the
179
+ * offset is "random" (it's deterministic per job) and "can't be disabled"
180
+ * (it can — explicit `staggerMs: 0`). `firesAtLocal` already covers WHEN;
181
+ * this covers WHY and how to opt out, in language fit for a human.
182
+ */
183
+ function staggerHint(job) {
184
+ if (job.schedule.kind !== "cron")
185
+ return {};
186
+ const window = job.schedule.staggerMs;
187
+ if (typeof window !== "number" || window <= 0)
188
+ return {};
189
+ const offsetSec = Math.round(computeJobStaggerOffsetMs(job.id, window) / 1000);
190
+ const mins = Math.floor(offsetSec / 60);
191
+ const secs = `${offsetSec % 60}`.padStart(2, "0");
192
+ return {
193
+ staggerNote: `Heads-up to relay to the operator IN PLAIN LANGUAGE: this job fires ${mins}m${secs}s ` +
194
+ "after each scheduled slot (already included in firesAtLocal). That spread is an " +
195
+ "anti-pile-up default for on-the-hour schedules, it is the SAME offset every fire (not " +
196
+ "random), and it CAN be removed — if the operator wants the exact slot time, update the " +
197
+ "job's schedule with staggerMs: 0. Do not quote internal field names to the operator; " +
198
+ 'say something like "I spread scheduled jobs by a few minutes so they don\'t pile up — ' +
199
+ 'want it exactly on the hour?"',
200
+ };
201
+ }
202
+ /**
203
+ * Build the `cron` tool. Caller is the registry — when the cron service is
204
+ * active, the tool registers; otherwise it stays out of the surface.
205
+ *
206
+ * `opts.channelContext` is the active channel route for this turn (set by
207
+ * the channel manager → agent-loop pipeline). When present, the tool's
208
+ * `add` action auto-fills `delivery.channel/to/threadId` on agentTurn
209
+ * payloads so the scheduled job's announce replies into the SAME chat
210
+ * the operator created it from.
211
+ */
212
+ export function makeCronTool(opts = {}) {
213
+ const channelContext = opts.channelContext;
214
+ const callerAgentId = opts.agentId;
215
+ const agentSessionKey = opts.agentSessionKey;
216
+ const callerVisibility = opts.visibility;
217
+ const callerA2aPolicy = opts.a2aPolicy;
218
+ const callerSpawnedKeys = opts.spawnedKeys;
219
+ // Default to owner-access when omitted so legacy paths (TUI/tests) keep
220
+ // the previous full-access behaviour. Channel-routed callers must set
221
+ // this explicitly to `false` to opt into the narrow surface below.
222
+ const senderIsOwner = opts.senderIsOwner !== false;
223
+ return {
224
+ name: "cron",
225
+ label: "cron",
226
+ displaySummary: "managing cron jobs",
227
+ description: "Schedule + manage cron jobs (recurring, interval, or one-shot). " +
228
+ "Use this for reminders, 'check back later' tasks, delayed follow-ups, " +
229
+ "and recurring routines. Do NOT emulate scheduling by sleeping in a " +
230
+ "shell command — use this tool.\n\n" +
231
+ "Actions: `add` (create), `list` / `runs` (read), `update` / `remove` " +
232
+ "(modify), `run` (fire now), `status` (service snapshot), `wake` " +
233
+ "(inject system-event text into the main session). Operator-only — " +
234
+ "sub-agents can't touch this.\n\n" +
235
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n" +
236
+ "TEMPLATES — READ FIRST. Copy the matching template VERBATIM and fill\n" +
237
+ "only the ⟨slots⟩. `job` and `patch` are nested JSON OBJECTS — never a\n" +
238
+ "quoted/stringified object, never flat top-level fields.\n" +
239
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n" +
240
+ 'T1 · One-shot, relative — "remind me in N minutes/hours":\n' +
241
+ ' {"action":"add","job":{"name":"⟨kebab-name⟩",\n' +
242
+ ' "schedule":{"kind":"in","inMinutes":⟨N⟩},\n' +
243
+ ' "payload":{"kind":"agentTurn","message":"⟨what to tell the operator at fire time⟩"}}}\n\n' +
244
+ 'T2 · One-shot, clock time — "tomorrow at 9am" / "at 6:50":\n' +
245
+ ' {"action":"add","job":{"name":"⟨kebab-name⟩",\n' +
246
+ ' "schedule":{"kind":"at","at":"⟨ISO-8601 WITH offset, e.g. 2026-06-12T09:00:00+05:30⟩"},\n' +
247
+ ' "payload":{"kind":"agentTurn","message":"⟨…⟩"}}}\n\n' +
248
+ 'T3 · Recurring interval — "every 30 minutes":\n' +
249
+ ' {"action":"add","job":{"name":"⟨kebab-name⟩",\n' +
250
+ ' "schedule":{"kind":"every","everyMs":⟨interval in ms⟩},\n' +
251
+ ' "payload":{"kind":"agentTurn","message":"⟨…⟩"}}}\n\n' +
252
+ 'T4 · Calendar recurring — "daily at 9am" / "weekdays at 8":\n' +
253
+ ' {"action":"add","job":{"name":"⟨kebab-name⟩",\n' +
254
+ ' "schedule":{"kind":"cron","expr":"⟨0 9 * * *⟩","tz":"⟨Asia/Kolkata⟩","staggerMs":0},\n' +
255
+ ' "payload":{"kind":"agentTurn","message":"⟨…⟩"}}}\n' +
256
+ " `\"staggerMs\":0` matters: top-of-hour expressions otherwise get an\n" +
257
+ " automatic anti-stampede offset of up to 5 min (deterministic per job),\n" +
258
+ " so a \"7 PM\" reminder would land at e.g. 7:04 EVERY day. When the\n" +
259
+ " operator names an exact clock time, ALWAYS set `staggerMs: 0`; to fix\n" +
260
+ ' an existing late-firing job: {"action":"update","jobId":"⟨id⟩",\n' +
261
+ ' "patch":{"schedule":{"kind":"cron","expr":"⟨same⟩","tz":"⟨same⟩","staggerMs":0}}}\n\n' +
262
+ 'T5 · Update / pause / resume an existing job:\n' +
263
+ ' {"action":"update","jobId":"⟨id from list/add⟩","patch":{"enabled":⟨true|false⟩}}\n\n' +
264
+ "DELIVERY SLOT — WHERE must the reminder arrive? Decide BEFORE adding:\n" +
265
+ " • Same channel chat you're in (WhatsApp/Slack…)? Add NOTHING —\n" +
266
+ " the reply auto-routes back to this chat.\n" +
267
+ " • A channel you are NOT currently in (e.g. operator is in the TUI\n" +
268
+ ' and says "remind me ON WHATSAPP")? You MUST add\n' +
269
+ ' "delivery":{"mode":"announce","channel":"⟨id⟩","to":"⟨recipient-id⟩"}\n' +
270
+ " — the cron service sends your run's reply text verbatim to that\n" +
271
+ " chat when the run finishes. Write `message` as instructions to\n" +
272
+ " produce the reminder text (the reply IS what gets delivered).\n" +
273
+ " • NEVER instruct the scheduled run to call send_message itself —\n" +
274
+ " unattended cron runs are BLOCKED from messaging tools by the\n" +
275
+ " security gate; the delivery block is the sanctioned path.\n" +
276
+ " • TUI-only nudge (no channel involved)? `systemEvent` + main — the\n" +
277
+ " fire wakes your main session and you act on the text there.\n\n" +
278
+ "THE TWO MISTAKES THAT BREAK THE CALL:\n" +
279
+ ' ✗ "job": "{\\"name\\": …}" — object wrapped in a STRING. Pass the object raw.\n' +
280
+ ' ✗ {"action":"add","name":…,…} — job fields flattened to the top level.\n\n' +
281
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n" +
282
+ "SCHEDULE KIND — pick by user intent:\n" +
283
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n" +
284
+ "### `in` / `at` — ONE-SHOT at a future moment ###\n" +
285
+ "USE THIS for:\n" +
286
+ " • \"in N minutes/hours\" / \"in 2 mins\" / \"30 minutes from now\"\n" +
287
+ " • \"tomorrow at 9am\" / \"next Tuesday\" / specific future moment\n" +
288
+ " • Any reminder that fires EXACTLY ONCE and then auto-deletes\n" +
289
+ "RELATIVE (\"in N minutes/hours\") -- STRONGLY PREFERRED. Pass the OFFSET and\n" +
290
+ "let the SERVER compute the exact fire time against the real clock. DO NOT\n" +
291
+ "compute epoch milliseconds yourself: you have no reliable clock and WILL get\n" +
292
+ "the arithmetic wrong (a real \"5 minutes\" reminder once landed ~14 minutes\n" +
293
+ "out, and the operator never got it on time). Shapes:\n" +
294
+ " `{kind: \"in\", inMinutes: 5}` -- also `inSeconds` / `inHours` / `inDays` / `inMs`;\n" +
295
+ " combine units, e.g. `{kind: \"in\", inHours: 1, inMinutes: 30}` = 90 minutes.\n" +
296
+ "ABSOLUTE moment (\"tomorrow at 9am\"): `{kind: \"at\", at: \"<ISO-8601>\"}` -- pass\n" +
297
+ "an ISO-8601 STRING with the operator's timezone offset (e.g.\n" +
298
+ "`\"2026-06-03T16:31:00+05:30\"`), NOT raw epoch milliseconds. A bare\n" +
299
+ "`YYYY-MM-DD` or naive `YYYY-MM-DDTHH:mm:ss` (no offset) is read as UTC.\n" +
300
+ "NEVER use a 5-field cron expression for a relative reminder — cron expressions\n" +
301
+ "match absolute calendar slots and may resolve a year out (e.g. `43 13 1 6 *`\n" +
302
+ "interpreted on June 1 at 13:45 fires June 1 NEXT YEAR, not the 13:43 that\n" +
303
+ "already passed). For one-shots, ALWAYS use `in` (relative) or `at` (ISO).\n\n" +
304
+ "#### AM/PM + CLOCK TIME RULE — CRITICAL ####\n" +
305
+ "When the user names a clock time without an explicit DATE (e.g. \"12:27 AM\",\n" +
306
+ "\"9pm\", \"tomorrow at 8\"), compute the NEXT FUTURE instance of that time. If\n" +
307
+ "the named time has already passed today, the user means TOMORROW (or the\n" +
308
+ "next valid date). NEVER use a timestamp that's in the past or in the current\n" +
309
+ "minute. If you're uncertain whether 12:27 means AM or PM in the current\n" +
310
+ "operator timezone, ASK before scheduling — do NOT guess.\n\n" +
311
+ "Concrete worked example: at 12:27 PM, user says \"remind me at 12:27 AM\" →\n" +
312
+ "that already passed 12 hours ago → schedule for TOMORROW 12:27 AM (NOT today;\n" +
313
+ "add 24h to today's 12:27 AM).\n\n" +
314
+ "The scheduler validator REJECTS any `at` timestamp that's at or before now\n" +
315
+ "(or within 5 seconds of now). If you see an error like \"`at` schedule must\n" +
316
+ "be at least 5 seconds in the FUTURE; got <time> which is <delta> in the\n" +
317
+ "past\", you misinterpreted the clock time — recompute the NEXT future\n" +
318
+ "instance (almost always +24h) and retry.\n\n" +
319
+ "### `every` — RECURRING fixed interval ###\n" +
320
+ "USE THIS for:\n" +
321
+ " • \"every N minutes/hours\" / \"check in every 10 minutes\"\n" +
322
+ " • Repeating reminders at a constant gap (NOT calendar-aligned)\n" +
323
+ "Shape: `{kind: \"every\", everyMs: <interval_ms>, anchorMs?: <epoch_ms>}`\n" +
324
+ "Example: every 5 min → `{kind: \"every\", everyMs: 300000}`.\n\n" +
325
+ "### `cron` — CALENDAR-aligned recurring ###\n" +
326
+ "USE THIS for:\n" +
327
+ " • \"daily at 9am\" / \"every Monday at 8am\" / \"first of the month\"\n" +
328
+ " • Anything where the user names a specific clock time or weekday\n" +
329
+ "Shape: `{kind: \"cron\", expr: \"<5-field cron>\", tz: \"<IANA tz>\", staggerMs?: <ms>}`\n" +
330
+ "5-field syntax: `minute hour day-of-month month day-of-week` (`* * * * *`).\n" +
331
+ "STAGGER: minute-field `0` expressions default to `staggerMs: 300000` —\n" +
332
+ "an anti-stampede offset (up to 5 min, deterministic per job) added to\n" +
333
+ "every fire. Operator named an exact clock time? Set `staggerMs: 0` so\n" +
334
+ "it fires on the dot. Explicit values always win over the default.\n\n" +
335
+ "TIMEZONE RULE — CRITICAL:\n" +
336
+ " - ALWAYS set `tz` to a full IANA zone name (e.g. `\"Asia/Kolkata\"` for IST,\n" +
337
+ " `\"America/Los_Angeles\"` for PT, `\"Europe/London\"` for UK).\n" +
338
+ " - WRITE `expr` IN THE OPERATOR'S LOCAL TIME — `tz` does the conversion.\n" +
339
+ " - DO NOT manually convert to UTC, EVER. Writing `\"30 3 * * *\"` because\n" +
340
+ " \"9am IST is 03:30 UTC\" is WRONG — DST shifts, ambiguous winter slots,\n" +
341
+ " and operator-config drift all break manual conversion. If they say\n" +
342
+ " \"9am IST\", write `{expr: \"0 9 * * *\", tz: \"Asia/Kolkata\"}`.\n" +
343
+ " - Abbreviations like `\"IST\"`, `\"EST\"`, `\"PT\"`, `\"GMT\"` are NOT IANA\n" +
344
+ " zone names and will be rejected — use the full `Region/City` form.\n\n" +
345
+ "Examples (always pair operator's local time + their IANA zone):\n" +
346
+ " • 9am daily IST: `{kind: \"cron\", expr: \"0 9 * * *\", tz: \"Asia/Kolkata\"}`\n" +
347
+ " • 8am weekdays IST: `{kind: \"cron\", expr: \"0 8 * * 1-5\", tz: \"Asia/Kolkata\"}`\n" +
348
+ " • 6:30pm Mon IST: `{kind: \"cron\", expr: \"30 18 * * 1\", tz: \"Asia/Kolkata\"}`\n" +
349
+ " • 9am daily LA: `{kind: \"cron\", expr: \"0 9 * * *\", tz: \"America/Los_Angeles\"}`\n" +
350
+ " • 7am daily NY: `{kind: \"cron\", expr: \"0 7 * * *\", tz: \"America/New_York\"}`\n" +
351
+ " • 8am daily London: `{kind: \"cron\", expr: \"0 8 * * *\", tz: \"Europe/London\"}`\n" +
352
+ " • 10am Tokyo: `{kind: \"cron\", expr: \"0 10 * * *\", tz: \"Asia/Tokyo\"}`\n" +
353
+ " • First-of-month 9am: `{kind: \"cron\", expr: \"0 9 1 * *\", tz: \"Asia/Kolkata\"}`\n" +
354
+ " • Every 15 min (any tz): `{kind: \"cron\", expr: \"*/15 * * * *\"}`\n\n" +
355
+ "DISPLAYING TIMES TO THE USER -- CRITICAL:\n" +
356
+ " The `add` / `update` result includes `firesAtLocal` -- the EXACT fire\n" +
357
+ " time the server computed in the operator's local timezone (e.g.\n" +
358
+ " \"Tue, Jun 3, 4:57 PM GMT+5:30\"). When telling the user WHEN a job\n" +
359
+ " fires, QUOTE `firesAtLocal` -- do NOT compute, add, or convert any\n" +
360
+ " time yourself (you have no reliable clock and WILL get it wrong; a\n" +
361
+ " \"5 minutes\" reminder was once announced for a time already in the\n" +
362
+ " past). You may render it naturally (\"4:57 PM IST\") but the clock\n" +
363
+ " time and date MUST match `firesAtLocal`. NEVER state UTC times.\n\n" +
364
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n" +
365
+ "PAYLOAD — `payload.kind`:\n" +
366
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n" +
367
+ " - `agentTurn` — `{kind: \"agentTurn\", message: \"...\"}` (run a full\n" +
368
+ " agent turn at fire time; default sessionTarget=\"isolated\"). Optional\n" +
369
+ " `model`, `thinking`, `timeoutSeconds`, `toolsAllow`, `lightContext`.\n" +
370
+ " - `systemEvent` — `{kind: \"systemEvent\", text: \"...\"}` (wake the\n" +
371
+ " operator's main session at fire time: the text arrives as a system\n" +
372
+ " event and a turn starts so YOU act on it with full main-session\n" +
373
+ " context. For \"nudge me / kick off work at time T\" — NOT for\n" +
374
+ " delivering a message to a channel (that's `agentTurn` + `delivery`).\n" +
375
+ " Pairs with sessionTarget=\"main\").\n\n" +
376
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n" +
377
+ "DELIVERY (`delivery`) — where the reply lands (agentTurn only):\n" +
378
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n" +
379
+ " - `{mode: \"announce\", channel?, to?, threadId?, accountId?, bestEffort?}` —\n" +
380
+ " send the reply via a channel adapter (WhatsApp / Slack / …).\n" +
381
+ " - `{mode: \"webhook\", webhookUrl}` — NOT YET WIRED: no HTTP POST is\n" +
382
+ " sent and the URL is not validated, so the reply is silently\n" +
383
+ " dropped. Do NOT schedule this mode — use `announce` (to a chat)\n" +
384
+ " or `none` (silent) instead.\n" +
385
+ " - `{mode: \"none\"}` — silent; run still happens but reply is discarded.\n\n" +
386
+ "AUTO-ROUTING — when `add` is called from a channel-routed turn (operator\n" +
387
+ "is messaging from WhatsApp / Slack / …) and you DON'T set `delivery.channel`\n" +
388
+ "or `delivery.to`, the tool auto-fills them from the originating chat so the\n" +
389
+ "cron's reply lands back in THIS chat automatically. Override by passing\n" +
390
+ "explicit channel/to to target a DIFFERENT chat (e.g. \"schedule X to message\n" +
391
+ "me on Slack at 6pm\" from a WhatsApp turn).\n\n" +
392
+ "For TUI / connect-mode turns (no originating channel) the reply lands as\n" +
393
+ "a system event in the operator's main session — they'll see `[cron \"X\"]\n" +
394
+ "<reply>` in the chat surface they're connected to.\n\n" +
395
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n" +
396
+ "DELIVERY ROUTING — DO NOT call messaging tools inside the cron run:\n" +
397
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n" +
398
+ " If the scheduled job should send its reply to a specific chat or\n" +
399
+ " recipient, set `delivery.channel` and `delivery.to` on the JOB at\n" +
400
+ " schedule time. The cron service's delivery dispatcher routes the\n" +
401
+ " reply once when the run finishes. Do NOT call `send_message` /\n" +
402
+ " channel tools INSIDE the agentTurn run — doing so burns extra\n" +
403
+ " tokens, may double-send (delivery THEN the inline send), and\n" +
404
+ " defeats the cron's announce-once semantics.\n\n" +
405
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n" +
406
+ "SESSION TARGETS — `sessionTarget` (resolved at CREATE time):\n" +
407
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n" +
408
+ " - `\"main\"` — Run in the operator's primary session.\n" +
409
+ " REQUIRES `payload.kind: \"systemEvent\"`.\n" +
410
+ " The fire WAKES the main session: the event\n" +
411
+ " text starts a turn there (immediately with\n" +
412
+ " wakeMode \"now\", else within ≤30s).\n" +
413
+ " - `\"isolated\"` — Run in a fresh ephemeral session per fire.\n" +
414
+ " REQUIRES `payload.kind: \"agentTurn\"`.\n" +
415
+ " Isolated/current crons create background\n" +
416
+ " task runs that produce their own assistant\n" +
417
+ " turns; the delivery block decides where\n" +
418
+ " the result lands.\n" +
419
+ " - `\"current\"` — Bind to the caller's current session\n" +
420
+ " (resolved at CREATE time to\n" +
421
+ " `session:<currentSessionKey>`; falls back\n" +
422
+ " to `\"isolated\"` when no session is active).\n" +
423
+ " REQUIRES `payload.kind: \"agentTurn\"`.\n" +
424
+ " Use this when the cron should pick up\n" +
425
+ " context from THIS conversation.\n" +
426
+ " - `\"session:<id>\"` — Run in a persistent named session.\n" +
427
+ " REQUIRES `payload.kind: \"agentTurn\"`.\n\n" +
428
+ " Defaults (kept stable for back-compat):\n" +
429
+ " - `payload.kind: \"systemEvent\"` → `sessionTarget: \"main\"`\n" +
430
+ " - `payload.kind: \"agentTurn\"` → `sessionTarget: \"isolated\"`\n" +
431
+ " Explicitly set `\"current\"` or `\"session:<id>\"` only when the\n" +
432
+ " operator's intent is custom session binding.\n\n" +
433
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n" +
434
+ "CONTEXT MESSAGES — `contextMessages` (systemEvent reminders only):\n" +
435
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n" +
436
+ " For `action: \"add\"` with a `systemEvent` payload, set\n" +
437
+ " `contextMessages: <N>` (0-10) to append the operator's last N\n" +
438
+ " messages as a `Recent context:` block after the reminder text.\n" +
439
+ " Lets the fire-time heartbeat consumer see what the operator was\n" +
440
+ " just discussing. Capped at 700 total chars across all lines; each\n" +
441
+ " line is at most 220 chars (truncated with `...`). No-op for\n" +
442
+ " agentTurn payloads — their `message` is the prompt for the\n" +
443
+ " isolated run, and mixing in random recent chat would pollute it.\n\n" +
444
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n" +
445
+ "WAKE MODES — `wakeMode` (for `action: \"wake\"` and on the job):\n" +
446
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n" +
447
+ " - `\"next-heartbeat\"` (DEFAULT) — Queue the event and let the\n" +
448
+ " natural heartbeat cycle deliver it. Less disruptive; use for\n" +
449
+ " passive reminders / non-urgent context drops where the\n" +
450
+ " operator can afford to wait for the next tick (≤30s).\n" +
451
+ " - `\"now\"` — Force a heartbeat tick to fire\n" +
452
+ " immediately so the system event is consumed without waiting.\n" +
453
+ " Use for urgent reminders where latency matters (operator is\n" +
454
+ " actively engaged and the cron should interrupt promptly).\n\n" +
455
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n" +
456
+ "CONSTRAINTS:\n" +
457
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n" +
458
+ " - `sessionTarget: \"main\"` MUST pair with `payload.kind: \"systemEvent\"`\n" +
459
+ " - `sessionTarget: \"isolated\"` / `\"current\"` / `\"session:<id>\"` MUST\n" +
460
+ " pair with `payload.kind: \"agentTurn\"`\n\n" +
461
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n" +
462
+ "WHEN A CALL FAILS:\n" +
463
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n" +
464
+ " Do NOT retry the same arguments. Re-read the TEMPLATES section at\n" +
465
+ " the top, pick the matching template, and rebuild the call from it.",
466
+ parameters: CronToolParams,
467
+ // NOTE: no blanket `ownerOnly: true`. The cron surface is gated per-
468
+ // action below so an approved channel peer (e.g. a WhatsApp DM the
469
+ // operator allow-listed) can still schedule reminders that fire
470
+ // back to THEIR OWN chat — anything cross-chat / cross-agent /
471
+ // mutating-someone-else's-jobs is refused individually instead.
472
+ async execute(_toolCallId, params) {
473
+ const state = getActiveCronService();
474
+ if (!state) {
475
+ return failedTextResult("cron service is not running — start the gateway (`brigade gateway`) first", { action: "status", status: { error: "not-initialised" } });
476
+ }
477
+ const action = readStringParam(params, "action", { required: true });
478
+ // Per-call non-owner gate. The workspace owner (TUI / connect /
479
+ // CLI paths) keeps full access. A channel-routed caller (e.g.
480
+ // approved WhatsApp peer) can schedule reminders for their own
481
+ // chat AND manage the reminders they previously created — but
482
+ // can't touch the operator's jobs, fire jobs they didn't
483
+ // schedule, or inject system-events into the operator's main
484
+ // session.
485
+ //
486
+ // Ownership is tracked via `CronJob.createdBy`. The first time
487
+ // a non-owner adds a job, this gate stamps a `channel` origin
488
+ // onto the create input; subsequent update/remove/run calls
489
+ // look up the job and match its origin against the calling
490
+ // channel + conversation. Jobs predating ownership tracking
491
+ // (createdBy undefined) are treated as owner-created — the
492
+ // safe default that preserves legacy behaviour.
493
+ //
494
+ // `wake` stays owner-only because its target IS the operator's
495
+ // main session by definition; there's no per-peer wake.
496
+ const callerOrigin = !senderIsOwner && channelContext
497
+ ? ({
498
+ kind: "channel",
499
+ channelId: channelContext.channelId,
500
+ conversationId: channelContext.conversationId,
501
+ ...(channelContext.accountId !== undefined
502
+ ? { accountId: channelContext.accountId }
503
+ : {}),
504
+ })
505
+ : undefined;
506
+ /**
507
+ * Does the given persisted job belong to the non-owner caller
508
+ * that's making this turn? Used to gate update/remove/run/runs.
509
+ * Operators bypass this entirely and the helper is never called
510
+ * for them.
511
+ */
512
+ const jobIsOwnedByCaller = (job) => {
513
+ if (!callerOrigin)
514
+ return false;
515
+ const origin = job.createdBy;
516
+ if (!origin || origin.kind === "owner")
517
+ return false;
518
+ return (origin.kind === "channel" &&
519
+ origin.channelId === callerOrigin.channelId &&
520
+ origin.conversationId === callerOrigin.conversationId);
521
+ };
522
+ if (!senderIsOwner) {
523
+ if (!channelContext) {
524
+ // Defensive — a non-owner caller with no channelContext is
525
+ // an unrecognised path. Refuse rather than guess.
526
+ return failedTextResult("cron: a non-owner-routed turn must arrive via an approved channel.", { action });
527
+ }
528
+ if (action === "wake") {
529
+ // `wake` injects into the OPERATOR's main session — there
530
+ // is no per-peer wake target, so this is unconditionally
531
+ // owner-only.
532
+ return failedTextResult("cron: action \"wake\" requires workspace-owner privilege — " +
533
+ "it injects system events into the operator's main session and has no per-peer equivalent.", { action });
534
+ }
535
+ if (action === "update" || action === "remove" || action === "run" || action === "runs") {
536
+ // Per-job ownership check: read the target job from the
537
+ // in-memory store and verify the caller created it. The
538
+ // store is a small Array.find — cheap. Reading does NOT
539
+ // race with concurrent mutation because the per-instance
540
+ // lock serialises writes; the worst we'd see is a stale
541
+ // `createdBy` on a job that's about to be removed, which
542
+ // the downstream op call handles cleanly.
543
+ const jobId = readStringParam(params, "jobId", { required: true });
544
+ if (typeof jobId !== "string" || jobId.length === 0) {
545
+ return failedTextResult(`cron: action "${action}" requires a jobId parameter`, { action });
546
+ }
547
+ const target = state.store.jobs.find((j) => j.id === jobId);
548
+ if (!target) {
549
+ return failedTextResult(`cron: no job with id ${jobId}`, { action });
550
+ }
551
+ if (!jobIsOwnedByCaller(target)) {
552
+ return failedTextResult(`cron: action "${action}" refused — that job was not scheduled by this chat.`, { action });
553
+ }
554
+ }
555
+ if (action === "add") {
556
+ // For `add`: pin the delivery target to the caller's own
557
+ // channel/conversation. If the LLM tried to specify a
558
+ // different channel or `to`, refuse — that's a
559
+ // cross-chat escape attempt. Missing delivery is fine;
560
+ // the auto-fill helper below will set it from the
561
+ // channelContext.
562
+ const jobIn = params.job;
563
+ const delivery = jobIn && typeof jobIn === "object"
564
+ ? (jobIn.delivery ?? undefined)
565
+ : undefined;
566
+ // A non-owner peer may ONLY use announce delivery back to
567
+ // their own chat. An off-box `webhook` delivery names a
568
+ // different channel that escapes the "own chat only"
569
+ // confinement (the channel/to check below never inspects
570
+ // `mode`, and the autofill helper leaves a webhook job
571
+ // unchanged because `mode !== "announce"`), so refuse it
572
+ // here at the gate.
573
+ if (typeof delivery?.mode === "string" && delivery.mode.trim() === "webhook") {
574
+ return failedTextResult("cron: as a non-owner-routed turn you may only schedule reminders that announce back to your own chat — " +
575
+ "webhook delivery requires workspace-owner privilege.", { action });
576
+ }
577
+ // Same confinement for the per-job failure alert: a
578
+ // non-owner-supplied `failureAlert` may not carry a webhook
579
+ // mode or a webhook URL (an off-box alert channel).
580
+ const failureAlertIn = jobIn && typeof jobIn === "object"
581
+ ? jobIn.failureAlert
582
+ : undefined;
583
+ if (failureAlertIn &&
584
+ typeof failureAlertIn === "object" &&
585
+ ((failureAlertIn.mode === "webhook") ||
586
+ typeof failureAlertIn.webhookUrl === "string")) {
587
+ return failedTextResult("cron: as a non-owner-routed turn you may not configure a webhook failure alert — " +
588
+ "off-box alert delivery requires workspace-owner privilege.", { action });
589
+ }
590
+ const channelMatchesCtx = delivery?.channel === undefined || delivery.channel === channelContext.channelId;
591
+ const toMatchesCtx = delivery?.to === undefined || delivery.to === channelContext.conversationId;
592
+ if (!channelMatchesCtx || !toMatchesCtx) {
593
+ return failedTextResult("cron: as a non-owner-routed turn you may only schedule reminders that fire back to your own chat. " +
594
+ "Cross-conversation delivery requires workspace-owner privilege.", { action });
595
+ }
596
+ // Also pin the job's agentId: a non-owner caller may not
597
+ // schedule jobs against a DIFFERENT agent than the one
598
+ // answering them now. Mirrors the per-action gate above.
599
+ const jobAgentId = jobIn && typeof jobIn === "object"
600
+ ? jobIn.agentId
601
+ : undefined;
602
+ if (typeof jobAgentId === "string" &&
603
+ callerAgentId !== undefined &&
604
+ jobAgentId !== callerAgentId) {
605
+ return failedTextResult("cron: as a non-owner-routed turn you may only schedule jobs for the agent answering you now.", { action });
606
+ }
607
+ }
608
+ }
609
+ switch (action) {
610
+ case "status": {
611
+ const status = await cronStatus(state);
612
+ return payloadTextResult({ action, status });
613
+ }
614
+ case "list": {
615
+ const includeDisabled = params.includeDisabled === true;
616
+ const limit = readNumberParam(params, "limit", { integer: true });
617
+ const offset = readNumberParam(params, "offset", { integer: true });
618
+ const query = readStringParam(params, "query");
619
+ // Non-owner callers see only the jobs they scheduled
620
+ // from this chat — never the operator's jobs nor jobs
621
+ // scheduled from other peers' chats. Keeps cron a
622
+ // per-chat surface for approved peers.
623
+ //
624
+ // Filter by ownership BEFORE paginating. If we paged the
625
+ // store-wide set first (cronListPage) and filtered the page
626
+ // afterwards, a peer could never reach their own jobs once
627
+ // the operator owns ≥`limit` jobs that sort ahead — the
628
+ // first page would be all-operator, filter to empty, and
629
+ // bumping `offset` would just shift the pre-filter window.
630
+ // So fetch the whole enabled set, scope to the caller, then
631
+ // slice — keeping `total`/`hasMore` consistent with the
632
+ // OWNED set.
633
+ if (!senderIsOwner) {
634
+ const queryLower = query?.toLowerCase() ?? "";
635
+ const allOwn = (await cronList(state, { includeDisabled })).filter((j) => jobIsOwnedByCaller(j));
636
+ const matched = queryLower.length === 0
637
+ ? allOwn
638
+ : allOwn.filter((j) => j.name.toLowerCase().includes(queryLower) ||
639
+ (j.description ?? "").toLowerCase().includes(queryLower) ||
640
+ (j.agentId ?? "").toLowerCase().includes(queryLower) ||
641
+ j.id.toLowerCase().includes(queryLower));
642
+ const pageLimit = Math.max(1, Math.min(200, limit ?? 50));
643
+ const pageOffset = Math.max(0, offset ?? 0);
644
+ const page = matched.slice(pageOffset, pageOffset + pageLimit);
645
+ return payloadTextResult({
646
+ action,
647
+ result: {
648
+ jobs: page,
649
+ total: matched.length,
650
+ offset: pageOffset,
651
+ limit: pageLimit,
652
+ hasMore: pageOffset + page.length < matched.length,
653
+ },
654
+ });
655
+ }
656
+ const result = await cronListPage(state, {
657
+ enabled: includeDisabled ? "all" : "enabled",
658
+ ...(limit !== undefined ? { limit } : {}),
659
+ ...(offset !== undefined ? { offset } : {}),
660
+ ...(query !== undefined ? { query } : {}),
661
+ });
662
+ return payloadTextResult({ action, result });
663
+ }
664
+ case "add": {
665
+ // Flat-params recovery: non-frontier models (e.g. Grok, smaller
666
+ // local models) sometimes flatten job fields to the top level
667
+ // alongside `action` instead of nesting them under `job`. When
668
+ // `params.job` is missing or an empty `{}`, recover by pulling
669
+ // recognised top-level keys into a synthetic job — but only
670
+ // promote it when at least one MEANINGFUL signal is present
671
+ // (schedule, payload, message, or text). Without that
672
+ // minimum-signal gate, a malformed call that happens to
673
+ // include only `name` or `enabled` would be silently hijacked
674
+ // into a bogus job.
675
+ const recParams = params;
676
+ // Stringified-object recovery: some model/provider stacks
677
+ // JSON-encode nested tool args (the job arrives as the STRING
678
+ // '{"name": …}'). The schema can't catch it (`job` is Any) and
679
+ // the old "`job` parameter required" reply misled the model
680
+ // into retrying the identical call. Parse it instead.
681
+ recParams.job = coerceJsonObjectParam(recParams.job);
682
+ const existingJob = recParams.job;
683
+ const jobIsEmptyObject = typeof existingJob === "object" &&
684
+ existingJob !== null &&
685
+ !Array.isArray(existingJob) &&
686
+ Object.keys(existingJob).length === 0;
687
+ if (existingJob === undefined || existingJob === null || jobIsEmptyObject) {
688
+ const synthetic = {};
689
+ let found = false;
690
+ for (const key of Object.keys(recParams)) {
691
+ if (CRON_RECOVERABLE_OBJECT_KEYS.has(key) && recParams[key] !== undefined) {
692
+ synthetic[key] = recParams[key];
693
+ found = true;
694
+ }
695
+ }
696
+ if (found &&
697
+ (synthetic.schedule !== undefined ||
698
+ synthetic.payload !== undefined ||
699
+ synthetic.message !== undefined ||
700
+ synthetic.text !== undefined)) {
701
+ recParams.job = synthetic;
702
+ }
703
+ }
704
+ const jobInput = recParams.job;
705
+ if (!jobInput || typeof jobInput !== "object") {
706
+ return failedTextResult("cron add needs `job` as an inline OBJECT (not a JSON string, not flat top-level fields). " +
707
+ 'Example: {"action":"add","job":{"name":"gym-reminder","schedule":{"kind":"in","inMinutes":5},' +
708
+ '"payload":{"kind":"agentTurn","message":"…"}}}', { action, job: null });
709
+ }
710
+ // Wave O0.6 — cross-agent cron guard. When the model
711
+ // schedules a job whose `job.agentId` differs from the
712
+ // caller's own agentId AND the caller is not a sub-agent
713
+ // of that target, refuse unless the A2A policy allows
714
+ // it. The same-key fast-path covers in-agent scheduling
715
+ // (callerAgentId === jobAgentId) without surfacing the
716
+ // guard. The check is best-effort when policy is unset
717
+ // (legacy / unwired bundles) — the tool is ownerOnly so
718
+ // the broader gate still applies.
719
+ const jobAgentIdRaw = typeof jobInput.agentId === "string"
720
+ ? (jobInput.agentId.trim())
721
+ : "";
722
+ if (jobAgentIdRaw.length > 0 &&
723
+ callerAgentId &&
724
+ jobAgentIdRaw !== callerAgentId &&
725
+ callerVisibility &&
726
+ callerA2aPolicy) {
727
+ // Synthesised target key: the canonical default
728
+ // session for the cross-agent target. The cron will
729
+ // land on this session at fire time, so it's the
730
+ // right thing to evaluate the access check against.
731
+ const targetKey = `agent:${jobAgentIdRaw}:main`;
732
+ const requesterKey = agentSessionKey ?? `agent:${callerAgentId}:main`;
733
+ const verdict = checkSessionToolAccess({
734
+ action: "send",
735
+ requesterSessionKey: requesterKey,
736
+ targetSessionKey: targetKey,
737
+ visibility: callerVisibility,
738
+ a2aPolicy: callerA2aPolicy,
739
+ ...(callerSpawnedKeys ? { spawnedKeys: callerSpawnedKeys } : {}),
740
+ });
741
+ if (!verdict.allowed) {
742
+ return failedTextResult(verdict.error, { action, job: null });
743
+ }
744
+ }
745
+ // Auto-fill delivery.channel/to/threadId from the active channel
746
+ // context when the operator scheduled this from a channel-routed
747
+ // turn (e.g. WhatsApp). The model can override by passing
748
+ // explicit delivery params — autofill only kicks in when the
749
+ // caller left the target unset AND the payload is an agentTurn
750
+ // (system-event payloads default to mode "none" and don't
751
+ // announce). See `applyChannelContextToCronAdd` for the rules.
752
+ const jobWithDelivery = applyChannelContextToCronAdd(jobInput, channelContext);
753
+ // Default `job.agentId` onto the input so the cron service
754
+ // remembers which agent scheduled the job — drives heartbeat
755
+ // routing + per-agent model resolution + the announce-fallback
756
+ // session key. Caller-supplied `agentId` always wins.
757
+ const jobWithAgent = callerAgentId && typeof jobWithDelivery.agentId !== "string"
758
+ ? { ...jobWithDelivery, agentId: callerAgentId }
759
+ : jobWithDelivery;
760
+ // Stamp `createdBy` so future `update` / `remove` / `run`
761
+ // calls from THIS channel + conversation are recognised
762
+ // as the legitimate owner of the job. Operator-routed
763
+ // turns omit it (defaults to owner). Caller-supplied
764
+ // `createdBy` is ignored — the gate is the only source
765
+ // of truth, otherwise a non-owner could lie their way
766
+ // into impersonating the operator.
767
+ const jobWithOrigin = callerOrigin
768
+ ? { ...jobWithAgent, createdBy: callerOrigin }
769
+ : senderIsOwner
770
+ ? { ...jobWithAgent, createdBy: { kind: "owner" } }
771
+ : jobWithAgent;
772
+ // `contextMessages` is a top-level cron-tool param (NOT a job
773
+ // field). For systemEvent reminders, append the caller's last
774
+ // N messages to payload.text. Silent no-op for agentTurn,
775
+ // empty text, or 0/missing contextMessages.
776
+ const contextMessages = typeof params.contextMessages === "number" &&
777
+ Number.isFinite(params.contextMessages)
778
+ ? params.contextMessages
779
+ : 0;
780
+ const finalJob = await maybeAttachReminderContext({
781
+ job: jobWithOrigin,
782
+ contextMessages,
783
+ ...(agentSessionKey !== undefined ? { agentSessionKey } : {}),
784
+ });
785
+ // Thread `sessionContext` so `defaultCronJobCreate` can resolve
786
+ // `sessionTarget: "current"` to `session:<sessionKey>` (or fall
787
+ // back to `"isolated"` when the caller has no session key).
788
+ const created = await cronAdd(state, finalJob, agentSessionKey !== undefined
789
+ ? { sessionContext: { sessionKey: agentSessionKey } }
790
+ : undefined);
791
+ return payloadTextResult({
792
+ action,
793
+ job: created,
794
+ firesAtLocal: describeFireTime(created.state.nextRunAtMs),
795
+ ...staggerHint(created),
796
+ });
797
+ }
798
+ case "update": {
799
+ const jobId = readStringParam(params, "jobId", { required: true });
800
+ // Flat-params recovery for `patch` — same shape as the `add`
801
+ // branch, but WITHOUT the minimum-signal gate. Patches can
802
+ // legitimately be tiny (`{enabled: false}` is a one-key
803
+ // patch), so any recoverable key found at top level is a
804
+ // valid synthetic patch.
805
+ const recParams = params;
806
+ // Stringified-object recovery — same provider quirk as `add`.
807
+ recParams.patch = coerceJsonObjectParam(recParams.patch);
808
+ const existingPatch = recParams.patch;
809
+ const patchIsEmptyObject = typeof existingPatch === "object" &&
810
+ existingPatch !== null &&
811
+ !Array.isArray(existingPatch) &&
812
+ Object.keys(existingPatch).length === 0;
813
+ if (existingPatch === undefined || existingPatch === null || patchIsEmptyObject) {
814
+ const synthetic = {};
815
+ let found = false;
816
+ for (const key of Object.keys(recParams)) {
817
+ if (CRON_RECOVERABLE_OBJECT_KEYS.has(key) && recParams[key] !== undefined) {
818
+ synthetic[key] = recParams[key];
819
+ found = true;
820
+ }
821
+ }
822
+ if (found) {
823
+ recParams.patch = synthetic;
824
+ }
825
+ }
826
+ const patch = recParams.patch;
827
+ if (!patch || typeof patch !== "object") {
828
+ return failedTextResult("cron update needs `patch` as an inline OBJECT (not a JSON string, not flat top-level fields). " +
829
+ 'Example: {"action":"update","jobId":"…","patch":{"enabled":false}}', { action, job: null });
830
+ }
831
+ const updated = await cronUpdate(state, jobId, patch);
832
+ return payloadTextResult({
833
+ action,
834
+ job: updated,
835
+ firesAtLocal: describeFireTime(updated.state.nextRunAtMs),
836
+ ...staggerHint(updated),
837
+ });
838
+ }
839
+ case "remove": {
840
+ const jobId = readStringParam(params, "jobId", { required: true });
841
+ const removed = await cronRemove(state, jobId);
842
+ return payloadTextResult({ action, removed, jobId });
843
+ }
844
+ case "run": {
845
+ const jobId = readStringParam(params, "jobId", { required: true });
846
+ const runModeRaw = readStringParam(params, "runMode") ?? "force";
847
+ const mode = runModeRaw === "due" ? "due" : "force";
848
+ // `force` runs INLINE so the agent sees what fired (status,
849
+ // summary, delivery outcome) and can tell the operator in
850
+ // the same turn — otherwise the agent says "fired it!" with
851
+ // zero evidence it actually ran. `due` stays enqueued for
852
+ // the next tick.
853
+ if (mode === "force") {
854
+ await cronRun(state, jobId, mode);
855
+ // Read the most recent run-log entry so the agent has the
856
+ // summary + delivery status in hand without a follow-up
857
+ // `cron runs` call.
858
+ let latest = null;
859
+ try {
860
+ const entries = await cronRuns(state, jobId, { limit: 1 });
861
+ latest = entries[0] ?? null;
862
+ }
863
+ catch {
864
+ latest = null;
865
+ }
866
+ return payloadTextResult({ action, jobId, mode, latestRun: latest });
867
+ }
868
+ await cronEnqueueRun(state, jobId, mode);
869
+ return payloadTextResult({ action, jobId, mode });
870
+ }
871
+ case "runs": {
872
+ const jobId = readStringParam(params, "jobId", { required: true });
873
+ const limit = readNumberParam(params, "limit", { integer: true });
874
+ const offset = readNumberParam(params, "offset", { integer: true });
875
+ const entries = await cronRuns(state, jobId, {
876
+ ...(limit !== undefined ? { limit } : {}),
877
+ ...(offset !== undefined ? { offset } : {}),
878
+ });
879
+ return payloadTextResult({ action, jobId, entries });
880
+ }
881
+ case "wake": {
882
+ const text = readStringParam(params, "text", { required: true });
883
+ const wakeModeRaw = readStringParam(params, "wakeMode");
884
+ const mode = wakeModeRaw === "now" ? "now" : "next-heartbeat";
885
+ // Route the wake to the agent that called the tool — without
886
+ // this the wake lands on the gateway's boot default agent
887
+ // even when the caller is a non-default routed agent.
888
+ cronWake(state, text, mode, callerAgentId !== undefined ? { agentId: callerAgentId } : {});
889
+ return payloadTextResult({ action, mode });
890
+ }
891
+ }
892
+ },
893
+ };
894
+ }
895
+ /**
896
+ * Apply per-turn channel context to a `cron add` job input so a job created
897
+ * from a channel-routed turn (WhatsApp / Slack / Telegram / …) replies
898
+ * back into the SAME chat by default.
899
+ *
900
+ * Rules — matched on these conditions, ANY missing condition skips:
901
+ * 1. `channelContext` is set (turn came from a channel adapter)
902
+ * 2. `payload.kind === "agentTurn"` (system-event jobs default to mode
903
+ * "none" and aren't announced; channel autofill is meaningless there)
904
+ * 3. The job's `delivery` block has either:
905
+ * - no `mode` set at all, OR
906
+ * - `mode === "announce"` (the autofill default for agentTurn)
907
+ * 4. NEITHER `delivery.channel` NOR `delivery.to` is explicitly set
908
+ * (operator either omitted delivery entirely OR specified mode but
909
+ * not the targeting — we treat both as "use my current chat")
910
+ *
911
+ * Caller-supplied delivery params always win — passing
912
+ * `{delivery: {channel: "slack", to: "U123"}}` from a WhatsApp turn
913
+ * targets Slack, not WhatsApp. This is how the operator says "schedule
914
+ * X to ping me on Slack at 6pm" while chatting on WhatsApp.
915
+ *
916
+ * Returns a new job object with the autofilled fields (or the input
917
+ * unchanged when any rule above fails). Never mutates the input.
918
+ */
919
+ export function applyChannelContextToCronAdd(jobInput, channelContext) {
920
+ if (!channelContext)
921
+ return jobInput;
922
+ const payload = jobInput.payload;
923
+ if (!payload || typeof payload !== "object")
924
+ return jobInput;
925
+ if (payload.kind !== "agentTurn")
926
+ return jobInput;
927
+ const deliveryRaw = jobInput.delivery;
928
+ const delivery = deliveryRaw && typeof deliveryRaw === "object" && !Array.isArray(deliveryRaw)
929
+ ? deliveryRaw
930
+ : undefined;
931
+ const mode = typeof delivery?.mode === "string" ? delivery.mode.trim() : "";
932
+ // Only auto-fill the default ("announce") flow. Operator explicitly
933
+ // asking for "none" / "webhook" wins.
934
+ if (mode && mode !== "announce")
935
+ return jobInput;
936
+ const hasExplicitTarget = (typeof delivery?.channel === "string" && delivery.channel.trim().length > 0) ||
937
+ (typeof delivery?.to === "string" && delivery.to.trim().length > 0);
938
+ if (hasExplicitTarget)
939
+ return jobInput;
940
+ // Build the autofilled delivery block. We preserve any other delivery
941
+ // fields the model set (e.g. `bestEffort: true`) so the model can
942
+ // combine partial overrides with channel autofill.
943
+ const autofilled = {
944
+ ...(delivery ?? {}),
945
+ mode: "announce",
946
+ channel: channelContext.channelId,
947
+ to: channelContext.conversationId,
948
+ ...(channelContext.threadId !== undefined ? { threadId: channelContext.threadId } : {}),
949
+ ...(channelContext.accountId !== undefined ? { accountId: channelContext.accountId } : {}),
950
+ };
951
+ return {
952
+ ...jobInput,
953
+ delivery: autofilled,
954
+ };
955
+ }
956
+ /**
957
+ * Format a fire-time epoch (ms) into a ready-to-quote local-time string in the
958
+ * operator's host timezone, e.g. "Tue, Jun 3, 4:57 PM GMT+5:30". Handed back on
959
+ * `add`/`update` so the MODEL never converts an epoch to local time itself --
960
+ * it gets that wrong (it once announced a 5-minute reminder for a time already
961
+ * in the past). The model is told to quote `firesAtLocal` verbatim. `tzOverride`
962
+ * exists for tests; production uses the host timezone. Returns undefined for a
963
+ * missing / non-finite time (e.g. a recurring job between fires).
964
+ */
965
+ export function describeFireTime(epochMs, tzOverride) {
966
+ if (typeof epochMs !== "number" || !Number.isFinite(epochMs))
967
+ return undefined;
968
+ try {
969
+ const tz = tzOverride || Intl.DateTimeFormat().resolvedOptions().timeZone || "UTC";
970
+ return new Intl.DateTimeFormat("en-US", {
971
+ timeZone: tz,
972
+ weekday: "short",
973
+ month: "short",
974
+ day: "numeric",
975
+ hour: "numeric",
976
+ minute: "2-digit",
977
+ hour12: true,
978
+ timeZoneName: "short",
979
+ }).format(new Date(epochMs));
980
+ }
981
+ catch {
982
+ return new Date(epochMs).toISOString();
983
+ }
984
+ }
985
+ //# sourceMappingURL=cron-tool.js.map