@desplega.ai/agent-swarm 1.171.0 → 1.172.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/dist/{acp-adapter-1z9p3fvx.js → acp-adapter-fpecx1g1.js} +23 -5
  2. package/dist/{actions-rc2yjk8a.js → actions-pw87a1a8.js} +24 -25
  3. package/dist/{amp-adapter-ypyf5s1x.js → amp-adapter-8jem2bc0.js} +1 -1
  4. package/dist/{anthropic-messages-etkbxhhy.js → anthropic-messages-8ee2f22q.js} +55 -22
  5. package/dist/{app-04ab2s0z.js → app-wmf0m843.js} +7 -8
  6. package/dist/{assistant-vhmjd8wf.js → assistant-emp1e108.js} +26 -27
  7. package/dist/{azure-openai-responses-xap57x4b.js → azure-openai-responses-ap1gwxgr.js} +3 -3
  8. package/dist/{boot-reembed-3p0m259x.js → boot-reembed-1de4f4aj.js} +6 -7
  9. package/dist/{boot-reembed-wew3gwk8.js → boot-reembed-4ymn9atn.js} +6 -7
  10. package/dist/{boot-scrub-sweep-5ytwtq24.js → boot-scrub-sweep-adhk1s8c.js} +7 -8
  11. package/dist/{boot-seeds-s8p2xry8.js → boot-seeds-8q637aew.js} +9 -10
  12. package/dist/{claude-adapter-akrzg6jh.js → claude-adapter-t26cv8a4.js} +16 -17
  13. package/dist/{claude-managed-adapter-kqqqhp2q.js → claude-managed-adapter-xgxhqrt2.js} +2 -2
  14. package/dist/{claude-sdk-session-exq1jadx.js → claude-sdk-session-gsfsh662.js} +16 -17
  15. package/dist/{cli-n8ybnv1k.js → cli-04emfe2q.js} +1 -1
  16. package/dist/{cli-w0bwte75.js → cli-104zsxba.js} +2 -1
  17. package/dist/{cli-x6z90nq9.js → cli-19njxg5g.js} +2 -4
  18. package/dist/{cli-8mr695sb.js → cli-1hgat6pa.js} +5 -5
  19. package/dist/{cli-1qtgd1h1.js → cli-1m2xxxe2.js} +2 -2
  20. package/dist/{cli-231av4y6.js → cli-1x7da0de.js} +2 -4
  21. package/dist/{cli-x3fy2tgp.js → cli-388egyf6.js} +1 -1
  22. package/dist/{cli-j0w59p15.js → cli-4fnb6884.js} +4 -4
  23. package/dist/{cli-y1j1ggbf.js → cli-4nz8p1p5.js} +1372 -588
  24. package/dist/{cli-s88my3br.js → cli-5rv1j9ga.js} +6 -6
  25. package/dist/{cli-mn8qkd8v.js → cli-61625k3x.js} +1 -1
  26. package/dist/{cli-mzj3aqac.js → cli-6jb2rf77.js} +3 -3
  27. package/dist/{cli-ec7hrgqp.js → cli-8hzfb6xz.js} +8 -8
  28. package/dist/{cli-n805bb98.js → cli-8vs9trd4.js} +1 -1
  29. package/dist/{cli-xf713zz0.js → cli-9fxpr83v.js} +1 -1
  30. package/dist/{cli-q1vnz8wv.js → cli-9s17naqf.js} +1 -1
  31. package/dist/{cli-nkjwe4z7.js → cli-9xsmdpdt.js} +59 -54
  32. package/dist/{cli-6xxxb8qt.js → cli-aspcaef3.js} +5 -5
  33. package/dist/cli-bf7485pm.js +514 -0
  34. package/dist/{cli-s9y81s7j.js → cli-bt8k5h3s.js} +625 -150
  35. package/dist/{cli-jxsgrnmq.js → cli-c2pq2rjb.js} +2 -2
  36. package/dist/{cli-13xwcqvj.js → cli-c5km5znr.js} +2 -2
  37. package/dist/{cli-5y67yrt6.js → cli-cceskcvt.js} +112 -176
  38. package/dist/{cli-ph3145b7.js → cli-cf69s3ew.js} +4 -4
  39. package/dist/{cli-k2v5x13t.js → cli-d603qf86.js} +1 -1
  40. package/dist/{cli-r455yd58.js → cli-e0a9sk00.js} +1 -1
  41. package/dist/{cli-cgj4hc12.js → cli-eh1ytktb.js} +1872 -190
  42. package/dist/{cli-erbp6b4g.js → cli-esnpehf5.js} +7 -8
  43. package/dist/cli-ev91t6xp.js +148 -0
  44. package/dist/{cli-e2prcx5m.js → cli-fdvbjtbw.js} +235 -5
  45. package/dist/{cli-62bwwc2q.js → cli-g4f5pj26.js} +3 -3
  46. package/dist/{cli-tg8q0b5y.js → cli-g6t9texm.js} +5 -5
  47. package/dist/{cli-p2pjfq1r.js → cli-gj81e47t.js} +1 -1
  48. package/dist/{cli-srmej5tp.js → cli-gp1rtyvk.js} +2 -2
  49. package/dist/{cli-rb9m6rpe.js → cli-h6vtvt5c.js} +139 -1
  50. package/dist/cli-hd27d2md.js +1057 -0
  51. package/dist/{cli-hsk5gd15.js → cli-hwwvy36w.js} +3 -3
  52. package/dist/{cli-2rbt7at8.js → cli-hz99wfxp.js} +1 -1
  53. package/dist/cli-j1pmc07z.js +706 -0
  54. package/dist/{cli-01qndrvw.js → cli-j6kpj9az.js} +14 -8
  55. package/dist/{cli-2qbs2tvf.js → cli-k46r9hmk.js} +6 -6
  56. package/dist/{cli-wfvedq5w.js → cli-kb4ehzx5.js} +5 -5
  57. package/dist/{cli-agamgm0p.js → cli-mvzyxwg3.js} +1 -1
  58. package/dist/{cli-280gnz4v.js → cli-nv4zd0b9.js} +1 -1
  59. package/dist/{cli-rrbctenq.js → cli-nyhb1r6x.js} +3 -5
  60. package/dist/{cli-g7k7zbcz.js → cli-p7z6q2m6.js} +2 -1
  61. package/dist/{cli-yn0a417a.js → cli-phre6gz0.js} +22 -4
  62. package/dist/{cli-m4csbs67.js → cli-pj6x9qce.js} +1 -1
  63. package/dist/{cli-w0zx9ya1.js → cli-prrt9fa0.js} +4 -4
  64. package/dist/{cli-ctret352.js → cli-pstq9888.js} +33 -33
  65. package/dist/{cli-y195hv1a.js → cli-pxeeyc53.js} +1 -1
  66. package/dist/{cli-4bm25xtw.js → cli-qsztpfry.js} +1 -1
  67. package/dist/{cli-5t5my0h8.js → cli-qybkr9n3.js} +278 -1267
  68. package/dist/{cli-xezn9nkh.js → cli-r44t9wqc.js} +29 -472
  69. package/dist/{cli-x207g4w1.js → cli-r8smj8b8.js} +1 -1
  70. package/dist/{cli-bxqez1p0.js → cli-rcp5aqdw.js} +9 -39
  71. package/dist/{cli-vr5avem2.js → cli-smcrrmhy.js} +14 -18
  72. package/dist/{cli-0d2rqhvq.js → cli-tgpfnm6r.js} +15 -17
  73. package/dist/cli-vb8g5x02.js +549 -0
  74. package/dist/{cli-gt4hxb8p.js → cli-vv0qtfpx.js} +1 -2
  75. package/dist/{cli-95zs84qw.js → cli-wd0hz6ah.js} +671 -388
  76. package/dist/{cli-nkqjj42q.js → cli-x4m6feqt.js} +1 -1
  77. package/dist/{cli-x61srfpp.js → cli-xczpdp9e.js} +2 -2
  78. package/dist/cli-z1kd834t.js +36 -0
  79. package/dist/{cli-p8f7dqgt.js → cli-ztrv9y21.js} +48 -33
  80. package/dist/cli.js +24 -25
  81. package/dist/{cloudflare-workers-ai-system-one-sta45jf9.js → cloudflare-workers-ai-system-one-vnpyfr7e.js} +3 -3
  82. package/dist/{codex-adapter-9ag75whm.js → codex-adapter-m4tgdysy.js} +12 -12
  83. package/dist/{codex-hook-7ba15hjd.js → codex-hook-xch6z5wt.js} +2 -3
  84. package/dist/{codex-session-runner-9fp7y4cf.js → codex-session-runner-ymwzm6ea.js} +12 -12
  85. package/dist/{commands-d7eah0y9.js → commands-n0hshcvs.js} +6 -7
  86. package/dist/{controllers-connect-8t0k65x2.js → controllers-connect-y07cqcvy.js} +24 -25
  87. package/dist/{cursor-adapter-t4pr1m3c.js → cursor-adapter-q8pgv5qa.js} +2 -3
  88. package/dist/{db-sp39qv72.js → db-4w7tmt1g.js} +6 -7
  89. package/dist/{db-2rmd23wq.js → db-hkqvrdcb.js} +7 -8
  90. package/dist/{dispatcher-g7fsybsd.js → dispatcher-5sd69y14.js} +23 -24
  91. package/dist/{easter-egg-3d-66zxervv.js → easter-egg-3d-m8rvz40s.js} +4 -3
  92. package/dist/execute-107xtsp1.js +3745 -0
  93. package/dist/{google-generative-ai-pvhm0dq1.js → google-generative-ai-7pavrbv7.js} +3 -3
  94. package/dist/{google-vertex-tek9sqe2.js → google-vertex-3f1jk41f.js} +3 -3
  95. package/dist/{grok-adapter-1err1me7.js → grok-adapter-8m9yqzbq.js} +24 -6
  96. package/dist/{handlers-c7yggm37.js → handlers-s20xr10r.js} +26 -27
  97. package/dist/{heartbeat-dkm924fk.js → heartbeat-3k31q4g2.js} +25 -26
  98. package/dist/{hook-wgx4exw6.js → hook-gdn6a2fn.js} +13 -14
  99. package/dist/{hook-g8e7sfnf.js → hook-ygwerrdh.js} +14 -15
  100. package/dist/{http-1d23k928.js → http-jdteeg81.js} +53 -55
  101. package/dist/{index-y5vvczrs.js → index-6ksewd5y.js} +20 -18
  102. package/dist/{index-kkeftv5h.js → index-82rk11v7.js} +4 -4
  103. package/dist/{index-gm10tmye.js → index-e0snym4t.js} +23 -24
  104. package/dist/{index-vertaxs1.js → index-ffqzqgwb.js} +6 -7
  105. package/dist/{index-q7cj9bn2.js → index-tsszt7g9.js} +25 -26
  106. package/dist/{index-w097eg0x.js → index-vccv018g.js} +1 -1
  107. package/dist/{index-va4zbvzp.js → index-vm3bm9t7.js} +24 -25
  108. package/dist/{keepalive-1jc5e7ct.js → keepalive-jekc896t.js} +8 -9
  109. package/dist/{lead-yxw2f1sg.js → lead-4k9s9szx.js} +40 -41
  110. package/dist/{maintenance-h7w2m10y.js → maintenance-shazch4n.js} +6 -7
  111. package/dist/{mistral-conversations-rjxa9s1j.js → mistral-conversations-vjc1ggpd.js} +29 -15
  112. package/dist/{oauth-refresh-sweep-wh9ypd1b.js → oauth-refresh-sweep-5gb36kn8.js} +7 -8
  113. package/dist/{onboard-dfr9j762.js → onboard-ydrbnvww.js} +2 -2
  114. package/dist/{openai-codex-responses-pgvtddvv.js → openai-codex-responses-33qhkkdy.js} +7 -39
  115. package/dist/{openai-completions-44gb0zsk.js → openai-completions-s88xm3ns.js} +2 -2
  116. package/dist/{openai-decisions-vj9nkpf8.js → openai-decisions-fctnj8xd.js} +2 -2
  117. package/dist/{openai-responses-9dyzwzkr.js → openai-responses-7xd2f2e2.js} +3 -3
  118. package/dist/opencode-adapter-5zh0he20.js +55 -0
  119. package/dist/{otel-impl-and31m5s.js → otel-impl-6pf5cv86.js} +1 -1
  120. package/dist/{pi-mono-adapter-fx6k5wwh.js → pi-mono-adapter-ef9wwx9m.js} +25 -500
  121. package/dist/{pricing-refresh-23zr6j3w.js → pricing-refresh-s52nsa5q.js} +8 -9
  122. package/dist/{rbac-roles-wnx35x4x.js → rbac-roles-aq3msh4e.js} +6 -7
  123. package/dist/{rbac-roles-nc7k9d0t.js → rbac-roles-q5gb5e8v.js} +7 -8
  124. package/dist/{render-v2-81cg1y52.js → render-v2-pd1rg54q.js} +7 -8
  125. package/dist/{resume-d4b6j2n2.js → resume-gw4a2c6v.js} +14 -15
  126. package/dist/{runtime-h9ha1mq6.js → runtime-qfry88v2.js} +4 -7
  127. package/dist/{setup-g68r1w28.js → setup-jda1ksdh.js} +2 -2
  128. package/dist/{typesafe-system-one-e988vty7.js → typesafe-system-one-zzzcx4s3.js} +3 -3
  129. package/dist/{virtual-modules-rdjmcg7q.js → virtual-modules-b3ga2m65.js} +13 -12
  130. package/dist/{work-objects-0zzdnbt9.js → work-objects-tb7ycye8.js} +26 -27
  131. package/dist/{worker-p1g8qm6h.js → worker-njjccz5d.js} +40 -41
  132. package/openapi.json +1 -1
  133. package/package.json +7 -8
  134. package/src/be/scripts/extract-schema.ts +4 -0
  135. package/src/github/handlers.ts +61 -18
  136. package/src/github/types.ts +2 -1
  137. package/src/prompts/goal-reminder.ts +30 -0
  138. package/src/prompts/session-templates.ts +22 -0
  139. package/src/providers/acp-targets.ts +3 -4
  140. package/src/providers/amp-adapter.ts +1 -1
  141. package/src/providers/harness-version.ts +0 -1
  142. package/src/providers/opencode-adapter.ts +442 -723
  143. package/src/providers/opencode-swarm-plugin.ts +88 -0
  144. package/src/providers/pi-mono-extension.ts +58 -37
  145. package/src/scripts-runtime/executors/native.ts +6 -5
  146. package/src/scripts-runtime/executors/quickjs-bundle.ts +18 -11
  147. package/src/scripts-runtime/extract-args-schema.ts +22 -4
  148. package/src/scripts-runtime/import-allowlist.ts +1 -1
  149. package/src/scripts-runtime/zod-mini-bundle.ts +5 -0
  150. package/src/slack/render-v2.ts +2 -2
  151. package/src/tests/entrypoint-acp-target-binary.test.ts +19 -1
  152. package/src/tests/github-handlers-inline-comments.test.ts +131 -2
  153. package/src/tests/github-handlers-reactions.test.ts +9 -0
  154. package/src/tests/harness-version.test.ts +0 -20
  155. package/src/tests/opencode-adapter.test.ts +536 -1389
  156. package/src/tests/opencode-mcp-admission-sdk.test.ts +106 -0
  157. package/src/tests/opencode-swarm-plugin.test.ts +130 -0
  158. package/src/tests/pi-mono-extension.test.ts +59 -0
  159. package/src/tests/prompt-template-session.test.ts +4 -3
  160. package/src/tests/provider-registration.test.ts +3 -0
  161. package/src/tests/script-executor-quickjs.test.ts +17 -12
  162. package/src/tests/scripts-http.test.ts +24 -16
  163. package/src/tests/scripts-import-allowlist.test.ts +1 -1
  164. package/src/tests/scripts-runtime.test.ts +78 -40
  165. package/src/tests/seed-scripts.test.ts +13 -0
  166. package/src/tests/slack-render-v2.test.ts +4 -2
  167. package/src/tests/ui-logs-parser.test.ts +28 -0
  168. package/src/tools/script-upsert.ts +1 -1
  169. package/src/utils/memory-raters.ts +7 -3
  170. package/src/utils/openrouter-base-url.ts +0 -2
  171. package/templates/schedules/weekly-harness-upgrade-check/content.md +4 -6
  172. package/templates/skills/heartbeat-runbook/content.md +2 -0
  173. package/templates/skills/swarm-scripts/SKILL.md +1 -0
  174. package/templates/skills/swarm-scripts/content.md +1 -0
  175. package/dist/cli-5bfdm1ah.js +0 -462
  176. package/dist/cli-5c2j5yvx.js +0 -222
  177. package/dist/cli-rhy7z1rp.js +0 -532
  178. package/dist/cli-ywh2a87k.js +0 -2359
  179. package/dist/execute-h4jgevyw.js +0 -1387
  180. package/dist/opencode-adapter-f1zby94p.js +0 -34
  181. package/plugin/opencode-plugins/lib/memory-raters.ts +0 -7
  182. package/src/tests/opencode-plugin.test.ts +0 -580
  183. package/src/tests/providers/opencode-cost.test.ts +0 -74
@@ -3,7 +3,7 @@ import {
3
3
  parseClassifierUsage,
4
4
  postClassifierRequest,
5
5
  requiredNumber
6
- } from "./cli-q1vnz8wv.js";
6
+ } from "./cli-9s17naqf.js";
7
7
  import {
8
8
  formatProviderError,
9
9
  normalizeProviderError
@@ -7,7 +7,7 @@ import {
7
7
  builtinModels,
8
8
  normalizeRadiusGatewayUrl,
9
9
  registerBundledOAuthFlowLoaders
10
- } from "./cli-5y67yrt6.js";
10
+ } from "./cli-cceskcvt.js";
11
11
  import {
12
12
  oauthErrorHtml,
13
13
  oauthSuccessHtml
@@ -20,7 +20,7 @@ import {
20
20
  } from "./cli-btbzvq95.js";
21
21
  import {
22
22
  InMemoryCredentialStore
23
- } from "./cli-g7k7zbcz.js";
23
+ } from "./cli-p7z6q2m6.js";
24
24
  import {
25
25
  init_src,
26
26
  isFirstPartyAnthropicUrl
@@ -0,0 +1,36 @@
1
+ // node_modules/@earendil-works/pi-ai/dist/utils/abort-signals.js
2
+ function combineAbortSignals(signals) {
3
+ const activeSignals = signals.filter((signal) => signal !== undefined);
4
+ if (activeSignals.length === 0) {
5
+ return { cleanup: () => {} };
6
+ }
7
+ if (activeSignals.length === 1) {
8
+ return { signal: activeSignals[0], cleanup: () => {} };
9
+ }
10
+ const controller = new AbortController;
11
+ const listeners = [];
12
+ const abort = (signal) => {
13
+ if (!controller.signal.aborted) {
14
+ controller.abort(signal.reason);
15
+ }
16
+ };
17
+ for (const signal of activeSignals) {
18
+ if (signal.aborted) {
19
+ abort(signal);
20
+ break;
21
+ }
22
+ const listener = () => abort(signal);
23
+ signal.addEventListener("abort", listener, { once: true });
24
+ listeners.push({ signal, listener });
25
+ }
26
+ return {
27
+ signal: controller.signal,
28
+ cleanup: () => {
29
+ for (const { signal, listener } of listeners) {
30
+ signal.removeEventListener("abort", listener);
31
+ }
32
+ }
33
+ };
34
+ }
35
+
36
+ export { combineAbortSignals };
@@ -13,14 +13,14 @@ import {
13
13
  REFERENCES_SOURCE_MAX_LENGTH,
14
14
  getMemoryRaterNames,
15
15
  sanitizeReferencesSource
16
- } from "./cli-w0bwte75.js";
16
+ } from "./cli-104zsxba.js";
17
17
  import {
18
18
  isMultiRuntimeEnabled
19
19
  } from "./cli-re8z5p8p.js";
20
20
  import {
21
21
  ensurePricingSeeded,
22
22
  ensureRbacSeeded
23
- } from "./cli-mzj3aqac.js";
23
+ } from "./cli-6jb2rf77.js";
24
24
  import {
25
25
  buildCatalogEntries,
26
26
  getCatalogGeneration,
@@ -30,10 +30,10 @@ import {
30
30
  requestModelCatalogRefresh,
31
31
  startPricingRefreshLoop,
32
32
  upsertModelCatalogOverlay
33
- } from "./cli-srmej5tp.js";
33
+ } from "./cli-gp1rtyvk.js";
34
34
  import {
35
35
  loadModelsDevCache
36
- } from "./cli-x207g4w1.js";
36
+ } from "./cli-r8smj8b8.js";
37
37
  import {
38
38
  AppDefinitionSchema,
39
39
  AppElementsSchema,
@@ -90,7 +90,7 @@ import {
90
90
  upsertScriptConnection,
91
91
  validateScriptImports,
92
92
  writeBareImportShim
93
- } from "./cli-01qndrvw.js";
93
+ } from "./cli-j6kpj9az.js";
94
94
  import {
95
95
  detachedProcessGroup,
96
96
  registerProcessGroup,
@@ -102,7 +102,7 @@ import {
102
102
  ensureToken,
103
103
  ensureTokenOrThrow,
104
104
  onAuthorizationRefreshed
105
- } from "./cli-x3fy2tgp.js";
105
+ } from "./cli-388egyf6.js";
106
106
  import {
107
107
  AgentFsProvider,
108
108
  getFileStorageProvider,
@@ -158,7 +158,7 @@ import {
158
158
  walkGraph,
159
159
  withSaveWarnings,
160
160
  workflowSaveWarnings
161
- } from "./cli-wfvedq5w.js";
161
+ } from "./cli-kb4ehzx5.js";
162
162
  import {
163
163
  BaseExecutor,
164
164
  HumanInTheLoopExecutor,
@@ -172,7 +172,7 @@ import {
172
172
  resolveValidationPort,
173
173
  resolveWorkflowLlmConfig,
174
174
  validateDefinition
175
- } from "./cli-6xxxb8qt.js";
175
+ } from "./cli-aspcaef3.js";
176
176
  import {
177
177
  ZodFirstPartyTypeKind,
178
178
  objectType
@@ -200,7 +200,7 @@ import {
200
200
  taskCitationWarnings,
201
201
  upsertTaskCitations,
202
202
  withSpan
203
- } from "./cli-nkjwe4z7.js";
203
+ } from "./cli-9xsmdpdt.js";
204
204
  import {
205
205
  require_dist
206
206
  } from "./cli-51tf7ac3.js";
@@ -221,7 +221,7 @@ import {
221
221
  resolveUserByToken,
222
222
  revokeRuntimeTokensForRuntime,
223
223
  unlinkIdentity
224
- } from "./cli-r455yd58.js";
224
+ } from "./cli-e0a9sk00.js";
225
225
  import {
226
226
  canProvisionKind,
227
227
  init_runtime_providers
@@ -229,7 +229,7 @@ import {
229
229
  import {
230
230
  getUserGrant,
231
231
  init_rbac_roles
232
- } from "./cli-4bm25xtw.js";
232
+ } from "./cli-qsztpfry.js";
233
233
  import {
234
234
  can,
235
235
  decideAdmission,
@@ -546,7 +546,7 @@ import {
546
546
  upsertSwarmConfig,
547
547
  validateConfigValue,
548
548
  workflowContextKey
549
- } from "./cli-0d2rqhvq.js";
549
+ } from "./cli-tgpfnm6r.js";
550
550
  import {
551
551
  $OpenAPIRegistry,
552
552
  $OpenApiGeneratorV31,
@@ -616,7 +616,7 @@ import {
616
616
  init_task_attachment_links,
617
617
  taskAttachmentDisplayUrl,
618
618
  taskAttachmentFetchCommand
619
- } from "./cli-rrbctenq.js";
619
+ } from "./cli-nyhb1r6x.js";
620
620
  import {
621
621
  getSlackConfiguration,
622
622
  init_config
@@ -631,7 +631,7 @@ import {
631
631
  interpolate,
632
632
  registerTemplate,
633
633
  resolveTemplate
634
- } from "./cli-5c2j5yvx.js";
634
+ } from "./cli-fdvbjtbw.js";
635
635
  import {
636
636
  buildClaudeShortnameMap,
637
637
  claudeCatalogModelId,
@@ -693,7 +693,7 @@ import {
693
693
  import {
694
694
  init_package,
695
695
  package_default
696
- } from "./cli-erbp6b4g.js";
696
+ } from "./cli-esnpehf5.js";
697
697
  import {
698
698
  init_event_bus,
699
699
  workflowEventBus
@@ -25091,8 +25091,16 @@ function dedupeReviewComments(comments) {
25091
25091
  }
25092
25092
  return [...byId.values()];
25093
25093
  }
25094
+ async function resolveReviewReadToken(installationId) {
25095
+ if (installationId) {
25096
+ const appToken = await getInstallationToken(installationId);
25097
+ if (appToken)
25098
+ return appToken;
25099
+ }
25100
+ return process.env.GITHUB_TOKEN?.trim() || null;
25101
+ }
25094
25102
  async function fetchReviewComments(repo, prNumber, reviewId, installationId) {
25095
- const token = await getInstallationToken(installationId);
25103
+ const token = await resolveReviewReadToken(installationId);
25096
25104
  if (!token) {
25097
25105
  return { comments: [], degraded: true };
25098
25106
  }
@@ -25145,8 +25153,10 @@ Reply to and resolve EVERY unresolved inline thread. Do NOT dispatch off the rev
25145
25153
  var PR_REVIEW_ACTION_ITEMS_QUERY = `query($owner: String!, $name: String!, $number: Int!) {
25146
25154
  repository(owner: $owner, name: $name) {
25147
25155
  pullRequest(number: $number) {
25148
- reviewThreads(first: 100) { pageInfo { hasNextPage } nodes { isResolved isOutdated } }
25156
+ mergeStateStatus
25157
+ reviewThreads(first: 100) { pageInfo { hasNextPage } nodes { isResolved } }
25149
25158
  reviews(first: 100) { pageInfo { hasNextPage } nodes { state submittedAt author { login } } }
25159
+ commits(last: 1) { nodes { commit { oid } } }
25150
25160
  }
25151
25161
  }
25152
25162
  }`;
@@ -25155,7 +25165,7 @@ function skipNoopApprovalsEnabled() {
25155
25165
  }
25156
25166
  async function fetchPrReviewActionCounts(repo, prNumber, installationId) {
25157
25167
  const [owner, name] = repo.split("/");
25158
- const token = await getInstallationToken(installationId);
25168
+ const token = await resolveReviewReadToken(installationId);
25159
25169
  if (!token || !owner || !name)
25160
25170
  return null;
25161
25171
  try {
@@ -25176,10 +25186,15 @@ async function fetchPrReviewActionCounts(repo, prNumber, installationId) {
25176
25186
  if (!pull || pull.reviewThreads.pageInfo.hasNextPage || pull.reviews.pageInfo.hasNextPage) {
25177
25187
  return null;
25178
25188
  }
25179
- const unresolvedThreads = pull.reviewThreads.nodes.filter((thread) => !thread.isResolved && !thread.isOutdated).length;
25189
+ const unresolvedThreads = pull.reviewThreads.nodes.filter((thread) => !thread.isResolved).length;
25180
25190
  const reviews = pull.reviews.nodes.filter((r) => r.author?.login && r.submittedAt);
25181
25191
  const outstandingChangeRequests = reviews.filter((r) => r.state === "CHANGES_REQUESTED" && !reviews.some((later) => later.state === "APPROVED" && later.author?.login === r.author?.login && String(later.submittedAt) > String(r.submittedAt))).length;
25182
- return { unresolvedThreads, outstandingChangeRequests };
25192
+ return {
25193
+ unresolvedThreads,
25194
+ outstandingChangeRequests,
25195
+ headOid: pull.commits?.nodes?.[0]?.commit?.oid ?? null,
25196
+ mergeState: pull.mergeStateStatus ?? null
25197
+ };
25183
25198
  } catch (error) {
25184
25199
  console.error("[GitHub] Error fetching PR review action items:", error);
25185
25200
  return null;
@@ -25198,14 +25213,14 @@ async function handlePullRequestReview(event) {
25198
25213
  if (isDuplicate3(eventKey)) {
25199
25214
  return { created: false };
25200
25215
  }
25201
- const { comments: inlineComments, degraded } = installation?.id ? await fetchReviewComments(repository.full_name, pr.number, review.id, installation.id) : { comments: [], degraded: true };
25216
+ const { comments: inlineComments, degraded } = await fetchReviewComments(repository.full_name, pr.number, review.id, installation?.id);
25202
25217
  if (review.state === "commented" && !review.body && inlineComments.length === 0 && !degraded) {
25203
25218
  return { created: false };
25204
25219
  }
25205
25220
  let approvalActionCounts = null;
25206
- if (review.state === "approved" && !review.body?.trim() && inlineComments.length === 0 && !degraded && installation?.id && skipNoopApprovalsEnabled()) {
25207
- approvalActionCounts = await fetchPrReviewActionCounts(repository.full_name, pr.number, installation.id);
25208
- if (approvalActionCounts && approvalActionCounts.unresolvedThreads === 0 && approvalActionCounts.outstandingChangeRequests === 0) {
25221
+ if (review.state === "approved" && !review.body?.trim() && inlineComments.length === 0 && !degraded && skipNoopApprovalsEnabled()) {
25222
+ approvalActionCounts = await fetchPrReviewActionCounts(repository.full_name, pr.number, installation?.id);
25223
+ if (approvalActionCounts && approvalActionCounts.unresolvedThreads === 0 && approvalActionCounts.outstandingChangeRequests === 0 && !!review.commit_id && review.commit_id === approvalActionCounts.headOid && approvalActionCounts.mergeState === "CLEAN") {
25209
25224
  console.log(`[GitHub] Skipped lead task for no-op approval of ${repository.full_name}#${pr.number} by ${sender.login} (review ${review.id})`);
25210
25225
  return { created: false };
25211
25226
  }
@@ -25228,7 +25243,7 @@ ${review.body}` : "";
25228
25243
  const hasInlineComments = inlineComments.length > 0;
25229
25244
  const baseReviewSuggestion = review.state === "approved" ? "\uD83D\uDCA1 Suggested: Merge the PR or wait for additional reviews" : review.state === "changes_requested" ? "\uD83D\uDCA1 Suggested: Address the requested changes and update the PR" : "\uD83D\uDCA1 Suggested: Review the feedback and respond if needed";
25230
25245
  const openItemsSuggestion = approvalActionCounts ? `
25231
- \uD83D\uDCCB Still open on the PR: ${approvalActionCounts.unresolvedThreads} unresolved review thread(s), ${approvalActionCounts.outstandingChangeRequests} outstanding change request(s)` : "";
25246
+ \uD83D\uDCCB Still open on the PR: ${approvalActionCounts.unresolvedThreads} unresolved review thread(s), ${approvalActionCounts.outstandingChangeRequests} outstanding change request(s); head ${approvalActionCounts.headOid?.slice(0, 9) ?? "unknown"}${review.commit_id && review.commit_id !== approvalActionCounts.headOid ? ` (approved ${review.commit_id.slice(0, 9)})` : ""}, merge state ${approvalActionCounts.mergeState ?? "unknown"}` : "";
25232
25247
  const reviewSuggestions = (hasInlineComments || degraded ? `${baseReviewSuggestion}
25233
25248
  \uD83D\uDCAC Address EVERY inline comment. After pushing fixes, reply to and resolve each inline review thread on GitHub so the reviewer sees visible confirmation.` : baseReviewSuggestion) + openItemsSuggestion;
25234
25249
  const result = resolveTemplate("github.pull_request.review_submitted", {
@@ -26811,7 +26826,7 @@ async function notifySlack(text) {
26811
26826
  return;
26812
26827
  }
26813
26828
  try {
26814
- const { getSlackApp: getSlackApp2 } = await import("./app-04ab2s0z.js");
26829
+ const { getSlackApp: getSlackApp2 } = await import("./app-wmf0m843.js");
26815
26830
  const app = getSlackApp2();
26816
26831
  if (!app) {
26817
26832
  console.warn("[Jira webhook keepalive] Slack not available, cannot send notification");
@@ -26882,7 +26897,7 @@ async function deleteJiraWebhook(webhookId) {
26882
26897
  console.log(`[Jira webhook keepalive] Deleted webhook id=${webhookId}`);
26883
26898
  }
26884
26899
  async function overwriteWebhookIds(next) {
26885
- const { getDbClient: getDbClient2 } = await import("./db-sp39qv72.js");
26900
+ const { getDbClient: getDbClient2 } = await import("./db-4w7tmt1g.js");
26886
26901
  await getDbClient2().transaction(async (tx) => {
26887
26902
  const row = await tx.get("SELECT metadata FROM oauth_apps WHERE provider = 'jira'");
26888
26903
  if (!row) {
@@ -100712,7 +100727,7 @@ async function reloadGlobalConfigsAndIntegrations() {
100712
100727
  return runWithoutRequestAuth(() => reloadGlobalConfigsAndIntegrationsInner());
100713
100728
  }
100714
100729
  async function reloadGlobalConfigsAndIntegrationsInner() {
100715
- const { getEmbeddingProvider: getEmbeddingProvider2, resetEmbeddingProvider } = await import("./index-vertaxs1.js");
100730
+ const { getEmbeddingProvider: getEmbeddingProvider2, resetEmbeddingProvider } = await import("./index-ffqzqgwb.js");
100716
100731
  const wasEmbeddingsConfigured = getEmbeddingProvider2().isConfigured();
100717
100732
  const updated = await loadGlobalConfigsIntoEnv(true);
100718
100733
  await syncTelemetryEnabled("settings").catch((err) => {
@@ -100728,10 +100743,10 @@ async function reloadGlobalConfigsAndIntegrationsInner() {
100728
100743
  integrations.push("embeddings");
100729
100744
  }
100730
100745
  if (!wasEmbeddingsConfigured && isEmbeddingsConfigured) {
100731
- import("./boot-reembed-3p0m259x.js").then(({ runBootReembed }) => runBootReembed()).catch((err) => {
100746
+ import("./boot-reembed-1de4f4aj.js").then(({ runBootReembed }) => runBootReembed()).catch((err) => {
100732
100747
  console.error("[config-reload] memory backfill failed (non-fatal):", err);
100733
100748
  });
100734
- import("./boot-reembed-wew3gwk8.js").then(({ runBootReembedScripts }) => runBootReembedScripts()).catch((err) => {
100749
+ import("./boot-reembed-4ymn9atn.js").then(({ runBootReembedScripts }) => runBootReembedScripts()).catch((err) => {
100735
100750
  console.error("[config-reload] script backfill failed (non-fatal):", err);
100736
100751
  });
100737
100752
  }
@@ -101911,7 +101926,7 @@ function setPreloadedTools(server, names) {
101911
101926
  async function applyPreToolCall(name, args, requestInfo, inputSchema) {
101912
101927
  if (requestInfo.callOrigin !== "mcp")
101913
101928
  return { args };
101914
- const dispatcher = await import("./dispatcher-g7fsybsd.js");
101929
+ const dispatcher = await import("./dispatcher-5sd69y14.js");
101915
101930
  const result = await dispatcher.dispatchPre("pre.tool.call", { tool: name, args, requestInfo }, inputSchema ? {
101916
101931
  validateModify: async (data) => {
101917
101932
  const schema = normalizeObjectSchema(inputSchema) ?? inputSchema;
@@ -123663,7 +123678,7 @@ var registerScriptUpsertTool = (server) => {
123663
123678
  annotations: { openWorldHint: false },
123664
123679
  inputSchema: object({
123665
123680
  name: scriptNameSchema.describe("Stable script name within the selected scope."),
123666
- source: string().min(1).describe('TypeScript source, typechecked before saving. Must `export default async function (args, ctx)` — args FIRST, ctx second. Import `ScriptContext` from "swarm-sdk" to type `ctx`.'),
123681
+ source: string().min(1).describe('TypeScript source, typechecked before saving. Must `export default async function (args, ctx)` — args FIRST, ctx second. Import `ScriptContext` from "swarm-sdk" to type `ctx`. Schemas can import "zod" or "zod/mini"; Mini uses functional forms such as z.optional(z.string()).'),
123667
123682
  description: string().default("").describe("Human-readable script description."),
123668
123683
  intent: string().default("").describe("Why this script exists."),
123669
123684
  scope: scriptScopeSchema.default("agent").describe("Persist under agent or global scope."),
@@ -132577,7 +132592,7 @@ class NotifyExecutor extends BaseExecutor {
132577
132592
  }
132578
132593
  }
132579
132594
  case "slack": {
132580
- const { getSlackApp: getSlackApp2 } = await import("./app-04ab2s0z.js");
132595
+ const { getSlackApp: getSlackApp2 } = await import("./app-wmf0m843.js");
132581
132596
  const app = getSlackApp2();
132582
132597
  if (!app) {
132583
132598
  return {
package/dist/cli.js CHANGED
@@ -13,20 +13,20 @@ import"./cli-0xqde53b.js";
13
13
  import"./cli-pqetb83f.js";
14
14
  import {
15
15
  bedrockProviderModule
16
- } from "./cli-j0w59p15.js";
17
- import"./cli-yn0a417a.js";
18
- import"./cli-cgj4hc12.js";
16
+ } from "./cli-4fnb6884.js";
17
+ import"./cli-phre6gz0.js";
18
+ import"./cli-eh1ytktb.js";
19
19
  import"./cli-txgcknmy.js";
20
20
  import"./cli-6map995v.js";
21
- import"./cli-xf713zz0.js";
21
+ import"./cli-9fxpr83v.js";
22
22
  import"./cli-y2apkfe2.js";
23
23
  import"./cli-7kyk9jr3.js";
24
24
  import {
25
25
  setBedrockProviderModule
26
- } from "./cli-mn8qkd8v.js";
26
+ } from "./cli-61625k3x.js";
27
27
  import"./cli-btbzvq95.js";
28
28
  import"./cli-1m2e086m.js";
29
- import"./cli-g7k7zbcz.js";
29
+ import"./cli-p7z6q2m6.js";
30
30
  import"./cli-wnb9b2g3.js";
31
31
  import"./cli-bd957dgb.js";
32
32
  import {
@@ -62,7 +62,7 @@ var import_react = __toESM(require_react(), 1);
62
62
  // package.json
63
63
  var package_default = {
64
64
  name: "@desplega.ai/agent-swarm",
65
- version: "1.171.0",
65
+ version: "1.172.0",
66
66
  description: "agent-swarm.dev — an open-source operating system for AI work: a lead agent breaks goals into tasks, routes them to specialized workers such as Claude Code or Codex, runs each worker in an isolated container, and preserves shared memory, tools, schedules, and review gates so delegated work compounds across sessions.",
67
67
  keywords: [
68
68
  "agent-swarm.dev",
@@ -103,7 +103,6 @@ var package_default = {
103
103
  "plugin/commands/",
104
104
  "plugin/agents/",
105
105
  "plugin/pi-skills/",
106
- "plugin/opencode-plugins/lib/memory-raters.ts",
107
106
  "templates/",
108
107
  "vendored-openapi/",
109
108
  "openapi.json"
@@ -177,7 +176,7 @@ var package_default = {
177
176
  "tsc:check:tsc": "bun tsc --noEmit",
178
177
  "check:db-boundary": "bash scripts/check-db-boundary.sh",
179
178
  "check:test-spawn-sync": "bash scripts/check-test-spawn-sync.sh",
180
- "check:dep-graph": "depcruise src plugin/opencode-plugins packages/model-routing --config .dependency-cruiser.cjs",
179
+ "check:dep-graph": "depcruise src packages/model-routing --config .dependency-cruiser.cjs",
181
180
  "check:api-key-boundary": "bash scripts/check-api-key-boundary.sh",
182
181
  "check:vendored-openapi": "bun scripts/check-vendored-openapi.ts",
183
182
  "check:rbac-coverage": "bun scripts/check-rbac-coverage.ts",
@@ -247,7 +246,8 @@ var package_default = {
247
246
  "@desplega/model-catalog": "workspace:*",
248
247
  "@desplega/model-routing": "workspace:*",
249
248
  "@faker-js/faker": "^10.4.0",
250
- "@opencode-ai/plugin": "1.19.0",
249
+ "@opencode/plugin": "2.0.28",
250
+ "@opencode/sdk": "2.0.28",
251
251
  "@oxlint/plugins": "1.78.0",
252
252
  "@types/bun": "latest",
253
253
  "@typescript/native-preview": "7.0.0-dev.20260707.2",
@@ -274,15 +274,14 @@ var package_default = {
274
274
  "@cursor/sdk": "1.0.37",
275
275
  "@desplega.ai/business-use": "^0.4.2",
276
276
  "@desplega.ai/localtunnel": "^2.2.0",
277
- "@earendil-works/pi-agent-core": "^1.1.0",
278
- "@earendil-works/pi-ai": "^1.1.0",
279
- "@earendil-works/pi-coding-agent": "^1.1.0",
277
+ "@earendil-works/pi-agent-core": "^1.2.0",
278
+ "@earendil-works/pi-ai": "^1.2.0",
279
+ "@earendil-works/pi-coding-agent": "^1.2.0",
280
280
  "@inkjs/ui": "^2.0.0",
281
281
  "@jitl/quickjs-singlefile-mjs-release-sync": "0.32.0",
282
282
  "@linear/sdk": "^77.0.0",
283
283
  "@modelcontextprotocol/sdk": "1.31.0",
284
284
  "@openai/codex": "0.162.1",
285
- "@opencode-ai/sdk": "^1.19.0",
286
285
  "@openfort/openfort-node": "^0.9.1",
287
286
  "@opentelemetry/api": "^1.9.1",
288
287
  "@opentelemetry/api-logs": "^0.218.0",
@@ -831,7 +830,7 @@ function McpServer({ port, apiKey, dbPath }) {
831
830
  if (dbPath) {
832
831
  process.env.DATABASE_PATH = dbPath;
833
832
  }
834
- import("./http-1d23k928.js").then(() => {
833
+ import("./http-jdteeg81.js").then(() => {
835
834
  setStatus("running");
836
835
  }).catch((err) => {
837
836
  setStatus("error");
@@ -918,7 +917,7 @@ function WorkerRunner({
918
917
  const { exit } = use_app_default();
919
918
  import_react.useEffect(() => {
920
919
  installConsoleScrub();
921
- import("./worker-p1g8qm6h.js").then(({ runWorker }) => runWorker({
920
+ import("./worker-njjccz5d.js").then(({ runWorker }) => runWorker({
922
921
  prompt: prompt || undefined,
923
922
  yolo,
924
923
  systemPrompt: systemPrompt || undefined,
@@ -936,7 +935,7 @@ function LeadRunner({ prompt, yolo, systemPrompt, systemPromptFile, additionalAr
936
935
  const { exit } = use_app_default();
937
936
  import_react.useEffect(() => {
938
937
  installConsoleScrub();
939
- import("./lead-yxw2f1sg.js").then(({ runLead }) => runLead({
938
+ import("./lead-4k9s9szx.js").then(({ runLead }) => runLead({
940
939
  prompt: prompt || undefined,
941
940
  yolo,
942
941
  systemPrompt: systemPrompt || undefined,
@@ -976,8 +975,8 @@ function LazyComponent({
976
975
  }
977
976
  return import_react.createElement(Component, props);
978
977
  }
979
- var loadOnboard = () => import("./onboard-dfr9j762.js").then(({ Onboard }) => Onboard);
980
- var loadConnect = () => import("./setup-g68r1w28.js").then(({ Setup }) => Setup);
978
+ var loadOnboard = () => import("./onboard-ydrbnvww.js").then(({ Onboard }) => Onboard);
979
+ var loadConnect = () => import("./setup-jda1ksdh.js").then(({ Setup }) => Setup);
981
980
  function UnknownCommand({ command }) {
982
981
  const { exit } = use_app_default();
983
982
  import_react.useEffect(() => {
@@ -1107,14 +1106,14 @@ ${binName} docs \u2014 v${package_default.version}
1107
1106
  }
1108
1107
  process.exit(0);
1109
1108
  } else if (args.command === "hook") {
1110
- const { runHook } = await import("./hook-g8e7sfnf.js");
1109
+ const { runHook } = await import("./hook-ygwerrdh.js");
1111
1110
  await runHook();
1112
1111
  } else if (args.command === "codex-hook") {
1113
- const { handleCodexHook } = await import("./codex-hook-7ba15hjd.js");
1112
+ const { handleCodexHook } = await import("./codex-hook-xch6z5wt.js");
1114
1113
  await handleCodexHook();
1115
1114
  process.exit(process.exitCode ?? 0);
1116
1115
  } else if (args.command === "session-summary-stdin") {
1117
- const { runSessionSummaryFromStdin } = await import("./hook-wgx4exw6.js");
1116
+ const { runSessionSummaryFromStdin } = await import("./hook-gdn6a2fn.js");
1118
1117
  await runSessionSummaryFromStdin();
1119
1118
  process.exit(process.exitCode ?? 0);
1120
1119
  } else if (args.command === "artifact") {
@@ -1135,7 +1134,7 @@ ${binName} docs \u2014 v${package_default.version}
1135
1134
  printHelp("scripts");
1136
1135
  process.exit(scriptsArgs[0] === "reembed" || args.showHelp ? 0 : 1);
1137
1136
  }
1138
- const { runScriptsMaintenanceCommand } = await import("./maintenance-h7w2m10y.js");
1137
+ const { runScriptsMaintenanceCommand } = await import("./maintenance-shazch4n.js");
1139
1138
  await runScriptsMaintenanceCommand(scriptsArgs);
1140
1139
  console.log("Scripts re-embedded.");
1141
1140
  } else if (args.command === "rbac") {
@@ -1145,14 +1144,14 @@ ${binName} docs \u2014 v${package_default.version}
1145
1144
  printHelp("rbac");
1146
1145
  process.exit(args.showHelp ? 0 : 1);
1147
1146
  }
1148
- const { runRbacCliCommand } = await import("./rbac-roles-wnx35x4x.js");
1147
+ const { runRbacCliCommand } = await import("./rbac-roles-aq3msh4e.js");
1149
1148
  await runRbacCliCommand(rbacArgs);
1150
1149
  } else if (args.command === "codex-login") {
1151
1150
  const { runCodexLogin } = await import("./codex-login-841kv5fk.js");
1152
1151
  const codexLoginArgs = process.argv.slice(process.argv.indexOf("codex-login") + 1);
1153
1152
  await runCodexLogin(codexLoginArgs);
1154
1153
  } else if (args.command === "codex-session-runner") {
1155
- const { runCodexSessionRunner } = await import("./codex-session-runner-9fp7y4cf.js");
1154
+ const { runCodexSessionRunner } = await import("./codex-session-runner-ymwzm6ea.js");
1156
1155
  await runCodexSessionRunner();
1157
1156
  } else if (args.command === "claude-managed-setup") {
1158
1157
  const { runClaudeManagedSetup } = await import("./claude-managed-setup-bnmjarjc.js");
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  classifySystemOne
3
- } from "./cli-nkqjj42q.js";
3
+ } from "./cli-x4m6feqt.js";
4
4
  import {
5
5
  isRecord
6
- } from "./cli-q1vnz8wv.js";
6
+ } from "./cli-9s17naqf.js";
7
7
  import"./cli-zy39d433.js";
8
8
  import"./cli-6map995v.js";
9
9
  import"./cli-7kyk9jr3.js";
10
- import"./cli-g7k7zbcz.js";
10
+ import"./cli-p7z6q2m6.js";
11
11
  import"./cli-wnb9b2g3.js";
12
12
  import"./cli-bc05qbss.js";
13
13
 
@@ -7,44 +7,44 @@ import {
7
7
  createInProcessCodexSession,
8
8
  resolveCodexAuthMode,
9
9
  resolveCodexRunnerArgv
10
- } from "./cli-2qbs2tvf.js";
10
+ } from "./cli-k46r9hmk.js";
11
11
  import"./cli-hsxj0yar.js";
12
- import"./cli-gt4hxb8p.js";
12
+ import"./cli-vv0qtfpx.js";
13
13
  import"./cli-bqjfjex4.js";
14
14
  import"./cli-q2j38vre.js";
15
- import"./cli-ph3145b7.js";
16
- import"./cli-hp1n6zq3.js";
17
15
  import"./cli-zm7njwzd.js";
16
+ import"./cli-cf69s3ew.js";
17
+ import"./cli-hp1n6zq3.js";
18
18
  import"./cli-ptcz1cqy.js";
19
19
  import"./cli-7avy4v8w.js";
20
20
  import"./cli-2pdaysab.js";
21
21
  import"./cli-tmhsxhb8.js";
22
22
  import"./cli-knd276ed.js";
23
- import"./cli-w0bwte75.js";
23
+ import"./cli-104zsxba.js";
24
24
  import"./cli-re8z5p8p.js";
25
25
  import"./cli-zt3w1cn1.js";
26
- import"./cli-x61srfpp.js";
26
+ import"./cli-xczpdp9e.js";
27
27
  import"./cli-7jykv7ef.js";
28
- import"./cli-5y67yrt6.js";
29
- import"./cli-rb9m6rpe.js";
28
+ import"./cli-cceskcvt.js";
29
+ import"./cli-h6vtvt5c.js";
30
30
  import"./cli-2x0e561b.js";
31
31
  import"./cli-bsakbbkm.js";
32
32
  import"./cli-zxg80zs9.js";
33
33
  import"./cli-ydt3zkwv.js";
34
- import"./cli-mn8qkd8v.js";
34
+ import"./cli-61625k3x.js";
35
35
  import"./cli-btbzvq95.js";
36
36
  import"./cli-1m2e086m.js";
37
- import"./cli-g7k7zbcz.js";
37
+ import"./cli-p7z6q2m6.js";
38
38
  import"./cli-wnb9b2g3.js";
39
39
  import"./cli-hsem16hb.js";
40
- import"./cli-1a2j50m0.js";
41
40
  import"./cli-ywybs5as.js";
42
41
  import"./cli-f9w1semm.js";
42
+ import"./cli-1a2j50m0.js";
43
43
  import"./cli-a35hzdve.js";
44
44
  import"./cli-014vns2y.js";
45
45
  import"./cli-sd0mxa3c.js";
46
46
  import"./cli-w5e1d1vv.js";
47
- import"./cli-erbp6b4g.js";
47
+ import"./cli-esnpehf5.js";
48
48
  import"./cli-gd4favx9.js";
49
49
  import"./cli-ej6gbxfb.js";
50
50
  import"./cli-a1b9b32n.js";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env bun
2
2
  import {
3
3
  renderSteeringDelivery
4
- } from "./cli-x6z90nq9.js";
4
+ } from "./cli-19njxg5g.js";
5
5
  import {
6
6
  guardGhPrBody
7
7
  } from "./cli-v6vv7dy8.js";
@@ -9,8 +9,7 @@ import {
9
9
  init_steering_enabled,
10
10
  isSteeringEnabled
11
11
  } from "./cli-7mm2r1kp.js";
12
- import"./cli-e2prcx5m.js";
13
- import"./cli-5c2j5yvx.js";
12
+ import"./cli-fdvbjtbw.js";
14
13
  import {
15
14
  getMcpBaseUrl,
16
15
  init_constants
@@ -1,43 +1,43 @@
1
1
  import {
2
2
  createInProcessCodexSession
3
- } from "./cli-2qbs2tvf.js";
3
+ } from "./cli-k46r9hmk.js";
4
4
  import"./cli-hsxj0yar.js";
5
- import"./cli-gt4hxb8p.js";
5
+ import"./cli-vv0qtfpx.js";
6
6
  import"./cli-bqjfjex4.js";
7
7
  import"./cli-q2j38vre.js";
8
- import"./cli-ph3145b7.js";
9
- import"./cli-hp1n6zq3.js";
10
8
  import"./cli-zm7njwzd.js";
9
+ import"./cli-cf69s3ew.js";
10
+ import"./cli-hp1n6zq3.js";
11
11
  import"./cli-ptcz1cqy.js";
12
12
  import"./cli-7avy4v8w.js";
13
13
  import"./cli-2pdaysab.js";
14
14
  import"./cli-tmhsxhb8.js";
15
15
  import"./cli-knd276ed.js";
16
- import"./cli-w0bwte75.js";
16
+ import"./cli-104zsxba.js";
17
17
  import"./cli-re8z5p8p.js";
18
18
  import"./cli-zt3w1cn1.js";
19
- import"./cli-x61srfpp.js";
19
+ import"./cli-xczpdp9e.js";
20
20
  import"./cli-7jykv7ef.js";
21
- import"./cli-5y67yrt6.js";
22
- import"./cli-rb9m6rpe.js";
21
+ import"./cli-cceskcvt.js";
22
+ import"./cli-h6vtvt5c.js";
23
23
  import"./cli-2x0e561b.js";
24
24
  import"./cli-bsakbbkm.js";
25
25
  import"./cli-zxg80zs9.js";
26
26
  import"./cli-ydt3zkwv.js";
27
- import"./cli-mn8qkd8v.js";
27
+ import"./cli-61625k3x.js";
28
28
  import"./cli-btbzvq95.js";
29
29
  import"./cli-1m2e086m.js";
30
- import"./cli-g7k7zbcz.js";
30
+ import"./cli-p7z6q2m6.js";
31
31
  import"./cli-wnb9b2g3.js";
32
32
  import"./cli-hsem16hb.js";
33
- import"./cli-1a2j50m0.js";
34
33
  import"./cli-ywybs5as.js";
35
34
  import"./cli-f9w1semm.js";
35
+ import"./cli-1a2j50m0.js";
36
36
  import"./cli-a35hzdve.js";
37
37
  import"./cli-014vns2y.js";
38
38
  import"./cli-sd0mxa3c.js";
39
39
  import"./cli-w5e1d1vv.js";
40
- import"./cli-erbp6b4g.js";
40
+ import"./cli-esnpehf5.js";
41
41
  import"./cli-gd4favx9.js";
42
42
  import"./cli-ej6gbxfb.js";
43
43
  import"./cli-a1b9b32n.js";