@keystrokehq/cli 0.0.53 → 0.0.54

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 (77) hide show
  1. package/dist/{anthropic-BW7tKfye.mjs → anthropic-OIjNEgxk.mjs} +3 -3
  2. package/dist/{anthropic-BW7tKfye.mjs.map → anthropic-OIjNEgxk.mjs.map} +1 -1
  3. package/dist/{azure-openai-responses-CbpqfHpG.mjs → azure-openai-responses-J2iGyy4d.mjs} +3 -3
  4. package/dist/{azure-openai-responses-CbpqfHpG.mjs.map → azure-openai-responses-J2iGyy4d.mjs.map} +1 -1
  5. package/dist/{cat-TSFMZVYS-BfwZOafs.mjs → cat-TSFMZVYS-BUlDi5Qf.mjs} +2 -2
  6. package/dist/{cat-TSFMZVYS-BfwZOafs.mjs.map → cat-TSFMZVYS-BUlDi5Qf.mjs.map} +1 -1
  7. package/dist/{cut-OKARJCCV-Cm3OStWG.mjs → cut-OKARJCCV-p9v-ig7a.mjs} +2 -2
  8. package/dist/{cut-OKARJCCV-Cm3OStWG.mjs.map → cut-OKARJCCV-p9v-ig7a.mjs.map} +1 -1
  9. package/dist/{dist-BSgBg_mF.mjs → dist-OeT0Z7by.mjs} +3 -3
  10. package/dist/{dist-BSgBg_mF.mjs.map → dist-OeT0Z7by.mjs.map} +1 -1
  11. package/dist/{du-572XNP42-DeJ11TW7.mjs → du-572XNP42-Br0wC4cR.mjs} +2 -2
  12. package/dist/{du-572XNP42-DeJ11TW7.mjs.map → du-572XNP42-Br0wC4cR.mjs.map} +1 -1
  13. package/dist/{emit-route-manifest-DRcNXHCP-CSOVo0UZ.mjs → emit-route-manifest-DRcNXHCP-CuH5IaKl.mjs} +210 -209
  14. package/dist/emit-route-manifest-DRcNXHCP-CuH5IaKl.mjs.map +1 -0
  15. package/dist/{env-api-keys-CjsGqLnm.mjs → env-api-keys-Dj0phNAZ.mjs} +2 -2
  16. package/dist/{env-api-keys-CjsGqLnm.mjs.map → env-api-keys-Dj0phNAZ.mjs.map} +1 -1
  17. package/dist/{from-BVavsm7Y.mjs → from-CM85M090.mjs} +2 -2
  18. package/dist/{from-BVavsm7Y.mjs.map → from-CM85M090.mjs.map} +1 -1
  19. package/dist/{google-B3pBIkED.mjs → google-CZqUzYLL.mjs} +3 -3
  20. package/dist/{google-B3pBIkED.mjs.map → google-CZqUzYLL.mjs.map} +1 -1
  21. package/dist/{google-shared-CZrnlDVf.mjs → google-shared-DpSg5iXi.mjs} +5 -5
  22. package/dist/{google-shared-CZrnlDVf.mjs.map → google-shared-DpSg5iXi.mjs.map} +1 -1
  23. package/dist/{google-vertex-CK79qwUV.mjs → google-vertex-BM9RkknB.mjs} +2 -2
  24. package/dist/{google-vertex-CK79qwUV.mjs.map → google-vertex-BM9RkknB.mjs.map} +1 -1
  25. package/dist/{html-to-markdown-JW4MSQZO-CvfnlE0t.mjs → html-to-markdown-JW4MSQZO-CL7jZmA2.mjs} +2 -2
  26. package/dist/{html-to-markdown-JW4MSQZO-CvfnlE0t.mjs.map → html-to-markdown-JW4MSQZO-CL7jZmA2.mjs.map} +1 -1
  27. package/dist/index.mjs +712 -6
  28. package/dist/index.mjs.map +1 -1
  29. package/dist/{jq-4XLYLOS5-DrYXLsYH.mjs → jq-4XLYLOS5-KSRW1t5y.mjs} +2 -2
  30. package/dist/{jq-4XLYLOS5-DrYXLsYH.mjs.map → jq-4XLYLOS5-KSRW1t5y.mjs.map} +1 -1
  31. package/dist/{json-parse-4wvL0yab.mjs → json-parse-D7gmIw6y.mjs} +2 -2
  32. package/dist/{json-parse-4wvL0yab.mjs.map → json-parse-D7gmIw6y.mjs.map} +1 -1
  33. package/dist/{lib-L8rwARiF.mjs → lib-15JvMO_y.mjs} +2 -2
  34. package/dist/{lib-L8rwARiF.mjs.map → lib-15JvMO_y.mjs.map} +1 -1
  35. package/dist/{ls-ZJGQER7M-C_1bAeGq.mjs → ls-ZJGQER7M-CvMghjGY.mjs} +2 -2
  36. package/dist/{ls-ZJGQER7M-C_1bAeGq.mjs.map → ls-ZJGQER7M-CvMghjGY.mjs.map} +1 -1
  37. package/dist/{mistral-CO6JoIDU.mjs → mistral-BMK3QxKa.mjs} +3 -3
  38. package/dist/{mistral-CO6JoIDU.mjs.map → mistral-BMK3QxKa.mjs.map} +1 -1
  39. package/dist/{multipart-parser-CybO63Pn.mjs → multipart-parser-ChdFj-Tf.mjs} +3 -3
  40. package/dist/{multipart-parser-CybO63Pn.mjs.map → multipart-parser-ChdFj-Tf.mjs.map} +1 -1
  41. package/dist/{openai-codex-responses-BsV2OXkO.mjs → openai-codex-responses-FPOFDQCI.mjs} +3 -3
  42. package/dist/{openai-codex-responses-BsV2OXkO.mjs.map → openai-codex-responses-FPOFDQCI.mjs.map} +1 -1
  43. package/dist/{openai-completions-DtKMQJXz.mjs → openai-completions-DaFkurXZ.mjs} +3 -3
  44. package/dist/{openai-completions-DtKMQJXz.mjs.map → openai-completions-DaFkurXZ.mjs.map} +1 -1
  45. package/dist/{openai-responses-Dn8IOWpx.mjs → openai-responses-DjcjpFVd.mjs} +3 -3
  46. package/dist/{openai-responses-Dn8IOWpx.mjs.map → openai-responses-DjcjpFVd.mjs.map} +1 -1
  47. package/dist/{openai-responses-shared-rmpfdSMl.mjs → openai-responses-shared-DOajVKFM.mjs} +2 -2
  48. package/dist/{openai-responses-shared-rmpfdSMl.mjs.map → openai-responses-shared-DOajVKFM.mjs.map} +1 -1
  49. package/dist/{openrouter-Cq37VS4X.mjs → openrouter-BD82J9ov.mjs} +2 -2
  50. package/dist/{openrouter-Cq37VS4X.mjs.map → openrouter-BD82J9ov.mjs.map} +1 -1
  51. package/dist/{printf-TWGXF445-BcIEiMjE.mjs → printf-TWGXF445-CtbOGcY-.mjs} +2 -2
  52. package/dist/{printf-TWGXF445-BcIEiMjE.mjs.map → printf-TWGXF445-CtbOGcY-.mjs.map} +1 -1
  53. package/dist/{sort-SW2YEO5B-D08jaQ5v.mjs → sort-SW2YEO5B-BT2dtrqE.mjs} +2 -2
  54. package/dist/{sort-SW2YEO5B-D08jaQ5v.mjs.map → sort-SW2YEO5B-BT2dtrqE.mjs.map} +1 -1
  55. package/dist/{sqlite3-CGOEFJAO-DVuaAgm0.mjs → sqlite3-CGOEFJAO-DKaf3b_T.mjs} +2 -2
  56. package/dist/{sqlite3-CGOEFJAO-DVuaAgm0.mjs.map → sqlite3-CGOEFJAO-DKaf3b_T.mjs.map} +1 -1
  57. package/dist/{src-xQsWiElt.mjs → src-BhFu0wxf.mjs} +4 -4
  58. package/dist/{src-xQsWiElt.mjs.map → src-BhFu0wxf.mjs.map} +1 -1
  59. package/dist/{src-DuFA6S6A.mjs → src-CO4ATuDw.mjs} +2 -2
  60. package/dist/{src-DuFA6S6A.mjs.map → src-CO4ATuDw.mjs.map} +1 -1
  61. package/dist/{tar-STHHZTZ6-C7-gpnmi.mjs → tar-STHHZTZ6-Cy8WppFl.mjs} +3 -3
  62. package/dist/{tar-STHHZTZ6-C7-gpnmi.mjs.map → tar-STHHZTZ6-Cy8WppFl.mjs.map} +1 -1
  63. package/dist/{tree-YLD52CNT-DiHyiFBi.mjs → tree-YLD52CNT-CFtEJCzO.mjs} +2 -2
  64. package/dist/{tree-YLD52CNT-DiHyiFBi.mjs.map → tree-YLD52CNT-CFtEJCzO.mjs.map} +1 -1
  65. package/dist/{uniq-XSIZR6PB-BA-vRB1O.mjs → uniq-XSIZR6PB-ERG9Mu92.mjs} +2 -2
  66. package/dist/{uniq-XSIZR6PB-BA-vRB1O.mjs.map → uniq-XSIZR6PB-ERG9Mu92.mjs.map} +1 -1
  67. package/dist/{watch-app-DTIeKrbl-BdEadl4m.mjs → watch-app-DTIeKrbl-C-BThJEO.mjs} +2 -2
  68. package/dist/{watch-app-DTIeKrbl-BdEadl4m.mjs.map → watch-app-DTIeKrbl-C-BThJEO.mjs.map} +1 -1
  69. package/dist/{wc-LF7NU4LA-BWoItyXd.mjs → wc-LF7NU4LA-CsPoPEAk.mjs} +2 -2
  70. package/dist/{wc-LF7NU4LA-BWoItyXd.mjs.map → wc-LF7NU4LA-CsPoPEAk.mjs.map} +1 -1
  71. package/dist/{websocket-server-DBCa1Df9.mjs → websocket-server-m6wiYSFm.mjs} +2 -2
  72. package/dist/{websocket-server-DBCa1Df9.mjs.map → websocket-server-m6wiYSFm.mjs.map} +1 -1
  73. package/dist/{xan-Y6WF3IRG-BilR2MsH.mjs → xan-Y6WF3IRG-ovCpFLkA.mjs} +2 -2
  74. package/dist/{xan-Y6WF3IRG-BilR2MsH.mjs.map → xan-Y6WF3IRG-ovCpFLkA.mjs.map} +1 -1
  75. package/package.json +4 -4
  76. package/dist/chunk-lXUa1qmO.mjs +0 -37
  77. package/dist/emit-route-manifest-DRcNXHCP-CSOVo0UZ.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-BW7tKfye.mjs","names":["Models","Versions","VersionsAPI.Versions","Versions","MemoriesAPI.Memories","MemoryVersionsAPI.MemoryVersions","getOutputFormat","JSON_BUF_PROPERTY","tracksToolInput","Batches","DEPRECATED_MODELS","MODELS_TO_WARN_WITH_THINKING_ENABLED","Messages","BatchesAPI.Batches","Batches","EventsAPI.Events","ResourcesAPI.Resources","VersionsAPI.Versions","CredentialsAPI.Credentials","ModelsAPI.Models","MessagesAPI.Messages","AgentsAPI.Agents","EnvironmentsAPI.Environments","SessionsAPI.Sessions","VaultsAPI.Vaults","MemoryStoresAPI.MemoryStores","FilesAPI.Files","SkillsAPI.Skills","UserProfilesAPI.UserProfiles","Models","Messages","BatchesAPI.Batches","Errors.AnthropicError","Shims.getDefaultFetch","Opts.FallbackEncoder","Errors.APIUserAbortError","Errors.APIConnectionTimeoutError","Errors.APIConnectionError","Shims.CancelReadableStream","Pagination.PagePromise","Shims.ReadableStreamFrom","Errors.APIError","Errors.NotFoundError","Errors.ConflictError","Errors.RateLimitError","Errors.BadRequestError","Errors.AuthenticationError","Errors.InternalServerError","Errors.PermissionDeniedError","Errors.UnprocessableEntityError","Uploads.toFile","API.Completions","API.Messages","API.Models","API.Beta"],"sources":["../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/tslib.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/utils/uuid.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/errors.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/core/error.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/utils/values.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/utils/sleep.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/version.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/detect-platform.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/shims.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/request-options.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/utils/query.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/utils/bytes.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/decoders/line.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/utils/log.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/core/streaming.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/parse.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/core/api-promise.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/core/pagination.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/uploads.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/to-file.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/core/resource.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/headers.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/utils/path.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/environments.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/stainless-helper-header.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/files.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/models.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/user-profiles.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/agents/versions.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memories.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-versions.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-stores.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/constants.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/beta-parser.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/tools/ToolError.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/tools/CompactionControl.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/tools/BetaToolRunner.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/sessions/events.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/sessions/resources.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/sessions/sessions.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/vaults/credentials.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/vaults/vaults.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/beta.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/completions.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/parser.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/messages/batches.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/messages/messages.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/models.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/utils/env.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/client.mjs","../../../node_modules/.pnpm/@earendil-works+pi-ai@0.75.4_@modelcontextprotocol+sdk@1.29.0_zod@4.4.3__ws@8.20.1_zod@4.4.3/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js"],"sourcesContent":["function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\")\n throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f)\n throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver))\n throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? (f.value = value) : state.set(receiver, value), value;\n}\nfunction __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f)\n throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver))\n throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\nexport { __classPrivateFieldSet, __classPrivateFieldGet };\n","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\n/**\n * https://stackoverflow.com/a/2117523\n */\nexport let uuid4 = function () {\n const { crypto } = globalThis;\n if (crypto?.randomUUID) {\n uuid4 = crypto.randomUUID.bind(crypto);\n return crypto.randomUUID();\n }\n const u8 = new Uint8Array(1);\n const randomByte = crypto ? () => crypto.getRandomValues(u8)[0] : () => (Math.random() * 0xff) & 0xff;\n return '10000000-1000-4000-8000-100000000000'.replace(/[018]/g, (c) => (+c ^ (randomByte() & (15 >> (+c / 4)))).toString(16));\n};\n//# sourceMappingURL=uuid.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nexport function isAbortError(err) {\n return (typeof err === 'object' &&\n err !== null &&\n // Spec-compliant fetch implementations\n (('name' in err && err.name === 'AbortError') ||\n // Expo fetch\n ('message' in err && String(err.message).includes('FetchRequestCanceledException'))));\n}\nexport const castToError = (err) => {\n if (err instanceof Error)\n return err;\n if (typeof err === 'object' && err !== null) {\n try {\n if (Object.prototype.toString.call(err) === '[object Error]') {\n // @ts-ignore - not all envs have native support for cause yet\n const error = new Error(err.message, err.cause ? { cause: err.cause } : {});\n if (err.stack)\n error.stack = err.stack;\n // @ts-ignore - not all envs have native support for cause yet\n if (err.cause && !error.cause)\n error.cause = err.cause;\n if (err.name)\n error.name = err.name;\n return error;\n }\n }\n catch { }\n try {\n return new Error(JSON.stringify(err));\n }\n catch { }\n }\n return new Error(err);\n};\n//# sourceMappingURL=errors.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { castToError } from \"../internal/errors.mjs\";\nexport class AnthropicError extends Error {\n}\nexport class APIError extends AnthropicError {\n constructor(status, error, message, headers, type) {\n super(`${APIError.makeMessage(status, error, message)}`);\n this.status = status;\n this.headers = headers;\n this.requestID = headers?.get('request-id');\n this.error = error;\n this.type = type ?? null;\n }\n static makeMessage(status, error, message) {\n const msg = error?.message ?\n typeof error.message === 'string' ?\n error.message\n : JSON.stringify(error.message)\n : error ? JSON.stringify(error)\n : message;\n if (status && msg) {\n return `${status} ${msg}`;\n }\n if (status) {\n return `${status} status code (no body)`;\n }\n if (msg) {\n return msg;\n }\n return '(no status code or body)';\n }\n static generate(status, errorResponse, message, headers) {\n if (!status || !headers) {\n return new APIConnectionError({ message, cause: castToError(errorResponse) });\n }\n const error = errorResponse;\n const type = error?.['error']?.['type'];\n if (status === 400) {\n return new BadRequestError(status, error, message, headers, type);\n }\n if (status === 401) {\n return new AuthenticationError(status, error, message, headers, type);\n }\n if (status === 403) {\n return new PermissionDeniedError(status, error, message, headers, type);\n }\n if (status === 404) {\n return new NotFoundError(status, error, message, headers, type);\n }\n if (status === 409) {\n return new ConflictError(status, error, message, headers, type);\n }\n if (status === 422) {\n return new UnprocessableEntityError(status, error, message, headers, type);\n }\n if (status === 429) {\n return new RateLimitError(status, error, message, headers, type);\n }\n if (status >= 500) {\n return new InternalServerError(status, error, message, headers, type);\n }\n return new APIError(status, error, message, headers, type);\n }\n}\nexport class APIUserAbortError extends APIError {\n constructor({ message } = {}) {\n super(undefined, undefined, message || 'Request was aborted.', undefined);\n }\n}\nexport class APIConnectionError extends APIError {\n constructor({ message, cause }) {\n super(undefined, undefined, message || 'Connection error.', undefined);\n // in some environments the 'cause' property is already declared\n // @ts-ignore\n if (cause)\n this.cause = cause;\n }\n}\nexport class APIConnectionTimeoutError extends APIConnectionError {\n constructor({ message } = {}) {\n super({ message: message ?? 'Request timed out.' });\n }\n}\nexport class BadRequestError extends APIError {\n}\nexport class AuthenticationError extends APIError {\n}\nexport class PermissionDeniedError extends APIError {\n}\nexport class NotFoundError extends APIError {\n}\nexport class ConflictError extends APIError {\n}\nexport class UnprocessableEntityError extends APIError {\n}\nexport class RateLimitError extends APIError {\n}\nexport class InternalServerError extends APIError {\n}\n//# sourceMappingURL=error.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { AnthropicError } from \"../../core/error.mjs\";\n// https://url.spec.whatwg.org/#url-scheme-string\nconst startsWithSchemeRegexp = /^[a-z][a-z0-9+.-]*:/i;\nexport const isAbsoluteURL = (url) => {\n return startsWithSchemeRegexp.test(url);\n};\nexport let isArray = (val) => ((isArray = Array.isArray), isArray(val));\nexport let isReadonlyArray = isArray;\n/** Returns an object if the given value isn't an object, otherwise returns as-is */\nexport function maybeObj(x) {\n if (typeof x !== 'object') {\n return {};\n }\n return x ?? {};\n}\n// https://stackoverflow.com/a/34491287\nexport function isEmptyObj(obj) {\n if (!obj)\n return true;\n for (const _k in obj)\n return false;\n return true;\n}\n// https://eslint.org/docs/latest/rules/no-prototype-builtins\nexport function hasOwn(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\nexport function isObj(obj) {\n return obj != null && typeof obj === 'object' && !Array.isArray(obj);\n}\nexport const ensurePresent = (value) => {\n if (value == null) {\n throw new AnthropicError(`Expected a value to be given but received ${value} instead.`);\n }\n return value;\n};\nexport const validatePositiveInteger = (name, n) => {\n if (typeof n !== 'number' || !Number.isInteger(n)) {\n throw new AnthropicError(`${name} must be an integer`);\n }\n if (n < 0) {\n throw new AnthropicError(`${name} must be a positive integer`);\n }\n return n;\n};\nexport const coerceInteger = (value) => {\n if (typeof value === 'number')\n return Math.round(value);\n if (typeof value === 'string')\n return parseInt(value, 10);\n throw new AnthropicError(`Could not coerce ${value} (type: ${typeof value}) into a number`);\n};\nexport const coerceFloat = (value) => {\n if (typeof value === 'number')\n return value;\n if (typeof value === 'string')\n return parseFloat(value);\n throw new AnthropicError(`Could not coerce ${value} (type: ${typeof value}) into a number`);\n};\nexport const coerceBoolean = (value) => {\n if (typeof value === 'boolean')\n return value;\n if (typeof value === 'string')\n return value === 'true';\n return Boolean(value);\n};\nexport const maybeCoerceInteger = (value) => {\n if (value == null) {\n return undefined;\n }\n return coerceInteger(value);\n};\nexport const maybeCoerceFloat = (value) => {\n if (value == null) {\n return undefined;\n }\n return coerceFloat(value);\n};\nexport const maybeCoerceBoolean = (value) => {\n if (value == null) {\n return undefined;\n }\n return coerceBoolean(value);\n};\nexport const safeJSON = (text) => {\n try {\n return JSON.parse(text);\n }\n catch (err) {\n return undefined;\n }\n};\n// Gets a value from an object, deletes the key, and returns the value (or undefined if not found)\nexport const pop = (obj, key) => {\n const value = obj[key];\n delete obj[key];\n return value;\n};\n//# sourceMappingURL=values.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nexport const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));\n//# sourceMappingURL=sleep.mjs.map","export const VERSION = '0.91.1'; // x-release-please-version\n//# sourceMappingURL=version.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { VERSION } from \"../version.mjs\";\nexport const isRunningInBrowser = () => {\n return (\n // @ts-ignore\n typeof window !== 'undefined' &&\n // @ts-ignore\n typeof window.document !== 'undefined' &&\n // @ts-ignore\n typeof navigator !== 'undefined');\n};\n/**\n * Note this does not detect 'browser'; for that, use getBrowserInfo().\n */\nfunction getDetectedPlatform() {\n if (typeof Deno !== 'undefined' && Deno.build != null) {\n return 'deno';\n }\n if (typeof EdgeRuntime !== 'undefined') {\n return 'edge';\n }\n if (Object.prototype.toString.call(typeof globalThis.process !== 'undefined' ? globalThis.process : 0) === '[object process]') {\n return 'node';\n }\n return 'unknown';\n}\nconst getPlatformProperties = () => {\n const detectedPlatform = getDetectedPlatform();\n if (detectedPlatform === 'deno') {\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': normalizePlatform(Deno.build.os),\n 'X-Stainless-Arch': normalizeArch(Deno.build.arch),\n 'X-Stainless-Runtime': 'deno',\n 'X-Stainless-Runtime-Version': typeof Deno.version === 'string' ? Deno.version : Deno.version?.deno ?? 'unknown',\n };\n }\n if (typeof EdgeRuntime !== 'undefined') {\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': 'Unknown',\n 'X-Stainless-Arch': `other:${EdgeRuntime}`,\n 'X-Stainless-Runtime': 'edge',\n 'X-Stainless-Runtime-Version': globalThis.process.version,\n };\n }\n // Check if Node.js\n if (detectedPlatform === 'node') {\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': normalizePlatform(globalThis.process.platform ?? 'unknown'),\n 'X-Stainless-Arch': normalizeArch(globalThis.process.arch ?? 'unknown'),\n 'X-Stainless-Runtime': 'node',\n 'X-Stainless-Runtime-Version': globalThis.process.version ?? 'unknown',\n };\n }\n const browserInfo = getBrowserInfo();\n if (browserInfo) {\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': 'Unknown',\n 'X-Stainless-Arch': 'unknown',\n 'X-Stainless-Runtime': `browser:${browserInfo.browser}`,\n 'X-Stainless-Runtime-Version': browserInfo.version,\n };\n }\n // TODO add support for Cloudflare workers, etc.\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': 'Unknown',\n 'X-Stainless-Arch': 'unknown',\n 'X-Stainless-Runtime': 'unknown',\n 'X-Stainless-Runtime-Version': 'unknown',\n };\n};\n// Note: modified from https://github.com/JS-DevTools/host-environment/blob/b1ab79ecde37db5d6e163c050e54fe7d287d7c92/src/isomorphic.browser.ts\nfunction getBrowserInfo() {\n if (typeof navigator === 'undefined' || !navigator) {\n return null;\n }\n // NOTE: The order matters here!\n const browserPatterns = [\n { key: 'edge', pattern: /Edge(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'ie', pattern: /MSIE(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'ie', pattern: /Trident(?:.*rv\\:(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'chrome', pattern: /Chrome(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'firefox', pattern: /Firefox(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'safari', pattern: /(?:Version\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?(?:\\W+Mobile\\S*)?\\W+Safari/ },\n ];\n // Find the FIRST matching browser\n for (const { key, pattern } of browserPatterns) {\n const match = pattern.exec(navigator.userAgent);\n if (match) {\n const major = match[1] || 0;\n const minor = match[2] || 0;\n const patch = match[3] || 0;\n return { browser: key, version: `${major}.${minor}.${patch}` };\n }\n }\n return null;\n}\nconst normalizeArch = (arch) => {\n // Node docs:\n // - https://nodejs.org/api/process.html#processarch\n // Deno docs:\n // - https://doc.deno.land/deno/stable/~/Deno.build\n if (arch === 'x32')\n return 'x32';\n if (arch === 'x86_64' || arch === 'x64')\n return 'x64';\n if (arch === 'arm')\n return 'arm';\n if (arch === 'aarch64' || arch === 'arm64')\n return 'arm64';\n if (arch)\n return `other:${arch}`;\n return 'unknown';\n};\nconst normalizePlatform = (platform) => {\n // Node platforms:\n // - https://nodejs.org/api/process.html#processplatform\n // Deno platforms:\n // - https://doc.deno.land/deno/stable/~/Deno.build\n // - https://github.com/denoland/deno/issues/14799\n platform = platform.toLowerCase();\n // NOTE: this iOS check is untested and may not work\n // Node does not work natively on IOS, there is a fork at\n // https://github.com/nodejs-mobile/nodejs-mobile\n // however it is unknown at the time of writing how to detect if it is running\n if (platform.includes('ios'))\n return 'iOS';\n if (platform === 'android')\n return 'Android';\n if (platform === 'darwin')\n return 'MacOS';\n if (platform === 'win32')\n return 'Windows';\n if (platform === 'freebsd')\n return 'FreeBSD';\n if (platform === 'openbsd')\n return 'OpenBSD';\n if (platform === 'linux')\n return 'Linux';\n if (platform)\n return `Other:${platform}`;\n return 'Unknown';\n};\nlet _platformHeaders;\nexport const getPlatformHeaders = () => {\n return (_platformHeaders ?? (_platformHeaders = getPlatformProperties()));\n};\n//# sourceMappingURL=detect-platform.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nexport function getDefaultFetch() {\n if (typeof fetch !== 'undefined') {\n return fetch;\n }\n throw new Error('`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`');\n}\nexport function makeReadableStream(...args) {\n const ReadableStream = globalThis.ReadableStream;\n if (typeof ReadableStream === 'undefined') {\n // Note: All of the platforms / runtimes we officially support already define\n // `ReadableStream` as a global, so this should only ever be hit on unsupported runtimes.\n throw new Error('`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`');\n }\n return new ReadableStream(...args);\n}\nexport function ReadableStreamFrom(iterable) {\n let iter = Symbol.asyncIterator in iterable ? iterable[Symbol.asyncIterator]() : iterable[Symbol.iterator]();\n return makeReadableStream({\n start() { },\n async pull(controller) {\n const { done, value } = await iter.next();\n if (done) {\n controller.close();\n }\n else {\n controller.enqueue(value);\n }\n },\n async cancel() {\n await iter.return?.();\n },\n });\n}\n/**\n * Most browsers don't yet have async iterable support for ReadableStream,\n * and Node has a very different way of reading bytes from its \"ReadableStream\".\n *\n * This polyfill was pulled from https://github.com/MattiasBuelens/web-streams-polyfill/pull/122#issuecomment-1627354490\n */\nexport function ReadableStreamToAsyncIterable(stream) {\n if (stream[Symbol.asyncIterator])\n return stream;\n const reader = stream.getReader();\n return {\n async next() {\n try {\n const result = await reader.read();\n if (result?.done)\n reader.releaseLock(); // release lock when stream becomes closed\n return result;\n }\n catch (e) {\n reader.releaseLock(); // release lock when stream becomes errored\n throw e;\n }\n },\n async return() {\n const cancelPromise = reader.cancel();\n reader.releaseLock();\n await cancelPromise;\n return { done: true, value: undefined };\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n };\n}\n/**\n * Cancels a ReadableStream we don't need to consume.\n * See https://undici.nodejs.org/#/?id=garbage-collection\n */\nexport async function CancelReadableStream(stream) {\n if (stream === null || typeof stream !== 'object')\n return;\n if (stream[Symbol.asyncIterator]) {\n await stream[Symbol.asyncIterator]().return?.();\n return;\n }\n const reader = stream.getReader();\n const cancelPromise = reader.cancel();\n reader.releaseLock();\n await cancelPromise;\n}\n//# sourceMappingURL=shims.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nexport const FallbackEncoder = ({ headers, body }) => {\n return {\n bodyHeaders: {\n 'content-type': 'application/json',\n },\n body: JSON.stringify(body),\n };\n};\n//# sourceMappingURL=request-options.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { AnthropicError } from \"../../core/error.mjs\";\n/**\n * Basic re-implementation of `qs.stringify` for primitive types.\n */\nexport function stringifyQuery(query) {\n return Object.entries(query)\n .filter(([_, value]) => typeof value !== 'undefined')\n .map(([key, value]) => {\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;\n }\n if (value === null) {\n return `${encodeURIComponent(key)}=`;\n }\n throw new AnthropicError(`Cannot stringify type ${typeof value}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`);\n })\n .join('&');\n}\n//# sourceMappingURL=query.mjs.map","export function concatBytes(buffers) {\n let length = 0;\n for (const buffer of buffers) {\n length += buffer.length;\n }\n const output = new Uint8Array(length);\n let index = 0;\n for (const buffer of buffers) {\n output.set(buffer, index);\n index += buffer.length;\n }\n return output;\n}\nlet encodeUTF8_;\nexport function encodeUTF8(str) {\n let encoder;\n return (encodeUTF8_ ??\n ((encoder = new globalThis.TextEncoder()), (encodeUTF8_ = encoder.encode.bind(encoder))))(str);\n}\nlet decodeUTF8_;\nexport function decodeUTF8(bytes) {\n let decoder;\n return (decodeUTF8_ ??\n ((decoder = new globalThis.TextDecoder()), (decodeUTF8_ = decoder.decode.bind(decoder))))(bytes);\n}\n//# sourceMappingURL=bytes.mjs.map","var _LineDecoder_buffer, _LineDecoder_carriageReturnIndex;\nimport { __classPrivateFieldGet, __classPrivateFieldSet } from \"../tslib.mjs\";\nimport { concatBytes, decodeUTF8, encodeUTF8 } from \"../utils/bytes.mjs\";\n/**\n * A re-implementation of httpx's `LineDecoder` in Python that handles incrementally\n * reading lines from text.\n *\n * https://github.com/encode/httpx/blob/920333ea98118e9cf617f246905d7b202510941c/httpx/_decoders.py#L258\n */\nexport class LineDecoder {\n constructor() {\n _LineDecoder_buffer.set(this, void 0);\n _LineDecoder_carriageReturnIndex.set(this, void 0);\n __classPrivateFieldSet(this, _LineDecoder_buffer, new Uint8Array(), \"f\");\n __classPrivateFieldSet(this, _LineDecoder_carriageReturnIndex, null, \"f\");\n }\n decode(chunk) {\n if (chunk == null) {\n return [];\n }\n const binaryChunk = chunk instanceof ArrayBuffer ? new Uint8Array(chunk)\n : typeof chunk === 'string' ? encodeUTF8(chunk)\n : chunk;\n __classPrivateFieldSet(this, _LineDecoder_buffer, concatBytes([__classPrivateFieldGet(this, _LineDecoder_buffer, \"f\"), binaryChunk]), \"f\");\n const lines = [];\n let patternIndex;\n while ((patternIndex = findNewlineIndex(__classPrivateFieldGet(this, _LineDecoder_buffer, \"f\"), __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, \"f\"))) != null) {\n if (patternIndex.carriage && __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, \"f\") == null) {\n // skip until we either get a corresponding `\\n`, a new `\\r` or nothing\n __classPrivateFieldSet(this, _LineDecoder_carriageReturnIndex, patternIndex.index, \"f\");\n continue;\n }\n // we got double \\r or \\rtext\\n\n if (__classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, \"f\") != null &&\n (patternIndex.index !== __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, \"f\") + 1 || patternIndex.carriage)) {\n lines.push(decodeUTF8(__classPrivateFieldGet(this, _LineDecoder_buffer, \"f\").subarray(0, __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, \"f\") - 1)));\n __classPrivateFieldSet(this, _LineDecoder_buffer, __classPrivateFieldGet(this, _LineDecoder_buffer, \"f\").subarray(__classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, \"f\")), \"f\");\n __classPrivateFieldSet(this, _LineDecoder_carriageReturnIndex, null, \"f\");\n continue;\n }\n const endIndex = __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, \"f\") !== null ? patternIndex.preceding - 1 : patternIndex.preceding;\n const line = decodeUTF8(__classPrivateFieldGet(this, _LineDecoder_buffer, \"f\").subarray(0, endIndex));\n lines.push(line);\n __classPrivateFieldSet(this, _LineDecoder_buffer, __classPrivateFieldGet(this, _LineDecoder_buffer, \"f\").subarray(patternIndex.index), \"f\");\n __classPrivateFieldSet(this, _LineDecoder_carriageReturnIndex, null, \"f\");\n }\n return lines;\n }\n flush() {\n if (!__classPrivateFieldGet(this, _LineDecoder_buffer, \"f\").length) {\n return [];\n }\n return this.decode('\\n');\n }\n}\n_LineDecoder_buffer = new WeakMap(), _LineDecoder_carriageReturnIndex = new WeakMap();\n// prettier-ignore\nLineDecoder.NEWLINE_CHARS = new Set(['\\n', '\\r']);\nLineDecoder.NEWLINE_REGEXP = /\\r\\n|[\\n\\r]/g;\n/**\n * This function searches the buffer for the end patterns, (\\r or \\n)\n * and returns an object with the index preceding the matched newline and the\n * index after the newline char. `null` is returned if no new line is found.\n *\n * ```ts\n * findNewLineIndex('abc\\ndef') -> { preceding: 2, index: 3 }\n * ```\n */\nfunction findNewlineIndex(buffer, startIndex) {\n const newline = 0x0a; // \\n\n const carriage = 0x0d; // \\r\n for (let i = startIndex ?? 0; i < buffer.length; i++) {\n if (buffer[i] === newline) {\n return { preceding: i, index: i + 1, carriage: false };\n }\n if (buffer[i] === carriage) {\n return { preceding: i, index: i + 1, carriage: true };\n }\n }\n return null;\n}\nexport function findDoubleNewlineIndex(buffer) {\n // This function searches the buffer for the end patterns (\\r\\r, \\n\\n, \\r\\n\\r\\n)\n // and returns the index right after the first occurrence of any pattern,\n // or -1 if none of the patterns are found.\n const newline = 0x0a; // \\n\n const carriage = 0x0d; // \\r\n for (let i = 0; i < buffer.length - 1; i++) {\n if (buffer[i] === newline && buffer[i + 1] === newline) {\n // \\n\\n\n return i + 2;\n }\n if (buffer[i] === carriage && buffer[i + 1] === carriage) {\n // \\r\\r\n return i + 2;\n }\n if (buffer[i] === carriage &&\n buffer[i + 1] === newline &&\n i + 3 < buffer.length &&\n buffer[i + 2] === carriage &&\n buffer[i + 3] === newline) {\n // \\r\\n\\r\\n\n return i + 4;\n }\n }\n return -1;\n}\n//# sourceMappingURL=line.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { hasOwn } from \"./values.mjs\";\nconst levelNumbers = {\n off: 0,\n error: 200,\n warn: 300,\n info: 400,\n debug: 500,\n};\nexport const parseLogLevel = (maybeLevel, sourceName, client) => {\n if (!maybeLevel) {\n return undefined;\n }\n if (hasOwn(levelNumbers, maybeLevel)) {\n return maybeLevel;\n }\n loggerFor(client).warn(`${sourceName} was set to ${JSON.stringify(maybeLevel)}, expected one of ${JSON.stringify(Object.keys(levelNumbers))}`);\n return undefined;\n};\nfunction noop() { }\nfunction makeLogFn(fnLevel, logger, logLevel) {\n if (!logger || levelNumbers[fnLevel] > levelNumbers[logLevel]) {\n return noop;\n }\n else {\n // Don't wrap logger functions, we want the stacktrace intact!\n return logger[fnLevel].bind(logger);\n }\n}\nconst noopLogger = {\n error: noop,\n warn: noop,\n info: noop,\n debug: noop,\n};\nlet cachedLoggers = /* @__PURE__ */ new WeakMap();\nexport function loggerFor(client) {\n const logger = client.logger;\n const logLevel = client.logLevel ?? 'off';\n if (!logger) {\n return noopLogger;\n }\n const cachedLogger = cachedLoggers.get(logger);\n if (cachedLogger && cachedLogger[0] === logLevel) {\n return cachedLogger[1];\n }\n const levelLogger = {\n error: makeLogFn('error', logger, logLevel),\n warn: makeLogFn('warn', logger, logLevel),\n info: makeLogFn('info', logger, logLevel),\n debug: makeLogFn('debug', logger, logLevel),\n };\n cachedLoggers.set(logger, [logLevel, levelLogger]);\n return levelLogger;\n}\nexport const formatRequestDetails = (details) => {\n if (details.options) {\n details.options = { ...details.options };\n delete details.options['headers']; // redundant + leaks internals\n }\n if (details.headers) {\n details.headers = Object.fromEntries((details.headers instanceof Headers ? [...details.headers] : Object.entries(details.headers)).map(([name, value]) => [\n name,\n (name.toLowerCase() === 'x-api-key' ||\n name.toLowerCase() === 'authorization' ||\n name.toLowerCase() === 'cookie' ||\n name.toLowerCase() === 'set-cookie') ?\n '***'\n : value,\n ]));\n }\n if ('retryOfRequestLogID' in details) {\n if (details.retryOfRequestLogID) {\n details.retryOf = details.retryOfRequestLogID;\n }\n delete details.retryOfRequestLogID;\n }\n return details;\n};\n//# sourceMappingURL=log.mjs.map","var _Stream_client;\nimport { __classPrivateFieldGet, __classPrivateFieldSet } from \"../internal/tslib.mjs\";\nimport { AnthropicError } from \"./error.mjs\";\nimport { makeReadableStream } from \"../internal/shims.mjs\";\nimport { findDoubleNewlineIndex, LineDecoder } from \"../internal/decoders/line.mjs\";\nimport { ReadableStreamToAsyncIterable } from \"../internal/shims.mjs\";\nimport { isAbortError } from \"../internal/errors.mjs\";\nimport { safeJSON } from \"../internal/utils/values.mjs\";\nimport { encodeUTF8 } from \"../internal/utils/bytes.mjs\";\nimport { loggerFor } from \"../internal/utils/log.mjs\";\nimport { APIError } from \"./error.mjs\";\nexport class Stream {\n constructor(iterator, controller, client) {\n this.iterator = iterator;\n _Stream_client.set(this, void 0);\n this.controller = controller;\n __classPrivateFieldSet(this, _Stream_client, client, \"f\");\n }\n static fromSSEResponse(response, controller, client) {\n let consumed = false;\n const logger = client ? loggerFor(client) : console;\n async function* iterator() {\n if (consumed) {\n throw new AnthropicError('Cannot iterate over a consumed stream, use `.tee()` to split the stream.');\n }\n consumed = true;\n let done = false;\n try {\n for await (const sse of _iterSSEMessages(response, controller)) {\n if (sse.event === 'completion') {\n try {\n yield JSON.parse(sse.data);\n }\n catch (e) {\n logger.error(`Could not parse message into JSON:`, sse.data);\n logger.error(`From chunk:`, sse.raw);\n throw e;\n }\n }\n if (sse.event === 'message_start' ||\n sse.event === 'message_delta' ||\n sse.event === 'message_stop' ||\n sse.event === 'content_block_start' ||\n sse.event === 'content_block_delta' ||\n sse.event === 'content_block_stop' ||\n sse.event === 'message' ||\n sse.event === 'user.message' ||\n sse.event === 'user.interrupt' ||\n sse.event === 'user.tool_confirmation' ||\n sse.event === 'user.custom_tool_result' ||\n sse.event === 'agent.message' ||\n sse.event === 'agent.thinking' ||\n sse.event === 'agent.tool_use' ||\n sse.event === 'agent.tool_result' ||\n sse.event === 'agent.mcp_tool_use' ||\n sse.event === 'agent.mcp_tool_result' ||\n sse.event === 'agent.custom_tool_use' ||\n sse.event === 'agent.thread_context_compacted' ||\n sse.event === 'session.status_running' ||\n sse.event === 'session.status_idle' ||\n sse.event === 'session.status_rescheduled' ||\n sse.event === 'session.status_terminated' ||\n sse.event === 'session.error' ||\n sse.event === 'session.deleted' ||\n sse.event === 'span.model_request_start' ||\n sse.event === 'span.model_request_end') {\n try {\n yield JSON.parse(sse.data);\n }\n catch (e) {\n logger.error(`Could not parse message into JSON:`, sse.data);\n logger.error(`From chunk:`, sse.raw);\n throw e;\n }\n }\n if (sse.event === 'ping') {\n continue;\n }\n if (sse.event === 'error') {\n const body = safeJSON(sse.data) ?? sse.data;\n const type = body?.error?.type;\n throw new APIError(undefined, body, undefined, response.headers, type);\n }\n }\n done = true;\n }\n catch (e) {\n // If the user calls `stream.controller.abort()`, we should exit without throwing.\n if (isAbortError(e))\n return;\n throw e;\n }\n finally {\n // If the user `break`s, abort the ongoing request.\n if (!done)\n controller.abort();\n }\n }\n return new Stream(iterator, controller, client);\n }\n /**\n * Generates a Stream from a newline-separated ReadableStream\n * where each item is a JSON value.\n */\n static fromReadableStream(readableStream, controller, client) {\n let consumed = false;\n async function* iterLines() {\n const lineDecoder = new LineDecoder();\n const iter = ReadableStreamToAsyncIterable(readableStream);\n for await (const chunk of iter) {\n for (const line of lineDecoder.decode(chunk)) {\n yield line;\n }\n }\n for (const line of lineDecoder.flush()) {\n yield line;\n }\n }\n async function* iterator() {\n if (consumed) {\n throw new AnthropicError('Cannot iterate over a consumed stream, use `.tee()` to split the stream.');\n }\n consumed = true;\n let done = false;\n try {\n for await (const line of iterLines()) {\n if (done)\n continue;\n if (line)\n yield JSON.parse(line);\n }\n done = true;\n }\n catch (e) {\n // If the user calls `stream.controller.abort()`, we should exit without throwing.\n if (isAbortError(e))\n return;\n throw e;\n }\n finally {\n // If the user `break`s, abort the ongoing request.\n if (!done)\n controller.abort();\n }\n }\n return new Stream(iterator, controller, client);\n }\n [(_Stream_client = new WeakMap(), Symbol.asyncIterator)]() {\n return this.iterator();\n }\n /**\n * Splits the stream into two streams which can be\n * independently read from at different speeds.\n */\n tee() {\n const left = [];\n const right = [];\n const iterator = this.iterator();\n const teeIterator = (queue) => {\n return {\n next: () => {\n if (queue.length === 0) {\n const result = iterator.next();\n left.push(result);\n right.push(result);\n }\n return queue.shift();\n },\n };\n };\n return [\n new Stream(() => teeIterator(left), this.controller, __classPrivateFieldGet(this, _Stream_client, \"f\")),\n new Stream(() => teeIterator(right), this.controller, __classPrivateFieldGet(this, _Stream_client, \"f\")),\n ];\n }\n /**\n * Converts this stream to a newline-separated ReadableStream of\n * JSON stringified values in the stream\n * which can be turned back into a Stream with `Stream.fromReadableStream()`.\n */\n toReadableStream() {\n const self = this;\n let iter;\n return makeReadableStream({\n async start() {\n iter = self[Symbol.asyncIterator]();\n },\n async pull(ctrl) {\n try {\n const { value, done } = await iter.next();\n if (done)\n return ctrl.close();\n const bytes = encodeUTF8(JSON.stringify(value) + '\\n');\n ctrl.enqueue(bytes);\n }\n catch (err) {\n ctrl.error(err);\n }\n },\n async cancel() {\n await iter.return?.();\n },\n });\n }\n}\nexport async function* _iterSSEMessages(response, controller) {\n if (!response.body) {\n controller.abort();\n if (typeof globalThis.navigator !== 'undefined' &&\n globalThis.navigator.product === 'ReactNative') {\n throw new AnthropicError(`The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api`);\n }\n throw new AnthropicError(`Attempted to iterate over a response with no body`);\n }\n const sseDecoder = new SSEDecoder();\n const lineDecoder = new LineDecoder();\n const iter = ReadableStreamToAsyncIterable(response.body);\n for await (const sseChunk of iterSSEChunks(iter)) {\n for (const line of lineDecoder.decode(sseChunk)) {\n const sse = sseDecoder.decode(line);\n if (sse)\n yield sse;\n }\n }\n for (const line of lineDecoder.flush()) {\n const sse = sseDecoder.decode(line);\n if (sse)\n yield sse;\n }\n}\n/**\n * Given an async iterable iterator, iterates over it and yields full\n * SSE chunks, i.e. yields when a double new-line is encountered.\n */\nasync function* iterSSEChunks(iterator) {\n let data = new Uint8Array();\n for await (const chunk of iterator) {\n if (chunk == null) {\n continue;\n }\n const binaryChunk = chunk instanceof ArrayBuffer ? new Uint8Array(chunk)\n : typeof chunk === 'string' ? encodeUTF8(chunk)\n : chunk;\n let newData = new Uint8Array(data.length + binaryChunk.length);\n newData.set(data);\n newData.set(binaryChunk, data.length);\n data = newData;\n let patternIndex;\n while ((patternIndex = findDoubleNewlineIndex(data)) !== -1) {\n yield data.slice(0, patternIndex);\n data = data.slice(patternIndex);\n }\n }\n if (data.length > 0) {\n yield data;\n }\n}\nclass SSEDecoder {\n constructor() {\n this.event = null;\n this.data = [];\n this.chunks = [];\n }\n decode(line) {\n if (line.endsWith('\\r')) {\n line = line.substring(0, line.length - 1);\n }\n if (!line) {\n // empty line and we didn't previously encounter any messages\n if (!this.event && !this.data.length)\n return null;\n const sse = {\n event: this.event,\n data: this.data.join('\\n'),\n raw: this.chunks,\n };\n this.event = null;\n this.data = [];\n this.chunks = [];\n return sse;\n }\n this.chunks.push(line);\n if (line.startsWith(':')) {\n return null;\n }\n let [fieldname, _, value] = partition(line, ':');\n if (value.startsWith(' ')) {\n value = value.substring(1);\n }\n if (fieldname === 'event') {\n this.event = value;\n }\n else if (fieldname === 'data') {\n this.data.push(value);\n }\n return null;\n }\n}\nfunction partition(str, delimiter) {\n const index = str.indexOf(delimiter);\n if (index !== -1) {\n return [str.substring(0, index), delimiter, str.substring(index + delimiter.length)];\n }\n return [str, '', ''];\n}\n//# sourceMappingURL=streaming.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { Stream } from \"../core/streaming.mjs\";\nimport { formatRequestDetails, loggerFor } from \"./utils/log.mjs\";\nexport async function defaultParseResponse(client, props) {\n const { response, requestLogID, retryOfRequestLogID, startTime } = props;\n const body = await (async () => {\n if (props.options.stream) {\n loggerFor(client).debug('response', response.status, response.url, response.headers, response.body);\n // Note: there is an invariant here that isn't represented in the type system\n // that if you set `stream: true` the response type must also be `Stream<T>`\n if (props.options.__streamClass) {\n return props.options.__streamClass.fromSSEResponse(response, props.controller);\n }\n return Stream.fromSSEResponse(response, props.controller);\n }\n // fetch refuses to read the body when the status code is 204.\n if (response.status === 204) {\n return null;\n }\n if (props.options.__binaryResponse) {\n return response;\n }\n const contentType = response.headers.get('content-type');\n const mediaType = contentType?.split(';')[0]?.trim();\n const isJSON = mediaType?.includes('application/json') || mediaType?.endsWith('+json');\n if (isJSON) {\n const contentLength = response.headers.get('content-length');\n if (contentLength === '0') {\n // if there is no content we can't do anything\n return undefined;\n }\n const json = await response.json();\n return addRequestID(json, response);\n }\n const text = await response.text();\n return text;\n })();\n loggerFor(client).debug(`[${requestLogID}] response parsed`, formatRequestDetails({\n retryOfRequestLogID,\n url: response.url,\n status: response.status,\n body,\n durationMs: Date.now() - startTime,\n }));\n return body;\n}\nexport function addRequestID(value, response) {\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n return value;\n }\n return Object.defineProperty(value, '_request_id', {\n value: response.headers.get('request-id'),\n enumerable: false,\n });\n}\n//# sourceMappingURL=parse.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nvar _APIPromise_client;\nimport { __classPrivateFieldGet, __classPrivateFieldSet } from \"../internal/tslib.mjs\";\nimport { defaultParseResponse, addRequestID, } from \"../internal/parse.mjs\";\n/**\n * A subclass of `Promise` providing additional helper methods\n * for interacting with the SDK.\n */\nexport class APIPromise extends Promise {\n constructor(client, responsePromise, parseResponse = defaultParseResponse) {\n super((resolve) => {\n // this is maybe a bit weird but this has to be a no-op to not implicitly\n // parse the response body; instead .then, .catch, .finally are overridden\n // to parse the response\n resolve(null);\n });\n this.responsePromise = responsePromise;\n this.parseResponse = parseResponse;\n _APIPromise_client.set(this, void 0);\n __classPrivateFieldSet(this, _APIPromise_client, client, \"f\");\n }\n _thenUnwrap(transform) {\n return new APIPromise(__classPrivateFieldGet(this, _APIPromise_client, \"f\"), this.responsePromise, async (client, props) => addRequestID(transform(await this.parseResponse(client, props), props), props.response));\n }\n /**\n * Gets the raw `Response` instance instead of parsing the response\n * data.\n *\n * If you want to parse the response body but still get the `Response`\n * instance, you can use {@link withResponse()}.\n *\n * 👋 Getting the wrong TypeScript type for `Response`?\n * Try setting `\"moduleResolution\": \"NodeNext\"` or add `\"lib\": [\"DOM\"]`\n * to your `tsconfig.json`.\n */\n asResponse() {\n return this.responsePromise.then((p) => p.response);\n }\n /**\n * Gets the parsed response data, the raw `Response` instance and the ID of the request,\n * returned via the `request-id` header which is useful for debugging requests and resporting\n * issues to Anthropic.\n *\n * If you just want to get the raw `Response` instance without parsing it,\n * you can use {@link asResponse()}.\n *\n * 👋 Getting the wrong TypeScript type for `Response`?\n * Try setting `\"moduleResolution\": \"NodeNext\"` or add `\"lib\": [\"DOM\"]`\n * to your `tsconfig.json`.\n */\n async withResponse() {\n const [data, response] = await Promise.all([this.parse(), this.asResponse()]);\n return { data, response, request_id: response.headers.get('request-id') };\n }\n parse() {\n if (!this.parsedPromise) {\n this.parsedPromise = this.responsePromise.then((data) => this.parseResponse(__classPrivateFieldGet(this, _APIPromise_client, \"f\"), data));\n }\n return this.parsedPromise;\n }\n then(onfulfilled, onrejected) {\n return this.parse().then(onfulfilled, onrejected);\n }\n catch(onrejected) {\n return this.parse().catch(onrejected);\n }\n finally(onfinally) {\n return this.parse().finally(onfinally);\n }\n}\n_APIPromise_client = new WeakMap();\n//# sourceMappingURL=api-promise.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nvar _AbstractPage_client;\nimport { __classPrivateFieldGet, __classPrivateFieldSet } from \"../internal/tslib.mjs\";\nimport { AnthropicError } from \"./error.mjs\";\nimport { defaultParseResponse } from \"../internal/parse.mjs\";\nimport { APIPromise } from \"./api-promise.mjs\";\nimport { maybeObj } from \"../internal/utils/values.mjs\";\nexport class AbstractPage {\n constructor(client, response, body, options) {\n _AbstractPage_client.set(this, void 0);\n __classPrivateFieldSet(this, _AbstractPage_client, client, \"f\");\n this.options = options;\n this.response = response;\n this.body = body;\n }\n hasNextPage() {\n const items = this.getPaginatedItems();\n if (!items.length)\n return false;\n return this.nextPageRequestOptions() != null;\n }\n async getNextPage() {\n const nextOptions = this.nextPageRequestOptions();\n if (!nextOptions) {\n throw new AnthropicError('No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.');\n }\n return await __classPrivateFieldGet(this, _AbstractPage_client, \"f\").requestAPIList(this.constructor, nextOptions);\n }\n async *iterPages() {\n let page = this;\n yield page;\n while (page.hasNextPage()) {\n page = await page.getNextPage();\n yield page;\n }\n }\n async *[(_AbstractPage_client = new WeakMap(), Symbol.asyncIterator)]() {\n for await (const page of this.iterPages()) {\n for (const item of page.getPaginatedItems()) {\n yield item;\n }\n }\n }\n}\n/**\n * This subclass of Promise will resolve to an instantiated Page once the request completes.\n *\n * It also implements AsyncIterable to allow auto-paginating iteration on an unawaited list call, eg:\n *\n * for await (const item of client.items.list()) {\n * console.log(item)\n * }\n */\nexport class PagePromise extends APIPromise {\n constructor(client, request, Page) {\n super(client, request, async (client, props) => new Page(client, props.response, await defaultParseResponse(client, props), props.options));\n }\n /**\n * Allow auto-paginating iteration on an unawaited list call, eg:\n *\n * for await (const item of client.items.list()) {\n * console.log(item)\n * }\n */\n async *[Symbol.asyncIterator]() {\n const page = await this;\n for await (const item of page) {\n yield item;\n }\n }\n}\nexport class Page extends AbstractPage {\n constructor(client, response, body, options) {\n super(client, response, body, options);\n this.data = body.data || [];\n this.has_more = body.has_more || false;\n this.first_id = body.first_id || null;\n this.last_id = body.last_id || null;\n }\n getPaginatedItems() {\n return this.data ?? [];\n }\n hasNextPage() {\n if (this.has_more === false) {\n return false;\n }\n return super.hasNextPage();\n }\n nextPageRequestOptions() {\n if (this.options.query?.['before_id']) {\n // in reverse\n const first_id = this.first_id;\n if (!first_id) {\n return null;\n }\n return {\n ...this.options,\n query: {\n ...maybeObj(this.options.query),\n before_id: first_id,\n },\n };\n }\n const cursor = this.last_id;\n if (!cursor) {\n return null;\n }\n return {\n ...this.options,\n query: {\n ...maybeObj(this.options.query),\n after_id: cursor,\n },\n };\n }\n}\nexport class TokenPage extends AbstractPage {\n constructor(client, response, body, options) {\n super(client, response, body, options);\n this.data = body.data || [];\n this.has_more = body.has_more || false;\n this.next_page = body.next_page || null;\n }\n getPaginatedItems() {\n return this.data ?? [];\n }\n hasNextPage() {\n if (this.has_more === false) {\n return false;\n }\n return super.hasNextPage();\n }\n nextPageRequestOptions() {\n const cursor = this.next_page;\n if (!cursor) {\n return null;\n }\n return {\n ...this.options,\n query: {\n ...maybeObj(this.options.query),\n page_token: cursor,\n },\n };\n }\n}\nexport class PageCursor extends AbstractPage {\n constructor(client, response, body, options) {\n super(client, response, body, options);\n this.data = body.data || [];\n this.next_page = body.next_page || null;\n }\n getPaginatedItems() {\n return this.data ?? [];\n }\n nextPageRequestOptions() {\n const cursor = this.next_page;\n if (!cursor) {\n return null;\n }\n return {\n ...this.options,\n query: {\n ...maybeObj(this.options.query),\n page: cursor,\n },\n };\n }\n}\n//# sourceMappingURL=pagination.mjs.map","import { ReadableStreamFrom } from \"./shims.mjs\";\nexport const checkFileSupport = () => {\n if (typeof File === 'undefined') {\n const { process } = globalThis;\n const isOldNode = typeof process?.versions?.node === 'string' && parseInt(process.versions.node.split('.')) < 20;\n throw new Error('`File` is not defined as a global, which is required for file uploads.' +\n (isOldNode ?\n \" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.\"\n : ''));\n }\n};\n/**\n * Construct a `File` instance. This is used to ensure a helpful error is thrown\n * for environments that don't define a global `File` yet.\n */\nexport function makeFile(fileBits, fileName, options) {\n checkFileSupport();\n return new File(fileBits, fileName ?? 'unknown_file', options);\n}\nexport function getName(value, stripPath) {\n const val = (typeof value === 'object' &&\n value !== null &&\n (('name' in value && value.name && String(value.name)) ||\n ('url' in value && value.url && String(value.url)) ||\n ('filename' in value && value.filename && String(value.filename)) ||\n ('path' in value && value.path && String(value.path)))) ||\n '';\n return stripPath ? val.split(/[\\\\/]/).pop() || undefined : val;\n}\nexport const isAsyncIterable = (value) => value != null && typeof value === 'object' && typeof value[Symbol.asyncIterator] === 'function';\n/**\n * Returns a multipart/form-data request if any part of the given request body contains a File / Blob value.\n * Otherwise returns the request as is.\n */\nexport const maybeMultipartFormRequestOptions = async (opts, fetch) => {\n if (!hasUploadableValue(opts.body))\n return opts;\n return { ...opts, body: await createForm(opts.body, fetch) };\n};\nexport const multipartFormRequestOptions = async (opts, fetch, stripFilenames = true) => {\n return { ...opts, body: await createForm(opts.body, fetch, stripFilenames) };\n};\nconst supportsFormDataMap = /* @__PURE__ */ new WeakMap();\n/**\n * node-fetch doesn't support the global FormData object in recent node versions. Instead of sending\n * properly-encoded form data, it just stringifies the object, resulting in a request body of \"[object FormData]\".\n * This function detects if the fetch function provided supports the global FormData object to avoid\n * confusing error messages later on.\n */\nfunction supportsFormData(fetchObject) {\n const fetch = typeof fetchObject === 'function' ? fetchObject : fetchObject.fetch;\n const cached = supportsFormDataMap.get(fetch);\n if (cached)\n return cached;\n const promise = (async () => {\n try {\n const FetchResponse = ('Response' in fetch ?\n fetch.Response\n : (await fetch('data:,')).constructor);\n const data = new FormData();\n if (data.toString() === (await new FetchResponse(data).text())) {\n return false;\n }\n return true;\n }\n catch {\n // avoid false negatives\n return true;\n }\n })();\n supportsFormDataMap.set(fetch, promise);\n return promise;\n}\nexport const createForm = async (body, fetch, stripFilenames = true) => {\n if (!(await supportsFormData(fetch))) {\n throw new TypeError('The provided fetch function does not support file uploads with the current global FormData class.');\n }\n const form = new FormData();\n await Promise.all(Object.entries(body || {}).map(([key, value]) => addFormValue(form, key, value, stripFilenames)));\n return form;\n};\n// We check for Blob not File because Bun.File doesn't inherit from File,\n// but they both inherit from Blob and have a `name` property at runtime.\nconst isNamedBlob = (value) => value instanceof Blob && 'name' in value;\nconst isUploadable = (value) => typeof value === 'object' &&\n value !== null &&\n (value instanceof Response || isAsyncIterable(value) || isNamedBlob(value));\nconst hasUploadableValue = (value) => {\n if (isUploadable(value))\n return true;\n if (Array.isArray(value))\n return value.some(hasUploadableValue);\n if (value && typeof value === 'object') {\n for (const k in value) {\n if (hasUploadableValue(value[k]))\n return true;\n }\n }\n return false;\n};\nconst addFormValue = async (form, key, value, stripFilenames) => {\n if (value === undefined)\n return;\n if (value == null) {\n throw new TypeError(`Received null for \"${key}\"; to pass null in FormData, you must use the string 'null'`);\n }\n // TODO: make nested formats configurable\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n form.append(key, String(value));\n }\n else if (value instanceof Response) {\n let options = {};\n const contentType = value.headers.get('Content-Type');\n if (contentType) {\n options = { type: contentType };\n }\n form.append(key, makeFile([await value.blob()], getName(value, stripFilenames), options));\n }\n else if (isAsyncIterable(value)) {\n form.append(key, makeFile([await new Response(ReadableStreamFrom(value)).blob()], getName(value, stripFilenames)));\n }\n else if (isNamedBlob(value)) {\n form.append(key, makeFile([value], getName(value, stripFilenames), { type: value.type }));\n }\n else if (Array.isArray(value)) {\n await Promise.all(value.map((entry) => addFormValue(form, key + '[]', entry, stripFilenames)));\n }\n else if (typeof value === 'object') {\n await Promise.all(Object.entries(value).map(([name, prop]) => addFormValue(form, `${key}[${name}]`, prop, stripFilenames)));\n }\n else {\n throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${value} instead`);\n }\n};\n//# sourceMappingURL=uploads.mjs.map","import { getName, makeFile, isAsyncIterable } from \"./uploads.mjs\";\nimport { checkFileSupport } from \"./uploads.mjs\";\n/**\n * This check adds the arrayBuffer() method type because it is available and used at runtime\n */\nconst isBlobLike = (value) => value != null &&\n typeof value === 'object' &&\n typeof value.size === 'number' &&\n typeof value.type === 'string' &&\n typeof value.text === 'function' &&\n typeof value.slice === 'function' &&\n typeof value.arrayBuffer === 'function';\n/**\n * This check adds the arrayBuffer() method type because it is available and used at runtime\n */\nconst isFileLike = (value) => value != null &&\n typeof value === 'object' &&\n typeof value.name === 'string' &&\n typeof value.lastModified === 'number' &&\n isBlobLike(value);\nconst isResponseLike = (value) => value != null &&\n typeof value === 'object' &&\n typeof value.url === 'string' &&\n typeof value.blob === 'function';\n/**\n * Helper for creating a {@link File} to pass to an SDK upload method from a variety of different data formats\n * @param value the raw content of the file. Can be an {@link Uploadable}, BlobLikePart, or AsyncIterable of BlobLikeParts\n * @param {string=} name the name of the file. If omitted, toFile will try to determine a file name from bits if possible\n * @param {Object=} options additional properties\n * @param {string=} options.type the MIME type of the content\n * @param {number=} options.lastModified the last modified timestamp\n * @returns a {@link File} with the given properties\n */\nexport async function toFile(value, name, options) {\n checkFileSupport();\n // If it's a promise, resolve it.\n value = await value;\n name || (name = getName(value, true));\n // If we've been given a `File` we don't need to do anything if the name / options\n // have not been customised.\n if (isFileLike(value)) {\n if (value instanceof File && name == null && options == null) {\n return value;\n }\n return makeFile([await value.arrayBuffer()], name ?? value.name, {\n type: value.type,\n lastModified: value.lastModified,\n ...options,\n });\n }\n if (isResponseLike(value)) {\n const blob = await value.blob();\n name || (name = new URL(value.url).pathname.split(/[\\\\/]/).pop());\n return makeFile(await getBytes(blob), name, options);\n }\n const parts = await getBytes(value);\n if (!options?.type) {\n const type = parts.find((part) => typeof part === 'object' && 'type' in part && part.type);\n if (typeof type === 'string') {\n options = { ...options, type };\n }\n }\n return makeFile(parts, name, options);\n}\nasync function getBytes(value) {\n let parts = [];\n if (typeof value === 'string' ||\n ArrayBuffer.isView(value) || // includes Uint8Array, Buffer, etc.\n value instanceof ArrayBuffer) {\n parts.push(value);\n }\n else if (isBlobLike(value)) {\n parts.push(value instanceof Blob ? value : await value.arrayBuffer());\n }\n else if (isAsyncIterable(value) // includes Readable, ReadableStream, etc.\n ) {\n for await (const chunk of value) {\n parts.push(...(await getBytes(chunk))); // TODO, consider validating?\n }\n }\n else {\n const constructor = value?.constructor?.name;\n throw new Error(`Unexpected data type: ${typeof value}${constructor ? `; constructor: ${constructor}` : ''}${propsForError(value)}`);\n }\n return parts;\n}\nfunction propsForError(value) {\n if (typeof value !== 'object' || value === null)\n return '';\n const props = Object.getOwnPropertyNames(value);\n return `; props: [${props.map((p) => `\"${p}\"`).join(', ')}]`;\n}\n//# sourceMappingURL=to-file.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nexport class APIResource {\n constructor(client) {\n this._client = client;\n }\n}\n//# sourceMappingURL=resource.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { isReadonlyArray } from \"./utils/values.mjs\";\nconst brand_privateNullableHeaders = Symbol.for('brand.privateNullableHeaders');\nfunction* iterateHeaders(headers) {\n if (!headers)\n return;\n if (brand_privateNullableHeaders in headers) {\n const { values, nulls } = headers;\n yield* values.entries();\n for (const name of nulls) {\n yield [name, null];\n }\n return;\n }\n let shouldClear = false;\n let iter;\n if (headers instanceof Headers) {\n iter = headers.entries();\n }\n else if (isReadonlyArray(headers)) {\n iter = headers;\n }\n else {\n shouldClear = true;\n iter = Object.entries(headers ?? {});\n }\n for (let row of iter) {\n const name = row[0];\n if (typeof name !== 'string')\n throw new TypeError('expected header name to be a string');\n const values = isReadonlyArray(row[1]) ? row[1] : [row[1]];\n let didClear = false;\n for (const value of values) {\n if (value === undefined)\n continue;\n // Objects keys always overwrite older headers, they never append.\n // Yield a null to clear the header before adding the new values.\n if (shouldClear && !didClear) {\n didClear = true;\n yield [name, null];\n }\n yield [name, value];\n }\n }\n}\nexport const buildHeaders = (newHeaders) => {\n const targetHeaders = new Headers();\n const nullHeaders = new Set();\n for (const headers of newHeaders) {\n const seenHeaders = new Set();\n for (const [name, value] of iterateHeaders(headers)) {\n const lowerName = name.toLowerCase();\n if (!seenHeaders.has(lowerName)) {\n targetHeaders.delete(name);\n seenHeaders.add(lowerName);\n }\n if (value === null) {\n targetHeaders.delete(name);\n nullHeaders.add(lowerName);\n }\n else {\n targetHeaders.append(name, value);\n nullHeaders.delete(lowerName);\n }\n }\n }\n return { [brand_privateNullableHeaders]: true, values: targetHeaders, nulls: nullHeaders };\n};\nexport const isEmptyHeaders = (headers) => {\n for (const _ of iterateHeaders(headers))\n return false;\n return true;\n};\n//# sourceMappingURL=headers.mjs.map","import { AnthropicError } from \"../../core/error.mjs\";\n/**\n * Percent-encode everything that isn't safe to have in a path without encoding safe chars.\n *\n * Taken from https://datatracker.ietf.org/doc/html/rfc3986#section-3.3:\n * > unreserved = ALPHA / DIGIT / \"-\" / \".\" / \"_\" / \"~\"\n * > sub-delims = \"!\" / \"$\" / \"&\" / \"'\" / \"(\" / \")\" / \"*\" / \"+\" / \",\" / \";\" / \"=\"\n * > pchar = unreserved / pct-encoded / sub-delims / \":\" / \"@\"\n */\nexport function encodeURIPath(str) {\n return str.replace(/[^A-Za-z0-9\\-._~!$&'()*+,;=:@]+/g, encodeURIComponent);\n}\nconst EMPTY = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.create(null));\nexport const createPathTagFunction = (pathEncoder = encodeURIPath) => function path(statics, ...params) {\n // If there are no params, no processing is needed.\n if (statics.length === 1)\n return statics[0];\n let postPath = false;\n const invalidSegments = [];\n const path = statics.reduce((previousValue, currentValue, index) => {\n if (/[?#]/.test(currentValue)) {\n postPath = true;\n }\n const value = params[index];\n let encoded = (postPath ? encodeURIComponent : pathEncoder)('' + value);\n if (index !== params.length &&\n (value == null ||\n (typeof value === 'object' &&\n // handle values from other realms\n value.toString ===\n Object.getPrototypeOf(Object.getPrototypeOf(value.hasOwnProperty ?? EMPTY) ?? EMPTY)\n ?.toString))) {\n encoded = value + '';\n invalidSegments.push({\n start: previousValue.length + currentValue.length,\n length: encoded.length,\n error: `Value of type ${Object.prototype.toString\n .call(value)\n .slice(8, -1)} is not a valid path parameter`,\n });\n }\n return previousValue + currentValue + (index === params.length ? '' : encoded);\n }, '');\n const pathOnly = path.split(/[?#]/, 1)[0];\n const invalidSegmentPattern = /(?<=^|\\/)(?:\\.|%2e){1,2}(?=\\/|$)/gi;\n let match;\n // Find all invalid segments\n while ((match = invalidSegmentPattern.exec(pathOnly)) !== null) {\n invalidSegments.push({\n start: match.index,\n length: match[0].length,\n error: `Value \"${match[0]}\" can\\'t be safely passed as a path parameter`,\n });\n }\n invalidSegments.sort((a, b) => a.start - b.start);\n if (invalidSegments.length > 0) {\n let lastEnd = 0;\n const underline = invalidSegments.reduce((acc, segment) => {\n const spaces = ' '.repeat(segment.start - lastEnd);\n const arrows = '^'.repeat(segment.length);\n lastEnd = segment.start + segment.length;\n return acc + spaces + arrows;\n }, '');\n throw new AnthropicError(`Path parameters result in path with invalid segments:\\n${invalidSegments\n .map((e) => e.error)\n .join('\\n')}\\n${path}\\n${underline}`);\n }\n return path;\n};\n/**\n * URI-encodes path params and ensures no unsafe /./ or /../ path segments are introduced.\n */\nexport const path = /* @__PURE__ */ createPathTagFunction(encodeURIPath);\n//# sourceMappingURL=path.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../core/resource.mjs\";\nimport { PageCursor } from \"../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../internal/headers.mjs\";\nimport { path } from \"../../internal/utils/path.mjs\";\nexport class Environments extends APIResource {\n /**\n * Create a new environment with the specified configuration.\n *\n * @example\n * ```ts\n * const betaEnvironment =\n * await client.beta.environments.create({\n * name: 'python-data-analysis',\n * });\n * ```\n */\n create(params, options) {\n const { betas, ...body } = params;\n return this._client.post('/v1/environments?beta=true', {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Retrieve a specific environment by ID.\n *\n * @example\n * ```ts\n * const betaEnvironment =\n * await client.beta.environments.retrieve(\n * 'env_011CZkZ9X2dpNyB7HsEFoRfW',\n * );\n * ```\n */\n retrieve(environmentID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.get(path `/v1/environments/${environmentID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Update an existing environment's configuration.\n *\n * @example\n * ```ts\n * const betaEnvironment =\n * await client.beta.environments.update(\n * 'env_011CZkZ9X2dpNyB7HsEFoRfW',\n * );\n * ```\n */\n update(environmentID, params, options) {\n const { betas, ...body } = params;\n return this._client.post(path `/v1/environments/${environmentID}?beta=true`, {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * List environments with pagination support.\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaEnvironment of client.beta.environments.list()) {\n * // ...\n * }\n * ```\n */\n list(params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList('/v1/environments?beta=true', (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Delete an environment by ID. Returns a confirmation of the deletion.\n *\n * @example\n * ```ts\n * const betaEnvironmentDeleteResponse =\n * await client.beta.environments.delete(\n * 'env_011CZkZ9X2dpNyB7HsEFoRfW',\n * );\n * ```\n */\n delete(environmentID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.delete(path `/v1/environments/${environmentID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Archive an environment by ID. Archived environments cannot be used to create new\n * sessions.\n *\n * @example\n * ```ts\n * const betaEnvironment =\n * await client.beta.environments.archive(\n * 'env_011CZkZ9X2dpNyB7HsEFoRfW',\n * );\n * ```\n */\n archive(environmentID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.post(path `/v1/environments/${environmentID}/archive?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n}\n//# sourceMappingURL=environments.mjs.map","/**\n * Shared utilities for tracking SDK helper usage.\n */\n/**\n * Symbol used to mark objects created by SDK helpers for tracking.\n * The value is the helper name (e.g., 'mcpTool', 'betaZodTool').\n */\nexport const SDK_HELPER_SYMBOL = Symbol('anthropic.sdk.stainlessHelper');\nexport function wasCreatedByStainlessHelper(value) {\n return typeof value === 'object' && value !== null && SDK_HELPER_SYMBOL in value;\n}\n/**\n * Collects helper names from tools and messages arrays.\n * Returns a deduplicated array of helper names found.\n */\nexport function collectStainlessHelpers(tools, messages) {\n const helpers = new Set();\n // Collect from tools\n if (tools) {\n for (const tool of tools) {\n if (wasCreatedByStainlessHelper(tool)) {\n helpers.add(tool[SDK_HELPER_SYMBOL]);\n }\n }\n }\n // Collect from messages and their content blocks\n if (messages) {\n for (const message of messages) {\n if (wasCreatedByStainlessHelper(message)) {\n helpers.add(message[SDK_HELPER_SYMBOL]);\n }\n if (Array.isArray(message.content)) {\n for (const block of message.content) {\n if (wasCreatedByStainlessHelper(block)) {\n helpers.add(block[SDK_HELPER_SYMBOL]);\n }\n }\n }\n }\n }\n return Array.from(helpers);\n}\n/**\n * Builds x-stainless-helper header value from tools and messages.\n * Returns an empty object if no helpers are found.\n */\nexport function stainlessHelperHeader(tools, messages) {\n const helpers = collectStainlessHelpers(tools, messages);\n if (helpers.length === 0)\n return {};\n return { 'x-stainless-helper': helpers.join(', ') };\n}\n/**\n * Builds x-stainless-helper header value from a file object.\n * Returns an empty object if the file is not marked with a helper.\n */\nexport function stainlessHelperHeaderFromFile(file) {\n if (wasCreatedByStainlessHelper(file)) {\n return { 'x-stainless-helper': file[SDK_HELPER_SYMBOL] };\n }\n return {};\n}\n//# sourceMappingURL=stainless-helper-header.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../core/resource.mjs\";\nimport { Page } from \"../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../internal/headers.mjs\";\nimport { stainlessHelperHeaderFromFile } from \"../../lib/stainless-helper-header.mjs\";\nimport { multipartFormRequestOptions } from \"../../internal/uploads.mjs\";\nimport { path } from \"../../internal/utils/path.mjs\";\nexport class Files extends APIResource {\n /**\n * List Files\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const fileMetadata of client.beta.files.list()) {\n * // ...\n * }\n * ```\n */\n list(params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList('/v1/files?beta=true', (Page), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'files-api-2025-04-14'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Delete File\n *\n * @example\n * ```ts\n * const deletedFile = await client.beta.files.delete(\n * 'file_id',\n * );\n * ```\n */\n delete(fileID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.delete(path `/v1/files/${fileID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'files-api-2025-04-14'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Download File\n *\n * @example\n * ```ts\n * const response = await client.beta.files.download(\n * 'file_id',\n * );\n *\n * const content = await response.blob();\n * console.log(content);\n * ```\n */\n download(fileID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.get(path `/v1/files/${fileID}/content?beta=true`, {\n ...options,\n headers: buildHeaders([\n {\n 'anthropic-beta': [...(betas ?? []), 'files-api-2025-04-14'].toString(),\n Accept: 'application/binary',\n },\n options?.headers,\n ]),\n __binaryResponse: true,\n });\n }\n /**\n * Get File Metadata\n *\n * @example\n * ```ts\n * const fileMetadata =\n * await client.beta.files.retrieveMetadata('file_id');\n * ```\n */\n retrieveMetadata(fileID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.get(path `/v1/files/${fileID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'files-api-2025-04-14'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Upload File\n *\n * @example\n * ```ts\n * const fileMetadata = await client.beta.files.upload({\n * file: fs.createReadStream('path/to/file'),\n * });\n * ```\n */\n upload(params, options) {\n const { betas, ...body } = params;\n return this._client.post('/v1/files?beta=true', multipartFormRequestOptions({\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'files-api-2025-04-14'].toString() },\n stainlessHelperHeaderFromFile(body.file),\n options?.headers,\n ]),\n }, this._client));\n }\n}\n//# sourceMappingURL=files.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../core/resource.mjs\";\nimport { Page } from \"../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../internal/headers.mjs\";\nimport { path } from \"../../internal/utils/path.mjs\";\nexport class Models extends APIResource {\n /**\n * Get a specific model.\n *\n * The Models API response can be used to determine information about a specific\n * model or resolve a model alias to a model ID.\n *\n * @example\n * ```ts\n * const betaModelInfo = await client.beta.models.retrieve(\n * 'model_id',\n * );\n * ```\n */\n retrieve(modelID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.get(path `/v1/models/${modelID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { ...(betas?.toString() != null ? { 'anthropic-beta': betas?.toString() } : undefined) },\n options?.headers,\n ]),\n });\n }\n /**\n * List available models.\n *\n * The Models API response can be used to determine which models are available for\n * use in the API. More recently released models are listed first.\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaModelInfo of client.beta.models.list()) {\n * // ...\n * }\n * ```\n */\n list(params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList('/v1/models?beta=true', (Page), {\n query,\n ...options,\n headers: buildHeaders([\n { ...(betas?.toString() != null ? { 'anthropic-beta': betas?.toString() } : undefined) },\n options?.headers,\n ]),\n });\n }\n}\n//# sourceMappingURL=models.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../core/resource.mjs\";\nimport { PageCursor } from \"../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../internal/headers.mjs\";\nimport { path } from \"../../internal/utils/path.mjs\";\nexport class UserProfiles extends APIResource {\n /**\n * Create User Profile\n *\n * @example\n * ```ts\n * const betaUserProfile =\n * await client.beta.userProfiles.create();\n * ```\n */\n create(params, options) {\n const { betas, ...body } = params;\n return this._client.post('/v1/user_profiles?beta=true', {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'user-profiles-2026-03-24'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Get User Profile\n *\n * @example\n * ```ts\n * const betaUserProfile =\n * await client.beta.userProfiles.retrieve(\n * 'uprof_011CZkZCu8hGbp5mYRQgUmz9',\n * );\n * ```\n */\n retrieve(userProfileID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.get(path `/v1/user_profiles/${userProfileID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'user-profiles-2026-03-24'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Update User Profile\n *\n * @example\n * ```ts\n * const betaUserProfile =\n * await client.beta.userProfiles.update(\n * 'uprof_011CZkZCu8hGbp5mYRQgUmz9',\n * );\n * ```\n */\n update(userProfileID, params, options) {\n const { betas, ...body } = params;\n return this._client.post(path `/v1/user_profiles/${userProfileID}?beta=true`, {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'user-profiles-2026-03-24'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * List User Profiles\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaUserProfile of client.beta.userProfiles.list()) {\n * // ...\n * }\n * ```\n */\n list(params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList('/v1/user_profiles?beta=true', (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'user-profiles-2026-03-24'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Create Enrollment URL\n *\n * @example\n * ```ts\n * const betaUserProfileEnrollmentURL =\n * await client.beta.userProfiles.createEnrollmentURL(\n * 'uprof_011CZkZCu8hGbp5mYRQgUmz9',\n * );\n * ```\n */\n createEnrollmentURL(userProfileID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.post(path `/v1/user_profiles/${userProfileID}/enrollment_url?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'user-profiles-2026-03-24'].toString() },\n options?.headers,\n ]),\n });\n }\n}\n//# sourceMappingURL=user-profiles.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport { PageCursor } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class Versions extends APIResource {\n /**\n * List Agent Versions\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaManagedAgentsAgent of client.beta.agents.versions.list(\n * 'agent_011CZkYpogX7uDKUyvBTophP',\n * )) {\n * // ...\n * }\n * ```\n */\n list(agentID, params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList(path `/v1/agents/${agentID}/versions?beta=true`, (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n}\n//# sourceMappingURL=versions.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport * as VersionsAPI from \"./versions.mjs\";\nimport { Versions } from \"./versions.mjs\";\nimport { PageCursor } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class Agents extends APIResource {\n constructor() {\n super(...arguments);\n this.versions = new VersionsAPI.Versions(this._client);\n }\n /**\n * Create Agent\n *\n * @example\n * ```ts\n * const betaManagedAgentsAgent =\n * await client.beta.agents.create({\n * model: 'claude-sonnet-4-6',\n * name: 'My First Agent',\n * });\n * ```\n */\n create(params, options) {\n const { betas, ...body } = params;\n return this._client.post('/v1/agents?beta=true', {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Get Agent\n *\n * @example\n * ```ts\n * const betaManagedAgentsAgent =\n * await client.beta.agents.retrieve(\n * 'agent_011CZkYpogX7uDKUyvBTophP',\n * );\n * ```\n */\n retrieve(agentID, params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.get(path `/v1/agents/${agentID}?beta=true`, {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Update Agent\n *\n * @example\n * ```ts\n * const betaManagedAgentsAgent =\n * await client.beta.agents.update(\n * 'agent_011CZkYpogX7uDKUyvBTophP',\n * { version: 1 },\n * );\n * ```\n */\n update(agentID, params, options) {\n const { betas, ...body } = params;\n return this._client.post(path `/v1/agents/${agentID}?beta=true`, {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * List Agents\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaManagedAgentsAgent of client.beta.agents.list()) {\n * // ...\n * }\n * ```\n */\n list(params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList('/v1/agents?beta=true', (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Archive Agent\n *\n * @example\n * ```ts\n * const betaManagedAgentsAgent =\n * await client.beta.agents.archive(\n * 'agent_011CZkYpogX7uDKUyvBTophP',\n * );\n * ```\n */\n archive(agentID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.post(path `/v1/agents/${agentID}/archive?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n}\nAgents.Versions = Versions;\n//# sourceMappingURL=agents.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport { PageCursor } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class Memories extends APIResource {\n /**\n * CreateMemory\n *\n * @example\n * ```ts\n * const betaManagedAgentsMemory =\n * await client.beta.memoryStores.memories.create(\n * 'memory_store_id',\n * { content: 'content', path: 'xx' },\n * );\n * ```\n */\n create(memoryStoreID, params, options) {\n const { view, betas, ...body } = params;\n return this._client.post(path `/v1/memory_stores/${memoryStoreID}/memories?beta=true`, {\n query: { view },\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * GetMemory\n *\n * @example\n * ```ts\n * const betaManagedAgentsMemory =\n * await client.beta.memoryStores.memories.retrieve(\n * 'memory_id',\n * { memory_store_id: 'memory_store_id' },\n * );\n * ```\n */\n retrieve(memoryID, params, options) {\n const { memory_store_id, betas, ...query } = params;\n return this._client.get(path `/v1/memory_stores/${memory_store_id}/memories/${memoryID}?beta=true`, {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * UpdateMemory\n *\n * @example\n * ```ts\n * const betaManagedAgentsMemory =\n * await client.beta.memoryStores.memories.update(\n * 'memory_id',\n * { memory_store_id: 'memory_store_id' },\n * );\n * ```\n */\n update(memoryID, params, options) {\n const { memory_store_id, view, betas, ...body } = params;\n return this._client.post(path `/v1/memory_stores/${memory_store_id}/memories/${memoryID}?beta=true`, {\n query: { view },\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * ListMemories\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaManagedAgentsMemoryListItem of client.beta.memoryStores.memories.list(\n * 'memory_store_id',\n * )) {\n * // ...\n * }\n * ```\n */\n list(memoryStoreID, params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList(path `/v1/memory_stores/${memoryStoreID}/memories?beta=true`, (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * DeleteMemory\n *\n * @example\n * ```ts\n * const betaManagedAgentsDeletedMemory =\n * await client.beta.memoryStores.memories.delete(\n * 'memory_id',\n * { memory_store_id: 'memory_store_id' },\n * );\n * ```\n */\n delete(memoryID, params, options) {\n const { memory_store_id, expected_content_sha256, betas } = params;\n return this._client.delete(path `/v1/memory_stores/${memory_store_id}/memories/${memoryID}?beta=true`, {\n query: { expected_content_sha256 },\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n}\n//# sourceMappingURL=memories.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport { PageCursor } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class MemoryVersions extends APIResource {\n /**\n * GetMemoryVersion\n *\n * @example\n * ```ts\n * const betaManagedAgentsMemoryVersion =\n * await client.beta.memoryStores.memoryVersions.retrieve(\n * 'memory_version_id',\n * { memory_store_id: 'memory_store_id' },\n * );\n * ```\n */\n retrieve(memoryVersionID, params, options) {\n const { memory_store_id, betas, ...query } = params;\n return this._client.get(path `/v1/memory_stores/${memory_store_id}/memory_versions/${memoryVersionID}?beta=true`, {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * ListMemoryVersions\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaManagedAgentsMemoryVersion of client.beta.memoryStores.memoryVersions.list(\n * 'memory_store_id',\n * )) {\n * // ...\n * }\n * ```\n */\n list(memoryStoreID, params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList(path `/v1/memory_stores/${memoryStoreID}/memory_versions?beta=true`, (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * RedactMemoryVersion\n *\n * @example\n * ```ts\n * const betaManagedAgentsMemoryVersion =\n * await client.beta.memoryStores.memoryVersions.redact(\n * 'memory_version_id',\n * { memory_store_id: 'memory_store_id' },\n * );\n * ```\n */\n redact(memoryVersionID, params, options) {\n const { memory_store_id, betas } = params;\n return this._client.post(path `/v1/memory_stores/${memory_store_id}/memory_versions/${memoryVersionID}/redact?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n}\n//# sourceMappingURL=memory-versions.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport * as MemoriesAPI from \"./memories.mjs\";\nimport { Memories, } from \"./memories.mjs\";\nimport * as MemoryVersionsAPI from \"./memory-versions.mjs\";\nimport { MemoryVersions, } from \"./memory-versions.mjs\";\nimport { PageCursor } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class MemoryStores extends APIResource {\n constructor() {\n super(...arguments);\n this.memories = new MemoriesAPI.Memories(this._client);\n this.memoryVersions = new MemoryVersionsAPI.MemoryVersions(this._client);\n }\n /**\n * CreateMemoryStore\n *\n * @example\n * ```ts\n * const betaManagedAgentsMemoryStore =\n * await client.beta.memoryStores.create({ name: 'x' });\n * ```\n */\n create(params, options) {\n const { betas, ...body } = params;\n return this._client.post('/v1/memory_stores?beta=true', {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * GetMemoryStore\n *\n * @example\n * ```ts\n * const betaManagedAgentsMemoryStore =\n * await client.beta.memoryStores.retrieve(\n * 'memory_store_id',\n * );\n * ```\n */\n retrieve(memoryStoreID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.get(path `/v1/memory_stores/${memoryStoreID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * UpdateMemoryStore\n *\n * @example\n * ```ts\n * const betaManagedAgentsMemoryStore =\n * await client.beta.memoryStores.update('memory_store_id');\n * ```\n */\n update(memoryStoreID, params, options) {\n const { betas, ...body } = params;\n return this._client.post(path `/v1/memory_stores/${memoryStoreID}?beta=true`, {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * ListMemoryStores\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaManagedAgentsMemoryStore of client.beta.memoryStores.list()) {\n * // ...\n * }\n * ```\n */\n list(params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList('/v1/memory_stores?beta=true', (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * DeleteMemoryStore\n *\n * @example\n * ```ts\n * const betaManagedAgentsDeletedMemoryStore =\n * await client.beta.memoryStores.delete('memory_store_id');\n * ```\n */\n delete(memoryStoreID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.delete(path `/v1/memory_stores/${memoryStoreID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * ArchiveMemoryStore\n *\n * @example\n * ```ts\n * const betaManagedAgentsMemoryStore =\n * await client.beta.memoryStores.archive('memory_store_id');\n * ```\n */\n archive(memoryStoreID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.post(path `/v1/memory_stores/${memoryStoreID}/archive?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n}\nMemoryStores.Memories = Memories;\nMemoryStores.MemoryVersions = MemoryVersions;\n//# sourceMappingURL=memory-stores.mjs.map","// File containing shared constants\n/**\n * Model-specific timeout constraints for non-streaming requests\n */\nexport const MODEL_NONSTREAMING_TOKENS = {\n 'claude-opus-4-20250514': 8192,\n 'claude-opus-4-0': 8192,\n 'claude-4-opus-20250514': 8192,\n 'anthropic.claude-opus-4-20250514-v1:0': 8192,\n 'claude-opus-4@20250514': 8192,\n 'claude-opus-4-1-20250805': 8192,\n 'anthropic.claude-opus-4-1-20250805-v1:0': 8192,\n 'claude-opus-4-1@20250805': 8192,\n};\n//# sourceMappingURL=constants.mjs.map","import { AnthropicError } from \"../core/error.mjs\";\nfunction getOutputFormat(params) {\n // Prefer output_format (deprecated) over output_config.format for backward compatibility\n return params?.output_format ?? params?.output_config?.format;\n}\nexport function maybeParseBetaMessage(message, params, opts) {\n const outputFormat = getOutputFormat(params);\n if (!params || !('parse' in (outputFormat ?? {}))) {\n return {\n ...message,\n content: message.content.map((block) => {\n if (block.type === 'text') {\n const parsedBlock = Object.defineProperty({ ...block }, 'parsed_output', {\n value: null,\n enumerable: false,\n });\n return Object.defineProperty(parsedBlock, 'parsed', {\n get() {\n opts.logger.warn('The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead.');\n return null;\n },\n enumerable: false,\n });\n }\n return block;\n }),\n parsed_output: null,\n };\n }\n return parseBetaMessage(message, params, opts);\n}\nexport function parseBetaMessage(message, params, opts) {\n let firstParsedOutput = null;\n const content = message.content.map((block) => {\n if (block.type === 'text') {\n const parsedOutput = parseBetaOutputFormat(params, block.text);\n if (firstParsedOutput === null) {\n firstParsedOutput = parsedOutput;\n }\n const parsedBlock = Object.defineProperty({ ...block }, 'parsed_output', {\n value: parsedOutput,\n enumerable: false,\n });\n return Object.defineProperty(parsedBlock, 'parsed', {\n get() {\n opts.logger.warn('The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead.');\n return parsedOutput;\n },\n enumerable: false,\n });\n }\n return block;\n });\n return {\n ...message,\n content,\n parsed_output: firstParsedOutput,\n };\n}\nfunction parseBetaOutputFormat(params, content) {\n const outputFormat = getOutputFormat(params);\n if (outputFormat?.type !== 'json_schema') {\n return null;\n }\n try {\n if ('parse' in outputFormat) {\n return outputFormat.parse(content);\n }\n return JSON.parse(content);\n }\n catch (error) {\n throw new AnthropicError(`Failed to parse structured output: ${error}`);\n }\n}\n//# sourceMappingURL=beta-parser.mjs.map","const tokenize = (input) => {\n let current = 0;\n let tokens = [];\n while (current < input.length) {\n let char = input[current];\n if (char === '\\\\') {\n current++;\n continue;\n }\n if (char === '{') {\n tokens.push({\n type: 'brace',\n value: '{',\n });\n current++;\n continue;\n }\n if (char === '}') {\n tokens.push({\n type: 'brace',\n value: '}',\n });\n current++;\n continue;\n }\n if (char === '[') {\n tokens.push({\n type: 'paren',\n value: '[',\n });\n current++;\n continue;\n }\n if (char === ']') {\n tokens.push({\n type: 'paren',\n value: ']',\n });\n current++;\n continue;\n }\n if (char === ':') {\n tokens.push({\n type: 'separator',\n value: ':',\n });\n current++;\n continue;\n }\n if (char === ',') {\n tokens.push({\n type: 'delimiter',\n value: ',',\n });\n current++;\n continue;\n }\n if (char === '\"') {\n let value = '';\n let danglingQuote = false;\n char = input[++current];\n while (char !== '\"') {\n if (current === input.length) {\n danglingQuote = true;\n break;\n }\n if (char === '\\\\') {\n current++;\n if (current === input.length) {\n danglingQuote = true;\n break;\n }\n value += char + input[current];\n char = input[++current];\n }\n else {\n value += char;\n char = input[++current];\n }\n }\n char = input[++current];\n if (!danglingQuote) {\n tokens.push({\n type: 'string',\n value,\n });\n }\n continue;\n }\n let WHITESPACE = /\\s/;\n if (char && WHITESPACE.test(char)) {\n current++;\n continue;\n }\n let NUMBERS = /[0-9]/;\n if ((char && NUMBERS.test(char)) || char === '-' || char === '.') {\n let value = '';\n if (char === '-') {\n value += char;\n char = input[++current];\n }\n while ((char && NUMBERS.test(char)) || char === '.') {\n value += char;\n char = input[++current];\n }\n tokens.push({\n type: 'number',\n value,\n });\n continue;\n }\n let LETTERS = /[a-z]/i;\n if (char && LETTERS.test(char)) {\n let value = '';\n while (char && LETTERS.test(char)) {\n if (current === input.length) {\n break;\n }\n value += char;\n char = input[++current];\n }\n if (value == 'true' || value == 'false' || value === 'null') {\n tokens.push({\n type: 'name',\n value,\n });\n }\n else {\n // unknown token, e.g. `nul` which isn't quite `null`\n current++;\n continue;\n }\n continue;\n }\n current++;\n }\n return tokens;\n}, strip = (tokens) => {\n if (tokens.length === 0) {\n return tokens;\n }\n let lastToken = tokens[tokens.length - 1];\n switch (lastToken.type) {\n case 'separator':\n tokens = tokens.slice(0, tokens.length - 1);\n return strip(tokens);\n break;\n case 'number':\n let lastCharacterOfLastToken = lastToken.value[lastToken.value.length - 1];\n if (lastCharacterOfLastToken === '.' || lastCharacterOfLastToken === '-') {\n tokens = tokens.slice(0, tokens.length - 1);\n return strip(tokens);\n }\n case 'string':\n let tokenBeforeTheLastToken = tokens[tokens.length - 2];\n if (tokenBeforeTheLastToken?.type === 'delimiter') {\n tokens = tokens.slice(0, tokens.length - 1);\n return strip(tokens);\n }\n else if (tokenBeforeTheLastToken?.type === 'brace' && tokenBeforeTheLastToken.value === '{') {\n tokens = tokens.slice(0, tokens.length - 1);\n return strip(tokens);\n }\n break;\n case 'delimiter':\n tokens = tokens.slice(0, tokens.length - 1);\n return strip(tokens);\n break;\n }\n return tokens;\n}, unstrip = (tokens) => {\n let tail = [];\n tokens.map((token) => {\n if (token.type === 'brace') {\n if (token.value === '{') {\n tail.push('}');\n }\n else {\n tail.splice(tail.lastIndexOf('}'), 1);\n }\n }\n if (token.type === 'paren') {\n if (token.value === '[') {\n tail.push(']');\n }\n else {\n tail.splice(tail.lastIndexOf(']'), 1);\n }\n }\n });\n if (tail.length > 0) {\n tail.reverse().map((item) => {\n if (item === '}') {\n tokens.push({\n type: 'brace',\n value: '}',\n });\n }\n else if (item === ']') {\n tokens.push({\n type: 'paren',\n value: ']',\n });\n }\n });\n }\n return tokens;\n}, generate = (tokens) => {\n let output = '';\n tokens.map((token) => {\n switch (token.type) {\n case 'string':\n output += '\"' + token.value + '\"';\n break;\n default:\n output += token.value;\n break;\n }\n });\n return output;\n}, partialParse = (input) => JSON.parse(generate(unstrip(strip(tokenize(input)))));\nexport { partialParse };\n//# sourceMappingURL=parser.mjs.map","var _BetaMessageStream_instances, _BetaMessageStream_currentMessageSnapshot, _BetaMessageStream_params, _BetaMessageStream_connectedPromise, _BetaMessageStream_resolveConnectedPromise, _BetaMessageStream_rejectConnectedPromise, _BetaMessageStream_endPromise, _BetaMessageStream_resolveEndPromise, _BetaMessageStream_rejectEndPromise, _BetaMessageStream_listeners, _BetaMessageStream_ended, _BetaMessageStream_errored, _BetaMessageStream_aborted, _BetaMessageStream_catchingPromiseCreated, _BetaMessageStream_response, _BetaMessageStream_request_id, _BetaMessageStream_logger, _BetaMessageStream_getFinalMessage, _BetaMessageStream_getFinalText, _BetaMessageStream_handleError, _BetaMessageStream_beginRequest, _BetaMessageStream_addStreamEvent, _BetaMessageStream_endRequest, _BetaMessageStream_accumulateMessage;\nimport { __classPrivateFieldGet, __classPrivateFieldSet } from \"../internal/tslib.mjs\";\nimport { partialParse } from \"../_vendor/partial-json-parser/parser.mjs\";\nimport { AnthropicError, APIUserAbortError } from \"../error.mjs\";\nimport { isAbortError } from \"../internal/errors.mjs\";\nimport { Stream } from \"../streaming.mjs\";\nimport { maybeParseBetaMessage } from \"./beta-parser.mjs\";\nconst JSON_BUF_PROPERTY = '__json_buf';\nfunction tracksToolInput(content) {\n return content.type === 'tool_use' || content.type === 'server_tool_use' || content.type === 'mcp_tool_use';\n}\nexport class BetaMessageStream {\n constructor(params, opts) {\n _BetaMessageStream_instances.add(this);\n this.messages = [];\n this.receivedMessages = [];\n _BetaMessageStream_currentMessageSnapshot.set(this, void 0);\n _BetaMessageStream_params.set(this, null);\n this.controller = new AbortController();\n _BetaMessageStream_connectedPromise.set(this, void 0);\n _BetaMessageStream_resolveConnectedPromise.set(this, () => { });\n _BetaMessageStream_rejectConnectedPromise.set(this, () => { });\n _BetaMessageStream_endPromise.set(this, void 0);\n _BetaMessageStream_resolveEndPromise.set(this, () => { });\n _BetaMessageStream_rejectEndPromise.set(this, () => { });\n _BetaMessageStream_listeners.set(this, {});\n _BetaMessageStream_ended.set(this, false);\n _BetaMessageStream_errored.set(this, false);\n _BetaMessageStream_aborted.set(this, false);\n _BetaMessageStream_catchingPromiseCreated.set(this, false);\n _BetaMessageStream_response.set(this, void 0);\n _BetaMessageStream_request_id.set(this, void 0);\n _BetaMessageStream_logger.set(this, void 0);\n _BetaMessageStream_handleError.set(this, (error) => {\n __classPrivateFieldSet(this, _BetaMessageStream_errored, true, \"f\");\n if (isAbortError(error)) {\n error = new APIUserAbortError();\n }\n if (error instanceof APIUserAbortError) {\n __classPrivateFieldSet(this, _BetaMessageStream_aborted, true, \"f\");\n return this._emit('abort', error);\n }\n if (error instanceof AnthropicError) {\n return this._emit('error', error);\n }\n if (error instanceof Error) {\n const anthropicError = new AnthropicError(error.message);\n // @ts-ignore\n anthropicError.cause = error;\n return this._emit('error', anthropicError);\n }\n return this._emit('error', new AnthropicError(String(error)));\n });\n __classPrivateFieldSet(this, _BetaMessageStream_connectedPromise, new Promise((resolve, reject) => {\n __classPrivateFieldSet(this, _BetaMessageStream_resolveConnectedPromise, resolve, \"f\");\n __classPrivateFieldSet(this, _BetaMessageStream_rejectConnectedPromise, reject, \"f\");\n }), \"f\");\n __classPrivateFieldSet(this, _BetaMessageStream_endPromise, new Promise((resolve, reject) => {\n __classPrivateFieldSet(this, _BetaMessageStream_resolveEndPromise, resolve, \"f\");\n __classPrivateFieldSet(this, _BetaMessageStream_rejectEndPromise, reject, \"f\");\n }), \"f\");\n // Don't let these promises cause unhandled rejection errors.\n // we will manually cause an unhandled rejection error later\n // if the user hasn't registered any error listener or called\n // any promise-returning method.\n __classPrivateFieldGet(this, _BetaMessageStream_connectedPromise, \"f\").catch(() => { });\n __classPrivateFieldGet(this, _BetaMessageStream_endPromise, \"f\").catch(() => { });\n __classPrivateFieldSet(this, _BetaMessageStream_params, params, \"f\");\n __classPrivateFieldSet(this, _BetaMessageStream_logger, opts?.logger ?? console, \"f\");\n }\n get response() {\n return __classPrivateFieldGet(this, _BetaMessageStream_response, \"f\");\n }\n get request_id() {\n return __classPrivateFieldGet(this, _BetaMessageStream_request_id, \"f\");\n }\n /**\n * Returns the `MessageStream` data, the raw `Response` instance and the ID of the request,\n * returned vie the `request-id` header which is useful for debugging requests and resporting\n * issues to Anthropic.\n *\n * This is the same as the `APIPromise.withResponse()` method.\n *\n * This method will raise an error if you created the stream using `MessageStream.fromReadableStream`\n * as no `Response` is available.\n */\n async withResponse() {\n __classPrivateFieldSet(this, _BetaMessageStream_catchingPromiseCreated, true, \"f\");\n const response = await __classPrivateFieldGet(this, _BetaMessageStream_connectedPromise, \"f\");\n if (!response) {\n throw new Error('Could not resolve a `Response` object');\n }\n return {\n data: this,\n response,\n request_id: response.headers.get('request-id'),\n };\n }\n /**\n * Intended for use on the frontend, consuming a stream produced with\n * `.toReadableStream()` on the backend.\n *\n * Note that messages sent to the model do not appear in `.on('message')`\n * in this context.\n */\n static fromReadableStream(stream) {\n const runner = new BetaMessageStream(null);\n runner._run(() => runner._fromReadableStream(stream));\n return runner;\n }\n static createMessage(messages, params, options, { logger } = {}) {\n const runner = new BetaMessageStream(params, { logger });\n for (const message of params.messages) {\n runner._addMessageParam(message);\n }\n __classPrivateFieldSet(runner, _BetaMessageStream_params, { ...params, stream: true }, \"f\");\n runner._run(() => runner._createMessage(messages, { ...params, stream: true }, { ...options, headers: { ...options?.headers, 'X-Stainless-Helper-Method': 'stream' } }));\n return runner;\n }\n _run(executor) {\n executor().then(() => {\n this._emitFinal();\n this._emit('end');\n }, __classPrivateFieldGet(this, _BetaMessageStream_handleError, \"f\"));\n }\n _addMessageParam(message) {\n this.messages.push(message);\n }\n _addMessage(message, emit = true) {\n this.receivedMessages.push(message);\n if (emit) {\n this._emit('message', message);\n }\n }\n async _createMessage(messages, params, options) {\n const signal = options?.signal;\n let abortHandler;\n if (signal) {\n if (signal.aborted)\n this.controller.abort();\n abortHandler = this.controller.abort.bind(this.controller);\n signal.addEventListener('abort', abortHandler);\n }\n try {\n __classPrivateFieldGet(this, _BetaMessageStream_instances, \"m\", _BetaMessageStream_beginRequest).call(this);\n const { response, data: stream } = await messages\n .create({ ...params, stream: true }, { ...options, signal: this.controller.signal })\n .withResponse();\n this._connected(response);\n for await (const event of stream) {\n __classPrivateFieldGet(this, _BetaMessageStream_instances, \"m\", _BetaMessageStream_addStreamEvent).call(this, event);\n }\n if (stream.controller.signal?.aborted) {\n throw new APIUserAbortError();\n }\n __classPrivateFieldGet(this, _BetaMessageStream_instances, \"m\", _BetaMessageStream_endRequest).call(this);\n }\n finally {\n if (signal && abortHandler) {\n signal.removeEventListener('abort', abortHandler);\n }\n }\n }\n _connected(response) {\n if (this.ended)\n return;\n __classPrivateFieldSet(this, _BetaMessageStream_response, response, \"f\");\n __classPrivateFieldSet(this, _BetaMessageStream_request_id, response?.headers.get('request-id'), \"f\");\n __classPrivateFieldGet(this, _BetaMessageStream_resolveConnectedPromise, \"f\").call(this, response);\n this._emit('connect');\n }\n get ended() {\n return __classPrivateFieldGet(this, _BetaMessageStream_ended, \"f\");\n }\n get errored() {\n return __classPrivateFieldGet(this, _BetaMessageStream_errored, \"f\");\n }\n get aborted() {\n return __classPrivateFieldGet(this, _BetaMessageStream_aborted, \"f\");\n }\n abort() {\n this.controller.abort();\n }\n /**\n * Adds the listener function to the end of the listeners array for the event.\n * No checks are made to see if the listener has already been added. Multiple calls passing\n * the same combination of event and listener will result in the listener being added, and\n * called, multiple times.\n * @returns this MessageStream, so that calls can be chained\n */\n on(event, listener) {\n const listeners = __classPrivateFieldGet(this, _BetaMessageStream_listeners, \"f\")[event] || (__classPrivateFieldGet(this, _BetaMessageStream_listeners, \"f\")[event] = []);\n listeners.push({ listener });\n return this;\n }\n /**\n * Removes the specified listener from the listener array for the event.\n * off() will remove, at most, one instance of a listener from the listener array. If any single\n * listener has been added multiple times to the listener array for the specified event, then\n * off() must be called multiple times to remove each instance.\n * @returns this MessageStream, so that calls can be chained\n */\n off(event, listener) {\n const listeners = __classPrivateFieldGet(this, _BetaMessageStream_listeners, \"f\")[event];\n if (!listeners)\n return this;\n const index = listeners.findIndex((l) => l.listener === listener);\n if (index >= 0)\n listeners.splice(index, 1);\n return this;\n }\n /**\n * Adds a one-time listener function for the event. The next time the event is triggered,\n * this listener is removed and then invoked.\n * @returns this MessageStream, so that calls can be chained\n */\n once(event, listener) {\n const listeners = __classPrivateFieldGet(this, _BetaMessageStream_listeners, \"f\")[event] || (__classPrivateFieldGet(this, _BetaMessageStream_listeners, \"f\")[event] = []);\n listeners.push({ listener, once: true });\n return this;\n }\n /**\n * This is similar to `.once()`, but returns a Promise that resolves the next time\n * the event is triggered, instead of calling a listener callback.\n * @returns a Promise that resolves the next time given event is triggered,\n * or rejects if an error is emitted. (If you request the 'error' event,\n * returns a promise that resolves with the error).\n *\n * Example:\n *\n * const message = await stream.emitted('message') // rejects if the stream errors\n */\n emitted(event) {\n return new Promise((resolve, reject) => {\n __classPrivateFieldSet(this, _BetaMessageStream_catchingPromiseCreated, true, \"f\");\n if (event !== 'error')\n this.once('error', reject);\n this.once(event, resolve);\n });\n }\n async done() {\n __classPrivateFieldSet(this, _BetaMessageStream_catchingPromiseCreated, true, \"f\");\n await __classPrivateFieldGet(this, _BetaMessageStream_endPromise, \"f\");\n }\n get currentMessage() {\n return __classPrivateFieldGet(this, _BetaMessageStream_currentMessageSnapshot, \"f\");\n }\n /**\n * @returns a promise that resolves with the the final assistant Message response,\n * or rejects if an error occurred or the stream ended prematurely without producing a Message.\n * If structured outputs were used, this will be a ParsedMessage with a `parsed` field.\n */\n async finalMessage() {\n await this.done();\n return __classPrivateFieldGet(this, _BetaMessageStream_instances, \"m\", _BetaMessageStream_getFinalMessage).call(this);\n }\n /**\n * @returns a promise that resolves with the the final assistant Message's text response, concatenated\n * together if there are more than one text blocks.\n * Rejects if an error occurred or the stream ended prematurely without producing a Message.\n */\n async finalText() {\n await this.done();\n return __classPrivateFieldGet(this, _BetaMessageStream_instances, \"m\", _BetaMessageStream_getFinalText).call(this);\n }\n _emit(event, ...args) {\n // make sure we don't emit any MessageStreamEvents after end\n if (__classPrivateFieldGet(this, _BetaMessageStream_ended, \"f\"))\n return;\n if (event === 'end') {\n __classPrivateFieldSet(this, _BetaMessageStream_ended, true, \"f\");\n __classPrivateFieldGet(this, _BetaMessageStream_resolveEndPromise, \"f\").call(this);\n }\n const listeners = __classPrivateFieldGet(this, _BetaMessageStream_listeners, \"f\")[event];\n if (listeners) {\n __classPrivateFieldGet(this, _BetaMessageStream_listeners, \"f\")[event] = listeners.filter((l) => !l.once);\n listeners.forEach(({ listener }) => listener(...args));\n }\n if (event === 'abort') {\n const error = args[0];\n if (!__classPrivateFieldGet(this, _BetaMessageStream_catchingPromiseCreated, \"f\") && !listeners?.length) {\n Promise.reject(error);\n }\n __classPrivateFieldGet(this, _BetaMessageStream_rejectConnectedPromise, \"f\").call(this, error);\n __classPrivateFieldGet(this, _BetaMessageStream_rejectEndPromise, \"f\").call(this, error);\n this._emit('end');\n return;\n }\n if (event === 'error') {\n // NOTE: _emit('error', error) should only be called from #handleError().\n const error = args[0];\n if (!__classPrivateFieldGet(this, _BetaMessageStream_catchingPromiseCreated, \"f\") && !listeners?.length) {\n // Trigger an unhandled rejection if the user hasn't registered any error handlers.\n // If you are seeing stack traces here, make sure to handle errors via either:\n // - runner.on('error', () => ...)\n // - await runner.done()\n // - await runner.final...()\n // - etc.\n Promise.reject(error);\n }\n __classPrivateFieldGet(this, _BetaMessageStream_rejectConnectedPromise, \"f\").call(this, error);\n __classPrivateFieldGet(this, _BetaMessageStream_rejectEndPromise, \"f\").call(this, error);\n this._emit('end');\n }\n }\n _emitFinal() {\n const finalMessage = this.receivedMessages.at(-1);\n if (finalMessage) {\n this._emit('finalMessage', __classPrivateFieldGet(this, _BetaMessageStream_instances, \"m\", _BetaMessageStream_getFinalMessage).call(this));\n }\n }\n async _fromReadableStream(readableStream, options) {\n const signal = options?.signal;\n let abortHandler;\n if (signal) {\n if (signal.aborted)\n this.controller.abort();\n abortHandler = this.controller.abort.bind(this.controller);\n signal.addEventListener('abort', abortHandler);\n }\n try {\n __classPrivateFieldGet(this, _BetaMessageStream_instances, \"m\", _BetaMessageStream_beginRequest).call(this);\n this._connected(null);\n const stream = Stream.fromReadableStream(readableStream, this.controller);\n for await (const event of stream) {\n __classPrivateFieldGet(this, _BetaMessageStream_instances, \"m\", _BetaMessageStream_addStreamEvent).call(this, event);\n }\n if (stream.controller.signal?.aborted) {\n throw new APIUserAbortError();\n }\n __classPrivateFieldGet(this, _BetaMessageStream_instances, \"m\", _BetaMessageStream_endRequest).call(this);\n }\n finally {\n if (signal && abortHandler) {\n signal.removeEventListener('abort', abortHandler);\n }\n }\n }\n [(_BetaMessageStream_currentMessageSnapshot = new WeakMap(), _BetaMessageStream_params = new WeakMap(), _BetaMessageStream_connectedPromise = new WeakMap(), _BetaMessageStream_resolveConnectedPromise = new WeakMap(), _BetaMessageStream_rejectConnectedPromise = new WeakMap(), _BetaMessageStream_endPromise = new WeakMap(), _BetaMessageStream_resolveEndPromise = new WeakMap(), _BetaMessageStream_rejectEndPromise = new WeakMap(), _BetaMessageStream_listeners = new WeakMap(), _BetaMessageStream_ended = new WeakMap(), _BetaMessageStream_errored = new WeakMap(), _BetaMessageStream_aborted = new WeakMap(), _BetaMessageStream_catchingPromiseCreated = new WeakMap(), _BetaMessageStream_response = new WeakMap(), _BetaMessageStream_request_id = new WeakMap(), _BetaMessageStream_logger = new WeakMap(), _BetaMessageStream_handleError = new WeakMap(), _BetaMessageStream_instances = new WeakSet(), _BetaMessageStream_getFinalMessage = function _BetaMessageStream_getFinalMessage() {\n if (this.receivedMessages.length === 0) {\n throw new AnthropicError('stream ended without producing a Message with role=assistant');\n }\n return this.receivedMessages.at(-1);\n }, _BetaMessageStream_getFinalText = function _BetaMessageStream_getFinalText() {\n if (this.receivedMessages.length === 0) {\n throw new AnthropicError('stream ended without producing a Message with role=assistant');\n }\n const textBlocks = this.receivedMessages\n .at(-1)\n .content.filter((block) => block.type === 'text')\n .map((block) => block.text);\n if (textBlocks.length === 0) {\n throw new AnthropicError('stream ended without producing a content block with type=text');\n }\n return textBlocks.join(' ');\n }, _BetaMessageStream_beginRequest = function _BetaMessageStream_beginRequest() {\n if (this.ended)\n return;\n __classPrivateFieldSet(this, _BetaMessageStream_currentMessageSnapshot, undefined, \"f\");\n }, _BetaMessageStream_addStreamEvent = function _BetaMessageStream_addStreamEvent(event) {\n if (this.ended)\n return;\n const messageSnapshot = __classPrivateFieldGet(this, _BetaMessageStream_instances, \"m\", _BetaMessageStream_accumulateMessage).call(this, event);\n this._emit('streamEvent', event, messageSnapshot);\n switch (event.type) {\n case 'content_block_delta': {\n const content = messageSnapshot.content.at(-1);\n switch (event.delta.type) {\n case 'text_delta': {\n if (content.type === 'text') {\n this._emit('text', event.delta.text, content.text || '');\n }\n break;\n }\n case 'citations_delta': {\n if (content.type === 'text') {\n this._emit('citation', event.delta.citation, content.citations ?? []);\n }\n break;\n }\n case 'input_json_delta': {\n if (tracksToolInput(content) && content.input) {\n this._emit('inputJson', event.delta.partial_json, content.input);\n }\n break;\n }\n case 'thinking_delta': {\n if (content.type === 'thinking') {\n this._emit('thinking', event.delta.thinking, content.thinking);\n }\n break;\n }\n case 'signature_delta': {\n if (content.type === 'thinking') {\n this._emit('signature', content.signature);\n }\n break;\n }\n case 'compaction_delta': {\n if (content.type === 'compaction' && content.content) {\n this._emit('compaction', content.content);\n }\n break;\n }\n default:\n checkNever(event.delta);\n }\n break;\n }\n case 'message_stop': {\n this._addMessageParam(messageSnapshot);\n this._addMessage(maybeParseBetaMessage(messageSnapshot, __classPrivateFieldGet(this, _BetaMessageStream_params, \"f\"), { logger: __classPrivateFieldGet(this, _BetaMessageStream_logger, \"f\") }), true);\n break;\n }\n case 'content_block_stop': {\n this._emit('contentBlock', messageSnapshot.content.at(-1));\n break;\n }\n case 'message_start': {\n __classPrivateFieldSet(this, _BetaMessageStream_currentMessageSnapshot, messageSnapshot, \"f\");\n break;\n }\n case 'content_block_start':\n case 'message_delta':\n break;\n }\n }, _BetaMessageStream_endRequest = function _BetaMessageStream_endRequest() {\n if (this.ended) {\n throw new AnthropicError(`stream has ended, this shouldn't happen`);\n }\n const snapshot = __classPrivateFieldGet(this, _BetaMessageStream_currentMessageSnapshot, \"f\");\n if (!snapshot) {\n throw new AnthropicError(`request ended without sending any chunks`);\n }\n __classPrivateFieldSet(this, _BetaMessageStream_currentMessageSnapshot, undefined, \"f\");\n return maybeParseBetaMessage(snapshot, __classPrivateFieldGet(this, _BetaMessageStream_params, \"f\"), { logger: __classPrivateFieldGet(this, _BetaMessageStream_logger, \"f\") });\n }, _BetaMessageStream_accumulateMessage = function _BetaMessageStream_accumulateMessage(event) {\n let snapshot = __classPrivateFieldGet(this, _BetaMessageStream_currentMessageSnapshot, \"f\");\n if (event.type === 'message_start') {\n if (snapshot) {\n throw new AnthropicError(`Unexpected event order, got ${event.type} before receiving \"message_stop\"`);\n }\n return event.message;\n }\n if (!snapshot) {\n throw new AnthropicError(`Unexpected event order, got ${event.type} before \"message_start\"`);\n }\n switch (event.type) {\n case 'message_stop':\n return snapshot;\n case 'message_delta':\n snapshot.container = event.delta.container;\n snapshot.stop_reason = event.delta.stop_reason;\n snapshot.stop_sequence = event.delta.stop_sequence;\n snapshot.usage.output_tokens = event.usage.output_tokens;\n snapshot.context_management = event.context_management;\n if (event.usage.input_tokens != null) {\n snapshot.usage.input_tokens = event.usage.input_tokens;\n }\n if (event.usage.cache_creation_input_tokens != null) {\n snapshot.usage.cache_creation_input_tokens = event.usage.cache_creation_input_tokens;\n }\n if (event.usage.cache_read_input_tokens != null) {\n snapshot.usage.cache_read_input_tokens = event.usage.cache_read_input_tokens;\n }\n if (event.usage.server_tool_use != null) {\n snapshot.usage.server_tool_use = event.usage.server_tool_use;\n }\n if (event.usage.iterations != null) {\n snapshot.usage.iterations = event.usage.iterations;\n }\n return snapshot;\n case 'content_block_start':\n snapshot.content.push(event.content_block);\n return snapshot;\n case 'content_block_delta': {\n const snapshotContent = snapshot.content.at(event.index);\n switch (event.delta.type) {\n case 'text_delta': {\n if (snapshotContent?.type === 'text') {\n snapshot.content[event.index] = {\n ...snapshotContent,\n text: (snapshotContent.text || '') + event.delta.text,\n };\n }\n break;\n }\n case 'citations_delta': {\n if (snapshotContent?.type === 'text') {\n snapshot.content[event.index] = {\n ...snapshotContent,\n citations: [...(snapshotContent.citations ?? []), event.delta.citation],\n };\n }\n break;\n }\n case 'input_json_delta': {\n if (snapshotContent && tracksToolInput(snapshotContent)) {\n // we need to keep track of the raw JSON string as well so that we can\n // re-parse it for each delta, for now we just store it as an untyped\n // non-enumerable property on the snapshot\n let jsonBuf = snapshotContent[JSON_BUF_PROPERTY] || '';\n jsonBuf += event.delta.partial_json;\n const newContent = { ...snapshotContent };\n Object.defineProperty(newContent, JSON_BUF_PROPERTY, {\n value: jsonBuf,\n enumerable: false,\n writable: true,\n });\n if (jsonBuf) {\n try {\n newContent.input = partialParse(jsonBuf);\n }\n catch (err) {\n const error = new AnthropicError(`Unable to parse tool parameter JSON from model. Please retry your request or adjust your prompt. Error: ${err}. JSON: ${jsonBuf}`);\n __classPrivateFieldGet(this, _BetaMessageStream_handleError, \"f\").call(this, error);\n }\n }\n snapshot.content[event.index] = newContent;\n }\n break;\n }\n case 'thinking_delta': {\n if (snapshotContent?.type === 'thinking') {\n snapshot.content[event.index] = {\n ...snapshotContent,\n thinking: snapshotContent.thinking + event.delta.thinking,\n };\n }\n break;\n }\n case 'signature_delta': {\n if (snapshotContent?.type === 'thinking') {\n snapshot.content[event.index] = {\n ...snapshotContent,\n signature: event.delta.signature,\n };\n }\n break;\n }\n case 'compaction_delta': {\n if (snapshotContent?.type === 'compaction') {\n snapshot.content[event.index] = {\n ...snapshotContent,\n content: (snapshotContent.content || '') + event.delta.content,\n };\n }\n break;\n }\n default:\n checkNever(event.delta);\n }\n return snapshot;\n }\n case 'content_block_stop':\n return snapshot;\n }\n }, Symbol.asyncIterator)]() {\n const pushQueue = [];\n const readQueue = [];\n let done = false;\n this.on('streamEvent', (event) => {\n const reader = readQueue.shift();\n if (reader) {\n reader.resolve(event);\n }\n else {\n pushQueue.push(event);\n }\n });\n this.on('end', () => {\n done = true;\n for (const reader of readQueue) {\n reader.resolve(undefined);\n }\n readQueue.length = 0;\n });\n this.on('abort', (err) => {\n done = true;\n for (const reader of readQueue) {\n reader.reject(err);\n }\n readQueue.length = 0;\n });\n this.on('error', (err) => {\n done = true;\n for (const reader of readQueue) {\n reader.reject(err);\n }\n readQueue.length = 0;\n });\n return {\n next: async () => {\n if (!pushQueue.length) {\n if (done) {\n return { value: undefined, done: true };\n }\n return new Promise((resolve, reject) => readQueue.push({ resolve, reject })).then((chunk) => (chunk ? { value: chunk, done: false } : { value: undefined, done: true }));\n }\n const chunk = pushQueue.shift();\n return { value: chunk, done: false };\n },\n return: async () => {\n this.abort();\n return { value: undefined, done: true };\n },\n };\n }\n toReadableStream() {\n const stream = new Stream(this[Symbol.asyncIterator].bind(this), this.controller);\n return stream.toReadableStream();\n }\n}\n// used to ensure exhaustive case matching without throwing a runtime error\nfunction checkNever(x) { }\n//# sourceMappingURL=BetaMessageStream.mjs.map","/**\n * An error that can be thrown from a tool's `run` method to return structured\n * content blocks as the error result, rather than just a string message.\n *\n * When the ToolRunner catches this error, it will use the `content` property\n * as the tool result with `is_error: true`.\n *\n * @example\n * ```ts\n * const tool = {\n * name: 'my_tool',\n * run: async (input) => {\n * if (somethingWentWrong) {\n * throw new ToolError([\n * { type: 'text', text: 'Error details here' },\n * { type: 'image', source: { type: 'base64', data: '...', media_type: 'image/png' } },\n * ]);\n * }\n * return 'success';\n * },\n * };\n * ```\n */\nexport class ToolError extends Error {\n constructor(content) {\n const message = typeof content === 'string' ? content : (content\n .map((block) => {\n if (block.type === 'text')\n return block.text;\n return `[${block.type}]`;\n })\n .join(' '));\n super(message);\n this.name = 'ToolError';\n this.content = content;\n }\n}\n//# sourceMappingURL=ToolError.mjs.map","export const DEFAULT_TOKEN_THRESHOLD = 100000;\nexport const DEFAULT_SUMMARY_PROMPT = `You have been working on the task described above but have not yet completed it. Write a continuation summary that will allow you (or another instance of yourself) to resume work efficiently in a future context window where the conversation history will be replaced with this summary. Your summary should be structured, concise, and actionable. Include:\n1. Task Overview\nThe user's core request and success criteria\nAny clarifications or constraints they specified\n2. Current State\nWhat has been completed so far\nFiles created, modified, or analyzed (with paths if relevant)\nKey outputs or artifacts produced\n3. Important Discoveries\nTechnical constraints or requirements uncovered\nDecisions made and their rationale\nErrors encountered and how they were resolved\nWhat approaches were tried that didn't work (and why)\n4. Next Steps\nSpecific actions needed to complete the task\nAny blockers or open questions to resolve\nPriority order if multiple steps remain\n5. Context to Preserve\nUser preferences or style requirements\nDomain-specific details that aren't obvious\nAny promises made to the user\nBe concise but complete—err on the side of including information that would prevent duplicate work or repeated mistakes. Write in a way that enables immediate resumption of the task.\nWrap your summary in <summary></summary> tags.`;\n//# sourceMappingURL=CompactionControl.mjs.map","var _BetaToolRunner_instances, _BetaToolRunner_consumed, _BetaToolRunner_mutated, _BetaToolRunner_state, _BetaToolRunner_options, _BetaToolRunner_message, _BetaToolRunner_toolResponse, _BetaToolRunner_completion, _BetaToolRunner_iterationCount, _BetaToolRunner_checkAndCompact, _BetaToolRunner_generateToolResponse;\nimport { __classPrivateFieldGet, __classPrivateFieldSet } from \"../../internal/tslib.mjs\";\nimport { ToolError } from \"./ToolError.mjs\";\nimport { AnthropicError } from \"../../core/error.mjs\";\nimport { buildHeaders } from \"../../internal/headers.mjs\";\nimport { DEFAULT_SUMMARY_PROMPT, DEFAULT_TOKEN_THRESHOLD } from \"./CompactionControl.mjs\";\nimport { collectStainlessHelpers } from \"../stainless-helper-header.mjs\";\n/**\n * Just Promise.withResolvers(), which is not available in all environments.\n */\nfunction promiseWithResolvers() {\n let resolve;\n let reject;\n const promise = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n return { promise, resolve: resolve, reject: reject };\n}\n/**\n * A ToolRunner handles the automatic conversation loop between the assistant and tools.\n *\n * A ToolRunner is an async iterable that yields either BetaMessage or BetaMessageStream objects\n * depending on the streaming configuration.\n */\nexport class BetaToolRunner {\n constructor(client, params, options) {\n _BetaToolRunner_instances.add(this);\n this.client = client;\n /** Whether the async iterator has been consumed */\n _BetaToolRunner_consumed.set(this, false);\n /** Whether parameters have been mutated since the last API call */\n _BetaToolRunner_mutated.set(this, false);\n /** Current state containing the request parameters */\n _BetaToolRunner_state.set(this, void 0);\n _BetaToolRunner_options.set(this, void 0);\n /** Promise for the last message received from the assistant */\n _BetaToolRunner_message.set(this, void 0);\n /** Cached tool response to avoid redundant executions */\n _BetaToolRunner_toolResponse.set(this, void 0);\n /** Promise resolvers for waiting on completion */\n _BetaToolRunner_completion.set(this, void 0);\n /** Number of iterations (API requests) made so far */\n _BetaToolRunner_iterationCount.set(this, 0);\n __classPrivateFieldSet(this, _BetaToolRunner_state, {\n params: {\n // You can't clone the entire params since there are functions as handlers.\n // You also don't really need to clone params.messages, but it probably will prevent a foot gun\n // somewhere.\n ...params,\n messages: structuredClone(params.messages),\n },\n }, \"f\");\n const helpers = collectStainlessHelpers(params.tools, params.messages);\n const helperValue = ['BetaToolRunner', ...helpers].join(', ');\n __classPrivateFieldSet(this, _BetaToolRunner_options, {\n ...options,\n headers: buildHeaders([{ 'x-stainless-helper': helperValue }, options?.headers]),\n }, \"f\");\n __classPrivateFieldSet(this, _BetaToolRunner_completion, promiseWithResolvers(), \"f\");\n if (params.compactionControl?.enabled) {\n console.warn('Anthropic: The `compactionControl` parameter is deprecated and will be removed in a future version. ' +\n 'Use server-side compaction instead by passing `edits: [{ type: \"compact_20260112\" }]` in the params passed to `toolRunner()`. ' +\n 'See https://platform.claude.com/docs/en/build-with-claude/compaction');\n }\n }\n async *[(_BetaToolRunner_consumed = new WeakMap(), _BetaToolRunner_mutated = new WeakMap(), _BetaToolRunner_state = new WeakMap(), _BetaToolRunner_options = new WeakMap(), _BetaToolRunner_message = new WeakMap(), _BetaToolRunner_toolResponse = new WeakMap(), _BetaToolRunner_completion = new WeakMap(), _BetaToolRunner_iterationCount = new WeakMap(), _BetaToolRunner_instances = new WeakSet(), _BetaToolRunner_checkAndCompact = async function _BetaToolRunner_checkAndCompact() {\n const compactionControl = __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params.compactionControl;\n if (!compactionControl || !compactionControl.enabled) {\n return false;\n }\n let tokensUsed = 0;\n if (__classPrivateFieldGet(this, _BetaToolRunner_message, \"f\") !== undefined) {\n try {\n const message = await __classPrivateFieldGet(this, _BetaToolRunner_message, \"f\");\n const totalInputTokens = message.usage.input_tokens +\n (message.usage.cache_creation_input_tokens ?? 0) +\n (message.usage.cache_read_input_tokens ?? 0);\n tokensUsed = totalInputTokens + message.usage.output_tokens;\n }\n catch {\n // If we can't get the message, skip compaction\n return false;\n }\n }\n const threshold = compactionControl.contextTokenThreshold ?? DEFAULT_TOKEN_THRESHOLD;\n if (tokensUsed < threshold) {\n return false;\n }\n const model = compactionControl.model ?? __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params.model;\n const summaryPrompt = compactionControl.summaryPrompt ?? DEFAULT_SUMMARY_PROMPT;\n const messages = __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params.messages;\n if (messages[messages.length - 1].role === 'assistant') {\n // Remove tool_use blocks from the last message to avoid 400 error\n // (tool_use requires tool_result, which we don't have yet)\n const lastMessage = messages[messages.length - 1];\n if (Array.isArray(lastMessage.content)) {\n const nonToolBlocks = lastMessage.content.filter((block) => block.type !== 'tool_use');\n if (nonToolBlocks.length === 0) {\n // If all blocks were tool_use, just remove the message entirely\n messages.pop();\n }\n else {\n lastMessage.content = nonToolBlocks;\n }\n }\n }\n const response = await this.client.beta.messages.create({\n model,\n messages: [\n ...messages,\n {\n role: 'user',\n content: [\n {\n type: 'text',\n text: summaryPrompt,\n },\n ],\n },\n ],\n max_tokens: __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params.max_tokens,\n }, {\n signal: __classPrivateFieldGet(this, _BetaToolRunner_options, \"f\").signal,\n headers: buildHeaders([__classPrivateFieldGet(this, _BetaToolRunner_options, \"f\").headers, { 'x-stainless-helper': 'compaction' }]),\n });\n if (response.content[0]?.type !== 'text') {\n throw new AnthropicError('Expected text response for compaction');\n }\n __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params.messages = [\n {\n role: 'user',\n content: response.content,\n },\n ];\n return true;\n }, Symbol.asyncIterator)]() {\n var _a;\n if (__classPrivateFieldGet(this, _BetaToolRunner_consumed, \"f\")) {\n throw new AnthropicError('Cannot iterate over a consumed stream');\n }\n __classPrivateFieldSet(this, _BetaToolRunner_consumed, true, \"f\");\n __classPrivateFieldSet(this, _BetaToolRunner_mutated, true, \"f\");\n __classPrivateFieldSet(this, _BetaToolRunner_toolResponse, undefined, \"f\");\n try {\n while (true) {\n let stream;\n try {\n if (__classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params.max_iterations &&\n __classPrivateFieldGet(this, _BetaToolRunner_iterationCount, \"f\") >= __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params.max_iterations) {\n break;\n }\n __classPrivateFieldSet(this, _BetaToolRunner_mutated, false, \"f\");\n __classPrivateFieldSet(this, _BetaToolRunner_toolResponse, undefined, \"f\");\n __classPrivateFieldSet(this, _BetaToolRunner_iterationCount, (_a = __classPrivateFieldGet(this, _BetaToolRunner_iterationCount, \"f\"), _a++, _a), \"f\");\n __classPrivateFieldSet(this, _BetaToolRunner_message, undefined, \"f\");\n const { max_iterations, compactionControl, ...params } = __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params;\n if (params.stream) {\n stream = this.client.beta.messages.stream({ ...params }, __classPrivateFieldGet(this, _BetaToolRunner_options, \"f\"));\n __classPrivateFieldSet(this, _BetaToolRunner_message, stream.finalMessage(), \"f\");\n // Make sure that this promise doesn't throw before we get the option to do something about it.\n // Error will be caught when we call await this.#message ultimately\n __classPrivateFieldGet(this, _BetaToolRunner_message, \"f\").catch(() => { });\n yield stream;\n }\n else {\n __classPrivateFieldSet(this, _BetaToolRunner_message, this.client.beta.messages.create({ ...params, stream: false }, __classPrivateFieldGet(this, _BetaToolRunner_options, \"f\")), \"f\");\n yield __classPrivateFieldGet(this, _BetaToolRunner_message, \"f\");\n }\n const isCompacted = await __classPrivateFieldGet(this, _BetaToolRunner_instances, \"m\", _BetaToolRunner_checkAndCompact).call(this);\n if (!isCompacted) {\n if (!__classPrivateFieldGet(this, _BetaToolRunner_mutated, \"f\")) {\n const { role, content } = await __classPrivateFieldGet(this, _BetaToolRunner_message, \"f\");\n __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params.messages.push({ role, content });\n }\n const toolMessage = await __classPrivateFieldGet(this, _BetaToolRunner_instances, \"m\", _BetaToolRunner_generateToolResponse).call(this, __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params.messages.at(-1));\n if (toolMessage) {\n __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params.messages.push(toolMessage);\n }\n else if (!__classPrivateFieldGet(this, _BetaToolRunner_mutated, \"f\")) {\n break;\n }\n }\n }\n finally {\n if (stream) {\n stream.abort();\n }\n }\n }\n if (!__classPrivateFieldGet(this, _BetaToolRunner_message, \"f\")) {\n throw new AnthropicError('ToolRunner concluded without a message from the server');\n }\n __classPrivateFieldGet(this, _BetaToolRunner_completion, \"f\").resolve(await __classPrivateFieldGet(this, _BetaToolRunner_message, \"f\"));\n }\n catch (error) {\n __classPrivateFieldSet(this, _BetaToolRunner_consumed, false, \"f\");\n // Silence unhandled promise errors\n __classPrivateFieldGet(this, _BetaToolRunner_completion, \"f\").promise.catch(() => { });\n __classPrivateFieldGet(this, _BetaToolRunner_completion, \"f\").reject(error);\n __classPrivateFieldSet(this, _BetaToolRunner_completion, promiseWithResolvers(), \"f\");\n throw error;\n }\n }\n setMessagesParams(paramsOrMutator) {\n if (typeof paramsOrMutator === 'function') {\n __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params = paramsOrMutator(__classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params);\n }\n else {\n __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params = paramsOrMutator;\n }\n __classPrivateFieldSet(this, _BetaToolRunner_mutated, true, \"f\");\n // Invalidate cached tool response since parameters changed\n __classPrivateFieldSet(this, _BetaToolRunner_toolResponse, undefined, \"f\");\n }\n setRequestOptions(optionsOrMutator) {\n if (typeof optionsOrMutator === 'function') {\n __classPrivateFieldSet(this, _BetaToolRunner_options, optionsOrMutator(__classPrivateFieldGet(this, _BetaToolRunner_options, \"f\")), \"f\");\n }\n else {\n __classPrivateFieldSet(this, _BetaToolRunner_options, { ...__classPrivateFieldGet(this, _BetaToolRunner_options, \"f\"), ...optionsOrMutator }, \"f\");\n }\n }\n /**\n * Get the tool response for the last message from the assistant.\n * Avoids redundant tool executions by caching results.\n *\n * @returns A promise that resolves to a BetaMessageParam containing tool results, or null if no tools need to be executed\n *\n * @example\n * const toolResponse = await runner.generateToolResponse();\n * if (toolResponse) {\n * console.log('Tool results:', toolResponse.content);\n * }\n */\n async generateToolResponse(signal = __classPrivateFieldGet(this, _BetaToolRunner_options, \"f\").signal) {\n const message = (await __classPrivateFieldGet(this, _BetaToolRunner_message, \"f\")) ?? this.params.messages.at(-1);\n if (!message) {\n return null;\n }\n return __classPrivateFieldGet(this, _BetaToolRunner_instances, \"m\", _BetaToolRunner_generateToolResponse).call(this, message, signal);\n }\n /**\n * Wait for the async iterator to complete. This works even if the async iterator hasn't yet started, and\n * will wait for an instance to start and go to completion.\n *\n * @returns A promise that resolves to the final BetaMessage when the iterator completes\n *\n * @example\n * // Start consuming the iterator\n * for await (const message of runner) {\n * console.log('Message:', message.content);\n * }\n *\n * // Meanwhile, wait for completion from another part of the code\n * const finalMessage = await runner.done();\n * console.log('Final response:', finalMessage.content);\n */\n done() {\n return __classPrivateFieldGet(this, _BetaToolRunner_completion, \"f\").promise;\n }\n /**\n * Returns a promise indicating that the stream is done. Unlike .done(), this will eagerly read the stream:\n * * If the iterator has not been consumed, consume the entire iterator and return the final message from the\n * assistant.\n * * If the iterator has been consumed, waits for it to complete and returns the final message.\n *\n * @returns A promise that resolves to the final BetaMessage from the conversation\n * @throws {AnthropicError} If no messages were processed during the conversation\n *\n * @example\n * const finalMessage = await runner.runUntilDone();\n * console.log('Final response:', finalMessage.content);\n */\n async runUntilDone() {\n // If not yet consumed, start consuming and wait for completion\n if (!__classPrivateFieldGet(this, _BetaToolRunner_consumed, \"f\")) {\n for await (const _ of this) {\n // Iterator naturally populates this.#message\n }\n }\n // If consumed but not completed, wait for completion\n return this.done();\n }\n /**\n * Get the current parameters being used by the ToolRunner.\n *\n * @returns A readonly view of the current ToolRunnerParams\n *\n * @example\n * const currentParams = runner.params;\n * console.log('Current model:', currentParams.model);\n * console.log('Message count:', currentParams.messages.length);\n */\n get params() {\n return __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params;\n }\n /**\n * Add one or more messages to the conversation history.\n *\n * @param messages - One or more BetaMessageParam objects to add to the conversation\n *\n * @example\n * runner.pushMessages(\n * { role: 'user', content: 'Also, what about the weather in NYC?' }\n * );\n *\n * @example\n * // Adding multiple messages\n * runner.pushMessages(\n * { role: 'user', content: 'What about NYC?' },\n * { role: 'user', content: 'And Boston?' }\n * );\n */\n pushMessages(...messages) {\n this.setMessagesParams((params) => ({\n ...params,\n messages: [...params.messages, ...messages],\n }));\n }\n /**\n * Makes the ToolRunner directly awaitable, equivalent to calling .runUntilDone()\n * This allows using `await runner` instead of `await runner.runUntilDone()`\n */\n then(onfulfilled, onrejected) {\n return this.runUntilDone().then(onfulfilled, onrejected);\n }\n}\n_BetaToolRunner_generateToolResponse = async function _BetaToolRunner_generateToolResponse(lastMessage, signal = __classPrivateFieldGet(this, _BetaToolRunner_options, \"f\").signal) {\n if (__classPrivateFieldGet(this, _BetaToolRunner_toolResponse, \"f\") !== undefined) {\n return __classPrivateFieldGet(this, _BetaToolRunner_toolResponse, \"f\");\n }\n __classPrivateFieldSet(this, _BetaToolRunner_toolResponse, generateToolResponse(__classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params, lastMessage, {\n ...__classPrivateFieldGet(this, _BetaToolRunner_options, \"f\"),\n signal,\n }), \"f\");\n return __classPrivateFieldGet(this, _BetaToolRunner_toolResponse, \"f\");\n};\nasync function generateToolResponse(params, lastMessage = params.messages.at(-1), requestOptions) {\n // Only process if the last message is from the assistant and has tool use blocks\n if (!lastMessage ||\n lastMessage.role !== 'assistant' ||\n !lastMessage.content ||\n typeof lastMessage.content === 'string') {\n return null;\n }\n const toolUseBlocks = lastMessage.content.filter((content) => content.type === 'tool_use');\n if (toolUseBlocks.length === 0) {\n return null;\n }\n const toolResults = await Promise.all(toolUseBlocks.map(async (toolUse) => {\n const tool = params.tools.find((t) => ('name' in t ? t.name : t.mcp_server_name) === toolUse.name);\n if (!tool || !('run' in tool)) {\n return {\n type: 'tool_result',\n tool_use_id: toolUse.id,\n content: `Error: Tool '${toolUse.name}' not found`,\n is_error: true,\n };\n }\n try {\n let input = toolUse.input;\n if ('parse' in tool && tool.parse) {\n input = tool.parse(input);\n }\n const result = await tool.run(input, {\n toolUseBlock: toolUse,\n signal: requestOptions?.signal,\n });\n return {\n type: 'tool_result',\n tool_use_id: toolUse.id,\n content: result,\n };\n }\n catch (error) {\n return {\n type: 'tool_result',\n tool_use_id: toolUse.id,\n content: error instanceof ToolError ?\n error.content\n : `Error: ${error instanceof Error ? error.message : String(error)}`,\n is_error: true,\n };\n }\n }));\n return {\n role: 'user',\n content: toolResults,\n };\n}\n//# sourceMappingURL=BetaToolRunner.mjs.map","import { AnthropicError } from \"../../core/error.mjs\";\nimport { ReadableStreamToAsyncIterable } from \"../shims.mjs\";\nimport { LineDecoder } from \"./line.mjs\";\nexport class JSONLDecoder {\n constructor(iterator, controller) {\n this.iterator = iterator;\n this.controller = controller;\n }\n async *decoder() {\n const lineDecoder = new LineDecoder();\n for await (const chunk of this.iterator) {\n for (const line of lineDecoder.decode(chunk)) {\n yield JSON.parse(line);\n }\n }\n for (const line of lineDecoder.flush()) {\n yield JSON.parse(line);\n }\n }\n [Symbol.asyncIterator]() {\n return this.decoder();\n }\n static fromResponse(response, controller) {\n if (!response.body) {\n controller.abort();\n if (typeof globalThis.navigator !== 'undefined' &&\n globalThis.navigator.product === 'ReactNative') {\n throw new AnthropicError(`The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api`);\n }\n throw new AnthropicError(`Attempted to iterate over a response with no body`);\n }\n return new JSONLDecoder(ReadableStreamToAsyncIterable(response.body), controller);\n }\n}\n//# sourceMappingURL=jsonl.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport { Page } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { JSONLDecoder } from \"../../../internal/decoders/jsonl.mjs\";\nimport { AnthropicError } from \"../../../error.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class Batches extends APIResource {\n /**\n * Send a batch of Message creation requests.\n *\n * The Message Batches API can be used to process multiple Messages API requests at\n * once. Once a Message Batch is created, it begins processing immediately. Batches\n * can take up to 24 hours to complete.\n *\n * Learn more about the Message Batches API in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)\n *\n * @example\n * ```ts\n * const betaMessageBatch =\n * await client.beta.messages.batches.create({\n * requests: [\n * {\n * custom_id: 'my-custom-id-1',\n * params: {\n * max_tokens: 1024,\n * messages: [\n * { content: 'Hello, world', role: 'user' },\n * ],\n * model: 'claude-opus-4-6',\n * },\n * },\n * ],\n * });\n * ```\n */\n create(params, options) {\n const { betas, ...body } = params;\n return this._client.post('/v1/messages/batches?beta=true', {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'message-batches-2024-09-24'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * This endpoint is idempotent and can be used to poll for Message Batch\n * completion. To access the results of a Message Batch, make a request to the\n * `results_url` field in the response.\n *\n * Learn more about the Message Batches API in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)\n *\n * @example\n * ```ts\n * const betaMessageBatch =\n * await client.beta.messages.batches.retrieve(\n * 'message_batch_id',\n * );\n * ```\n */\n retrieve(messageBatchID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.get(path `/v1/messages/batches/${messageBatchID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'message-batches-2024-09-24'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * List all Message Batches within a Workspace. Most recently created batches are\n * returned first.\n *\n * Learn more about the Message Batches API in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaMessageBatch of client.beta.messages.batches.list()) {\n * // ...\n * }\n * ```\n */\n list(params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList('/v1/messages/batches?beta=true', (Page), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'message-batches-2024-09-24'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Delete a Message Batch.\n *\n * Message Batches can only be deleted once they've finished processing. If you'd\n * like to delete an in-progress batch, you must first cancel it.\n *\n * Learn more about the Message Batches API in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)\n *\n * @example\n * ```ts\n * const betaDeletedMessageBatch =\n * await client.beta.messages.batches.delete(\n * 'message_batch_id',\n * );\n * ```\n */\n delete(messageBatchID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.delete(path `/v1/messages/batches/${messageBatchID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'message-batches-2024-09-24'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Batches may be canceled any time before processing ends. Once cancellation is\n * initiated, the batch enters a `canceling` state, at which time the system may\n * complete any in-progress, non-interruptible requests before finalizing\n * cancellation.\n *\n * The number of canceled requests is specified in `request_counts`. To determine\n * which requests were canceled, check the individual results within the batch.\n * Note that cancellation may not result in any canceled requests if they were\n * non-interruptible.\n *\n * Learn more about the Message Batches API in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)\n *\n * @example\n * ```ts\n * const betaMessageBatch =\n * await client.beta.messages.batches.cancel(\n * 'message_batch_id',\n * );\n * ```\n */\n cancel(messageBatchID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.post(path `/v1/messages/batches/${messageBatchID}/cancel?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'message-batches-2024-09-24'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Streams the results of a Message Batch as a `.jsonl` file.\n *\n * Each line in the file is a JSON object containing the result of a single request\n * in the Message Batch. Results are not guaranteed to be in the same order as\n * requests. Use the `custom_id` field to match results to requests.\n *\n * Learn more about the Message Batches API in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)\n *\n * @example\n * ```ts\n * const betaMessageBatchIndividualResponse =\n * await client.beta.messages.batches.results(\n * 'message_batch_id',\n * );\n * ```\n */\n async results(messageBatchID, params = {}, options) {\n const batch = await this.retrieve(messageBatchID);\n if (!batch.results_url) {\n throw new AnthropicError(`No batch \\`results_url\\`; Has it finished processing? ${batch.processing_status} - ${batch.id}`);\n }\n const { betas } = params ?? {};\n return this._client\n .get(batch.results_url, {\n ...options,\n headers: buildHeaders([\n {\n 'anthropic-beta': [...(betas ?? []), 'message-batches-2024-09-24'].toString(),\n Accept: 'application/binary',\n },\n options?.headers,\n ]),\n stream: true,\n __binaryResponse: true,\n })\n ._thenUnwrap((_, props) => JSONLDecoder.fromResponse(props.response, props.controller));\n }\n}\n//# sourceMappingURL=batches.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { AnthropicError } from \"../../../error.mjs\";\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport { MODEL_NONSTREAMING_TOKENS } from \"../../../internal/constants.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { stainlessHelperHeader } from \"../../../lib/stainless-helper-header.mjs\";\nimport { parseBetaMessage, } from \"../../../lib/beta-parser.mjs\";\nimport { BetaMessageStream } from \"../../../lib/BetaMessageStream.mjs\";\nimport { BetaToolRunner, } from \"../../../lib/tools/BetaToolRunner.mjs\";\nimport { ToolError } from \"../../../lib/tools/ToolError.mjs\";\nimport * as BatchesAPI from \"./batches.mjs\";\nimport { Batches, } from \"./batches.mjs\";\nconst DEPRECATED_MODELS = {\n 'claude-1.3': 'November 6th, 2024',\n 'claude-1.3-100k': 'November 6th, 2024',\n 'claude-instant-1.1': 'November 6th, 2024',\n 'claude-instant-1.1-100k': 'November 6th, 2024',\n 'claude-instant-1.2': 'November 6th, 2024',\n 'claude-3-sonnet-20240229': 'July 21st, 2025',\n 'claude-3-opus-20240229': 'January 5th, 2026',\n 'claude-2.1': 'July 21st, 2025',\n 'claude-2.0': 'July 21st, 2025',\n 'claude-3-7-sonnet-latest': 'February 19th, 2026',\n 'claude-3-7-sonnet-20250219': 'February 19th, 2026',\n};\nconst MODELS_TO_WARN_WITH_THINKING_ENABLED = ['claude-mythos-preview', 'claude-opus-4-6'];\nexport class Messages extends APIResource {\n constructor() {\n super(...arguments);\n this.batches = new BatchesAPI.Batches(this._client);\n }\n create(params, options) {\n // Transform deprecated output_format to output_config.format\n const modifiedParams = transformOutputFormat(params);\n const { betas, ...body } = modifiedParams;\n if (body.model in DEPRECATED_MODELS) {\n console.warn(`The model '${body.model}' is deprecated and will reach end-of-life on ${DEPRECATED_MODELS[body.model]}\\nPlease migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);\n }\n if (MODELS_TO_WARN_WITH_THINKING_ENABLED.includes(body.model) &&\n body.thinking &&\n body.thinking.type === 'enabled') {\n console.warn(`Using Claude with ${body.model} and 'thinking.type=enabled' is deprecated. Use 'thinking.type=adaptive' instead which results in better model performance in our testing: https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking`);\n }\n let timeout = this._client._options.timeout;\n if (!body.stream && timeout == null) {\n const maxNonstreamingTokens = MODEL_NONSTREAMING_TOKENS[body.model] ?? undefined;\n timeout = this._client.calculateNonstreamingTimeout(body.max_tokens, maxNonstreamingTokens);\n }\n // Collect helper info from tools and messages\n const helperHeader = stainlessHelperHeader(body.tools, body.messages);\n return this._client.post('/v1/messages?beta=true', {\n body,\n timeout: timeout ?? 600000,\n ...options,\n headers: buildHeaders([\n { ...(betas?.toString() != null ? { 'anthropic-beta': betas?.toString() } : undefined) },\n helperHeader,\n options?.headers,\n ]),\n stream: modifiedParams.stream ?? false,\n });\n }\n /**\n * Send a structured list of input messages with text and/or image content, along with an expected `output_format` and\n * the response will be automatically parsed and available in the `parsed_output` property of the message.\n *\n * @example\n * ```ts\n * const message = await client.beta.messages.parse({\n * model: 'claude-3-5-sonnet-20241022',\n * max_tokens: 1024,\n * messages: [{ role: 'user', content: 'What is 2+2?' }],\n * output_format: zodOutputFormat(z.object({ answer: z.number() }), 'math'),\n * });\n *\n * console.log(message.parsed_output?.answer); // 4\n * ```\n */\n parse(params, options) {\n options = {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(params.betas ?? []), 'structured-outputs-2025-12-15'].toString() },\n options?.headers,\n ]),\n };\n return this.create(params, options).then((message) => parseBetaMessage(message, params, { logger: this._client.logger ?? console }));\n }\n /**\n * Create a Message stream\n */\n stream(body, options) {\n return BetaMessageStream.createMessage(this, body, options);\n }\n /**\n * Count the number of tokens in a Message.\n *\n * The Token Count API can be used to count the number of tokens in a Message,\n * including tools, images, and documents, without creating it.\n *\n * Learn more about token counting in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/token-counting)\n *\n * @example\n * ```ts\n * const betaMessageTokensCount =\n * await client.beta.messages.countTokens({\n * messages: [{ content: 'Hello, world', role: 'user' }],\n * model: 'claude-opus-4-6',\n * });\n * ```\n */\n countTokens(params, options) {\n // Transform deprecated output_format to output_config.format\n const modifiedParams = transformOutputFormat(params);\n const { betas, ...body } = modifiedParams;\n return this._client.post('/v1/messages/count_tokens?beta=true', {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'token-counting-2024-11-01'].toString() },\n options?.headers,\n ]),\n });\n }\n toolRunner(body, options) {\n return new BetaToolRunner(this._client, body, options);\n }\n}\n/**\n * Transform deprecated output_format to output_config.format\n * Returns a modified copy of the params without mutating the original\n */\nfunction transformOutputFormat(params) {\n if (!params.output_format) {\n return params;\n }\n if (params.output_config?.format) {\n throw new AnthropicError('Both output_format and output_config.format were provided. ' +\n 'Please use only output_config.format (output_format is deprecated).');\n }\n const { output_format, ...rest } = params;\n return {\n ...rest,\n output_config: {\n ...params.output_config,\n format: output_format,\n },\n };\n}\nexport { BetaToolRunner } from \"../../../lib/tools/BetaToolRunner.mjs\";\nexport { ToolError } from \"../../../lib/tools/ToolError.mjs\";\nMessages.Batches = Batches;\nMessages.BetaToolRunner = BetaToolRunner;\nMessages.ToolError = ToolError;\n//# sourceMappingURL=messages.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport { PageCursor } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class Events extends APIResource {\n /**\n * List Events\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaManagedAgentsSessionEvent of client.beta.sessions.events.list(\n * 'sesn_011CZkZAtmR3yMPDzynEDxu7',\n * )) {\n * // ...\n * }\n * ```\n */\n list(sessionID, params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList(path `/v1/sessions/${sessionID}/events?beta=true`, (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Send Events\n *\n * @example\n * ```ts\n * const betaManagedAgentsSendSessionEvents =\n * await client.beta.sessions.events.send(\n * 'sesn_011CZkZAtmR3yMPDzynEDxu7',\n * {\n * events: [\n * {\n * content: [\n * {\n * text: 'Where is my order #1234?',\n * type: 'text',\n * },\n * ],\n * type: 'user.message',\n * },\n * ],\n * },\n * );\n * ```\n */\n send(sessionID, params, options) {\n const { betas, ...body } = params;\n return this._client.post(path `/v1/sessions/${sessionID}/events?beta=true`, {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Stream Events\n *\n * @example\n * ```ts\n * const betaManagedAgentsStreamSessionEvents =\n * await client.beta.sessions.events.stream(\n * 'sesn_011CZkZAtmR3yMPDzynEDxu7',\n * );\n * ```\n */\n stream(sessionID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.get(path `/v1/sessions/${sessionID}/events/stream?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n stream: true,\n });\n }\n}\n//# sourceMappingURL=events.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport { PageCursor } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class Resources extends APIResource {\n /**\n * Get Session Resource\n *\n * @example\n * ```ts\n * const resource =\n * await client.beta.sessions.resources.retrieve(\n * 'sesrsc_011CZkZBJq5dWxk9fVLNcPht',\n * { session_id: 'sesn_011CZkZAtmR3yMPDzynEDxu7' },\n * );\n * ```\n */\n retrieve(resourceID, params, options) {\n const { session_id, betas } = params;\n return this._client.get(path `/v1/sessions/${session_id}/resources/${resourceID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Update Session Resource\n *\n * @example\n * ```ts\n * const resource =\n * await client.beta.sessions.resources.update(\n * 'sesrsc_011CZkZBJq5dWxk9fVLNcPht',\n * {\n * session_id: 'sesn_011CZkZAtmR3yMPDzynEDxu7',\n * authorization_token: 'ghp_exampletoken',\n * },\n * );\n * ```\n */\n update(resourceID, params, options) {\n const { session_id, betas, ...body } = params;\n return this._client.post(path `/v1/sessions/${session_id}/resources/${resourceID}?beta=true`, {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * List Session Resources\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaManagedAgentsSessionResource of client.beta.sessions.resources.list(\n * 'sesn_011CZkZAtmR3yMPDzynEDxu7',\n * )) {\n * // ...\n * }\n * ```\n */\n list(sessionID, params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList(path `/v1/sessions/${sessionID}/resources?beta=true`, (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Delete Session Resource\n *\n * @example\n * ```ts\n * const betaManagedAgentsDeleteSessionResource =\n * await client.beta.sessions.resources.delete(\n * 'sesrsc_011CZkZBJq5dWxk9fVLNcPht',\n * { session_id: 'sesn_011CZkZAtmR3yMPDzynEDxu7' },\n * );\n * ```\n */\n delete(resourceID, params, options) {\n const { session_id, betas } = params;\n return this._client.delete(path `/v1/sessions/${session_id}/resources/${resourceID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Add Session Resource\n *\n * @example\n * ```ts\n * const betaManagedAgentsFileResource =\n * await client.beta.sessions.resources.add(\n * 'sesn_011CZkZAtmR3yMPDzynEDxu7',\n * {\n * file_id: 'file_011CNha8iCJcU1wXNR6q4V8w',\n * type: 'file',\n * },\n * );\n * ```\n */\n add(sessionID, params, options) {\n const { betas, ...body } = params;\n return this._client.post(path `/v1/sessions/${sessionID}/resources?beta=true`, {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n}\n//# sourceMappingURL=resources.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport * as EventsAPI from \"./events.mjs\";\nimport { Events, } from \"./events.mjs\";\nimport * as ResourcesAPI from \"./resources.mjs\";\nimport { Resources, } from \"./resources.mjs\";\nimport { PageCursor } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class Sessions extends APIResource {\n constructor() {\n super(...arguments);\n this.events = new EventsAPI.Events(this._client);\n this.resources = new ResourcesAPI.Resources(this._client);\n }\n /**\n * Create Session\n *\n * @example\n * ```ts\n * const betaManagedAgentsSession =\n * await client.beta.sessions.create({\n * agent: 'agent_011CZkYpogX7uDKUyvBTophP',\n * environment_id: 'env_011CZkZ9X2dpNyB7HsEFoRfW',\n * });\n * ```\n */\n create(params, options) {\n const { betas, ...body } = params;\n return this._client.post('/v1/sessions?beta=true', {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Get Session\n *\n * @example\n * ```ts\n * const betaManagedAgentsSession =\n * await client.beta.sessions.retrieve(\n * 'sesn_011CZkZAtmR3yMPDzynEDxu7',\n * );\n * ```\n */\n retrieve(sessionID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.get(path `/v1/sessions/${sessionID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Update Session\n *\n * @example\n * ```ts\n * const betaManagedAgentsSession =\n * await client.beta.sessions.update(\n * 'sesn_011CZkZAtmR3yMPDzynEDxu7',\n * );\n * ```\n */\n update(sessionID, params, options) {\n const { betas, ...body } = params;\n return this._client.post(path `/v1/sessions/${sessionID}?beta=true`, {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * List Sessions\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaManagedAgentsSession of client.beta.sessions.list()) {\n * // ...\n * }\n * ```\n */\n list(params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList('/v1/sessions?beta=true', (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Delete Session\n *\n * @example\n * ```ts\n * const betaManagedAgentsDeletedSession =\n * await client.beta.sessions.delete(\n * 'sesn_011CZkZAtmR3yMPDzynEDxu7',\n * );\n * ```\n */\n delete(sessionID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.delete(path `/v1/sessions/${sessionID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Archive Session\n *\n * @example\n * ```ts\n * const betaManagedAgentsSession =\n * await client.beta.sessions.archive(\n * 'sesn_011CZkZAtmR3yMPDzynEDxu7',\n * );\n * ```\n */\n archive(sessionID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.post(path `/v1/sessions/${sessionID}/archive?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n}\nSessions.Events = Events;\nSessions.Resources = Resources;\n//# sourceMappingURL=sessions.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport { PageCursor } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { multipartFormRequestOptions } from \"../../../internal/uploads.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class Versions extends APIResource {\n /**\n * Create Skill Version\n *\n * @example\n * ```ts\n * const version = await client.beta.skills.versions.create(\n * 'skill_id',\n * );\n * ```\n */\n create(skillID, params = {}, options) {\n const { betas, ...body } = params ?? {};\n return this._client.post(path `/v1/skills/${skillID}/versions?beta=true`, multipartFormRequestOptions({\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'skills-2025-10-02'].toString() },\n options?.headers,\n ]),\n }, this._client));\n }\n /**\n * Get Skill Version\n *\n * @example\n * ```ts\n * const version = await client.beta.skills.versions.retrieve(\n * 'version',\n * { skill_id: 'skill_id' },\n * );\n * ```\n */\n retrieve(version, params, options) {\n const { skill_id, betas } = params;\n return this._client.get(path `/v1/skills/${skill_id}/versions/${version}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'skills-2025-10-02'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * List Skill Versions\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const versionListResponse of client.beta.skills.versions.list(\n * 'skill_id',\n * )) {\n * // ...\n * }\n * ```\n */\n list(skillID, params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList(path `/v1/skills/${skillID}/versions?beta=true`, (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'skills-2025-10-02'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Delete Skill Version\n *\n * @example\n * ```ts\n * const version = await client.beta.skills.versions.delete(\n * 'version',\n * { skill_id: 'skill_id' },\n * );\n * ```\n */\n delete(version, params, options) {\n const { skill_id, betas } = params;\n return this._client.delete(path `/v1/skills/${skill_id}/versions/${version}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'skills-2025-10-02'].toString() },\n options?.headers,\n ]),\n });\n }\n}\n//# sourceMappingURL=versions.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport * as VersionsAPI from \"./versions.mjs\";\nimport { Versions, } from \"./versions.mjs\";\nimport { PageCursor } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { multipartFormRequestOptions } from \"../../../internal/uploads.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class Skills extends APIResource {\n constructor() {\n super(...arguments);\n this.versions = new VersionsAPI.Versions(this._client);\n }\n /**\n * Create Skill\n *\n * @example\n * ```ts\n * const skill = await client.beta.skills.create();\n * ```\n */\n create(params = {}, options) {\n const { betas, ...body } = params ?? {};\n return this._client.post('/v1/skills?beta=true', multipartFormRequestOptions({\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'skills-2025-10-02'].toString() },\n options?.headers,\n ]),\n }, this._client, false));\n }\n /**\n * Get Skill\n *\n * @example\n * ```ts\n * const skill = await client.beta.skills.retrieve('skill_id');\n * ```\n */\n retrieve(skillID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.get(path `/v1/skills/${skillID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'skills-2025-10-02'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * List Skills\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const skillListResponse of client.beta.skills.list()) {\n * // ...\n * }\n * ```\n */\n list(params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList('/v1/skills?beta=true', (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'skills-2025-10-02'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Delete Skill\n *\n * @example\n * ```ts\n * const skill = await client.beta.skills.delete('skill_id');\n * ```\n */\n delete(skillID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.delete(path `/v1/skills/${skillID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'skills-2025-10-02'].toString() },\n options?.headers,\n ]),\n });\n }\n}\nSkills.Versions = Versions;\n//# sourceMappingURL=skills.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport { PageCursor } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class Credentials extends APIResource {\n /**\n * Create Credential\n *\n * @example\n * ```ts\n * const betaManagedAgentsCredential =\n * await client.beta.vaults.credentials.create(\n * 'vlt_011CZkZDLs7fYzm1hXNPeRjv',\n * {\n * auth: {\n * token: 'bearer_exampletoken',\n * mcp_server_url:\n * 'https://example-server.modelcontextprotocol.io/sse',\n * type: 'static_bearer',\n * },\n * },\n * );\n * ```\n */\n create(vaultID, params, options) {\n const { betas, ...body } = params;\n return this._client.post(path `/v1/vaults/${vaultID}/credentials?beta=true`, {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Get Credential\n *\n * @example\n * ```ts\n * const betaManagedAgentsCredential =\n * await client.beta.vaults.credentials.retrieve(\n * 'vcrd_011CZkZEMt8gZan2iYOQfSkw',\n * { vault_id: 'vlt_011CZkZDLs7fYzm1hXNPeRjv' },\n * );\n * ```\n */\n retrieve(credentialID, params, options) {\n const { vault_id, betas } = params;\n return this._client.get(path `/v1/vaults/${vault_id}/credentials/${credentialID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Update Credential\n *\n * @example\n * ```ts\n * const betaManagedAgentsCredential =\n * await client.beta.vaults.credentials.update(\n * 'vcrd_011CZkZEMt8gZan2iYOQfSkw',\n * { vault_id: 'vlt_011CZkZDLs7fYzm1hXNPeRjv' },\n * );\n * ```\n */\n update(credentialID, params, options) {\n const { vault_id, betas, ...body } = params;\n return this._client.post(path `/v1/vaults/${vault_id}/credentials/${credentialID}?beta=true`, {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * List Credentials\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaManagedAgentsCredential of client.beta.vaults.credentials.list(\n * 'vlt_011CZkZDLs7fYzm1hXNPeRjv',\n * )) {\n * // ...\n * }\n * ```\n */\n list(vaultID, params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList(path `/v1/vaults/${vaultID}/credentials?beta=true`, (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Delete Credential\n *\n * @example\n * ```ts\n * const betaManagedAgentsDeletedCredential =\n * await client.beta.vaults.credentials.delete(\n * 'vcrd_011CZkZEMt8gZan2iYOQfSkw',\n * { vault_id: 'vlt_011CZkZDLs7fYzm1hXNPeRjv' },\n * );\n * ```\n */\n delete(credentialID, params, options) {\n const { vault_id, betas } = params;\n return this._client.delete(path `/v1/vaults/${vault_id}/credentials/${credentialID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Archive Credential\n *\n * @example\n * ```ts\n * const betaManagedAgentsCredential =\n * await client.beta.vaults.credentials.archive(\n * 'vcrd_011CZkZEMt8gZan2iYOQfSkw',\n * { vault_id: 'vlt_011CZkZDLs7fYzm1hXNPeRjv' },\n * );\n * ```\n */\n archive(credentialID, params, options) {\n const { vault_id, betas } = params;\n return this._client.post(path `/v1/vaults/${vault_id}/credentials/${credentialID}/archive?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n}\n//# sourceMappingURL=credentials.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport * as CredentialsAPI from \"./credentials.mjs\";\nimport { Credentials, } from \"./credentials.mjs\";\nimport { PageCursor } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class Vaults extends APIResource {\n constructor() {\n super(...arguments);\n this.credentials = new CredentialsAPI.Credentials(this._client);\n }\n /**\n * Create Vault\n *\n * @example\n * ```ts\n * const betaManagedAgentsVault =\n * await client.beta.vaults.create({\n * display_name: 'Example vault',\n * });\n * ```\n */\n create(params, options) {\n const { betas, ...body } = params;\n return this._client.post('/v1/vaults?beta=true', {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Get Vault\n *\n * @example\n * ```ts\n * const betaManagedAgentsVault =\n * await client.beta.vaults.retrieve(\n * 'vlt_011CZkZDLs7fYzm1hXNPeRjv',\n * );\n * ```\n */\n retrieve(vaultID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.get(path `/v1/vaults/${vaultID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Update Vault\n *\n * @example\n * ```ts\n * const betaManagedAgentsVault =\n * await client.beta.vaults.update(\n * 'vlt_011CZkZDLs7fYzm1hXNPeRjv',\n * );\n * ```\n */\n update(vaultID, params, options) {\n const { betas, ...body } = params;\n return this._client.post(path `/v1/vaults/${vaultID}?beta=true`, {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * List Vaults\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaManagedAgentsVault of client.beta.vaults.list()) {\n * // ...\n * }\n * ```\n */\n list(params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList('/v1/vaults?beta=true', (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Delete Vault\n *\n * @example\n * ```ts\n * const betaManagedAgentsDeletedVault =\n * await client.beta.vaults.delete(\n * 'vlt_011CZkZDLs7fYzm1hXNPeRjv',\n * );\n * ```\n */\n delete(vaultID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.delete(path `/v1/vaults/${vaultID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Archive Vault\n *\n * @example\n * ```ts\n * const betaManagedAgentsVault =\n * await client.beta.vaults.archive(\n * 'vlt_011CZkZDLs7fYzm1hXNPeRjv',\n * );\n * ```\n */\n archive(vaultID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.post(path `/v1/vaults/${vaultID}/archive?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n}\nVaults.Credentials = Credentials;\n//# sourceMappingURL=vaults.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../core/resource.mjs\";\nimport * as EnvironmentsAPI from \"./environments.mjs\";\nimport { Environments, } from \"./environments.mjs\";\nimport * as FilesAPI from \"./files.mjs\";\nimport { Files, } from \"./files.mjs\";\nimport * as ModelsAPI from \"./models.mjs\";\nimport { Models, } from \"./models.mjs\";\nimport * as UserProfilesAPI from \"./user-profiles.mjs\";\nimport { UserProfiles, } from \"./user-profiles.mjs\";\nimport * as AgentsAPI from \"./agents/agents.mjs\";\nimport { Agents, } from \"./agents/agents.mjs\";\nimport * as MemoryStoresAPI from \"./memory-stores/memory-stores.mjs\";\nimport { MemoryStores, } from \"./memory-stores/memory-stores.mjs\";\nimport * as MessagesAPI from \"./messages/messages.mjs\";\nimport { Messages, } from \"./messages/messages.mjs\";\nimport * as SessionsAPI from \"./sessions/sessions.mjs\";\nimport { Sessions, } from \"./sessions/sessions.mjs\";\nimport * as SkillsAPI from \"./skills/skills.mjs\";\nimport { Skills, } from \"./skills/skills.mjs\";\nimport * as VaultsAPI from \"./vaults/vaults.mjs\";\nimport { Vaults, } from \"./vaults/vaults.mjs\";\nexport class Beta extends APIResource {\n constructor() {\n super(...arguments);\n this.models = new ModelsAPI.Models(this._client);\n this.messages = new MessagesAPI.Messages(this._client);\n this.agents = new AgentsAPI.Agents(this._client);\n this.environments = new EnvironmentsAPI.Environments(this._client);\n this.sessions = new SessionsAPI.Sessions(this._client);\n this.vaults = new VaultsAPI.Vaults(this._client);\n this.memoryStores = new MemoryStoresAPI.MemoryStores(this._client);\n this.files = new FilesAPI.Files(this._client);\n this.skills = new SkillsAPI.Skills(this._client);\n this.userProfiles = new UserProfilesAPI.UserProfiles(this._client);\n }\n}\nBeta.Models = Models;\nBeta.Messages = Messages;\nBeta.Agents = Agents;\nBeta.Environments = Environments;\nBeta.Sessions = Sessions;\nBeta.Vaults = Vaults;\nBeta.MemoryStores = MemoryStores;\nBeta.Files = Files;\nBeta.Skills = Skills;\nBeta.UserProfiles = UserProfiles;\n//# sourceMappingURL=beta.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../core/resource.mjs\";\nimport { buildHeaders } from \"../internal/headers.mjs\";\nexport class Completions extends APIResource {\n create(params, options) {\n const { betas, ...body } = params;\n return this._client.post('/v1/complete', {\n body,\n timeout: this._client._options.timeout ?? 600000,\n ...options,\n headers: buildHeaders([\n { ...(betas?.toString() != null ? { 'anthropic-beta': betas?.toString() } : undefined) },\n options?.headers,\n ]),\n stream: params.stream ?? false,\n });\n }\n}\n//# sourceMappingURL=completions.mjs.map","import { AnthropicError } from \"../core/error.mjs\";\nfunction getOutputFormat(params) {\n return params?.output_config?.format;\n}\nexport function maybeParseMessage(message, params, opts) {\n const outputFormat = getOutputFormat(params);\n if (!params || !('parse' in (outputFormat ?? {}))) {\n return {\n ...message,\n content: message.content.map((block) => {\n if (block.type === 'text') {\n const parsedBlock = Object.defineProperty({ ...block }, 'parsed_output', {\n value: null,\n enumerable: false,\n });\n return parsedBlock;\n }\n return block;\n }),\n parsed_output: null,\n };\n }\n return parseMessage(message, params, opts);\n}\nexport function parseMessage(message, params, opts) {\n let firstParsedOutput = null;\n const content = message.content.map((block) => {\n if (block.type === 'text') {\n const parsedOutput = parseOutputFormat(params, block.text);\n if (firstParsedOutput === null) {\n firstParsedOutput = parsedOutput;\n }\n const parsedBlock = Object.defineProperty({ ...block }, 'parsed_output', {\n value: parsedOutput,\n enumerable: false,\n });\n return parsedBlock;\n }\n return block;\n });\n return {\n ...message,\n content,\n parsed_output: firstParsedOutput,\n };\n}\nfunction parseOutputFormat(params, content) {\n const outputFormat = getOutputFormat(params);\n if (outputFormat?.type !== 'json_schema') {\n return null;\n }\n try {\n if ('parse' in outputFormat) {\n return outputFormat.parse(content);\n }\n return JSON.parse(content);\n }\n catch (error) {\n throw new AnthropicError(`Failed to parse structured output: ${error}`);\n }\n}\n//# sourceMappingURL=parser.mjs.map","var _MessageStream_instances, _MessageStream_currentMessageSnapshot, _MessageStream_params, _MessageStream_connectedPromise, _MessageStream_resolveConnectedPromise, _MessageStream_rejectConnectedPromise, _MessageStream_endPromise, _MessageStream_resolveEndPromise, _MessageStream_rejectEndPromise, _MessageStream_listeners, _MessageStream_ended, _MessageStream_errored, _MessageStream_aborted, _MessageStream_catchingPromiseCreated, _MessageStream_response, _MessageStream_request_id, _MessageStream_logger, _MessageStream_getFinalMessage, _MessageStream_getFinalText, _MessageStream_handleError, _MessageStream_beginRequest, _MessageStream_addStreamEvent, _MessageStream_endRequest, _MessageStream_accumulateMessage;\nimport { __classPrivateFieldGet, __classPrivateFieldSet } from \"../internal/tslib.mjs\";\nimport { isAbortError } from \"../internal/errors.mjs\";\nimport { AnthropicError, APIUserAbortError } from \"../error.mjs\";\nimport { Stream } from \"../streaming.mjs\";\nimport { partialParse } from \"../_vendor/partial-json-parser/parser.mjs\";\nimport { maybeParseMessage } from \"./parser.mjs\";\nconst JSON_BUF_PROPERTY = '__json_buf';\nfunction tracksToolInput(content) {\n return content.type === 'tool_use' || content.type === 'server_tool_use';\n}\nexport class MessageStream {\n constructor(params, opts) {\n _MessageStream_instances.add(this);\n this.messages = [];\n this.receivedMessages = [];\n _MessageStream_currentMessageSnapshot.set(this, void 0);\n _MessageStream_params.set(this, null);\n this.controller = new AbortController();\n _MessageStream_connectedPromise.set(this, void 0);\n _MessageStream_resolveConnectedPromise.set(this, () => { });\n _MessageStream_rejectConnectedPromise.set(this, () => { });\n _MessageStream_endPromise.set(this, void 0);\n _MessageStream_resolveEndPromise.set(this, () => { });\n _MessageStream_rejectEndPromise.set(this, () => { });\n _MessageStream_listeners.set(this, {});\n _MessageStream_ended.set(this, false);\n _MessageStream_errored.set(this, false);\n _MessageStream_aborted.set(this, false);\n _MessageStream_catchingPromiseCreated.set(this, false);\n _MessageStream_response.set(this, void 0);\n _MessageStream_request_id.set(this, void 0);\n _MessageStream_logger.set(this, void 0);\n _MessageStream_handleError.set(this, (error) => {\n __classPrivateFieldSet(this, _MessageStream_errored, true, \"f\");\n if (isAbortError(error)) {\n error = new APIUserAbortError();\n }\n if (error instanceof APIUserAbortError) {\n __classPrivateFieldSet(this, _MessageStream_aborted, true, \"f\");\n return this._emit('abort', error);\n }\n if (error instanceof AnthropicError) {\n return this._emit('error', error);\n }\n if (error instanceof Error) {\n const anthropicError = new AnthropicError(error.message);\n // @ts-ignore\n anthropicError.cause = error;\n return this._emit('error', anthropicError);\n }\n return this._emit('error', new AnthropicError(String(error)));\n });\n __classPrivateFieldSet(this, _MessageStream_connectedPromise, new Promise((resolve, reject) => {\n __classPrivateFieldSet(this, _MessageStream_resolveConnectedPromise, resolve, \"f\");\n __classPrivateFieldSet(this, _MessageStream_rejectConnectedPromise, reject, \"f\");\n }), \"f\");\n __classPrivateFieldSet(this, _MessageStream_endPromise, new Promise((resolve, reject) => {\n __classPrivateFieldSet(this, _MessageStream_resolveEndPromise, resolve, \"f\");\n __classPrivateFieldSet(this, _MessageStream_rejectEndPromise, reject, \"f\");\n }), \"f\");\n // Don't let these promises cause unhandled rejection errors.\n // we will manually cause an unhandled rejection error later\n // if the user hasn't registered any error listener or called\n // any promise-returning method.\n __classPrivateFieldGet(this, _MessageStream_connectedPromise, \"f\").catch(() => { });\n __classPrivateFieldGet(this, _MessageStream_endPromise, \"f\").catch(() => { });\n __classPrivateFieldSet(this, _MessageStream_params, params, \"f\");\n __classPrivateFieldSet(this, _MessageStream_logger, opts?.logger ?? console, \"f\");\n }\n get response() {\n return __classPrivateFieldGet(this, _MessageStream_response, \"f\");\n }\n get request_id() {\n return __classPrivateFieldGet(this, _MessageStream_request_id, \"f\");\n }\n /**\n * Returns the `MessageStream` data, the raw `Response` instance and the ID of the request,\n * returned vie the `request-id` header which is useful for debugging requests and resporting\n * issues to Anthropic.\n *\n * This is the same as the `APIPromise.withResponse()` method.\n *\n * This method will raise an error if you created the stream using `MessageStream.fromReadableStream`\n * as no `Response` is available.\n */\n async withResponse() {\n __classPrivateFieldSet(this, _MessageStream_catchingPromiseCreated, true, \"f\");\n const response = await __classPrivateFieldGet(this, _MessageStream_connectedPromise, \"f\");\n if (!response) {\n throw new Error('Could not resolve a `Response` object');\n }\n return {\n data: this,\n response,\n request_id: response.headers.get('request-id'),\n };\n }\n /**\n * Intended for use on the frontend, consuming a stream produced with\n * `.toReadableStream()` on the backend.\n *\n * Note that messages sent to the model do not appear in `.on('message')`\n * in this context.\n */\n static fromReadableStream(stream) {\n const runner = new MessageStream(null);\n runner._run(() => runner._fromReadableStream(stream));\n return runner;\n }\n static createMessage(messages, params, options, { logger } = {}) {\n const runner = new MessageStream(params, { logger });\n for (const message of params.messages) {\n runner._addMessageParam(message);\n }\n __classPrivateFieldSet(runner, _MessageStream_params, { ...params, stream: true }, \"f\");\n runner._run(() => runner._createMessage(messages, { ...params, stream: true }, { ...options, headers: { ...options?.headers, 'X-Stainless-Helper-Method': 'stream' } }));\n return runner;\n }\n _run(executor) {\n executor().then(() => {\n this._emitFinal();\n this._emit('end');\n }, __classPrivateFieldGet(this, _MessageStream_handleError, \"f\"));\n }\n _addMessageParam(message) {\n this.messages.push(message);\n }\n _addMessage(message, emit = true) {\n this.receivedMessages.push(message);\n if (emit) {\n this._emit('message', message);\n }\n }\n async _createMessage(messages, params, options) {\n const signal = options?.signal;\n let abortHandler;\n if (signal) {\n if (signal.aborted)\n this.controller.abort();\n abortHandler = this.controller.abort.bind(this.controller);\n signal.addEventListener('abort', abortHandler);\n }\n try {\n __classPrivateFieldGet(this, _MessageStream_instances, \"m\", _MessageStream_beginRequest).call(this);\n const { response, data: stream } = await messages\n .create({ ...params, stream: true }, { ...options, signal: this.controller.signal })\n .withResponse();\n this._connected(response);\n for await (const event of stream) {\n __classPrivateFieldGet(this, _MessageStream_instances, \"m\", _MessageStream_addStreamEvent).call(this, event);\n }\n if (stream.controller.signal?.aborted) {\n throw new APIUserAbortError();\n }\n __classPrivateFieldGet(this, _MessageStream_instances, \"m\", _MessageStream_endRequest).call(this);\n }\n finally {\n if (signal && abortHandler) {\n signal.removeEventListener('abort', abortHandler);\n }\n }\n }\n _connected(response) {\n if (this.ended)\n return;\n __classPrivateFieldSet(this, _MessageStream_response, response, \"f\");\n __classPrivateFieldSet(this, _MessageStream_request_id, response?.headers.get('request-id'), \"f\");\n __classPrivateFieldGet(this, _MessageStream_resolveConnectedPromise, \"f\").call(this, response);\n this._emit('connect');\n }\n get ended() {\n return __classPrivateFieldGet(this, _MessageStream_ended, \"f\");\n }\n get errored() {\n return __classPrivateFieldGet(this, _MessageStream_errored, \"f\");\n }\n get aborted() {\n return __classPrivateFieldGet(this, _MessageStream_aborted, \"f\");\n }\n abort() {\n this.controller.abort();\n }\n /**\n * Adds the listener function to the end of the listeners array for the event.\n * No checks are made to see if the listener has already been added. Multiple calls passing\n * the same combination of event and listener will result in the listener being added, and\n * called, multiple times.\n * @returns this MessageStream, so that calls can be chained\n */\n on(event, listener) {\n const listeners = __classPrivateFieldGet(this, _MessageStream_listeners, \"f\")[event] || (__classPrivateFieldGet(this, _MessageStream_listeners, \"f\")[event] = []);\n listeners.push({ listener });\n return this;\n }\n /**\n * Removes the specified listener from the listener array for the event.\n * off() will remove, at most, one instance of a listener from the listener array. If any single\n * listener has been added multiple times to the listener array for the specified event, then\n * off() must be called multiple times to remove each instance.\n * @returns this MessageStream, so that calls can be chained\n */\n off(event, listener) {\n const listeners = __classPrivateFieldGet(this, _MessageStream_listeners, \"f\")[event];\n if (!listeners)\n return this;\n const index = listeners.findIndex((l) => l.listener === listener);\n if (index >= 0)\n listeners.splice(index, 1);\n return this;\n }\n /**\n * Adds a one-time listener function for the event. The next time the event is triggered,\n * this listener is removed and then invoked.\n * @returns this MessageStream, so that calls can be chained\n */\n once(event, listener) {\n const listeners = __classPrivateFieldGet(this, _MessageStream_listeners, \"f\")[event] || (__classPrivateFieldGet(this, _MessageStream_listeners, \"f\")[event] = []);\n listeners.push({ listener, once: true });\n return this;\n }\n /**\n * This is similar to `.once()`, but returns a Promise that resolves the next time\n * the event is triggered, instead of calling a listener callback.\n * @returns a Promise that resolves the next time given event is triggered,\n * or rejects if an error is emitted. (If you request the 'error' event,\n * returns a promise that resolves with the error).\n *\n * Example:\n *\n * const message = await stream.emitted('message') // rejects if the stream errors\n */\n emitted(event) {\n return new Promise((resolve, reject) => {\n __classPrivateFieldSet(this, _MessageStream_catchingPromiseCreated, true, \"f\");\n if (event !== 'error')\n this.once('error', reject);\n this.once(event, resolve);\n });\n }\n async done() {\n __classPrivateFieldSet(this, _MessageStream_catchingPromiseCreated, true, \"f\");\n await __classPrivateFieldGet(this, _MessageStream_endPromise, \"f\");\n }\n get currentMessage() {\n return __classPrivateFieldGet(this, _MessageStream_currentMessageSnapshot, \"f\");\n }\n /**\n * @returns a promise that resolves with the the final assistant Message response,\n * or rejects if an error occurred or the stream ended prematurely without producing a Message.\n * If structured outputs were used, this will be a ParsedMessage with a `parsed_output` field.\n */\n async finalMessage() {\n await this.done();\n return __classPrivateFieldGet(this, _MessageStream_instances, \"m\", _MessageStream_getFinalMessage).call(this);\n }\n /**\n * @returns a promise that resolves with the the final assistant Message's text response, concatenated\n * together if there are more than one text blocks.\n * Rejects if an error occurred or the stream ended prematurely without producing a Message.\n */\n async finalText() {\n await this.done();\n return __classPrivateFieldGet(this, _MessageStream_instances, \"m\", _MessageStream_getFinalText).call(this);\n }\n _emit(event, ...args) {\n // make sure we don't emit any MessageStreamEvents after end\n if (__classPrivateFieldGet(this, _MessageStream_ended, \"f\"))\n return;\n if (event === 'end') {\n __classPrivateFieldSet(this, _MessageStream_ended, true, \"f\");\n __classPrivateFieldGet(this, _MessageStream_resolveEndPromise, \"f\").call(this);\n }\n const listeners = __classPrivateFieldGet(this, _MessageStream_listeners, \"f\")[event];\n if (listeners) {\n __classPrivateFieldGet(this, _MessageStream_listeners, \"f\")[event] = listeners.filter((l) => !l.once);\n listeners.forEach(({ listener }) => listener(...args));\n }\n if (event === 'abort') {\n const error = args[0];\n if (!__classPrivateFieldGet(this, _MessageStream_catchingPromiseCreated, \"f\") && !listeners?.length) {\n Promise.reject(error);\n }\n __classPrivateFieldGet(this, _MessageStream_rejectConnectedPromise, \"f\").call(this, error);\n __classPrivateFieldGet(this, _MessageStream_rejectEndPromise, \"f\").call(this, error);\n this._emit('end');\n return;\n }\n if (event === 'error') {\n // NOTE: _emit('error', error) should only be called from #handleError().\n const error = args[0];\n if (!__classPrivateFieldGet(this, _MessageStream_catchingPromiseCreated, \"f\") && !listeners?.length) {\n // Trigger an unhandled rejection if the user hasn't registered any error handlers.\n // If you are seeing stack traces here, make sure to handle errors via either:\n // - runner.on('error', () => ...)\n // - await runner.done()\n // - await runner.final...()\n // - etc.\n Promise.reject(error);\n }\n __classPrivateFieldGet(this, _MessageStream_rejectConnectedPromise, \"f\").call(this, error);\n __classPrivateFieldGet(this, _MessageStream_rejectEndPromise, \"f\").call(this, error);\n this._emit('end');\n }\n }\n _emitFinal() {\n const finalMessage = this.receivedMessages.at(-1);\n if (finalMessage) {\n this._emit('finalMessage', __classPrivateFieldGet(this, _MessageStream_instances, \"m\", _MessageStream_getFinalMessage).call(this));\n }\n }\n async _fromReadableStream(readableStream, options) {\n const signal = options?.signal;\n let abortHandler;\n if (signal) {\n if (signal.aborted)\n this.controller.abort();\n abortHandler = this.controller.abort.bind(this.controller);\n signal.addEventListener('abort', abortHandler);\n }\n try {\n __classPrivateFieldGet(this, _MessageStream_instances, \"m\", _MessageStream_beginRequest).call(this);\n this._connected(null);\n const stream = Stream.fromReadableStream(readableStream, this.controller);\n for await (const event of stream) {\n __classPrivateFieldGet(this, _MessageStream_instances, \"m\", _MessageStream_addStreamEvent).call(this, event);\n }\n if (stream.controller.signal?.aborted) {\n throw new APIUserAbortError();\n }\n __classPrivateFieldGet(this, _MessageStream_instances, \"m\", _MessageStream_endRequest).call(this);\n }\n finally {\n if (signal && abortHandler) {\n signal.removeEventListener('abort', abortHandler);\n }\n }\n }\n [(_MessageStream_currentMessageSnapshot = new WeakMap(), _MessageStream_params = new WeakMap(), _MessageStream_connectedPromise = new WeakMap(), _MessageStream_resolveConnectedPromise = new WeakMap(), _MessageStream_rejectConnectedPromise = new WeakMap(), _MessageStream_endPromise = new WeakMap(), _MessageStream_resolveEndPromise = new WeakMap(), _MessageStream_rejectEndPromise = new WeakMap(), _MessageStream_listeners = new WeakMap(), _MessageStream_ended = new WeakMap(), _MessageStream_errored = new WeakMap(), _MessageStream_aborted = new WeakMap(), _MessageStream_catchingPromiseCreated = new WeakMap(), _MessageStream_response = new WeakMap(), _MessageStream_request_id = new WeakMap(), _MessageStream_logger = new WeakMap(), _MessageStream_handleError = new WeakMap(), _MessageStream_instances = new WeakSet(), _MessageStream_getFinalMessage = function _MessageStream_getFinalMessage() {\n if (this.receivedMessages.length === 0) {\n throw new AnthropicError('stream ended without producing a Message with role=assistant');\n }\n return this.receivedMessages.at(-1);\n }, _MessageStream_getFinalText = function _MessageStream_getFinalText() {\n if (this.receivedMessages.length === 0) {\n throw new AnthropicError('stream ended without producing a Message with role=assistant');\n }\n const textBlocks = this.receivedMessages\n .at(-1)\n .content.filter((block) => block.type === 'text')\n .map((block) => block.text);\n if (textBlocks.length === 0) {\n throw new AnthropicError('stream ended without producing a content block with type=text');\n }\n return textBlocks.join(' ');\n }, _MessageStream_beginRequest = function _MessageStream_beginRequest() {\n if (this.ended)\n return;\n __classPrivateFieldSet(this, _MessageStream_currentMessageSnapshot, undefined, \"f\");\n }, _MessageStream_addStreamEvent = function _MessageStream_addStreamEvent(event) {\n if (this.ended)\n return;\n const messageSnapshot = __classPrivateFieldGet(this, _MessageStream_instances, \"m\", _MessageStream_accumulateMessage).call(this, event);\n this._emit('streamEvent', event, messageSnapshot);\n switch (event.type) {\n case 'content_block_delta': {\n const content = messageSnapshot.content.at(-1);\n switch (event.delta.type) {\n case 'text_delta': {\n if (content.type === 'text') {\n this._emit('text', event.delta.text, content.text || '');\n }\n break;\n }\n case 'citations_delta': {\n if (content.type === 'text') {\n this._emit('citation', event.delta.citation, content.citations ?? []);\n }\n break;\n }\n case 'input_json_delta': {\n if (tracksToolInput(content) && content.input) {\n this._emit('inputJson', event.delta.partial_json, content.input);\n }\n break;\n }\n case 'thinking_delta': {\n if (content.type === 'thinking') {\n this._emit('thinking', event.delta.thinking, content.thinking);\n }\n break;\n }\n case 'signature_delta': {\n if (content.type === 'thinking') {\n this._emit('signature', content.signature);\n }\n break;\n }\n default:\n checkNever(event.delta);\n }\n break;\n }\n case 'message_stop': {\n this._addMessageParam(messageSnapshot);\n this._addMessage(maybeParseMessage(messageSnapshot, __classPrivateFieldGet(this, _MessageStream_params, \"f\"), { logger: __classPrivateFieldGet(this, _MessageStream_logger, \"f\") }), true);\n break;\n }\n case 'content_block_stop': {\n this._emit('contentBlock', messageSnapshot.content.at(-1));\n break;\n }\n case 'message_start': {\n __classPrivateFieldSet(this, _MessageStream_currentMessageSnapshot, messageSnapshot, \"f\");\n break;\n }\n case 'content_block_start':\n case 'message_delta':\n break;\n }\n }, _MessageStream_endRequest = function _MessageStream_endRequest() {\n if (this.ended) {\n throw new AnthropicError(`stream has ended, this shouldn't happen`);\n }\n const snapshot = __classPrivateFieldGet(this, _MessageStream_currentMessageSnapshot, \"f\");\n if (!snapshot) {\n throw new AnthropicError(`request ended without sending any chunks`);\n }\n __classPrivateFieldSet(this, _MessageStream_currentMessageSnapshot, undefined, \"f\");\n return maybeParseMessage(snapshot, __classPrivateFieldGet(this, _MessageStream_params, \"f\"), { logger: __classPrivateFieldGet(this, _MessageStream_logger, \"f\") });\n }, _MessageStream_accumulateMessage = function _MessageStream_accumulateMessage(event) {\n let snapshot = __classPrivateFieldGet(this, _MessageStream_currentMessageSnapshot, \"f\");\n if (event.type === 'message_start') {\n if (snapshot) {\n throw new AnthropicError(`Unexpected event order, got ${event.type} before receiving \"message_stop\"`);\n }\n return event.message;\n }\n if (!snapshot) {\n throw new AnthropicError(`Unexpected event order, got ${event.type} before \"message_start\"`);\n }\n switch (event.type) {\n case 'message_stop':\n return snapshot;\n case 'message_delta':\n snapshot.stop_reason = event.delta.stop_reason;\n snapshot.stop_sequence = event.delta.stop_sequence;\n snapshot.usage.output_tokens = event.usage.output_tokens;\n // Update other usage fields if they exist in the event\n if (event.usage.input_tokens != null) {\n snapshot.usage.input_tokens = event.usage.input_tokens;\n }\n if (event.usage.cache_creation_input_tokens != null) {\n snapshot.usage.cache_creation_input_tokens = event.usage.cache_creation_input_tokens;\n }\n if (event.usage.cache_read_input_tokens != null) {\n snapshot.usage.cache_read_input_tokens = event.usage.cache_read_input_tokens;\n }\n if (event.usage.server_tool_use != null) {\n snapshot.usage.server_tool_use = event.usage.server_tool_use;\n }\n return snapshot;\n case 'content_block_start':\n snapshot.content.push({ ...event.content_block });\n return snapshot;\n case 'content_block_delta': {\n const snapshotContent = snapshot.content.at(event.index);\n switch (event.delta.type) {\n case 'text_delta': {\n if (snapshotContent?.type === 'text') {\n snapshot.content[event.index] = {\n ...snapshotContent,\n text: (snapshotContent.text || '') + event.delta.text,\n };\n }\n break;\n }\n case 'citations_delta': {\n if (snapshotContent?.type === 'text') {\n snapshot.content[event.index] = {\n ...snapshotContent,\n citations: [...(snapshotContent.citations ?? []), event.delta.citation],\n };\n }\n break;\n }\n case 'input_json_delta': {\n if (snapshotContent && tracksToolInput(snapshotContent)) {\n // we need to keep track of the raw JSON string as well so that we can\n // re-parse it for each delta, for now we just store it as an untyped\n // non-enumerable property on the snapshot\n let jsonBuf = snapshotContent[JSON_BUF_PROPERTY] || '';\n jsonBuf += event.delta.partial_json;\n const newContent = { ...snapshotContent };\n Object.defineProperty(newContent, JSON_BUF_PROPERTY, {\n value: jsonBuf,\n enumerable: false,\n writable: true,\n });\n if (jsonBuf) {\n newContent.input = partialParse(jsonBuf);\n }\n snapshot.content[event.index] = newContent;\n }\n break;\n }\n case 'thinking_delta': {\n if (snapshotContent?.type === 'thinking') {\n snapshot.content[event.index] = {\n ...snapshotContent,\n thinking: snapshotContent.thinking + event.delta.thinking,\n };\n }\n break;\n }\n case 'signature_delta': {\n if (snapshotContent?.type === 'thinking') {\n snapshot.content[event.index] = {\n ...snapshotContent,\n signature: event.delta.signature,\n };\n }\n break;\n }\n default:\n checkNever(event.delta);\n }\n return snapshot;\n }\n case 'content_block_stop':\n return snapshot;\n }\n }, Symbol.asyncIterator)]() {\n const pushQueue = [];\n const readQueue = [];\n let done = false;\n this.on('streamEvent', (event) => {\n const reader = readQueue.shift();\n if (reader) {\n reader.resolve(event);\n }\n else {\n pushQueue.push(event);\n }\n });\n this.on('end', () => {\n done = true;\n for (const reader of readQueue) {\n reader.resolve(undefined);\n }\n readQueue.length = 0;\n });\n this.on('abort', (err) => {\n done = true;\n for (const reader of readQueue) {\n reader.reject(err);\n }\n readQueue.length = 0;\n });\n this.on('error', (err) => {\n done = true;\n for (const reader of readQueue) {\n reader.reject(err);\n }\n readQueue.length = 0;\n });\n return {\n next: async () => {\n if (!pushQueue.length) {\n if (done) {\n return { value: undefined, done: true };\n }\n return new Promise((resolve, reject) => readQueue.push({ resolve, reject })).then((chunk) => (chunk ? { value: chunk, done: false } : { value: undefined, done: true }));\n }\n const chunk = pushQueue.shift();\n return { value: chunk, done: false };\n },\n return: async () => {\n this.abort();\n return { value: undefined, done: true };\n },\n };\n }\n toReadableStream() {\n const stream = new Stream(this[Symbol.asyncIterator].bind(this), this.controller);\n return stream.toReadableStream();\n }\n}\n// used to ensure exhaustive case matching without throwing a runtime error\nfunction checkNever(x) { }\n//# sourceMappingURL=MessageStream.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../core/resource.mjs\";\nimport { Page } from \"../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../internal/headers.mjs\";\nimport { JSONLDecoder } from \"../../internal/decoders/jsonl.mjs\";\nimport { AnthropicError } from \"../../error.mjs\";\nimport { path } from \"../../internal/utils/path.mjs\";\nexport class Batches extends APIResource {\n /**\n * Send a batch of Message creation requests.\n *\n * The Message Batches API can be used to process multiple Messages API requests at\n * once. Once a Message Batch is created, it begins processing immediately. Batches\n * can take up to 24 hours to complete.\n *\n * Learn more about the Message Batches API in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)\n *\n * @example\n * ```ts\n * const messageBatch = await client.messages.batches.create({\n * requests: [\n * {\n * custom_id: 'my-custom-id-1',\n * params: {\n * max_tokens: 1024,\n * messages: [\n * { content: 'Hello, world', role: 'user' },\n * ],\n * model: 'claude-opus-4-6',\n * },\n * },\n * ],\n * });\n * ```\n */\n create(body, options) {\n return this._client.post('/v1/messages/batches', { body, ...options });\n }\n /**\n * This endpoint is idempotent and can be used to poll for Message Batch\n * completion. To access the results of a Message Batch, make a request to the\n * `results_url` field in the response.\n *\n * Learn more about the Message Batches API in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)\n *\n * @example\n * ```ts\n * const messageBatch = await client.messages.batches.retrieve(\n * 'message_batch_id',\n * );\n * ```\n */\n retrieve(messageBatchID, options) {\n return this._client.get(path `/v1/messages/batches/${messageBatchID}`, options);\n }\n /**\n * List all Message Batches within a Workspace. Most recently created batches are\n * returned first.\n *\n * Learn more about the Message Batches API in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const messageBatch of client.messages.batches.list()) {\n * // ...\n * }\n * ```\n */\n list(query = {}, options) {\n return this._client.getAPIList('/v1/messages/batches', (Page), { query, ...options });\n }\n /**\n * Delete a Message Batch.\n *\n * Message Batches can only be deleted once they've finished processing. If you'd\n * like to delete an in-progress batch, you must first cancel it.\n *\n * Learn more about the Message Batches API in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)\n *\n * @example\n * ```ts\n * const deletedMessageBatch =\n * await client.messages.batches.delete('message_batch_id');\n * ```\n */\n delete(messageBatchID, options) {\n return this._client.delete(path `/v1/messages/batches/${messageBatchID}`, options);\n }\n /**\n * Batches may be canceled any time before processing ends. Once cancellation is\n * initiated, the batch enters a `canceling` state, at which time the system may\n * complete any in-progress, non-interruptible requests before finalizing\n * cancellation.\n *\n * The number of canceled requests is specified in `request_counts`. To determine\n * which requests were canceled, check the individual results within the batch.\n * Note that cancellation may not result in any canceled requests if they were\n * non-interruptible.\n *\n * Learn more about the Message Batches API in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)\n *\n * @example\n * ```ts\n * const messageBatch = await client.messages.batches.cancel(\n * 'message_batch_id',\n * );\n * ```\n */\n cancel(messageBatchID, options) {\n return this._client.post(path `/v1/messages/batches/${messageBatchID}/cancel`, options);\n }\n /**\n * Streams the results of a Message Batch as a `.jsonl` file.\n *\n * Each line in the file is a JSON object containing the result of a single request\n * in the Message Batch. Results are not guaranteed to be in the same order as\n * requests. Use the `custom_id` field to match results to requests.\n *\n * Learn more about the Message Batches API in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)\n *\n * @example\n * ```ts\n * const messageBatchIndividualResponse =\n * await client.messages.batches.results('message_batch_id');\n * ```\n */\n async results(messageBatchID, options) {\n const batch = await this.retrieve(messageBatchID);\n if (!batch.results_url) {\n throw new AnthropicError(`No batch \\`results_url\\`; Has it finished processing? ${batch.processing_status} - ${batch.id}`);\n }\n return this._client\n .get(batch.results_url, {\n ...options,\n headers: buildHeaders([{ Accept: 'application/binary' }, options?.headers]),\n stream: true,\n __binaryResponse: true,\n })\n ._thenUnwrap((_, props) => JSONLDecoder.fromResponse(props.response, props.controller));\n }\n}\n//# sourceMappingURL=batches.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../core/resource.mjs\";\nimport { buildHeaders } from \"../../internal/headers.mjs\";\nimport { stainlessHelperHeader } from \"../../lib/stainless-helper-header.mjs\";\nimport { MessageStream } from \"../../lib/MessageStream.mjs\";\nimport { parseMessage, } from \"../../lib/parser.mjs\";\nimport * as BatchesAPI from \"./batches.mjs\";\nimport { Batches, } from \"./batches.mjs\";\nimport { MODEL_NONSTREAMING_TOKENS } from \"../../internal/constants.mjs\";\nexport class Messages extends APIResource {\n constructor() {\n super(...arguments);\n this.batches = new BatchesAPI.Batches(this._client);\n }\n create(body, options) {\n if (body.model in DEPRECATED_MODELS) {\n console.warn(`The model '${body.model}' is deprecated and will reach end-of-life on ${DEPRECATED_MODELS[body.model]}\\nPlease migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);\n }\n if (MODELS_TO_WARN_WITH_THINKING_ENABLED.includes(body.model) &&\n body.thinking &&\n body.thinking.type === 'enabled') {\n console.warn(`Using Claude with ${body.model} and 'thinking.type=enabled' is deprecated. Use 'thinking.type=adaptive' instead which results in better model performance in our testing: https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking`);\n }\n let timeout = this._client._options.timeout;\n if (!body.stream && timeout == null) {\n const maxNonstreamingTokens = MODEL_NONSTREAMING_TOKENS[body.model] ?? undefined;\n timeout = this._client.calculateNonstreamingTimeout(body.max_tokens, maxNonstreamingTokens);\n }\n // Collect helper info from tools and messages\n const helperHeader = stainlessHelperHeader(body.tools, body.messages);\n return this._client.post('/v1/messages', {\n body,\n timeout: timeout ?? 600000,\n ...options,\n headers: buildHeaders([helperHeader, options?.headers]),\n stream: body.stream ?? false,\n });\n }\n /**\n * Send a structured list of input messages with text and/or image content, along with an expected `output_config.format` and\n * the response will be automatically parsed and available in the `parsed_output` property of the message.\n *\n * @example\n * ```ts\n * const message = await client.messages.parse({\n * model: 'claude-sonnet-4-5-20250929',\n * max_tokens: 1024,\n * messages: [{ role: 'user', content: 'What is 2+2?' }],\n * output_config: {\n * format: zodOutputFormat(z.object({ answer: z.number() })),\n * },\n * });\n *\n * console.log(message.parsed_output?.answer); // 4\n * ```\n */\n parse(params, options) {\n return this.create(params, options).then((message) => parseMessage(message, params, { logger: this._client.logger ?? console }));\n }\n /**\n * Create a Message stream.\n *\n * If `output_config.format` is provided with a parseable format (like `zodOutputFormat()`),\n * the final message will include a `parsed_output` property with the parsed content.\n *\n * @example\n * ```ts\n * const stream = client.messages.stream({\n * model: 'claude-sonnet-4-5-20250929',\n * max_tokens: 1024,\n * messages: [{ role: 'user', content: 'What is 2+2?' }],\n * output_config: {\n * format: zodOutputFormat(z.object({ answer: z.number() })),\n * },\n * });\n *\n * const message = await stream.finalMessage();\n * console.log(message.parsed_output?.answer); // 4\n * ```\n */\n stream(body, options) {\n return MessageStream.createMessage(this, body, options, { logger: this._client.logger ?? console });\n }\n /**\n * Count the number of tokens in a Message.\n *\n * The Token Count API can be used to count the number of tokens in a Message,\n * including tools, images, and documents, without creating it.\n *\n * Learn more about token counting in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/token-counting)\n *\n * @example\n * ```ts\n * const messageTokensCount =\n * await client.messages.countTokens({\n * messages: [{ content: 'Hello, world', role: 'user' }],\n * model: 'claude-opus-4-6',\n * });\n * ```\n */\n countTokens(body, options) {\n return this._client.post('/v1/messages/count_tokens', { body, ...options });\n }\n}\nconst DEPRECATED_MODELS = {\n 'claude-1.3': 'November 6th, 2024',\n 'claude-1.3-100k': 'November 6th, 2024',\n 'claude-instant-1.1': 'November 6th, 2024',\n 'claude-instant-1.1-100k': 'November 6th, 2024',\n 'claude-instant-1.2': 'November 6th, 2024',\n 'claude-3-sonnet-20240229': 'July 21st, 2025',\n 'claude-3-opus-20240229': 'January 5th, 2026',\n 'claude-2.1': 'July 21st, 2025',\n 'claude-2.0': 'July 21st, 2025',\n 'claude-3-7-sonnet-latest': 'February 19th, 2026',\n 'claude-3-7-sonnet-20250219': 'February 19th, 2026',\n 'claude-3-5-haiku-latest': 'February 19th, 2026',\n 'claude-3-5-haiku-20241022': 'February 19th, 2026',\n 'claude-opus-4-0': 'June 15th, 2026',\n 'claude-opus-4-20250514': 'June 15th, 2026',\n 'claude-sonnet-4-0': 'June 15th, 2026',\n 'claude-sonnet-4-20250514': 'June 15th, 2026',\n};\nconst MODELS_TO_WARN_WITH_THINKING_ENABLED = ['claude-mythos-preview', 'claude-opus-4-6'];\nMessages.Batches = Batches;\n//# sourceMappingURL=messages.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../core/resource.mjs\";\nimport { Page } from \"../core/pagination.mjs\";\nimport { buildHeaders } from \"../internal/headers.mjs\";\nimport { path } from \"../internal/utils/path.mjs\";\nexport class Models extends APIResource {\n /**\n * Get a specific model.\n *\n * The Models API response can be used to determine information about a specific\n * model or resolve a model alias to a model ID.\n */\n retrieve(modelID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.get(path `/v1/models/${modelID}`, {\n ...options,\n headers: buildHeaders([\n { ...(betas?.toString() != null ? { 'anthropic-beta': betas?.toString() } : undefined) },\n options?.headers,\n ]),\n });\n }\n /**\n * List available models.\n *\n * The Models API response can be used to determine which models are available for\n * use in the API. More recently released models are listed first.\n */\n list(params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList('/v1/models', (Page), {\n query,\n ...options,\n headers: buildHeaders([\n { ...(betas?.toString() != null ? { 'anthropic-beta': betas?.toString() } : undefined) },\n options?.headers,\n ]),\n });\n }\n}\n//# sourceMappingURL=models.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\n/**\n * Read an environment variable.\n *\n * Trims beginning and trailing whitespace.\n *\n * Will return undefined if the environment variable doesn't exist or cannot be accessed.\n */\nexport const readEnv = (env) => {\n if (typeof globalThis.process !== 'undefined') {\n return globalThis.process.env?.[env]?.trim() || undefined;\n }\n if (typeof globalThis.Deno !== 'undefined') {\n return globalThis.Deno.env?.get?.(env)?.trim() || undefined;\n }\n return undefined;\n};\n//# sourceMappingURL=env.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nvar _BaseAnthropic_instances, _a, _BaseAnthropic_encoder, _BaseAnthropic_baseURLOverridden;\nimport { __classPrivateFieldGet, __classPrivateFieldSet } from \"./internal/tslib.mjs\";\nimport { uuid4 } from \"./internal/utils/uuid.mjs\";\nimport { validatePositiveInteger, isAbsoluteURL, safeJSON } from \"./internal/utils/values.mjs\";\nimport { sleep } from \"./internal/utils/sleep.mjs\";\nimport { castToError, isAbortError } from \"./internal/errors.mjs\";\nimport { getPlatformHeaders } from \"./internal/detect-platform.mjs\";\nimport * as Shims from \"./internal/shims.mjs\";\nimport * as Opts from \"./internal/request-options.mjs\";\nimport { stringifyQuery } from \"./internal/utils/query.mjs\";\nimport { VERSION } from \"./version.mjs\";\nimport * as Errors from \"./core/error.mjs\";\nimport * as Pagination from \"./core/pagination.mjs\";\nimport * as Uploads from \"./core/uploads.mjs\";\nimport * as API from \"./resources/index.mjs\";\nimport { APIPromise } from \"./core/api-promise.mjs\";\nimport { Completions, } from \"./resources/completions.mjs\";\nimport { Models, } from \"./resources/models.mjs\";\nimport { Beta, } from \"./resources/beta/beta.mjs\";\nimport { Messages, } from \"./resources/messages/messages.mjs\";\nimport { isRunningInBrowser } from \"./internal/detect-platform.mjs\";\nimport { buildHeaders } from \"./internal/headers.mjs\";\nimport { readEnv } from \"./internal/utils/env.mjs\";\nimport { formatRequestDetails, loggerFor, parseLogLevel, } from \"./internal/utils/log.mjs\";\nimport { isEmptyObj } from \"./internal/utils/values.mjs\";\nexport const HUMAN_PROMPT = '\\\\n\\\\nHuman:';\nexport const AI_PROMPT = '\\\\n\\\\nAssistant:';\n/**\n * Base class for Anthropic API clients.\n */\nexport class BaseAnthropic {\n /**\n * API Client for interfacing with the Anthropic API.\n *\n * @param {string | null | undefined} [opts.apiKey=process.env['ANTHROPIC_API_KEY'] ?? null]\n * @param {string | null | undefined} [opts.authToken=process.env['ANTHROPIC_AUTH_TOKEN'] ?? null]\n * @param {string} [opts.baseURL=process.env['ANTHROPIC_BASE_URL'] ?? https://api.anthropic.com] - Override the default base URL for the API.\n * @param {number} [opts.timeout=10 minutes] - The maximum amount of time (in milliseconds) the client will wait for a response before timing out.\n * @param {MergedRequestInit} [opts.fetchOptions] - Additional `RequestInit` options to be passed to `fetch` calls.\n * @param {Fetch} [opts.fetch] - Specify a custom `fetch` function implementation.\n * @param {number} [opts.maxRetries=2] - The maximum number of times the client will retry a request.\n * @param {HeadersLike} opts.defaultHeaders - Default headers to include with every request to the API.\n * @param {Record<string, string | undefined>} opts.defaultQuery - Default query parameters to include with every request to the API.\n * @param {boolean} [opts.dangerouslyAllowBrowser=false] - By default, client-side use of this library is not allowed, as it risks exposing your secret API credentials to attackers.\n */\n constructor({ baseURL = readEnv('ANTHROPIC_BASE_URL'), apiKey = readEnv('ANTHROPIC_API_KEY') ?? null, authToken = readEnv('ANTHROPIC_AUTH_TOKEN') ?? null, ...opts } = {}) {\n _BaseAnthropic_instances.add(this);\n _BaseAnthropic_encoder.set(this, void 0);\n const options = {\n apiKey,\n authToken,\n ...opts,\n baseURL: baseURL || `https://api.anthropic.com`,\n };\n if (!options.dangerouslyAllowBrowser && isRunningInBrowser()) {\n throw new Errors.AnthropicError(\"It looks like you're running in a browser-like environment.\\n\\nThis is disabled by default, as it risks exposing your secret API credentials to attackers.\\nIf you understand the risks and have appropriate mitigations in place,\\nyou can set the `dangerouslyAllowBrowser` option to `true`, e.g.,\\n\\nnew Anthropic({ apiKey, dangerouslyAllowBrowser: true });\\n\");\n }\n this.baseURL = options.baseURL;\n this.timeout = options.timeout ?? _a.DEFAULT_TIMEOUT /* 10 minutes */;\n this.logger = options.logger ?? console;\n const defaultLogLevel = 'warn';\n // Set default logLevel early so that we can log a warning in parseLogLevel.\n this.logLevel = defaultLogLevel;\n this.logLevel =\n parseLogLevel(options.logLevel, 'ClientOptions.logLevel', this) ??\n parseLogLevel(readEnv('ANTHROPIC_LOG'), \"process.env['ANTHROPIC_LOG']\", this) ??\n defaultLogLevel;\n this.fetchOptions = options.fetchOptions;\n this.maxRetries = options.maxRetries ?? 2;\n this.fetch = options.fetch ?? Shims.getDefaultFetch();\n __classPrivateFieldSet(this, _BaseAnthropic_encoder, Opts.FallbackEncoder, \"f\");\n this._options = options;\n this.apiKey = typeof apiKey === 'string' ? apiKey : null;\n this.authToken = authToken;\n }\n /**\n * Create a new client instance re-using the same options given to the current client with optional overriding.\n */\n withOptions(options) {\n const client = new this.constructor({\n ...this._options,\n baseURL: this.baseURL,\n maxRetries: this.maxRetries,\n timeout: this.timeout,\n logger: this.logger,\n logLevel: this.logLevel,\n fetch: this.fetch,\n fetchOptions: this.fetchOptions,\n apiKey: this.apiKey,\n authToken: this.authToken,\n ...options,\n });\n return client;\n }\n defaultQuery() {\n return this._options.defaultQuery;\n }\n validateHeaders({ values, nulls }) {\n if (values.get('x-api-key') || values.get('authorization')) {\n return;\n }\n if (this.apiKey && values.get('x-api-key')) {\n return;\n }\n if (nulls.has('x-api-key')) {\n return;\n }\n if (this.authToken && values.get('authorization')) {\n return;\n }\n if (nulls.has('authorization')) {\n return;\n }\n throw new Error('Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the \"X-Api-Key\" or \"Authorization\" headers to be explicitly omitted');\n }\n async authHeaders(opts) {\n return buildHeaders([await this.apiKeyAuth(opts), await this.bearerAuth(opts)]);\n }\n async apiKeyAuth(opts) {\n if (this.apiKey == null) {\n return undefined;\n }\n return buildHeaders([{ 'X-Api-Key': this.apiKey }]);\n }\n async bearerAuth(opts) {\n if (this.authToken == null) {\n return undefined;\n }\n return buildHeaders([{ Authorization: `Bearer ${this.authToken}` }]);\n }\n /**\n * Basic re-implementation of `qs.stringify` for primitive types.\n */\n stringifyQuery(query) {\n return stringifyQuery(query);\n }\n getUserAgent() {\n return `${this.constructor.name}/JS ${VERSION}`;\n }\n defaultIdempotencyKey() {\n return `stainless-node-retry-${uuid4()}`;\n }\n makeStatusError(status, error, message, headers) {\n return Errors.APIError.generate(status, error, message, headers);\n }\n buildURL(path, query, defaultBaseURL) {\n const baseURL = (!__classPrivateFieldGet(this, _BaseAnthropic_instances, \"m\", _BaseAnthropic_baseURLOverridden).call(this) && defaultBaseURL) || this.baseURL;\n const url = isAbsoluteURL(path) ?\n new URL(path)\n : new URL(baseURL + (baseURL.endsWith('/') && path.startsWith('/') ? path.slice(1) : path));\n const defaultQuery = this.defaultQuery();\n const pathQuery = Object.fromEntries(url.searchParams);\n if (!isEmptyObj(defaultQuery) || !isEmptyObj(pathQuery)) {\n query = { ...pathQuery, ...defaultQuery, ...query };\n }\n if (typeof query === 'object' && query && !Array.isArray(query)) {\n url.search = this.stringifyQuery(query);\n }\n return url.toString();\n }\n _calculateNonstreamingTimeout(maxTokens) {\n const defaultTimeout = 10 * 60;\n const expectedTimeout = (60 * 60 * maxTokens) / 128000;\n if (expectedTimeout > defaultTimeout) {\n throw new Errors.AnthropicError('Streaming is required for operations that may take longer than 10 minutes. ' +\n 'See https://github.com/anthropics/anthropic-sdk-typescript#streaming-responses for more details');\n }\n return defaultTimeout * 1000;\n }\n /**\n * Used as a callback for mutating the given `FinalRequestOptions` object.\n */\n async prepareOptions(options) { }\n /**\n * Used as a callback for mutating the given `RequestInit` object.\n *\n * This is useful for cases where you want to add certain headers based off of\n * the request properties, e.g. `method` or `url`.\n */\n async prepareRequest(request, { url, options }) { }\n get(path, opts) {\n return this.methodRequest('get', path, opts);\n }\n post(path, opts) {\n return this.methodRequest('post', path, opts);\n }\n patch(path, opts) {\n return this.methodRequest('patch', path, opts);\n }\n put(path, opts) {\n return this.methodRequest('put', path, opts);\n }\n delete(path, opts) {\n return this.methodRequest('delete', path, opts);\n }\n methodRequest(method, path, opts) {\n return this.request(Promise.resolve(opts).then((opts) => {\n return { method, path, ...opts };\n }));\n }\n request(options, remainingRetries = null) {\n return new APIPromise(this, this.makeRequest(options, remainingRetries, undefined));\n }\n async makeRequest(optionsInput, retriesRemaining, retryOfRequestLogID) {\n const options = await optionsInput;\n const maxRetries = options.maxRetries ?? this.maxRetries;\n if (retriesRemaining == null) {\n retriesRemaining = maxRetries;\n }\n await this.prepareOptions(options);\n const { req, url, timeout } = await this.buildRequest(options, {\n retryCount: maxRetries - retriesRemaining,\n });\n await this.prepareRequest(req, { url, options });\n /** Not an API request ID, just for correlating local log entries. */\n const requestLogID = 'log_' + ((Math.random() * (1 << 24)) | 0).toString(16).padStart(6, '0');\n const retryLogStr = retryOfRequestLogID === undefined ? '' : `, retryOf: ${retryOfRequestLogID}`;\n const startTime = Date.now();\n loggerFor(this).debug(`[${requestLogID}] sending request`, formatRequestDetails({\n retryOfRequestLogID,\n method: options.method,\n url,\n options,\n headers: req.headers,\n }));\n if (options.signal?.aborted) {\n throw new Errors.APIUserAbortError();\n }\n const controller = new AbortController();\n const response = await this.fetchWithTimeout(url, req, timeout, controller).catch(castToError);\n const headersTime = Date.now();\n if (response instanceof globalThis.Error) {\n const retryMessage = `retrying, ${retriesRemaining} attempts remaining`;\n if (options.signal?.aborted) {\n throw new Errors.APIUserAbortError();\n }\n // detect native connection timeout errors\n // deno throws \"TypeError: error sending request for url (https://example/): client error (Connect): tcp connect error: Operation timed out (os error 60): Operation timed out (os error 60)\"\n // undici throws \"TypeError: fetch failed\" with cause \"ConnectTimeoutError: Connect Timeout Error (attempted address: example:443, timeout: 1ms)\"\n // others do not provide enough information to distinguish timeouts from other connection errors\n const isTimeout = isAbortError(response) ||\n /timed? ?out/i.test(String(response) + ('cause' in response ? String(response.cause) : ''));\n if (retriesRemaining) {\n loggerFor(this).info(`[${requestLogID}] connection ${isTimeout ? 'timed out' : 'failed'} - ${retryMessage}`);\n loggerFor(this).debug(`[${requestLogID}] connection ${isTimeout ? 'timed out' : 'failed'} (${retryMessage})`, formatRequestDetails({\n retryOfRequestLogID,\n url,\n durationMs: headersTime - startTime,\n message: response.message,\n }));\n return this.retryRequest(options, retriesRemaining, retryOfRequestLogID ?? requestLogID);\n }\n loggerFor(this).info(`[${requestLogID}] connection ${isTimeout ? 'timed out' : 'failed'} - error; no more retries left`);\n loggerFor(this).debug(`[${requestLogID}] connection ${isTimeout ? 'timed out' : 'failed'} (error; no more retries left)`, formatRequestDetails({\n retryOfRequestLogID,\n url,\n durationMs: headersTime - startTime,\n message: response.message,\n }));\n if (isTimeout) {\n throw new Errors.APIConnectionTimeoutError();\n }\n throw new Errors.APIConnectionError({ cause: response });\n }\n const specialHeaders = [...response.headers.entries()]\n .filter(([name]) => name === 'request-id')\n .map(([name, value]) => ', ' + name + ': ' + JSON.stringify(value))\n .join('');\n const responseInfo = `[${requestLogID}${retryLogStr}${specialHeaders}] ${req.method} ${url} ${response.ok ? 'succeeded' : 'failed'} with status ${response.status} in ${headersTime - startTime}ms`;\n if (!response.ok) {\n const shouldRetry = await this.shouldRetry(response);\n if (retriesRemaining && shouldRetry) {\n const retryMessage = `retrying, ${retriesRemaining} attempts remaining`;\n // We don't need the body of this response.\n await Shims.CancelReadableStream(response.body);\n loggerFor(this).info(`${responseInfo} - ${retryMessage}`);\n loggerFor(this).debug(`[${requestLogID}] response error (${retryMessage})`, formatRequestDetails({\n retryOfRequestLogID,\n url: response.url,\n status: response.status,\n headers: response.headers,\n durationMs: headersTime - startTime,\n }));\n return this.retryRequest(options, retriesRemaining, retryOfRequestLogID ?? requestLogID, response.headers);\n }\n const retryMessage = shouldRetry ? `error; no more retries left` : `error; not retryable`;\n loggerFor(this).info(`${responseInfo} - ${retryMessage}`);\n const errText = await response.text().catch((err) => castToError(err).message);\n const errJSON = safeJSON(errText);\n const errMessage = errJSON ? undefined : errText;\n loggerFor(this).debug(`[${requestLogID}] response error (${retryMessage})`, formatRequestDetails({\n retryOfRequestLogID,\n url: response.url,\n status: response.status,\n headers: response.headers,\n message: errMessage,\n durationMs: Date.now() - startTime,\n }));\n const err = this.makeStatusError(response.status, errJSON, errMessage, response.headers);\n throw err;\n }\n loggerFor(this).info(responseInfo);\n loggerFor(this).debug(`[${requestLogID}] response start`, formatRequestDetails({\n retryOfRequestLogID,\n url: response.url,\n status: response.status,\n headers: response.headers,\n durationMs: headersTime - startTime,\n }));\n return { response, options, controller, requestLogID, retryOfRequestLogID, startTime };\n }\n getAPIList(path, Page, opts) {\n return this.requestAPIList(Page, opts && 'then' in opts ?\n opts.then((opts) => ({ method: 'get', path, ...opts }))\n : { method: 'get', path, ...opts });\n }\n requestAPIList(Page, options) {\n const request = this.makeRequest(options, null, undefined);\n return new Pagination.PagePromise(this, request, Page);\n }\n async fetchWithTimeout(url, init, ms, controller) {\n const { signal, method, ...options } = init || {};\n // Avoid creating a closure over `this`, `init`, or `options` to prevent memory leaks.\n // An arrow function like `() => controller.abort()` captures the surrounding scope,\n // which includes the request body and other large objects. When the user passes a\n // long-lived AbortSignal, the listener prevents those objects from being GC'd for\n // the lifetime of the signal. Using `.bind()` only retains a reference to the\n // controller itself.\n const abort = this._makeAbort(controller);\n if (signal)\n signal.addEventListener('abort', abort, { once: true });\n const timeout = setTimeout(abort, ms);\n const isReadableBody = (globalThis.ReadableStream && options.body instanceof globalThis.ReadableStream) ||\n (typeof options.body === 'object' && options.body !== null && Symbol.asyncIterator in options.body);\n const fetchOptions = {\n signal: controller.signal,\n ...(isReadableBody ? { duplex: 'half' } : {}),\n method: 'GET',\n ...options,\n };\n if (method) {\n // Custom methods like 'patch' need to be uppercased\n // See https://github.com/nodejs/undici/issues/2294\n fetchOptions.method = method.toUpperCase();\n }\n try {\n // use undefined this binding; fetch errors if bound to something else in browser/cloudflare\n return await this.fetch.call(undefined, url, fetchOptions);\n }\n finally {\n clearTimeout(timeout);\n }\n }\n async shouldRetry(response) {\n // Note this is not a standard header.\n const shouldRetryHeader = response.headers.get('x-should-retry');\n // If the server explicitly says whether or not to retry, obey.\n if (shouldRetryHeader === 'true')\n return true;\n if (shouldRetryHeader === 'false')\n return false;\n // Retry on request timeouts.\n if (response.status === 408)\n return true;\n // Retry on lock timeouts.\n if (response.status === 409)\n return true;\n // Retry on rate limits.\n if (response.status === 429)\n return true;\n // Retry internal errors.\n if (response.status >= 500)\n return true;\n return false;\n }\n async retryRequest(options, retriesRemaining, requestLogID, responseHeaders) {\n let timeoutMillis;\n // Note the `retry-after-ms` header may not be standard, but is a good idea and we'd like proactive support for it.\n const retryAfterMillisHeader = responseHeaders?.get('retry-after-ms');\n if (retryAfterMillisHeader) {\n const timeoutMs = parseFloat(retryAfterMillisHeader);\n if (!Number.isNaN(timeoutMs)) {\n timeoutMillis = timeoutMs;\n }\n }\n // About the Retry-After header: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After\n const retryAfterHeader = responseHeaders?.get('retry-after');\n if (retryAfterHeader && !timeoutMillis) {\n const timeoutSeconds = parseFloat(retryAfterHeader);\n if (!Number.isNaN(timeoutSeconds)) {\n timeoutMillis = timeoutSeconds * 1000;\n }\n else {\n timeoutMillis = Date.parse(retryAfterHeader) - Date.now();\n }\n }\n // If the API asks us to wait a certain amount of time, just do what it\n // says, but otherwise calculate a default\n if (timeoutMillis === undefined) {\n const maxRetries = options.maxRetries ?? this.maxRetries;\n timeoutMillis = this.calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries);\n }\n await sleep(timeoutMillis);\n return this.makeRequest(options, retriesRemaining - 1, requestLogID);\n }\n calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries) {\n const initialRetryDelay = 0.5;\n const maxRetryDelay = 8.0;\n const numRetries = maxRetries - retriesRemaining;\n // Apply exponential backoff, but not more than the max.\n const sleepSeconds = Math.min(initialRetryDelay * Math.pow(2, numRetries), maxRetryDelay);\n // Apply some jitter, take up to at most 25 percent of the retry time.\n const jitter = 1 - Math.random() * 0.25;\n return sleepSeconds * jitter * 1000;\n }\n calculateNonstreamingTimeout(maxTokens, maxNonstreamingTokens) {\n const maxTime = 60 * 60 * 1000; // 60 minutes\n const defaultTime = 60 * 10 * 1000; // 10 minutes\n const expectedTime = (maxTime * maxTokens) / 128000;\n if (expectedTime > defaultTime || (maxNonstreamingTokens != null && maxTokens > maxNonstreamingTokens)) {\n throw new Errors.AnthropicError('Streaming is required for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#long-requests for more details');\n }\n return defaultTime;\n }\n async buildRequest(inputOptions, { retryCount = 0 } = {}) {\n const options = { ...inputOptions };\n const { method, path, query, defaultBaseURL } = options;\n const url = this.buildURL(path, query, defaultBaseURL);\n if ('timeout' in options)\n validatePositiveInteger('timeout', options.timeout);\n options.timeout = options.timeout ?? this.timeout;\n const { bodyHeaders, body } = this.buildBody({ options });\n const reqHeaders = await this.buildHeaders({ options: inputOptions, method, bodyHeaders, retryCount });\n const req = {\n method,\n headers: reqHeaders,\n ...(options.signal && { signal: options.signal }),\n ...(globalThis.ReadableStream &&\n body instanceof globalThis.ReadableStream && { duplex: 'half' }),\n ...(body && { body }),\n ...(this.fetchOptions ?? {}),\n ...(options.fetchOptions ?? {}),\n };\n return { req, url, timeout: options.timeout };\n }\n async buildHeaders({ options, method, bodyHeaders, retryCount, }) {\n let idempotencyHeaders = {};\n if (this.idempotencyHeader && method !== 'get') {\n if (!options.idempotencyKey)\n options.idempotencyKey = this.defaultIdempotencyKey();\n idempotencyHeaders[this.idempotencyHeader] = options.idempotencyKey;\n }\n const headers = buildHeaders([\n idempotencyHeaders,\n {\n Accept: 'application/json',\n 'User-Agent': this.getUserAgent(),\n 'X-Stainless-Retry-Count': String(retryCount),\n ...(options.timeout ? { 'X-Stainless-Timeout': String(Math.trunc(options.timeout / 1000)) } : {}),\n ...getPlatformHeaders(),\n ...(this._options.dangerouslyAllowBrowser ?\n { 'anthropic-dangerous-direct-browser-access': 'true' }\n : undefined),\n 'anthropic-version': '2023-06-01',\n },\n await this.authHeaders(options),\n this._options.defaultHeaders,\n bodyHeaders,\n options.headers,\n ]);\n this.validateHeaders(headers);\n return headers.values;\n }\n _makeAbort(controller) {\n // note: we can't just inline this method inside `fetchWithTimeout()` because then the closure\n // would capture all request options, and cause a memory leak.\n return () => controller.abort();\n }\n buildBody({ options: { body, headers: rawHeaders } }) {\n if (!body) {\n return { bodyHeaders: undefined, body: undefined };\n }\n const headers = buildHeaders([rawHeaders]);\n if (\n // Pass raw type verbatim\n ArrayBuffer.isView(body) ||\n body instanceof ArrayBuffer ||\n body instanceof DataView ||\n (typeof body === 'string' &&\n // Preserve legacy string encoding behavior for now\n headers.values.has('content-type')) ||\n // `Blob` is superset of `File`\n (globalThis.Blob && body instanceof globalThis.Blob) ||\n // `FormData` -> `multipart/form-data`\n body instanceof FormData ||\n // `URLSearchParams` -> `application/x-www-form-urlencoded`\n body instanceof URLSearchParams ||\n // Send chunked stream (each chunk has own `length`)\n (globalThis.ReadableStream && body instanceof globalThis.ReadableStream)) {\n return { bodyHeaders: undefined, body: body };\n }\n else if (typeof body === 'object' &&\n (Symbol.asyncIterator in body ||\n (Symbol.iterator in body && 'next' in body && typeof body.next === 'function'))) {\n return { bodyHeaders: undefined, body: Shims.ReadableStreamFrom(body) };\n }\n else if (typeof body === 'object' &&\n headers.values.get('content-type') === 'application/x-www-form-urlencoded') {\n return {\n bodyHeaders: { 'content-type': 'application/x-www-form-urlencoded' },\n body: this.stringifyQuery(body),\n };\n }\n else {\n return __classPrivateFieldGet(this, _BaseAnthropic_encoder, \"f\").call(this, { body, headers });\n }\n }\n}\n_a = BaseAnthropic, _BaseAnthropic_encoder = new WeakMap(), _BaseAnthropic_instances = new WeakSet(), _BaseAnthropic_baseURLOverridden = function _BaseAnthropic_baseURLOverridden() {\n return this.baseURL !== 'https://api.anthropic.com';\n};\nBaseAnthropic.Anthropic = _a;\nBaseAnthropic.HUMAN_PROMPT = HUMAN_PROMPT;\nBaseAnthropic.AI_PROMPT = AI_PROMPT;\nBaseAnthropic.DEFAULT_TIMEOUT = 600000; // 10 minutes\nBaseAnthropic.AnthropicError = Errors.AnthropicError;\nBaseAnthropic.APIError = Errors.APIError;\nBaseAnthropic.APIConnectionError = Errors.APIConnectionError;\nBaseAnthropic.APIConnectionTimeoutError = Errors.APIConnectionTimeoutError;\nBaseAnthropic.APIUserAbortError = Errors.APIUserAbortError;\nBaseAnthropic.NotFoundError = Errors.NotFoundError;\nBaseAnthropic.ConflictError = Errors.ConflictError;\nBaseAnthropic.RateLimitError = Errors.RateLimitError;\nBaseAnthropic.BadRequestError = Errors.BadRequestError;\nBaseAnthropic.AuthenticationError = Errors.AuthenticationError;\nBaseAnthropic.InternalServerError = Errors.InternalServerError;\nBaseAnthropic.PermissionDeniedError = Errors.PermissionDeniedError;\nBaseAnthropic.UnprocessableEntityError = Errors.UnprocessableEntityError;\nBaseAnthropic.toFile = Uploads.toFile;\n/**\n * API Client for interfacing with the Anthropic API.\n */\nexport class Anthropic extends BaseAnthropic {\n constructor() {\n super(...arguments);\n this.completions = new API.Completions(this);\n this.messages = new API.Messages(this);\n this.models = new API.Models(this);\n this.beta = new API.Beta(this);\n }\n}\nAnthropic.Completions = Completions;\nAnthropic.Messages = Messages;\nAnthropic.Models = Models;\nAnthropic.Beta = Beta;\n//# sourceMappingURL=client.mjs.map","import Anthropic from \"@anthropic-ai/sdk\";\nimport { getEnvApiKey } from \"../env-api-keys.js\";\nimport { calculateCost } from \"../models.js\";\nimport { AssistantMessageEventStream } from \"../utils/event-stream.js\";\nimport { headersToRecord } from \"../utils/headers.js\";\nimport { parseJsonWithRepair, parseStreamingJson } from \"../utils/json-parse.js\";\nimport { sanitizeSurrogates } from \"../utils/sanitize-unicode.js\";\nimport { resolveCloudflareBaseUrl } from \"./cloudflare.js\";\nimport { buildCopilotDynamicHeaders, hasCopilotVisionInput } from \"./github-copilot-headers.js\";\nimport { adjustMaxTokensForThinking, buildBaseOptions } from \"./simple-options.js\";\nimport { transformMessages } from \"./transform-messages.js\";\n/**\n * Resolve cache retention preference.\n * Defaults to \"short\" and uses PI_CACHE_RETENTION for backward compatibility.\n */\nfunction resolveCacheRetention(cacheRetention) {\n if (cacheRetention) {\n return cacheRetention;\n }\n if (typeof process !== \"undefined\" && process.env.PI_CACHE_RETENTION === \"long\") {\n return \"long\";\n }\n return \"short\";\n}\nfunction getCacheControl(model, cacheRetention) {\n const retention = resolveCacheRetention(cacheRetention);\n if (retention === \"none\") {\n return { retention };\n }\n const ttl = retention === \"long\" && getAnthropicCompat(model).supportsLongCacheRetention ? \"1h\" : undefined;\n return {\n retention,\n cacheControl: { type: \"ephemeral\", ...(ttl && { ttl }) },\n };\n}\n// Stealth mode: Mimic Claude Code's tool naming exactly\nconst claudeCodeVersion = \"2.1.75\";\n// Claude Code 2.x tool names (canonical casing)\n// Source: https://cchistory.mariozechner.at/data/prompts-2.1.11.md\n// To update: https://github.com/badlogic/cchistory\nconst claudeCodeTools = [\n \"Read\",\n \"Write\",\n \"Edit\",\n \"Bash\",\n \"Grep\",\n \"Glob\",\n \"AskUserQuestion\",\n \"EnterPlanMode\",\n \"ExitPlanMode\",\n \"KillShell\",\n \"NotebookEdit\",\n \"Skill\",\n \"Task\",\n \"TaskOutput\",\n \"TodoWrite\",\n \"WebFetch\",\n \"WebSearch\",\n];\nconst ccToolLookup = new Map(claudeCodeTools.map((t) => [t.toLowerCase(), t]));\n// Convert tool name to CC canonical casing if it matches (case-insensitive)\nconst toClaudeCodeName = (name) => ccToolLookup.get(name.toLowerCase()) ?? name;\nconst fromClaudeCodeName = (name, tools) => {\n if (tools && tools.length > 0) {\n const lowerName = name.toLowerCase();\n const matchedTool = tools.find((tool) => tool.name.toLowerCase() === lowerName);\n if (matchedTool)\n return matchedTool.name;\n }\n return name;\n};\n/**\n * Convert content blocks to Anthropic API format\n */\nfunction convertContentBlocks(content) {\n // If only text blocks, return as concatenated string for simplicity\n const hasImages = content.some((c) => c.type === \"image\");\n if (!hasImages) {\n return sanitizeSurrogates(content.map((c) => c.text).join(\"\\n\"));\n }\n // If we have images, convert to content block array\n const blocks = content.map((block) => {\n if (block.type === \"text\") {\n return {\n type: \"text\",\n text: sanitizeSurrogates(block.text),\n };\n }\n return {\n type: \"image\",\n source: {\n type: \"base64\",\n media_type: block.mimeType,\n data: block.data,\n },\n };\n });\n // If only images (no text), add placeholder text block\n const hasText = blocks.some((b) => b.type === \"text\");\n if (!hasText) {\n blocks.unshift({\n type: \"text\",\n text: \"(see attached image)\",\n });\n }\n return blocks;\n}\nconst FINE_GRAINED_TOOL_STREAMING_BETA = \"fine-grained-tool-streaming-2025-05-14\";\nconst INTERLEAVED_THINKING_BETA = \"interleaved-thinking-2025-05-14\";\nfunction getAnthropicCompat(model) {\n // Auto-detect session affinity and cache control support from provider\n const isFireworks = model.provider === \"fireworks\";\n const isCloudflareAiGatewayAnthropic = model.provider === \"cloudflare-ai-gateway\" && model.baseUrl.includes(\"anthropic\");\n return {\n supportsEagerToolInputStreaming: model.compat?.supportsEagerToolInputStreaming ?? !isFireworks,\n supportsLongCacheRetention: model.compat?.supportsLongCacheRetention ?? !isFireworks,\n sendSessionAffinityHeaders: model.compat?.sendSessionAffinityHeaders ?? !!(isFireworks || isCloudflareAiGatewayAnthropic),\n supportsCacheControlOnTools: model.compat?.supportsCacheControlOnTools ?? !isFireworks,\n };\n}\nfunction mergeHeaders(...headerSources) {\n const merged = {};\n for (const headers of headerSources) {\n if (headers) {\n Object.assign(merged, headers);\n }\n }\n return merged;\n}\nconst ANTHROPIC_MESSAGE_EVENTS = new Set([\n \"message_start\",\n \"message_delta\",\n \"message_stop\",\n \"content_block_start\",\n \"content_block_delta\",\n \"content_block_stop\",\n]);\nfunction flushSseEvent(state) {\n if (!state.event && state.data.length === 0) {\n return null;\n }\n const event = {\n event: state.event,\n data: state.data.join(\"\\n\"),\n raw: [...state.raw],\n };\n state.event = null;\n state.data = [];\n state.raw = [];\n return event;\n}\nfunction decodeSseLine(line, state) {\n if (line === \"\") {\n return flushSseEvent(state);\n }\n state.raw.push(line);\n if (line.startsWith(\":\")) {\n return null;\n }\n const delimiterIndex = line.indexOf(\":\");\n const fieldName = delimiterIndex === -1 ? line : line.slice(0, delimiterIndex);\n let value = delimiterIndex === -1 ? \"\" : line.slice(delimiterIndex + 1);\n if (value.startsWith(\" \")) {\n value = value.slice(1);\n }\n if (fieldName === \"event\") {\n state.event = value;\n }\n else if (fieldName === \"data\") {\n state.data.push(value);\n }\n return null;\n}\nfunction nextLineBreakIndex(text) {\n const carriageReturnIndex = text.indexOf(\"\\r\");\n const newlineIndex = text.indexOf(\"\\n\");\n if (carriageReturnIndex === -1) {\n return newlineIndex;\n }\n if (newlineIndex === -1) {\n return carriageReturnIndex;\n }\n return Math.min(carriageReturnIndex, newlineIndex);\n}\nfunction consumeLine(text) {\n const lineBreakIndex = nextLineBreakIndex(text);\n if (lineBreakIndex === -1) {\n return null;\n }\n let nextIndex = lineBreakIndex + 1;\n if (text[lineBreakIndex] === \"\\r\" && text[nextIndex] === \"\\n\") {\n nextIndex += 1;\n }\n return {\n line: text.slice(0, lineBreakIndex),\n rest: text.slice(nextIndex),\n };\n}\nasync function* iterateSseMessages(body, signal) {\n const reader = body.getReader();\n const decoder = new TextDecoder();\n const state = { event: null, data: [], raw: [] };\n let buffer = \"\";\n try {\n while (true) {\n if (signal?.aborted) {\n throw new Error(\"Request was aborted\");\n }\n const { value, done } = await reader.read();\n if (done) {\n break;\n }\n buffer += decoder.decode(value, { stream: true });\n let consumed = consumeLine(buffer);\n while (consumed) {\n buffer = consumed.rest;\n const event = decodeSseLine(consumed.line, state);\n if (event) {\n yield event;\n }\n consumed = consumeLine(buffer);\n }\n }\n buffer += decoder.decode();\n let consumed = consumeLine(buffer);\n while (consumed) {\n buffer = consumed.rest;\n const event = decodeSseLine(consumed.line, state);\n if (event) {\n yield event;\n }\n consumed = consumeLine(buffer);\n }\n if (buffer.length > 0) {\n const event = decodeSseLine(buffer, state);\n if (event) {\n yield event;\n }\n }\n const trailingEvent = flushSseEvent(state);\n if (trailingEvent) {\n yield trailingEvent;\n }\n }\n finally {\n reader.releaseLock();\n }\n}\nasync function* iterateAnthropicEvents(response, signal) {\n if (!response.body) {\n throw new Error(\"Attempted to iterate over an Anthropic response with no body\");\n }\n let sawMessageStart = false;\n let sawMessageEnd = false;\n for await (const sse of iterateSseMessages(response.body, signal)) {\n if (sse.event === \"error\") {\n throw new Error(sse.data);\n }\n if (!ANTHROPIC_MESSAGE_EVENTS.has(sse.event ?? \"\")) {\n continue;\n }\n try {\n const event = parseJsonWithRepair(sse.data);\n if (event.type === \"message_start\") {\n sawMessageStart = true;\n }\n else if (event.type === \"message_stop\") {\n sawMessageEnd = true;\n }\n yield event;\n }\n catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n throw new Error(`Could not parse Anthropic SSE event ${sse.event}: ${message}; data=${sse.data}; raw=${sse.raw.join(\"\\\\n\")}`);\n }\n }\n if (sawMessageStart && !sawMessageEnd) {\n throw new Error(\"Anthropic stream ended before message_stop\");\n }\n}\nexport const streamAnthropic = (model, context, options) => {\n const stream = new AssistantMessageEventStream();\n (async () => {\n const output = {\n role: \"assistant\",\n content: [],\n api: model.api,\n provider: model.provider,\n model: model.id,\n usage: {\n input: 0,\n output: 0,\n cacheRead: 0,\n cacheWrite: 0,\n totalTokens: 0,\n cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },\n },\n stopReason: \"stop\",\n timestamp: Date.now(),\n };\n try {\n let client;\n let isOAuth;\n if (options?.client) {\n client = options.client;\n isOAuth = false;\n }\n else {\n const apiKey = options?.apiKey ?? getEnvApiKey(model.provider) ?? \"\";\n let copilotDynamicHeaders;\n if (model.provider === \"github-copilot\") {\n const hasImages = hasCopilotVisionInput(context.messages);\n copilotDynamicHeaders = buildCopilotDynamicHeaders({\n messages: context.messages,\n hasImages,\n });\n }\n const cacheRetention = options?.cacheRetention ?? resolveCacheRetention();\n const cacheSessionId = cacheRetention === \"none\" ? undefined : options?.sessionId;\n const created = createClient(model, apiKey, options?.interleavedThinking ?? true, shouldUseFineGrainedToolStreamingBeta(model, context), options?.headers, copilotDynamicHeaders, cacheSessionId);\n client = created.client;\n isOAuth = created.isOAuthToken;\n }\n let params = buildParams(model, context, isOAuth, options);\n const nextParams = await options?.onPayload?.(params, model);\n if (nextParams !== undefined) {\n params = nextParams;\n }\n const requestOptions = {\n ...(options?.signal ? { signal: options.signal } : {}),\n ...(options?.timeoutMs !== undefined ? { timeout: options.timeoutMs } : {}),\n ...(options?.maxRetries !== undefined ? { maxRetries: options.maxRetries } : {}),\n };\n const response = await client.messages.create({ ...params, stream: true }, requestOptions).asResponse();\n await options?.onResponse?.({ status: response.status, headers: headersToRecord(response.headers) }, model);\n stream.push({ type: \"start\", partial: output });\n const blocks = output.content;\n for await (const event of iterateAnthropicEvents(response, options?.signal)) {\n if (event.type === \"message_start\") {\n output.responseId = event.message.id;\n // Capture initial token usage from message_start event\n // This ensures we have input token counts even if the stream is aborted early\n output.usage.input = event.message.usage.input_tokens || 0;\n output.usage.output = event.message.usage.output_tokens || 0;\n output.usage.cacheRead = event.message.usage.cache_read_input_tokens || 0;\n output.usage.cacheWrite = event.message.usage.cache_creation_input_tokens || 0;\n // Anthropic doesn't provide total_tokens, compute from components\n output.usage.totalTokens =\n output.usage.input + output.usage.output + output.usage.cacheRead + output.usage.cacheWrite;\n calculateCost(model, output.usage);\n }\n else if (event.type === \"content_block_start\") {\n if (event.content_block.type === \"text\") {\n const block = {\n type: \"text\",\n text: \"\",\n index: event.index,\n };\n output.content.push(block);\n stream.push({ type: \"text_start\", contentIndex: output.content.length - 1, partial: output });\n }\n else if (event.content_block.type === \"thinking\") {\n const block = {\n type: \"thinking\",\n thinking: \"\",\n thinkingSignature: \"\",\n index: event.index,\n };\n output.content.push(block);\n stream.push({ type: \"thinking_start\", contentIndex: output.content.length - 1, partial: output });\n }\n else if (event.content_block.type === \"redacted_thinking\") {\n const block = {\n type: \"thinking\",\n thinking: \"[Reasoning redacted]\",\n thinkingSignature: event.content_block.data,\n redacted: true,\n index: event.index,\n };\n output.content.push(block);\n stream.push({ type: \"thinking_start\", contentIndex: output.content.length - 1, partial: output });\n }\n else if (event.content_block.type === \"tool_use\") {\n const block = {\n type: \"toolCall\",\n id: event.content_block.id,\n name: isOAuth\n ? fromClaudeCodeName(event.content_block.name, context.tools)\n : event.content_block.name,\n arguments: event.content_block.input ?? {},\n partialJson: \"\",\n index: event.index,\n };\n output.content.push(block);\n stream.push({ type: \"toolcall_start\", contentIndex: output.content.length - 1, partial: output });\n }\n }\n else if (event.type === \"content_block_delta\") {\n if (event.delta.type === \"text_delta\") {\n const index = blocks.findIndex((b) => b.index === event.index);\n const block = blocks[index];\n if (block && block.type === \"text\") {\n block.text += event.delta.text;\n stream.push({\n type: \"text_delta\",\n contentIndex: index,\n delta: event.delta.text,\n partial: output,\n });\n }\n }\n else if (event.delta.type === \"thinking_delta\") {\n const index = blocks.findIndex((b) => b.index === event.index);\n const block = blocks[index];\n if (block && block.type === \"thinking\") {\n block.thinking += event.delta.thinking;\n stream.push({\n type: \"thinking_delta\",\n contentIndex: index,\n delta: event.delta.thinking,\n partial: output,\n });\n }\n }\n else if (event.delta.type === \"input_json_delta\") {\n const index = blocks.findIndex((b) => b.index === event.index);\n const block = blocks[index];\n if (block && block.type === \"toolCall\") {\n block.partialJson += event.delta.partial_json;\n block.arguments = parseStreamingJson(block.partialJson);\n stream.push({\n type: \"toolcall_delta\",\n contentIndex: index,\n delta: event.delta.partial_json,\n partial: output,\n });\n }\n }\n else if (event.delta.type === \"signature_delta\") {\n const index = blocks.findIndex((b) => b.index === event.index);\n const block = blocks[index];\n if (block && block.type === \"thinking\") {\n block.thinkingSignature = block.thinkingSignature || \"\";\n block.thinkingSignature += event.delta.signature;\n }\n }\n }\n else if (event.type === \"content_block_stop\") {\n const index = blocks.findIndex((b) => b.index === event.index);\n const block = blocks[index];\n if (block) {\n delete block.index;\n if (block.type === \"text\") {\n stream.push({\n type: \"text_end\",\n contentIndex: index,\n content: block.text,\n partial: output,\n });\n }\n else if (block.type === \"thinking\") {\n stream.push({\n type: \"thinking_end\",\n contentIndex: index,\n content: block.thinking,\n partial: output,\n });\n }\n else if (block.type === \"toolCall\") {\n block.arguments = parseStreamingJson(block.partialJson);\n // Finalize in-place and strip the scratch buffer so replay only\n // carries parsed arguments.\n delete block.partialJson;\n stream.push({\n type: \"toolcall_end\",\n contentIndex: index,\n toolCall: block,\n partial: output,\n });\n }\n }\n }\n else if (event.type === \"message_delta\") {\n if (event.delta.stop_reason) {\n output.stopReason = mapStopReason(event.delta.stop_reason);\n }\n // Only update usage fields if present (not null).\n // Preserves input_tokens from message_start when proxies omit it in message_delta.\n if (event.usage.input_tokens != null) {\n output.usage.input = event.usage.input_tokens;\n }\n if (event.usage.output_tokens != null) {\n output.usage.output = event.usage.output_tokens;\n }\n if (event.usage.cache_read_input_tokens != null) {\n output.usage.cacheRead = event.usage.cache_read_input_tokens;\n }\n if (event.usage.cache_creation_input_tokens != null) {\n output.usage.cacheWrite = event.usage.cache_creation_input_tokens;\n }\n // Anthropic doesn't provide total_tokens, compute from components\n output.usage.totalTokens =\n output.usage.input + output.usage.output + output.usage.cacheRead + output.usage.cacheWrite;\n calculateCost(model, output.usage);\n }\n }\n if (options?.signal?.aborted) {\n throw new Error(\"Request was aborted\");\n }\n if (output.stopReason === \"aborted\" || output.stopReason === \"error\") {\n throw new Error(\"An unknown error occurred\");\n }\n stream.push({ type: \"done\", reason: output.stopReason, message: output });\n stream.end();\n }\n catch (error) {\n for (const block of output.content) {\n delete block.index;\n // partialJson is only a streaming scratch buffer; never persist it.\n delete block.partialJson;\n }\n output.stopReason = options?.signal?.aborted ? \"aborted\" : \"error\";\n output.errorMessage = error instanceof Error ? error.message : JSON.stringify(error);\n stream.push({ type: \"error\", reason: output.stopReason, error: output });\n stream.end();\n }\n })();\n return stream;\n};\n/**\n * Check if a model supports adaptive thinking (Opus 4.6+, Sonnet 4.6)\n */\nfunction supportsAdaptiveThinking(modelId) {\n // Adaptive-thinking model IDs (with or without date suffix)\n return (modelId.includes(\"opus-4-6\") ||\n modelId.includes(\"opus-4.6\") ||\n modelId.includes(\"opus-4-7\") ||\n modelId.includes(\"opus-4.7\") ||\n modelId.includes(\"sonnet-4-6\") ||\n modelId.includes(\"sonnet-4.6\"));\n}\n/**\n * Map ThinkingLevel to Anthropic effort levels for adaptive thinking.\n * Note: effort \"max\" is only valid on Opus 4.6, while Opus 4.7 supports \"xhigh\".\n */\nfunction mapThinkingLevelToEffort(model, level) {\n const mapped = level ? model.thinkingLevelMap?.[level] : undefined;\n if (typeof mapped === \"string\")\n return mapped;\n switch (level) {\n case \"minimal\":\n case \"low\":\n return \"low\";\n case \"medium\":\n return \"medium\";\n case \"high\":\n return \"high\";\n default:\n return \"high\";\n }\n}\nexport const streamSimpleAnthropic = (model, context, options) => {\n const apiKey = options?.apiKey || getEnvApiKey(model.provider);\n if (!apiKey) {\n throw new Error(`No API key for provider: ${model.provider}`);\n }\n const base = buildBaseOptions(model, options, apiKey);\n if (!options?.reasoning) {\n return streamAnthropic(model, context, { ...base, thinkingEnabled: false });\n }\n // For Opus 4.6 and Sonnet 4.6: use adaptive thinking with effort level\n // For older models: use budget-based thinking\n if (supportsAdaptiveThinking(model.id)) {\n const effort = mapThinkingLevelToEffort(model, options.reasoning);\n return streamAnthropic(model, context, {\n ...base,\n thinkingEnabled: true,\n effort,\n });\n }\n // Undefined means the caller did not request an output cap; let the helper use the model cap.\n // Do not coerce to 0 here, or the thinking budget would become the entire max_tokens value.\n const adjusted = adjustMaxTokensForThinking(base.maxTokens, model.maxTokens, options.reasoning, options.thinkingBudgets);\n return streamAnthropic(model, context, {\n ...base,\n maxTokens: adjusted.maxTokens,\n thinkingEnabled: true,\n thinkingBudgetTokens: adjusted.thinkingBudget,\n });\n};\nfunction isOAuthToken(apiKey) {\n return apiKey.includes(\"sk-ant-oat\");\n}\nfunction createClient(model, apiKey, interleavedThinking, useFineGrainedToolStreamingBeta, optionsHeaders, dynamicHeaders, sessionId) {\n // Adaptive thinking models (Opus 4.6, Sonnet 4.6) have interleaved thinking built-in.\n // The beta header is deprecated on Opus 4.6 and redundant on Sonnet 4.6, so skip it.\n const needsInterleavedBeta = interleavedThinking && !supportsAdaptiveThinking(model.id);\n const betaFeatures = [];\n if (useFineGrainedToolStreamingBeta) {\n betaFeatures.push(FINE_GRAINED_TOOL_STREAMING_BETA);\n }\n if (needsInterleavedBeta) {\n betaFeatures.push(INTERLEAVED_THINKING_BETA);\n }\n if (model.provider === \"cloudflare-ai-gateway\") {\n const client = new Anthropic({\n apiKey: null,\n authToken: null,\n baseURL: resolveCloudflareBaseUrl(model),\n dangerouslyAllowBrowser: true,\n defaultHeaders: mergeHeaders({\n accept: \"application/json\",\n \"anthropic-dangerous-direct-browser-access\": \"true\",\n \"cf-aig-authorization\": `Bearer ${apiKey}`,\n \"x-api-key\": null,\n Authorization: null,\n ...(betaFeatures.length > 0 ? { \"anthropic-beta\": betaFeatures.join(\",\") } : {}),\n }, model.headers, optionsHeaders),\n });\n return { client, isOAuthToken: false };\n }\n // Copilot: Bearer auth, selective betas.\n if (model.provider === \"github-copilot\") {\n const client = new Anthropic({\n apiKey: null,\n authToken: apiKey,\n baseURL: model.baseUrl,\n dangerouslyAllowBrowser: true,\n defaultHeaders: mergeHeaders({\n accept: \"application/json\",\n \"anthropic-dangerous-direct-browser-access\": \"true\",\n ...(betaFeatures.length > 0 ? { \"anthropic-beta\": betaFeatures.join(\",\") } : {}),\n }, model.headers, dynamicHeaders, optionsHeaders),\n });\n return { client, isOAuthToken: false };\n }\n // OAuth: Bearer auth, Claude Code identity headers\n if (isOAuthToken(apiKey)) {\n const client = new Anthropic({\n apiKey: null,\n authToken: apiKey,\n baseURL: model.baseUrl,\n dangerouslyAllowBrowser: true,\n defaultHeaders: mergeHeaders({\n accept: \"application/json\",\n \"anthropic-dangerous-direct-browser-access\": \"true\",\n \"anthropic-beta\": [\"claude-code-20250219\", \"oauth-2025-04-20\", ...betaFeatures].join(\",\"),\n \"user-agent\": `claude-cli/${claudeCodeVersion}`,\n \"x-app\": \"cli\",\n }, model.headers, optionsHeaders),\n });\n return { client, isOAuthToken: true };\n }\n // API key auth\n const sessionAffinityHeaders = sessionId && getAnthropicCompat(model).sendSessionAffinityHeaders ? { \"x-session-affinity\": sessionId } : {};\n const client = new Anthropic({\n apiKey,\n authToken: null,\n baseURL: model.baseUrl,\n dangerouslyAllowBrowser: true,\n defaultHeaders: mergeHeaders({\n accept: \"application/json\",\n \"anthropic-dangerous-direct-browser-access\": \"true\",\n ...(betaFeatures.length > 0 ? { \"anthropic-beta\": betaFeatures.join(\",\") } : {}),\n }, sessionAffinityHeaders, model.headers, optionsHeaders),\n });\n return { client, isOAuthToken: false };\n}\nfunction buildParams(model, context, isOAuthToken, options) {\n const { cacheControl } = getCacheControl(model, options?.cacheRetention);\n const params = {\n model: model.id,\n messages: convertMessages(context.messages, model, isOAuthToken, cacheControl),\n max_tokens: options?.maxTokens ?? model.maxTokens,\n stream: true,\n };\n // For OAuth tokens, we MUST include Claude Code identity\n if (isOAuthToken) {\n params.system = [\n {\n type: \"text\",\n text: \"You are Claude Code, Anthropic's official CLI for Claude.\",\n ...(cacheControl ? { cache_control: cacheControl } : {}),\n },\n ];\n if (context.systemPrompt) {\n params.system.push({\n type: \"text\",\n text: sanitizeSurrogates(context.systemPrompt),\n ...(cacheControl ? { cache_control: cacheControl } : {}),\n });\n }\n }\n else if (context.systemPrompt) {\n // Add cache control to system prompt for non-OAuth tokens\n params.system = [\n {\n type: \"text\",\n text: sanitizeSurrogates(context.systemPrompt),\n ...(cacheControl ? { cache_control: cacheControl } : {}),\n },\n ];\n }\n // Temperature is incompatible with extended thinking (adaptive or budget-based).\n if (options?.temperature !== undefined && !options?.thinkingEnabled) {\n params.temperature = options.temperature;\n }\n if (context.tools && context.tools.length > 0) {\n const compat = getAnthropicCompat(model);\n params.tools = convertTools(context.tools, isOAuthToken, compat.supportsEagerToolInputStreaming, compat.supportsCacheControlOnTools ? cacheControl : undefined);\n }\n // Configure thinking mode: adaptive (Opus 4.6+ and Sonnet 4.6),\n // budget-based (older models), or explicitly disabled.\n if (model.reasoning) {\n if (options?.thinkingEnabled) {\n // Default to \"summarized\" so Opus 4.7 and Mythos Preview behave like\n // older Claude 4 models (whose API default is also \"summarized\").\n const display = options.thinkingDisplay ?? \"summarized\";\n if (supportsAdaptiveThinking(model.id)) {\n // Adaptive thinking: Claude decides when and how much to think.\n params.thinking = { type: \"adaptive\", display };\n if (options.effort) {\n // The Anthropic SDK types can lag newly supported effort values such as \"xhigh\".\n params.output_config =\n options.effort === \"xhigh\"\n ? { effort: options.effort }\n : { effort: options.effort };\n }\n }\n else {\n // Budget-based thinking for older models\n params.thinking = {\n type: \"enabled\",\n budget_tokens: options.thinkingBudgetTokens || 1024,\n display,\n };\n }\n }\n else if (options?.thinkingEnabled === false) {\n params.thinking = { type: \"disabled\" };\n }\n }\n if (options?.metadata) {\n const userId = options.metadata.user_id;\n if (typeof userId === \"string\") {\n params.metadata = { user_id: userId };\n }\n }\n if (options?.toolChoice) {\n if (typeof options.toolChoice === \"string\") {\n params.tool_choice = { type: options.toolChoice };\n }\n else {\n params.tool_choice = options.toolChoice;\n }\n }\n return params;\n}\n// Normalize tool call IDs to match Anthropic's required pattern and length\nfunction normalizeToolCallId(id) {\n return id.replace(/[^a-zA-Z0-9_-]/g, \"_\").slice(0, 64);\n}\nfunction convertMessages(messages, model, isOAuthToken, cacheControl) {\n const params = [];\n // Transform messages for cross-provider compatibility\n const transformedMessages = transformMessages(messages, model, normalizeToolCallId);\n for (let i = 0; i < transformedMessages.length; i++) {\n const msg = transformedMessages[i];\n if (msg.role === \"user\") {\n if (typeof msg.content === \"string\") {\n if (msg.content.trim().length > 0) {\n params.push({\n role: \"user\",\n content: sanitizeSurrogates(msg.content),\n });\n }\n }\n else {\n const blocks = msg.content.map((item) => {\n if (item.type === \"text\") {\n return {\n type: \"text\",\n text: sanitizeSurrogates(item.text),\n };\n }\n else {\n return {\n type: \"image\",\n source: {\n type: \"base64\",\n media_type: item.mimeType,\n data: item.data,\n },\n };\n }\n });\n const filteredBlocks = blocks.filter((b) => {\n if (b.type === \"text\") {\n return b.text.trim().length > 0;\n }\n return true;\n });\n if (filteredBlocks.length === 0)\n continue;\n params.push({\n role: \"user\",\n content: filteredBlocks,\n });\n }\n }\n else if (msg.role === \"assistant\") {\n const blocks = [];\n for (const block of msg.content) {\n if (block.type === \"text\") {\n if (block.text.trim().length === 0)\n continue;\n blocks.push({\n type: \"text\",\n text: sanitizeSurrogates(block.text),\n });\n }\n else if (block.type === \"thinking\") {\n // Redacted thinking: pass the opaque payload back as redacted_thinking\n if (block.redacted) {\n blocks.push({\n type: \"redacted_thinking\",\n data: block.thinkingSignature,\n });\n continue;\n }\n if (block.thinking.trim().length === 0)\n continue;\n // If thinking signature is missing/empty (e.g., from aborted stream),\n // convert to plain text block without <thinking> tags to avoid API rejection\n // and prevent Claude from mimicking the tags in responses\n if (!block.thinkingSignature || block.thinkingSignature.trim().length === 0) {\n blocks.push({\n type: \"text\",\n text: sanitizeSurrogates(block.thinking),\n });\n }\n else {\n blocks.push({\n type: \"thinking\",\n thinking: sanitizeSurrogates(block.thinking),\n signature: block.thinkingSignature,\n });\n }\n }\n else if (block.type === \"toolCall\") {\n blocks.push({\n type: \"tool_use\",\n id: block.id,\n name: isOAuthToken ? toClaudeCodeName(block.name) : block.name,\n input: block.arguments ?? {},\n });\n }\n }\n if (blocks.length === 0)\n continue;\n params.push({\n role: \"assistant\",\n content: blocks,\n });\n }\n else if (msg.role === \"toolResult\") {\n // Collect all consecutive toolResult messages, needed for z.ai Anthropic endpoint\n const toolResults = [];\n // Add the current tool result\n toolResults.push({\n type: \"tool_result\",\n tool_use_id: msg.toolCallId,\n content: convertContentBlocks(msg.content),\n is_error: msg.isError,\n });\n // Look ahead for consecutive toolResult messages\n let j = i + 1;\n while (j < transformedMessages.length && transformedMessages[j].role === \"toolResult\") {\n const nextMsg = transformedMessages[j]; // We know it's a toolResult\n toolResults.push({\n type: \"tool_result\",\n tool_use_id: nextMsg.toolCallId,\n content: convertContentBlocks(nextMsg.content),\n is_error: nextMsg.isError,\n });\n j++;\n }\n // Skip the messages we've already processed\n i = j - 1;\n // Add a single user message with all tool results\n params.push({\n role: \"user\",\n content: toolResults,\n });\n }\n }\n // Add cache_control to the last user message to cache conversation history\n if (cacheControl && params.length > 0) {\n const lastMessage = params[params.length - 1];\n if (lastMessage.role === \"user\") {\n if (Array.isArray(lastMessage.content)) {\n const lastBlock = lastMessage.content[lastMessage.content.length - 1];\n if (lastBlock &&\n (lastBlock.type === \"text\" || lastBlock.type === \"image\" || lastBlock.type === \"tool_result\")) {\n lastBlock.cache_control = cacheControl;\n }\n }\n else if (typeof lastMessage.content === \"string\") {\n lastMessage.content = [\n {\n type: \"text\",\n text: lastMessage.content,\n cache_control: cacheControl,\n },\n ];\n }\n }\n }\n return params;\n}\nfunction shouldUseFineGrainedToolStreamingBeta(model, context) {\n return !!context.tools?.length && !getAnthropicCompat(model).supportsEagerToolInputStreaming;\n}\nfunction convertTools(tools, isOAuthToken, supportsEagerToolInputStreaming, cacheControl) {\n if (!tools)\n return [];\n return tools.map((tool, index) => {\n const schema = tool.parameters;\n return {\n name: isOAuthToken ? toClaudeCodeName(tool.name) : tool.name,\n description: tool.description,\n ...(supportsEagerToolInputStreaming ? { eager_input_streaming: true } : {}),\n input_schema: {\n type: \"object\",\n properties: schema.properties ?? {},\n required: schema.required ?? [],\n },\n ...(cacheControl && index === tools.length - 1 ? { cache_control: cacheControl } : {}),\n };\n });\n}\nfunction mapStopReason(reason) {\n switch (reason) {\n case \"end_turn\":\n return \"stop\";\n case \"max_tokens\":\n return \"length\";\n case \"tool_use\":\n return \"toolUse\";\n case \"refusal\":\n return \"error\";\n case \"pause_turn\": // Stop is good enough -> resubmit\n return \"stop\";\n case \"stop_sequence\":\n return \"stop\"; // We don't supply stop sequences, so this should never happen\n case \"sensitive\": // Content flagged by safety filters (not yet in SDK types)\n return \"error\";\n default:\n // Handle unknown stop reasons gracefully (API may add new values)\n throw new Error(`Unhandled stop reason: ${reason}`);\n }\n}\n//# sourceMappingURL=anthropic.js.map"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59],"mappings":"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"}
1
+ {"version":3,"file":"anthropic-OIjNEgxk.mjs","names":["Models","Versions","VersionsAPI.Versions","Versions","MemoriesAPI.Memories","MemoryVersionsAPI.MemoryVersions","getOutputFormat","JSON_BUF_PROPERTY","tracksToolInput","Batches","DEPRECATED_MODELS","MODELS_TO_WARN_WITH_THINKING_ENABLED","Messages","BatchesAPI.Batches","Batches","EventsAPI.Events","ResourcesAPI.Resources","VersionsAPI.Versions","CredentialsAPI.Credentials","ModelsAPI.Models","MessagesAPI.Messages","AgentsAPI.Agents","EnvironmentsAPI.Environments","SessionsAPI.Sessions","VaultsAPI.Vaults","MemoryStoresAPI.MemoryStores","FilesAPI.Files","SkillsAPI.Skills","UserProfilesAPI.UserProfiles","Models","Messages","BatchesAPI.Batches","Errors.AnthropicError","Shims.getDefaultFetch","Opts.FallbackEncoder","Errors.APIUserAbortError","Errors.APIConnectionTimeoutError","Errors.APIConnectionError","Shims.CancelReadableStream","Pagination.PagePromise","Shims.ReadableStreamFrom","Errors.APIError","Errors.NotFoundError","Errors.ConflictError","Errors.RateLimitError","Errors.BadRequestError","Errors.AuthenticationError","Errors.InternalServerError","Errors.PermissionDeniedError","Errors.UnprocessableEntityError","Uploads.toFile","API.Completions","API.Messages","API.Models","API.Beta"],"sources":["../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/tslib.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/utils/uuid.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/errors.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/core/error.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/utils/values.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/utils/sleep.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/version.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/detect-platform.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/shims.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/request-options.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/utils/query.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/utils/bytes.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/decoders/line.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/utils/log.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/core/streaming.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/parse.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/core/api-promise.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/core/pagination.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/uploads.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/to-file.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/core/resource.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/headers.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/utils/path.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/environments.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/stainless-helper-header.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/files.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/models.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/user-profiles.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/agents/versions.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memories.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-versions.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-stores.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/constants.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/beta-parser.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/tools/ToolError.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/tools/CompactionControl.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/tools/BetaToolRunner.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/sessions/events.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/sessions/resources.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/sessions/sessions.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/vaults/credentials.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/vaults/vaults.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/beta.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/completions.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/parser.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/messages/batches.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/messages/messages.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/models.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/utils/env.mjs","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.91.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/client.mjs","../../../node_modules/.pnpm/@earendil-works+pi-ai@0.75.4_@modelcontextprotocol+sdk@1.29.0_zod@4.4.3__ws@8.20.1_zod@4.4.3/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js"],"sourcesContent":["function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\")\n throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f)\n throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver))\n throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? (f.value = value) : state.set(receiver, value), value;\n}\nfunction __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f)\n throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver))\n throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\nexport { __classPrivateFieldSet, __classPrivateFieldGet };\n","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\n/**\n * https://stackoverflow.com/a/2117523\n */\nexport let uuid4 = function () {\n const { crypto } = globalThis;\n if (crypto?.randomUUID) {\n uuid4 = crypto.randomUUID.bind(crypto);\n return crypto.randomUUID();\n }\n const u8 = new Uint8Array(1);\n const randomByte = crypto ? () => crypto.getRandomValues(u8)[0] : () => (Math.random() * 0xff) & 0xff;\n return '10000000-1000-4000-8000-100000000000'.replace(/[018]/g, (c) => (+c ^ (randomByte() & (15 >> (+c / 4)))).toString(16));\n};\n//# sourceMappingURL=uuid.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nexport function isAbortError(err) {\n return (typeof err === 'object' &&\n err !== null &&\n // Spec-compliant fetch implementations\n (('name' in err && err.name === 'AbortError') ||\n // Expo fetch\n ('message' in err && String(err.message).includes('FetchRequestCanceledException'))));\n}\nexport const castToError = (err) => {\n if (err instanceof Error)\n return err;\n if (typeof err === 'object' && err !== null) {\n try {\n if (Object.prototype.toString.call(err) === '[object Error]') {\n // @ts-ignore - not all envs have native support for cause yet\n const error = new Error(err.message, err.cause ? { cause: err.cause } : {});\n if (err.stack)\n error.stack = err.stack;\n // @ts-ignore - not all envs have native support for cause yet\n if (err.cause && !error.cause)\n error.cause = err.cause;\n if (err.name)\n error.name = err.name;\n return error;\n }\n }\n catch { }\n try {\n return new Error(JSON.stringify(err));\n }\n catch { }\n }\n return new Error(err);\n};\n//# sourceMappingURL=errors.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { castToError } from \"../internal/errors.mjs\";\nexport class AnthropicError extends Error {\n}\nexport class APIError extends AnthropicError {\n constructor(status, error, message, headers, type) {\n super(`${APIError.makeMessage(status, error, message)}`);\n this.status = status;\n this.headers = headers;\n this.requestID = headers?.get('request-id');\n this.error = error;\n this.type = type ?? null;\n }\n static makeMessage(status, error, message) {\n const msg = error?.message ?\n typeof error.message === 'string' ?\n error.message\n : JSON.stringify(error.message)\n : error ? JSON.stringify(error)\n : message;\n if (status && msg) {\n return `${status} ${msg}`;\n }\n if (status) {\n return `${status} status code (no body)`;\n }\n if (msg) {\n return msg;\n }\n return '(no status code or body)';\n }\n static generate(status, errorResponse, message, headers) {\n if (!status || !headers) {\n return new APIConnectionError({ message, cause: castToError(errorResponse) });\n }\n const error = errorResponse;\n const type = error?.['error']?.['type'];\n if (status === 400) {\n return new BadRequestError(status, error, message, headers, type);\n }\n if (status === 401) {\n return new AuthenticationError(status, error, message, headers, type);\n }\n if (status === 403) {\n return new PermissionDeniedError(status, error, message, headers, type);\n }\n if (status === 404) {\n return new NotFoundError(status, error, message, headers, type);\n }\n if (status === 409) {\n return new ConflictError(status, error, message, headers, type);\n }\n if (status === 422) {\n return new UnprocessableEntityError(status, error, message, headers, type);\n }\n if (status === 429) {\n return new RateLimitError(status, error, message, headers, type);\n }\n if (status >= 500) {\n return new InternalServerError(status, error, message, headers, type);\n }\n return new APIError(status, error, message, headers, type);\n }\n}\nexport class APIUserAbortError extends APIError {\n constructor({ message } = {}) {\n super(undefined, undefined, message || 'Request was aborted.', undefined);\n }\n}\nexport class APIConnectionError extends APIError {\n constructor({ message, cause }) {\n super(undefined, undefined, message || 'Connection error.', undefined);\n // in some environments the 'cause' property is already declared\n // @ts-ignore\n if (cause)\n this.cause = cause;\n }\n}\nexport class APIConnectionTimeoutError extends APIConnectionError {\n constructor({ message } = {}) {\n super({ message: message ?? 'Request timed out.' });\n }\n}\nexport class BadRequestError extends APIError {\n}\nexport class AuthenticationError extends APIError {\n}\nexport class PermissionDeniedError extends APIError {\n}\nexport class NotFoundError extends APIError {\n}\nexport class ConflictError extends APIError {\n}\nexport class UnprocessableEntityError extends APIError {\n}\nexport class RateLimitError extends APIError {\n}\nexport class InternalServerError extends APIError {\n}\n//# sourceMappingURL=error.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { AnthropicError } from \"../../core/error.mjs\";\n// https://url.spec.whatwg.org/#url-scheme-string\nconst startsWithSchemeRegexp = /^[a-z][a-z0-9+.-]*:/i;\nexport const isAbsoluteURL = (url) => {\n return startsWithSchemeRegexp.test(url);\n};\nexport let isArray = (val) => ((isArray = Array.isArray), isArray(val));\nexport let isReadonlyArray = isArray;\n/** Returns an object if the given value isn't an object, otherwise returns as-is */\nexport function maybeObj(x) {\n if (typeof x !== 'object') {\n return {};\n }\n return x ?? {};\n}\n// https://stackoverflow.com/a/34491287\nexport function isEmptyObj(obj) {\n if (!obj)\n return true;\n for (const _k in obj)\n return false;\n return true;\n}\n// https://eslint.org/docs/latest/rules/no-prototype-builtins\nexport function hasOwn(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\nexport function isObj(obj) {\n return obj != null && typeof obj === 'object' && !Array.isArray(obj);\n}\nexport const ensurePresent = (value) => {\n if (value == null) {\n throw new AnthropicError(`Expected a value to be given but received ${value} instead.`);\n }\n return value;\n};\nexport const validatePositiveInteger = (name, n) => {\n if (typeof n !== 'number' || !Number.isInteger(n)) {\n throw new AnthropicError(`${name} must be an integer`);\n }\n if (n < 0) {\n throw new AnthropicError(`${name} must be a positive integer`);\n }\n return n;\n};\nexport const coerceInteger = (value) => {\n if (typeof value === 'number')\n return Math.round(value);\n if (typeof value === 'string')\n return parseInt(value, 10);\n throw new AnthropicError(`Could not coerce ${value} (type: ${typeof value}) into a number`);\n};\nexport const coerceFloat = (value) => {\n if (typeof value === 'number')\n return value;\n if (typeof value === 'string')\n return parseFloat(value);\n throw new AnthropicError(`Could not coerce ${value} (type: ${typeof value}) into a number`);\n};\nexport const coerceBoolean = (value) => {\n if (typeof value === 'boolean')\n return value;\n if (typeof value === 'string')\n return value === 'true';\n return Boolean(value);\n};\nexport const maybeCoerceInteger = (value) => {\n if (value == null) {\n return undefined;\n }\n return coerceInteger(value);\n};\nexport const maybeCoerceFloat = (value) => {\n if (value == null) {\n return undefined;\n }\n return coerceFloat(value);\n};\nexport const maybeCoerceBoolean = (value) => {\n if (value == null) {\n return undefined;\n }\n return coerceBoolean(value);\n};\nexport const safeJSON = (text) => {\n try {\n return JSON.parse(text);\n }\n catch (err) {\n return undefined;\n }\n};\n// Gets a value from an object, deletes the key, and returns the value (or undefined if not found)\nexport const pop = (obj, key) => {\n const value = obj[key];\n delete obj[key];\n return value;\n};\n//# sourceMappingURL=values.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nexport const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));\n//# sourceMappingURL=sleep.mjs.map","export const VERSION = '0.91.1'; // x-release-please-version\n//# sourceMappingURL=version.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { VERSION } from \"../version.mjs\";\nexport const isRunningInBrowser = () => {\n return (\n // @ts-ignore\n typeof window !== 'undefined' &&\n // @ts-ignore\n typeof window.document !== 'undefined' &&\n // @ts-ignore\n typeof navigator !== 'undefined');\n};\n/**\n * Note this does not detect 'browser'; for that, use getBrowserInfo().\n */\nfunction getDetectedPlatform() {\n if (typeof Deno !== 'undefined' && Deno.build != null) {\n return 'deno';\n }\n if (typeof EdgeRuntime !== 'undefined') {\n return 'edge';\n }\n if (Object.prototype.toString.call(typeof globalThis.process !== 'undefined' ? globalThis.process : 0) === '[object process]') {\n return 'node';\n }\n return 'unknown';\n}\nconst getPlatformProperties = () => {\n const detectedPlatform = getDetectedPlatform();\n if (detectedPlatform === 'deno') {\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': normalizePlatform(Deno.build.os),\n 'X-Stainless-Arch': normalizeArch(Deno.build.arch),\n 'X-Stainless-Runtime': 'deno',\n 'X-Stainless-Runtime-Version': typeof Deno.version === 'string' ? Deno.version : Deno.version?.deno ?? 'unknown',\n };\n }\n if (typeof EdgeRuntime !== 'undefined') {\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': 'Unknown',\n 'X-Stainless-Arch': `other:${EdgeRuntime}`,\n 'X-Stainless-Runtime': 'edge',\n 'X-Stainless-Runtime-Version': globalThis.process.version,\n };\n }\n // Check if Node.js\n if (detectedPlatform === 'node') {\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': normalizePlatform(globalThis.process.platform ?? 'unknown'),\n 'X-Stainless-Arch': normalizeArch(globalThis.process.arch ?? 'unknown'),\n 'X-Stainless-Runtime': 'node',\n 'X-Stainless-Runtime-Version': globalThis.process.version ?? 'unknown',\n };\n }\n const browserInfo = getBrowserInfo();\n if (browserInfo) {\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': 'Unknown',\n 'X-Stainless-Arch': 'unknown',\n 'X-Stainless-Runtime': `browser:${browserInfo.browser}`,\n 'X-Stainless-Runtime-Version': browserInfo.version,\n };\n }\n // TODO add support for Cloudflare workers, etc.\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': 'Unknown',\n 'X-Stainless-Arch': 'unknown',\n 'X-Stainless-Runtime': 'unknown',\n 'X-Stainless-Runtime-Version': 'unknown',\n };\n};\n// Note: modified from https://github.com/JS-DevTools/host-environment/blob/b1ab79ecde37db5d6e163c050e54fe7d287d7c92/src/isomorphic.browser.ts\nfunction getBrowserInfo() {\n if (typeof navigator === 'undefined' || !navigator) {\n return null;\n }\n // NOTE: The order matters here!\n const browserPatterns = [\n { key: 'edge', pattern: /Edge(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'ie', pattern: /MSIE(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'ie', pattern: /Trident(?:.*rv\\:(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'chrome', pattern: /Chrome(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'firefox', pattern: /Firefox(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'safari', pattern: /(?:Version\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?(?:\\W+Mobile\\S*)?\\W+Safari/ },\n ];\n // Find the FIRST matching browser\n for (const { key, pattern } of browserPatterns) {\n const match = pattern.exec(navigator.userAgent);\n if (match) {\n const major = match[1] || 0;\n const minor = match[2] || 0;\n const patch = match[3] || 0;\n return { browser: key, version: `${major}.${minor}.${patch}` };\n }\n }\n return null;\n}\nconst normalizeArch = (arch) => {\n // Node docs:\n // - https://nodejs.org/api/process.html#processarch\n // Deno docs:\n // - https://doc.deno.land/deno/stable/~/Deno.build\n if (arch === 'x32')\n return 'x32';\n if (arch === 'x86_64' || arch === 'x64')\n return 'x64';\n if (arch === 'arm')\n return 'arm';\n if (arch === 'aarch64' || arch === 'arm64')\n return 'arm64';\n if (arch)\n return `other:${arch}`;\n return 'unknown';\n};\nconst normalizePlatform = (platform) => {\n // Node platforms:\n // - https://nodejs.org/api/process.html#processplatform\n // Deno platforms:\n // - https://doc.deno.land/deno/stable/~/Deno.build\n // - https://github.com/denoland/deno/issues/14799\n platform = platform.toLowerCase();\n // NOTE: this iOS check is untested and may not work\n // Node does not work natively on IOS, there is a fork at\n // https://github.com/nodejs-mobile/nodejs-mobile\n // however it is unknown at the time of writing how to detect if it is running\n if (platform.includes('ios'))\n return 'iOS';\n if (platform === 'android')\n return 'Android';\n if (platform === 'darwin')\n return 'MacOS';\n if (platform === 'win32')\n return 'Windows';\n if (platform === 'freebsd')\n return 'FreeBSD';\n if (platform === 'openbsd')\n return 'OpenBSD';\n if (platform === 'linux')\n return 'Linux';\n if (platform)\n return `Other:${platform}`;\n return 'Unknown';\n};\nlet _platformHeaders;\nexport const getPlatformHeaders = () => {\n return (_platformHeaders ?? (_platformHeaders = getPlatformProperties()));\n};\n//# sourceMappingURL=detect-platform.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nexport function getDefaultFetch() {\n if (typeof fetch !== 'undefined') {\n return fetch;\n }\n throw new Error('`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`');\n}\nexport function makeReadableStream(...args) {\n const ReadableStream = globalThis.ReadableStream;\n if (typeof ReadableStream === 'undefined') {\n // Note: All of the platforms / runtimes we officially support already define\n // `ReadableStream` as a global, so this should only ever be hit on unsupported runtimes.\n throw new Error('`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`');\n }\n return new ReadableStream(...args);\n}\nexport function ReadableStreamFrom(iterable) {\n let iter = Symbol.asyncIterator in iterable ? iterable[Symbol.asyncIterator]() : iterable[Symbol.iterator]();\n return makeReadableStream({\n start() { },\n async pull(controller) {\n const { done, value } = await iter.next();\n if (done) {\n controller.close();\n }\n else {\n controller.enqueue(value);\n }\n },\n async cancel() {\n await iter.return?.();\n },\n });\n}\n/**\n * Most browsers don't yet have async iterable support for ReadableStream,\n * and Node has a very different way of reading bytes from its \"ReadableStream\".\n *\n * This polyfill was pulled from https://github.com/MattiasBuelens/web-streams-polyfill/pull/122#issuecomment-1627354490\n */\nexport function ReadableStreamToAsyncIterable(stream) {\n if (stream[Symbol.asyncIterator])\n return stream;\n const reader = stream.getReader();\n return {\n async next() {\n try {\n const result = await reader.read();\n if (result?.done)\n reader.releaseLock(); // release lock when stream becomes closed\n return result;\n }\n catch (e) {\n reader.releaseLock(); // release lock when stream becomes errored\n throw e;\n }\n },\n async return() {\n const cancelPromise = reader.cancel();\n reader.releaseLock();\n await cancelPromise;\n return { done: true, value: undefined };\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n };\n}\n/**\n * Cancels a ReadableStream we don't need to consume.\n * See https://undici.nodejs.org/#/?id=garbage-collection\n */\nexport async function CancelReadableStream(stream) {\n if (stream === null || typeof stream !== 'object')\n return;\n if (stream[Symbol.asyncIterator]) {\n await stream[Symbol.asyncIterator]().return?.();\n return;\n }\n const reader = stream.getReader();\n const cancelPromise = reader.cancel();\n reader.releaseLock();\n await cancelPromise;\n}\n//# sourceMappingURL=shims.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nexport const FallbackEncoder = ({ headers, body }) => {\n return {\n bodyHeaders: {\n 'content-type': 'application/json',\n },\n body: JSON.stringify(body),\n };\n};\n//# sourceMappingURL=request-options.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { AnthropicError } from \"../../core/error.mjs\";\n/**\n * Basic re-implementation of `qs.stringify` for primitive types.\n */\nexport function stringifyQuery(query) {\n return Object.entries(query)\n .filter(([_, value]) => typeof value !== 'undefined')\n .map(([key, value]) => {\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;\n }\n if (value === null) {\n return `${encodeURIComponent(key)}=`;\n }\n throw new AnthropicError(`Cannot stringify type ${typeof value}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`);\n })\n .join('&');\n}\n//# sourceMappingURL=query.mjs.map","export function concatBytes(buffers) {\n let length = 0;\n for (const buffer of buffers) {\n length += buffer.length;\n }\n const output = new Uint8Array(length);\n let index = 0;\n for (const buffer of buffers) {\n output.set(buffer, index);\n index += buffer.length;\n }\n return output;\n}\nlet encodeUTF8_;\nexport function encodeUTF8(str) {\n let encoder;\n return (encodeUTF8_ ??\n ((encoder = new globalThis.TextEncoder()), (encodeUTF8_ = encoder.encode.bind(encoder))))(str);\n}\nlet decodeUTF8_;\nexport function decodeUTF8(bytes) {\n let decoder;\n return (decodeUTF8_ ??\n ((decoder = new globalThis.TextDecoder()), (decodeUTF8_ = decoder.decode.bind(decoder))))(bytes);\n}\n//# sourceMappingURL=bytes.mjs.map","var _LineDecoder_buffer, _LineDecoder_carriageReturnIndex;\nimport { __classPrivateFieldGet, __classPrivateFieldSet } from \"../tslib.mjs\";\nimport { concatBytes, decodeUTF8, encodeUTF8 } from \"../utils/bytes.mjs\";\n/**\n * A re-implementation of httpx's `LineDecoder` in Python that handles incrementally\n * reading lines from text.\n *\n * https://github.com/encode/httpx/blob/920333ea98118e9cf617f246905d7b202510941c/httpx/_decoders.py#L258\n */\nexport class LineDecoder {\n constructor() {\n _LineDecoder_buffer.set(this, void 0);\n _LineDecoder_carriageReturnIndex.set(this, void 0);\n __classPrivateFieldSet(this, _LineDecoder_buffer, new Uint8Array(), \"f\");\n __classPrivateFieldSet(this, _LineDecoder_carriageReturnIndex, null, \"f\");\n }\n decode(chunk) {\n if (chunk == null) {\n return [];\n }\n const binaryChunk = chunk instanceof ArrayBuffer ? new Uint8Array(chunk)\n : typeof chunk === 'string' ? encodeUTF8(chunk)\n : chunk;\n __classPrivateFieldSet(this, _LineDecoder_buffer, concatBytes([__classPrivateFieldGet(this, _LineDecoder_buffer, \"f\"), binaryChunk]), \"f\");\n const lines = [];\n let patternIndex;\n while ((patternIndex = findNewlineIndex(__classPrivateFieldGet(this, _LineDecoder_buffer, \"f\"), __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, \"f\"))) != null) {\n if (patternIndex.carriage && __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, \"f\") == null) {\n // skip until we either get a corresponding `\\n`, a new `\\r` or nothing\n __classPrivateFieldSet(this, _LineDecoder_carriageReturnIndex, patternIndex.index, \"f\");\n continue;\n }\n // we got double \\r or \\rtext\\n\n if (__classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, \"f\") != null &&\n (patternIndex.index !== __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, \"f\") + 1 || patternIndex.carriage)) {\n lines.push(decodeUTF8(__classPrivateFieldGet(this, _LineDecoder_buffer, \"f\").subarray(0, __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, \"f\") - 1)));\n __classPrivateFieldSet(this, _LineDecoder_buffer, __classPrivateFieldGet(this, _LineDecoder_buffer, \"f\").subarray(__classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, \"f\")), \"f\");\n __classPrivateFieldSet(this, _LineDecoder_carriageReturnIndex, null, \"f\");\n continue;\n }\n const endIndex = __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, \"f\") !== null ? patternIndex.preceding - 1 : patternIndex.preceding;\n const line = decodeUTF8(__classPrivateFieldGet(this, _LineDecoder_buffer, \"f\").subarray(0, endIndex));\n lines.push(line);\n __classPrivateFieldSet(this, _LineDecoder_buffer, __classPrivateFieldGet(this, _LineDecoder_buffer, \"f\").subarray(patternIndex.index), \"f\");\n __classPrivateFieldSet(this, _LineDecoder_carriageReturnIndex, null, \"f\");\n }\n return lines;\n }\n flush() {\n if (!__classPrivateFieldGet(this, _LineDecoder_buffer, \"f\").length) {\n return [];\n }\n return this.decode('\\n');\n }\n}\n_LineDecoder_buffer = new WeakMap(), _LineDecoder_carriageReturnIndex = new WeakMap();\n// prettier-ignore\nLineDecoder.NEWLINE_CHARS = new Set(['\\n', '\\r']);\nLineDecoder.NEWLINE_REGEXP = /\\r\\n|[\\n\\r]/g;\n/**\n * This function searches the buffer for the end patterns, (\\r or \\n)\n * and returns an object with the index preceding the matched newline and the\n * index after the newline char. `null` is returned if no new line is found.\n *\n * ```ts\n * findNewLineIndex('abc\\ndef') -> { preceding: 2, index: 3 }\n * ```\n */\nfunction findNewlineIndex(buffer, startIndex) {\n const newline = 0x0a; // \\n\n const carriage = 0x0d; // \\r\n for (let i = startIndex ?? 0; i < buffer.length; i++) {\n if (buffer[i] === newline) {\n return { preceding: i, index: i + 1, carriage: false };\n }\n if (buffer[i] === carriage) {\n return { preceding: i, index: i + 1, carriage: true };\n }\n }\n return null;\n}\nexport function findDoubleNewlineIndex(buffer) {\n // This function searches the buffer for the end patterns (\\r\\r, \\n\\n, \\r\\n\\r\\n)\n // and returns the index right after the first occurrence of any pattern,\n // or -1 if none of the patterns are found.\n const newline = 0x0a; // \\n\n const carriage = 0x0d; // \\r\n for (let i = 0; i < buffer.length - 1; i++) {\n if (buffer[i] === newline && buffer[i + 1] === newline) {\n // \\n\\n\n return i + 2;\n }\n if (buffer[i] === carriage && buffer[i + 1] === carriage) {\n // \\r\\r\n return i + 2;\n }\n if (buffer[i] === carriage &&\n buffer[i + 1] === newline &&\n i + 3 < buffer.length &&\n buffer[i + 2] === carriage &&\n buffer[i + 3] === newline) {\n // \\r\\n\\r\\n\n return i + 4;\n }\n }\n return -1;\n}\n//# sourceMappingURL=line.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { hasOwn } from \"./values.mjs\";\nconst levelNumbers = {\n off: 0,\n error: 200,\n warn: 300,\n info: 400,\n debug: 500,\n};\nexport const parseLogLevel = (maybeLevel, sourceName, client) => {\n if (!maybeLevel) {\n return undefined;\n }\n if (hasOwn(levelNumbers, maybeLevel)) {\n return maybeLevel;\n }\n loggerFor(client).warn(`${sourceName} was set to ${JSON.stringify(maybeLevel)}, expected one of ${JSON.stringify(Object.keys(levelNumbers))}`);\n return undefined;\n};\nfunction noop() { }\nfunction makeLogFn(fnLevel, logger, logLevel) {\n if (!logger || levelNumbers[fnLevel] > levelNumbers[logLevel]) {\n return noop;\n }\n else {\n // Don't wrap logger functions, we want the stacktrace intact!\n return logger[fnLevel].bind(logger);\n }\n}\nconst noopLogger = {\n error: noop,\n warn: noop,\n info: noop,\n debug: noop,\n};\nlet cachedLoggers = /* @__PURE__ */ new WeakMap();\nexport function loggerFor(client) {\n const logger = client.logger;\n const logLevel = client.logLevel ?? 'off';\n if (!logger) {\n return noopLogger;\n }\n const cachedLogger = cachedLoggers.get(logger);\n if (cachedLogger && cachedLogger[0] === logLevel) {\n return cachedLogger[1];\n }\n const levelLogger = {\n error: makeLogFn('error', logger, logLevel),\n warn: makeLogFn('warn', logger, logLevel),\n info: makeLogFn('info', logger, logLevel),\n debug: makeLogFn('debug', logger, logLevel),\n };\n cachedLoggers.set(logger, [logLevel, levelLogger]);\n return levelLogger;\n}\nexport const formatRequestDetails = (details) => {\n if (details.options) {\n details.options = { ...details.options };\n delete details.options['headers']; // redundant + leaks internals\n }\n if (details.headers) {\n details.headers = Object.fromEntries((details.headers instanceof Headers ? [...details.headers] : Object.entries(details.headers)).map(([name, value]) => [\n name,\n (name.toLowerCase() === 'x-api-key' ||\n name.toLowerCase() === 'authorization' ||\n name.toLowerCase() === 'cookie' ||\n name.toLowerCase() === 'set-cookie') ?\n '***'\n : value,\n ]));\n }\n if ('retryOfRequestLogID' in details) {\n if (details.retryOfRequestLogID) {\n details.retryOf = details.retryOfRequestLogID;\n }\n delete details.retryOfRequestLogID;\n }\n return details;\n};\n//# sourceMappingURL=log.mjs.map","var _Stream_client;\nimport { __classPrivateFieldGet, __classPrivateFieldSet } from \"../internal/tslib.mjs\";\nimport { AnthropicError } from \"./error.mjs\";\nimport { makeReadableStream } from \"../internal/shims.mjs\";\nimport { findDoubleNewlineIndex, LineDecoder } from \"../internal/decoders/line.mjs\";\nimport { ReadableStreamToAsyncIterable } from \"../internal/shims.mjs\";\nimport { isAbortError } from \"../internal/errors.mjs\";\nimport { safeJSON } from \"../internal/utils/values.mjs\";\nimport { encodeUTF8 } from \"../internal/utils/bytes.mjs\";\nimport { loggerFor } from \"../internal/utils/log.mjs\";\nimport { APIError } from \"./error.mjs\";\nexport class Stream {\n constructor(iterator, controller, client) {\n this.iterator = iterator;\n _Stream_client.set(this, void 0);\n this.controller = controller;\n __classPrivateFieldSet(this, _Stream_client, client, \"f\");\n }\n static fromSSEResponse(response, controller, client) {\n let consumed = false;\n const logger = client ? loggerFor(client) : console;\n async function* iterator() {\n if (consumed) {\n throw new AnthropicError('Cannot iterate over a consumed stream, use `.tee()` to split the stream.');\n }\n consumed = true;\n let done = false;\n try {\n for await (const sse of _iterSSEMessages(response, controller)) {\n if (sse.event === 'completion') {\n try {\n yield JSON.parse(sse.data);\n }\n catch (e) {\n logger.error(`Could not parse message into JSON:`, sse.data);\n logger.error(`From chunk:`, sse.raw);\n throw e;\n }\n }\n if (sse.event === 'message_start' ||\n sse.event === 'message_delta' ||\n sse.event === 'message_stop' ||\n sse.event === 'content_block_start' ||\n sse.event === 'content_block_delta' ||\n sse.event === 'content_block_stop' ||\n sse.event === 'message' ||\n sse.event === 'user.message' ||\n sse.event === 'user.interrupt' ||\n sse.event === 'user.tool_confirmation' ||\n sse.event === 'user.custom_tool_result' ||\n sse.event === 'agent.message' ||\n sse.event === 'agent.thinking' ||\n sse.event === 'agent.tool_use' ||\n sse.event === 'agent.tool_result' ||\n sse.event === 'agent.mcp_tool_use' ||\n sse.event === 'agent.mcp_tool_result' ||\n sse.event === 'agent.custom_tool_use' ||\n sse.event === 'agent.thread_context_compacted' ||\n sse.event === 'session.status_running' ||\n sse.event === 'session.status_idle' ||\n sse.event === 'session.status_rescheduled' ||\n sse.event === 'session.status_terminated' ||\n sse.event === 'session.error' ||\n sse.event === 'session.deleted' ||\n sse.event === 'span.model_request_start' ||\n sse.event === 'span.model_request_end') {\n try {\n yield JSON.parse(sse.data);\n }\n catch (e) {\n logger.error(`Could not parse message into JSON:`, sse.data);\n logger.error(`From chunk:`, sse.raw);\n throw e;\n }\n }\n if (sse.event === 'ping') {\n continue;\n }\n if (sse.event === 'error') {\n const body = safeJSON(sse.data) ?? sse.data;\n const type = body?.error?.type;\n throw new APIError(undefined, body, undefined, response.headers, type);\n }\n }\n done = true;\n }\n catch (e) {\n // If the user calls `stream.controller.abort()`, we should exit without throwing.\n if (isAbortError(e))\n return;\n throw e;\n }\n finally {\n // If the user `break`s, abort the ongoing request.\n if (!done)\n controller.abort();\n }\n }\n return new Stream(iterator, controller, client);\n }\n /**\n * Generates a Stream from a newline-separated ReadableStream\n * where each item is a JSON value.\n */\n static fromReadableStream(readableStream, controller, client) {\n let consumed = false;\n async function* iterLines() {\n const lineDecoder = new LineDecoder();\n const iter = ReadableStreamToAsyncIterable(readableStream);\n for await (const chunk of iter) {\n for (const line of lineDecoder.decode(chunk)) {\n yield line;\n }\n }\n for (const line of lineDecoder.flush()) {\n yield line;\n }\n }\n async function* iterator() {\n if (consumed) {\n throw new AnthropicError('Cannot iterate over a consumed stream, use `.tee()` to split the stream.');\n }\n consumed = true;\n let done = false;\n try {\n for await (const line of iterLines()) {\n if (done)\n continue;\n if (line)\n yield JSON.parse(line);\n }\n done = true;\n }\n catch (e) {\n // If the user calls `stream.controller.abort()`, we should exit without throwing.\n if (isAbortError(e))\n return;\n throw e;\n }\n finally {\n // If the user `break`s, abort the ongoing request.\n if (!done)\n controller.abort();\n }\n }\n return new Stream(iterator, controller, client);\n }\n [(_Stream_client = new WeakMap(), Symbol.asyncIterator)]() {\n return this.iterator();\n }\n /**\n * Splits the stream into two streams which can be\n * independently read from at different speeds.\n */\n tee() {\n const left = [];\n const right = [];\n const iterator = this.iterator();\n const teeIterator = (queue) => {\n return {\n next: () => {\n if (queue.length === 0) {\n const result = iterator.next();\n left.push(result);\n right.push(result);\n }\n return queue.shift();\n },\n };\n };\n return [\n new Stream(() => teeIterator(left), this.controller, __classPrivateFieldGet(this, _Stream_client, \"f\")),\n new Stream(() => teeIterator(right), this.controller, __classPrivateFieldGet(this, _Stream_client, \"f\")),\n ];\n }\n /**\n * Converts this stream to a newline-separated ReadableStream of\n * JSON stringified values in the stream\n * which can be turned back into a Stream with `Stream.fromReadableStream()`.\n */\n toReadableStream() {\n const self = this;\n let iter;\n return makeReadableStream({\n async start() {\n iter = self[Symbol.asyncIterator]();\n },\n async pull(ctrl) {\n try {\n const { value, done } = await iter.next();\n if (done)\n return ctrl.close();\n const bytes = encodeUTF8(JSON.stringify(value) + '\\n');\n ctrl.enqueue(bytes);\n }\n catch (err) {\n ctrl.error(err);\n }\n },\n async cancel() {\n await iter.return?.();\n },\n });\n }\n}\nexport async function* _iterSSEMessages(response, controller) {\n if (!response.body) {\n controller.abort();\n if (typeof globalThis.navigator !== 'undefined' &&\n globalThis.navigator.product === 'ReactNative') {\n throw new AnthropicError(`The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api`);\n }\n throw new AnthropicError(`Attempted to iterate over a response with no body`);\n }\n const sseDecoder = new SSEDecoder();\n const lineDecoder = new LineDecoder();\n const iter = ReadableStreamToAsyncIterable(response.body);\n for await (const sseChunk of iterSSEChunks(iter)) {\n for (const line of lineDecoder.decode(sseChunk)) {\n const sse = sseDecoder.decode(line);\n if (sse)\n yield sse;\n }\n }\n for (const line of lineDecoder.flush()) {\n const sse = sseDecoder.decode(line);\n if (sse)\n yield sse;\n }\n}\n/**\n * Given an async iterable iterator, iterates over it and yields full\n * SSE chunks, i.e. yields when a double new-line is encountered.\n */\nasync function* iterSSEChunks(iterator) {\n let data = new Uint8Array();\n for await (const chunk of iterator) {\n if (chunk == null) {\n continue;\n }\n const binaryChunk = chunk instanceof ArrayBuffer ? new Uint8Array(chunk)\n : typeof chunk === 'string' ? encodeUTF8(chunk)\n : chunk;\n let newData = new Uint8Array(data.length + binaryChunk.length);\n newData.set(data);\n newData.set(binaryChunk, data.length);\n data = newData;\n let patternIndex;\n while ((patternIndex = findDoubleNewlineIndex(data)) !== -1) {\n yield data.slice(0, patternIndex);\n data = data.slice(patternIndex);\n }\n }\n if (data.length > 0) {\n yield data;\n }\n}\nclass SSEDecoder {\n constructor() {\n this.event = null;\n this.data = [];\n this.chunks = [];\n }\n decode(line) {\n if (line.endsWith('\\r')) {\n line = line.substring(0, line.length - 1);\n }\n if (!line) {\n // empty line and we didn't previously encounter any messages\n if (!this.event && !this.data.length)\n return null;\n const sse = {\n event: this.event,\n data: this.data.join('\\n'),\n raw: this.chunks,\n };\n this.event = null;\n this.data = [];\n this.chunks = [];\n return sse;\n }\n this.chunks.push(line);\n if (line.startsWith(':')) {\n return null;\n }\n let [fieldname, _, value] = partition(line, ':');\n if (value.startsWith(' ')) {\n value = value.substring(1);\n }\n if (fieldname === 'event') {\n this.event = value;\n }\n else if (fieldname === 'data') {\n this.data.push(value);\n }\n return null;\n }\n}\nfunction partition(str, delimiter) {\n const index = str.indexOf(delimiter);\n if (index !== -1) {\n return [str.substring(0, index), delimiter, str.substring(index + delimiter.length)];\n }\n return [str, '', ''];\n}\n//# sourceMappingURL=streaming.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { Stream } from \"../core/streaming.mjs\";\nimport { formatRequestDetails, loggerFor } from \"./utils/log.mjs\";\nexport async function defaultParseResponse(client, props) {\n const { response, requestLogID, retryOfRequestLogID, startTime } = props;\n const body = await (async () => {\n if (props.options.stream) {\n loggerFor(client).debug('response', response.status, response.url, response.headers, response.body);\n // Note: there is an invariant here that isn't represented in the type system\n // that if you set `stream: true` the response type must also be `Stream<T>`\n if (props.options.__streamClass) {\n return props.options.__streamClass.fromSSEResponse(response, props.controller);\n }\n return Stream.fromSSEResponse(response, props.controller);\n }\n // fetch refuses to read the body when the status code is 204.\n if (response.status === 204) {\n return null;\n }\n if (props.options.__binaryResponse) {\n return response;\n }\n const contentType = response.headers.get('content-type');\n const mediaType = contentType?.split(';')[0]?.trim();\n const isJSON = mediaType?.includes('application/json') || mediaType?.endsWith('+json');\n if (isJSON) {\n const contentLength = response.headers.get('content-length');\n if (contentLength === '0') {\n // if there is no content we can't do anything\n return undefined;\n }\n const json = await response.json();\n return addRequestID(json, response);\n }\n const text = await response.text();\n return text;\n })();\n loggerFor(client).debug(`[${requestLogID}] response parsed`, formatRequestDetails({\n retryOfRequestLogID,\n url: response.url,\n status: response.status,\n body,\n durationMs: Date.now() - startTime,\n }));\n return body;\n}\nexport function addRequestID(value, response) {\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n return value;\n }\n return Object.defineProperty(value, '_request_id', {\n value: response.headers.get('request-id'),\n enumerable: false,\n });\n}\n//# sourceMappingURL=parse.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nvar _APIPromise_client;\nimport { __classPrivateFieldGet, __classPrivateFieldSet } from \"../internal/tslib.mjs\";\nimport { defaultParseResponse, addRequestID, } from \"../internal/parse.mjs\";\n/**\n * A subclass of `Promise` providing additional helper methods\n * for interacting with the SDK.\n */\nexport class APIPromise extends Promise {\n constructor(client, responsePromise, parseResponse = defaultParseResponse) {\n super((resolve) => {\n // this is maybe a bit weird but this has to be a no-op to not implicitly\n // parse the response body; instead .then, .catch, .finally are overridden\n // to parse the response\n resolve(null);\n });\n this.responsePromise = responsePromise;\n this.parseResponse = parseResponse;\n _APIPromise_client.set(this, void 0);\n __classPrivateFieldSet(this, _APIPromise_client, client, \"f\");\n }\n _thenUnwrap(transform) {\n return new APIPromise(__classPrivateFieldGet(this, _APIPromise_client, \"f\"), this.responsePromise, async (client, props) => addRequestID(transform(await this.parseResponse(client, props), props), props.response));\n }\n /**\n * Gets the raw `Response` instance instead of parsing the response\n * data.\n *\n * If you want to parse the response body but still get the `Response`\n * instance, you can use {@link withResponse()}.\n *\n * 👋 Getting the wrong TypeScript type for `Response`?\n * Try setting `\"moduleResolution\": \"NodeNext\"` or add `\"lib\": [\"DOM\"]`\n * to your `tsconfig.json`.\n */\n asResponse() {\n return this.responsePromise.then((p) => p.response);\n }\n /**\n * Gets the parsed response data, the raw `Response` instance and the ID of the request,\n * returned via the `request-id` header which is useful for debugging requests and resporting\n * issues to Anthropic.\n *\n * If you just want to get the raw `Response` instance without parsing it,\n * you can use {@link asResponse()}.\n *\n * 👋 Getting the wrong TypeScript type for `Response`?\n * Try setting `\"moduleResolution\": \"NodeNext\"` or add `\"lib\": [\"DOM\"]`\n * to your `tsconfig.json`.\n */\n async withResponse() {\n const [data, response] = await Promise.all([this.parse(), this.asResponse()]);\n return { data, response, request_id: response.headers.get('request-id') };\n }\n parse() {\n if (!this.parsedPromise) {\n this.parsedPromise = this.responsePromise.then((data) => this.parseResponse(__classPrivateFieldGet(this, _APIPromise_client, \"f\"), data));\n }\n return this.parsedPromise;\n }\n then(onfulfilled, onrejected) {\n return this.parse().then(onfulfilled, onrejected);\n }\n catch(onrejected) {\n return this.parse().catch(onrejected);\n }\n finally(onfinally) {\n return this.parse().finally(onfinally);\n }\n}\n_APIPromise_client = new WeakMap();\n//# sourceMappingURL=api-promise.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nvar _AbstractPage_client;\nimport { __classPrivateFieldGet, __classPrivateFieldSet } from \"../internal/tslib.mjs\";\nimport { AnthropicError } from \"./error.mjs\";\nimport { defaultParseResponse } from \"../internal/parse.mjs\";\nimport { APIPromise } from \"./api-promise.mjs\";\nimport { maybeObj } from \"../internal/utils/values.mjs\";\nexport class AbstractPage {\n constructor(client, response, body, options) {\n _AbstractPage_client.set(this, void 0);\n __classPrivateFieldSet(this, _AbstractPage_client, client, \"f\");\n this.options = options;\n this.response = response;\n this.body = body;\n }\n hasNextPage() {\n const items = this.getPaginatedItems();\n if (!items.length)\n return false;\n return this.nextPageRequestOptions() != null;\n }\n async getNextPage() {\n const nextOptions = this.nextPageRequestOptions();\n if (!nextOptions) {\n throw new AnthropicError('No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.');\n }\n return await __classPrivateFieldGet(this, _AbstractPage_client, \"f\").requestAPIList(this.constructor, nextOptions);\n }\n async *iterPages() {\n let page = this;\n yield page;\n while (page.hasNextPage()) {\n page = await page.getNextPage();\n yield page;\n }\n }\n async *[(_AbstractPage_client = new WeakMap(), Symbol.asyncIterator)]() {\n for await (const page of this.iterPages()) {\n for (const item of page.getPaginatedItems()) {\n yield item;\n }\n }\n }\n}\n/**\n * This subclass of Promise will resolve to an instantiated Page once the request completes.\n *\n * It also implements AsyncIterable to allow auto-paginating iteration on an unawaited list call, eg:\n *\n * for await (const item of client.items.list()) {\n * console.log(item)\n * }\n */\nexport class PagePromise extends APIPromise {\n constructor(client, request, Page) {\n super(client, request, async (client, props) => new Page(client, props.response, await defaultParseResponse(client, props), props.options));\n }\n /**\n * Allow auto-paginating iteration on an unawaited list call, eg:\n *\n * for await (const item of client.items.list()) {\n * console.log(item)\n * }\n */\n async *[Symbol.asyncIterator]() {\n const page = await this;\n for await (const item of page) {\n yield item;\n }\n }\n}\nexport class Page extends AbstractPage {\n constructor(client, response, body, options) {\n super(client, response, body, options);\n this.data = body.data || [];\n this.has_more = body.has_more || false;\n this.first_id = body.first_id || null;\n this.last_id = body.last_id || null;\n }\n getPaginatedItems() {\n return this.data ?? [];\n }\n hasNextPage() {\n if (this.has_more === false) {\n return false;\n }\n return super.hasNextPage();\n }\n nextPageRequestOptions() {\n if (this.options.query?.['before_id']) {\n // in reverse\n const first_id = this.first_id;\n if (!first_id) {\n return null;\n }\n return {\n ...this.options,\n query: {\n ...maybeObj(this.options.query),\n before_id: first_id,\n },\n };\n }\n const cursor = this.last_id;\n if (!cursor) {\n return null;\n }\n return {\n ...this.options,\n query: {\n ...maybeObj(this.options.query),\n after_id: cursor,\n },\n };\n }\n}\nexport class TokenPage extends AbstractPage {\n constructor(client, response, body, options) {\n super(client, response, body, options);\n this.data = body.data || [];\n this.has_more = body.has_more || false;\n this.next_page = body.next_page || null;\n }\n getPaginatedItems() {\n return this.data ?? [];\n }\n hasNextPage() {\n if (this.has_more === false) {\n return false;\n }\n return super.hasNextPage();\n }\n nextPageRequestOptions() {\n const cursor = this.next_page;\n if (!cursor) {\n return null;\n }\n return {\n ...this.options,\n query: {\n ...maybeObj(this.options.query),\n page_token: cursor,\n },\n };\n }\n}\nexport class PageCursor extends AbstractPage {\n constructor(client, response, body, options) {\n super(client, response, body, options);\n this.data = body.data || [];\n this.next_page = body.next_page || null;\n }\n getPaginatedItems() {\n return this.data ?? [];\n }\n nextPageRequestOptions() {\n const cursor = this.next_page;\n if (!cursor) {\n return null;\n }\n return {\n ...this.options,\n query: {\n ...maybeObj(this.options.query),\n page: cursor,\n },\n };\n }\n}\n//# sourceMappingURL=pagination.mjs.map","import { ReadableStreamFrom } from \"./shims.mjs\";\nexport const checkFileSupport = () => {\n if (typeof File === 'undefined') {\n const { process } = globalThis;\n const isOldNode = typeof process?.versions?.node === 'string' && parseInt(process.versions.node.split('.')) < 20;\n throw new Error('`File` is not defined as a global, which is required for file uploads.' +\n (isOldNode ?\n \" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.\"\n : ''));\n }\n};\n/**\n * Construct a `File` instance. This is used to ensure a helpful error is thrown\n * for environments that don't define a global `File` yet.\n */\nexport function makeFile(fileBits, fileName, options) {\n checkFileSupport();\n return new File(fileBits, fileName ?? 'unknown_file', options);\n}\nexport function getName(value, stripPath) {\n const val = (typeof value === 'object' &&\n value !== null &&\n (('name' in value && value.name && String(value.name)) ||\n ('url' in value && value.url && String(value.url)) ||\n ('filename' in value && value.filename && String(value.filename)) ||\n ('path' in value && value.path && String(value.path)))) ||\n '';\n return stripPath ? val.split(/[\\\\/]/).pop() || undefined : val;\n}\nexport const isAsyncIterable = (value) => value != null && typeof value === 'object' && typeof value[Symbol.asyncIterator] === 'function';\n/**\n * Returns a multipart/form-data request if any part of the given request body contains a File / Blob value.\n * Otherwise returns the request as is.\n */\nexport const maybeMultipartFormRequestOptions = async (opts, fetch) => {\n if (!hasUploadableValue(opts.body))\n return opts;\n return { ...opts, body: await createForm(opts.body, fetch) };\n};\nexport const multipartFormRequestOptions = async (opts, fetch, stripFilenames = true) => {\n return { ...opts, body: await createForm(opts.body, fetch, stripFilenames) };\n};\nconst supportsFormDataMap = /* @__PURE__ */ new WeakMap();\n/**\n * node-fetch doesn't support the global FormData object in recent node versions. Instead of sending\n * properly-encoded form data, it just stringifies the object, resulting in a request body of \"[object FormData]\".\n * This function detects if the fetch function provided supports the global FormData object to avoid\n * confusing error messages later on.\n */\nfunction supportsFormData(fetchObject) {\n const fetch = typeof fetchObject === 'function' ? fetchObject : fetchObject.fetch;\n const cached = supportsFormDataMap.get(fetch);\n if (cached)\n return cached;\n const promise = (async () => {\n try {\n const FetchResponse = ('Response' in fetch ?\n fetch.Response\n : (await fetch('data:,')).constructor);\n const data = new FormData();\n if (data.toString() === (await new FetchResponse(data).text())) {\n return false;\n }\n return true;\n }\n catch {\n // avoid false negatives\n return true;\n }\n })();\n supportsFormDataMap.set(fetch, promise);\n return promise;\n}\nexport const createForm = async (body, fetch, stripFilenames = true) => {\n if (!(await supportsFormData(fetch))) {\n throw new TypeError('The provided fetch function does not support file uploads with the current global FormData class.');\n }\n const form = new FormData();\n await Promise.all(Object.entries(body || {}).map(([key, value]) => addFormValue(form, key, value, stripFilenames)));\n return form;\n};\n// We check for Blob not File because Bun.File doesn't inherit from File,\n// but they both inherit from Blob and have a `name` property at runtime.\nconst isNamedBlob = (value) => value instanceof Blob && 'name' in value;\nconst isUploadable = (value) => typeof value === 'object' &&\n value !== null &&\n (value instanceof Response || isAsyncIterable(value) || isNamedBlob(value));\nconst hasUploadableValue = (value) => {\n if (isUploadable(value))\n return true;\n if (Array.isArray(value))\n return value.some(hasUploadableValue);\n if (value && typeof value === 'object') {\n for (const k in value) {\n if (hasUploadableValue(value[k]))\n return true;\n }\n }\n return false;\n};\nconst addFormValue = async (form, key, value, stripFilenames) => {\n if (value === undefined)\n return;\n if (value == null) {\n throw new TypeError(`Received null for \"${key}\"; to pass null in FormData, you must use the string 'null'`);\n }\n // TODO: make nested formats configurable\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n form.append(key, String(value));\n }\n else if (value instanceof Response) {\n let options = {};\n const contentType = value.headers.get('Content-Type');\n if (contentType) {\n options = { type: contentType };\n }\n form.append(key, makeFile([await value.blob()], getName(value, stripFilenames), options));\n }\n else if (isAsyncIterable(value)) {\n form.append(key, makeFile([await new Response(ReadableStreamFrom(value)).blob()], getName(value, stripFilenames)));\n }\n else if (isNamedBlob(value)) {\n form.append(key, makeFile([value], getName(value, stripFilenames), { type: value.type }));\n }\n else if (Array.isArray(value)) {\n await Promise.all(value.map((entry) => addFormValue(form, key + '[]', entry, stripFilenames)));\n }\n else if (typeof value === 'object') {\n await Promise.all(Object.entries(value).map(([name, prop]) => addFormValue(form, `${key}[${name}]`, prop, stripFilenames)));\n }\n else {\n throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${value} instead`);\n }\n};\n//# sourceMappingURL=uploads.mjs.map","import { getName, makeFile, isAsyncIterable } from \"./uploads.mjs\";\nimport { checkFileSupport } from \"./uploads.mjs\";\n/**\n * This check adds the arrayBuffer() method type because it is available and used at runtime\n */\nconst isBlobLike = (value) => value != null &&\n typeof value === 'object' &&\n typeof value.size === 'number' &&\n typeof value.type === 'string' &&\n typeof value.text === 'function' &&\n typeof value.slice === 'function' &&\n typeof value.arrayBuffer === 'function';\n/**\n * This check adds the arrayBuffer() method type because it is available and used at runtime\n */\nconst isFileLike = (value) => value != null &&\n typeof value === 'object' &&\n typeof value.name === 'string' &&\n typeof value.lastModified === 'number' &&\n isBlobLike(value);\nconst isResponseLike = (value) => value != null &&\n typeof value === 'object' &&\n typeof value.url === 'string' &&\n typeof value.blob === 'function';\n/**\n * Helper for creating a {@link File} to pass to an SDK upload method from a variety of different data formats\n * @param value the raw content of the file. Can be an {@link Uploadable}, BlobLikePart, or AsyncIterable of BlobLikeParts\n * @param {string=} name the name of the file. If omitted, toFile will try to determine a file name from bits if possible\n * @param {Object=} options additional properties\n * @param {string=} options.type the MIME type of the content\n * @param {number=} options.lastModified the last modified timestamp\n * @returns a {@link File} with the given properties\n */\nexport async function toFile(value, name, options) {\n checkFileSupport();\n // If it's a promise, resolve it.\n value = await value;\n name || (name = getName(value, true));\n // If we've been given a `File` we don't need to do anything if the name / options\n // have not been customised.\n if (isFileLike(value)) {\n if (value instanceof File && name == null && options == null) {\n return value;\n }\n return makeFile([await value.arrayBuffer()], name ?? value.name, {\n type: value.type,\n lastModified: value.lastModified,\n ...options,\n });\n }\n if (isResponseLike(value)) {\n const blob = await value.blob();\n name || (name = new URL(value.url).pathname.split(/[\\\\/]/).pop());\n return makeFile(await getBytes(blob), name, options);\n }\n const parts = await getBytes(value);\n if (!options?.type) {\n const type = parts.find((part) => typeof part === 'object' && 'type' in part && part.type);\n if (typeof type === 'string') {\n options = { ...options, type };\n }\n }\n return makeFile(parts, name, options);\n}\nasync function getBytes(value) {\n let parts = [];\n if (typeof value === 'string' ||\n ArrayBuffer.isView(value) || // includes Uint8Array, Buffer, etc.\n value instanceof ArrayBuffer) {\n parts.push(value);\n }\n else if (isBlobLike(value)) {\n parts.push(value instanceof Blob ? value : await value.arrayBuffer());\n }\n else if (isAsyncIterable(value) // includes Readable, ReadableStream, etc.\n ) {\n for await (const chunk of value) {\n parts.push(...(await getBytes(chunk))); // TODO, consider validating?\n }\n }\n else {\n const constructor = value?.constructor?.name;\n throw new Error(`Unexpected data type: ${typeof value}${constructor ? `; constructor: ${constructor}` : ''}${propsForError(value)}`);\n }\n return parts;\n}\nfunction propsForError(value) {\n if (typeof value !== 'object' || value === null)\n return '';\n const props = Object.getOwnPropertyNames(value);\n return `; props: [${props.map((p) => `\"${p}\"`).join(', ')}]`;\n}\n//# sourceMappingURL=to-file.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nexport class APIResource {\n constructor(client) {\n this._client = client;\n }\n}\n//# sourceMappingURL=resource.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { isReadonlyArray } from \"./utils/values.mjs\";\nconst brand_privateNullableHeaders = Symbol.for('brand.privateNullableHeaders');\nfunction* iterateHeaders(headers) {\n if (!headers)\n return;\n if (brand_privateNullableHeaders in headers) {\n const { values, nulls } = headers;\n yield* values.entries();\n for (const name of nulls) {\n yield [name, null];\n }\n return;\n }\n let shouldClear = false;\n let iter;\n if (headers instanceof Headers) {\n iter = headers.entries();\n }\n else if (isReadonlyArray(headers)) {\n iter = headers;\n }\n else {\n shouldClear = true;\n iter = Object.entries(headers ?? {});\n }\n for (let row of iter) {\n const name = row[0];\n if (typeof name !== 'string')\n throw new TypeError('expected header name to be a string');\n const values = isReadonlyArray(row[1]) ? row[1] : [row[1]];\n let didClear = false;\n for (const value of values) {\n if (value === undefined)\n continue;\n // Objects keys always overwrite older headers, they never append.\n // Yield a null to clear the header before adding the new values.\n if (shouldClear && !didClear) {\n didClear = true;\n yield [name, null];\n }\n yield [name, value];\n }\n }\n}\nexport const buildHeaders = (newHeaders) => {\n const targetHeaders = new Headers();\n const nullHeaders = new Set();\n for (const headers of newHeaders) {\n const seenHeaders = new Set();\n for (const [name, value] of iterateHeaders(headers)) {\n const lowerName = name.toLowerCase();\n if (!seenHeaders.has(lowerName)) {\n targetHeaders.delete(name);\n seenHeaders.add(lowerName);\n }\n if (value === null) {\n targetHeaders.delete(name);\n nullHeaders.add(lowerName);\n }\n else {\n targetHeaders.append(name, value);\n nullHeaders.delete(lowerName);\n }\n }\n }\n return { [brand_privateNullableHeaders]: true, values: targetHeaders, nulls: nullHeaders };\n};\nexport const isEmptyHeaders = (headers) => {\n for (const _ of iterateHeaders(headers))\n return false;\n return true;\n};\n//# sourceMappingURL=headers.mjs.map","import { AnthropicError } from \"../../core/error.mjs\";\n/**\n * Percent-encode everything that isn't safe to have in a path without encoding safe chars.\n *\n * Taken from https://datatracker.ietf.org/doc/html/rfc3986#section-3.3:\n * > unreserved = ALPHA / DIGIT / \"-\" / \".\" / \"_\" / \"~\"\n * > sub-delims = \"!\" / \"$\" / \"&\" / \"'\" / \"(\" / \")\" / \"*\" / \"+\" / \",\" / \";\" / \"=\"\n * > pchar = unreserved / pct-encoded / sub-delims / \":\" / \"@\"\n */\nexport function encodeURIPath(str) {\n return str.replace(/[^A-Za-z0-9\\-._~!$&'()*+,;=:@]+/g, encodeURIComponent);\n}\nconst EMPTY = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.create(null));\nexport const createPathTagFunction = (pathEncoder = encodeURIPath) => function path(statics, ...params) {\n // If there are no params, no processing is needed.\n if (statics.length === 1)\n return statics[0];\n let postPath = false;\n const invalidSegments = [];\n const path = statics.reduce((previousValue, currentValue, index) => {\n if (/[?#]/.test(currentValue)) {\n postPath = true;\n }\n const value = params[index];\n let encoded = (postPath ? encodeURIComponent : pathEncoder)('' + value);\n if (index !== params.length &&\n (value == null ||\n (typeof value === 'object' &&\n // handle values from other realms\n value.toString ===\n Object.getPrototypeOf(Object.getPrototypeOf(value.hasOwnProperty ?? EMPTY) ?? EMPTY)\n ?.toString))) {\n encoded = value + '';\n invalidSegments.push({\n start: previousValue.length + currentValue.length,\n length: encoded.length,\n error: `Value of type ${Object.prototype.toString\n .call(value)\n .slice(8, -1)} is not a valid path parameter`,\n });\n }\n return previousValue + currentValue + (index === params.length ? '' : encoded);\n }, '');\n const pathOnly = path.split(/[?#]/, 1)[0];\n const invalidSegmentPattern = /(?<=^|\\/)(?:\\.|%2e){1,2}(?=\\/|$)/gi;\n let match;\n // Find all invalid segments\n while ((match = invalidSegmentPattern.exec(pathOnly)) !== null) {\n invalidSegments.push({\n start: match.index,\n length: match[0].length,\n error: `Value \"${match[0]}\" can\\'t be safely passed as a path parameter`,\n });\n }\n invalidSegments.sort((a, b) => a.start - b.start);\n if (invalidSegments.length > 0) {\n let lastEnd = 0;\n const underline = invalidSegments.reduce((acc, segment) => {\n const spaces = ' '.repeat(segment.start - lastEnd);\n const arrows = '^'.repeat(segment.length);\n lastEnd = segment.start + segment.length;\n return acc + spaces + arrows;\n }, '');\n throw new AnthropicError(`Path parameters result in path with invalid segments:\\n${invalidSegments\n .map((e) => e.error)\n .join('\\n')}\\n${path}\\n${underline}`);\n }\n return path;\n};\n/**\n * URI-encodes path params and ensures no unsafe /./ or /../ path segments are introduced.\n */\nexport const path = /* @__PURE__ */ createPathTagFunction(encodeURIPath);\n//# sourceMappingURL=path.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../core/resource.mjs\";\nimport { PageCursor } from \"../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../internal/headers.mjs\";\nimport { path } from \"../../internal/utils/path.mjs\";\nexport class Environments extends APIResource {\n /**\n * Create a new environment with the specified configuration.\n *\n * @example\n * ```ts\n * const betaEnvironment =\n * await client.beta.environments.create({\n * name: 'python-data-analysis',\n * });\n * ```\n */\n create(params, options) {\n const { betas, ...body } = params;\n return this._client.post('/v1/environments?beta=true', {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Retrieve a specific environment by ID.\n *\n * @example\n * ```ts\n * const betaEnvironment =\n * await client.beta.environments.retrieve(\n * 'env_011CZkZ9X2dpNyB7HsEFoRfW',\n * );\n * ```\n */\n retrieve(environmentID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.get(path `/v1/environments/${environmentID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Update an existing environment's configuration.\n *\n * @example\n * ```ts\n * const betaEnvironment =\n * await client.beta.environments.update(\n * 'env_011CZkZ9X2dpNyB7HsEFoRfW',\n * );\n * ```\n */\n update(environmentID, params, options) {\n const { betas, ...body } = params;\n return this._client.post(path `/v1/environments/${environmentID}?beta=true`, {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * List environments with pagination support.\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaEnvironment of client.beta.environments.list()) {\n * // ...\n * }\n * ```\n */\n list(params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList('/v1/environments?beta=true', (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Delete an environment by ID. Returns a confirmation of the deletion.\n *\n * @example\n * ```ts\n * const betaEnvironmentDeleteResponse =\n * await client.beta.environments.delete(\n * 'env_011CZkZ9X2dpNyB7HsEFoRfW',\n * );\n * ```\n */\n delete(environmentID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.delete(path `/v1/environments/${environmentID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Archive an environment by ID. Archived environments cannot be used to create new\n * sessions.\n *\n * @example\n * ```ts\n * const betaEnvironment =\n * await client.beta.environments.archive(\n * 'env_011CZkZ9X2dpNyB7HsEFoRfW',\n * );\n * ```\n */\n archive(environmentID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.post(path `/v1/environments/${environmentID}/archive?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n}\n//# sourceMappingURL=environments.mjs.map","/**\n * Shared utilities for tracking SDK helper usage.\n */\n/**\n * Symbol used to mark objects created by SDK helpers for tracking.\n * The value is the helper name (e.g., 'mcpTool', 'betaZodTool').\n */\nexport const SDK_HELPER_SYMBOL = Symbol('anthropic.sdk.stainlessHelper');\nexport function wasCreatedByStainlessHelper(value) {\n return typeof value === 'object' && value !== null && SDK_HELPER_SYMBOL in value;\n}\n/**\n * Collects helper names from tools and messages arrays.\n * Returns a deduplicated array of helper names found.\n */\nexport function collectStainlessHelpers(tools, messages) {\n const helpers = new Set();\n // Collect from tools\n if (tools) {\n for (const tool of tools) {\n if (wasCreatedByStainlessHelper(tool)) {\n helpers.add(tool[SDK_HELPER_SYMBOL]);\n }\n }\n }\n // Collect from messages and their content blocks\n if (messages) {\n for (const message of messages) {\n if (wasCreatedByStainlessHelper(message)) {\n helpers.add(message[SDK_HELPER_SYMBOL]);\n }\n if (Array.isArray(message.content)) {\n for (const block of message.content) {\n if (wasCreatedByStainlessHelper(block)) {\n helpers.add(block[SDK_HELPER_SYMBOL]);\n }\n }\n }\n }\n }\n return Array.from(helpers);\n}\n/**\n * Builds x-stainless-helper header value from tools and messages.\n * Returns an empty object if no helpers are found.\n */\nexport function stainlessHelperHeader(tools, messages) {\n const helpers = collectStainlessHelpers(tools, messages);\n if (helpers.length === 0)\n return {};\n return { 'x-stainless-helper': helpers.join(', ') };\n}\n/**\n * Builds x-stainless-helper header value from a file object.\n * Returns an empty object if the file is not marked with a helper.\n */\nexport function stainlessHelperHeaderFromFile(file) {\n if (wasCreatedByStainlessHelper(file)) {\n return { 'x-stainless-helper': file[SDK_HELPER_SYMBOL] };\n }\n return {};\n}\n//# sourceMappingURL=stainless-helper-header.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../core/resource.mjs\";\nimport { Page } from \"../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../internal/headers.mjs\";\nimport { stainlessHelperHeaderFromFile } from \"../../lib/stainless-helper-header.mjs\";\nimport { multipartFormRequestOptions } from \"../../internal/uploads.mjs\";\nimport { path } from \"../../internal/utils/path.mjs\";\nexport class Files extends APIResource {\n /**\n * List Files\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const fileMetadata of client.beta.files.list()) {\n * // ...\n * }\n * ```\n */\n list(params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList('/v1/files?beta=true', (Page), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'files-api-2025-04-14'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Delete File\n *\n * @example\n * ```ts\n * const deletedFile = await client.beta.files.delete(\n * 'file_id',\n * );\n * ```\n */\n delete(fileID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.delete(path `/v1/files/${fileID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'files-api-2025-04-14'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Download File\n *\n * @example\n * ```ts\n * const response = await client.beta.files.download(\n * 'file_id',\n * );\n *\n * const content = await response.blob();\n * console.log(content);\n * ```\n */\n download(fileID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.get(path `/v1/files/${fileID}/content?beta=true`, {\n ...options,\n headers: buildHeaders([\n {\n 'anthropic-beta': [...(betas ?? []), 'files-api-2025-04-14'].toString(),\n Accept: 'application/binary',\n },\n options?.headers,\n ]),\n __binaryResponse: true,\n });\n }\n /**\n * Get File Metadata\n *\n * @example\n * ```ts\n * const fileMetadata =\n * await client.beta.files.retrieveMetadata('file_id');\n * ```\n */\n retrieveMetadata(fileID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.get(path `/v1/files/${fileID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'files-api-2025-04-14'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Upload File\n *\n * @example\n * ```ts\n * const fileMetadata = await client.beta.files.upload({\n * file: fs.createReadStream('path/to/file'),\n * });\n * ```\n */\n upload(params, options) {\n const { betas, ...body } = params;\n return this._client.post('/v1/files?beta=true', multipartFormRequestOptions({\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'files-api-2025-04-14'].toString() },\n stainlessHelperHeaderFromFile(body.file),\n options?.headers,\n ]),\n }, this._client));\n }\n}\n//# sourceMappingURL=files.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../core/resource.mjs\";\nimport { Page } from \"../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../internal/headers.mjs\";\nimport { path } from \"../../internal/utils/path.mjs\";\nexport class Models extends APIResource {\n /**\n * Get a specific model.\n *\n * The Models API response can be used to determine information about a specific\n * model or resolve a model alias to a model ID.\n *\n * @example\n * ```ts\n * const betaModelInfo = await client.beta.models.retrieve(\n * 'model_id',\n * );\n * ```\n */\n retrieve(modelID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.get(path `/v1/models/${modelID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { ...(betas?.toString() != null ? { 'anthropic-beta': betas?.toString() } : undefined) },\n options?.headers,\n ]),\n });\n }\n /**\n * List available models.\n *\n * The Models API response can be used to determine which models are available for\n * use in the API. More recently released models are listed first.\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaModelInfo of client.beta.models.list()) {\n * // ...\n * }\n * ```\n */\n list(params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList('/v1/models?beta=true', (Page), {\n query,\n ...options,\n headers: buildHeaders([\n { ...(betas?.toString() != null ? { 'anthropic-beta': betas?.toString() } : undefined) },\n options?.headers,\n ]),\n });\n }\n}\n//# sourceMappingURL=models.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../core/resource.mjs\";\nimport { PageCursor } from \"../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../internal/headers.mjs\";\nimport { path } from \"../../internal/utils/path.mjs\";\nexport class UserProfiles extends APIResource {\n /**\n * Create User Profile\n *\n * @example\n * ```ts\n * const betaUserProfile =\n * await client.beta.userProfiles.create();\n * ```\n */\n create(params, options) {\n const { betas, ...body } = params;\n return this._client.post('/v1/user_profiles?beta=true', {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'user-profiles-2026-03-24'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Get User Profile\n *\n * @example\n * ```ts\n * const betaUserProfile =\n * await client.beta.userProfiles.retrieve(\n * 'uprof_011CZkZCu8hGbp5mYRQgUmz9',\n * );\n * ```\n */\n retrieve(userProfileID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.get(path `/v1/user_profiles/${userProfileID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'user-profiles-2026-03-24'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Update User Profile\n *\n * @example\n * ```ts\n * const betaUserProfile =\n * await client.beta.userProfiles.update(\n * 'uprof_011CZkZCu8hGbp5mYRQgUmz9',\n * );\n * ```\n */\n update(userProfileID, params, options) {\n const { betas, ...body } = params;\n return this._client.post(path `/v1/user_profiles/${userProfileID}?beta=true`, {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'user-profiles-2026-03-24'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * List User Profiles\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaUserProfile of client.beta.userProfiles.list()) {\n * // ...\n * }\n * ```\n */\n list(params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList('/v1/user_profiles?beta=true', (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'user-profiles-2026-03-24'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Create Enrollment URL\n *\n * @example\n * ```ts\n * const betaUserProfileEnrollmentURL =\n * await client.beta.userProfiles.createEnrollmentURL(\n * 'uprof_011CZkZCu8hGbp5mYRQgUmz9',\n * );\n * ```\n */\n createEnrollmentURL(userProfileID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.post(path `/v1/user_profiles/${userProfileID}/enrollment_url?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'user-profiles-2026-03-24'].toString() },\n options?.headers,\n ]),\n });\n }\n}\n//# sourceMappingURL=user-profiles.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport { PageCursor } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class Versions extends APIResource {\n /**\n * List Agent Versions\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaManagedAgentsAgent of client.beta.agents.versions.list(\n * 'agent_011CZkYpogX7uDKUyvBTophP',\n * )) {\n * // ...\n * }\n * ```\n */\n list(agentID, params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList(path `/v1/agents/${agentID}/versions?beta=true`, (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n}\n//# sourceMappingURL=versions.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport * as VersionsAPI from \"./versions.mjs\";\nimport { Versions } from \"./versions.mjs\";\nimport { PageCursor } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class Agents extends APIResource {\n constructor() {\n super(...arguments);\n this.versions = new VersionsAPI.Versions(this._client);\n }\n /**\n * Create Agent\n *\n * @example\n * ```ts\n * const betaManagedAgentsAgent =\n * await client.beta.agents.create({\n * model: 'claude-sonnet-4-6',\n * name: 'My First Agent',\n * });\n * ```\n */\n create(params, options) {\n const { betas, ...body } = params;\n return this._client.post('/v1/agents?beta=true', {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Get Agent\n *\n * @example\n * ```ts\n * const betaManagedAgentsAgent =\n * await client.beta.agents.retrieve(\n * 'agent_011CZkYpogX7uDKUyvBTophP',\n * );\n * ```\n */\n retrieve(agentID, params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.get(path `/v1/agents/${agentID}?beta=true`, {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Update Agent\n *\n * @example\n * ```ts\n * const betaManagedAgentsAgent =\n * await client.beta.agents.update(\n * 'agent_011CZkYpogX7uDKUyvBTophP',\n * { version: 1 },\n * );\n * ```\n */\n update(agentID, params, options) {\n const { betas, ...body } = params;\n return this._client.post(path `/v1/agents/${agentID}?beta=true`, {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * List Agents\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaManagedAgentsAgent of client.beta.agents.list()) {\n * // ...\n * }\n * ```\n */\n list(params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList('/v1/agents?beta=true', (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Archive Agent\n *\n * @example\n * ```ts\n * const betaManagedAgentsAgent =\n * await client.beta.agents.archive(\n * 'agent_011CZkYpogX7uDKUyvBTophP',\n * );\n * ```\n */\n archive(agentID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.post(path `/v1/agents/${agentID}/archive?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n}\nAgents.Versions = Versions;\n//# sourceMappingURL=agents.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport { PageCursor } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class Memories extends APIResource {\n /**\n * CreateMemory\n *\n * @example\n * ```ts\n * const betaManagedAgentsMemory =\n * await client.beta.memoryStores.memories.create(\n * 'memory_store_id',\n * { content: 'content', path: 'xx' },\n * );\n * ```\n */\n create(memoryStoreID, params, options) {\n const { view, betas, ...body } = params;\n return this._client.post(path `/v1/memory_stores/${memoryStoreID}/memories?beta=true`, {\n query: { view },\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * GetMemory\n *\n * @example\n * ```ts\n * const betaManagedAgentsMemory =\n * await client.beta.memoryStores.memories.retrieve(\n * 'memory_id',\n * { memory_store_id: 'memory_store_id' },\n * );\n * ```\n */\n retrieve(memoryID, params, options) {\n const { memory_store_id, betas, ...query } = params;\n return this._client.get(path `/v1/memory_stores/${memory_store_id}/memories/${memoryID}?beta=true`, {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * UpdateMemory\n *\n * @example\n * ```ts\n * const betaManagedAgentsMemory =\n * await client.beta.memoryStores.memories.update(\n * 'memory_id',\n * { memory_store_id: 'memory_store_id' },\n * );\n * ```\n */\n update(memoryID, params, options) {\n const { memory_store_id, view, betas, ...body } = params;\n return this._client.post(path `/v1/memory_stores/${memory_store_id}/memories/${memoryID}?beta=true`, {\n query: { view },\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * ListMemories\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaManagedAgentsMemoryListItem of client.beta.memoryStores.memories.list(\n * 'memory_store_id',\n * )) {\n * // ...\n * }\n * ```\n */\n list(memoryStoreID, params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList(path `/v1/memory_stores/${memoryStoreID}/memories?beta=true`, (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * DeleteMemory\n *\n * @example\n * ```ts\n * const betaManagedAgentsDeletedMemory =\n * await client.beta.memoryStores.memories.delete(\n * 'memory_id',\n * { memory_store_id: 'memory_store_id' },\n * );\n * ```\n */\n delete(memoryID, params, options) {\n const { memory_store_id, expected_content_sha256, betas } = params;\n return this._client.delete(path `/v1/memory_stores/${memory_store_id}/memories/${memoryID}?beta=true`, {\n query: { expected_content_sha256 },\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n}\n//# sourceMappingURL=memories.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport { PageCursor } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class MemoryVersions extends APIResource {\n /**\n * GetMemoryVersion\n *\n * @example\n * ```ts\n * const betaManagedAgentsMemoryVersion =\n * await client.beta.memoryStores.memoryVersions.retrieve(\n * 'memory_version_id',\n * { memory_store_id: 'memory_store_id' },\n * );\n * ```\n */\n retrieve(memoryVersionID, params, options) {\n const { memory_store_id, betas, ...query } = params;\n return this._client.get(path `/v1/memory_stores/${memory_store_id}/memory_versions/${memoryVersionID}?beta=true`, {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * ListMemoryVersions\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaManagedAgentsMemoryVersion of client.beta.memoryStores.memoryVersions.list(\n * 'memory_store_id',\n * )) {\n * // ...\n * }\n * ```\n */\n list(memoryStoreID, params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList(path `/v1/memory_stores/${memoryStoreID}/memory_versions?beta=true`, (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * RedactMemoryVersion\n *\n * @example\n * ```ts\n * const betaManagedAgentsMemoryVersion =\n * await client.beta.memoryStores.memoryVersions.redact(\n * 'memory_version_id',\n * { memory_store_id: 'memory_store_id' },\n * );\n * ```\n */\n redact(memoryVersionID, params, options) {\n const { memory_store_id, betas } = params;\n return this._client.post(path `/v1/memory_stores/${memory_store_id}/memory_versions/${memoryVersionID}/redact?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n}\n//# sourceMappingURL=memory-versions.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport * as MemoriesAPI from \"./memories.mjs\";\nimport { Memories, } from \"./memories.mjs\";\nimport * as MemoryVersionsAPI from \"./memory-versions.mjs\";\nimport { MemoryVersions, } from \"./memory-versions.mjs\";\nimport { PageCursor } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class MemoryStores extends APIResource {\n constructor() {\n super(...arguments);\n this.memories = new MemoriesAPI.Memories(this._client);\n this.memoryVersions = new MemoryVersionsAPI.MemoryVersions(this._client);\n }\n /**\n * CreateMemoryStore\n *\n * @example\n * ```ts\n * const betaManagedAgentsMemoryStore =\n * await client.beta.memoryStores.create({ name: 'x' });\n * ```\n */\n create(params, options) {\n const { betas, ...body } = params;\n return this._client.post('/v1/memory_stores?beta=true', {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * GetMemoryStore\n *\n * @example\n * ```ts\n * const betaManagedAgentsMemoryStore =\n * await client.beta.memoryStores.retrieve(\n * 'memory_store_id',\n * );\n * ```\n */\n retrieve(memoryStoreID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.get(path `/v1/memory_stores/${memoryStoreID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * UpdateMemoryStore\n *\n * @example\n * ```ts\n * const betaManagedAgentsMemoryStore =\n * await client.beta.memoryStores.update('memory_store_id');\n * ```\n */\n update(memoryStoreID, params, options) {\n const { betas, ...body } = params;\n return this._client.post(path `/v1/memory_stores/${memoryStoreID}?beta=true`, {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * ListMemoryStores\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaManagedAgentsMemoryStore of client.beta.memoryStores.list()) {\n * // ...\n * }\n * ```\n */\n list(params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList('/v1/memory_stores?beta=true', (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * DeleteMemoryStore\n *\n * @example\n * ```ts\n * const betaManagedAgentsDeletedMemoryStore =\n * await client.beta.memoryStores.delete('memory_store_id');\n * ```\n */\n delete(memoryStoreID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.delete(path `/v1/memory_stores/${memoryStoreID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * ArchiveMemoryStore\n *\n * @example\n * ```ts\n * const betaManagedAgentsMemoryStore =\n * await client.beta.memoryStores.archive('memory_store_id');\n * ```\n */\n archive(memoryStoreID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.post(path `/v1/memory_stores/${memoryStoreID}/archive?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n}\nMemoryStores.Memories = Memories;\nMemoryStores.MemoryVersions = MemoryVersions;\n//# sourceMappingURL=memory-stores.mjs.map","// File containing shared constants\n/**\n * Model-specific timeout constraints for non-streaming requests\n */\nexport const MODEL_NONSTREAMING_TOKENS = {\n 'claude-opus-4-20250514': 8192,\n 'claude-opus-4-0': 8192,\n 'claude-4-opus-20250514': 8192,\n 'anthropic.claude-opus-4-20250514-v1:0': 8192,\n 'claude-opus-4@20250514': 8192,\n 'claude-opus-4-1-20250805': 8192,\n 'anthropic.claude-opus-4-1-20250805-v1:0': 8192,\n 'claude-opus-4-1@20250805': 8192,\n};\n//# sourceMappingURL=constants.mjs.map","import { AnthropicError } from \"../core/error.mjs\";\nfunction getOutputFormat(params) {\n // Prefer output_format (deprecated) over output_config.format for backward compatibility\n return params?.output_format ?? params?.output_config?.format;\n}\nexport function maybeParseBetaMessage(message, params, opts) {\n const outputFormat = getOutputFormat(params);\n if (!params || !('parse' in (outputFormat ?? {}))) {\n return {\n ...message,\n content: message.content.map((block) => {\n if (block.type === 'text') {\n const parsedBlock = Object.defineProperty({ ...block }, 'parsed_output', {\n value: null,\n enumerable: false,\n });\n return Object.defineProperty(parsedBlock, 'parsed', {\n get() {\n opts.logger.warn('The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead.');\n return null;\n },\n enumerable: false,\n });\n }\n return block;\n }),\n parsed_output: null,\n };\n }\n return parseBetaMessage(message, params, opts);\n}\nexport function parseBetaMessage(message, params, opts) {\n let firstParsedOutput = null;\n const content = message.content.map((block) => {\n if (block.type === 'text') {\n const parsedOutput = parseBetaOutputFormat(params, block.text);\n if (firstParsedOutput === null) {\n firstParsedOutput = parsedOutput;\n }\n const parsedBlock = Object.defineProperty({ ...block }, 'parsed_output', {\n value: parsedOutput,\n enumerable: false,\n });\n return Object.defineProperty(parsedBlock, 'parsed', {\n get() {\n opts.logger.warn('The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead.');\n return parsedOutput;\n },\n enumerable: false,\n });\n }\n return block;\n });\n return {\n ...message,\n content,\n parsed_output: firstParsedOutput,\n };\n}\nfunction parseBetaOutputFormat(params, content) {\n const outputFormat = getOutputFormat(params);\n if (outputFormat?.type !== 'json_schema') {\n return null;\n }\n try {\n if ('parse' in outputFormat) {\n return outputFormat.parse(content);\n }\n return JSON.parse(content);\n }\n catch (error) {\n throw new AnthropicError(`Failed to parse structured output: ${error}`);\n }\n}\n//# sourceMappingURL=beta-parser.mjs.map","const tokenize = (input) => {\n let current = 0;\n let tokens = [];\n while (current < input.length) {\n let char = input[current];\n if (char === '\\\\') {\n current++;\n continue;\n }\n if (char === '{') {\n tokens.push({\n type: 'brace',\n value: '{',\n });\n current++;\n continue;\n }\n if (char === '}') {\n tokens.push({\n type: 'brace',\n value: '}',\n });\n current++;\n continue;\n }\n if (char === '[') {\n tokens.push({\n type: 'paren',\n value: '[',\n });\n current++;\n continue;\n }\n if (char === ']') {\n tokens.push({\n type: 'paren',\n value: ']',\n });\n current++;\n continue;\n }\n if (char === ':') {\n tokens.push({\n type: 'separator',\n value: ':',\n });\n current++;\n continue;\n }\n if (char === ',') {\n tokens.push({\n type: 'delimiter',\n value: ',',\n });\n current++;\n continue;\n }\n if (char === '\"') {\n let value = '';\n let danglingQuote = false;\n char = input[++current];\n while (char !== '\"') {\n if (current === input.length) {\n danglingQuote = true;\n break;\n }\n if (char === '\\\\') {\n current++;\n if (current === input.length) {\n danglingQuote = true;\n break;\n }\n value += char + input[current];\n char = input[++current];\n }\n else {\n value += char;\n char = input[++current];\n }\n }\n char = input[++current];\n if (!danglingQuote) {\n tokens.push({\n type: 'string',\n value,\n });\n }\n continue;\n }\n let WHITESPACE = /\\s/;\n if (char && WHITESPACE.test(char)) {\n current++;\n continue;\n }\n let NUMBERS = /[0-9]/;\n if ((char && NUMBERS.test(char)) || char === '-' || char === '.') {\n let value = '';\n if (char === '-') {\n value += char;\n char = input[++current];\n }\n while ((char && NUMBERS.test(char)) || char === '.') {\n value += char;\n char = input[++current];\n }\n tokens.push({\n type: 'number',\n value,\n });\n continue;\n }\n let LETTERS = /[a-z]/i;\n if (char && LETTERS.test(char)) {\n let value = '';\n while (char && LETTERS.test(char)) {\n if (current === input.length) {\n break;\n }\n value += char;\n char = input[++current];\n }\n if (value == 'true' || value == 'false' || value === 'null') {\n tokens.push({\n type: 'name',\n value,\n });\n }\n else {\n // unknown token, e.g. `nul` which isn't quite `null`\n current++;\n continue;\n }\n continue;\n }\n current++;\n }\n return tokens;\n}, strip = (tokens) => {\n if (tokens.length === 0) {\n return tokens;\n }\n let lastToken = tokens[tokens.length - 1];\n switch (lastToken.type) {\n case 'separator':\n tokens = tokens.slice(0, tokens.length - 1);\n return strip(tokens);\n break;\n case 'number':\n let lastCharacterOfLastToken = lastToken.value[lastToken.value.length - 1];\n if (lastCharacterOfLastToken === '.' || lastCharacterOfLastToken === '-') {\n tokens = tokens.slice(0, tokens.length - 1);\n return strip(tokens);\n }\n case 'string':\n let tokenBeforeTheLastToken = tokens[tokens.length - 2];\n if (tokenBeforeTheLastToken?.type === 'delimiter') {\n tokens = tokens.slice(0, tokens.length - 1);\n return strip(tokens);\n }\n else if (tokenBeforeTheLastToken?.type === 'brace' && tokenBeforeTheLastToken.value === '{') {\n tokens = tokens.slice(0, tokens.length - 1);\n return strip(tokens);\n }\n break;\n case 'delimiter':\n tokens = tokens.slice(0, tokens.length - 1);\n return strip(tokens);\n break;\n }\n return tokens;\n}, unstrip = (tokens) => {\n let tail = [];\n tokens.map((token) => {\n if (token.type === 'brace') {\n if (token.value === '{') {\n tail.push('}');\n }\n else {\n tail.splice(tail.lastIndexOf('}'), 1);\n }\n }\n if (token.type === 'paren') {\n if (token.value === '[') {\n tail.push(']');\n }\n else {\n tail.splice(tail.lastIndexOf(']'), 1);\n }\n }\n });\n if (tail.length > 0) {\n tail.reverse().map((item) => {\n if (item === '}') {\n tokens.push({\n type: 'brace',\n value: '}',\n });\n }\n else if (item === ']') {\n tokens.push({\n type: 'paren',\n value: ']',\n });\n }\n });\n }\n return tokens;\n}, generate = (tokens) => {\n let output = '';\n tokens.map((token) => {\n switch (token.type) {\n case 'string':\n output += '\"' + token.value + '\"';\n break;\n default:\n output += token.value;\n break;\n }\n });\n return output;\n}, partialParse = (input) => JSON.parse(generate(unstrip(strip(tokenize(input)))));\nexport { partialParse };\n//# sourceMappingURL=parser.mjs.map","var _BetaMessageStream_instances, _BetaMessageStream_currentMessageSnapshot, _BetaMessageStream_params, _BetaMessageStream_connectedPromise, _BetaMessageStream_resolveConnectedPromise, _BetaMessageStream_rejectConnectedPromise, _BetaMessageStream_endPromise, _BetaMessageStream_resolveEndPromise, _BetaMessageStream_rejectEndPromise, _BetaMessageStream_listeners, _BetaMessageStream_ended, _BetaMessageStream_errored, _BetaMessageStream_aborted, _BetaMessageStream_catchingPromiseCreated, _BetaMessageStream_response, _BetaMessageStream_request_id, _BetaMessageStream_logger, _BetaMessageStream_getFinalMessage, _BetaMessageStream_getFinalText, _BetaMessageStream_handleError, _BetaMessageStream_beginRequest, _BetaMessageStream_addStreamEvent, _BetaMessageStream_endRequest, _BetaMessageStream_accumulateMessage;\nimport { __classPrivateFieldGet, __classPrivateFieldSet } from \"../internal/tslib.mjs\";\nimport { partialParse } from \"../_vendor/partial-json-parser/parser.mjs\";\nimport { AnthropicError, APIUserAbortError } from \"../error.mjs\";\nimport { isAbortError } from \"../internal/errors.mjs\";\nimport { Stream } from \"../streaming.mjs\";\nimport { maybeParseBetaMessage } from \"./beta-parser.mjs\";\nconst JSON_BUF_PROPERTY = '__json_buf';\nfunction tracksToolInput(content) {\n return content.type === 'tool_use' || content.type === 'server_tool_use' || content.type === 'mcp_tool_use';\n}\nexport class BetaMessageStream {\n constructor(params, opts) {\n _BetaMessageStream_instances.add(this);\n this.messages = [];\n this.receivedMessages = [];\n _BetaMessageStream_currentMessageSnapshot.set(this, void 0);\n _BetaMessageStream_params.set(this, null);\n this.controller = new AbortController();\n _BetaMessageStream_connectedPromise.set(this, void 0);\n _BetaMessageStream_resolveConnectedPromise.set(this, () => { });\n _BetaMessageStream_rejectConnectedPromise.set(this, () => { });\n _BetaMessageStream_endPromise.set(this, void 0);\n _BetaMessageStream_resolveEndPromise.set(this, () => { });\n _BetaMessageStream_rejectEndPromise.set(this, () => { });\n _BetaMessageStream_listeners.set(this, {});\n _BetaMessageStream_ended.set(this, false);\n _BetaMessageStream_errored.set(this, false);\n _BetaMessageStream_aborted.set(this, false);\n _BetaMessageStream_catchingPromiseCreated.set(this, false);\n _BetaMessageStream_response.set(this, void 0);\n _BetaMessageStream_request_id.set(this, void 0);\n _BetaMessageStream_logger.set(this, void 0);\n _BetaMessageStream_handleError.set(this, (error) => {\n __classPrivateFieldSet(this, _BetaMessageStream_errored, true, \"f\");\n if (isAbortError(error)) {\n error = new APIUserAbortError();\n }\n if (error instanceof APIUserAbortError) {\n __classPrivateFieldSet(this, _BetaMessageStream_aborted, true, \"f\");\n return this._emit('abort', error);\n }\n if (error instanceof AnthropicError) {\n return this._emit('error', error);\n }\n if (error instanceof Error) {\n const anthropicError = new AnthropicError(error.message);\n // @ts-ignore\n anthropicError.cause = error;\n return this._emit('error', anthropicError);\n }\n return this._emit('error', new AnthropicError(String(error)));\n });\n __classPrivateFieldSet(this, _BetaMessageStream_connectedPromise, new Promise((resolve, reject) => {\n __classPrivateFieldSet(this, _BetaMessageStream_resolveConnectedPromise, resolve, \"f\");\n __classPrivateFieldSet(this, _BetaMessageStream_rejectConnectedPromise, reject, \"f\");\n }), \"f\");\n __classPrivateFieldSet(this, _BetaMessageStream_endPromise, new Promise((resolve, reject) => {\n __classPrivateFieldSet(this, _BetaMessageStream_resolveEndPromise, resolve, \"f\");\n __classPrivateFieldSet(this, _BetaMessageStream_rejectEndPromise, reject, \"f\");\n }), \"f\");\n // Don't let these promises cause unhandled rejection errors.\n // we will manually cause an unhandled rejection error later\n // if the user hasn't registered any error listener or called\n // any promise-returning method.\n __classPrivateFieldGet(this, _BetaMessageStream_connectedPromise, \"f\").catch(() => { });\n __classPrivateFieldGet(this, _BetaMessageStream_endPromise, \"f\").catch(() => { });\n __classPrivateFieldSet(this, _BetaMessageStream_params, params, \"f\");\n __classPrivateFieldSet(this, _BetaMessageStream_logger, opts?.logger ?? console, \"f\");\n }\n get response() {\n return __classPrivateFieldGet(this, _BetaMessageStream_response, \"f\");\n }\n get request_id() {\n return __classPrivateFieldGet(this, _BetaMessageStream_request_id, \"f\");\n }\n /**\n * Returns the `MessageStream` data, the raw `Response` instance and the ID of the request,\n * returned vie the `request-id` header which is useful for debugging requests and resporting\n * issues to Anthropic.\n *\n * This is the same as the `APIPromise.withResponse()` method.\n *\n * This method will raise an error if you created the stream using `MessageStream.fromReadableStream`\n * as no `Response` is available.\n */\n async withResponse() {\n __classPrivateFieldSet(this, _BetaMessageStream_catchingPromiseCreated, true, \"f\");\n const response = await __classPrivateFieldGet(this, _BetaMessageStream_connectedPromise, \"f\");\n if (!response) {\n throw new Error('Could not resolve a `Response` object');\n }\n return {\n data: this,\n response,\n request_id: response.headers.get('request-id'),\n };\n }\n /**\n * Intended for use on the frontend, consuming a stream produced with\n * `.toReadableStream()` on the backend.\n *\n * Note that messages sent to the model do not appear in `.on('message')`\n * in this context.\n */\n static fromReadableStream(stream) {\n const runner = new BetaMessageStream(null);\n runner._run(() => runner._fromReadableStream(stream));\n return runner;\n }\n static createMessage(messages, params, options, { logger } = {}) {\n const runner = new BetaMessageStream(params, { logger });\n for (const message of params.messages) {\n runner._addMessageParam(message);\n }\n __classPrivateFieldSet(runner, _BetaMessageStream_params, { ...params, stream: true }, \"f\");\n runner._run(() => runner._createMessage(messages, { ...params, stream: true }, { ...options, headers: { ...options?.headers, 'X-Stainless-Helper-Method': 'stream' } }));\n return runner;\n }\n _run(executor) {\n executor().then(() => {\n this._emitFinal();\n this._emit('end');\n }, __classPrivateFieldGet(this, _BetaMessageStream_handleError, \"f\"));\n }\n _addMessageParam(message) {\n this.messages.push(message);\n }\n _addMessage(message, emit = true) {\n this.receivedMessages.push(message);\n if (emit) {\n this._emit('message', message);\n }\n }\n async _createMessage(messages, params, options) {\n const signal = options?.signal;\n let abortHandler;\n if (signal) {\n if (signal.aborted)\n this.controller.abort();\n abortHandler = this.controller.abort.bind(this.controller);\n signal.addEventListener('abort', abortHandler);\n }\n try {\n __classPrivateFieldGet(this, _BetaMessageStream_instances, \"m\", _BetaMessageStream_beginRequest).call(this);\n const { response, data: stream } = await messages\n .create({ ...params, stream: true }, { ...options, signal: this.controller.signal })\n .withResponse();\n this._connected(response);\n for await (const event of stream) {\n __classPrivateFieldGet(this, _BetaMessageStream_instances, \"m\", _BetaMessageStream_addStreamEvent).call(this, event);\n }\n if (stream.controller.signal?.aborted) {\n throw new APIUserAbortError();\n }\n __classPrivateFieldGet(this, _BetaMessageStream_instances, \"m\", _BetaMessageStream_endRequest).call(this);\n }\n finally {\n if (signal && abortHandler) {\n signal.removeEventListener('abort', abortHandler);\n }\n }\n }\n _connected(response) {\n if (this.ended)\n return;\n __classPrivateFieldSet(this, _BetaMessageStream_response, response, \"f\");\n __classPrivateFieldSet(this, _BetaMessageStream_request_id, response?.headers.get('request-id'), \"f\");\n __classPrivateFieldGet(this, _BetaMessageStream_resolveConnectedPromise, \"f\").call(this, response);\n this._emit('connect');\n }\n get ended() {\n return __classPrivateFieldGet(this, _BetaMessageStream_ended, \"f\");\n }\n get errored() {\n return __classPrivateFieldGet(this, _BetaMessageStream_errored, \"f\");\n }\n get aborted() {\n return __classPrivateFieldGet(this, _BetaMessageStream_aborted, \"f\");\n }\n abort() {\n this.controller.abort();\n }\n /**\n * Adds the listener function to the end of the listeners array for the event.\n * No checks are made to see if the listener has already been added. Multiple calls passing\n * the same combination of event and listener will result in the listener being added, and\n * called, multiple times.\n * @returns this MessageStream, so that calls can be chained\n */\n on(event, listener) {\n const listeners = __classPrivateFieldGet(this, _BetaMessageStream_listeners, \"f\")[event] || (__classPrivateFieldGet(this, _BetaMessageStream_listeners, \"f\")[event] = []);\n listeners.push({ listener });\n return this;\n }\n /**\n * Removes the specified listener from the listener array for the event.\n * off() will remove, at most, one instance of a listener from the listener array. If any single\n * listener has been added multiple times to the listener array for the specified event, then\n * off() must be called multiple times to remove each instance.\n * @returns this MessageStream, so that calls can be chained\n */\n off(event, listener) {\n const listeners = __classPrivateFieldGet(this, _BetaMessageStream_listeners, \"f\")[event];\n if (!listeners)\n return this;\n const index = listeners.findIndex((l) => l.listener === listener);\n if (index >= 0)\n listeners.splice(index, 1);\n return this;\n }\n /**\n * Adds a one-time listener function for the event. The next time the event is triggered,\n * this listener is removed and then invoked.\n * @returns this MessageStream, so that calls can be chained\n */\n once(event, listener) {\n const listeners = __classPrivateFieldGet(this, _BetaMessageStream_listeners, \"f\")[event] || (__classPrivateFieldGet(this, _BetaMessageStream_listeners, \"f\")[event] = []);\n listeners.push({ listener, once: true });\n return this;\n }\n /**\n * This is similar to `.once()`, but returns a Promise that resolves the next time\n * the event is triggered, instead of calling a listener callback.\n * @returns a Promise that resolves the next time given event is triggered,\n * or rejects if an error is emitted. (If you request the 'error' event,\n * returns a promise that resolves with the error).\n *\n * Example:\n *\n * const message = await stream.emitted('message') // rejects if the stream errors\n */\n emitted(event) {\n return new Promise((resolve, reject) => {\n __classPrivateFieldSet(this, _BetaMessageStream_catchingPromiseCreated, true, \"f\");\n if (event !== 'error')\n this.once('error', reject);\n this.once(event, resolve);\n });\n }\n async done() {\n __classPrivateFieldSet(this, _BetaMessageStream_catchingPromiseCreated, true, \"f\");\n await __classPrivateFieldGet(this, _BetaMessageStream_endPromise, \"f\");\n }\n get currentMessage() {\n return __classPrivateFieldGet(this, _BetaMessageStream_currentMessageSnapshot, \"f\");\n }\n /**\n * @returns a promise that resolves with the the final assistant Message response,\n * or rejects if an error occurred or the stream ended prematurely without producing a Message.\n * If structured outputs were used, this will be a ParsedMessage with a `parsed` field.\n */\n async finalMessage() {\n await this.done();\n return __classPrivateFieldGet(this, _BetaMessageStream_instances, \"m\", _BetaMessageStream_getFinalMessage).call(this);\n }\n /**\n * @returns a promise that resolves with the the final assistant Message's text response, concatenated\n * together if there are more than one text blocks.\n * Rejects if an error occurred or the stream ended prematurely without producing a Message.\n */\n async finalText() {\n await this.done();\n return __classPrivateFieldGet(this, _BetaMessageStream_instances, \"m\", _BetaMessageStream_getFinalText).call(this);\n }\n _emit(event, ...args) {\n // make sure we don't emit any MessageStreamEvents after end\n if (__classPrivateFieldGet(this, _BetaMessageStream_ended, \"f\"))\n return;\n if (event === 'end') {\n __classPrivateFieldSet(this, _BetaMessageStream_ended, true, \"f\");\n __classPrivateFieldGet(this, _BetaMessageStream_resolveEndPromise, \"f\").call(this);\n }\n const listeners = __classPrivateFieldGet(this, _BetaMessageStream_listeners, \"f\")[event];\n if (listeners) {\n __classPrivateFieldGet(this, _BetaMessageStream_listeners, \"f\")[event] = listeners.filter((l) => !l.once);\n listeners.forEach(({ listener }) => listener(...args));\n }\n if (event === 'abort') {\n const error = args[0];\n if (!__classPrivateFieldGet(this, _BetaMessageStream_catchingPromiseCreated, \"f\") && !listeners?.length) {\n Promise.reject(error);\n }\n __classPrivateFieldGet(this, _BetaMessageStream_rejectConnectedPromise, \"f\").call(this, error);\n __classPrivateFieldGet(this, _BetaMessageStream_rejectEndPromise, \"f\").call(this, error);\n this._emit('end');\n return;\n }\n if (event === 'error') {\n // NOTE: _emit('error', error) should only be called from #handleError().\n const error = args[0];\n if (!__classPrivateFieldGet(this, _BetaMessageStream_catchingPromiseCreated, \"f\") && !listeners?.length) {\n // Trigger an unhandled rejection if the user hasn't registered any error handlers.\n // If you are seeing stack traces here, make sure to handle errors via either:\n // - runner.on('error', () => ...)\n // - await runner.done()\n // - await runner.final...()\n // - etc.\n Promise.reject(error);\n }\n __classPrivateFieldGet(this, _BetaMessageStream_rejectConnectedPromise, \"f\").call(this, error);\n __classPrivateFieldGet(this, _BetaMessageStream_rejectEndPromise, \"f\").call(this, error);\n this._emit('end');\n }\n }\n _emitFinal() {\n const finalMessage = this.receivedMessages.at(-1);\n if (finalMessage) {\n this._emit('finalMessage', __classPrivateFieldGet(this, _BetaMessageStream_instances, \"m\", _BetaMessageStream_getFinalMessage).call(this));\n }\n }\n async _fromReadableStream(readableStream, options) {\n const signal = options?.signal;\n let abortHandler;\n if (signal) {\n if (signal.aborted)\n this.controller.abort();\n abortHandler = this.controller.abort.bind(this.controller);\n signal.addEventListener('abort', abortHandler);\n }\n try {\n __classPrivateFieldGet(this, _BetaMessageStream_instances, \"m\", _BetaMessageStream_beginRequest).call(this);\n this._connected(null);\n const stream = Stream.fromReadableStream(readableStream, this.controller);\n for await (const event of stream) {\n __classPrivateFieldGet(this, _BetaMessageStream_instances, \"m\", _BetaMessageStream_addStreamEvent).call(this, event);\n }\n if (stream.controller.signal?.aborted) {\n throw new APIUserAbortError();\n }\n __classPrivateFieldGet(this, _BetaMessageStream_instances, \"m\", _BetaMessageStream_endRequest).call(this);\n }\n finally {\n if (signal && abortHandler) {\n signal.removeEventListener('abort', abortHandler);\n }\n }\n }\n [(_BetaMessageStream_currentMessageSnapshot = new WeakMap(), _BetaMessageStream_params = new WeakMap(), _BetaMessageStream_connectedPromise = new WeakMap(), _BetaMessageStream_resolveConnectedPromise = new WeakMap(), _BetaMessageStream_rejectConnectedPromise = new WeakMap(), _BetaMessageStream_endPromise = new WeakMap(), _BetaMessageStream_resolveEndPromise = new WeakMap(), _BetaMessageStream_rejectEndPromise = new WeakMap(), _BetaMessageStream_listeners = new WeakMap(), _BetaMessageStream_ended = new WeakMap(), _BetaMessageStream_errored = new WeakMap(), _BetaMessageStream_aborted = new WeakMap(), _BetaMessageStream_catchingPromiseCreated = new WeakMap(), _BetaMessageStream_response = new WeakMap(), _BetaMessageStream_request_id = new WeakMap(), _BetaMessageStream_logger = new WeakMap(), _BetaMessageStream_handleError = new WeakMap(), _BetaMessageStream_instances = new WeakSet(), _BetaMessageStream_getFinalMessage = function _BetaMessageStream_getFinalMessage() {\n if (this.receivedMessages.length === 0) {\n throw new AnthropicError('stream ended without producing a Message with role=assistant');\n }\n return this.receivedMessages.at(-1);\n }, _BetaMessageStream_getFinalText = function _BetaMessageStream_getFinalText() {\n if (this.receivedMessages.length === 0) {\n throw new AnthropicError('stream ended without producing a Message with role=assistant');\n }\n const textBlocks = this.receivedMessages\n .at(-1)\n .content.filter((block) => block.type === 'text')\n .map((block) => block.text);\n if (textBlocks.length === 0) {\n throw new AnthropicError('stream ended without producing a content block with type=text');\n }\n return textBlocks.join(' ');\n }, _BetaMessageStream_beginRequest = function _BetaMessageStream_beginRequest() {\n if (this.ended)\n return;\n __classPrivateFieldSet(this, _BetaMessageStream_currentMessageSnapshot, undefined, \"f\");\n }, _BetaMessageStream_addStreamEvent = function _BetaMessageStream_addStreamEvent(event) {\n if (this.ended)\n return;\n const messageSnapshot = __classPrivateFieldGet(this, _BetaMessageStream_instances, \"m\", _BetaMessageStream_accumulateMessage).call(this, event);\n this._emit('streamEvent', event, messageSnapshot);\n switch (event.type) {\n case 'content_block_delta': {\n const content = messageSnapshot.content.at(-1);\n switch (event.delta.type) {\n case 'text_delta': {\n if (content.type === 'text') {\n this._emit('text', event.delta.text, content.text || '');\n }\n break;\n }\n case 'citations_delta': {\n if (content.type === 'text') {\n this._emit('citation', event.delta.citation, content.citations ?? []);\n }\n break;\n }\n case 'input_json_delta': {\n if (tracksToolInput(content) && content.input) {\n this._emit('inputJson', event.delta.partial_json, content.input);\n }\n break;\n }\n case 'thinking_delta': {\n if (content.type === 'thinking') {\n this._emit('thinking', event.delta.thinking, content.thinking);\n }\n break;\n }\n case 'signature_delta': {\n if (content.type === 'thinking') {\n this._emit('signature', content.signature);\n }\n break;\n }\n case 'compaction_delta': {\n if (content.type === 'compaction' && content.content) {\n this._emit('compaction', content.content);\n }\n break;\n }\n default:\n checkNever(event.delta);\n }\n break;\n }\n case 'message_stop': {\n this._addMessageParam(messageSnapshot);\n this._addMessage(maybeParseBetaMessage(messageSnapshot, __classPrivateFieldGet(this, _BetaMessageStream_params, \"f\"), { logger: __classPrivateFieldGet(this, _BetaMessageStream_logger, \"f\") }), true);\n break;\n }\n case 'content_block_stop': {\n this._emit('contentBlock', messageSnapshot.content.at(-1));\n break;\n }\n case 'message_start': {\n __classPrivateFieldSet(this, _BetaMessageStream_currentMessageSnapshot, messageSnapshot, \"f\");\n break;\n }\n case 'content_block_start':\n case 'message_delta':\n break;\n }\n }, _BetaMessageStream_endRequest = function _BetaMessageStream_endRequest() {\n if (this.ended) {\n throw new AnthropicError(`stream has ended, this shouldn't happen`);\n }\n const snapshot = __classPrivateFieldGet(this, _BetaMessageStream_currentMessageSnapshot, \"f\");\n if (!snapshot) {\n throw new AnthropicError(`request ended without sending any chunks`);\n }\n __classPrivateFieldSet(this, _BetaMessageStream_currentMessageSnapshot, undefined, \"f\");\n return maybeParseBetaMessage(snapshot, __classPrivateFieldGet(this, _BetaMessageStream_params, \"f\"), { logger: __classPrivateFieldGet(this, _BetaMessageStream_logger, \"f\") });\n }, _BetaMessageStream_accumulateMessage = function _BetaMessageStream_accumulateMessage(event) {\n let snapshot = __classPrivateFieldGet(this, _BetaMessageStream_currentMessageSnapshot, \"f\");\n if (event.type === 'message_start') {\n if (snapshot) {\n throw new AnthropicError(`Unexpected event order, got ${event.type} before receiving \"message_stop\"`);\n }\n return event.message;\n }\n if (!snapshot) {\n throw new AnthropicError(`Unexpected event order, got ${event.type} before \"message_start\"`);\n }\n switch (event.type) {\n case 'message_stop':\n return snapshot;\n case 'message_delta':\n snapshot.container = event.delta.container;\n snapshot.stop_reason = event.delta.stop_reason;\n snapshot.stop_sequence = event.delta.stop_sequence;\n snapshot.usage.output_tokens = event.usage.output_tokens;\n snapshot.context_management = event.context_management;\n if (event.usage.input_tokens != null) {\n snapshot.usage.input_tokens = event.usage.input_tokens;\n }\n if (event.usage.cache_creation_input_tokens != null) {\n snapshot.usage.cache_creation_input_tokens = event.usage.cache_creation_input_tokens;\n }\n if (event.usage.cache_read_input_tokens != null) {\n snapshot.usage.cache_read_input_tokens = event.usage.cache_read_input_tokens;\n }\n if (event.usage.server_tool_use != null) {\n snapshot.usage.server_tool_use = event.usage.server_tool_use;\n }\n if (event.usage.iterations != null) {\n snapshot.usage.iterations = event.usage.iterations;\n }\n return snapshot;\n case 'content_block_start':\n snapshot.content.push(event.content_block);\n return snapshot;\n case 'content_block_delta': {\n const snapshotContent = snapshot.content.at(event.index);\n switch (event.delta.type) {\n case 'text_delta': {\n if (snapshotContent?.type === 'text') {\n snapshot.content[event.index] = {\n ...snapshotContent,\n text: (snapshotContent.text || '') + event.delta.text,\n };\n }\n break;\n }\n case 'citations_delta': {\n if (snapshotContent?.type === 'text') {\n snapshot.content[event.index] = {\n ...snapshotContent,\n citations: [...(snapshotContent.citations ?? []), event.delta.citation],\n };\n }\n break;\n }\n case 'input_json_delta': {\n if (snapshotContent && tracksToolInput(snapshotContent)) {\n // we need to keep track of the raw JSON string as well so that we can\n // re-parse it for each delta, for now we just store it as an untyped\n // non-enumerable property on the snapshot\n let jsonBuf = snapshotContent[JSON_BUF_PROPERTY] || '';\n jsonBuf += event.delta.partial_json;\n const newContent = { ...snapshotContent };\n Object.defineProperty(newContent, JSON_BUF_PROPERTY, {\n value: jsonBuf,\n enumerable: false,\n writable: true,\n });\n if (jsonBuf) {\n try {\n newContent.input = partialParse(jsonBuf);\n }\n catch (err) {\n const error = new AnthropicError(`Unable to parse tool parameter JSON from model. Please retry your request or adjust your prompt. Error: ${err}. JSON: ${jsonBuf}`);\n __classPrivateFieldGet(this, _BetaMessageStream_handleError, \"f\").call(this, error);\n }\n }\n snapshot.content[event.index] = newContent;\n }\n break;\n }\n case 'thinking_delta': {\n if (snapshotContent?.type === 'thinking') {\n snapshot.content[event.index] = {\n ...snapshotContent,\n thinking: snapshotContent.thinking + event.delta.thinking,\n };\n }\n break;\n }\n case 'signature_delta': {\n if (snapshotContent?.type === 'thinking') {\n snapshot.content[event.index] = {\n ...snapshotContent,\n signature: event.delta.signature,\n };\n }\n break;\n }\n case 'compaction_delta': {\n if (snapshotContent?.type === 'compaction') {\n snapshot.content[event.index] = {\n ...snapshotContent,\n content: (snapshotContent.content || '') + event.delta.content,\n };\n }\n break;\n }\n default:\n checkNever(event.delta);\n }\n return snapshot;\n }\n case 'content_block_stop':\n return snapshot;\n }\n }, Symbol.asyncIterator)]() {\n const pushQueue = [];\n const readQueue = [];\n let done = false;\n this.on('streamEvent', (event) => {\n const reader = readQueue.shift();\n if (reader) {\n reader.resolve(event);\n }\n else {\n pushQueue.push(event);\n }\n });\n this.on('end', () => {\n done = true;\n for (const reader of readQueue) {\n reader.resolve(undefined);\n }\n readQueue.length = 0;\n });\n this.on('abort', (err) => {\n done = true;\n for (const reader of readQueue) {\n reader.reject(err);\n }\n readQueue.length = 0;\n });\n this.on('error', (err) => {\n done = true;\n for (const reader of readQueue) {\n reader.reject(err);\n }\n readQueue.length = 0;\n });\n return {\n next: async () => {\n if (!pushQueue.length) {\n if (done) {\n return { value: undefined, done: true };\n }\n return new Promise((resolve, reject) => readQueue.push({ resolve, reject })).then((chunk) => (chunk ? { value: chunk, done: false } : { value: undefined, done: true }));\n }\n const chunk = pushQueue.shift();\n return { value: chunk, done: false };\n },\n return: async () => {\n this.abort();\n return { value: undefined, done: true };\n },\n };\n }\n toReadableStream() {\n const stream = new Stream(this[Symbol.asyncIterator].bind(this), this.controller);\n return stream.toReadableStream();\n }\n}\n// used to ensure exhaustive case matching without throwing a runtime error\nfunction checkNever(x) { }\n//# sourceMappingURL=BetaMessageStream.mjs.map","/**\n * An error that can be thrown from a tool's `run` method to return structured\n * content blocks as the error result, rather than just a string message.\n *\n * When the ToolRunner catches this error, it will use the `content` property\n * as the tool result with `is_error: true`.\n *\n * @example\n * ```ts\n * const tool = {\n * name: 'my_tool',\n * run: async (input) => {\n * if (somethingWentWrong) {\n * throw new ToolError([\n * { type: 'text', text: 'Error details here' },\n * { type: 'image', source: { type: 'base64', data: '...', media_type: 'image/png' } },\n * ]);\n * }\n * return 'success';\n * },\n * };\n * ```\n */\nexport class ToolError extends Error {\n constructor(content) {\n const message = typeof content === 'string' ? content : (content\n .map((block) => {\n if (block.type === 'text')\n return block.text;\n return `[${block.type}]`;\n })\n .join(' '));\n super(message);\n this.name = 'ToolError';\n this.content = content;\n }\n}\n//# sourceMappingURL=ToolError.mjs.map","export const DEFAULT_TOKEN_THRESHOLD = 100000;\nexport const DEFAULT_SUMMARY_PROMPT = `You have been working on the task described above but have not yet completed it. Write a continuation summary that will allow you (or another instance of yourself) to resume work efficiently in a future context window where the conversation history will be replaced with this summary. Your summary should be structured, concise, and actionable. Include:\n1. Task Overview\nThe user's core request and success criteria\nAny clarifications or constraints they specified\n2. Current State\nWhat has been completed so far\nFiles created, modified, or analyzed (with paths if relevant)\nKey outputs or artifacts produced\n3. Important Discoveries\nTechnical constraints or requirements uncovered\nDecisions made and their rationale\nErrors encountered and how they were resolved\nWhat approaches were tried that didn't work (and why)\n4. Next Steps\nSpecific actions needed to complete the task\nAny blockers or open questions to resolve\nPriority order if multiple steps remain\n5. Context to Preserve\nUser preferences or style requirements\nDomain-specific details that aren't obvious\nAny promises made to the user\nBe concise but complete—err on the side of including information that would prevent duplicate work or repeated mistakes. Write in a way that enables immediate resumption of the task.\nWrap your summary in <summary></summary> tags.`;\n//# sourceMappingURL=CompactionControl.mjs.map","var _BetaToolRunner_instances, _BetaToolRunner_consumed, _BetaToolRunner_mutated, _BetaToolRunner_state, _BetaToolRunner_options, _BetaToolRunner_message, _BetaToolRunner_toolResponse, _BetaToolRunner_completion, _BetaToolRunner_iterationCount, _BetaToolRunner_checkAndCompact, _BetaToolRunner_generateToolResponse;\nimport { __classPrivateFieldGet, __classPrivateFieldSet } from \"../../internal/tslib.mjs\";\nimport { ToolError } from \"./ToolError.mjs\";\nimport { AnthropicError } from \"../../core/error.mjs\";\nimport { buildHeaders } from \"../../internal/headers.mjs\";\nimport { DEFAULT_SUMMARY_PROMPT, DEFAULT_TOKEN_THRESHOLD } from \"./CompactionControl.mjs\";\nimport { collectStainlessHelpers } from \"../stainless-helper-header.mjs\";\n/**\n * Just Promise.withResolvers(), which is not available in all environments.\n */\nfunction promiseWithResolvers() {\n let resolve;\n let reject;\n const promise = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n return { promise, resolve: resolve, reject: reject };\n}\n/**\n * A ToolRunner handles the automatic conversation loop between the assistant and tools.\n *\n * A ToolRunner is an async iterable that yields either BetaMessage or BetaMessageStream objects\n * depending on the streaming configuration.\n */\nexport class BetaToolRunner {\n constructor(client, params, options) {\n _BetaToolRunner_instances.add(this);\n this.client = client;\n /** Whether the async iterator has been consumed */\n _BetaToolRunner_consumed.set(this, false);\n /** Whether parameters have been mutated since the last API call */\n _BetaToolRunner_mutated.set(this, false);\n /** Current state containing the request parameters */\n _BetaToolRunner_state.set(this, void 0);\n _BetaToolRunner_options.set(this, void 0);\n /** Promise for the last message received from the assistant */\n _BetaToolRunner_message.set(this, void 0);\n /** Cached tool response to avoid redundant executions */\n _BetaToolRunner_toolResponse.set(this, void 0);\n /** Promise resolvers for waiting on completion */\n _BetaToolRunner_completion.set(this, void 0);\n /** Number of iterations (API requests) made so far */\n _BetaToolRunner_iterationCount.set(this, 0);\n __classPrivateFieldSet(this, _BetaToolRunner_state, {\n params: {\n // You can't clone the entire params since there are functions as handlers.\n // You also don't really need to clone params.messages, but it probably will prevent a foot gun\n // somewhere.\n ...params,\n messages: structuredClone(params.messages),\n },\n }, \"f\");\n const helpers = collectStainlessHelpers(params.tools, params.messages);\n const helperValue = ['BetaToolRunner', ...helpers].join(', ');\n __classPrivateFieldSet(this, _BetaToolRunner_options, {\n ...options,\n headers: buildHeaders([{ 'x-stainless-helper': helperValue }, options?.headers]),\n }, \"f\");\n __classPrivateFieldSet(this, _BetaToolRunner_completion, promiseWithResolvers(), \"f\");\n if (params.compactionControl?.enabled) {\n console.warn('Anthropic: The `compactionControl` parameter is deprecated and will be removed in a future version. ' +\n 'Use server-side compaction instead by passing `edits: [{ type: \"compact_20260112\" }]` in the params passed to `toolRunner()`. ' +\n 'See https://platform.claude.com/docs/en/build-with-claude/compaction');\n }\n }\n async *[(_BetaToolRunner_consumed = new WeakMap(), _BetaToolRunner_mutated = new WeakMap(), _BetaToolRunner_state = new WeakMap(), _BetaToolRunner_options = new WeakMap(), _BetaToolRunner_message = new WeakMap(), _BetaToolRunner_toolResponse = new WeakMap(), _BetaToolRunner_completion = new WeakMap(), _BetaToolRunner_iterationCount = new WeakMap(), _BetaToolRunner_instances = new WeakSet(), _BetaToolRunner_checkAndCompact = async function _BetaToolRunner_checkAndCompact() {\n const compactionControl = __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params.compactionControl;\n if (!compactionControl || !compactionControl.enabled) {\n return false;\n }\n let tokensUsed = 0;\n if (__classPrivateFieldGet(this, _BetaToolRunner_message, \"f\") !== undefined) {\n try {\n const message = await __classPrivateFieldGet(this, _BetaToolRunner_message, \"f\");\n const totalInputTokens = message.usage.input_tokens +\n (message.usage.cache_creation_input_tokens ?? 0) +\n (message.usage.cache_read_input_tokens ?? 0);\n tokensUsed = totalInputTokens + message.usage.output_tokens;\n }\n catch {\n // If we can't get the message, skip compaction\n return false;\n }\n }\n const threshold = compactionControl.contextTokenThreshold ?? DEFAULT_TOKEN_THRESHOLD;\n if (tokensUsed < threshold) {\n return false;\n }\n const model = compactionControl.model ?? __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params.model;\n const summaryPrompt = compactionControl.summaryPrompt ?? DEFAULT_SUMMARY_PROMPT;\n const messages = __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params.messages;\n if (messages[messages.length - 1].role === 'assistant') {\n // Remove tool_use blocks from the last message to avoid 400 error\n // (tool_use requires tool_result, which we don't have yet)\n const lastMessage = messages[messages.length - 1];\n if (Array.isArray(lastMessage.content)) {\n const nonToolBlocks = lastMessage.content.filter((block) => block.type !== 'tool_use');\n if (nonToolBlocks.length === 0) {\n // If all blocks were tool_use, just remove the message entirely\n messages.pop();\n }\n else {\n lastMessage.content = nonToolBlocks;\n }\n }\n }\n const response = await this.client.beta.messages.create({\n model,\n messages: [\n ...messages,\n {\n role: 'user',\n content: [\n {\n type: 'text',\n text: summaryPrompt,\n },\n ],\n },\n ],\n max_tokens: __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params.max_tokens,\n }, {\n signal: __classPrivateFieldGet(this, _BetaToolRunner_options, \"f\").signal,\n headers: buildHeaders([__classPrivateFieldGet(this, _BetaToolRunner_options, \"f\").headers, { 'x-stainless-helper': 'compaction' }]),\n });\n if (response.content[0]?.type !== 'text') {\n throw new AnthropicError('Expected text response for compaction');\n }\n __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params.messages = [\n {\n role: 'user',\n content: response.content,\n },\n ];\n return true;\n }, Symbol.asyncIterator)]() {\n var _a;\n if (__classPrivateFieldGet(this, _BetaToolRunner_consumed, \"f\")) {\n throw new AnthropicError('Cannot iterate over a consumed stream');\n }\n __classPrivateFieldSet(this, _BetaToolRunner_consumed, true, \"f\");\n __classPrivateFieldSet(this, _BetaToolRunner_mutated, true, \"f\");\n __classPrivateFieldSet(this, _BetaToolRunner_toolResponse, undefined, \"f\");\n try {\n while (true) {\n let stream;\n try {\n if (__classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params.max_iterations &&\n __classPrivateFieldGet(this, _BetaToolRunner_iterationCount, \"f\") >= __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params.max_iterations) {\n break;\n }\n __classPrivateFieldSet(this, _BetaToolRunner_mutated, false, \"f\");\n __classPrivateFieldSet(this, _BetaToolRunner_toolResponse, undefined, \"f\");\n __classPrivateFieldSet(this, _BetaToolRunner_iterationCount, (_a = __classPrivateFieldGet(this, _BetaToolRunner_iterationCount, \"f\"), _a++, _a), \"f\");\n __classPrivateFieldSet(this, _BetaToolRunner_message, undefined, \"f\");\n const { max_iterations, compactionControl, ...params } = __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params;\n if (params.stream) {\n stream = this.client.beta.messages.stream({ ...params }, __classPrivateFieldGet(this, _BetaToolRunner_options, \"f\"));\n __classPrivateFieldSet(this, _BetaToolRunner_message, stream.finalMessage(), \"f\");\n // Make sure that this promise doesn't throw before we get the option to do something about it.\n // Error will be caught when we call await this.#message ultimately\n __classPrivateFieldGet(this, _BetaToolRunner_message, \"f\").catch(() => { });\n yield stream;\n }\n else {\n __classPrivateFieldSet(this, _BetaToolRunner_message, this.client.beta.messages.create({ ...params, stream: false }, __classPrivateFieldGet(this, _BetaToolRunner_options, \"f\")), \"f\");\n yield __classPrivateFieldGet(this, _BetaToolRunner_message, \"f\");\n }\n const isCompacted = await __classPrivateFieldGet(this, _BetaToolRunner_instances, \"m\", _BetaToolRunner_checkAndCompact).call(this);\n if (!isCompacted) {\n if (!__classPrivateFieldGet(this, _BetaToolRunner_mutated, \"f\")) {\n const { role, content } = await __classPrivateFieldGet(this, _BetaToolRunner_message, \"f\");\n __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params.messages.push({ role, content });\n }\n const toolMessage = await __classPrivateFieldGet(this, _BetaToolRunner_instances, \"m\", _BetaToolRunner_generateToolResponse).call(this, __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params.messages.at(-1));\n if (toolMessage) {\n __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params.messages.push(toolMessage);\n }\n else if (!__classPrivateFieldGet(this, _BetaToolRunner_mutated, \"f\")) {\n break;\n }\n }\n }\n finally {\n if (stream) {\n stream.abort();\n }\n }\n }\n if (!__classPrivateFieldGet(this, _BetaToolRunner_message, \"f\")) {\n throw new AnthropicError('ToolRunner concluded without a message from the server');\n }\n __classPrivateFieldGet(this, _BetaToolRunner_completion, \"f\").resolve(await __classPrivateFieldGet(this, _BetaToolRunner_message, \"f\"));\n }\n catch (error) {\n __classPrivateFieldSet(this, _BetaToolRunner_consumed, false, \"f\");\n // Silence unhandled promise errors\n __classPrivateFieldGet(this, _BetaToolRunner_completion, \"f\").promise.catch(() => { });\n __classPrivateFieldGet(this, _BetaToolRunner_completion, \"f\").reject(error);\n __classPrivateFieldSet(this, _BetaToolRunner_completion, promiseWithResolvers(), \"f\");\n throw error;\n }\n }\n setMessagesParams(paramsOrMutator) {\n if (typeof paramsOrMutator === 'function') {\n __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params = paramsOrMutator(__classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params);\n }\n else {\n __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params = paramsOrMutator;\n }\n __classPrivateFieldSet(this, _BetaToolRunner_mutated, true, \"f\");\n // Invalidate cached tool response since parameters changed\n __classPrivateFieldSet(this, _BetaToolRunner_toolResponse, undefined, \"f\");\n }\n setRequestOptions(optionsOrMutator) {\n if (typeof optionsOrMutator === 'function') {\n __classPrivateFieldSet(this, _BetaToolRunner_options, optionsOrMutator(__classPrivateFieldGet(this, _BetaToolRunner_options, \"f\")), \"f\");\n }\n else {\n __classPrivateFieldSet(this, _BetaToolRunner_options, { ...__classPrivateFieldGet(this, _BetaToolRunner_options, \"f\"), ...optionsOrMutator }, \"f\");\n }\n }\n /**\n * Get the tool response for the last message from the assistant.\n * Avoids redundant tool executions by caching results.\n *\n * @returns A promise that resolves to a BetaMessageParam containing tool results, or null if no tools need to be executed\n *\n * @example\n * const toolResponse = await runner.generateToolResponse();\n * if (toolResponse) {\n * console.log('Tool results:', toolResponse.content);\n * }\n */\n async generateToolResponse(signal = __classPrivateFieldGet(this, _BetaToolRunner_options, \"f\").signal) {\n const message = (await __classPrivateFieldGet(this, _BetaToolRunner_message, \"f\")) ?? this.params.messages.at(-1);\n if (!message) {\n return null;\n }\n return __classPrivateFieldGet(this, _BetaToolRunner_instances, \"m\", _BetaToolRunner_generateToolResponse).call(this, message, signal);\n }\n /**\n * Wait for the async iterator to complete. This works even if the async iterator hasn't yet started, and\n * will wait for an instance to start and go to completion.\n *\n * @returns A promise that resolves to the final BetaMessage when the iterator completes\n *\n * @example\n * // Start consuming the iterator\n * for await (const message of runner) {\n * console.log('Message:', message.content);\n * }\n *\n * // Meanwhile, wait for completion from another part of the code\n * const finalMessage = await runner.done();\n * console.log('Final response:', finalMessage.content);\n */\n done() {\n return __classPrivateFieldGet(this, _BetaToolRunner_completion, \"f\").promise;\n }\n /**\n * Returns a promise indicating that the stream is done. Unlike .done(), this will eagerly read the stream:\n * * If the iterator has not been consumed, consume the entire iterator and return the final message from the\n * assistant.\n * * If the iterator has been consumed, waits for it to complete and returns the final message.\n *\n * @returns A promise that resolves to the final BetaMessage from the conversation\n * @throws {AnthropicError} If no messages were processed during the conversation\n *\n * @example\n * const finalMessage = await runner.runUntilDone();\n * console.log('Final response:', finalMessage.content);\n */\n async runUntilDone() {\n // If not yet consumed, start consuming and wait for completion\n if (!__classPrivateFieldGet(this, _BetaToolRunner_consumed, \"f\")) {\n for await (const _ of this) {\n // Iterator naturally populates this.#message\n }\n }\n // If consumed but not completed, wait for completion\n return this.done();\n }\n /**\n * Get the current parameters being used by the ToolRunner.\n *\n * @returns A readonly view of the current ToolRunnerParams\n *\n * @example\n * const currentParams = runner.params;\n * console.log('Current model:', currentParams.model);\n * console.log('Message count:', currentParams.messages.length);\n */\n get params() {\n return __classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params;\n }\n /**\n * Add one or more messages to the conversation history.\n *\n * @param messages - One or more BetaMessageParam objects to add to the conversation\n *\n * @example\n * runner.pushMessages(\n * { role: 'user', content: 'Also, what about the weather in NYC?' }\n * );\n *\n * @example\n * // Adding multiple messages\n * runner.pushMessages(\n * { role: 'user', content: 'What about NYC?' },\n * { role: 'user', content: 'And Boston?' }\n * );\n */\n pushMessages(...messages) {\n this.setMessagesParams((params) => ({\n ...params,\n messages: [...params.messages, ...messages],\n }));\n }\n /**\n * Makes the ToolRunner directly awaitable, equivalent to calling .runUntilDone()\n * This allows using `await runner` instead of `await runner.runUntilDone()`\n */\n then(onfulfilled, onrejected) {\n return this.runUntilDone().then(onfulfilled, onrejected);\n }\n}\n_BetaToolRunner_generateToolResponse = async function _BetaToolRunner_generateToolResponse(lastMessage, signal = __classPrivateFieldGet(this, _BetaToolRunner_options, \"f\").signal) {\n if (__classPrivateFieldGet(this, _BetaToolRunner_toolResponse, \"f\") !== undefined) {\n return __classPrivateFieldGet(this, _BetaToolRunner_toolResponse, \"f\");\n }\n __classPrivateFieldSet(this, _BetaToolRunner_toolResponse, generateToolResponse(__classPrivateFieldGet(this, _BetaToolRunner_state, \"f\").params, lastMessage, {\n ...__classPrivateFieldGet(this, _BetaToolRunner_options, \"f\"),\n signal,\n }), \"f\");\n return __classPrivateFieldGet(this, _BetaToolRunner_toolResponse, \"f\");\n};\nasync function generateToolResponse(params, lastMessage = params.messages.at(-1), requestOptions) {\n // Only process if the last message is from the assistant and has tool use blocks\n if (!lastMessage ||\n lastMessage.role !== 'assistant' ||\n !lastMessage.content ||\n typeof lastMessage.content === 'string') {\n return null;\n }\n const toolUseBlocks = lastMessage.content.filter((content) => content.type === 'tool_use');\n if (toolUseBlocks.length === 0) {\n return null;\n }\n const toolResults = await Promise.all(toolUseBlocks.map(async (toolUse) => {\n const tool = params.tools.find((t) => ('name' in t ? t.name : t.mcp_server_name) === toolUse.name);\n if (!tool || !('run' in tool)) {\n return {\n type: 'tool_result',\n tool_use_id: toolUse.id,\n content: `Error: Tool '${toolUse.name}' not found`,\n is_error: true,\n };\n }\n try {\n let input = toolUse.input;\n if ('parse' in tool && tool.parse) {\n input = tool.parse(input);\n }\n const result = await tool.run(input, {\n toolUseBlock: toolUse,\n signal: requestOptions?.signal,\n });\n return {\n type: 'tool_result',\n tool_use_id: toolUse.id,\n content: result,\n };\n }\n catch (error) {\n return {\n type: 'tool_result',\n tool_use_id: toolUse.id,\n content: error instanceof ToolError ?\n error.content\n : `Error: ${error instanceof Error ? error.message : String(error)}`,\n is_error: true,\n };\n }\n }));\n return {\n role: 'user',\n content: toolResults,\n };\n}\n//# sourceMappingURL=BetaToolRunner.mjs.map","import { AnthropicError } from \"../../core/error.mjs\";\nimport { ReadableStreamToAsyncIterable } from \"../shims.mjs\";\nimport { LineDecoder } from \"./line.mjs\";\nexport class JSONLDecoder {\n constructor(iterator, controller) {\n this.iterator = iterator;\n this.controller = controller;\n }\n async *decoder() {\n const lineDecoder = new LineDecoder();\n for await (const chunk of this.iterator) {\n for (const line of lineDecoder.decode(chunk)) {\n yield JSON.parse(line);\n }\n }\n for (const line of lineDecoder.flush()) {\n yield JSON.parse(line);\n }\n }\n [Symbol.asyncIterator]() {\n return this.decoder();\n }\n static fromResponse(response, controller) {\n if (!response.body) {\n controller.abort();\n if (typeof globalThis.navigator !== 'undefined' &&\n globalThis.navigator.product === 'ReactNative') {\n throw new AnthropicError(`The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api`);\n }\n throw new AnthropicError(`Attempted to iterate over a response with no body`);\n }\n return new JSONLDecoder(ReadableStreamToAsyncIterable(response.body), controller);\n }\n}\n//# sourceMappingURL=jsonl.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport { Page } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { JSONLDecoder } from \"../../../internal/decoders/jsonl.mjs\";\nimport { AnthropicError } from \"../../../error.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class Batches extends APIResource {\n /**\n * Send a batch of Message creation requests.\n *\n * The Message Batches API can be used to process multiple Messages API requests at\n * once. Once a Message Batch is created, it begins processing immediately. Batches\n * can take up to 24 hours to complete.\n *\n * Learn more about the Message Batches API in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)\n *\n * @example\n * ```ts\n * const betaMessageBatch =\n * await client.beta.messages.batches.create({\n * requests: [\n * {\n * custom_id: 'my-custom-id-1',\n * params: {\n * max_tokens: 1024,\n * messages: [\n * { content: 'Hello, world', role: 'user' },\n * ],\n * model: 'claude-opus-4-6',\n * },\n * },\n * ],\n * });\n * ```\n */\n create(params, options) {\n const { betas, ...body } = params;\n return this._client.post('/v1/messages/batches?beta=true', {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'message-batches-2024-09-24'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * This endpoint is idempotent and can be used to poll for Message Batch\n * completion. To access the results of a Message Batch, make a request to the\n * `results_url` field in the response.\n *\n * Learn more about the Message Batches API in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)\n *\n * @example\n * ```ts\n * const betaMessageBatch =\n * await client.beta.messages.batches.retrieve(\n * 'message_batch_id',\n * );\n * ```\n */\n retrieve(messageBatchID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.get(path `/v1/messages/batches/${messageBatchID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'message-batches-2024-09-24'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * List all Message Batches within a Workspace. Most recently created batches are\n * returned first.\n *\n * Learn more about the Message Batches API in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaMessageBatch of client.beta.messages.batches.list()) {\n * // ...\n * }\n * ```\n */\n list(params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList('/v1/messages/batches?beta=true', (Page), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'message-batches-2024-09-24'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Delete a Message Batch.\n *\n * Message Batches can only be deleted once they've finished processing. If you'd\n * like to delete an in-progress batch, you must first cancel it.\n *\n * Learn more about the Message Batches API in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)\n *\n * @example\n * ```ts\n * const betaDeletedMessageBatch =\n * await client.beta.messages.batches.delete(\n * 'message_batch_id',\n * );\n * ```\n */\n delete(messageBatchID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.delete(path `/v1/messages/batches/${messageBatchID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'message-batches-2024-09-24'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Batches may be canceled any time before processing ends. Once cancellation is\n * initiated, the batch enters a `canceling` state, at which time the system may\n * complete any in-progress, non-interruptible requests before finalizing\n * cancellation.\n *\n * The number of canceled requests is specified in `request_counts`. To determine\n * which requests were canceled, check the individual results within the batch.\n * Note that cancellation may not result in any canceled requests if they were\n * non-interruptible.\n *\n * Learn more about the Message Batches API in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)\n *\n * @example\n * ```ts\n * const betaMessageBatch =\n * await client.beta.messages.batches.cancel(\n * 'message_batch_id',\n * );\n * ```\n */\n cancel(messageBatchID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.post(path `/v1/messages/batches/${messageBatchID}/cancel?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'message-batches-2024-09-24'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Streams the results of a Message Batch as a `.jsonl` file.\n *\n * Each line in the file is a JSON object containing the result of a single request\n * in the Message Batch. Results are not guaranteed to be in the same order as\n * requests. Use the `custom_id` field to match results to requests.\n *\n * Learn more about the Message Batches API in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)\n *\n * @example\n * ```ts\n * const betaMessageBatchIndividualResponse =\n * await client.beta.messages.batches.results(\n * 'message_batch_id',\n * );\n * ```\n */\n async results(messageBatchID, params = {}, options) {\n const batch = await this.retrieve(messageBatchID);\n if (!batch.results_url) {\n throw new AnthropicError(`No batch \\`results_url\\`; Has it finished processing? ${batch.processing_status} - ${batch.id}`);\n }\n const { betas } = params ?? {};\n return this._client\n .get(batch.results_url, {\n ...options,\n headers: buildHeaders([\n {\n 'anthropic-beta': [...(betas ?? []), 'message-batches-2024-09-24'].toString(),\n Accept: 'application/binary',\n },\n options?.headers,\n ]),\n stream: true,\n __binaryResponse: true,\n })\n ._thenUnwrap((_, props) => JSONLDecoder.fromResponse(props.response, props.controller));\n }\n}\n//# sourceMappingURL=batches.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { AnthropicError } from \"../../../error.mjs\";\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport { MODEL_NONSTREAMING_TOKENS } from \"../../../internal/constants.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { stainlessHelperHeader } from \"../../../lib/stainless-helper-header.mjs\";\nimport { parseBetaMessage, } from \"../../../lib/beta-parser.mjs\";\nimport { BetaMessageStream } from \"../../../lib/BetaMessageStream.mjs\";\nimport { BetaToolRunner, } from \"../../../lib/tools/BetaToolRunner.mjs\";\nimport { ToolError } from \"../../../lib/tools/ToolError.mjs\";\nimport * as BatchesAPI from \"./batches.mjs\";\nimport { Batches, } from \"./batches.mjs\";\nconst DEPRECATED_MODELS = {\n 'claude-1.3': 'November 6th, 2024',\n 'claude-1.3-100k': 'November 6th, 2024',\n 'claude-instant-1.1': 'November 6th, 2024',\n 'claude-instant-1.1-100k': 'November 6th, 2024',\n 'claude-instant-1.2': 'November 6th, 2024',\n 'claude-3-sonnet-20240229': 'July 21st, 2025',\n 'claude-3-opus-20240229': 'January 5th, 2026',\n 'claude-2.1': 'July 21st, 2025',\n 'claude-2.0': 'July 21st, 2025',\n 'claude-3-7-sonnet-latest': 'February 19th, 2026',\n 'claude-3-7-sonnet-20250219': 'February 19th, 2026',\n};\nconst MODELS_TO_WARN_WITH_THINKING_ENABLED = ['claude-mythos-preview', 'claude-opus-4-6'];\nexport class Messages extends APIResource {\n constructor() {\n super(...arguments);\n this.batches = new BatchesAPI.Batches(this._client);\n }\n create(params, options) {\n // Transform deprecated output_format to output_config.format\n const modifiedParams = transformOutputFormat(params);\n const { betas, ...body } = modifiedParams;\n if (body.model in DEPRECATED_MODELS) {\n console.warn(`The model '${body.model}' is deprecated and will reach end-of-life on ${DEPRECATED_MODELS[body.model]}\\nPlease migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);\n }\n if (MODELS_TO_WARN_WITH_THINKING_ENABLED.includes(body.model) &&\n body.thinking &&\n body.thinking.type === 'enabled') {\n console.warn(`Using Claude with ${body.model} and 'thinking.type=enabled' is deprecated. Use 'thinking.type=adaptive' instead which results in better model performance in our testing: https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking`);\n }\n let timeout = this._client._options.timeout;\n if (!body.stream && timeout == null) {\n const maxNonstreamingTokens = MODEL_NONSTREAMING_TOKENS[body.model] ?? undefined;\n timeout = this._client.calculateNonstreamingTimeout(body.max_tokens, maxNonstreamingTokens);\n }\n // Collect helper info from tools and messages\n const helperHeader = stainlessHelperHeader(body.tools, body.messages);\n return this._client.post('/v1/messages?beta=true', {\n body,\n timeout: timeout ?? 600000,\n ...options,\n headers: buildHeaders([\n { ...(betas?.toString() != null ? { 'anthropic-beta': betas?.toString() } : undefined) },\n helperHeader,\n options?.headers,\n ]),\n stream: modifiedParams.stream ?? false,\n });\n }\n /**\n * Send a structured list of input messages with text and/or image content, along with an expected `output_format` and\n * the response will be automatically parsed and available in the `parsed_output` property of the message.\n *\n * @example\n * ```ts\n * const message = await client.beta.messages.parse({\n * model: 'claude-3-5-sonnet-20241022',\n * max_tokens: 1024,\n * messages: [{ role: 'user', content: 'What is 2+2?' }],\n * output_format: zodOutputFormat(z.object({ answer: z.number() }), 'math'),\n * });\n *\n * console.log(message.parsed_output?.answer); // 4\n * ```\n */\n parse(params, options) {\n options = {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(params.betas ?? []), 'structured-outputs-2025-12-15'].toString() },\n options?.headers,\n ]),\n };\n return this.create(params, options).then((message) => parseBetaMessage(message, params, { logger: this._client.logger ?? console }));\n }\n /**\n * Create a Message stream\n */\n stream(body, options) {\n return BetaMessageStream.createMessage(this, body, options);\n }\n /**\n * Count the number of tokens in a Message.\n *\n * The Token Count API can be used to count the number of tokens in a Message,\n * including tools, images, and documents, without creating it.\n *\n * Learn more about token counting in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/token-counting)\n *\n * @example\n * ```ts\n * const betaMessageTokensCount =\n * await client.beta.messages.countTokens({\n * messages: [{ content: 'Hello, world', role: 'user' }],\n * model: 'claude-opus-4-6',\n * });\n * ```\n */\n countTokens(params, options) {\n // Transform deprecated output_format to output_config.format\n const modifiedParams = transformOutputFormat(params);\n const { betas, ...body } = modifiedParams;\n return this._client.post('/v1/messages/count_tokens?beta=true', {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'token-counting-2024-11-01'].toString() },\n options?.headers,\n ]),\n });\n }\n toolRunner(body, options) {\n return new BetaToolRunner(this._client, body, options);\n }\n}\n/**\n * Transform deprecated output_format to output_config.format\n * Returns a modified copy of the params without mutating the original\n */\nfunction transformOutputFormat(params) {\n if (!params.output_format) {\n return params;\n }\n if (params.output_config?.format) {\n throw new AnthropicError('Both output_format and output_config.format were provided. ' +\n 'Please use only output_config.format (output_format is deprecated).');\n }\n const { output_format, ...rest } = params;\n return {\n ...rest,\n output_config: {\n ...params.output_config,\n format: output_format,\n },\n };\n}\nexport { BetaToolRunner } from \"../../../lib/tools/BetaToolRunner.mjs\";\nexport { ToolError } from \"../../../lib/tools/ToolError.mjs\";\nMessages.Batches = Batches;\nMessages.BetaToolRunner = BetaToolRunner;\nMessages.ToolError = ToolError;\n//# sourceMappingURL=messages.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport { PageCursor } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class Events extends APIResource {\n /**\n * List Events\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaManagedAgentsSessionEvent of client.beta.sessions.events.list(\n * 'sesn_011CZkZAtmR3yMPDzynEDxu7',\n * )) {\n * // ...\n * }\n * ```\n */\n list(sessionID, params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList(path `/v1/sessions/${sessionID}/events?beta=true`, (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Send Events\n *\n * @example\n * ```ts\n * const betaManagedAgentsSendSessionEvents =\n * await client.beta.sessions.events.send(\n * 'sesn_011CZkZAtmR3yMPDzynEDxu7',\n * {\n * events: [\n * {\n * content: [\n * {\n * text: 'Where is my order #1234?',\n * type: 'text',\n * },\n * ],\n * type: 'user.message',\n * },\n * ],\n * },\n * );\n * ```\n */\n send(sessionID, params, options) {\n const { betas, ...body } = params;\n return this._client.post(path `/v1/sessions/${sessionID}/events?beta=true`, {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Stream Events\n *\n * @example\n * ```ts\n * const betaManagedAgentsStreamSessionEvents =\n * await client.beta.sessions.events.stream(\n * 'sesn_011CZkZAtmR3yMPDzynEDxu7',\n * );\n * ```\n */\n stream(sessionID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.get(path `/v1/sessions/${sessionID}/events/stream?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n stream: true,\n });\n }\n}\n//# sourceMappingURL=events.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport { PageCursor } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class Resources extends APIResource {\n /**\n * Get Session Resource\n *\n * @example\n * ```ts\n * const resource =\n * await client.beta.sessions.resources.retrieve(\n * 'sesrsc_011CZkZBJq5dWxk9fVLNcPht',\n * { session_id: 'sesn_011CZkZAtmR3yMPDzynEDxu7' },\n * );\n * ```\n */\n retrieve(resourceID, params, options) {\n const { session_id, betas } = params;\n return this._client.get(path `/v1/sessions/${session_id}/resources/${resourceID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Update Session Resource\n *\n * @example\n * ```ts\n * const resource =\n * await client.beta.sessions.resources.update(\n * 'sesrsc_011CZkZBJq5dWxk9fVLNcPht',\n * {\n * session_id: 'sesn_011CZkZAtmR3yMPDzynEDxu7',\n * authorization_token: 'ghp_exampletoken',\n * },\n * );\n * ```\n */\n update(resourceID, params, options) {\n const { session_id, betas, ...body } = params;\n return this._client.post(path `/v1/sessions/${session_id}/resources/${resourceID}?beta=true`, {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * List Session Resources\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaManagedAgentsSessionResource of client.beta.sessions.resources.list(\n * 'sesn_011CZkZAtmR3yMPDzynEDxu7',\n * )) {\n * // ...\n * }\n * ```\n */\n list(sessionID, params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList(path `/v1/sessions/${sessionID}/resources?beta=true`, (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Delete Session Resource\n *\n * @example\n * ```ts\n * const betaManagedAgentsDeleteSessionResource =\n * await client.beta.sessions.resources.delete(\n * 'sesrsc_011CZkZBJq5dWxk9fVLNcPht',\n * { session_id: 'sesn_011CZkZAtmR3yMPDzynEDxu7' },\n * );\n * ```\n */\n delete(resourceID, params, options) {\n const { session_id, betas } = params;\n return this._client.delete(path `/v1/sessions/${session_id}/resources/${resourceID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Add Session Resource\n *\n * @example\n * ```ts\n * const betaManagedAgentsFileResource =\n * await client.beta.sessions.resources.add(\n * 'sesn_011CZkZAtmR3yMPDzynEDxu7',\n * {\n * file_id: 'file_011CNha8iCJcU1wXNR6q4V8w',\n * type: 'file',\n * },\n * );\n * ```\n */\n add(sessionID, params, options) {\n const { betas, ...body } = params;\n return this._client.post(path `/v1/sessions/${sessionID}/resources?beta=true`, {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n}\n//# sourceMappingURL=resources.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport * as EventsAPI from \"./events.mjs\";\nimport { Events, } from \"./events.mjs\";\nimport * as ResourcesAPI from \"./resources.mjs\";\nimport { Resources, } from \"./resources.mjs\";\nimport { PageCursor } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class Sessions extends APIResource {\n constructor() {\n super(...arguments);\n this.events = new EventsAPI.Events(this._client);\n this.resources = new ResourcesAPI.Resources(this._client);\n }\n /**\n * Create Session\n *\n * @example\n * ```ts\n * const betaManagedAgentsSession =\n * await client.beta.sessions.create({\n * agent: 'agent_011CZkYpogX7uDKUyvBTophP',\n * environment_id: 'env_011CZkZ9X2dpNyB7HsEFoRfW',\n * });\n * ```\n */\n create(params, options) {\n const { betas, ...body } = params;\n return this._client.post('/v1/sessions?beta=true', {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Get Session\n *\n * @example\n * ```ts\n * const betaManagedAgentsSession =\n * await client.beta.sessions.retrieve(\n * 'sesn_011CZkZAtmR3yMPDzynEDxu7',\n * );\n * ```\n */\n retrieve(sessionID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.get(path `/v1/sessions/${sessionID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Update Session\n *\n * @example\n * ```ts\n * const betaManagedAgentsSession =\n * await client.beta.sessions.update(\n * 'sesn_011CZkZAtmR3yMPDzynEDxu7',\n * );\n * ```\n */\n update(sessionID, params, options) {\n const { betas, ...body } = params;\n return this._client.post(path `/v1/sessions/${sessionID}?beta=true`, {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * List Sessions\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaManagedAgentsSession of client.beta.sessions.list()) {\n * // ...\n * }\n * ```\n */\n list(params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList('/v1/sessions?beta=true', (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Delete Session\n *\n * @example\n * ```ts\n * const betaManagedAgentsDeletedSession =\n * await client.beta.sessions.delete(\n * 'sesn_011CZkZAtmR3yMPDzynEDxu7',\n * );\n * ```\n */\n delete(sessionID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.delete(path `/v1/sessions/${sessionID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Archive Session\n *\n * @example\n * ```ts\n * const betaManagedAgentsSession =\n * await client.beta.sessions.archive(\n * 'sesn_011CZkZAtmR3yMPDzynEDxu7',\n * );\n * ```\n */\n archive(sessionID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.post(path `/v1/sessions/${sessionID}/archive?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n}\nSessions.Events = Events;\nSessions.Resources = Resources;\n//# sourceMappingURL=sessions.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport { PageCursor } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { multipartFormRequestOptions } from \"../../../internal/uploads.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class Versions extends APIResource {\n /**\n * Create Skill Version\n *\n * @example\n * ```ts\n * const version = await client.beta.skills.versions.create(\n * 'skill_id',\n * );\n * ```\n */\n create(skillID, params = {}, options) {\n const { betas, ...body } = params ?? {};\n return this._client.post(path `/v1/skills/${skillID}/versions?beta=true`, multipartFormRequestOptions({\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'skills-2025-10-02'].toString() },\n options?.headers,\n ]),\n }, this._client));\n }\n /**\n * Get Skill Version\n *\n * @example\n * ```ts\n * const version = await client.beta.skills.versions.retrieve(\n * 'version',\n * { skill_id: 'skill_id' },\n * );\n * ```\n */\n retrieve(version, params, options) {\n const { skill_id, betas } = params;\n return this._client.get(path `/v1/skills/${skill_id}/versions/${version}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'skills-2025-10-02'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * List Skill Versions\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const versionListResponse of client.beta.skills.versions.list(\n * 'skill_id',\n * )) {\n * // ...\n * }\n * ```\n */\n list(skillID, params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList(path `/v1/skills/${skillID}/versions?beta=true`, (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'skills-2025-10-02'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Delete Skill Version\n *\n * @example\n * ```ts\n * const version = await client.beta.skills.versions.delete(\n * 'version',\n * { skill_id: 'skill_id' },\n * );\n * ```\n */\n delete(version, params, options) {\n const { skill_id, betas } = params;\n return this._client.delete(path `/v1/skills/${skill_id}/versions/${version}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'skills-2025-10-02'].toString() },\n options?.headers,\n ]),\n });\n }\n}\n//# sourceMappingURL=versions.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport * as VersionsAPI from \"./versions.mjs\";\nimport { Versions, } from \"./versions.mjs\";\nimport { PageCursor } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { multipartFormRequestOptions } from \"../../../internal/uploads.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class Skills extends APIResource {\n constructor() {\n super(...arguments);\n this.versions = new VersionsAPI.Versions(this._client);\n }\n /**\n * Create Skill\n *\n * @example\n * ```ts\n * const skill = await client.beta.skills.create();\n * ```\n */\n create(params = {}, options) {\n const { betas, ...body } = params ?? {};\n return this._client.post('/v1/skills?beta=true', multipartFormRequestOptions({\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'skills-2025-10-02'].toString() },\n options?.headers,\n ]),\n }, this._client, false));\n }\n /**\n * Get Skill\n *\n * @example\n * ```ts\n * const skill = await client.beta.skills.retrieve('skill_id');\n * ```\n */\n retrieve(skillID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.get(path `/v1/skills/${skillID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'skills-2025-10-02'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * List Skills\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const skillListResponse of client.beta.skills.list()) {\n * // ...\n * }\n * ```\n */\n list(params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList('/v1/skills?beta=true', (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'skills-2025-10-02'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Delete Skill\n *\n * @example\n * ```ts\n * const skill = await client.beta.skills.delete('skill_id');\n * ```\n */\n delete(skillID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.delete(path `/v1/skills/${skillID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'skills-2025-10-02'].toString() },\n options?.headers,\n ]),\n });\n }\n}\nSkills.Versions = Versions;\n//# sourceMappingURL=skills.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport { PageCursor } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class Credentials extends APIResource {\n /**\n * Create Credential\n *\n * @example\n * ```ts\n * const betaManagedAgentsCredential =\n * await client.beta.vaults.credentials.create(\n * 'vlt_011CZkZDLs7fYzm1hXNPeRjv',\n * {\n * auth: {\n * token: 'bearer_exampletoken',\n * mcp_server_url:\n * 'https://example-server.modelcontextprotocol.io/sse',\n * type: 'static_bearer',\n * },\n * },\n * );\n * ```\n */\n create(vaultID, params, options) {\n const { betas, ...body } = params;\n return this._client.post(path `/v1/vaults/${vaultID}/credentials?beta=true`, {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Get Credential\n *\n * @example\n * ```ts\n * const betaManagedAgentsCredential =\n * await client.beta.vaults.credentials.retrieve(\n * 'vcrd_011CZkZEMt8gZan2iYOQfSkw',\n * { vault_id: 'vlt_011CZkZDLs7fYzm1hXNPeRjv' },\n * );\n * ```\n */\n retrieve(credentialID, params, options) {\n const { vault_id, betas } = params;\n return this._client.get(path `/v1/vaults/${vault_id}/credentials/${credentialID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Update Credential\n *\n * @example\n * ```ts\n * const betaManagedAgentsCredential =\n * await client.beta.vaults.credentials.update(\n * 'vcrd_011CZkZEMt8gZan2iYOQfSkw',\n * { vault_id: 'vlt_011CZkZDLs7fYzm1hXNPeRjv' },\n * );\n * ```\n */\n update(credentialID, params, options) {\n const { vault_id, betas, ...body } = params;\n return this._client.post(path `/v1/vaults/${vault_id}/credentials/${credentialID}?beta=true`, {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * List Credentials\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaManagedAgentsCredential of client.beta.vaults.credentials.list(\n * 'vlt_011CZkZDLs7fYzm1hXNPeRjv',\n * )) {\n * // ...\n * }\n * ```\n */\n list(vaultID, params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList(path `/v1/vaults/${vaultID}/credentials?beta=true`, (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Delete Credential\n *\n * @example\n * ```ts\n * const betaManagedAgentsDeletedCredential =\n * await client.beta.vaults.credentials.delete(\n * 'vcrd_011CZkZEMt8gZan2iYOQfSkw',\n * { vault_id: 'vlt_011CZkZDLs7fYzm1hXNPeRjv' },\n * );\n * ```\n */\n delete(credentialID, params, options) {\n const { vault_id, betas } = params;\n return this._client.delete(path `/v1/vaults/${vault_id}/credentials/${credentialID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Archive Credential\n *\n * @example\n * ```ts\n * const betaManagedAgentsCredential =\n * await client.beta.vaults.credentials.archive(\n * 'vcrd_011CZkZEMt8gZan2iYOQfSkw',\n * { vault_id: 'vlt_011CZkZDLs7fYzm1hXNPeRjv' },\n * );\n * ```\n */\n archive(credentialID, params, options) {\n const { vault_id, betas } = params;\n return this._client.post(path `/v1/vaults/${vault_id}/credentials/${credentialID}/archive?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n}\n//# sourceMappingURL=credentials.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../../core/resource.mjs\";\nimport * as CredentialsAPI from \"./credentials.mjs\";\nimport { Credentials, } from \"./credentials.mjs\";\nimport { PageCursor } from \"../../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../../internal/headers.mjs\";\nimport { path } from \"../../../internal/utils/path.mjs\";\nexport class Vaults extends APIResource {\n constructor() {\n super(...arguments);\n this.credentials = new CredentialsAPI.Credentials(this._client);\n }\n /**\n * Create Vault\n *\n * @example\n * ```ts\n * const betaManagedAgentsVault =\n * await client.beta.vaults.create({\n * display_name: 'Example vault',\n * });\n * ```\n */\n create(params, options) {\n const { betas, ...body } = params;\n return this._client.post('/v1/vaults?beta=true', {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Get Vault\n *\n * @example\n * ```ts\n * const betaManagedAgentsVault =\n * await client.beta.vaults.retrieve(\n * 'vlt_011CZkZDLs7fYzm1hXNPeRjv',\n * );\n * ```\n */\n retrieve(vaultID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.get(path `/v1/vaults/${vaultID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Update Vault\n *\n * @example\n * ```ts\n * const betaManagedAgentsVault =\n * await client.beta.vaults.update(\n * 'vlt_011CZkZDLs7fYzm1hXNPeRjv',\n * );\n * ```\n */\n update(vaultID, params, options) {\n const { betas, ...body } = params;\n return this._client.post(path `/v1/vaults/${vaultID}?beta=true`, {\n body,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * List Vaults\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const betaManagedAgentsVault of client.beta.vaults.list()) {\n * // ...\n * }\n * ```\n */\n list(params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList('/v1/vaults?beta=true', (PageCursor), {\n query,\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Delete Vault\n *\n * @example\n * ```ts\n * const betaManagedAgentsDeletedVault =\n * await client.beta.vaults.delete(\n * 'vlt_011CZkZDLs7fYzm1hXNPeRjv',\n * );\n * ```\n */\n delete(vaultID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.delete(path `/v1/vaults/${vaultID}?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n /**\n * Archive Vault\n *\n * @example\n * ```ts\n * const betaManagedAgentsVault =\n * await client.beta.vaults.archive(\n * 'vlt_011CZkZDLs7fYzm1hXNPeRjv',\n * );\n * ```\n */\n archive(vaultID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.post(path `/v1/vaults/${vaultID}/archive?beta=true`, {\n ...options,\n headers: buildHeaders([\n { 'anthropic-beta': [...(betas ?? []), 'managed-agents-2026-04-01'].toString() },\n options?.headers,\n ]),\n });\n }\n}\nVaults.Credentials = Credentials;\n//# sourceMappingURL=vaults.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../core/resource.mjs\";\nimport * as EnvironmentsAPI from \"./environments.mjs\";\nimport { Environments, } from \"./environments.mjs\";\nimport * as FilesAPI from \"./files.mjs\";\nimport { Files, } from \"./files.mjs\";\nimport * as ModelsAPI from \"./models.mjs\";\nimport { Models, } from \"./models.mjs\";\nimport * as UserProfilesAPI from \"./user-profiles.mjs\";\nimport { UserProfiles, } from \"./user-profiles.mjs\";\nimport * as AgentsAPI from \"./agents/agents.mjs\";\nimport { Agents, } from \"./agents/agents.mjs\";\nimport * as MemoryStoresAPI from \"./memory-stores/memory-stores.mjs\";\nimport { MemoryStores, } from \"./memory-stores/memory-stores.mjs\";\nimport * as MessagesAPI from \"./messages/messages.mjs\";\nimport { Messages, } from \"./messages/messages.mjs\";\nimport * as SessionsAPI from \"./sessions/sessions.mjs\";\nimport { Sessions, } from \"./sessions/sessions.mjs\";\nimport * as SkillsAPI from \"./skills/skills.mjs\";\nimport { Skills, } from \"./skills/skills.mjs\";\nimport * as VaultsAPI from \"./vaults/vaults.mjs\";\nimport { Vaults, } from \"./vaults/vaults.mjs\";\nexport class Beta extends APIResource {\n constructor() {\n super(...arguments);\n this.models = new ModelsAPI.Models(this._client);\n this.messages = new MessagesAPI.Messages(this._client);\n this.agents = new AgentsAPI.Agents(this._client);\n this.environments = new EnvironmentsAPI.Environments(this._client);\n this.sessions = new SessionsAPI.Sessions(this._client);\n this.vaults = new VaultsAPI.Vaults(this._client);\n this.memoryStores = new MemoryStoresAPI.MemoryStores(this._client);\n this.files = new FilesAPI.Files(this._client);\n this.skills = new SkillsAPI.Skills(this._client);\n this.userProfiles = new UserProfilesAPI.UserProfiles(this._client);\n }\n}\nBeta.Models = Models;\nBeta.Messages = Messages;\nBeta.Agents = Agents;\nBeta.Environments = Environments;\nBeta.Sessions = Sessions;\nBeta.Vaults = Vaults;\nBeta.MemoryStores = MemoryStores;\nBeta.Files = Files;\nBeta.Skills = Skills;\nBeta.UserProfiles = UserProfiles;\n//# sourceMappingURL=beta.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../core/resource.mjs\";\nimport { buildHeaders } from \"../internal/headers.mjs\";\nexport class Completions extends APIResource {\n create(params, options) {\n const { betas, ...body } = params;\n return this._client.post('/v1/complete', {\n body,\n timeout: this._client._options.timeout ?? 600000,\n ...options,\n headers: buildHeaders([\n { ...(betas?.toString() != null ? { 'anthropic-beta': betas?.toString() } : undefined) },\n options?.headers,\n ]),\n stream: params.stream ?? false,\n });\n }\n}\n//# sourceMappingURL=completions.mjs.map","import { AnthropicError } from \"../core/error.mjs\";\nfunction getOutputFormat(params) {\n return params?.output_config?.format;\n}\nexport function maybeParseMessage(message, params, opts) {\n const outputFormat = getOutputFormat(params);\n if (!params || !('parse' in (outputFormat ?? {}))) {\n return {\n ...message,\n content: message.content.map((block) => {\n if (block.type === 'text') {\n const parsedBlock = Object.defineProperty({ ...block }, 'parsed_output', {\n value: null,\n enumerable: false,\n });\n return parsedBlock;\n }\n return block;\n }),\n parsed_output: null,\n };\n }\n return parseMessage(message, params, opts);\n}\nexport function parseMessage(message, params, opts) {\n let firstParsedOutput = null;\n const content = message.content.map((block) => {\n if (block.type === 'text') {\n const parsedOutput = parseOutputFormat(params, block.text);\n if (firstParsedOutput === null) {\n firstParsedOutput = parsedOutput;\n }\n const parsedBlock = Object.defineProperty({ ...block }, 'parsed_output', {\n value: parsedOutput,\n enumerable: false,\n });\n return parsedBlock;\n }\n return block;\n });\n return {\n ...message,\n content,\n parsed_output: firstParsedOutput,\n };\n}\nfunction parseOutputFormat(params, content) {\n const outputFormat = getOutputFormat(params);\n if (outputFormat?.type !== 'json_schema') {\n return null;\n }\n try {\n if ('parse' in outputFormat) {\n return outputFormat.parse(content);\n }\n return JSON.parse(content);\n }\n catch (error) {\n throw new AnthropicError(`Failed to parse structured output: ${error}`);\n }\n}\n//# sourceMappingURL=parser.mjs.map","var _MessageStream_instances, _MessageStream_currentMessageSnapshot, _MessageStream_params, _MessageStream_connectedPromise, _MessageStream_resolveConnectedPromise, _MessageStream_rejectConnectedPromise, _MessageStream_endPromise, _MessageStream_resolveEndPromise, _MessageStream_rejectEndPromise, _MessageStream_listeners, _MessageStream_ended, _MessageStream_errored, _MessageStream_aborted, _MessageStream_catchingPromiseCreated, _MessageStream_response, _MessageStream_request_id, _MessageStream_logger, _MessageStream_getFinalMessage, _MessageStream_getFinalText, _MessageStream_handleError, _MessageStream_beginRequest, _MessageStream_addStreamEvent, _MessageStream_endRequest, _MessageStream_accumulateMessage;\nimport { __classPrivateFieldGet, __classPrivateFieldSet } from \"../internal/tslib.mjs\";\nimport { isAbortError } from \"../internal/errors.mjs\";\nimport { AnthropicError, APIUserAbortError } from \"../error.mjs\";\nimport { Stream } from \"../streaming.mjs\";\nimport { partialParse } from \"../_vendor/partial-json-parser/parser.mjs\";\nimport { maybeParseMessage } from \"./parser.mjs\";\nconst JSON_BUF_PROPERTY = '__json_buf';\nfunction tracksToolInput(content) {\n return content.type === 'tool_use' || content.type === 'server_tool_use';\n}\nexport class MessageStream {\n constructor(params, opts) {\n _MessageStream_instances.add(this);\n this.messages = [];\n this.receivedMessages = [];\n _MessageStream_currentMessageSnapshot.set(this, void 0);\n _MessageStream_params.set(this, null);\n this.controller = new AbortController();\n _MessageStream_connectedPromise.set(this, void 0);\n _MessageStream_resolveConnectedPromise.set(this, () => { });\n _MessageStream_rejectConnectedPromise.set(this, () => { });\n _MessageStream_endPromise.set(this, void 0);\n _MessageStream_resolveEndPromise.set(this, () => { });\n _MessageStream_rejectEndPromise.set(this, () => { });\n _MessageStream_listeners.set(this, {});\n _MessageStream_ended.set(this, false);\n _MessageStream_errored.set(this, false);\n _MessageStream_aborted.set(this, false);\n _MessageStream_catchingPromiseCreated.set(this, false);\n _MessageStream_response.set(this, void 0);\n _MessageStream_request_id.set(this, void 0);\n _MessageStream_logger.set(this, void 0);\n _MessageStream_handleError.set(this, (error) => {\n __classPrivateFieldSet(this, _MessageStream_errored, true, \"f\");\n if (isAbortError(error)) {\n error = new APIUserAbortError();\n }\n if (error instanceof APIUserAbortError) {\n __classPrivateFieldSet(this, _MessageStream_aborted, true, \"f\");\n return this._emit('abort', error);\n }\n if (error instanceof AnthropicError) {\n return this._emit('error', error);\n }\n if (error instanceof Error) {\n const anthropicError = new AnthropicError(error.message);\n // @ts-ignore\n anthropicError.cause = error;\n return this._emit('error', anthropicError);\n }\n return this._emit('error', new AnthropicError(String(error)));\n });\n __classPrivateFieldSet(this, _MessageStream_connectedPromise, new Promise((resolve, reject) => {\n __classPrivateFieldSet(this, _MessageStream_resolveConnectedPromise, resolve, \"f\");\n __classPrivateFieldSet(this, _MessageStream_rejectConnectedPromise, reject, \"f\");\n }), \"f\");\n __classPrivateFieldSet(this, _MessageStream_endPromise, new Promise((resolve, reject) => {\n __classPrivateFieldSet(this, _MessageStream_resolveEndPromise, resolve, \"f\");\n __classPrivateFieldSet(this, _MessageStream_rejectEndPromise, reject, \"f\");\n }), \"f\");\n // Don't let these promises cause unhandled rejection errors.\n // we will manually cause an unhandled rejection error later\n // if the user hasn't registered any error listener or called\n // any promise-returning method.\n __classPrivateFieldGet(this, _MessageStream_connectedPromise, \"f\").catch(() => { });\n __classPrivateFieldGet(this, _MessageStream_endPromise, \"f\").catch(() => { });\n __classPrivateFieldSet(this, _MessageStream_params, params, \"f\");\n __classPrivateFieldSet(this, _MessageStream_logger, opts?.logger ?? console, \"f\");\n }\n get response() {\n return __classPrivateFieldGet(this, _MessageStream_response, \"f\");\n }\n get request_id() {\n return __classPrivateFieldGet(this, _MessageStream_request_id, \"f\");\n }\n /**\n * Returns the `MessageStream` data, the raw `Response` instance and the ID of the request,\n * returned vie the `request-id` header which is useful for debugging requests and resporting\n * issues to Anthropic.\n *\n * This is the same as the `APIPromise.withResponse()` method.\n *\n * This method will raise an error if you created the stream using `MessageStream.fromReadableStream`\n * as no `Response` is available.\n */\n async withResponse() {\n __classPrivateFieldSet(this, _MessageStream_catchingPromiseCreated, true, \"f\");\n const response = await __classPrivateFieldGet(this, _MessageStream_connectedPromise, \"f\");\n if (!response) {\n throw new Error('Could not resolve a `Response` object');\n }\n return {\n data: this,\n response,\n request_id: response.headers.get('request-id'),\n };\n }\n /**\n * Intended for use on the frontend, consuming a stream produced with\n * `.toReadableStream()` on the backend.\n *\n * Note that messages sent to the model do not appear in `.on('message')`\n * in this context.\n */\n static fromReadableStream(stream) {\n const runner = new MessageStream(null);\n runner._run(() => runner._fromReadableStream(stream));\n return runner;\n }\n static createMessage(messages, params, options, { logger } = {}) {\n const runner = new MessageStream(params, { logger });\n for (const message of params.messages) {\n runner._addMessageParam(message);\n }\n __classPrivateFieldSet(runner, _MessageStream_params, { ...params, stream: true }, \"f\");\n runner._run(() => runner._createMessage(messages, { ...params, stream: true }, { ...options, headers: { ...options?.headers, 'X-Stainless-Helper-Method': 'stream' } }));\n return runner;\n }\n _run(executor) {\n executor().then(() => {\n this._emitFinal();\n this._emit('end');\n }, __classPrivateFieldGet(this, _MessageStream_handleError, \"f\"));\n }\n _addMessageParam(message) {\n this.messages.push(message);\n }\n _addMessage(message, emit = true) {\n this.receivedMessages.push(message);\n if (emit) {\n this._emit('message', message);\n }\n }\n async _createMessage(messages, params, options) {\n const signal = options?.signal;\n let abortHandler;\n if (signal) {\n if (signal.aborted)\n this.controller.abort();\n abortHandler = this.controller.abort.bind(this.controller);\n signal.addEventListener('abort', abortHandler);\n }\n try {\n __classPrivateFieldGet(this, _MessageStream_instances, \"m\", _MessageStream_beginRequest).call(this);\n const { response, data: stream } = await messages\n .create({ ...params, stream: true }, { ...options, signal: this.controller.signal })\n .withResponse();\n this._connected(response);\n for await (const event of stream) {\n __classPrivateFieldGet(this, _MessageStream_instances, \"m\", _MessageStream_addStreamEvent).call(this, event);\n }\n if (stream.controller.signal?.aborted) {\n throw new APIUserAbortError();\n }\n __classPrivateFieldGet(this, _MessageStream_instances, \"m\", _MessageStream_endRequest).call(this);\n }\n finally {\n if (signal && abortHandler) {\n signal.removeEventListener('abort', abortHandler);\n }\n }\n }\n _connected(response) {\n if (this.ended)\n return;\n __classPrivateFieldSet(this, _MessageStream_response, response, \"f\");\n __classPrivateFieldSet(this, _MessageStream_request_id, response?.headers.get('request-id'), \"f\");\n __classPrivateFieldGet(this, _MessageStream_resolveConnectedPromise, \"f\").call(this, response);\n this._emit('connect');\n }\n get ended() {\n return __classPrivateFieldGet(this, _MessageStream_ended, \"f\");\n }\n get errored() {\n return __classPrivateFieldGet(this, _MessageStream_errored, \"f\");\n }\n get aborted() {\n return __classPrivateFieldGet(this, _MessageStream_aborted, \"f\");\n }\n abort() {\n this.controller.abort();\n }\n /**\n * Adds the listener function to the end of the listeners array for the event.\n * No checks are made to see if the listener has already been added. Multiple calls passing\n * the same combination of event and listener will result in the listener being added, and\n * called, multiple times.\n * @returns this MessageStream, so that calls can be chained\n */\n on(event, listener) {\n const listeners = __classPrivateFieldGet(this, _MessageStream_listeners, \"f\")[event] || (__classPrivateFieldGet(this, _MessageStream_listeners, \"f\")[event] = []);\n listeners.push({ listener });\n return this;\n }\n /**\n * Removes the specified listener from the listener array for the event.\n * off() will remove, at most, one instance of a listener from the listener array. If any single\n * listener has been added multiple times to the listener array for the specified event, then\n * off() must be called multiple times to remove each instance.\n * @returns this MessageStream, so that calls can be chained\n */\n off(event, listener) {\n const listeners = __classPrivateFieldGet(this, _MessageStream_listeners, \"f\")[event];\n if (!listeners)\n return this;\n const index = listeners.findIndex((l) => l.listener === listener);\n if (index >= 0)\n listeners.splice(index, 1);\n return this;\n }\n /**\n * Adds a one-time listener function for the event. The next time the event is triggered,\n * this listener is removed and then invoked.\n * @returns this MessageStream, so that calls can be chained\n */\n once(event, listener) {\n const listeners = __classPrivateFieldGet(this, _MessageStream_listeners, \"f\")[event] || (__classPrivateFieldGet(this, _MessageStream_listeners, \"f\")[event] = []);\n listeners.push({ listener, once: true });\n return this;\n }\n /**\n * This is similar to `.once()`, but returns a Promise that resolves the next time\n * the event is triggered, instead of calling a listener callback.\n * @returns a Promise that resolves the next time given event is triggered,\n * or rejects if an error is emitted. (If you request the 'error' event,\n * returns a promise that resolves with the error).\n *\n * Example:\n *\n * const message = await stream.emitted('message') // rejects if the stream errors\n */\n emitted(event) {\n return new Promise((resolve, reject) => {\n __classPrivateFieldSet(this, _MessageStream_catchingPromiseCreated, true, \"f\");\n if (event !== 'error')\n this.once('error', reject);\n this.once(event, resolve);\n });\n }\n async done() {\n __classPrivateFieldSet(this, _MessageStream_catchingPromiseCreated, true, \"f\");\n await __classPrivateFieldGet(this, _MessageStream_endPromise, \"f\");\n }\n get currentMessage() {\n return __classPrivateFieldGet(this, _MessageStream_currentMessageSnapshot, \"f\");\n }\n /**\n * @returns a promise that resolves with the the final assistant Message response,\n * or rejects if an error occurred or the stream ended prematurely without producing a Message.\n * If structured outputs were used, this will be a ParsedMessage with a `parsed_output` field.\n */\n async finalMessage() {\n await this.done();\n return __classPrivateFieldGet(this, _MessageStream_instances, \"m\", _MessageStream_getFinalMessage).call(this);\n }\n /**\n * @returns a promise that resolves with the the final assistant Message's text response, concatenated\n * together if there are more than one text blocks.\n * Rejects if an error occurred or the stream ended prematurely without producing a Message.\n */\n async finalText() {\n await this.done();\n return __classPrivateFieldGet(this, _MessageStream_instances, \"m\", _MessageStream_getFinalText).call(this);\n }\n _emit(event, ...args) {\n // make sure we don't emit any MessageStreamEvents after end\n if (__classPrivateFieldGet(this, _MessageStream_ended, \"f\"))\n return;\n if (event === 'end') {\n __classPrivateFieldSet(this, _MessageStream_ended, true, \"f\");\n __classPrivateFieldGet(this, _MessageStream_resolveEndPromise, \"f\").call(this);\n }\n const listeners = __classPrivateFieldGet(this, _MessageStream_listeners, \"f\")[event];\n if (listeners) {\n __classPrivateFieldGet(this, _MessageStream_listeners, \"f\")[event] = listeners.filter((l) => !l.once);\n listeners.forEach(({ listener }) => listener(...args));\n }\n if (event === 'abort') {\n const error = args[0];\n if (!__classPrivateFieldGet(this, _MessageStream_catchingPromiseCreated, \"f\") && !listeners?.length) {\n Promise.reject(error);\n }\n __classPrivateFieldGet(this, _MessageStream_rejectConnectedPromise, \"f\").call(this, error);\n __classPrivateFieldGet(this, _MessageStream_rejectEndPromise, \"f\").call(this, error);\n this._emit('end');\n return;\n }\n if (event === 'error') {\n // NOTE: _emit('error', error) should only be called from #handleError().\n const error = args[0];\n if (!__classPrivateFieldGet(this, _MessageStream_catchingPromiseCreated, \"f\") && !listeners?.length) {\n // Trigger an unhandled rejection if the user hasn't registered any error handlers.\n // If you are seeing stack traces here, make sure to handle errors via either:\n // - runner.on('error', () => ...)\n // - await runner.done()\n // - await runner.final...()\n // - etc.\n Promise.reject(error);\n }\n __classPrivateFieldGet(this, _MessageStream_rejectConnectedPromise, \"f\").call(this, error);\n __classPrivateFieldGet(this, _MessageStream_rejectEndPromise, \"f\").call(this, error);\n this._emit('end');\n }\n }\n _emitFinal() {\n const finalMessage = this.receivedMessages.at(-1);\n if (finalMessage) {\n this._emit('finalMessage', __classPrivateFieldGet(this, _MessageStream_instances, \"m\", _MessageStream_getFinalMessage).call(this));\n }\n }\n async _fromReadableStream(readableStream, options) {\n const signal = options?.signal;\n let abortHandler;\n if (signal) {\n if (signal.aborted)\n this.controller.abort();\n abortHandler = this.controller.abort.bind(this.controller);\n signal.addEventListener('abort', abortHandler);\n }\n try {\n __classPrivateFieldGet(this, _MessageStream_instances, \"m\", _MessageStream_beginRequest).call(this);\n this._connected(null);\n const stream = Stream.fromReadableStream(readableStream, this.controller);\n for await (const event of stream) {\n __classPrivateFieldGet(this, _MessageStream_instances, \"m\", _MessageStream_addStreamEvent).call(this, event);\n }\n if (stream.controller.signal?.aborted) {\n throw new APIUserAbortError();\n }\n __classPrivateFieldGet(this, _MessageStream_instances, \"m\", _MessageStream_endRequest).call(this);\n }\n finally {\n if (signal && abortHandler) {\n signal.removeEventListener('abort', abortHandler);\n }\n }\n }\n [(_MessageStream_currentMessageSnapshot = new WeakMap(), _MessageStream_params = new WeakMap(), _MessageStream_connectedPromise = new WeakMap(), _MessageStream_resolveConnectedPromise = new WeakMap(), _MessageStream_rejectConnectedPromise = new WeakMap(), _MessageStream_endPromise = new WeakMap(), _MessageStream_resolveEndPromise = new WeakMap(), _MessageStream_rejectEndPromise = new WeakMap(), _MessageStream_listeners = new WeakMap(), _MessageStream_ended = new WeakMap(), _MessageStream_errored = new WeakMap(), _MessageStream_aborted = new WeakMap(), _MessageStream_catchingPromiseCreated = new WeakMap(), _MessageStream_response = new WeakMap(), _MessageStream_request_id = new WeakMap(), _MessageStream_logger = new WeakMap(), _MessageStream_handleError = new WeakMap(), _MessageStream_instances = new WeakSet(), _MessageStream_getFinalMessage = function _MessageStream_getFinalMessage() {\n if (this.receivedMessages.length === 0) {\n throw new AnthropicError('stream ended without producing a Message with role=assistant');\n }\n return this.receivedMessages.at(-1);\n }, _MessageStream_getFinalText = function _MessageStream_getFinalText() {\n if (this.receivedMessages.length === 0) {\n throw new AnthropicError('stream ended without producing a Message with role=assistant');\n }\n const textBlocks = this.receivedMessages\n .at(-1)\n .content.filter((block) => block.type === 'text')\n .map((block) => block.text);\n if (textBlocks.length === 0) {\n throw new AnthropicError('stream ended without producing a content block with type=text');\n }\n return textBlocks.join(' ');\n }, _MessageStream_beginRequest = function _MessageStream_beginRequest() {\n if (this.ended)\n return;\n __classPrivateFieldSet(this, _MessageStream_currentMessageSnapshot, undefined, \"f\");\n }, _MessageStream_addStreamEvent = function _MessageStream_addStreamEvent(event) {\n if (this.ended)\n return;\n const messageSnapshot = __classPrivateFieldGet(this, _MessageStream_instances, \"m\", _MessageStream_accumulateMessage).call(this, event);\n this._emit('streamEvent', event, messageSnapshot);\n switch (event.type) {\n case 'content_block_delta': {\n const content = messageSnapshot.content.at(-1);\n switch (event.delta.type) {\n case 'text_delta': {\n if (content.type === 'text') {\n this._emit('text', event.delta.text, content.text || '');\n }\n break;\n }\n case 'citations_delta': {\n if (content.type === 'text') {\n this._emit('citation', event.delta.citation, content.citations ?? []);\n }\n break;\n }\n case 'input_json_delta': {\n if (tracksToolInput(content) && content.input) {\n this._emit('inputJson', event.delta.partial_json, content.input);\n }\n break;\n }\n case 'thinking_delta': {\n if (content.type === 'thinking') {\n this._emit('thinking', event.delta.thinking, content.thinking);\n }\n break;\n }\n case 'signature_delta': {\n if (content.type === 'thinking') {\n this._emit('signature', content.signature);\n }\n break;\n }\n default:\n checkNever(event.delta);\n }\n break;\n }\n case 'message_stop': {\n this._addMessageParam(messageSnapshot);\n this._addMessage(maybeParseMessage(messageSnapshot, __classPrivateFieldGet(this, _MessageStream_params, \"f\"), { logger: __classPrivateFieldGet(this, _MessageStream_logger, \"f\") }), true);\n break;\n }\n case 'content_block_stop': {\n this._emit('contentBlock', messageSnapshot.content.at(-1));\n break;\n }\n case 'message_start': {\n __classPrivateFieldSet(this, _MessageStream_currentMessageSnapshot, messageSnapshot, \"f\");\n break;\n }\n case 'content_block_start':\n case 'message_delta':\n break;\n }\n }, _MessageStream_endRequest = function _MessageStream_endRequest() {\n if (this.ended) {\n throw new AnthropicError(`stream has ended, this shouldn't happen`);\n }\n const snapshot = __classPrivateFieldGet(this, _MessageStream_currentMessageSnapshot, \"f\");\n if (!snapshot) {\n throw new AnthropicError(`request ended without sending any chunks`);\n }\n __classPrivateFieldSet(this, _MessageStream_currentMessageSnapshot, undefined, \"f\");\n return maybeParseMessage(snapshot, __classPrivateFieldGet(this, _MessageStream_params, \"f\"), { logger: __classPrivateFieldGet(this, _MessageStream_logger, \"f\") });\n }, _MessageStream_accumulateMessage = function _MessageStream_accumulateMessage(event) {\n let snapshot = __classPrivateFieldGet(this, _MessageStream_currentMessageSnapshot, \"f\");\n if (event.type === 'message_start') {\n if (snapshot) {\n throw new AnthropicError(`Unexpected event order, got ${event.type} before receiving \"message_stop\"`);\n }\n return event.message;\n }\n if (!snapshot) {\n throw new AnthropicError(`Unexpected event order, got ${event.type} before \"message_start\"`);\n }\n switch (event.type) {\n case 'message_stop':\n return snapshot;\n case 'message_delta':\n snapshot.stop_reason = event.delta.stop_reason;\n snapshot.stop_sequence = event.delta.stop_sequence;\n snapshot.usage.output_tokens = event.usage.output_tokens;\n // Update other usage fields if they exist in the event\n if (event.usage.input_tokens != null) {\n snapshot.usage.input_tokens = event.usage.input_tokens;\n }\n if (event.usage.cache_creation_input_tokens != null) {\n snapshot.usage.cache_creation_input_tokens = event.usage.cache_creation_input_tokens;\n }\n if (event.usage.cache_read_input_tokens != null) {\n snapshot.usage.cache_read_input_tokens = event.usage.cache_read_input_tokens;\n }\n if (event.usage.server_tool_use != null) {\n snapshot.usage.server_tool_use = event.usage.server_tool_use;\n }\n return snapshot;\n case 'content_block_start':\n snapshot.content.push({ ...event.content_block });\n return snapshot;\n case 'content_block_delta': {\n const snapshotContent = snapshot.content.at(event.index);\n switch (event.delta.type) {\n case 'text_delta': {\n if (snapshotContent?.type === 'text') {\n snapshot.content[event.index] = {\n ...snapshotContent,\n text: (snapshotContent.text || '') + event.delta.text,\n };\n }\n break;\n }\n case 'citations_delta': {\n if (snapshotContent?.type === 'text') {\n snapshot.content[event.index] = {\n ...snapshotContent,\n citations: [...(snapshotContent.citations ?? []), event.delta.citation],\n };\n }\n break;\n }\n case 'input_json_delta': {\n if (snapshotContent && tracksToolInput(snapshotContent)) {\n // we need to keep track of the raw JSON string as well so that we can\n // re-parse it for each delta, for now we just store it as an untyped\n // non-enumerable property on the snapshot\n let jsonBuf = snapshotContent[JSON_BUF_PROPERTY] || '';\n jsonBuf += event.delta.partial_json;\n const newContent = { ...snapshotContent };\n Object.defineProperty(newContent, JSON_BUF_PROPERTY, {\n value: jsonBuf,\n enumerable: false,\n writable: true,\n });\n if (jsonBuf) {\n newContent.input = partialParse(jsonBuf);\n }\n snapshot.content[event.index] = newContent;\n }\n break;\n }\n case 'thinking_delta': {\n if (snapshotContent?.type === 'thinking') {\n snapshot.content[event.index] = {\n ...snapshotContent,\n thinking: snapshotContent.thinking + event.delta.thinking,\n };\n }\n break;\n }\n case 'signature_delta': {\n if (snapshotContent?.type === 'thinking') {\n snapshot.content[event.index] = {\n ...snapshotContent,\n signature: event.delta.signature,\n };\n }\n break;\n }\n default:\n checkNever(event.delta);\n }\n return snapshot;\n }\n case 'content_block_stop':\n return snapshot;\n }\n }, Symbol.asyncIterator)]() {\n const pushQueue = [];\n const readQueue = [];\n let done = false;\n this.on('streamEvent', (event) => {\n const reader = readQueue.shift();\n if (reader) {\n reader.resolve(event);\n }\n else {\n pushQueue.push(event);\n }\n });\n this.on('end', () => {\n done = true;\n for (const reader of readQueue) {\n reader.resolve(undefined);\n }\n readQueue.length = 0;\n });\n this.on('abort', (err) => {\n done = true;\n for (const reader of readQueue) {\n reader.reject(err);\n }\n readQueue.length = 0;\n });\n this.on('error', (err) => {\n done = true;\n for (const reader of readQueue) {\n reader.reject(err);\n }\n readQueue.length = 0;\n });\n return {\n next: async () => {\n if (!pushQueue.length) {\n if (done) {\n return { value: undefined, done: true };\n }\n return new Promise((resolve, reject) => readQueue.push({ resolve, reject })).then((chunk) => (chunk ? { value: chunk, done: false } : { value: undefined, done: true }));\n }\n const chunk = pushQueue.shift();\n return { value: chunk, done: false };\n },\n return: async () => {\n this.abort();\n return { value: undefined, done: true };\n },\n };\n }\n toReadableStream() {\n const stream = new Stream(this[Symbol.asyncIterator].bind(this), this.controller);\n return stream.toReadableStream();\n }\n}\n// used to ensure exhaustive case matching without throwing a runtime error\nfunction checkNever(x) { }\n//# sourceMappingURL=MessageStream.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../core/resource.mjs\";\nimport { Page } from \"../../core/pagination.mjs\";\nimport { buildHeaders } from \"../../internal/headers.mjs\";\nimport { JSONLDecoder } from \"../../internal/decoders/jsonl.mjs\";\nimport { AnthropicError } from \"../../error.mjs\";\nimport { path } from \"../../internal/utils/path.mjs\";\nexport class Batches extends APIResource {\n /**\n * Send a batch of Message creation requests.\n *\n * The Message Batches API can be used to process multiple Messages API requests at\n * once. Once a Message Batch is created, it begins processing immediately. Batches\n * can take up to 24 hours to complete.\n *\n * Learn more about the Message Batches API in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)\n *\n * @example\n * ```ts\n * const messageBatch = await client.messages.batches.create({\n * requests: [\n * {\n * custom_id: 'my-custom-id-1',\n * params: {\n * max_tokens: 1024,\n * messages: [\n * { content: 'Hello, world', role: 'user' },\n * ],\n * model: 'claude-opus-4-6',\n * },\n * },\n * ],\n * });\n * ```\n */\n create(body, options) {\n return this._client.post('/v1/messages/batches', { body, ...options });\n }\n /**\n * This endpoint is idempotent and can be used to poll for Message Batch\n * completion. To access the results of a Message Batch, make a request to the\n * `results_url` field in the response.\n *\n * Learn more about the Message Batches API in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)\n *\n * @example\n * ```ts\n * const messageBatch = await client.messages.batches.retrieve(\n * 'message_batch_id',\n * );\n * ```\n */\n retrieve(messageBatchID, options) {\n return this._client.get(path `/v1/messages/batches/${messageBatchID}`, options);\n }\n /**\n * List all Message Batches within a Workspace. Most recently created batches are\n * returned first.\n *\n * Learn more about the Message Batches API in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)\n *\n * @example\n * ```ts\n * // Automatically fetches more pages as needed.\n * for await (const messageBatch of client.messages.batches.list()) {\n * // ...\n * }\n * ```\n */\n list(query = {}, options) {\n return this._client.getAPIList('/v1/messages/batches', (Page), { query, ...options });\n }\n /**\n * Delete a Message Batch.\n *\n * Message Batches can only be deleted once they've finished processing. If you'd\n * like to delete an in-progress batch, you must first cancel it.\n *\n * Learn more about the Message Batches API in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)\n *\n * @example\n * ```ts\n * const deletedMessageBatch =\n * await client.messages.batches.delete('message_batch_id');\n * ```\n */\n delete(messageBatchID, options) {\n return this._client.delete(path `/v1/messages/batches/${messageBatchID}`, options);\n }\n /**\n * Batches may be canceled any time before processing ends. Once cancellation is\n * initiated, the batch enters a `canceling` state, at which time the system may\n * complete any in-progress, non-interruptible requests before finalizing\n * cancellation.\n *\n * The number of canceled requests is specified in `request_counts`. To determine\n * which requests were canceled, check the individual results within the batch.\n * Note that cancellation may not result in any canceled requests if they were\n * non-interruptible.\n *\n * Learn more about the Message Batches API in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)\n *\n * @example\n * ```ts\n * const messageBatch = await client.messages.batches.cancel(\n * 'message_batch_id',\n * );\n * ```\n */\n cancel(messageBatchID, options) {\n return this._client.post(path `/v1/messages/batches/${messageBatchID}/cancel`, options);\n }\n /**\n * Streams the results of a Message Batch as a `.jsonl` file.\n *\n * Each line in the file is a JSON object containing the result of a single request\n * in the Message Batch. Results are not guaranteed to be in the same order as\n * requests. Use the `custom_id` field to match results to requests.\n *\n * Learn more about the Message Batches API in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)\n *\n * @example\n * ```ts\n * const messageBatchIndividualResponse =\n * await client.messages.batches.results('message_batch_id');\n * ```\n */\n async results(messageBatchID, options) {\n const batch = await this.retrieve(messageBatchID);\n if (!batch.results_url) {\n throw new AnthropicError(`No batch \\`results_url\\`; Has it finished processing? ${batch.processing_status} - ${batch.id}`);\n }\n return this._client\n .get(batch.results_url, {\n ...options,\n headers: buildHeaders([{ Accept: 'application/binary' }, options?.headers]),\n stream: true,\n __binaryResponse: true,\n })\n ._thenUnwrap((_, props) => JSONLDecoder.fromResponse(props.response, props.controller));\n }\n}\n//# sourceMappingURL=batches.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../core/resource.mjs\";\nimport { buildHeaders } from \"../../internal/headers.mjs\";\nimport { stainlessHelperHeader } from \"../../lib/stainless-helper-header.mjs\";\nimport { MessageStream } from \"../../lib/MessageStream.mjs\";\nimport { parseMessage, } from \"../../lib/parser.mjs\";\nimport * as BatchesAPI from \"./batches.mjs\";\nimport { Batches, } from \"./batches.mjs\";\nimport { MODEL_NONSTREAMING_TOKENS } from \"../../internal/constants.mjs\";\nexport class Messages extends APIResource {\n constructor() {\n super(...arguments);\n this.batches = new BatchesAPI.Batches(this._client);\n }\n create(body, options) {\n if (body.model in DEPRECATED_MODELS) {\n console.warn(`The model '${body.model}' is deprecated and will reach end-of-life on ${DEPRECATED_MODELS[body.model]}\\nPlease migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);\n }\n if (MODELS_TO_WARN_WITH_THINKING_ENABLED.includes(body.model) &&\n body.thinking &&\n body.thinking.type === 'enabled') {\n console.warn(`Using Claude with ${body.model} and 'thinking.type=enabled' is deprecated. Use 'thinking.type=adaptive' instead which results in better model performance in our testing: https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking`);\n }\n let timeout = this._client._options.timeout;\n if (!body.stream && timeout == null) {\n const maxNonstreamingTokens = MODEL_NONSTREAMING_TOKENS[body.model] ?? undefined;\n timeout = this._client.calculateNonstreamingTimeout(body.max_tokens, maxNonstreamingTokens);\n }\n // Collect helper info from tools and messages\n const helperHeader = stainlessHelperHeader(body.tools, body.messages);\n return this._client.post('/v1/messages', {\n body,\n timeout: timeout ?? 600000,\n ...options,\n headers: buildHeaders([helperHeader, options?.headers]),\n stream: body.stream ?? false,\n });\n }\n /**\n * Send a structured list of input messages with text and/or image content, along with an expected `output_config.format` and\n * the response will be automatically parsed and available in the `parsed_output` property of the message.\n *\n * @example\n * ```ts\n * const message = await client.messages.parse({\n * model: 'claude-sonnet-4-5-20250929',\n * max_tokens: 1024,\n * messages: [{ role: 'user', content: 'What is 2+2?' }],\n * output_config: {\n * format: zodOutputFormat(z.object({ answer: z.number() })),\n * },\n * });\n *\n * console.log(message.parsed_output?.answer); // 4\n * ```\n */\n parse(params, options) {\n return this.create(params, options).then((message) => parseMessage(message, params, { logger: this._client.logger ?? console }));\n }\n /**\n * Create a Message stream.\n *\n * If `output_config.format` is provided with a parseable format (like `zodOutputFormat()`),\n * the final message will include a `parsed_output` property with the parsed content.\n *\n * @example\n * ```ts\n * const stream = client.messages.stream({\n * model: 'claude-sonnet-4-5-20250929',\n * max_tokens: 1024,\n * messages: [{ role: 'user', content: 'What is 2+2?' }],\n * output_config: {\n * format: zodOutputFormat(z.object({ answer: z.number() })),\n * },\n * });\n *\n * const message = await stream.finalMessage();\n * console.log(message.parsed_output?.answer); // 4\n * ```\n */\n stream(body, options) {\n return MessageStream.createMessage(this, body, options, { logger: this._client.logger ?? console });\n }\n /**\n * Count the number of tokens in a Message.\n *\n * The Token Count API can be used to count the number of tokens in a Message,\n * including tools, images, and documents, without creating it.\n *\n * Learn more about token counting in our\n * [user guide](https://docs.claude.com/en/docs/build-with-claude/token-counting)\n *\n * @example\n * ```ts\n * const messageTokensCount =\n * await client.messages.countTokens({\n * messages: [{ content: 'Hello, world', role: 'user' }],\n * model: 'claude-opus-4-6',\n * });\n * ```\n */\n countTokens(body, options) {\n return this._client.post('/v1/messages/count_tokens', { body, ...options });\n }\n}\nconst DEPRECATED_MODELS = {\n 'claude-1.3': 'November 6th, 2024',\n 'claude-1.3-100k': 'November 6th, 2024',\n 'claude-instant-1.1': 'November 6th, 2024',\n 'claude-instant-1.1-100k': 'November 6th, 2024',\n 'claude-instant-1.2': 'November 6th, 2024',\n 'claude-3-sonnet-20240229': 'July 21st, 2025',\n 'claude-3-opus-20240229': 'January 5th, 2026',\n 'claude-2.1': 'July 21st, 2025',\n 'claude-2.0': 'July 21st, 2025',\n 'claude-3-7-sonnet-latest': 'February 19th, 2026',\n 'claude-3-7-sonnet-20250219': 'February 19th, 2026',\n 'claude-3-5-haiku-latest': 'February 19th, 2026',\n 'claude-3-5-haiku-20241022': 'February 19th, 2026',\n 'claude-opus-4-0': 'June 15th, 2026',\n 'claude-opus-4-20250514': 'June 15th, 2026',\n 'claude-sonnet-4-0': 'June 15th, 2026',\n 'claude-sonnet-4-20250514': 'June 15th, 2026',\n};\nconst MODELS_TO_WARN_WITH_THINKING_ENABLED = ['claude-mythos-preview', 'claude-opus-4-6'];\nMessages.Batches = Batches;\n//# sourceMappingURL=messages.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../core/resource.mjs\";\nimport { Page } from \"../core/pagination.mjs\";\nimport { buildHeaders } from \"../internal/headers.mjs\";\nimport { path } from \"../internal/utils/path.mjs\";\nexport class Models extends APIResource {\n /**\n * Get a specific model.\n *\n * The Models API response can be used to determine information about a specific\n * model or resolve a model alias to a model ID.\n */\n retrieve(modelID, params = {}, options) {\n const { betas } = params ?? {};\n return this._client.get(path `/v1/models/${modelID}`, {\n ...options,\n headers: buildHeaders([\n { ...(betas?.toString() != null ? { 'anthropic-beta': betas?.toString() } : undefined) },\n options?.headers,\n ]),\n });\n }\n /**\n * List available models.\n *\n * The Models API response can be used to determine which models are available for\n * use in the API. More recently released models are listed first.\n */\n list(params = {}, options) {\n const { betas, ...query } = params ?? {};\n return this._client.getAPIList('/v1/models', (Page), {\n query,\n ...options,\n headers: buildHeaders([\n { ...(betas?.toString() != null ? { 'anthropic-beta': betas?.toString() } : undefined) },\n options?.headers,\n ]),\n });\n }\n}\n//# sourceMappingURL=models.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\n/**\n * Read an environment variable.\n *\n * Trims beginning and trailing whitespace.\n *\n * Will return undefined if the environment variable doesn't exist or cannot be accessed.\n */\nexport const readEnv = (env) => {\n if (typeof globalThis.process !== 'undefined') {\n return globalThis.process.env?.[env]?.trim() || undefined;\n }\n if (typeof globalThis.Deno !== 'undefined') {\n return globalThis.Deno.env?.get?.(env)?.trim() || undefined;\n }\n return undefined;\n};\n//# sourceMappingURL=env.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nvar _BaseAnthropic_instances, _a, _BaseAnthropic_encoder, _BaseAnthropic_baseURLOverridden;\nimport { __classPrivateFieldGet, __classPrivateFieldSet } from \"./internal/tslib.mjs\";\nimport { uuid4 } from \"./internal/utils/uuid.mjs\";\nimport { validatePositiveInteger, isAbsoluteURL, safeJSON } from \"./internal/utils/values.mjs\";\nimport { sleep } from \"./internal/utils/sleep.mjs\";\nimport { castToError, isAbortError } from \"./internal/errors.mjs\";\nimport { getPlatformHeaders } from \"./internal/detect-platform.mjs\";\nimport * as Shims from \"./internal/shims.mjs\";\nimport * as Opts from \"./internal/request-options.mjs\";\nimport { stringifyQuery } from \"./internal/utils/query.mjs\";\nimport { VERSION } from \"./version.mjs\";\nimport * as Errors from \"./core/error.mjs\";\nimport * as Pagination from \"./core/pagination.mjs\";\nimport * as Uploads from \"./core/uploads.mjs\";\nimport * as API from \"./resources/index.mjs\";\nimport { APIPromise } from \"./core/api-promise.mjs\";\nimport { Completions, } from \"./resources/completions.mjs\";\nimport { Models, } from \"./resources/models.mjs\";\nimport { Beta, } from \"./resources/beta/beta.mjs\";\nimport { Messages, } from \"./resources/messages/messages.mjs\";\nimport { isRunningInBrowser } from \"./internal/detect-platform.mjs\";\nimport { buildHeaders } from \"./internal/headers.mjs\";\nimport { readEnv } from \"./internal/utils/env.mjs\";\nimport { formatRequestDetails, loggerFor, parseLogLevel, } from \"./internal/utils/log.mjs\";\nimport { isEmptyObj } from \"./internal/utils/values.mjs\";\nexport const HUMAN_PROMPT = '\\\\n\\\\nHuman:';\nexport const AI_PROMPT = '\\\\n\\\\nAssistant:';\n/**\n * Base class for Anthropic API clients.\n */\nexport class BaseAnthropic {\n /**\n * API Client for interfacing with the Anthropic API.\n *\n * @param {string | null | undefined} [opts.apiKey=process.env['ANTHROPIC_API_KEY'] ?? null]\n * @param {string | null | undefined} [opts.authToken=process.env['ANTHROPIC_AUTH_TOKEN'] ?? null]\n * @param {string} [opts.baseURL=process.env['ANTHROPIC_BASE_URL'] ?? https://api.anthropic.com] - Override the default base URL for the API.\n * @param {number} [opts.timeout=10 minutes] - The maximum amount of time (in milliseconds) the client will wait for a response before timing out.\n * @param {MergedRequestInit} [opts.fetchOptions] - Additional `RequestInit` options to be passed to `fetch` calls.\n * @param {Fetch} [opts.fetch] - Specify a custom `fetch` function implementation.\n * @param {number} [opts.maxRetries=2] - The maximum number of times the client will retry a request.\n * @param {HeadersLike} opts.defaultHeaders - Default headers to include with every request to the API.\n * @param {Record<string, string | undefined>} opts.defaultQuery - Default query parameters to include with every request to the API.\n * @param {boolean} [opts.dangerouslyAllowBrowser=false] - By default, client-side use of this library is not allowed, as it risks exposing your secret API credentials to attackers.\n */\n constructor({ baseURL = readEnv('ANTHROPIC_BASE_URL'), apiKey = readEnv('ANTHROPIC_API_KEY') ?? null, authToken = readEnv('ANTHROPIC_AUTH_TOKEN') ?? null, ...opts } = {}) {\n _BaseAnthropic_instances.add(this);\n _BaseAnthropic_encoder.set(this, void 0);\n const options = {\n apiKey,\n authToken,\n ...opts,\n baseURL: baseURL || `https://api.anthropic.com`,\n };\n if (!options.dangerouslyAllowBrowser && isRunningInBrowser()) {\n throw new Errors.AnthropicError(\"It looks like you're running in a browser-like environment.\\n\\nThis is disabled by default, as it risks exposing your secret API credentials to attackers.\\nIf you understand the risks and have appropriate mitigations in place,\\nyou can set the `dangerouslyAllowBrowser` option to `true`, e.g.,\\n\\nnew Anthropic({ apiKey, dangerouslyAllowBrowser: true });\\n\");\n }\n this.baseURL = options.baseURL;\n this.timeout = options.timeout ?? _a.DEFAULT_TIMEOUT /* 10 minutes */;\n this.logger = options.logger ?? console;\n const defaultLogLevel = 'warn';\n // Set default logLevel early so that we can log a warning in parseLogLevel.\n this.logLevel = defaultLogLevel;\n this.logLevel =\n parseLogLevel(options.logLevel, 'ClientOptions.logLevel', this) ??\n parseLogLevel(readEnv('ANTHROPIC_LOG'), \"process.env['ANTHROPIC_LOG']\", this) ??\n defaultLogLevel;\n this.fetchOptions = options.fetchOptions;\n this.maxRetries = options.maxRetries ?? 2;\n this.fetch = options.fetch ?? Shims.getDefaultFetch();\n __classPrivateFieldSet(this, _BaseAnthropic_encoder, Opts.FallbackEncoder, \"f\");\n this._options = options;\n this.apiKey = typeof apiKey === 'string' ? apiKey : null;\n this.authToken = authToken;\n }\n /**\n * Create a new client instance re-using the same options given to the current client with optional overriding.\n */\n withOptions(options) {\n const client = new this.constructor({\n ...this._options,\n baseURL: this.baseURL,\n maxRetries: this.maxRetries,\n timeout: this.timeout,\n logger: this.logger,\n logLevel: this.logLevel,\n fetch: this.fetch,\n fetchOptions: this.fetchOptions,\n apiKey: this.apiKey,\n authToken: this.authToken,\n ...options,\n });\n return client;\n }\n defaultQuery() {\n return this._options.defaultQuery;\n }\n validateHeaders({ values, nulls }) {\n if (values.get('x-api-key') || values.get('authorization')) {\n return;\n }\n if (this.apiKey && values.get('x-api-key')) {\n return;\n }\n if (nulls.has('x-api-key')) {\n return;\n }\n if (this.authToken && values.get('authorization')) {\n return;\n }\n if (nulls.has('authorization')) {\n return;\n }\n throw new Error('Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the \"X-Api-Key\" or \"Authorization\" headers to be explicitly omitted');\n }\n async authHeaders(opts) {\n return buildHeaders([await this.apiKeyAuth(opts), await this.bearerAuth(opts)]);\n }\n async apiKeyAuth(opts) {\n if (this.apiKey == null) {\n return undefined;\n }\n return buildHeaders([{ 'X-Api-Key': this.apiKey }]);\n }\n async bearerAuth(opts) {\n if (this.authToken == null) {\n return undefined;\n }\n return buildHeaders([{ Authorization: `Bearer ${this.authToken}` }]);\n }\n /**\n * Basic re-implementation of `qs.stringify` for primitive types.\n */\n stringifyQuery(query) {\n return stringifyQuery(query);\n }\n getUserAgent() {\n return `${this.constructor.name}/JS ${VERSION}`;\n }\n defaultIdempotencyKey() {\n return `stainless-node-retry-${uuid4()}`;\n }\n makeStatusError(status, error, message, headers) {\n return Errors.APIError.generate(status, error, message, headers);\n }\n buildURL(path, query, defaultBaseURL) {\n const baseURL = (!__classPrivateFieldGet(this, _BaseAnthropic_instances, \"m\", _BaseAnthropic_baseURLOverridden).call(this) && defaultBaseURL) || this.baseURL;\n const url = isAbsoluteURL(path) ?\n new URL(path)\n : new URL(baseURL + (baseURL.endsWith('/') && path.startsWith('/') ? path.slice(1) : path));\n const defaultQuery = this.defaultQuery();\n const pathQuery = Object.fromEntries(url.searchParams);\n if (!isEmptyObj(defaultQuery) || !isEmptyObj(pathQuery)) {\n query = { ...pathQuery, ...defaultQuery, ...query };\n }\n if (typeof query === 'object' && query && !Array.isArray(query)) {\n url.search = this.stringifyQuery(query);\n }\n return url.toString();\n }\n _calculateNonstreamingTimeout(maxTokens) {\n const defaultTimeout = 10 * 60;\n const expectedTimeout = (60 * 60 * maxTokens) / 128000;\n if (expectedTimeout > defaultTimeout) {\n throw new Errors.AnthropicError('Streaming is required for operations that may take longer than 10 minutes. ' +\n 'See https://github.com/anthropics/anthropic-sdk-typescript#streaming-responses for more details');\n }\n return defaultTimeout * 1000;\n }\n /**\n * Used as a callback for mutating the given `FinalRequestOptions` object.\n */\n async prepareOptions(options) { }\n /**\n * Used as a callback for mutating the given `RequestInit` object.\n *\n * This is useful for cases where you want to add certain headers based off of\n * the request properties, e.g. `method` or `url`.\n */\n async prepareRequest(request, { url, options }) { }\n get(path, opts) {\n return this.methodRequest('get', path, opts);\n }\n post(path, opts) {\n return this.methodRequest('post', path, opts);\n }\n patch(path, opts) {\n return this.methodRequest('patch', path, opts);\n }\n put(path, opts) {\n return this.methodRequest('put', path, opts);\n }\n delete(path, opts) {\n return this.methodRequest('delete', path, opts);\n }\n methodRequest(method, path, opts) {\n return this.request(Promise.resolve(opts).then((opts) => {\n return { method, path, ...opts };\n }));\n }\n request(options, remainingRetries = null) {\n return new APIPromise(this, this.makeRequest(options, remainingRetries, undefined));\n }\n async makeRequest(optionsInput, retriesRemaining, retryOfRequestLogID) {\n const options = await optionsInput;\n const maxRetries = options.maxRetries ?? this.maxRetries;\n if (retriesRemaining == null) {\n retriesRemaining = maxRetries;\n }\n await this.prepareOptions(options);\n const { req, url, timeout } = await this.buildRequest(options, {\n retryCount: maxRetries - retriesRemaining,\n });\n await this.prepareRequest(req, { url, options });\n /** Not an API request ID, just for correlating local log entries. */\n const requestLogID = 'log_' + ((Math.random() * (1 << 24)) | 0).toString(16).padStart(6, '0');\n const retryLogStr = retryOfRequestLogID === undefined ? '' : `, retryOf: ${retryOfRequestLogID}`;\n const startTime = Date.now();\n loggerFor(this).debug(`[${requestLogID}] sending request`, formatRequestDetails({\n retryOfRequestLogID,\n method: options.method,\n url,\n options,\n headers: req.headers,\n }));\n if (options.signal?.aborted) {\n throw new Errors.APIUserAbortError();\n }\n const controller = new AbortController();\n const response = await this.fetchWithTimeout(url, req, timeout, controller).catch(castToError);\n const headersTime = Date.now();\n if (response instanceof globalThis.Error) {\n const retryMessage = `retrying, ${retriesRemaining} attempts remaining`;\n if (options.signal?.aborted) {\n throw new Errors.APIUserAbortError();\n }\n // detect native connection timeout errors\n // deno throws \"TypeError: error sending request for url (https://example/): client error (Connect): tcp connect error: Operation timed out (os error 60): Operation timed out (os error 60)\"\n // undici throws \"TypeError: fetch failed\" with cause \"ConnectTimeoutError: Connect Timeout Error (attempted address: example:443, timeout: 1ms)\"\n // others do not provide enough information to distinguish timeouts from other connection errors\n const isTimeout = isAbortError(response) ||\n /timed? ?out/i.test(String(response) + ('cause' in response ? String(response.cause) : ''));\n if (retriesRemaining) {\n loggerFor(this).info(`[${requestLogID}] connection ${isTimeout ? 'timed out' : 'failed'} - ${retryMessage}`);\n loggerFor(this).debug(`[${requestLogID}] connection ${isTimeout ? 'timed out' : 'failed'} (${retryMessage})`, formatRequestDetails({\n retryOfRequestLogID,\n url,\n durationMs: headersTime - startTime,\n message: response.message,\n }));\n return this.retryRequest(options, retriesRemaining, retryOfRequestLogID ?? requestLogID);\n }\n loggerFor(this).info(`[${requestLogID}] connection ${isTimeout ? 'timed out' : 'failed'} - error; no more retries left`);\n loggerFor(this).debug(`[${requestLogID}] connection ${isTimeout ? 'timed out' : 'failed'} (error; no more retries left)`, formatRequestDetails({\n retryOfRequestLogID,\n url,\n durationMs: headersTime - startTime,\n message: response.message,\n }));\n if (isTimeout) {\n throw new Errors.APIConnectionTimeoutError();\n }\n throw new Errors.APIConnectionError({ cause: response });\n }\n const specialHeaders = [...response.headers.entries()]\n .filter(([name]) => name === 'request-id')\n .map(([name, value]) => ', ' + name + ': ' + JSON.stringify(value))\n .join('');\n const responseInfo = `[${requestLogID}${retryLogStr}${specialHeaders}] ${req.method} ${url} ${response.ok ? 'succeeded' : 'failed'} with status ${response.status} in ${headersTime - startTime}ms`;\n if (!response.ok) {\n const shouldRetry = await this.shouldRetry(response);\n if (retriesRemaining && shouldRetry) {\n const retryMessage = `retrying, ${retriesRemaining} attempts remaining`;\n // We don't need the body of this response.\n await Shims.CancelReadableStream(response.body);\n loggerFor(this).info(`${responseInfo} - ${retryMessage}`);\n loggerFor(this).debug(`[${requestLogID}] response error (${retryMessage})`, formatRequestDetails({\n retryOfRequestLogID,\n url: response.url,\n status: response.status,\n headers: response.headers,\n durationMs: headersTime - startTime,\n }));\n return this.retryRequest(options, retriesRemaining, retryOfRequestLogID ?? requestLogID, response.headers);\n }\n const retryMessage = shouldRetry ? `error; no more retries left` : `error; not retryable`;\n loggerFor(this).info(`${responseInfo} - ${retryMessage}`);\n const errText = await response.text().catch((err) => castToError(err).message);\n const errJSON = safeJSON(errText);\n const errMessage = errJSON ? undefined : errText;\n loggerFor(this).debug(`[${requestLogID}] response error (${retryMessage})`, formatRequestDetails({\n retryOfRequestLogID,\n url: response.url,\n status: response.status,\n headers: response.headers,\n message: errMessage,\n durationMs: Date.now() - startTime,\n }));\n const err = this.makeStatusError(response.status, errJSON, errMessage, response.headers);\n throw err;\n }\n loggerFor(this).info(responseInfo);\n loggerFor(this).debug(`[${requestLogID}] response start`, formatRequestDetails({\n retryOfRequestLogID,\n url: response.url,\n status: response.status,\n headers: response.headers,\n durationMs: headersTime - startTime,\n }));\n return { response, options, controller, requestLogID, retryOfRequestLogID, startTime };\n }\n getAPIList(path, Page, opts) {\n return this.requestAPIList(Page, opts && 'then' in opts ?\n opts.then((opts) => ({ method: 'get', path, ...opts }))\n : { method: 'get', path, ...opts });\n }\n requestAPIList(Page, options) {\n const request = this.makeRequest(options, null, undefined);\n return new Pagination.PagePromise(this, request, Page);\n }\n async fetchWithTimeout(url, init, ms, controller) {\n const { signal, method, ...options } = init || {};\n // Avoid creating a closure over `this`, `init`, or `options` to prevent memory leaks.\n // An arrow function like `() => controller.abort()` captures the surrounding scope,\n // which includes the request body and other large objects. When the user passes a\n // long-lived AbortSignal, the listener prevents those objects from being GC'd for\n // the lifetime of the signal. Using `.bind()` only retains a reference to the\n // controller itself.\n const abort = this._makeAbort(controller);\n if (signal)\n signal.addEventListener('abort', abort, { once: true });\n const timeout = setTimeout(abort, ms);\n const isReadableBody = (globalThis.ReadableStream && options.body instanceof globalThis.ReadableStream) ||\n (typeof options.body === 'object' && options.body !== null && Symbol.asyncIterator in options.body);\n const fetchOptions = {\n signal: controller.signal,\n ...(isReadableBody ? { duplex: 'half' } : {}),\n method: 'GET',\n ...options,\n };\n if (method) {\n // Custom methods like 'patch' need to be uppercased\n // See https://github.com/nodejs/undici/issues/2294\n fetchOptions.method = method.toUpperCase();\n }\n try {\n // use undefined this binding; fetch errors if bound to something else in browser/cloudflare\n return await this.fetch.call(undefined, url, fetchOptions);\n }\n finally {\n clearTimeout(timeout);\n }\n }\n async shouldRetry(response) {\n // Note this is not a standard header.\n const shouldRetryHeader = response.headers.get('x-should-retry');\n // If the server explicitly says whether or not to retry, obey.\n if (shouldRetryHeader === 'true')\n return true;\n if (shouldRetryHeader === 'false')\n return false;\n // Retry on request timeouts.\n if (response.status === 408)\n return true;\n // Retry on lock timeouts.\n if (response.status === 409)\n return true;\n // Retry on rate limits.\n if (response.status === 429)\n return true;\n // Retry internal errors.\n if (response.status >= 500)\n return true;\n return false;\n }\n async retryRequest(options, retriesRemaining, requestLogID, responseHeaders) {\n let timeoutMillis;\n // Note the `retry-after-ms` header may not be standard, but is a good idea and we'd like proactive support for it.\n const retryAfterMillisHeader = responseHeaders?.get('retry-after-ms');\n if (retryAfterMillisHeader) {\n const timeoutMs = parseFloat(retryAfterMillisHeader);\n if (!Number.isNaN(timeoutMs)) {\n timeoutMillis = timeoutMs;\n }\n }\n // About the Retry-After header: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After\n const retryAfterHeader = responseHeaders?.get('retry-after');\n if (retryAfterHeader && !timeoutMillis) {\n const timeoutSeconds = parseFloat(retryAfterHeader);\n if (!Number.isNaN(timeoutSeconds)) {\n timeoutMillis = timeoutSeconds * 1000;\n }\n else {\n timeoutMillis = Date.parse(retryAfterHeader) - Date.now();\n }\n }\n // If the API asks us to wait a certain amount of time, just do what it\n // says, but otherwise calculate a default\n if (timeoutMillis === undefined) {\n const maxRetries = options.maxRetries ?? this.maxRetries;\n timeoutMillis = this.calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries);\n }\n await sleep(timeoutMillis);\n return this.makeRequest(options, retriesRemaining - 1, requestLogID);\n }\n calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries) {\n const initialRetryDelay = 0.5;\n const maxRetryDelay = 8.0;\n const numRetries = maxRetries - retriesRemaining;\n // Apply exponential backoff, but not more than the max.\n const sleepSeconds = Math.min(initialRetryDelay * Math.pow(2, numRetries), maxRetryDelay);\n // Apply some jitter, take up to at most 25 percent of the retry time.\n const jitter = 1 - Math.random() * 0.25;\n return sleepSeconds * jitter * 1000;\n }\n calculateNonstreamingTimeout(maxTokens, maxNonstreamingTokens) {\n const maxTime = 60 * 60 * 1000; // 60 minutes\n const defaultTime = 60 * 10 * 1000; // 10 minutes\n const expectedTime = (maxTime * maxTokens) / 128000;\n if (expectedTime > defaultTime || (maxNonstreamingTokens != null && maxTokens > maxNonstreamingTokens)) {\n throw new Errors.AnthropicError('Streaming is required for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#long-requests for more details');\n }\n return defaultTime;\n }\n async buildRequest(inputOptions, { retryCount = 0 } = {}) {\n const options = { ...inputOptions };\n const { method, path, query, defaultBaseURL } = options;\n const url = this.buildURL(path, query, defaultBaseURL);\n if ('timeout' in options)\n validatePositiveInteger('timeout', options.timeout);\n options.timeout = options.timeout ?? this.timeout;\n const { bodyHeaders, body } = this.buildBody({ options });\n const reqHeaders = await this.buildHeaders({ options: inputOptions, method, bodyHeaders, retryCount });\n const req = {\n method,\n headers: reqHeaders,\n ...(options.signal && { signal: options.signal }),\n ...(globalThis.ReadableStream &&\n body instanceof globalThis.ReadableStream && { duplex: 'half' }),\n ...(body && { body }),\n ...(this.fetchOptions ?? {}),\n ...(options.fetchOptions ?? {}),\n };\n return { req, url, timeout: options.timeout };\n }\n async buildHeaders({ options, method, bodyHeaders, retryCount, }) {\n let idempotencyHeaders = {};\n if (this.idempotencyHeader && method !== 'get') {\n if (!options.idempotencyKey)\n options.idempotencyKey = this.defaultIdempotencyKey();\n idempotencyHeaders[this.idempotencyHeader] = options.idempotencyKey;\n }\n const headers = buildHeaders([\n idempotencyHeaders,\n {\n Accept: 'application/json',\n 'User-Agent': this.getUserAgent(),\n 'X-Stainless-Retry-Count': String(retryCount),\n ...(options.timeout ? { 'X-Stainless-Timeout': String(Math.trunc(options.timeout / 1000)) } : {}),\n ...getPlatformHeaders(),\n ...(this._options.dangerouslyAllowBrowser ?\n { 'anthropic-dangerous-direct-browser-access': 'true' }\n : undefined),\n 'anthropic-version': '2023-06-01',\n },\n await this.authHeaders(options),\n this._options.defaultHeaders,\n bodyHeaders,\n options.headers,\n ]);\n this.validateHeaders(headers);\n return headers.values;\n }\n _makeAbort(controller) {\n // note: we can't just inline this method inside `fetchWithTimeout()` because then the closure\n // would capture all request options, and cause a memory leak.\n return () => controller.abort();\n }\n buildBody({ options: { body, headers: rawHeaders } }) {\n if (!body) {\n return { bodyHeaders: undefined, body: undefined };\n }\n const headers = buildHeaders([rawHeaders]);\n if (\n // Pass raw type verbatim\n ArrayBuffer.isView(body) ||\n body instanceof ArrayBuffer ||\n body instanceof DataView ||\n (typeof body === 'string' &&\n // Preserve legacy string encoding behavior for now\n headers.values.has('content-type')) ||\n // `Blob` is superset of `File`\n (globalThis.Blob && body instanceof globalThis.Blob) ||\n // `FormData` -> `multipart/form-data`\n body instanceof FormData ||\n // `URLSearchParams` -> `application/x-www-form-urlencoded`\n body instanceof URLSearchParams ||\n // Send chunked stream (each chunk has own `length`)\n (globalThis.ReadableStream && body instanceof globalThis.ReadableStream)) {\n return { bodyHeaders: undefined, body: body };\n }\n else if (typeof body === 'object' &&\n (Symbol.asyncIterator in body ||\n (Symbol.iterator in body && 'next' in body && typeof body.next === 'function'))) {\n return { bodyHeaders: undefined, body: Shims.ReadableStreamFrom(body) };\n }\n else if (typeof body === 'object' &&\n headers.values.get('content-type') === 'application/x-www-form-urlencoded') {\n return {\n bodyHeaders: { 'content-type': 'application/x-www-form-urlencoded' },\n body: this.stringifyQuery(body),\n };\n }\n else {\n return __classPrivateFieldGet(this, _BaseAnthropic_encoder, \"f\").call(this, { body, headers });\n }\n }\n}\n_a = BaseAnthropic, _BaseAnthropic_encoder = new WeakMap(), _BaseAnthropic_instances = new WeakSet(), _BaseAnthropic_baseURLOverridden = function _BaseAnthropic_baseURLOverridden() {\n return this.baseURL !== 'https://api.anthropic.com';\n};\nBaseAnthropic.Anthropic = _a;\nBaseAnthropic.HUMAN_PROMPT = HUMAN_PROMPT;\nBaseAnthropic.AI_PROMPT = AI_PROMPT;\nBaseAnthropic.DEFAULT_TIMEOUT = 600000; // 10 minutes\nBaseAnthropic.AnthropicError = Errors.AnthropicError;\nBaseAnthropic.APIError = Errors.APIError;\nBaseAnthropic.APIConnectionError = Errors.APIConnectionError;\nBaseAnthropic.APIConnectionTimeoutError = Errors.APIConnectionTimeoutError;\nBaseAnthropic.APIUserAbortError = Errors.APIUserAbortError;\nBaseAnthropic.NotFoundError = Errors.NotFoundError;\nBaseAnthropic.ConflictError = Errors.ConflictError;\nBaseAnthropic.RateLimitError = Errors.RateLimitError;\nBaseAnthropic.BadRequestError = Errors.BadRequestError;\nBaseAnthropic.AuthenticationError = Errors.AuthenticationError;\nBaseAnthropic.InternalServerError = Errors.InternalServerError;\nBaseAnthropic.PermissionDeniedError = Errors.PermissionDeniedError;\nBaseAnthropic.UnprocessableEntityError = Errors.UnprocessableEntityError;\nBaseAnthropic.toFile = Uploads.toFile;\n/**\n * API Client for interfacing with the Anthropic API.\n */\nexport class Anthropic extends BaseAnthropic {\n constructor() {\n super(...arguments);\n this.completions = new API.Completions(this);\n this.messages = new API.Messages(this);\n this.models = new API.Models(this);\n this.beta = new API.Beta(this);\n }\n}\nAnthropic.Completions = Completions;\nAnthropic.Messages = Messages;\nAnthropic.Models = Models;\nAnthropic.Beta = Beta;\n//# sourceMappingURL=client.mjs.map","import Anthropic from \"@anthropic-ai/sdk\";\nimport { getEnvApiKey } from \"../env-api-keys.js\";\nimport { calculateCost } from \"../models.js\";\nimport { AssistantMessageEventStream } from \"../utils/event-stream.js\";\nimport { headersToRecord } from \"../utils/headers.js\";\nimport { parseJsonWithRepair, parseStreamingJson } from \"../utils/json-parse.js\";\nimport { sanitizeSurrogates } from \"../utils/sanitize-unicode.js\";\nimport { resolveCloudflareBaseUrl } from \"./cloudflare.js\";\nimport { buildCopilotDynamicHeaders, hasCopilotVisionInput } from \"./github-copilot-headers.js\";\nimport { adjustMaxTokensForThinking, buildBaseOptions } from \"./simple-options.js\";\nimport { transformMessages } from \"./transform-messages.js\";\n/**\n * Resolve cache retention preference.\n * Defaults to \"short\" and uses PI_CACHE_RETENTION for backward compatibility.\n */\nfunction resolveCacheRetention(cacheRetention) {\n if (cacheRetention) {\n return cacheRetention;\n }\n if (typeof process !== \"undefined\" && process.env.PI_CACHE_RETENTION === \"long\") {\n return \"long\";\n }\n return \"short\";\n}\nfunction getCacheControl(model, cacheRetention) {\n const retention = resolveCacheRetention(cacheRetention);\n if (retention === \"none\") {\n return { retention };\n }\n const ttl = retention === \"long\" && getAnthropicCompat(model).supportsLongCacheRetention ? \"1h\" : undefined;\n return {\n retention,\n cacheControl: { type: \"ephemeral\", ...(ttl && { ttl }) },\n };\n}\n// Stealth mode: Mimic Claude Code's tool naming exactly\nconst claudeCodeVersion = \"2.1.75\";\n// Claude Code 2.x tool names (canonical casing)\n// Source: https://cchistory.mariozechner.at/data/prompts-2.1.11.md\n// To update: https://github.com/badlogic/cchistory\nconst claudeCodeTools = [\n \"Read\",\n \"Write\",\n \"Edit\",\n \"Bash\",\n \"Grep\",\n \"Glob\",\n \"AskUserQuestion\",\n \"EnterPlanMode\",\n \"ExitPlanMode\",\n \"KillShell\",\n \"NotebookEdit\",\n \"Skill\",\n \"Task\",\n \"TaskOutput\",\n \"TodoWrite\",\n \"WebFetch\",\n \"WebSearch\",\n];\nconst ccToolLookup = new Map(claudeCodeTools.map((t) => [t.toLowerCase(), t]));\n// Convert tool name to CC canonical casing if it matches (case-insensitive)\nconst toClaudeCodeName = (name) => ccToolLookup.get(name.toLowerCase()) ?? name;\nconst fromClaudeCodeName = (name, tools) => {\n if (tools && tools.length > 0) {\n const lowerName = name.toLowerCase();\n const matchedTool = tools.find((tool) => tool.name.toLowerCase() === lowerName);\n if (matchedTool)\n return matchedTool.name;\n }\n return name;\n};\n/**\n * Convert content blocks to Anthropic API format\n */\nfunction convertContentBlocks(content) {\n // If only text blocks, return as concatenated string for simplicity\n const hasImages = content.some((c) => c.type === \"image\");\n if (!hasImages) {\n return sanitizeSurrogates(content.map((c) => c.text).join(\"\\n\"));\n }\n // If we have images, convert to content block array\n const blocks = content.map((block) => {\n if (block.type === \"text\") {\n return {\n type: \"text\",\n text: sanitizeSurrogates(block.text),\n };\n }\n return {\n type: \"image\",\n source: {\n type: \"base64\",\n media_type: block.mimeType,\n data: block.data,\n },\n };\n });\n // If only images (no text), add placeholder text block\n const hasText = blocks.some((b) => b.type === \"text\");\n if (!hasText) {\n blocks.unshift({\n type: \"text\",\n text: \"(see attached image)\",\n });\n }\n return blocks;\n}\nconst FINE_GRAINED_TOOL_STREAMING_BETA = \"fine-grained-tool-streaming-2025-05-14\";\nconst INTERLEAVED_THINKING_BETA = \"interleaved-thinking-2025-05-14\";\nfunction getAnthropicCompat(model) {\n // Auto-detect session affinity and cache control support from provider\n const isFireworks = model.provider === \"fireworks\";\n const isCloudflareAiGatewayAnthropic = model.provider === \"cloudflare-ai-gateway\" && model.baseUrl.includes(\"anthropic\");\n return {\n supportsEagerToolInputStreaming: model.compat?.supportsEagerToolInputStreaming ?? !isFireworks,\n supportsLongCacheRetention: model.compat?.supportsLongCacheRetention ?? !isFireworks,\n sendSessionAffinityHeaders: model.compat?.sendSessionAffinityHeaders ?? !!(isFireworks || isCloudflareAiGatewayAnthropic),\n supportsCacheControlOnTools: model.compat?.supportsCacheControlOnTools ?? !isFireworks,\n };\n}\nfunction mergeHeaders(...headerSources) {\n const merged = {};\n for (const headers of headerSources) {\n if (headers) {\n Object.assign(merged, headers);\n }\n }\n return merged;\n}\nconst ANTHROPIC_MESSAGE_EVENTS = new Set([\n \"message_start\",\n \"message_delta\",\n \"message_stop\",\n \"content_block_start\",\n \"content_block_delta\",\n \"content_block_stop\",\n]);\nfunction flushSseEvent(state) {\n if (!state.event && state.data.length === 0) {\n return null;\n }\n const event = {\n event: state.event,\n data: state.data.join(\"\\n\"),\n raw: [...state.raw],\n };\n state.event = null;\n state.data = [];\n state.raw = [];\n return event;\n}\nfunction decodeSseLine(line, state) {\n if (line === \"\") {\n return flushSseEvent(state);\n }\n state.raw.push(line);\n if (line.startsWith(\":\")) {\n return null;\n }\n const delimiterIndex = line.indexOf(\":\");\n const fieldName = delimiterIndex === -1 ? line : line.slice(0, delimiterIndex);\n let value = delimiterIndex === -1 ? \"\" : line.slice(delimiterIndex + 1);\n if (value.startsWith(\" \")) {\n value = value.slice(1);\n }\n if (fieldName === \"event\") {\n state.event = value;\n }\n else if (fieldName === \"data\") {\n state.data.push(value);\n }\n return null;\n}\nfunction nextLineBreakIndex(text) {\n const carriageReturnIndex = text.indexOf(\"\\r\");\n const newlineIndex = text.indexOf(\"\\n\");\n if (carriageReturnIndex === -1) {\n return newlineIndex;\n }\n if (newlineIndex === -1) {\n return carriageReturnIndex;\n }\n return Math.min(carriageReturnIndex, newlineIndex);\n}\nfunction consumeLine(text) {\n const lineBreakIndex = nextLineBreakIndex(text);\n if (lineBreakIndex === -1) {\n return null;\n }\n let nextIndex = lineBreakIndex + 1;\n if (text[lineBreakIndex] === \"\\r\" && text[nextIndex] === \"\\n\") {\n nextIndex += 1;\n }\n return {\n line: text.slice(0, lineBreakIndex),\n rest: text.slice(nextIndex),\n };\n}\nasync function* iterateSseMessages(body, signal) {\n const reader = body.getReader();\n const decoder = new TextDecoder();\n const state = { event: null, data: [], raw: [] };\n let buffer = \"\";\n try {\n while (true) {\n if (signal?.aborted) {\n throw new Error(\"Request was aborted\");\n }\n const { value, done } = await reader.read();\n if (done) {\n break;\n }\n buffer += decoder.decode(value, { stream: true });\n let consumed = consumeLine(buffer);\n while (consumed) {\n buffer = consumed.rest;\n const event = decodeSseLine(consumed.line, state);\n if (event) {\n yield event;\n }\n consumed = consumeLine(buffer);\n }\n }\n buffer += decoder.decode();\n let consumed = consumeLine(buffer);\n while (consumed) {\n buffer = consumed.rest;\n const event = decodeSseLine(consumed.line, state);\n if (event) {\n yield event;\n }\n consumed = consumeLine(buffer);\n }\n if (buffer.length > 0) {\n const event = decodeSseLine(buffer, state);\n if (event) {\n yield event;\n }\n }\n const trailingEvent = flushSseEvent(state);\n if (trailingEvent) {\n yield trailingEvent;\n }\n }\n finally {\n reader.releaseLock();\n }\n}\nasync function* iterateAnthropicEvents(response, signal) {\n if (!response.body) {\n throw new Error(\"Attempted to iterate over an Anthropic response with no body\");\n }\n let sawMessageStart = false;\n let sawMessageEnd = false;\n for await (const sse of iterateSseMessages(response.body, signal)) {\n if (sse.event === \"error\") {\n throw new Error(sse.data);\n }\n if (!ANTHROPIC_MESSAGE_EVENTS.has(sse.event ?? \"\")) {\n continue;\n }\n try {\n const event = parseJsonWithRepair(sse.data);\n if (event.type === \"message_start\") {\n sawMessageStart = true;\n }\n else if (event.type === \"message_stop\") {\n sawMessageEnd = true;\n }\n yield event;\n }\n catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n throw new Error(`Could not parse Anthropic SSE event ${sse.event}: ${message}; data=${sse.data}; raw=${sse.raw.join(\"\\\\n\")}`);\n }\n }\n if (sawMessageStart && !sawMessageEnd) {\n throw new Error(\"Anthropic stream ended before message_stop\");\n }\n}\nexport const streamAnthropic = (model, context, options) => {\n const stream = new AssistantMessageEventStream();\n (async () => {\n const output = {\n role: \"assistant\",\n content: [],\n api: model.api,\n provider: model.provider,\n model: model.id,\n usage: {\n input: 0,\n output: 0,\n cacheRead: 0,\n cacheWrite: 0,\n totalTokens: 0,\n cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },\n },\n stopReason: \"stop\",\n timestamp: Date.now(),\n };\n try {\n let client;\n let isOAuth;\n if (options?.client) {\n client = options.client;\n isOAuth = false;\n }\n else {\n const apiKey = options?.apiKey ?? getEnvApiKey(model.provider) ?? \"\";\n let copilotDynamicHeaders;\n if (model.provider === \"github-copilot\") {\n const hasImages = hasCopilotVisionInput(context.messages);\n copilotDynamicHeaders = buildCopilotDynamicHeaders({\n messages: context.messages,\n hasImages,\n });\n }\n const cacheRetention = options?.cacheRetention ?? resolveCacheRetention();\n const cacheSessionId = cacheRetention === \"none\" ? undefined : options?.sessionId;\n const created = createClient(model, apiKey, options?.interleavedThinking ?? true, shouldUseFineGrainedToolStreamingBeta(model, context), options?.headers, copilotDynamicHeaders, cacheSessionId);\n client = created.client;\n isOAuth = created.isOAuthToken;\n }\n let params = buildParams(model, context, isOAuth, options);\n const nextParams = await options?.onPayload?.(params, model);\n if (nextParams !== undefined) {\n params = nextParams;\n }\n const requestOptions = {\n ...(options?.signal ? { signal: options.signal } : {}),\n ...(options?.timeoutMs !== undefined ? { timeout: options.timeoutMs } : {}),\n ...(options?.maxRetries !== undefined ? { maxRetries: options.maxRetries } : {}),\n };\n const response = await client.messages.create({ ...params, stream: true }, requestOptions).asResponse();\n await options?.onResponse?.({ status: response.status, headers: headersToRecord(response.headers) }, model);\n stream.push({ type: \"start\", partial: output });\n const blocks = output.content;\n for await (const event of iterateAnthropicEvents(response, options?.signal)) {\n if (event.type === \"message_start\") {\n output.responseId = event.message.id;\n // Capture initial token usage from message_start event\n // This ensures we have input token counts even if the stream is aborted early\n output.usage.input = event.message.usage.input_tokens || 0;\n output.usage.output = event.message.usage.output_tokens || 0;\n output.usage.cacheRead = event.message.usage.cache_read_input_tokens || 0;\n output.usage.cacheWrite = event.message.usage.cache_creation_input_tokens || 0;\n // Anthropic doesn't provide total_tokens, compute from components\n output.usage.totalTokens =\n output.usage.input + output.usage.output + output.usage.cacheRead + output.usage.cacheWrite;\n calculateCost(model, output.usage);\n }\n else if (event.type === \"content_block_start\") {\n if (event.content_block.type === \"text\") {\n const block = {\n type: \"text\",\n text: \"\",\n index: event.index,\n };\n output.content.push(block);\n stream.push({ type: \"text_start\", contentIndex: output.content.length - 1, partial: output });\n }\n else if (event.content_block.type === \"thinking\") {\n const block = {\n type: \"thinking\",\n thinking: \"\",\n thinkingSignature: \"\",\n index: event.index,\n };\n output.content.push(block);\n stream.push({ type: \"thinking_start\", contentIndex: output.content.length - 1, partial: output });\n }\n else if (event.content_block.type === \"redacted_thinking\") {\n const block = {\n type: \"thinking\",\n thinking: \"[Reasoning redacted]\",\n thinkingSignature: event.content_block.data,\n redacted: true,\n index: event.index,\n };\n output.content.push(block);\n stream.push({ type: \"thinking_start\", contentIndex: output.content.length - 1, partial: output });\n }\n else if (event.content_block.type === \"tool_use\") {\n const block = {\n type: \"toolCall\",\n id: event.content_block.id,\n name: isOAuth\n ? fromClaudeCodeName(event.content_block.name, context.tools)\n : event.content_block.name,\n arguments: event.content_block.input ?? {},\n partialJson: \"\",\n index: event.index,\n };\n output.content.push(block);\n stream.push({ type: \"toolcall_start\", contentIndex: output.content.length - 1, partial: output });\n }\n }\n else if (event.type === \"content_block_delta\") {\n if (event.delta.type === \"text_delta\") {\n const index = blocks.findIndex((b) => b.index === event.index);\n const block = blocks[index];\n if (block && block.type === \"text\") {\n block.text += event.delta.text;\n stream.push({\n type: \"text_delta\",\n contentIndex: index,\n delta: event.delta.text,\n partial: output,\n });\n }\n }\n else if (event.delta.type === \"thinking_delta\") {\n const index = blocks.findIndex((b) => b.index === event.index);\n const block = blocks[index];\n if (block && block.type === \"thinking\") {\n block.thinking += event.delta.thinking;\n stream.push({\n type: \"thinking_delta\",\n contentIndex: index,\n delta: event.delta.thinking,\n partial: output,\n });\n }\n }\n else if (event.delta.type === \"input_json_delta\") {\n const index = blocks.findIndex((b) => b.index === event.index);\n const block = blocks[index];\n if (block && block.type === \"toolCall\") {\n block.partialJson += event.delta.partial_json;\n block.arguments = parseStreamingJson(block.partialJson);\n stream.push({\n type: \"toolcall_delta\",\n contentIndex: index,\n delta: event.delta.partial_json,\n partial: output,\n });\n }\n }\n else if (event.delta.type === \"signature_delta\") {\n const index = blocks.findIndex((b) => b.index === event.index);\n const block = blocks[index];\n if (block && block.type === \"thinking\") {\n block.thinkingSignature = block.thinkingSignature || \"\";\n block.thinkingSignature += event.delta.signature;\n }\n }\n }\n else if (event.type === \"content_block_stop\") {\n const index = blocks.findIndex((b) => b.index === event.index);\n const block = blocks[index];\n if (block) {\n delete block.index;\n if (block.type === \"text\") {\n stream.push({\n type: \"text_end\",\n contentIndex: index,\n content: block.text,\n partial: output,\n });\n }\n else if (block.type === \"thinking\") {\n stream.push({\n type: \"thinking_end\",\n contentIndex: index,\n content: block.thinking,\n partial: output,\n });\n }\n else if (block.type === \"toolCall\") {\n block.arguments = parseStreamingJson(block.partialJson);\n // Finalize in-place and strip the scratch buffer so replay only\n // carries parsed arguments.\n delete block.partialJson;\n stream.push({\n type: \"toolcall_end\",\n contentIndex: index,\n toolCall: block,\n partial: output,\n });\n }\n }\n }\n else if (event.type === \"message_delta\") {\n if (event.delta.stop_reason) {\n output.stopReason = mapStopReason(event.delta.stop_reason);\n }\n // Only update usage fields if present (not null).\n // Preserves input_tokens from message_start when proxies omit it in message_delta.\n if (event.usage.input_tokens != null) {\n output.usage.input = event.usage.input_tokens;\n }\n if (event.usage.output_tokens != null) {\n output.usage.output = event.usage.output_tokens;\n }\n if (event.usage.cache_read_input_tokens != null) {\n output.usage.cacheRead = event.usage.cache_read_input_tokens;\n }\n if (event.usage.cache_creation_input_tokens != null) {\n output.usage.cacheWrite = event.usage.cache_creation_input_tokens;\n }\n // Anthropic doesn't provide total_tokens, compute from components\n output.usage.totalTokens =\n output.usage.input + output.usage.output + output.usage.cacheRead + output.usage.cacheWrite;\n calculateCost(model, output.usage);\n }\n }\n if (options?.signal?.aborted) {\n throw new Error(\"Request was aborted\");\n }\n if (output.stopReason === \"aborted\" || output.stopReason === \"error\") {\n throw new Error(\"An unknown error occurred\");\n }\n stream.push({ type: \"done\", reason: output.stopReason, message: output });\n stream.end();\n }\n catch (error) {\n for (const block of output.content) {\n delete block.index;\n // partialJson is only a streaming scratch buffer; never persist it.\n delete block.partialJson;\n }\n output.stopReason = options?.signal?.aborted ? \"aborted\" : \"error\";\n output.errorMessage = error instanceof Error ? error.message : JSON.stringify(error);\n stream.push({ type: \"error\", reason: output.stopReason, error: output });\n stream.end();\n }\n })();\n return stream;\n};\n/**\n * Check if a model supports adaptive thinking (Opus 4.6+, Sonnet 4.6)\n */\nfunction supportsAdaptiveThinking(modelId) {\n // Adaptive-thinking model IDs (with or without date suffix)\n return (modelId.includes(\"opus-4-6\") ||\n modelId.includes(\"opus-4.6\") ||\n modelId.includes(\"opus-4-7\") ||\n modelId.includes(\"opus-4.7\") ||\n modelId.includes(\"sonnet-4-6\") ||\n modelId.includes(\"sonnet-4.6\"));\n}\n/**\n * Map ThinkingLevel to Anthropic effort levels for adaptive thinking.\n * Note: effort \"max\" is only valid on Opus 4.6, while Opus 4.7 supports \"xhigh\".\n */\nfunction mapThinkingLevelToEffort(model, level) {\n const mapped = level ? model.thinkingLevelMap?.[level] : undefined;\n if (typeof mapped === \"string\")\n return mapped;\n switch (level) {\n case \"minimal\":\n case \"low\":\n return \"low\";\n case \"medium\":\n return \"medium\";\n case \"high\":\n return \"high\";\n default:\n return \"high\";\n }\n}\nexport const streamSimpleAnthropic = (model, context, options) => {\n const apiKey = options?.apiKey || getEnvApiKey(model.provider);\n if (!apiKey) {\n throw new Error(`No API key for provider: ${model.provider}`);\n }\n const base = buildBaseOptions(model, options, apiKey);\n if (!options?.reasoning) {\n return streamAnthropic(model, context, { ...base, thinkingEnabled: false });\n }\n // For Opus 4.6 and Sonnet 4.6: use adaptive thinking with effort level\n // For older models: use budget-based thinking\n if (supportsAdaptiveThinking(model.id)) {\n const effort = mapThinkingLevelToEffort(model, options.reasoning);\n return streamAnthropic(model, context, {\n ...base,\n thinkingEnabled: true,\n effort,\n });\n }\n // Undefined means the caller did not request an output cap; let the helper use the model cap.\n // Do not coerce to 0 here, or the thinking budget would become the entire max_tokens value.\n const adjusted = adjustMaxTokensForThinking(base.maxTokens, model.maxTokens, options.reasoning, options.thinkingBudgets);\n return streamAnthropic(model, context, {\n ...base,\n maxTokens: adjusted.maxTokens,\n thinkingEnabled: true,\n thinkingBudgetTokens: adjusted.thinkingBudget,\n });\n};\nfunction isOAuthToken(apiKey) {\n return apiKey.includes(\"sk-ant-oat\");\n}\nfunction createClient(model, apiKey, interleavedThinking, useFineGrainedToolStreamingBeta, optionsHeaders, dynamicHeaders, sessionId) {\n // Adaptive thinking models (Opus 4.6, Sonnet 4.6) have interleaved thinking built-in.\n // The beta header is deprecated on Opus 4.6 and redundant on Sonnet 4.6, so skip it.\n const needsInterleavedBeta = interleavedThinking && !supportsAdaptiveThinking(model.id);\n const betaFeatures = [];\n if (useFineGrainedToolStreamingBeta) {\n betaFeatures.push(FINE_GRAINED_TOOL_STREAMING_BETA);\n }\n if (needsInterleavedBeta) {\n betaFeatures.push(INTERLEAVED_THINKING_BETA);\n }\n if (model.provider === \"cloudflare-ai-gateway\") {\n const client = new Anthropic({\n apiKey: null,\n authToken: null,\n baseURL: resolveCloudflareBaseUrl(model),\n dangerouslyAllowBrowser: true,\n defaultHeaders: mergeHeaders({\n accept: \"application/json\",\n \"anthropic-dangerous-direct-browser-access\": \"true\",\n \"cf-aig-authorization\": `Bearer ${apiKey}`,\n \"x-api-key\": null,\n Authorization: null,\n ...(betaFeatures.length > 0 ? { \"anthropic-beta\": betaFeatures.join(\",\") } : {}),\n }, model.headers, optionsHeaders),\n });\n return { client, isOAuthToken: false };\n }\n // Copilot: Bearer auth, selective betas.\n if (model.provider === \"github-copilot\") {\n const client = new Anthropic({\n apiKey: null,\n authToken: apiKey,\n baseURL: model.baseUrl,\n dangerouslyAllowBrowser: true,\n defaultHeaders: mergeHeaders({\n accept: \"application/json\",\n \"anthropic-dangerous-direct-browser-access\": \"true\",\n ...(betaFeatures.length > 0 ? { \"anthropic-beta\": betaFeatures.join(\",\") } : {}),\n }, model.headers, dynamicHeaders, optionsHeaders),\n });\n return { client, isOAuthToken: false };\n }\n // OAuth: Bearer auth, Claude Code identity headers\n if (isOAuthToken(apiKey)) {\n const client = new Anthropic({\n apiKey: null,\n authToken: apiKey,\n baseURL: model.baseUrl,\n dangerouslyAllowBrowser: true,\n defaultHeaders: mergeHeaders({\n accept: \"application/json\",\n \"anthropic-dangerous-direct-browser-access\": \"true\",\n \"anthropic-beta\": [\"claude-code-20250219\", \"oauth-2025-04-20\", ...betaFeatures].join(\",\"),\n \"user-agent\": `claude-cli/${claudeCodeVersion}`,\n \"x-app\": \"cli\",\n }, model.headers, optionsHeaders),\n });\n return { client, isOAuthToken: true };\n }\n // API key auth\n const sessionAffinityHeaders = sessionId && getAnthropicCompat(model).sendSessionAffinityHeaders ? { \"x-session-affinity\": sessionId } : {};\n const client = new Anthropic({\n apiKey,\n authToken: null,\n baseURL: model.baseUrl,\n dangerouslyAllowBrowser: true,\n defaultHeaders: mergeHeaders({\n accept: \"application/json\",\n \"anthropic-dangerous-direct-browser-access\": \"true\",\n ...(betaFeatures.length > 0 ? { \"anthropic-beta\": betaFeatures.join(\",\") } : {}),\n }, sessionAffinityHeaders, model.headers, optionsHeaders),\n });\n return { client, isOAuthToken: false };\n}\nfunction buildParams(model, context, isOAuthToken, options) {\n const { cacheControl } = getCacheControl(model, options?.cacheRetention);\n const params = {\n model: model.id,\n messages: convertMessages(context.messages, model, isOAuthToken, cacheControl),\n max_tokens: options?.maxTokens ?? model.maxTokens,\n stream: true,\n };\n // For OAuth tokens, we MUST include Claude Code identity\n if (isOAuthToken) {\n params.system = [\n {\n type: \"text\",\n text: \"You are Claude Code, Anthropic's official CLI for Claude.\",\n ...(cacheControl ? { cache_control: cacheControl } : {}),\n },\n ];\n if (context.systemPrompt) {\n params.system.push({\n type: \"text\",\n text: sanitizeSurrogates(context.systemPrompt),\n ...(cacheControl ? { cache_control: cacheControl } : {}),\n });\n }\n }\n else if (context.systemPrompt) {\n // Add cache control to system prompt for non-OAuth tokens\n params.system = [\n {\n type: \"text\",\n text: sanitizeSurrogates(context.systemPrompt),\n ...(cacheControl ? { cache_control: cacheControl } : {}),\n },\n ];\n }\n // Temperature is incompatible with extended thinking (adaptive or budget-based).\n if (options?.temperature !== undefined && !options?.thinkingEnabled) {\n params.temperature = options.temperature;\n }\n if (context.tools && context.tools.length > 0) {\n const compat = getAnthropicCompat(model);\n params.tools = convertTools(context.tools, isOAuthToken, compat.supportsEagerToolInputStreaming, compat.supportsCacheControlOnTools ? cacheControl : undefined);\n }\n // Configure thinking mode: adaptive (Opus 4.6+ and Sonnet 4.6),\n // budget-based (older models), or explicitly disabled.\n if (model.reasoning) {\n if (options?.thinkingEnabled) {\n // Default to \"summarized\" so Opus 4.7 and Mythos Preview behave like\n // older Claude 4 models (whose API default is also \"summarized\").\n const display = options.thinkingDisplay ?? \"summarized\";\n if (supportsAdaptiveThinking(model.id)) {\n // Adaptive thinking: Claude decides when and how much to think.\n params.thinking = { type: \"adaptive\", display };\n if (options.effort) {\n // The Anthropic SDK types can lag newly supported effort values such as \"xhigh\".\n params.output_config =\n options.effort === \"xhigh\"\n ? { effort: options.effort }\n : { effort: options.effort };\n }\n }\n else {\n // Budget-based thinking for older models\n params.thinking = {\n type: \"enabled\",\n budget_tokens: options.thinkingBudgetTokens || 1024,\n display,\n };\n }\n }\n else if (options?.thinkingEnabled === false) {\n params.thinking = { type: \"disabled\" };\n }\n }\n if (options?.metadata) {\n const userId = options.metadata.user_id;\n if (typeof userId === \"string\") {\n params.metadata = { user_id: userId };\n }\n }\n if (options?.toolChoice) {\n if (typeof options.toolChoice === \"string\") {\n params.tool_choice = { type: options.toolChoice };\n }\n else {\n params.tool_choice = options.toolChoice;\n }\n }\n return params;\n}\n// Normalize tool call IDs to match Anthropic's required pattern and length\nfunction normalizeToolCallId(id) {\n return id.replace(/[^a-zA-Z0-9_-]/g, \"_\").slice(0, 64);\n}\nfunction convertMessages(messages, model, isOAuthToken, cacheControl) {\n const params = [];\n // Transform messages for cross-provider compatibility\n const transformedMessages = transformMessages(messages, model, normalizeToolCallId);\n for (let i = 0; i < transformedMessages.length; i++) {\n const msg = transformedMessages[i];\n if (msg.role === \"user\") {\n if (typeof msg.content === \"string\") {\n if (msg.content.trim().length > 0) {\n params.push({\n role: \"user\",\n content: sanitizeSurrogates(msg.content),\n });\n }\n }\n else {\n const blocks = msg.content.map((item) => {\n if (item.type === \"text\") {\n return {\n type: \"text\",\n text: sanitizeSurrogates(item.text),\n };\n }\n else {\n return {\n type: \"image\",\n source: {\n type: \"base64\",\n media_type: item.mimeType,\n data: item.data,\n },\n };\n }\n });\n const filteredBlocks = blocks.filter((b) => {\n if (b.type === \"text\") {\n return b.text.trim().length > 0;\n }\n return true;\n });\n if (filteredBlocks.length === 0)\n continue;\n params.push({\n role: \"user\",\n content: filteredBlocks,\n });\n }\n }\n else if (msg.role === \"assistant\") {\n const blocks = [];\n for (const block of msg.content) {\n if (block.type === \"text\") {\n if (block.text.trim().length === 0)\n continue;\n blocks.push({\n type: \"text\",\n text: sanitizeSurrogates(block.text),\n });\n }\n else if (block.type === \"thinking\") {\n // Redacted thinking: pass the opaque payload back as redacted_thinking\n if (block.redacted) {\n blocks.push({\n type: \"redacted_thinking\",\n data: block.thinkingSignature,\n });\n continue;\n }\n if (block.thinking.trim().length === 0)\n continue;\n // If thinking signature is missing/empty (e.g., from aborted stream),\n // convert to plain text block without <thinking> tags to avoid API rejection\n // and prevent Claude from mimicking the tags in responses\n if (!block.thinkingSignature || block.thinkingSignature.trim().length === 0) {\n blocks.push({\n type: \"text\",\n text: sanitizeSurrogates(block.thinking),\n });\n }\n else {\n blocks.push({\n type: \"thinking\",\n thinking: sanitizeSurrogates(block.thinking),\n signature: block.thinkingSignature,\n });\n }\n }\n else if (block.type === \"toolCall\") {\n blocks.push({\n type: \"tool_use\",\n id: block.id,\n name: isOAuthToken ? toClaudeCodeName(block.name) : block.name,\n input: block.arguments ?? {},\n });\n }\n }\n if (blocks.length === 0)\n continue;\n params.push({\n role: \"assistant\",\n content: blocks,\n });\n }\n else if (msg.role === \"toolResult\") {\n // Collect all consecutive toolResult messages, needed for z.ai Anthropic endpoint\n const toolResults = [];\n // Add the current tool result\n toolResults.push({\n type: \"tool_result\",\n tool_use_id: msg.toolCallId,\n content: convertContentBlocks(msg.content),\n is_error: msg.isError,\n });\n // Look ahead for consecutive toolResult messages\n let j = i + 1;\n while (j < transformedMessages.length && transformedMessages[j].role === \"toolResult\") {\n const nextMsg = transformedMessages[j]; // We know it's a toolResult\n toolResults.push({\n type: \"tool_result\",\n tool_use_id: nextMsg.toolCallId,\n content: convertContentBlocks(nextMsg.content),\n is_error: nextMsg.isError,\n });\n j++;\n }\n // Skip the messages we've already processed\n i = j - 1;\n // Add a single user message with all tool results\n params.push({\n role: \"user\",\n content: toolResults,\n });\n }\n }\n // Add cache_control to the last user message to cache conversation history\n if (cacheControl && params.length > 0) {\n const lastMessage = params[params.length - 1];\n if (lastMessage.role === \"user\") {\n if (Array.isArray(lastMessage.content)) {\n const lastBlock = lastMessage.content[lastMessage.content.length - 1];\n if (lastBlock &&\n (lastBlock.type === \"text\" || lastBlock.type === \"image\" || lastBlock.type === \"tool_result\")) {\n lastBlock.cache_control = cacheControl;\n }\n }\n else if (typeof lastMessage.content === \"string\") {\n lastMessage.content = [\n {\n type: \"text\",\n text: lastMessage.content,\n cache_control: cacheControl,\n },\n ];\n }\n }\n }\n return params;\n}\nfunction shouldUseFineGrainedToolStreamingBeta(model, context) {\n return !!context.tools?.length && !getAnthropicCompat(model).supportsEagerToolInputStreaming;\n}\nfunction convertTools(tools, isOAuthToken, supportsEagerToolInputStreaming, cacheControl) {\n if (!tools)\n return [];\n return tools.map((tool, index) => {\n const schema = tool.parameters;\n return {\n name: isOAuthToken ? toClaudeCodeName(tool.name) : tool.name,\n description: tool.description,\n ...(supportsEagerToolInputStreaming ? { eager_input_streaming: true } : {}),\n input_schema: {\n type: \"object\",\n properties: schema.properties ?? {},\n required: schema.required ?? [],\n },\n ...(cacheControl && index === tools.length - 1 ? { cache_control: cacheControl } : {}),\n };\n });\n}\nfunction mapStopReason(reason) {\n switch (reason) {\n case \"end_turn\":\n return \"stop\";\n case \"max_tokens\":\n return \"length\";\n case \"tool_use\":\n return \"toolUse\";\n case \"refusal\":\n return \"error\";\n case \"pause_turn\": // Stop is good enough -> resubmit\n return \"stop\";\n case \"stop_sequence\":\n return \"stop\"; // We don't supply stop sequences, so this should never happen\n case \"sensitive\": // Content flagged by safety filters (not yet in SDK types)\n return \"error\";\n default:\n // Handle unknown stop reasons gracefully (API may add new values)\n throw new Error(`Unhandled stop reason: ${reason}`);\n }\n}\n//# sourceMappingURL=anthropic.js.map"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59],"mappings":"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"}