@desplega.ai/agent-swarm 1.165.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 (296) hide show
  1. package/dist/acp-adapter-zpvy6321.js +34 -0
  2. package/dist/{actions-jna0b3wm.js → actions-fq2zrwtf.js} +30 -34
  3. package/dist/{amp-adapter-0eve81pz.js → amp-adapter-5gbk7501.js} +7 -7
  4. package/dist/{anthropic-messages-hst62ws9.js → anthropic-messages-13yn502s.js} +4 -4
  5. package/dist/{app-75hm5cfa.js → app-nctetn1e.js} +11 -11
  6. package/dist/{assistant-yzd51j33.js → assistant-0aq8gjvj.js} +31 -35
  7. package/dist/{azure-openai-responses-mh8tvf78.js → azure-openai-responses-9st34pfz.js} +5 -5
  8. package/dist/{boot-reembed-z158xq32.js → boot-reembed-1ze5853n.js} +14 -16
  9. package/dist/{boot-reembed-2ex2mcsh.js → boot-reembed-fmp5ww69.js} +15 -16
  10. package/dist/boot-scrub-sweep-cbp8xd4e.js +212 -0
  11. package/dist/{boot-seeds-2bmnh18p.js → boot-seeds-22tx8a53.js} +13 -12
  12. package/dist/{claude-adapter-jbj1mycz.js → claude-adapter-0jhgeh1d.js} +25 -25
  13. package/dist/{claude-managed-adapter-17ggz09t.js → claude-managed-adapter-tzwxy803.js} +5 -5
  14. package/dist/{claude-managed-setup-ptm1nzm2.js → claude-managed-setup-nrhfx5b0.js} +5 -5
  15. package/dist/{claude-sdk-session-9re1g7r2.js → claude-sdk-session-wh77rh83.js} +2632 -2614
  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-8gpbwy09.js → cli-1yrcfa5s.js} +5 -5
  19. package/dist/{cli-xtgtyafv.js → cli-577bxkf6.js} +212 -451
  20. package/dist/{cli-ma3zvh39.js → cli-5qkcdv8c.js} +6118 -5874
  21. package/dist/{cli-cwxhbf43.js → cli-5t5my0h8.js} +85 -2
  22. package/dist/{cli-zvckv750.js → cli-69egj654.js} +2 -2
  23. package/dist/{cli-9xb89xca.js → cli-6bpvv8h4.js} +9 -9
  24. package/dist/{cli-90v942q1.js → cli-6qxmjpem.js} +8 -8
  25. package/dist/{cli-9866bd07.js → cli-6vfz44sr.js} +1 -1
  26. package/dist/{cli-32bca7nr.js → cli-7avy4v8w.js} +1 -1
  27. package/dist/{cli-xb3c6aat.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-prt9emct.js → cli-c2tpw9ck.js} +3 -3
  32. package/dist/{cli-0n4fasz0.js → cli-c8r99akr.js} +16 -16
  33. package/dist/{cli-5anb0ev3.js → cli-cexctgn5.js} +89 -26
  34. package/dist/{cli-bns5c8k9.js → cli-cf2vgn9d.js} +105 -91
  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-mmzwwptd.js → cli-hf5s9pgf.js} +1 -1
  38. package/dist/{cli-nvvfd8bq.js → cli-jbzbr36n.js} +4091 -3793
  39. package/dist/{cli-zn2v3t8v.js → cli-jvmtxqtc.js} +27 -15
  40. package/dist/{cli-pkke6geq.js → cli-km4x66j0.js} +83 -65
  41. package/dist/cli-kw0jcfje.js +516 -0
  42. package/dist/{cli-28smfvbn.js → cli-m7vmeepg.js} +32 -19
  43. package/dist/{cli-hpryr6em.js → cli-mb75wpxf.js} +1 -1
  44. package/dist/{cli-qdv8kgz7.js → cli-mkdsy1nq.js} +14018 -3333
  45. package/dist/{cli-b0f70z24.js → cli-mn8qkd8v.js} +1 -1
  46. package/dist/{cli-420bdgw0.js → cli-mv2520nm.js} +1 -1
  47. package/dist/{cli-n9ehc28t.js → cli-mxry91sa.js} +31 -10
  48. package/dist/{cli-wfajtmf7.js → cli-mxvnnv5q.js} +596 -13
  49. package/dist/cli-nkqjj42q.js +104 -0
  50. package/dist/{cli-e7t4snpa.js → cli-p8rt8spp.js} +5 -5
  51. package/dist/{cli-gh5yqzpe.js → cli-pkj1w46r.js} +12 -7
  52. package/dist/cli-q1vnz8wv.js +96 -0
  53. package/dist/{cli-fj86xr3c.js → cli-qd97v6z2.js} +2 -2
  54. package/dist/{cli-ba66wyhy.js → cli-qzmzwegq.js} +60 -20
  55. package/dist/{cli-5b2fjjzh.js → cli-r7eeddkq.js} +14 -9
  56. package/dist/{cli-8ssjez7e.js → cli-rhy7z1rp.js} +22 -11
  57. package/dist/{cli-4mevd1hf.js → cli-s9y81s7j.js} +5 -5
  58. package/dist/{cli-59jn5twa.js → cli-tc5zec7v.js} +7 -7
  59. package/dist/{cli-ttbsse3f.js → cli-tmhsxhb8.js} +1 -1
  60. package/dist/{cli-k6xx3pve.js → cli-tx2zvn23.js} +4 -4
  61. package/dist/{cli-pjxnr1jn.js → cli-ty4bzkqr.js} +5 -5
  62. package/dist/{cli-nfygw434.js → cli-v1pwxreq.js} +55 -52
  63. package/dist/{cli-ftry7975.js → cli-v1w7pbd8.js} +3 -2
  64. package/dist/{cli-10zmp1p7.js → cli-vr5avem2.js} +27 -32
  65. package/dist/{cli-bzr0ftht.js → cli-wnb9b2g3.js} +19 -0
  66. package/dist/cli-wt7ccy4r.js +2654 -0
  67. package/dist/{cli-50eg13rj.js → cli-wydz3feg.js} +549 -321
  68. package/dist/{cli-krqm5f11.js → cli-xezn9nkh.js} +16 -13
  69. package/dist/{cli-8kt0bmgx.js → cli-xf713zz0.js} +2 -2
  70. package/dist/{cli-x7afk5wm.js → cli-xvc3q9br.js} +1 -1
  71. package/dist/{cli-9s3h836g.js → cli-xvdgasgy.js} +1 -1
  72. package/dist/{cli-j0pdrmwg.js → cli-y0kjpfm9.js} +3 -3
  73. package/dist/{cli-6zcfw0x7.js → cli-y195hv1a.js} +1 -1
  74. package/dist/{cli-amwhs8h2.js → cli-ykt8f7va.js} +22 -9
  75. package/dist/{cli-1kzfvd1z.js → cli-ymmc1zxg.js} +15 -11
  76. package/dist/{cli-xnzrzets.js → cli-ypgba1a8.js} +2 -2
  77. package/dist/{cli-bdv39kgj.js → cli-z1dqhc9y.js} +31 -20
  78. package/dist/{cli-fw6vdcq5.js → cli-zp67qg5x.js} +34 -1
  79. package/dist/{cli-qbksc292.js → cli-zy39d433.js} +2 -0
  80. package/dist/cli.js +36 -32
  81. package/dist/{cloudflare-workers-ai-system-one-tt484t61.js → cloudflare-workers-ai-system-one-sta45jf9.js} +7 -5
  82. package/dist/{codex-adapter-3qnxshje.js → codex-adapter-cgesnjkr.js} +20 -20
  83. package/dist/{codex-login-brkxhhdg.js → codex-login-g1cyt5zm.js} +2 -2
  84. package/dist/{codex-session-runner-612wnapp.js → codex-session-runner-8kd7ddhr.js} +20 -20
  85. package/dist/{commands-2ybfcxkj.js → commands-h6zaaxym.js} +11 -10
  86. package/dist/{cursor-adapter-p3jgdehv.js → cursor-adapter-v8mm6bp5.js} +7 -7
  87. package/dist/{db-f4ans0jj.js → db-qg3myn53.js} +13 -10
  88. package/dist/{devin-adapter-dhzt01ff.js → devin-adapter-bffjj5n4.js} +2 -2
  89. package/dist/{dispatcher-pk182apd.js → dispatcher-7vnwj9qw.js} +28 -32
  90. package/dist/{dsh-adapter-7twaeps1.js → dsh-adapter-tz6hfp5r.js} +7 -7
  91. package/dist/{e2b-y8t3jzyz.js → e2b-nd50eccg.js} +1 -1
  92. package/dist/{easter-egg-3d-mtpnw06s.js → easter-egg-3d-66zxervv.js} +2 -2
  93. package/dist/{event-bus-w7ac4n3c.js → event-bus-vnfthafg.js} +2 -2
  94. package/dist/{execute-s4ccjq3n.js → execute-h4jgevyw.js} +61 -11
  95. package/dist/{google-generative-ai-d6nphg3q.js → google-generative-ai-b8zxrpax.js} +5 -5
  96. package/dist/{google-vertex-cpshkref.js → google-vertex-nrdd697t.js} +5 -5
  97. package/dist/grok-adapter-jdt2dz2s.js +39 -0
  98. package/dist/{handlers-g2wnr4t9.js → handlers-2qtkpncr.js} +31 -35
  99. package/dist/{hook-f7jt9vnm.js → hook-51yfcgsv.js} +48 -39
  100. package/dist/{hook-bbdpnkb4.js → hook-qnbdgwvd.js} +15 -17
  101. package/dist/{http-w40q4w94.js → http-jsmtag08.js} +536 -231
  102. package/dist/{index-056j5kzn.js → index-2t9kesn1.js} +13 -12
  103. package/dist/{index-cj1r9q83.js → index-bt8wkv1w.js} +29 -33
  104. package/dist/{index-7n70jwbb.js → index-cx1sb9bq.js} +42 -35
  105. package/dist/{index-9bfssf54.js → index-ekywyv2v.js} +28 -32
  106. package/dist/{index-fdk1t4d6.js → index-n0rxa4ca.js} +11962 -9900
  107. package/dist/{index-k8xc083e.js → index-t4g06w93.js} +28 -32
  108. package/dist/{keepalive-1tj10tf4.js → keepalive-4aezx4bj.js} +16 -12
  109. package/dist/{lead-st0bg7v4.js → lead-r44bkpm5.js} +52 -56
  110. package/dist/{llama-cpp-classify-tgj35k8d.js → llama-cpp-classify-6erb7wwv.js} +3 -1
  111. package/dist/{maintenance-nz71zats.js → maintenance-grz5jrzh.js} +12 -13
  112. package/dist/{mistral-conversations-8445ddjn.js → mistral-conversations-059y51zt.js} +4 -4
  113. package/dist/{node-f0ykebbv.js → node-qm9eb6z0.js} +25 -7
  114. package/dist/{oauth-refresh-sweep-aefzwvvq.js → oauth-refresh-sweep-wm4ctjfj.js} +15 -11
  115. package/dist/{onboard-kgpr9mbn.js → onboard-v60zgqf0.js} +2 -2
  116. package/dist/{openai-codex-responses-9ynm88zy.js → openai-codex-responses-jzxkta9b.js} +8 -7
  117. package/dist/{openai-completions-nhqwjmaw.js → openai-completions-663yncfq.js} +4 -4
  118. package/dist/openai-decisions-vj9nkpf8.js +162 -0
  119. package/dist/{openai-responses-xx1c4kgm.js → openai-responses-m3g43rrt.js} +5 -5
  120. package/dist/{opencode-adapter-0c8e70dk.js → opencode-adapter-yjyqynzf.js} +8 -8
  121. package/dist/{openrouter-images-8yx3487g.js → openrouter-images-kr60n6b9.js} +1 -1
  122. package/dist/{otel-impl-x8zp4y5a.js → otel-impl-ghh4dyf8.js} +2 -2
  123. package/dist/{pi-messages-vxdt8v7j.js → pi-messages-xszk613n.js} +1 -1
  124. package/dist/{pi-mono-adapter-t280ah5c.js → pi-mono-adapter-0eg8kw2c.js} +69 -52
  125. package/dist/{pricing-refresh-9e0q7cwk.js → pricing-refresh-mjrqvnvw.js} +12 -11
  126. package/dist/{rbac-roles-790j3ga8.js → rbac-roles-axv4d74x.js} +11 -10
  127. package/dist/{rbac-roles-kcp6zge2.js → rbac-roles-fd5tskj9.js} +11 -10
  128. package/dist/{render-v2-tch4nefj.js → render-v2-k50j33qd.js} +11 -11
  129. package/dist/{runtime-v2t1r79e.js → runtime-h9ha1mq6.js} +4 -4
  130. package/dist/{setup-rcm303ns.js → setup-4syh0pd2.js} +2 -2
  131. package/dist/{typesafe-system-one-datfr82p.js → typesafe-system-one-e988vty7.js} +7 -5
  132. package/dist/{virtual-modules-wm8mxdxx.js → virtual-modules-ftr9kwe8.js} +11 -11
  133. package/dist/{work-objects-ctg7t70w.js → work-objects-jcdbg8rr.js} +32 -36
  134. package/dist/{worker-5dp0xm55.js → worker-x8j8c9sx.js} +52 -56
  135. package/dist/{x-v3yw66zs.js → x-ma4gnfgy.js} +2 -2
  136. package/openapi.json +5 -2
  137. package/package.json +15 -11
  138. package/src/be/automation-preflight.ts +9 -4
  139. package/src/be/boot-scrub-sweep.ts +302 -0
  140. package/src/be/crypto/key-bootstrap.ts +1 -1
  141. package/src/be/db/approvals.ts +15 -1
  142. package/src/be/db/codex-oauth-device-flows.ts +40 -0
  143. package/src/be/db/config-secrets.ts +31 -0
  144. package/src/be/db/runtime.ts +4 -0
  145. package/src/be/db/script-runs.ts +15 -0
  146. package/src/be/db/tasks/write.ts +1 -1
  147. package/src/be/db-queries/mcp-oauth.ts +5 -0
  148. package/src/be/db-queries/oauth.ts +77 -0
  149. package/src/be/db.ts +162 -59
  150. package/src/be/events.ts +17 -1
  151. package/src/be/memory/index-content.ts +2 -2
  152. package/src/be/memory/providers/openai-embedding.ts +7 -2
  153. package/src/be/memory/providers/sqlite-store.ts +63 -11
  154. package/src/be/memory/raters/llm-summarizer.ts +7 -2
  155. package/src/be/memory/types.ts +14 -0
  156. package/src/be/migrations/201_workflow_replay_columns.sql +10 -0
  157. package/src/be/migrations/202_codex_oauth_device_flows.sql +24 -0
  158. package/src/be/modelsdev-cache.json +61 -0
  159. package/src/be/scripts/db.ts +28 -4
  160. package/src/be/scripts/source-secrets.ts +37 -0
  161. package/src/be/scrub-json.ts +32 -0
  162. package/src/be/sealed-json.ts +59 -0
  163. package/src/be/secret-registry.ts +131 -0
  164. package/src/be/seed-pricing.ts +84 -53
  165. package/src/be/swarm-config-guard.ts +13 -0
  166. package/src/be/workflow-replay.ts +77 -0
  167. package/src/commands/provider-credentials.ts +28 -5
  168. package/src/commands/runner.ts +7 -12
  169. package/src/heartbeat/heartbeat.ts +91 -19
  170. package/src/hooks/hook.ts +72 -27
  171. package/src/http/codex-oauth-device.ts +8 -10
  172. package/src/http/db-query-bounded.ts +3 -0
  173. package/src/http/db-query-shared.ts +107 -15
  174. package/src/http/db-query.ts +10 -2
  175. package/src/http/index.ts +23 -6
  176. package/src/http/mcp.ts +5 -0
  177. package/src/http/onboarding.ts +2 -0
  178. package/src/http/script-runs.ts +9 -1
  179. package/src/http/scripts.ts +15 -0
  180. package/src/http/workflows.ts +3 -2
  181. package/src/oauth/mcp-wrapper.ts +1 -1
  182. package/src/providers/acp-adapter.ts +25 -11
  183. package/src/providers/acp-target-catalog.ts +35 -1
  184. package/src/providers/acp-targets.ts +78 -7
  185. package/src/providers/amp-adapter.ts +1 -1
  186. package/src/providers/claude-adapter.ts +26 -0
  187. package/src/providers/codex-adapter.ts +30 -3
  188. package/src/providers/codex-oauth/auth-json.ts +21 -4
  189. package/src/providers/codex-oauth/types.ts +2 -0
  190. package/src/providers/cursor-adapter.ts +1 -1
  191. package/src/providers/dsh-adapter.ts +10 -1
  192. package/src/providers/grok-adapter.ts +18 -2
  193. package/src/providers/opencode-adapter.ts +21 -5
  194. package/src/providers/pi-mono-extension.ts +56 -25
  195. package/src/providers/pricing-sources.md +2 -0
  196. package/src/script-workflows/supervisor.ts +11 -2
  197. package/src/scripts-runtime/eval-harness.ts +2 -12
  198. package/src/scripts-runtime/executors/quickjs-bundle.ts +152 -0
  199. package/src/scripts-runtime/executors/quickjs-prelude.ts +285 -0
  200. package/src/scripts-runtime/executors/quickjs-runner.ts +580 -0
  201. package/src/scripts-runtime/executors/quickjs-worker.ts +81 -0
  202. package/src/scripts-runtime/executors/quickjs.ts +196 -0
  203. package/src/scripts-runtime/executors/registry.ts +2 -0
  204. package/src/scripts-runtime/executors/sourcemap.ts +79 -0
  205. package/src/scripts-runtime/script-error-hints.ts +14 -0
  206. package/src/server.ts +66 -4
  207. package/src/tests/acp-adapter.test.ts +277 -12
  208. package/src/tests/boot-scrub-sweep.test.ts +390 -0
  209. package/src/tests/check-text-columns.test.ts +145 -0
  210. package/src/tests/ci-unit-test-report.test.ts +73 -0
  211. package/src/tests/claude-default-route.test.ts +75 -0
  212. package/src/tests/claude-hook-output.test.ts +233 -0
  213. package/src/tests/claude-sdk-process.fixture.ts +13 -2
  214. package/src/tests/codex-adapter-pool-auth-revalidate.test.ts +4 -2
  215. package/src/tests/codex-adapter.test.ts +166 -26
  216. package/src/tests/codex-oauth-auth-timestamps.test.ts +76 -0
  217. package/src/tests/codex-oauth-device.test.ts +23 -37
  218. package/src/tests/codex-oauth.test.ts +4 -1
  219. package/src/tests/context-window.test.ts +2 -2
  220. package/src/tests/credential-check.test.ts +51 -1
  221. package/src/tests/db-query-denylist.test.ts +202 -0
  222. package/src/tests/db-task-read-contract.test.ts +1 -0
  223. package/src/tests/db-task-write-contract.test.ts +1 -0
  224. package/src/tests/dsh-adapter.test.ts +23 -1
  225. package/src/tests/enabled-tools.test.ts +269 -0
  226. package/src/tests/entrypoint-acp-target-binary.test.ts +31 -1
  227. package/src/tests/entrypoint-codex-oauth-seed.test.ts +12 -0
  228. package/src/tests/events-scrub.test.ts +88 -0
  229. package/src/tests/fixtures/secret-corpus.ts +320 -0
  230. package/src/tests/grok-adapter.test.ts +13 -0
  231. package/src/tests/haiku-5-5-pricing.test.ts +38 -0
  232. package/src/tests/heartbeat-checklist.test.ts +158 -1
  233. package/src/tests/onboarding.test.ts +44 -0
  234. package/src/tests/opencode-adapter.test.ts +66 -3
  235. package/src/tests/opencode-plugin.test.ts +37 -0
  236. package/src/tests/openrouter-attribution-call-sites.test.ts +204 -0
  237. package/src/tests/openrouter-base-url.test.ts +30 -39
  238. package/src/tests/pi-mono-extension.test.ts +161 -2
  239. package/src/tests/pricing-refresh.test.ts +70 -1
  240. package/src/tests/reasoning-effort.test.ts +3 -1
  241. package/src/tests/script-connections.test.ts +5 -0
  242. package/src/tests/script-executor-conformance.test.ts +3 -0
  243. package/src/tests/script-executor-quickjs.test.ts +442 -0
  244. package/src/tests/script-executor-registry.test.ts +6 -1
  245. package/src/tests/script-runs-http.test.ts +88 -1
  246. package/src/tests/script-runs-scrub.test.ts +275 -0
  247. package/src/tests/scripts-http.test.ts +82 -1
  248. package/src/tests/scrubbed-text-12e.test.ts +289 -0
  249. package/src/tests/sealed-key-guard.test.ts +166 -0
  250. package/src/tests/secret-canary-sweep.test.ts +958 -0
  251. package/src/tests/secret-registry.test.ts +355 -0
  252. package/src/tests/secret-rules.test.ts +230 -0
  253. package/src/tests/secret-scrubber.test.ts +3 -2
  254. package/src/tests/telemetry-trigger.test.ts +12 -1
  255. package/src/tests/workflow-llm.test.ts +14 -0
  256. package/src/tests/workflow-replay.test.ts +518 -0
  257. package/src/tests/workflow-scrub.test.ts +242 -0
  258. package/src/tests/workflow-system-one-decision-providers.test.ts +33 -0
  259. package/src/tools/db-query.ts +1 -1
  260. package/src/tools/inject-learning.ts +1 -1
  261. package/src/tools/request-human-input.ts +7 -2
  262. package/src/tools/workflows/get-workflow-run.ts +3 -2
  263. package/src/types.ts +1 -1
  264. package/src/utils/enabled-tools.ts +27 -0
  265. package/src/utils/internal-ai/complete-structured.ts +11 -3
  266. package/src/utils/openrouter-base-url.ts +23 -0
  267. package/src/utils/secret-rules.generated.ts +2055 -0
  268. package/src/utils/secret-scrubber.ts +363 -29
  269. package/src/workflows/engine.ts +39 -4
  270. package/src/workflows/executors/raw-llm.ts +1 -0
  271. package/src/workflows/executors/system-one-decision.ts +2 -0
  272. package/src/workflows/executors/validate.ts +1 -0
  273. package/src/workflows/executors/workflow-llm.ts +9 -2
  274. package/src/workflows/recovery.ts +10 -1
  275. package/src/workflows/resume.ts +62 -3
  276. package/src/workflows/retry-poller.ts +3 -0
  277. package/templates/skills/agent-browser/SKILL.md +2 -0
  278. package/templates/skills/agent-browser/content.md +2 -0
  279. package/templates/skills/code-quality/content.md +1 -0
  280. package/templates/skills/heartbeat-runbook/content.md +1 -1
  281. package/templates/skills/work-on-task/SKILL.md +4 -0
  282. package/templates/skills/work-on-task/content.md +4 -0
  283. package/templates/skills/workflow-iterate/content.md +9 -0
  284. package/dist/acp-adapter-w6zws6me.js +0 -23
  285. package/dist/boot-scrub-logs-246yn076.js +0 -99
  286. package/dist/cli-3a4m1aws.js +0 -572
  287. package/dist/cli-3dpj7atn.js +0 -11
  288. package/dist/cli-a87b04k8.js +0 -951
  289. package/dist/cli-cvk6yzw5.js +0 -40
  290. package/dist/cli-gvcgmx69.js +0 -183
  291. package/dist/cli-h1spv8v4.js +0 -427
  292. package/dist/cli-jqt9hrnz.js +0 -168
  293. package/dist/cli-yhmwmv0g.js +0 -9281
  294. package/dist/grok-adapter-yt9pab3k.js +0 -29
  295. package/src/be/boot-scrub-logs.ts +0 -132
  296. package/dist/{codex-hook-d2rkvf39.js → codex-hook-15dgc4cb.js} +1 -1
@@ -20,77 +20,73 @@ import {
20
20
  stopWaitPoller,
21
21
  subscribeWaitToBus,
22
22
  validateTemplateVariables
23
- } from "./cli-50eg13rj.js";
24
- import"./cli-x7afk5wm.js";
25
- import"./cli-420bdgw0.js";
23
+ } from "./cli-wydz3feg.js";
24
+ import"./cli-xvc3q9br.js";
25
+ import"./cli-mv2520nm.js";
26
26
  import"./cli-w0bwte75.js";
27
27
  import"./cli-re8z5p8p.js";
28
- import"./cli-k6xx3pve.js";
29
- import"./cli-e7t4snpa.js";
30
- import"./cli-nfygw434.js";
28
+ import"./cli-tx2zvn23.js";
29
+ import"./cli-p8rt8spp.js";
30
+ import"./cli-v1pwxreq.js";
31
31
  import {
32
32
  findEntryNodes,
33
33
  getSuccessors
34
- } from "./cli-xtgtyafv.js";
34
+ } from "./cli-577bxkf6.js";
35
35
  import"./cli-epan13p1.js";
36
36
  import"./cli-f14fvzag.js";
37
+ import"./cli-7mhy3ths.js";
38
+ import"./cli-v1w7pbd8.js";
37
39
  import"./cli-zt3w1cn1.js";
38
- import"./cli-xb3c6aat.js";
39
- import"./cli-ftry7975.js";
40
- import"./cli-3dpj7atn.js";
41
- import"./cli-2x0e561b.js";
42
- import"./cli-pkke6geq.js";
40
+ import"./cli-km4x66j0.js";
43
41
  import"./cli-rb9m6rpe.js";
42
+ import"./cli-2x0e561b.js";
43
+ import"./cli-kw0jcfje.js";
44
44
  import"./cli-mzfth0bp.js";
45
- import"./cli-jqt9hrnz.js";
46
- import"./cli-yhmwmv0g.js";
47
- import"./cli-wfajtmf7.js";
48
- import"./cli-a87b04k8.js";
49
45
  import"./cli-fad8m16k.js";
50
46
  import"./cli-bsakbbkm.js";
51
47
  import"./cli-zxg80zs9.js";
52
48
  import"./cli-51tf7ac3.js";
53
49
  import"./cli-ydt3zkwv.js";
54
- import"./cli-0n4fasz0.js";
50
+ import"./cli-c8r99akr.js";
55
51
  import"./cli-q51yprfq.js";
56
52
  import"./cli-3er6gcsn.js";
57
- import"./cli-cvk6yzw5.js";
58
53
  import"./cli-yatxqynm.js";
59
- import"./cli-b0f70z24.js";
60
- import"./cli-nexwh8zg.js";
54
+ import"./cli-mn8qkd8v.js";
55
+ import"./cli-g7k7zbcz.js";
61
56
  import"./cli-btbzvq95.js";
62
57
  import"./cli-1m2e086m.js";
63
- import"./cli-bzr0ftht.js";
58
+ import"./cli-wnb9b2g3.js";
64
59
  import"./cli-bd957dgb.js";
65
60
  import"./cli-pzxba7gw.js";
66
- import"./cli-xnzrzets.js";
61
+ import"./cli-ypgba1a8.js";
67
62
  import"./cli-rfphkzh5.js";
68
- import"./cli-qdv8kgz7.js";
69
- import"./cli-9s3h836g.js";
63
+ import"./cli-mkdsy1nq.js";
70
64
  import"./cli-3qhyh31j.js";
71
- import"./cli-3a4m1aws.js";
65
+ import"./cli-xvdgasgy.js";
66
+ import"./cli-mxvnnv5q.js";
72
67
  import"./cli-7mm2r1kp.js";
73
68
  import"./cli-g5erf0zt.js";
74
69
  import"./cli-dmtrxqhg.js";
75
- import"./cli-tadfgd0t.js";
76
- import"./cli-ywybs5as.js";
77
- import"./cli-gd4favx9.js";
78
70
  import"./cli-agamgm0p.js";
79
71
  import {
80
72
  interpolate
81
73
  } from "./cli-5c2j5yvx.js";
82
74
  import"./cli-1a2j50m0.js";
75
+ import"./cli-tadfgd0t.js";
76
+ import"./cli-ywybs5as.js";
83
77
  import"./cli-f9w1semm.js";
78
+ import"./cli-a35hzdve.js";
79
+ import"./cli-gd4favx9.js";
84
80
  import"./cli-ej6gbxfb.js";
85
- import"./cli-zsh093hk.js";
81
+ import"./cli-014vns2y.js";
86
82
  import"./cli-sd0mxa3c.js";
87
83
  import"./cli-w5e1d1vv.js";
88
- import"./cli-1kzfvd1z.js";
84
+ import"./cli-ymmc1zxg.js";
89
85
  import {
90
86
  workflowEventBus
91
- } from "./cli-hpryr6em.js";
87
+ } from "./cli-mb75wpxf.js";
92
88
  import"./cli-zf8jjwex.js";
93
- import"./cli-h1spv8v4.js";
89
+ import"./cli-wt7ccy4r.js";
94
90
  import"./cli-bc05qbss.js";
95
91
  export {
96
92
  cancelWorkflowRun,
@@ -1,36 +1,40 @@
1
1
  import {
2
- ensureAuthorizationTokenOrThrow,
2
+ ensureAuthorizationTokenOrThrow
3
+ } from "./cli-kw0jcfje.js";
4
+ import {
5
+ init_oauth,
3
6
  listKeepAliveAuthorizations
4
- } from "./cli-a87b04k8.js";
5
- import"./cli-qdv8kgz7.js";
6
- import"./cli-9s3h836g.js";
7
+ } from "./cli-mkdsy1nq.js";
7
8
  import"./cli-3qhyh31j.js";
8
- import"./cli-3a4m1aws.js";
9
+ import"./cli-xvdgasgy.js";
10
+ import"./cli-mxvnnv5q.js";
9
11
  import"./cli-7mm2r1kp.js";
10
12
  import"./cli-g5erf0zt.js";
11
13
  import"./cli-dmtrxqhg.js";
12
- import"./cli-tadfgd0t.js";
13
- import"./cli-ywybs5as.js";
14
- import"./cli-gd4favx9.js";
15
14
  import"./cli-agamgm0p.js";
16
15
  import"./cli-5c2j5yvx.js";
17
16
  import"./cli-1a2j50m0.js";
17
+ import"./cli-tadfgd0t.js";
18
+ import"./cli-ywybs5as.js";
18
19
  import"./cli-f9w1semm.js";
20
+ import"./cli-a35hzdve.js";
21
+ import"./cli-gd4favx9.js";
19
22
  import"./cli-ej6gbxfb.js";
20
- import"./cli-zsh093hk.js";
23
+ import"./cli-014vns2y.js";
21
24
  import"./cli-sd0mxa3c.js";
22
25
  import"./cli-w5e1d1vv.js";
23
- import"./cli-1kzfvd1z.js";
26
+ import"./cli-ymmc1zxg.js";
24
27
  import"./cli-zf8jjwex.js";
25
28
  import {
26
29
  init_secret_scrubber,
27
30
  scrubSecrets
28
- } from "./cli-h1spv8v4.js";
31
+ } from "./cli-wt7ccy4r.js";
29
32
  import {
30
33
  __require
31
34
  } from "./cli-bc05qbss.js";
32
35
 
33
36
  // src/oauth/keepalive.ts
37
+ init_oauth();
34
38
  init_secret_scrubber();
35
39
  var KEEPALIVE_INTERVAL_MS = 12 * 60 * 60 * 1000;
36
40
  var KEEPALIVE_BUFFER_MS = 10 * 60 * 1000;
@@ -76,7 +80,7 @@ async function notifySlack(text) {
76
80
  return;
77
81
  }
78
82
  try {
79
- const { getSlackApp } = await import("./app-75hm5cfa.js");
83
+ const { getSlackApp } = await import("./app-nctetn1e.js");
80
84
  const app = getSlackApp();
81
85
  if (!app) {
82
86
  console.warn("[OAuth Keepalive] Slack not available, cannot send notification");
@@ -1,105 +1,101 @@
1
1
  import {
2
2
  runAgent
3
- } from "./cli-bns5c8k9.js";
3
+ } from "./cli-cf2vgn9d.js";
4
4
  import"./cli-9q3wt23f.js";
5
- import"./cli-9xb89xca.js";
6
- import"./cli-amwhs8h2.js";
7
- import"./cli-5anb0ev3.js";
8
- import"./cli-28smfvbn.js";
9
- import"./cli-59jn5twa.js";
10
- import"./cli-hsxj0yar.js";
11
- import"./cli-mmzwwptd.js";
12
- import"./cli-zn2v3t8v.js";
13
- import"./cli-gh5yqzpe.js";
14
- import"./cli-pjxnr1jn.js";
5
+ import"./cli-6bpvv8h4.js";
6
+ import"./cli-ykt8f7va.js";
7
+ import"./cli-cexctgn5.js";
15
8
  import"./cli-9k7mqz00.js";
9
+ import"./cli-m7vmeepg.js";
10
+ import"./cli-tc5zec7v.js";
11
+ import"./cli-hsxj0yar.js";
12
+ import"./cli-hf5s9pgf.js";
13
+ import"./cli-jvmtxqtc.js";
16
14
  import"./cli-gt4hxb8p.js";
17
- import"./cli-n9ehc28t.js";
18
- import"./cli-bdv39kgj.js";
19
- import"./cli-zvckv750.js";
15
+ import"./cli-pkj1w46r.js";
16
+ import"./cli-ty4bzkqr.js";
17
+ import"./cli-5bfdm1ah.js";
18
+ import"./cli-efnd2kce.js";
19
+ import"./cli-zp67qg5x.js";
20
+ import"./cli-bqjfjex4.js";
21
+ import"./cli-mxry91sa.js";
22
+ import"./cli-z1dqhc9y.js";
23
+ import"./cli-69egj654.js";
20
24
  import"./cli-v6vv7dy8.js";
21
25
  import"./cli-q2j38vre.js";
22
- import"./cli-zm7njwzd.js";
23
- import"./cli-ptcz1cqy.js";
24
- import"./cli-32bca7nr.js";
25
- import"./cli-5b2fjjzh.js";
26
+ import"./cli-r7eeddkq.js";
26
27
  import"./cli-hp1n6zq3.js";
27
28
  import"./cli-tng3131n.js";
28
- import"./cli-5bfdm1ah.js";
29
- import"./cli-efnd2kce.js";
30
- import"./cli-fw6vdcq5.js";
31
- import"./cli-bqjfjex4.js";
29
+ import"./cli-zm7njwzd.js";
30
+ import"./cli-ptcz1cqy.js";
31
+ import"./cli-7avy4v8w.js";
32
32
  import"./cli-eree7rnv.js";
33
33
  import"./cli-2pdaysab.js";
34
- import"./cli-ttbsse3f.js";
35
- import"./cli-ma3zvh39.js";
34
+ import"./cli-tmhsxhb8.js";
35
+ import"./cli-5qkcdv8c.js";
36
36
  import"./cli-dpvkp2et.js";
37
37
  import {
38
38
  getEnabledCapabilities
39
- } from "./cli-50eg13rj.js";
40
- import"./cli-x7afk5wm.js";
41
- import"./cli-420bdgw0.js";
39
+ } from "./cli-wydz3feg.js";
40
+ import"./cli-xvc3q9br.js";
41
+ import"./cli-mv2520nm.js";
42
42
  import"./cli-w0bwte75.js";
43
43
  import"./cli-re8z5p8p.js";
44
- import"./cli-k6xx3pve.js";
45
- import"./cli-e7t4snpa.js";
46
- import"./cli-nfygw434.js";
47
- import"./cli-xtgtyafv.js";
44
+ import"./cli-tx2zvn23.js";
45
+ import"./cli-p8rt8spp.js";
46
+ import"./cli-v1pwxreq.js";
47
+ import"./cli-577bxkf6.js";
48
48
  import"./cli-epan13p1.js";
49
49
  import"./cli-f14fvzag.js";
50
+ import"./cli-7mhy3ths.js";
51
+ import"./cli-v1w7pbd8.js";
50
52
  import"./cli-zt3w1cn1.js";
51
- import"./cli-xb3c6aat.js";
52
- import"./cli-ftry7975.js";
53
- import"./cli-3dpj7atn.js";
54
- import"./cli-2x0e561b.js";
55
- import"./cli-pkke6geq.js";
53
+ import"./cli-km4x66j0.js";
56
54
  import"./cli-rb9m6rpe.js";
55
+ import"./cli-2x0e561b.js";
56
+ import"./cli-kw0jcfje.js";
57
57
  import"./cli-mzfth0bp.js";
58
- import"./cli-jqt9hrnz.js";
59
- import"./cli-yhmwmv0g.js";
60
- import"./cli-wfajtmf7.js";
61
- import"./cli-a87b04k8.js";
62
58
  import"./cli-fad8m16k.js";
63
59
  import"./cli-bsakbbkm.js";
64
60
  import"./cli-zxg80zs9.js";
65
61
  import"./cli-51tf7ac3.js";
66
62
  import"./cli-ydt3zkwv.js";
67
- import"./cli-0n4fasz0.js";
63
+ import"./cli-c8r99akr.js";
68
64
  import"./cli-q51yprfq.js";
69
65
  import"./cli-3er6gcsn.js";
70
- import"./cli-cvk6yzw5.js";
71
66
  import"./cli-yatxqynm.js";
72
- import"./cli-b0f70z24.js";
73
- import"./cli-nexwh8zg.js";
67
+ import"./cli-mn8qkd8v.js";
68
+ import"./cli-g7k7zbcz.js";
74
69
  import"./cli-btbzvq95.js";
75
70
  import"./cli-1m2e086m.js";
76
- import"./cli-bzr0ftht.js";
71
+ import"./cli-wnb9b2g3.js";
77
72
  import"./cli-bd957dgb.js";
78
73
  import"./cli-pzxba7gw.js";
79
- import"./cli-xnzrzets.js";
74
+ import"./cli-ypgba1a8.js";
80
75
  import"./cli-rfphkzh5.js";
81
- import"./cli-qdv8kgz7.js";
82
- import"./cli-9s3h836g.js";
76
+ import"./cli-mkdsy1nq.js";
83
77
  import"./cli-3qhyh31j.js";
84
- import"./cli-3a4m1aws.js";
78
+ import"./cli-xvdgasgy.js";
79
+ import"./cli-mxvnnv5q.js";
85
80
  import"./cli-7mm2r1kp.js";
86
81
  import"./cli-g5erf0zt.js";
87
82
  import"./cli-dmtrxqhg.js";
88
- import"./cli-tadfgd0t.js";
89
- import"./cli-ywybs5as.js";
90
- import"./cli-gd4favx9.js";
91
83
  import"./cli-agamgm0p.js";
92
84
  import"./cli-5c2j5yvx.js";
93
85
  import"./cli-1a2j50m0.js";
86
+ import"./cli-tadfgd0t.js";
87
+ import"./cli-ywybs5as.js";
94
88
  import"./cli-f9w1semm.js";
89
+ import"./cli-a35hzdve.js";
90
+ import"./cli-gd4favx9.js";
95
91
  import"./cli-ej6gbxfb.js";
96
- import"./cli-zsh093hk.js";
92
+ import"./cli-014vns2y.js";
97
93
  import"./cli-sd0mxa3c.js";
98
94
  import"./cli-w5e1d1vv.js";
99
- import"./cli-1kzfvd1z.js";
100
- import"./cli-hpryr6em.js";
95
+ import"./cli-ymmc1zxg.js";
96
+ import"./cli-mb75wpxf.js";
101
97
  import"./cli-zf8jjwex.js";
102
- import"./cli-h1spv8v4.js";
98
+ import"./cli-wt7ccy4r.js";
103
99
  import"./cli-knd276ed.js";
104
100
  import"./cli-bc05qbss.js";
105
101
 
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  retryProviderRequest
3
- } from "./cli-qbksc292.js";
3
+ } from "./cli-zy39d433.js";
4
4
  import {
5
5
  formatProviderError,
6
6
  normalizeProviderError
@@ -305,6 +305,8 @@ var classify = async (model, context, options) => {
305
305
  try {
306
306
  if (model.api !== "llama-cpp-classify")
307
307
  throw new Error(`Unsupported classifier API: ${model.api}`);
308
+ if (context.images?.length)
309
+ throw new Error(`${LABEL} classification does not support image input`);
308
310
  const temperature = options?.temperature ?? 1;
309
311
  if (!(temperature > 0) || !Number.isFinite(temperature)) {
310
312
  throw new Error(`Temperature must be a positive number, got ${temperature}`);
@@ -1,33 +1,32 @@
1
1
  import {
2
+ init_embeddings,
2
3
  reembedAllScripts
3
- } from "./cli-jqt9hrnz.js";
4
- import"./cli-yhmwmv0g.js";
5
- import"./cli-wfajtmf7.js";
6
- import"./cli-cvk6yzw5.js";
7
- import"./cli-qdv8kgz7.js";
8
- import"./cli-9s3h836g.js";
4
+ } from "./cli-mkdsy1nq.js";
9
5
  import"./cli-3qhyh31j.js";
10
- import"./cli-3a4m1aws.js";
6
+ import"./cli-xvdgasgy.js";
7
+ import"./cli-mxvnnv5q.js";
11
8
  import"./cli-7mm2r1kp.js";
12
9
  import"./cli-g5erf0zt.js";
13
10
  import"./cli-dmtrxqhg.js";
14
- import"./cli-tadfgd0t.js";
15
- import"./cli-ywybs5as.js";
16
- import"./cli-gd4favx9.js";
17
11
  import"./cli-agamgm0p.js";
18
12
  import"./cli-5c2j5yvx.js";
19
13
  import"./cli-1a2j50m0.js";
14
+ import"./cli-tadfgd0t.js";
15
+ import"./cli-ywybs5as.js";
20
16
  import"./cli-f9w1semm.js";
17
+ import"./cli-a35hzdve.js";
18
+ import"./cli-gd4favx9.js";
21
19
  import"./cli-ej6gbxfb.js";
22
- import"./cli-zsh093hk.js";
20
+ import"./cli-014vns2y.js";
23
21
  import"./cli-sd0mxa3c.js";
24
22
  import"./cli-w5e1d1vv.js";
25
- import"./cli-1kzfvd1z.js";
23
+ import"./cli-ymmc1zxg.js";
26
24
  import"./cli-zf8jjwex.js";
27
- import"./cli-h1spv8v4.js";
25
+ import"./cli-wt7ccy4r.js";
28
26
  import"./cli-bc05qbss.js";
29
27
 
30
28
  // src/be/scripts/maintenance.ts
29
+ init_embeddings();
31
30
  async function runScriptsMaintenanceCommand(args) {
32
31
  const [subcommand] = args;
33
32
  if (subcommand !== "reembed") {
@@ -9,7 +9,7 @@ import {
9
9
  getJsonSchemaToolParameters,
10
10
  resolveJsonSchemaStrictSampling,
11
11
  transformMessages
12
- } from "./cli-8kt0bmgx.js";
12
+ } from "./cli-xf713zz0.js";
13
13
  import {
14
14
  sanitizeSurrogates
15
15
  } from "./cli-y2apkfe2.js";
@@ -23,13 +23,13 @@ import {
23
23
  getSystemMessageText,
24
24
  renderSystemMessageUpdate,
25
25
  resolveTranscript
26
- } from "./cli-nexwh8zg.js";
26
+ } from "./cli-g7k7zbcz.js";
27
27
  import {
28
28
  parseStreamingJson
29
29
  } from "./cli-1m2e086m.js";
30
30
  import {
31
31
  AssistantMessageEventStream
32
- } from "./cli-bzr0ftht.js";
32
+ } from "./cli-wnb9b2g3.js";
33
33
  import"./cli-bc05qbss.js";
34
34
 
35
35
  // node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js
@@ -716,7 +716,7 @@ function mapChatStopReason(reason) {
716
716
  case "tool_calls":
717
717
  return { stopReason: "toolUse" };
718
718
  case "error":
719
- return { stopReason: "error", errorMessage: "Provider stopped with: error" };
719
+ return { stopReason: "error", errorMessage: "Provider stopped with: error (server error)" };
720
720
  default:
721
721
  return { stopReason: "error", errorMessage: `Provider stopped with: ${reason}` };
722
722
  }
@@ -11,7 +11,7 @@ import {
11
11
  isStatus,
12
12
  loggerFor,
13
13
  promiseWithResolvers
14
- } from "./cli-ma3zvh39.js";
14
+ } from "./cli-5qkcdv8c.js";
15
15
  import {
16
16
  child_process,
17
17
  crypto,
@@ -778,6 +778,7 @@ var _SessionMemoryStores_scanMarker;
778
778
  var _SessionMemoryStores_syncStore;
779
779
  var _SessionMemoryStores_flushStore;
780
780
  var _SessionMemoryStores_recover;
781
+ var _SessionMemoryStores_settleSent;
781
782
  var _SessionMemoryStores_stampAndPull;
782
783
  var _SessionMemoryStores_syncPath;
783
784
  var _SessionMemoryStores_removeLocal;
@@ -870,7 +871,8 @@ var SessionMemoryStores = /* @__PURE__ */ (() => {
870
871
  readOnly: resource.access === "read_only",
871
872
  baseline: new Map,
872
873
  refusedShas: new Map,
873
- pendingDeletes: new Map
874
+ pendingDeletes: new Map,
875
+ sentShas: new Map
874
876
  };
875
877
  if (!store.files.root().removedOnDispose) {
876
878
  throw new SessionMemoryError(`something already exists at the memory store's path: ${root} ` + `(memory_store_id=${resource.memory_store_id}); ` + "it must not exist when the session starts");
@@ -985,14 +987,15 @@ var SessionMemoryStores = /* @__PURE__ */ (() => {
985
987
  await __classPrivateFieldGet(this, _SessionMemoryStores_instances, "m", _SessionMemoryStores_recover).call(this, store, "the folder or its marker is gone");
986
988
  return;
987
989
  }
988
- if (Object.keys(local).length === 0 && store.baseline.size > 1) {
989
- await __classPrivateFieldGet(this, _SessionMemoryStores_instances, "m", _SessionMemoryStores_recover).call(this, store, "every memory file is gone at once");
990
- return;
991
- }
992
990
  const remote = new Map;
993
991
  for await (const [rel, item] of __classPrivateFieldGet(this, _SessionMemoryStores_instances, "m", _SessionMemoryStores_listMemories).call(this, store.memoryStoreId)) {
994
992
  remote.set(rel, item);
995
993
  }
994
+ __classPrivateFieldGet(this, _SessionMemoryStores_instances, "m", _SessionMemoryStores_settleSent).call(this, store, remote);
995
+ if (Object.keys(local).length === 0 && store.baseline.size > 1) {
996
+ await __classPrivateFieldGet(this, _SessionMemoryStores_instances, "m", _SessionMemoryStores_recover).call(this, store, "every memory file is gone at once");
997
+ return;
998
+ }
996
999
  const deletes = new DeletePass(__classPrivateFieldGet(this, _SessionMemoryStores_syncDeletions, "f"), Math.max(DELETE_CAP_FLOOR, Math.min(DELETE_CAP_CEILING, Math.floor(store.baseline.size / 4))), final);
997
1000
  const pulls = [];
998
1001
  const baseline = new Map;
@@ -1039,7 +1042,8 @@ var SessionMemoryStores = /* @__PURE__ */ (() => {
1039
1042
  return;
1040
1043
  }
1041
1044
  for (const [rel, sha] of Object.entries(scan.files)) {
1042
- if (sha !== store.baseline.get(rel) && store.refusedShas.get(rel) !== sha) {
1045
+ const changed = sha !== store.baseline.get(rel) || store.sentShas.has(rel);
1046
+ if (changed && store.refusedShas.get(rel) !== sha) {
1043
1047
  dirty.set(rel, sha);
1044
1048
  unsent.add(rel);
1045
1049
  }
@@ -1052,11 +1056,16 @@ var SessionMemoryStores = /* @__PURE__ */ (() => {
1052
1056
  return;
1053
1057
  remote.set(rel, item);
1054
1058
  }
1059
+ __classPrivateFieldGet(this, _SessionMemoryStores_instances, "m", _SessionMemoryStores_settleSent).call(this, store, remote);
1055
1060
  const uploads = [];
1056
1061
  for (const rel of [...dirty.keys()].sort()) {
1057
1062
  const localSha = dirty.get(rel);
1058
1063
  const baseSha = store.baseline.get(rel);
1059
1064
  const existing = remote.get(rel);
1065
+ if (localSha === baseSha) {
1066
+ unsent.delete(rel);
1067
+ continue;
1068
+ }
1060
1069
  if (existing !== undefined && existing.content_sha256 === localSha) {
1061
1070
  store.baseline.set(rel, existing.content_sha256);
1062
1071
  unsent.delete(rel);
@@ -1089,8 +1098,15 @@ var SessionMemoryStores = /* @__PURE__ */ (() => {
1089
1098
  });
1090
1099
  await store.files.createRoot();
1091
1100
  await __classPrivateFieldGet(this, _SessionMemoryStores_instances, "m", _SessionMemoryStores_stampAndPull).call(this, store);
1101
+ }, _SessionMemoryStores_settleSent = function _SessionMemoryStores_settleSent2(store, remote) {
1102
+ for (const [rel, sha] of store.sentShas) {
1103
+ if (remote.get(rel)?.content_sha256 === sha)
1104
+ store.baseline.set(rel, sha);
1105
+ }
1106
+ store.sentShas.clear();
1092
1107
  }, _SessionMemoryStores_stampAndPull = async function _SessionMemoryStores_stampAndPull2(store) {
1093
1108
  store.baseline = new Map;
1109
+ store.sentShas.clear();
1094
1110
  store.pendingDeletes.clear();
1095
1111
  await store.files.put(MARKER_PATH, `version ${MARKER_VERSION}
1096
1112
  ${store.memoryStoreId}`);
@@ -1270,6 +1286,7 @@ ${store.memoryStoreId}`);
1270
1286
  if (data === null)
1271
1287
  return;
1272
1288
  const content = decodeUTF8(data);
1289
+ store.sentShas.set(rel, crypto.createHash("sha256").update(content, "utf-8").digest("hex"));
1273
1290
  const item = existing ? await __classPrivateFieldGet(this, _SessionMemoryStores_client, "f").beta.memoryStores.memories.update(existing.id, {
1274
1291
  memory_store_id: store.memoryStoreId,
1275
1292
  content,
@@ -1279,6 +1296,7 @@ ${store.memoryStoreId}`);
1279
1296
  content
1280
1297
  });
1281
1298
  store.refusedShas.delete(rel);
1299
+ store.sentShas.delete(rel);
1282
1300
  return item.content_sha256;
1283
1301
  } catch (e) {
1284
1302
  if (existing && isStatus(e, 404)) {
@@ -1,36 +1,40 @@
1
1
  import {
2
- forceRefreshAuthorizationOrThrow,
2
+ forceRefreshAuthorizationOrThrow
3
+ } from "./cli-kw0jcfje.js";
4
+ import {
3
5
  getAuthorizationById,
6
+ init_oauth,
4
7
  listAuthorizationSweepRows
5
- } from "./cli-a87b04k8.js";
6
- import"./cli-qdv8kgz7.js";
7
- import"./cli-9s3h836g.js";
8
+ } from "./cli-mkdsy1nq.js";
8
9
  import"./cli-3qhyh31j.js";
9
- import"./cli-3a4m1aws.js";
10
+ import"./cli-xvdgasgy.js";
11
+ import"./cli-mxvnnv5q.js";
10
12
  import"./cli-7mm2r1kp.js";
11
13
  import"./cli-g5erf0zt.js";
12
14
  import"./cli-dmtrxqhg.js";
13
- import"./cli-tadfgd0t.js";
14
- import"./cli-ywybs5as.js";
15
- import"./cli-gd4favx9.js";
16
15
  import"./cli-agamgm0p.js";
17
16
  import"./cli-5c2j5yvx.js";
18
17
  import"./cli-1a2j50m0.js";
18
+ import"./cli-tadfgd0t.js";
19
+ import"./cli-ywybs5as.js";
19
20
  import"./cli-f9w1semm.js";
21
+ import"./cli-a35hzdve.js";
22
+ import"./cli-gd4favx9.js";
20
23
  import"./cli-ej6gbxfb.js";
21
- import"./cli-zsh093hk.js";
24
+ import"./cli-014vns2y.js";
22
25
  import"./cli-sd0mxa3c.js";
23
26
  import"./cli-w5e1d1vv.js";
24
- import"./cli-1kzfvd1z.js";
27
+ import"./cli-ymmc1zxg.js";
25
28
  import"./cli-zf8jjwex.js";
26
29
  import {
27
30
  init_secret_scrubber,
28
31
  scrubSecrets
29
- } from "./cli-h1spv8v4.js";
32
+ } from "./cli-wt7ccy4r.js";
30
33
  import"./cli-bc05qbss.js";
31
34
 
32
35
  // src/be/oauth-refresh-sweep.ts
33
36
  init_secret_scrubber();
37
+ init_oauth();
34
38
  var EXPIRY_BUFFER_MS = 30 * 60 * 1000;
35
39
  var STALE_ROW_MS = 7 * 24 * 60 * 60 * 1000;
36
40
  var SWEEP_INTERVAL_MS = 15 * 60 * 1000;
@@ -3,7 +3,7 @@ import {
3
3
  createDefaultMcpJson,
4
4
  createDefaultSettingsLocal,
5
5
  createHooksConfig
6
- } from "./cli-9866bd07.js";
6
+ } from "./cli-6vfz44sr.js";
7
7
  import {
8
8
  require_jsx_dev_runtime
9
9
  } from "./cli-t3p77qk1.js";
@@ -31,7 +31,7 @@ import"./cli-ej6gbxfb.js";
31
31
  import {
32
32
  init_package,
33
33
  package_default
34
- } from "./cli-1kzfvd1z.js";
34
+ } from "./cli-ymmc1zxg.js";
35
35
  import {
36
36
  __toESM
37
37
  } from "./cli-bc05qbss.js";
@@ -2,7 +2,7 @@ import {
2
2
  convertResponsesMessages,
3
3
  convertResponsesTools,
4
4
  processResponsesStream
5
- } from "./cli-fj86xr3c.js";
5
+ } from "./cli-qd97v6z2.js";
6
6
  import {
7
7
  clampOpenAIPromptCacheKey
8
8
  } from "./cli-mrptpp86.js";
@@ -24,7 +24,7 @@ import {
24
24
  import {
25
25
  buildBaseOptions,
26
26
  createGrammarToolInputProperties
27
- } from "./cli-8kt0bmgx.js";
27
+ } from "./cli-xf713zz0.js";
28
28
  import"./cli-y2apkfe2.js";
29
29
  import {
30
30
  headersToRecord
@@ -37,7 +37,7 @@ import {
37
37
  normalizeContext,
38
38
  resolveTranscript,
39
39
  resolveTranscriptTools
40
- } from "./cli-nexwh8zg.js";
40
+ } from "./cli-g7k7zbcz.js";
41
41
  import"./cli-btbzvq95.js";
42
42
  import"./cli-1m2e086m.js";
43
43
  import {
@@ -45,7 +45,7 @@ import {
45
45
  appendAssistantMessageDiagnostic,
46
46
  createAssistantMessageDiagnostic,
47
47
  formatThrownValue
48
- } from "./cli-bzr0ftht.js";
48
+ } from "./cli-wnb9b2g3.js";
49
49
  import"./cli-bc05qbss.js";
50
50
 
51
51
  // node_modules/@earendil-works/pi-ai/dist/utils/abort-signals.js
@@ -1271,7 +1271,10 @@ function extractAccountId(token) {
1271
1271
  }
1272
1272
  }
1273
1273
  function buildBaseCodexHeaders(initHeaders, additionalHeaders, accountId, token) {
1274
- const headers = new Headers(initHeaders);
1274
+ const headers = new Headers({ originator: "pi", "User-Agent": getPiUserAgent() });
1275
+ for (const [key, value] of Object.entries(initHeaders || {})) {
1276
+ headers.set(key, value);
1277
+ }
1275
1278
  for (const [key, value] of Object.entries(additionalHeaders || {})) {
1276
1279
  if (value === null) {
1277
1280
  headers.delete(key);
@@ -1281,8 +1284,6 @@ function buildBaseCodexHeaders(initHeaders, additionalHeaders, accountId, token)
1281
1284
  }
1282
1285
  headers.set("Authorization", `Bearer ${token}`);
1283
1286
  headers.set("chatgpt-account-id", accountId);
1284
- headers.set("originator", "pi");
1285
- headers.set("User-Agent", getPiUserAgent());
1286
1287
  return headers;
1287
1288
  }
1288
1289
  function buildSSEHeaders(initHeaders, additionalHeaders, accountId, token, sessionId) {