@namzu/sdk 49.0.0 → 50.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 (737) hide show
  1. package/CHANGELOG.md +507 -0
  2. package/README.md +137 -125
  3. package/dist/agents/QueryAgent.d.ts.map +1 -1
  4. package/dist/agents/QueryAgent.js +1 -0
  5. package/dist/agents/QueryAgent.js.map +1 -1
  6. package/dist/agents/examples/SupervisorAgent.d.ts.map +1 -1
  7. package/dist/agents/examples/SupervisorAgent.js +1 -0
  8. package/dist/agents/examples/SupervisorAgent.js.map +1 -1
  9. package/dist/agents/runAgent.d.ts +2 -0
  10. package/dist/agents/runAgent.d.ts.map +1 -1
  11. package/dist/agents/runAgent.js +1 -0
  12. package/dist/agents/runAgent.js.map +1 -1
  13. package/dist/authorization/shell-lexer.d.ts.map +1 -1
  14. package/dist/authorization/shell-lexer.js +16 -1
  15. package/dist/authorization/shell-lexer.js.map +1 -1
  16. package/dist/bridge/acp/permission.d.ts +8 -2
  17. package/dist/bridge/acp/permission.d.ts.map +1 -1
  18. package/dist/bridge/acp/permission.js +1 -0
  19. package/dist/bridge/acp/permission.js.map +1 -1
  20. package/dist/bridge/acp/server.d.ts +25 -1
  21. package/dist/bridge/acp/server.d.ts.map +1 -1
  22. package/dist/bridge/acp/server.js +205 -21
  23. package/dist/bridge/acp/server.js.map +1 -1
  24. package/dist/bridge/acp/tasks.d.ts +5 -0
  25. package/dist/bridge/acp/tasks.d.ts.map +1 -0
  26. package/dist/bridge/acp/tasks.js +19 -0
  27. package/dist/bridge/acp/tasks.js.map +1 -0
  28. package/dist/bridge/acp/update.d.ts.map +1 -1
  29. package/dist/bridge/acp/update.js +148 -13
  30. package/dist/bridge/acp/update.js.map +1 -1
  31. package/dist/config/runtime.d.ts +31 -31
  32. package/dist/connector/mcp/adapter.d.ts.map +1 -1
  33. package/dist/connector/mcp/adapter.js +11 -4
  34. package/dist/connector/mcp/adapter.js.map +1 -1
  35. package/dist/connector/mcp/client.d.ts.map +1 -1
  36. package/dist/connector/mcp/client.js +6 -3
  37. package/dist/connector/mcp/client.js.map +1 -1
  38. package/dist/constants/acp/index.d.ts +3 -0
  39. package/dist/constants/acp/index.d.ts.map +1 -1
  40. package/dist/constants/acp/index.js +3 -0
  41. package/dist/constants/acp/index.js.map +1 -1
  42. package/dist/contracts/a2a.d.ts +80 -80
  43. package/dist/contracts/schemas.d.ts +2 -2
  44. package/dist/contracts/session/schemas.d.ts +10 -10
  45. package/dist/manager/agent/lifecycle.d.ts +11 -0
  46. package/dist/manager/agent/lifecycle.d.ts.map +1 -1
  47. package/dist/manager/agent/lifecycle.js +178 -3
  48. package/dist/manager/agent/lifecycle.js.map +1 -1
  49. package/dist/manager/plan/lifecycle.d.ts +7 -8
  50. package/dist/manager/plan/lifecycle.d.ts.map +1 -1
  51. package/dist/manager/plan/lifecycle.js +7 -8
  52. package/dist/manager/plan/lifecycle.js.map +1 -1
  53. package/dist/manager/resident/consumption.d.ts +8 -8
  54. package/dist/manager/resident/learning-cycle.d.ts +2 -2
  55. package/dist/manager/resident/learning-observation.d.ts +12 -12
  56. package/dist/manager/resident/learning.d.ts +82 -82
  57. package/dist/manager/resident/outbox.d.ts +8 -8
  58. package/dist/manager/resident/proposal.d.ts +2 -2
  59. package/dist/manager/resident/store.d.ts +10 -10
  60. package/dist/manager/session/attribution.d.ts +1 -0
  61. package/dist/manager/session/attribution.d.ts.map +1 -1
  62. package/dist/manager/session/attribution.js +9 -1
  63. package/dist/manager/session/attribution.js.map +1 -1
  64. package/dist/manager/session/streamed-message-identity.d.ts +6 -0
  65. package/dist/manager/session/streamed-message-identity.d.ts.map +1 -0
  66. package/dist/manager/session/streamed-message-identity.js +14 -0
  67. package/dist/manager/session/streamed-message-identity.js.map +1 -0
  68. package/dist/manager/session/turn-recorder.d.ts.map +1 -1
  69. package/dist/manager/session/turn-recorder.js +4 -3
  70. package/dist/manager/session/turn-recorder.js.map +1 -1
  71. package/dist/pals/activity/causality.d.ts +23 -0
  72. package/dist/pals/activity/causality.d.ts.map +1 -0
  73. package/dist/pals/activity/causality.js +205 -0
  74. package/dist/pals/activity/causality.js.map +1 -0
  75. package/dist/pals/activity/projection.d.ts +5 -0
  76. package/dist/pals/activity/projection.d.ts.map +1 -0
  77. package/dist/pals/activity/projection.js +79 -0
  78. package/dist/pals/activity/projection.js.map +1 -0
  79. package/dist/pals/activity/source.d.ts +16 -0
  80. package/dist/pals/activity/source.d.ts.map +1 -0
  81. package/dist/pals/activity/source.js +235 -0
  82. package/dist/pals/activity/source.js.map +1 -0
  83. package/dist/pals/activity/subscription-policy.d.ts +38 -0
  84. package/dist/pals/activity/subscription-policy.d.ts.map +1 -0
  85. package/dist/pals/activity/subscription-policy.js +183 -0
  86. package/dist/pals/activity/subscription-policy.js.map +1 -0
  87. package/dist/pals/activity/subscription-schema.d.ts +353 -0
  88. package/dist/pals/activity/subscription-schema.d.ts.map +1 -0
  89. package/dist/pals/activity/subscription-schema.js +24 -0
  90. package/dist/pals/activity/subscription-schema.js.map +1 -0
  91. package/dist/pals/activity/subscription-store.d.ts +25 -0
  92. package/dist/pals/activity/subscription-store.d.ts.map +1 -0
  93. package/dist/pals/activity/subscription-store.js +152 -0
  94. package/dist/pals/activity/subscription-store.js.map +1 -0
  95. package/dist/pals/activity/subscription-types.d.ts +42 -0
  96. package/dist/pals/activity/subscription-types.d.ts.map +1 -0
  97. package/dist/pals/activity/subscription-types.js +2 -0
  98. package/dist/pals/activity/subscription-types.js.map +1 -0
  99. package/dist/pals/activity/subscriptions.d.ts +32 -0
  100. package/dist/pals/activity/subscriptions.d.ts.map +1 -0
  101. package/dist/pals/activity/subscriptions.js +151 -0
  102. package/dist/pals/activity/subscriptions.js.map +1 -0
  103. package/dist/pals/activity/types.d.ts +77 -0
  104. package/dist/pals/activity/types.d.ts.map +1 -0
  105. package/dist/pals/activity/types.js +2 -0
  106. package/dist/pals/activity/types.js.map +1 -0
  107. package/dist/pals/channels/ingress.d.ts +9 -0
  108. package/dist/pals/channels/ingress.d.ts.map +1 -0
  109. package/dist/pals/channels/ingress.js +131 -0
  110. package/dist/pals/channels/ingress.js.map +1 -0
  111. package/dist/pals/channels/routes.d.ts +20 -0
  112. package/dist/pals/channels/routes.d.ts.map +1 -0
  113. package/dist/pals/channels/routes.js +111 -0
  114. package/dist/pals/channels/routes.js.map +1 -0
  115. package/dist/pals/channels/routing.d.ts +37 -0
  116. package/dist/pals/channels/routing.d.ts.map +1 -0
  117. package/dist/pals/channels/routing.js +150 -0
  118. package/dist/pals/channels/routing.js.map +1 -0
  119. package/dist/pals/channels/schema.d.ts +234 -0
  120. package/dist/pals/channels/schema.d.ts.map +1 -0
  121. package/dist/pals/channels/schema.js +94 -0
  122. package/dist/pals/channels/schema.js.map +1 -0
  123. package/dist/pals/channels/types.d.ts +115 -0
  124. package/dist/pals/channels/types.d.ts.map +1 -0
  125. package/dist/pals/channels/types.js +2 -0
  126. package/dist/pals/channels/types.js.map +1 -0
  127. package/dist/pals/communication/broker.d.ts +8 -0
  128. package/dist/pals/communication/broker.d.ts.map +1 -0
  129. package/dist/pals/communication/broker.js +121 -0
  130. package/dist/pals/communication/broker.js.map +1 -0
  131. package/dist/pals/communication/dispatch.d.ts +4 -0
  132. package/dist/pals/communication/dispatch.d.ts.map +1 -0
  133. package/dist/pals/communication/dispatch.js +57 -0
  134. package/dist/pals/communication/dispatch.js.map +1 -0
  135. package/dist/pals/communication/inbound.d.ts +9 -0
  136. package/dist/pals/communication/inbound.d.ts.map +1 -0
  137. package/dist/pals/communication/inbound.js +155 -0
  138. package/dist/pals/communication/inbound.js.map +1 -0
  139. package/dist/pals/communication/ingress-dispatch.d.ts +5 -0
  140. package/dist/pals/communication/ingress-dispatch.d.ts.map +1 -0
  141. package/dist/pals/communication/ingress-dispatch.js +51 -0
  142. package/dist/pals/communication/ingress-dispatch.js.map +1 -0
  143. package/dist/pals/communication/ingress-inbound.d.ts +9 -0
  144. package/dist/pals/communication/ingress-inbound.d.ts.map +1 -0
  145. package/dist/pals/communication/ingress-inbound.js +222 -0
  146. package/dist/pals/communication/ingress-inbound.js.map +1 -0
  147. package/dist/pals/communication/ingress-schema.d.ts +7829 -0
  148. package/dist/pals/communication/ingress-schema.d.ts.map +1 -0
  149. package/dist/pals/communication/ingress-schema.js +479 -0
  150. package/dist/pals/communication/ingress-schema.js.map +1 -0
  151. package/dist/pals/communication/ingress-types.d.ts +187 -0
  152. package/dist/pals/communication/ingress-types.d.ts.map +1 -0
  153. package/dist/pals/communication/ingress-types.js +73 -0
  154. package/dist/pals/communication/ingress-types.js.map +1 -0
  155. package/dist/pals/communication/operator.d.ts +75 -0
  156. package/dist/pals/communication/operator.d.ts.map +1 -0
  157. package/dist/pals/communication/operator.js +217 -0
  158. package/dist/pals/communication/operator.js.map +1 -0
  159. package/dist/pals/communication/policy.d.ts +41 -0
  160. package/dist/pals/communication/policy.d.ts.map +1 -0
  161. package/dist/pals/communication/policy.js +138 -0
  162. package/dist/pals/communication/policy.js.map +1 -0
  163. package/dist/pals/communication/schema.d.ts +2000 -0
  164. package/dist/pals/communication/schema.d.ts.map +1 -0
  165. package/dist/pals/communication/schema.js +170 -0
  166. package/dist/pals/communication/schema.js.map +1 -0
  167. package/dist/pals/communication/store.d.ts +61 -0
  168. package/dist/pals/communication/store.d.ts.map +1 -0
  169. package/dist/pals/communication/store.js +450 -0
  170. package/dist/pals/communication/store.js.map +1 -0
  171. package/dist/pals/communication/tools.d.ts +23 -0
  172. package/dist/pals/communication/tools.d.ts.map +1 -0
  173. package/dist/pals/communication/tools.js +107 -0
  174. package/dist/pals/communication/tools.js.map +1 -0
  175. package/dist/pals/communication/types.d.ts +168 -0
  176. package/dist/pals/communication/types.d.ts.map +1 -0
  177. package/dist/pals/communication/types.js +24 -0
  178. package/dist/pals/communication/types.js.map +1 -0
  179. package/dist/pals/communication/verify.d.ts +22 -0
  180. package/dist/pals/communication/verify.d.ts.map +1 -0
  181. package/dist/pals/communication/verify.js +142 -0
  182. package/dist/pals/communication/verify.js.map +1 -0
  183. package/dist/pals/lifecycle.d.ts +37 -0
  184. package/dist/pals/lifecycle.d.ts.map +1 -0
  185. package/dist/pals/lifecycle.js +22 -0
  186. package/dist/pals/lifecycle.js.map +1 -0
  187. package/dist/pals/prompt.d.ts +30 -0
  188. package/dist/pals/prompt.d.ts.map +1 -0
  189. package/dist/pals/prompt.js +65 -0
  190. package/dist/pals/prompt.js.map +1 -0
  191. package/dist/pals/reference-images.d.ts +44 -0
  192. package/dist/pals/reference-images.d.ts.map +1 -0
  193. package/dist/pals/reference-images.js +248 -0
  194. package/dist/pals/reference-images.js.map +1 -0
  195. package/dist/pals/runtime.d.ts +46 -0
  196. package/dist/pals/runtime.d.ts.map +1 -0
  197. package/dist/pals/runtime.js +624 -0
  198. package/dist/pals/runtime.js.map +1 -0
  199. package/dist/pals/store.d.ts +26 -0
  200. package/dist/pals/store.d.ts.map +1 -0
  201. package/dist/pals/store.js +334 -0
  202. package/dist/pals/store.js.map +1 -0
  203. package/dist/pals/types.d.ts +145 -0
  204. package/dist/pals/types.d.ts.map +1 -0
  205. package/dist/pals/types.js +2 -0
  206. package/dist/pals/types.js.map +1 -0
  207. package/dist/peers/envelope.js +1 -1
  208. package/dist/peers/envelope.js.map +1 -1
  209. package/dist/peers/protocol.d.ts +83 -83
  210. package/dist/peers/record.d.ts +10 -10
  211. package/dist/plugin/shell-hook.d.ts.map +1 -1
  212. package/dist/plugin/shell-hook.js +7 -2
  213. package/dist/plugin/shell-hook.js.map +1 -1
  214. package/dist/process/kill-tree.d.ts.map +1 -1
  215. package/dist/process/kill-tree.js +9 -1
  216. package/dist/process/kill-tree.js.map +1 -1
  217. package/dist/provider/errors.d.ts +19 -0
  218. package/dist/provider/errors.d.ts.map +1 -1
  219. package/dist/provider/errors.js +123 -2
  220. package/dist/provider/errors.js.map +1 -1
  221. package/dist/public-runtime.d.ts +41 -13
  222. package/dist/public-runtime.d.ts.map +1 -1
  223. package/dist/public-runtime.js +35 -7
  224. package/dist/public-runtime.js.map +1 -1
  225. package/dist/public-tools.d.ts +8 -3
  226. package/dist/public-tools.d.ts.map +1 -1
  227. package/dist/public-tools.js +8 -3
  228. package/dist/public-tools.js.map +1 -1
  229. package/dist/public-types.d.ts +27 -7
  230. package/dist/public-types.d.ts.map +1 -1
  231. package/dist/registry/tool/presentation.d.ts +1 -0
  232. package/dist/registry/tool/presentation.d.ts.map +1 -1
  233. package/dist/registry/tool/presentation.js +9 -7
  234. package/dist/registry/tool/presentation.js.map +1 -1
  235. package/dist/runtime/harness-session/index.d.ts +5 -0
  236. package/dist/runtime/harness-session/index.d.ts.map +1 -0
  237. package/dist/runtime/harness-session/index.js +928 -0
  238. package/dist/runtime/harness-session/index.js.map +1 -0
  239. package/dist/runtime/harness-session/journal.d.ts +37 -0
  240. package/dist/runtime/harness-session/journal.d.ts.map +1 -0
  241. package/dist/runtime/harness-session/journal.js +177 -0
  242. package/dist/runtime/harness-session/journal.js.map +1 -0
  243. package/dist/runtime/harness-session/saved-view.d.ts +8 -0
  244. package/dist/runtime/harness-session/saved-view.d.ts.map +1 -0
  245. package/dist/runtime/harness-session/saved-view.js +112 -0
  246. package/dist/runtime/harness-session/saved-view.js.map +1 -0
  247. package/dist/runtime/jobs/awaited-jobs.d.ts +2 -1
  248. package/dist/runtime/jobs/awaited-jobs.d.ts.map +1 -1
  249. package/dist/runtime/jobs/awaited-jobs.js +2 -1
  250. package/dist/runtime/jobs/awaited-jobs.js.map +1 -1
  251. package/dist/runtime/jobs/registry.d.ts +56 -1
  252. package/dist/runtime/jobs/registry.d.ts.map +1 -1
  253. package/dist/runtime/jobs/registry.js +351 -34
  254. package/dist/runtime/jobs/registry.js.map +1 -1
  255. package/dist/runtime/query/abandon-turn.d.ts +12 -1
  256. package/dist/runtime/query/abandon-turn.d.ts.map +1 -1
  257. package/dist/runtime/query/abandon-turn.js +3 -1
  258. package/dist/runtime/query/abandon-turn.js.map +1 -1
  259. package/dist/runtime/query/checkpoint.d.ts +4 -0
  260. package/dist/runtime/query/checkpoint.d.ts.map +1 -1
  261. package/dist/runtime/query/checkpoint.js +10 -0
  262. package/dist/runtime/query/checkpoint.js.map +1 -1
  263. package/dist/runtime/query/durable-inbound.d.ts +5 -0
  264. package/dist/runtime/query/durable-inbound.d.ts.map +1 -0
  265. package/dist/runtime/query/durable-inbound.js +89 -0
  266. package/dist/runtime/query/durable-inbound.js.map +1 -0
  267. package/dist/runtime/query/events.d.ts +4 -0
  268. package/dist/runtime/query/events.d.ts.map +1 -1
  269. package/dist/runtime/query/events.js +22 -5
  270. package/dist/runtime/query/events.js.map +1 -1
  271. package/dist/runtime/query/executor/tool-call-admission.d.ts +5 -1
  272. package/dist/runtime/query/executor/tool-call-admission.d.ts.map +1 -1
  273. package/dist/runtime/query/executor/tool-call-admission.js +85 -13
  274. package/dist/runtime/query/executor/tool-call-admission.js.map +1 -1
  275. package/dist/runtime/query/executor.d.ts +41 -18
  276. package/dist/runtime/query/executor.d.ts.map +1 -1
  277. package/dist/runtime/query/executor.js +227 -114
  278. package/dist/runtime/query/executor.js.map +1 -1
  279. package/dist/runtime/query/index.d.ts +3 -0
  280. package/dist/runtime/query/index.d.ts.map +1 -1
  281. package/dist/runtime/query/index.js +21 -4
  282. package/dist/runtime/query/index.js.map +1 -1
  283. package/dist/runtime/query/iteration/index.d.ts +18 -6
  284. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  285. package/dist/runtime/query/iteration/index.js +144 -67
  286. package/dist/runtime/query/iteration/index.js.map +1 -1
  287. package/dist/runtime/query/iteration/outstanding-work.d.ts +9 -5
  288. package/dist/runtime/query/iteration/outstanding-work.d.ts.map +1 -1
  289. package/dist/runtime/query/iteration/outstanding-work.js +61 -6
  290. package/dist/runtime/query/iteration/outstanding-work.js.map +1 -1
  291. package/dist/runtime/query/iteration/phases/context.d.ts +4 -0
  292. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  293. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  294. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  295. package/dist/runtime/query/iteration/phases/tool-review.js +99 -16
  296. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  297. package/dist/runtime/query/observation-context.d.ts +2 -2
  298. package/dist/runtime/query/observation-context.d.ts.map +1 -1
  299. package/dist/runtime/query/observation-context.js +20 -13
  300. package/dist/runtime/query/observation-context.js.map +1 -1
  301. package/dist/runtime/query/prepare-turn.js +2 -2
  302. package/dist/runtime/query/prepare-turn.js.map +1 -1
  303. package/dist/runtime/query/prompt-cache.d.ts +1 -0
  304. package/dist/runtime/query/prompt-cache.d.ts.map +1 -1
  305. package/dist/runtime/query/prompt-cache.js +2 -0
  306. package/dist/runtime/query/prompt-cache.js.map +1 -1
  307. package/dist/runtime/query/prompt.d.ts +2 -0
  308. package/dist/runtime/query/prompt.d.ts.map +1 -1
  309. package/dist/runtime/query/prompt.js +23 -1
  310. package/dist/runtime/query/prompt.js.map +1 -1
  311. package/dist/runtime/query/repeat-call.d.ts +12 -3
  312. package/dist/runtime/query/repeat-call.d.ts.map +1 -1
  313. package/dist/runtime/query/repeat-call.js +33 -10
  314. package/dist/runtime/query/repeat-call.js.map +1 -1
  315. package/dist/runtime/query/resume-pending.d.ts +5 -6
  316. package/dist/runtime/query/resume-pending.d.ts.map +1 -1
  317. package/dist/runtime/query/resume-pending.js +30 -3
  318. package/dist/runtime/query/resume-pending.js.map +1 -1
  319. package/dist/runtime/query/resume-session.js +1 -1
  320. package/dist/runtime/query/resume-session.js.map +1 -1
  321. package/dist/runtime/query/review-policy.d.ts +8 -1
  322. package/dist/runtime/query/review-policy.d.ts.map +1 -1
  323. package/dist/runtime/query/review-policy.js +6 -0
  324. package/dist/runtime/query/review-policy.js.map +1 -1
  325. package/dist/runtime/query/saved-presentation.d.ts +13 -0
  326. package/dist/runtime/query/saved-presentation.d.ts.map +1 -0
  327. package/dist/runtime/query/saved-presentation.js +63 -0
  328. package/dist/runtime/query/saved-presentation.js.map +1 -0
  329. package/dist/runtime/query/steering.d.ts +6 -9
  330. package/dist/runtime/query/steering.d.ts.map +1 -1
  331. package/dist/runtime/query/steering.js.map +1 -1
  332. package/dist/runtime/query/tool-executions.d.ts +7 -3
  333. package/dist/runtime/query/tool-executions.d.ts.map +1 -1
  334. package/dist/runtime/query/tool-executions.js +89 -9
  335. package/dist/runtime/query/tool-executions.js.map +1 -1
  336. package/dist/runtime/query/tooling.d.ts +3 -1
  337. package/dist/runtime/query/tooling.d.ts.map +1 -1
  338. package/dist/runtime/query/tooling.js +3 -0
  339. package/dist/runtime/query/tooling.js.map +1 -1
  340. package/dist/scheduler/completion-inbox.d.ts +25 -1
  341. package/dist/scheduler/completion-inbox.d.ts.map +1 -1
  342. package/dist/scheduler/completion-inbox.js +102 -8
  343. package/dist/scheduler/completion-inbox.js.map +1 -1
  344. package/dist/scheduler/delegating.d.ts.map +1 -1
  345. package/dist/scheduler/delegating.js +5 -0
  346. package/dist/scheduler/delegating.js.map +1 -1
  347. package/dist/scheduler/local.d.ts.map +1 -1
  348. package/dist/scheduler/local.js +2 -0
  349. package/dist/scheduler/local.js.map +1 -1
  350. package/dist/session/summary/materialize.d.ts +10 -6
  351. package/dist/session/summary/materialize.d.ts.map +1 -1
  352. package/dist/session/summary/materialize.js +41 -8
  353. package/dist/session/summary/materialize.js.map +1 -1
  354. package/dist/store/budget/ledger.d.ts +9 -0
  355. package/dist/store/budget/ledger.d.ts.map +1 -1
  356. package/dist/store/budget/ledger.js +58 -6
  357. package/dist/store/budget/ledger.js.map +1 -1
  358. package/dist/store/evidence/index-page.d.ts +12 -12
  359. package/dist/store/evidence/source-text.d.ts +4 -4
  360. package/dist/store/session/disk.d.ts +9 -4
  361. package/dist/store/session/disk.d.ts.map +1 -1
  362. package/dist/store/session/disk.js +57 -11
  363. package/dist/store/session/disk.js.map +1 -1
  364. package/dist/store/session/memory.d.ts +5 -3
  365. package/dist/store/session/memory.d.ts.map +1 -1
  366. package/dist/store/session/memory.js +24 -7
  367. package/dist/store/session/memory.js.map +1 -1
  368. package/dist/store/session-log/core.d.ts +26 -6
  369. package/dist/store/session-log/core.d.ts.map +1 -1
  370. package/dist/store/session-log/core.js +61 -8
  371. package/dist/store/session-log/core.js.map +1 -1
  372. package/dist/store/session-log/disk.d.ts +2 -2
  373. package/dist/store/session-log/disk.d.ts.map +1 -1
  374. package/dist/store/session-log/disk.js +1 -0
  375. package/dist/store/session-log/disk.js.map +1 -1
  376. package/dist/store/session-log/fold.d.ts +7 -0
  377. package/dist/store/session-log/fold.d.ts.map +1 -1
  378. package/dist/store/session-log/fold.js +21 -0
  379. package/dist/store/session-log/fold.js.map +1 -1
  380. package/dist/store/session-log/index.d.ts +5 -3
  381. package/dist/store/session-log/index.d.ts.map +1 -1
  382. package/dist/store/session-log/index.js +3 -1
  383. package/dist/store/session-log/index.js.map +1 -1
  384. package/dist/store/session-log/memory.d.ts +1 -1
  385. package/dist/store/session-log/memory.d.ts.map +1 -1
  386. package/dist/store/session-log/memory.js +1 -0
  387. package/dist/store/session-log/memory.js.map +1 -1
  388. package/dist/store/session-log/spill.d.ts +10 -3
  389. package/dist/store/session-log/spill.d.ts.map +1 -1
  390. package/dist/store/session-log/spill.js +70 -5
  391. package/dist/store/session-log/spill.js.map +1 -1
  392. package/dist/store/session-log/structured-result.d.ts +21 -0
  393. package/dist/store/session-log/structured-result.d.ts.map +1 -0
  394. package/dist/store/session-log/structured-result.js +67 -0
  395. package/dist/store/session-log/structured-result.js.map +1 -0
  396. package/dist/store/task/disk.d.ts +11 -0
  397. package/dist/store/task/disk.d.ts.map +1 -1
  398. package/dist/store/task/disk.js +41 -2
  399. package/dist/store/task/disk.js.map +1 -1
  400. package/dist/store/task/memory.d.ts.map +1 -1
  401. package/dist/store/task/memory.js +15 -3
  402. package/dist/store/task/memory.js.map +1 -1
  403. package/dist/tools/admit-facts.d.ts +13 -0
  404. package/dist/tools/admit-facts.d.ts.map +1 -0
  405. package/dist/tools/admit-facts.js +142 -0
  406. package/dist/tools/admit-facts.js.map +1 -0
  407. package/dist/tools/builtins/bash.d.ts +4 -1
  408. package/dist/tools/builtins/bash.d.ts.map +1 -1
  409. package/dist/tools/builtins/bash.js +108 -22
  410. package/dist/tools/builtins/bash.js.map +1 -1
  411. package/dist/tools/builtins/browser.d.ts +10 -10
  412. package/dist/tools/builtins/computer-use.d.ts +90 -90
  413. package/dist/tools/builtins/edit.d.ts +17 -0
  414. package/dist/tools/builtins/edit.d.ts.map +1 -1
  415. package/dist/tools/builtins/edit.js +34 -0
  416. package/dist/tools/builtins/edit.js.map +1 -1
  417. package/dist/tools/builtins/file-write-result.d.ts.map +1 -1
  418. package/dist/tools/builtins/file-write-result.js +13 -0
  419. package/dist/tools/builtins/file-write-result.js.map +1 -1
  420. package/dist/tools/builtins/glob.d.ts.map +1 -1
  421. package/dist/tools/builtins/glob.js +12 -0
  422. package/dist/tools/builtins/glob.js.map +1 -1
  423. package/dist/tools/builtins/grep.d.ts.map +1 -1
  424. package/dist/tools/builtins/grep.js +14 -0
  425. package/dist/tools/builtins/grep.js.map +1 -1
  426. package/dist/tools/builtins/index.d.ts +2 -0
  427. package/dist/tools/builtins/index.d.ts.map +1 -1
  428. package/dist/tools/builtins/index.js +1 -0
  429. package/dist/tools/builtins/index.js.map +1 -1
  430. package/dist/tools/builtins/job.d.ts.map +1 -1
  431. package/dist/tools/builtins/job.js +4 -1
  432. package/dist/tools/builtins/job.js.map +1 -1
  433. package/dist/tools/builtins/lsp.d.ts +2 -2
  434. package/dist/tools/builtins/read-file.d.ts.map +1 -1
  435. package/dist/tools/builtins/read-file.js +49 -0
  436. package/dist/tools/builtins/read-file.js.map +1 -1
  437. package/dist/tools/builtins/view-image.d.ts +24 -0
  438. package/dist/tools/builtins/view-image.d.ts.map +1 -0
  439. package/dist/tools/builtins/view-image.js +385 -0
  440. package/dist/tools/builtins/view-image.js.map +1 -0
  441. package/dist/tools/builtins/wait-for-job-bounds.d.ts +2 -0
  442. package/dist/tools/builtins/wait-for-job-bounds.d.ts.map +1 -1
  443. package/dist/tools/builtins/wait-for-job-bounds.js +1 -0
  444. package/dist/tools/builtins/wait-for-job-bounds.js.map +1 -1
  445. package/dist/tools/builtins/wait-for-job.d.ts +2 -0
  446. package/dist/tools/builtins/wait-for-job.d.ts.map +1 -1
  447. package/dist/tools/builtins/wait-for-job.js +104 -6
  448. package/dist/tools/builtins/wait-for-job.js.map +1 -1
  449. package/dist/tools/builtins/write-file.d.ts.map +1 -1
  450. package/dist/tools/builtins/write-file.js +1 -0
  451. package/dist/tools/builtins/write-file.js.map +1 -1
  452. package/dist/tools/command-shell.d.ts +37 -2
  453. package/dist/tools/command-shell.d.ts.map +1 -1
  454. package/dist/tools/command-shell.js +100 -3
  455. package/dist/tools/command-shell.js.map +1 -1
  456. package/dist/tools/coordinator/agent.d.ts +9 -19
  457. package/dist/tools/coordinator/agent.d.ts.map +1 -1
  458. package/dist/tools/coordinator/agent.js.map +1 -1
  459. package/dist/tools/coordinator/index.d.ts.map +1 -1
  460. package/dist/tools/coordinator/index.js +127 -67
  461. package/dist/tools/coordinator/index.js.map +1 -1
  462. package/dist/tools/coordinator/wait-with-idle-bound.d.ts +2 -0
  463. package/dist/tools/coordinator/wait-with-idle-bound.d.ts.map +1 -1
  464. package/dist/tools/coordinator/wait-with-idle-bound.js +1 -1
  465. package/dist/tools/coordinator/wait-with-idle-bound.js.map +1 -1
  466. package/dist/tools/defineTool.d.ts.map +1 -1
  467. package/dist/tools/defineTool.js +4 -0
  468. package/dist/tools/defineTool.js.map +1 -1
  469. package/dist/tools/failure-facts.d.ts +8 -0
  470. package/dist/tools/failure-facts.d.ts.map +1 -0
  471. package/dist/tools/failure-facts.js +24 -0
  472. package/dist/tools/failure-facts.js.map +1 -0
  473. package/dist/tools/host-output.d.ts +24 -0
  474. package/dist/tools/host-output.d.ts.map +1 -0
  475. package/dist/tools/host-output.js +117 -0
  476. package/dist/tools/host-output.js.map +1 -0
  477. package/dist/tools/oem-code-pages.d.ts +8 -0
  478. package/dist/tools/oem-code-pages.d.ts.map +1 -0
  479. package/dist/tools/oem-code-pages.js +23 -0
  480. package/dist/tools/oem-code-pages.js.map +1 -0
  481. package/dist/tools/schedules/schedule-tool.d.ts.map +1 -1
  482. package/dist/tools/schedules/schedule-tool.js +35 -6
  483. package/dist/tools/schedules/schedule-tool.js.map +1 -1
  484. package/dist/tools/schedules/types.d.ts +23 -3
  485. package/dist/tools/schedules/types.d.ts.map +1 -1
  486. package/dist/tools/task/list.d.ts.map +1 -1
  487. package/dist/tools/task/list.js +14 -6
  488. package/dist/tools/task/list.js.map +1 -1
  489. package/dist/tools/task/present.d.ts.map +1 -1
  490. package/dist/tools/task/present.js +26 -6
  491. package/dist/tools/task/present.js.map +1 -1
  492. package/dist/tools/task/update.d.ts.map +1 -1
  493. package/dist/tools/task/update.js +12 -5
  494. package/dist/tools/task/update.js.map +1 -1
  495. package/dist/tools/text-window.d.ts +19 -0
  496. package/dist/tools/text-window.d.ts.map +1 -0
  497. package/dist/tools/text-window.js +83 -0
  498. package/dist/tools/text-window.js.map +1 -0
  499. package/dist/toolsets/manager.d.ts +11 -0
  500. package/dist/toolsets/manager.d.ts.map +1 -1
  501. package/dist/toolsets/manager.js +45 -1
  502. package/dist/toolsets/manager.js.map +1 -1
  503. package/dist/types/acp/index.d.ts +137 -1
  504. package/dist/types/acp/index.d.ts.map +1 -1
  505. package/dist/types/agent/base.d.ts +3 -0
  506. package/dist/types/agent/base.d.ts.map +1 -1
  507. package/dist/types/agent/manager.d.ts +8 -23
  508. package/dist/types/agent/manager.d.ts.map +1 -1
  509. package/dist/types/agent/scheduler.d.ts +10 -1
  510. package/dist/types/agent/scheduler.d.ts.map +1 -1
  511. package/dist/types/agent/task.d.ts +4 -0
  512. package/dist/types/agent/task.d.ts.map +1 -1
  513. package/dist/types/authorization/index.d.ts +30 -30
  514. package/dist/types/connector/mcp.d.ts +7 -0
  515. package/dist/types/connector/mcp.d.ts.map +1 -1
  516. package/dist/types/errors/catalog.d.ts.map +1 -1
  517. package/dist/types/errors/catalog.js +4 -2
  518. package/dist/types/errors/catalog.js.map +1 -1
  519. package/dist/types/harness/schema.d.ts +354 -0
  520. package/dist/types/harness/schema.d.ts.map +1 -0
  521. package/dist/types/harness/schema.js +203 -0
  522. package/dist/types/harness/schema.js.map +1 -0
  523. package/dist/types/harness/session.d.ts +278 -0
  524. package/dist/types/harness/session.d.ts.map +1 -0
  525. package/dist/types/harness/session.js +2 -0
  526. package/dist/types/harness/session.js.map +1 -0
  527. package/dist/types/hitl/index.d.ts +12 -0
  528. package/dist/types/hitl/index.d.ts.map +1 -1
  529. package/dist/types/hitl/index.js.map +1 -1
  530. package/dist/types/job/index.d.ts +47 -0
  531. package/dist/types/job/index.d.ts.map +1 -0
  532. package/dist/types/job/index.js +2 -0
  533. package/dist/types/job/index.js.map +1 -0
  534. package/dist/types/message/inbound-delivery.d.ts +44 -0
  535. package/dist/types/message/inbound-delivery.d.ts.map +1 -0
  536. package/dist/types/message/inbound-delivery.js +14 -0
  537. package/dist/types/message/inbound-delivery.js.map +1 -0
  538. package/dist/types/message/index.d.ts +4 -1
  539. package/dist/types/message/index.d.ts.map +1 -1
  540. package/dist/types/message/index.js +5 -1
  541. package/dist/types/message/index.js.map +1 -1
  542. package/dist/types/plugin/index.d.ts +6 -6
  543. package/dist/types/sandbox/index.d.ts +39 -2
  544. package/dist/types/sandbox/index.d.ts.map +1 -1
  545. package/dist/types/sandbox/index.js.map +1 -1
  546. package/dist/types/session/checkpoint.d.ts +24 -17
  547. package/dist/types/session/checkpoint.d.ts.map +1 -1
  548. package/dist/types/session/checkpoint.js +1 -0
  549. package/dist/types/session/checkpoint.js.map +1 -1
  550. package/dist/types/session/events.d.ts +23 -1
  551. package/dist/types/session/events.d.ts.map +1 -1
  552. package/dist/types/session/events.js.map +1 -1
  553. package/dist/types/session/records.d.ts +1514 -565
  554. package/dist/types/session/records.d.ts.map +1 -1
  555. package/dist/types/session/records.js +89 -1
  556. package/dist/types/session/records.js.map +1 -1
  557. package/dist/types/session/step.d.ts +2 -0
  558. package/dist/types/session/step.d.ts.map +1 -1
  559. package/dist/types/session/step.js.map +1 -1
  560. package/dist/types/session/store.d.ts +19 -10
  561. package/dist/types/session/store.d.ts.map +1 -1
  562. package/dist/types/session/tool-execution.d.ts +6 -0
  563. package/dist/types/session/tool-execution.d.ts.map +1 -1
  564. package/dist/types/structured-output/index.d.ts +12 -2
  565. package/dist/types/structured-output/index.d.ts.map +1 -1
  566. package/dist/types/summary/ref.d.ts +3 -1
  567. package/dist/types/summary/ref.d.ts.map +1 -1
  568. package/dist/types/tool/index.d.ts +32 -4
  569. package/dist/types/tool/index.d.ts.map +1 -1
  570. package/dist/types/tool/index.js.map +1 -1
  571. package/dist/types/tool/presentation.d.ts +106 -0
  572. package/dist/types/tool/presentation.d.ts.map +1 -1
  573. package/dist/utils/json-snapshot.d.ts +6 -2
  574. package/dist/utils/json-snapshot.d.ts.map +1 -1
  575. package/dist/utils/json-snapshot.js +19 -9
  576. package/dist/utils/json-snapshot.js.map +1 -1
  577. package/dist/utils/structured-result-json.d.ts +5 -0
  578. package/dist/utils/structured-result-json.d.ts.map +1 -0
  579. package/dist/utils/structured-result-json.js +10 -0
  580. package/dist/utils/structured-result-json.js.map +1 -0
  581. package/package.json +1 -1
  582. package/src/agents/QueryAgent.ts +1 -0
  583. package/src/agents/examples/SupervisorAgent.ts +1 -0
  584. package/src/agents/runAgent.ts +3 -0
  585. package/src/authorization/shell-lexer.ts +16 -1
  586. package/src/bridge/acp/permission.ts +17 -3
  587. package/src/bridge/acp/server.ts +271 -25
  588. package/src/bridge/acp/tasks.ts +23 -0
  589. package/src/bridge/acp/update.ts +167 -13
  590. package/src/connector/mcp/adapter.ts +16 -4
  591. package/src/connector/mcp/client.ts +6 -2
  592. package/src/constants/acp/index.ts +4 -0
  593. package/src/manager/agent/lifecycle.ts +230 -3
  594. package/src/manager/plan/lifecycle.ts +11 -9
  595. package/src/manager/session/attribution.ts +12 -2
  596. package/src/manager/session/streamed-message-identity.ts +21 -0
  597. package/src/manager/session/turn-recorder.ts +4 -3
  598. package/src/pals/activity/causality.ts +261 -0
  599. package/src/pals/activity/projection.ts +89 -0
  600. package/src/pals/activity/source.ts +240 -0
  601. package/src/pals/activity/subscription-policy.ts +230 -0
  602. package/src/pals/activity/subscription-schema.ts +27 -0
  603. package/src/pals/activity/subscription-store.ts +172 -0
  604. package/src/pals/activity/subscription-types.ts +48 -0
  605. package/src/pals/activity/subscriptions.ts +209 -0
  606. package/src/pals/activity/types.ts +108 -0
  607. package/src/pals/channels/ingress.ts +153 -0
  608. package/src/pals/channels/routes.ts +118 -0
  609. package/src/pals/channels/routing.ts +197 -0
  610. package/src/pals/channels/schema.ts +108 -0
  611. package/src/pals/channels/types.ts +156 -0
  612. package/src/pals/communication/broker.ts +131 -0
  613. package/src/pals/communication/dispatch.ts +66 -0
  614. package/src/pals/communication/inbound.ts +193 -0
  615. package/src/pals/communication/ingress-dispatch.ts +63 -0
  616. package/src/pals/communication/ingress-inbound.ts +269 -0
  617. package/src/pals/communication/ingress-schema.ts +526 -0
  618. package/src/pals/communication/ingress-types.ts +336 -0
  619. package/src/pals/communication/operator.ts +315 -0
  620. package/src/pals/communication/policy.ts +174 -0
  621. package/src/pals/communication/schema.ts +173 -0
  622. package/src/pals/communication/store.ts +577 -0
  623. package/src/pals/communication/tools.ts +139 -0
  624. package/src/pals/communication/types.ts +227 -0
  625. package/src/pals/communication/verify.ts +220 -0
  626. package/src/pals/lifecycle.ts +54 -0
  627. package/src/pals/prompt.ts +101 -0
  628. package/src/pals/reference-images.ts +322 -0
  629. package/src/pals/runtime.ts +670 -0
  630. package/src/pals/store.ts +369 -0
  631. package/src/pals/types.ts +157 -0
  632. package/src/peers/envelope.ts +1 -1
  633. package/src/plugin/shell-hook.ts +8 -2
  634. package/src/process/kill-tree.ts +10 -1
  635. package/src/provider/errors.ts +135 -2
  636. package/src/public-runtime.ts +117 -12
  637. package/src/public-tools.ts +13 -1
  638. package/src/public-types.ts +69 -7
  639. package/src/registry/tool/presentation.ts +9 -4
  640. package/src/runtime/harness-session/index.ts +1125 -0
  641. package/src/runtime/harness-session/journal.ts +209 -0
  642. package/src/runtime/harness-session/saved-view.ts +122 -0
  643. package/src/runtime/jobs/awaited-jobs.ts +2 -1
  644. package/src/runtime/jobs/registry.ts +397 -41
  645. package/src/runtime/query/abandon-turn.ts +18 -2
  646. package/src/runtime/query/checkpoint.ts +11 -0
  647. package/src/runtime/query/durable-inbound.ts +101 -0
  648. package/src/runtime/query/events.ts +22 -5
  649. package/src/runtime/query/executor/tool-call-admission.ts +125 -32
  650. package/src/runtime/query/executor.ts +316 -130
  651. package/src/runtime/query/index.ts +24 -4
  652. package/src/runtime/query/iteration/index.ts +218 -104
  653. package/src/runtime/query/iteration/outstanding-work.ts +55 -7
  654. package/src/runtime/query/iteration/phases/context.ts +4 -0
  655. package/src/runtime/query/iteration/phases/tool-review.ts +118 -21
  656. package/src/runtime/query/observation-context.ts +22 -16
  657. package/src/runtime/query/prepare-turn.ts +2 -2
  658. package/src/runtime/query/prompt-cache.ts +3 -0
  659. package/src/runtime/query/prompt.ts +32 -1
  660. package/src/runtime/query/repeat-call.ts +40 -10
  661. package/src/runtime/query/resume-pending.ts +60 -7
  662. package/src/runtime/query/resume-session.ts +1 -1
  663. package/src/runtime/query/review-policy.ts +23 -2
  664. package/src/runtime/query/saved-presentation.ts +70 -0
  665. package/src/runtime/query/steering.ts +6 -9
  666. package/src/runtime/query/tool-executions.ts +108 -9
  667. package/src/runtime/query/tooling.ts +6 -1
  668. package/src/scheduler/completion-inbox.ts +108 -7
  669. package/src/scheduler/delegating.ts +5 -0
  670. package/src/scheduler/local.ts +2 -0
  671. package/src/session/summary/materialize.ts +51 -9
  672. package/src/store/budget/ledger.ts +60 -5
  673. package/src/store/session/disk.ts +77 -10
  674. package/src/store/session/memory.ts +32 -7
  675. package/src/store/session-log/core.ts +118 -11
  676. package/src/store/session-log/disk.ts +9 -2
  677. package/src/store/session-log/fold.ts +22 -0
  678. package/src/store/session-log/index.ts +5 -0
  679. package/src/store/session-log/memory.ts +2 -1
  680. package/src/store/session-log/spill.ts +89 -6
  681. package/src/store/session-log/structured-result.ts +96 -0
  682. package/src/store/task/disk.ts +46 -2
  683. package/src/store/task/memory.ts +13 -3
  684. package/src/tools/admit-facts.ts +145 -0
  685. package/src/tools/builtins/bash.ts +132 -24
  686. package/src/tools/builtins/edit.ts +42 -0
  687. package/src/tools/builtins/file-write-result.ts +14 -0
  688. package/src/tools/builtins/glob.ts +12 -0
  689. package/src/tools/builtins/grep.ts +14 -0
  690. package/src/tools/builtins/index.ts +2 -0
  691. package/src/tools/builtins/job.ts +4 -1
  692. package/src/tools/builtins/read-file.ts +57 -0
  693. package/src/tools/builtins/view-image.ts +409 -0
  694. package/src/tools/builtins/wait-for-job-bounds.ts +3 -0
  695. package/src/tools/builtins/wait-for-job.ts +141 -32
  696. package/src/tools/builtins/write-file.ts +4 -2
  697. package/src/tools/command-shell.ts +132 -5
  698. package/src/tools/coordinator/agent.ts +9 -19
  699. package/src/tools/coordinator/index.ts +150 -75
  700. package/src/tools/coordinator/wait-with-idle-bound.ts +3 -1
  701. package/src/tools/defineTool.ts +4 -0
  702. package/src/tools/failure-facts.ts +24 -0
  703. package/src/tools/host-output.ts +136 -0
  704. package/src/tools/oem-code-pages.ts +22 -0
  705. package/src/tools/schedules/schedule-tool.ts +38 -5
  706. package/src/tools/schedules/types.ts +23 -3
  707. package/src/tools/task/list.ts +15 -7
  708. package/src/tools/task/present.ts +37 -7
  709. package/src/tools/task/update.ts +12 -5
  710. package/src/tools/text-window.ts +87 -0
  711. package/src/toolsets/manager.ts +58 -1
  712. package/src/types/acp/index.ts +150 -4
  713. package/src/types/agent/base.ts +3 -0
  714. package/src/types/agent/manager.ts +8 -23
  715. package/src/types/agent/scheduler.ts +10 -1
  716. package/src/types/agent/task.ts +4 -0
  717. package/src/types/connector/mcp.ts +7 -0
  718. package/src/types/errors/catalog.ts +4 -2
  719. package/src/types/harness/schema.ts +203 -0
  720. package/src/types/harness/session.ts +306 -0
  721. package/src/types/hitl/index.ts +17 -1
  722. package/src/types/job/index.ts +42 -0
  723. package/src/types/message/inbound-delivery.ts +63 -0
  724. package/src/types/message/index.ts +8 -1
  725. package/src/types/sandbox/index.ts +46 -0
  726. package/src/types/session/checkpoint.ts +4 -1
  727. package/src/types/session/events.ts +23 -1
  728. package/src/types/session/records.ts +114 -2
  729. package/src/types/session/step.ts +2 -0
  730. package/src/types/session/store.ts +23 -9
  731. package/src/types/session/tool-execution.ts +6 -0
  732. package/src/types/structured-output/index.ts +13 -2
  733. package/src/types/summary/ref.ts +3 -1
  734. package/src/types/tool/index.ts +39 -5
  735. package/src/types/tool/presentation.ts +121 -0
  736. package/src/utils/json-snapshot.ts +26 -9
  737. package/src/utils/structured-result-json.ts +10 -0
@@ -17,6 +17,7 @@ export declare const TurnConfigSchema: z.ZodObject<{
17
17
  systemPrompt: z.ZodOptional<z.ZodString>;
18
18
  }, "strict", z.ZodTypeAny, {
19
19
  model?: string | undefined;
20
+ permissionMode?: "plan" | "auto" | undefined;
20
21
  timeoutMs?: number | undefined;
21
22
  temperature?: number | undefined;
22
23
  tokenBudget?: number | undefined;
@@ -24,9 +25,9 @@ export declare const TurnConfigSchema: z.ZodObject<{
24
25
  systemPrompt?: string | undefined;
25
26
  streamIdleTimeoutMs?: number | undefined;
26
27
  maxRequestRichContentBytes?: number | undefined;
27
- permissionMode?: "plan" | "auto" | undefined;
28
28
  }, {
29
29
  model?: string | undefined;
30
+ permissionMode?: "plan" | "auto" | undefined;
30
31
  timeoutMs?: number | undefined;
31
32
  temperature?: number | undefined;
32
33
  tokenBudget?: number | undefined;
@@ -34,7 +35,6 @@ export declare const TurnConfigSchema: z.ZodObject<{
34
35
  systemPrompt?: string | undefined;
35
36
  streamIdleTimeoutMs?: number | undefined;
36
37
  maxRequestRichContentBytes?: number | undefined;
37
- permissionMode?: "plan" | "auto" | undefined;
38
38
  }>;
39
39
  /** `POST /sessions/{id}/turns`. The session id comes from the path, not the body. */
40
40
  export declare const CreateTurnSchema: z.ZodObject<{
@@ -51,6 +51,7 @@ export declare const CreateTurnSchema: z.ZodObject<{
51
51
  systemPrompt: z.ZodOptional<z.ZodString>;
52
52
  }, "strict", z.ZodTypeAny, {
53
53
  model?: string | undefined;
54
+ permissionMode?: "plan" | "auto" | undefined;
54
55
  timeoutMs?: number | undefined;
55
56
  temperature?: number | undefined;
56
57
  tokenBudget?: number | undefined;
@@ -58,9 +59,9 @@ export declare const CreateTurnSchema: z.ZodObject<{
58
59
  systemPrompt?: string | undefined;
59
60
  streamIdleTimeoutMs?: number | undefined;
60
61
  maxRequestRichContentBytes?: number | undefined;
61
- permissionMode?: "plan" | "auto" | undefined;
62
62
  }, {
63
63
  model?: string | undefined;
64
+ permissionMode?: "plan" | "auto" | undefined;
64
65
  timeoutMs?: number | undefined;
65
66
  temperature?: number | undefined;
66
67
  tokenBudget?: number | undefined;
@@ -68,7 +69,6 @@ export declare const CreateTurnSchema: z.ZodObject<{
68
69
  systemPrompt?: string | undefined;
69
70
  streamIdleTimeoutMs?: number | undefined;
70
71
  maxRequestRichContentBytes?: number | undefined;
71
- permissionMode?: "plan" | "auto" | undefined;
72
72
  }>;
73
73
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
74
74
  stream: z.ZodOptional<z.ZodBoolean>;
@@ -76,6 +76,7 @@ export declare const CreateTurnSchema: z.ZodObject<{
76
76
  message: string;
77
77
  config: {
78
78
  model?: string | undefined;
79
+ permissionMode?: "plan" | "auto" | undefined;
79
80
  timeoutMs?: number | undefined;
80
81
  temperature?: number | undefined;
81
82
  tokenBudget?: number | undefined;
@@ -83,7 +84,6 @@ export declare const CreateTurnSchema: z.ZodObject<{
83
84
  systemPrompt?: string | undefined;
84
85
  streamIdleTimeoutMs?: number | undefined;
85
86
  maxRequestRichContentBytes?: number | undefined;
86
- permissionMode?: "plan" | "auto" | undefined;
87
87
  };
88
88
  env?: Record<string, string> | undefined;
89
89
  stream?: boolean | undefined;
@@ -91,6 +91,7 @@ export declare const CreateTurnSchema: z.ZodObject<{
91
91
  message: string;
92
92
  config: {
93
93
  model?: string | undefined;
94
+ permissionMode?: "plan" | "auto" | undefined;
94
95
  timeoutMs?: number | undefined;
95
96
  temperature?: number | undefined;
96
97
  tokenBudget?: number | undefined;
@@ -98,7 +99,6 @@ export declare const CreateTurnSchema: z.ZodObject<{
98
99
  systemPrompt?: string | undefined;
99
100
  streamIdleTimeoutMs?: number | undefined;
100
101
  maxRequestRichContentBytes?: number | undefined;
101
- permissionMode?: "plan" | "auto" | undefined;
102
102
  };
103
103
  env?: Record<string, string> | undefined;
104
104
  stream?: boolean | undefined;
@@ -119,6 +119,7 @@ export declare const CreateEphemeralSessionSchema: z.ZodObject<{
119
119
  systemPrompt: z.ZodOptional<z.ZodString>;
120
120
  }, "strict", z.ZodTypeAny, {
121
121
  model?: string | undefined;
122
+ permissionMode?: "plan" | "auto" | undefined;
122
123
  timeoutMs?: number | undefined;
123
124
  temperature?: number | undefined;
124
125
  tokenBudget?: number | undefined;
@@ -126,9 +127,9 @@ export declare const CreateEphemeralSessionSchema: z.ZodObject<{
126
127
  systemPrompt?: string | undefined;
127
128
  streamIdleTimeoutMs?: number | undefined;
128
129
  maxRequestRichContentBytes?: number | undefined;
129
- permissionMode?: "plan" | "auto" | undefined;
130
130
  }, {
131
131
  model?: string | undefined;
132
+ permissionMode?: "plan" | "auto" | undefined;
132
133
  timeoutMs?: number | undefined;
133
134
  temperature?: number | undefined;
134
135
  tokenBudget?: number | undefined;
@@ -136,13 +137,13 @@ export declare const CreateEphemeralSessionSchema: z.ZodObject<{
136
137
  systemPrompt?: string | undefined;
137
138
  streamIdleTimeoutMs?: number | undefined;
138
139
  maxRequestRichContentBytes?: number | undefined;
139
- permissionMode?: "plan" | "auto" | undefined;
140
140
  }>;
141
141
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
142
142
  }, "strict", z.ZodTypeAny, {
143
143
  message: string;
144
144
  config: {
145
145
  model?: string | undefined;
146
+ permissionMode?: "plan" | "auto" | undefined;
146
147
  timeoutMs?: number | undefined;
147
148
  temperature?: number | undefined;
148
149
  tokenBudget?: number | undefined;
@@ -150,7 +151,6 @@ export declare const CreateEphemeralSessionSchema: z.ZodObject<{
150
151
  systemPrompt?: string | undefined;
151
152
  streamIdleTimeoutMs?: number | undefined;
152
153
  maxRequestRichContentBytes?: number | undefined;
153
- permissionMode?: "plan" | "auto" | undefined;
154
154
  };
155
155
  agent_id: string;
156
156
  env?: Record<string, string> | undefined;
@@ -158,6 +158,7 @@ export declare const CreateEphemeralSessionSchema: z.ZodObject<{
158
158
  message: string;
159
159
  config: {
160
160
  model?: string | undefined;
161
+ permissionMode?: "plan" | "auto" | undefined;
161
162
  timeoutMs?: number | undefined;
162
163
  temperature?: number | undefined;
163
164
  tokenBudget?: number | undefined;
@@ -165,7 +166,6 @@ export declare const CreateEphemeralSessionSchema: z.ZodObject<{
165
166
  systemPrompt?: string | undefined;
166
167
  streamIdleTimeoutMs?: number | undefined;
167
168
  maxRequestRichContentBytes?: number | undefined;
168
- permissionMode?: "plan" | "auto" | undefined;
169
169
  };
170
170
  agent_id: string;
171
171
  env?: Record<string, string> | undefined;
@@ -78,10 +78,15 @@ interface ChildSpawnRecord {
78
78
  parentSessionId: SessionId;
79
79
  /** The parent turn whose tool call spawned the child. */
80
80
  parentTurnId: TurnId;
81
+ /** A follow-up has a new invoking turn; the conversation's origin stays immutable. */
82
+ originParentTurnId?: TurnId;
83
+ /** Rollback must never delete a conversation that existed before this invocation. */
84
+ resumed?: boolean;
81
85
  rootSessionId: SessionId;
82
86
  /** The parent's ancestors and the parent itself, root first: the child's `SessionLocator.ancestors`. */
83
87
  ancestry: readonly SessionId[];
84
88
  childDepth: number;
89
+ childOwnerVersion: number;
85
90
  /**
86
91
  * Where the child's log and meta document were placed, when this manager
87
92
  * placed them (a layout was known and the child named no storage).
@@ -111,6 +116,7 @@ export declare class AgentManager {
111
116
  private registry;
112
117
  private instances;
113
118
  private spawnRecords;
119
+ private readonly childConversations;
114
120
  private completionCallbacks;
115
121
  private listeners;
116
122
  private log;
@@ -201,6 +207,11 @@ export declare class AgentManager {
201
207
  private provisionSpawn;
202
208
  private validateSpawn;
203
209
  private provisionSpawnUnlocked;
210
+ private retainChildConversation;
211
+ private releaseChildConversation;
212
+ /** Called under the same parent provisioning lock as ordinary admission. */
213
+ private provisionContinuation;
214
+ private assertContinuationOwnership;
204
215
  private runChild;
205
216
  /**
206
217
  * Wraps the parent listener so every event relayed from the child session
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/manager/agent/lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/manager/agent/lifecycle.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ import { registerChildSessionLog, writeChildSessionMeta } from './child-session.
20
20
  /** Internal backpressure: the parent's unmeasured request owns its budget until its receipt. */
21
21
  class ParentBudgetRequestPending extends Error {
22
22
  }
23
+ const RETAINED_CHILD_CONVERSATION_CAP = 1_000;
23
24
  /**
24
25
  * Combine a child's own environment with what its parent passed down.
25
26
  *
@@ -126,6 +127,7 @@ export class AgentManager {
126
127
  registry;
127
128
  instances = new Map();
128
129
  spawnRecords = new Map();
130
+ childConversations = new Map();
129
131
  completionCallbacks = new Map();
130
132
  listeners = [];
131
133
  log;
@@ -481,6 +483,7 @@ export class AgentManager {
481
483
  state: 'pending',
482
484
  pendingMessages: queuedTask?.pendingMessages ?? [],
483
485
  createdAt: queuedTask?.createdAt ?? Date.now(),
486
+ childSessionId: spawnRecord.childSessionId,
484
487
  workspace: options.workspace?.mode === 'isolated' ? spawnRecord.workspaceRef : undefined,
485
488
  sessionEventListener: listener,
486
489
  });
@@ -544,6 +547,9 @@ export class AgentManager {
544
547
  'namzu.agent.depth': context.depth,
545
548
  });
546
549
  const definition = this.registry.getOrThrow(options.agentId);
550
+ if (spawnRecord.resumed &&
551
+ definition !== this.childConversations.get(spawnRecord.childSessionId)?.definition)
552
+ throw new Error('Child continuation requires its unchanged agent definition');
547
553
  let childConfig;
548
554
  if (definition.configBuilder) {
549
555
  // Call the configBuilder regardless of whether factoryOptions were
@@ -754,6 +760,9 @@ export class AgentManager {
754
760
  childConfig.sessionLog = childLog;
755
761
  spawnRecord.releaseLog = registerChildSessionLog(childLog);
756
762
  }
763
+ if (!spawnRecord.resumed && childConfig.sessionLog) {
764
+ this.retainChildConversation(spawnRecord, context, childOptions, childConfig.sessionLog);
765
+ }
757
766
  // Outside the branch, like the scope above it and for the same reason:
758
767
  // a `configBuilder` cannot forward a field it was never told about.
759
768
  //
@@ -770,6 +779,11 @@ export class AgentManager {
770
779
  childAbortController.signal.throwIfAborted();
771
780
  await childBudget.flush();
772
781
  childAbortController.signal.throwIfAborted();
782
+ if (spawnRecord.resumed && this.registry.getOrThrow(options.agentId) !== definition)
783
+ throw new Error('Child continuation agent definition changed during admission');
784
+ if (spawnRecord.resumed)
785
+ await this.assertContinuationOwnership(spawnRecord, options.agentId);
786
+ childAbortController.signal.throwIfAborted();
773
787
  this.executingTasks.add(taskId);
774
788
  const runningTask = agentTask;
775
789
  this.runChild(runningTask, childOptions, childConfig, listener)
@@ -790,10 +804,13 @@ export class AgentManager {
790
804
  if (!this.instances.has(taskId) || isTerminalAgentTaskState(runningTask.state)) {
791
805
  await this.failSubSession(spawnRecord);
792
806
  }
793
- else
807
+ else {
808
+ this.releaseChildConversation(spawnRecord);
794
809
  this.markFailed(taskId, toErrorMessage(failure));
810
+ }
795
811
  })
796
812
  .finally(() => {
813
+ this.releaseChildConversation(spawnRecord);
797
814
  this.executingTasks.delete(taskId);
798
815
  if (!this.instances.has(taskId))
799
816
  this.dropSpawnRecord(taskId);
@@ -872,6 +889,22 @@ export class AgentManager {
872
889
  }
873
890
  async rollbackSpawnResources(spawnRecord) {
874
891
  spawnRecord.releaseLog?.();
892
+ if (spawnRecord.resumed) {
893
+ try {
894
+ await this.deps.sessionStore.deleteSubSession(spawnRecord.subSessionId, spawnRecord.tenantId);
895
+ const session = await this.deps.sessionStore.getSession(spawnRecord.childSessionId, spawnRecord.tenantId);
896
+ if (session &&
897
+ session.status === 'active' &&
898
+ session.ownerVersion === spawnRecord.childOwnerVersion) {
899
+ await this.deps.sessionStore.updateSession({ ...session, status: 'idle' }, spawnRecord.tenantId, spawnRecord.childOwnerVersion);
900
+ }
901
+ }
902
+ finally {
903
+ this.releaseChildConversation(spawnRecord);
904
+ }
905
+ return;
906
+ }
907
+ this.childConversations.delete(spawnRecord.childSessionId);
875
908
  // A child that never started leaves no meta document naming it: the
876
909
  // session it describes is being deleted below.
877
910
  if (spawnRecord.placement) {
@@ -880,7 +913,10 @@ export class AgentManager {
880
913
  'exception.message': toErrorMessage(err),
881
914
  }));
882
915
  }
883
- await this.disposeChildWorkspace({ ...spawnRecord, workspaceRetention: undefined });
916
+ await this.disposeChildWorkspace({
917
+ ...spawnRecord,
918
+ workspaceRetention: undefined,
919
+ });
884
920
  try {
885
921
  // The edge must be removed before its child: stores reject deletion
886
922
  // of a session that still has a subsession reference.
@@ -916,7 +952,7 @@ export class AgentManager {
916
952
  kind: 'child-session',
917
953
  sessionId: spawnRecord.childSessionId,
918
954
  parentSessionId: spawnRecord.parentSessionId,
919
- parentTurnId: spawnRecord.parentTurnId,
955
+ parentTurnId: spawnRecord.originParentTurnId ?? spawnRecord.parentTurnId,
920
956
  rootSessionId: spawnRecord.rootSessionId,
921
957
  depth: spawnRecord.childDepth,
922
958
  toolCallId: placement.toolCallId,
@@ -942,6 +978,18 @@ export class AgentManager {
942
978
  * the child's config as it is.
943
979
  */
944
980
  async placeChildSession(spawnRecord, childConfig, context, options, taskId) {
981
+ if (spawnRecord.resumed) {
982
+ const conversation = this.childConversations.get(spawnRecord.childSessionId);
983
+ if (!conversation)
984
+ throw new Error('Child conversation continuation authority is unavailable');
985
+ if (childConfig.sessionLog && childConfig.sessionLog !== conversation.log)
986
+ throw new Error('Child continuation cannot replace its conversation log');
987
+ if (conversation.origin.placement) {
988
+ childConfig.paths = conversation.origin.placement.paths;
989
+ spawnRecord.placement = conversation.origin.placement;
990
+ }
991
+ return conversation.log;
992
+ }
945
993
  if (childConfig.sessionLog !== undefined)
946
994
  return undefined;
947
995
  const inherited = context.childStorage;
@@ -1144,6 +1192,7 @@ export class AgentManager {
1144
1192
  this.cancel(taskId);
1145
1193
  }
1146
1194
  this.instances.clear();
1195
+ this.childConversations.clear();
1147
1196
  for (const taskId of this.spawnRecords.keys())
1148
1197
  if (!this.executingTasks.has(taskId))
1149
1198
  this.dropSpawnRecord(taskId);
@@ -1231,6 +1280,8 @@ export class AgentManager {
1231
1280
  await this.validateSpawn(options, context);
1232
1281
  context.parentAbortController.signal.throwIfAborted();
1233
1282
  const store = this.deps.sessionStore;
1283
+ if (options.resumeSessionId)
1284
+ return this.provisionContinuation(options, context);
1234
1285
  // Ancestry walk gives both the child depth and the root session id
1235
1286
  // attached to every sub-session event from here down.
1236
1287
  const parentAncestry = await store.getAncestry(options.parentSessionId, context.tenantId);
@@ -1355,12 +1406,128 @@ export class AgentManager {
1355
1406
  rootSessionId,
1356
1407
  ancestry: parentAncestry,
1357
1408
  childDepth,
1409
+ childOwnerVersion: childSession.ownerVersion,
1358
1410
  workspaceRef,
1359
1411
  ...(options.workspace?.mode === 'isolated' && options.workspace.retention === 'retain'
1360
1412
  ? { workspaceRetention: 'retain' }
1361
1413
  : {}),
1362
1414
  };
1363
1415
  }
1416
+ retainChildConversation(origin, context, options, log) {
1417
+ // Existing builders may supply an application-managed log addressed to
1418
+ // another session. Preserve that first invocation, but never turn its
1419
+ // history into authority for this admitted child's conversation.
1420
+ if (log.sessionId !== origin.childSessionId)
1421
+ return;
1422
+ // Conversation authority is bounded independently of the heavy task
1423
+ // eviction. Losing a retained entry makes continuation unavailable; it
1424
+ // never reconstructs execution authority from a history file.
1425
+ if (this.childConversations.size >= RETAINED_CHILD_CONVERSATION_CAP) {
1426
+ const oldest = [...this.childConversations].find(([, value]) => !value.activeSubSessionId);
1427
+ if (oldest)
1428
+ this.childConversations.delete(oldest[0]);
1429
+ else
1430
+ return;
1431
+ }
1432
+ this.childConversations.set(origin.childSessionId, {
1433
+ definition: this.registry.getOrThrow(options.agentId),
1434
+ origin,
1435
+ topicId: context.topicId,
1436
+ projectId: context.projectId,
1437
+ cwd: resolve(options.input.workingDirectory ?? process.cwd()),
1438
+ log,
1439
+ activeSubSessionId: origin.subSessionId,
1440
+ });
1441
+ }
1442
+ releaseChildConversation(record) {
1443
+ const conversation = this.childConversations.get(record.childSessionId);
1444
+ if (conversation?.activeSubSessionId !== record.subSessionId)
1445
+ return;
1446
+ conversation.activeSubSessionId = undefined;
1447
+ // An old task's eviction must not unregister the next invocation's log.
1448
+ record.releaseLog?.();
1449
+ record.releaseLog = undefined;
1450
+ }
1451
+ /** Called under the same parent provisioning lock as ordinary admission. */
1452
+ async provisionContinuation(options, context) {
1453
+ const id = options.resumeSessionId;
1454
+ const conversation = id ? this.childConversations.get(id) : undefined;
1455
+ if (!id || !conversation)
1456
+ throw new Error('Child conversation continuation authority is unavailable');
1457
+ const origin = conversation.origin;
1458
+ if (origin.parentSessionId !== options.parentSessionId ||
1459
+ options.parentSessionId !== context.sessionId ||
1460
+ origin.tenantId !== context.tenantId ||
1461
+ conversation.projectId !== context.projectId ||
1462
+ options.projectId !== context.projectId ||
1463
+ conversation.topicId !== context.topicId)
1464
+ throw new Error('Child continuation scope does not match its owning parent');
1465
+ if (conversation.definition !== this.registry.getOrThrow(options.agentId))
1466
+ throw new Error('Child continuation requires its unchanged agent definition');
1467
+ if (conversation.activeSubSessionId)
1468
+ throw new Error('Child conversation is still running or settling');
1469
+ if (origin.workspaceRef || options.workspace?.mode === 'isolated' || options.workspaceBackend)
1470
+ throw new Error('Child continuation requires a shared workspace; isolated leases cannot be resumed');
1471
+ if (resolve(options.input.workingDirectory ?? process.cwd()) !== conversation.cwd)
1472
+ throw new Error('Child continuation cannot change its working directory');
1473
+ const store = this.deps.sessionStore;
1474
+ if (store.supportsInvocationSummaries !== true || store.supportsOwnerVersionCas !== true)
1475
+ throw new Error('Session store does not support child conversation continuation');
1476
+ const child = await store.getSession(id, context.tenantId);
1477
+ if (!child ||
1478
+ child.status === 'archived' ||
1479
+ child.status === 'locked' ||
1480
+ child.ownerVersion !== origin.childOwnerVersion ||
1481
+ child.projectId !== context.projectId ||
1482
+ child.topicId !== context.topicId ||
1483
+ child.currentActor?.kind !== 'agent' ||
1484
+ child.currentActor.agentId !== options.agentId)
1485
+ throw new Error('Child conversation ownership is no longer valid');
1486
+ const edges = await store.getChildren(options.parentSessionId, context.tenantId);
1487
+ if (!edges.some((edge) => edge.id === origin.subSessionId && edge.childSessionId === id))
1488
+ throw new Error('Child conversation origin is no longer attached to this parent');
1489
+ const edge = await store.createSubSession({
1490
+ parentSessionId: options.parentSessionId,
1491
+ childSessionId: id,
1492
+ kind: 'agent_spawn',
1493
+ spawnedBy: context.parentActor,
1494
+ failureMode: 'delegate',
1495
+ completionMode: 'summary_ref',
1496
+ }, context.tenantId);
1497
+ try {
1498
+ context.parentAbortController.signal.throwIfAborted();
1499
+ await store.updateSession({ ...child, status: 'active' }, context.tenantId, origin.childOwnerVersion);
1500
+ }
1501
+ catch (error) {
1502
+ await store.deleteSubSession(edge.id, context.tenantId);
1503
+ throw error;
1504
+ }
1505
+ conversation.activeSubSessionId = edge.id;
1506
+ return {
1507
+ subSessionId: edge.id,
1508
+ childSessionId: id,
1509
+ tenantId: context.tenantId,
1510
+ parentSessionId: origin.parentSessionId,
1511
+ parentTurnId: context.parentTurnId,
1512
+ originParentTurnId: origin.parentTurnId,
1513
+ rootSessionId: origin.rootSessionId,
1514
+ ancestry: origin.ancestry,
1515
+ childDepth: origin.childDepth,
1516
+ childOwnerVersion: origin.childOwnerVersion,
1517
+ ...(origin.placement ? { placement: origin.placement } : {}),
1518
+ resumed: true,
1519
+ };
1520
+ }
1521
+ async assertContinuationOwnership(record, agentId) {
1522
+ const child = await this.deps.sessionStore.getSession(record.childSessionId, record.tenantId);
1523
+ if (!child ||
1524
+ child.ownerVersion !== record.childOwnerVersion ||
1525
+ child.status === 'archived' ||
1526
+ child.status === 'locked' ||
1527
+ child.currentActor?.kind !== 'agent' ||
1528
+ child.currentActor.agentId !== agentId)
1529
+ throw new Error('Child conversation ownership changed during admission');
1530
+ }
1364
1531
  async runChild(agentTask, options, childConfig, listener) {
1365
1532
  this.updateState(agentTask.taskId, 'running');
1366
1533
  this.emit({ type: 'running', taskId: agentTask.taskId });
@@ -1422,6 +1589,8 @@ export class AgentManager {
1422
1589
  const agentSummary = deriveAgentSummary(result);
1423
1590
  const summary = await this.deps.summaryMaterializer.materialize({
1424
1591
  sessionId: spawnRecord.childSessionId,
1592
+ ...(spawnRecord.resumed ? { expectedOwnerVersion: spawnRecord.childOwnerVersion } : {}),
1593
+ ...(spawnRecord.resumed ? { turnId: result.turnId } : {}),
1425
1594
  tenantId: spawnRecord.tenantId,
1426
1595
  finalOutcome: outcome,
1427
1596
  agentSummary,
@@ -1465,10 +1634,16 @@ export class AgentManager {
1465
1634
  'namzu.task.id': agentTask.taskId,
1466
1635
  'exception.message': toErrorMessage(err),
1467
1636
  });
1637
+ // A follow-up must never advertise its original conversation's
1638
+ // stale summary as the completion of this new invocation.
1639
+ if (spawnRecord.resumed)
1640
+ throw err;
1468
1641
  }
1469
1642
  }
1470
1643
  if (spawnRecord)
1471
1644
  await this.settleChildSession(agentTask, spawnRecord, result.status);
1645
+ if (spawnRecord)
1646
+ this.releaseChildConversation(spawnRecord);
1472
1647
  this.markCompleted(agentTask.taskId, result);
1473
1648
  }
1474
1649
  /**