@desplega.ai/agent-swarm 2.4.0 → 2.4.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 (222) hide show
  1. package/README.md +1 -1
  2. package/dist/{acp-adapter-kedstxx6.js → acp-adapter-zvzr538d.js} +9 -9
  3. package/dist/{actions-vget6r1k.js → actions-jhtqdw69.js} +21 -21
  4. package/dist/{amp-adapter-xeb5mktv.js → amp-adapter-bd84rhs2.js} +4 -4
  5. package/dist/{app-mqap8t8m.js → app-kreq1gwg.js} +3 -3
  6. package/dist/{assistant-h0gv97mv.js → assistant-3k22sbsq.js} +22 -22
  7. package/dist/{boot-reembed-qr8a894z.js → boot-reembed-e53x6b9v.js} +1 -1
  8. package/dist/{boot-reembed-rj85jjhw.js → boot-reembed-f6z923ny.js} +1 -1
  9. package/dist/{boot-scrub-sweep-eyfvn6v9.js → boot-scrub-sweep-0538vsb7.js} +4 -4
  10. package/dist/{boot-seeds-xs9a8dx1.js → boot-seeds-6wxqkfk2.js} +4 -4
  11. package/dist/{claude-adapter-bm23cye7.js → claude-adapter-gfts5044.js} +9 -9
  12. package/dist/{claude-managed-adapter-1mwrsm9d.js → claude-managed-adapter-h2y889ge.js} +2 -2
  13. package/dist/{claude-managed-setup-gkfgks4j.js → claude-managed-setup-h00hsgtz.js} +2 -2
  14. package/dist/{claude-sdk-session-apb4ypz3.js → claude-sdk-session-56besmfz.js} +13 -13
  15. package/dist/{cli-nrrg0fvy.js → cli-0bh477zn.js} +18 -5
  16. package/dist/{cli-7gh7020n.js → cli-1dmcq2eh.js} +1 -1
  17. package/dist/{cli-7ayprxp7.js → cli-2dfbv8qr.js} +8 -0
  18. package/dist/{cli-1cevz46c.js → cli-3kh4kpqy.js} +6 -6
  19. package/dist/{cli-tg9ksbn8.js → cli-3p8fqcnh.js} +2 -2
  20. package/dist/{cli-x1p5dhq2.js → cli-3r448dqn.js} +3 -3
  21. package/dist/{cli-ecshf504.js → cli-3tnpj2bh.js} +7 -7
  22. package/dist/{cli-ffbrkh1r.js → cli-471qk6s2.js} +46 -38
  23. package/dist/{cli-a49vpbf3.js → cli-5kqnemen.js} +1 -1
  24. package/dist/{cli-zvze9rbm.js → cli-6ncjvx55.js} +3 -3
  25. package/dist/{cli-fb6t92v8.js → cli-6x9ma5w5.js} +1 -1
  26. package/dist/{cli-c8fwpgqb.js → cli-7225gwj7.js} +2 -2
  27. package/dist/{cli-bn26xbcs.js → cli-8nyhf7za.js} +1 -1
  28. package/dist/{cli-y83zk5sb.js → cli-a0kcty51.js} +4 -4
  29. package/dist/{cli-8b9wvjps.js → cli-a4gvwttf.js} +4 -4
  30. package/dist/{cli-jhp7w1fy.js → cli-a5ebc95n.js} +2 -2
  31. package/dist/{cli-mz1ezzzh.js → cli-ash6xxk7.js} +2 -2
  32. package/dist/{cli-rsd7ga7v.js → cli-axh29tyr.js} +11 -11
  33. package/dist/{cli-p22zdvnt.js → cli-bn0rewsy.js} +3 -3
  34. package/dist/{cli-6ftrrwm1.js → cli-bn5kevnf.js} +5 -5
  35. package/dist/{cli-p1m2b6gc.js → cli-d2mb5s8a.js} +7 -7
  36. package/dist/{cli-c5sbmw1v.js → cli-d82btycs.js} +94 -15
  37. package/dist/{cli-vjfpshn3.js → cli-ejs3m1sx.js} +1 -1
  38. package/dist/{cli-a1esmmee.js → cli-fpmsqq59.js} +7 -2
  39. package/dist/{cli-8cxkw1f5.js → cli-fz9kewbh.js} +2 -2
  40. package/dist/{cli-8rwvksbc.js → cli-g0hgtz4p.js} +5 -5
  41. package/dist/{cli-kz116kvw.js → cli-gf0kfg81.js} +7 -7
  42. package/dist/{cli-eqgfs202.js → cli-hqhzg1qq.js} +2 -2
  43. package/dist/{cli-3wjs22x3.js → cli-j4rqdf2n.js} +2 -2
  44. package/dist/{cli-ywyrffff.js → cli-jh0qcrga.js} +1 -1
  45. package/dist/{cli-ttaz6c7m.js → cli-k9z4zd4p.js} +6 -5
  46. package/dist/{cli-nme7wery.js → cli-kmqgmcnb.js} +46 -13
  47. package/dist/{cli-x719j3vs.js → cli-kr2pmfqx.js} +392 -168
  48. package/dist/{cli-wrv09v7q.js → cli-m2qgh5sv.js} +1 -1
  49. package/dist/{cli-xfe63zx3.js → cli-mfe7f7b5.js} +2 -2
  50. package/dist/{cli-x3en6ct3.js → cli-nwyw3zhg.js} +1 -1
  51. package/dist/{cli-5s5hx57y.js → cli-nx462e4v.js} +1 -1
  52. package/dist/{cli-bfc3k1x5.js → cli-p0rakbrk.js} +9 -9
  53. package/dist/{cli-avmqhatn.js → cli-p6argxh9.js} +8 -8
  54. package/dist/{cli-3avfh5az.js → cli-pemywhfq.js} +2 -2
  55. package/dist/{cli-sppc0cmw.js → cli-pnp2j5zg.js} +2 -2
  56. package/dist/{cli-wk8ccrz6.js → cli-pw7v69vp.js} +2 -2
  57. package/dist/{cli-bhwa8rzc.js → cli-rdq7tzwm.js} +13 -12
  58. package/dist/{cli-rg7ntypm.js → cli-rqqsfz30.js} +379 -87
  59. package/dist/{cli-kk2r80n5.js → cli-s48yvzb8.js} +4 -4
  60. package/dist/{cli-zv4vy2b0.js → cli-s95dknxh.js} +1 -1
  61. package/dist/{cli-b80a1100.js → cli-sjyetj21.js} +2 -2
  62. package/dist/{cli-rdr166ht.js → cli-smvcw9z5.js} +1 -1
  63. package/dist/{cli-2rwet3r7.js → cli-sv5gb0yb.js} +1 -1
  64. package/dist/{cli-5ff2sjyt.js → cli-syhq378v.js} +2 -2
  65. package/dist/{cli-tj4j2ts4.js → cli-tbhwrxpt.js} +8 -8
  66. package/dist/{cli-4fhyq711.js → cli-vy0fay6k.js} +13 -13
  67. package/dist/{cli-ptkpaqfy.js → cli-wt645v7q.js} +1 -1
  68. package/dist/{cli-f3nx1h8z.js → cli-wxbn3yfx.js} +2 -2
  69. package/dist/{cli-wyrr38xm.js → cli-x5mq1fyq.js} +1 -1
  70. package/dist/{cli-ccn0eybf.js → cli-xbzvet96.js} +6 -6
  71. package/dist/{cli-4mkvwgzr.js → cli-xf234ws8.js} +1 -1
  72. package/dist/{cli-tgvpmnwz.js → cli-xftrvxag.js} +5 -5
  73. package/dist/{cli-02vhhssk.js → cli-z071fb95.js} +5 -5
  74. package/dist/{cli-mvg2hf8p.js → cli-z1ew8vbq.js} +14 -7
  75. package/dist/{cli-dsgj3e7a.js → cli-zfg9enh9.js} +2 -2
  76. package/dist/{cli-yxqag76b.js → cli-zw88zjba.js} +1 -1
  77. package/dist/cli.js +19 -19
  78. package/dist/{codex-adapter-pp2gq8gr.js → codex-adapter-p6rmm7vv.js} +6 -6
  79. package/dist/{codex-hook-qwzccd64.js → codex-hook-x7nejyrr.js} +7 -4
  80. package/dist/{codex-login-35p4sk85.js → codex-login-m819c41r.js} +1 -1
  81. package/dist/{codex-session-runner-0vzn09t8.js → codex-session-runner-8vd5t9t0.js} +7 -7
  82. package/dist/{commands-psqhkttb.js → commands-7ems2p13.js} +2 -2
  83. package/dist/{controller-t20vz2k8.js → controller-m263fg43.js} +4 -4
  84. package/dist/{controllers-connect-gkxmqw9d.js → controllers-connect-bg33ae53.js} +23 -23
  85. package/dist/{cursor-adapter-3v542qe5.js → cursor-adapter-cz6nm6mj.js} +3 -3
  86. package/dist/{db-2xbyenjr.js → db-w505dwa8.js} +2 -2
  87. package/dist/{db-nc1rd869.js → db-ys2rbdft.js} +3 -3
  88. package/dist/{devin-adapter-7egzmt0k.js → devin-adapter-zgqadvnm.js} +1 -1
  89. package/dist/{dispatcher-ewceb8ts.js → dispatcher-0s0mckqr.js} +20 -20
  90. package/dist/{docker-njavd3fb.js → docker-fkgtr75t.js} +2 -2
  91. package/dist/{dsh-adapter-75xwh78t.js → dsh-adapter-3n3net33.js} +3 -3
  92. package/dist/{e2b-5r6a5jeb.js → e2b-7am6tmq6.js} +2 -2
  93. package/dist/{e2b-pw1nvtmh.js → e2b-thdcxtjd.js} +2 -2
  94. package/dist/{easter-egg-3d-xsc47jwf.js → easter-egg-3d-5cgynaja.js} +1 -1
  95. package/dist/{event-bus-101fenkh.js → event-bus-9vpk8gmq.js} +1 -1
  96. package/dist/{execute-gzmw1mnw.js → execute-t4e6m3rw.js} +1 -1
  97. package/dist/{external-channel-a5dsmxn4.js → external-channel-5b23fv8z.js} +2 -2
  98. package/dist/{grok-adapter-vj88xr23.js → grok-adapter-q9fghe5q.js} +10 -10
  99. package/dist/handlers-mqrym347.js +39 -0
  100. package/dist/{heartbeat-t2m9r3wa.js → heartbeat-tww6yx1w.js} +23 -23
  101. package/dist/{hook-xa677f8r.js → hook-dx0pkvar.js} +16 -9
  102. package/dist/{hook-8femx1bg.js → hook-pvmh9b6m.js} +6 -6
  103. package/dist/{http-xpmmq028.js → http-k2ejbt05.js} +199 -131
  104. package/dist/{index-s7ckdajq.js → index-2z710v4x.js} +10 -10
  105. package/dist/{index-dg2tmj99.js → index-dgz61nff.js} +20 -20
  106. package/dist/{index-syztqdt6.js → index-g6tbb6ve.js} +1 -1
  107. package/dist/index-h2ek08d6.js +40 -0
  108. package/dist/index-pqfwh9nn.js +41 -0
  109. package/dist/{index-cdzyfrsp.js → index-x5aktmp8.js} +1 -1
  110. package/dist/{keepalive-3nr4st3r.js → keepalive-nhvpw10z.js} +4 -4
  111. package/dist/lead-jb6sf69z.js +78 -0
  112. package/dist/{maintenance-verwpe2c.js → maintenance-agakc519.js} +1 -1
  113. package/dist/{oauth-refresh-sweep-9q2t0y3q.js → oauth-refresh-sweep-4dcbhtn0.js} +3 -3
  114. package/dist/{onboard-aytqedmq.js → onboard-4n2kwa4v.js} +3 -3
  115. package/dist/{opencode-adapter-f4hryjny.js → opencode-adapter-3s7ax02e.js} +7 -7
  116. package/dist/{otel-impl-hckw4wt1.js → otel-impl-tfa12080.js} +2 -2
  117. package/dist/{pi-mono-adapter-hxby0ce1.js → pi-mono-adapter-ytp7gz8b.js} +22 -11
  118. package/dist/{pricing-refresh-5nvme3sm.js → pricing-refresh-3cqx3f3x.js} +3 -3
  119. package/dist/{rbac-roles-pd8c26m1.js → rbac-roles-9fae5rnv.js} +1 -1
  120. package/dist/{rbac-roles-vbpy21mg.js → rbac-roles-y6zbfzve.js} +2 -2
  121. package/dist/{render-v2-7nqgvk2q.js → render-v2-emawjvc4.js} +3 -3
  122. package/dist/{resume-b6djcj3c.js → resume-zhgts7h7.js} +10 -8
  123. package/dist/{runtime-txrxc9za.js → runtime-xe3aqy4x.js} +1 -1
  124. package/dist/{session-access-fc3f9y12.js → session-access-cm823e06.js} +4 -4
  125. package/dist/{setup-n39szm6b.js → setup-tkp99w1e.js} +1 -1
  126. package/dist/{virtual-modules-wyp2k6z3.js → virtual-modules-4r3zkc20.js} +2 -2
  127. package/dist/{work-objects-jem2fre0.js → work-objects-f722h263.js} +23 -23
  128. package/dist/worker-p7f336rq.js +78 -0
  129. package/dist/{x-8ewt8gxn.js → x-y45mthwn.js} +2 -2
  130. package/openapi.json +99 -52
  131. package/package.json +2 -2
  132. package/src/apps/action-runner.ts +146 -0
  133. package/src/apps/row-store.ts +4 -2
  134. package/src/apps/script-types.ts +1 -1
  135. package/src/be/db.ts +14 -4
  136. package/src/be/fleet-benchmark-stats.ts +10 -5
  137. package/src/be/models-catalog.ts +4 -0
  138. package/src/be/onboarding.ts +6 -0
  139. package/src/be/scripts/typecheck.ts +13 -0
  140. package/src/be/swarm-config-guard.ts +10 -1
  141. package/src/be/telemetry-enable.ts +1 -1
  142. package/src/commands/provider-credentials.ts +12 -2
  143. package/src/commands/runner.ts +3 -0
  144. package/src/heartbeat/heartbeat.ts +2 -2
  145. package/src/hooks/codex-hook.ts +6 -2
  146. package/src/hooks/hook.ts +7 -0
  147. package/src/hooks/pr-body-guard.ts +38 -11
  148. package/src/hooks/pr-room-guard.ts +88 -0
  149. package/src/http/agents.ts +1 -0
  150. package/src/http/apps.ts +84 -181
  151. package/src/http/fleet-benchmark.ts +79 -30
  152. package/src/http/global-config.ts +7 -0
  153. package/src/http/ranking.ts +24 -40
  154. package/src/http/tasks.ts +2 -1
  155. package/src/http/telemetry-ui.ts +1 -1
  156. package/src/http/used-by.ts +55 -19
  157. package/src/http/users.ts +2 -2
  158. package/src/providers/amp-adapter.ts +1 -1
  159. package/src/providers/pi-mono-adapter.ts +15 -0
  160. package/src/providers/reasoning-effort.ts +2 -1
  161. package/src/providers/types.ts +2 -0
  162. package/src/ranking/telemetry-ranking.ts +5 -33
  163. package/src/scripts-runtime/sdk-allowlist.ts +7 -0
  164. package/src/scripts-runtime/types/stdlib.d.ts +31 -0
  165. package/src/scripts-runtime/types/swarm-sdk.d.ts +31 -0
  166. package/src/server.ts +4 -0
  167. package/src/telemetry-context.ts +19 -1
  168. package/src/telemetry-contract/EVENTS.md +42 -8
  169. package/src/telemetry-contract/SOURCE.json +6 -5
  170. package/src/telemetry-contract/catalog.json +225 -5
  171. package/src/telemetry-contract/ranking/fixtures/valid/no-claim.json +10 -0
  172. package/src/telemetry-contract/ranking/listing.v1.schema.json +2 -2
  173. package/src/telemetry-contract/types.gen.ts +225 -27
  174. package/src/telemetry-identity.ts +47 -9
  175. package/src/telemetry-snapshot.ts +9 -1
  176. package/src/telemetry-ui-events.ts +9 -2
  177. package/src/telemetry.ts +14 -3
  178. package/src/tests/app-action-run-tool.test.ts +178 -0
  179. package/src/tests/app-row-tools.test.ts +360 -0
  180. package/src/tests/check-pr-body.test.ts +0 -23
  181. package/src/tests/credential-check.test.ts +38 -0
  182. package/src/tests/fleet-benchmark.test.ts +122 -2
  183. package/src/tests/http-users.test.ts +62 -1
  184. package/src/tests/model-catalog-table.test.ts +63 -0
  185. package/src/tests/model-profiles-api.test.ts +19 -7
  186. package/src/tests/models-catalog.test.ts +50 -0
  187. package/src/tests/onboarding.test.ts +21 -0
  188. package/src/tests/org-website.test.ts +62 -0
  189. package/src/tests/pi-mono-adapter.test.ts +23 -0
  190. package/src/tests/pr-body-leaks.test.ts +4 -0
  191. package/src/tests/pr-room-guard.test.ts +242 -0
  192. package/src/tests/ranking-listing.test.ts +8 -23
  193. package/src/tests/ranking-route.test.ts +49 -47
  194. package/src/tests/reasoning-effort.test.ts +39 -3
  195. package/src/tests/runner-harness-telemetry-env.test.ts +56 -1
  196. package/src/tests/swarm-tool-result-gate.test.ts +2 -4
  197. package/src/tests/telemetry-context.test.ts +128 -2
  198. package/src/tests/telemetry-ui-route.test.ts +123 -0
  199. package/src/tests/tool-annotations.test.ts +3 -2
  200. package/src/tests/used-by-route.test.ts +144 -10
  201. package/src/tests/workflow-agent-task-retry.test.ts +130 -4
  202. package/src/tests/workflow-wait-recovery.test.ts +116 -4
  203. package/src/tools/app-action-run.ts +63 -0
  204. package/src/tools/app-rows.ts +234 -0
  205. package/src/tools/model-catalog/index.ts +1 -1
  206. package/src/tools/tool-config.ts +8 -0
  207. package/src/tools/utils.ts +1 -1
  208. package/src/tools/workflows/retry-workflow-run.ts +1 -1
  209. package/src/types.ts +17 -0
  210. package/src/utils/company-profile.ts +24 -0
  211. package/src/utils/org-website.ts +58 -21
  212. package/src/workflows/recovery.ts +10 -22
  213. package/src/workflows/resume.ts +16 -0
  214. package/src/workflows/task-step-routing.ts +47 -7
  215. package/templates/skills/apps/SKILL.md +41 -2
  216. package/templates/skills/apps/content.md +41 -2
  217. package/dist/handlers-zbs90bny.js +0 -39
  218. package/dist/index-8pwc1jc8.js +0 -40
  219. package/dist/index-nxa6me0q.js +0 -41
  220. package/dist/lead-td8h2sfn.js +0 -78
  221. package/dist/worker-wr6xgfr2.js +0 -78
  222. package/src/tests/check-ranking-entry.test.ts +0 -146
@@ -379,7 +379,10 @@ var SHORT_FLAGS = {
379
379
  m: "milestone",
380
380
  p: "project",
381
381
  r: "reviewer",
382
- T: "template"
382
+ T: "template",
383
+ e: "editor",
384
+ f: "fill",
385
+ w: "web"
383
386
  };
384
387
  function parseGhArgs(args) {
385
388
  const parsed = { positionals: [], flags: [] };
@@ -824,14 +827,18 @@ function parseWithState(command, initial, initialFlags) {
824
827
  bodyFiles.push(expanded);
825
828
  }
826
829
  found.push({
830
+ action,
827
831
  cwd: wrapperFlags || dirUnknown ? null : state.dir,
828
832
  repos: [...new Set(repos)],
833
+ resolvedRepos: repos.map(expand),
829
834
  alsoCheckout,
830
835
  unknownTarget,
831
836
  texts: [...inline, ...fromStdin ? stdin : []],
837
+ bodyTexts: [...values("body"), ...fromStdin ? stdin : []].map(expand),
832
838
  bodyFiles,
833
839
  unresolvedBodyFiles,
834
- opaqueBody: inline.some((value) => value.endsWith("$")) || action === "edit" && target?.endsWith("$") === true || fromStdin && stdin.length === 0 && args.stdinFile === undefined
840
+ opaqueBody: inline.some((value) => value.endsWith("$")) || action === "edit" && target?.endsWith("$") === true || fromStdin && stdin.length === 0 && args.stdinFile === undefined,
841
+ externalBody: values("fill", "fill-first", "fill-verbose", "template", "editor", "web", "recover").length > 0
835
842
  });
836
843
  };
837
844
  const segments = tokenizeShell(command);
@@ -849,6 +856,21 @@ function parseWithState(command, initial, initialFlags) {
849
856
  return found;
850
857
  }
851
858
  var BLOCK_ADVICE = "Paraphrase the motivation ('a maintainer asked for X') and link only public sources (Fixes #N, a public PR or issue). Task, session, agent-fs and Slack permalinks go only under '## Swarm provenance'. Bare Slack ids, ts values and private-chat quotes are blocked everywhere.";
859
+ async function readGhPrBodyFiles(call, readFile) {
860
+ const texts = [];
861
+ let unreadable = call.unresolvedBodyFiles[0];
862
+ for (const bodyFile of call.bodyFiles) {
863
+ try {
864
+ const base = isAbsolute(bodyFile) ? "/" : call.cwd;
865
+ if (base === null)
866
+ throw new Error("unknown working directory");
867
+ texts.push(await readFile(resolve(base, bodyFile)));
868
+ } catch {
869
+ unreadable ??= bodyFile;
870
+ }
871
+ }
872
+ return { texts, unreadable };
873
+ }
852
874
  async function checkGhPrCommand(command, cwd, deps) {
853
875
  if (!/\bgh\b[\s\S]*\bpr\b/.test(command))
854
876
  return null;
@@ -858,18 +880,10 @@ async function checkGhPrCommand(command, cwd, deps) {
858
880
  for (const leak of findPrBodyLeaks(text))
859
881
  leaks.add(leak);
860
882
  }
861
- let unreadable = call.unresolvedBodyFiles[0];
862
- for (const bodyFile of call.bodyFiles) {
863
- try {
864
- const base = isAbsolute(bodyFile) ? "/" : call.cwd;
865
- if (base === null)
866
- throw new Error("unknown working directory");
867
- for (const leak of findPrBodyLeaks(await deps.readFile(resolve(base, bodyFile)))) {
868
- leaks.add(leak);
869
- }
870
- } catch {
871
- unreadable ??= bodyFile;
872
- }
883
+ const { texts, unreadable } = await readGhPrBodyFiles(call, deps.readFile);
884
+ for (const text of texts) {
885
+ for (const leak of findPrBodyLeaks(text))
886
+ leaks.add(leak);
873
887
  }
874
888
  if (leaks.size === 0 && unreadable === undefined)
875
889
  continue;
@@ -940,4 +954,69 @@ async function guardGhPrBody(toolInput, cwd, deps = defaultPrBodyGuardDeps()) {
940
954
  }
941
955
  }
942
956
 
943
- export { guardGhPrBody };
957
+ // src/hooks/pr-room-guard.ts
958
+ var BLOCK_REASON = 'This repo uses PR rooms. Create the room first with the pr-room skill (app action createRoom). Then pass the returned prBody with --body-file. The body must contain the line "PR room: prr-...".';
959
+ var ROOM_LINE = /^PR room: prr-[a-z2-7]{10}\b/m;
960
+ var REMOTE_LOOKUP_TIMEOUT_MS = 5000;
961
+ async function gitRemoteOrigin(cwd, timeoutMs = REMOTE_LOOKUP_TIMEOUT_MS) {
962
+ const proc = Bun.spawn(["git", "-C", cwd, "config", "--get", "remote.origin.url"], {
963
+ stdout: "pipe",
964
+ stderr: "ignore",
965
+ stdin: "ignore",
966
+ timeout: timeoutMs,
967
+ killSignal: "SIGKILL"
968
+ });
969
+ const [out, code] = await Promise.all([new Response(proc.stdout).text(), proc.exited]);
970
+ if (code !== 0)
971
+ throw new Error("Cannot resolve checkout remote");
972
+ return out.trim();
973
+ }
974
+ var defaultDeps = () => ({
975
+ env: process.env,
976
+ readFile: (path) => Bun.file(path).text(),
977
+ remoteOrigin: (cwd) => gitRemoteOrigin(cwd)
978
+ });
979
+ function repoFromRemote(remote) {
980
+ const match = /^(?:https?:\/\/[^/]+\/|ssh:\/\/[^/]+\/|[^\s/@:]+@[^\s/:]+:)([^/\s]+)\/([^/\s]+?)\/?$/.exec(remote.trim());
981
+ return match ? `${match[1]}/${match[2]?.replace(/\.git$/, "")}`.toLowerCase() : undefined;
982
+ }
983
+ async function guardGhPrRoom(toolInput, cwd, deps = defaultDeps()) {
984
+ try {
985
+ const repos = new Set((deps.env.PR_ROOM_REPOS ?? "").split(",").map((repo) => repo.trim().toLowerCase()).filter(Boolean));
986
+ if (repos.size === 0)
987
+ return null;
988
+ const command = shellCommandOf(toolInput);
989
+ if (command === null)
990
+ return null;
991
+ for (const call of parseGhPrCommands(command, cwd, deps.env)) {
992
+ if (call.action !== "create" || call.unknownTarget || call.cwd === null)
993
+ continue;
994
+ if (call.opaqueBody || call.externalBody || call.bodyTexts.includes(null))
995
+ continue;
996
+ const targets = [...call.resolvedRepos];
997
+ if (targets.includes(null))
998
+ continue;
999
+ if (targets.length === 0 || call.alsoCheckout) {
1000
+ try {
1001
+ const repo = repoFromRemote(await deps.remoteOrigin(call.cwd));
1002
+ if (!repo)
1003
+ continue;
1004
+ targets.push(repo);
1005
+ } catch {
1006
+ continue;
1007
+ }
1008
+ }
1009
+ if (!targets.every((repo) => repo !== null && repos.has(repo.trim().toLowerCase())))
1010
+ continue;
1011
+ const body = await readGhPrBodyFiles(call, deps.readFile);
1012
+ if (body.unreadable !== undefined)
1013
+ continue;
1014
+ const texts = [...call.bodyTexts, ...body.texts];
1015
+ if (!texts.some((text) => text !== null && ROOM_LINE.test(text)))
1016
+ return BLOCK_REASON;
1017
+ }
1018
+ } catch {}
1019
+ return null;
1020
+ }
1021
+
1022
+ export { guardGhPrBody, guardGhPrRoom };
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  scrubSecrets,
7
7
  init_secret_scrubber
8
- } from "./cli-4mkvwgzr.js";
8
+ } from "./cli-xf234ws8.js";
9
9
 
10
10
  // src/providers/codex-oauth/auth-json.ts
11
11
  init_subscription_plans();
@@ -1637,7 +1637,7 @@ function checkExtensionInstallSource(body, ctx) {
1637
1637
  ctx.addIssue({ code: "custom", path: ["files"], message: "files is required with manifest" });
1638
1638
  }
1639
1639
  }
1640
- var AssetKeySchema, AssetEntityTypeSchema, AssetProviderRefSchema, AssetKeyMappingSchema, AssetSummarySchema, ModelTierSchema, MODEL_TIERS, ReasoningEffortSchema, LEGACY_MODEL_TO_TIER, DEFAULT_MODEL_TIER_MAP, AgentTaskStatusSchema, TERMINAL_TASK_STATUSES, InboxMessageStatusSchema, InboxMessageSchema, AgentTaskSourceSchema, RoutingReasonSchema, RoutingSourceSchema, ProviderNameSchema, ModelProfileNameSchema, ModelProfileSchema, SessionShareAccessSchema, SessionAccessSchema, SessionOwnerSchema, SessionSharesSchema, SessionSharesUpdateSchema, SteerModeSchema, SteeringStatusSchema, SteeringSourceSchema, SteeringMessageSchema, SteerOutcomeSchema, OnUnsupportedSchema, SteerResultSchema, PROVIDER_STEER_CAPABILITIES, FollowUpConfigSchema, RoutingAffinitySchema, AgentTaskSchema, CreateTaskOptionsSchema, TaskAttachmentKindSchema, SERVER_GENERATED_ATTACHMENT_CAPABILITY = "_agentSwarmGeneratedBy", attachmentCapabilitiesSchema, attachmentCommonFields, AttachmentInputSchema, TaskAttachmentSchema, UserSchema, UserCommsPrefsSchema, IdentityEventTypeSchema, InboxItemTypeSchema, InboxItemStatusSchema, InboxItemStateSchema, FavoriteItemTypeSchema, UserFavoriteSchema, TaskTemplateKindSchema, TaskTemplateSchema, AgentStatusSchema, AgentAvatarSchema, AgentSchema, AgentCredStatusLiveTestSchema, AgentLatestModelSchema, AgentBedrockStatusSchema, AcpSessionConfigSelectValueSchema, AcpSessionConfigSelectGroupSchema, AcpSessionConfigOptionSchema, AgentAcpStatusSchema, AgentCredStatusSchema, AgentWithTasksSchema, ChangeSourceSchema, VersionableFieldSchema, ContextVersionSchema, ChannelTypeSchema, ChannelSchema, ChannelMessageSchema, ServiceStatusSchema, ServiceSchema, AgentLogEventTypeSchema, ResumeReasonSchema, AgentLogSchema, SessionLogSchema, SessionCostSourceSchema, SessionCostModelBreakdownSchema, SessionCostSchema, EventCategorySchema, EventStatusSchema, EventSourceSchema, EventNameSchema, SwarmEventSchema, AutomationIntegrationIdSchema, ScheduledTaskTargetTypeSchema, ScheduledTaskSchema, SwarmConfigScopeSchema, SwarmConfigSchema, RepoGuidelinesSchema, REPO_GUIDELINES_MAX_ENTRIES = 50, RepoGuidelinesInputSchema, RepoHooksSchema, SwarmRepoSchema, AgentMemoryScopeSchema, AgentMemorySourceSchema, AgentMemorySchema, ActiveSessionSchema, WorkerNudgeSchema, RuntimeInstanceStatusSchema, RuntimeProviderKindSchema, DeliveryModeSchema, PoolLifecycleSchema, RuntimeResourcesSchema, RuntimeControllerCreateSchema, RuntimeControllerUpdateSchema, RuntimeControllerSchema, RuntimePoolCreateSchema, RuntimePoolUpdateSchema, RuntimePoolSchema, RuntimePoolCreateAgentSchema, RuntimeInstanceSchema, RetryPolicySchema, ExecutorMetaSchema, ValidationResultSchema, StepValidationConfigSchema, SwarmScriptNodeConfigSchema, WorkflowNodeSchema, WorkflowEdgeSchema, WorkflowDefinitionSchema, WorkflowNodePatchSchema, WorkflowPatchSchema, WebhookVerificationSchema, TriggerConfigSchema, CooldownConfigSchema, InputValueSchema, WorkflowTemplateSchema, WorkflowSnapshotSchema, WorkflowSchema, WorkflowVersionSchema, PageContentTypeSchema, PageAuthModeSchema, PageSnapshotSchema, PageSchema, PageVersionSchema, MetricParamSchema, MetricVariableTypeSchema, MetricFormatSchema, MetricVisualizationSchema, MetricQuerySchema, MetricVariableSchema, MetricVizConfigSchema, MetricWidgetSchema, MetricDefinitionSchema, MetricSnapshotSchema, MetricSchema, MetricVersionSchema, WorkflowRunStatusSchema, WorkflowRunSchema, WorkflowRunParentSchema, WorkflowRunSummarySchema, ScriptRunStatusSchema, TERMINAL_SCRIPT_RUN_STATUSES, ScriptRunKindSchema, ScriptRunSchema, ScriptRunListItemSchema, ScriptRunJournalEntrySchema, WorkflowRunStepStatusSchema, WorkflowRunStepSchema, WaitModeSchema, WaitStateStatusSchema, WaitStateRowSchema, PromptTemplateScopeSchema, PromptTemplateStateSchema, PromptTemplateSchema, PromptTemplateHistorySchema, ScriptScopeSchema, ScriptFsModeSchema, ScriptRecordSchema, ScriptVersionRecordSchema, ExtensionNameSchema, SemverSchema, ExtensionBundlePathSchema, ExtensionAssetNameSchema, ExtensionScriptAssetSchema, ExtensionScheduleAssetSchema, ExtensionWorkflowAssetSchema, ExtensionSkillAssetSchema, ExtensionWorkflowFileSchema, ExtensionManifestSchema, ExtensionStatusSchema, ExtensionSchema, ExtensionFileSchema, ExtensionVersionSchema, ExtensionRunSchema, ExtensionInstallBodySchema, ScriptApiAuthModeSchema, ScriptApiRecordSchema, SkillTypeSchema, SkillScopeSchema, SkillSchema, AgentSkillSchema, SkillWithInstallInfoSchema, SkillFileSchema, McpServerTransportSchema, McpServerScopeSchema, McpAuthMethodSchema, McpServerSchema, AgentMcpServerSchema, McpServerWithInstallInfoSchema, ContextSnapshotEventTypeSchema, ContextFormulaSchema, ContextSnapshotSchema, BudgetScopeSchema, BudgetSchema, PricingProviderSchema, PricingTokenClassSchema, PricingRowSchema, BudgetRefusalCauseSchema, BudgetRefusalNotificationSchema, BudgetRefusedTriggerSchema, KvValueTypeSchema, KV_NAME_REGEX, KvNamespaceSchema, KvKeySchema, KvEntrySchema;
1640
+ var AssetKeySchema, AssetEntityTypeSchema, AssetProviderRefSchema, AssetKeyMappingSchema, AssetSummarySchema, ModelTierSchema, MODEL_TIERS, ReasoningEffortSchema, LEGACY_MODEL_TO_TIER, DEFAULT_MODEL_TIER_MAP, AgentTaskStatusSchema, TERMINAL_TASK_STATUSES, InboxMessageStatusSchema, InboxMessageSchema, AgentTaskSourceSchema, RoutingReasonSchema, RoutingSourceSchema, ProviderNameSchema, ModelProfileNameSchema, ModelProfileSchema, SessionShareAccessSchema, SessionAccessSchema, SessionOwnerSchema, SessionSharesSchema, SessionSharesUpdateSchema, SteerModeSchema, SteeringStatusSchema, SteeringSourceSchema, SteeringMessageSchema, SteerOutcomeSchema, OnUnsupportedSchema, SteerResultSchema, PROVIDER_STEER_CAPABILITIES, FollowUpConfigSchema, RoutingAffinitySchema, AgentTaskSchema, CreateTaskOptionsSchema, TaskAttachmentKindSchema, SERVER_GENERATED_ATTACHMENT_CAPABILITY = "_agentSwarmGeneratedBy", attachmentCapabilitiesSchema, attachmentCommonFields, AttachmentInputSchema, TaskAttachmentSchema, UserSchema, UserCommsPrefsSchema, IdentityEventTypeSchema, InboxItemTypeSchema, InboxItemStatusSchema, InboxItemStateSchema, FavoriteItemTypeSchema, UserFavoriteSchema, TaskTemplateKindSchema, TaskTemplateSchema, AgentStatusSchema, AgentAvatarSchema, AgentSchema, AgentCredStatusLiveTestSchema, AgentLatestModelSchema, AgentBedrockStatusSchema, AgentOpencodeGoStatusSchema, AcpSessionConfigSelectValueSchema, AcpSessionConfigSelectGroupSchema, AcpSessionConfigOptionSchema, AgentAcpStatusSchema, AgentCredStatusSchema, AgentWithTasksSchema, ChangeSourceSchema, VersionableFieldSchema, ContextVersionSchema, ChannelTypeSchema, ChannelSchema, ChannelMessageSchema, ServiceStatusSchema, ServiceSchema, AgentLogEventTypeSchema, ResumeReasonSchema, AgentLogSchema, SessionLogSchema, SessionCostSourceSchema, SessionCostModelBreakdownSchema, SessionCostSchema, EventCategorySchema, EventStatusSchema, EventSourceSchema, EventNameSchema, SwarmEventSchema, AutomationIntegrationIdSchema, ScheduledTaskTargetTypeSchema, ScheduledTaskSchema, SwarmConfigScopeSchema, SwarmConfigSchema, RepoGuidelinesSchema, REPO_GUIDELINES_MAX_ENTRIES = 50, RepoGuidelinesInputSchema, RepoHooksSchema, SwarmRepoSchema, AgentMemoryScopeSchema, AgentMemorySourceSchema, AgentMemorySchema, ActiveSessionSchema, WorkerNudgeSchema, RuntimeInstanceStatusSchema, RuntimeProviderKindSchema, DeliveryModeSchema, PoolLifecycleSchema, RuntimeResourcesSchema, RuntimeControllerCreateSchema, RuntimeControllerUpdateSchema, RuntimeControllerSchema, RuntimePoolCreateSchema, RuntimePoolUpdateSchema, RuntimePoolSchema, RuntimePoolCreateAgentSchema, RuntimeInstanceSchema, RetryPolicySchema, SUPERSEDED_WORKFLOW_TASK_REASON = "superseded_workflow_task", ExecutorMetaSchema, ValidationResultSchema, StepValidationConfigSchema, SwarmScriptNodeConfigSchema, WorkflowNodeSchema, WorkflowEdgeSchema, WorkflowDefinitionSchema, WorkflowNodePatchSchema, WorkflowPatchSchema, WebhookVerificationSchema, TriggerConfigSchema, CooldownConfigSchema, InputValueSchema, WorkflowTemplateSchema, WorkflowSnapshotSchema, WorkflowSchema, WorkflowVersionSchema, PageContentTypeSchema, PageAuthModeSchema, PageSnapshotSchema, PageSchema, PageVersionSchema, MetricParamSchema, MetricVariableTypeSchema, MetricFormatSchema, MetricVisualizationSchema, MetricQuerySchema, MetricVariableSchema, MetricVizConfigSchema, MetricWidgetSchema, MetricDefinitionSchema, MetricSnapshotSchema, MetricSchema, MetricVersionSchema, WorkflowRunStatusSchema, WorkflowRunSchema, WorkflowRunParentSchema, WorkflowRunSummarySchema, ScriptRunStatusSchema, TERMINAL_SCRIPT_RUN_STATUSES, ScriptRunKindSchema, ScriptRunSchema, ScriptRunListItemSchema, ScriptRunJournalEntrySchema, WorkflowRunStepStatusSchema, WorkflowRunStepSchema, WaitModeSchema, WaitStateStatusSchema, WaitStateRowSchema, PromptTemplateScopeSchema, PromptTemplateStateSchema, PromptTemplateSchema, PromptTemplateHistorySchema, ScriptScopeSchema, ScriptFsModeSchema, ScriptRecordSchema, ScriptVersionRecordSchema, ExtensionNameSchema, SemverSchema, ExtensionBundlePathSchema, ExtensionAssetNameSchema, ExtensionScriptAssetSchema, ExtensionScheduleAssetSchema, ExtensionWorkflowAssetSchema, ExtensionSkillAssetSchema, ExtensionWorkflowFileSchema, ExtensionManifestSchema, ExtensionStatusSchema, ExtensionSchema, ExtensionFileSchema, ExtensionVersionSchema, ExtensionRunSchema, ExtensionInstallBodySchema, ScriptApiAuthModeSchema, ScriptApiRecordSchema, SkillTypeSchema, SkillScopeSchema, SkillSchema, AgentSkillSchema, SkillWithInstallInfoSchema, SkillFileSchema, McpServerTransportSchema, McpServerScopeSchema, McpAuthMethodSchema, McpServerSchema, AgentMcpServerSchema, McpServerWithInstallInfoSchema, ContextSnapshotEventTypeSchema, ContextFormulaSchema, ContextSnapshotSchema, BudgetScopeSchema, BudgetSchema, PricingProviderSchema, PricingTokenClassSchema, PricingRowSchema, BudgetRefusalCauseSchema, BudgetRefusalNotificationSchema, BudgetRefusedTriggerSchema, KvValueTypeSchema, KV_NAME_REGEX, KvNamespaceSchema, KvKeySchema, KvEntrySchema;
1641
1641
  var init_types = __esm(() => {
1642
1642
  init_key();
1643
1643
  init_bundle_path();
@@ -2265,6 +2265,10 @@ var init_types = __esm(() => {
2265
2265
  models: array2(object2({ id: string2(), name: string2() })).default([]),
2266
2266
  error: string2().optional()
2267
2267
  }).openapi("AgentBedrockStatus");
2268
+ AgentOpencodeGoStatusSchema = object2({
2269
+ probedAt: number2(),
2270
+ models: array2(string2()).default([])
2271
+ }).openapi("AgentOpencodeGoStatus");
2268
2272
  AcpSessionConfigSelectValueSchema = object2({
2269
2273
  value: string2(),
2270
2274
  name: string2(),
@@ -2309,6 +2313,7 @@ var init_types = __esm(() => {
2309
2313
  reportedAt: number2(),
2310
2314
  reportKind: _enum2(["boot", "post_task"]).default("boot"),
2311
2315
  bedrock: AgentBedrockStatusSchema.nullable().default(null),
2316
+ opencodeGo: AgentOpencodeGoStatusSchema.nullable().default(null),
2312
2317
  acp: AgentAcpStatusSchema.nullable().default(null)
2313
2318
  }).openapi("AgentCredStatus");
2314
2319
  AgentWithTasksSchema = AgentSchema.extend({
@@ -3643,4 +3648,4 @@ var init_types = __esm(() => {
3643
3648
  }).openapi("KvEntry");
3644
3649
  });
3645
3650
 
3646
- export { normalizeAssetKey, defaultAssetKey, parseAssetKey, isCanonicalAssetKey, canWriteAssetKey, init_key, isSafeBundlePath, init_bundle_path, $OpenAPIRegistry, $OpenApiGeneratorV31, init_dist, init_zod_openapi, AssetKeySchema, AssetEntityTypeSchema, AssetKeyMappingSchema, AssetSummarySchema, ModelTierSchema, MODEL_TIERS, ReasoningEffortSchema, DEFAULT_MODEL_TIER_MAP, parseModelTier, splitLegacyModelAlias, parseWorkerModelTierOverrides, resolveTaskModelSelection, AgentTaskStatusSchema, TERMINAL_TASK_STATUSES, isTerminalTaskStatus, AgentTaskSourceSchema, RoutingReasonSchema, ProviderNameSchema, ModelProfileNameSchema, ModelProfileSchema, SessionAccessSchema, SessionOwnerSchema, SessionSharesSchema, SessionSharesUpdateSchema, SteerModeSchema, SteeringSourceSchema, SteeringMessageSchema, SteerOutcomeSchema, OnUnsupportedSchema, SteerResultSchema, PROVIDER_STEER_CAPABILITIES, FollowUpConfigSchema, RoutingAffinitySchema, AgentTaskSchema, CreateTaskOptionsSchema, SERVER_GENERATED_ATTACHMENT_CAPABILITY, AttachmentInputSchema, TaskAttachmentSchema, UserSchema, UserCommsPrefsSchema, InboxItemTypeSchema, InboxItemStatusSchema, InboxItemStateSchema, FavoriteItemTypeSchema, UserFavoriteSchema, TaskTemplateKindSchema, TaskTemplateSchema, AgentStatusSchema, AgentAvatarSchema, AgentSchema, AgentLatestModelSchema, AgentAcpStatusSchema, AgentCredStatusSchema, AgentWithTasksSchema, VersionableFieldSchema, ChannelTypeSchema, ResumeReasonSchema, AgentLogSchema, SessionLogSchema, SessionCostModelBreakdownSchema, SessionCostSchema, EventCategorySchema, EventStatusSchema, EventSourceSchema, EventNameSchema, SwarmEventSchema, AutomationIntegrationIdSchema, ScheduledTaskTargetTypeSchema, ScheduledTaskSchema, SwarmConfigScopeSchema, SwarmConfigSchema, RepoGuidelinesInputSchema, RepoHooksSchema, SwarmRepoSchema, AgentMemoryScopeSchema, AgentMemorySourceSchema, AgentMemorySchema, ActiveSessionSchema, WorkerNudgeSchema, RuntimeProviderKindSchema, DeliveryModeSchema, RuntimeControllerCreateSchema, RuntimeControllerUpdateSchema, RuntimeControllerSchema, RuntimePoolCreateSchema, RuntimePoolUpdateSchema, RuntimePoolSchema, RuntimePoolCreateAgentSchema, RuntimeInstanceSchema, RetryPolicySchema, WorkflowEdgeSchema, WorkflowDefinitionSchema, WorkflowNodePatchSchema, WorkflowPatchSchema, TriggerConfigSchema, CooldownConfigSchema, InputValueSchema, WorkflowSchema, WorkflowVersionSchema, PageContentTypeSchema, PageAuthModeSchema, PageSchema, PageVersionSchema, MetricWidgetSchema, MetricDefinitionSchema, MetricSchema, MetricVersionSchema, WorkflowRunStatusSchema, WorkflowRunSchema, WorkflowRunParentSchema, WorkflowRunSummarySchema, ScriptRunStatusSchema, TERMINAL_SCRIPT_RUN_STATUSES, ScriptRunSchema, ScriptRunListItemSchema, ScriptRunJournalEntrySchema, WorkflowRunStepSchema, PromptTemplateScopeSchema, PromptTemplateStateSchema, PromptTemplateSchema, PromptTemplateHistorySchema, ScriptScopeSchema, ScriptFsModeSchema, ScriptRecordSchema, ScriptVersionRecordSchema, ExtensionWorkflowFileSchema, ExtensionManifestSchema, ExtensionSchema, ExtensionVersionSchema, ExtensionRunSchema, checkExtensionInstallSource, ExtensionInstallBodySchema, ScriptApiAuthModeSchema, ScriptApiRecordSchema, SkillSchema, AgentSkillSchema, SkillWithInstallInfoSchema, SkillFileSchema, McpAuthMethodSchema, McpServerSchema, AgentMcpServerSchema, McpServerWithInstallInfoSchema, ContextSnapshotEventTypeSchema, ContextFormulaSchema, ContextSnapshotSchema, BudgetScopeSchema, BudgetSchema, PricingProviderSchema, PricingTokenClassSchema, PricingRowSchema, BudgetRefusalCauseSchema, BudgetRefusalNotificationSchema, BudgetRefusedTriggerSchema, KvValueTypeSchema, KvNamespaceSchema, KvKeySchema, KvEntrySchema, init_types };
3651
+ export { normalizeAssetKey, defaultAssetKey, parseAssetKey, isCanonicalAssetKey, canWriteAssetKey, init_key, isSafeBundlePath, init_bundle_path, $OpenAPIRegistry, $OpenApiGeneratorV31, init_dist, init_zod_openapi, AssetKeySchema, AssetEntityTypeSchema, AssetKeyMappingSchema, AssetSummarySchema, ModelTierSchema, MODEL_TIERS, ReasoningEffortSchema, DEFAULT_MODEL_TIER_MAP, parseModelTier, splitLegacyModelAlias, parseWorkerModelTierOverrides, resolveTaskModelSelection, AgentTaskStatusSchema, TERMINAL_TASK_STATUSES, isTerminalTaskStatus, AgentTaskSourceSchema, RoutingReasonSchema, ProviderNameSchema, ModelProfileNameSchema, ModelProfileSchema, SessionAccessSchema, SessionOwnerSchema, SessionSharesSchema, SessionSharesUpdateSchema, SteerModeSchema, SteeringSourceSchema, SteeringMessageSchema, SteerOutcomeSchema, OnUnsupportedSchema, SteerResultSchema, PROVIDER_STEER_CAPABILITIES, FollowUpConfigSchema, RoutingAffinitySchema, AgentTaskSchema, CreateTaskOptionsSchema, SERVER_GENERATED_ATTACHMENT_CAPABILITY, AttachmentInputSchema, TaskAttachmentSchema, UserSchema, UserCommsPrefsSchema, InboxItemTypeSchema, InboxItemStatusSchema, InboxItemStateSchema, FavoriteItemTypeSchema, UserFavoriteSchema, TaskTemplateKindSchema, TaskTemplateSchema, AgentStatusSchema, AgentAvatarSchema, AgentSchema, AgentLatestModelSchema, AgentAcpStatusSchema, AgentCredStatusSchema, AgentWithTasksSchema, VersionableFieldSchema, ChannelTypeSchema, ResumeReasonSchema, AgentLogSchema, SessionLogSchema, SessionCostModelBreakdownSchema, SessionCostSchema, EventCategorySchema, EventStatusSchema, EventSourceSchema, EventNameSchema, SwarmEventSchema, AutomationIntegrationIdSchema, ScheduledTaskTargetTypeSchema, ScheduledTaskSchema, SwarmConfigScopeSchema, SwarmConfigSchema, RepoGuidelinesInputSchema, RepoHooksSchema, SwarmRepoSchema, AgentMemoryScopeSchema, AgentMemorySourceSchema, AgentMemorySchema, ActiveSessionSchema, WorkerNudgeSchema, RuntimeProviderKindSchema, DeliveryModeSchema, RuntimeControllerCreateSchema, RuntimeControllerUpdateSchema, RuntimeControllerSchema, RuntimePoolCreateSchema, RuntimePoolUpdateSchema, RuntimePoolSchema, RuntimePoolCreateAgentSchema, RuntimeInstanceSchema, RetryPolicySchema, SUPERSEDED_WORKFLOW_TASK_REASON, WorkflowEdgeSchema, WorkflowDefinitionSchema, WorkflowNodePatchSchema, WorkflowPatchSchema, TriggerConfigSchema, CooldownConfigSchema, InputValueSchema, WorkflowSchema, WorkflowVersionSchema, PageContentTypeSchema, PageAuthModeSchema, PageSchema, PageVersionSchema, MetricWidgetSchema, MetricDefinitionSchema, MetricSchema, MetricVersionSchema, WorkflowRunStatusSchema, WorkflowRunSchema, WorkflowRunParentSchema, WorkflowRunSummarySchema, ScriptRunStatusSchema, TERMINAL_SCRIPT_RUN_STATUSES, ScriptRunSchema, ScriptRunListItemSchema, ScriptRunJournalEntrySchema, WorkflowRunStepSchema, PromptTemplateScopeSchema, PromptTemplateStateSchema, PromptTemplateSchema, PromptTemplateHistorySchema, ScriptScopeSchema, ScriptFsModeSchema, ScriptRecordSchema, ScriptVersionRecordSchema, ExtensionWorkflowFileSchema, ExtensionManifestSchema, ExtensionSchema, ExtensionVersionSchema, ExtensionRunSchema, checkExtensionInstallSource, ExtensionInstallBodySchema, ScriptApiAuthModeSchema, ScriptApiRecordSchema, SkillSchema, AgentSkillSchema, SkillWithInstallInfoSchema, SkillFileSchema, McpAuthMethodSchema, McpServerSchema, AgentMcpServerSchema, McpServerWithInstallInfoSchema, ContextSnapshotEventTypeSchema, ContextFormulaSchema, ContextSnapshotSchema, BudgetScopeSchema, BudgetSchema, PricingProviderSchema, PricingTokenClassSchema, PricingRowSchema, BudgetRefusalCauseSchema, BudgetRefusalNotificationSchema, BudgetRefusedTriggerSchema, KvValueTypeSchema, KvNamespaceSchema, KvKeySchema, KvEntrySchema, init_types };
@@ -5,11 +5,11 @@ import {
5
5
  validateRuntimeTokenTtlHours,
6
6
  init_swarm_config_guard,
7
7
  init_db3
8
- } from "./cli-rg7ntypm.js";
8
+ } from "./cli-rqqsfz30.js";
9
9
  import {
10
10
  unregisterVolatileSecret,
11
11
  init_secret_scrubber
12
- } from "./cli-4mkvwgzr.js";
12
+ } from "./cli-xf234ws8.js";
13
13
  import {
14
14
  __esm
15
15
  } from "./cli-242037k3.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getContextWindowSize,
3
3
  clampContextPercent
4
- } from "./cli-jhp7w1fy.js";
4
+ } from "./cli-a5ebc95n.js";
5
5
  import {
6
6
  swarmRuntimeInstanceId
7
7
  } from "./cli-7a91w22y.js";
@@ -10,11 +10,11 @@ import {
10
10
  } from "./cli-jc1g9ndz.js";
11
11
  import {
12
12
  applyReasoningEffort
13
- } from "./cli-p22zdvnt.js";
13
+ } from "./cli-bn0rewsy.js";
14
14
  import {
15
15
  DEFAULT_MODEL_TIER_MAP,
16
16
  init_types
17
- } from "./cli-a1esmmee.js";
17
+ } from "./cli-fpmsqq59.js";
18
18
  import {
19
19
  resolveTemplateFromCode,
20
20
  resolveTemplateAsync,
@@ -29,11 +29,11 @@ import {
29
29
  scrubSecrets,
30
30
  registerVolatileSecret,
31
31
  init_secret_scrubber
32
- } from "./cli-4mkvwgzr.js";
32
+ } from "./cli-xf234ws8.js";
33
33
  import {
34
34
  cursorCatalogRef,
35
35
  init_src2
36
- } from "./cli-x3en6ct3.js";
36
+ } from "./cli-nwyw3zhg.js";
37
37
 
38
38
  // src/providers/cursor-adapter.ts
39
39
  init_src2();
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  runStopHookSessionSummarySubprocess
3
- } from "./cli-mvg2hf8p.js";
3
+ } from "./cli-z1ew8vbq.js";
4
4
  import {
5
5
  CONTEXT_FORMULA,
6
6
  getContextWindowSize,
7
7
  computeContextUsedUnified,
8
8
  clampContextPercent
9
- } from "./cli-jhp7w1fy.js";
9
+ } from "./cli-a5ebc95n.js";
10
10
  import {
11
11
  redactRateLimitEventLine,
12
12
  SessionErrorTracker,
@@ -33,7 +33,7 @@ import {
33
33
  } from "./cli-vbhgkw9h.js";
34
34
  import {
35
35
  applyReasoningEffort
36
- } from "./cli-p22zdvnt.js";
36
+ } from "./cli-bn0rewsy.js";
37
37
  import {
38
38
  fetchInstalledMcpServers
39
39
  } from "./cli-bst1vp7e.js";
@@ -47,12 +47,12 @@ import {
47
47
  import {
48
48
  withFileLock,
49
49
  init_file_lock
50
- } from "./cli-wyrr38xm.js";
50
+ } from "./cli-x5mq1fyq.js";
51
51
  import {
52
52
  CLAUDE_CREDENTIALS_HINT,
53
53
  validateClaudeCredentials,
54
54
  init_credentials
55
- } from "./cli-yxqag76b.js";
55
+ } from "./cli-zw88zjba.js";
56
56
  import {
57
57
  routeCredentialStatus,
58
58
  deriveDefaultRoute,
@@ -70,7 +70,7 @@ import {
70
70
  import {
71
71
  scrubSecrets,
72
72
  init_secret_scrubber
73
- } from "./cli-4mkvwgzr.js";
73
+ } from "./cli-xf234ws8.js";
74
74
  import {
75
75
  __toESM
76
76
  } from "./cli-242037k3.js";
@@ -1236,7 +1236,7 @@ class ClaudeAdapter2 {
1236
1236
  if (transport === "sdk" && isClaudeBridgeEffective(sourceEnv)) {
1237
1237
  throw new Error("CLAUDE_TRANSPORT=sdk cannot run with an effective Claude Bridge configuration. Select CLI transport or disable the bridge.");
1238
1238
  }
1239
- const claudeSdk = transport === "sdk" ? await import("./claude-sdk-session-apb4ypz3.js") : undefined;
1239
+ const claudeSdk = transport === "sdk" ? await import("./claude-sdk-session-56besmfz.js") : undefined;
1240
1240
  claudeSdk?.validateClaudeSdkAdditionalArgs([
1241
1241
  ...claudeBinaryArgv.slice(1),
1242
1242
  ...config.additionalArgs ?? []
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  RuntimeProviderKindSchema,
3
3
  init_types
4
- } from "./cli-a1esmmee.js";
4
+ } from "./cli-fpmsqq59.js";
5
5
  import {
6
6
  init_zod
7
7
  } from "./cli-4chz1hye.js";
@@ -21,7 +21,7 @@ import {
21
21
  import {
22
22
  scrubSecrets,
23
23
  init_secret_scrubber
24
- } from "./cli-4mkvwgzr.js";
24
+ } from "./cli-xf234ws8.js";
25
25
 
26
26
  // src/runtime-providers/controller.ts
27
27
  init_secret_scrubber();
@@ -9,7 +9,7 @@ import {
9
9
  loadMcpConfig,
10
10
  addMcpServerConfig,
11
11
  removeMcpServerConfig
12
- } from "./cli-p1m2b6gc.js";
12
+ } from "./cli-d2mb5s8a.js";
13
13
  import {
14
14
  McpOAuthCredentialStore2,
15
15
  McpSignInCancelledError2,
@@ -17,7 +17,7 @@ import {
17
17
  McpServerLog2,
18
18
  createDefaultTransport2,
19
19
  McpServerConnection2
20
- } from "./cli-f3nx1h8z.js";
20
+ } from "./cli-wxbn3yfx.js";
21
21
 
22
22
  // node_modules/@earendil-works/pi-coding-agent/dist/extensions/mcp/cli.js
23
23
  import { existsSync } from "node:fs";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  init_package,
3
3
  package_default
4
- } from "./cli-mz1ezzzh.js";
4
+ } from "./cli-ash6xxk7.js";
5
5
 
6
6
  // src/commands/shared/client-config.ts
7
7
  init_package();
@@ -4,25 +4,25 @@ import {
4
4
  getActivePricingRow2,
5
5
  insertPricingRow2,
6
6
  init_db3
7
- } from "./cli-rg7ntypm.js";
7
+ } from "./cli-rqqsfz30.js";
8
8
  import {
9
9
  loadModelsDevCache,
10
10
  buildModelsDevSeedRows
11
- } from "./cli-tg9ksbn8.js";
11
+ } from "./cli-3p8fqcnh.js";
12
12
  import {
13
13
  setRuntimeModelCatalog,
14
14
  init_runtime_model_catalog
15
- } from "./cli-fb6t92v8.js";
15
+ } from "./cli-6x9ma5w5.js";
16
16
  import {
17
17
  scrubSecrets,
18
18
  init_secret_scrubber
19
- } from "./cli-4mkvwgzr.js";
19
+ } from "./cli-xf234ws8.js";
20
20
  import {
21
21
  openAICompatibleProviderIds,
22
22
  withAgentChatRegistrySections,
23
23
  registryCatalogSections,
24
24
  init_src2
25
- } from "./cli-x3en6ct3.js";
25
+ } from "./cli-nwyw3zhg.js";
26
26
 
27
27
  // src/be/pricing-refresh.ts
28
28
  init_secret_scrubber();
@@ -41,6 +41,7 @@ var CATALOG_PROVIDER_IDS = [
41
41
  "openai",
42
42
  "amazon-bedrock",
43
43
  "opencode",
44
+ "opencode-go",
44
45
  ...openAICompatibleProviderIds()
45
46
  ];
46
47
  var PINNED_MODELSDEV_ENTRIES = [
@@ -39,7 +39,7 @@ import {
39
39
  getPendingWaitsByEvent2,
40
40
  resolveWaitState2,
41
41
  init_db3
42
- } from "./cli-rg7ntypm.js";
42
+ } from "./cli-rqqsfz30.js";
43
43
  import {
44
44
  BaseExecutor,
45
45
  postApprovalCancellationUpdates,
@@ -50,15 +50,16 @@ import {
50
50
  findEntryNodes,
51
51
  resolveValidationPort,
52
52
  getSuccessors
53
- } from "./cli-tj4j2ts4.js";
53
+ } from "./cli-tbhwrxpt.js";
54
54
  import {
55
55
  workflowEventBus2,
56
56
  init_event_bus
57
- } from "./cli-ptkpaqfy.js";
57
+ } from "./cli-wt645v7q.js";
58
58
  import {
59
59
  RetryPolicySchema,
60
+ SUPERSEDED_WORKFLOW_TASK_REASON,
60
61
  init_types
61
- } from "./cli-a1esmmee.js";
62
+ } from "./cli-fpmsqq59.js";
62
63
  import {
63
64
  getSlackConfiguration,
64
65
  isSlackConfigured,
@@ -94,7 +95,7 @@ import {
94
95
  isSensitiveKey,
95
96
  scrubSecrets,
96
97
  init_secret_scrubber
97
- } from "./cli-4mkvwgzr.js";
98
+ } from "./cli-xf234ws8.js";
98
99
 
99
100
  // src/automation-preflight-alert.ts
100
101
  init_constants2();
@@ -106,7 +107,7 @@ async function notifyAutomationPreflightFailure(preflight) {
106
107
  return;
107
108
  }
108
109
  try {
109
- const { getSlackApp } = await import("./app-mqap8t8m.js");
110
+ const { getSlackApp } = await import("./app-kreq1gwg.js");
110
111
  const app = getSlackApp();
111
112
  if (!app) {
112
113
  console.warn("[Automation Preflight] Slack not available, cannot send notification");
@@ -1434,7 +1435,7 @@ async function runClaimedStep(def, runId, ctx, node, registry, existingStep, ste
1434
1435
  if ("async" in result && result.async) {
1435
1436
  const waiting = await checkpointStepWaiting(runId, stepId, ctx);
1436
1437
  if (waiting && result.waitFor === "workflow.child.finished") {
1437
- const { resumeFromChildRun } = await import("./resume-b6djcj3c.js");
1438
+ const { resumeFromChildRun } = await import("./resume-zhgts7h7.js");
1438
1439
  await resumeFromChildRun(stepId, registry);
1439
1440
  }
1440
1441
  return { outcome: waiting ? "waiting" : "completed", successors: [] };
@@ -2058,19 +2059,36 @@ async function checkpointPortStepAndResolveSuccessors(def, runId, stepId, nodeId
2058
2059
  const current = await getWorkflowRunStep2(stepId);
2059
2060
  if (!current || current.status !== "waiting")
2060
2061
  return { claimed: false, successors: [] };
2062
+ const run = await getWorkflowRun2(runId);
2063
+ if (!run || run.status !== "waiting" && run.status !== "running") {
2064
+ return { claimed: false, successors: [] };
2065
+ }
2061
2066
  await checkpointStep(runId, stepId, nodeId, { output, nextPort }, ctx);
2062
2067
  await updateWorkflowRun2(runId, { status: "running" });
2063
2068
  return { claimed: true, successors: getSuccessors(def, nodeId, nextPort) };
2064
2069
  });
2065
2070
  }
2071
+ var SUPERSEDE_RETRY_POLICY = {
2072
+ maxRetries: 1,
2073
+ strategy: "static",
2074
+ baseDelayMs: 30000,
2075
+ maxDelayMs: 30000
2076
+ };
2066
2077
  async function scheduleTaskStepRetry(def, runId, step, taskId, reason) {
2067
2078
  const node = def.nodes.find((n) => n.id === step.nodeId);
2068
- if (!node || node.type !== "agent-task" || !node.retry)
2079
+ if (!node || node.type !== "agent-task")
2069
2080
  return "not-eligible";
2070
- const parsed = RetryPolicySchema.safeParse(node.retry);
2071
- if (!parsed.success)
2072
- return "not-eligible";
2073
- const policy = parsed.data;
2081
+ let policy;
2082
+ if (node.retry) {
2083
+ const parsed = RetryPolicySchema.safeParse(node.retry);
2084
+ if (!parsed.success)
2085
+ return "not-eligible";
2086
+ policy = parsed.data;
2087
+ } else {
2088
+ if (!await isSupersedeCut(taskId, reason))
2089
+ return "not-eligible";
2090
+ policy = SUPERSEDE_RETRY_POLICY;
2091
+ }
2074
2092
  return await getDbClient2().transaction(async () => {
2075
2093
  const current = await getWorkflowRunStep2(step.id);
2076
2094
  if (!current || current.status !== "waiting")
@@ -2084,6 +2102,12 @@ async function scheduleTaskStepRetry(def, runId, step, taskId, reason) {
2084
2102
  return "scheduled";
2085
2103
  });
2086
2104
  }
2105
+ async function isSupersedeCut(taskId, reason) {
2106
+ if (reason === SUPERSEDED_WORKFLOW_TASK_REASON)
2107
+ return true;
2108
+ const task = await getTaskById2(taskId);
2109
+ return task?.failureReason === SUPERSEDED_WORKFLOW_TASK_REASON;
2110
+ }
2087
2111
  var UNCLAIMED = {
2088
2112
  claimed: false,
2089
2113
  foreachChild: false,
@@ -2440,6 +2464,15 @@ async function resumeWaitState2(waitId, status, payload, registry) {
2440
2464
  const waitRow = result.row;
2441
2465
  await failClosedOnUnreadableReplay(waitRow.workflowRunId, waitRow.workflowRunStepId, () => resumeClaimedWait(waitRow, status, cappedPayload, registry));
2442
2466
  }
2467
+ async function recoverResolvedWaitState2(waitId, registry) {
2468
+ const waitRow = await getWaitStateById2(waitId);
2469
+ if (!waitRow)
2470
+ return;
2471
+ const status = waitRow.status;
2472
+ if (status !== "fired" && status !== "timeout")
2473
+ return;
2474
+ await failClosedOnUnreadableReplay(waitRow.workflowRunId, waitRow.workflowRunStepId, () => resumeClaimedWait(waitRow, status, waitRow.firedPayload, registry));
2475
+ }
2443
2476
  async function resumeClaimedWait(waitRow, status, cappedPayload, registry) {
2444
2477
  const run = await getWorkflowRun2(waitRow.workflowRunId);
2445
2478
  if (!run || run.status !== "waiting" && run.status !== "running")
@@ -2618,4 +2651,4 @@ function isPayloadInRun(payload, runId) {
2618
2651
  const rec = payload;
2619
2652
  return rec._runId === runId || rec.workflowRunId === runId;
2620
2653
  }
2621
- export { notifyAutomationPreflightFailure, automationIntegrationFixUrl, isNeedsSetupFailure, preflightAutomation, renderAutomationTokens, getAutomationSetupStates, schedulePreflightInput, listEnabledAutomationPreflightInputs, recordSchedulePreflightFailure, checkpointStep, checkpointStepFailure, checkpointStepWaiting, FOREACH_TERMINAL_STEP_STATUSES, parseSyntheticNodeId, buildForeachAggregate, loadCompletedStepRouting, resolveInputValue, getSecretInputKeys, validateJsonSchema, findJsonSchemaShapeErrors, getMaxWorkflowStepsPerRun, workflowSaveWarnings, withSaveWarnings, runStepValidation, shapeApprovalResolution, FAILED_TASK_OUTPUT_PREFIX, SubWorkflowExecutor, WaitExecutor, failStepAndRunIfWaiting, checkpointPortStepAndResolveSuccessors, scheduleTaskStepRetry, completeTaskStepAndResolveSuccessors, setupWorkflowResumeListener2, finalizeOrWait2, retryFailedRun2, cancelWorkflowRunRows2, cancelWorkflowRun2, resumeWaitState2, resumeFromChildRun2, initWaitBusSubscriptions2, subscribeWaitToBus2, TriggerSchemaError, startWorkflowExecution2, failRunOnUnreadableReplay, isWorkflowRunActive, holdWorkflowRun, walkGraph, rehydrateCompletedStepOutputs, findReadyNodes, buildNodeInterpolationCtx, interpolateNodeConfig, scriptBodyInterpolationError };
2654
+ export { notifyAutomationPreflightFailure, automationIntegrationFixUrl, isNeedsSetupFailure, preflightAutomation, renderAutomationTokens, getAutomationSetupStates, schedulePreflightInput, listEnabledAutomationPreflightInputs, recordSchedulePreflightFailure, checkpointStep, checkpointStepFailure, checkpointStepWaiting, FOREACH_TERMINAL_STEP_STATUSES, parseSyntheticNodeId, buildForeachAggregate, loadCompletedStepRouting, resolveInputValue, getSecretInputKeys, validateJsonSchema, findJsonSchemaShapeErrors, getMaxWorkflowStepsPerRun, workflowSaveWarnings, withSaveWarnings, runStepValidation, shapeApprovalResolution, FAILED_TASK_OUTPUT_PREFIX, SubWorkflowExecutor, WaitExecutor, failStepAndRunIfWaiting, checkpointPortStepAndResolveSuccessors, scheduleTaskStepRetry, completeTaskStepAndResolveSuccessors, setupWorkflowResumeListener2, finalizeOrWait2, retryFailedRun2, cancelWorkflowRunRows2, cancelWorkflowRun2, resumeWaitState2, recoverResolvedWaitState2, resumeFromChildRun2, initWaitBusSubscriptions2, subscribeWaitToBus2, TriggerSchemaError, startWorkflowExecution2, failRunOnUnreadableReplay, isWorkflowRunActive, holdWorkflowRun, walkGraph, rehydrateCompletedStepOutputs, findReadyNodes, buildNodeInterpolationCtx, interpolateNodeConfig, scriptBodyInterpolationError };