@cuylabs/agent-core 4.9.0 → 5.0.0

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 (658) hide show
  1. package/README.md +11 -12
  2. package/dist/agent/chat-loop/commit-batch.d.ts +10 -0
  3. package/dist/agent/chat-loop/commit-batch.d.ts.map +1 -0
  4. package/dist/agent/chat-loop/context-recovery.d.ts +33 -0
  5. package/dist/agent/chat-loop/context-recovery.d.ts.map +1 -0
  6. package/dist/agent/chat-loop/finalize-turn.d.ts +19 -0
  7. package/dist/agent/chat-loop/finalize-turn.d.ts.map +1 -0
  8. package/dist/agent/chat-loop/index.d.ts +7 -0
  9. package/dist/agent/chat-loop/index.d.ts.map +1 -0
  10. package/dist/agent/chat-loop/loop.d.ts +8 -0
  11. package/dist/agent/chat-loop/loop.d.ts.map +1 -0
  12. package/dist/agent/chat-loop/model-step-runner.d.ts +26 -0
  13. package/dist/agent/chat-loop/model-step-runner.d.ts.map +1 -0
  14. package/dist/agent/chat-loop/model-step-snapshot.d.ts +49 -0
  15. package/dist/agent/chat-loop/model-step-snapshot.d.ts.map +1 -0
  16. package/dist/agent/chat-loop/turn-tools.d.ts +19 -0
  17. package/dist/agent/chat-loop/turn-tools.d.ts.map +1 -0
  18. package/dist/agent/chat-loop/types.d.ts +60 -0
  19. package/dist/agent/chat-loop/types.d.ts.map +1 -0
  20. package/dist/agent/defaults.d.ts +69 -0
  21. package/dist/agent/defaults.d.ts.map +1 -0
  22. package/dist/agent/event-printer.d.ts +94 -0
  23. package/dist/agent/event-printer.d.ts.map +1 -0
  24. package/dist/agent/fork.d.ts +59 -0
  25. package/dist/agent/fork.d.ts.map +1 -0
  26. package/dist/agent/index.d.ts +17 -0
  27. package/dist/agent/index.d.ts.map +1 -0
  28. package/dist/agent/instance/context-management.d.ts +42 -0
  29. package/dist/agent/instance/context-management.d.ts.map +1 -0
  30. package/dist/agent/instance/forking.d.ts +26 -0
  31. package/dist/agent/instance/forking.d.ts.map +1 -0
  32. package/dist/agent/instance/index.d.ts +182 -0
  33. package/dist/agent/instance/index.d.ts.map +1 -0
  34. package/dist/agent/instance/interventions.d.ts +10 -0
  35. package/dist/agent/instance/interventions.d.ts.map +1 -0
  36. package/dist/agent/instance/mcp.d.ts +21 -0
  37. package/dist/agent/instance/mcp.d.ts.map +1 -0
  38. package/dist/agent/instance/sessions.d.ts +8 -0
  39. package/dist/agent/instance/sessions.d.ts.map +1 -0
  40. package/dist/agent/instance/tools.d.ts +16 -0
  41. package/dist/agent/instance/tools.d.ts.map +1 -0
  42. package/dist/agent/instance/turn-lifecycle.d.ts +61 -0
  43. package/dist/agent/instance/turn-lifecycle.d.ts.map +1 -0
  44. package/dist/agent/session.d.ts +16 -0
  45. package/dist/agent/session.d.ts.map +1 -0
  46. package/dist/agent/setup/config.d.ts +8 -0
  47. package/dist/agent/setup/config.d.ts.map +1 -0
  48. package/dist/agent/setup/context-window.d.ts +4 -0
  49. package/dist/agent/setup/context-window.d.ts.map +1 -0
  50. package/dist/agent/setup/environment.d.ts +5 -0
  51. package/dist/agent/setup/environment.d.ts.map +1 -0
  52. package/dist/agent/setup/middleware.d.ts +9 -0
  53. package/dist/agent/setup/middleware.d.ts.map +1 -0
  54. package/dist/agent/setup/runtime-config.d.ts +9 -0
  55. package/dist/agent/setup/runtime-config.d.ts.map +1 -0
  56. package/dist/agent/setup/state.d.ts +4 -0
  57. package/dist/agent/setup/state.d.ts.map +1 -0
  58. package/dist/agent/setup/tools.d.ts +8 -0
  59. package/dist/agent/setup/tools.d.ts.map +1 -0
  60. package/dist/agent/setup.d.ts +47 -0
  61. package/dist/agent/setup.d.ts.map +1 -0
  62. package/dist/agent/stream-provider.d.ts +27 -0
  63. package/dist/agent/stream-provider.d.ts.map +1 -0
  64. package/dist/agent/turn-context/compaction/agent-context.d.ts +76 -0
  65. package/dist/agent/turn-context/compaction/agent-context.d.ts.map +1 -0
  66. package/dist/agent/turn-context/compaction/budget.d.ts +4 -0
  67. package/dist/agent/turn-context/compaction/budget.d.ts.map +1 -0
  68. package/dist/agent/turn-context/compaction/check.d.ts +45 -0
  69. package/dist/agent/turn-context/compaction/check.d.ts.map +1 -0
  70. package/dist/agent/turn-context/compaction/fragments.d.ts +4 -0
  71. package/dist/agent/turn-context/compaction/fragments.d.ts.map +1 -0
  72. package/dist/agent/turn-context/compaction/index.d.ts +5 -0
  73. package/dist/agent/turn-context/compaction/index.d.ts.map +1 -0
  74. package/dist/agent/turn-context/compaction/memory.d.ts +18 -0
  75. package/dist/agent/turn-context/compaction/memory.d.ts.map +1 -0
  76. package/dist/agent/turn-context/compaction/results.d.ts +25 -0
  77. package/dist/agent/turn-context/compaction/results.d.ts.map +1 -0
  78. package/dist/agent/turn-context/compaction/summary.d.ts +3 -0
  79. package/dist/agent/turn-context/compaction/summary.d.ts.map +1 -0
  80. package/dist/agent/turn-context/compaction/types.d.ts +30 -0
  81. package/dist/agent/turn-context/compaction/types.d.ts.map +1 -0
  82. package/dist/agent/turn-context/fit-model-context.d.ts +29 -0
  83. package/dist/agent/turn-context/fit-model-context.d.ts.map +1 -0
  84. package/dist/agent/turn-context/index.d.ts +5 -0
  85. package/dist/agent/turn-context/index.d.ts.map +1 -0
  86. package/dist/agent/turn-context/system-prompts.d.ts +12 -0
  87. package/dist/agent/turn-context/system-prompts.d.ts.map +1 -0
  88. package/dist/agent/types/config.d.ts +206 -0
  89. package/dist/agent/types/config.d.ts.map +1 -0
  90. package/dist/agent/types/index.d.ts +11 -0
  91. package/dist/agent/types/index.d.ts.map +1 -0
  92. package/dist/agent/types/state.d.ts +16 -0
  93. package/dist/agent/types/state.d.ts.map +1 -0
  94. package/dist/agent/types/tracing.d.ts +12 -0
  95. package/dist/agent/types/tracing.d.ts.map +1 -0
  96. package/dist/{chunk-KYLPMBHD.js → chunk-336EDIBL.js} +1 -1
  97. package/dist/chunk-346FIYKT.js +960 -0
  98. package/dist/{chunk-HSUPTXNV.js → chunk-556CPZ3J.js} +13 -10
  99. package/dist/chunk-AHDCR7SX.js +83 -0
  100. package/dist/{chunk-CSR75JVC.js → chunk-ASXF5AC6.js} +1 -1
  101. package/dist/{chunk-BJC46FIF.js → chunk-BKHWKKSG.js} +2 -2
  102. package/dist/{chunk-2TTOLHBT.js → chunk-CFBSQLP5.js} +1 -1
  103. package/dist/chunk-CGP6UNCQ.js +554 -0
  104. package/dist/{chunk-GJFP5L2V.js → chunk-CNM6OROH.js} +15 -3
  105. package/dist/chunk-DD7S7ZG4.js +274 -0
  106. package/dist/chunk-DYZGHHDB.js +1458 -0
  107. package/dist/chunk-E66PKKDL.js +772 -0
  108. package/dist/{chunk-H3GRHFFG.js → chunk-EDKZOPUV.js} +63 -306
  109. package/dist/{chunk-GEBFHREI.js → chunk-GHVW7L4P.js} +71 -5
  110. package/dist/chunk-JFH6HBUG.js +227 -0
  111. package/dist/{chunk-MWPU2EVV.js → chunk-JUIL2NJC.js} +4 -81
  112. package/dist/{chunk-NS7D7JJU.js → chunk-K453AFTL.js} +35 -16
  113. package/dist/chunk-MJRZ2ZRI.js +498 -0
  114. package/dist/{chunk-UMIVJDEJ.js → chunk-SAWRDGBE.js} +30 -7
  115. package/dist/chunk-TYQWH6XH.js +88 -0
  116. package/dist/{chunk-QJV5XPPS.js → chunk-UEEHZ4QH.js} +1 -1
  117. package/dist/chunk-UG5PVNZV.js +53 -0
  118. package/dist/{chunk-BGG2HVIR.js → chunk-V4MIDL5B.js} +9 -0
  119. package/dist/chunk-W6LWIMIX.js +8 -0
  120. package/dist/context/assembly/index.d.ts +3 -0
  121. package/dist/context/assembly/index.d.ts.map +1 -0
  122. package/dist/context/assembly/prepare.d.ts +11 -0
  123. package/dist/context/assembly/prepare.d.ts.map +1 -0
  124. package/dist/context/assembly/types.d.ts +64 -0
  125. package/dist/context/assembly/types.d.ts.map +1 -0
  126. package/dist/context/config.d.ts +20 -0
  127. package/dist/context/config.d.ts.map +1 -0
  128. package/dist/context/fragments/index.d.ts +4 -0
  129. package/dist/context/fragments/index.d.ts.map +1 -0
  130. package/dist/context/fragments/messages.d.ts +12 -0
  131. package/dist/context/fragments/messages.d.ts.map +1 -0
  132. package/dist/context/fragments/render.d.ts +16 -0
  133. package/dist/context/fragments/render.d.ts.map +1 -0
  134. package/dist/context/fragments/types.d.ts +87 -0
  135. package/dist/context/fragments/types.d.ts.map +1 -0
  136. package/dist/context/index.d.ts +13 -0
  137. package/dist/context/index.d.ts.map +1 -0
  138. package/dist/context/index.js +96 -0
  139. package/dist/context/text/truncation.d.ts +13 -0
  140. package/dist/context/text/truncation.d.ts.map +1 -0
  141. package/dist/context/window/budget.d.ts +135 -0
  142. package/dist/context/window/budget.d.ts.map +1 -0
  143. package/dist/context/window/compactor.d.ts +89 -0
  144. package/dist/context/window/compactor.d.ts.map +1 -0
  145. package/dist/context/window/cut-planner.d.ts +67 -0
  146. package/dist/context/window/cut-planner.d.ts.map +1 -0
  147. package/dist/context/window/decision.d.ts +50 -0
  148. package/dist/context/window/decision.d.ts.map +1 -0
  149. package/dist/context/window/estimation.d.ts +60 -0
  150. package/dist/context/window/estimation.d.ts.map +1 -0
  151. package/dist/context/window/index.d.ts +28 -0
  152. package/dist/context/window/index.d.ts.map +1 -0
  153. package/dist/context/window/manager.d.ts +113 -0
  154. package/dist/context/window/manager.d.ts.map +1 -0
  155. package/dist/context/window/summary-policy.d.ts +50 -0
  156. package/dist/context/window/summary-policy.d.ts.map +1 -0
  157. package/dist/context/window/summary.d.ts +65 -0
  158. package/dist/context/window/summary.d.ts.map +1 -0
  159. package/dist/context/window/tool-pruning.d.ts +73 -0
  160. package/dist/context/window/tool-pruning.d.ts.map +1 -0
  161. package/dist/dispatch/executor.d.ts +56 -0
  162. package/dist/dispatch/executor.d.ts.map +1 -0
  163. package/dist/dispatch/index.d.ts +7 -95
  164. package/dist/dispatch/index.d.ts.map +1 -0
  165. package/dist/dispatch/index.js +4 -3
  166. package/dist/dispatch/results.d.ts +9 -0
  167. package/dist/dispatch/results.d.ts.map +1 -0
  168. package/dist/dispatch/runtime.d.ts +19 -0
  169. package/dist/dispatch/runtime.d.ts.map +1 -0
  170. package/dist/dispatch/tool-factories.d.ts +8 -0
  171. package/dist/dispatch/tool-factories.d.ts.map +1 -0
  172. package/dist/dispatch/tools.d.ts +10 -0
  173. package/dist/dispatch/tools.d.ts.map +1 -0
  174. package/dist/dispatch/types.d.ts +131 -0
  175. package/dist/dispatch/types.d.ts.map +1 -0
  176. package/dist/events/event-bus/index.d.ts +13 -0
  177. package/dist/events/event-bus/index.d.ts.map +1 -0
  178. package/dist/events/event-bus/index.js +6 -0
  179. package/dist/events/event-bus/local.d.ts +14 -0
  180. package/dist/events/event-bus/local.d.ts.map +1 -0
  181. package/dist/events/event-bus/types.d.ts +78 -0
  182. package/dist/events/event-bus/types.d.ts.map +1 -0
  183. package/dist/events/index.d.ts +10 -89
  184. package/dist/events/index.d.ts.map +1 -0
  185. package/dist/events/index.js +6 -1
  186. package/dist/events/signal/index.d.ts +18 -0
  187. package/dist/events/signal/index.d.ts.map +1 -0
  188. package/dist/events/signal/index.js +6 -0
  189. package/dist/events/signal/local.d.ts +22 -0
  190. package/dist/events/signal/local.d.ts.map +1 -0
  191. package/dist/events/signal/types.d.ts +69 -0
  192. package/dist/events/signal/types.d.ts.map +1 -0
  193. package/dist/execution/index.d.ts +33 -481
  194. package/dist/execution/index.d.ts.map +1 -0
  195. package/dist/execution/index.js +45 -19
  196. package/dist/execution/scope/index.d.ts +10 -0
  197. package/dist/execution/scope/index.d.ts.map +1 -0
  198. package/dist/execution/scope/index.js +12 -0
  199. package/dist/execution/scope/run.d.ts +8 -0
  200. package/dist/execution/scope/run.d.ts.map +1 -0
  201. package/dist/execution/scope/store.d.ts +6 -0
  202. package/dist/execution/scope/store.d.ts.map +1 -0
  203. package/dist/execution/scope/types.d.ts +28 -0
  204. package/dist/execution/scope/types.d.ts.map +1 -0
  205. package/dist/execution/shared/usage.d.ts +9 -0
  206. package/dist/execution/shared/usage.d.ts.map +1 -0
  207. package/dist/execution/task/index.d.ts +6 -0
  208. package/dist/execution/task/index.d.ts.map +1 -0
  209. package/dist/execution/task/observer.d.ts +80 -0
  210. package/dist/execution/task/observer.d.ts.map +1 -0
  211. package/dist/execution/task/runner.d.ts +39 -0
  212. package/dist/execution/task/runner.d.ts.map +1 -0
  213. package/dist/execution/task/types.d.ts +85 -0
  214. package/dist/execution/task/types.d.ts.map +1 -0
  215. package/dist/execution/turn/engine/commit-batch.d.ts +16 -0
  216. package/dist/execution/turn/engine/commit-batch.d.ts.map +1 -0
  217. package/dist/execution/turn/engine/engine.d.ts +32 -0
  218. package/dist/execution/turn/engine/engine.d.ts.map +1 -0
  219. package/dist/execution/turn/engine/index.d.ts +12 -0
  220. package/dist/execution/turn/engine/index.d.ts.map +1 -0
  221. package/dist/execution/turn/engine/types.d.ts +67 -0
  222. package/dist/execution/turn/engine/types.d.ts.map +1 -0
  223. package/dist/execution/turn/index.d.ts +18 -0
  224. package/dist/execution/turn/index.d.ts.map +1 -0
  225. package/dist/execution/turn/index.js +52 -0
  226. package/dist/execution/turn/runner/commit.d.ts +11 -0
  227. package/dist/execution/turn/runner/commit.d.ts.map +1 -0
  228. package/dist/execution/turn/runner/index.d.ts +16 -0
  229. package/dist/execution/turn/runner/index.d.ts.map +1 -0
  230. package/dist/execution/turn/runner/prepare.d.ts +6 -0
  231. package/dist/execution/turn/runner/prepare.d.ts.map +1 -0
  232. package/dist/execution/turn/runner/stream-step.d.ts +8 -0
  233. package/dist/execution/turn/runner/stream-step.d.ts.map +1 -0
  234. package/dist/execution/turn/runner/tool-batch.d.ts +13 -0
  235. package/dist/execution/turn/runner/tool-batch.d.ts.map +1 -0
  236. package/dist/execution/turn/runner/types.d.ts +111 -0
  237. package/dist/execution/turn/runner/types.d.ts.map +1 -0
  238. package/dist/execution/turn/state.d.ts +110 -0
  239. package/dist/execution/turn/state.d.ts.map +1 -0
  240. package/dist/execution/turn/step-ledger.d.ts +89 -0
  241. package/dist/execution/turn/step-ledger.d.ts.map +1 -0
  242. package/dist/execution/turn/step-processing/doom-loop.d.ts +28 -0
  243. package/dist/execution/turn/step-processing/doom-loop.d.ts.map +1 -0
  244. package/dist/execution/turn/step-processing/index.d.ts +14 -0
  245. package/dist/execution/turn/step-processing/index.d.ts.map +1 -0
  246. package/dist/execution/turn/step-processing/overflow.d.ts +17 -0
  247. package/dist/execution/turn/step-processing/overflow.d.ts.map +1 -0
  248. package/dist/execution/turn/step-processing/process.d.ts +7 -0
  249. package/dist/execution/turn/step-processing/process.d.ts.map +1 -0
  250. package/dist/execution/turn/step-processing/types.d.ts +65 -0
  251. package/dist/execution/turn/step-processing/types.d.ts.map +1 -0
  252. package/dist/execution/workflow/index.d.ts +12 -0
  253. package/dist/execution/workflow/index.d.ts.map +1 -0
  254. package/dist/execution/workflow/index.js +39 -0
  255. package/dist/execution/workflow/planner/apply.d.ts +30 -0
  256. package/dist/execution/workflow/planner/apply.d.ts.map +1 -0
  257. package/dist/execution/workflow/planner/helpers.d.ts +6 -0
  258. package/dist/execution/workflow/planner/helpers.d.ts.map +1 -0
  259. package/dist/execution/workflow/planner/index.d.ts +13 -0
  260. package/dist/execution/workflow/planner/index.d.ts.map +1 -0
  261. package/dist/execution/workflow/planner/plan.d.ts +7 -0
  262. package/dist/execution/workflow/planner/plan.d.ts.map +1 -0
  263. package/dist/execution/workflow/planner/types.d.ts +49 -0
  264. package/dist/execution/workflow/planner/types.d.ts.map +1 -0
  265. package/dist/execution/workflow/snapshot.d.ts +11 -0
  266. package/dist/execution/workflow/snapshot.d.ts.map +1 -0
  267. package/dist/execution/workflow/state.d.ts +161 -0
  268. package/dist/execution/workflow/state.d.ts.map +1 -0
  269. package/dist/human/controller.d.ts +24 -0
  270. package/dist/human/controller.d.ts.map +1 -0
  271. package/dist/human/handler.d.ts +15 -0
  272. package/dist/human/handler.d.ts.map +1 -0
  273. package/dist/human/index.d.ts +5 -0
  274. package/dist/human/index.d.ts.map +1 -0
  275. package/dist/human/tool.d.ts +17 -0
  276. package/dist/human/tool.d.ts.map +1 -0
  277. package/dist/human/types.d.ts +62 -0
  278. package/dist/human/types.d.ts.map +1 -0
  279. package/dist/index.d.ts +66 -567
  280. package/dist/index.d.ts.map +1 -0
  281. package/dist/index.js +2681 -1859
  282. package/dist/inference/defaults.d.ts +8 -0
  283. package/dist/inference/defaults.d.ts.map +1 -0
  284. package/dist/inference/errors/classify.d.ts +5 -0
  285. package/dist/inference/errors/classify.d.ts.map +1 -0
  286. package/dist/inference/errors/extract.d.ts +3 -0
  287. package/dist/inference/errors/extract.d.ts.map +1 -0
  288. package/dist/inference/errors/index.d.ts +8 -11
  289. package/dist/inference/errors/index.d.ts.map +1 -0
  290. package/dist/inference/errors/llm-error.d.ts +14 -0
  291. package/dist/inference/errors/llm-error.d.ts.map +1 -0
  292. package/dist/inference/errors/types.d.ts +18 -0
  293. package/dist/inference/errors/types.d.ts.map +1 -0
  294. package/dist/inference/errors/utils.d.ts +5 -0
  295. package/dist/inference/errors/utils.d.ts.map +1 -0
  296. package/dist/inference/index.d.ts +17 -49
  297. package/dist/inference/index.d.ts.map +1 -0
  298. package/dist/inference/index.js +7 -7
  299. package/dist/inference/middleware-support.d.ts +14 -0
  300. package/dist/inference/middleware-support.d.ts.map +1 -0
  301. package/dist/{model-messages-n_ZMZwIm.d.ts → inference/model-messages.d.ts} +4 -6
  302. package/dist/inference/model-messages.d.ts.map +1 -0
  303. package/dist/inference/retry.d.ts +73 -0
  304. package/dist/inference/retry.d.ts.map +1 -0
  305. package/dist/inference/stream.d.ts +16 -0
  306. package/dist/inference/stream.d.ts.map +1 -0
  307. package/dist/inference/toolset.d.ts +26 -0
  308. package/dist/inference/toolset.d.ts.map +1 -0
  309. package/dist/inference/types.d.ts +129 -0
  310. package/dist/inference/types.d.ts.map +1 -0
  311. package/dist/intervention/follow-up-policy.d.ts +41 -0
  312. package/dist/intervention/follow-up-policy.d.ts.map +1 -0
  313. package/dist/intervention/index.d.ts +5 -0
  314. package/dist/intervention/index.d.ts.map +1 -0
  315. package/dist/intervention/intervention.d.ts +130 -0
  316. package/dist/intervention/intervention.d.ts.map +1 -0
  317. package/dist/intervention/types.d.ts +74 -0
  318. package/dist/intervention/types.d.ts.map +1 -0
  319. package/dist/logger/index.d.ts +5 -47
  320. package/dist/logger/index.d.ts.map +1 -0
  321. package/dist/logger/logger.d.ts +46 -0
  322. package/dist/logger/logger.d.ts.map +1 -0
  323. package/dist/{types-RSCv7nQ4.d.ts → logger/types.d.ts} +6 -7
  324. package/dist/logger/types.d.ts.map +1 -0
  325. package/dist/mcp/auth.d.ts +109 -0
  326. package/dist/mcp/auth.d.ts.map +1 -0
  327. package/dist/mcp/diagnostics.d.ts +23 -0
  328. package/dist/mcp/diagnostics.d.ts.map +1 -0
  329. package/dist/mcp/factories.d.ts +47 -0
  330. package/dist/mcp/factories.d.ts.map +1 -0
  331. package/dist/mcp/index.d.ts +14 -175
  332. package/dist/mcp/index.d.ts.map +1 -0
  333. package/dist/mcp/index.js +1 -1
  334. package/dist/mcp/manager.d.ts +45 -0
  335. package/dist/mcp/manager.d.ts.map +1 -0
  336. package/dist/mcp/modules.d.ts +6 -0
  337. package/dist/mcp/modules.d.ts.map +1 -0
  338. package/dist/{types-DMjoFKKv.d.ts → mcp/types.d.ts} +18 -19
  339. package/dist/mcp/types.d.ts.map +1 -0
  340. package/dist/memory/config.d.ts +4 -0
  341. package/dist/memory/config.d.ts.map +1 -0
  342. package/dist/memory/format.d.ts +8 -0
  343. package/dist/memory/format.d.ts.map +1 -0
  344. package/dist/memory/index.d.ts +5 -0
  345. package/dist/memory/index.d.ts.map +1 -0
  346. package/dist/memory/index.js +14 -0
  347. package/dist/memory/middleware.d.ts +14 -0
  348. package/dist/memory/middleware.d.ts.map +1 -0
  349. package/dist/memory/types.d.ts +251 -0
  350. package/dist/memory/types.d.ts.map +1 -0
  351. package/dist/middleware/approval.d.ts +70 -0
  352. package/dist/middleware/approval.d.ts.map +1 -0
  353. package/dist/middleware/index.d.ts +25 -110
  354. package/dist/middleware/index.d.ts.map +1 -0
  355. package/dist/middleware/index.js +2 -2
  356. package/dist/middleware/prompt-cache/cache.d.ts +44 -0
  357. package/dist/middleware/prompt-cache/cache.d.ts.map +1 -0
  358. package/dist/middleware/prompt-cache/index.d.ts +14 -0
  359. package/dist/middleware/prompt-cache/index.d.ts.map +1 -0
  360. package/dist/middleware/prompt-cache/types.d.ts +50 -0
  361. package/dist/middleware/prompt-cache/types.d.ts.map +1 -0
  362. package/dist/middleware/runner.d.ts +115 -0
  363. package/dist/middleware/runner.d.ts.map +1 -0
  364. package/dist/middleware/telemetry/index.d.ts +12 -0
  365. package/dist/middleware/telemetry/index.d.ts.map +1 -0
  366. package/dist/middleware/telemetry/otel.d.ts +4 -0
  367. package/dist/middleware/telemetry/otel.d.ts.map +1 -0
  368. package/dist/middleware/telemetry/provider.d.ts +3 -0
  369. package/dist/middleware/telemetry/provider.d.ts.map +1 -0
  370. package/dist/middleware/telemetry/types.d.ts +150 -0
  371. package/dist/middleware/telemetry/types.d.ts.map +1 -0
  372. package/dist/middleware/types.d.ts +426 -0
  373. package/dist/middleware/types.d.ts.map +1 -0
  374. package/dist/models/cache/adapters.d.ts +4 -0
  375. package/dist/models/cache/adapters.d.ts.map +1 -0
  376. package/dist/models/cache/index.d.ts +5 -0
  377. package/dist/models/cache/index.d.ts.map +1 -0
  378. package/dist/models/cache/manager.d.ts +32 -0
  379. package/dist/models/cache/manager.d.ts.map +1 -0
  380. package/dist/models/cache/types.d.ts +17 -0
  381. package/dist/models/cache/types.d.ts.map +1 -0
  382. package/dist/models/capability-resolver.d.ts +104 -0
  383. package/dist/models/capability-resolver.d.ts.map +1 -0
  384. package/dist/models/identifiers.d.ts +23 -0
  385. package/dist/models/identifiers.d.ts.map +1 -0
  386. package/dist/models/index.d.ts +35 -256
  387. package/dist/models/index.d.ts.map +1 -0
  388. package/dist/models/index.js +1 -1
  389. package/dist/models/overrides.d.ts +10 -0
  390. package/dist/models/overrides.d.ts.map +1 -0
  391. package/dist/models/profiles.d.ts +38 -0
  392. package/dist/models/profiles.d.ts.map +1 -0
  393. package/dist/models/reasoning/config.d.ts +49 -0
  394. package/dist/models/reasoning/config.d.ts.map +1 -0
  395. package/dist/models/reasoning/index.d.ts +12 -4
  396. package/dist/models/reasoning/index.d.ts.map +1 -0
  397. package/dist/models/reasoning/index.js +1 -1
  398. package/dist/models/reasoning/providers.d.ts +63 -0
  399. package/dist/models/reasoning/providers.d.ts.map +1 -0
  400. package/dist/{types-CQaXbRsS.d.ts → models/reasoning/types.d.ts} +7 -8
  401. package/dist/models/reasoning/types.d.ts.map +1 -0
  402. package/dist/models/remote/fetcher.d.ts +13 -0
  403. package/dist/models/remote/fetcher.d.ts.map +1 -0
  404. package/dist/models/remote/index.d.ts +8 -0
  405. package/dist/models/remote/index.d.ts.map +1 -0
  406. package/dist/models/remote/network.d.ts +6 -0
  407. package/dist/models/remote/network.d.ts.map +1 -0
  408. package/dist/models/remote/source.d.ts +16 -0
  409. package/dist/models/remote/source.d.ts.map +1 -0
  410. package/dist/models/remote/transform.d.ts +4 -0
  411. package/dist/models/remote/transform.d.ts.map +1 -0
  412. package/dist/models/remote/types.d.ts +28 -0
  413. package/dist/models/remote/types.d.ts.map +1 -0
  414. package/dist/models/resolver.d.ts +26 -0
  415. package/dist/models/resolver.d.ts.map +1 -0
  416. package/dist/models/types.d.ts +137 -0
  417. package/dist/models/types.d.ts.map +1 -0
  418. package/dist/plugin/compatibility.d.ts +11 -0
  419. package/dist/plugin/compatibility.d.ts.map +1 -0
  420. package/dist/plugin/define.d.ts +77 -0
  421. package/dist/plugin/define.d.ts.map +1 -0
  422. package/dist/plugin/event-bus.d.ts +31 -0
  423. package/dist/plugin/event-bus.d.ts.map +1 -0
  424. package/dist/plugin/index.d.ts +9 -458
  425. package/dist/plugin/index.d.ts.map +1 -0
  426. package/dist/plugin/loader.d.ts +63 -0
  427. package/dist/plugin/loader.d.ts.map +1 -0
  428. package/dist/plugin/registry.d.ts +81 -0
  429. package/dist/plugin/registry.d.ts.map +1 -0
  430. package/dist/plugin/settings.d.ts +36 -0
  431. package/dist/plugin/settings.d.ts.map +1 -0
  432. package/dist/plugin/types.d.ts +168 -0
  433. package/dist/plugin/types.d.ts.map +1 -0
  434. package/dist/profiles/apply.d.ts +17 -0
  435. package/dist/profiles/apply.d.ts.map +1 -0
  436. package/dist/profiles/builtins.d.ts +18 -0
  437. package/dist/profiles/builtins.d.ts.map +1 -0
  438. package/dist/profiles/index.d.ts +12 -55
  439. package/dist/profiles/index.d.ts.map +1 -0
  440. package/dist/profiles/patterns.d.ts +12 -0
  441. package/dist/profiles/patterns.d.ts.map +1 -0
  442. package/dist/profiles/types.d.ts +48 -0
  443. package/dist/profiles/types.d.ts.map +1 -0
  444. package/dist/prompt/builder/builder.d.ts +27 -0
  445. package/dist/prompt/builder/builder.d.ts.map +1 -0
  446. package/dist/prompt/builder/index.d.ts +11 -0
  447. package/dist/prompt/builder/index.d.ts.map +1 -0
  448. package/dist/prompt/builder/priorities.d.ts +13 -0
  449. package/dist/prompt/builder/priorities.d.ts.map +1 -0
  450. package/dist/prompt/builder/sections.d.ts +30 -0
  451. package/dist/prompt/builder/sections.d.ts.map +1 -0
  452. package/dist/prompt/environment.d.ts +46 -0
  453. package/dist/prompt/environment.d.ts.map +1 -0
  454. package/dist/prompt/index.d.ts +31 -220
  455. package/dist/prompt/index.d.ts.map +1 -0
  456. package/dist/prompt/index.js +3 -1
  457. package/dist/prompt/instructions.d.ts +104 -0
  458. package/dist/prompt/instructions.d.ts.map +1 -0
  459. package/dist/prompt/templates.d.ts +56 -0
  460. package/dist/prompt/templates.d.ts.map +1 -0
  461. package/dist/prompt/types.d.ts +218 -0
  462. package/dist/prompt/types.d.ts.map +1 -0
  463. package/dist/safety/errors.d.ts +18 -0
  464. package/dist/safety/errors.d.ts.map +1 -0
  465. package/dist/safety/handler.d.ts +16 -0
  466. package/dist/safety/handler.d.ts.map +1 -0
  467. package/dist/safety/index.d.ts +11 -133
  468. package/dist/safety/index.d.ts.map +1 -0
  469. package/dist/safety/patterns.d.ts +17 -0
  470. package/dist/safety/patterns.d.ts.map +1 -0
  471. package/dist/safety/policy.d.ts +31 -0
  472. package/dist/safety/policy.d.ts.map +1 -0
  473. package/dist/safety/presets.d.ts +43 -0
  474. package/dist/safety/presets.d.ts.map +1 -0
  475. package/dist/safety/risk.d.ts +14 -0
  476. package/dist/safety/risk.d.ts.map +1 -0
  477. package/dist/safety/types.d.ts +165 -0
  478. package/dist/safety/types.d.ts.map +1 -0
  479. package/dist/sandbox/index.d.ts +2 -81
  480. package/dist/sandbox/index.d.ts.map +1 -0
  481. package/dist/sandbox/types.d.ts +79 -0
  482. package/dist/sandbox/types.d.ts.map +1 -0
  483. package/dist/sessions/index.d.ts +13 -0
  484. package/dist/sessions/index.d.ts.map +1 -0
  485. package/dist/{storage → sessions}/index.js +6 -17
  486. package/dist/sessions/manager/default.d.ts +11 -0
  487. package/dist/sessions/manager/default.d.ts.map +1 -0
  488. package/dist/sessions/manager/index.d.ts +12 -0
  489. package/dist/sessions/manager/index.d.ts.map +1 -0
  490. package/dist/sessions/manager/session-manager.d.ts +67 -0
  491. package/dist/sessions/manager/session-manager.d.ts.map +1 -0
  492. package/dist/sessions/manager/types.d.ts +42 -0
  493. package/dist/sessions/manager/types.d.ts.map +1 -0
  494. package/dist/sessions/store/lock.d.ts +18 -0
  495. package/dist/sessions/store/lock.d.ts.map +1 -0
  496. package/dist/sessions/store/memory.d.ts +22 -0
  497. package/dist/sessions/store/memory.d.ts.map +1 -0
  498. package/dist/sessions/types.d.ts +215 -0
  499. package/dist/sessions/types.d.ts.map +1 -0
  500. package/dist/sessions/utils.d.ts +77 -0
  501. package/dist/sessions/utils.d.ts.map +1 -0
  502. package/dist/skill/discovery/constants.d.ts +6 -0
  503. package/dist/skill/discovery/constants.d.ts.map +1 -0
  504. package/dist/skill/discovery/dedupe.d.ts +3 -0
  505. package/dist/skill/discovery/dedupe.d.ts.map +1 -0
  506. package/dist/skill/discovery/discover.d.ts +3 -0
  507. package/dist/skill/discovery/discover.d.ts.map +1 -0
  508. package/dist/skill/discovery/fs.d.ts +4 -0
  509. package/dist/skill/discovery/fs.d.ts.map +1 -0
  510. package/dist/skill/discovery/index.d.ts +6 -0
  511. package/dist/skill/discovery/index.d.ts.map +1 -0
  512. package/dist/skill/discovery/scan.d.ts +3 -0
  513. package/dist/skill/discovery/scan.d.ts.map +1 -0
  514. package/dist/skill/discovery/types.d.ts +15 -0
  515. package/dist/skill/discovery/types.d.ts.map +1 -0
  516. package/dist/skill/index.d.ts +67 -89
  517. package/dist/skill/index.d.ts.map +1 -0
  518. package/dist/skill/index.js +2 -2
  519. package/dist/skill/loader/constants.d.ts +5 -0
  520. package/dist/skill/loader/constants.d.ts.map +1 -0
  521. package/dist/skill/loader/frontmatter.d.ts +5 -0
  522. package/dist/skill/loader/frontmatter.d.ts.map +1 -0
  523. package/dist/skill/loader/index.d.ts +8 -0
  524. package/dist/skill/loader/index.d.ts.map +1 -0
  525. package/dist/skill/loader/metadata.d.ts +3 -0
  526. package/dist/skill/loader/metadata.d.ts.map +1 -0
  527. package/dist/skill/loader/resources.d.ts +5 -0
  528. package/dist/skill/loader/resources.d.ts.map +1 -0
  529. package/dist/skill/registry.d.ts +177 -0
  530. package/dist/skill/registry.d.ts.map +1 -0
  531. package/dist/skill/tools.d.ts +77 -0
  532. package/dist/skill/tools.d.ts.map +1 -0
  533. package/dist/skill/types.d.ts +291 -0
  534. package/dist/skill/types.d.ts.map +1 -0
  535. package/dist/subagents/index.d.ts +8 -179
  536. package/dist/subagents/index.d.ts.map +1 -0
  537. package/dist/subagents/index.js +5 -4
  538. package/dist/subagents/installation.d.ts +23 -0
  539. package/dist/subagents/installation.d.ts.map +1 -0
  540. package/dist/subagents/results.d.ts +15 -0
  541. package/dist/subagents/results.d.ts.map +1 -0
  542. package/dist/subagents/roles/discovery.d.ts +38 -0
  543. package/dist/subagents/roles/discovery.d.ts.map +1 -0
  544. package/dist/subagents/roles/index.d.ts +5 -0
  545. package/dist/subagents/roles/index.d.ts.map +1 -0
  546. package/dist/subagents/roles/markdown-profile.d.ts +61 -0
  547. package/dist/subagents/roles/markdown-profile.d.ts.map +1 -0
  548. package/dist/subagents/tool-factories.d.ts +11 -0
  549. package/dist/subagents/tool-factories.d.ts.map +1 -0
  550. package/dist/subagents/tools.d.ts +13 -0
  551. package/dist/subagents/tools.d.ts.map +1 -0
  552. package/dist/subagents/types.d.ts +21 -0
  553. package/dist/subagents/types.d.ts.map +1 -0
  554. package/dist/team/coordinator/coordinator.d.ts +342 -0
  555. package/dist/team/coordinator/coordinator.d.ts.map +1 -0
  556. package/dist/team/coordinator/inbox.d.ts +99 -0
  557. package/dist/team/coordinator/inbox.d.ts.map +1 -0
  558. package/dist/team/coordinator/index.d.ts +19 -0
  559. package/dist/team/coordinator/index.d.ts.map +1 -0
  560. package/dist/team/coordinator/planning.d.ts +33 -0
  561. package/dist/team/coordinator/planning.d.ts.map +1 -0
  562. package/dist/team/coordinator/policy.d.ts +31 -0
  563. package/dist/team/coordinator/policy.d.ts.map +1 -0
  564. package/dist/team/coordinator/round-engine.d.ts +25 -0
  565. package/dist/team/coordinator/round-engine.d.ts.map +1 -0
  566. package/dist/team/coordinator/synthesis.d.ts +20 -0
  567. package/dist/team/coordinator/synthesis.d.ts.map +1 -0
  568. package/dist/team/coordinator/turn.d.ts +107 -0
  569. package/dist/team/coordinator/turn.d.ts.map +1 -0
  570. package/dist/team/coordinator/types.d.ts +344 -0
  571. package/dist/team/coordinator/types.d.ts.map +1 -0
  572. package/dist/team/events.d.ts +148 -0
  573. package/dist/team/events.d.ts.map +1 -0
  574. package/dist/team/execution.d.ts +51 -0
  575. package/dist/team/execution.d.ts.map +1 -0
  576. package/dist/team/index.d.ts +23 -545
  577. package/dist/team/index.d.ts.map +1 -0
  578. package/dist/team/index.js +2 -2
  579. package/dist/team/mailbox.d.ts +91 -0
  580. package/dist/team/mailbox.d.ts.map +1 -0
  581. package/dist/team/notifications.d.ts +23 -0
  582. package/dist/team/notifications.d.ts.map +1 -0
  583. package/dist/team/permissions.d.ts +88 -0
  584. package/dist/team/permissions.d.ts.map +1 -0
  585. package/dist/team/shutdown.d.ts +38 -0
  586. package/dist/team/shutdown.d.ts.map +1 -0
  587. package/dist/team/task-board.d.ts +161 -0
  588. package/dist/team/task-board.d.ts.map +1 -0
  589. package/dist/team/types.d.ts +233 -0
  590. package/dist/team/types.d.ts.map +1 -0
  591. package/dist/team/work-loop.d.ts +30 -0
  592. package/dist/team/work-loop.d.ts.map +1 -0
  593. package/dist/tool/executor.d.ts +59 -0
  594. package/dist/tool/executor.d.ts.map +1 -0
  595. package/dist/tool/host/index.d.ts +7 -38
  596. package/dist/tool/host/index.d.ts.map +1 -0
  597. package/dist/tool/host/local.d.ts +15 -0
  598. package/dist/tool/host/local.d.ts.map +1 -0
  599. package/dist/tool/host/registry.d.ts +17 -0
  600. package/dist/tool/host/registry.d.ts.map +1 -0
  601. package/dist/{types-C_LCeYNg.d.ts → tool/host/types.d.ts} +6 -7
  602. package/dist/tool/host/types.d.ts.map +1 -0
  603. package/dist/tool/index.d.ts +21 -285
  604. package/dist/tool/index.d.ts.map +1 -0
  605. package/dist/tool/index.js +4 -3
  606. package/dist/tool/registry.d.ts +130 -0
  607. package/dist/tool/registry.d.ts.map +1 -0
  608. package/dist/tool/replay.d.ts +11 -0
  609. package/dist/tool/replay.d.ts.map +1 -0
  610. package/dist/tool/tool-search.d.ts +50 -0
  611. package/dist/tool/tool-search.d.ts.map +1 -0
  612. package/dist/tool/tool.d.ts +308 -0
  613. package/dist/tool/tool.d.ts.map +1 -0
  614. package/dist/tool/truncation.d.ts +34 -0
  615. package/dist/tool/truncation.d.ts.map +1 -0
  616. package/dist/tool/turn-tools.d.ts +71 -0
  617. package/dist/tool/turn-tools.d.ts.map +1 -0
  618. package/dist/tracking/file-tracking.d.ts +25 -0
  619. package/dist/tracking/file-tracking.d.ts.map +1 -0
  620. package/dist/tracking/index.d.ts +9 -0
  621. package/dist/tracking/index.d.ts.map +1 -0
  622. package/dist/tracking/turn-tracker/diff.d.ts +11 -0
  623. package/dist/tracking/turn-tracker/diff.d.ts.map +1 -0
  624. package/dist/tracking/turn-tracker/index.d.ts +11 -0
  625. package/dist/tracking/turn-tracker/index.d.ts.map +1 -0
  626. package/dist/tracking/turn-tracker/tracker.d.ts +31 -0
  627. package/dist/tracking/turn-tracker/tracker.d.ts.map +1 -0
  628. package/dist/tracking/turn-tracker/types.d.ts +66 -0
  629. package/dist/tracking/turn-tracker/types.d.ts.map +1 -0
  630. package/dist/types/compaction.d.ts +191 -0
  631. package/dist/types/compaction.d.ts.map +1 -0
  632. package/dist/types/doom-loop.d.ts +25 -0
  633. package/dist/types/doom-loop.d.ts.map +1 -0
  634. package/dist/types/events.d.ts +196 -0
  635. package/dist/types/events.d.ts.map +1 -0
  636. package/dist/types/index.d.ts +17 -0
  637. package/dist/types/index.d.ts.map +1 -0
  638. package/dist/types/messages.d.ts +119 -0
  639. package/dist/types/messages.d.ts.map +1 -0
  640. package/dist/types/stream.d.ts +172 -0
  641. package/dist/types/stream.d.ts.map +1 -0
  642. package/dist/types/tool.d.ts +309 -0
  643. package/dist/types/tool.d.ts.map +1 -0
  644. package/dist/types/turn-source.d.ts +36 -0
  645. package/dist/types/turn-source.d.ts.map +1 -0
  646. package/dist/utils/sleep.d.ts +7 -0
  647. package/dist/utils/sleep.d.ts.map +1 -0
  648. package/package.json +49 -12
  649. package/dist/chunk-CJI7PVS2.js +0 -58
  650. package/dist/chunk-V6ETEYST.js +0 -2091
  651. package/dist/index-BCqEGzBj.d.ts +0 -251
  652. package/dist/instance-Bg61WSyz.d.ts +0 -6004
  653. package/dist/llm-error-D93FNNLY.d.ts +0 -32
  654. package/dist/storage/index.d.ts +0 -191
  655. package/dist/turn-tools/index.d.ts +0 -12
  656. package/dist/turn-tools/index.js +0 -1
  657. package/dist/{chunk-O2WCYSXQ.js → chunk-3NBTQHVV.js} +0 -0
  658. package/dist/{chunk-Q742PSH3.js → chunk-MJML3A2F.js} +36 -36
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Team Mailbox
3
+ *
4
+ * Typed message bus for intra-team communication.
5
+ *
6
+ * `MailboxStore` is the persistence contract. `Mailbox` wraps it with
7
+ * input normalization, auto-derived kind, subscriber fan-out, and
8
+ * defensive cloning. Hosts swap in whatever store fits their deployment
9
+ * (in-memory for single-process, Redis/DB for distributed teams).
10
+ *
11
+ * Design choices:
12
+ * - Messages are immutable once sent — no edits, no deletes
13
+ * - Subscribers are notified via Promise.allSettled (one failure ≠ all fail)
14
+ * - `from` / `to` instead of `senderId` / `recipientId` (more readable)
15
+ * - `teamId` scoped filters so one store can serve multiple teams
16
+ */
17
+ import type { MessageKind, MessagePayload, TeamMessage } from "./types.js";
18
+ /**
19
+ * Filter options for listing messages.
20
+ */
21
+ export interface MessageListFilter {
22
+ teamId?: string;
23
+ from?: string;
24
+ to?: string;
25
+ taskId?: string;
26
+ kind?: MessageKind | MessageKind[];
27
+ limit?: number;
28
+ }
29
+ /**
30
+ * Input for sending a new message.
31
+ */
32
+ export interface MessageInput {
33
+ /** Optional ID (auto-generated if omitted) */
34
+ id?: string;
35
+ teamId: string;
36
+ from: string;
37
+ to?: string;
38
+ kind?: MessageKind;
39
+ body: string;
40
+ payload?: MessagePayload;
41
+ taskId?: string;
42
+ metadata?: Record<string, string>;
43
+ }
44
+ /**
45
+ * Subscriber callback — invoked when a new message is sent.
46
+ */
47
+ export type MailboxSubscriber = (message: TeamMessage) => void | Promise<void>;
48
+ /**
49
+ * Persistence contract for team messages.
50
+ */
51
+ export interface MailboxStore {
52
+ start?(): Promise<void>;
53
+ stop?(): Promise<void>;
54
+ append(message: TeamMessage): Promise<TeamMessage>;
55
+ list(filter?: MessageListFilter): Promise<TeamMessage[]>;
56
+ }
57
+ /**
58
+ * Simple in-memory store — suitable for single-process teams.
59
+ */
60
+ export declare class InMemoryMailboxStore implements MailboxStore {
61
+ private readonly messages;
62
+ append(message: TeamMessage): Promise<TeamMessage>;
63
+ list(filter?: MessageListFilter): Promise<TeamMessage[]>;
64
+ }
65
+ /**
66
+ * Team mailbox — typed message bus with subscriber notifications.
67
+ */
68
+ export declare class Mailbox {
69
+ private readonly store;
70
+ private readonly subscribers;
71
+ private readonly createId;
72
+ constructor(options?: {
73
+ store?: MailboxStore;
74
+ createId?: () => string;
75
+ });
76
+ start(): Promise<void>;
77
+ stop(): Promise<void>;
78
+ /**
79
+ * Send a message. Notifies subscribers after persistence.
80
+ */
81
+ send(input: MessageInput): Promise<TeamMessage>;
82
+ /**
83
+ * List messages matching the filter.
84
+ */
85
+ list(filter?: MessageListFilter): Promise<TeamMessage[]>;
86
+ /**
87
+ * Subscribe to new messages. Returns an unsubscribe function.
88
+ */
89
+ subscribe(subscriber: MailboxSubscriber): () => void;
90
+ }
91
+ //# sourceMappingURL=mailbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mailbox.d.ts","sourceRoot":"","sources":["../../src/team/mailbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAM3E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW,EAAE,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CAC1D;AA6BD;;GAEG;AACH,qBAAa,oBAAqB,YAAW,YAAY;IACvD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAExC,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAMlD,IAAI,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;CAmB/D;AAMD;;GAEG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgC;IAC5D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;gBAE5B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,YAAY,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAA;KAAE;IAKjE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B;;OAEG;IACG,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IA2BrD;;OAEG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAI9D;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,iBAAiB,GAAG,MAAM,IAAI;CAMrD"}
@@ -0,0 +1,23 @@
1
+ import type { TeamTask } from "./types.js";
2
+ import type { TeamEvent } from "./events.js";
3
+ export type NotificationPriority = "immediate" | "deferred";
4
+ export type CoordinatorNotificationKind = "worker-report" | "task-result" | "permission-forwarded" | "permission-resolved" | "shutdown-requested" | "shutdown-resolved";
5
+ export interface CoordinatorNotification {
6
+ id: string;
7
+ teamId: string;
8
+ memberId: string;
9
+ kind: CoordinatorNotificationKind;
10
+ priority: NotificationPriority;
11
+ title: string;
12
+ body: string;
13
+ createdAt: string;
14
+ taskId?: string;
15
+ status?: TeamTask["status"];
16
+ }
17
+ export interface TeamNotificationEvent {
18
+ type: "team-notification";
19
+ teamId: string;
20
+ notification: CoordinatorNotification;
21
+ }
22
+ export declare function buildCoordinatorNotificationEvent(event: TeamEvent, resolveTask: (taskId: string) => Promise<TeamTask | undefined>): Promise<TeamNotificationEvent | null>;
23
+ //# sourceMappingURL=notifications.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../src/team/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EASV,SAAS,EACV,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,UAAU,CAAC;AAE5D,MAAM,MAAM,2BAA2B,GACnC,eAAe,GACf,aAAa,GACb,sBAAsB,GACtB,qBAAqB,GACrB,oBAAoB,GACpB,mBAAmB,CAAC;AAExB,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,2BAA2B,CAAC;IAClC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,uBAAuB,CAAC;CACvC;AA4KD,wBAAsB,iCAAiC,CACrD,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,GAC7D,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAmBvC"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Team Permission Policy
3
+ *
4
+ * Extends the existing approval middleware to support team-wide
5
+ * permission delegation. When a coordinator creates team members,
6
+ * it can install a `teamPermissionPolicy` middleware that:
7
+ *
8
+ * 1. Applies team-wide allow/deny rules to all member tool calls
9
+ * 2. Forwards unresolved approvals to the coordinator (lead agent)
10
+ * 3. Propagates "remember" decisions to all team members
11
+ *
12
+ * This is layered ON TOP of the existing `approvalMiddleware` —
13
+ * it doesn't replace it. Members inherit the lead's approval rules
14
+ * via fork(), and the team policy adds team-specific delegation.
15
+ *
16
+ * Design choices vs ccsource:
17
+ * - No filesystem polling for permission responses — uses callbacks
18
+ * - No separate sandbox permission path — uses standard approval pipeline
19
+ * - Team rules are typed objects, not mailbox message payloads
20
+ * - Integrates with existing `beforeToolCall` middleware contract
21
+ */
22
+ import type { AgentMiddleware, ToolCallDecision } from "../middleware/types.js";
23
+ /**
24
+ * A team-wide permission rule.
25
+ *
26
+ * Rules are evaluated in order — first match wins.
27
+ */
28
+ export interface TeamPermissionRule {
29
+ /** Tool name to match (exact or glob-style with `*`) */
30
+ tool: string;
31
+ /** Optional approval pattern to match against the tool input */
32
+ pattern?: string;
33
+ /** Member IDs this rule applies to (undefined = all members) */
34
+ members?: string[];
35
+ /** Whether to allow or deny */
36
+ action: "allow" | "deny";
37
+ /** Optional reason (shown to model on deny) */
38
+ reason?: string;
39
+ }
40
+ /**
41
+ * Callback for forwarding approval requests to the coordinator.
42
+ * Returns the coordinator's decision.
43
+ */
44
+ export type ApprovalForwarder = (memberId: string, tool: string, args: unknown, ctx: Parameters<NonNullable<AgentMiddleware["beforeToolCall"]>>[2]) => Promise<ToolCallDecision>;
45
+ /**
46
+ * Configuration for the team permission policy middleware.
47
+ */
48
+ export interface TeamPermissionPolicyConfig {
49
+ /** The member ID this middleware is installed on */
50
+ memberId: string;
51
+ /** Team-wide rules (evaluated first, before forwarding) */
52
+ rules?: TeamPermissionRule[];
53
+ /**
54
+ * Forward unresolved approvals to this callback.
55
+ * If not provided, unresolved tools are allowed (fall through
56
+ * to the member's own approval middleware).
57
+ */
58
+ forwardApproval?: ApprovalForwarder;
59
+ /**
60
+ * Callback when a "remember" decision is made — the coordinator
61
+ * can propagate it to all members by updating their rule sets.
62
+ */
63
+ onRemember?: (rule: TeamPermissionRule) => void | Promise<void>;
64
+ }
65
+ /**
66
+ * Create a team permission policy middleware.
67
+ *
68
+ * Install this on forked member agents to enforce team-wide
69
+ * permission rules and optionally forward approvals to the
70
+ * coordinator.
71
+ *
72
+ * ```typescript
73
+ * const memberAgent = lead.fork({
74
+ * name: "explorer",
75
+ * additionalMiddleware: [
76
+ * teamPermissionPolicy({
77
+ * memberId: "explorer",
78
+ * rules: [
79
+ * { tool: "read_*", action: "allow" },
80
+ * { tool: "write_*", action: "deny", reason: "Explorer is read-only" },
81
+ * ],
82
+ * }),
83
+ * ],
84
+ * });
85
+ * ```
86
+ */
87
+ export declare function teamPermissionPolicy(config: TeamPermissionPolicyConfig): AgentMiddleware;
88
+ //# sourceMappingURL=permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/team/permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAWhF;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,+BAA+B;IAC/B,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAC/D,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC7B;;;;OAIG;IACH,eAAe,CAAC,EAAE,iBAAiB,CAAC;IACpC;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE;AA6BD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,0BAA0B,GACjC,eAAe,CAqCjB"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Shutdown Protocol
3
+ *
4
+ * Two-phase graceful shutdown for team members:
5
+ *
6
+ * 1. **Request** — coordinator sends a shutdown request via mailbox.
7
+ * If the member is idle, it goes offline immediately. If busy,
8
+ * it's marked "shutting-down" and finishes its current task first.
9
+ *
10
+ * 2. **Resolve** — once the member reaches "offline", the coordinator
11
+ * emits a shutdown-resolved event.
12
+ *
13
+ * The `shutdown()` function applies this to all active members in parallel.
14
+ */
15
+ import type { CoordinatorCtx, MemberRuntime } from "./coordinator/types.js";
16
+ /**
17
+ * Request graceful shutdown of a specific member.
18
+ *
19
+ * - If member is idle, auto-accepts and goes offline immediately
20
+ * - If member is busy, marks as shutting-down and waits for current
21
+ * task to finish before going offline
22
+ * - Returns true if shutdown succeeded within the timeout
23
+ */
24
+ export declare function requestShutdown(ctx: CoordinatorCtx, memberId: string, reason?: string, timeoutMs?: number): Promise<boolean>;
25
+ /**
26
+ * Gracefully shut down all active members.
27
+ */
28
+ export declare function shutdownAll(ctx: CoordinatorCtx, reason?: string, timeoutMs?: number): Promise<void>;
29
+ /**
30
+ * Poll until a member reaches "offline" status.
31
+ * Returns false if the timeout expires first.
32
+ */
33
+ export declare function waitForOffline(runtime: MemberRuntime, timeoutMs?: number): Promise<boolean>;
34
+ /**
35
+ * Emit a shutdown-resolved event.
36
+ */
37
+ export declare function emitShutdownResolved(ctx: CoordinatorCtx, memberId: string, requestId: string, accepted: boolean): Promise<void>;
38
+ //# sourceMappingURL=shutdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shutdown.d.ts","sourceRoot":"","sources":["../../src/team/shutdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAO5E;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CA2DlB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,cAAc,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CASf;AAMD;;;GAGG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,aAAa,EACtB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CAQf"}
@@ -0,0 +1,161 @@
1
+ /**
2
+ * Task Board
3
+ *
4
+ * Manages team members and tasks with a dependency-aware lifecycle.
5
+ *
6
+ * The `TaskBoardStore` interface is the persistence contract — hosts
7
+ * swap in whatever backing store they need (in-memory, Redis, etc.).
8
+ * `TaskBoard` wraps the store and adds the behavioral logic: creation
9
+ * with dependency resolution, claiming, status transitions, and
10
+ * cascading unblock / cancel when dependencies complete or fail.
11
+ *
12
+ * Design choices vs the CLI version:
13
+ * - Added explicit `"claimed"` status (CLI jumped straight from pending → running)
14
+ * - `refreshDependents()` is recursive — cascading failures propagate fully
15
+ * - All mutations return `TaskTransition[]` so the coordinator can publish events
16
+ * - Store interface is minimal (CRUD); board owns all business rules
17
+ */
18
+ import type { TaskStatus, TaskResult, TaskTransition, TeamMember, TeamTask } from "./types.js";
19
+ export declare class TaskConflictError extends Error {
20
+ readonly taskId?: string | undefined;
21
+ constructor(message: string, taskId?: string | undefined);
22
+ }
23
+ /**
24
+ * Filter options for listing tasks.
25
+ */
26
+ export interface TaskListFilter {
27
+ memberId?: string;
28
+ status?: TaskStatus | TaskStatus[];
29
+ limit?: number;
30
+ }
31
+ /**
32
+ * Persistence contract for task board data.
33
+ *
34
+ * Implementations must be safe for concurrent calls from the
35
+ * coordinator (which may dispatch multiple tasks in parallel).
36
+ * The in-memory implementation is inherently single-threaded;
37
+ * a Redis or database implementation should use optimistic
38
+ * locking or transactions.
39
+ */
40
+ export interface TaskBoardStore {
41
+ /** Optional startup hook (open connections, etc.) */
42
+ start?(): Promise<void>;
43
+ /** Optional shutdown hook (close connections, etc.) */
44
+ stop?(): Promise<void>;
45
+ listMembers(): Promise<TeamMember[]>;
46
+ getMember(memberId: string): Promise<TeamMember | undefined>;
47
+ putMember(member: TeamMember): Promise<TeamMember>;
48
+ listTasks(filter?: TaskListFilter): Promise<TeamTask[]>;
49
+ getTask(taskId: string): Promise<TeamTask | undefined>;
50
+ putTask(task: TeamTask): Promise<TeamTask>;
51
+ }
52
+ /**
53
+ * Input for creating a new task.
54
+ */
55
+ export interface TaskCreateInput {
56
+ id: string;
57
+ title: string;
58
+ prompt: string;
59
+ memberId?: string;
60
+ dependsOn?: string[];
61
+ }
62
+ /**
63
+ * Simple in-memory store — suitable for single-process teams.
64
+ */
65
+ export declare class InMemoryTaskBoardStore implements TaskBoardStore {
66
+ private readonly members;
67
+ private readonly tasks;
68
+ listMembers(): Promise<TeamMember[]>;
69
+ getMember(memberId: string): Promise<TeamMember | undefined>;
70
+ putMember(member: TeamMember): Promise<TeamMember>;
71
+ listTasks(filter?: TaskListFilter): Promise<TeamTask[]>;
72
+ getTask(taskId: string): Promise<TeamTask | undefined>;
73
+ putTask(task: TeamTask): Promise<TeamTask>;
74
+ }
75
+ /**
76
+ * Task board — manages task lifecycle with dependency tracking.
77
+ *
78
+ * All mutating methods return the affected task(s) plus any
79
+ * `TaskTransition` records triggered by the change (cascading
80
+ * unblocks, cancellations, etc.).
81
+ */
82
+ export declare class TaskBoard {
83
+ private readonly store;
84
+ constructor(store: TaskBoardStore);
85
+ start(): Promise<void>;
86
+ stop(): Promise<void>;
87
+ listMembers(): Promise<TeamMember[]>;
88
+ getMember(id: string): Promise<TeamMember | undefined>;
89
+ listTasks(filter?: TaskListFilter): Promise<TeamTask[]>;
90
+ getTask(id: string): Promise<TeamTask | undefined>;
91
+ snapshot(): Promise<{
92
+ members: TeamMember[];
93
+ tasks: TeamTask[];
94
+ }>;
95
+ putMember(member: TeamMember): Promise<TeamMember>;
96
+ /**
97
+ * Create a new task. Its initial status is computed from dependencies:
98
+ * `"pending"` if all deps are met, `"blocked"` otherwise, or
99
+ * `"cancelled"` if a dependency already failed.
100
+ */
101
+ createTask(input: TaskCreateInput): Promise<{
102
+ task: TeamTask;
103
+ transitions: TaskTransition[];
104
+ }>;
105
+ /**
106
+ * Claim a pending task for a member. Moves status to `"claimed"`.
107
+ */
108
+ claimTask(taskId: string, memberId: string): Promise<TeamTask>;
109
+ /**
110
+ * Claim the next available pending task for a member.
111
+ * Prefers tasks already assigned to this member, then unassigned tasks.
112
+ */
113
+ claimNextTask(memberId: string): Promise<TeamTask | undefined>;
114
+ /**
115
+ * Mark a claimed task as running with a run reference.
116
+ */
117
+ startTask(taskId: string, runId: string): Promise<TeamTask>;
118
+ /**
119
+ * Complete a running task with a result.
120
+ * Cascades: blocked dependents may become pending or cancelled.
121
+ */
122
+ completeTask(taskId: string, result: TaskResult): Promise<{
123
+ task: TeamTask;
124
+ transitions: TaskTransition[];
125
+ }>;
126
+ /**
127
+ * Fail a running task.
128
+ * Cascades: blocked dependents may be cancelled.
129
+ */
130
+ failTask(taskId: string, error: string): Promise<{
131
+ task: TeamTask;
132
+ transitions: TaskTransition[];
133
+ }>;
134
+ /**
135
+ * Abort a claimed or running task without cascading dependency failure.
136
+ *
137
+ * Downstream tasks remain blocked so the host can retry or replace the
138
+ * aborted prerequisite explicitly.
139
+ */
140
+ abortTask(taskId: string, reason?: string): Promise<{
141
+ task: TeamTask;
142
+ transitions: TaskTransition[];
143
+ }>;
144
+ /**
145
+ * Cancel a task (at any non-terminal status).
146
+ * Cascades: blocked dependents may be cancelled.
147
+ */
148
+ cancelTask(taskId: string, reason?: string): Promise<{
149
+ task: TeamTask;
150
+ transitions: TaskTransition[];
151
+ }>;
152
+ /**
153
+ * Re-evaluate all blocked tasks against current dependency state.
154
+ * Called automatically after complete/fail/cancel, but can also
155
+ * be called manually for batch operations.
156
+ */
157
+ refreshDependents(): Promise<TaskTransition[]>;
158
+ private requireTask;
159
+ private retryOnConflict;
160
+ }
161
+ //# sourceMappingURL=task-board.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-board.d.ts","sourceRoot":"","sources":["../../src/team/task-board.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,233 @@
1
+ /**
2
+ * Team Types
3
+ *
4
+ * Shared vocabulary for multi-agent team coordination.
5
+ *
6
+ * A team is a group of agents working toward a shared goal
7
+ * under a coordinator. Each member is a forked agent with a
8
+ * role, and work is tracked as structured tasks with
9
+ * dependencies.
10
+ *
11
+ * These types are deliberately framework-agnostic — no React,
12
+ * no CLI, no filesystem. Hosts wire concrete stores.
13
+ */
14
+ import type { TokenUsage } from "../types/messages.js";
15
+ /**
16
+ * Possible member lifecycle states.
17
+ *
18
+ * ```
19
+ * idle ──→ busy ──→ idle (task completed)
20
+ * │ │
21
+ * ├──→ shutting-down ├──→ shutting-down ──→ offline
22
+ * │ │
23
+ * └──→ offline └──→ offline
24
+ * ```
25
+ */
26
+ export type MemberStatus = "idle" | "busy" | "shutting-down" | "offline";
27
+ /**
28
+ * A registered team member.
29
+ *
30
+ * Each member maps 1:1 to a forked agent instance. The coordinator
31
+ * creates and owns the record; the member agent is unaware of it.
32
+ */
33
+ export interface TeamMember {
34
+ /** Stable identifier — usually matches the role name */
35
+ id: string;
36
+ /** Name of the role this member was created from */
37
+ role: string;
38
+ /** Human-readable description of the member's specialty */
39
+ description: string;
40
+ /** Session ID used for this member's agent conversations */
41
+ sessionId: string;
42
+ /** Current lifecycle state */
43
+ status: MemberStatus;
44
+ /** Task currently assigned to this member (if busy) */
45
+ activeTaskId?: string;
46
+ /** ISO timestamp of registration */
47
+ createdAt: string;
48
+ /** ISO timestamp of last status change */
49
+ updatedAt: string;
50
+ }
51
+ /**
52
+ * Task lifecycle states.
53
+ *
54
+ * ```
55
+ * ┌───────────┐
56
+ * │ blocked │ ← has unfinished dependencies
57
+ * └─────┬─────┘
58
+ * │ deps complete
59
+ * ▼
60
+ * ┌───────────┐ ┌───────────┐
61
+ * │ pending │────→│ claimed │
62
+ * └─────┬─────┘ └─────┬─────┘
63
+ * │ │ member starts work
64
+ * ▼ ▼
65
+ * ┌───────────┐ ┌───────────┐
66
+ * │ cancelled │ │ running │
67
+ * └───────────┘ └─────┬─────┘
68
+ * │
69
+ * ┌────┴────┐
70
+ * ▼ ▼
71
+ * ┌──────────┐ ┌──────────┐
72
+ * │ completed │ │ failed │
73
+ * └──────────┘ └──────────┘
74
+ * ```
75
+ */
76
+ export type TaskStatus = "blocked" | "pending" | "claimed" | "running" | "completed" | "aborted" | "failed" | "cancelled";
77
+ /** Status values that indicate a terminal state (no further transitions). */
78
+ export declare const TERMINAL_STATUSES: readonly TaskStatus[];
79
+ /**
80
+ * Result of a completed task.
81
+ */
82
+ export interface TaskResult {
83
+ /** The agent's final response text */
84
+ response: string;
85
+ /** Token usage for the entire task run */
86
+ usage?: TokenUsage;
87
+ /** Tool calls the agent made during the run */
88
+ toolCalls?: Array<{
89
+ name: string;
90
+ result: unknown;
91
+ }>;
92
+ }
93
+ /**
94
+ * A unit of work assigned to a team member.
95
+ */
96
+ export interface TeamTask {
97
+ /** Unique task identifier */
98
+ id: string;
99
+ /** Member assigned to this task (undefined = unassigned) */
100
+ memberId?: string;
101
+ /** Short label for display */
102
+ title: string;
103
+ /** Full task description / prompt given to the member agent */
104
+ prompt: string;
105
+ /** Current lifecycle status */
106
+ status: TaskStatus;
107
+ /** Task IDs that must complete before this task can start */
108
+ dependsOn?: string[];
109
+ /** ISO timestamp when a member claimed this task */
110
+ claimedAt?: string;
111
+ /** Execution/run identifier for the active attempt */
112
+ runId?: string;
113
+ /** ISO timestamp of creation */
114
+ createdAt: string;
115
+ /** ISO timestamp of last status change */
116
+ updatedAt: string;
117
+ /** Result (only present when status is "completed") */
118
+ result?: TaskResult;
119
+ /** Error message (only present when status is "failed" or "cancelled") */
120
+ error?: string;
121
+ }
122
+ /**
123
+ * Message routing kind.
124
+ *
125
+ * - `direct` — one sender to one recipient
126
+ * - `broadcast` — one sender to all members
127
+ * - `system` — generated by the coordinator (task transitions, etc.)
128
+ */
129
+ export type MessageKind = "direct" | "broadcast" | "system";
130
+ /**
131
+ * Structured message payloads — typed alternatives to plain text.
132
+ *
133
+ * Messages with a `payload` carry machine-readable data that the
134
+ * coordinator and member work loops can act on programmatically.
135
+ * The `body` field still contains a human-readable summary.
136
+ */
137
+ export type MessagePayload = ShutdownRequestPayload | ShutdownResponsePayload | PermissionRequestPayload | PermissionResponsePayload | IdleNotificationPayload | GuidancePayload | WorkerReportPayload;
138
+ /** Coordinator asks a member to shut down. */
139
+ export interface ShutdownRequestPayload {
140
+ kind: "shutdown-request";
141
+ requestId: string;
142
+ reason?: string;
143
+ }
144
+ /** Member responds to a shutdown request. */
145
+ export interface ShutdownResponsePayload {
146
+ kind: "shutdown-response";
147
+ requestId: string;
148
+ accepted: boolean;
149
+ /** Why the member rejected (e.g. "mid-task") */
150
+ reason?: string;
151
+ }
152
+ /** Member asks coordinator for tool permission. */
153
+ export interface PermissionRequestPayload {
154
+ kind: "permission-request";
155
+ requestId: string;
156
+ tool: string;
157
+ args: unknown;
158
+ memberId: string;
159
+ }
160
+ /** Coordinator responds to a permission request. */
161
+ export interface PermissionResponsePayload {
162
+ kind: "permission-response";
163
+ requestId: string;
164
+ decision: "allow" | "deny";
165
+ reason?: string;
166
+ }
167
+ /** Member notifies coordinator it's idle and available for work. */
168
+ export interface IdleNotificationPayload {
169
+ kind: "idle-notification";
170
+ reason: "available" | "task-completed" | "task-failed" | "interrupted";
171
+ taskId?: string;
172
+ }
173
+ /** Coordinator sends guidance to a member. */
174
+ export interface GuidancePayload {
175
+ kind: "guidance";
176
+ taskId?: string;
177
+ }
178
+ /** Worker sends a mid-task report to the coordinator. */
179
+ export interface WorkerReportPayload {
180
+ kind: "worker-report";
181
+ taskId?: string;
182
+ }
183
+ /**
184
+ * A message exchanged within the team.
185
+ */
186
+ export interface TeamMessage {
187
+ /** Unique message identifier */
188
+ id: string;
189
+ /** Team this message belongs to */
190
+ teamId: string;
191
+ /** Sender (member ID, "coordinator", or "system") */
192
+ from: string;
193
+ /** Recipient member ID (undefined for broadcast/system) */
194
+ to?: string;
195
+ /** Routing kind */
196
+ kind: MessageKind;
197
+ /** Message body (human-readable summary) */
198
+ body: string;
199
+ /**
200
+ * Structured payload for machine-readable messages.
201
+ * When present, the `body` is a human-readable summary and
202
+ * the payload carries the typed data.
203
+ */
204
+ payload?: MessagePayload;
205
+ /** Related task ID (if contextual) */
206
+ taskId?: string;
207
+ /** ISO timestamp */
208
+ createdAt: string;
209
+ /** Arbitrary metadata */
210
+ metadata?: Record<string, string>;
211
+ }
212
+ /**
213
+ * Point-in-time view of the full team state.
214
+ */
215
+ export interface TeamSnapshot {
216
+ members: TeamMember[];
217
+ tasks: TeamTask[];
218
+ messages: TeamMessage[];
219
+ }
220
+ /**
221
+ * Why a task changed status — used by the coordinator to publish
222
+ * lifecycle events after mutations.
223
+ */
224
+ export type TaskTransitionReason = "created" | "claimed" | "started" | "completed" | "aborted" | "failed" | "cancelled" | "unblocked" | "blocked-dependency-failed";
225
+ /**
226
+ * Record of a single task status change.
227
+ */
228
+ export interface TaskTransition {
229
+ task: TeamTask;
230
+ reason: TaskTransitionReason;
231
+ previous?: TaskStatus;
232
+ }
233
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/team/types.ts"],"names":[],"mappings":"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"}