@agent-relay/sdk 7.1.1 → 8.0.2

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
@@ -1,100 +0,0 @@
1
- /**
2
- * Sibling-package link setup for workflows that consume a package living in
3
- * a sibling repo / worktree on disk.
4
- *
5
- * Problem it solves: agents running inside a workflow sometimes find that
6
- * `npm install` (or `pip install`) resolved an older version of a package
7
- * than the one the workflow actually needs — for example when the consumer
8
- * workflow runs before the producer has published a new release. Rather
9
- * than letting agents see a stale interface (and react by augmenting the
10
- * module or writing fallback implementations), linking redirects the
11
- * package resolution at dev-time to the sibling's on-disk build output.
12
- *
13
- * Usage (ESM):
14
- *
15
- * import { workflow, applySiblingLinks } from '@agent-relay/sdk/workflows';
16
- *
17
- * const base = workflow('my-feature').pattern('dag').agent('impl', ...);
18
- * const wf = applySiblingLinks(base, {
19
- * dependsOn: ['install-deps'],
20
- * links: [
21
- * {
22
- * name: '@agent-assistant/proactive',
23
- * path: '../agent-assistant/packages/proactive',
24
- * expect: ['recordSignal', 'drainSignals'],
25
- * },
26
- * {
27
- * name: '@agent-assistant/surfaces',
28
- * path: '../agent-assistant/packages/surfaces',
29
- * expect: ['classifySlackPresenceSignal'],
30
- * },
31
- * ],
32
- * });
33
- *
34
- * await wf.step('plan', { agent: 'impl', dependsOn: ['setup-sibling-links'], task: ... })
35
- * .run({ cwd: process.cwd() });
36
- *
37
- * MVP language support: npm (package.json), Python (pyproject.toml /
38
- * setup.py / setup.cfg). Auto-detects from the sibling's manifest. Fails
39
- * fast on missing path, unknown manifest, or missing expected exports.
40
- */
41
- /** A single sibling package to link into the workflow's working directory. */
42
- export interface SiblingLink {
43
- /**
44
- * Package name as it appears in imports (e.g. "@agent-assistant/proactive",
45
- * "my_python_pkg"). For Python, use the import name (underscored), not the
46
- * distribution name.
47
- */
48
- name: string;
49
- /**
50
- * Path to the sibling package root, relative to the workflow's cwd.
51
- * For npm, this is the directory containing package.json.
52
- * For Python, the directory containing pyproject.toml / setup.py.
53
- */
54
- path: string;
55
- /**
56
- * Optional list of top-level named exports / attributes the workflow
57
- * expects to find on the linked package post-setup. When provided, a
58
- * language-appropriate import smoke test runs and fails the step if any
59
- * are missing.
60
- */
61
- expect?: string[];
62
- }
63
- export interface SiblingLinkOptions {
64
- /** Link declarations. All must succeed (fail-fast on any error). */
65
- links: SiblingLink[];
66
- /**
67
- * Step name for the setup step emitted by this helper.
68
- * Defaults to `"setup-sibling-links"`.
69
- */
70
- stepName?: string;
71
- /**
72
- * dependsOn for the setup step. Typically `['install-deps']` so that
73
- * `npm install` / `pip install` has run first.
74
- * Defaults to `['install-deps']`.
75
- */
76
- dependsOn?: string[];
77
- }
78
- /**
79
- * Adds a single deterministic step to the workflow that links each sibling
80
- * package into the workflow's working directory using the appropriate
81
- * language-specific mechanism, then smoke-tests each linked package for
82
- * expected exports.
83
- *
84
- * The step fails fast on:
85
- * - Sibling path missing
86
- * - Unknown manifest (no package.json / pyproject.toml / setup.py)
87
- * - Link command failure
88
- * - Missing expected export
89
- */
90
- export declare function applySiblingLinks<T>(wf: T, opts: SiblingLinkOptions): T;
91
- /**
92
- * Builds a bash script that:
93
- * 1. For each link, detects its manifest and applies the right link command.
94
- * 2. After all links succeed, runs one import smoke test per link that
95
- * declared expected exports.
96
- *
97
- * Exported for test visibility; not part of the public API.
98
- */
99
- export declare function buildSiblingLinkScript(links: SiblingLink[]): string;
100
- //# sourceMappingURL=sibling-links.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sibling-links.d.ts","sourceRoot":"","sources":["../../src/workflows/sibling-links.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,8EAA8E;AAC9E,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,KAAK,EAAE,WAAW,EAAE,CAAC;IAErB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAOD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,GAAG,CAAC,CAkBvE;AAkBD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAsBnE"}
@@ -1,205 +0,0 @@
1
- /**
2
- * Sibling-package link setup for workflows that consume a package living in
3
- * a sibling repo / worktree on disk.
4
- *
5
- * Problem it solves: agents running inside a workflow sometimes find that
6
- * `npm install` (or `pip install`) resolved an older version of a package
7
- * than the one the workflow actually needs — for example when the consumer
8
- * workflow runs before the producer has published a new release. Rather
9
- * than letting agents see a stale interface (and react by augmenting the
10
- * module or writing fallback implementations), linking redirects the
11
- * package resolution at dev-time to the sibling's on-disk build output.
12
- *
13
- * Usage (ESM):
14
- *
15
- * import { workflow, applySiblingLinks } from '@agent-relay/sdk/workflows';
16
- *
17
- * const base = workflow('my-feature').pattern('dag').agent('impl', ...);
18
- * const wf = applySiblingLinks(base, {
19
- * dependsOn: ['install-deps'],
20
- * links: [
21
- * {
22
- * name: '@agent-assistant/proactive',
23
- * path: '../agent-assistant/packages/proactive',
24
- * expect: ['recordSignal', 'drainSignals'],
25
- * },
26
- * {
27
- * name: '@agent-assistant/surfaces',
28
- * path: '../agent-assistant/packages/surfaces',
29
- * expect: ['classifySlackPresenceSignal'],
30
- * },
31
- * ],
32
- * });
33
- *
34
- * await wf.step('plan', { agent: 'impl', dependsOn: ['setup-sibling-links'], task: ... })
35
- * .run({ cwd: process.cwd() });
36
- *
37
- * MVP language support: npm (package.json), Python (pyproject.toml /
38
- * setup.py / setup.cfg). Auto-detects from the sibling's manifest. Fails
39
- * fast on missing path, unknown manifest, or missing expected exports.
40
- */
41
- /**
42
- * Adds a single deterministic step to the workflow that links each sibling
43
- * package into the workflow's working directory using the appropriate
44
- * language-specific mechanism, then smoke-tests each linked package for
45
- * expected exports.
46
- *
47
- * The step fails fast on:
48
- * - Sibling path missing
49
- * - Unknown manifest (no package.json / pyproject.toml / setup.py)
50
- * - Link command failure
51
- * - Missing expected export
52
- */
53
- export function applySiblingLinks(wf, opts) {
54
- if (opts.links.length === 0) {
55
- return wf;
56
- }
57
- const stepName = opts.stepName ?? 'setup-sibling-links';
58
- const dependsOn = opts.dependsOn ?? ['install-deps'];
59
- const script = buildSiblingLinkScript(opts.links);
60
- const chain = wf;
61
- chain.step(stepName, {
62
- type: 'deterministic',
63
- dependsOn,
64
- command: `bash -c ${shSingleQuote(script)}`,
65
- captureOutput: true,
66
- failOnError: true,
67
- });
68
- return wf;
69
- }
70
- // ─── Internal: shell-script generation ─────────────────────────────────────
71
- /**
72
- * Shell-quote a string for safe single-quoted inclusion in a bash command.
73
- * Single-quoted strings in bash are literal for every character except the
74
- * single quote itself, so `$` and backticks are NOT interpreted — which is
75
- * exactly what we want for link.name / link.path / JSON payloads that must
76
- * pass through bash unchanged.
77
- *
78
- * Embedded single quotes are escaped via the standard `'\''` POSIX idiom
79
- * (close, escape, reopen).
80
- */
81
- function shSingleQuote(value) {
82
- return `'${value.replace(/'/g, `'\\''`)}'`;
83
- }
84
- /**
85
- * Builds a bash script that:
86
- * 1. For each link, detects its manifest and applies the right link command.
87
- * 2. After all links succeed, runs one import smoke test per link that
88
- * declared expected exports.
89
- *
90
- * Exported for test visibility; not part of the public API.
91
- */
92
- export function buildSiblingLinkScript(links) {
93
- const lines = ['set -euo pipefail', 'echo "=== applySiblingLinks: setting up ==="'];
94
- for (const link of links) {
95
- // Use SINGLE-quoted shell literals for the assignments. Double-quoted
96
- // literals (via JSON.stringify) would let `$`, backticks, and `\` still
97
- // trigger substitution or escaping — single-quoted is literal end-to-end.
98
- const escapedName = shSingleQuote(link.name);
99
- const escapedPath = shSingleQuote(link.path);
100
- lines.push(linkOneBlock(link, escapedName, escapedPath));
101
- }
102
- lines.push('echo "=== applySiblingLinks: verifying exports ==="');
103
- for (const link of links) {
104
- if (!link.expect || link.expect.length === 0) {
105
- continue;
106
- }
107
- lines.push(verifyExportsBlock(link));
108
- }
109
- lines.push('echo "APPLY_SIBLING_LINKS_OK"');
110
- return lines.join('\n');
111
- }
112
- function linkOneBlock(link, escapedName, escapedPath) {
113
- void link;
114
- return [
115
- `SIBLING_PATH=${escapedPath}`,
116
- `SIBLING_NAME=${escapedName}`,
117
- 'echo "--- link: $SIBLING_NAME <- $SIBLING_PATH ---"',
118
- 'if [ ! -d "$SIBLING_PATH" ]; then',
119
- ' echo "SIBLING_PATH_MISSING: $SIBLING_PATH" >&2',
120
- ' exit 1',
121
- 'fi',
122
- 'if [ -f "$SIBLING_PATH/package.json" ]; then',
123
- ' echo "detected: npm"',
124
- ' ( cd "$SIBLING_PATH" && npm link --silent )',
125
- ' npm link --silent "$SIBLING_NAME"',
126
- 'elif [ -f "$SIBLING_PATH/pyproject.toml" ] || [ -f "$SIBLING_PATH/setup.py" ] || [ -f "$SIBLING_PATH/setup.cfg" ]; then',
127
- ' echo "detected: python"',
128
- // Try uv first (fastest when available), but uv refuses to install
129
- // outside a venv without --system. Pass --system explicitly so uv
130
- // works in non-venv sandboxes (common CI/agent runner shape).
131
- // If uv still fails (e.g. broken install), fall through to pip/pip3
132
- // via the explicit OR chain rather than relying on `set -e` to
133
- // short-circuit between elif branches.
134
- ' if command -v uv >/dev/null 2>&1 && uv pip install --system -e "$SIBLING_PATH" --quiet 2>/dev/null; then',
135
- ' :',
136
- ' elif command -v pip >/dev/null 2>&1; then',
137
- ' pip install -e "$SIBLING_PATH" --quiet',
138
- ' elif command -v pip3 >/dev/null 2>&1; then',
139
- ' pip3 install -e "$SIBLING_PATH" --quiet',
140
- ' else',
141
- ' echo "NO_PYTHON_INSTALLER: uv / pip / pip3 not found or all failed" >&2',
142
- ' exit 1',
143
- ' fi',
144
- 'else',
145
- ' echo "UNKNOWN_MANIFEST: expected package.json / pyproject.toml / setup.py / setup.cfg at $SIBLING_PATH" >&2',
146
- ' exit 1',
147
- 'fi',
148
- ].join('\n');
149
- }
150
- function verifyExportsBlock(link) {
151
- const escapedName = shSingleQuote(link.name);
152
- const escapedPath = shSingleQuote(link.path);
153
- const expectJson = JSON.stringify(link.expect ?? []);
154
- // Pick the smoke-test runtime based on what manifest type the sibling had.
155
- // Single-quoted assignments are literal — the JSON payload inside EXPECT
156
- // survives bash untouched and downstream Node/Python JSON.parse it back.
157
- return [
158
- `SIBLING_PATH=${escapedPath}`,
159
- `SIBLING_NAME=${escapedName}`,
160
- `EXPECT=${shSingleQuote(expectJson)}`,
161
- 'if [ -f "$SIBLING_PATH/package.json" ]; then',
162
- nodeVerifyCommand(),
163
- 'else',
164
- pythonVerifyCommand(),
165
- 'fi',
166
- ].join('\n');
167
- }
168
- function nodeVerifyCommand() {
169
- const script = [
170
- 'const want = JSON.parse(process.env.APPLY_SIBLING_LINKS_EXPECT);',
171
- 'const name = process.env.APPLY_SIBLING_LINKS_NAME;',
172
- 'const mod = await import(name);',
173
- 'const missing = want.filter((k) => !(k in mod));',
174
- 'if (missing.length) {',
175
- ' console.error(`MISSING_EXPORTS in ${name}: ${missing.join(",")}`);',
176
- ' process.exit(1);',
177
- '}',
178
- 'console.log(`${name} OK: ${want.join(",")}`);',
179
- ].join(' ');
180
- return ` APPLY_SIBLING_LINKS_NAME="$SIBLING_NAME" APPLY_SIBLING_LINKS_EXPECT="$EXPECT" node --input-type=module -e ${shSingleQuote(script)}`;
181
- }
182
- function pythonVerifyCommand() {
183
- // Python < 3.12 forbids backslashes inside f-string expressions, so we
184
- // can't inline `{",".join(missing)}` (which needs `\",\".` when written
185
- // as a JS string literal). Bind the separator to a name outside the
186
- // f-string first.
187
- const script = [
188
- 'import json, os, importlib',
189
- 'name = os.environ["APPLY_SIBLING_LINKS_NAME"]',
190
- 'want = json.loads(os.environ["APPLY_SIBLING_LINKS_EXPECT"])',
191
- 'mod = importlib.import_module(name)',
192
- 'missing = [k for k in want if not hasattr(mod, k)]',
193
- 'sep = ","',
194
- 'if missing:',
195
- ' print(f"MISSING_EXPORTS in {name}: {sep.join(missing)}", flush=True)',
196
- ' raise SystemExit(1)',
197
- 'print(f"{name} OK: {sep.join(want)}", flush=True)',
198
- ].join('\n');
199
- return [
200
- ' APPLY_SIBLING_LINKS_NAME="$SIBLING_NAME" APPLY_SIBLING_LINKS_EXPECT="$EXPECT" \\',
201
- ` python3 -c ${shSingleQuote(script)} 2>/dev/null || \\`,
202
- ` APPLY_SIBLING_LINKS_NAME="$SIBLING_NAME" APPLY_SIBLING_LINKS_EXPECT="$EXPECT" python -c ${shSingleQuote(script)}`,
203
- ].join('\n');
204
- }
205
- //# sourceMappingURL=sibling-links.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sibling-links.js","sourceRoot":"","sources":["../../src/workflows/sibling-links.ts"],"names":[],"mappings":"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"}
@@ -1,77 +0,0 @@
1
- /**
2
- * State Store — CRUD on swarm_state with optional consensus-gated writes.
3
- *
4
- * Provides a key-value store scoped to a workflow run and namespace.
5
- * When consensus gating is enabled, writes require approval from a
6
- * ConsensusEngine before being committed.
7
- */
8
- import { EventEmitter } from 'node:events';
9
- import type { DbClient } from './coordinator.js';
10
- export interface StateEntry {
11
- id: string;
12
- runId: string;
13
- namespace: string;
14
- key: string;
15
- value: unknown;
16
- expiresAt: string | null;
17
- createdAt: string;
18
- updatedAt: string;
19
- }
20
- export interface StateStoreOptions {
21
- /** Default namespace for keys. */
22
- namespace?: string;
23
- /** Default TTL in milliseconds for new entries. */
24
- defaultTtlMs?: number;
25
- }
26
- export interface WriteOptions {
27
- namespace?: string;
28
- ttlMs?: number;
29
- }
30
- export interface ReadOptions {
31
- namespace?: string;
32
- }
33
- /** Callback invoked to gate a write. Return true to allow, false to reject. */
34
- export type ConsensusGate = (runId: string, key: string, value: unknown, agent: string) => Promise<boolean>;
35
- export interface StateStoreEvents {
36
- 'state:set': (entry: StateEntry) => void;
37
- 'state:deleted': (runId: string, key: string, namespace: string) => void;
38
- 'state:gated': (runId: string, key: string, agent: string) => void;
39
- }
40
- export declare class StateStore extends EventEmitter {
41
- private db;
42
- private defaultNamespace;
43
- private defaultTtlMs;
44
- private consensusGate;
45
- constructor(db: DbClient, options?: StateStoreOptions);
46
- /**
47
- * Enable consensus-gated writes. When set, every `set()` call will
48
- * invoke the gate function before persisting. If the gate returns false,
49
- * the write is rejected.
50
- */
51
- setConsensusGate(gate: ConsensusGate): void;
52
- clearConsensusGate(): void;
53
- /**
54
- * Set a key-value pair. If consensus gating is enabled, the write is
55
- * subject to approval.
56
- *
57
- * @param agent - The agent requesting the write (used for consensus gating).
58
- */
59
- set(runId: string, key: string, value: unknown, agent: string, options?: WriteOptions): Promise<StateEntry>;
60
- get(runId: string, key: string, options?: ReadOptions): Promise<unknown | null>;
61
- getEntry(runId: string, key: string, options?: ReadOptions): Promise<StateEntry | null>;
62
- getAll(runId: string, options?: ReadOptions): Promise<StateEntry[]>;
63
- keys(runId: string, options?: ReadOptions): Promise<string[]>;
64
- delete(runId: string, key: string, options?: ReadOptions): Promise<boolean>;
65
- deleteAll(runId: string, options?: ReadOptions): Promise<number>;
66
- /**
67
- * Remove all expired entries for a run (or globally if runId is omitted).
68
- * Returns the number of entries purged.
69
- */
70
- purgeExpired(runId?: string): Promise<number>;
71
- /**
72
- * Take a snapshot of all state for a run as a plain object.
73
- * Useful for persisting into workflow_runs.state_snapshot.
74
- */
75
- snapshot(runId: string, options?: ReadOptions): Promise<Record<string, unknown>>;
76
- }
77
- //# sourceMappingURL=state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/workflows/state.ts"],"names":[],"mappings":"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"}
@@ -1,140 +0,0 @@
1
- /**
2
- * State Store — CRUD on swarm_state with optional consensus-gated writes.
3
- *
4
- * Provides a key-value store scoped to a workflow run and namespace.
5
- * When consensus gating is enabled, writes require approval from a
6
- * ConsensusEngine before being committed.
7
- */
8
- import { randomBytes } from 'node:crypto';
9
- import { EventEmitter } from 'node:events';
10
- // ── Store ───────────────────────────────────────────────────────────────────
11
- export class StateStore extends EventEmitter {
12
- db;
13
- defaultNamespace;
14
- defaultTtlMs;
15
- consensusGate = null;
16
- constructor(db, options = {}) {
17
- super();
18
- this.db = db;
19
- this.defaultNamespace = options.namespace ?? 'default';
20
- this.defaultTtlMs = options.defaultTtlMs ?? null;
21
- }
22
- // ── Consensus gating ──────────────────────────────────────────────────
23
- /**
24
- * Enable consensus-gated writes. When set, every `set()` call will
25
- * invoke the gate function before persisting. If the gate returns false,
26
- * the write is rejected.
27
- */
28
- setConsensusGate(gate) {
29
- this.consensusGate = gate;
30
- }
31
- clearConsensusGate() {
32
- this.consensusGate = null;
33
- }
34
- // ── Write ─────────────────────────────────────────────────────────────
35
- /**
36
- * Set a key-value pair. If consensus gating is enabled, the write is
37
- * subject to approval.
38
- *
39
- * @param agent - The agent requesting the write (used for consensus gating).
40
- */
41
- async set(runId, key, value, agent, options = {}) {
42
- // Consensus gate check.
43
- if (this.consensusGate) {
44
- const allowed = await this.consensusGate(runId, key, value, agent);
45
- if (!allowed) {
46
- this.emit('state:gated', runId, key, agent);
47
- throw new Error(`Write to "${key}" rejected by consensus gate for agent "${agent}"`);
48
- }
49
- }
50
- const namespace = options.namespace ?? this.defaultNamespace;
51
- const ttlMs = options.ttlMs ?? this.defaultTtlMs;
52
- const expiresAt = ttlMs ? new Date(Date.now() + ttlMs).toISOString() : null;
53
- const id = `st_${Date.now()}_${randomBytes(4).toString('hex')}`;
54
- const now = new Date().toISOString();
55
- // Upsert: use the unique (run_id, namespace, key) constraint.
56
- const { rows } = await this.db.query(`INSERT INTO swarm_state (id, run_id, namespace, key, value, expires_at, created_at, updated_at)
57
- VALUES ($1, $2, $3, $4, $5, $6, $7, $7)
58
- ON CONFLICT (run_id, namespace, key)
59
- DO UPDATE SET value = EXCLUDED.value, expires_at = EXCLUDED.expires_at, updated_at = EXCLUDED.updated_at
60
- RETURNING *`, [id, runId, namespace, key, JSON.stringify(value), expiresAt, now]);
61
- const entry = rows[0];
62
- this.emit('state:set', entry);
63
- return entry;
64
- }
65
- // ── Read ──────────────────────────────────────────────────────────────
66
- async get(runId, key, options = {}) {
67
- const namespace = options.namespace ?? this.defaultNamespace;
68
- const { rows } = await this.db.query(`SELECT * FROM swarm_state
69
- WHERE run_id = $1 AND namespace = $2 AND key = $3
70
- AND (expires_at IS NULL OR expires_at > now())`, [runId, namespace, key]);
71
- if (rows.length === 0)
72
- return null;
73
- return rows[0].value;
74
- }
75
- async getEntry(runId, key, options = {}) {
76
- const namespace = options.namespace ?? this.defaultNamespace;
77
- const { rows } = await this.db.query(`SELECT * FROM swarm_state
78
- WHERE run_id = $1 AND namespace = $2 AND key = $3
79
- AND (expires_at IS NULL OR expires_at > now())`, [runId, namespace, key]);
80
- return rows[0] ?? null;
81
- }
82
- async getAll(runId, options = {}) {
83
- const namespace = options.namespace ?? this.defaultNamespace;
84
- const { rows } = await this.db.query(`SELECT * FROM swarm_state
85
- WHERE run_id = $1 AND namespace = $2
86
- AND (expires_at IS NULL OR expires_at > now())
87
- ORDER BY key ASC`, [runId, namespace]);
88
- return rows;
89
- }
90
- async keys(runId, options = {}) {
91
- const namespace = options.namespace ?? this.defaultNamespace;
92
- const { rows } = await this.db.query(`SELECT key FROM swarm_state
93
- WHERE run_id = $1 AND namespace = $2
94
- AND (expires_at IS NULL OR expires_at > now())
95
- ORDER BY key ASC`, [runId, namespace]);
96
- return rows.map((r) => r.key);
97
- }
98
- // ── Delete ────────────────────────────────────────────────────────────
99
- async delete(runId, key, options = {}) {
100
- const namespace = options.namespace ?? this.defaultNamespace;
101
- const { rows } = await this.db.query(`DELETE FROM swarm_state WHERE run_id = $1 AND namespace = $2 AND key = $3 RETURNING id`, [runId, namespace, key]);
102
- if (rows.length > 0) {
103
- this.emit('state:deleted', runId, key, namespace);
104
- return true;
105
- }
106
- return false;
107
- }
108
- async deleteAll(runId, options = {}) {
109
- const namespace = options.namespace ?? this.defaultNamespace;
110
- const { rows } = await this.db.query(`DELETE FROM swarm_state WHERE run_id = $1 AND namespace = $2 RETURNING id`, [runId, namespace]);
111
- return rows.length;
112
- }
113
- // ── Expiry cleanup ────────────────────────────────────────────────────
114
- /**
115
- * Remove all expired entries for a run (or globally if runId is omitted).
116
- * Returns the number of entries purged.
117
- */
118
- async purgeExpired(runId) {
119
- if (runId) {
120
- const { rows } = await this.db.query(`DELETE FROM swarm_state WHERE run_id = $1 AND expires_at IS NOT NULL AND expires_at <= now() RETURNING id`, [runId]);
121
- return rows.length;
122
- }
123
- const { rows } = await this.db.query(`DELETE FROM swarm_state WHERE expires_at IS NOT NULL AND expires_at <= now() RETURNING id`, []);
124
- return rows.length;
125
- }
126
- // ── Snapshot ───────────────────────────────────────────────────────────
127
- /**
128
- * Take a snapshot of all state for a run as a plain object.
129
- * Useful for persisting into workflow_runs.state_snapshot.
130
- */
131
- async snapshot(runId, options = {}) {
132
- const entries = await this.getAll(runId, options);
133
- const result = {};
134
- for (const entry of entries) {
135
- result[entry.key] = entry.value;
136
- }
137
- return result;
138
- }
139
- }
140
- //# sourceMappingURL=state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/workflows/state.ts"],"names":[],"mappings":"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"}
@@ -1,95 +0,0 @@
1
- import { ChannelMessenger } from './channel-messenger.js';
2
- import type { ProcessSpawner } from './process-spawner.js';
3
- import { TemplateResolver } from './template-resolver.js';
4
- import type { StepOutcome } from './trajectory.js';
5
- import type { AgentDefinition, ErrorHandlingConfig, StepCompletionMode, VerificationCheck, WorkflowStep, WorkflowStepCompletionReason, WorkflowStepRow, WorkflowStepStatus } from './types.js';
6
- import { type VerificationOptions, type VerificationResult, type VerificationSideEffects } from './verification.js';
7
- type StateLike = {
8
- row: WorkflowStepRow;
9
- };
10
- export interface StepResult {
11
- status: WorkflowStepStatus;
12
- output: string;
13
- exitCode?: number;
14
- exitSignal?: string;
15
- duration: number;
16
- retries: number;
17
- completionReason?: WorkflowStepCompletionReason;
18
- error?: string;
19
- }
20
- export interface StepSchedule {
21
- step: WorkflowStep;
22
- readyAt: number;
23
- staggerDelay: number;
24
- }
25
- export interface StepExecutorDeps<TState extends StateLike = StateLike> {
26
- cwd: string;
27
- runId?: string;
28
- postToChannel?: (text: string) => void;
29
- persistStepRow?: (stepId: string, patch: Partial<WorkflowStepRow>) => Promise<void>;
30
- persistStepOutput?: (runId: string, stepName: string, output: string) => Promise<void>;
31
- resolveTemplate?: (template: string, context: Record<string, unknown>) => string;
32
- getStepOutput?: (stepName: string) => string | undefined;
33
- loadStepOutput?: (runId: string, stepName: string) => string | undefined;
34
- checkAborted?: () => void;
35
- waitIfPaused?: () => Promise<void>;
36
- log?: (message: string) => void;
37
- processSpawner?: ProcessSpawner;
38
- templateResolver?: TemplateResolver;
39
- channelMessenger?: ChannelMessenger;
40
- verificationRunner?: (check: VerificationCheck, output: string, stepName: string, injectedTaskText?: string, options?: VerificationOptions, sideEffects?: VerificationSideEffects) => VerificationResult;
41
- executeStep?: (step: WorkflowStep, state: TState, agentMap: Map<string, AgentDefinition>, errorHandling?: ErrorHandlingConfig) => Promise<Partial<StepResult> | void>;
42
- onStepStarted?: (step: WorkflowStep, state: TState) => Promise<void> | void;
43
- onStepRetried?: (step: WorkflowStep, state: TState, attempt: number, maxRetries: number) => Promise<void> | void;
44
- onStepCompleted?: (step: WorkflowStep, state: TState, result: StepResult) => Promise<void> | void;
45
- onStepFailed?: (step: WorkflowStep, state: TState, result: StepResult) => Promise<void> | void;
46
- onBeginTrack?: (steps: WorkflowStep[]) => Promise<void> | void;
47
- onConverge?: (steps: WorkflowStep[], outcomes: StepOutcome[]) => Promise<void> | void;
48
- markDownstreamSkipped?: (failedStepName: string) => Promise<void>;
49
- buildCompletionMode?: (stepName: string, completionReason?: WorkflowStepCompletionReason) => StepCompletionMode | undefined;
50
- }
51
- export interface MonitorStepOptions<TState extends StateLike, TResult> {
52
- maxRetries?: number;
53
- retryDelayMs?: number;
54
- startMessage?: string;
55
- onStart?: (attempt: number, state: TState) => Promise<void> | void;
56
- onRetry?: (attempt: number, maxRetries: number, state: TState) => Promise<void> | void;
57
- execute: (attempt: number, state: TState) => Promise<TResult>;
58
- toCompletionResult: (result: TResult, attempt: number, state: TState) => Partial<StepResult>;
59
- onAttemptFailed?: (error: unknown, attempt: number, state: TState) => Promise<void> | void;
60
- getFailureResult?: (error: unknown, attempt: number, state: TState) => Partial<StepResult>;
61
- }
62
- export declare class StepExecutor<TState extends StateLike = StateLike> {
63
- private readonly deps;
64
- private readonly templateResolver;
65
- private readonly channelMessenger;
66
- private readonly verificationRunner;
67
- constructor(deps: StepExecutorDeps<TState>);
68
- findReady(steps: WorkflowStep[], statuses: Map<string, WorkflowStepStatus> | Map<string, TState>): WorkflowStep[];
69
- /** @deprecated Use {@link findReady} instead. This is an alias kept for backward compatibility. */
70
- findReadySteps(steps: WorkflowStep[], statuses: Map<string, WorkflowStepStatus> | Map<string, TState>): WorkflowStep[];
71
- scheduleStep(step: WorkflowStep, options?: {
72
- readyAt?: number;
73
- staggerDelay?: number;
74
- }): StepSchedule;
75
- startStep(step: WorkflowStep, state: TState, startMessage?: string): Promise<void>;
76
- retryStep(step: WorkflowStep, state: TState, attempt: number, maxRetries: number): Promise<void>;
77
- completeStep(step: WorkflowStep, state: TState, result: Partial<StepResult>): Promise<StepResult>;
78
- monitorStep<TResult>(step: WorkflowStep, state: TState, options: MonitorStepOptions<TState, TResult>): Promise<StepResult>;
79
- executeAll(steps: WorkflowStep[], agentMap: Map<string, AgentDefinition>, errorHandling?: ErrorHandlingConfig, providedStates?: Map<string, TState>): Promise<Map<string, StepResult>>;
80
- executeOne(step: WorkflowStep, agentMap: Map<string, AgentDefinition>, errorHandling?: ErrorHandlingConfig, providedState?: TState): Promise<StepResult>;
81
- markFailed(stepName: string, error: string): Promise<void>;
82
- buildStepOutputContext(stepStates: Map<string, TState>): Record<string, {
83
- output: string;
84
- }>;
85
- resolveStepTemplate(template: string, context: Record<string, unknown>): string;
86
- getChannelMessenger(): ChannelMessenger;
87
- runVerification(check: VerificationCheck, output: string, stepName: string, injectedTaskText?: string, options?: VerificationOptions): VerificationResult;
88
- private executeScheduledStep;
89
- private executeWithProcessSpawner;
90
- private createEphemeralStates;
91
- private createEphemeralState;
92
- private getStatus;
93
- }
94
- export {};
95
- //# sourceMappingURL=step-executor.d.ts.map