@desplega.ai/agent-swarm 2.5.2 → 2.5.4

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 (236) hide show
  1. package/dist/{acp-adapter-csh0zz3b.js → acp-adapter-ek38cwsv.js} +5 -5
  2. package/dist/{actions-6xx079d1.js → actions-92mepq03.js} +19 -19
  3. package/dist/{amp-adapter-8n6f0hz8.js → amp-adapter-9gaxg015.js} +4 -4
  4. package/dist/{app-ft6r6v23.js → app-ctn8gsgx.js} +3 -3
  5. package/dist/{assistant-vt2cyfzd.js → assistant-zyr5kz47.js} +21 -21
  6. package/dist/{boot-reembed-tgrfy27t.js → boot-reembed-dwzfttdr.js} +1 -1
  7. package/dist/{boot-reembed-r3e808ky.js → boot-reembed-w75maga2.js} +1 -1
  8. package/dist/{boot-scrub-sweep-masdwxkm.js → boot-scrub-sweep-e9kq43kf.js} +3 -3
  9. package/dist/{boot-seeds-0n82qc7q.js → boot-seeds-x28v3fhb.js} +4 -4
  10. package/dist/{claude-adapter-s7j47k06.js → claude-adapter-f0afqnne.js} +5 -5
  11. package/dist/{claude-managed-adapter-gt6pa35d.js → claude-managed-adapter-x81a7r65.js} +3 -3
  12. package/dist/{claude-managed-setup-3hzrgrnk.js → claude-managed-setup-bqzwjd9x.js} +2 -2
  13. package/dist/{claude-sdk-session-0zrdzyx2.js → claude-sdk-session-7b7whkaq.js} +9307 -9254
  14. package/dist/{cli-a5ebc95n.js → cli-0shx9j93.js} +16 -13
  15. package/dist/{cli-4qkg9968.js → cli-19202kew.js} +4 -4
  16. package/dist/{cli-cyfgxnvb.js → cli-1r5ad7j5.js} +19 -17
  17. package/dist/{cli-jmcjbjkt.js → cli-25n3mv5d.js} +9 -7
  18. package/dist/cli-2655k16q.js +140 -0
  19. package/dist/{cli-wadzapwb.js → cli-277c31dw.js} +1 -1
  20. package/dist/{cli-n6kmqngw.js → cli-4b2z6n0m.js} +29 -7
  21. package/dist/{cli-7ccf7akh.js → cli-5bnsc0e1.js} +9 -7
  22. package/dist/{cli-qrjv7t18.js → cli-621ce7kw.js} +1 -1
  23. package/dist/{cli-xzge46sj.js → cli-64mh9mf3.js} +20 -6
  24. package/dist/{cli-b6tnjdvx.js → cli-6a1xg1p7.js} +6 -2
  25. package/dist/{cli-ydg6ep51.js → cli-6n8axjv1.js} +1 -1
  26. package/dist/{cli-e91vshb1.js → cli-7p4jxgtt.js} +5 -5
  27. package/dist/{cli-f3pfn4x3.js → cli-9j129brq.js} +9 -3
  28. package/dist/{cli-xw9q173h.js → cli-9s05422w.js} +1 -1
  29. package/dist/{cli-15xd0j7w.js → cli-abs8ndtr.js} +12 -12
  30. package/dist/{cli-h5d22pfs.js → cli-asq5ydm4.js} +219 -309
  31. package/dist/{cli-w9etnnxk.js → cli-bf8ma3f1.js} +120 -50
  32. package/dist/{cli-0vgy5wfw.js → cli-bvpgr9ny.js} +2 -2
  33. package/dist/{cli-3e9vs93g.js → cli-c61mbdds.js} +4 -4
  34. package/dist/{cli-e5bxnjps.js → cli-c952c7ac.js} +5 -5
  35. package/dist/{cli-p859hcc8.js → cli-dew6x255.js} +1 -1
  36. package/dist/{cli-tx00c0h6.js → cli-dqygeeh5.js} +17 -1
  37. package/dist/{cli-gpv60278.js → cli-e42vss7b.js} +2 -2
  38. package/dist/{cli-b63d08rs.js → cli-eftzyh9y.js} +1 -1
  39. package/dist/{cli-fgn7yg5r.js → cli-ethgy7ha.js} +1 -1
  40. package/dist/{cli-86zpfje5.js → cli-ff1tm9n9.js} +1 -1
  41. package/dist/{cli-cf63dnxj.js → cli-g9vd9ece.js} +37 -12
  42. package/dist/{cli-j3dwd4kz.js → cli-gbfxp48k.js} +770 -126
  43. package/dist/{cli-n2918sed.js → cli-gn5af0x5.js} +21 -21
  44. package/dist/{cli-d172svcw.js → cli-gwhjmh8g.js} +4 -4
  45. package/dist/{cli-stxdrqs2.js → cli-hh5we352.js} +24 -5
  46. package/dist/{cli-0ebey9hg.js → cli-j6rktc91.js} +1 -1
  47. package/dist/{cli-csh8fnbg.js → cli-jb30dzvk.js} +473 -58
  48. package/dist/{cli-vaxw3bg0.js → cli-jbnn4vxb.js} +3 -3
  49. package/dist/{cli-ha22h0eg.js → cli-k4tjsdx9.js} +45 -40
  50. package/dist/{cli-f55b6ky0.js → cli-m4ecdxvz.js} +40 -13
  51. package/dist/{cli-mntxtkhn.js → cli-mz9afxxf.js} +2 -1
  52. package/dist/{cli-ta8bd7th.js → cli-pzatvw94.js} +1 -1
  53. package/dist/{cli-3qv8naq8.js → cli-rr7zx19j.js} +1591 -353
  54. package/dist/{cli-b1tv22wr.js → cli-s682zgqz.js} +1 -1
  55. package/dist/{cli-bpbcpd8b.js → cli-sbwsxvtd.js} +1 -1
  56. package/dist/{cli-0xk505e8.js → cli-sxgtf5fw.js} +1 -1
  57. package/dist/{cli-6y43v79h.js → cli-tsma7p8v.js} +1 -1
  58. package/dist/{cli-edtm741g.js → cli-wghjkr0e.js} +5 -5
  59. package/dist/{cli-aaqnqpyw.js → cli-wx2nj19m.js} +30 -11
  60. package/dist/{cli-y3dzwyy3.js → cli-x0f2v69c.js} +180 -60
  61. package/dist/{cli-kcnwn85g.js → cli-xtrz6bzs.js} +7 -7
  62. package/dist/{cli-14v1sxxy.js → cli-xzfq4at3.js} +7 -7
  63. package/dist/cli.js +20 -20
  64. package/dist/{codex-adapter-brh2tcxr.js → codex-adapter-wch12q99.js} +3 -3
  65. package/dist/{codex-hook-e2he7aca.js → codex-hook-brpnycn5.js} +1 -1
  66. package/dist/{codex-session-runner-0dnj21qs.js → codex-session-runner-41pfcr95.js} +2 -2
  67. package/dist/{commands-1cnvseqx.js → commands-9849dkj6.js} +2 -2
  68. package/dist/{controller-kc7s9xhn.js → controller-ja0sd95p.js} +29 -3
  69. package/dist/{controllers-connect-jzx7t4bn.js → controllers-connect-xp05dj6x.js} +20 -20
  70. package/dist/{cursor-adapter-qpwp5sfg.js → cursor-adapter-623qxqew.js} +1 -2
  71. package/dist/{db-4vq88jkc.js → db-47vj40dy.js} +3 -3
  72. package/dist/{db-v5ytg5pw.js → db-w759qmx0.js} +2 -2
  73. package/dist/{dispatcher-trtcrqae.js → dispatcher-7b8e4z2j.js} +17 -17
  74. package/dist/{docker-nfy2gc8t.js → docker-s84hjs91.js} +2 -2
  75. package/dist/{dsh-adapter-f20xwn1z.js → dsh-adapter-2ezw3xea.js} +2 -3
  76. package/dist/{external-channel-n9bymc2n.js → external-channel-e2s028da.js} +2 -2
  77. package/dist/{grok-adapter-4kpmmnr6.js → grok-adapter-ys7gaqee.js} +6 -6
  78. package/dist/{handlers-ptsraqa8.js → handlers-wy1dr6ja.js} +20 -20
  79. package/dist/{heartbeat-60qtxtjf.js → heartbeat-w3mntghj.js} +20 -20
  80. package/dist/{hook-rbktcstg.js → hook-3jjywnpb.js} +9 -3
  81. package/dist/{hook-ngtvh729.js → hook-g7kvv6x9.js} +3 -2
  82. package/dist/{http-z8xy72gp.js → http-tkp7d4kb.js} +2984 -2483
  83. package/dist/{index-r70q0xjx.js → index-1ef1myq2.js} +17 -17
  84. package/dist/{index-a9nsavhx.js → index-3n8m9ea2.js} +1 -1
  85. package/dist/{index-cbxkmfc5.js → index-9pn1pfkf.js} +1 -1
  86. package/dist/{index-s193j5fh.js → index-nmm79qgr.js} +20 -20
  87. package/dist/{index-6srwvd5b.js → index-p4xfz37z.js} +1 -1
  88. package/dist/{index-06qkmcx6.js → index-q7m26kvs.js} +33 -23
  89. package/dist/{index-1cscynkb.js → index-xdaahthb.js} +17 -17
  90. package/dist/{keepalive-a9srcphj.js → keepalive-v4ta8wgg.js} +3 -3
  91. package/dist/{lead-3devneqy.js → lead-sawnyqxk.js} +35 -35
  92. package/dist/{maintenance-0er16h2y.js → maintenance-84n1ex21.js} +1 -1
  93. package/dist/{oauth-refresh-sweep-b65jcyw2.js → oauth-refresh-sweep-vjnnandw.js} +2 -2
  94. package/dist/{onboard-wqywz5py.js → onboard-sfmpe4np.js} +2 -2
  95. package/dist/{opencode-adapter-e56086m1.js → opencode-adapter-jmpst4q4.js} +4 -4
  96. package/dist/{otel-impl-vk32s884.js → otel-impl-v6cc0zve.js} +1 -1
  97. package/dist/{pi-mono-adapter-tzps8f38.js → pi-mono-adapter-fk8fkcf6.js} +33 -6
  98. package/dist/{pricing-refresh-t27anv4z.js → pricing-refresh-fsk1e1zc.js} +3 -3
  99. package/dist/{rbac-roles-452665y0.js → rbac-roles-prmkdnkw.js} +2 -2
  100. package/dist/{rbac-roles-bmcgsxjn.js → rbac-roles-zxmxqa39.js} +1 -1
  101. package/dist/{render-v2-0ttsk2j4.js → render-v2-pjwxvnkw.js} +3 -3
  102. package/dist/{resume-a26kvr41.js → resume-frdtgfa0.js} +9 -5
  103. package/dist/{session-access-dgh9nkwk.js → session-access-fpez4y5q.js} +4 -4
  104. package/dist/{setup-9vc9qahm.js → setup-mq6m3m8q.js} +1 -1
  105. package/dist/{work-objects-vn8nkxwn.js → work-objects-kfahhjsq.js} +20 -20
  106. package/dist/{worker-1x1h8vnm.js → worker-v5e5rxj3.js} +35 -35
  107. package/openapi.json +3078 -2424
  108. package/package.json +7 -7
  109. package/plugin/commands/create-pr.md +2 -2
  110. package/plugin/pi-skills/create-pr/SKILL.md +2 -2
  111. package/src/be/approval-config-question.ts +389 -0
  112. package/src/be/automation-preflight.ts +37 -3
  113. package/src/be/db/approvals.ts +48 -0
  114. package/src/be/db/session-tree.ts +73 -15
  115. package/src/be/db/skill-search.ts +87 -0
  116. package/src/be/db/tasks/read.ts +29 -2
  117. package/src/be/db/tasks/write.ts +15 -5
  118. package/src/be/db/workflow-idempotency.ts +183 -0
  119. package/src/be/db/workflow-runs.ts +366 -8
  120. package/src/be/db.ts +92 -22
  121. package/src/be/migrations/239_skills_fts.sql +40 -0
  122. package/src/be/migrations/240_workflow_run_parent_step_attempt.sql +37 -0
  123. package/src/be/migrations/241_skills_meta_fts.sql +39 -0
  124. package/src/be/migrations/242_workflow_idempotency_keys.sql +40 -0
  125. package/src/be/sealed-json.ts +1 -0
  126. package/src/be/seed-scripts/catalog/compound-insights.inline.ts +2 -2
  127. package/src/be/seed-scripts/catalog/compound-insights.ts +2 -2
  128. package/src/be/seed-skills/bundled-files.generated.json +1 -1
  129. package/src/be/sql-connections.ts +7 -1
  130. package/src/be/swarm-config-guard.ts +25 -0
  131. package/src/be/users.ts +9 -0
  132. package/src/commands/controller.ts +33 -0
  133. package/src/commands/runner.ts +6 -2
  134. package/src/extensions/apply-task-create.ts +57 -11
  135. package/src/extensions/catalog.generated.json +4 -4
  136. package/src/extensions/contract-types.generated.ts +1 -1
  137. package/src/extensions/contract.ts +25 -0
  138. package/src/extensions/dispatcher.ts +4 -0
  139. package/src/extensions/post-bridge.ts +8 -0
  140. package/src/hooks/context-bound-note.ts +196 -0
  141. package/src/hooks/hook.ts +12 -0
  142. package/src/http/approval-requests.ts +209 -38
  143. package/src/http/config.ts +70 -53
  144. package/src/http/idempotency-key.ts +117 -0
  145. package/src/http/sessions.ts +27 -2
  146. package/src/http/workflows.ts +129 -24
  147. package/src/integrations/chat-sdk/inbound.ts +5 -4
  148. package/src/prompts/context-bound-note.ts +48 -0
  149. package/src/prompts/session-templates.ts +25 -1
  150. package/src/providers/amp-adapter.ts +30 -8
  151. package/src/providers/claude-adapter.ts +29 -4
  152. package/src/providers/claude-managed-adapter.ts +26 -0
  153. package/src/providers/claude-sdk-session.ts +10 -0
  154. package/src/providers/claude-session-events.ts +13 -0
  155. package/src/providers/codex-adapter.ts +12 -0
  156. package/src/providers/dsh-adapter.ts +1 -1
  157. package/src/providers/opencode-adapter.ts +18 -0
  158. package/src/providers/pi-mono-adapter.ts +35 -0
  159. package/src/runtime-providers/docker.ts +6 -2
  160. package/src/scripts-runtime/types/swarm-extension.d.ts +35 -0
  161. package/src/tests/amp-adapter.test.ts +97 -0
  162. package/src/tests/approval-config-question.test.ts +702 -0
  163. package/src/tests/approval-requests.test.ts +10 -7
  164. package/src/tests/approval-sweeps.test.ts +12 -6
  165. package/src/tests/base-prompt.test.ts +1 -1
  166. package/src/tests/chat-sdk-inbound.test.ts +20 -0
  167. package/src/tests/claude-hook-output.test.ts +79 -1
  168. package/src/tests/claude-managed-adapter.test.ts +275 -0
  169. package/src/tests/codex-adapter.test.ts +163 -0
  170. package/src/tests/context-bound-note.test.ts +269 -0
  171. package/src/tests/dsh-adapter.test.ts +1 -1
  172. package/src/tests/entrypoint-gitlab-credential-helper.test.ts +273 -0
  173. package/src/tests/extensions-example-comms-adherence-gate.test.ts +321 -12
  174. package/src/tests/extensions-pre-task.test.ts +273 -0
  175. package/src/tests/fetch-resolved-env.test.ts +17 -0
  176. package/src/tests/fixtures/extensions/record-blocks/hooks.ts +10 -0
  177. package/src/tests/fixtures/extensions/record-blocks/manifest.json +7 -0
  178. package/src/tests/fixtures/fake-amp.ts +22 -8
  179. package/src/tests/fixtures/held-template-render.ts +42 -0
  180. package/src/tests/fixtures/workflow-idempotency-trigger.child.ts +73 -0
  181. package/src/tests/list-endpoint-slimming.test.ts +33 -0
  182. package/src/tests/migration-240-workflow-run-parent-step-attempt.test.ts +55 -0
  183. package/src/tests/openapi-route-headers.test.ts +2 -0
  184. package/src/tests/opencode-adapter.test.ts +134 -0
  185. package/src/tests/pi-mono-adapter.test.ts +105 -0
  186. package/src/tests/prompt-template-session.test.ts +4 -3
  187. package/src/tests/runner-push-delivery.test.ts +25 -0
  188. package/src/tests/runtime-controller-liveness.test.ts +133 -0
  189. package/src/tests/runtime-providers-docker.test.ts +2 -0
  190. package/src/tests/script-connections.test.ts +9 -0
  191. package/src/tests/script-run-config-scope.test.ts +91 -3
  192. package/src/tests/session-logs.test.ts +70 -0
  193. package/src/tests/sessions-tree.test.ts +205 -1
  194. package/src/tests/skill-search-long-content.test.ts +193 -0
  195. package/src/tests/skill-search.test.ts +173 -22
  196. package/src/tests/workflow-cascade-cancel.test.ts +1169 -0
  197. package/src/tests/workflow-foreach-supersede-retry.test.ts +488 -0
  198. package/src/tests/workflow-idempotency.test.ts +915 -0
  199. package/src/tests/workflow-sub-workflow.test.ts +538 -1
  200. package/src/tools/request-human-input.ts +27 -5
  201. package/src/tools/workflows/cancel-workflow-run.ts +1 -1
  202. package/src/types.ts +7 -0
  203. package/src/utils/context-window.ts +8 -6
  204. package/src/workflows/approval-cancel.ts +15 -13
  205. package/src/workflows/approval-notifications.ts +15 -4
  206. package/src/workflows/checkpoint.ts +72 -35
  207. package/src/workflows/engine.ts +262 -93
  208. package/src/workflows/executors/base.ts +6 -0
  209. package/src/workflows/executors/foreach.ts +2 -2
  210. package/src/workflows/executors/human-in-the-loop.ts +25 -1
  211. package/src/workflows/executors/sub-workflow.ts +45 -16
  212. package/src/workflows/foreach-driver.ts +10 -3
  213. package/src/workflows/foreach-join.ts +29 -6
  214. package/src/workflows/recovery.ts +68 -1
  215. package/src/workflows/resume.ts +228 -77
  216. package/src/workflows/retry-poller.ts +74 -7
  217. package/src/workflows/task-step-routing.ts +29 -7
  218. package/templates/ai-toolbox.manifest.json +8 -8
  219. package/templates/community/open-prompt-showreel/PLAYBOOK.md +5 -6
  220. package/templates/community/open-prompt-showreel/lead-prompt.md +1 -1
  221. package/templates/community/open-prompt-showreel/skills/open-prompt-showreel/SKILL.md +4 -4
  222. package/templates/extensions/comms-adherence-gate/README.md +38 -13
  223. package/templates/extensions/comms-adherence-gate/hooks.ts +272 -69
  224. package/templates/extensions/comms-adherence-gate/manifest.json +2 -2
  225. package/templates/skills/agent-browser/SKILL.md +4 -4
  226. package/templates/skills/agent-browser/content.md +4 -4
  227. package/templates/skills/code-quality/config.json +1 -1
  228. package/templates/skills/code-quality/content.md +2 -2
  229. package/templates/skills/delegate-work/content.md +29 -25
  230. package/templates/skills/delegate-work/files/scripts/codex-exec.sh +5 -5
  231. package/templates/skills/qa/content.md +2 -2
  232. package/templates/skills/researching/content.md +2 -0
  233. package/templates/skills/turso-interaction/content.md +1 -1
  234. package/templates/skills/work-on-task/SKILL.md +1 -1
  235. package/templates/skills/work-on-task/content.md +1 -1
  236. package/templates/skills/workflow-iterate/content.md +8 -1
@@ -2,17 +2,17 @@ import {
2
2
  getKv2,
3
3
  upsertKv2,
4
4
  init_db3
5
- } from "./cli-csh8fnbg.js";
5
+ } from "./cli-jb30dzvk.js";
6
6
  import {
7
7
  resolveIdentity,
8
8
  recordUnmappedIdentity
9
- } from "./cli-h5d22pfs.js";
9
+ } from "./cli-asq5ydm4.js";
10
10
  import {
11
11
  findUserByExternalId,
12
12
  findOrCreateUserByEmail,
13
13
  linkIdentity,
14
14
  init_users
15
- } from "./cli-b6tnjdvx.js";
15
+ } from "./cli-6a1xg1p7.js";
16
16
 
17
17
  // src/slack/enrich.ts
18
18
  init_db3();
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  renderSteeringDelivery
3
- } from "./cli-0xk505e8.js";
3
+ } from "./cli-sxgtf5fw.js";
4
4
  import {
5
5
  authJsonToCredentialSelection,
6
6
  credentialsToAuthJson,
@@ -20,7 +20,7 @@ import {
20
20
  renderMemoriesPrompt,
21
21
  isUnknownModelError,
22
22
  writeSkillsToFilesystem
23
- } from "./cli-wadzapwb.js";
23
+ } from "./cli-277c31dw.js";
24
24
  import {
25
25
  isPollTracingEnabled,
26
26
  initOtel,
@@ -30,10 +30,7 @@ import {
30
30
  injectTraceContext2,
31
31
  initialize,
32
32
  ensure
33
- } from "./cli-15xd0j7w.js";
34
- import {
35
- getContextWindowSize
36
- } from "./cli-a5ebc95n.js";
33
+ } from "./cli-abs8ndtr.js";
37
34
  import {
38
35
  MAX_RATE_LIMIT_RESET_MS,
39
36
  isRateLimitMessage,
@@ -51,7 +48,7 @@ import {
51
48
  canonicalAzureDevOpsRepoUrl,
52
49
  parseAzureDevOpsRepoUrl,
53
50
  resolveScriptsOnlyMode
54
- } from "./cli-h5d22pfs.js";
51
+ } from "./cli-asq5ydm4.js";
55
52
  import {
56
53
  ACP_TARGET_IDS,
57
54
  isAcpTarget
@@ -59,32 +56,36 @@ import {
59
56
  import {
60
57
  checkAmpCredentials2,
61
58
  liveTestAmpCredentials2
62
- } from "./cli-aaqnqpyw.js";
59
+ } from "./cli-wx2nj19m.js";
63
60
  import {
64
61
  checkClaudeCredentials2
65
- } from "./cli-cf63dnxj.js";
62
+ } from "./cli-g9vd9ece.js";
66
63
  import {
67
64
  checkClaudeManagedCredentials2
68
- } from "./cli-n6kmqngw.js";
65
+ } from "./cli-4b2z6n0m.js";
69
66
  import {
70
67
  codexUserHome,
71
68
  checkCodexCredentials2
72
- } from "./cli-xzge46sj.js";
69
+ } from "./cli-64mh9mf3.js";
73
70
  import {
74
71
  checkCursorCredentials2
75
- } from "./cli-jmcjbjkt.js";
72
+ } from "./cli-25n3mv5d.js";
76
73
  import {
77
74
  checkDevinCredentials2
78
75
  } from "./cli-g1cw7xtt.js";
79
76
  import {
80
77
  checkDshCredentials2
81
- } from "./cli-7ccf7akh.js";
78
+ } from "./cli-5bnsc0e1.js";
82
79
  import {
83
80
  checkOpencodeCredentials2
84
- } from "./cli-stxdrqs2.js";
81
+ } from "./cli-hh5we352.js";
85
82
  import {
86
83
  checkGrokCredentials2
87
- } from "./cli-qrjv7t18.js";
84
+ } from "./cli-621ce7kw.js";
85
+ import {
86
+ getContextWindowSize,
87
+ init_context_window
88
+ } from "./cli-0shx9j93.js";
88
89
  import {
89
90
  CODEX_OAUTH_POOL_SLOTS_ENV,
90
91
  isCodexOAuthConfigKey,
@@ -93,7 +94,7 @@ import {
93
94
  } from "./cli-j4bwnpkm.js";
94
95
  import {
95
96
  validateJsonSchema
96
- } from "./cli-j3dwd4kz.js";
97
+ } from "./cli-gbfxp48k.js";
97
98
  import {
98
99
  mapTriggerSurface,
99
100
  init_telemetry_context,
@@ -111,7 +112,7 @@ import {
111
112
  init_vcs_repo_match,
112
113
  isApiDrainingResponse,
113
114
  init_api_drain
114
- } from "./cli-csh8fnbg.js";
115
+ } from "./cli-jb30dzvk.js";
115
116
  import {
116
117
  parseWorkerModelTierOverrides,
117
118
  resolveTaskModelSelection,
@@ -119,7 +120,7 @@ import {
119
120
  ProviderNameSchema,
120
121
  WorkerNudgeSchema,
121
122
  init_types
122
- } from "./cli-mntxtkhn.js";
123
+ } from "./cli-mz9afxxf.js";
123
124
  import {
124
125
  generateDefaultClaudeMd2,
125
126
  generateDefaultSoulMd2,
@@ -143,7 +144,7 @@ import {
143
144
  resolveClaudeMdPath,
144
145
  syncProfileFilesToServer,
145
146
  init_profile_sync
146
- } from "./cli-gpv60278.js";
147
+ } from "./cli-e42vss7b.js";
147
148
  import {
148
149
  isSteeringEnabled2,
149
150
  init_steering_enabled
@@ -157,14 +158,7 @@ import {
157
158
  } from "./cli-zw88zjba.js";
158
159
  import {
159
160
  init_templates3
160
- } from "./cli-0ebey9hg.js";
161
- import {
162
- interpolate,
163
- init_template,
164
- configureHttpResolver,
165
- resolveTemplateAsync,
166
- init_resolver
167
- } from "./cli-tx00c0h6.js";
161
+ } from "./cli-j6rktc91.js";
168
162
  import {
169
163
  modelFamilyOf,
170
164
  windowForModelFamily,
@@ -182,6 +176,13 @@ import {
182
176
  getOpenRouterAttributionHeaders,
183
177
  init_openrouter_base_url
184
178
  } from "./cli-dfyv0jdy.js";
179
+ import {
180
+ interpolate,
181
+ init_template,
182
+ configureHttpResolver,
183
+ resolveTemplateAsync,
184
+ init_resolver
185
+ } from "./cli-dqygeeh5.js";
185
186
  import {
186
187
  runtimeHarnessSections,
187
188
  refreshRuntimeModelCatalog,
@@ -246,19 +247,19 @@ async function materializeCodexAuthJson(_slot, creds, deps = {}) {
246
247
  async function createProviderAdapter(provider) {
247
248
  switch (provider) {
248
249
  case "claude": {
249
- const { ClaudeAdapter } = await import("./claude-adapter-s7j47k06.js");
250
+ const { ClaudeAdapter } = await import("./claude-adapter-f0afqnne.js");
250
251
  return new ClaudeAdapter;
251
252
  }
252
253
  case "pi": {
253
- const { PiMonoAdapter } = await import("./pi-mono-adapter-tzps8f38.js");
254
+ const { PiMonoAdapter } = await import("./pi-mono-adapter-fk8fkcf6.js");
254
255
  return new PiMonoAdapter;
255
256
  }
256
257
  case "codex": {
257
- const { CodexAdapter } = await import("./codex-adapter-brh2tcxr.js");
258
+ const { CodexAdapter } = await import("./codex-adapter-wch12q99.js");
258
259
  return new CodexAdapter;
259
260
  }
260
261
  case "claude-managed": {
261
- const { ClaudeManagedAdapter } = await import("./claude-managed-adapter-gt6pa35d.js");
262
+ const { ClaudeManagedAdapter } = await import("./claude-managed-adapter-x81a7r65.js");
262
263
  return new ClaudeManagedAdapter;
263
264
  }
264
265
  case "devin": {
@@ -266,27 +267,27 @@ async function createProviderAdapter(provider) {
266
267
  return new DevinAdapter;
267
268
  }
268
269
  case "opencode": {
269
- const { OpencodeAdapter } = await import("./opencode-adapter-e56086m1.js");
270
+ const { OpencodeAdapter } = await import("./opencode-adapter-jmpst4q4.js");
270
271
  return new OpencodeAdapter;
271
272
  }
272
273
  case "dsh": {
273
- const { DshAdapter } = await import("./dsh-adapter-f20xwn1z.js");
274
+ const { DshAdapter } = await import("./dsh-adapter-2ezw3xea.js");
274
275
  return new DshAdapter;
275
276
  }
276
277
  case "amp": {
277
- const { AmpAdapter } = await import("./amp-adapter-8n6f0hz8.js");
278
+ const { AmpAdapter } = await import("./amp-adapter-9gaxg015.js");
278
279
  return new AmpAdapter;
279
280
  }
280
281
  case "cursor": {
281
- const { CursorAdapter } = await import("./cursor-adapter-qpwp5sfg.js");
282
+ const { CursorAdapter } = await import("./cursor-adapter-623qxqew.js");
282
283
  return new CursorAdapter;
283
284
  }
284
285
  case "grok": {
285
- const { GrokAdapter } = await import("./grok-adapter-4kpmmnr6.js");
286
+ const { GrokAdapter } = await import("./grok-adapter-ys7gaqee.js");
286
287
  return new GrokAdapter;
287
288
  }
288
289
  case "acp": {
289
- const { ACPAdapter } = await import("./acp-adapter-csh0zz3b.js");
290
+ const { ACPAdapter } = await import("./acp-adapter-ek38cwsv.js");
290
291
  return new ACPAdapter;
291
292
  }
292
293
  default:
@@ -503,6 +504,7 @@ init_codex_auth_failure();
503
504
  init_config_env_export();
504
505
  init_config_secrets();
505
506
  init_constants2();
507
+ init_context_window();
506
508
  init_credentials();
507
509
 
508
510
  // src/utils/harness-cli-version.ts
@@ -1267,7 +1269,7 @@ var CREDENTIAL_PROVIDER_CHECKERS = {
1267
1269
  devin: (env) => checkDevinCredentials2(env),
1268
1270
  opencode: (env, opts) => checkOpencodeCredentials2(env, opts),
1269
1271
  pi: async (env, opts) => {
1270
- const { checkPiMonoCredentials, listPiOpencodeGoModelIds } = await import("./pi-mono-adapter-tzps8f38.js");
1272
+ const { checkPiMonoCredentials, listPiOpencodeGoModelIds } = await import("./pi-mono-adapter-fk8fkcf6.js");
1271
1273
  return {
1272
1274
  ...await checkPiMonoCredentials(env, opts),
1273
1275
  opencodeGoModels: listPiOpencodeGoModelIds()
@@ -1539,7 +1541,7 @@ async function validateProviderCredentials(provider, env = process.env, presence
1539
1541
  latency_ms: Date.now() - startedAt
1540
1542
  };
1541
1543
  }
1542
- const { liveTestCursorKey } = await import("./cursor-adapter-qpwp5sfg.js");
1544
+ const { liveTestCursorKey } = await import("./cursor-adapter-623qxqew.js");
1543
1545
  const result = await liveTestCursorKey(apiKey);
1544
1546
  return result.ok ? { ok: true, latency_ms: Date.now() - startedAt } : { ok: false, error: result.error, latency_ms: Date.now() - startedAt };
1545
1547
  }
@@ -3910,6 +3912,8 @@ async function pollForTriggerOnce(opts) {
3910
3912
  headers["X-Model-Tier-Overrides"] = encodeURIComponent(JSON.stringify(workerModelTierOverrides(opts.harnessProvider)));
3911
3913
  }
3912
3914
  while (Date.now() - startTime < opts.pollTimeout) {
3915
+ if (opts.shouldStop?.())
3916
+ return null;
3913
3917
  try {
3914
3918
  let url = `${opts.apiUrl}/api/poll`;
3915
3919
  if (opts.since) {
@@ -6120,7 +6124,7 @@ ${additionalSystemPrompt}` : basePrompt;
6120
6124
  push: deliveryChecks.push,
6121
6125
  activeCount: state.activeTasks.size,
6122
6126
  maxConcurrent: exitAfterTasks === null ? state.maxConcurrent : Math.min(state.maxConcurrent, Math.max(0, exitAfterTasks - state.tasksProcessed)),
6123
- draining: state.apiDraining,
6127
+ draining: state.apiDraining || shuttingDown,
6124
6128
  lastPushPingAt,
6125
6129
  pollInterval: PollIntervalMs
6126
6130
  });
@@ -6147,6 +6151,7 @@ ${additionalSystemPrompt}` : basePrompt;
6147
6151
  runtimeInstanceId,
6148
6152
  pollTimeout: effectiveTimeout,
6149
6153
  singlePoll: schedule.singlePoll,
6154
+ shouldStop: () => shuttingDown,
6150
6155
  onPollFailure,
6151
6156
  harnessProvider: state.harnessProvider,
6152
6157
  onApiDrainSignal: (draining) => applyApiDrainSignal(state, role, draining)
@@ -3,10 +3,6 @@ import {
3
3
  registerProcessGroup,
4
4
  terminateProcessGroup
5
5
  } from "./cli-3ggwdtb0.js";
6
- import {
7
- getContextWindowSize,
8
- clampContextPercent
9
- } from "./cli-a5ebc95n.js";
10
6
  import {
11
7
  ACP_TARGET_IDS,
12
8
  isAcpTarget,
@@ -18,10 +14,15 @@ import {
18
14
  import {
19
15
  applyOpenRouterBaseUrlOverride2,
20
16
  buildOpenAICompatibleProviderBlock2
21
- } from "./cli-stxdrqs2.js";
17
+ } from "./cli-hh5we352.js";
22
18
  import {
23
19
  fetchInstalledMcpServers
24
20
  } from "./cli-bst1vp7e.js";
21
+ import {
22
+ getContextWindowSize,
23
+ clampContextPercent,
24
+ init_context_window
25
+ } from "./cli-0shx9j93.js";
25
26
  import {
26
27
  NEVER,
27
28
  string2,
@@ -43,7 +44,7 @@ import {
43
44
  import {
44
45
  init_package,
45
46
  package_default
46
- } from "./cli-kcnwn85g.js";
47
+ } from "./cli-xtrz6bzs.js";
47
48
  import {
48
49
  scrubSecrets,
49
50
  init_secret_scrubber
@@ -3006,21 +3007,44 @@ class MessageBuffer {
3006
3007
 
3007
3008
  // node_modules/@agentclientprotocol/sdk/dist/core/line-buffer.js
3008
3009
  var newline = 10;
3010
+ var carriageReturn = 13;
3009
3011
 
3010
3012
  class LineBuffer {
3011
3013
  #pending;
3012
3014
  #maxMessageBytes;
3013
- constructor(maxMessageBytes) {
3015
+ #splitOnCarriageReturn;
3016
+ #afterCarriageReturn = false;
3017
+ constructor(maxMessageBytes, { splitOnCarriageReturn = false } = {}) {
3014
3018
  this.#maxMessageBytes = resolveMaxMessageBytes(maxMessageBytes);
3015
3019
  this.#pending = new MessageBuffer(Math.min(Number.MAX_SAFE_INTEGER, this.#maxMessageBytes + 1));
3020
+ this.#splitOnCarriageReturn = splitOnCarriageReturn;
3016
3021
  }
3017
3022
  *push(chunk) {
3018
3023
  let start = 0;
3024
+ if (this.#afterCarriageReturn && chunk.byteLength > 0) {
3025
+ this.#afterCarriageReturn = false;
3026
+ if (chunk[0] === newline) {
3027
+ start = 1;
3028
+ }
3029
+ }
3019
3030
  let newlineIndex = chunk.indexOf(newline, start);
3020
- while (newlineIndex !== -1) {
3021
- yield this.#takeLine(chunk.subarray(start, newlineIndex));
3022
- start = newlineIndex + 1;
3023
- newlineIndex = chunk.indexOf(newline, start);
3031
+ let carriageReturnIndex = this.#splitOnCarriageReturn ? chunk.indexOf(carriageReturn, start) : -1;
3032
+ while (newlineIndex !== -1 || carriageReturnIndex !== -1) {
3033
+ if (carriageReturnIndex === -1 || newlineIndex !== -1 && newlineIndex < carriageReturnIndex) {
3034
+ yield this.#takeLine(chunk.subarray(start, newlineIndex));
3035
+ start = newlineIndex + 1;
3036
+ newlineIndex = chunk.indexOf(newline, start);
3037
+ } else {
3038
+ yield this.#takeLine(chunk.subarray(start, carriageReturnIndex));
3039
+ start = carriageReturnIndex + 1;
3040
+ if (start === chunk.byteLength) {
3041
+ this.#afterCarriageReturn = true;
3042
+ } else if (chunk[start] === newline) {
3043
+ start++;
3044
+ newlineIndex = chunk.indexOf(newline, start);
3045
+ }
3046
+ carriageReturnIndex = chunk.indexOf(carriageReturn, start);
3047
+ }
3024
3048
  }
3025
3049
  if (start < chunk.byteLength) {
3026
3050
  const tail = chunk.subarray(start);
@@ -3029,12 +3053,14 @@ class LineBuffer {
3029
3053
  }
3030
3054
  }
3031
3055
  flush() {
3056
+ this.#afterCarriageReturn = false;
3032
3057
  if (this.#pending.byteLength === 0) {
3033
3058
  return;
3034
3059
  }
3035
3060
  return stripCarriageReturn(this.#pending.take());
3036
3061
  }
3037
3062
  clear() {
3063
+ this.#afterCarriageReturn = false;
3038
3064
  this.#pending.clear();
3039
3065
  }
3040
3066
  #takeLine(tail) {
@@ -3047,7 +3073,7 @@ class LineBuffer {
3047
3073
  }
3048
3074
  #checkLine(tail) {
3049
3075
  const lastByte = tail.byteLength > 0 ? tail[tail.byteLength - 1] : this.#pending.lastByte;
3050
- const byteLength = this.#pending.byteLength + tail.byteLength - (lastByte === 13 ? 1 : 0);
3076
+ const byteLength = this.#pending.byteLength + tail.byteLength - (lastByte === carriageReturn ? 1 : 0);
3051
3077
  if (byteLength > this.#maxMessageBytes) {
3052
3078
  this.clear();
3053
3079
  throw new MessageTooLargeError(this.#maxMessageBytes);
@@ -3055,7 +3081,7 @@ class LineBuffer {
3055
3081
  }
3056
3082
  }
3057
3083
  function stripCarriageReturn(line) {
3058
- return line[line.byteLength - 1] === 13 ? line.subarray(0, -1) : line;
3084
+ return line[line.byteLength - 1] === carriageReturn ? line.subarray(0, -1) : line;
3059
3085
  }
3060
3086
 
3061
3087
  // node_modules/@agentclientprotocol/sdk/dist/core/stream.js
@@ -4104,6 +4130,7 @@ function translateAcpSessionNotification(notification) {
4104
4130
 
4105
4131
  // src/providers/acp-targets.ts
4106
4132
  init_src2();
4133
+ init_context_window();
4107
4134
  import { mkdir, mkdtemp, rm } from "node:fs/promises";
4108
4135
  import { tmpdir } from "node:os";
4109
4136
  import { join } from "node:path";
@@ -3154,7 +3154,8 @@ var init_types = __esm(() => {
3154
3154
  startedAt: string2(),
3155
3155
  lastUpdatedAt: string2(),
3156
3156
  finishedAt: string2().optional(),
3157
- parentStepId: string2().optional()
3157
+ parentStepId: string2().optional(),
3158
+ parentStepAttempt: number2().int().min(0).optional()
3158
3159
  }).openapi("WorkflowRun");
3159
3160
  WorkflowRunParentSchema = object2({
3160
3161
  runId: string2(),
@@ -13,7 +13,7 @@ import {
13
13
  claudeMdLineageOf,
14
14
  planClaudeMdSync,
15
15
  init_profile_sync
16
- } from "./cli-gpv60278.js";
16
+ } from "./cli-e42vss7b.js";
17
17
  import {
18
18
  scrubSecrets,
19
19
  init_secret_scrubber