@desplega.ai/agent-swarm 2.4.5 → 2.5.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 (272) hide show
  1. package/README.md +4 -2
  2. package/dist/{acp-adapter-2wdkktv6.js → acp-adapter-11gp67nr.js} +8 -6
  3. package/dist/{actions-c40ebcm4.js → actions-8p2kze8j.js} +23 -21
  4. package/dist/{amp-adapter-wb67m95z.js → amp-adapter-z4qvhacj.js} +2 -2
  5. package/dist/{anthropic-messages-g6pqmqk4.js → anthropic-messages-txs190dd.js} +17 -20
  6. package/dist/{app-353vre8g.js → app-0qp0a2gk.js} +3 -3
  7. package/dist/{assistant-sj1njh23.js → assistant-jedd3ktm.js} +24 -22
  8. package/dist/{azure-openai-responses-9dbmj346.js → azure-openai-responses-9kfwhmn7.js} +18 -13
  9. package/dist/{boot-reembed-qdkvxeem.js → boot-reembed-4xwq5tg0.js} +1 -1
  10. package/dist/{boot-reembed-b9c3az3c.js → boot-reembed-n4wq5dd2.js} +1 -1
  11. package/dist/{boot-scrub-sweep-m3wh8eks.js → boot-scrub-sweep-69h90xcq.js} +4 -4
  12. package/dist/{boot-seeds-j2273s54.js → boot-seeds-3vn0m9sg.js} +4 -4
  13. package/dist/{claude-adapter-m7q0a085.js → claude-adapter-221mvad5.js} +8 -6
  14. package/dist/{claude-managed-adapter-5ptb6tzs.js → claude-managed-adapter-gt6pa35d.js} +2 -2
  15. package/dist/{claude-managed-setup-smrqk5j5.js → claude-managed-setup-c3hp36ph.js} +4 -4
  16. package/dist/{claude-sdk-session-38xnz21e.js → claude-sdk-session-8thjsk5e.js} +9012 -8928
  17. package/dist/{cli-b9fcxxev.js → cli-007cnhm1.js} +50 -4
  18. package/dist/{cli-j4rqdf2n.js → cli-03vpq45j.js} +2 -2
  19. package/dist/{cli-dk44dxec.js → cli-0y6f0ckq.js} +1 -1
  20. package/dist/{cli-kpw04va0.js → cli-0z3vjrpm.js} +1 -1
  21. package/dist/{cli-94gwyg7m.js → cli-179xcyky.js} +9 -9
  22. package/dist/{cli-3r8samv3.js → cli-1f0gp9vz.js} +3 -2
  23. package/dist/{cli-4zfqgjc5.js → cli-1pr672hz.js} +2 -2
  24. package/dist/{cli-0bqteszy.js → cli-2nf3b08t.js} +328 -25
  25. package/dist/{cli-43x64hv3.js → cli-36j4jnk3.js} +4 -4
  26. package/dist/{cli-k8g16gz3.js → cli-3qv8naq8.js} +115 -119
  27. package/dist/cli-3zwye9sn.js +1193 -0
  28. package/dist/{cli-60cgh1rv.js → cli-459fk97x.js} +7 -7
  29. package/dist/{cli-v8fjakwf.js → cli-4w24f7z3.js} +1 -1
  30. package/dist/{cli-n72rg53p.js → cli-5kzk3472.js} +812 -418
  31. package/dist/{cli-h7gc0b4r.js → cli-5m84zd2k.js} +55 -18
  32. package/dist/{cli-j99azg3g.js → cli-5rvg1ddk.js} +5 -5
  33. package/dist/{cli-dvkmp9bt.js → cli-6ctwrf1z.js} +20 -10
  34. package/dist/{cli-848hxdwj.js → cli-6rg2jn2y.js} +2 -1
  35. package/dist/{cli-fv5hepyy.js → cli-7bwtc6yx.js} +3 -3
  36. package/dist/{cli-ms85309d.js → cli-7g40g8hq.js} +11 -11
  37. package/dist/{cli-xpa64rek.js → cli-92mqenkc.js} +2362 -159
  38. package/dist/{cli-018r4jq6.js → cli-9ce2xw98.js} +8 -8
  39. package/dist/{cli-1syn2xy1.js → cli-bgdtv62r.js} +32 -18
  40. package/dist/{cli-wxbn3yfx.js → cli-cz5nmdxt.js} +2 -2
  41. package/dist/{cli-wt645v7q.js → cli-dabehxhp.js} +1 -1
  42. package/dist/{cli-vfha21c9.js → cli-e5bxnjps.js} +2 -2
  43. package/dist/{cli-wt0jf9hm.js → cli-fcc5qe3f.js} +553 -193
  44. package/dist/{cli-ftc1g5tj.js → cli-fes51ya2.js} +3 -3
  45. package/dist/{cli-3a45zcgm.js → cli-ftmq4nvk.js} +2 -2
  46. package/dist/{cli-37j04k05.js → cli-fy1jyyym.js} +13 -13
  47. package/dist/{cli-s95dknxh.js → cli-g1cw7xtt.js} +1 -1
  48. package/dist/{cli-74c1wpm0.js → cli-gpv60278.js} +1 -1
  49. package/dist/{cli-pemywhfq.js → cli-ha9rmwgq.js} +2 -1
  50. package/dist/{cli-g35m2xwm.js → cli-j1eghqfm.js} +2 -2
  51. package/dist/{cli-qfxc84gh.js → cli-jpxsrxcb.js} +1 -1
  52. package/dist/{cli-ejs3m1sx.js → cli-kxpfx2xr.js} +1 -1
  53. package/dist/{cli-p14m2cnp.js → cli-mbfj11fq.js} +1 -1
  54. package/dist/{cli-pnp2j5zg.js → cli-mmhj8vd7.js} +2 -2
  55. package/dist/{cli-xf234ws8.js → cli-n4c8e3s5.js} +2 -0
  56. package/dist/{cli-f01h25yt.js → cli-n6kmqngw.js} +2 -2
  57. package/dist/{cli-v0yrfmdh.js → cli-nnvjb17s.js} +3 -3
  58. package/dist/{cli-1dmcq2eh.js → cli-nzfnt2gs.js} +1 -1
  59. package/dist/{cli-625tb7aq.js → cli-p859hcc8.js} +2 -2
  60. package/dist/{cli-smvcw9z5.js → cli-pasyvjmm.js} +1 -1
  61. package/dist/cli-pkaqk57w.js +128 -0
  62. package/dist/{cli-8nyhf7za.js → cli-qqzmjxkf.js} +129 -105
  63. package/dist/{cli-9yqgm9nd.js → cli-r25qpaxt.js} +161 -63
  64. package/dist/{cli-eww120g8.js → cli-rh5smt8t.js} +18 -4
  65. package/dist/{cli-qwkcwjdn.js → cli-rycdaj0a.js} +1 -1
  66. package/dist/{cli-a92r1127.js → cli-s4sntwt4.js} +2 -2
  67. package/dist/{cli-be2161h1.js → cli-segs7hx9.js} +6 -6
  68. package/dist/{cli-36ckw0wx.js → cli-stxdrqs2.js} +2 -2
  69. package/dist/{cli-z7d29rw9.js → cli-sy8f9705.js} +4 -4
  70. package/dist/{cli-1m17dc9d.js → cli-ta8bd7th.js} +2 -2
  71. package/dist/{cli-st8aw1m6.js → cli-we0ra057.js} +4 -4
  72. package/dist/{cli-7c9qs530.js → cli-x21dqn18.js} +5 -5
  73. package/dist/{cli-1sp861s4.js → cli-x6vf4sad.js} +11 -11
  74. package/dist/{cli-d2mb5s8a.js → cli-x77gen2p.js} +680 -440
  75. package/dist/{cli-tw4p90jb.js → cli-xawhpgc9.js} +5 -5
  76. package/dist/{cli-f0g3pgvf.js → cli-xd4eqtr2.js} +2 -2
  77. package/dist/{cli-1f3qzw6y.js → cli-xt768r5m.js} +2 -2
  78. package/dist/{cli-cxxe61f6.js → cli-y4x8ww6s.js} +2 -2
  79. package/dist/{cli-bnes4z6b.js → cli-y9jvxfhk.js} +3 -3
  80. package/dist/{cli-qwhy2qma.js → cli-z63a269p.js} +2 -2
  81. package/dist/{cli-sm8rses9.js → cli-zfdp01hn.js} +8 -5
  82. package/dist/cli.js +29 -27
  83. package/dist/{cloudflare-workers-ai-system-one-ch2wxfcp.js → cloudflare-workers-ai-system-one-43v9qkjk.js} +7 -2
  84. package/dist/{codex-adapter-tn6k5mkg.js → codex-adapter-tcg1q3jk.js} +6 -4
  85. package/dist/{codex-login-m819c41r.js → codex-login-rn7c5gxt.js} +1 -1
  86. package/dist/{codex-session-runner-7vjt7jbw.js → codex-session-runner-xfx4wd9x.js} +7 -5
  87. package/dist/{commands-t7rz9146.js → commands-ew83nj70.js} +2 -2
  88. package/dist/{controller-m2jasma5.js → controller-gnq1k1mf.js} +4 -4
  89. package/dist/{controllers-connect-9ftpex99.js → controllers-connect-tw1dan9r.js} +25 -23
  90. package/dist/{cursor-adapter-mjv79e4z.js → cursor-adapter-yq5xgfcg.js} +1 -1
  91. package/dist/{db-6sfrn9g3.js → db-7gbc53fd.js} +14 -2
  92. package/dist/{db-rn673r06.js → db-t86xrnes.js} +3 -3
  93. package/dist/{devin-adapter-zgqadvnm.js → devin-adapter-4ycy4vrf.js} +1 -1
  94. package/dist/{dispatcher-c155xz0p.js → dispatcher-64bdyhps.js} +22 -20
  95. package/dist/{docker-fkgtr75t.js → docker-nfy2gc8t.js} +2 -2
  96. package/dist/{dsh-adapter-3mmszc1x.js → dsh-adapter-tvhc4k2d.js} +1 -1
  97. package/dist/{e2b-16d6ch39.js → e2b-9gkdhm3c.js} +2 -2
  98. package/dist/{e2b-zn0b4w5w.js → e2b-cjtf8k1z.js} +2 -2
  99. package/dist/{easter-egg-3d-5cgynaja.js → easter-egg-3d-e4qv8dxj.js} +1 -1
  100. package/dist/{event-bus-9vpk8gmq.js → event-bus-3z78ep5n.js} +1 -1
  101. package/dist/{execute-t4e6m3rw.js → execute-0xpz8950.js} +85 -23
  102. package/dist/{external-channel-35k6tkv8.js → external-channel-e9nw24zv.js} +2 -2
  103. package/dist/{google-generative-ai-bmq8gkf3.js → google-generative-ai-mk9vcpe1.js} +15 -15
  104. package/dist/{google-vertex-b1rvp52s.js → google-vertex-q580kz8k.js} +20 -20
  105. package/dist/{grok-adapter-tfrq7tg1.js → grok-adapter-v82srhrx.js} +9 -7
  106. package/dist/handlers-c9ajzhbn.js +41 -0
  107. package/dist/{heartbeat-dyg4npkp.js → heartbeat-2vqs1319.js} +25 -23
  108. package/dist/{hook-x26b31bg.js → hook-01nk13wx.js} +7 -5
  109. package/dist/{hook-drspbwpe.js → hook-jzpheegg.js} +9 -7
  110. package/dist/{http-pk972xyw.js → http-fc1k6ec8.js} +544 -76
  111. package/dist/index-07ef7nkm.js +42 -0
  112. package/dist/{index-g6tbb6ve.js → index-31ceyf42.js} +1 -1
  113. package/dist/index-7yts8n9s.js +43 -0
  114. package/dist/index-q3t40ryv.js +46 -0
  115. package/dist/{index-arytgj5q.js → index-sepja052.js} +1 -1
  116. package/dist/{index-jwxkkex2.js → index-zdycv3ja.js} +13 -11
  117. package/dist/{index-g216q6jr.js → index-zsyx51ap.js} +1 -4
  118. package/dist/{keepalive-7yrng7px.js → keepalive-5nh2rhmr.js} +4 -4
  119. package/dist/lead-aayq64jn.js +79 -0
  120. package/dist/{llama-cpp-classify-vv43gswy.js → llama-cpp-classify-ee7vmd7q.js} +4 -1
  121. package/dist/{maintenance-e6cemdqt.js → maintenance-hjhzdt3k.js} +1 -1
  122. package/dist/{mistral-conversations-1medfwv7.js → mistral-conversations-sd0xf1tn.js} +13 -13
  123. package/dist/{node-de6akczr.js → node-jzjj7r9x.js} +1 -1
  124. package/dist/{oauth-refresh-sweep-yw3xdbcj.js → oauth-refresh-sweep-y3n1knmd.js} +3 -3
  125. package/dist/{onboard-0a9y5yrc.js → onboard-1zq3m7db.js} +2 -2
  126. package/dist/{openai-codex-responses-de9pvs4d.js → openai-codex-responses-79s8xnbh.js} +29 -23
  127. package/dist/{openai-completions-mtqge3nf.js → openai-completions-tdbyts0x.js} +21 -20
  128. package/dist/{openai-decisions-ygk4kkxd.js → openai-decisions-bqhnjyfz.js} +2 -1
  129. package/dist/{openai-responses-dkyng71g.js → openai-responses-dm3t5vqp.js} +26 -17
  130. package/dist/{opencode-adapter-x4tqzhkh.js → opencode-adapter-e56086m1.js} +7 -5
  131. package/dist/{openrouter-images-wvv7camj.js → openrouter-images-ssttr1y4.js} +6 -3
  132. package/dist/{otel-impl-trjpkfb7.js → otel-impl-h9yyza47.js} +2 -2
  133. package/dist/{pi-messages-nhh1pkz2.js → pi-messages-3nf8bq1a.js} +6 -4
  134. package/dist/{pi-mono-adapter-mcfkn9vf.js → pi-mono-adapter-tzps8f38.js} +9 -37
  135. package/dist/{pricing-refresh-d2b5my0y.js → pricing-refresh-nevhat8h.js} +3 -3
  136. package/dist/{rbac-roles-nxh5ahwk.js → rbac-roles-4y6ngvzq.js} +1 -1
  137. package/dist/{rbac-roles-hey3yv9d.js → rbac-roles-exbg8xb6.js} +2 -2
  138. package/dist/{render-v2-rr3p2atg.js → render-v2-cfsh13z3.js} +3 -3
  139. package/dist/{resume-2efkf1s1.js → resume-5s2t0dbs.js} +10 -8
  140. package/dist/{runtime-xe3aqy4x.js → runtime-bt5pkpm1.js} +1 -1
  141. package/dist/{session-access-s2mttxpw.js → session-access-dnbyp3cn.js} +6 -4
  142. package/dist/{setup-vypma5yt.js → setup-1wj1y77j.js} +1 -1
  143. package/dist/{typesafe-system-one-2hgpayzy.js → typesafe-system-one-bre38hvs.js} +4 -2
  144. package/dist/{virtual-modules-4r3zkc20.js → virtual-modules-mnfbh5mr.js} +8 -2
  145. package/dist/{work-objects-rvhckdkp.js → work-objects-7mg6216g.js} +25 -23
  146. package/dist/worker-nwb789mg.js +79 -0
  147. package/dist/{x-y45mthwn.js → x-pbpezr0s.js} +2 -2
  148. package/openapi.json +785 -5
  149. package/package.json +9 -9
  150. package/src/assets/key.ts +17 -0
  151. package/src/azure-devops/handlers.ts +1 -1
  152. package/src/be/db/approvals.ts +18 -0
  153. package/src/be/db/session-moves.ts +164 -0
  154. package/src/be/db/session-tree.ts +384 -0
  155. package/src/be/db/tasks/read.ts +40 -4
  156. package/src/be/db/workflow-runs.ts +96 -0
  157. package/src/be/db.ts +80 -236
  158. package/src/be/onboarding.ts +3 -0
  159. package/src/be/skill-sync.ts +43 -2
  160. package/src/be/swarm-config-guard.ts +1 -0
  161. package/src/bitbucket/api.ts +81 -0
  162. package/src/bitbucket/auth.ts +64 -0
  163. package/src/bitbucket/handlers.ts +434 -0
  164. package/src/bitbucket/index.ts +28 -0
  165. package/src/bitbucket/templates.ts +134 -0
  166. package/src/bitbucket/types.ts +65 -0
  167. package/src/commands/runner.ts +55 -3
  168. package/src/e2b/env.ts +1 -0
  169. package/src/extensions/contract-types.generated.ts +1 -1
  170. package/src/extensions/contract.ts +2 -2
  171. package/src/extensions/post-bridge.ts +1 -0
  172. package/src/github/handlers.ts +6 -6
  173. package/src/gitlab/handlers.ts +5 -5
  174. package/src/http/assets.ts +14 -2
  175. package/src/http/core.ts +12 -0
  176. package/src/http/index.ts +4 -0
  177. package/src/http/onboarding.ts +1 -0
  178. package/src/http/sessions.ts +366 -12
  179. package/src/http/skills.ts +48 -1
  180. package/src/http/tasks.ts +1 -1
  181. package/src/http/users.ts +1 -0
  182. package/src/http/webhooks.ts +141 -0
  183. package/src/integrations/chat-sdk/adapters.ts +19 -3
  184. package/src/integrations/chat-sdk/facts.ts +30 -12
  185. package/src/integrations/chat-sdk/outbound.ts +38 -1
  186. package/src/providers/acp-targets.ts +1 -1
  187. package/src/providers/amp-adapter.ts +1 -1
  188. package/src/providers/pi-mono-adapter.ts +5 -53
  189. package/src/scripts-runtime/types/swarm-extension.d.ts +6 -4
  190. package/src/slack/handlers.test.ts +158 -0
  191. package/src/slack/handlers.ts +19 -28
  192. package/src/tasks/context-key.ts +61 -1
  193. package/src/tests/bitbucket-auth.test.ts +156 -0
  194. package/src/tests/bitbucket-handlers.test.ts +425 -0
  195. package/src/tests/bitbucket-webhook.test.ts +220 -0
  196. package/src/tests/chat-sdk-inbound.test.ts +39 -0
  197. package/src/tests/chat-sdk-telegram-markdown.test.ts +92 -0
  198. package/src/tests/context-key.test.ts +50 -0
  199. package/src/tests/core-auth.test.ts +5 -0
  200. package/src/tests/db-task-read-contract.test.ts +7 -0
  201. package/src/tests/db-task-write-contract.test.ts +6 -0
  202. package/src/tests/docs-index-footprint.test.js +3 -3
  203. package/src/tests/fixtures/bitbucket/pullrequest-comment-created-inline.json +174 -0
  204. package/src/tests/fixtures/bitbucket/pullrequest-comment-created.json +170 -0
  205. package/src/tests/fixtures/bitbucket/pullrequest-created-mention.json +132 -0
  206. package/src/tests/fixtures/bitbucket/pullrequest-created-reviewer.json +140 -0
  207. package/src/tests/fixtures/bitbucket/pullrequest-fulfilled.json +134 -0
  208. package/src/tests/fixtures/bitbucket/pullrequest-rejected.json +133 -0
  209. package/src/tests/generate-mcp-docs.test.ts +101 -0
  210. package/src/tests/gitlab-handlers.test.ts +3 -3
  211. package/src/tests/gitlab-vcs-db.test.ts +4 -4
  212. package/src/tests/integration-disable-flags.test.ts +36 -0
  213. package/src/tests/mcp-tools.test.ts +1 -1
  214. package/src/tests/onboarding.test.ts +12 -0
  215. package/src/tests/pi-codemode.test.ts +8 -2
  216. package/src/tests/preload-env.test.ts +57 -0
  217. package/src/tests/preload.ts +21 -0
  218. package/src/tests/prompt-template-remaining.test.ts +38 -0
  219. package/src/tests/run-root-coverage.test.ts +39 -0
  220. package/src/tests/runner-bitbucket-vcs.test.ts +191 -0
  221. package/src/tests/runner-skills-refresh.test.ts +58 -0
  222. package/src/tests/secret-scrubber.test.ts +15 -0
  223. package/src/tests/sessions-move.test.ts +576 -0
  224. package/src/tests/sessions-tree.test.ts +493 -0
  225. package/src/tests/skill-files-http.test.ts +50 -0
  226. package/src/tests/skills-bundle.test.ts +99 -0
  227. package/src/tests/swarm-config-export-to-env.test.ts +2 -1
  228. package/src/tests/vcs-bitbucket.test.ts +91 -0
  229. package/src/tests/vcs-provider-isolation.test.ts +123 -0
  230. package/src/tests/vcs-provider.test.ts +16 -1
  231. package/src/tests/vcs-tracking.test.ts +3 -3
  232. package/src/tests/workflow-foreach-bodies.test.ts +637 -0
  233. package/src/tests/workflow-foreach-concurrency.test.ts +342 -0
  234. package/src/tests/workflow-foreach-retry.test.ts +537 -0
  235. package/src/tests/workflow-foreach.test.ts +44 -23
  236. package/src/tests/workflow-step-claims.test.ts +6 -6
  237. package/src/tests/workflow-tla-races.test.ts +2 -2
  238. package/src/tools/script-delete.ts +1 -1
  239. package/src/tools/workflows/create-workflow.ts +5 -3
  240. package/src/types.ts +3 -2
  241. package/src/utils/config-env-export.ts +1 -0
  242. package/src/utils/secret-scrubber.ts +4 -0
  243. package/src/utils/skills-refresh.ts +83 -43
  244. package/src/vcs/bitbucket.ts +58 -0
  245. package/src/vcs/index.ts +2 -0
  246. package/src/vcs/types.ts +2 -2
  247. package/src/workflows/approval-resolution.ts +4 -1
  248. package/src/workflows/checkpoint.ts +9 -1
  249. package/src/workflows/constants.ts +3 -0
  250. package/src/workflows/definition.ts +48 -17
  251. package/src/workflows/engine.ts +25 -15
  252. package/src/workflows/executors/foreach.ts +45 -99
  253. package/src/workflows/foreach-body.ts +146 -0
  254. package/src/workflows/foreach-driver.ts +552 -0
  255. package/src/workflows/foreach-join.ts +206 -7
  256. package/src/workflows/node-timeout.ts +21 -0
  257. package/src/workflows/recovery.ts +68 -3
  258. package/src/workflows/resume.ts +221 -43
  259. package/src/workflows/retry-poller.ts +39 -24
  260. package/src/workflows/step-input.ts +59 -0
  261. package/src/workflows/task-step-routing.ts +114 -56
  262. package/templates/skills/slack-interaction/content.md +5 -0
  263. package/templates/skills/work-on-task/SKILL.md +1 -1
  264. package/templates/skills/work-on-task/content.md +1 -1
  265. package/dist/cli-9hstj09h.js +0 -2657
  266. package/dist/cli-yw91rnmw.js +0 -13
  267. package/dist/handlers-7gw64dxw.js +0 -39
  268. package/dist/index-bgdyvcnv.js +0 -40
  269. package/dist/index-gabbcdn2.js +0 -43
  270. package/dist/index-tfb26zhy.js +0 -41
  271. package/dist/lead-7e02z839.js +0 -77
  272. package/dist/worker-5snytpbd.js +0 -77
@@ -24,6 +24,7 @@ import {
24
24
  isEmptyObj,
25
25
  isObj,
26
26
  validatePositiveInteger,
27
+ CREDENTIAL_OPTIONS,
27
28
  safeJSON,
28
29
  checkNever,
29
30
  concatBytes,
@@ -43,7 +44,7 @@ import {
43
44
  ToolError,
44
45
  checkMemorySyncInterval,
45
46
  promiseWithResolvers
46
- } from "./cli-848hxdwj.js";
47
+ } from "./cli-6rg2jn2y.js";
47
48
  import {
48
49
  require_src
49
50
  } from "./cli-dv97kdzv.js";
@@ -70,7 +71,7 @@ var sleep = (ms, signal) => new Promise((resolve) => {
70
71
  });
71
72
 
72
73
  // node_modules/@anthropic-ai/sdk/version.mjs
73
- var VERSION = "0.137.0";
74
+ var VERSION = "1.1.0";
74
75
 
75
76
  // node_modules/@anthropic-ai/sdk/internal/detect-platform.mjs
76
77
  var isRunningInBrowser = () => {
@@ -1540,9 +1541,6 @@ var ATTR_GEN_AI_REQUEST_MODEL = "gen_ai.request.model";
1540
1541
  var ATTR_GEN_AI_REQUEST_REASONING_LEVEL = "gen_ai.request.reasoning.level";
1541
1542
  var ATTR_GEN_AI_REQUEST_STOP_SEQUENCES = "gen_ai.request.stop_sequences";
1542
1543
  var ATTR_GEN_AI_REQUEST_STREAM = "gen_ai.request.stream";
1543
- var ATTR_GEN_AI_REQUEST_TEMPERATURE = "gen_ai.request.temperature";
1544
- var ATTR_GEN_AI_REQUEST_TOP_K = "gen_ai.request.top_k";
1545
- var ATTR_GEN_AI_REQUEST_TOP_P = "gen_ai.request.top_p";
1546
1544
  var ATTR_GEN_AI_RESPONSE_ID = "gen_ai.response.id";
1547
1545
  var ATTR_GEN_AI_RESPONSE_MODEL = "gen_ai.response.model";
1548
1546
  var ATTR_GEN_AI_RESPONSE_TIME_TO_FIRST_CHUNK = "gen_ai.response.time_to_first_chunk";
@@ -1920,15 +1918,6 @@ function messagesCreateSpanSettings(client, body, headers) {
1920
1918
  attributes[ATTR_ANTHROPIC_BETA] = betas;
1921
1919
  }
1922
1920
  attributes[ATTR_GEN_AI_REQUEST_MAX_TOKENS] = body.max_tokens;
1923
- if (body.temperature != null) {
1924
- attributes[ATTR_GEN_AI_REQUEST_TEMPERATURE] = body.temperature;
1925
- }
1926
- if (body.top_p != null) {
1927
- attributes[ATTR_GEN_AI_REQUEST_TOP_P] = body.top_p;
1928
- }
1929
- if (body.top_k != null) {
1930
- attributes[ATTR_GEN_AI_REQUEST_TOP_K] = body.top_k;
1931
- }
1932
1921
  if (body.stream === true) {
1933
1922
  attributes[ATTR_GEN_AI_REQUEST_STREAM] = true;
1934
1923
  }
@@ -2367,28 +2356,14 @@ var loadConfigWithSource = async (profile) => {
2367
2356
  if (rootConfigPath === null) {
2368
2357
  return null;
2369
2358
  }
2370
- const profileName = profile ?? await getActiveProfileName();
2371
- if (profileName === null) {
2372
- return null;
2373
- }
2374
- validateProfileName(profileName);
2375
- const { fs, path } = await import("./node-hjn5n1yp.js");
2376
- const configPath = path.join(rootConfigPath, "configs", `${profileName}.json`);
2377
- let configRaw;
2378
- try {
2379
- configRaw = await fs.promises.readFile(configPath, "utf-8");
2380
- } catch (err) {
2381
- if (err?.code !== "ENOENT") {
2382
- throw new Error(`failed to read config file ${configPath}: ${err}`);
2383
- }
2384
- configRaw = null;
2385
- }
2386
- if (configRaw === null) {
2359
+ const namedInEnv = profile == null && readEnv("ANTHROPIC_PROFILE") != null;
2360
+ let fromEnv = null;
2361
+ if (profile == null && !namedInEnv) {
2387
2362
  const organizationId = readEnv("ANTHROPIC_ORGANIZATION_ID");
2388
2363
  const identityTokenFile = readEnv("ANTHROPIC_IDENTITY_TOKEN_FILE");
2389
2364
  const federationRuleId = readEnv("ANTHROPIC_FEDERATION_RULE_ID");
2390
2365
  if (federationRuleId && organizationId) {
2391
- return {
2366
+ fromEnv = {
2392
2367
  fromFile: false,
2393
2368
  config: {
2394
2369
  organization_id: organizationId,
@@ -2403,9 +2378,30 @@ var loadConfigWithSource = async (profile) => {
2403
2378
  }
2404
2379
  }
2405
2380
  };
2381
+ if (identityTokenFile || readEnv("ANTHROPIC_IDENTITY_TOKEN")) {
2382
+ return fromEnv;
2383
+ }
2406
2384
  }
2385
+ }
2386
+ const profileName = profile ?? await getActiveProfileName();
2387
+ if (profileName === null) {
2407
2388
  return null;
2408
2389
  }
2390
+ validateProfileName(profileName);
2391
+ const { fs, path } = await import("./node-hjn5n1yp.js");
2392
+ const configPath = path.join(rootConfigPath, "configs", `${profileName}.json`);
2393
+ let configRaw;
2394
+ try {
2395
+ configRaw = await fs.promises.readFile(configPath, "utf-8");
2396
+ } catch (err) {
2397
+ if (err?.code !== "ENOENT") {
2398
+ throw new Error(`failed to read config file ${configPath}: ${err}`);
2399
+ }
2400
+ if (namedInEnv) {
2401
+ throw new AnthropicError(`ANTHROPIC_PROFILE names the profile "${profileName}", but ${configPath} does not exist. Set ANTHROPIC_PROFILE to a profile that exists, or unset it.`, { cause: err });
2402
+ }
2403
+ return fromEnv;
2404
+ }
2409
2405
  let config;
2410
2406
  try {
2411
2407
  config = JSON.parse(configRaw);
@@ -5187,11 +5183,12 @@ function copyClientForHelper(client, { authToken, helper }) {
5187
5183
  parentDefaults,
5188
5184
  { [STAINLESS_HELPER_HEADER]: helper }
5189
5185
  ]);
5186
+ defaultHeaders.values.delete("x-api-key");
5187
+ defaultHeaders.values.delete("authorization");
5188
+ defaultHeaders.nulls.delete("authorization");
5190
5189
  return client.withOptions({
5191
- apiKey: null,
5192
5190
  authToken,
5193
5191
  baseURL: client.baseURL,
5194
- credentials: undefined,
5195
5192
  defaultHeaders
5196
5193
  });
5197
5194
  }
@@ -6162,7 +6159,7 @@ var EnvironmentWorker = /* @__PURE__ */ (() => {
6162
6159
  const ctrl = new AbortController;
6163
6160
  const detachExternal = linkAbort(externalSignal, ctrl);
6164
6161
  const lease = new Lease(ctrl);
6165
- const agentToolset = await import("./node-de6akczr.js");
6162
+ const agentToolset = await import("./node-jzjj7r9x.js");
6166
6163
  let leaseTtlMs;
6167
6164
  let runner;
6168
6165
  const heartbeatPromise = heartbeatLoop(sessionClient, work, lease, log, this.requestOptions, (ttlMs) => {
@@ -9464,7 +9461,7 @@ var SpendLimits = /* @__PURE__ */ (() => {
9464
9461
  ]),
9465
9462
  __span: startApiCallSpan(this._client, "anthropic.organization.spend_limits.list", options, {
9466
9463
  route: "/v1/organizations/spend_limits",
9467
- queryParams: ["limit", "page", "scope_type"]
9464
+ queryParams: ["limit", "page", "scope_type", "workspace_id"]
9468
9465
  })
9469
9466
  });
9470
9467
  }
@@ -11306,7 +11303,6 @@ var BetaToolRunner2 = /* @__PURE__ */ (() => {
11306
11303
  _BetaToolRunner_toolOverrides.set(this, new Map);
11307
11304
  _BetaToolRunner_pendingToolChanges.set(this, []);
11308
11305
  rejectCompactionParam(params);
11309
- rejectCompactionControl(params);
11310
11306
  rejectRunToolsEagerlyWithoutStream(params);
11311
11307
  __classPrivateFieldSet(this, _BetaToolRunner_state, {
11312
11308
  params: {
@@ -11613,7 +11609,7 @@ var BetaToolRunner2 = /* @__PURE__ */ (() => {
11613
11609
  }, _BetaToolRunner_availableToolNames = function _BetaToolRunner_availableToolNames() {
11614
11610
  const available = new Set(__classPrivateFieldGet(this, _BetaToolRunner_instances, "m", _BetaToolRunner_runnableTools).call(this).keys());
11615
11611
  for (const message of [...__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.messages, __classPrivateFieldGet(this, _BetaToolRunner_instances, "m", _BetaToolRunner_pendingToolChangesMessage).call(this)]) {
11616
- if (typeof message.content === "string") {
11612
+ if (!Array.isArray(message.content)) {
11617
11613
  continue;
11618
11614
  }
11619
11615
  for (const block of message.content) {
@@ -11678,11 +11674,6 @@ function rejectCompactionParam(params) {
11678
11674
  throw new AnthropicError("`compaction` cannot be set on a tool runner: every request in the loop would compact again. " + "Call `runner.compactBeforeNextTurn()` when the conversation should be compacted instead.");
11679
11675
  }
11680
11676
  }
11681
- function rejectCompactionControl(params) {
11682
- if ("compactionControl" in params && params.compactionControl != null) {
11683
- throw new AnthropicError("`compactionControl` has been removed from the tool runner. Use server-side compaction instead: " + "call `runner.compactBeforeNextTurn()` when the conversation should be compacted.");
11684
- }
11685
- }
11686
11677
  function rejectRunToolsEagerlyWithoutStream(params) {
11687
11678
  if (params.runToolsEagerly && !params.stream) {
11688
11679
  throw new TypeError("`runToolsEagerly: true` needs `stream: true` in the tool runner's params, because a reply that " + "isn't streamed arrives whole.");
@@ -11720,7 +11711,7 @@ function toolDefinition(tool) {
11720
11711
  }
11721
11712
  function withToolDefinitions(messages) {
11722
11713
  return messages.map((message) => {
11723
- if (message.role !== "system" || typeof message.content === "string") {
11714
+ if (message.role !== "system" || !Array.isArray(message.content)) {
11724
11715
  return message;
11725
11716
  }
11726
11717
  const content = message.content.map((block) => block.type === "tool_addition" && block.tool.type === "tool_definition" ? { ...block, tool: { ...block.tool, definition: toolDefinition(block.tool.definition) } } : block);
@@ -12059,28 +12050,6 @@ var Beta = /* @__PURE__ */ (() => {
12059
12050
  Beta.Organization = Organization;
12060
12051
  return Beta;
12061
12052
  })();
12062
- // node_modules/@anthropic-ai/sdk/resources/completions.mjs
12063
- class Completions extends APIResource {
12064
- create(params, options) {
12065
- const { betas, workspace_id, ...body } = params;
12066
- return this._client.post("/v1/complete", {
12067
- body,
12068
- timeout: this._client._options.timeout ?? 600000,
12069
- ...options,
12070
- headers: buildHeaders([
12071
- {
12072
- ...betas?.toString() != null ? { "anthropic-beta": betas?.toString() } : undefined,
12073
- ...workspace_id != null ? { "anthropic-workspace-id": workspace_id } : undefined
12074
- },
12075
- options?.headers
12076
- ]),
12077
- stream: params.stream ?? false,
12078
- __span: startApiCallSpan(this._client, "anthropic.completions.create", options, {
12079
- route: "/v1/complete"
12080
- })
12081
- });
12082
- }
12083
- }
12084
12053
  // node_modules/@anthropic-ai/sdk/resources/files.mjs
12085
12054
  class Files2 extends APIResource {
12086
12055
  list(params = {}, options) {
@@ -12164,14 +12133,11 @@ class Files2 extends APIResource {
12164
12133
  // node_modules/@anthropic-ai/sdk/resources/models.mjs
12165
12134
  class Models2 extends APIResource {
12166
12135
  retrieve(modelID, params = {}, options) {
12167
- const { betas, workspace_id } = params ?? {};
12136
+ const { workspace_id } = params ?? {};
12168
12137
  return this._client.get(path`/v1/models/${modelID}`, {
12169
12138
  ...options,
12170
12139
  headers: buildHeaders([
12171
- {
12172
- ...betas?.toString() != null ? { "anthropic-beta": betas?.toString() } : undefined,
12173
- ...workspace_id != null ? { "anthropic-workspace-id": workspace_id } : undefined
12174
- },
12140
+ { ...workspace_id != null ? { "anthropic-workspace-id": workspace_id } : undefined },
12175
12141
  options?.headers
12176
12142
  ]),
12177
12143
  __span: startApiCallSpan(this._client, "anthropic.models.retrieve", options, {
@@ -12181,15 +12147,12 @@ class Models2 extends APIResource {
12181
12147
  });
12182
12148
  }
12183
12149
  list(params = {}, options) {
12184
- const { betas, workspace_id, ...query } = params ?? {};
12150
+ const { workspace_id, ...query } = params ?? {};
12185
12151
  return this._client.getAPIList("/v1/models", Page, {
12186
12152
  query,
12187
12153
  ...options,
12188
12154
  headers: buildHeaders([
12189
- {
12190
- ...betas?.toString() != null ? { "anthropic-beta": betas?.toString() } : undefined,
12191
- ...workspace_id != null ? { "anthropic-workspace-id": workspace_id } : undefined
12192
- },
12155
+ { ...workspace_id != null ? { "anthropic-workspace-id": workspace_id } : undefined },
12193
12156
  options?.headers
12194
12157
  ]),
12195
12158
  __span: startApiCallSpan(this._client, "anthropic.models.list", options, {
@@ -13154,7 +13117,7 @@ var UserProfiles2 = /* @__PURE__ */ (() => {
13154
13117
  ]),
13155
13118
  __span: startApiCallSpan(this._client, "anthropic.user_profiles.list", options, {
13156
13119
  route: "/v1/user_profiles",
13157
- queryParams: ["limit", "order", "order_by", "page"]
13120
+ queryParams: ["enforcement_status", "limit", "order", "order_by", "page"]
13158
13121
  })
13159
13122
  });
13160
13123
  }
@@ -13180,10 +13143,10 @@ var UserProfiles2 = /* @__PURE__ */ (() => {
13180
13143
  var _BaseAnthropic_instances;
13181
13144
  var _a;
13182
13145
  var _BaseAnthropic_encoder;
13146
+ var _BaseAnthropic_apiKeyFunction;
13183
13147
  var _BaseAnthropic_openTelemetry;
13184
13148
  var _BaseAnthropic_baseURLOverridden;
13185
- var HUMAN_PROMPT = "\\n\\nHuman:";
13186
- var AI_PROMPT = "\\n\\nAssistant:";
13149
+ var warnedOfKeyAndTokenInEnv = false;
13187
13150
  var BaseAnthropic = /* @__PURE__ */ (() => {
13188
13151
 
13189
13152
  class BaseAnthropic {
@@ -13200,20 +13163,24 @@ var BaseAnthropic = /* @__PURE__ */ (() => {
13200
13163
  _BaseAnthropic_instances.add(this);
13201
13164
  this._requestAuthFlags = new WeakMap;
13202
13165
  _BaseAnthropic_encoder.set(this, undefined);
13166
+ _BaseAnthropic_apiKeyFunction.set(this, undefined);
13203
13167
  _BaseAnthropic_openTelemetry.set(this, undefined);
13204
13168
  this._genAIProviderName = "anthropic";
13205
- if (apiKey === undefined) {
13206
- apiKey = opts.profile != null ? null : readEnv("ANTHROPIC_API_KEY") ?? null;
13207
- }
13208
- if (authToken === undefined) {
13209
- authToken = opts.profile != null ? null : readEnv("ANTHROPIC_AUTH_TOKEN") ?? null;
13210
- }
13211
- if (opts.profile != null && (opts.credentials != null || opts.config != null)) {
13212
- throw new TypeError("Pass at most one of `profile`, `credentials`, or `config`.");
13213
- }
13169
+ const given = { apiKey, authToken, ...opts };
13170
+ const passed = CREDENTIAL_OPTIONS.filter((name) => given[name] != null);
13171
+ if (passed.length > 1) {
13172
+ const list = (names) => names.map((name) => `\`${name}\``).join(", ");
13173
+ throw new TypeError(`Pass at most one of ${list(CREDENTIAL_OPTIONS)}. Received ${list(passed)}.`);
13174
+ }
13175
+ const [passedName] = passed;
13176
+ const env = passedName != null ? null : {
13177
+ apiKey: apiKey === undefined ? readEnv("ANTHROPIC_API_KEY") : undefined,
13178
+ authToken: authToken === undefined ? readEnv("ANTHROPIC_AUTH_TOKEN") : undefined
13179
+ };
13180
+ const credential = passedName != null ? { type: passedName, value: given[passedName] } : env?.apiKey != null ? { type: "apiKey", value: env.apiKey } : env?.authToken != null ? { type: "authToken", value: env.authToken } : { type: "defaultChain" };
13214
13181
  const options = {
13215
- apiKey,
13216
- authToken,
13182
+ apiKey: credential.type === "apiKey" ? credential.value : null,
13183
+ authToken: credential.type === "authToken" ? credential.value : null,
13217
13184
  webhookKey,
13218
13185
  ...opts,
13219
13186
  baseURL: baseURL || `https://api.anthropic.com`
@@ -13234,6 +13201,10 @@ new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
13234
13201
  this.logger = options.logger ?? console;
13235
13202
  this.logLevel = defaultLogLevel;
13236
13203
  this.logLevel = parseLogLevel(options.logLevel, "ClientOptions.logLevel", loggerFor(this)) ?? parseLogLevel(readEnv("ANTHROPIC_LOG"), "process.env['ANTHROPIC_LOG']", loggerFor(this)) ?? defaultLogLevel;
13204
+ if (env?.apiKey != null && env.authToken != null && !warnedOfKeyAndTokenInEnv) {
13205
+ warnedOfKeyAndTokenInEnv = true;
13206
+ loggerFor(this).warn("Anthropic: ANTHROPIC_API_KEY and ANTHROPIC_AUTH_TOKEN are both set. Using ANTHROPIC_API_KEY.");
13207
+ }
13237
13208
  this.fetchOptions = options.fetchOptions;
13238
13209
  this.maxRetries = validatePositiveInteger("maxRetries", options.maxRetries ?? 2);
13239
13210
  const scope = this._instrumentationScope();
@@ -13259,8 +13230,9 @@ new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
13259
13230
  delete options.__auth;
13260
13231
  delete options.__baseURLIsExplicit;
13261
13232
  this._options = options;
13262
- this.apiKey = typeof apiKey === "string" ? apiKey : null;
13263
- this.authToken = authToken;
13233
+ this.apiKey = typeof options.apiKey === "string" ? options.apiKey : null;
13234
+ __classPrivateFieldSet(this, _BaseAnthropic_apiKeyFunction, typeof options.apiKey === "function" ? options.apiKey : null, "f");
13235
+ this.authToken = options.authToken ?? null;
13264
13236
  this.webhookKey = webhookKey;
13265
13237
  if (inherited) {
13266
13238
  this._authState = inherited;
@@ -13269,22 +13241,32 @@ new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
13269
13241
  }
13270
13242
  } else {
13271
13243
  this._authState = { provider: null, tokenCache: null, resolution: null, error: null, extraHeaders: {} };
13272
- if (this.apiKey == null && this.authToken == null) {
13273
- const credentials = options.credentials ?? null;
13274
- if (credentials) {
13275
- this._authState.provider = credentials;
13276
- this._authState.tokenCache = this._makeTokenCache(credentials);
13277
- } else if (options.config != null) {
13278
- const result = resolveCredentialsFromConfig(options.config, this._credentialResolverOptions());
13244
+ switch (credential.type) {
13245
+ case "apiKey":
13246
+ case "authToken":
13247
+ break;
13248
+ case "credentials":
13249
+ this._authState.provider = credential.value;
13250
+ this._authState.tokenCache = this._makeTokenCache(credential.value);
13251
+ break;
13252
+ case "config": {
13253
+ const result = resolveCredentialsFromConfig(credential.value, this._credentialResolverOptions());
13279
13254
  this._authState.provider = result.provider;
13280
13255
  this._authState.tokenCache = this._makeTokenCache(result.provider);
13281
13256
  this._authState.extraHeaders = result.extraHeaders;
13282
13257
  this._applyCredentialBaseURL(result.baseURL);
13283
- } else if (options.profile != null) {
13284
- this._authState.resolution = this._resolveDefaultCredentials(options.profile);
13285
- } else if (this._shouldResolveDefaultCredentials()) {
13286
- this._authState.resolution = this._resolveDefaultCredentials();
13258
+ break;
13287
13259
  }
13260
+ case "profile":
13261
+ this._authState.resolution = this._resolveDefaultCredentials(credential.value);
13262
+ break;
13263
+ case "defaultChain":
13264
+ if (this._shouldResolveDefaultCredentials()) {
13265
+ this._authState.resolution = this._resolveDefaultCredentials();
13266
+ }
13267
+ break;
13268
+ default:
13269
+ checkNever(credential);
13288
13270
  }
13289
13271
  }
13290
13272
  }
@@ -13322,8 +13304,13 @@ new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
13322
13304
  });
13323
13305
  }
13324
13306
  withOptions(options) {
13325
- const overridesStructuredAuth = "credentials" in options || "config" in options || "profile" in options;
13326
- const overridesAuth = "apiKey" in options || "authToken" in options || overridesStructuredAuth;
13307
+ options = { ...options };
13308
+ for (const name of CREDENTIAL_OPTIONS) {
13309
+ if (options[name] === undefined)
13310
+ delete options[name];
13311
+ }
13312
+ const overridesAuth = CREDENTIAL_OPTIONS.some((name) => (name in options));
13313
+ const replacesCredential = CREDENTIAL_OPTIONS.some((name) => options[name] != null);
13327
13314
  const internal = {
13328
13315
  ...this._options,
13329
13316
  ...this._baseURLIsExplicit ? { baseURL: this.baseURL } : {},
@@ -13334,11 +13321,10 @@ new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
13334
13321
  fetch: this.fetch,
13335
13322
  fetchOptions: this.fetchOptions,
13336
13323
  middleware: this.middleware,
13337
- apiKey: this.apiKey,
13324
+ apiKey: this.apiKey ?? __classPrivateFieldGet(this, _BaseAnthropic_apiKeyFunction, "f"),
13338
13325
  authToken: this.authToken,
13339
13326
  webhookKey: this.webhookKey,
13340
- credentials: this.credentials,
13341
- ...overridesStructuredAuth ? { credentials: undefined, config: undefined, profile: undefined } : {},
13327
+ ...replacesCredential ? Object.fromEntries(CREDENTIAL_OPTIONS.map((name) => [name, null])) : {},
13342
13328
  ...options,
13343
13329
  openTelemetry: options.openTelemetry ?? __classPrivateFieldGet(this, _BaseAnthropic_openTelemetry, "f"),
13344
13330
  __auth: overridesAuth ? undefined : this._authState,
@@ -13376,10 +13362,10 @@ new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
13376
13362
  if (this._authState.tokenCache || this._authState.resolution) {
13377
13363
  return;
13378
13364
  }
13379
- if (this.apiKey && values.get("x-api-key")) {
13365
+ if (this.apiKey && values.get("authorization")) {
13380
13366
  return;
13381
13367
  }
13382
- if (nulls.has("x-api-key")) {
13368
+ if (nulls.has("authorization")) {
13383
13369
  return;
13384
13370
  }
13385
13371
  if (this.authToken && values.get("authorization")) {
@@ -13388,7 +13374,7 @@ new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
13388
13374
  if (nulls.has("authorization")) {
13389
13375
  return;
13390
13376
  }
13391
- throw new Error('Could not resolve authentication method. Expected one of apiKey, authToken, credentials, config, or profile to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted');
13377
+ throw new Error('Could not resolve authentication method. Expected one of apiKey, authToken, credentials, config, or profile to be set. Or for the "Authorization" header to be explicitly omitted');
13392
13378
  }
13393
13379
  _authFlags(opts) {
13394
13380
  let flags = this._requestAuthFlags.get(opts);
@@ -13405,18 +13391,32 @@ new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
13405
13391
  if (this._authState.error) {
13406
13392
  return;
13407
13393
  }
13394
+ if (__classPrivateFieldGet(this, _BaseAnthropic_apiKeyFunction, "f") && this.apiKey == null) {
13395
+ let apiKey;
13396
+ try {
13397
+ apiKey = await __classPrivateFieldGet(this, _BaseAnthropic_apiKeyFunction, "f").call(this);
13398
+ } catch (err) {
13399
+ throw new AnthropicError(`The \`apiKey\` function failed: ${castToError(err).message}`, {
13400
+ cause: err
13401
+ });
13402
+ }
13403
+ if (!apiKey) {
13404
+ throw new AnthropicError(`The \`apiKey\` function must return a non-empty string. It returned ${JSON.stringify(apiKey)}.`);
13405
+ }
13406
+ return buildHeaders([{ Authorization: `Bearer ${apiKey}` }]);
13407
+ }
13408
13408
  if (this._authState.tokenCache && this.apiKey == null) {
13409
13409
  const token = await this._authState.tokenCache.getToken();
13410
13410
  this._authFlags(opts).usedTokenCache = true;
13411
13411
  return buildHeaders([{ Authorization: `Bearer ${token}` }]);
13412
13412
  }
13413
- return buildHeaders([await this.apiKeyAuth(opts), await this.bearerAuth(opts)]);
13413
+ return buildHeaders([await this.bearerAuth(opts), await this.apiKeyAuth(opts)]);
13414
13414
  }
13415
13415
  async apiKeyAuth(opts) {
13416
13416
  if (this.apiKey == null) {
13417
13417
  return;
13418
13418
  }
13419
- return buildHeaders([{ "X-Api-Key": this.apiKey }]);
13419
+ return buildHeaders([{ Authorization: `Bearer ${this.apiKey}` }]);
13420
13420
  }
13421
13421
  async bearerAuth(opts) {
13422
13422
  if (this.authToken == null) {
@@ -13805,7 +13805,7 @@ new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
13805
13805
  "X-Stainless-Timeout": String(Math.trunc(timeout / 1000)),
13806
13806
  ...getPlatformHeaders(),
13807
13807
  ...this._options.dangerouslyAllowBrowser ? { "anthropic-dangerous-direct-browser-access": "true" } : undefined,
13808
- "anthropic-version": "2023-06-01"
13808
+ "anthropic-version": "2026-10-21"
13809
13809
  },
13810
13810
  await this.authHeaders(options),
13811
13811
  this._options.defaultHeaders,
@@ -13843,7 +13843,7 @@ new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
13843
13843
  return typeof body === "object" && body !== null && ((Symbol.asyncIterator in body) || (Symbol.iterator in body) && ("next" in body) && typeof body.next === "function");
13844
13844
  }
13845
13845
  }
13846
- _a = BaseAnthropic, _BaseAnthropic_encoder = new WeakMap, _BaseAnthropic_openTelemetry = new WeakMap, _BaseAnthropic_instances = new WeakSet, _BaseAnthropic_baseURLOverridden = function _BaseAnthropic_baseURLOverridden() {
13846
+ _a = BaseAnthropic, _BaseAnthropic_encoder = new WeakMap, _BaseAnthropic_apiKeyFunction = new WeakMap, _BaseAnthropic_openTelemetry = new WeakMap, _BaseAnthropic_instances = new WeakSet, _BaseAnthropic_baseURLOverridden = function _BaseAnthropic_baseURLOverridden() {
13847
13847
  return this.baseURL !== "https://api.anthropic.com";
13848
13848
  };
13849
13849
  BaseAnthropic.Anthropic = _a;
@@ -13862,8 +13862,6 @@ new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
13862
13862
  BaseAnthropic.PermissionDeniedError = PermissionDeniedError;
13863
13863
  BaseAnthropic.UnprocessableEntityError = UnprocessableEntityError;
13864
13864
  BaseAnthropic.toFile = toFile;
13865
- BaseAnthropic.HUMAN_PROMPT = HUMAN_PROMPT;
13866
- BaseAnthropic.AI_PROMPT = AI_PROMPT;
13867
13865
  return BaseAnthropic;
13868
13866
  })();
13869
13867
  var Anthropic = /* @__PURE__ */ (() => {
@@ -13871,7 +13869,6 @@ var Anthropic = /* @__PURE__ */ (() => {
13871
13869
  class Anthropic extends BaseAnthropic {
13872
13870
  constructor() {
13873
13871
  super(...arguments);
13874
- this.completions = new Completions(this);
13875
13872
  this.messages = new Messages(this);
13876
13873
  this.models = new Models2(this);
13877
13874
  this.files = new Files2(this);
@@ -13881,7 +13878,6 @@ var Anthropic = /* @__PURE__ */ (() => {
13881
13878
  this.beta = new Beta(this);
13882
13879
  }
13883
13880
  }
13884
- Anthropic.Completions = Completions;
13885
13881
  Anthropic.Messages = Messages;
13886
13882
  Anthropic.Models = Models2;
13887
13883
  Anthropic.Files = Files2;