@desplega.ai/agent-swarm 1.166.0 → 1.167.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 (194) hide show
  1. package/dist/acp-adapter-zpvy6321.js +34 -0
  2. package/dist/{actions-qz3m692w.js → actions-fq2zrwtf.js} +25 -25
  3. package/dist/{amp-adapter-j1xbmsqz.js → amp-adapter-5gbk7501.js} +4 -4
  4. package/dist/{anthropic-messages-hst62ws9.js → anthropic-messages-13yn502s.js} +4 -4
  5. package/dist/{app-43vrdmv8.js → app-nctetn1e.js} +10 -9
  6. package/dist/{assistant-ertffmka.js → assistant-0aq8gjvj.js} +26 -26
  7. package/dist/{azure-openai-responses-mh8tvf78.js → azure-openai-responses-9st34pfz.js} +5 -5
  8. package/dist/{boot-reembed-998jtpdg.js → boot-reembed-1ze5853n.js} +9 -8
  9. package/dist/{boot-reembed-s7k7c6v2.js → boot-reembed-fmp5ww69.js} +9 -8
  10. package/dist/{boot-scrub-sweep-nepsk4t1.js → boot-scrub-sweep-cbp8xd4e.js} +10 -9
  11. package/dist/{boot-seeds-vvzs1zhk.js → boot-seeds-22tx8a53.js} +12 -11
  12. package/dist/{claude-adapter-2zvmekrp.js → claude-adapter-0jhgeh1d.js} +24 -22
  13. package/dist/{claude-managed-adapter-s49wbk8t.js → claude-managed-adapter-tzwxy803.js} +4 -4
  14. package/dist/{claude-managed-setup-cvhqq8qn.js → claude-managed-setup-nrhfx5b0.js} +3 -3
  15. package/dist/{claude-sdk-session-kkbxtw5q.js → claude-sdk-session-wh77rh83.js} +22 -22
  16. package/dist/{cli-zsh093hk.js → cli-014vns2y.js} +63 -1
  17. package/dist/{cli-qvfk83fy.js → cli-13xwcqvj.js} +2 -2
  18. package/dist/{cli-dw2q9f7g.js → cli-1yrcfa5s.js} +4 -4
  19. package/dist/{cli-jvj6a0cv.js → cli-577bxkf6.js} +27 -17
  20. package/dist/{cli-zy7vwsne.js → cli-5qkcdv8c.js} +16 -9
  21. package/dist/{cli-cwxhbf43.js → cli-5t5my0h8.js} +85 -2
  22. package/dist/{cli-y59h2pk9.js → cli-69egj654.js} +1 -1
  23. package/dist/{cli-68r1j4sg.js → cli-6bpvv8h4.js} +3 -3
  24. package/dist/{cli-cpfmqz3n.js → cli-6qxmjpem.js} +5 -5
  25. package/dist/{cli-aqcey741.js → cli-6vfz44sr.js} +1 -1
  26. package/dist/{cli-32bca7nr.js → cli-7avy4v8w.js} +1 -1
  27. package/dist/{cli-f2n17zhp.js → cli-7mhy3ths.js} +21 -18
  28. package/dist/{cli-q38n4bq0.js → cli-95zs84qw.js} +3 -3
  29. package/dist/cli-a35hzdve.js +33 -0
  30. package/dist/{cli-x3x0qwky.js → cli-bxqez1p0.js} +51 -23
  31. package/dist/{cli-gt8azyet.js → cli-c2tpw9ck.js} +1 -1
  32. package/dist/{cli-ecknp7p1.js → cli-c8r99akr.js} +10 -10
  33. package/dist/{cli-3qn4r334.js → cli-cexctgn5.js} +20 -14
  34. package/dist/{cli-vzc73wet.js → cli-cf2vgn9d.js} +87 -69
  35. package/dist/{cli-ng97fjq7.js → cli-cmxkbzzs.js} +33 -7
  36. package/dist/{cli-nexwh8zg.js → cli-g7k7zbcz.js} +12 -5
  37. package/dist/{cli-nvvfd8bq.js → cli-jbzbr36n.js} +4091 -3793
  38. package/dist/{cli-3ddybbbx.js → cli-jvmtxqtc.js} +26 -14
  39. package/dist/{cli-pkke6geq.js → cli-km4x66j0.js} +83 -65
  40. package/dist/{cli-j2jbr8af.js → cli-kw0jcfje.js} +1 -1
  41. package/dist/{cli-8t229cmr.js → cli-m7vmeepg.js} +30 -17
  42. package/dist/{cli-yshaazs1.js → cli-mkdsy1nq.js} +62 -20
  43. package/dist/{cli-b0f70z24.js → cli-mn8qkd8v.js} +1 -1
  44. package/dist/{cli-0qjcsxgz.js → cli-mxry91sa.js} +30 -9
  45. package/dist/cli-nkqjj42q.js +104 -0
  46. package/dist/{cli-rggdq8wq.js → cli-p8rt8spp.js} +3 -3
  47. package/dist/{cli-v2a8x45d.js → cli-pkj1w46r.js} +10 -5
  48. package/dist/cli-q1vnz8wv.js +96 -0
  49. package/dist/{cli-fj86xr3c.js → cli-qd97v6z2.js} +2 -2
  50. package/dist/{cli-66zh26sp.js → cli-qzmzwegq.js} +57 -17
  51. package/dist/{cli-p4ztb80h.js → cli-r7eeddkq.js} +13 -8
  52. package/dist/{cli-8ssjez7e.js → cli-rhy7z1rp.js} +22 -11
  53. package/dist/{cli-4mevd1hf.js → cli-s9y81s7j.js} +5 -5
  54. package/dist/{cli-h3x613ze.js → cli-tc5zec7v.js} +6 -6
  55. package/dist/{cli-ttbsse3f.js → cli-tmhsxhb8.js} +1 -1
  56. package/dist/{cli-0nhdwxd5.js → cli-tx2zvn23.js} +3 -3
  57. package/dist/{cli-mwegs4af.js → cli-ty4bzkqr.js} +3 -3
  58. package/dist/{cli-ysnyhws9.js → cli-v1pwxreq.js} +54 -51
  59. package/dist/{cli-feh3dkah.js → cli-v1w7pbd8.js} +2 -1
  60. package/dist/{cli-10zmp1p7.js → cli-vr5avem2.js} +27 -32
  61. package/dist/{cli-bzr0ftht.js → cli-wnb9b2g3.js} +19 -0
  62. package/dist/{cli-df56tqdw.js → cli-wydz3feg.js} +108 -57
  63. package/dist/{cli-krqm5f11.js → cli-xezn9nkh.js} +16 -13
  64. package/dist/{cli-8kt0bmgx.js → cli-xf713zz0.js} +2 -2
  65. package/dist/{cli-x7kpr72a.js → cli-y0kjpfm9.js} +2 -2
  66. package/dist/{cli-6zcfw0x7.js → cli-y195hv1a.js} +1 -1
  67. package/dist/{cli-fn697bnt.js → cli-ykt8f7va.js} +21 -8
  68. package/dist/{cli-4r1sjfc4.js → cli-ymmc1zxg.js} +8 -8
  69. package/dist/{cli-8kgvmkak.js → cli-ypgba1a8.js} +1 -1
  70. package/dist/{cli-rsy933yz.js → cli-z1dqhc9y.js} +30 -19
  71. package/dist/{cli-qbksc292.js → cli-zy39d433.js} +2 -0
  72. package/dist/cli.js +26 -26
  73. package/dist/{cloudflare-workers-ai-system-one-tt484t61.js → cloudflare-workers-ai-system-one-sta45jf9.js} +7 -5
  74. package/dist/{codex-adapter-dw1wxqt8.js → codex-adapter-cgesnjkr.js} +18 -18
  75. package/dist/{codex-login-terbdsqq.js → codex-login-g1cyt5zm.js} +1 -1
  76. package/dist/{codex-session-runner-3cgb8y1g.js → codex-session-runner-8kd7ddhr.js} +18 -18
  77. package/dist/{commands-mhxam6z2.js → commands-h6zaaxym.js} +9 -8
  78. package/dist/{cursor-adapter-2qda3st7.js → cursor-adapter-v8mm6bp5.js} +5 -5
  79. package/dist/{db-sjks418k.js → db-qg3myn53.js} +9 -8
  80. package/dist/{dispatcher-1es759rn.js → dispatcher-7vnwj9qw.js} +24 -24
  81. package/dist/{dsh-adapter-bek4cyw9.js → dsh-adapter-tz6hfp5r.js} +5 -5
  82. package/dist/{easter-egg-3d-mtpnw06s.js → easter-egg-3d-66zxervv.js} +2 -2
  83. package/dist/{execute-s4ccjq3n.js → execute-h4jgevyw.js} +61 -11
  84. package/dist/{google-generative-ai-d6nphg3q.js → google-generative-ai-b8zxrpax.js} +5 -5
  85. package/dist/{google-vertex-cpshkref.js → google-vertex-nrdd697t.js} +5 -5
  86. package/dist/{grok-adapter-ar9cw9jg.js → grok-adapter-jdt2dz2s.js} +18 -8
  87. package/dist/{handlers-1gkbhktr.js → handlers-2qtkpncr.js} +27 -27
  88. package/dist/{hook-ds2zxq9v.js → hook-51yfcgsv.js} +42 -31
  89. package/dist/{hook-vxa3tcsy.js → hook-qnbdgwvd.js} +14 -14
  90. package/dist/{http-3h21z9md.js → http-jsmtag08.js} +320 -98
  91. package/dist/{index-9b65j1m5.js → index-2t9kesn1.js} +9 -8
  92. package/dist/{index-dkfxpkmm.js → index-bt8wkv1w.js} +25 -25
  93. package/dist/{index-f8xnqrye.js → index-cx1sb9bq.js} +33 -24
  94. package/dist/{index-bn6cy8ps.js → index-ekywyv2v.js} +24 -24
  95. package/dist/{index-n99fycq7.js → index-t4g06w93.js} +24 -24
  96. package/dist/{keepalive-3xspa9jw.js → keepalive-4aezx4bj.js} +11 -10
  97. package/dist/{lead-6qphc124.js → lead-r44bkpm5.js} +47 -47
  98. package/dist/{llama-cpp-classify-tgj35k8d.js → llama-cpp-classify-6erb7wwv.js} +3 -1
  99. package/dist/{maintenance-0teem1bb.js → maintenance-grz5jrzh.js} +9 -8
  100. package/dist/{mistral-conversations-8445ddjn.js → mistral-conversations-059y51zt.js} +4 -4
  101. package/dist/{node-9sg7ajby.js → node-qm9eb6z0.js} +1 -1
  102. package/dist/{oauth-refresh-sweep-sh9q25xp.js → oauth-refresh-sweep-wm4ctjfj.js} +10 -9
  103. package/dist/{onboard-54qmnqxe.js → onboard-v60zgqf0.js} +2 -2
  104. package/dist/{openai-codex-responses-9ynm88zy.js → openai-codex-responses-jzxkta9b.js} +8 -7
  105. package/dist/{openai-completions-nhqwjmaw.js → openai-completions-663yncfq.js} +4 -4
  106. package/dist/openai-decisions-vj9nkpf8.js +162 -0
  107. package/dist/{openai-responses-xx1c4kgm.js → openai-responses-m3g43rrt.js} +5 -5
  108. package/dist/{opencode-adapter-wjfa2wvd.js → opencode-adapter-yjyqynzf.js} +7 -7
  109. package/dist/{openrouter-images-8yx3487g.js → openrouter-images-kr60n6b9.js} +1 -1
  110. package/dist/{otel-impl-ycqzp2a1.js → otel-impl-ghh4dyf8.js} +1 -1
  111. package/dist/{pi-messages-vxdt8v7j.js → pi-messages-xszk613n.js} +1 -1
  112. package/dist/{pi-mono-adapter-e77e9zst.js → pi-mono-adapter-0eg8kw2c.js} +68 -51
  113. package/dist/{pricing-refresh-atnkngqs.js → pricing-refresh-mjrqvnvw.js} +11 -10
  114. package/dist/{rbac-roles-j78wdksm.js → rbac-roles-axv4d74x.js} +10 -9
  115. package/dist/{rbac-roles-9pjphh9q.js → rbac-roles-fd5tskj9.js} +9 -8
  116. package/dist/{render-v2-pxjs49fx.js → render-v2-k50j33qd.js} +10 -9
  117. package/dist/{runtime-v2t1r79e.js → runtime-h9ha1mq6.js} +4 -4
  118. package/dist/{setup-ymej0xtx.js → setup-4syh0pd2.js} +2 -2
  119. package/dist/{typesafe-system-one-datfr82p.js → typesafe-system-one-e988vty7.js} +7 -5
  120. package/dist/{virtual-modules-wm8mxdxx.js → virtual-modules-ftr9kwe8.js} +11 -11
  121. package/dist/{work-objects-3nh4ymzb.js → work-objects-jcdbg8rr.js} +27 -27
  122. package/dist/{worker-qa9fkz5s.js → worker-x8j8c9sx.js} +47 -47
  123. package/openapi.json +1 -1
  124. package/package.json +8 -8
  125. package/src/be/memory/providers/openai-embedding.ts +7 -2
  126. package/src/be/memory/raters/llm-summarizer.ts +7 -2
  127. package/src/be/modelsdev-cache.json +61 -0
  128. package/src/be/seed-pricing.ts +84 -53
  129. package/src/be/swarm-config-guard.ts +13 -0
  130. package/src/commands/provider-credentials.ts +28 -5
  131. package/src/commands/runner.ts +7 -12
  132. package/src/heartbeat/heartbeat.ts +91 -19
  133. package/src/hooks/hook.ts +72 -27
  134. package/src/http/mcp.ts +5 -0
  135. package/src/http/onboarding.ts +2 -0
  136. package/src/providers/acp-targets.ts +9 -4
  137. package/src/providers/amp-adapter.ts +1 -1
  138. package/src/providers/claude-adapter.ts +26 -0
  139. package/src/providers/codex-adapter.ts +30 -3
  140. package/src/providers/codex-oauth/auth-json.ts +21 -4
  141. package/src/providers/codex-oauth/types.ts +2 -0
  142. package/src/providers/dsh-adapter.ts +10 -1
  143. package/src/providers/grok-adapter.ts +18 -2
  144. package/src/providers/opencode-adapter.ts +21 -5
  145. package/src/providers/pi-mono-extension.ts +56 -25
  146. package/src/providers/pricing-sources.md +2 -0
  147. package/src/server.ts +63 -3
  148. package/src/tests/acp-adapter.test.ts +152 -12
  149. package/src/tests/ci-unit-test-report.test.ts +73 -0
  150. package/src/tests/claude-default-route.test.ts +75 -0
  151. package/src/tests/claude-hook-output.test.ts +233 -0
  152. package/src/tests/codex-adapter-pool-auth-revalidate.test.ts +4 -2
  153. package/src/tests/codex-adapter.test.ts +166 -26
  154. package/src/tests/codex-oauth-auth-timestamps.test.ts +76 -0
  155. package/src/tests/codex-oauth.test.ts +4 -1
  156. package/src/tests/context-window.test.ts +2 -2
  157. package/src/tests/credential-check.test.ts +51 -1
  158. package/src/tests/dsh-adapter.test.ts +23 -1
  159. package/src/tests/enabled-tools.test.ts +269 -0
  160. package/src/tests/entrypoint-codex-oauth-seed.test.ts +12 -0
  161. package/src/tests/grok-adapter.test.ts +13 -0
  162. package/src/tests/haiku-5-5-pricing.test.ts +38 -0
  163. package/src/tests/heartbeat-checklist.test.ts +158 -1
  164. package/src/tests/onboarding.test.ts +44 -0
  165. package/src/tests/opencode-adapter.test.ts +66 -3
  166. package/src/tests/opencode-plugin.test.ts +37 -0
  167. package/src/tests/openrouter-attribution-call-sites.test.ts +204 -0
  168. package/src/tests/openrouter-base-url.test.ts +30 -39
  169. package/src/tests/pi-mono-extension.test.ts +161 -2
  170. package/src/tests/pricing-refresh.test.ts +70 -1
  171. package/src/tests/reasoning-effort.test.ts +3 -1
  172. package/src/tests/telemetry-trigger.test.ts +12 -1
  173. package/src/tests/workflow-llm.test.ts +14 -0
  174. package/src/tests/workflow-system-one-decision-providers.test.ts +33 -0
  175. package/src/tools/request-human-input.ts +7 -2
  176. package/src/utils/enabled-tools.ts +27 -0
  177. package/src/utils/internal-ai/complete-structured.ts +11 -3
  178. package/src/utils/openrouter-base-url.ts +23 -0
  179. package/src/workflows/executors/raw-llm.ts +1 -0
  180. package/src/workflows/executors/system-one-decision.ts +2 -0
  181. package/src/workflows/executors/validate.ts +1 -0
  182. package/src/workflows/executors/workflow-llm.ts +9 -2
  183. package/templates/skills/agent-browser/SKILL.md +2 -0
  184. package/templates/skills/agent-browser/content.md +2 -0
  185. package/templates/skills/code-quality/content.md +1 -0
  186. package/templates/skills/heartbeat-runbook/content.md +1 -1
  187. package/templates/skills/work-on-task/SKILL.md +4 -0
  188. package/templates/skills/work-on-task/content.md +4 -0
  189. package/templates/skills/workflow-iterate/content.md +9 -0
  190. package/dist/acp-adapter-yzfxn8vj.js +0 -23
  191. package/dist/cli-3dpj7atn.js +0 -11
  192. package/dist/cli-gvcgmx69.js +0 -183
  193. package/dist/{cli-jhm6hzjn.js → cli-mxvnnv5q.js} +7 -7
  194. package/dist/{codex-hook-d2rkvf39.js → codex-hook-15dgc4cb.js} +1 -1
@@ -491,30 +491,31 @@ import {
491
491
  upsertSkillFiles,
492
492
  upsertSwarmConfig,
493
493
  withFavoriteFlags
494
- } from "./cli-yshaazs1.js";
495
- import"./cli-xvdgasgy.js";
494
+ } from "./cli-mkdsy1nq.js";
496
495
  import"./cli-3qhyh31j.js";
496
+ import"./cli-xvdgasgy.js";
497
497
  import {
498
498
  generateDefaultClaudeMd,
499
499
  generateDefaultIdentityMd,
500
500
  generateDefaultSoulMd,
501
501
  generateDefaultToolsMd
502
- } from "./cli-jhm6hzjn.js";
502
+ } from "./cli-mxvnnv5q.js";
503
503
  import"./cli-7mm2r1kp.js";
504
504
  import"./cli-g5erf0zt.js";
505
505
  import"./cli-dmtrxqhg.js";
506
- import"./cli-tadfgd0t.js";
507
- import"./cli-ywybs5as.js";
508
- import"./cli-gd4favx9.js";
509
506
  import"./cli-agamgm0p.js";
510
507
  import"./cli-5c2j5yvx.js";
511
508
  import"./cli-1a2j50m0.js";
509
+ import"./cli-tadfgd0t.js";
510
+ import"./cli-ywybs5as.js";
512
511
  import"./cli-f9w1semm.js";
512
+ import"./cli-a35hzdve.js";
513
+ import"./cli-gd4favx9.js";
513
514
  import"./cli-ej6gbxfb.js";
514
- import"./cli-zsh093hk.js";
515
+ import"./cli-014vns2y.js";
515
516
  import"./cli-sd0mxa3c.js";
516
517
  import"./cli-w5e1d1vv.js";
517
- import"./cli-4r1sjfc4.js";
518
+ import"./cli-ymmc1zxg.js";
518
519
  import"./cli-zf8jjwex.js";
519
520
  import"./cli-wt7ccy4r.js";
520
521
  import"./cli-bc05qbss.js";
@@ -11,63 +11,63 @@ import {
11
11
  resolveBridgeCallOrigin,
12
12
  runContext,
13
13
  unregister
14
- } from "./cli-df56tqdw.js";
14
+ } from "./cli-wydz3feg.js";
15
15
  import"./cli-xvc3q9br.js";
16
16
  import"./cli-mv2520nm.js";
17
17
  import"./cli-w0bwte75.js";
18
18
  import"./cli-re8z5p8p.js";
19
- import"./cli-0nhdwxd5.js";
20
- import"./cli-rggdq8wq.js";
21
- import"./cli-ysnyhws9.js";
22
- import"./cli-jvj6a0cv.js";
19
+ import"./cli-tx2zvn23.js";
20
+ import"./cli-p8rt8spp.js";
21
+ import"./cli-v1pwxreq.js";
22
+ import"./cli-577bxkf6.js";
23
23
  import"./cli-epan13p1.js";
24
24
  import"./cli-f14fvzag.js";
25
+ import"./cli-7mhy3ths.js";
26
+ import"./cli-v1w7pbd8.js";
25
27
  import"./cli-zt3w1cn1.js";
26
- import"./cli-f2n17zhp.js";
27
- import"./cli-feh3dkah.js";
28
- import"./cli-3dpj7atn.js";
29
- import"./cli-2x0e561b.js";
30
- import"./cli-pkke6geq.js";
28
+ import"./cli-km4x66j0.js";
31
29
  import"./cli-rb9m6rpe.js";
30
+ import"./cli-2x0e561b.js";
31
+ import"./cli-kw0jcfje.js";
32
32
  import"./cli-mzfth0bp.js";
33
- import"./cli-j2jbr8af.js";
34
33
  import"./cli-fad8m16k.js";
35
34
  import"./cli-bsakbbkm.js";
36
35
  import"./cli-zxg80zs9.js";
37
36
  import"./cli-51tf7ac3.js";
38
37
  import"./cli-ydt3zkwv.js";
39
- import"./cli-ecknp7p1.js";
38
+ import"./cli-c8r99akr.js";
40
39
  import"./cli-q51yprfq.js";
41
40
  import"./cli-3er6gcsn.js";
42
41
  import"./cli-yatxqynm.js";
43
- import"./cli-b0f70z24.js";
44
- import"./cli-nexwh8zg.js";
42
+ import"./cli-mn8qkd8v.js";
43
+ import"./cli-g7k7zbcz.js";
45
44
  import"./cli-btbzvq95.js";
46
45
  import"./cli-1m2e086m.js";
47
- import"./cli-bzr0ftht.js";
46
+ import"./cli-wnb9b2g3.js";
48
47
  import"./cli-bd957dgb.js";
49
48
  import"./cli-pzxba7gw.js";
50
- import"./cli-8kgvmkak.js";
49
+ import"./cli-ypgba1a8.js";
51
50
  import"./cli-rfphkzh5.js";
52
- import"./cli-yshaazs1.js";
53
- import"./cli-xvdgasgy.js";
51
+ import"./cli-mkdsy1nq.js";
54
52
  import"./cli-3qhyh31j.js";
55
- import"./cli-jhm6hzjn.js";
53
+ import"./cli-xvdgasgy.js";
54
+ import"./cli-mxvnnv5q.js";
56
55
  import"./cli-7mm2r1kp.js";
57
56
  import"./cli-g5erf0zt.js";
58
57
  import"./cli-dmtrxqhg.js";
59
- import"./cli-tadfgd0t.js";
60
- import"./cli-ywybs5as.js";
61
- import"./cli-gd4favx9.js";
62
58
  import"./cli-agamgm0p.js";
63
59
  import"./cli-5c2j5yvx.js";
64
60
  import"./cli-1a2j50m0.js";
61
+ import"./cli-tadfgd0t.js";
62
+ import"./cli-ywybs5as.js";
65
63
  import"./cli-f9w1semm.js";
64
+ import"./cli-a35hzdve.js";
65
+ import"./cli-gd4favx9.js";
66
66
  import"./cli-ej6gbxfb.js";
67
- import"./cli-zsh093hk.js";
67
+ import"./cli-014vns2y.js";
68
68
  import"./cli-sd0mxa3c.js";
69
69
  import"./cli-w5e1d1vv.js";
70
- import"./cli-4r1sjfc4.js";
70
+ import"./cli-ymmc1zxg.js";
71
71
  import"./cli-mb75wpxf.js";
72
72
  import"./cli-zf8jjwex.js";
73
73
  import"./cli-wt7ccy4r.js";
@@ -2,17 +2,17 @@ import {
2
2
  DSH_PACKAGE,
3
3
  DshAdapter,
4
4
  checkDshCredentials
5
- } from "./cli-v2a8x45d.js";
5
+ } from "./cli-pkj1w46r.js";
6
6
  import"./cli-ptcz1cqy.js";
7
- import"./cli-32bca7nr.js";
8
- import"./cli-ttbsse3f.js";
7
+ import"./cli-7avy4v8w.js";
8
+ import"./cli-tmhsxhb8.js";
9
9
  import"./cli-re8z5p8p.js";
10
10
  import"./cli-zt3w1cn1.js";
11
- import"./cli-3dpj7atn.js";
12
11
  import"./cli-xvdgasgy.js";
12
+ import"./cli-a35hzdve.js";
13
13
  import"./cli-gd4favx9.js";
14
14
  import"./cli-ej6gbxfb.js";
15
- import"./cli-zsh093hk.js";
15
+ import"./cli-014vns2y.js";
16
16
  import"./cli-sd0mxa3c.js";
17
17
  import"./cli-w5e1d1vv.js";
18
18
  import"./cli-wt7ccy4r.js";
@@ -2,7 +2,7 @@ import {
2
2
  ARMIN_HEIGHT,
3
3
  ARMIN_WIDTH,
4
4
  isArminPixel
5
- } from "./cli-6zcfw0x7.js";
5
+ } from "./cli-y195hv1a.js";
6
6
  import {
7
7
  backgroundAnsi,
8
8
  colorToRgb,
@@ -13,7 +13,7 @@ import {
13
13
  rgbColor,
14
14
  theme,
15
15
  visibleWidth
16
- } from "./cli-cwxhbf43.js";
16
+ } from "./cli-5t5my0h8.js";
17
17
  import"./cli-5bfdm1ah.js";
18
18
  import"./cli-0m7wct0d.js";
19
19
  import"./cli-pqetb83f.js";
@@ -10,15 +10,15 @@ import {
10
10
  renderToolSample,
11
11
  toCodemodeDeclaration,
12
12
  toCodemodeIdentifier
13
- } from "./cli-4mevd1hf.js";
13
+ } from "./cli-s9y81s7j.js";
14
14
  import {
15
15
  formatSize,
16
16
  writeOutputFile
17
- } from "./cli-8ssjez7e.js";
17
+ } from "./cli-rhy7z1rp.js";
18
18
  import {
19
19
  getCodemodeWorkerSpecifier,
20
20
  getQuickJSWasmPath
21
- } from "./cli-cwxhbf43.js";
21
+ } from "./cli-5t5my0h8.js";
22
22
  import"./cli-5bfdm1ah.js";
23
23
  import"./cli-0m7wct0d.js";
24
24
  import"./cli-rb9m6rpe.js";
@@ -779,7 +779,7 @@ var PRELUDE_SOURCE = `(function (bridge, toolsJson, globalsJson, storeJson) {
779
779
  const console = {};
780
780
  for (const level of ["log", "info", "warn", "error", "debug"]) {
781
781
  console[level] = (...args) => {
782
- output("text", args.map(format).join(" "));
782
+ output("console", args.map(format).join(" "));
783
783
  };
784
784
  }
785
785
  Object.freeze(console);
@@ -906,13 +906,23 @@ function describeValue(value) {
906
906
  }
907
907
  return typeof value === "string" ? "a string" : `a ${typeof value}`;
908
908
  }
909
- var CLASSIFIER_CONTEXT_SHAPE = '{ state: { ... }, questions: { <id>: { type: "choice", instructions, criteria: { <label>: <meaning> } } | { type: "score", instructions, criteria: [<lowest level>, ..., <highest level>] } | { type: "bool", instructions, criteria: { true: <meaning>, false: <meaning> } } } }';
909
+ var CLASSIFIER_CONTEXT_SHAPE = '{ state: { ... }, images?: [{ type: "image", data: <base64>, mimeType }], questions: { <id>: { type: "choice", instructions, criteria: { <label>: <meaning> } } | { type: "score", instructions, criteria: [<lowest level>, ..., <highest level>] } | { type: "bool", instructions, criteria: { true: <meaning>, false: <meaning> } } } }';
910
910
  function checkClassifierContext(context) {
911
911
  const fail = (problem) => new Error(`models.classify() ${problem}. Expected context: ${CLASSIFIER_CONTEXT_SHAPE}. See "Classify" in ${CODEMODE_DOCS_PATH}.`);
912
912
  if (!isRecord(context))
913
913
  throw fail(`expects a context object as its second argument, got ${describeValue(context)}`);
914
914
  if (!isRecord(context.state))
915
915
  throw fail(`context.state must be an object, got ${describeValue(context.state)}`);
916
+ const { images } = context;
917
+ if (images !== undefined) {
918
+ if (!Array.isArray(images))
919
+ throw fail(`context.images must be an array, got ${describeValue(images)}`);
920
+ images.forEach((image, index) => {
921
+ if (!isRecord(image) || image.type !== "image" || typeof image.data !== "string" || typeof image.mimeType !== "string") {
922
+ throw fail(`context.images[${index}] must be an image block, got ${describeValue(image)}`);
923
+ }
924
+ });
925
+ }
916
926
  const { questions } = context;
917
927
  if (!isRecord(questions) || Object.keys(questions).length === 0) {
918
928
  throw fail(`context.questions must map question IDs to questions, got ${describeValue(questions)}`);
@@ -1002,6 +1012,45 @@ function valueText(value) {
1002
1012
  return value;
1003
1013
  return JSON.stringify(value) ?? String(value);
1004
1014
  }
1015
+ function formatOutput(output) {
1016
+ const total = output.filter((item) => item.type === "text" && !item.console).length;
1017
+ const items = [];
1018
+ const consoleLines = [];
1019
+ let index = 0;
1020
+ for (const item of output) {
1021
+ if (item.type === "image") {
1022
+ items.push(item);
1023
+ } else if (item.console) {
1024
+ consoleLines.push(item.text);
1025
+ } else {
1026
+ index++;
1027
+ items.push({ type: "text", text: total > 1 ? `==> text ${index}/${total} <==
1028
+ ${item.text}` : item.text });
1029
+ }
1030
+ }
1031
+ if (consoleLines.length > 0) {
1032
+ items.push({ type: "text", text: `<console_output>
1033
+ ${consoleLines.join(`
1034
+ `)}
1035
+ </console_output>` });
1036
+ }
1037
+ return items;
1038
+ }
1039
+ function joinAdjacentText(items) {
1040
+ const joined = [];
1041
+ for (const item of items) {
1042
+ const last = joined.at(-1);
1043
+ if (item.type === "text" && last?.type === "text") {
1044
+ const separator = last.text === "" || last.text.endsWith(`
1045
+ `) ? "" : `
1046
+ `;
1047
+ joined[joined.length - 1] = { type: "text", text: `${last.text}${separator}${item.text}` };
1048
+ } else {
1049
+ joined.push(item);
1050
+ }
1051
+ }
1052
+ return joined;
1053
+ }
1005
1054
  function formatCallSummary(calls) {
1006
1055
  if (calls.length === 0)
1007
1056
  return "No tool calls were made.";
@@ -1158,26 +1207,27 @@ async function executeCodemode(toolCallId, input, signal, onUpdate, ctx, options
1158
1207
  if (call.status === "running")
1159
1208
  call.status = "cancelled";
1160
1209
  }
1161
- const items = result.output.map((item) => item.type === "text" ? { type: "text", text: item.text } : item);
1210
+ const scriptOutput = [...result.output];
1162
1211
  if (result.ok) {
1163
1212
  const { set, delete: deleted } = result.storeWrites;
1164
1213
  if (Object.keys(set).length > 0 || deleted.length > 0) {
1165
1214
  options.appendEntry?.(CODEMODE_STORE_ENTRY_TYPE, { set, delete: deleted });
1166
1215
  }
1167
1216
  if (result.value !== undefined)
1168
- items.push({ type: "text", text: valueText(result.value) });
1169
- } else {
1217
+ scriptOutput.push({ type: "text", text: valueText(result.value) });
1218
+ }
1219
+ const items = formatOutput(scriptOutput);
1220
+ if (!result.ok)
1170
1221
  items.push({ type: "text", text: `Script error:
1171
1222
  ${formatError(result, calls)}` });
1172
- }
1173
1223
  if (generatedImages > 0 && !items.some((item) => item.type === "image")) {
1174
1224
  items.push({
1175
1225
  type: "text",
1176
1226
  text: `Note: models.generateImages() returned ${generatedImages} image${generatedImages === 1 ? "" : "s"} that the script did not show. Show each image block of result.output with image(block).`
1177
1227
  });
1178
1228
  }
1179
- const truncated = await truncateOutput(items, sourceOptions.maxOutputTokens ?? DEFAULT_MAX_OUTPUT_TOKENS);
1180
- const output = await saveImages(truncated.items);
1229
+ const truncated = await truncateOutput(joinAdjacentText(items), sourceOptions.maxOutputTokens ?? DEFAULT_MAX_OUTPUT_TOKENS);
1230
+ const output = joinAdjacentText(await saveImages(truncated.items));
1181
1231
  const wallTime = ((performance.now() - startedAt) / 1000).toFixed(1);
1182
1232
  const header = `${result.ok ? "Script completed" : "Script failed"}
1183
1233
  Wall time ${wallTime} seconds
@@ -13,11 +13,11 @@ import {
13
13
  toGoogleSdkThinkingLevel,
14
14
  toGoogleThinkingLevel,
15
15
  usesGoogleThinkingLevel
16
- } from "./cli-q38n4bq0.js";
16
+ } from "./cli-95zs84qw.js";
17
17
  import {
18
18
  getPiUserAgent
19
19
  } from "./cli-et1bbwqf.js";
20
- import"./cli-qbksc292.js";
20
+ import"./cli-zy39d433.js";
21
21
  import"./cli-yatxqynm.js";
22
22
  import {
23
23
  formatProviderError,
@@ -25,7 +25,7 @@ import {
25
25
  } from "./cli-6map995v.js";
26
26
  import {
27
27
  buildBaseOptions
28
- } from "./cli-8kt0bmgx.js";
28
+ } from "./cli-xf713zz0.js";
29
29
  import {
30
30
  sanitizeSurrogates
31
31
  } from "./cli-y2apkfe2.js";
@@ -39,10 +39,10 @@ import {
39
39
  getCurrentTools,
40
40
  getInitialSystemMessage,
41
41
  getSystemMessageText
42
- } from "./cli-nexwh8zg.js";
42
+ } from "./cli-g7k7zbcz.js";
43
43
  import {
44
44
  AssistantMessageEventStream
45
- } from "./cli-bzr0ftht.js";
45
+ } from "./cli-wnb9b2g3.js";
46
46
  import"./cli-76yrvwsa.js";
47
47
  import"./cli-pzxba7gw.js";
48
48
  import"./cli-bc05qbss.js";
@@ -14,11 +14,11 @@ import {
14
14
  toGoogleSdkThinkingLevel,
15
15
  toGoogleThinkingLevel,
16
16
  usesGoogleThinkingLevel
17
- } from "./cli-q38n4bq0.js";
17
+ } from "./cli-95zs84qw.js";
18
18
  import {
19
19
  getPiUserAgent
20
20
  } from "./cli-et1bbwqf.js";
21
- import"./cli-qbksc292.js";
21
+ import"./cli-zy39d433.js";
22
22
  import"./cli-yatxqynm.js";
23
23
  import {
24
24
  formatProviderError,
@@ -26,7 +26,7 @@ import {
26
26
  } from "./cli-6map995v.js";
27
27
  import {
28
28
  buildBaseOptions
29
- } from "./cli-8kt0bmgx.js";
29
+ } from "./cli-xf713zz0.js";
30
30
  import {
31
31
  sanitizeSurrogates
32
32
  } from "./cli-y2apkfe2.js";
@@ -40,13 +40,13 @@ import {
40
40
  getCurrentTools,
41
41
  getInitialSystemMessage,
42
42
  getSystemMessageText
43
- } from "./cli-nexwh8zg.js";
43
+ } from "./cli-g7k7zbcz.js";
44
44
  import {
45
45
  getProviderEnvValue
46
46
  } from "./cli-btbzvq95.js";
47
47
  import {
48
48
  AssistantMessageEventStream
49
- } from "./cli-bzr0ftht.js";
49
+ } from "./cli-wnb9b2g3.js";
50
50
  import"./cli-76yrvwsa.js";
51
51
  import"./cli-pzxba7gw.js";
52
52
  import"./cli-bc05qbss.js";
@@ -5,18 +5,28 @@ import {
5
5
  checkGrokCredentials,
6
6
  grokOpenRouterModel,
7
7
  installedClaudePluginNames
8
- } from "./cli-fn697bnt.js";
9
- import"./cli-3qn4r334.js";
10
- import"./cli-32bca7nr.js";
11
- import"./cli-tng3131n.js";
8
+ } from "./cli-ykt8f7va.js";
9
+ import"./cli-cexctgn5.js";
10
+ import"./cli-jvmtxqtc.js";
11
+ import"./cli-gt4hxb8p.js";
12
+ import"./cli-5bfdm1ah.js";
12
13
  import"./cli-zp67qg5x.js";
13
- import"./cli-ttbsse3f.js";
14
+ import"./cli-tng3131n.js";
15
+ import"./cli-zm7njwzd.js";
16
+ import"./cli-ptcz1cqy.js";
17
+ import"./cli-7avy4v8w.js";
18
+ import"./cli-tmhsxhb8.js";
14
19
  import"./cli-dpvkp2et.js";
20
+ import"./cli-re8z5p8p.js";
15
21
  import"./cli-zt3w1cn1.js";
16
- import"./cli-3dpj7atn.js";
17
- import"./cli-zsh093hk.js";
22
+ import"./cli-tadfgd0t.js";
23
+ import"./cli-ywybs5as.js";
24
+ import"./cli-f9w1semm.js";
25
+ import"./cli-a35hzdve.js";
26
+ import"./cli-ej6gbxfb.js";
27
+ import"./cli-014vns2y.js";
18
28
  import"./cli-w5e1d1vv.js";
19
- import"./cli-4r1sjfc4.js";
29
+ import"./cli-ymmc1zxg.js";
20
30
  import"./cli-wt7ccy4r.js";
21
31
  import"./cli-bc05qbss.js";
22
32
  export {
@@ -5,66 +5,66 @@ import {
5
5
  isUserAllowed,
6
6
  registerMessageHandler,
7
7
  resetSlackHandlerCachesForTesting
8
- } from "./cli-cpfmqz3n.js";
9
- import"./cli-dw2q9f7g.js";
10
- import"./cli-x7kpr72a.js";
11
- import"./cli-df56tqdw.js";
8
+ } from "./cli-6qxmjpem.js";
9
+ import"./cli-1yrcfa5s.js";
10
+ import"./cli-y0kjpfm9.js";
11
+ import"./cli-wydz3feg.js";
12
12
  import"./cli-xvc3q9br.js";
13
13
  import"./cli-mv2520nm.js";
14
14
  import"./cli-w0bwte75.js";
15
15
  import"./cli-re8z5p8p.js";
16
- import"./cli-0nhdwxd5.js";
17
- import"./cli-rggdq8wq.js";
18
- import"./cli-ysnyhws9.js";
19
- import"./cli-jvj6a0cv.js";
16
+ import"./cli-tx2zvn23.js";
17
+ import"./cli-p8rt8spp.js";
18
+ import"./cli-v1pwxreq.js";
19
+ import"./cli-577bxkf6.js";
20
20
  import"./cli-epan13p1.js";
21
21
  import"./cli-f14fvzag.js";
22
+ import"./cli-7mhy3ths.js";
23
+ import"./cli-v1w7pbd8.js";
22
24
  import"./cli-zt3w1cn1.js";
23
- import"./cli-f2n17zhp.js";
24
- import"./cli-feh3dkah.js";
25
- import"./cli-3dpj7atn.js";
26
- import"./cli-2x0e561b.js";
27
- import"./cli-pkke6geq.js";
25
+ import"./cli-km4x66j0.js";
28
26
  import"./cli-rb9m6rpe.js";
27
+ import"./cli-2x0e561b.js";
28
+ import"./cli-kw0jcfje.js";
29
29
  import"./cli-mzfth0bp.js";
30
- import"./cli-j2jbr8af.js";
31
30
  import"./cli-fad8m16k.js";
32
31
  import"./cli-bsakbbkm.js";
33
32
  import"./cli-zxg80zs9.js";
34
33
  import"./cli-51tf7ac3.js";
35
34
  import"./cli-ydt3zkwv.js";
36
- import"./cli-ecknp7p1.js";
35
+ import"./cli-c8r99akr.js";
37
36
  import"./cli-q51yprfq.js";
38
37
  import"./cli-3er6gcsn.js";
39
38
  import"./cli-yatxqynm.js";
40
- import"./cli-b0f70z24.js";
41
- import"./cli-nexwh8zg.js";
39
+ import"./cli-mn8qkd8v.js";
40
+ import"./cli-g7k7zbcz.js";
42
41
  import"./cli-btbzvq95.js";
43
42
  import"./cli-1m2e086m.js";
44
- import"./cli-bzr0ftht.js";
43
+ import"./cli-wnb9b2g3.js";
45
44
  import"./cli-bd957dgb.js";
46
45
  import"./cli-pzxba7gw.js";
47
- import"./cli-8kgvmkak.js";
46
+ import"./cli-ypgba1a8.js";
48
47
  import"./cli-rfphkzh5.js";
49
- import"./cli-yshaazs1.js";
50
- import"./cli-xvdgasgy.js";
48
+ import"./cli-mkdsy1nq.js";
51
49
  import"./cli-3qhyh31j.js";
52
- import"./cli-jhm6hzjn.js";
50
+ import"./cli-xvdgasgy.js";
51
+ import"./cli-mxvnnv5q.js";
53
52
  import"./cli-7mm2r1kp.js";
54
53
  import"./cli-g5erf0zt.js";
55
54
  import"./cli-dmtrxqhg.js";
56
- import"./cli-tadfgd0t.js";
57
- import"./cli-ywybs5as.js";
58
- import"./cli-gd4favx9.js";
59
55
  import"./cli-agamgm0p.js";
60
56
  import"./cli-5c2j5yvx.js";
61
57
  import"./cli-1a2j50m0.js";
58
+ import"./cli-tadfgd0t.js";
59
+ import"./cli-ywybs5as.js";
62
60
  import"./cli-f9w1semm.js";
61
+ import"./cli-a35hzdve.js";
62
+ import"./cli-gd4favx9.js";
63
63
  import"./cli-ej6gbxfb.js";
64
- import"./cli-zsh093hk.js";
64
+ import"./cli-014vns2y.js";
65
65
  import"./cli-sd0mxa3c.js";
66
66
  import"./cli-w5e1d1vv.js";
67
- import"./cli-4r1sjfc4.js";
67
+ import"./cli-ymmc1zxg.js";
68
68
  import"./cli-mb75wpxf.js";
69
69
  import"./cli-zf8jjwex.js";
70
70
  import"./cli-wt7ccy4r.js";