@namzu/sdk 48.3.1 → 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 (838) hide show
  1. package/CHANGELOG.md +542 -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/registry.d.ts +2 -0
  32. package/dist/config/registry.d.ts.map +1 -1
  33. package/dist/config/registry.js +23 -3
  34. package/dist/config/registry.js.map +1 -1
  35. package/dist/config/runtime.d.ts +31 -31
  36. package/dist/connector/mcp/adapter.d.ts.map +1 -1
  37. package/dist/connector/mcp/adapter.js +11 -4
  38. package/dist/connector/mcp/adapter.js.map +1 -1
  39. package/dist/connector/mcp/client.d.ts.map +1 -1
  40. package/dist/connector/mcp/client.js +6 -3
  41. package/dist/connector/mcp/client.js.map +1 -1
  42. package/dist/connector/mcp/discovery.d.ts +9 -5
  43. package/dist/connector/mcp/discovery.d.ts.map +1 -1
  44. package/dist/connector/mcp/discovery.js +16 -8
  45. package/dist/connector/mcp/discovery.js.map +1 -1
  46. package/dist/connector/mcp/mcp-toolset.d.ts +3 -0
  47. package/dist/connector/mcp/mcp-toolset.d.ts.map +1 -1
  48. package/dist/connector/mcp/mcp-toolset.js +20 -2
  49. package/dist/connector/mcp/mcp-toolset.js.map +1 -1
  50. package/dist/connector/mcp/reconnect.d.ts +2 -0
  51. package/dist/connector/mcp/reconnect.d.ts.map +1 -1
  52. package/dist/connector/mcp/reconnect.js +36 -5
  53. package/dist/connector/mcp/reconnect.js.map +1 -1
  54. package/dist/constants/acp/index.d.ts +3 -0
  55. package/dist/constants/acp/index.d.ts.map +1 -1
  56. package/dist/constants/acp/index.js +3 -0
  57. package/dist/constants/acp/index.js.map +1 -1
  58. package/dist/contracts/a2a.d.ts +80 -80
  59. package/dist/contracts/schemas.d.ts +2 -2
  60. package/dist/contracts/session/schemas.d.ts +10 -10
  61. package/dist/manager/agent/lifecycle.d.ts +11 -0
  62. package/dist/manager/agent/lifecycle.d.ts.map +1 -1
  63. package/dist/manager/agent/lifecycle.js +178 -3
  64. package/dist/manager/agent/lifecycle.js.map +1 -1
  65. package/dist/manager/plan/lifecycle.d.ts +7 -8
  66. package/dist/manager/plan/lifecycle.d.ts.map +1 -1
  67. package/dist/manager/plan/lifecycle.js +7 -8
  68. package/dist/manager/plan/lifecycle.js.map +1 -1
  69. package/dist/manager/resident/consumption.d.ts +8 -8
  70. package/dist/manager/resident/learning-cycle.d.ts +2 -2
  71. package/dist/manager/resident/learning-observation.d.ts +12 -12
  72. package/dist/manager/resident/learning.d.ts +82 -82
  73. package/dist/manager/resident/outbox.d.ts +8 -8
  74. package/dist/manager/resident/proposal.d.ts +2 -2
  75. package/dist/manager/resident/store.d.ts +10 -10
  76. package/dist/manager/session/attribution.d.ts +1 -0
  77. package/dist/manager/session/attribution.d.ts.map +1 -1
  78. package/dist/manager/session/attribution.js +9 -1
  79. package/dist/manager/session/attribution.js.map +1 -1
  80. package/dist/manager/session/streamed-message-identity.d.ts +6 -0
  81. package/dist/manager/session/streamed-message-identity.d.ts.map +1 -0
  82. package/dist/manager/session/streamed-message-identity.js +14 -0
  83. package/dist/manager/session/streamed-message-identity.js.map +1 -0
  84. package/dist/manager/session/turn-recorder.d.ts.map +1 -1
  85. package/dist/manager/session/turn-recorder.js +4 -3
  86. package/dist/manager/session/turn-recorder.js.map +1 -1
  87. package/dist/pals/activity/causality.d.ts +23 -0
  88. package/dist/pals/activity/causality.d.ts.map +1 -0
  89. package/dist/pals/activity/causality.js +205 -0
  90. package/dist/pals/activity/causality.js.map +1 -0
  91. package/dist/pals/activity/projection.d.ts +5 -0
  92. package/dist/pals/activity/projection.d.ts.map +1 -0
  93. package/dist/pals/activity/projection.js +79 -0
  94. package/dist/pals/activity/projection.js.map +1 -0
  95. package/dist/pals/activity/source.d.ts +16 -0
  96. package/dist/pals/activity/source.d.ts.map +1 -0
  97. package/dist/pals/activity/source.js +235 -0
  98. package/dist/pals/activity/source.js.map +1 -0
  99. package/dist/pals/activity/subscription-policy.d.ts +38 -0
  100. package/dist/pals/activity/subscription-policy.d.ts.map +1 -0
  101. package/dist/pals/activity/subscription-policy.js +183 -0
  102. package/dist/pals/activity/subscription-policy.js.map +1 -0
  103. package/dist/pals/activity/subscription-schema.d.ts +353 -0
  104. package/dist/pals/activity/subscription-schema.d.ts.map +1 -0
  105. package/dist/pals/activity/subscription-schema.js +24 -0
  106. package/dist/pals/activity/subscription-schema.js.map +1 -0
  107. package/dist/pals/activity/subscription-store.d.ts +25 -0
  108. package/dist/pals/activity/subscription-store.d.ts.map +1 -0
  109. package/dist/pals/activity/subscription-store.js +152 -0
  110. package/dist/pals/activity/subscription-store.js.map +1 -0
  111. package/dist/pals/activity/subscription-types.d.ts +42 -0
  112. package/dist/pals/activity/subscription-types.d.ts.map +1 -0
  113. package/dist/pals/activity/subscription-types.js +2 -0
  114. package/dist/pals/activity/subscription-types.js.map +1 -0
  115. package/dist/pals/activity/subscriptions.d.ts +32 -0
  116. package/dist/pals/activity/subscriptions.d.ts.map +1 -0
  117. package/dist/pals/activity/subscriptions.js +151 -0
  118. package/dist/pals/activity/subscriptions.js.map +1 -0
  119. package/dist/pals/activity/types.d.ts +77 -0
  120. package/dist/pals/activity/types.d.ts.map +1 -0
  121. package/dist/pals/activity/types.js +2 -0
  122. package/dist/pals/activity/types.js.map +1 -0
  123. package/dist/pals/channels/ingress.d.ts +9 -0
  124. package/dist/pals/channels/ingress.d.ts.map +1 -0
  125. package/dist/pals/channels/ingress.js +131 -0
  126. package/dist/pals/channels/ingress.js.map +1 -0
  127. package/dist/pals/channels/routes.d.ts +20 -0
  128. package/dist/pals/channels/routes.d.ts.map +1 -0
  129. package/dist/pals/channels/routes.js +111 -0
  130. package/dist/pals/channels/routes.js.map +1 -0
  131. package/dist/pals/channels/routing.d.ts +37 -0
  132. package/dist/pals/channels/routing.d.ts.map +1 -0
  133. package/dist/pals/channels/routing.js +150 -0
  134. package/dist/pals/channels/routing.js.map +1 -0
  135. package/dist/pals/channels/schema.d.ts +234 -0
  136. package/dist/pals/channels/schema.d.ts.map +1 -0
  137. package/dist/pals/channels/schema.js +94 -0
  138. package/dist/pals/channels/schema.js.map +1 -0
  139. package/dist/pals/channels/types.d.ts +115 -0
  140. package/dist/pals/channels/types.d.ts.map +1 -0
  141. package/dist/pals/channels/types.js +2 -0
  142. package/dist/pals/channels/types.js.map +1 -0
  143. package/dist/pals/communication/broker.d.ts +8 -0
  144. package/dist/pals/communication/broker.d.ts.map +1 -0
  145. package/dist/pals/communication/broker.js +121 -0
  146. package/dist/pals/communication/broker.js.map +1 -0
  147. package/dist/pals/communication/dispatch.d.ts +4 -0
  148. package/dist/pals/communication/dispatch.d.ts.map +1 -0
  149. package/dist/pals/communication/dispatch.js +57 -0
  150. package/dist/pals/communication/dispatch.js.map +1 -0
  151. package/dist/pals/communication/inbound.d.ts +9 -0
  152. package/dist/pals/communication/inbound.d.ts.map +1 -0
  153. package/dist/pals/communication/inbound.js +155 -0
  154. package/dist/pals/communication/inbound.js.map +1 -0
  155. package/dist/pals/communication/ingress-dispatch.d.ts +5 -0
  156. package/dist/pals/communication/ingress-dispatch.d.ts.map +1 -0
  157. package/dist/pals/communication/ingress-dispatch.js +51 -0
  158. package/dist/pals/communication/ingress-dispatch.js.map +1 -0
  159. package/dist/pals/communication/ingress-inbound.d.ts +9 -0
  160. package/dist/pals/communication/ingress-inbound.d.ts.map +1 -0
  161. package/dist/pals/communication/ingress-inbound.js +222 -0
  162. package/dist/pals/communication/ingress-inbound.js.map +1 -0
  163. package/dist/pals/communication/ingress-schema.d.ts +7829 -0
  164. package/dist/pals/communication/ingress-schema.d.ts.map +1 -0
  165. package/dist/pals/communication/ingress-schema.js +479 -0
  166. package/dist/pals/communication/ingress-schema.js.map +1 -0
  167. package/dist/pals/communication/ingress-types.d.ts +187 -0
  168. package/dist/pals/communication/ingress-types.d.ts.map +1 -0
  169. package/dist/pals/communication/ingress-types.js +73 -0
  170. package/dist/pals/communication/ingress-types.js.map +1 -0
  171. package/dist/pals/communication/operator.d.ts +75 -0
  172. package/dist/pals/communication/operator.d.ts.map +1 -0
  173. package/dist/pals/communication/operator.js +217 -0
  174. package/dist/pals/communication/operator.js.map +1 -0
  175. package/dist/pals/communication/policy.d.ts +41 -0
  176. package/dist/pals/communication/policy.d.ts.map +1 -0
  177. package/dist/pals/communication/policy.js +138 -0
  178. package/dist/pals/communication/policy.js.map +1 -0
  179. package/dist/pals/communication/schema.d.ts +2000 -0
  180. package/dist/pals/communication/schema.d.ts.map +1 -0
  181. package/dist/pals/communication/schema.js +170 -0
  182. package/dist/pals/communication/schema.js.map +1 -0
  183. package/dist/pals/communication/store.d.ts +61 -0
  184. package/dist/pals/communication/store.d.ts.map +1 -0
  185. package/dist/pals/communication/store.js +450 -0
  186. package/dist/pals/communication/store.js.map +1 -0
  187. package/dist/pals/communication/tools.d.ts +23 -0
  188. package/dist/pals/communication/tools.d.ts.map +1 -0
  189. package/dist/pals/communication/tools.js +107 -0
  190. package/dist/pals/communication/tools.js.map +1 -0
  191. package/dist/pals/communication/types.d.ts +168 -0
  192. package/dist/pals/communication/types.d.ts.map +1 -0
  193. package/dist/pals/communication/types.js +24 -0
  194. package/dist/pals/communication/types.js.map +1 -0
  195. package/dist/pals/communication/verify.d.ts +22 -0
  196. package/dist/pals/communication/verify.d.ts.map +1 -0
  197. package/dist/pals/communication/verify.js +142 -0
  198. package/dist/pals/communication/verify.js.map +1 -0
  199. package/dist/pals/lifecycle.d.ts +37 -0
  200. package/dist/pals/lifecycle.d.ts.map +1 -0
  201. package/dist/pals/lifecycle.js +22 -0
  202. package/dist/pals/lifecycle.js.map +1 -0
  203. package/dist/pals/prompt.d.ts +30 -0
  204. package/dist/pals/prompt.d.ts.map +1 -0
  205. package/dist/pals/prompt.js +65 -0
  206. package/dist/pals/prompt.js.map +1 -0
  207. package/dist/pals/reference-images.d.ts +44 -0
  208. package/dist/pals/reference-images.d.ts.map +1 -0
  209. package/dist/pals/reference-images.js +248 -0
  210. package/dist/pals/reference-images.js.map +1 -0
  211. package/dist/pals/runtime.d.ts +46 -0
  212. package/dist/pals/runtime.d.ts.map +1 -0
  213. package/dist/pals/runtime.js +624 -0
  214. package/dist/pals/runtime.js.map +1 -0
  215. package/dist/pals/store.d.ts +26 -0
  216. package/dist/pals/store.d.ts.map +1 -0
  217. package/dist/pals/store.js +334 -0
  218. package/dist/pals/store.js.map +1 -0
  219. package/dist/pals/types.d.ts +145 -0
  220. package/dist/pals/types.d.ts.map +1 -0
  221. package/dist/pals/types.js +2 -0
  222. package/dist/pals/types.js.map +1 -0
  223. package/dist/peers/envelope.js +1 -1
  224. package/dist/peers/envelope.js.map +1 -1
  225. package/dist/peers/protocol.d.ts +83 -83
  226. package/dist/peers/record.d.ts +10 -10
  227. package/dist/plugin/lifecycle.d.ts +14 -10
  228. package/dist/plugin/lifecycle.d.ts.map +1 -1
  229. package/dist/plugin/lifecycle.js +178 -41
  230. package/dist/plugin/lifecycle.js.map +1 -1
  231. package/dist/plugin/shell-hook.d.ts.map +1 -1
  232. package/dist/plugin/shell-hook.js +7 -2
  233. package/dist/plugin/shell-hook.js.map +1 -1
  234. package/dist/process/kill-tree.d.ts.map +1 -1
  235. package/dist/process/kill-tree.js +9 -1
  236. package/dist/process/kill-tree.js.map +1 -1
  237. package/dist/prompt/resident-learning.js +2 -2
  238. package/dist/prompt/resident-learning.js.map +1 -1
  239. package/dist/prompt/resident-step.d.ts +2 -2
  240. package/dist/prompt/resident-step.js +4 -4
  241. package/dist/prompt/resident-step.js.map +1 -1
  242. package/dist/provider/errors.d.ts +19 -0
  243. package/dist/provider/errors.d.ts.map +1 -1
  244. package/dist/provider/errors.js +123 -2
  245. package/dist/provider/errors.js.map +1 -1
  246. package/dist/public-runtime.d.ts +43 -15
  247. package/dist/public-runtime.d.ts.map +1 -1
  248. package/dist/public-runtime.js +37 -9
  249. package/dist/public-runtime.js.map +1 -1
  250. package/dist/public-tools.d.ts +8 -3
  251. package/dist/public-tools.d.ts.map +1 -1
  252. package/dist/public-tools.js +8 -3
  253. package/dist/public-tools.js.map +1 -1
  254. package/dist/public-types.d.ts +27 -7
  255. package/dist/public-types.d.ts.map +1 -1
  256. package/dist/registry/tool/presentation.d.ts +1 -0
  257. package/dist/registry/tool/presentation.d.ts.map +1 -1
  258. package/dist/registry/tool/presentation.js +9 -7
  259. package/dist/registry/tool/presentation.js.map +1 -1
  260. package/dist/registry/tool/screen.d.ts.map +1 -1
  261. package/dist/registry/tool/screen.js +33 -2
  262. package/dist/registry/tool/screen.js.map +1 -1
  263. package/dist/runtime/harness-session/index.d.ts +5 -0
  264. package/dist/runtime/harness-session/index.d.ts.map +1 -0
  265. package/dist/runtime/harness-session/index.js +928 -0
  266. package/dist/runtime/harness-session/index.js.map +1 -0
  267. package/dist/runtime/harness-session/journal.d.ts +37 -0
  268. package/dist/runtime/harness-session/journal.d.ts.map +1 -0
  269. package/dist/runtime/harness-session/journal.js +177 -0
  270. package/dist/runtime/harness-session/journal.js.map +1 -0
  271. package/dist/runtime/harness-session/saved-view.d.ts +8 -0
  272. package/dist/runtime/harness-session/saved-view.d.ts.map +1 -0
  273. package/dist/runtime/harness-session/saved-view.js +112 -0
  274. package/dist/runtime/harness-session/saved-view.js.map +1 -0
  275. package/dist/runtime/jobs/awaited-jobs.d.ts +2 -1
  276. package/dist/runtime/jobs/awaited-jobs.d.ts.map +1 -1
  277. package/dist/runtime/jobs/awaited-jobs.js +2 -1
  278. package/dist/runtime/jobs/awaited-jobs.js.map +1 -1
  279. package/dist/runtime/jobs/registry.d.ts +56 -1
  280. package/dist/runtime/jobs/registry.d.ts.map +1 -1
  281. package/dist/runtime/jobs/registry.js +377 -39
  282. package/dist/runtime/jobs/registry.js.map +1 -1
  283. package/dist/runtime/query/abandon-turn.d.ts +12 -1
  284. package/dist/runtime/query/abandon-turn.d.ts.map +1 -1
  285. package/dist/runtime/query/abandon-turn.js +3 -1
  286. package/dist/runtime/query/abandon-turn.js.map +1 -1
  287. package/dist/runtime/query/checkpoint.d.ts +4 -0
  288. package/dist/runtime/query/checkpoint.d.ts.map +1 -1
  289. package/dist/runtime/query/checkpoint.js +10 -0
  290. package/dist/runtime/query/checkpoint.js.map +1 -1
  291. package/dist/runtime/query/durable-inbound.d.ts +5 -0
  292. package/dist/runtime/query/durable-inbound.d.ts.map +1 -0
  293. package/dist/runtime/query/durable-inbound.js +89 -0
  294. package/dist/runtime/query/durable-inbound.js.map +1 -0
  295. package/dist/runtime/query/events.d.ts +4 -0
  296. package/dist/runtime/query/events.d.ts.map +1 -1
  297. package/dist/runtime/query/events.js +22 -5
  298. package/dist/runtime/query/events.js.map +1 -1
  299. package/dist/runtime/query/executor/tool-call-admission.d.ts +5 -1
  300. package/dist/runtime/query/executor/tool-call-admission.d.ts.map +1 -1
  301. package/dist/runtime/query/executor/tool-call-admission.js +85 -13
  302. package/dist/runtime/query/executor/tool-call-admission.js.map +1 -1
  303. package/dist/runtime/query/executor.d.ts +41 -18
  304. package/dist/runtime/query/executor.d.ts.map +1 -1
  305. package/dist/runtime/query/executor.js +227 -114
  306. package/dist/runtime/query/executor.js.map +1 -1
  307. package/dist/runtime/query/index.d.ts +9 -0
  308. package/dist/runtime/query/index.d.ts.map +1 -1
  309. package/dist/runtime/query/index.js +41 -5
  310. package/dist/runtime/query/index.js.map +1 -1
  311. package/dist/runtime/query/iteration/index.d.ts +18 -6
  312. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  313. package/dist/runtime/query/iteration/index.js +176 -75
  314. package/dist/runtime/query/iteration/index.js.map +1 -1
  315. package/dist/runtime/query/iteration/outstanding-work.d.ts +9 -5
  316. package/dist/runtime/query/iteration/outstanding-work.d.ts.map +1 -1
  317. package/dist/runtime/query/iteration/outstanding-work.js +63 -6
  318. package/dist/runtime/query/iteration/outstanding-work.js.map +1 -1
  319. package/dist/runtime/query/iteration/phases/context.d.ts +8 -0
  320. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  321. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  322. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  323. package/dist/runtime/query/iteration/phases/tool-review.js +106 -17
  324. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  325. package/dist/runtime/query/iteration/step-shaping.d.ts +2 -0
  326. package/dist/runtime/query/iteration/step-shaping.d.ts.map +1 -1
  327. package/dist/runtime/query/iteration/step-shaping.js +5 -1
  328. package/dist/runtime/query/iteration/step-shaping.js.map +1 -1
  329. package/dist/runtime/query/observation-context.d.ts +2 -2
  330. package/dist/runtime/query/observation-context.d.ts.map +1 -1
  331. package/dist/runtime/query/observation-context.js +20 -13
  332. package/dist/runtime/query/observation-context.js.map +1 -1
  333. package/dist/runtime/query/prepare-turn.js +2 -2
  334. package/dist/runtime/query/prepare-turn.js.map +1 -1
  335. package/dist/runtime/query/prompt-cache.d.ts +1 -0
  336. package/dist/runtime/query/prompt-cache.d.ts.map +1 -1
  337. package/dist/runtime/query/prompt-cache.js +2 -0
  338. package/dist/runtime/query/prompt-cache.js.map +1 -1
  339. package/dist/runtime/query/prompt.d.ts +2 -0
  340. package/dist/runtime/query/prompt.d.ts.map +1 -1
  341. package/dist/runtime/query/prompt.js +23 -1
  342. package/dist/runtime/query/prompt.js.map +1 -1
  343. package/dist/runtime/query/repeat-call.d.ts +12 -3
  344. package/dist/runtime/query/repeat-call.d.ts.map +1 -1
  345. package/dist/runtime/query/repeat-call.js +33 -10
  346. package/dist/runtime/query/repeat-call.js.map +1 -1
  347. package/dist/runtime/query/resume-pending.d.ts +5 -6
  348. package/dist/runtime/query/resume-pending.d.ts.map +1 -1
  349. package/dist/runtime/query/resume-pending.js +30 -3
  350. package/dist/runtime/query/resume-pending.js.map +1 -1
  351. package/dist/runtime/query/resume-session.js +1 -1
  352. package/dist/runtime/query/resume-session.js.map +1 -1
  353. package/dist/runtime/query/review-policy.d.ts +8 -1
  354. package/dist/runtime/query/review-policy.d.ts.map +1 -1
  355. package/dist/runtime/query/review-policy.js +6 -0
  356. package/dist/runtime/query/review-policy.js.map +1 -1
  357. package/dist/runtime/query/saved-presentation.d.ts +13 -0
  358. package/dist/runtime/query/saved-presentation.d.ts.map +1 -0
  359. package/dist/runtime/query/saved-presentation.js +63 -0
  360. package/dist/runtime/query/saved-presentation.js.map +1 -0
  361. package/dist/runtime/query/steering.d.ts +6 -9
  362. package/dist/runtime/query/steering.d.ts.map +1 -1
  363. package/dist/runtime/query/steering.js.map +1 -1
  364. package/dist/runtime/query/tool-executions.d.ts +7 -3
  365. package/dist/runtime/query/tool-executions.d.ts.map +1 -1
  366. package/dist/runtime/query/tool-executions.js +89 -9
  367. package/dist/runtime/query/tool-executions.js.map +1 -1
  368. package/dist/runtime/query/tooling.d.ts +3 -1
  369. package/dist/runtime/query/tooling.d.ts.map +1 -1
  370. package/dist/runtime/query/tooling.js +3 -0
  371. package/dist/runtime/query/tooling.js.map +1 -1
  372. package/dist/scheduler/completion-inbox.d.ts +25 -1
  373. package/dist/scheduler/completion-inbox.d.ts.map +1 -1
  374. package/dist/scheduler/completion-inbox.js +102 -8
  375. package/dist/scheduler/completion-inbox.js.map +1 -1
  376. package/dist/scheduler/delegating.d.ts.map +1 -1
  377. package/dist/scheduler/delegating.js +5 -0
  378. package/dist/scheduler/delegating.js.map +1 -1
  379. package/dist/scheduler/local.d.ts.map +1 -1
  380. package/dist/scheduler/local.js +2 -0
  381. package/dist/scheduler/local.js.map +1 -1
  382. package/dist/session/summary/materialize.d.ts +10 -6
  383. package/dist/session/summary/materialize.d.ts.map +1 -1
  384. package/dist/session/summary/materialize.js +41 -8
  385. package/dist/session/summary/materialize.js.map +1 -1
  386. package/dist/store/budget/ledger.d.ts +9 -0
  387. package/dist/store/budget/ledger.d.ts.map +1 -1
  388. package/dist/store/budget/ledger.js +58 -6
  389. package/dist/store/budget/ledger.js.map +1 -1
  390. package/dist/store/evidence/index-page.d.ts +12 -12
  391. package/dist/store/evidence/source-text.d.ts +4 -4
  392. package/dist/store/index.d.ts +1 -0
  393. package/dist/store/index.d.ts.map +1 -1
  394. package/dist/store/index.js +1 -0
  395. package/dist/store/index.js.map +1 -1
  396. package/dist/store/memory/disk.d.ts +7 -2
  397. package/dist/store/memory/disk.d.ts.map +1 -1
  398. package/dist/store/memory/disk.js +58 -5
  399. package/dist/store/memory/disk.js.map +1 -1
  400. package/dist/store/memory/index.d.ts +9 -0
  401. package/dist/store/memory/index.d.ts.map +1 -1
  402. package/dist/store/memory/index.js +43 -5
  403. package/dist/store/memory/index.js.map +1 -1
  404. package/dist/store/memory/markdown.d.ts +7 -2
  405. package/dist/store/memory/markdown.d.ts.map +1 -1
  406. package/dist/store/memory/markdown.js +33 -0
  407. package/dist/store/memory/markdown.js.map +1 -1
  408. package/dist/store/memory/memory.d.ts +7 -2
  409. package/dist/store/memory/memory.d.ts.map +1 -1
  410. package/dist/store/memory/memory.js +34 -0
  411. package/dist/store/memory/memory.js.map +1 -1
  412. package/dist/store/memory/revision.d.ts +16 -0
  413. package/dist/store/memory/revision.d.ts.map +1 -0
  414. package/dist/store/memory/revision.js +144 -0
  415. package/dist/store/memory/revision.js.map +1 -0
  416. package/dist/store/session/disk.d.ts +9 -4
  417. package/dist/store/session/disk.d.ts.map +1 -1
  418. package/dist/store/session/disk.js +57 -11
  419. package/dist/store/session/disk.js.map +1 -1
  420. package/dist/store/session/memory.d.ts +5 -3
  421. package/dist/store/session/memory.d.ts.map +1 -1
  422. package/dist/store/session/memory.js +24 -7
  423. package/dist/store/session/memory.js.map +1 -1
  424. package/dist/store/session-log/core.d.ts +26 -6
  425. package/dist/store/session-log/core.d.ts.map +1 -1
  426. package/dist/store/session-log/core.js +61 -8
  427. package/dist/store/session-log/core.js.map +1 -1
  428. package/dist/store/session-log/disk.d.ts +2 -2
  429. package/dist/store/session-log/disk.d.ts.map +1 -1
  430. package/dist/store/session-log/disk.js +1 -0
  431. package/dist/store/session-log/disk.js.map +1 -1
  432. package/dist/store/session-log/fold.d.ts +7 -0
  433. package/dist/store/session-log/fold.d.ts.map +1 -1
  434. package/dist/store/session-log/fold.js +21 -0
  435. package/dist/store/session-log/fold.js.map +1 -1
  436. package/dist/store/session-log/index.d.ts +5 -3
  437. package/dist/store/session-log/index.d.ts.map +1 -1
  438. package/dist/store/session-log/index.js +3 -1
  439. package/dist/store/session-log/index.js.map +1 -1
  440. package/dist/store/session-log/memory.d.ts +1 -1
  441. package/dist/store/session-log/memory.d.ts.map +1 -1
  442. package/dist/store/session-log/memory.js +1 -0
  443. package/dist/store/session-log/memory.js.map +1 -1
  444. package/dist/store/session-log/spill.d.ts +10 -3
  445. package/dist/store/session-log/spill.d.ts.map +1 -1
  446. package/dist/store/session-log/spill.js +70 -5
  447. package/dist/store/session-log/spill.js.map +1 -1
  448. package/dist/store/session-log/structured-result.d.ts +21 -0
  449. package/dist/store/session-log/structured-result.d.ts.map +1 -0
  450. package/dist/store/session-log/structured-result.js +67 -0
  451. package/dist/store/session-log/structured-result.js.map +1 -0
  452. package/dist/store/task/disk.d.ts +11 -0
  453. package/dist/store/task/disk.d.ts.map +1 -1
  454. package/dist/store/task/disk.js +41 -2
  455. package/dist/store/task/disk.js.map +1 -1
  456. package/dist/store/task/memory.d.ts.map +1 -1
  457. package/dist/store/task/memory.js +15 -3
  458. package/dist/store/task/memory.js.map +1 -1
  459. package/dist/tools/admit-facts.d.ts +13 -0
  460. package/dist/tools/admit-facts.d.ts.map +1 -0
  461. package/dist/tools/admit-facts.js +142 -0
  462. package/dist/tools/admit-facts.js.map +1 -0
  463. package/dist/tools/builtins/bash.d.ts +4 -1
  464. package/dist/tools/builtins/bash.d.ts.map +1 -1
  465. package/dist/tools/builtins/bash.js +108 -22
  466. package/dist/tools/builtins/bash.js.map +1 -1
  467. package/dist/tools/builtins/browser.d.ts +10 -10
  468. package/dist/tools/builtins/computer-use.d.ts +90 -90
  469. package/dist/tools/builtins/edit.d.ts +17 -0
  470. package/dist/tools/builtins/edit.d.ts.map +1 -1
  471. package/dist/tools/builtins/edit.js +34 -0
  472. package/dist/tools/builtins/edit.js.map +1 -1
  473. package/dist/tools/builtins/file-write-result.d.ts.map +1 -1
  474. package/dist/tools/builtins/file-write-result.js +13 -0
  475. package/dist/tools/builtins/file-write-result.js.map +1 -1
  476. package/dist/tools/builtins/glob.d.ts.map +1 -1
  477. package/dist/tools/builtins/glob.js +12 -0
  478. package/dist/tools/builtins/glob.js.map +1 -1
  479. package/dist/tools/builtins/grep.d.ts.map +1 -1
  480. package/dist/tools/builtins/grep.js +14 -0
  481. package/dist/tools/builtins/grep.js.map +1 -1
  482. package/dist/tools/builtins/index.d.ts +2 -0
  483. package/dist/tools/builtins/index.d.ts.map +1 -1
  484. package/dist/tools/builtins/index.js +1 -0
  485. package/dist/tools/builtins/index.js.map +1 -1
  486. package/dist/tools/builtins/job.d.ts.map +1 -1
  487. package/dist/tools/builtins/job.js +4 -1
  488. package/dist/tools/builtins/job.js.map +1 -1
  489. package/dist/tools/builtins/lsp.d.ts +2 -2
  490. package/dist/tools/builtins/read-file.d.ts.map +1 -1
  491. package/dist/tools/builtins/read-file.js +49 -0
  492. package/dist/tools/builtins/read-file.js.map +1 -1
  493. package/dist/tools/builtins/view-image.d.ts +24 -0
  494. package/dist/tools/builtins/view-image.d.ts.map +1 -0
  495. package/dist/tools/builtins/view-image.js +385 -0
  496. package/dist/tools/builtins/view-image.js.map +1 -0
  497. package/dist/tools/builtins/wait-for-job-bounds.d.ts +8 -4
  498. package/dist/tools/builtins/wait-for-job-bounds.d.ts.map +1 -1
  499. package/dist/tools/builtins/wait-for-job-bounds.js +43 -8
  500. package/dist/tools/builtins/wait-for-job-bounds.js.map +1 -1
  501. package/dist/tools/builtins/wait-for-job.d.ts +3 -0
  502. package/dist/tools/builtins/wait-for-job.d.ts.map +1 -1
  503. package/dist/tools/builtins/wait-for-job.js +127 -15
  504. package/dist/tools/builtins/wait-for-job.js.map +1 -1
  505. package/dist/tools/builtins/write-file.d.ts.map +1 -1
  506. package/dist/tools/builtins/write-file.js +1 -0
  507. package/dist/tools/builtins/write-file.js.map +1 -1
  508. package/dist/tools/command-shell.d.ts +37 -2
  509. package/dist/tools/command-shell.d.ts.map +1 -1
  510. package/dist/tools/command-shell.js +100 -3
  511. package/dist/tools/command-shell.js.map +1 -1
  512. package/dist/tools/coordinator/agent.d.ts +9 -19
  513. package/dist/tools/coordinator/agent.d.ts.map +1 -1
  514. package/dist/tools/coordinator/agent.js.map +1 -1
  515. package/dist/tools/coordinator/index.d.ts.map +1 -1
  516. package/dist/tools/coordinator/index.js +127 -67
  517. package/dist/tools/coordinator/index.js.map +1 -1
  518. package/dist/tools/coordinator/wait-with-idle-bound.d.ts +2 -0
  519. package/dist/tools/coordinator/wait-with-idle-bound.d.ts.map +1 -1
  520. package/dist/tools/coordinator/wait-with-idle-bound.js +1 -1
  521. package/dist/tools/coordinator/wait-with-idle-bound.js.map +1 -1
  522. package/dist/tools/defineTool.d.ts.map +1 -1
  523. package/dist/tools/defineTool.js +4 -0
  524. package/dist/tools/defineTool.js.map +1 -1
  525. package/dist/tools/failure-facts.d.ts +8 -0
  526. package/dist/tools/failure-facts.d.ts.map +1 -0
  527. package/dist/tools/failure-facts.js +24 -0
  528. package/dist/tools/failure-facts.js.map +1 -0
  529. package/dist/tools/host-output.d.ts +24 -0
  530. package/dist/tools/host-output.d.ts.map +1 -0
  531. package/dist/tools/host-output.js +117 -0
  532. package/dist/tools/host-output.js.map +1 -0
  533. package/dist/tools/memory/delete.d.ts.map +1 -1
  534. package/dist/tools/memory/delete.js +38 -3
  535. package/dist/tools/memory/delete.js.map +1 -1
  536. package/dist/tools/memory/read.d.ts.map +1 -1
  537. package/dist/tools/memory/read.js +38 -2
  538. package/dist/tools/memory/read.js.map +1 -1
  539. package/dist/tools/memory/search.d.ts.map +1 -1
  540. package/dist/tools/memory/search.js +38 -7
  541. package/dist/tools/memory/search.js.map +1 -1
  542. package/dist/tools/memory/update.d.ts.map +1 -1
  543. package/dist/tools/memory/update.js +30 -3
  544. package/dist/tools/memory/update.js.map +1 -1
  545. package/dist/tools/oem-code-pages.d.ts +8 -0
  546. package/dist/tools/oem-code-pages.d.ts.map +1 -0
  547. package/dist/tools/oem-code-pages.js +23 -0
  548. package/dist/tools/oem-code-pages.js.map +1 -0
  549. package/dist/tools/schedules/schedule-tool.d.ts.map +1 -1
  550. package/dist/tools/schedules/schedule-tool.js +35 -6
  551. package/dist/tools/schedules/schedule-tool.js.map +1 -1
  552. package/dist/tools/schedules/types.d.ts +23 -3
  553. package/dist/tools/schedules/types.d.ts.map +1 -1
  554. package/dist/tools/task/list.d.ts.map +1 -1
  555. package/dist/tools/task/list.js +14 -6
  556. package/dist/tools/task/list.js.map +1 -1
  557. package/dist/tools/task/present.d.ts.map +1 -1
  558. package/dist/tools/task/present.js +26 -6
  559. package/dist/tools/task/present.js.map +1 -1
  560. package/dist/tools/task/update.d.ts.map +1 -1
  561. package/dist/tools/task/update.js +12 -5
  562. package/dist/tools/task/update.js.map +1 -1
  563. package/dist/tools/text-window.d.ts +19 -0
  564. package/dist/tools/text-window.d.ts.map +1 -0
  565. package/dist/tools/text-window.js +83 -0
  566. package/dist/tools/text-window.js.map +1 -0
  567. package/dist/toolsets/manager.d.ts +24 -0
  568. package/dist/toolsets/manager.d.ts.map +1 -1
  569. package/dist/toolsets/manager.js +105 -2
  570. package/dist/toolsets/manager.js.map +1 -1
  571. package/dist/turn/memory-recall.d.ts +2 -0
  572. package/dist/turn/memory-recall.d.ts.map +1 -1
  573. package/dist/turn/memory-recall.js +3 -1
  574. package/dist/turn/memory-recall.js.map +1 -1
  575. package/dist/types/acp/index.d.ts +137 -1
  576. package/dist/types/acp/index.d.ts.map +1 -1
  577. package/dist/types/agent/base.d.ts +3 -0
  578. package/dist/types/agent/base.d.ts.map +1 -1
  579. package/dist/types/agent/manager.d.ts +8 -23
  580. package/dist/types/agent/manager.d.ts.map +1 -1
  581. package/dist/types/agent/scheduler.d.ts +10 -1
  582. package/dist/types/agent/scheduler.d.ts.map +1 -1
  583. package/dist/types/agent/task.d.ts +4 -0
  584. package/dist/types/agent/task.d.ts.map +1 -1
  585. package/dist/types/authorization/index.d.ts +30 -30
  586. package/dist/types/connector/mcp.d.ts +7 -0
  587. package/dist/types/connector/mcp.d.ts.map +1 -1
  588. package/dist/types/errors/catalog.d.ts.map +1 -1
  589. package/dist/types/errors/catalog.js +4 -2
  590. package/dist/types/errors/catalog.js.map +1 -1
  591. package/dist/types/harness/schema.d.ts +354 -0
  592. package/dist/types/harness/schema.d.ts.map +1 -0
  593. package/dist/types/harness/schema.js +203 -0
  594. package/dist/types/harness/schema.js.map +1 -0
  595. package/dist/types/harness/session.d.ts +278 -0
  596. package/dist/types/harness/session.d.ts.map +1 -0
  597. package/dist/types/harness/session.js +2 -0
  598. package/dist/types/harness/session.js.map +1 -0
  599. package/dist/types/hitl/index.d.ts +12 -0
  600. package/dist/types/hitl/index.d.ts.map +1 -1
  601. package/dist/types/hitl/index.js.map +1 -1
  602. package/dist/types/job/index.d.ts +47 -0
  603. package/dist/types/job/index.d.ts.map +1 -0
  604. package/dist/types/job/index.js +2 -0
  605. package/dist/types/job/index.js.map +1 -0
  606. package/dist/types/memory/index.d.ts +29 -0
  607. package/dist/types/memory/index.d.ts.map +1 -1
  608. package/dist/types/memory/index.js +6 -0
  609. package/dist/types/memory/index.js.map +1 -1
  610. package/dist/types/message/inbound-delivery.d.ts +44 -0
  611. package/dist/types/message/inbound-delivery.d.ts.map +1 -0
  612. package/dist/types/message/inbound-delivery.js +14 -0
  613. package/dist/types/message/inbound-delivery.js.map +1 -0
  614. package/dist/types/message/index.d.ts +4 -1
  615. package/dist/types/message/index.d.ts.map +1 -1
  616. package/dist/types/message/index.js +5 -1
  617. package/dist/types/message/index.js.map +1 -1
  618. package/dist/types/plugin/index.d.ts +18 -8
  619. package/dist/types/plugin/index.d.ts.map +1 -1
  620. package/dist/types/plugin/index.js +5 -2
  621. package/dist/types/plugin/index.js.map +1 -1
  622. package/dist/types/sandbox/index.d.ts +39 -2
  623. package/dist/types/sandbox/index.d.ts.map +1 -1
  624. package/dist/types/sandbox/index.js.map +1 -1
  625. package/dist/types/session/checkpoint.d.ts +24 -17
  626. package/dist/types/session/checkpoint.d.ts.map +1 -1
  627. package/dist/types/session/checkpoint.js +1 -0
  628. package/dist/types/session/checkpoint.js.map +1 -1
  629. package/dist/types/session/events.d.ts +23 -1
  630. package/dist/types/session/events.d.ts.map +1 -1
  631. package/dist/types/session/events.js.map +1 -1
  632. package/dist/types/session/records.d.ts +1514 -565
  633. package/dist/types/session/records.d.ts.map +1 -1
  634. package/dist/types/session/records.js +89 -1
  635. package/dist/types/session/records.js.map +1 -1
  636. package/dist/types/session/step.d.ts +2 -0
  637. package/dist/types/session/step.d.ts.map +1 -1
  638. package/dist/types/session/step.js.map +1 -1
  639. package/dist/types/session/store.d.ts +19 -10
  640. package/dist/types/session/store.d.ts.map +1 -1
  641. package/dist/types/session/tool-execution.d.ts +6 -0
  642. package/dist/types/session/tool-execution.d.ts.map +1 -1
  643. package/dist/types/structured-output/index.d.ts +12 -2
  644. package/dist/types/structured-output/index.d.ts.map +1 -1
  645. package/dist/types/summary/ref.d.ts +3 -1
  646. package/dist/types/summary/ref.d.ts.map +1 -1
  647. package/dist/types/tool/index.d.ts +32 -4
  648. package/dist/types/tool/index.d.ts.map +1 -1
  649. package/dist/types/tool/index.js.map +1 -1
  650. package/dist/types/tool/presentation.d.ts +106 -0
  651. package/dist/types/tool/presentation.d.ts.map +1 -1
  652. package/dist/utils/json-snapshot.d.ts +6 -2
  653. package/dist/utils/json-snapshot.d.ts.map +1 -1
  654. package/dist/utils/json-snapshot.js +19 -9
  655. package/dist/utils/json-snapshot.js.map +1 -1
  656. package/dist/utils/structured-result-json.d.ts +5 -0
  657. package/dist/utils/structured-result-json.d.ts.map +1 -0
  658. package/dist/utils/structured-result-json.js +10 -0
  659. package/dist/utils/structured-result-json.js.map +1 -0
  660. package/package.json +1 -1
  661. package/src/agents/QueryAgent.ts +1 -0
  662. package/src/agents/examples/SupervisorAgent.ts +1 -0
  663. package/src/agents/runAgent.ts +3 -0
  664. package/src/authorization/shell-lexer.ts +16 -1
  665. package/src/bridge/acp/permission.ts +17 -3
  666. package/src/bridge/acp/server.ts +271 -25
  667. package/src/bridge/acp/tasks.ts +23 -0
  668. package/src/bridge/acp/update.ts +167 -13
  669. package/src/config/registry.ts +24 -3
  670. package/src/connector/mcp/adapter.ts +16 -4
  671. package/src/connector/mcp/client.ts +6 -2
  672. package/src/connector/mcp/discovery.ts +29 -8
  673. package/src/connector/mcp/mcp-toolset.ts +25 -4
  674. package/src/connector/mcp/reconnect.ts +34 -4
  675. package/src/constants/acp/index.ts +4 -0
  676. package/src/manager/agent/lifecycle.ts +230 -3
  677. package/src/manager/plan/lifecycle.ts +11 -9
  678. package/src/manager/session/attribution.ts +12 -2
  679. package/src/manager/session/streamed-message-identity.ts +21 -0
  680. package/src/manager/session/turn-recorder.ts +4 -3
  681. package/src/pals/activity/causality.ts +261 -0
  682. package/src/pals/activity/projection.ts +89 -0
  683. package/src/pals/activity/source.ts +240 -0
  684. package/src/pals/activity/subscription-policy.ts +230 -0
  685. package/src/pals/activity/subscription-schema.ts +27 -0
  686. package/src/pals/activity/subscription-store.ts +172 -0
  687. package/src/pals/activity/subscription-types.ts +48 -0
  688. package/src/pals/activity/subscriptions.ts +209 -0
  689. package/src/pals/activity/types.ts +108 -0
  690. package/src/pals/channels/ingress.ts +153 -0
  691. package/src/pals/channels/routes.ts +118 -0
  692. package/src/pals/channels/routing.ts +197 -0
  693. package/src/pals/channels/schema.ts +108 -0
  694. package/src/pals/channels/types.ts +156 -0
  695. package/src/pals/communication/broker.ts +131 -0
  696. package/src/pals/communication/dispatch.ts +66 -0
  697. package/src/pals/communication/inbound.ts +193 -0
  698. package/src/pals/communication/ingress-dispatch.ts +63 -0
  699. package/src/pals/communication/ingress-inbound.ts +269 -0
  700. package/src/pals/communication/ingress-schema.ts +526 -0
  701. package/src/pals/communication/ingress-types.ts +336 -0
  702. package/src/pals/communication/operator.ts +315 -0
  703. package/src/pals/communication/policy.ts +174 -0
  704. package/src/pals/communication/schema.ts +173 -0
  705. package/src/pals/communication/store.ts +577 -0
  706. package/src/pals/communication/tools.ts +139 -0
  707. package/src/pals/communication/types.ts +227 -0
  708. package/src/pals/communication/verify.ts +220 -0
  709. package/src/pals/lifecycle.ts +54 -0
  710. package/src/pals/prompt.ts +101 -0
  711. package/src/pals/reference-images.ts +322 -0
  712. package/src/pals/runtime.ts +670 -0
  713. package/src/pals/store.ts +369 -0
  714. package/src/pals/types.ts +157 -0
  715. package/src/peers/envelope.ts +1 -1
  716. package/src/plugin/lifecycle.ts +217 -46
  717. package/src/plugin/shell-hook.ts +8 -2
  718. package/src/process/kill-tree.ts +10 -1
  719. package/src/prompt/resident-learning.ts +2 -2
  720. package/src/prompt/resident-step.ts +4 -4
  721. package/src/provider/errors.ts +135 -2
  722. package/src/public-runtime.ts +119 -12
  723. package/src/public-tools.ts +13 -1
  724. package/src/public-types.ts +69 -7
  725. package/src/registry/tool/presentation.ts +9 -4
  726. package/src/registry/tool/screen.ts +34 -2
  727. package/src/runtime/harness-session/index.ts +1125 -0
  728. package/src/runtime/harness-session/journal.ts +209 -0
  729. package/src/runtime/harness-session/saved-view.ts +122 -0
  730. package/src/runtime/jobs/awaited-jobs.ts +2 -1
  731. package/src/runtime/jobs/registry.ts +423 -50
  732. package/src/runtime/query/abandon-turn.ts +18 -2
  733. package/src/runtime/query/checkpoint.ts +11 -0
  734. package/src/runtime/query/durable-inbound.ts +101 -0
  735. package/src/runtime/query/events.ts +22 -5
  736. package/src/runtime/query/executor/tool-call-admission.ts +125 -32
  737. package/src/runtime/query/executor.ts +316 -130
  738. package/src/runtime/query/index.ts +48 -5
  739. package/src/runtime/query/iteration/index.ts +253 -114
  740. package/src/runtime/query/iteration/outstanding-work.ts +57 -7
  741. package/src/runtime/query/iteration/phases/context.ts +8 -0
  742. package/src/runtime/query/iteration/phases/tool-review.ts +124 -22
  743. package/src/runtime/query/iteration/step-shaping.ts +9 -1
  744. package/src/runtime/query/observation-context.ts +22 -16
  745. package/src/runtime/query/prepare-turn.ts +2 -2
  746. package/src/runtime/query/prompt-cache.ts +3 -0
  747. package/src/runtime/query/prompt.ts +32 -1
  748. package/src/runtime/query/repeat-call.ts +40 -10
  749. package/src/runtime/query/resume-pending.ts +60 -7
  750. package/src/runtime/query/resume-session.ts +1 -1
  751. package/src/runtime/query/review-policy.ts +23 -2
  752. package/src/runtime/query/saved-presentation.ts +70 -0
  753. package/src/runtime/query/steering.ts +6 -9
  754. package/src/runtime/query/tool-executions.ts +108 -9
  755. package/src/runtime/query/tooling.ts +6 -1
  756. package/src/scheduler/completion-inbox.ts +108 -7
  757. package/src/scheduler/delegating.ts +5 -0
  758. package/src/scheduler/local.ts +2 -0
  759. package/src/session/summary/materialize.ts +51 -9
  760. package/src/store/budget/ledger.ts +60 -5
  761. package/src/store/index.ts +1 -0
  762. package/src/store/memory/disk.ts +82 -7
  763. package/src/store/memory/index.ts +66 -7
  764. package/src/store/memory/markdown.ts +54 -2
  765. package/src/store/memory/memory.ts +52 -2
  766. package/src/store/memory/revision.ts +158 -0
  767. package/src/store/session/disk.ts +77 -10
  768. package/src/store/session/memory.ts +32 -7
  769. package/src/store/session-log/core.ts +118 -11
  770. package/src/store/session-log/disk.ts +9 -2
  771. package/src/store/session-log/fold.ts +22 -0
  772. package/src/store/session-log/index.ts +5 -0
  773. package/src/store/session-log/memory.ts +2 -1
  774. package/src/store/session-log/spill.ts +89 -6
  775. package/src/store/session-log/structured-result.ts +96 -0
  776. package/src/store/task/disk.ts +46 -2
  777. package/src/store/task/memory.ts +13 -3
  778. package/src/tools/admit-facts.ts +145 -0
  779. package/src/tools/builtins/bash.ts +132 -24
  780. package/src/tools/builtins/edit.ts +42 -0
  781. package/src/tools/builtins/file-write-result.ts +14 -0
  782. package/src/tools/builtins/glob.ts +12 -0
  783. package/src/tools/builtins/grep.ts +14 -0
  784. package/src/tools/builtins/index.ts +2 -0
  785. package/src/tools/builtins/job.ts +4 -1
  786. package/src/tools/builtins/read-file.ts +57 -0
  787. package/src/tools/builtins/view-image.ts +409 -0
  788. package/src/tools/builtins/wait-for-job-bounds.ts +45 -7
  789. package/src/tools/builtins/wait-for-job.ts +159 -36
  790. package/src/tools/builtins/write-file.ts +4 -2
  791. package/src/tools/command-shell.ts +132 -5
  792. package/src/tools/coordinator/agent.ts +9 -19
  793. package/src/tools/coordinator/index.ts +150 -75
  794. package/src/tools/coordinator/wait-with-idle-bound.ts +3 -1
  795. package/src/tools/defineTool.ts +4 -0
  796. package/src/tools/failure-facts.ts +24 -0
  797. package/src/tools/host-output.ts +136 -0
  798. package/src/tools/memory/delete.ts +33 -3
  799. package/src/tools/memory/read.ts +35 -2
  800. package/src/tools/memory/search.ts +38 -7
  801. package/src/tools/memory/update.ts +28 -3
  802. package/src/tools/oem-code-pages.ts +22 -0
  803. package/src/tools/schedules/schedule-tool.ts +38 -5
  804. package/src/tools/schedules/types.ts +23 -3
  805. package/src/tools/task/list.ts +15 -7
  806. package/src/tools/task/present.ts +37 -7
  807. package/src/tools/task/update.ts +12 -5
  808. package/src/tools/text-window.ts +87 -0
  809. package/src/toolsets/manager.ts +132 -2
  810. package/src/turn/memory-recall.ts +5 -1
  811. package/src/types/acp/index.ts +150 -4
  812. package/src/types/agent/base.ts +3 -0
  813. package/src/types/agent/manager.ts +8 -23
  814. package/src/types/agent/scheduler.ts +10 -1
  815. package/src/types/agent/task.ts +4 -0
  816. package/src/types/connector/mcp.ts +7 -0
  817. package/src/types/errors/catalog.ts +4 -2
  818. package/src/types/harness/schema.ts +203 -0
  819. package/src/types/harness/session.ts +306 -0
  820. package/src/types/hitl/index.ts +17 -1
  821. package/src/types/job/index.ts +42 -0
  822. package/src/types/memory/index.ts +43 -0
  823. package/src/types/message/inbound-delivery.ts +63 -0
  824. package/src/types/message/index.ts +8 -1
  825. package/src/types/plugin/index.ts +11 -6
  826. package/src/types/sandbox/index.ts +46 -0
  827. package/src/types/session/checkpoint.ts +4 -1
  828. package/src/types/session/events.ts +23 -1
  829. package/src/types/session/records.ts +114 -2
  830. package/src/types/session/step.ts +2 -0
  831. package/src/types/session/store.ts +23 -9
  832. package/src/types/session/tool-execution.ts +6 -0
  833. package/src/types/structured-output/index.ts +13 -2
  834. package/src/types/summary/ref.ts +3 -1
  835. package/src/types/tool/index.ts +39 -5
  836. package/src/types/tool/presentation.ts +121 -0
  837. package/src/utils/json-snapshot.ts +26 -9
  838. package/src/utils/structured-result-json.ts +10 -0
@@ -0,0 +1,150 @@
1
+ import { isDeepStrictEqual } from 'node:util';
2
+ import { z } from 'zod';
3
+ import { isEntityId } from '../../utils/id.js';
4
+ import { ingressInboxSchema } from '../communication/ingress-schema.js';
5
+ import { PAL_CHANNEL_NAMESPACE, ingressMessageRef } from '../communication/ingress-types.js';
6
+ import { addressSchema, freezeCommunicationValue, label } from '../communication/schema.js';
7
+ import { verifyIngressRecorded } from '../communication/verify.js';
8
+ import { captureConnection, nativeTuple, verifiedActionSchema } from './schema.js';
9
+ const contextSchema = z
10
+ .object({
11
+ recipient: addressSchema,
12
+ sessionId: z.custom((value) => isEntityId(value, 'session')),
13
+ profileRevision: z.number().int().positive().safe(),
14
+ })
15
+ .strict();
16
+ const refSchema = z
17
+ .object({
18
+ namespace: z.literal(PAL_CHANNEL_NAMESPACE),
19
+ id: z.string().regex(/^[a-f0-9]{64}$/),
20
+ digest: z.string().regex(/^[a-f0-9]{64}$/),
21
+ })
22
+ .strict();
23
+ /** Resolves original authenticated destinations. It does not imply remote delivery. */
24
+ export class PalChannelRouter {
25
+ options;
26
+ connection;
27
+ constructor(options) {
28
+ if (typeof options.verify !== 'function' || typeof options.authorize !== 'function')
29
+ throw new Error('Channel routing requires trusted verification and current authorization.');
30
+ this.options = Object.freeze({ ...options });
31
+ this.connection = captureConnection(options.connection);
32
+ }
33
+ assertRecipient(context) {
34
+ if (context.recipient.tenantId !== this.connection.tenantId)
35
+ throw new Error('Foreign channel response tenant.');
36
+ const pal = this.options.pals.get(context.recipient.palId);
37
+ if (!pal || pal.paused)
38
+ throw new Error('Channel response Pal is paused or unavailable.');
39
+ return this.options.pals.getRevision(pal.id, context.profileRevision);
40
+ }
41
+ async recorded(input, context, signal) {
42
+ const ref = freezeCommunicationValue(refSchema.parse(input));
43
+ const definition = this.assertRecipient(context);
44
+ const snapshot = await this.options.store.readIngress(context.recipient);
45
+ const found = snapshot?.messages.find((message) => message.id === ref.id);
46
+ if (!found)
47
+ throw new Error('Channel response does not name an accepted delivery.');
48
+ const message = freezeCommunicationValue(ingressInboxSchema.parse(found));
49
+ if (!('kind' in message) ||
50
+ message.kind !== 'channel' ||
51
+ message.phase !== 'recorded' ||
52
+ !message.receipt ||
53
+ !isDeepStrictEqual(ingressMessageRef(message), ref))
54
+ throw new Error('Channel response requires the exact recorded channel delivery.');
55
+ if (message.source.tenantId !== this.connection.tenantId ||
56
+ message.source.provider !== this.connection.provider ||
57
+ message.source.connectionId !== this.connection.connectionId ||
58
+ message.source.externalTenantId !== this.connection.externalTenantId)
59
+ throw new Error('Channel response belongs to another connection.');
60
+ if (!isDeepStrictEqual(nativeTuple(message.source), nativeTuple(message.routeKey)))
61
+ throw new Error('Channel message source does not match its original native route.');
62
+ const binding = await this.options.store.routeIngress(message.routeKey);
63
+ if (!binding ||
64
+ binding.id !== message.routeId ||
65
+ binding.phase !== 'active' ||
66
+ binding.sessionId !== context.sessionId ||
67
+ binding.profileRevision !== context.profileRevision ||
68
+ binding.key.recipient.palId !== context.recipient.palId ||
69
+ binding.key.recipient.tenantId !== context.recipient.tenantId)
70
+ throw new Error('Channel response belongs to another Pal conversation or profile.');
71
+ signal.throwIfAborted();
72
+ await verifyIngressRecorded(message, message.receipt, {
73
+ binding,
74
+ definition,
75
+ access: await this.options.host.openConversation(binding, signal),
76
+ });
77
+ signal.throwIfAborted();
78
+ this.assertRecipient(context);
79
+ return { ...message, receipt: message.receipt };
80
+ }
81
+ async resolve(input, context, signal, action) {
82
+ const message = await this.recorded(input, context, signal);
83
+ if (action &&
84
+ (action.externalTenantId !== message.source.externalTenantId ||
85
+ !isDeepStrictEqual(nativeTuple({
86
+ ...action,
87
+ provider: this.connection.provider,
88
+ connectionId: this.connection.connectionId,
89
+ }), nativeTuple(message.source))))
90
+ throw new Error('Channel action belongs to another native conversation, channel or thread.');
91
+ const allowed = await this.options.authorize(freezeCommunicationValue({
92
+ phase: action ? 'action' : 'reply',
93
+ message: message,
94
+ context,
95
+ actorId: action?.actorId ?? message.source.actorId,
96
+ ...(action ? { action } : {}),
97
+ }));
98
+ signal.throwIfAborted();
99
+ if (allowed.allow !== true)
100
+ throw new Error(`Channel routing refused: ${allowed.reason}`);
101
+ this.assertRecipient(context);
102
+ return freezeCommunicationValue({
103
+ connection: this.connection,
104
+ identity: {
105
+ provider: message.source.provider,
106
+ connectionId: message.source.connectionId,
107
+ externalTenantId: message.source.externalTenantId,
108
+ nativeConversationId: message.source.nativeConversationId,
109
+ nativeChannelId: message.source.nativeChannelId,
110
+ nativeThreadId: message.source.nativeThreadId,
111
+ },
112
+ deliveryRef: {
113
+ namespace: PAL_CHANNEL_NAMESPACE,
114
+ id: message.id,
115
+ digest: message.digest,
116
+ },
117
+ recordedReceipt: message.receipt,
118
+ eventActorId: message.source.actorId,
119
+ currentActorId: action?.actorId ?? message.source.actorId,
120
+ context,
121
+ });
122
+ }
123
+ async replyRoute(input, execution, signal = new AbortController().signal) {
124
+ const context = freezeCommunicationValue(contextSchema.parse(execution));
125
+ const ref = refSchema.parse(input);
126
+ signal.throwIfAborted();
127
+ return this.resolve(ref, context, signal);
128
+ }
129
+ async actionRoute(raw, execution, signal = new AbortController().signal) {
130
+ const context = freezeCommunicationValue(contextSchema.parse(execution));
131
+ signal.throwIfAborted();
132
+ const action = freezeCommunicationValue(verifiedActionSchema.parse(await this.options.verify(structuredClone(raw), this.connection, signal)));
133
+ signal.throwIfAborted();
134
+ const route = await this.resolve(action.deliveryRef, context, signal, action);
135
+ return freezeCommunicationValue({ route, action });
136
+ }
137
+ async executeAction(raw, execution, signal = new AbortController().signal) {
138
+ if (!this.options.actions)
139
+ throw new Error('Channel action execution is unsupported by this host.');
140
+ const context = await this.actionRoute(raw, execution, signal);
141
+ signal.throwIfAborted();
142
+ this.assertRecipient(context.route.context);
143
+ const result = await this.options.actions.execute(context, signal);
144
+ return freezeCommunicationValue(z
145
+ .object({ status: z.enum(['applied', 'rejected']), receiptId: label })
146
+ .strict()
147
+ .parse(result));
148
+ }
149
+ }
150
+ //# sourceMappingURL=routing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../src/pals/channels/routing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,234 @@
1
+ import { z } from 'zod';
2
+ import type { PalChannelIdentity } from '../communication/ingress-types.js';
3
+ import type { PalChannelConnection, PalChannelRouteDecision } from './types.js';
4
+ export declare const connectionSchema: z.ZodObject<{
5
+ tenantId: z.ZodType<import("../../public-types.js").TenantId, z.ZodTypeDef, import("../../public-types.js").TenantId>;
6
+ provider: z.ZodEffects<z.ZodString, string, string>;
7
+ connectionId: z.ZodEffects<z.ZodString, string, string>;
8
+ externalTenantId: z.ZodEffects<z.ZodString, string, string>;
9
+ }, "strict", z.ZodTypeAny, {
10
+ provider: string;
11
+ tenantId: string & import("../../types/ids/brand.js").IdBrand<"TenantId">;
12
+ connectionId: string;
13
+ externalTenantId: string;
14
+ }, {
15
+ provider: string;
16
+ tenantId: string & import("../../types/ids/brand.js").IdBrand<"TenantId">;
17
+ connectionId: string;
18
+ externalTenantId: string;
19
+ }>;
20
+ export declare const verifiedMessageSchema: z.ZodObject<{
21
+ kind: z.ZodLiteral<"message">;
22
+ body: z.ZodEffects<z.ZodString, string, string>;
23
+ externalTenantId: z.ZodEffects<z.ZodString, string, string>;
24
+ nativeConversationId: z.ZodEffects<z.ZodString, string, string>;
25
+ nativeChannelId: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
26
+ nativeThreadId: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
27
+ actorId: z.ZodEffects<z.ZodString, string, string>;
28
+ eventId: z.ZodEffects<z.ZodString, string, string>;
29
+ }, "strict", z.ZodTypeAny, {
30
+ kind: "message";
31
+ body: string;
32
+ externalTenantId: string;
33
+ nativeConversationId: string;
34
+ nativeChannelId: string | null;
35
+ nativeThreadId: string | null;
36
+ actorId: string;
37
+ eventId: string;
38
+ }, {
39
+ kind: "message";
40
+ body: string;
41
+ externalTenantId: string;
42
+ nativeConversationId: string;
43
+ nativeChannelId: string | null;
44
+ nativeThreadId: string | null;
45
+ actorId: string;
46
+ eventId: string;
47
+ }>;
48
+ export declare const verifiedActionSchema: z.ZodEffects<z.ZodObject<{
49
+ kind: z.ZodLiteral<"action">;
50
+ deliveryRef: z.ZodObject<{
51
+ namespace: z.ZodLiteral<"namzu-pal-channel/1">;
52
+ id: z.ZodString;
53
+ digest: z.ZodString;
54
+ }, "strict", z.ZodTypeAny, {
55
+ id: string;
56
+ digest: string;
57
+ namespace: "namzu-pal-channel/1";
58
+ }, {
59
+ id: string;
60
+ digest: string;
61
+ namespace: "namzu-pal-channel/1";
62
+ }>;
63
+ actionId: z.ZodEffects<z.ZodString, string, string>;
64
+ payloadDigest: z.ZodString;
65
+ payload: z.ZodEffects<z.ZodString, string, string>;
66
+ externalTenantId: z.ZodEffects<z.ZodString, string, string>;
67
+ nativeConversationId: z.ZodEffects<z.ZodString, string, string>;
68
+ nativeChannelId: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
69
+ nativeThreadId: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
70
+ actorId: z.ZodEffects<z.ZodString, string, string>;
71
+ eventId: z.ZodEffects<z.ZodString, string, string>;
72
+ }, "strict", z.ZodTypeAny, {
73
+ kind: "action";
74
+ payload: string;
75
+ externalTenantId: string;
76
+ nativeConversationId: string;
77
+ nativeChannelId: string | null;
78
+ nativeThreadId: string | null;
79
+ actorId: string;
80
+ eventId: string;
81
+ deliveryRef: {
82
+ id: string;
83
+ digest: string;
84
+ namespace: "namzu-pal-channel/1";
85
+ };
86
+ actionId: string;
87
+ payloadDigest: string;
88
+ }, {
89
+ kind: "action";
90
+ payload: string;
91
+ externalTenantId: string;
92
+ nativeConversationId: string;
93
+ nativeChannelId: string | null;
94
+ nativeThreadId: string | null;
95
+ actorId: string;
96
+ eventId: string;
97
+ deliveryRef: {
98
+ id: string;
99
+ digest: string;
100
+ namespace: "namzu-pal-channel/1";
101
+ };
102
+ actionId: string;
103
+ payloadDigest: string;
104
+ }>, {
105
+ kind: "action";
106
+ payload: string;
107
+ externalTenantId: string;
108
+ nativeConversationId: string;
109
+ nativeChannelId: string | null;
110
+ nativeThreadId: string | null;
111
+ actorId: string;
112
+ eventId: string;
113
+ deliveryRef: {
114
+ id: string;
115
+ digest: string;
116
+ namespace: "namzu-pal-channel/1";
117
+ };
118
+ actionId: string;
119
+ payloadDigest: string;
120
+ }, {
121
+ kind: "action";
122
+ payload: string;
123
+ externalTenantId: string;
124
+ nativeConversationId: string;
125
+ nativeChannelId: string | null;
126
+ nativeThreadId: string | null;
127
+ actorId: string;
128
+ eventId: string;
129
+ deliveryRef: {
130
+ id: string;
131
+ digest: string;
132
+ namespace: "namzu-pal-channel/1";
133
+ };
134
+ actionId: string;
135
+ payloadDigest: string;
136
+ }>;
137
+ export declare const routeDecisionSchema: z.ZodObject<{
138
+ v: z.ZodLiteral<1>;
139
+ revision: z.ZodLiteral<1>;
140
+ identity: z.ZodObject<Omit<{
141
+ v: z.ZodLiteral<1>;
142
+ kind: z.ZodLiteral<"channel">;
143
+ recipient: z.ZodObject<{
144
+ tenantId: z.ZodType<import("../../public-types.js").TenantId, z.ZodTypeDef, import("../../public-types.js").TenantId>;
145
+ palId: z.ZodString;
146
+ }, "strict", z.ZodTypeAny, {
147
+ tenantId: string & import("../../types/ids/brand.js").IdBrand<"TenantId">;
148
+ palId: string;
149
+ }, {
150
+ tenantId: string & import("../../types/ids/brand.js").IdBrand<"TenantId">;
151
+ palId: string;
152
+ }>;
153
+ provider: z.ZodEffects<z.ZodString, string, string>;
154
+ connectionId: z.ZodEffects<z.ZodString, string, string>;
155
+ externalTenantId: z.ZodEffects<z.ZodString, string, string>;
156
+ nativeConversationId: z.ZodEffects<z.ZodString, string, string>;
157
+ nativeChannelId: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
158
+ nativeThreadId: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
159
+ }, "v" | "kind" | "recipient">, "strict", z.ZodTypeAny, {
160
+ provider: string;
161
+ connectionId: string;
162
+ externalTenantId: string;
163
+ nativeConversationId: string;
164
+ nativeChannelId: string | null;
165
+ nativeThreadId: string | null;
166
+ }, {
167
+ provider: string;
168
+ connectionId: string;
169
+ externalTenantId: string;
170
+ nativeConversationId: string;
171
+ nativeChannelId: string | null;
172
+ nativeThreadId: string | null;
173
+ }>;
174
+ recipient: z.ZodObject<{
175
+ tenantId: z.ZodType<import("../../public-types.js").TenantId, z.ZodTypeDef, import("../../public-types.js").TenantId>;
176
+ palId: z.ZodString;
177
+ }, "strict", z.ZodTypeAny, {
178
+ tenantId: string & import("../../types/ids/brand.js").IdBrand<"TenantId">;
179
+ palId: string;
180
+ }, {
181
+ tenantId: string & import("../../types/ids/brand.js").IdBrand<"TenantId">;
182
+ palId: string;
183
+ }>;
184
+ profileRevision: z.ZodNumber;
185
+ }, "strict", z.ZodTypeAny, {
186
+ v: 1;
187
+ identity: {
188
+ provider: string;
189
+ connectionId: string;
190
+ externalTenantId: string;
191
+ nativeConversationId: string;
192
+ nativeChannelId: string | null;
193
+ nativeThreadId: string | null;
194
+ };
195
+ revision: 1;
196
+ recipient: {
197
+ tenantId: string & import("../../types/ids/brand.js").IdBrand<"TenantId">;
198
+ palId: string;
199
+ };
200
+ profileRevision: number;
201
+ }, {
202
+ v: 1;
203
+ identity: {
204
+ provider: string;
205
+ connectionId: string;
206
+ externalTenantId: string;
207
+ nativeConversationId: string;
208
+ nativeChannelId: string | null;
209
+ nativeThreadId: string | null;
210
+ };
211
+ revision: 1;
212
+ recipient: {
213
+ tenantId: string & import("../../types/ids/brand.js").IdBrand<"TenantId">;
214
+ palId: string;
215
+ };
216
+ profileRevision: number;
217
+ }>;
218
+ export declare function captureConnection(input: PalChannelConnection): PalChannelConnection;
219
+ export declare function checkedIdentity(connection: PalChannelConnection, event: unknown): {
220
+ kind: "channel";
221
+ provider: string;
222
+ tenantId: string & import("../../types/ids/brand.js").IdBrand<"TenantId">;
223
+ connectionId: string;
224
+ externalTenantId: string;
225
+ nativeConversationId: string;
226
+ nativeChannelId: string | null;
227
+ nativeThreadId: string | null;
228
+ actorId: string;
229
+ eventId: string;
230
+ };
231
+ export declare function nativeTuple(identity: PalChannelIdentity): readonly unknown[];
232
+ export declare function decisionId(decision: Pick<PalChannelRouteDecision, 'identity' | 'recipient'>): string;
233
+ export declare function checkedDecision(input: unknown): PalChannelRouteDecision;
234
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/pals/channels/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAE3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAE/E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;EAOnB,CAAA;AASV,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUxB,CAAA;AACV,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuB/B,CAAA;AACF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYtB,CAAA;AAEV,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,oBAAoB,GAAG,oBAAoB,CAEnF;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAO;;;;;;;;;;;EAU/E;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,OAAO,EAAE,CAS5E;AAED,wBAAgB,UAAU,CACzB,QAAQ,EAAE,IAAI,CAAC,uBAAuB,EAAE,UAAU,GAAG,WAAW,CAAC,GAC/D,MAAM,CAER;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,uBAAuB,CAEvE"}
@@ -0,0 +1,94 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { z } from 'zod';
3
+ import { channelRouteKeySchema, channelSourceSchema } from '../communication/ingress-schema.js';
4
+ import { addressSchema, freezeCommunicationValue, hash, label } from '../communication/schema.js';
5
+ export const connectionSchema = z
6
+ .object({
7
+ tenantId: addressSchema.shape.tenantId,
8
+ provider: label,
9
+ connectionId: label,
10
+ externalTenantId: label,
11
+ })
12
+ .strict();
13
+ const verifiedIdentity = {
14
+ externalTenantId: label,
15
+ nativeConversationId: label,
16
+ nativeChannelId: label.nullable(),
17
+ nativeThreadId: label.nullable(),
18
+ actorId: label,
19
+ eventId: label,
20
+ };
21
+ export const verifiedMessageSchema = z
22
+ .object({
23
+ ...verifiedIdentity,
24
+ kind: z.literal('message'),
25
+ body: z
26
+ .string()
27
+ .min(1)
28
+ .max(32_000)
29
+ .refine((value) => !value.includes('\0')),
30
+ })
31
+ .strict();
32
+ export const verifiedActionSchema = z
33
+ .object({
34
+ ...verifiedIdentity,
35
+ kind: z.literal('action'),
36
+ deliveryRef: z
37
+ .object({
38
+ namespace: z.literal('namzu-pal-channel/1'),
39
+ id: z.string().regex(/^[a-f0-9]{64}$/),
40
+ digest: z.string().regex(/^[a-f0-9]{64}$/),
41
+ })
42
+ .strict(),
43
+ actionId: label,
44
+ payloadDigest: z.string().regex(/^[a-f0-9]{64}$/),
45
+ payload: z
46
+ .string()
47
+ .min(1)
48
+ .max(32_000)
49
+ .refine((value) => !value.includes('\0')),
50
+ })
51
+ .strict()
52
+ .refine((value) => createHash('sha256').update(value.payload).digest('hex') === value.payloadDigest, 'Channel action payload does not match its authenticated digest.');
53
+ export const routeDecisionSchema = z
54
+ .object({
55
+ v: z.literal(1),
56
+ revision: z.literal(1),
57
+ identity: channelRouteKeySchema.omit({
58
+ v: true,
59
+ kind: true,
60
+ recipient: true,
61
+ }),
62
+ recipient: addressSchema,
63
+ profileRevision: z.number().int().positive().safe(),
64
+ })
65
+ .strict();
66
+ export function captureConnection(input) {
67
+ return freezeCommunicationValue(connectionSchema.parse(input));
68
+ }
69
+ export function checkedIdentity(connection, event) {
70
+ const source = channelSourceSchema.parse(event);
71
+ if (source.tenantId !== connection.tenantId ||
72
+ source.provider !== connection.provider ||
73
+ source.connectionId !== connection.connectionId ||
74
+ source.externalTenantId !== connection.externalTenantId)
75
+ throw new Error('Channel identity does not belong to the authenticated connection.');
76
+ return freezeCommunicationValue(source);
77
+ }
78
+ export function nativeTuple(identity) {
79
+ return [
80
+ identity.provider,
81
+ identity.connectionId,
82
+ identity.externalTenantId,
83
+ identity.nativeConversationId,
84
+ identity.nativeChannelId,
85
+ identity.nativeThreadId,
86
+ ];
87
+ }
88
+ export function decisionId(decision) {
89
+ return hash([1, decision.recipient.tenantId, nativeTuple(decision.identity)]);
90
+ }
91
+ export function checkedDecision(input) {
92
+ return freezeCommunicationValue(routeDecisionSchema.parse(input));
93
+ }
94
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/pals/channels/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ import type { SessionId } from '../../types/ids/index.js';
2
+ import type { InboundDeliveryReceipt, InboundDeliveryRef } from '../../types/message/inbound-delivery.js';
3
+ import type { PalChannelIdentity, PalChannelIntent, PalChannelSource, PalIngressAcceptanceReceipt, PalIngressHostPort, PalIngressStore } from '../communication/ingress-types.js';
4
+ import type { PalAddress, PalMessageAuthorization } from '../communication/types.js';
5
+ import type { PalStore } from '../types.js';
6
+ /** Host-selected connection identity. Credentials belong only to the verifier closure. */
7
+ export interface PalChannelConnection {
8
+ readonly tenantId: PalAddress['tenantId'];
9
+ readonly provider: string;
10
+ readonly connectionId: string;
11
+ readonly externalTenantId: string;
12
+ }
13
+ export interface PalChannelVerifiedIdentity {
14
+ readonly externalTenantId: string;
15
+ readonly nativeConversationId: string;
16
+ readonly nativeChannelId: string | null;
17
+ readonly nativeThreadId: string | null;
18
+ readonly actorId: string;
19
+ readonly eventId: string;
20
+ }
21
+ /** Only new, authenticated messages enter the inbox. Edits and service events require another port. */
22
+ export interface PalChannelVerifiedMessage extends PalChannelVerifiedIdentity {
23
+ readonly kind: 'message';
24
+ readonly body: string;
25
+ }
26
+ /** Authentication must cover the action reference, identity and exact action payload. */
27
+ export interface PalChannelVerifiedAction extends PalChannelVerifiedIdentity {
28
+ readonly kind: 'action';
29
+ readonly deliveryRef: InboundDeliveryRef;
30
+ readonly actionId: string;
31
+ readonly payloadDigest: string;
32
+ /** Exact authenticated JSON payload; the host action port must parse its native action schema. */
33
+ readonly payload: string;
34
+ }
35
+ export type PalChannelVerifiedEvent = PalChannelVerifiedMessage | PalChannelVerifiedAction;
36
+ /** Required trusted host callback; raw events cannot select a connection or its credentials. */
37
+ export type PalChannelVerifier = (raw: unknown, connection: PalChannelConnection, signal: AbortSignal) => Promise<PalChannelVerifiedEvent>;
38
+ export interface PalChannelRouteDecision {
39
+ readonly v: 1;
40
+ readonly revision: 1;
41
+ readonly identity: PalChannelIdentity;
42
+ readonly recipient: PalAddress;
43
+ readonly profileRevision: number;
44
+ }
45
+ /** One immutable decision per tenant and full native tuple. The inbox owns the actual session. */
46
+ export interface PalChannelRoutes {
47
+ get(connection: PalChannelConnection, identity: PalChannelIdentity): Promise<PalChannelRouteDecision | null>;
48
+ reserve(decision: PalChannelRouteDecision): Promise<PalChannelRouteDecision>;
49
+ }
50
+ export interface PalChannelAuthorizationRequest {
51
+ readonly phase: 'accept' | 'deliver' | 'wake';
52
+ readonly kind: 'channel';
53
+ readonly source: PalChannelSource;
54
+ readonly recipient: PalAddress;
55
+ readonly routeKey: PalChannelIntent['routeKey'];
56
+ readonly body: string;
57
+ readonly replyTo: null;
58
+ }
59
+ export interface PalChannelIngressOptions {
60
+ readonly connection: PalChannelConnection;
61
+ readonly verify: PalChannelVerifier;
62
+ readonly routes: PalChannelRoutes;
63
+ readonly store: PalIngressStore;
64
+ readonly pals: PalStore;
65
+ /** Host selection is used only before the first immutable route decision. */
66
+ readonly selectRecipient: (event: PalChannelVerifiedMessage, connection: PalChannelConnection) => Promise<PalAddress>;
67
+ readonly authorize: (request: PalChannelAuthorizationRequest) => Promise<PalMessageAuthorization>;
68
+ readonly host?: PalIngressHostPort;
69
+ readonly now?: () => number;
70
+ readonly onNotificationError?: (error: unknown, receipt: PalIngressAcceptanceReceipt) => void | Promise<void>;
71
+ }
72
+ export interface PalChannelExecutionContext {
73
+ readonly recipient: PalAddress;
74
+ readonly sessionId: SessionId;
75
+ readonly profileRevision: number;
76
+ }
77
+ export interface PalChannelRouteAuthorizationRequest {
78
+ readonly phase: 'reply' | 'action';
79
+ readonly message: PalChannelIntent;
80
+ readonly context: PalChannelExecutionContext;
81
+ /** Reply uses its triggering event actor; actions authenticate their current actor independently. */
82
+ readonly actorId: string;
83
+ readonly action?: PalChannelVerifiedAction;
84
+ }
85
+ export interface PalChannelResolvedRoute {
86
+ readonly connection: PalChannelConnection;
87
+ readonly identity: PalChannelIdentity;
88
+ readonly deliveryRef: InboundDeliveryRef;
89
+ readonly recordedReceipt: InboundDeliveryReceipt;
90
+ readonly eventActorId: string;
91
+ readonly currentActorId: string;
92
+ readonly context: PalChannelExecutionContext;
93
+ }
94
+ export interface PalChannelRouterOptions {
95
+ readonly connection: PalChannelConnection;
96
+ readonly verify: PalChannelVerifier;
97
+ readonly store: PalIngressStore;
98
+ readonly pals: PalStore;
99
+ readonly host: PalIngressHostPort;
100
+ readonly authorize: (request: PalChannelRouteAuthorizationRequest) => Promise<PalMessageAuthorization>;
101
+ /** Must durably consume an exact native action once and confirm its result. No transport default. */
102
+ readonly actions?: PalChannelActionPort;
103
+ }
104
+ export interface PalChannelActionContext {
105
+ readonly route: PalChannelResolvedRoute;
106
+ readonly action: PalChannelVerifiedAction;
107
+ }
108
+ export interface PalChannelActionPort {
109
+ execute(context: PalChannelActionContext, signal: AbortSignal): Promise<PalChannelActionResult>;
110
+ }
111
+ export interface PalChannelActionResult {
112
+ readonly status: 'applied' | 'rejected';
113
+ readonly receiptId: string;
114
+ }
115
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/pals/channels/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EACX,sBAAsB,EACtB,kBAAkB,EAClB,MAAM,yCAAyC,CAAA;AAChD,OAAO,KAAK,EACX,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,2BAA2B,EAC3B,kBAAkB,EAClB,eAAe,EACf,MAAM,mCAAmC,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACpF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,0FAA0F;AAC1F,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CACjC;AAED,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACxB;AAED,uGAAuG;AACvG,MAAM,WAAW,yBAA0B,SAAQ,0BAA0B;IAC5E,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACrB;AAED,yFAAyF;AACzF,MAAM,WAAW,wBAAyB,SAAQ,0BAA0B;IAC3E,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAA;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,kGAAkG;IAClG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,uBAAuB,GAAG,yBAAyB,GAAG,wBAAwB,CAAA;AAE1F,gGAAgG;AAChG,MAAM,MAAM,kBAAkB,GAAG,CAChC,GAAG,EAAE,OAAO,EACZ,UAAU,EAAE,oBAAoB,EAChC,MAAM,EAAE,WAAW,KACf,OAAO,CAAC,uBAAuB,CAAC,CAAA;AAErC,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAA;IACb,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAA;IACrC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAA;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAChC;AAED,kGAAkG;AAClG,MAAM,WAAW,gBAAgB;IAChC,GAAG,CACF,UAAU,EAAE,oBAAoB,EAChC,QAAQ,EAAE,kBAAkB,GAC1B,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAA;IAC1C,OAAO,CAAC,QAAQ,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAA;CAC5E;AAED,MAAM,WAAW,8BAA8B;IAC9C,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;IAC7C,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAA;IACjC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAA;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAA;CACtB;AAED,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAA;IACzC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;IACnC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAA;IACjC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,6EAA6E;IAC7E,QAAQ,CAAC,eAAe,EAAE,CACzB,KAAK,EAAE,yBAAyB,EAChC,UAAU,EAAE,oBAAoB,KAC5B,OAAO,CAAC,UAAU,CAAC,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,8BAA8B,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAA;IACjG,QAAQ,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAA;IAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAC3B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAC9B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,2BAA2B,KAChC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACzB;AAED,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAA;IAC9B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAChC;AAED,MAAM,WAAW,mCAAmC;IACnD,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAA;IAClC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAA;IAClC,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAA;IAC5C,qGAAqG;IACrG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,wBAAwB,CAAA;CAC1C;AAED,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAA;IACzC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAA;IACrC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAA;IACxC,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAA;IAChD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAA;CAC5C;AAED,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAA;IACzC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;IACnC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;IACjC,QAAQ,CAAC,SAAS,EAAE,CACnB,OAAO,EAAE,mCAAmC,KACxC,OAAO,CAAC,uBAAuB,CAAC,CAAA;IACrC,qGAAqG;IACrG,QAAQ,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAA;CACvC;AAED,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAA;IACvC,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAA;CACzC;AAED,MAAM,WAAW,oBAAoB;IACpC,OAAO,CAAC,OAAO,EAAE,uBAAuB,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;CAC/F;AAED,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,CAAA;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/pals/channels/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { type PalMessageBrokerOptions, type PalMessageSender, type PalMessageSenderContext } from './types.js';
2
+ /** Host-owned identity and current policy; model text never selects its sender. */
3
+ export declare class PalMessageBroker {
4
+ private readonly options;
5
+ constructor(options: PalMessageBrokerOptions);
6
+ sender(input: PalMessageSenderContext): PalMessageSender;
7
+ }
8
+ //# sourceMappingURL=broker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../../../src/pals/communication/broker.ts"],"names":[],"mappings":"AAUA,OAAO,EACN,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAI5B,MAAM,YAAY,CAAA;AAGnB,mFAAmF;AACnF,qBAAa,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,uBAAuB;IAI7D,MAAM,CAAC,KAAK,EAAE,uBAAuB,GAAG,gBAAgB;CAwGxD"}