@agent-relay/sdk 7.1.1 → 8.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (581) hide show
  1. package/README.md +177 -143
  2. package/bin/agent-relay-broker-darwin-arm64 +0 -0
  3. package/bin/agent-relay-broker-darwin-x64 +0 -0
  4. package/bin/agent-relay-broker-linux-arm64 +0 -0
  5. package/bin/agent-relay-broker-linux-x64 +0 -0
  6. package/bin/agent-relay-broker-win32-x64.exe +0 -0
  7. package/dist/actions/errors.d.ts +18 -0
  8. package/dist/actions/errors.d.ts.map +1 -0
  9. package/dist/actions/errors.js +39 -0
  10. package/dist/actions/errors.js.map +1 -0
  11. package/dist/actions/index.d.ts +5 -0
  12. package/dist/actions/index.d.ts.map +1 -0
  13. package/dist/actions/index.js +5 -0
  14. package/dist/actions/index.js.map +1 -0
  15. package/dist/actions/json-schema-lite.d.ts +13 -0
  16. package/dist/actions/json-schema-lite.d.ts.map +1 -0
  17. package/dist/actions/json-schema-lite.js +322 -0
  18. package/dist/actions/json-schema-lite.js.map +1 -0
  19. package/dist/actions/registry.d.ts +20 -0
  20. package/dist/actions/registry.d.ts.map +1 -0
  21. package/dist/actions/registry.js +267 -0
  22. package/dist/actions/registry.js.map +1 -0
  23. package/dist/actions/types.d.ts +177 -0
  24. package/dist/actions/types.d.ts.map +1 -0
  25. package/dist/{provisioner → actions}/types.js.map +1 -1
  26. package/dist/agent-relay.d.ts +86 -0
  27. package/dist/agent-relay.d.ts.map +1 -0
  28. package/dist/agent-relay.js +197 -0
  29. package/dist/agent-relay.js.map +1 -0
  30. package/dist/capabilities.d.ts +6 -0
  31. package/dist/capabilities.d.ts.map +1 -0
  32. package/dist/capabilities.js +9 -0
  33. package/dist/capabilities.js.map +1 -0
  34. package/dist/delivery/index.d.ts +4 -0
  35. package/dist/delivery/index.d.ts.map +1 -0
  36. package/dist/delivery/index.js +4 -0
  37. package/dist/delivery/index.js.map +1 -0
  38. package/dist/delivery/runner.d.ts +26 -0
  39. package/dist/delivery/runner.d.ts.map +1 -0
  40. package/dist/delivery/runner.js +177 -0
  41. package/dist/delivery/runner.js.map +1 -0
  42. package/dist/delivery/types.d.ts +45 -0
  43. package/dist/delivery/types.d.ts.map +1 -0
  44. package/dist/delivery/types.js +2 -0
  45. package/dist/delivery/types.js.map +1 -0
  46. package/dist/facade.d.ts +151 -0
  47. package/dist/facade.d.ts.map +1 -0
  48. package/dist/facade.js +280 -0
  49. package/dist/facade.js.map +1 -0
  50. package/dist/index.d.ts +9 -25
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +9 -23
  53. package/dist/index.js.map +1 -1
  54. package/dist/listeners.d.ts +162 -0
  55. package/dist/listeners.d.ts.map +1 -0
  56. package/dist/listeners.js +297 -0
  57. package/dist/listeners.js.map +1 -0
  58. package/dist/messaging/index.d.ts +4 -0
  59. package/dist/messaging/index.d.ts.map +1 -0
  60. package/dist/messaging/index.js +4 -0
  61. package/dist/messaging/index.js.map +1 -0
  62. package/dist/messaging/normalize.d.ts +29 -0
  63. package/dist/messaging/normalize.d.ts.map +1 -0
  64. package/dist/messaging/normalize.js +602 -0
  65. package/dist/messaging/normalize.js.map +1 -0
  66. package/dist/messaging/relaycast.d.ts +270 -0
  67. package/dist/messaging/relaycast.d.ts.map +1 -0
  68. package/dist/messaging/relaycast.js +559 -0
  69. package/dist/messaging/relaycast.js.map +1 -0
  70. package/dist/messaging/types.d.ts +672 -0
  71. package/dist/messaging/types.d.ts.map +1 -0
  72. package/dist/messaging/types.js +2 -0
  73. package/dist/messaging/types.js.map +1 -0
  74. package/dist/relaycast-errors.d.ts +39 -0
  75. package/dist/relaycast-errors.d.ts.map +1 -0
  76. package/dist/relaycast-errors.js +111 -0
  77. package/dist/relaycast-errors.js.map +1 -0
  78. package/dist/session/index.d.ts +58 -0
  79. package/dist/session/index.d.ts.map +1 -0
  80. package/dist/session/index.js +54 -0
  81. package/dist/session/index.js.map +1 -0
  82. package/dist/session/types.d.ts +258 -0
  83. package/dist/session/types.d.ts.map +1 -0
  84. package/dist/session/types.js +7 -0
  85. package/dist/session/types.js.map +1 -0
  86. package/package.json +31 -199
  87. package/dist/broker-logs.d.ts +0 -80
  88. package/dist/broker-logs.d.ts.map +0 -1
  89. package/dist/broker-logs.js +0 -189
  90. package/dist/broker-logs.js.map +0 -1
  91. package/dist/broker-path.d.ts +0 -34
  92. package/dist/broker-path.d.ts.map +0 -1
  93. package/dist/broker-path.js +0 -267
  94. package/dist/broker-path.js.map +0 -1
  95. package/dist/browser.d.ts +0 -16
  96. package/dist/browser.d.ts.map +0 -1
  97. package/dist/browser.js +0 -19
  98. package/dist/browser.js.map +0 -1
  99. package/dist/cli-registry.d.ts +0 -44
  100. package/dist/cli-registry.d.ts.map +0 -1
  101. package/dist/cli-registry.js +0 -104
  102. package/dist/cli-registry.js.map +0 -1
  103. package/dist/cli-resolver.d.ts +0 -30
  104. package/dist/cli-resolver.d.ts.map +0 -1
  105. package/dist/cli-resolver.js +0 -132
  106. package/dist/cli-resolver.js.map +0 -1
  107. package/dist/client.d.ts +0 -278
  108. package/dist/client.d.ts.map +0 -1
  109. package/dist/client.js +0 -838
  110. package/dist/client.js.map +0 -1
  111. package/dist/communicate/a2a-bridge.d.ts +0 -25
  112. package/dist/communicate/a2a-bridge.d.ts.map +0 -1
  113. package/dist/communicate/a2a-bridge.js +0 -89
  114. package/dist/communicate/a2a-bridge.js.map +0 -1
  115. package/dist/communicate/a2a-server.d.ts +0 -31
  116. package/dist/communicate/a2a-server.d.ts.map +0 -1
  117. package/dist/communicate/a2a-server.js +0 -220
  118. package/dist/communicate/a2a-server.js.map +0 -1
  119. package/dist/communicate/a2a-transport.d.ts +0 -48
  120. package/dist/communicate/a2a-transport.d.ts.map +0 -1
  121. package/dist/communicate/a2a-transport.js +0 -305
  122. package/dist/communicate/a2a-transport.js.map +0 -1
  123. package/dist/communicate/a2a-types.d.ts +0 -107
  124. package/dist/communicate/a2a-types.d.ts.map +0 -1
  125. package/dist/communicate/a2a-types.js +0 -209
  126. package/dist/communicate/a2a-types.js.map +0 -1
  127. package/dist/communicate/adapters/ai-sdk.d.ts +0 -63
  128. package/dist/communicate/adapters/ai-sdk.d.ts.map +0 -1
  129. package/dist/communicate/adapters/ai-sdk.js +0 -114
  130. package/dist/communicate/adapters/ai-sdk.js.map +0 -1
  131. package/dist/communicate/adapters/claude-sdk.d.ts +0 -28
  132. package/dist/communicate/adapters/claude-sdk.d.ts.map +0 -1
  133. package/dist/communicate/adapters/claude-sdk.js +0 -47
  134. package/dist/communicate/adapters/claude-sdk.js.map +0 -1
  135. package/dist/communicate/adapters/crewai.d.ts +0 -42
  136. package/dist/communicate/adapters/crewai.d.ts.map +0 -1
  137. package/dist/communicate/adapters/crewai.js +0 -95
  138. package/dist/communicate/adapters/crewai.js.map +0 -1
  139. package/dist/communicate/adapters/google-adk.d.ts +0 -53
  140. package/dist/communicate/adapters/google-adk.d.ts.map +0 -1
  141. package/dist/communicate/adapters/google-adk.js +0 -77
  142. package/dist/communicate/adapters/google-adk.js.map +0 -1
  143. package/dist/communicate/adapters/index.d.ts +0 -3
  144. package/dist/communicate/adapters/index.d.ts.map +0 -1
  145. package/dist/communicate/adapters/index.js +0 -3
  146. package/dist/communicate/adapters/index.js.map +0 -1
  147. package/dist/communicate/adapters/langgraph.d.ts +0 -40
  148. package/dist/communicate/adapters/langgraph.d.ts.map +0 -1
  149. package/dist/communicate/adapters/langgraph.js +0 -77
  150. package/dist/communicate/adapters/langgraph.js.map +0 -1
  151. package/dist/communicate/adapters/openai-agents.d.ts +0 -25
  152. package/dist/communicate/adapters/openai-agents.d.ts.map +0 -1
  153. package/dist/communicate/adapters/openai-agents.js +0 -70
  154. package/dist/communicate/adapters/openai-agents.js.map +0 -1
  155. package/dist/communicate/adapters/pi.d.ts +0 -44
  156. package/dist/communicate/adapters/pi.d.ts.map +0 -1
  157. package/dist/communicate/adapters/pi.js +0 -55
  158. package/dist/communicate/adapters/pi.js.map +0 -1
  159. package/dist/communicate/core.d.ts +0 -58
  160. package/dist/communicate/core.d.ts.map +0 -1
  161. package/dist/communicate/core.js +0 -127
  162. package/dist/communicate/core.js.map +0 -1
  163. package/dist/communicate/index.d.ts +0 -20
  164. package/dist/communicate/index.d.ts.map +0 -1
  165. package/dist/communicate/index.js +0 -43
  166. package/dist/communicate/index.js.map +0 -1
  167. package/dist/communicate/transport.d.ts +0 -35
  168. package/dist/communicate/transport.d.ts.map +0 -1
  169. package/dist/communicate/transport.js +0 -279
  170. package/dist/communicate/transport.js.map +0 -1
  171. package/dist/communicate/types.d.ts +0 -58
  172. package/dist/communicate/types.d.ts.map +0 -1
  173. package/dist/communicate/types.js +0 -66
  174. package/dist/communicate/types.js.map +0 -1
  175. package/dist/consensus-helpers.d.ts +0 -103
  176. package/dist/consensus-helpers.d.ts.map +0 -1
  177. package/dist/consensus-helpers.js +0 -147
  178. package/dist/consensus-helpers.js.map +0 -1
  179. package/dist/consensus.d.ts +0 -72
  180. package/dist/consensus.d.ts.map +0 -1
  181. package/dist/consensus.js +0 -378
  182. package/dist/consensus.js.map +0 -1
  183. package/dist/event-bus.d.ts +0 -57
  184. package/dist/event-bus.d.ts.map +0 -1
  185. package/dist/event-bus.js +0 -76
  186. package/dist/event-bus.js.map +0 -1
  187. package/dist/examples/demo.d.ts +0 -2
  188. package/dist/examples/demo.d.ts.map +0 -1
  189. package/dist/examples/demo.js +0 -63
  190. package/dist/examples/demo.js.map +0 -1
  191. package/dist/examples/example.d.ts +0 -2
  192. package/dist/examples/example.d.ts.map +0 -1
  193. package/dist/examples/example.js +0 -77
  194. package/dist/examples/example.js.map +0 -1
  195. package/dist/examples/persona-spawn.d.ts +0 -2
  196. package/dist/examples/persona-spawn.d.ts.map +0 -1
  197. package/dist/examples/persona-spawn.js +0 -43
  198. package/dist/examples/persona-spawn.js.map +0 -1
  199. package/dist/examples/quickstart.d.ts +0 -2
  200. package/dist/examples/quickstart.d.ts.map +0 -1
  201. package/dist/examples/quickstart.js +0 -56
  202. package/dist/examples/quickstart.js.map +0 -1
  203. package/dist/examples/ralph-loop.d.ts +0 -2
  204. package/dist/examples/ralph-loop.d.ts.map +0 -1
  205. package/dist/examples/ralph-loop.js +0 -281
  206. package/dist/examples/ralph-loop.js.map +0 -1
  207. package/dist/examples/workflow-superiority.d.ts +0 -32
  208. package/dist/examples/workflow-superiority.d.ts.map +0 -1
  209. package/dist/examples/workflow-superiority.js +0 -1421
  210. package/dist/examples/workflow-superiority.js.map +0 -1
  211. package/dist/github.d.ts +0 -24
  212. package/dist/github.d.ts.map +0 -1
  213. package/dist/github.js +0 -24
  214. package/dist/github.js.map +0 -1
  215. package/dist/http.d.ts +0 -38
  216. package/dist/http.d.ts.map +0 -1
  217. package/dist/http.js +0 -60
  218. package/dist/http.js.map +0 -1
  219. package/dist/lifecycle-hooks.d.ts +0 -141
  220. package/dist/lifecycle-hooks.d.ts.map +0 -1
  221. package/dist/lifecycle-hooks.js +0 -29
  222. package/dist/lifecycle-hooks.js.map +0 -1
  223. package/dist/logs.d.ts +0 -106
  224. package/dist/logs.d.ts.map +0 -1
  225. package/dist/logs.js +0 -291
  226. package/dist/logs.js.map +0 -1
  227. package/dist/models.d.ts +0 -9
  228. package/dist/models.d.ts.map +0 -1
  229. package/dist/models.js +0 -17
  230. package/dist/models.js.map +0 -1
  231. package/dist/personas.d.ts +0 -160
  232. package/dist/personas.d.ts.map +0 -1
  233. package/dist/personas.js +0 -401
  234. package/dist/personas.js.map +0 -1
  235. package/dist/protocol.d.ts +0 -521
  236. package/dist/protocol.d.ts.map +0 -1
  237. package/dist/protocol.js +0 -2
  238. package/dist/protocol.js.map +0 -1
  239. package/dist/provisioner/__tests__/audit.test.d.ts +0 -2
  240. package/dist/provisioner/__tests__/audit.test.d.ts.map +0 -1
  241. package/dist/provisioner/__tests__/audit.test.js +0 -45
  242. package/dist/provisioner/__tests__/audit.test.js.map +0 -1
  243. package/dist/provisioner/__tests__/compiler.test.d.ts +0 -2
  244. package/dist/provisioner/__tests__/compiler.test.d.ts.map +0 -1
  245. package/dist/provisioner/__tests__/compiler.test.js +0 -345
  246. package/dist/provisioner/__tests__/compiler.test.js.map +0 -1
  247. package/dist/provisioner/__tests__/presets.test.d.ts +0 -2
  248. package/dist/provisioner/__tests__/presets.test.d.ts.map +0 -1
  249. package/dist/provisioner/__tests__/presets.test.js +0 -23
  250. package/dist/provisioner/__tests__/presets.test.js.map +0 -1
  251. package/dist/provisioner/__tests__/seeder.test.d.ts +0 -2
  252. package/dist/provisioner/__tests__/seeder.test.d.ts.map +0 -1
  253. package/dist/provisioner/__tests__/seeder.test.js +0 -224
  254. package/dist/provisioner/__tests__/seeder.test.js.map +0 -1
  255. package/dist/provisioner/__tests__/tar-seeder.test.d.ts +0 -2
  256. package/dist/provisioner/__tests__/tar-seeder.test.d.ts.map +0 -1
  257. package/dist/provisioner/__tests__/tar-seeder.test.js +0 -191
  258. package/dist/provisioner/__tests__/tar-seeder.test.js.map +0 -1
  259. package/dist/provisioner/__tests__/token-factory.test.d.ts +0 -2
  260. package/dist/provisioner/__tests__/token-factory.test.d.ts.map +0 -1
  261. package/dist/provisioner/__tests__/token-factory.test.js +0 -139
  262. package/dist/provisioner/__tests__/token-factory.test.js.map +0 -1
  263. package/dist/provisioner/__tests__/token.test.d.ts +0 -2
  264. package/dist/provisioner/__tests__/token.test.d.ts.map +0 -1
  265. package/dist/provisioner/__tests__/token.test.js +0 -49
  266. package/dist/provisioner/__tests__/token.test.js.map +0 -1
  267. package/dist/provisioner/audit.d.ts +0 -19
  268. package/dist/provisioner/audit.d.ts.map +0 -1
  269. package/dist/provisioner/audit.js +0 -74
  270. package/dist/provisioner/audit.js.map +0 -1
  271. package/dist/provisioner/compiler.d.ts +0 -23
  272. package/dist/provisioner/compiler.d.ts.map +0 -1
  273. package/dist/provisioner/compiler.js +0 -355
  274. package/dist/provisioner/compiler.js.map +0 -1
  275. package/dist/provisioner/index.d.ts +0 -10
  276. package/dist/provisioner/index.d.ts.map +0 -1
  277. package/dist/provisioner/index.js +0 -269
  278. package/dist/provisioner/index.js.map +0 -1
  279. package/dist/provisioner/local-jwks.d.ts +0 -25
  280. package/dist/provisioner/local-jwks.d.ts.map +0 -1
  281. package/dist/provisioner/local-jwks.js +0 -70
  282. package/dist/provisioner/local-jwks.js.map +0 -1
  283. package/dist/provisioner/mount.d.ts +0 -14
  284. package/dist/provisioner/mount.d.ts.map +0 -1
  285. package/dist/provisioner/mount.js +0 -329
  286. package/dist/provisioner/mount.js.map +0 -1
  287. package/dist/provisioner/seeder.d.ts +0 -17
  288. package/dist/provisioner/seeder.d.ts.map +0 -1
  289. package/dist/provisioner/seeder.js +0 -419
  290. package/dist/provisioner/seeder.js.map +0 -1
  291. package/dist/provisioner/token.d.ts +0 -41
  292. package/dist/provisioner/token.d.ts.map +0 -1
  293. package/dist/provisioner/token.js +0 -77
  294. package/dist/provisioner/token.js.map +0 -1
  295. package/dist/provisioner/types.d.ts +0 -134
  296. package/dist/provisioner/types.d.ts.map +0 -1
  297. package/dist/pty.d.ts +0 -8
  298. package/dist/pty.d.ts.map +0 -1
  299. package/dist/pty.js +0 -26
  300. package/dist/pty.js.map +0 -1
  301. package/dist/relay-adapter.d.ts +0 -124
  302. package/dist/relay-adapter.d.ts.map +0 -1
  303. package/dist/relay-adapter.js +0 -242
  304. package/dist/relay-adapter.js.map +0 -1
  305. package/dist/relay.d.ts +0 -550
  306. package/dist/relay.d.ts.map +0 -1
  307. package/dist/relay.js +0 -1682
  308. package/dist/relay.js.map +0 -1
  309. package/dist/shadow.d.ts +0 -101
  310. package/dist/shadow.d.ts.map +0 -1
  311. package/dist/shadow.js +0 -174
  312. package/dist/shadow.js.map +0 -1
  313. package/dist/slack.d.ts +0 -24
  314. package/dist/slack.d.ts.map +0 -1
  315. package/dist/slack.js +0 -24
  316. package/dist/slack.js.map +0 -1
  317. package/dist/spawn-from-env.d.ts +0 -78
  318. package/dist/spawn-from-env.d.ts.map +0 -1
  319. package/dist/spawn-from-env.js +0 -172
  320. package/dist/spawn-from-env.js.map +0 -1
  321. package/dist/transport.d.ts +0 -104
  322. package/dist/transport.d.ts.map +0 -1
  323. package/dist/transport.js +0 -520
  324. package/dist/transport.js.map +0 -1
  325. package/dist/types.d.ts +0 -101
  326. package/dist/types.d.ts.map +0 -1
  327. package/dist/types.js +0 -5
  328. package/dist/types.js.map +0 -1
  329. package/dist/workers.d.ts +0 -39
  330. package/dist/workers.d.ts.map +0 -1
  331. package/dist/workers.js +0 -39
  332. package/dist/workers.js.map +0 -1
  333. package/dist/workflows/__tests__/budget-enforcement.test.d.ts +0 -2
  334. package/dist/workflows/__tests__/budget-enforcement.test.d.ts.map +0 -1
  335. package/dist/workflows/__tests__/budget-enforcement.test.js +0 -411
  336. package/dist/workflows/__tests__/budget-enforcement.test.js.map +0 -1
  337. package/dist/workflows/__tests__/budget-tracker.test.d.ts +0 -2
  338. package/dist/workflows/__tests__/budget-tracker.test.d.ts.map +0 -1
  339. package/dist/workflows/__tests__/budget-tracker.test.js +0 -99
  340. package/dist/workflows/__tests__/budget-tracker.test.js.map +0 -1
  341. package/dist/workflows/__tests__/builder-paths.test.d.ts +0 -2
  342. package/dist/workflows/__tests__/builder-paths.test.d.ts.map +0 -1
  343. package/dist/workflows/__tests__/builder-paths.test.js +0 -63
  344. package/dist/workflows/__tests__/builder-paths.test.js.map +0 -1
  345. package/dist/workflows/__tests__/channel-messenger.test.d.ts +0 -2
  346. package/dist/workflows/__tests__/channel-messenger.test.d.ts.map +0 -1
  347. package/dist/workflows/__tests__/channel-messenger.test.js +0 -123
  348. package/dist/workflows/__tests__/channel-messenger.test.js.map +0 -1
  349. package/dist/workflows/__tests__/cli-session-collector.test.d.ts +0 -2
  350. package/dist/workflows/__tests__/cli-session-collector.test.d.ts.map +0 -1
  351. package/dist/workflows/__tests__/cli-session-collector.test.js +0 -54
  352. package/dist/workflows/__tests__/cli-session-collector.test.js.map +0 -1
  353. package/dist/workflows/__tests__/collectors/claude.test.d.ts +0 -2
  354. package/dist/workflows/__tests__/collectors/claude.test.d.ts.map +0 -1
  355. package/dist/workflows/__tests__/collectors/claude.test.js +0 -85
  356. package/dist/workflows/__tests__/collectors/claude.test.js.map +0 -1
  357. package/dist/workflows/__tests__/collectors/codex.test.d.ts +0 -2
  358. package/dist/workflows/__tests__/collectors/codex.test.d.ts.map +0 -1
  359. package/dist/workflows/__tests__/collectors/codex.test.js +0 -67
  360. package/dist/workflows/__tests__/collectors/codex.test.js.map +0 -1
  361. package/dist/workflows/__tests__/collectors/opencode.test.d.ts +0 -2
  362. package/dist/workflows/__tests__/collectors/opencode.test.d.ts.map +0 -1
  363. package/dist/workflows/__tests__/collectors/opencode.test.js +0 -119
  364. package/dist/workflows/__tests__/collectors/opencode.test.js.map +0 -1
  365. package/dist/workflows/__tests__/e2big-and-verify.test.d.ts +0 -2
  366. package/dist/workflows/__tests__/e2big-and-verify.test.d.ts.map +0 -1
  367. package/dist/workflows/__tests__/e2big-and-verify.test.js +0 -62
  368. package/dist/workflows/__tests__/e2big-and-verify.test.js.map +0 -1
  369. package/dist/workflows/__tests__/e2e-permissions.test.d.ts +0 -2
  370. package/dist/workflows/__tests__/e2e-permissions.test.d.ts.map +0 -1
  371. package/dist/workflows/__tests__/e2e-permissions.test.js +0 -338
  372. package/dist/workflows/__tests__/e2e-permissions.test.js.map +0 -1
  373. package/dist/workflows/__tests__/permission-types.test.d.ts +0 -2
  374. package/dist/workflows/__tests__/permission-types.test.d.ts.map +0 -1
  375. package/dist/workflows/__tests__/permission-types.test.js +0 -124
  376. package/dist/workflows/__tests__/permission-types.test.js.map +0 -1
  377. package/dist/workflows/__tests__/permissions-integration.test.d.ts +0 -2
  378. package/dist/workflows/__tests__/permissions-integration.test.d.ts.map +0 -1
  379. package/dist/workflows/__tests__/permissions-integration.test.js +0 -577
  380. package/dist/workflows/__tests__/permissions-integration.test.js.map +0 -1
  381. package/dist/workflows/__tests__/process-backend-executor.test.d.ts +0 -2
  382. package/dist/workflows/__tests__/process-backend-executor.test.d.ts.map +0 -1
  383. package/dist/workflows/__tests__/process-backend-executor.test.js +0 -83
  384. package/dist/workflows/__tests__/process-backend-executor.test.js.map +0 -1
  385. package/dist/workflows/__tests__/proxy-env.test.d.ts +0 -2
  386. package/dist/workflows/__tests__/proxy-env.test.d.ts.map +0 -1
  387. package/dist/workflows/__tests__/proxy-env.test.js +0 -135
  388. package/dist/workflows/__tests__/proxy-env.test.js.map +0 -1
  389. package/dist/workflows/__tests__/run-script.test.d.ts +0 -2
  390. package/dist/workflows/__tests__/run-script.test.d.ts.map +0 -1
  391. package/dist/workflows/__tests__/run-script.test.js +0 -426
  392. package/dist/workflows/__tests__/run-script.test.js.map +0 -1
  393. package/dist/workflows/__tests__/run-summary-table.test.d.ts +0 -2
  394. package/dist/workflows/__tests__/run-summary-table.test.d.ts.map +0 -1
  395. package/dist/workflows/__tests__/run-summary-table.test.js +0 -131
  396. package/dist/workflows/__tests__/run-summary-table.test.js.map +0 -1
  397. package/dist/workflows/__tests__/scrub-pty-chrome.test.d.ts +0 -2
  398. package/dist/workflows/__tests__/scrub-pty-chrome.test.d.ts.map +0 -1
  399. package/dist/workflows/__tests__/scrub-pty-chrome.test.js +0 -113
  400. package/dist/workflows/__tests__/scrub-pty-chrome.test.js.map +0 -1
  401. package/dist/workflows/__tests__/sibling-links.test.d.ts +0 -2
  402. package/dist/workflows/__tests__/sibling-links.test.d.ts.map +0 -1
  403. package/dist/workflows/__tests__/sibling-links.test.js +0 -166
  404. package/dist/workflows/__tests__/sibling-links.test.js.map +0 -1
  405. package/dist/workflows/__tests__/step-cwd.test.d.ts +0 -2
  406. package/dist/workflows/__tests__/step-cwd.test.d.ts.map +0 -1
  407. package/dist/workflows/__tests__/step-cwd.test.js +0 -42
  408. package/dist/workflows/__tests__/step-cwd.test.js.map +0 -1
  409. package/dist/workflows/__tests__/step-executor.test.d.ts +0 -2
  410. package/dist/workflows/__tests__/step-executor.test.d.ts.map +0 -1
  411. package/dist/workflows/__tests__/step-executor.test.js +0 -378
  412. package/dist/workflows/__tests__/step-executor.test.js.map +0 -1
  413. package/dist/workflows/__tests__/template-resolver.test.d.ts +0 -2
  414. package/dist/workflows/__tests__/template-resolver.test.d.ts.map +0 -1
  415. package/dist/workflows/__tests__/template-resolver.test.js +0 -145
  416. package/dist/workflows/__tests__/template-resolver.test.js.map +0 -1
  417. package/dist/workflows/__tests__/verification-custom.test.d.ts +0 -2
  418. package/dist/workflows/__tests__/verification-custom.test.d.ts.map +0 -1
  419. package/dist/workflows/__tests__/verification-custom.test.js +0 -230
  420. package/dist/workflows/__tests__/verification-custom.test.js.map +0 -1
  421. package/dist/workflows/__tests__/verification-traceback.test.d.ts +0 -2
  422. package/dist/workflows/__tests__/verification-traceback.test.d.ts.map +0 -1
  423. package/dist/workflows/__tests__/verification-traceback.test.js +0 -442
  424. package/dist/workflows/__tests__/verification-traceback.test.js.map +0 -1
  425. package/dist/workflows/__tests__/verification.test.d.ts +0 -2
  426. package/dist/workflows/__tests__/verification.test.d.ts.map +0 -1
  427. package/dist/workflows/__tests__/verification.test.js +0 -272
  428. package/dist/workflows/__tests__/verification.test.js.map +0 -1
  429. package/dist/workflows/__tests__/workflow-reliability-contract.test.d.ts +0 -2
  430. package/dist/workflows/__tests__/workflow-reliability-contract.test.d.ts.map +0 -1
  431. package/dist/workflows/__tests__/workflow-reliability-contract.test.js +0 -536
  432. package/dist/workflows/__tests__/workflow-reliability-contract.test.js.map +0 -1
  433. package/dist/workflows/__tests__/workflow-reliability-e2e.test.d.ts +0 -2
  434. package/dist/workflows/__tests__/workflow-reliability-e2e.test.d.ts.map +0 -1
  435. package/dist/workflows/__tests__/workflow-reliability-e2e.test.js +0 -199
  436. package/dist/workflows/__tests__/workflow-reliability-e2e.test.js.map +0 -1
  437. package/dist/workflows/api-executor.d.ts +0 -16
  438. package/dist/workflows/api-executor.d.ts.map +0 -1
  439. package/dist/workflows/api-executor.js +0 -94
  440. package/dist/workflows/api-executor.js.map +0 -1
  441. package/dist/workflows/barrier.d.ts +0 -72
  442. package/dist/workflows/barrier.d.ts.map +0 -1
  443. package/dist/workflows/barrier.js +0 -162
  444. package/dist/workflows/barrier.js.map +0 -1
  445. package/dist/workflows/budget-tracker.d.ts +0 -75
  446. package/dist/workflows/budget-tracker.d.ts.map +0 -1
  447. package/dist/workflows/budget-tracker.js +0 -184
  448. package/dist/workflows/budget-tracker.js.map +0 -1
  449. package/dist/workflows/builder.d.ts +0 -229
  450. package/dist/workflows/builder.d.ts.map +0 -1
  451. package/dist/workflows/builder.js +0 -430
  452. package/dist/workflows/builder.js.map +0 -1
  453. package/dist/workflows/channel-messenger.d.ts +0 -28
  454. package/dist/workflows/channel-messenger.d.ts.map +0 -1
  455. package/dist/workflows/channel-messenger.js +0 -275
  456. package/dist/workflows/channel-messenger.js.map +0 -1
  457. package/dist/workflows/cli-session-collector.d.ts +0 -39
  458. package/dist/workflows/cli-session-collector.d.ts.map +0 -1
  459. package/dist/workflows/cli-session-collector.js +0 -23
  460. package/dist/workflows/cli-session-collector.js.map +0 -1
  461. package/dist/workflows/cli.d.ts +0 -11
  462. package/dist/workflows/cli.d.ts.map +0 -1
  463. package/dist/workflows/cli.js +0 -395
  464. package/dist/workflows/cli.js.map +0 -1
  465. package/dist/workflows/cloud-runner.d.ts +0 -15
  466. package/dist/workflows/cloud-runner.d.ts.map +0 -1
  467. package/dist/workflows/cloud-runner.js +0 -41
  468. package/dist/workflows/cloud-runner.js.map +0 -1
  469. package/dist/workflows/cloud-schedules.d.ts +0 -3
  470. package/dist/workflows/cloud-schedules.d.ts.map +0 -1
  471. package/dist/workflows/cloud-schedules.js +0 -2
  472. package/dist/workflows/cloud-schedules.js.map +0 -1
  473. package/dist/workflows/collectors/claude.d.ts +0 -6
  474. package/dist/workflows/collectors/claude.d.ts.map +0 -1
  475. package/dist/workflows/collectors/claude.js +0 -330
  476. package/dist/workflows/collectors/claude.js.map +0 -1
  477. package/dist/workflows/collectors/codex.d.ts +0 -18
  478. package/dist/workflows/collectors/codex.d.ts.map +0 -1
  479. package/dist/workflows/collectors/codex.js +0 -265
  480. package/dist/workflows/collectors/codex.js.map +0 -1
  481. package/dist/workflows/collectors/opencode.d.ts +0 -6
  482. package/dist/workflows/collectors/opencode.d.ts.map +0 -1
  483. package/dist/workflows/collectors/opencode.js +0 -204
  484. package/dist/workflows/collectors/opencode.js.map +0 -1
  485. package/dist/workflows/coordinator.d.ts +0 -73
  486. package/dist/workflows/coordinator.d.ts.map +0 -1
  487. package/dist/workflows/coordinator.js +0 -647
  488. package/dist/workflows/coordinator.js.map +0 -1
  489. package/dist/workflows/custom-steps.d.ts +0 -73
  490. package/dist/workflows/custom-steps.d.ts.map +0 -1
  491. package/dist/workflows/custom-steps.js +0 -321
  492. package/dist/workflows/custom-steps.js.map +0 -1
  493. package/dist/workflows/default-logger.d.ts +0 -9
  494. package/dist/workflows/default-logger.d.ts.map +0 -1
  495. package/dist/workflows/default-logger.js +0 -104
  496. package/dist/workflows/default-logger.js.map +0 -1
  497. package/dist/workflows/dry-run-format.d.ts +0 -6
  498. package/dist/workflows/dry-run-format.d.ts.map +0 -1
  499. package/dist/workflows/dry-run-format.js +0 -76
  500. package/dist/workflows/dry-run-format.js.map +0 -1
  501. package/dist/workflows/file-db.d.ts +0 -85
  502. package/dist/workflows/file-db.d.ts.map +0 -1
  503. package/dist/workflows/file-db.js +0 -215
  504. package/dist/workflows/file-db.js.map +0 -1
  505. package/dist/workflows/index.d.ts +0 -36
  506. package/dist/workflows/index.d.ts.map +0 -1
  507. package/dist/workflows/index.js +0 -33
  508. package/dist/workflows/index.js.map +0 -1
  509. package/dist/workflows/listr-renderer.d.ts +0 -26
  510. package/dist/workflows/listr-renderer.d.ts.map +0 -1
  511. package/dist/workflows/listr-renderer.js +0 -230
  512. package/dist/workflows/listr-renderer.js.map +0 -1
  513. package/dist/workflows/memory-db.d.ts +0 -17
  514. package/dist/workflows/memory-db.d.ts.map +0 -1
  515. package/dist/workflows/memory-db.js +0 -33
  516. package/dist/workflows/memory-db.js.map +0 -1
  517. package/dist/workflows/process-backend-executor.d.ts +0 -18
  518. package/dist/workflows/process-backend-executor.d.ts.map +0 -1
  519. package/dist/workflows/process-backend-executor.js +0 -74
  520. package/dist/workflows/process-backend-executor.js.map +0 -1
  521. package/dist/workflows/process-spawner.d.ts +0 -35
  522. package/dist/workflows/process-spawner.d.ts.map +0 -1
  523. package/dist/workflows/process-spawner.js +0 -141
  524. package/dist/workflows/process-spawner.js.map +0 -1
  525. package/dist/workflows/proxy-env.d.ts +0 -52
  526. package/dist/workflows/proxy-env.d.ts.map +0 -1
  527. package/dist/workflows/proxy-env.js +0 -92
  528. package/dist/workflows/proxy-env.js.map +0 -1
  529. package/dist/workflows/run-script.d.ts +0 -82
  530. package/dist/workflows/run-script.d.ts.map +0 -1
  531. package/dist/workflows/run-script.js +0 -521
  532. package/dist/workflows/run-script.js.map +0 -1
  533. package/dist/workflows/run-summary-table.d.ts +0 -5
  534. package/dist/workflows/run-summary-table.d.ts.map +0 -1
  535. package/dist/workflows/run-summary-table.js +0 -132
  536. package/dist/workflows/run-summary-table.js.map +0 -1
  537. package/dist/workflows/run.d.ts +0 -45
  538. package/dist/workflows/run.d.ts.map +0 -1
  539. package/dist/workflows/run.js +0 -37
  540. package/dist/workflows/run.js.map +0 -1
  541. package/dist/workflows/runner.d.ts +0 -527
  542. package/dist/workflows/runner.d.ts.map +0 -1
  543. package/dist/workflows/runner.js +0 -6266
  544. package/dist/workflows/runner.js.map +0 -1
  545. package/dist/workflows/sibling-links.d.ts +0 -100
  546. package/dist/workflows/sibling-links.d.ts.map +0 -1
  547. package/dist/workflows/sibling-links.js +0 -205
  548. package/dist/workflows/sibling-links.js.map +0 -1
  549. package/dist/workflows/state.d.ts +0 -77
  550. package/dist/workflows/state.d.ts.map +0 -1
  551. package/dist/workflows/state.js +0 -140
  552. package/dist/workflows/state.js.map +0 -1
  553. package/dist/workflows/step-executor.d.ts +0 -95
  554. package/dist/workflows/step-executor.d.ts.map +0 -1
  555. package/dist/workflows/step-executor.js +0 -393
  556. package/dist/workflows/step-executor.js.map +0 -1
  557. package/dist/workflows/template-resolver.d.ts +0 -33
  558. package/dist/workflows/template-resolver.d.ts.map +0 -1
  559. package/dist/workflows/template-resolver.js +0 -144
  560. package/dist/workflows/template-resolver.js.map +0 -1
  561. package/dist/workflows/templates.d.ts +0 -47
  562. package/dist/workflows/templates.d.ts.map +0 -1
  563. package/dist/workflows/templates.js +0 -405
  564. package/dist/workflows/templates.js.map +0 -1
  565. package/dist/workflows/trajectory.d.ts +0 -87
  566. package/dist/workflows/trajectory.d.ts.map +0 -1
  567. package/dist/workflows/trajectory.js +0 -412
  568. package/dist/workflows/trajectory.js.map +0 -1
  569. package/dist/workflows/types.d.ts +0 -471
  570. package/dist/workflows/types.d.ts.map +0 -1
  571. package/dist/workflows/types.js +0 -37
  572. package/dist/workflows/types.js.map +0 -1
  573. package/dist/workflows/validator.d.ts +0 -11
  574. package/dist/workflows/validator.d.ts.map +0 -1
  575. package/dist/workflows/validator.js +0 -184
  576. package/dist/workflows/validator.js.map +0 -1
  577. package/dist/workflows/verification.d.ts +0 -53
  578. package/dist/workflows/verification.d.ts.map +0 -1
  579. package/dist/workflows/verification.js +0 -238
  580. package/dist/workflows/verification.js.map +0 -1
  581. /package/dist/{provisioner → actions}/types.js +0 -0
@@ -0,0 +1,322 @@
1
+ /**
2
+ * Resolve Node's `createRequire` without a static `node:module` import, so
3
+ * browser/edge bundles don't fail to resolve it. Returns `undefined` off Node
4
+ * (or on Node versions without `process.getBuiltinModule`).
5
+ */
6
+ function nodeCreateRequire() {
7
+ const proc = globalThis.process;
8
+ const mod = proc?.getBuiltinModule?.('node:module');
9
+ return mod?.createRequire;
10
+ }
11
+ export function validateJsonSchemaLite(value, schema) {
12
+ if (schema === undefined || schema === true) {
13
+ return { valid: true, issues: [] };
14
+ }
15
+ const state = { issues: [] };
16
+ validateAgainstSchema(value, schema, '$', state);
17
+ return { valid: state.issues.length === 0, issues: state.issues };
18
+ }
19
+ function validateAgainstSchema(value, schema, path, state) {
20
+ if (schema === true) {
21
+ return;
22
+ }
23
+ if (schema === false) {
24
+ addIssue(state, path, 'value is not allowed', 'never', describeValue(value));
25
+ return;
26
+ }
27
+ if (!isSchemaObject(schema)) {
28
+ addIssue(state, path, 'schema must be a boolean or object', 'schema', describeValue(schema));
29
+ return;
30
+ }
31
+ validateCombinators(value, schema, path, state);
32
+ if (schema.const !== undefined && !jsonEqual(value, schema.const)) {
33
+ addIssue(state, path, `expected const ${JSON.stringify(schema.const)}`, JSON.stringify(schema.const), describeValue(value));
34
+ }
35
+ if (schema.enum && !schema.enum.some((candidate) => jsonEqual(value, candidate))) {
36
+ addIssue(state, path, `expected one of ${schema.enum.map((candidate) => JSON.stringify(candidate)).join(', ')}`);
37
+ }
38
+ const types = getExpectedTypes(schema);
39
+ if (types.length > 0 && !types.some((type) => matchesType(value, type))) {
40
+ addIssue(state, path, `expected ${types.join(' or ')}`, types.join(' or '), describeValue(value));
41
+ return;
42
+ }
43
+ if (shouldValidateObject(value, schema)) {
44
+ validateObject(value, schema, path, state);
45
+ }
46
+ if (shouldValidateArray(value, schema)) {
47
+ validateArray(value, schema, path, state);
48
+ }
49
+ if (typeof value === 'string') {
50
+ validateString(value, schema, path, state);
51
+ }
52
+ if (typeof value === 'number') {
53
+ validateNumber(value, schema, path, state);
54
+ }
55
+ }
56
+ function validateCombinators(value, schema, path, state) {
57
+ if (schema.allOf) {
58
+ for (const child of schema.allOf) {
59
+ validateAgainstSchema(value, child, path, state);
60
+ }
61
+ }
62
+ if (schema.anyOf) {
63
+ const matched = schema.anyOf.some((child) => validateJsonSchemaLite(value, child).valid);
64
+ if (!matched) {
65
+ addIssue(state, path, 'expected value to match at least one anyOf schema');
66
+ }
67
+ }
68
+ if (schema.oneOf) {
69
+ const matches = schema.oneOf.filter((child) => validateJsonSchemaLite(value, child).valid).length;
70
+ if (matches !== 1) {
71
+ addIssue(state, path, `expected value to match exactly one oneOf schema, matched ${matches}`);
72
+ }
73
+ }
74
+ }
75
+ function validateObject(value, schema, path, state) {
76
+ for (const key of schema.required ?? []) {
77
+ if (!Object.prototype.hasOwnProperty.call(value, key)) {
78
+ addIssue(state, appendPath(path, key), 'required property is missing');
79
+ }
80
+ }
81
+ const properties = schema.properties ?? {};
82
+ for (const [key, childSchema] of Object.entries(properties)) {
83
+ if (Object.prototype.hasOwnProperty.call(value, key)) {
84
+ validateAgainstSchema(value[key], childSchema, appendPath(path, key), state);
85
+ }
86
+ }
87
+ const additional = schema.additionalProperties;
88
+ if (additional === undefined || additional === true) {
89
+ return;
90
+ }
91
+ for (const key of Object.keys(value)) {
92
+ if (Object.prototype.hasOwnProperty.call(properties, key)) {
93
+ continue;
94
+ }
95
+ if (additional === false) {
96
+ addIssue(state, appendPath(path, key), 'additional property is not allowed');
97
+ }
98
+ else {
99
+ validateAgainstSchema(value[key], additional, appendPath(path, key), state);
100
+ }
101
+ }
102
+ }
103
+ function validateArray(value, schema, path, state) {
104
+ if (schema.minItems !== undefined && value.length < schema.minItems) {
105
+ addIssue(state, path, `expected at least ${schema.minItems} items`);
106
+ }
107
+ if (schema.maxItems !== undefined && value.length > schema.maxItems) {
108
+ addIssue(state, path, `expected at most ${schema.maxItems} items`);
109
+ }
110
+ if (schema.items !== undefined) {
111
+ value.forEach((item, index) => {
112
+ validateAgainstSchema(item, schema.items, `${path}[${index}]`, state);
113
+ });
114
+ }
115
+ }
116
+ function validateString(value, schema, path, state) {
117
+ if (schema.minLength !== undefined && value.length < schema.minLength) {
118
+ addIssue(state, path, `expected length >= ${schema.minLength}`);
119
+ }
120
+ if (schema.maxLength !== undefined && value.length > schema.maxLength) {
121
+ addIssue(state, path, `expected length <= ${schema.maxLength}`);
122
+ }
123
+ if (schema.pattern !== undefined) {
124
+ try {
125
+ if (!new RegExp(schema.pattern).test(value)) {
126
+ addIssue(state, path, `expected string to match /${schema.pattern}/`);
127
+ }
128
+ }
129
+ catch {
130
+ addIssue(state, path, `invalid pattern /${schema.pattern}/`);
131
+ }
132
+ }
133
+ }
134
+ function validateNumber(value, schema, path, state) {
135
+ if (schema.minimum !== undefined && value < schema.minimum) {
136
+ addIssue(state, path, `expected value >= ${schema.minimum}`);
137
+ }
138
+ if (schema.maximum !== undefined && value > schema.maximum) {
139
+ addIssue(state, path, `expected value <= ${schema.maximum}`);
140
+ }
141
+ }
142
+ function getExpectedTypes(schema) {
143
+ if (Array.isArray(schema.type)) {
144
+ return schema.type;
145
+ }
146
+ if (schema.type) {
147
+ return [schema.type];
148
+ }
149
+ if (schema.properties || schema.required || schema.additionalProperties !== undefined) {
150
+ return ['object'];
151
+ }
152
+ if (schema.items || schema.minItems !== undefined || schema.maxItems !== undefined) {
153
+ return ['array'];
154
+ }
155
+ return [];
156
+ }
157
+ function matchesType(value, type) {
158
+ switch (type) {
159
+ case 'array':
160
+ return Array.isArray(value);
161
+ case 'boolean':
162
+ return typeof value === 'boolean';
163
+ case 'integer':
164
+ return Number.isInteger(value);
165
+ case 'null':
166
+ return value === null;
167
+ case 'number':
168
+ return typeof value === 'number' && Number.isFinite(value);
169
+ case 'object':
170
+ return isPlainObject(value);
171
+ case 'string':
172
+ return typeof value === 'string';
173
+ }
174
+ return false;
175
+ }
176
+ function shouldValidateObject(value, schema) {
177
+ return (isPlainObject(value) &&
178
+ Boolean(schema.properties || schema.required || schema.additionalProperties !== undefined));
179
+ }
180
+ function shouldValidateArray(value, schema) {
181
+ return (Array.isArray(value) &&
182
+ Boolean(schema.items || schema.minItems !== undefined || schema.maxItems !== undefined));
183
+ }
184
+ function isPlainObject(value) {
185
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
186
+ }
187
+ function isSchemaObject(value) {
188
+ return isPlainObject(value);
189
+ }
190
+ function appendPath(path, key) {
191
+ return /^[A-Za-z_$][A-Za-z0-9_$]*$/.test(key) ? `${path}.${key}` : `${path}[${JSON.stringify(key)}]`;
192
+ }
193
+ function addIssue(state, path, message, expected, received) {
194
+ state.issues.push({
195
+ path,
196
+ message,
197
+ ...(expected !== undefined ? { expected } : {}),
198
+ ...(received !== undefined ? { received } : {}),
199
+ });
200
+ }
201
+ function describeValue(value) {
202
+ if (value === null) {
203
+ return 'null';
204
+ }
205
+ if (Array.isArray(value)) {
206
+ return 'array';
207
+ }
208
+ return typeof value;
209
+ }
210
+ function jsonEqual(left, right) {
211
+ if (left === right) {
212
+ return true;
213
+ }
214
+ if (Array.isArray(left) && Array.isArray(right)) {
215
+ return (left.length === right.length && left.every((item, index) => jsonEqual(item, right[index])));
216
+ }
217
+ if (isPlainObject(left) && isPlainObject(right)) {
218
+ const leftKeys = Object.keys(left);
219
+ const rightKeys = Object.keys(right);
220
+ return (leftKeys.length === rightKeys.length &&
221
+ leftKeys.every((key) => Object.prototype.hasOwnProperty.call(right, key) && jsonEqual(left[key], right[key])));
222
+ }
223
+ return false;
224
+ }
225
+ /**
226
+ * Coerce an {@link ActionSchema} into a plain JSON Schema object suitable for
227
+ * sending to the relay as an action descriptor's `input_schema`/`output_schema`.
228
+ *
229
+ * - A JSON-schema-lite object (the relay's native shape) is returned as-is.
230
+ * - A standard-schema validator (e.g. `zod`) is converted via its JSON Schema
231
+ * bridge when one is available, falling back to a permissive object schema.
232
+ * - `undefined` yields `undefined` (the descriptor omits the schema).
233
+ */
234
+ export function actionSchemaToJsonSchema(schema) {
235
+ if (schema === undefined) {
236
+ return undefined;
237
+ }
238
+ if (isValidatorSchema(schema)) {
239
+ return validatorToJsonSchema(schema);
240
+ }
241
+ // A JSON-schema-lite definition: pass the object form through. Boolean
242
+ // schemas (`true`/`false`) have no object representation the relay accepts,
243
+ // so omit them.
244
+ if (typeof schema === 'object' && !Array.isArray(schema)) {
245
+ return schema;
246
+ }
247
+ return undefined;
248
+ }
249
+ function isValidatorSchema(schema) {
250
+ return (typeof schema === 'object' &&
251
+ schema !== null &&
252
+ !Array.isArray(schema) &&
253
+ typeof schema.safeParse === 'function');
254
+ }
255
+ /**
256
+ * Best-effort conversion of a validator (zod and the like) into JSON Schema.
257
+ * Supports a per-instance `toJSONSchema()`/`toJsonSchema()` method or a zod-v4
258
+ * style schema convertible via `z.toJSONSchema`. Anything else degrades to a
259
+ * permissive object schema so descriptor registration never throws.
260
+ */
261
+ function validatorToJsonSchema(schema) {
262
+ const candidate = schema;
263
+ for (const method of ['toJSONSchema', 'toJsonSchema']) {
264
+ const fn = candidate[method];
265
+ if (typeof fn === 'function') {
266
+ try {
267
+ const result = fn.call(schema);
268
+ if (isPlainObject(result)) {
269
+ return result;
270
+ }
271
+ }
272
+ catch {
273
+ // fall through to other strategies
274
+ }
275
+ }
276
+ }
277
+ const zodSchema = tryZodToJsonSchema(schema);
278
+ if (zodSchema) {
279
+ return zodSchema;
280
+ }
281
+ // Could not convert the validator: the relay descriptor advertises a
282
+ // permissive schema, but local validation still enforces the real one.
283
+ console.warn('[agent-relay] could not convert an action input schema to JSON Schema; ' +
284
+ 'the relay descriptor will advertise a permissive schema (local validation is unaffected).');
285
+ return { type: 'object', additionalProperties: true };
286
+ }
287
+ function tryZodToJsonSchema(schema) {
288
+ // The marker `_zod`/`_def` distinguishes a real zod schema from an arbitrary
289
+ // `safeParse` object, so conversion is only attempted on zod instances.
290
+ const looksLikeZod = '_zod' in schema || '_def' in schema;
291
+ if (!looksLikeZod) {
292
+ return undefined;
293
+ }
294
+ try {
295
+ // Resolved lazily to avoid a hard zod dependency (and a static node:module
296
+ // import) in the SDK.
297
+ const createRequire = nodeCreateRequire();
298
+ if (!createRequire) {
299
+ return undefined;
300
+ }
301
+ const req = createRequire(import.meta.url);
302
+ for (const entry of ['zod/v4', 'zod']) {
303
+ try {
304
+ const mod = req(entry);
305
+ if (typeof mod.toJSONSchema === 'function') {
306
+ const result = mod.toJSONSchema(schema);
307
+ if (isPlainObject(result)) {
308
+ return result;
309
+ }
310
+ }
311
+ }
312
+ catch {
313
+ // try the next entry point
314
+ }
315
+ }
316
+ }
317
+ catch {
318
+ // require unavailable (unexpected in Node); degrade gracefully
319
+ }
320
+ return undefined;
321
+ }
322
+ //# sourceMappingURL=json-schema-lite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema-lite.js","sourceRoot":"","sources":["../../src/actions/json-schema-lite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { ActionDefinition, ActionHandle, ActionListenerEvent, ActionResult, AgentRelayActionDescriptor, AgentRelayActions, ActionContext, InvokeActionInput } from './types.js';
2
+ export declare class InMemoryAgentRelayActions implements AgentRelayActions {
3
+ private readonly actions;
4
+ private readonly eventHandlers;
5
+ onEvent(handler: (event: ActionListenerEvent) => void): () => void;
6
+ private emitListenerEvent;
7
+ register<TInput, TOutput>(definition: ActionDefinition<TInput, TOutput>): ActionHandle;
8
+ invoke<TOutput = unknown>(input: InvokeActionInput): Promise<ActionResult<TOutput>>;
9
+ list(input?: {
10
+ visibility?: 'agent' | 'human' | 'internal';
11
+ }): Promise<AgentRelayActionDescriptor[]>;
12
+ get(name: string): AgentRelayActionDescriptor | undefined;
13
+ has(name: string): boolean;
14
+ unregister(name: string): boolean;
15
+ clear(): void;
16
+ execute<TOutput = unknown>(name: string, input: unknown, context?: ActionContext): Promise<TOutput>;
17
+ }
18
+ export declare class ActionRegistry extends InMemoryAgentRelayActions {
19
+ }
20
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/actions/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,0BAA0B,EAC1B,iBAAiB,EACjB,aAAa,EAKb,iBAAiB,EAElB,MAAM,YAAY,CAAC;AAIpB,qBAAa,yBAA0B,YAAW,iBAAiB;IACjE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;IAC/D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmD;IAEjF,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,GAAG,MAAM,IAAI;IAOlE,OAAO,CAAC,iBAAiB;IAUzB,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY;IAyBhF,MAAM,CAAC,OAAO,GAAG,OAAO,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAmHnF,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,CAAA;KAAE,GAAG,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAY1G,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,0BAA0B,GAAG,SAAS;IAezD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC,KAAK,IAAI,IAAI;IAIP,OAAO,CAAC,OAAO,GAAG,OAAO,EAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,aAA2C,GACnD,OAAO,CAAC,OAAO,CAAC;CAmBpB;AAED,qBAAa,cAAe,SAAQ,yBAAyB;CAAG"}
@@ -0,0 +1,267 @@
1
+ import { ActionNotFoundError, ActionRegistrationError, ActionValidationError } from './errors.js';
2
+ import { validateJsonSchemaLite } from './json-schema-lite.js';
3
+ export class InMemoryAgentRelayActions {
4
+ actions = new Map();
5
+ eventHandlers = new Set();
6
+ onEvent(handler) {
7
+ this.eventHandlers.add(handler);
8
+ return () => {
9
+ this.eventHandlers.delete(handler);
10
+ };
11
+ }
12
+ emitListenerEvent(event) {
13
+ for (const handler of this.eventHandlers) {
14
+ try {
15
+ handler(event);
16
+ }
17
+ catch {
18
+ // Listener errors must not break action invocation.
19
+ }
20
+ }
21
+ }
22
+ register(definition) {
23
+ const name = normalizeActionName(definition.name);
24
+ if (!name) {
25
+ throw new ActionRegistrationError('Action name is required');
26
+ }
27
+ if (this.actions.has(name)) {
28
+ throw new ActionRegistrationError(`Action already registered: ${name}`);
29
+ }
30
+ this.actions.set(name, {
31
+ ...definition,
32
+ name,
33
+ description: definition.description ?? name,
34
+ inputSchema: definition.inputSchema ?? definition.input,
35
+ outputSchema: definition.outputSchema ?? definition.output,
36
+ visibility: definition.visibility ?? 'agent',
37
+ });
38
+ return {
39
+ unregister: () => {
40
+ this.actions.delete(name);
41
+ },
42
+ };
43
+ }
44
+ async invoke(input) {
45
+ const name = normalizeActionName(input.name);
46
+ const definition = this.actions.get(name);
47
+ const context = actionContext(input);
48
+ if (!definition) {
49
+ return {
50
+ action: name,
51
+ ok: false,
52
+ error: { code: 'action_not_found', message: `Unknown action: ${name}` },
53
+ };
54
+ }
55
+ const at = new Date().toISOString();
56
+ await context.emit?.({
57
+ type: 'action.invoked',
58
+ action: name,
59
+ caller: context.caller.name,
60
+ at,
61
+ });
62
+ this.emitListenerEvent({
63
+ type: 'action.invoked',
64
+ action: name,
65
+ caller: context.caller,
66
+ input: input.input,
67
+ at,
68
+ });
69
+ const inputValidation = validateActionSchema(input.input, definition.inputSchema);
70
+ if (!inputValidation.valid) {
71
+ const message = formatValidationIssues(inputValidation.issues);
72
+ await context.emit?.({
73
+ type: 'action.failed',
74
+ action: name,
75
+ caller: context.caller.name,
76
+ at: new Date().toISOString(),
77
+ error: message,
78
+ });
79
+ return { action: name, ok: false, error: { code: 'invalid_input', message } };
80
+ }
81
+ const actionInput = inputValidation.value;
82
+ const decision = await definition.policy?.(actionInput, context);
83
+ if (decision && !decision.allowed) {
84
+ await context.emit?.({
85
+ type: 'action.denied',
86
+ action: name,
87
+ caller: context.caller.name,
88
+ at: new Date().toISOString(),
89
+ reason: decision.reason,
90
+ });
91
+ this.emitListenerEvent({
92
+ type: 'action.denied',
93
+ action: name,
94
+ caller: context.caller,
95
+ input: actionInput,
96
+ reason: decision.reason,
97
+ at: new Date().toISOString(),
98
+ });
99
+ return {
100
+ action: name,
101
+ ok: false,
102
+ error: { code: 'action_denied', message: decision.reason ?? 'Action denied' },
103
+ };
104
+ }
105
+ try {
106
+ const output = await definition.handler(actionInput, context);
107
+ const outputValidation = validateActionSchema(output, definition.outputSchema);
108
+ if (!outputValidation.valid) {
109
+ const message = formatValidationIssues(outputValidation.issues);
110
+ await context.emit?.({
111
+ type: 'action.failed',
112
+ action: name,
113
+ caller: context.caller.name,
114
+ at: new Date().toISOString(),
115
+ error: message,
116
+ });
117
+ return { action: name, ok: false, error: { code: 'invalid_output', message } };
118
+ }
119
+ await context.emit?.({
120
+ type: 'action.completed',
121
+ action: name,
122
+ caller: context.caller.name,
123
+ at: new Date().toISOString(),
124
+ });
125
+ this.emitListenerEvent({
126
+ type: 'action.completed',
127
+ action: name,
128
+ caller: context.caller,
129
+ input: actionInput,
130
+ output: outputValidation.value,
131
+ at: new Date().toISOString(),
132
+ });
133
+ return { action: name, ok: true, output: outputValidation.value };
134
+ }
135
+ catch (error) {
136
+ const message = error instanceof Error ? error.message : String(error);
137
+ await context.emit?.({
138
+ type: 'action.failed',
139
+ action: name,
140
+ caller: context.caller.name,
141
+ at: new Date().toISOString(),
142
+ error: message,
143
+ });
144
+ this.emitListenerEvent({
145
+ type: 'action.failed',
146
+ action: name,
147
+ caller: context.caller,
148
+ input: actionInput,
149
+ error: message,
150
+ at: new Date().toISOString(),
151
+ });
152
+ return { action: name, ok: false, error: { code: 'action_failed', message } };
153
+ }
154
+ }
155
+ async list(input) {
156
+ return [...this.actions.values()]
157
+ .filter((definition) => !input?.visibility || (definition.visibility ?? 'agent') === input.visibility)
158
+ .map((definition) => ({
159
+ name: definition.name,
160
+ description: definition.description ?? definition.name,
161
+ inputSchema: definition.inputSchema,
162
+ outputSchema: definition.outputSchema,
163
+ visibility: definition.visibility ?? 'agent',
164
+ }));
165
+ }
166
+ get(name) {
167
+ const definition = this.actions.get(normalizeActionName(name));
168
+ if (!definition) {
169
+ return undefined;
170
+ }
171
+ return {
172
+ name: definition.name,
173
+ description: definition.description ?? definition.name,
174
+ inputSchema: definition.inputSchema,
175
+ outputSchema: definition.outputSchema,
176
+ visibility: definition.visibility ?? 'agent',
177
+ };
178
+ }
179
+ has(name) {
180
+ return this.actions.has(normalizeActionName(name));
181
+ }
182
+ unregister(name) {
183
+ return this.actions.delete(normalizeActionName(name));
184
+ }
185
+ clear() {
186
+ this.actions.clear();
187
+ }
188
+ async execute(name, input, context = { caller: { name: 'sdk' } }) {
189
+ const result = await this.invoke({ name, input, context });
190
+ if (result.ok) {
191
+ return result.output;
192
+ }
193
+ const actionName = normalizeActionName(name);
194
+ if (result.error?.code === 'action_not_found') {
195
+ throw new ActionNotFoundError(actionName);
196
+ }
197
+ if (result.error?.code === 'invalid_input') {
198
+ throw new ActionValidationError(actionName, 'input', [{ path: '$', message: result.error.message }]);
199
+ }
200
+ if (result.error?.code === 'invalid_output') {
201
+ throw new ActionValidationError(actionName, 'output', [{ path: '$', message: result.error.message }]);
202
+ }
203
+ throw new Error(result.error?.message ?? `Action failed: ${actionName}`);
204
+ }
205
+ }
206
+ export class ActionRegistry extends InMemoryAgentRelayActions {
207
+ }
208
+ function normalizeActionName(name) {
209
+ return name.trim();
210
+ }
211
+ function formatValidationIssues(issues) {
212
+ return issues.map((issue) => `${issue.path}: ${issue.message}`).join('; ');
213
+ }
214
+ function validateActionSchema(input, schema) {
215
+ if (isZodLikeSchema(schema)) {
216
+ const result = schema.safeParse(input);
217
+ if (result.success) {
218
+ return { valid: true, issues: [], value: result.data };
219
+ }
220
+ return {
221
+ valid: false,
222
+ issues: zodIssues(result.error),
223
+ value: input,
224
+ };
225
+ }
226
+ // Anything with a `safeParse` method was handled above, so the remainder is
227
+ // a JSON-schema-lite definition.
228
+ return {
229
+ ...validateJsonSchemaLite(input, schema),
230
+ value: input,
231
+ };
232
+ }
233
+ function isZodLikeSchema(schema) {
234
+ return Boolean(schema &&
235
+ typeof schema === 'object' &&
236
+ !Array.isArray(schema) &&
237
+ typeof schema.safeParse === 'function');
238
+ }
239
+ function zodIssues(error) {
240
+ const issues = error.issues ?? [];
241
+ if (issues.length === 0) {
242
+ return [{ path: '$', message: 'invalid value' }];
243
+ }
244
+ return issues.map((issue) => ({
245
+ path: formatZodPath(issue.path ?? []),
246
+ message: issue.message,
247
+ }));
248
+ }
249
+ function formatZodPath(path) {
250
+ if (path.length === 0)
251
+ return '$';
252
+ let result = '$';
253
+ for (const part of path) {
254
+ result = typeof part === 'number' ? `${result}[${part}]` : `${result}.${part}`;
255
+ }
256
+ return result;
257
+ }
258
+ function actionContext(input) {
259
+ return {
260
+ ...input.context,
261
+ caller: input.context?.caller ?? input.caller ?? { name: 'sdk' },
262
+ workspaceId: input.context?.workspaceId ?? input.workspaceId,
263
+ messaging: input.context?.messaging ?? input.messaging,
264
+ emit: input.context?.emit ?? input.emit,
265
+ };
266
+ }
267
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/actions/registry.ts"],"names":[],"mappings":"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"}