@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
package/dist/personas.js DELETED
@@ -1,401 +0,0 @@
1
- /**
2
- * Persona loading and translation.
3
- *
4
- * A persona is a JSON file that describes a pre-configured agent: which
5
- * harness (CLI) to use, which model, what system prompt to inject, plus
6
- * optional MCP servers and permission flags. Personas live in
7
- * `<cwd>/agentworkforce/personas`, the AgentWorkforce home directory, or
8
- * any directory the caller passes explicitly.
9
- *
10
- * Translation from a resolved persona to `{bin, args}` delegates to
11
- * `@agentworkforce/harness-kit#buildInteractiveSpec`, so relay always
12
- * produces the same launch args the AgentWorkforce CLI does.
13
- *
14
- * The schema mirrors the AgentWorkforce persona format
15
- * (see https://github.com/AgentWorkforce/workforce). Skills installation,
16
- * mount policy, sidecar markdown, input rendering, and routing profiles
17
- * are deliberately not handled here — callers needing those should use
18
- * the `agentworkforce` CLI directly.
19
- */
20
- import { existsSync, readFileSync, readdirSync, writeFileSync, mkdirSync, rmSync } from 'node:fs';
21
- import { homedir } from 'node:os';
22
- import { dirname, isAbsolute, join, relative, resolve as resolvePath, sep } from 'node:path';
23
- import { buildInteractiveSpec, } from '@agentworkforce/harness-kit';
24
- import { HARNESS_VALUES, PERSONA_TIERS, } from '@agentworkforce/workload-router';
25
- export { HARNESS_VALUES, PERSONA_TIERS };
26
- // ── Default search dirs ────────────────────────────────────────────────────
27
- function expandHome(p) {
28
- if (p === '~')
29
- return homedir();
30
- if (p.startsWith('~/') || p.startsWith('~\\'))
31
- return join(homedir(), p.slice(2));
32
- return p;
33
- }
34
- /**
35
- * The default cascade. First match wins for a given persona id.
36
- *
37
- * 1. `<cwd>/agentworkforce/personas` (the path most projects pick)
38
- * 2. `<cwd>/.agentworkforce/workforce/personas` (workforce CLI's project default)
39
- * 3. `<cwd>/agentworkforce/workforce/personas` (alt workforce layout)
40
- * 4. `$AGENT_WORKFORCE_HOME/personas` if set, else `~/.agentworkforce/workforce/personas`
41
- */
42
- export function defaultPersonaSearchDirs(cwd = process.cwd()) {
43
- const dirs = [
44
- join(cwd, 'agentworkforce', 'personas'),
45
- join(cwd, '.agentworkforce', 'workforce', 'personas'),
46
- join(cwd, 'agentworkforce', 'workforce', 'personas'),
47
- ];
48
- const home = process.env.AGENT_WORKFORCE_HOME?.trim();
49
- if (home) {
50
- dirs.push(join(expandHome(home), 'personas'));
51
- }
52
- else {
53
- dirs.push(join(homedir(), '.agentworkforce', 'workforce', 'personas'));
54
- }
55
- return dirs;
56
- }
57
- function effectiveSearchDirs(options) {
58
- const cwd = options.cwd ?? process.cwd();
59
- const base = options.searchDirs
60
- ? options.searchDirs.map((d) => normalizeDir(d, cwd))
61
- : defaultPersonaSearchDirs(cwd);
62
- const extras = (options.extraDirs ?? []).map((d) => normalizeDir(d, cwd));
63
- return dedupe([...base, ...extras]);
64
- }
65
- function normalizeDir(input, cwd) {
66
- const expanded = expandHome(input.trim());
67
- return isAbsolute(expanded) ? resolvePath(expanded) : resolvePath(cwd, expanded);
68
- }
69
- function dedupe(items) {
70
- const seen = new Set();
71
- const out = [];
72
- for (const item of items) {
73
- if (seen.has(item))
74
- continue;
75
- seen.add(item);
76
- out.push(item);
77
- }
78
- return out;
79
- }
80
- // ── Discovery ──────────────────────────────────────────────────────────────
81
- /**
82
- * List every persona discoverable across the search-dir cascade. When the
83
- * same id appears in multiple dirs, only the first match (by cascade order)
84
- * is returned.
85
- */
86
- export function listPersonas(options = {}) {
87
- const dirs = effectiveSearchDirs(options);
88
- const byId = new Map();
89
- for (const dir of dirs) {
90
- if (!existsSync(dir))
91
- continue;
92
- let entries;
93
- try {
94
- entries = readdirSync(dir);
95
- }
96
- catch {
97
- continue;
98
- }
99
- for (const file of entries) {
100
- if (!file.endsWith('.json'))
101
- continue;
102
- const path = join(dir, file);
103
- let spec;
104
- try {
105
- // Single read avoids a TOCTOU between stat and readFileSync — if the
106
- // entry is a directory, vanished, or unreadable we skip it.
107
- spec = parsePersonaFile(JSON.parse(readFileSync(path, 'utf8')), path);
108
- }
109
- catch {
110
- continue;
111
- }
112
- if (!byId.has(spec.id)) {
113
- byId.set(spec.id, { id: spec.id, path, spec });
114
- }
115
- }
116
- }
117
- return [...byId.values()];
118
- }
119
- /**
120
- * Find a persona file by id across the search-dir cascade.
121
- * Returns undefined if not found.
122
- */
123
- export function findPersona(id, options = {}) {
124
- const dirs = effectiveSearchDirs(options);
125
- for (const dir of dirs) {
126
- if (!existsSync(dir))
127
- continue;
128
- const candidate = join(dir, `${id}.json`);
129
- let candidateBytes;
130
- try {
131
- // Single read avoids a stat/read TOCTOU. ENOENT (file missing) falls
132
- // through to a directory scan for personas with mismatched filenames;
133
- // any other read failure or parse failure on a convention-named file
134
- // surfaces directly so a typo in the JSON isn't silently treated as
135
- // "persona not found".
136
- candidateBytes = readFileSync(candidate, 'utf8');
137
- }
138
- catch (err) {
139
- if (err.code !== 'ENOENT')
140
- throw err;
141
- }
142
- if (candidateBytes !== undefined) {
143
- const spec = parsePersonaFile(JSON.parse(candidateBytes), candidate);
144
- if (spec.id === id)
145
- return { id, path: candidate, spec };
146
- }
147
- let entries;
148
- try {
149
- entries = readdirSync(dir);
150
- }
151
- catch {
152
- continue;
153
- }
154
- for (const file of entries) {
155
- if (!file.endsWith('.json'))
156
- continue;
157
- const path = join(dir, file);
158
- try {
159
- const spec = parsePersonaFile(JSON.parse(readFileSync(path, 'utf8')), path);
160
- if (spec.id === id)
161
- return { id, path, spec };
162
- }
163
- catch {
164
- continue;
165
- }
166
- }
167
- }
168
- return undefined;
169
- }
170
- // ── Resolution ─────────────────────────────────────────────────────────────
171
- /**
172
- * Load and resolve a persona by id. Searches the cascade, applies the
173
- * chosen tier, and resolves a single level of `extends` against the same
174
- * cascade. Throws if the persona is missing required fields for the tier.
175
- */
176
- export function loadPersona(id, options = {}) {
177
- const discovered = findPersona(id, options);
178
- if (!discovered) {
179
- const dirs = effectiveSearchDirs(options);
180
- throw new Error(`Persona "${id}" not found. Searched:\n ${dirs.join('\n ')}\n` +
181
- 'Set searchDirs / extraDirs to include the directory containing the persona file.');
182
- }
183
- const tier = options.tier ?? 'best';
184
- let spec = discovered.spec;
185
- if (spec.extends) {
186
- const base = findPersona(spec.extends, options);
187
- if (!base) {
188
- throw new Error(`Persona "${id}" extends "${spec.extends}" but the base could not be found in the search cascade.`);
189
- }
190
- spec = mergeSpecs(base.spec, spec);
191
- }
192
- const tierSpec = spec.tiers?.[tier];
193
- const harness = (tierSpec?.harness ?? spec.harness);
194
- const model = tierSpec?.model ?? spec.model;
195
- const systemPrompt = tierSpec?.systemPrompt ?? spec.systemPrompt;
196
- if (!harness) {
197
- throw new Error(`Persona "${id}" tier "${tier}" has no harness; set tiers.${tier}.harness or top-level harness.`);
198
- }
199
- if (!HARNESS_VALUES.includes(harness)) {
200
- throw new Error(`Persona "${id}" tier "${tier}" uses unsupported harness "${String(harness)}". ` +
201
- `Supported: ${HARNESS_VALUES.join(', ')}.`);
202
- }
203
- if (!model) {
204
- throw new Error(`Persona "${id}" tier "${tier}" has no model; set tiers.${tier}.model or top-level model.`);
205
- }
206
- if (!systemPrompt) {
207
- throw new Error(`Persona "${id}" tier "${tier}" has no systemPrompt; set tiers.${tier}.systemPrompt or top-level systemPrompt.`);
208
- }
209
- return {
210
- id: spec.id,
211
- source: discovered.path,
212
- tier,
213
- harness,
214
- model,
215
- systemPrompt,
216
- description: spec.description,
217
- permissions: spec.permissions,
218
- mcpServers: spec.mcpServers,
219
- };
220
- }
221
- // ── Merge (extends) ────────────────────────────────────────────────────────
222
- function mergeSpecs(base, override) {
223
- const tiers = {};
224
- for (const tier of PERSONA_TIERS) {
225
- const baseTier = base.tiers?.[tier];
226
- const overrideTier = override.tiers?.[tier];
227
- if (overrideTier || baseTier) {
228
- tiers[tier] = { ...(baseTier ?? {}), ...(overrideTier ?? {}) };
229
- }
230
- }
231
- return {
232
- id: override.id,
233
- intent: override.intent ?? base.intent,
234
- description: override.description ?? base.description,
235
- tags: override.tags ?? base.tags,
236
- systemPrompt: override.systemPrompt ?? base.systemPrompt,
237
- harness: override.harness ?? base.harness,
238
- model: override.model ?? base.model,
239
- permissions: mergePermissions(base.permissions, override.permissions),
240
- mcpServers: { ...(base.mcpServers ?? {}), ...(override.mcpServers ?? {}) },
241
- tiers: Object.keys(tiers).length > 0 ? tiers : undefined,
242
- };
243
- }
244
- function mergePermissions(base, override) {
245
- if (!base && !override)
246
- return undefined;
247
- const allow = dedupe([...(base?.allow ?? []), ...(override?.allow ?? [])]);
248
- const deny = dedupe([...(base?.deny ?? []), ...(override?.deny ?? [])]);
249
- return {
250
- ...(allow.length > 0 ? { allow } : {}),
251
- ...(deny.length > 0 ? { deny } : {}),
252
- ...(override?.mode ?? base?.mode ? { mode: override?.mode ?? base?.mode } : {}),
253
- };
254
- }
255
- // ── Validation ─────────────────────────────────────────────────────────────
256
- function isPlainObject(value) {
257
- return typeof value === 'object' && value !== null && !Array.isArray(value);
258
- }
259
- function parsePersonaFile(value, source) {
260
- if (!isPlainObject(value)) {
261
- throw new Error(`${source}: persona must be a JSON object`);
262
- }
263
- if (typeof value.id !== 'string' || !value.id.trim()) {
264
- throw new Error(`${source}: persona.id must be a non-empty string`);
265
- }
266
- // Validate harness values up front so a typo in the file fails at load time
267
- // rather than at spawn — the runtime check in loadPersona stays as a
268
- // defense-in-depth guard for callers that bypass parsing.
269
- const topHarness = value.harness;
270
- if (topHarness !== undefined && !isValidHarness(topHarness)) {
271
- throw new Error(`${source}: persona.harness must be one of: ${HARNESS_VALUES.join(', ')} (got ${JSON.stringify(topHarness)})`);
272
- }
273
- const tiers = value.tiers;
274
- if (tiers !== undefined) {
275
- if (!isPlainObject(tiers)) {
276
- throw new Error(`${source}: persona.tiers must be an object if provided`);
277
- }
278
- for (const [tierName, tierSpec] of Object.entries(tiers)) {
279
- if (!PERSONA_TIERS.includes(tierName))
280
- continue; // unknown tier names are ignored
281
- if (!isPlainObject(tierSpec))
282
- continue;
283
- const harness = tierSpec.harness;
284
- if (harness !== undefined && !isValidHarness(harness)) {
285
- throw new Error(`${source}: persona.tiers.${tierName}.harness must be one of: ${HARNESS_VALUES.join(', ')} (got ${JSON.stringify(harness)})`);
286
- }
287
- }
288
- }
289
- return value;
290
- }
291
- function isValidHarness(value) {
292
- return typeof value === 'string' && HARNESS_VALUES.includes(value);
293
- }
294
- // ── Translation: persona → spawn args ──────────────────────────────────────
295
- /**
296
- * Translate a resolved persona into the bin/args spawnPty needs. Delegates
297
- * to {@link buildInteractiveSpec} from `@agentworkforce/harness-kit` so
298
- * relay produces the same launch shape the AgentWorkforce CLI does.
299
- */
300
- export function buildPersonaSpawnSpec(persona) {
301
- const input = {
302
- harness: persona.harness,
303
- personaId: persona.id,
304
- model: persona.model,
305
- systemPrompt: persona.systemPrompt,
306
- ...(persona.mcpServers ? { mcpServers: persona.mcpServers } : {}),
307
- ...(persona.permissions ? { permissions: persona.permissions } : {}),
308
- };
309
- const spec = buildInteractiveSpec(input);
310
- return {
311
- cli: spec.bin,
312
- model: persona.model,
313
- args: [...spec.args],
314
- initialPrompt: spec.initialPrompt,
315
- configFiles: [...spec.configFiles],
316
- warnings: [...spec.warnings],
317
- };
318
- }
319
- /**
320
- * Codex has no system-prompt flag, so the persona's instructions must ride
321
- * on the task. Combines them in the same shape the agentworkforce
322
- * harness-kit uses for non-interactive codex runs.
323
- */
324
- export function composePersonaTask(spec, userTask) {
325
- if (!spec.initialPrompt)
326
- return userTask;
327
- if (!userTask)
328
- return spec.initialPrompt;
329
- return `${spec.initialPrompt}\n\nUser task:\n${userTask}`;
330
- }
331
- /**
332
- * Write each persona config file into `cwd`. Refuses absolute paths or
333
- * paths that escape `cwd`. Returns handles the caller can pass to
334
- * {@link restorePersonaConfigFiles}.
335
- */
336
- export function materializePersonaConfigFiles(cwd, files) {
337
- const out = [];
338
- const cwdAbs = resolvePath(cwd);
339
- for (const file of files) {
340
- if (!file.path)
341
- throw new Error('persona config file path must be non-empty');
342
- if (isAbsolute(file.path)) {
343
- throw new Error(`persona config file path must be relative: ${file.path}`);
344
- }
345
- const target = resolvePath(cwd, file.path);
346
- // Use path.relative for separator-agnostic containment so Windows paths
347
- // (`C:\proj\opencode.json`) aren't falsely rejected by a hardcoded '/' check.
348
- const rel = relative(cwdAbs, target);
349
- if (rel.startsWith('..') || (isAbsolute(rel) && rel !== '')) {
350
- throw new Error(`persona config file path escapes cwd: ${file.path}`);
351
- }
352
- if (rel.split(sep).some((segment) => segment === '..')) {
353
- throw new Error(`persona config file path escapes cwd: ${file.path}`);
354
- }
355
- // Single read with ENOENT detection avoids a TOCTOU between `existsSync`
356
- // and `readFileSync`. Any other read error (permissions, EISDIR) bubbles up
357
- // — the caller can decide whether to retry or surface to the user.
358
- let existed = true;
359
- let previous;
360
- try {
361
- previous = readFileSync(target, 'utf8');
362
- }
363
- catch (err) {
364
- if (err.code === 'ENOENT') {
365
- existed = false;
366
- }
367
- else {
368
- throw err;
369
- }
370
- }
371
- mkdirSync(dirname(target), { recursive: true });
372
- writeFileSync(target, file.contents, 'utf8');
373
- out.push({ path: target, existed, ...(previous !== undefined ? { previous } : {}) });
374
- }
375
- return out;
376
- }
377
- /**
378
- * Restore the original state of files written by
379
- * {@link materializePersonaConfigFiles}. Files that did not exist before
380
- * are removed; files that did exist are written back to their prior
381
- * contents. Errors are swallowed — restore is best-effort cleanup.
382
- */
383
- export function restorePersonaConfigFiles(writes) {
384
- for (const write of [...writes].reverse()) {
385
- try {
386
- if (write.existed) {
387
- writeFileSync(write.path, write.previous ?? '', 'utf8');
388
- }
389
- else {
390
- rmSync(write.path, { force: true });
391
- }
392
- }
393
- catch (err) {
394
- // Best-effort: a failed restore shouldn't break the spawn lifecycle, but
395
- // it can leave a stale opencode.json behind, so surface the failure.
396
- const msg = err?.message ?? String(err);
397
- console.warn(`[personas] failed to restore ${write.path}: ${msg}`);
398
- }
399
- }
400
- }
401
- //# sourceMappingURL=personas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"personas.js","sourceRoot":"","sources":["../src/personas.ts"],"names":[],"mappings":"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"}