@assemblyline-agents/runtime 1.0.0 → 3.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 (460) hide show
  1. package/LICENSE +1 -1
  2. package/dist/a2a-client.d.ts +22 -0
  3. package/dist/a2a-client.d.ts.map +1 -0
  4. package/dist/a2a-client.js +211 -0
  5. package/dist/a2a-client.js.map +1 -0
  6. package/dist/agent-capability-snapshot.d.ts +32 -0
  7. package/dist/agent-capability-snapshot.d.ts.map +1 -0
  8. package/dist/agent-capability-snapshot.js +77 -0
  9. package/dist/agent-capability-snapshot.js.map +1 -0
  10. package/dist/agent-event-handlers.d.ts +21 -0
  11. package/dist/agent-event-handlers.d.ts.map +1 -0
  12. package/dist/agent-event-handlers.js +64 -0
  13. package/dist/agent-event-handlers.js.map +1 -0
  14. package/dist/agent-hook-context.d.ts +8 -0
  15. package/dist/agent-hook-context.d.ts.map +1 -0
  16. package/dist/agent-hook-context.js +29 -0
  17. package/dist/agent-hook-context.js.map +1 -0
  18. package/dist/agent-hook-evaluation.d.ts +61 -0
  19. package/dist/agent-hook-evaluation.d.ts.map +1 -0
  20. package/dist/agent-hook-evaluation.js +197 -0
  21. package/dist/agent-hook-evaluation.js.map +1 -0
  22. package/dist/agent-hook-run-lifecycle.d.ts +44 -0
  23. package/dist/agent-hook-run-lifecycle.d.ts.map +1 -0
  24. package/dist/agent-hook-run-lifecycle.js +76 -0
  25. package/dist/agent-hook-run-lifecycle.js.map +1 -0
  26. package/dist/agent-state.d.ts +31 -0
  27. package/dist/agent-state.d.ts.map +1 -0
  28. package/dist/agent-state.js +80 -0
  29. package/dist/agent-state.js.map +1 -0
  30. package/dist/agent-surface.d.ts +32 -0
  31. package/dist/agent-surface.d.ts.map +1 -0
  32. package/dist/agent-surface.js +85 -0
  33. package/dist/agent-surface.js.map +1 -0
  34. package/dist/attachments.d.ts +5 -1
  35. package/dist/attachments.d.ts.map +1 -1
  36. package/dist/attachments.js +58 -32
  37. package/dist/attachments.js.map +1 -1
  38. package/dist/audience.d.ts +30 -0
  39. package/dist/audience.d.ts.map +1 -0
  40. package/dist/audience.js +68 -0
  41. package/dist/audience.js.map +1 -0
  42. package/dist/authored-hooks.d.ts +6 -0
  43. package/dist/authored-hooks.d.ts.map +1 -0
  44. package/dist/authored-hooks.js +17 -0
  45. package/dist/authored-hooks.js.map +1 -0
  46. package/dist/automation-event-match.d.ts +8 -0
  47. package/dist/automation-event-match.d.ts.map +1 -0
  48. package/dist/automation-event-match.js +25 -0
  49. package/dist/automation-event-match.js.map +1 -0
  50. package/dist/background-review-trigger.d.ts +9 -0
  51. package/dist/background-review-trigger.d.ts.map +1 -0
  52. package/dist/background-review-trigger.js +72 -0
  53. package/dist/background-review-trigger.js.map +1 -0
  54. package/dist/background-review-types.d.ts +60 -0
  55. package/dist/background-review-types.d.ts.map +1 -0
  56. package/dist/background-review-types.js +2 -0
  57. package/dist/background-review-types.js.map +1 -0
  58. package/dist/background-review-worker.d.ts +14 -0
  59. package/dist/background-review-worker.d.ts.map +1 -0
  60. package/dist/background-review-worker.js +61 -0
  61. package/dist/background-review-worker.js.map +1 -0
  62. package/dist/background-review.d.ts +5 -0
  63. package/dist/background-review.d.ts.map +1 -0
  64. package/dist/background-review.js +332 -0
  65. package/dist/background-review.js.map +1 -0
  66. package/dist/builtin-tool-executors.d.ts +50 -27
  67. package/dist/builtin-tool-executors.d.ts.map +1 -1
  68. package/dist/builtin-tool-executors.js +332 -124
  69. package/dist/builtin-tool-executors.js.map +1 -1
  70. package/dist/builtin-tools.d.ts +16 -9
  71. package/dist/builtin-tools.d.ts.map +1 -1
  72. package/dist/builtin-tools.js +308 -116
  73. package/dist/builtin-tools.js.map +1 -1
  74. package/dist/capability-catalog.d.ts +3 -2
  75. package/dist/capability-catalog.d.ts.map +1 -1
  76. package/dist/capability-catalog.js +12 -7
  77. package/dist/capability-catalog.js.map +1 -1
  78. package/dist/capability-inspection.d.ts +31 -0
  79. package/dist/capability-inspection.d.ts.map +1 -0
  80. package/dist/capability-inspection.js +58 -0
  81. package/dist/capability-inspection.js.map +1 -0
  82. package/dist/channel-http-util.d.ts.map +1 -1
  83. package/dist/channel-http-util.js +6 -5
  84. package/dist/channel-http-util.js.map +1 -1
  85. package/dist/channel-ingress.d.ts +16 -1
  86. package/dist/channel-ingress.d.ts.map +1 -1
  87. package/dist/channel-ingress.js +152 -14
  88. package/dist/channel-ingress.js.map +1 -1
  89. package/dist/channel.d.ts +73 -3
  90. package/dist/channel.d.ts.map +1 -1
  91. package/dist/checkpoints.d.ts +1 -1
  92. package/dist/checkpoints.d.ts.map +1 -1
  93. package/dist/checkpoints.js +6 -6
  94. package/dist/checkpoints.js.map +1 -1
  95. package/dist/child-process-env.d.ts +7 -0
  96. package/dist/child-process-env.d.ts.map +1 -0
  97. package/dist/child-process-env.js +41 -0
  98. package/dist/child-process-env.js.map +1 -0
  99. package/dist/computer-relay-protocol.d.ts.map +1 -1
  100. package/dist/computer-relay-protocol.js +4 -4
  101. package/dist/computer-relay-protocol.js.map +1 -1
  102. package/dist/concurrency.d.ts +1 -1
  103. package/dist/concurrency.js +1 -1
  104. package/dist/connection-auth-util.d.ts +1 -0
  105. package/dist/connection-auth-util.d.ts.map +1 -1
  106. package/dist/connection-auth-util.js +3 -1
  107. package/dist/connection-auth-util.js.map +1 -1
  108. package/dist/connection-clients.d.ts +11 -3
  109. package/dist/connection-clients.d.ts.map +1 -1
  110. package/dist/connection-clients.js +71 -8
  111. package/dist/connection-clients.js.map +1 -1
  112. package/dist/connection-event-store.d.ts +98 -0
  113. package/dist/connection-event-store.d.ts.map +1 -0
  114. package/dist/connection-event-store.js +162 -0
  115. package/dist/connection-event-store.js.map +1 -0
  116. package/dist/connection-events.d.ts +51 -0
  117. package/dist/connection-events.d.ts.map +1 -0
  118. package/dist/connection-events.js +343 -0
  119. package/dist/connection-events.js.map +1 -0
  120. package/dist/connection-stores.d.ts +6 -0
  121. package/dist/connection-stores.d.ts.map +1 -1
  122. package/dist/connection-stores.js +20 -1
  123. package/dist/connection-stores.js.map +1 -1
  124. package/dist/connection-util.d.ts +3 -2
  125. package/dist/connection-util.d.ts.map +1 -1
  126. package/dist/connection-util.js +18 -1
  127. package/dist/connection-util.js.map +1 -1
  128. package/dist/connections.d.ts +60 -5
  129. package/dist/connections.d.ts.map +1 -1
  130. package/dist/connections.js +390 -57
  131. package/dist/connections.js.map +1 -1
  132. package/dist/context-policy-util.d.ts.map +1 -1
  133. package/dist/context-policy-util.js +1 -3
  134. package/dist/context-policy-util.js.map +1 -1
  135. package/dist/conversation-context.d.ts +9 -4
  136. package/dist/conversation-context.d.ts.map +1 -1
  137. package/dist/conversation-context.js +65 -19
  138. package/dist/conversation-context.js.map +1 -1
  139. package/dist/conversation-transcript.d.ts +8 -5
  140. package/dist/conversation-transcript.d.ts.map +1 -1
  141. package/dist/conversation-transcript.js +24 -5
  142. package/dist/conversation-transcript.js.map +1 -1
  143. package/dist/conversation-turn-coalescing.d.ts +22 -0
  144. package/dist/conversation-turn-coalescing.d.ts.map +1 -0
  145. package/dist/conversation-turn-coalescing.js +121 -0
  146. package/dist/conversation-turn-coalescing.js.map +1 -0
  147. package/dist/conversation-turn-dispatch.d.ts +5 -2
  148. package/dist/conversation-turn-dispatch.d.ts.map +1 -1
  149. package/dist/conversation-turn-dispatch.js +59 -22
  150. package/dist/conversation-turn-dispatch.js.map +1 -1
  151. package/dist/default-outbound-route.d.ts +29 -0
  152. package/dist/default-outbound-route.d.ts.map +1 -0
  153. package/dist/default-outbound-route.js +105 -0
  154. package/dist/default-outbound-route.js.map +1 -0
  155. package/dist/delivery-artifacts.d.ts +2 -0
  156. package/dist/delivery-artifacts.d.ts.map +1 -0
  157. package/dist/delivery-artifacts.js +34 -0
  158. package/dist/delivery-artifacts.js.map +1 -0
  159. package/dist/delivery-files.d.ts +5 -0
  160. package/dist/delivery-files.d.ts.map +1 -0
  161. package/dist/delivery-files.js +33 -0
  162. package/dist/delivery-files.js.map +1 -0
  163. package/dist/delivery-queue.d.ts +21 -1
  164. package/dist/delivery-queue.d.ts.map +1 -1
  165. package/dist/delivery-queue.js +144 -1
  166. package/dist/delivery-queue.js.map +1 -1
  167. package/dist/delivery-send.d.ts +2 -2
  168. package/dist/delivery-send.d.ts.map +1 -1
  169. package/dist/delivery-send.js +256 -100
  170. package/dist/delivery-send.js.map +1 -1
  171. package/dist/durable-files.d.ts +37 -0
  172. package/dist/durable-files.d.ts.map +1 -0
  173. package/dist/durable-files.js +63 -0
  174. package/dist/durable-files.js.map +1 -0
  175. package/dist/harness-loop.d.ts +18 -9
  176. package/dist/harness-loop.d.ts.map +1 -1
  177. package/dist/harness-loop.js +245 -50
  178. package/dist/harness-loop.js.map +1 -1
  179. package/dist/heic-transcode-worker.d.ts +2 -0
  180. package/dist/heic-transcode-worker.d.ts.map +1 -0
  181. package/dist/heic-transcode-worker.js +59 -0
  182. package/dist/heic-transcode-worker.js.map +1 -0
  183. package/dist/heic-transcode.d.ts +18 -0
  184. package/dist/heic-transcode.d.ts.map +1 -0
  185. package/dist/heic-transcode.js +99 -0
  186. package/dist/heic-transcode.js.map +1 -0
  187. package/dist/human-input-routing.d.ts +22 -0
  188. package/dist/human-input-routing.d.ts.map +1 -0
  189. package/dist/human-input-routing.js +26 -0
  190. package/dist/human-input-routing.js.map +1 -0
  191. package/dist/in-memory-agent-state-store.d.ts +21 -0
  192. package/dist/in-memory-agent-state-store.d.ts.map +1 -0
  193. package/dist/in-memory-agent-state-store.js +97 -0
  194. package/dist/in-memory-agent-state-store.js.map +1 -0
  195. package/dist/in-memory-conversation-turn-store.d.ts +3 -1
  196. package/dist/in-memory-conversation-turn-store.d.ts.map +1 -1
  197. package/dist/in-memory-conversation-turn-store.js +41 -2
  198. package/dist/in-memory-conversation-turn-store.js.map +1 -1
  199. package/dist/in-memory-run-store.d.ts +8 -0
  200. package/dist/in-memory-run-store.d.ts.map +1 -1
  201. package/dist/in-memory-run-store.js +28 -5
  202. package/dist/in-memory-run-store.js.map +1 -1
  203. package/dist/in-memory-sandbox-session-store.d.ts +2 -1
  204. package/dist/in-memory-sandbox-session-store.d.ts.map +1 -1
  205. package/dist/in-memory-sandbox-session-store.js +65 -1
  206. package/dist/in-memory-sandbox-session-store.js.map +1 -1
  207. package/dist/in-memory-small-stores.d.ts +18 -1
  208. package/dist/in-memory-small-stores.d.ts.map +1 -1
  209. package/dist/in-memory-small-stores.js +107 -1
  210. package/dist/in-memory-small-stores.js.map +1 -1
  211. package/dist/in-memory-workspace-store.d.ts +40 -0
  212. package/dist/in-memory-workspace-store.d.ts.map +1 -0
  213. package/dist/in-memory-workspace-store.js +370 -0
  214. package/dist/in-memory-workspace-store.js.map +1 -0
  215. package/dist/index.d.ts +116 -45
  216. package/dist/index.d.ts.map +1 -1
  217. package/dist/index.js +637 -566
  218. package/dist/index.js.map +1 -1
  219. package/dist/json-util.d.ts +8 -0
  220. package/dist/json-util.d.ts.map +1 -1
  221. package/dist/json-util.js +8 -0
  222. package/dist/json-util.js.map +1 -1
  223. package/dist/learning-store.d.ts +111 -0
  224. package/dist/learning-store.d.ts.map +1 -0
  225. package/dist/learning-store.js +193 -0
  226. package/dist/learning-store.js.map +1 -0
  227. package/dist/local-sandbox.d.ts +3 -2
  228. package/dist/local-sandbox.d.ts.map +1 -1
  229. package/dist/local-sandbox.js +69 -25
  230. package/dist/local-sandbox.js.map +1 -1
  231. package/dist/mcp-client.d.ts.map +1 -1
  232. package/dist/mcp-client.js +3 -2
  233. package/dist/mcp-client.js.map +1 -1
  234. package/dist/media-processor.d.ts +42 -0
  235. package/dist/media-processor.d.ts.map +1 -0
  236. package/dist/media-processor.js +2 -0
  237. package/dist/media-processor.js.map +1 -0
  238. package/dist/model-media.d.ts +13 -1
  239. package/dist/model-media.d.ts.map +1 -1
  240. package/dist/model-media.js +81 -18
  241. package/dist/model-media.js.map +1 -1
  242. package/dist/model-visible-interrupts.d.ts +10 -0
  243. package/dist/model-visible-interrupts.d.ts.map +1 -0
  244. package/dist/model-visible-interrupts.js +41 -0
  245. package/dist/model-visible-interrupts.js.map +1 -0
  246. package/dist/operator-controls.d.ts.map +1 -1
  247. package/dist/operator-controls.js +16 -3
  248. package/dist/operator-controls.js.map +1 -1
  249. package/dist/outbound-http-policy.d.ts +7 -0
  250. package/dist/outbound-http-policy.d.ts.map +1 -0
  251. package/dist/outbound-http-policy.js +155 -0
  252. package/dist/outbound-http-policy.js.map +1 -0
  253. package/dist/principals.d.ts +18 -0
  254. package/dist/principals.d.ts.map +1 -0
  255. package/dist/principals.js +90 -0
  256. package/dist/principals.js.map +1 -0
  257. package/dist/public-api.d.ts +21 -0
  258. package/dist/public-api.d.ts.map +1 -0
  259. package/dist/public-api.js +19 -0
  260. package/dist/public-api.js.map +1 -0
  261. package/dist/replay-resume.d.ts +15 -3
  262. package/dist/replay-resume.d.ts.map +1 -1
  263. package/dist/replay-resume.js +256 -24
  264. package/dist/replay-resume.js.map +1 -1
  265. package/dist/resource-projection-util.d.ts +1 -1
  266. package/dist/resource-projection-util.d.ts.map +1 -1
  267. package/dist/resource-projection-util.js +21 -10
  268. package/dist/resource-projection-util.js.map +1 -1
  269. package/dist/resource-projection.d.ts +8 -1
  270. package/dist/resource-projection.d.ts.map +1 -1
  271. package/dist/resource-projection.js +230 -26
  272. package/dist/resource-projection.js.map +1 -1
  273. package/dist/run-heartbeat.d.ts +12 -2
  274. package/dist/run-heartbeat.d.ts.map +1 -1
  275. package/dist/run-heartbeat.js +31 -4
  276. package/dist/run-heartbeat.js.map +1 -1
  277. package/dist/run-outcome.d.ts +9 -5
  278. package/dist/run-outcome.d.ts.map +1 -1
  279. package/dist/run-outcome.js +16 -5
  280. package/dist/run-outcome.js.map +1 -1
  281. package/dist/run-recovery.d.ts +31 -2
  282. package/dist/run-recovery.d.ts.map +1 -1
  283. package/dist/run-recovery.js +211 -32
  284. package/dist/run-recovery.js.map +1 -1
  285. package/dist/run-replay.d.ts +35 -0
  286. package/dist/run-replay.d.ts.map +1 -0
  287. package/dist/run-replay.js +193 -0
  288. package/dist/run-replay.js.map +1 -0
  289. package/dist/run-result.d.ts +4 -0
  290. package/dist/run-result.d.ts.map +1 -0
  291. package/dist/run-result.js +18 -0
  292. package/dist/run-result.js.map +1 -0
  293. package/dist/run-timeline-query.d.ts +38 -0
  294. package/dist/run-timeline-query.d.ts.map +1 -0
  295. package/dist/run-timeline-query.js +99 -0
  296. package/dist/run-timeline-query.js.map +1 -0
  297. package/dist/runs-query.d.ts.map +1 -1
  298. package/dist/runs-query.js +12 -4
  299. package/dist/runs-query.js.map +1 -1
  300. package/dist/runtime-bundle.d.ts.map +1 -1
  301. package/dist/runtime-bundle.js +2 -0
  302. package/dist/runtime-bundle.js.map +1 -1
  303. package/dist/runtime-learning.d.ts +88 -0
  304. package/dist/runtime-learning.d.ts.map +1 -0
  305. package/dist/runtime-learning.js +260 -0
  306. package/dist/runtime-learning.js.map +1 -0
  307. package/dist/runtime-types.d.ts +79 -10
  308. package/dist/runtime-types.d.ts.map +1 -1
  309. package/dist/sandbox-fs.d.ts +9 -5
  310. package/dist/sandbox-fs.d.ts.map +1 -1
  311. package/dist/sandbox-fs.js +50 -33
  312. package/dist/sandbox-fs.js.map +1 -1
  313. package/dist/sandbox-handle.d.ts +25 -0
  314. package/dist/sandbox-handle.d.ts.map +1 -0
  315. package/dist/sandbox-handle.js +120 -0
  316. package/dist/sandbox-handle.js.map +1 -0
  317. package/dist/sandbox-session-identity.d.ts +14 -0
  318. package/dist/sandbox-session-identity.d.ts.map +1 -0
  319. package/dist/sandbox-session-identity.js +33 -0
  320. package/dist/sandbox-session-identity.js.map +1 -0
  321. package/dist/sandbox-session-key.d.ts.map +1 -1
  322. package/dist/sandbox-session-key.js +14 -10
  323. package/dist/sandbox-session-key.js.map +1 -1
  324. package/dist/sandbox-session-lifecycle.d.ts +12 -0
  325. package/dist/sandbox-session-lifecycle.d.ts.map +1 -0
  326. package/dist/sandbox-session-lifecycle.js +261 -0
  327. package/dist/sandbox-session-lifecycle.js.map +1 -0
  328. package/dist/sandbox-snapshot-policy.js +3 -3
  329. package/dist/sandbox-snapshot-policy.js.map +1 -1
  330. package/dist/sandbox-state-sync.d.ts +22 -0
  331. package/dist/sandbox-state-sync.d.ts.map +1 -0
  332. package/dist/sandbox-state-sync.js +147 -0
  333. package/dist/sandbox-state-sync.js.map +1 -0
  334. package/dist/sandbox-sync-worker.d.ts +11 -2
  335. package/dist/sandbox-sync-worker.d.ts.map +1 -1
  336. package/dist/sandbox-sync-worker.js +143 -31
  337. package/dist/sandbox-sync-worker.js.map +1 -1
  338. package/dist/schedule-execution.d.ts.map +1 -1
  339. package/dist/schedule-execution.js +187 -57
  340. package/dist/schedule-execution.js.map +1 -1
  341. package/dist/sdk-api-client.d.ts +17 -0
  342. package/dist/sdk-api-client.d.ts.map +1 -0
  343. package/dist/sdk-api-client.js +55 -0
  344. package/dist/sdk-api-client.js.map +1 -0
  345. package/dist/security.js +2 -2
  346. package/dist/security.js.map +1 -1
  347. package/dist/self-improvement.d.ts +34 -6
  348. package/dist/self-improvement.d.ts.map +1 -1
  349. package/dist/self-improvement.js +140 -34
  350. package/dist/self-improvement.js.map +1 -1
  351. package/dist/skill-bundles.d.ts +55 -0
  352. package/dist/skill-bundles.d.ts.map +1 -0
  353. package/dist/skill-bundles.js +134 -0
  354. package/dist/skill-bundles.js.map +1 -0
  355. package/dist/source-loader.d.ts +8 -0
  356. package/dist/source-loader.d.ts.map +1 -1
  357. package/dist/source-loader.js +41 -10
  358. package/dist/source-loader.js.map +1 -1
  359. package/dist/state-store-helpers.d.ts +2 -0
  360. package/dist/state-store-helpers.d.ts.map +1 -1
  361. package/dist/state-store-helpers.js +11 -1
  362. package/dist/state-store-helpers.js.map +1 -1
  363. package/dist/state-stores.d.ts +2 -0
  364. package/dist/state-stores.d.ts.map +1 -1
  365. package/dist/state-stores.js +40 -7
  366. package/dist/state-stores.js.map +1 -1
  367. package/dist/state.d.ts +344 -5
  368. package/dist/state.d.ts.map +1 -1
  369. package/dist/state.js +44 -2
  370. package/dist/state.js.map +1 -1
  371. package/dist/storage.d.ts +59 -2
  372. package/dist/storage.d.ts.map +1 -1
  373. package/dist/storage.js +183 -6
  374. package/dist/storage.js.map +1 -1
  375. package/dist/subagent-execution.d.ts +7 -6
  376. package/dist/subagent-execution.d.ts.map +1 -1
  377. package/dist/subagent-execution.js +58 -19
  378. package/dist/subagent-execution.js.map +1 -1
  379. package/dist/target-instructions.d.ts +14 -0
  380. package/dist/target-instructions.d.ts.map +1 -0
  381. package/dist/target-instructions.js +18 -0
  382. package/dist/target-instructions.js.map +1 -0
  383. package/dist/tool-apis.d.ts.map +1 -1
  384. package/dist/tool-apis.js +55 -10
  385. package/dist/tool-apis.js.map +1 -1
  386. package/dist/tool-execution.d.ts +26 -13
  387. package/dist/tool-execution.d.ts.map +1 -1
  388. package/dist/tool-execution.js +368 -239
  389. package/dist/tool-execution.js.map +1 -1
  390. package/dist/turn-media.d.ts +29 -0
  391. package/dist/turn-media.d.ts.map +1 -0
  392. package/dist/turn-media.js +233 -0
  393. package/dist/turn-media.js.map +1 -0
  394. package/dist/usage-reconciliation.d.ts +1 -1
  395. package/dist/usage-reconciliation.js +1 -1
  396. package/dist/workspace-id.d.ts +10 -0
  397. package/dist/workspace-id.d.ts.map +1 -0
  398. package/dist/workspace-id.js +55 -0
  399. package/dist/workspace-id.js.map +1 -0
  400. package/dist/workspace-manifest.d.ts +24 -0
  401. package/dist/workspace-manifest.d.ts.map +1 -0
  402. package/dist/workspace-manifest.js +111 -0
  403. package/dist/workspace-manifest.js.map +1 -0
  404. package/dist/workspace-operation-limiter.d.ts +16 -0
  405. package/dist/workspace-operation-limiter.d.ts.map +1 -0
  406. package/dist/workspace-operation-limiter.js +31 -0
  407. package/dist/workspace-operation-limiter.js.map +1 -0
  408. package/dist/workspace-operations.d.ts +145 -0
  409. package/dist/workspace-operations.d.ts.map +1 -0
  410. package/dist/workspace-operations.js +420 -0
  411. package/dist/workspace-operations.js.map +1 -0
  412. package/dist/workspace-runtime.d.ts +110 -0
  413. package/dist/workspace-runtime.d.ts.map +1 -0
  414. package/dist/workspace-runtime.js +240 -0
  415. package/dist/workspace-runtime.js.map +1 -0
  416. package/dist/workspace-search.d.ts +55 -0
  417. package/dist/workspace-search.d.ts.map +1 -0
  418. package/dist/workspace-search.js +262 -0
  419. package/dist/workspace-search.js.map +1 -0
  420. package/dist/workspace-service.d.ts +173 -0
  421. package/dist/workspace-service.d.ts.map +1 -0
  422. package/dist/workspace-service.js +619 -0
  423. package/dist/workspace-service.js.map +1 -0
  424. package/dist/workspace.d.ts +7 -0
  425. package/dist/workspace.d.ts.map +1 -0
  426. package/dist/workspace.js +7 -0
  427. package/dist/workspace.js.map +1 -0
  428. package/package.json +7 -4
  429. package/dist/agent-harness.d.ts +0 -108
  430. package/dist/agent-harness.d.ts.map +0 -1
  431. package/dist/agent-harness.js +0 -2
  432. package/dist/agent-harness.js.map +0 -1
  433. package/dist/attachments-legacy.d.ts +0 -17
  434. package/dist/attachments-legacy.d.ts.map +0 -1
  435. package/dist/attachments-legacy.js +0 -273
  436. package/dist/attachments-legacy.js.map +0 -1
  437. package/dist/code-mode.d.ts +0 -20
  438. package/dist/code-mode.d.ts.map +0 -1
  439. package/dist/code-mode.js +0 -658
  440. package/dist/code-mode.js.map +0 -1
  441. package/dist/hook-dispatch.d.ts +0 -19
  442. package/dist/hook-dispatch.d.ts.map +0 -1
  443. package/dist/hook-dispatch.js +0 -37
  444. package/dist/hook-dispatch.js.map +0 -1
  445. package/dist/pi-agent-harness.d.ts +0 -40
  446. package/dist/pi-agent-harness.d.ts.map +0 -1
  447. package/dist/pi-agent-harness.js +0 -222
  448. package/dist/pi-agent-harness.js.map +0 -1
  449. package/dist/pi-harness.d.ts +0 -42
  450. package/dist/pi-harness.d.ts.map +0 -1
  451. package/dist/pi-harness.js +0 -142
  452. package/dist/pi-harness.js.map +0 -1
  453. package/dist/run-resolver.d.ts +0 -35
  454. package/dist/run-resolver.d.ts.map +0 -1
  455. package/dist/run-resolver.js +0 -84
  456. package/dist/run-resolver.js.map +0 -1
  457. package/dist/usage-budget.d.ts +0 -29
  458. package/dist/usage-budget.d.ts.map +0 -1
  459. package/dist/usage-budget.js +0 -145
  460. package/dist/usage-budget.js.map +0 -1
@@ -0,0 +1,197 @@
1
+ import { evaluateAgentSetup, validateResolvedAgentCapabilities } from "@assemblyline-agents/core";
2
+ import { defaultHookConnections, defaultHookSkills, defaultHookSubagents, defaultHookTools, hookCapabilityCatalog } from "./agent-hook-context.js";
3
+ import { rootAgentSurface } from "./agent-surface.js";
4
+ import { capabilitySnapshotMaterial, persistCapabilitySnapshot } from "./agent-capability-snapshot.js";
5
+ import { failRun } from "./run-outcome.js";
6
+ import { loadAuthoredHookRegistrations } from "./authored-hooks.js";
7
+ export class AgentHookEvaluationError extends Error {
8
+ constructor(message, options) {
9
+ super(message, options);
10
+ this.name = "AgentHookEvaluationError";
11
+ }
12
+ }
13
+ /** Owns dirty tracking and atomic replacement of one run's capability snapshot. */
14
+ export class AgentHookRunController {
15
+ options;
16
+ snapshotValue;
17
+ dirtyValue = true;
18
+ evaluationSequence = 0;
19
+ evaluating = false;
20
+ constructor(options) {
21
+ this.options = options;
22
+ }
23
+ get current() {
24
+ if (!this.snapshotValue)
25
+ throw new Error("Agent hooks have not been evaluated for this run.");
26
+ return this.snapshotValue;
27
+ }
28
+ get dirty() {
29
+ return this.dirtyValue || this.options.agentState.revision !== this.snapshotValue?.stateRevision;
30
+ }
31
+ markDirty() {
32
+ this.dirtyValue = true;
33
+ }
34
+ async evaluate(reason) {
35
+ if (this.evaluating)
36
+ throw new Error("Agent hook evaluation is already active for this run.");
37
+ if (this.evaluationSequence >= 50) {
38
+ throw new Error("Agent hook evaluation exceeded the 50-snapshot cycle limit for one run.");
39
+ }
40
+ this.evaluating = true;
41
+ try {
42
+ const stateSnapshot = await this.options.agentState.refresh();
43
+ const module = await this.options.sourceLoader.load(this.options.agentSource ?? this.options.manifest.agentSource);
44
+ const definition = module.default;
45
+ if (!definition || typeof definition !== "object" || typeof definition.setup !== "function") {
46
+ throw new Error("agent.ts must default-export defineAgent({ setup() { ... } }).");
47
+ }
48
+ const surface = this.options.surface ?? rootAgentSurface(this.options.manifest);
49
+ const catalog = this.options.catalog ?? hookCapabilityCatalog(this.options.manifest, surface);
50
+ const defaultTools = defaultHookTools(this.options.manifest, surface).filter((tool) => catalog.tools.has(tool));
51
+ let declaration = evaluateAgentSetup(definition.setup.bind(definition), {
52
+ run: this.options.run,
53
+ state: { values: stateSnapshot.values, revision: stateSnapshot.revision },
54
+ defaultTools,
55
+ defaultSkills: (this.options.defaultSkills ?? defaultHookSkills(surface)).filter((skill) => catalog.skills.has(skill)),
56
+ defaultConnections: defaultHookConnections(surface).filter((connection) => catalog.connections.has(connection)),
57
+ defaultSubagents: defaultHookSubagents(surface).filter((subagent) => catalog.subagents.has(subagent)),
58
+ setState: (key, value) => typeof value === "function"
59
+ ? this.options.agentState.update(key, value)
60
+ : this.options.agentState.set(key, value)
61
+ });
62
+ declaration = applyHostRestrictions(declaration, this.options.disabledTools, this.options.disabledConnections);
63
+ declaration = validateResolvedAgentCapabilities(declaration, catalog);
64
+ if (reason === "recovery") {
65
+ const restored = await this.restoreMatchingSnapshot(declaration, stateSnapshot.revision);
66
+ if (restored)
67
+ return restored;
68
+ }
69
+ this.evaluationSequence += 1;
70
+ const snapshot = await persistCapabilitySnapshot({
71
+ state: this.options.state,
72
+ blob: this.options.blob,
73
+ runId: this.options.run.id,
74
+ declaration,
75
+ sequence: this.evaluationSequence,
76
+ stateRevision: stateSnapshot.revision,
77
+ reason,
78
+ createCheckpoint: this.options.createCheckpoint
79
+ });
80
+ const authoredHooks = await loadAuthoredHookRegistrations(this.options.hooks ?? [], this.options.sourceLoader);
81
+ this.options.eventHandlers.replace(this.options.run.id, [...authoredHooks, ...declaration.events]);
82
+ this.snapshotValue = snapshot;
83
+ this.dirtyValue = this.options.agentState.revision !== stateSnapshot.revision;
84
+ return snapshot;
85
+ }
86
+ catch (error) {
87
+ const message = error instanceof Error ? error.message : String(error);
88
+ await this.options.state.appendEvent(this.options.run.id, "agent.hook_evaluation_failed", {
89
+ reason,
90
+ stateRevision: this.options.agentState.revision,
91
+ error: message
92
+ });
93
+ this.options.logger.warn("agent.hook_evaluation_failed", {
94
+ runId: this.options.run.id,
95
+ error: message
96
+ });
97
+ const current = await this.options.state.getRun(this.options.run.id);
98
+ if (current && current.status !== "failed") {
99
+ await failRun({ state: this.options.state }, this.options.run.id, {
100
+ reason: "agent.hook_evaluation_failed",
101
+ error: message,
102
+ data: { evaluationReason: reason, stateRevision: this.options.agentState.revision }
103
+ });
104
+ }
105
+ throw new AgentHookEvaluationError(message, { cause: error });
106
+ }
107
+ finally {
108
+ this.evaluating = false;
109
+ }
110
+ }
111
+ async refreshIfDirty() {
112
+ if (!this.dirty) {
113
+ // Another run in the same conversation may have advanced the shared
114
+ // revision, so local dirty notifications are only an optimization.
115
+ await this.options.agentState.refresh();
116
+ }
117
+ return this.dirty ? this.evaluate("state_changed") : this.current;
118
+ }
119
+ async restoreMatchingSnapshot(declaration, stateRevision) {
120
+ const checkpoints = await (this.options.listCheckpoints?.(this.options.run.id)
121
+ ?? this.options.state.listCheckpoints(this.options.run.id));
122
+ const checkpoint = [...checkpoints].reverse().find((candidate) => candidate.name === "agent.capability_snapshot");
123
+ if (!checkpoint)
124
+ return undefined;
125
+ const sequence = numberField(checkpoint.data.evaluationSequence ?? checkpoint.data.sequence);
126
+ if (sequence !== undefined)
127
+ this.evaluationSequence = Math.max(this.evaluationSequence, sequence);
128
+ const checkpointRevision = numberField(checkpoint.data.stateRevision);
129
+ const checkpointHash = stringField(checkpoint.data.hash);
130
+ const snapshotId = stringField(checkpoint.data.snapshotId);
131
+ if (checkpointRevision !== stateRevision || !checkpointHash || !snapshotId || sequence === undefined)
132
+ return undefined;
133
+ const material = capabilitySnapshotMaterial(declaration);
134
+ if (material.hash !== checkpointHash)
135
+ return undefined;
136
+ const restored = {
137
+ id: snapshotId,
138
+ hash: checkpointHash,
139
+ sequence,
140
+ stateRevision,
141
+ reason: "recovery",
142
+ declaration,
143
+ serializable: material.serializable,
144
+ checkpointId: checkpoint.id
145
+ };
146
+ const authoredHooks = await loadAuthoredHookRegistrations(this.options.hooks ?? [], this.options.sourceLoader);
147
+ this.options.eventHandlers.replace(this.options.run.id, [...authoredHooks, ...declaration.events]);
148
+ this.snapshotValue = restored;
149
+ this.dirtyValue = this.options.agentState.revision !== stateRevision;
150
+ return restored;
151
+ }
152
+ }
153
+ function stringField(value) {
154
+ return typeof value === "string" ? value : undefined;
155
+ }
156
+ function numberField(value) {
157
+ return typeof value === "number" && Number.isFinite(value) ? value : undefined;
158
+ }
159
+ function applyHostRestrictions(declaration, disabledTools, disabledConnections) {
160
+ const restricted = {
161
+ ...declaration,
162
+ instructions: [...declaration.instructions],
163
+ tools: disabledTools ? declaration.tools.filter((tool) => !disabledTools.has(tool)) : [...declaration.tools],
164
+ skills: [...declaration.skills],
165
+ connections: disabledConnections
166
+ ? declaration.connections.filter((connection) => !disabledConnections.has(connection))
167
+ : [...declaration.connections],
168
+ subagents: [...declaration.subagents],
169
+ events: [...declaration.events]
170
+ };
171
+ return restricted;
172
+ }
173
+ export function immutableAgentRunContext(input) {
174
+ const attachments = (input.attachments ?? []).map(attachmentMetadata);
175
+ return Object.freeze({
176
+ id: input.id,
177
+ message: input.message,
178
+ channel: input.channel,
179
+ conversationId: input.conversationId,
180
+ ...(input.userId ? { userId: input.userId } : {}),
181
+ ...(input.principal ? { principal: Object.freeze(cloneObject(input.principal)) } : {}),
182
+ ...(input.initiator ? { initiator: Object.freeze(cloneObject(input.initiator)) } : {}),
183
+ audience: Object.freeze(cloneObject((input.audience ?? { private: true }))),
184
+ attachments: Object.freeze(attachments),
185
+ ...(input.metadata ? { metadata: Object.freeze(cloneObject(input.metadata)) } : {})
186
+ });
187
+ }
188
+ function attachmentMetadata(attachment) {
189
+ const copy = cloneObject(attachment);
190
+ for (const key of ["data", "bytes", "contents", "text", "base64"])
191
+ delete copy[key];
192
+ return Object.freeze(copy);
193
+ }
194
+ function cloneObject(value) {
195
+ return JSON.parse(JSON.stringify(value));
196
+ }
197
+ //# sourceMappingURL=agent-hook-evaluation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-hook-evaluation.js","sourceRoot":"","sources":["../src/agent-hook-evaluation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,iCAAiC,EASlC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAqB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EAG1B,MAAM,gCAAgC,CAAC;AAQxC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEpE,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACjD,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAsBD,mFAAmF;AACnF,MAAM,OAAO,sBAAsB;IAMJ;IALrB,aAAa,CAA2B;IACxC,UAAU,GAAG,IAAI,CAAC;IAClB,kBAAkB,GAAG,CAAC,CAAC;IACvB,UAAU,GAAG,KAAK,CAAC;IAE3B,YAA6B,OAAsC;QAAtC,YAAO,GAAP,OAAO,CAA+B;IAAG,CAAC;IAEvE,IAAI,OAAO;QACT,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAC9F,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,KAAK,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC;IACnG,CAAC;IAED,SAAS;QACP,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAkC;QAC/C,IAAI,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC9F,IAAI,IAAI,CAAC,kBAAkB,IAAI,EAAE,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;QAC7F,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CACjD,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAC9D,CAAC;YACF,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;YAClC,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBAC5F,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;YACpF,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAChF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC9F,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAChH,IAAI,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBACtE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;gBACrB,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE;gBACzE,YAAY;gBACZ,aAAa,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACtH,kBAAkB,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC/G,gBAAgB,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACrG,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,UAAU;oBACnD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;oBAC5C,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;aAC5C,CAAC,CAAC;YACH,WAAW,GAAG,qBAAqB,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAC/G,WAAW,GAAG,iCAAiC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACtE,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACzF,IAAI,QAAQ;oBAAE,OAAO,QAAQ,CAAC;YAChC,CAAC;YACD,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC;YAC7B,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC;gBAC/C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;gBACzB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC1B,WAAW;gBACX,QAAQ,EAAE,IAAI,CAAC,kBAAkB;gBACjC,aAAa,EAAE,aAAa,CAAC,QAAQ;gBACrC,MAAM;gBACN,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB;aAChD,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,6BAA6B,CACvD,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,EACxB,IAAI,CAAC,OAAO,CAAC,YAAY,CAC1B,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,aAAa,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;YACnG,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,KAAK,aAAa,CAAC,QAAQ,CAAC;YAC9E,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,8BAA8B,EAAE;gBACxF,MAAM;gBACN,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;gBAC/C,KAAK,EAAE,OAAO;aACf,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;gBACvD,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC1B,KAAK,EAAE,OAAO;aACf,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrE,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC3C,MAAM,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE;oBAChE,MAAM,EAAE,8BAA8B;oBACtC,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE;iBACpF,CAAC,CAAC;YACL,CAAC;YACD,MAAM,IAAI,wBAAwB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAChE,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,oEAAoE;YACpE,mEAAmE;YACnE,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;IACpE,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,WAAsC,EACtC,aAAqB;QAErB,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;eACzE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,2BAA2B,CAAC,CAAC;QAClH,IAAI,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QAClC,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7F,IAAI,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QAClG,MAAM,kBAAkB,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtE,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3D,IAAI,kBAAkB,KAAK,aAAa,IAAI,CAAC,cAAc,IAAI,CAAC,UAAU,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACvH,MAAM,QAAQ,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,QAAQ,CAAC,IAAI,KAAK,cAAc;YAAE,OAAO,SAAS,CAAC;QACvD,MAAM,QAAQ,GAA4B;YACxC,EAAE,EAAE,UAAU;YACd,IAAI,EAAE,cAAc;YACpB,QAAQ;YACR,aAAa;YACb,MAAM,EAAE,UAAU;YAClB,WAAW;YACX,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,YAAY,EAAE,UAAU,CAAC,EAAE;SAC5B,CAAC;QACF,MAAM,aAAa,GAAG,MAAM,6BAA6B,CACvD,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,EACxB,IAAI,CAAC,OAAO,CAAC,YAAY,CAC1B,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,aAAa,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QACnG,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,KAAK,aAAa,CAAC;QACrE,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACjF,CAAC;AAED,SAAS,qBAAqB,CAC5B,WAAsC,EACtC,aAA8C,EAC9C,mBAAoD;IAEpD,MAAM,UAAU,GAA8B;QAC5C,GAAG,WAAW;QACd,YAAY,EAAE,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC;QAC3C,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC;QAC5G,MAAM,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;QAC/B,WAAW,EAAE,mBAAmB;YAC9B,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACtF,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC;QAChC,SAAS,EAAE,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC;QACrC,MAAM,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;KAChC,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAWxC;IACC,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACtE,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,SAAuB,CAAC,CAA8B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjI,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,SAAuB,CAAC,CAA8B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjI,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAA0B,CAAC,CAA6B;QAChI,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;QACvC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAsB;IAChD,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACrC,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACpF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,WAAW,CAAC,KAAiB;IACpC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAe,CAAC;AACzD,CAAC"}
@@ -0,0 +1,44 @@
1
+ import type { AgentCapabilityCatalog, AgentManifest, AgentRunContext, CompiledHook, JsonObject, ResolvedAgentCapabilities, SourceReference } from "@assemblyline-agents/core";
2
+ import type { AgentEventHandlerRegistry } from "./agent-event-handlers.js";
3
+ import { AgentHookRunController } from "./agent-hook-evaluation.js";
4
+ import { RuntimeAgentStateHandle } from "./agent-state.js";
5
+ import type { RuntimeLogger } from "./logging.js";
6
+ import type { RunStreamEvent } from "./run-stream.js";
7
+ import type { AgentSourceModuleLoader } from "./source-loader.js";
8
+ import type { BlobAdapter } from "./runtime-types.js";
9
+ import type { CheckpointRecord, ResolvedStateAdapter, RunRecord } from "./state.js";
10
+ import type { AgentSurface } from "./agent-surface.js";
11
+ export interface RuntimeAgentHookControllerOptions {
12
+ manifest: AgentManifest;
13
+ state: ResolvedStateAdapter;
14
+ blob: BlobAdapter;
15
+ sourceLoader: AgentSourceModuleLoader;
16
+ eventHandlers: AgentEventHandlerRegistry;
17
+ logger: RuntimeLogger;
18
+ agentScope: string;
19
+ conversationId: string;
20
+ run: AgentRunContext;
21
+ agentSource?: SourceReference;
22
+ surface?: AgentSurface;
23
+ catalog?: AgentCapabilityCatalog;
24
+ defaultSkills?: readonly string[];
25
+ hooks?: readonly CompiledHook[];
26
+ disabledTools?: ReadonlySet<string>;
27
+ disabledConnections?: ReadonlySet<string>;
28
+ createCheckpoint(input: Omit<CheckpointRecord, "id" | "createdAt">): Promise<CheckpointRecord>;
29
+ listCheckpoints(runId: string): Promise<CheckpointRecord[]>;
30
+ }
31
+ export declare function createRuntimeAgentHookController(options: RuntimeAgentHookControllerOptions): Promise<{
32
+ controller: AgentHookRunController;
33
+ agentState: RuntimeAgentStateHandle;
34
+ }>;
35
+ export interface RecoverAgentHookControllerOptions {
36
+ run: RunRecord;
37
+ manifest: AgentManifest;
38
+ createMain(message: string, metadata: JsonObject | undefined, channel: string, conversationId: string, attachments: JsonObject[]): Promise<AgentHookRunController>;
39
+ createSubagent(subagent: AgentManifest["subagents"][number], message: string, conversationId: string): Promise<AgentHookRunController>;
40
+ }
41
+ export declare function recoverAgentHookController(options: RecoverAgentHookControllerOptions): Promise<AgentHookRunController>;
42
+ export declare function removeTerminalAgentHookState(runId: string, event: RunStreamEvent, handlers: AgentEventHandlerRegistry, controllers: Map<string, AgentHookRunController>, states: Map<string, RuntimeAgentStateHandle>): void;
43
+ export declare function resolvedInstructionsForRun(manifest: AgentManifest, run: RunRecord, baseInstructions: string, capabilities: ResolvedAgentCapabilities): string;
44
+ //# sourceMappingURL=agent-hook-run-lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-hook-run-lifecycle.d.ts","sourceRoot":"","sources":["../src/agent-hook-run-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { AgentHookRunController } from "./agent-hook-evaluation.js";
2
+ import { RuntimeAgentStateHandle } from "./agent-state.js";
3
+ import { RUN_STREAM_TERMINAL_EVENTS } from "./run-stream.js";
4
+ import { findSubagent, surfaceForRun } from "./agent-surface.js";
5
+ export async function createRuntimeAgentHookController(options) {
6
+ let controller;
7
+ const agentState = await RuntimeAgentStateHandle.create({
8
+ state: options.state,
9
+ scope: { agentScope: options.agentScope, conversationId: options.conversationId },
10
+ runId: options.run.id,
11
+ appendEvent: (runId, type, data) => options.state.appendEvent(runId, type, data),
12
+ onChanged: () => controller?.markDirty()
13
+ });
14
+ controller = new AgentHookRunController({
15
+ manifest: options.manifest,
16
+ state: options.state,
17
+ blob: options.blob,
18
+ sourceLoader: options.sourceLoader,
19
+ agentState,
20
+ run: options.run,
21
+ eventHandlers: options.eventHandlers,
22
+ logger: options.logger,
23
+ createCheckpoint: options.createCheckpoint,
24
+ listCheckpoints: options.listCheckpoints,
25
+ ...(options.agentSource ? { agentSource: options.agentSource } : {}),
26
+ ...(options.surface ? { surface: options.surface } : {}),
27
+ ...(options.catalog ? { catalog: options.catalog } : {}),
28
+ ...(options.defaultSkills ? { defaultSkills: options.defaultSkills } : {}),
29
+ hooks: options.hooks ?? (options.agentSource ? [] : options.manifest.hooks ?? []),
30
+ ...(options.disabledTools ? { disabledTools: options.disabledTools } : {}),
31
+ ...(options.disabledConnections ? { disabledConnections: options.disabledConnections } : {})
32
+ });
33
+ return { controller, agentState };
34
+ }
35
+ export async function recoverAgentHookController(options) {
36
+ const { run } = options;
37
+ const conversationId = typeof run.input.conversationId === "string" ? run.input.conversationId : run.id;
38
+ const message = typeof run.input.message === "string"
39
+ ? run.input.message
40
+ : isRecord(run.input.task) ? JSON.stringify(run.input.task) : "";
41
+ const subagentName = typeof run.input.subagent === "string" ? run.input.subagent : undefined;
42
+ const subagentPath = typeof run.input.agentSurface === "string" ? run.input.agentSurface : undefined;
43
+ let controller;
44
+ if (subagentName) {
45
+ const subagent = subagentPath ? findSubagent(options.manifest, subagentPath) : options.manifest.subagents.find((candidate) => candidate.name === subagentName);
46
+ if (!subagent)
47
+ throw new Error(`Subagent not found during hook recovery: ${subagentName}.`);
48
+ controller = await options.createSubagent(subagent, message, conversationId);
49
+ }
50
+ else {
51
+ const metadata = isRecord(run.input.metadata) ? run.input.metadata : undefined;
52
+ const attachments = Array.isArray(run.input.attachmentMetadata)
53
+ ? run.input.attachmentMetadata.filter(isRecord)
54
+ : [];
55
+ controller = await options.createMain(message, metadata, typeof run.input.channel === "string" ? run.input.channel : "local", conversationId, attachments);
56
+ }
57
+ await controller.evaluate("recovery");
58
+ return controller;
59
+ }
60
+ export function removeTerminalAgentHookState(runId, event, handlers, controllers, states) {
61
+ if (!RUN_STREAM_TERMINAL_EVENTS.has(event.type))
62
+ return;
63
+ handlers.remove(runId);
64
+ controllers.delete(runId);
65
+ states.delete(runId);
66
+ }
67
+ export function resolvedInstructionsForRun(manifest, run, baseInstructions, capabilities) {
68
+ const surface = surfaceForRun(manifest, run);
69
+ if (surface.path === "root")
70
+ return baseInstructions;
71
+ return [surface.instructions.text, ...capabilities.instructions].filter(Boolean).join("\n\n");
72
+ }
73
+ function isRecord(value) {
74
+ return typeof value === "object" && value !== null && !Array.isArray(value);
75
+ }
76
+ //# sourceMappingURL=agent-hook-run-lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-hook-run-lifecycle.js","sourceRoot":"","sources":["../src/agent-hook-run-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { AgentStateHandle, JsonObject, JsonValue } from "@assemblyline-agents/core";
2
+ import type { AgentStateScope, AgentStateSnapshot, ResolvedStateAdapter } from "./state.js";
3
+ export interface RuntimeAgentStateOptions {
4
+ state: ResolvedStateAdapter;
5
+ scope: AgentStateScope;
6
+ runId: string;
7
+ appendEvent(runId: string, type: string, data: JsonObject): Promise<unknown>;
8
+ onChanged(revision: number): void;
9
+ }
10
+ /** Revision-aware state handle shared by setup evaluation and authored tools. */
11
+ export declare class RuntimeAgentStateHandle implements AgentStateHandle {
12
+ private readonly options;
13
+ private current;
14
+ private constructor();
15
+ static create(options: RuntimeAgentStateOptions): Promise<RuntimeAgentStateHandle>;
16
+ get revision(): number;
17
+ snapshot(): AgentStateSnapshot;
18
+ refresh(): Promise<AgentStateSnapshot>;
19
+ get<T extends JsonValue>(key: string): Promise<T | undefined>;
20
+ set<T extends JsonValue>(key: string, value: T, options?: {
21
+ expectedRevision?: number;
22
+ }): Promise<number>;
23
+ update<T extends JsonValue>(key: string, update: (current: T | undefined) => T, options?: {
24
+ expectedRevision?: number;
25
+ }): Promise<number>;
26
+ delete(key: string, options?: {
27
+ expectedRevision?: number;
28
+ }): Promise<number>;
29
+ private afterMutation;
30
+ }
31
+ //# sourceMappingURL=agent-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-state.d.ts","sourceRoot":"","sources":["../src/agent-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7E,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAKD,iFAAiF;AACjF,qBAAa,uBAAwB,YAAW,gBAAgB;IAI5D,OAAO,CAAC,QAAQ,CAAC,OAAO;IAH1B,OAAO,CAAC,OAAO,CAAqB;IAEpC,OAAO;WAOM,MAAM,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAMxF,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,QAAQ,IAAI,kBAAkB;IAQxB,OAAO,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAOtC,GAAG,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAK7D,GAAG,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,GAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAM7G,MAAM,CAAC,CAAC,SAAS,SAAS,EAC9B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,EACrC,OAAO,GAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAO,GAC1C,OAAO,CAAC,MAAM,CAAC;IAWZ,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,CAAC;YAMzE,aAAa;CAa5B"}
@@ -0,0 +1,80 @@
1
+ import { createHash } from "node:crypto";
2
+ const MAX_AGENT_STATE_KEYS = 256;
3
+ const MAX_AGENT_STATE_SNAPSHOT_CHARS = 262_144;
4
+ /** Revision-aware state handle shared by setup evaluation and authored tools. */
5
+ export class RuntimeAgentStateHandle {
6
+ options;
7
+ current;
8
+ constructor(options, snapshot) {
9
+ this.options = options;
10
+ this.current = snapshot;
11
+ }
12
+ static async create(options) {
13
+ const snapshot = await options.state.readAgentState(options.scope);
14
+ assertBoundedSnapshot(snapshot);
15
+ return new RuntimeAgentStateHandle(options, snapshot);
16
+ }
17
+ get revision() {
18
+ return this.current.revision;
19
+ }
20
+ snapshot() {
21
+ return {
22
+ ...this.options.scope,
23
+ revision: this.current.revision,
24
+ values: cloneJsonObject(this.current.values)
25
+ };
26
+ }
27
+ async refresh() {
28
+ const snapshot = await this.options.state.readAgentState(this.options.scope);
29
+ assertBoundedSnapshot(snapshot);
30
+ this.current = snapshot;
31
+ return this.snapshot();
32
+ }
33
+ async get(key) {
34
+ const record = await this.options.state.getAgentState(this.options.scope, key);
35
+ return record?.value;
36
+ }
37
+ async set(key, value, options = {}) {
38
+ const mutation = await this.options.state.setAgentState(this.options.scope, key, value, options);
39
+ await this.afterMutation(key, mutation.changed, mutation.revision, value);
40
+ return mutation.revision;
41
+ }
42
+ async update(key, update, options = {}) {
43
+ const mutation = await this.options.state.updateAgentState(this.options.scope, key, (current) => update(current), options);
44
+ await this.afterMutation(key, mutation.changed, mutation.revision, mutation.record?.value);
45
+ return mutation.revision;
46
+ }
47
+ async delete(key, options = {}) {
48
+ const mutation = await this.options.state.deleteAgentState(this.options.scope, key, options);
49
+ await this.afterMutation(key, mutation.changed, mutation.revision);
50
+ return mutation.revision;
51
+ }
52
+ async afterMutation(key, changed, revision, value) {
53
+ if (!changed)
54
+ return;
55
+ this.current = await this.options.state.readAgentState(this.options.scope);
56
+ this.options.onChanged(revision);
57
+ await this.options.appendEvent(this.options.runId, "agent.state_changed", {
58
+ scope: "conversation",
59
+ key,
60
+ revision,
61
+ ...(value === undefined
62
+ ? { deleted: true }
63
+ : { valueHash: createHash("sha256").update(JSON.stringify(value)).digest("hex") })
64
+ });
65
+ }
66
+ }
67
+ function cloneJsonObject(value) {
68
+ return JSON.parse(JSON.stringify(value));
69
+ }
70
+ function assertBoundedSnapshot(snapshot) {
71
+ const keys = Object.keys(snapshot.values);
72
+ if (keys.length > MAX_AGENT_STATE_KEYS) {
73
+ throw new Error(`Agent hook state exceeds the ${MAX_AGENT_STATE_KEYS}-key conversation limit.`);
74
+ }
75
+ const serialized = JSON.stringify(snapshot.values);
76
+ if (serialized.length > MAX_AGENT_STATE_SNAPSHOT_CHARS) {
77
+ throw new Error(`Agent hook state exceeds the ${MAX_AGENT_STATE_SNAPSHOT_CHARS}-character conversation limit.`);
78
+ }
79
+ }
80
+ //# sourceMappingURL=agent-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-state.js","sourceRoot":"","sources":["../src/agent-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { AgentManifest, CompiledCapability, CompiledInstructions, CompiledSkill, CompiledSubagent, CompiledTool, SkillBundle, SelfImprovementConfig, SourceReference } from "@assemblyline-agents/core";
2
+ import type { RunRecord } from "./state.js";
3
+ export declare const ROOT_AGENT_SURFACE = "root";
4
+ /** Runtime view of one recursively filesystem-scoped agent. */
5
+ export interface AgentSurface {
6
+ path: string;
7
+ name: string;
8
+ description?: string;
9
+ agentSource: SourceReference;
10
+ possibleModels: string[];
11
+ instructions: CompiledInstructions;
12
+ tools: CompiledTool[];
13
+ skills: CompiledSkill[];
14
+ skillBundles: SkillBundle[];
15
+ capabilities: CompiledCapability[];
16
+ subagents: CompiledSubagent[];
17
+ maxIterations?: number;
18
+ maxReasoning?: CompiledSubagent["maxReasoning"];
19
+ selfImprovement?: SelfImprovementConfig;
20
+ connections: string[];
21
+ }
22
+ export declare function rootAgentSurface(manifest: AgentManifest): AgentSurface;
23
+ export declare function subagentSurface(subagent: CompiledSubagent): AgentSurface;
24
+ export declare function findSubagent(manifest: AgentManifest, path: string): CompiledSubagent | undefined;
25
+ export declare function findChildSubagent(surface: AgentSurface, name: string): CompiledSubagent | undefined;
26
+ export declare function surfaceForPath(manifest: AgentManifest, path: string | undefined): AgentSurface;
27
+ export declare function surfaceForRun(manifest: AgentManifest, run: RunRecord): AgentSurface;
28
+ export declare function flattenSubagents(subagents: readonly CompiledSubagent[]): CompiledSubagent[];
29
+ export declare function allSkillBundles(manifest: AgentManifest): SkillBundle[];
30
+ export declare function allSkills(manifest: AgentManifest): CompiledSkill[];
31
+ export declare function durableAgentSurfaceScope(agentScope: string, surfacePath: string): string;
32
+ //# sourceMappingURL=agent-surface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-surface.d.ts","sourceRoot":"","sources":["../src/agent-surface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,eAAe,EAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,eAAO,MAAM,kBAAkB,SAAS,CAAC;AAEzC,+DAA+D;AAC/D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,eAAe,CAAC;IAC7B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,oBAAoB,CAAC;IACnC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,YAAY,EAAE,kBAAkB,EAAE,CAAC;IACnC,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAChD,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,YAAY,CAkBtE;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,gBAAgB,GAAG,YAAY,CAkBxE;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAUhG;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAEnG;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAK9F;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,YAAY,CAGnF;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,gBAAgB,EAAE,GAAG,gBAAgB,EAAE,CAE3F;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,WAAW,EAAE,CAKtE;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,EAAE,CAKlE;AAED,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAExF"}
@@ -0,0 +1,85 @@
1
+ export const ROOT_AGENT_SURFACE = "root";
2
+ export function rootAgentSurface(manifest) {
3
+ return {
4
+ path: ROOT_AGENT_SURFACE,
5
+ name: manifest.agent.name ?? "agent",
6
+ ...(manifest.agent.description ? { description: manifest.agent.description } : {}),
7
+ agentSource: manifest.agentSource,
8
+ possibleModels: manifest.possibleModels,
9
+ instructions: manifest.instructions,
10
+ tools: manifest.tools,
11
+ skills: manifest.skills,
12
+ skillBundles: manifest.skillBundles ?? [],
13
+ capabilities: manifest.capabilities,
14
+ subagents: manifest.subagents,
15
+ ...(manifest.agent.maxIterations !== undefined ? { maxIterations: manifest.agent.maxIterations } : {}),
16
+ ...(manifest.agent.maxReasoning !== undefined ? { maxReasoning: manifest.agent.maxReasoning } : {}),
17
+ ...(manifest.agent.selfImprovement ? { selfImprovement: manifest.agent.selfImprovement } : {}),
18
+ connections: manifest.connections.map((connection) => connection.name)
19
+ };
20
+ }
21
+ export function subagentSurface(subagent) {
22
+ return {
23
+ path: subagent.path,
24
+ name: subagent.name,
25
+ description: subagent.description,
26
+ agentSource: subagent.agentSource,
27
+ possibleModels: subagent.possibleModels,
28
+ instructions: subagent.instructions,
29
+ tools: subagent.tools,
30
+ skills: subagent.skills,
31
+ skillBundles: subagent.skillBundles,
32
+ capabilities: subagent.capabilities,
33
+ subagents: subagent.subagents,
34
+ ...(subagent.maxIterations !== undefined ? { maxIterations: subagent.maxIterations } : {}),
35
+ ...(subagent.maxReasoning !== undefined ? { maxReasoning: subagent.maxReasoning } : {}),
36
+ ...(subagent.selfImprovement ? { selfImprovement: subagent.selfImprovement } : {}),
37
+ connections: subagent.connections
38
+ };
39
+ }
40
+ export function findSubagent(manifest, path) {
41
+ const parts = path.split("/").filter(Boolean);
42
+ let children = manifest.subagents;
43
+ let found;
44
+ for (const part of parts) {
45
+ found = children.find((candidate) => candidate.name === part);
46
+ if (!found)
47
+ return undefined;
48
+ children = found.subagents;
49
+ }
50
+ return found;
51
+ }
52
+ export function findChildSubagent(surface, name) {
53
+ return surface.subagents.find((candidate) => candidate.name === name);
54
+ }
55
+ export function surfaceForPath(manifest, path) {
56
+ if (!path || path === ROOT_AGENT_SURFACE)
57
+ return rootAgentSurface(manifest);
58
+ const subagent = findSubagent(manifest, path);
59
+ if (!subagent)
60
+ throw new Error(`Agent surface not found: ${path}`);
61
+ return subagentSurface(subagent);
62
+ }
63
+ export function surfaceForRun(manifest, run) {
64
+ const path = typeof run.input.agentSurface === "string" ? run.input.agentSurface : ROOT_AGENT_SURFACE;
65
+ return surfaceForPath(manifest, path);
66
+ }
67
+ export function flattenSubagents(subagents) {
68
+ return subagents.flatMap((subagent) => [subagent, ...flattenSubagents(subagent.subagents)]);
69
+ }
70
+ export function allSkillBundles(manifest) {
71
+ return [
72
+ ...(manifest.skillBundles ?? []),
73
+ ...flattenSubagents(manifest.subagents).flatMap((subagent) => subagent.skillBundles)
74
+ ];
75
+ }
76
+ export function allSkills(manifest) {
77
+ return [
78
+ ...manifest.skills,
79
+ ...flattenSubagents(manifest.subagents).flatMap((subagent) => subagent.skills)
80
+ ];
81
+ }
82
+ export function durableAgentSurfaceScope(agentScope, surfacePath) {
83
+ return surfacePath === ROOT_AGENT_SURFACE ? agentScope : `${agentScope}:subagent:${surfacePath}`;
84
+ }
85
+ //# sourceMappingURL=agent-surface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-surface.js","sourceRoot":"","sources":["../src/agent-surface.ts"],"names":[],"mappings":"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"}