@humain/terminal 0.0.6 → 0.0.8
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.
- package/CHANGELOG.md +62 -0
- package/README.md +17 -10
- package/dist/bundle/chunks/anthropic-messages-GDMGYAZB.js +6 -0
- package/dist/bundle/chunks/anthropic.js +75 -0
- package/dist/bundle/chunks/azure-openai-responses-ZN52D6YC.js +2 -0
- package/dist/bundle/chunks/bedrock-converse-stream.js +77 -0
- package/dist/bundle/chunks/chunk-3VI4HD7D.js +31 -0
- package/dist/bundle/chunks/chunk-6R7UI4IY.js +2 -0
- package/dist/bundle/chunks/chunk-72KO4OMP.js +2 -0
- package/dist/bundle/chunks/chunk-74NVHVNZ.js +16 -0
- package/dist/bundle/chunks/chunk-7DDKXS2Q.js +2 -0
- package/dist/bundle/chunks/chunk-ARF4OE6X.js +105 -0
- package/dist/bundle/chunks/chunk-BOW22LW6.js +42 -0
- package/dist/bundle/chunks/chunk-BZQ53VGE.js +70 -0
- package/dist/bundle/chunks/chunk-CBHC6EL7.js +133 -0
- package/dist/bundle/chunks/chunk-D7XAASZM.js +4 -0
- package/dist/bundle/chunks/chunk-ECWELYBH.js +17 -0
- package/dist/bundle/chunks/chunk-GMWCTUPB.js +2 -0
- package/dist/bundle/chunks/chunk-H2O6VOXT.js +11 -0
- package/dist/bundle/chunks/chunk-JUUC5AZY.js +2 -0
- package/dist/bundle/chunks/chunk-JXWJOIH4.js +2 -0
- package/dist/bundle/chunks/chunk-L2ZPNLYD.js +2 -0
- package/dist/bundle/chunks/chunk-LVVZS2NO.js +12 -0
- package/dist/bundle/chunks/chunk-MA4UUCYX.js +18 -0
- package/dist/bundle/chunks/chunk-MMFBCF6F.js +5986 -0
- package/dist/bundle/chunks/chunk-PGXDEOVV.js +2 -0
- package/dist/bundle/chunks/chunk-PJACZCIR.js +2 -0
- package/dist/bundle/chunks/chunk-PRRNXB7S.js +2 -0
- package/dist/bundle/chunks/chunk-PSKDLDLZ.js +44 -0
- package/dist/bundle/chunks/chunk-SGTGQNNP.js +4 -0
- package/dist/bundle/chunks/chunk-TEPMHNKQ.js +2 -0
- package/dist/bundle/chunks/chunk-TXBQIIIO.js +2 -0
- package/dist/bundle/chunks/chunk-WJZ4KLGL.js +2 -0
- package/dist/bundle/chunks/chunk-XNGRGP62.js +2 -0
- package/dist/bundle/chunks/dist-BXEVYJIO.js +7 -0
- package/dist/bundle/chunks/es-P2KNSZYR.js +9 -0
- package/dist/bundle/chunks/es5-FGTJ7ZFW.js +2 -0
- package/dist/bundle/chunks/event-streams-JOSQQSII.js +2 -0
- package/dist/bundle/chunks/extract-2L7ZVN7F.js +106 -0
- package/dist/bundle/chunks/github-copilot.js +2 -0
- package/dist/bundle/chunks/google-generative-ai-FF7M7XHT.js +2 -0
- package/dist/bundle/chunks/google-vertex-YMUBFRBA.js +2 -0
- package/dist/bundle/chunks/https-proxy-agent-562J2I52.js +2 -0
- package/dist/bundle/chunks/image-resize-worker.js +2 -0
- package/dist/bundle/chunks/kimi-coding.js +2 -0
- package/dist/bundle/chunks/mistral-conversations-O4M7IQML.js +5 -0
- package/dist/bundle/chunks/multipart-parser-FMGQ7342.js +3 -0
- package/dist/bundle/chunks/node-XY3CBY3C.js +294 -0
- package/dist/bundle/chunks/node-ZHY4LHC7.js +15 -0
- package/dist/bundle/chunks/openai-codex-responses-HRVCDY54.js +8 -0
- package/dist/bundle/chunks/openai-codex.js +75 -0
- package/dist/bundle/chunks/openai-completions-L4AHDQ5D.js +7 -0
- package/dist/bundle/chunks/openai-responses-4MWLJHIK.js +2 -0
- package/dist/bundle/chunks/openrouter-images-Y2PCWAQH.js +2 -0
- package/dist/bundle/chunks/openrouter.js +75 -0
- package/dist/bundle/chunks/pdfjs-UKQT3OWY.js +107 -0
- package/dist/bundle/chunks/pi-messages-57K43J6J.js +8 -0
- package/dist/bundle/chunks/promise-J5TGSM32.js +2 -0
- package/dist/bundle/chunks/radius.js +75 -0
- package/dist/bundle/chunks/src-QKGKDFSU.js +4 -0
- package/dist/bundle/chunks/undici-D6ABF53Q.js +2 -0
- package/dist/bundle/chunks/webapi-AFS5FDJJ.js +5 -0
- package/dist/bundle/chunks/xai.js +2 -0
- package/dist/bundle/cli.js +3 -0
- package/dist/bundle/client.js +2 -0
- package/dist/bundle/index.js +2 -0
- package/dist/bundle/rpc-entry.js +3 -0
- package/dist/cli/args.d.ts +1 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +29 -9
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/file-processor.d.ts.map +1 -1
- package/dist/cli/file-processor.js +2 -1
- package/dist/cli/file-processor.js.map +1 -1
- package/dist/cli/startup-ui.d.ts.map +1 -1
- package/dist/cli/startup-ui.js +2 -1
- package/dist/cli/startup-ui.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +19 -11
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session.d.ts +62 -15
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +240 -104
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +6 -7
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js +7 -3
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts +9 -3
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +59 -36
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/defaults.d.ts +1 -0
- package/dist/core/defaults.d.ts.map +1 -1
- package/dist/core/defaults.js +9 -0
- package/dist/core/defaults.js.map +1 -1
- package/dist/core/extensions/index.d.ts +2 -2
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +115 -48
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +5 -0
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +44 -1
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +56 -10
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js +3 -0
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts +1 -1
- package/dist/core/footer-data-provider.js +1 -1
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/keybindings.d.ts +20 -19
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +26 -5
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/model-config.d.ts +5 -0
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js +3 -1
- package/dist/core/model-config.js.map +1 -1
- package/dist/core/model-resolver.d.ts +1 -0
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +14 -8
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/models-store.d.ts.map +1 -1
- package/dist/core/models-store.js +2 -1
- package/dist/core/models-store.js.map +1 -1
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +22 -14
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/pi-manifest.d.ts.map +1 -1
- package/dist/core/pi-manifest.js +2 -1
- package/dist/core/pi-manifest.js.map +1 -1
- package/dist/core/remote-catalog-provider.d.ts.map +1 -1
- package/dist/core/remote-catalog-provider.js +2 -1
- package/dist/core/remote-catalog-provider.js.map +1 -1
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +3 -2
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/sdk.d.ts +2 -2
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +10 -3
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-export.d.ts +4 -0
- package/dist/core/session-export.d.ts.map +1 -0
- package/dist/core/session-export.js +32 -0
- package/dist/core/session-export.js.map +1 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +6 -3
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-diagnostics.d.ts +9 -0
- package/dist/core/settings-diagnostics.d.ts.map +1 -0
- package/dist/core/settings-diagnostics.js +21 -0
- package/dist/core/settings-diagnostics.js.map +1 -0
- package/dist/core/settings-manager.d.ts +17 -1
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +68 -10
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +51 -33
- package/dist/core/skills.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +2 -1
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +11 -2
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/tools/bash.d.ts +16 -3
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +62 -29
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit-diff.d.ts +0 -5
- package/dist/core/tools/edit-diff.d.ts.map +1 -1
- package/dist/core/tools/edit-diff.js +2 -5
- package/dist/core/tools/edit-diff.js.map +1 -1
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +20 -4
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/index.d.ts +4 -1
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +19 -1
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/powershell.d.ts +16 -0
- package/dist/core/tools/powershell.d.ts.map +1 -0
- package/dist/core/tools/powershell.js +39 -0
- package/dist/core/tools/powershell.js.map +1 -0
- package/dist/core/tools/subagent.d.ts.map +1 -1
- package/dist/core/tools/subagent.js +4 -1
- package/dist/core/tools/subagent.js.map +1 -1
- package/dist/core/trust-manager.d.ts.map +1 -1
- package/dist/core/trust-manager.js +2 -1
- package/dist/core/trust-manager.js.map +1 -1
- package/dist/extensions/llama/client.d.ts +6 -0
- package/dist/extensions/llama/client.d.ts.map +1 -1
- package/dist/extensions/llama/client.js +7 -0
- package/dist/extensions/llama/client.js.map +1 -1
- package/dist/extensions/llama/index.d.ts.map +1 -1
- package/dist/extensions/llama/index.js +2 -0
- package/dist/extensions/llama/index.js.map +1 -1
- package/dist/extensions/llama/provider.d.ts +3 -1
- package/dist/extensions/llama/provider.d.ts.map +1 -1
- package/dist/extensions/llama/provider.js +29 -4
- package/dist/extensions/llama/provider.js.map +1 -1
- package/dist/humain/agent-execution-protocol.d.ts +1 -217
- package/dist/humain/agent-execution-protocol.d.ts.map +1 -1
- package/dist/humain/agent-execution-protocol.js +1 -203
- package/dist/humain/agent-execution-protocol.js.map +1 -1
- package/dist/humain/bedrock-provider/vendor/index.bundle.mjs +107 -16
- package/dist/humain/mcp-adapter/vendor/CHANGELOG.md +82 -0
- package/dist/humain/mcp-adapter/vendor/README.md +47 -15
- package/dist/humain/mcp-adapter/vendor/cli.js +4 -4
- package/dist/humain/mcp-adapter/vendor/commands.ts +5 -3
- package/dist/humain/mcp-adapter/vendor/config.ts +46 -5
- package/dist/humain/mcp-adapter/vendor/direct-tools.ts +103 -92
- package/dist/humain/mcp-adapter/vendor/dist/agent-dir.d.ts +10 -0
- package/dist/humain/mcp-adapter/vendor/dist/agent-dir.js +63 -0
- package/dist/humain/mcp-adapter/vendor/dist/agent-dir.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/agent-plugin-loader.d.ts +8 -0
- package/dist/humain/mcp-adapter/vendor/dist/agent-plugin-loader.js +356 -0
- package/dist/humain/mcp-adapter/vendor/dist/agent-plugin-loader.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/config.d.ts +123 -0
- package/dist/humain/mcp-adapter/vendor/dist/config.js +1088 -0
- package/dist/humain/mcp-adapter/vendor/dist/config.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/mcp-bearer-store.d.ts +24 -0
- package/dist/humain/mcp-adapter/vendor/dist/mcp-bearer-store.js +336 -0
- package/dist/humain/mcp-adapter/vendor/dist/mcp-bearer-store.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/metadata-cache.d.ts +19 -0
- package/dist/humain/mcp-adapter/vendor/dist/metadata-cache.js +319 -0
- package/dist/humain/mcp-adapter/vendor/dist/metadata-cache.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/package-mcp-loader.d.ts +2 -0
- package/dist/humain/mcp-adapter/vendor/dist/package-mcp-loader.js +156 -0
- package/dist/humain/mcp-adapter/vendor/dist/package-mcp-loader.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/resource-tools.d.ts +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/resource-tools.js +15 -0
- package/dist/humain/mcp-adapter/vendor/dist/resource-tools.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/types.d.ts +566 -0
- package/dist/humain/mcp-adapter/vendor/dist/types.js +287 -0
- package/dist/humain/mcp-adapter/vendor/dist/types.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-app-bridge-helpers.d.ts +6 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-app-bridge-helpers.js +37 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-app-bridge-helpers.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-stream-types.d.ts +104 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-stream-types.js +59 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-stream-types.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-tool-visibility.d.ts +4 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-tool-visibility.js +27 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-tool-visibility.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/utils.d.ts +32 -0
- package/dist/humain/mcp-adapter/vendor/dist/utils.js +338 -0
- package/dist/humain/mcp-adapter/vendor/dist/utils.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/failure-backoff.ts +23 -0
- package/dist/humain/mcp-adapter/vendor/index.bundle.mjs +4870 -3878
- package/dist/humain/mcp-adapter/vendor/index.ts +294 -88
- package/dist/humain/mcp-adapter/vendor/init.ts +41 -30
- package/dist/humain/mcp-adapter/vendor/lifecycle.ts +16 -8
- package/dist/humain/mcp-adapter/vendor/mcp-auth-flow.ts +124 -32
- package/dist/humain/mcp-adapter/vendor/mcp-bearer-store.ts +0 -2
- package/dist/humain/mcp-adapter/vendor/mcp-code.ts +2 -0
- package/dist/humain/mcp-adapter/vendor/mcp-oauth-provider.ts +155 -16
- package/dist/humain/mcp-adapter/vendor/mcp-output-guard.ts +95 -7
- package/dist/humain/mcp-adapter/vendor/mcp-probe.ts +18 -4
- package/dist/humain/mcp-adapter/vendor/mcp-references.ts +376 -0
- package/dist/humain/mcp-adapter/vendor/mcp-status.ts +8 -19
- package/dist/humain/mcp-adapter/vendor/metadata-cache.ts +20 -12
- package/dist/humain/mcp-adapter/vendor/namespace-tools.ts +276 -0
- package/dist/humain/mcp-adapter/vendor/package.json +26 -8
- package/dist/humain/mcp-adapter/vendor/proxy-modes.ts +128 -32
- package/dist/humain/mcp-adapter/vendor/request-headers-command.ts +1 -1
- package/dist/humain/mcp-adapter/vendor/search-ranking.ts +2 -0
- package/dist/humain/mcp-adapter/vendor/server-manager.ts +69 -12
- package/dist/humain/mcp-adapter/vendor/state.ts +1 -3
- package/dist/humain/mcp-adapter/vendor/tool-result-renderer.ts +16 -2
- package/dist/humain/mcp-adapter/vendor/types.ts +51 -2
- package/dist/humain/mcp-adapter/vendor/ui-server.ts +3 -19
- package/dist/humain/mcp-adapter/vendor/ui-session.ts +2 -1
- package/dist/humain/mcp-adapter/vendor/utils.ts +21 -19
- package/dist/humain/mcp-adapter.d.ts.map +1 -1
- package/dist/humain/mcp-adapter.js +4 -0
- package/dist/humain/mcp-adapter.js.map +1 -1
- package/dist/humain/web-access/vendor/chrome-cookies.d.ts +14 -0
- package/dist/humain/web-access/vendor/chrome-cookies.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/chrome-cookies.js +85 -33
- package/dist/humain/web-access/vendor/chrome-cookies.js.map +1 -1
- package/dist/humain/web-access/vendor/credential-source.d.ts +1 -1
- package/dist/humain/web-access/vendor/credential-source.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/credential-source.js +3 -1
- package/dist/humain/web-access/vendor/credential-source.js.map +1 -1
- package/dist/humain/web-access/vendor/curator-page.d.ts +2 -29
- package/dist/humain/web-access/vendor/curator-page.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/curator-page.js +10 -1
- package/dist/humain/web-access/vendor/curator-page.js.map +1 -1
- package/dist/humain/web-access/vendor/curator-server.d.ts +2 -29
- package/dist/humain/web-access/vendor/curator-server.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/curator-server.js +4 -0
- package/dist/humain/web-access/vendor/curator-server.js.map +1 -1
- package/dist/humain/web-access/vendor/extract.d.ts +11 -0
- package/dist/humain/web-access/vendor/extract.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/extract.js +163 -20
- package/dist/humain/web-access/vendor/extract.js.map +1 -1
- package/dist/humain/web-access/vendor/fetch-params.d.ts +2 -0
- package/dist/humain/web-access/vendor/fetch-params.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/fetch-params.js +11 -0
- package/dist/humain/web-access/vendor/fetch-params.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-adc.d.ts +10 -0
- package/dist/humain/web-access/vendor/gemini-adc.d.ts.map +1 -0
- package/dist/humain/web-access/vendor/gemini-adc.js +268 -0
- package/dist/humain/web-access/vendor/gemini-adc.js.map +1 -0
- package/dist/humain/web-access/vendor/gemini-api.d.ts +7 -1
- package/dist/humain/web-access/vendor/gemini-api.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-api.js +51 -15
- package/dist/humain/web-access/vendor/gemini-api.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-search.d.ts +9 -4
- package/dist/humain/web-access/vendor/gemini-search.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-search.js +63 -21
- package/dist/humain/web-access/vendor/gemini-search.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-url-context.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-url-context.js +3 -2
- package/dist/humain/web-access/vendor/gemini-url-context.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-web-config.d.ts +8 -1
- package/dist/humain/web-access/vendor/gemini-web-config.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-web-config.js +49 -4
- package/dist/humain/web-access/vendor/gemini-web-config.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-web.d.ts +2 -1
- package/dist/humain/web-access/vendor/gemini-web.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-web.js +8 -3
- package/dist/humain/web-access/vendor/gemini-web.js.map +1 -1
- package/dist/humain/web-access/vendor/github-api.d.ts +1 -1
- package/dist/humain/web-access/vendor/github-api.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/github-api.js +6 -4
- package/dist/humain/web-access/vendor/github-api.js.map +1 -1
- package/dist/humain/web-access/vendor/github-extract.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/github-extract.js +50 -3
- package/dist/humain/web-access/vendor/github-extract.js.map +1 -1
- package/dist/humain/web-access/vendor/github-issue-pr.d.ts +27 -0
- package/dist/humain/web-access/vendor/github-issue-pr.d.ts.map +1 -0
- package/dist/humain/web-access/vendor/github-issue-pr.js +701 -0
- package/dist/humain/web-access/vendor/github-issue-pr.js.map +1 -0
- package/dist/humain/web-access/vendor/index.d.ts +3 -31
- package/dist/humain/web-access/vendor/index.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/index.js +643 -530
- package/dist/humain/web-access/vendor/index.js.map +1 -1
- package/dist/humain/web-access/vendor/kimi-search.d.ts +5 -0
- package/dist/humain/web-access/vendor/kimi-search.d.ts.map +1 -0
- package/dist/humain/web-access/vendor/kimi-search.js +228 -0
- package/dist/humain/web-access/vendor/kimi-search.js.map +1 -0
- package/dist/humain/web-access/vendor/openai-search.d.ts +3 -0
- package/dist/humain/web-access/vendor/openai-search.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/openai-search.js +89 -16
- package/dist/humain/web-access/vendor/openai-search.js.map +1 -1
- package/dist/humain/web-access/vendor/page-query.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/page-query.js +56 -8
- package/dist/humain/web-access/vendor/page-query.js.map +1 -1
- package/dist/humain/web-access/vendor/ssrf-protection.js +6 -1
- package/dist/humain/web-access/vendor/ssrf-protection.js.map +1 -1
- package/dist/humain/web-access/vendor/utils.d.ts +12 -0
- package/dist/humain/web-access/vendor/utils.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/utils.js +343 -1
- package/dist/humain/web-access/vendor/utils.js.map +1 -1
- package/dist/humain/web-access/vendor/xcrawl.d.ts +4 -0
- package/dist/humain/web-access/vendor/xcrawl.d.ts.map +1 -0
- package/dist/humain/web-access/vendor/xcrawl.js +251 -0
- package/dist/humain/web-access/vendor/xcrawl.js.map +1 -0
- package/dist/humain/web-access/vendor/youtube-extract.js +2 -2
- package/dist/humain/web-access/vendor/youtube-extract.js.map +1 -1
- package/dist/index.d.ts +6 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +3 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +19 -14
- package/dist/main.js.map +1 -1
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js +4 -3
- package/dist/migrations.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts +9 -3
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +53 -10
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +9 -2
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +128 -55
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-submenu.d.ts +72 -0
- package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -0
- package/dist/modes/interactive/components/settings-submenu.js +151 -0
- package/dist/modes/interactive/components/settings-submenu.js.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts +15 -3
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.js +68 -17
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/external-editor.d.ts.map +1 -1
- package/dist/modes/interactive/external-editor.js +2 -1
- package/dist/modes/interactive/external-editor.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +15 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +224 -130
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/session-share.d.ts +16 -0
- package/dist/modes/interactive/session-share.d.ts.map +1 -0
- package/dist/modes/interactive/session-share.js +188 -0
- package/dist/modes/interactive/session-share.js.map +1 -0
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +6 -5
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/json-event.d.ts +16 -13
- package/dist/modes/json-event.d.ts.map +1 -1
- package/dist/modes/json-event.js +20 -6
- package/dist/modes/json-event.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts +7 -0
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +10 -2
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +3 -0
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +14 -7
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/package-manager-cli.d.ts +1 -0
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js +189 -3
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/utils/changelog.d.ts +1 -1
- package/dist/utils/changelog.d.ts.map +1 -1
- package/dist/utils/changelog.js +12 -2
- package/dist/utils/changelog.js.map +1 -1
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js +2 -1
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/management-http.d.ts +5 -3
- package/dist/utils/management-http.d.ts.map +1 -1
- package/dist/utils/management-http.js +14 -10
- package/dist/utils/management-http.js.map +1 -1
- package/dist/utils/shell.d.ts +3 -0
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js +23 -9
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/syntax-highlight.d.ts +1 -0
- package/dist/utils/syntax-highlight.d.ts.map +1 -1
- package/dist/utils/syntax-highlight.js +64 -1
- package/dist/utils/syntax-highlight.js.map +1 -1
- package/dist/utils/text.d.ts +8 -0
- package/dist/utils/text.d.ts.map +1 -0
- package/dist/utils/text.js +9 -0
- package/dist/utils/text.js.map +1 -0
- package/dist/utils/version-check.js +4 -4
- package/dist/utils/version-check.js.map +1 -1
- package/docs/compaction.md +17 -0
- package/docs/custom-provider.md +12 -9
- package/docs/environment-variables.md +11 -8
- package/docs/extensions.md +35 -7
- package/docs/json.md +7 -2
- package/docs/keybindings.md +9 -9
- package/docs/llama-cpp.md +2 -0
- package/docs/models.md +8 -2
- package/docs/packages.md +2 -2
- package/docs/quickstart.md +1 -1
- package/docs/rpc.md +32 -3
- package/docs/sdk.md +7 -2
- package/docs/settings.md +23 -7
- package/docs/skills.md +3 -2
- package/docs/terminal-setup.md +20 -0
- package/docs/usage.md +14 -10
- package/docs/windows.md +15 -1
- package/examples/extensions/border-status-editor.ts +1 -1
- package/examples/extensions/custom-provider-anthropic/package-lock.json +70 -8
- package/examples/extensions/custom-provider-anthropic/package.json +2 -2
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/git-checkpoint.ts +2 -2
- package/examples/extensions/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/notify.ts +3 -1
- package/examples/extensions/sandbox/package-lock.json +14 -40
- package/examples/extensions/sandbox/package.json +2 -2
- package/examples/extensions/titlebar-spinner.ts +1 -1
- package/examples/extensions/with-deps/package-lock.json +4 -4
- package/examples/extensions/with-deps/package.json +1 -1
- package/examples/rpc-extension-ui.ts +1 -1
- package/examples/sdk/06-extensions.ts +1 -1
- package/examples/sdk/README.md +1 -1
- package/npm-shrinkwrap.json +293 -221
- package/package.json +21 -18
- package/src/humain/mcp-adapter/UPSTREAM.md +15 -5
- package/src/humain/mcp-adapter/upstream.json +4 -3
- package/src/humain/mcp-adapter/vendor/CHANGELOG.md +82 -0
- package/src/humain/web-access/UPSTREAM.md +1 -1
- package/src/humain/web-access/upstream.json +6 -4
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
|
|
2
|
+
import{__commonJS,__toESM}from"./chunk-JXWJOIH4.js";var require_timing_safe_equal=__commonJS({"node_modules/standardwebhooks/dist/timing_safe_equal.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.timingSafeEqual=void 0;function assert(expr,msg=""){if(!expr)throw new Error(msg)}function timingSafeEqual(a,b){if(a.byteLength!==b.byteLength)return!1;a instanceof DataView||(a=new DataView(ArrayBuffer.isView(a)?a.buffer:a)),b instanceof DataView||(b=new DataView(ArrayBuffer.isView(b)?b.buffer:b)),assert(a instanceof DataView),assert(b instanceof DataView);let length=a.byteLength,out=0,i=-1;for(;++i<length;)out|=a.getUint8(i)^b.getUint8(i);return out===0}exports.timingSafeEqual=timingSafeEqual}});var require_base64=__commonJS({"node_modules/@stablelib/base64/lib/base64.js"(exports){"use strict";var __extends=exports&&exports.__extends||(function(){var extendStatics=function(d,b){return extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d2,b2){d2.__proto__=b2}||function(d2,b2){for(var p in b2)b2.hasOwnProperty(p)&&(d2[p]=b2[p])},extendStatics(d,b)};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}})();Object.defineProperty(exports,"__esModule",{value:!0});var INVALID_BYTE=256,Coder=(function(){function Coder2(_paddingCharacter){_paddingCharacter===void 0&&(_paddingCharacter="="),this._paddingCharacter=_paddingCharacter}return Coder2.prototype.encodedLength=function(length){return this._paddingCharacter?(length+2)/3*4|0:(length*8+5)/6|0},Coder2.prototype.encode=function(data){for(var out="",i=0;i<data.length-2;i+=3){var c=data[i]<<16|data[i+1]<<8|data[i+2];out+=this._encodeByte(c>>>18&63),out+=this._encodeByte(c>>>12&63),out+=this._encodeByte(c>>>6&63),out+=this._encodeByte(c>>>0&63)}var left=data.length-i;if(left>0){var c=data[i]<<16|(left===2?data[i+1]<<8:0);out+=this._encodeByte(c>>>18&63),out+=this._encodeByte(c>>>12&63),left===2?out+=this._encodeByte(c>>>6&63):out+=this._paddingCharacter||"",out+=this._paddingCharacter||""}return out},Coder2.prototype.maxDecodedLength=function(length){return this._paddingCharacter?length/4*3|0:(length*6+7)/8|0},Coder2.prototype.decodedLength=function(s){return this.maxDecodedLength(s.length-this._getPaddingLength(s))},Coder2.prototype.decode=function(s){if(s.length===0)return new Uint8Array(0);for(var paddingLength=this._getPaddingLength(s),length=s.length-paddingLength,out=new Uint8Array(this.maxDecodedLength(length)),op=0,i=0,haveBad=0,v0=0,v1=0,v2=0,v3=0;i<length-4;i+=4)v0=this._decodeChar(s.charCodeAt(i+0)),v1=this._decodeChar(s.charCodeAt(i+1)),v2=this._decodeChar(s.charCodeAt(i+2)),v3=this._decodeChar(s.charCodeAt(i+3)),out[op++]=v0<<2|v1>>>4,out[op++]=v1<<4|v2>>>2,out[op++]=v2<<6|v3,haveBad|=v0&INVALID_BYTE,haveBad|=v1&INVALID_BYTE,haveBad|=v2&INVALID_BYTE,haveBad|=v3&INVALID_BYTE;if(i<length-1&&(v0=this._decodeChar(s.charCodeAt(i)),v1=this._decodeChar(s.charCodeAt(i+1)),out[op++]=v0<<2|v1>>>4,haveBad|=v0&INVALID_BYTE,haveBad|=v1&INVALID_BYTE),i<length-2&&(v2=this._decodeChar(s.charCodeAt(i+2)),out[op++]=v1<<4|v2>>>2,haveBad|=v2&INVALID_BYTE),i<length-3&&(v3=this._decodeChar(s.charCodeAt(i+3)),out[op++]=v2<<6|v3,haveBad|=v3&INVALID_BYTE),haveBad!==0)throw new Error("Base64Coder: incorrect characters for decoding");return out},Coder2.prototype._encodeByte=function(b){var result=b;return result+=65,result+=25-b>>>8&6,result+=51-b>>>8&-75,result+=61-b>>>8&-15,result+=62-b>>>8&3,String.fromCharCode(result)},Coder2.prototype._decodeChar=function(c){var result=INVALID_BYTE;return result+=(42-c&c-44)>>>8&-INVALID_BYTE+c-43+62,result+=(46-c&c-48)>>>8&-INVALID_BYTE+c-47+63,result+=(47-c&c-58)>>>8&-INVALID_BYTE+c-48+52,result+=(64-c&c-91)>>>8&-INVALID_BYTE+c-65+0,result+=(96-c&c-123)>>>8&-INVALID_BYTE+c-97+26,result},Coder2.prototype._getPaddingLength=function(s){var paddingLength=0;if(this._paddingCharacter){for(var i=s.length-1;i>=0&&s[i]===this._paddingCharacter;i--)paddingLength++;if(s.length<4||paddingLength>2)throw new Error("Base64Coder: incorrect padding")}return paddingLength},Coder2})();exports.Coder=Coder;var stdCoder=new Coder;function encode2(data){return stdCoder.encode(data)}exports.encode=encode2;function decode(s){return stdCoder.decode(s)}exports.decode=decode;var URLSafeCoder=(function(_super){__extends(URLSafeCoder2,_super);function URLSafeCoder2(){return _super!==null&&_super.apply(this,arguments)||this}return URLSafeCoder2.prototype._encodeByte=function(b){var result=b;return result+=65,result+=25-b>>>8&6,result+=51-b>>>8&-75,result+=61-b>>>8&-13,result+=62-b>>>8&49,String.fromCharCode(result)},URLSafeCoder2.prototype._decodeChar=function(c){var result=INVALID_BYTE;return result+=(44-c&c-46)>>>8&-INVALID_BYTE+c-45+62,result+=(94-c&c-96)>>>8&-INVALID_BYTE+c-95+63,result+=(47-c&c-58)>>>8&-INVALID_BYTE+c-48+52,result+=(64-c&c-91)>>>8&-INVALID_BYTE+c-65+0,result+=(96-c&c-123)>>>8&-INVALID_BYTE+c-97+26,result},URLSafeCoder2})(Coder);exports.URLSafeCoder=URLSafeCoder;var urlSafeCoder=new URLSafeCoder;function encodeURLSafe(data){return urlSafeCoder.encode(data)}exports.encodeURLSafe=encodeURLSafe;function decodeURLSafe(s){return urlSafeCoder.decode(s)}exports.decodeURLSafe=decodeURLSafe;exports.encodedLength=function(length){return stdCoder.encodedLength(length)};exports.maxDecodedLength=function(length){return stdCoder.maxDecodedLength(length)};exports.decodedLength=function(s){return stdCoder.decodedLength(s)}}});var require_sha256=__commonJS({"node_modules/fast-sha256/sha256.js"(exports,module){(function(root,factory){var exports2={};factory(exports2);var sha256=exports2.default;for(var k in exports2)sha256[k]=exports2[k];typeof module=="object"&&typeof module.exports=="object"?module.exports=sha256:typeof define=="function"&&define.amd?define(function(){return sha256}):root.sha256=sha256})(exports,function(exports2){"use strict";exports2.__esModule=!0,exports2.digestLength=32,exports2.blockSize=64;var K=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);function hashBlocks(w,v,p,pos,len){for(var a,b,c,d,e,f,g,h,u,i,j,t1,t2;len>=64;){for(a=v[0],b=v[1],c=v[2],d=v[3],e=v[4],f=v[5],g=v[6],h=v[7],i=0;i<16;i++)j=pos+i*4,w[i]=(p[j]&255)<<24|(p[j+1]&255)<<16|(p[j+2]&255)<<8|p[j+3]&255;for(i=16;i<64;i++)u=w[i-2],t1=(u>>>17|u<<15)^(u>>>19|u<<13)^u>>>10,u=w[i-15],t2=(u>>>7|u<<25)^(u>>>18|u<<14)^u>>>3,w[i]=(t1+w[i-7]|0)+(t2+w[i-16]|0);for(i=0;i<64;i++)t1=(((e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7))+(e&f^~e&g)|0)+(h+(K[i]+w[i]|0)|0)|0,t2=((a>>>2|a<<30)^(a>>>13|a<<19)^(a>>>22|a<<10))+(a&b^a&c^b&c)|0,h=g,g=f,f=e,e=d+t1|0,d=c,c=b,b=a,a=t1+t2|0;v[0]+=a,v[1]+=b,v[2]+=c,v[3]+=d,v[4]+=e,v[5]+=f,v[6]+=g,v[7]+=h,pos+=64,len-=64}return pos}var Hash=(function(){function Hash2(){this.digestLength=exports2.digestLength,this.blockSize=exports2.blockSize,this.state=new Int32Array(8),this.temp=new Int32Array(64),this.buffer=new Uint8Array(128),this.bufferLength=0,this.bytesHashed=0,this.finished=!1,this.reset()}return Hash2.prototype.reset=function(){return this.state[0]=1779033703,this.state[1]=3144134277,this.state[2]=1013904242,this.state[3]=2773480762,this.state[4]=1359893119,this.state[5]=2600822924,this.state[6]=528734635,this.state[7]=1541459225,this.bufferLength=0,this.bytesHashed=0,this.finished=!1,this},Hash2.prototype.clean=function(){for(var i=0;i<this.buffer.length;i++)this.buffer[i]=0;for(var i=0;i<this.temp.length;i++)this.temp[i]=0;this.reset()},Hash2.prototype.update=function(data,dataLength){if(dataLength===void 0&&(dataLength=data.length),this.finished)throw new Error("SHA256: can't update because hash was finished.");var dataPos=0;if(this.bytesHashed+=dataLength,this.bufferLength>0){for(;this.bufferLength<64&&dataLength>0;)this.buffer[this.bufferLength++]=data[dataPos++],dataLength--;this.bufferLength===64&&(hashBlocks(this.temp,this.state,this.buffer,0,64),this.bufferLength=0)}for(dataLength>=64&&(dataPos=hashBlocks(this.temp,this.state,data,dataPos,dataLength),dataLength%=64);dataLength>0;)this.buffer[this.bufferLength++]=data[dataPos++],dataLength--;return this},Hash2.prototype.finish=function(out){if(!this.finished){var bytesHashed=this.bytesHashed,left=this.bufferLength,bitLenHi=bytesHashed/536870912|0,bitLenLo=bytesHashed<<3,padLength=bytesHashed%64<56?64:128;this.buffer[left]=128;for(var i=left+1;i<padLength-8;i++)this.buffer[i]=0;this.buffer[padLength-8]=bitLenHi>>>24&255,this.buffer[padLength-7]=bitLenHi>>>16&255,this.buffer[padLength-6]=bitLenHi>>>8&255,this.buffer[padLength-5]=bitLenHi>>>0&255,this.buffer[padLength-4]=bitLenLo>>>24&255,this.buffer[padLength-3]=bitLenLo>>>16&255,this.buffer[padLength-2]=bitLenLo>>>8&255,this.buffer[padLength-1]=bitLenLo>>>0&255,hashBlocks(this.temp,this.state,this.buffer,0,padLength),this.finished=!0}for(var i=0;i<8;i++)out[i*4+0]=this.state[i]>>>24&255,out[i*4+1]=this.state[i]>>>16&255,out[i*4+2]=this.state[i]>>>8&255,out[i*4+3]=this.state[i]>>>0&255;return this},Hash2.prototype.digest=function(){var out=new Uint8Array(this.digestLength);return this.finish(out),out},Hash2.prototype._saveState=function(out){for(var i=0;i<this.state.length;i++)out[i]=this.state[i]},Hash2.prototype._restoreState=function(from,bytesHashed){for(var i=0;i<this.state.length;i++)this.state[i]=from[i];this.bytesHashed=bytesHashed,this.finished=!1,this.bufferLength=0},Hash2})();exports2.Hash=Hash;var HMAC=(function(){function HMAC2(key){this.inner=new Hash,this.outer=new Hash,this.blockSize=this.inner.blockSize,this.digestLength=this.inner.digestLength;var pad=new Uint8Array(this.blockSize);if(key.length>this.blockSize)new Hash().update(key).finish(pad).clean();else for(var i=0;i<key.length;i++)pad[i]=key[i];for(var i=0;i<pad.length;i++)pad[i]^=54;this.inner.update(pad);for(var i=0;i<pad.length;i++)pad[i]^=106;this.outer.update(pad),this.istate=new Uint32Array(8),this.ostate=new Uint32Array(8),this.inner._saveState(this.istate),this.outer._saveState(this.ostate);for(var i=0;i<pad.length;i++)pad[i]=0}return HMAC2.prototype.reset=function(){return this.inner._restoreState(this.istate,this.inner.blockSize),this.outer._restoreState(this.ostate,this.outer.blockSize),this},HMAC2.prototype.clean=function(){for(var i=0;i<this.istate.length;i++)this.ostate[i]=this.istate[i]=0;this.inner.clean(),this.outer.clean()},HMAC2.prototype.update=function(data){return this.inner.update(data),this},HMAC2.prototype.finish=function(out){return this.outer.finished?this.outer.finish(out):(this.inner.finish(out),this.outer.update(out,this.digestLength).finish(out)),this},HMAC2.prototype.digest=function(){var out=new Uint8Array(this.digestLength);return this.finish(out),out},HMAC2})();exports2.HMAC=HMAC;function hash(data){var h=new Hash().update(data),digest=h.digest();return h.clean(),digest}exports2.hash=hash,exports2.default=hash;function hmac(key,data){var h=new HMAC(key).update(data),digest=h.digest();return h.clean(),digest}exports2.hmac=hmac;function fillBuffer(buffer,hmac2,info,counter){var num=counter[0];if(num===0)throw new Error("hkdf: cannot expand more");hmac2.reset(),num>1&&hmac2.update(buffer),info&&hmac2.update(info),hmac2.update(counter),hmac2.finish(buffer),counter[0]++}var hkdfSalt=new Uint8Array(exports2.digestLength);function hkdf(key,salt,info,length){salt===void 0&&(salt=hkdfSalt),length===void 0&&(length=32);for(var counter=new Uint8Array([1]),okm=hmac(salt,key),hmac_=new HMAC(okm),buffer=new Uint8Array(hmac_.digestLength),bufpos=buffer.length,out=new Uint8Array(length),i=0;i<length;i++)bufpos===buffer.length&&(fillBuffer(buffer,hmac_,info,counter),bufpos=0),out[i]=buffer[bufpos++];return hmac_.clean(),buffer.fill(0),counter.fill(0),out}exports2.hkdf=hkdf;function pbkdf2(password,salt,iterations,dkLen){for(var prf=new HMAC(password),len=prf.digestLength,ctr=new Uint8Array(4),t=new Uint8Array(len),u=new Uint8Array(len),dk=new Uint8Array(dkLen),i=0;i*len<dkLen;i++){var c=i+1;ctr[0]=c>>>24&255,ctr[1]=c>>>16&255,ctr[2]=c>>>8&255,ctr[3]=c>>>0&255,prf.reset(),prf.update(salt),prf.update(ctr),prf.finish(u);for(var j=0;j<len;j++)t[j]=u[j];for(var j=2;j<=iterations;j++){prf.reset(),prf.update(u).finish(u);for(var k=0;k<len;k++)t[k]^=u[k]}for(var j=0;j<len&&i*len+j<dkLen;j++)dk[i*len+j]=t[j]}for(var i=0;i<len;i++)t[i]=u[i]=0;for(var i=0;i<4;i++)ctr[i]=0;return prf.clean(),dk}exports2.pbkdf2=pbkdf2})}});var require_dist=__commonJS({"node_modules/standardwebhooks/dist/index.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.Webhook=exports.WebhookVerificationError=void 0;var timing_safe_equal_1=require_timing_safe_equal(),base64=require_base64(),sha256=require_sha256(),WEBHOOK_TOLERANCE_IN_SECONDS=300,ExtendableError=class _ExtendableError extends Error{constructor(message){super(message),Object.setPrototypeOf(this,_ExtendableError.prototype),this.name="ExtendableError",this.stack=new Error(message).stack}},WebhookVerificationError=class _WebhookVerificationError extends ExtendableError{constructor(message){super(message),Object.setPrototypeOf(this,_WebhookVerificationError.prototype),this.name="WebhookVerificationError"}};exports.WebhookVerificationError=WebhookVerificationError;var Webhook2=class _Webhook{constructor(secret,options){if(!secret)throw new Error("Secret can't be empty.");if(options?.format==="raw")secret instanceof Uint8Array?this.key=secret:this.key=Uint8Array.from(secret,c=>c.charCodeAt(0));else{if(typeof secret!="string")throw new Error("Expected secret to be of type string");secret.startsWith(_Webhook.prefix)&&(secret=secret.substring(_Webhook.prefix.length)),this.key=base64.decode(secret)}}verify(payload,headers_){let headers={};for(let key of Object.keys(headers_))headers[key.toLowerCase()]=headers_[key];let msgId=headers["webhook-id"],msgSignature=headers["webhook-signature"],msgTimestamp=headers["webhook-timestamp"];if(!msgSignature||!msgId||!msgTimestamp)throw new WebhookVerificationError("Missing required headers");let timestamp=this.verifyTimestamp(msgTimestamp),expectedSignature=this.sign(msgId,timestamp,payload).split(",")[1],passedSignatures=msgSignature.split(" "),encoder2=new globalThis.TextEncoder;for(let versionedSignature of passedSignatures){let[version,signature]=versionedSignature.split(",");if(version==="v1"&&(0,timing_safe_equal_1.timingSafeEqual)(encoder2.encode(signature),encoder2.encode(expectedSignature)))return JSON.parse(payload.toString())}throw new WebhookVerificationError("No matching signature found")}sign(msgId,timestamp,payload){if(typeof payload!="string")if(payload.constructor.name==="Buffer")payload=payload.toString();else throw new Error("Expected payload to be of type string or Buffer.");let encoder2=new TextEncoder,timestampNumber=Math.floor(timestamp.getTime()/1e3),toSign=encoder2.encode(`${msgId}.${timestampNumber}.${payload}`);return`v1,${base64.encode(sha256.hmac(this.key,toSign))}`}verifyTimestamp(timestampHeader){let now=Math.floor(Date.now()/1e3),timestamp=parseInt(timestampHeader,10);if(isNaN(timestamp))throw new WebhookVerificationError("Invalid Signature Headers");if(now-timestamp>WEBHOOK_TOLERANCE_IN_SECONDS)throw new WebhookVerificationError("Message timestamp too old");if(timestamp>now+WEBHOOK_TOLERANCE_IN_SECONDS)throw new WebhookVerificationError("Message timestamp too new");return new Date(timestamp*1e3)}};exports.Webhook=Webhook2;Webhook2.prefix="whsec_"}});function __classPrivateFieldSet(receiver,state,value,kind,f){if(kind==="m")throw new TypeError("Private method is not writable");if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a setter");if(typeof state=="function"?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot write private member to an object whose class did not declare it");return kind==="a"?f.call(receiver,value):f?f.value=value:state.set(receiver,value),value}function __classPrivateFieldGet(receiver,state,kind,f){if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a getter");if(typeof state=="function"?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot read private member from an object whose class did not declare it");return kind==="m"?f:kind==="a"?f.call(receiver):f?f.value:state.get(receiver)}function isAbortError(err){return typeof err=="object"&&err!==null&&("name"in err&&err.name==="AbortError"||"message"in err&&String(err.message).includes("FetchRequestCanceledException"))}var castToError=err=>{if(err instanceof Error)return err;if(typeof err=="object"&&err!==null){try{if(Object.prototype.toString.call(err)==="[object Error]"){let error=new Error(err.message,err.cause?{cause:err.cause}:{});return err.stack&&(error.stack=err.stack),err.cause&&!error.cause&&(error.cause=err.cause),err.name&&(error.name=err.name),error}}catch{}try{return new Error(JSON.stringify(err))}catch{}}return new Error(err)};var AnthropicError=class extends Error{},APIError=class _APIError extends AnthropicError{constructor(status,error,message,headers,type){super(`${_APIError.makeMessage(status,error,message)}`),this.status=status,this.headers=headers,this.requestID=headers?.get("request-id"),this.workspaceID=headers?.get("anthropic-workspace-id"),this.error=error,this.type=type??null}static makeMessage(status,error,message){let msg=error?.message?typeof error.message=="string"?error.message:JSON.stringify(error.message):error?JSON.stringify(error):message;return status&&msg?`${status} ${msg}`:status?`${status} status code (no body)`:msg||"(no status code or body)"}static generate(status,errorResponse,message,headers){if(!status||!headers)return new APIConnectionError({message,cause:castToError(errorResponse)});let error=errorResponse,type=error?.error?.type;return status===400?new BadRequestError(status,error,message,headers,type):status===401?new AuthenticationError(status,error,message,headers,type):status===403?new PermissionDeniedError(status,error,message,headers,type):status===404?new NotFoundError(status,error,message,headers,type):status===409?new ConflictError(status,error,message,headers,type):status===422?new UnprocessableEntityError(status,error,message,headers,type):status===429?new RateLimitError(status,error,message,headers,type):status>=500?new InternalServerError(status,error,message,headers,type):new _APIError(status,error,message,headers,type)}},APIUserAbortError=class extends APIError{constructor({message}={}){super(void 0,void 0,message||"Request was aborted.",void 0)}},APIConnectionError=class extends APIError{constructor({message,cause}){super(void 0,void 0,message||"Connection error.",void 0),cause&&(this.cause=cause)}},APIConnectionTimeoutError=class extends APIConnectionError{constructor({message}={}){super({message:message??"Request timed out."})}},RetryableError=class extends AnthropicError{constructor(message,{cause}={}){super(message??"Retryable error."),cause!==void 0&&(this.cause=cause)}},BadRequestError=class extends APIError{},AuthenticationError=class extends APIError{},PermissionDeniedError=class extends APIError{},NotFoundError=class extends APIError{},ConflictError=class extends APIError{},UnprocessableEntityError=class extends APIError{},RateLimitError=class extends APIError{},InternalServerError=class extends APIError{};var ToolError=class extends Error{constructor(content){let message=typeof content=="string"?content:content.map(block=>block.type==="text"?block.text:`[${block.type}]`).join(" ");super(message),this.name="ToolError",this.content=content}};var DEFAULT_MEMORY_SYNC_INTERVAL_MS=15e3,MIN_MEMORY_SYNC_INTERVAL_MS=5e3;function checkMemorySyncInterval(ms,option){if(!(ms>=MIN_MEMORY_SYNC_INTERVAL_MS))throw new AnthropicError(`${option} must be at least ${MIN_MEMORY_SYNC_INTERVAL_MS}ms (got ${ms}); to run without memory sync, pass \`memorySyncIntervalMs: null\` to the worker instead`)}function promiseWithResolvers(){let resolve,reject;return{promise:new Promise((res,rej)=>{resolve=res,reject=rej}),resolve,reject}}var uuid4=function(){let{crypto}=globalThis;if(crypto?.randomUUID)return uuid4=crypto.randomUUID.bind(crypto),crypto.randomUUID();let u8=new Uint8Array(1),randomByte=crypto?()=>crypto.getRandomValues(u8)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,c=>(+c^randomByte()&15>>+c/4).toString(16))};var startsWithSchemeRegexp=/^[a-z][a-z0-9+.-]*:/i,isAbsoluteURL=url=>startsWithSchemeRegexp.test(url),isArray=val=>(isArray=Array.isArray,isArray(val)),isReadonlyArray=isArray;function maybeObj(x){return typeof x!="object"?{}:x??{}}function isEmptyObj(obj){if(!obj)return!0;for(let _k in obj)return!1;return!0}function hasOwn(obj,key){return Object.prototype.hasOwnProperty.call(obj,key)}function isObj(obj){return obj!=null&&typeof obj=="object"&&!Array.isArray(obj)}var validatePositiveInteger=(name,n)=>{if(typeof n!="number"||!Number.isInteger(n))throw new AnthropicError(`${name} must be an integer`);if(n<0)throw new AnthropicError(`${name} must be a positive integer`);return n};var safeJSON=text=>{try{return JSON.parse(text)}catch{return}};var sleep=(ms,signal)=>new Promise(resolve=>{if(signal?.aborted)return resolve();let onAbort=()=>{clearTimeout(timer),resolve()},timer=setTimeout(()=>{signal?.removeEventListener("abort",onAbort),resolve()},ms);signal?.addEventListener("abort",onAbort,{once:!0})});var VERSION="0.121.0";var isRunningInBrowser=()=>typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u";function getDetectedPlatform(){return typeof Deno<"u"&&Deno.build!=null?"deno":typeof EdgeRuntime<"u"?"edge":Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]"?"node":"unknown"}var getPlatformProperties=()=>{let detectedPlatform=getDetectedPlatform();if(detectedPlatform==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":VERSION,"X-Stainless-OS":normalizePlatform(Deno.build.os),"X-Stainless-Arch":normalizeArch(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version=="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":VERSION,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process?.version??"unknown"};if(detectedPlatform==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":VERSION,"X-Stainless-OS":normalizePlatform(globalThis.process.platform??"unknown"),"X-Stainless-Arch":normalizeArch(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let browserInfo=getBrowserInfo();return browserInfo?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":VERSION,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${browserInfo.browser}`,"X-Stainless-Runtime-Version":browserInfo.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":VERSION,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function getBrowserInfo(){if(typeof navigator>"u"||!navigator)return null;let browserPatterns=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key,pattern}of browserPatterns){let match=pattern.exec(navigator.userAgent);if(match){let major=match[1]||0,minor=match[2]||0,patch=match[3]||0;return{browser:key,version:`${major}.${minor}.${patch}`}}}return null}var normalizeArch=arch=>arch==="x32"?"x32":arch==="x86_64"||arch==="x64"?"x64":arch==="arm"?"arm":arch==="aarch64"||arch==="arm64"?"arm64":arch?`other:${arch}`:"unknown",normalizePlatform=platform=>(platform=platform.toLowerCase(),platform.includes("ios")?"iOS":platform==="android"?"Android":platform==="darwin"?"MacOS":platform==="win32"?"Windows":platform==="freebsd"?"FreeBSD":platform==="openbsd"?"OpenBSD":platform==="linux"?"Linux":platform?`Other:${platform}`:"Unknown"),_platformHeaders,getPlatformHeaders=()=>_platformHeaders??(_platformHeaders=getPlatformProperties());var cleanups=new WeakMap,registry=typeof globalThis.FinalizationRegistry=="function"?new globalThis.FinalizationRegistry(controller=>releaseRequestSignal(controller)):null;function makeCleanup(signal,listener){return()=>signal.removeEventListener("abort",listener)}function registerRequestSignalCleanup(controller,signal,listener){cleanups.set(controller,makeCleanup(signal,listener))}function armAbandonmentBackstop(body,controller){cleanups.has(controller)&®istry?.register(body,controller,controller)}function releaseRequestSignal(controller){let cleanup=cleanups.get(controller);cleanup&&(cleanups.delete(controller),registry?.unregister(controller),cleanup())}function getDefaultFetch(){if(typeof fetch<"u")return fetch;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`")}function makeReadableStream(...args){let ReadableStream2=globalThis.ReadableStream;if(typeof ReadableStream2>"u")throw new Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new ReadableStream2(...args)}function ReadableStreamFrom(iterable){let iter=Symbol.asyncIterator in iterable?iterable[Symbol.asyncIterator]():iterable[Symbol.iterator]();return makeReadableStream({start(){},async pull(controller){let{done,value}=await iter.next();done?controller.close():controller.enqueue(value)},async cancel(){await iter.return?.()}})}function ReadableStreamToAsyncIterable(stream){if(stream[Symbol.asyncIterator])return stream;let reader=stream.getReader();return{async next(){try{let result=await reader.read();return result?.done&&reader.releaseLock(),result}catch(e){throw reader.releaseLock(),e}},async return(){let cancelPromise=reader.cancel();return reader.releaseLock(),await cancelPromise,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function CancelReadableStream(stream){if(stream===null||typeof stream!="object")return;if(stream[Symbol.asyncIterator]){await stream[Symbol.asyncIterator]().return?.();return}let reader=stream.getReader(),cancelPromise=reader.cancel();reader.releaseLock(),await cancelPromise}var FallbackEncoder=({headers,body})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(body)});var default_format="RFC3986",default_formatter=v=>String(v),formatters={RFC1738:v=>String(v).replace(/%20/g,"+"),RFC3986:default_formatter},RFC1738="RFC1738";var has=(obj,key)=>(has=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty),has(obj,key)),hex_table=(()=>{let array=[];for(let i=0;i<256;++i)array.push("%"+((i<16?"0":"")+i.toString(16)).toUpperCase());return array})();var limit=1024,encode=(str,_defaultEncoder,charset,_kind,format)=>{if(str.length===0)return str;let string=str;if(typeof str=="symbol"?string=Symbol.prototype.toString.call(str):typeof str!="string"&&(string=String(str)),charset==="iso-8859-1")return escape(string).replace(/%u[0-9a-f]{4}/gi,function($0){return"%26%23"+parseInt($0.slice(2),16)+"%3B"});let out="";for(let j=0;j<string.length;j+=limit){let segment=string.length>=limit?string.slice(j,j+limit):string,arr=[];for(let i=0;i<segment.length;++i){let c=segment.charCodeAt(i);if(c===45||c===46||c===95||c===126||c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122||format===RFC1738&&(c===40||c===41)){arr[arr.length]=segment.charAt(i);continue}if(c<128){arr[arr.length]=hex_table[c];continue}if(c<2048){arr[arr.length]=hex_table[192|c>>6]+hex_table[128|c&63];continue}if(c<55296||c>=57344){arr[arr.length]=hex_table[224|c>>12]+hex_table[128|c>>6&63]+hex_table[128|c&63];continue}i+=1,c=65536+((c&1023)<<10|segment.charCodeAt(i)&1023),arr[arr.length]=hex_table[240|c>>18]+hex_table[128|c>>12&63]+hex_table[128|c>>6&63]+hex_table[128|c&63]}out+=arr.join("")}return out};function is_buffer(obj){return!obj||typeof obj!="object"?!1:!!(obj.constructor&&obj.constructor.isBuffer&&obj.constructor.isBuffer(obj))}function maybe_map(val,fn){if(isArray(val)){let mapped=[];for(let i=0;i<val.length;i+=1)mapped.push(fn(val[i]));return mapped}return fn(val)}var array_prefix_generators={brackets(prefix){return String(prefix)+"[]"},comma:"comma",indices(prefix,key){return String(prefix)+"["+key+"]"},repeat(prefix){return String(prefix)}},push_to_array=function(arr,value_or_array){Array.prototype.push.apply(arr,isArray(value_or_array)?value_or_array:[value_or_array])},toISOString,defaults={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:encode,encodeValuesOnly:!1,format:default_format,formatter:default_formatter,indices:!1,serializeDate(date){return(toISOString??(toISOString=Function.prototype.call.bind(Date.prototype.toISOString)))(date)},skipNulls:!1,strictNullHandling:!1};function is_non_nullish_primitive(v){return typeof v=="string"||typeof v=="number"||typeof v=="boolean"||typeof v=="symbol"||typeof v=="bigint"}var sentinel={};function inner_stringify(object,prefix,generateArrayPrefix,commaRoundTrip,allowEmptyArrays,strictNullHandling,skipNulls,encodeDotInKeys,encoder2,filter,sort,allowDots,serializeDate,format,formatter,encodeValuesOnly,charset,sideChannel){let obj=object,tmp_sc=sideChannel,step=0,find_flag=!1;for(;(tmp_sc=tmp_sc.get(sentinel))!==void 0&&!find_flag;){let pos=tmp_sc.get(object);if(step+=1,typeof pos<"u"){if(pos===step)throw new RangeError("Cyclic object value");find_flag=!0}typeof tmp_sc.get(sentinel)>"u"&&(step=0)}if(typeof filter=="function"?obj=filter(prefix,obj):obj instanceof Date?obj=serializeDate?.(obj):generateArrayPrefix==="comma"&&isArray(obj)&&(obj=maybe_map(obj,function(value){return value instanceof Date?serializeDate?.(value):value})),obj===null){if(strictNullHandling)return encoder2&&!encodeValuesOnly?encoder2(prefix,defaults.encoder,charset,"key",format):prefix;obj=""}if(is_non_nullish_primitive(obj)||is_buffer(obj)){if(encoder2){let key_value=encodeValuesOnly?prefix:encoder2(prefix,defaults.encoder,charset,"key",format);return[formatter?.(key_value)+"="+formatter?.(encoder2(obj,defaults.encoder,charset,"value",format))]}return[formatter?.(prefix)+"="+formatter?.(String(obj))]}let values=[];if(typeof obj>"u")return values;let obj_keys;if(generateArrayPrefix==="comma"&&isArray(obj))encodeValuesOnly&&encoder2&&(obj=maybe_map(obj,encoder2)),obj_keys=[{value:obj.length>0?obj.join(",")||null:void 0}];else if(isArray(filter))obj_keys=filter;else{let keys=Object.keys(obj);obj_keys=sort?keys.sort(sort):keys}let encoded_prefix=encodeDotInKeys?String(prefix).replace(/\./g,"%2E"):String(prefix),adjusted_prefix=commaRoundTrip&&isArray(obj)&&obj.length===1?encoded_prefix+"[]":encoded_prefix;if(allowEmptyArrays&&isArray(obj)&&obj.length===0)return adjusted_prefix+"[]";for(let j=0;j<obj_keys.length;++j){let key=obj_keys[j],value=typeof key=="object"&&typeof key.value<"u"?key.value:obj[key];if(skipNulls&&value===null)continue;let encoded_key=allowDots&&encodeDotInKeys?key.replace(/\./g,"%2E"):key,key_prefix=isArray(obj)?typeof generateArrayPrefix=="function"?generateArrayPrefix(adjusted_prefix,encoded_key):adjusted_prefix:adjusted_prefix+(allowDots?"."+encoded_key:"["+encoded_key+"]");sideChannel.set(object,step);let valueSideChannel=new WeakMap;valueSideChannel.set(sentinel,sideChannel),push_to_array(values,inner_stringify(value,key_prefix,generateArrayPrefix,commaRoundTrip,allowEmptyArrays,strictNullHandling,skipNulls,encodeDotInKeys,generateArrayPrefix==="comma"&&encodeValuesOnly&&isArray(obj)?null:encoder2,filter,sort,allowDots,serializeDate,format,formatter,encodeValuesOnly,charset,valueSideChannel))}return values}function normalize_stringify_options(opts=defaults){if(typeof opts.allowEmptyArrays<"u"&&typeof opts.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof opts.encodeDotInKeys<"u"&&typeof opts.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(opts.encoder!==null&&typeof opts.encoder<"u"&&typeof opts.encoder!="function")throw new TypeError("Encoder has to be a function.");let charset=opts.charset||defaults.charset;if(typeof opts.charset<"u"&&opts.charset!=="utf-8"&&opts.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let format=default_format;if(typeof opts.format<"u"){if(!has(formatters,opts.format))throw new TypeError("Unknown format option provided.");format=opts.format}let formatter=formatters[format],filter=defaults.filter;(typeof opts.filter=="function"||isArray(opts.filter))&&(filter=opts.filter);let arrayFormat;if(opts.arrayFormat&&opts.arrayFormat in array_prefix_generators?arrayFormat=opts.arrayFormat:"indices"in opts?arrayFormat=opts.indices?"indices":"repeat":arrayFormat=defaults.arrayFormat,"commaRoundTrip"in opts&&typeof opts.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");let allowDots=typeof opts.allowDots>"u"?opts.encodeDotInKeys?!0:defaults.allowDots:!!opts.allowDots;return{addQueryPrefix:typeof opts.addQueryPrefix=="boolean"?opts.addQueryPrefix:defaults.addQueryPrefix,allowDots,allowEmptyArrays:typeof opts.allowEmptyArrays=="boolean"?!!opts.allowEmptyArrays:defaults.allowEmptyArrays,arrayFormat,charset,charsetSentinel:typeof opts.charsetSentinel=="boolean"?opts.charsetSentinel:defaults.charsetSentinel,commaRoundTrip:!!opts.commaRoundTrip,delimiter:typeof opts.delimiter>"u"?defaults.delimiter:opts.delimiter,encode:typeof opts.encode=="boolean"?opts.encode:defaults.encode,encodeDotInKeys:typeof opts.encodeDotInKeys=="boolean"?opts.encodeDotInKeys:defaults.encodeDotInKeys,encoder:typeof opts.encoder=="function"?opts.encoder:defaults.encoder,encodeValuesOnly:typeof opts.encodeValuesOnly=="boolean"?opts.encodeValuesOnly:defaults.encodeValuesOnly,filter,format,formatter,serializeDate:typeof opts.serializeDate=="function"?opts.serializeDate:defaults.serializeDate,skipNulls:typeof opts.skipNulls=="boolean"?opts.skipNulls:defaults.skipNulls,sort:typeof opts.sort=="function"?opts.sort:null,strictNullHandling:typeof opts.strictNullHandling=="boolean"?opts.strictNullHandling:defaults.strictNullHandling}}function stringify(object,opts={}){let obj=object,options=normalize_stringify_options(opts),obj_keys,filter;typeof options.filter=="function"?(filter=options.filter,obj=filter("",obj)):isArray(options.filter)&&(filter=options.filter,obj_keys=filter);let keys=[];if(typeof obj!="object"||obj===null)return"";let generateArrayPrefix=array_prefix_generators[options.arrayFormat],commaRoundTrip=generateArrayPrefix==="comma"&&options.commaRoundTrip;obj_keys||(obj_keys=Object.keys(obj)),options.sort&&obj_keys.sort(options.sort);let sideChannel=new WeakMap;for(let i=0;i<obj_keys.length;++i){let key=obj_keys[i];options.skipNulls&&obj[key]===null||push_to_array(keys,inner_stringify(obj[key],key,generateArrayPrefix,commaRoundTrip,options.allowEmptyArrays,options.strictNullHandling,options.skipNulls,options.encodeDotInKeys,options.encode?options.encoder:null,options.filter,options.sort,options.allowDots,options.serializeDate,options.format,options.formatter,options.encodeValuesOnly,options.charset,sideChannel))}let joined=keys.join(options.delimiter),prefix=options.addQueryPrefix===!0?"?":"";return options.charsetSentinel&&(options.charset==="iso-8859-1"?prefix+="utf8=%26%2310003%3B&":prefix+="utf8=%E2%9C%93&"),joined.length>0?prefix+joined:""}function stringifyQuery(query){return stringify(query,{arrayFormat:"brackets"})}var GRANT_TYPE_JWT_BEARER="urn:ietf:params:oauth:grant-type:jwt-bearer",GRANT_TYPE_REFRESH_TOKEN="refresh_token",TOKEN_ENDPOINT="/v1/oauth/token",OAUTH_API_BETA_HEADER="oauth-2025-04-20",FEDERATION_BETA_HEADER="oidc-federation-2026-04-01",ADVISORY_REFRESH_THRESHOLD_IN_SECONDS=120,MANDATORY_REFRESH_THRESHOLD_IN_SECONDS=30,ADVISORY_REFRESH_BACKOFF_IN_SECONDS=5,MAX_TOKEN_RESPONSE_BYTES=1<<20;function requireSecureTokenEndpoint(baseURL){if(!baseURL)return;let u;try{u=new URL(baseURL)}catch(err){throw new WorkloadIdentityError(`Invalid token endpoint base URL "${baseURL}": ${err}`)}if(u.protocol==="https:")return;let host=u.hostname.toLowerCase().replace(/^\[|\]$/g,"");if(!(u.protocol==="http:"&&(host==="localhost"||host==="127.0.0.1"||host==="::1")))throw new WorkloadIdentityError(`Refusing to send credential over non-https token endpoint "${baseURL}"`)}async function parseTokenResponse(resp,requestId){let text=await readLimitedText(resp),data;try{data=JSON.parse(text)}catch{throw new WorkloadIdentityError(`Token endpoint returned non-JSON response (status ${resp.status})`,resp.status,redactSensitive(text),requestId)}if(!data.access_token)throw new WorkloadIdentityError(`Token endpoint response missing access_token: ${JSON.stringify(redactSensitive(data))}`,resp.status,redactSensitive(data),requestId);if(data.token_type&&data.token_type.toLowerCase()!=="bearer")throw new WorkloadIdentityError(`Token endpoint response: unsupported token_type "${data.token_type}" (want Bearer)`,resp.status,redactSensitive(data),requestId);return data}var MAX_ERROR_BODY_CHARS=2e3,SAFE_ERROR_KEYS=new Set(["error","error_description","error_uri"]);function redactSensitive(body){if(body==null)return body;if(typeof body=="string"){let parsed;try{parsed=JSON.parse(body)}catch{return body.length<=MAX_ERROR_BODY_CHARS?body:body.slice(0,MAX_ERROR_BODY_CHARS)+`... <${body.length-MAX_ERROR_BODY_CHARS} more chars>`}return JSON.stringify(redactSensitive(parsed))}if(typeof body=="object"&&!Array.isArray(body)){let out={};for(let[k,v]of Object.entries(body))SAFE_ERROR_KEYS.has(k)&&(out[k]=v);return out}return null}async function checkCredentialsFileSafety(path2,onWarn=m=>console.warn(`anthropic-sdk: ${m}`)){if(typeof process>"u"||process.platform==="win32")return;let fs=await import("node:fs"),resolved=path2,st;try{resolved=await fs.promises.realpath(path2),st=await fs.promises.stat(resolved)}catch{return}let mode=st.mode&511;if(mode&18)throw new WorkloadIdentityError(`Credentials file at ${resolved} is group/world-writable (mode 0o${mode.toString(8)}); this allows other local users to plant tokens. Run \`chmod 600 ${resolved}\`.`);if(mode&36)throw new WorkloadIdentityError(`Credentials file at ${resolved} is group/world-readable (mode 0o${mode.toString(8)}); run \`chmod 600 ${resolved}\` before retrying.`);typeof process.getuid=="function"&&st.uid!==process.getuid()&&onWarn(`credentials file at ${resolved} is owned by uid ${st.uid} (current process uid ${process.getuid()}); verify this is intentional.`)}async function writeCredentialsFileAtomic(targetPath,data){let fs=await import("node:fs"),dir=(await import("node:path")).dirname(targetPath);await fs.promises.mkdir(dir,{recursive:!0,mode:448});let tmpPath=`${targetPath}.${process.pid}.${Math.random().toString(36).slice(2)}.tmp`;try{let fh=await fs.promises.open(tmpPath,"w",384);try{await fh.writeFile(JSON.stringify(data,null,2)),await fh.sync()}finally{await fh.close()}await fs.promises.rename(tmpPath,targetPath)}catch(err){throw await fs.promises.unlink(tmpPath).catch(()=>{}),err}try{let dirFh=await fs.promises.open(dir,"r");try{await dirFh.sync()}finally{await dirFh.close()}}catch{}}async function readLimitedText(resp){if(!resp.body)return"";let reader=resp.body.getReader(),chunks=[],received=0;for(;;){let{done,value}=await reader.read();if(done)break;if(received+value.length>MAX_TOKEN_RESPONSE_BYTES){let remaining=MAX_TOKEN_RESPONSE_BYTES-received;remaining>0&&chunks.push(value.subarray(0,remaining)),await reader.cancel();break}chunks.push(value),received+=value.length}let merged;if(chunks.length===1)merged=chunks[0];else{merged=new Uint8Array(chunks.reduce((n,c)=>n+c.length,0));let offset=0;for(let c of chunks)merged.set(c,offset),offset+=c.length}return new TextDecoder("utf-8").decode(merged)}var WorkloadIdentityError=class extends AnthropicError{constructor(message,statusCode=null,body=null,requestId=null){super(message),this.statusCode=statusCode,this.body=body,this.requestId=requestId}};function nowAsSeconds(){return Math.floor(Date.now()/1e3)}var TokenCache=class{constructor(provider,onAdvisoryRefreshError){this.cached=null,this.pendingRefresh=null,this.nextForce=!1,this.lastAdvisoryError=0,this.provider=provider,this.onAdvisoryRefreshError=onAdvisoryRefreshError}async getToken(){let force=this.nextForce;this.nextForce=!1;let cached=this.cached;if(force||cached==null)return(await this.refresh(force)).token;if(cached.expiresAt==null)return cached.token;let remaining=cached.expiresAt-nowAsSeconds();return remaining>ADVISORY_REFRESH_THRESHOLD_IN_SECONDS?cached.token:remaining>MANDATORY_REFRESH_THRESHOLD_IN_SECONDS?(this.backgroundRefresh(),cached.token):(await this.refresh()).token}invalidate(){this.cached=null,this.nextForce=!0}refresh(force=!1){return this.pendingRefresh&&!force?this.pendingRefresh:this.doRefresh(force)}backgroundRefresh(){this.pendingRefresh||nowAsSeconds()-this.lastAdvisoryError<ADVISORY_REFRESH_BACKOFF_IN_SECONDS||this.doRefresh().catch(err=>{this.lastAdvisoryError=nowAsSeconds(),this.onAdvisoryRefreshError?.(err)})}doRefresh(force=!1){return this.pendingRefresh=this.provider(force?{forceRefresh:!0}:void 0).then(token=>(this.cached=token,this.pendingRefresh=null,token),err=>{throw this.pendingRefresh=null,err}),this.pendingRefresh}};var readEnv=env=>{if(typeof globalThis.process<"u")return globalThis.process.env?.[env]?.trim()||void 0;if(typeof globalThis.Deno<"u")return globalThis.Deno.env?.get?.(env)?.trim()||void 0};function concatBytes(buffers){let length=0;for(let buffer of buffers)length+=buffer.length;let output=new Uint8Array(length),index=0;for(let buffer of buffers)output.set(buffer,index),index+=buffer.length;return output}var encodeUTF8_;function encodeUTF8(str){let encoder2;return(encodeUTF8_??(encoder2=new globalThis.TextEncoder,encodeUTF8_=encoder2.encode.bind(encoder2)))(str)}var decodeUTF8_;function decodeUTF8(bytes){let decoder;return(decodeUTF8_??(decoder=new globalThis.TextDecoder,decodeUTF8_=decoder.decode.bind(decoder)))(bytes)}var fromBase64=str=>{if(typeof globalThis.Buffer<"u"){let buf=globalThis.Buffer.from(str,"base64");return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}if(typeof atob<"u"){let bstr=atob(str),buf=new Uint8Array(bstr.length);for(let i=0;i<bstr.length;i++)buf[i]=bstr.charCodeAt(i);return buf}throw new AnthropicError("Cannot decode base64 string; Expected `Buffer` or `atob` to be defined")};var defaultLogLevel="warn",levelNumbers={off:0,error:200,warn:300,info:400,debug:500},parseLogLevel=(maybeLevel,sourceName,logger)=>{if(maybeLevel){if(hasOwn(levelNumbers,maybeLevel))return maybeLevel;logger.warn(`${sourceName} was set to ${JSON.stringify(maybeLevel)}, expected one of ${JSON.stringify(Object.keys(levelNumbers))}`)}};function noop(){}function makeLogFn(fnLevel,logger,logLevel){return!logger||levelNumbers[fnLevel]>levelNumbers[logLevel]?noop:logger[fnLevel].bind(logger)}var noopLogger={error:noop,warn:noop,info:noop,debug:noop},cachedLoggers=new WeakMap;function filterLogger(logger,logLevel){let cachedLogger=cachedLoggers.get(logger);if(cachedLogger&&cachedLogger[0]===logLevel)return cachedLogger[1];let levelLogger={error:makeLogFn("error",logger,logLevel),warn:makeLogFn("warn",logger,logLevel),info:makeLogFn("info",logger,logLevel),debug:makeLogFn("debug",logger,logLevel)};return cachedLoggers.set(logger,[logLevel,levelLogger]),levelLogger}function loggerFor(client){let logger=client.logger,logLevel=client.logLevel??"off";return logger?filterLogger(logger,logLevel):noopLogger}var lastEnvLevel,cachedDefaultLogger;function defaultLogger(){let envLevel=readEnv("ANTHROPIC_LOG");return(!cachedDefaultLogger||envLevel!==lastEnvLevel)&&(lastEnvLevel=envLevel,cachedDefaultLogger=filterLogger(console,parseLogLevel(envLevel,"process.env['ANTHROPIC_LOG']",filterLogger(console,defaultLogLevel))??defaultLogLevel)),cachedDefaultLogger}var formatRequestDetails=details=>(details.options&&(details.options={...details.options},delete details.options.headers),details.headers&&(details.headers=Object.fromEntries((details.headers instanceof Headers?[...details.headers]:Object.entries(details.headers)).map(([name,value])=>[name,name.toLowerCase()==="authorization"||name.toLowerCase()==="api-key"||name.toLowerCase()==="x-api-key"||name.toLowerCase()==="cookie"||name.toLowerCase()==="set-cookie"?"***":value]))),"retryOfRequestLogID"in details&&(details.retryOfRequestLogID&&(details.retryOf=details.retryOfRequestLogID),delete details.retryOfRequestLogID),details);var CREDENTIALS_FILE_VERSION="1.0",PROFILE_NAME_PATTERN=/^[A-Za-z0-9_.-]+$/;function validateProfileName(name){if(!name)throw new Error("profile name is empty");if(name==="."||name==="..")throw new Error(`profile name "${name}" is not allowed`);if(name.includes("/")||name.includes("\\"))throw new Error(`profile name "${name}" must not contain path separators`);if(!PROFILE_NAME_PATTERN.test(name))throw new Error(`profile name "${name}" contains disallowed characters (allowed: letters, digits, '_', '.', '-')`)}var loadConfigWithSource=async profile=>{var _a2,_b;let rootConfigPath=await getRootConfigPath();if(rootConfigPath===null)return null;let profileName=profile??await getActiveProfileName();if(profileName===null)return null;validateProfileName(profileName);let fs=await import("node:fs"),configPath=(await import("node:path")).join(rootConfigPath,"configs",`${profileName}.json`),configRaw;try{configRaw=await fs.promises.readFile(configPath,"utf-8")}catch(err){if(err?.code!=="ENOENT")throw new Error(`failed to read config file ${configPath}: ${err}`);configRaw=null}if(configRaw===null){let organizationId=readEnv("ANTHROPIC_ORGANIZATION_ID"),identityTokenFile=readEnv("ANTHROPIC_IDENTITY_TOKEN_FILE"),federationRuleId=readEnv("ANTHROPIC_FEDERATION_RULE_ID");return federationRuleId&&organizationId?{fromFile:!1,config:{organization_id:organizationId,workspace_id:readEnv("ANTHROPIC_WORKSPACE_ID"),base_url:readEnv("ANTHROPIC_BASE_URL"),authentication:{type:"oidc_federation",federation_rule_id:federationRuleId,service_account_id:readEnv("ANTHROPIC_SERVICE_ACCOUNT_ID"),identity_token:identityTokenFile?{source:"file",path:identityTokenFile}:void 0,scope:readEnv("ANTHROPIC_SCOPE")}}}:null}let config;try{config=JSON.parse(configRaw)}catch(err){throw new Error(`failed to parse config file ${configPath}: ${err}`)}if(!config.authentication)throw new Error(`config file ${configPath} is missing "authentication"`);let authType=config.authentication.type;if(authType!=="oidc_federation"&&authType!=="user_oauth")throw new Error(`authentication.type "${authType}" is not a known authentication type`);if(config.organization_id??(config.organization_id=readEnv("ANTHROPIC_ORGANIZATION_ID")),config.workspace_id??(config.workspace_id=readEnv("ANTHROPIC_WORKSPACE_ID")),config.base_url??(config.base_url=readEnv("ANTHROPIC_BASE_URL")),(_a2=config.authentication).scope??(_a2.scope=readEnv("ANTHROPIC_SCOPE")),config.authentication.type==="oidc_federation"){if(!config.authentication.identity_token){let identityTokenFile=readEnv("ANTHROPIC_IDENTITY_TOKEN_FILE");identityTokenFile&&(config.authentication.identity_token={source:"file",path:identityTokenFile})}config.authentication.federation_rule_id||(config.authentication.federation_rule_id=readEnv("ANTHROPIC_FEDERATION_RULE_ID")??""),(_b=config.authentication).service_account_id??(_b.service_account_id=readEnv("ANTHROPIC_SERVICE_ACCOUNT_ID"))}return{config,fromFile:!0}};var getCredentialsPath=async(config,profile)=>{if(config?.authentication.credentials_path)return config.authentication.credentials_path;let rootConfigPath=await getRootConfigPath();if(!rootConfigPath)return null;let profileName=profile??await getActiveProfileName();return profileName?(validateProfileName(profileName),(await import("node:path")).join(rootConfigPath,"credentials",`${profileName}.json`)):null},getRootConfigPath=async()=>{if(!supportsLocalConfigFiles())return null;let path2=await import("node:path"),configDir=readEnv("ANTHROPIC_CONFIG_DIR");if(configDir)return configDir;if(getPlatformHeaders()["X-Stainless-OS"]==="Windows"){let appData=readEnv("APPDATA");if(appData)return path2.join(appData,"Anthropic");let userProfile=readEnv("USERPROFILE");return userProfile?path2.join(userProfile,"AppData","Roaming","Anthropic"):null}let xdgConfigHome=readEnv("XDG_CONFIG_HOME");if(xdgConfigHome)return path2.join(xdgConfigHome,"anthropic");let home=readEnv("HOME");return home?path2.join(home,".config","anthropic"):null},supportsLocalConfigFiles=()=>{let runtime=getPlatformHeaders()["X-Stainless-Runtime"];return runtime==="node"||runtime==="deno"},getActiveProfileName=async()=>{let rootConfigPath=await getRootConfigPath();if(!rootConfigPath)return null;let profileName=readEnv("ANTHROPIC_PROFILE");if(profileName)return profileName;let fs=await import("node:fs"),filePath=(await import("node:path")).join(rootConfigPath,"active_config");try{return(await fs.promises.readFile(filePath,"utf-8")).trim()||"default"}catch(err){if(err?.code!=="ENOENT")throw new Error(`failed to read ${filePath}: ${err}`);return"default"}};function identityTokenFromFile(path2){if(!path2)throw new AnthropicError("Identity token file path is empty");return async()=>{let fs=await import("node:fs"),content;try{content=await fs.promises.readFile(path2,"utf-8")}catch(err){throw new AnthropicError(`Failed to read identity token file at ${path2}: ${err}`)}let token=content.trim();if(!token)throw new AnthropicError(`Identity token file at ${path2} is empty`);return token}}function identityTokenFromValue(token){if(!token)throw new AnthropicError("Identity token value is empty");return()=>token}function oidcFederationProvider(config){return async()=>{requireSecureTokenEndpoint(config.baseURL);let jwt=await config.identityTokenProvider();if(jwt.length>16*1024)throw new WorkloadIdentityError(`Identity token is ${Math.ceil(jwt.length/1024)} KiB, exceeds the 16 KiB assertion limit`);let body={grant_type:GRANT_TYPE_JWT_BEARER,assertion:jwt,federation_rule_id:config.federationRuleId,organization_id:config.organizationId};config.serviceAccountId&&(body.service_account_id=config.serviceAccountId),config.workspaceId&&(body.workspace_id=config.workspaceId);let url=`${config.baseURL}${TOKEN_ENDPOINT}`,resp;try{resp=await config.fetch(url,{method:"POST",headers:{"Content-Type":"application/json","anthropic-beta":`${OAUTH_API_BETA_HEADER},${FEDERATION_BETA_HEADER}`,"User-Agent":config.userAgent||`anthropic-sdk-typescript/${VERSION} oidcFederationProvider`},body:JSON.stringify(body)})}catch(err){throw new WorkloadIdentityError(`Failed to reach token endpoint ${url}: ${err}`)}let requestId=resp.headers.get("Request-Id");if(!resp.ok){let text=await resp.text().catch(()=>""),redacted=redactSensitive(text),hint="";throw resp.status===401&&(hint=` Ensure your federation rule matches your identity token. ${config.workspaceId?"":"If your federation rule is scoped to multiple workspaces, set the ANTHROPIC_WORKSPACE_ID environment variable, the 'workspace_id' config key, or the `workspaceId` option. "}View your authentication events in the Workload identity page of Claude Console for more details.`),new WorkloadIdentityError(`Token exchange failed with status ${resp.status}${requestId?` (request-id ${requestId})`:""}: ${redacted}${hint}`,resp.status,redacted,requestId)}let data=await parseTokenResponse(resp,requestId),expiresIn=Number(data.expires_in);if(!Number.isFinite(expiresIn))throw new WorkloadIdentityError(`Token endpoint response missing required fields: ${JSON.stringify(redactSensitive(data))}`,resp.status,redactSensitive(data),requestId);return{token:data.access_token,expiresAt:nowAsSeconds()+expiresIn}}}function userOAuthProvider(config){return async opts=>{let fs=await import("node:fs");await checkCredentialsFileSafety(config.credentialsPath,config.onSafetyWarning);let raw;try{raw=await fs.promises.readFile(config.credentialsPath,"utf-8")}catch(err){throw new WorkloadIdentityError(`Credentials file not found at ${config.credentialsPath}: ${err}`)}let creds;try{creds=JSON.parse(raw)}catch(err){throw new WorkloadIdentityError(`Credentials file at ${config.credentialsPath} is not valid JSON: ${err}`)}let accessToken=creds.access_token;if(!accessToken)throw new WorkloadIdentityError(`Credentials file at ${config.credentialsPath} must include 'access_token'`);let expiresAt=creds.expires_at;if(!opts?.forceRefresh&&(expiresAt==null||nowAsSeconds()<expiresAt-MANDATORY_REFRESH_THRESHOLD_IN_SECONDS))return{token:accessToken,expiresAt:expiresAt??null};let refreshToken=creds.refresh_token;if(!config.clientId||!refreshToken)throw new WorkloadIdentityError(`Access token at ${config.credentialsPath} has expired and no refresh is available (client_id ${config.clientId?"set":"empty"}, refresh_token ${refreshToken?"set":"empty"})`);requireSecureTokenEndpoint(config.baseURL);let body={grant_type:GRANT_TYPE_REFRESH_TOKEN,refresh_token:refreshToken,client_id:config.clientId},url=`${config.baseURL}${TOKEN_ENDPOINT}`,resp;try{resp=await config.fetch(url,{method:"POST",headers:{"Content-Type":"application/json","anthropic-beta":OAUTH_API_BETA_HEADER,"User-Agent":config.userAgent||`anthropic-sdk-typescript/${VERSION} userOAuthProvider`},body:JSON.stringify(body)})}catch(err){throw new WorkloadIdentityError(`User OAuth refresh failed to reach token endpoint: ${err}`)}let requestId=resp.headers.get("Request-Id");if(!resp.ok){let text=await resp.text().catch(()=>"");throw new WorkloadIdentityError(`User OAuth refresh failed (HTTP ${resp.status}): ${redactSensitive(text)}`,resp.status,redactSensitive(text),requestId)}let data=await parseTokenResponse(resp,requestId),expiresIn=Number(data.expires_in);if(!Number.isFinite(expiresIn))throw new WorkloadIdentityError(`User OAuth refresh response missing or invalid expires_in: ${JSON.stringify(redactSensitive(data))}`,resp.status,redactSensitive(data),requestId);let newExpiresAt=nowAsSeconds()+expiresIn,newRefreshToken=data.refresh_token||refreshToken;return await writeCredentialsFileAtomic(config.credentialsPath,{...creds,version:CREDENTIALS_FILE_VERSION,type:"oauth_token",access_token:data.access_token,expires_at:newExpiresAt,refresh_token:newRefreshToken}),{token:data.access_token,expiresAt:newExpiresAt}}}function resolveCredentialsFromConfig(config,options){let credentialsPath=config.authentication.credentials_path??null,effectiveBaseURL=(config.base_url||options.baseURL).replace(/\/+$/,""),provider=buildProvider(config,credentialsPath,effectiveBaseURL,options),extraHeaders={};return config.workspace_id&&config.authentication.type==="user_oauth"&&(extraHeaders["anthropic-workspace-id"]=config.workspace_id),{provider,extraHeaders,baseURL:config.base_url||void 0}}async function defaultCredentials(options,profile){let loaded=await loadConfigWithSource(profile);if(!loaded)return null;let{config,fromFile}=loaded,withPath=config.authentication.credentials_path||!fromFile?config:{...config,authentication:{...config.authentication,credentials_path:await getCredentialsPath(config,profile)??void 0}};return resolveCredentialsFromConfig(withPath,options)}function buildProvider(config,credentialsPath,baseURL,options){switch(config.authentication.type){case"oidc_federation":{let auth=config.authentication,identityProvider=resolveIdentityTokenProvider(auth);if(!identityProvider)throw new WorkloadIdentityError("oidc_federation config requires an identity token (set authentication.identity_token, ANTHROPIC_IDENTITY_TOKEN_FILE, or ANTHROPIC_IDENTITY_TOKEN)");if(!auth.federation_rule_id)throw new WorkloadIdentityError("oidc_federation config requires 'federation_rule_id'. Set it in authentication.federation_rule_id in your profile, or via ANTHROPIC_FEDERATION_RULE_ID (profile takes precedence).");if(!config.organization_id)throw new WorkloadIdentityError("oidc_federation config requires organization_id (set ANTHROPIC_ORGANIZATION_ID or config.organization_id)");let exchange=oidcFederationProvider({identityTokenProvider:identityProvider,federationRuleId:auth.federation_rule_id,organizationId:config.organization_id,serviceAccountId:auth.service_account_id,workspaceId:config.workspace_id,baseURL,fetch:options.fetch,userAgent:options.userAgent});return credentialsPath?cachedExchangeProvider(exchange,credentialsPath,options.onCacheWriteError,options.onSafetyWarning):exchange}case"user_oauth":{if(!credentialsPath)throw new WorkloadIdentityError("user_oauth config requires authentication.credentials_path (or load via a profile so it defaults to <config_dir>/credentials/<profile>.json)");return userOAuthProvider({credentialsPath,clientId:config.authentication.client_id,baseURL,fetch:options.fetch,userAgent:options.userAgent,onSafetyWarning:options.onSafetyWarning})}default:{let t=config.authentication.type;throw new WorkloadIdentityError(`authentication.type "${t}" is not a known authentication type`)}}}function resolveIdentityTokenProvider(auth){if(auth.identity_token){let source=auth.identity_token.source;if(source!=="file")throw new WorkloadIdentityError(`identity_token.source "${source}" is not supported by this SDK version (only "file")`);if(!auth.identity_token.path)throw new WorkloadIdentityError('identity_token.source "file" requires a non-empty path');return identityTokenFromFile(auth.identity_token.path)}let tokenFile=readEnv("ANTHROPIC_IDENTITY_TOKEN_FILE");if(tokenFile)return identityTokenFromFile(tokenFile);let tokenValue=readEnv("ANTHROPIC_IDENTITY_TOKEN");return tokenValue?identityTokenFromValue(tokenValue):null}function cachedExchangeProvider(exchange,credentialsPath,onCacheWriteError,onSafetyWarning){return async opts=>{let fs=await import("node:fs");await checkCredentialsFileSafety(credentialsPath,onSafetyWarning);let existing;try{let raw=await fs.promises.readFile(credentialsPath,"utf-8");existing=JSON.parse(raw);let token=existing?.access_token;if(token&&!opts?.forceRefresh){let expiresAt=existing?.expires_at;if(expiresAt==null||nowAsSeconds()<expiresAt-MANDATORY_REFRESH_THRESHOLD_IN_SECONDS)return{token,expiresAt:expiresAt??null}}}catch(err){err?.code!=="ENOENT"&&!(err instanceof SyntaxError)&&onCacheWriteError?.(err)}let result=await exchange(opts);try{await writeCredentialsFileAtomic(credentialsPath,{...existing??{},version:CREDENTIALS_FILE_VERSION,type:"oauth_token",access_token:result.token,expires_at:result.expiresAt})}catch(err){onCacheWriteError?.(err)}return result}}var _LineDecoder_buffer,_LineDecoder_carriageReturnIndex,LineDecoder=class{constructor(){_LineDecoder_buffer.set(this,void 0),_LineDecoder_carriageReturnIndex.set(this,void 0),__classPrivateFieldSet(this,_LineDecoder_buffer,new Uint8Array,"f"),__classPrivateFieldSet(this,_LineDecoder_carriageReturnIndex,null,"f")}decode(chunk){if(chunk==null)return[];let binaryChunk=chunk instanceof ArrayBuffer?new Uint8Array(chunk):typeof chunk=="string"?encodeUTF8(chunk):chunk;__classPrivateFieldSet(this,_LineDecoder_buffer,concatBytes([__classPrivateFieldGet(this,_LineDecoder_buffer,"f"),binaryChunk]),"f");let lines=[],patternIndex;for(;(patternIndex=findNewlineIndex(__classPrivateFieldGet(this,_LineDecoder_buffer,"f"),__classPrivateFieldGet(this,_LineDecoder_carriageReturnIndex,"f")))!=null;){if(patternIndex.carriage&&__classPrivateFieldGet(this,_LineDecoder_carriageReturnIndex,"f")==null){__classPrivateFieldSet(this,_LineDecoder_carriageReturnIndex,patternIndex.index,"f");continue}if(__classPrivateFieldGet(this,_LineDecoder_carriageReturnIndex,"f")!=null&&(patternIndex.index!==__classPrivateFieldGet(this,_LineDecoder_carriageReturnIndex,"f")+1||patternIndex.carriage)){lines.push(decodeUTF8(__classPrivateFieldGet(this,_LineDecoder_buffer,"f").subarray(0,__classPrivateFieldGet(this,_LineDecoder_carriageReturnIndex,"f")-1))),__classPrivateFieldSet(this,_LineDecoder_buffer,__classPrivateFieldGet(this,_LineDecoder_buffer,"f").subarray(__classPrivateFieldGet(this,_LineDecoder_carriageReturnIndex,"f")),"f"),__classPrivateFieldSet(this,_LineDecoder_carriageReturnIndex,null,"f");continue}let endIndex=__classPrivateFieldGet(this,_LineDecoder_carriageReturnIndex,"f")!==null?patternIndex.preceding-1:patternIndex.preceding,line=decodeUTF8(__classPrivateFieldGet(this,_LineDecoder_buffer,"f").subarray(0,endIndex));lines.push(line),__classPrivateFieldSet(this,_LineDecoder_buffer,__classPrivateFieldGet(this,_LineDecoder_buffer,"f").subarray(patternIndex.index),"f"),__classPrivateFieldSet(this,_LineDecoder_carriageReturnIndex,null,"f")}return lines}flush(){return __classPrivateFieldGet(this,_LineDecoder_buffer,"f").length?this.decode(`
|
|
3
|
+
`):[]}};_LineDecoder_buffer=new WeakMap,_LineDecoder_carriageReturnIndex=new WeakMap;LineDecoder.NEWLINE_CHARS=new Set([`
|
|
4
|
+
`,"\r"]);LineDecoder.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function findNewlineIndex(buffer,startIndex){for(let i=startIndex??0;i<buffer.length;i++){if(buffer[i]===10)return{preceding:i,index:i+1,carriage:!1};if(buffer[i]===13)return{preceding:i,index:i+1,carriage:!0}}return null}function findDoubleNewlineIndex(buffer){for(let i=0;i<buffer.length-1;i++){if(buffer[i]===10&&buffer[i+1]===10||buffer[i]===13&&buffer[i+1]===13)return i+2;if(buffer[i]===13&&buffer[i+1]===10&&i+3<buffer.length&&buffer[i+2]===13&&buffer[i+3]===10)return i+4}return-1}var _Stream_client,Stream=class _Stream{constructor(iterator,controller,client){this.iterator=iterator,_Stream_client.set(this,void 0),this.controller=controller,__classPrivateFieldSet(this,_Stream_client,client,"f")}static rawEvents(response,controller=new AbortController){return _iterSSEMessages(response,controller)}static fromSSEResponse(response,controller,client){let consumed=!1,logger=client?loggerFor(client):console;async function*iterator(){if(consumed)throw new AnthropicError("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");consumed=!0;let done=!1;try{for await(let sse of _iterSSEMessages(response,controller)){if(sse.event==="completion")try{yield JSON.parse(sse.data)}catch(e){throw logger.error("Could not parse message into JSON:",sse.data),logger.error("From chunk:",sse.raw),e}if(sse.event==="message_start"||sse.event==="message_delta"||sse.event==="message_stop"||sse.event==="content_block_start"||sse.event==="content_block_delta"||sse.event==="content_block_stop"||sse.event==="message"||sse.event==="user.message"||sse.event==="user.interrupt"||sse.event==="user.tool_confirmation"||sse.event==="user.custom_tool_result"||sse.event==="user.tool_result"||sse.event==="agent.message"||sse.event==="agent.thinking"||sse.event==="agent.tool_use"||sse.event==="agent.tool_result"||sse.event==="agent.mcp_tool_use"||sse.event==="agent.mcp_tool_result"||sse.event==="agent.custom_tool_use"||sse.event==="agent.thread_context_compacted"||sse.event==="session.status_running"||sse.event==="session.status_idle"||sse.event==="session.status_rescheduled"||sse.event==="session.status_terminated"||sse.event==="session.error"||sse.event==="session.deleted"||sse.event==="session.updated"||sse.event==="span.model_request_start"||sse.event==="span.model_request_end"||sse.event==="span.outcome_evaluation_start"||sse.event==="span.outcome_evaluation_ongoing"||sse.event==="span.outcome_evaluation_end"||sse.event==="user.define_outcome"||sse.event==="agent.thread_message_received"||sse.event==="agent.thread_message_sent"||sse.event==="agent.session_thread_message_received"||sse.event==="agent.session_thread_message_sent"||sse.event==="session.thread_created"||sse.event==="session.thread_status_created"||sse.event==="session.thread_status_running"||sse.event==="session.thread_status_idle"||sse.event==="session.thread_status_rescheduled"||sse.event==="session.thread_status_terminated"||sse.event==="event_start"||sse.event==="event_delta"||sse.event==="system.message")try{yield JSON.parse(sse.data)}catch(e){throw logger.error("Could not parse message into JSON:",sse.data),logger.error("From chunk:",sse.raw),e}if(sse.event!=="ping"&&sse.event==="error"){let body=safeJSON(sse.data)??sse.data,type=body?.error?.type;throw new APIError(void 0,body,void 0,response.headers,type)}}done=!0}catch(e){if(isAbortError(e))return;throw e}finally{done||controller.abort(),releaseRequestSignal(controller)}}return new _Stream(iterator,controller,client)}static fromReadableStream(readableStream,controller,client){let consumed=!1;async function*iterLines(){let lineDecoder=new LineDecoder,iter=ReadableStreamToAsyncIterable(readableStream);for await(let chunk of iter)for(let line of lineDecoder.decode(chunk))yield line;for(let line of lineDecoder.flush())yield line}async function*iterator(){if(consumed)throw new AnthropicError("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");consumed=!0;let done=!1;try{for await(let line of iterLines())done||line&&(yield JSON.parse(line));done=!0}catch(e){if(isAbortError(e))return;throw e}finally{done||controller.abort(),releaseRequestSignal(controller)}}return new _Stream(iterator,controller,client)}[(_Stream_client=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let left=[],right=[],iterator=this.iterator(),teeIterator=queue=>({next:()=>{if(queue.length===0){let result=iterator.next();left.push(result),right.push(result)}return queue.shift()}});return[new _Stream(()=>teeIterator(left),this.controller,__classPrivateFieldGet(this,_Stream_client,"f")),new _Stream(()=>teeIterator(right),this.controller,__classPrivateFieldGet(this,_Stream_client,"f"))]}toReadableStream(){let self=this,iter;return makeReadableStream({async start(){iter=self[Symbol.asyncIterator]()},async pull(ctrl){try{let{value,done}=await iter.next();if(done)return ctrl.close();let bytes=encodeUTF8(JSON.stringify(value)+`
|
|
5
|
+
`);ctrl.enqueue(bytes)}catch(err){ctrl.error(err)}},async cancel(){await iter.return?.()}})}};async function*_iterSSEMessages(response,controller){if(!response.body)throw controller.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative"?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"):new AnthropicError("Attempted to iterate over a response with no body");let sseDecoder=new SSEDecoder,lineDecoder=new LineDecoder,iter=ReadableStreamToAsyncIterable(response.body);for await(let sseChunk of iterSSEChunks(iter))for(let line of lineDecoder.decode(sseChunk)){let sse=sseDecoder.decode(line);sse&&(yield sse)}for(let line of lineDecoder.flush()){let sse=sseDecoder.decode(line);sse&&(yield sse)}}async function*iterSSEChunks(iterator){let data=new Uint8Array;for await(let chunk of iterator){if(chunk==null)continue;let binaryChunk=chunk instanceof ArrayBuffer?new Uint8Array(chunk):typeof chunk=="string"?encodeUTF8(chunk):chunk,newData=new Uint8Array(data.length+binaryChunk.length);newData.set(data),newData.set(binaryChunk,data.length),data=newData;let patternIndex;for(;(patternIndex=findDoubleNewlineIndex(data))!==-1;)yield data.slice(0,patternIndex),data=data.slice(patternIndex)}data.length>0&&(yield data)}var SSEDecoder=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(line){if(line.endsWith("\r")&&(line=line.substring(0,line.length-1)),!line){if(!this.event&&!this.data.length)return null;let sse={event:this.event,data:this.data.join(`
|
|
6
|
+
`),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],sse}if(this.chunks.push(line),line.startsWith(":"))return null;let[fieldname,_,value]=partition(line,":");return value.startsWith(" ")&&(value=value.substring(1)),fieldname==="event"?this.event=value:fieldname==="data"&&this.data.push(value),null}};function partition(str,delimiter){let index=str.indexOf(delimiter);return index!==-1?[str.substring(0,index),delimiter,str.substring(index+delimiter.length)]:[str,"",""]}async function defaultParseResponse(client,props){let{response,requestLogID,retryOfRequestLogID,startTime}=props,body=await(async()=>{if(props.options.stream)return loggerFor(client).debug("response",response.status,response.url,response.headers,response.body),Stream.fromSSEResponse(response,props.controller);if(response.status===204)return null;if(props.options.__binaryResponse)return response;let mediaType=response.headers.get("content-type")?.split(";")[0]?.trim();if(mediaType?.includes("application/json")||mediaType?.endsWith("+json")){if(response.headers.get("content-length")==="0")return;let json=await response.json();return addResponseIDs(json,response)}return await response.text()})().finally(()=>{!props.options.stream&&!props.options.__binaryResponse&&releaseRequestSignal(props.controller)});return loggerFor(client).debug(`[${requestLogID}] response parsed`,formatRequestDetails({retryOfRequestLogID,url:response.url,status:response.status,body,durationMs:Date.now()-startTime})),body}function addResponseIDs(value,response){return!value||typeof value!="object"||Array.isArray(value)?value:Object.defineProperties(value,{_request_id:{value:response.headers.get("request-id"),enumerable:!1},_workspace_id:{value:response.headers.get("anthropic-workspace-id"),enumerable:!1}})}var fetchOriginErrors=new WeakSet;function isFetchOriginError(err){return typeof err=="object"&&err!==null&&fetchOriginErrors.has(err)}function isRetryableError(err){let seen=new Set;for(;typeof err=="object"&&err!==null&&!seen.has(err);){if(seen.add(err),isFetchOriginError(err)||isAbortError(err)||err instanceof APIConnectionError||err instanceof RetryableError)return!0;err=err.cause}return!1}function wrapFetchWithMiddleware(fetchFn,middleware,options,client){return async(url,init={})=>{if(middleware.length===0)return fetchFn.call(void 0,url,init);let headers=init.headers instanceof Headers?init.headers:new Headers(init.headers),response=await applyMiddleware(fetchFn,middleware,options,client)({...init,headers,url:typeof url=="string"?url:url instanceof URL?url.href:url.url});if(response.bodyUsed||response.body?.locked)throw new AnthropicError("middleware consumed the response body; use response.clone() to inspect it, or return new Response(body, response) to consume and replace it");return response}}function createMiddlewareContext(options,client){let cache=new WeakMap;return{options,logger:client?loggerFor(client):defaultLogger(),parse(response){if(options?.stream&&response.ok)return parseMiddlewareResponse(response,options);let parsed=cache.get(response);return parsed||(parsed=parseMiddlewareResponse(response,options),cache.set(response,parsed)),parsed}}}async function parseMiddlewareResponse(response,options){if(response.bodyUsed||response.body?.locked)throw new AnthropicError("cannot ctx.parse() a response whose body was already consumed; call ctx.parse() instead of reading the body, or read via response.clone()");if(options?.stream&&response.ok)return Stream.fromSSEResponse(response.clone(),new AbortController);if(response.status===204)return null;if(options?.__binaryResponse)return response;let mediaType=response.headers.get("content-type")?.split(";")[0]?.trim();return mediaType?.includes("application/json")||mediaType?.endsWith("+json")?response.headers.get("content-length")==="0"?void 0:addResponseIDs(await response.clone().json(),response):await response.clone().text()}function applyMiddleware(fetchFn,middleware,options,client){let next=async({url,...init})=>{try{return await fetchFn.call(void 0,url,init)}catch(err){let error=castToError(err);throw fetchOriginErrors.add(error),error}},ctx=createMiddlewareContext(options,client);for(let i=middleware.length-1;i>=0;i--){let mw=middleware[i],nextInner=next;next=async request=>mw(request,nextInner,ctx)}return next}var _APIPromise_client,APIPromise=class _APIPromise extends Promise{constructor(client,responsePromise,parseResponse=defaultParseResponse){super(resolve=>{resolve(null)}),this.responsePromise=responsePromise,this.parseResponse=parseResponse,_APIPromise_client.set(this,void 0),__classPrivateFieldSet(this,_APIPromise_client,client,"f")}_thenUnwrap(transform){return new _APIPromise(__classPrivateFieldGet(this,_APIPromise_client,"f"),this.responsePromise,async(client,props)=>addResponseIDs(transform(await this.parseResponse(client,props),props),props.response))}asResponse(){return this.responsePromise.then(p=>p.response)}async withResponse(){let[data,response]=await Promise.all([this.parse(),this.asResponse()]);return{data,response,request_id:response.headers.get("request-id"),workspace_id:response.headers.get("anthropic-workspace-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(data=>this.parseResponse(__classPrivateFieldGet(this,_APIPromise_client,"f"),data))),this.parsedPromise}then(onfulfilled,onrejected){return this.parse().then(onfulfilled,onrejected)}catch(onrejected){return this.parse().catch(onrejected)}finally(onfinally){return this.parse().finally(onfinally)}};_APIPromise_client=new WeakMap;var _AbstractPage_client,AbstractPage=class{constructor(client,response,body,options){_AbstractPage_client.set(this,void 0),__classPrivateFieldSet(this,_AbstractPage_client,client,"f"),this.options=options,this.response=response,this.body=body}hasNextPage(){return this.getPaginatedItems().length?this.nextPageRequestOptions()!=null:!1}async getNextPage(){let nextOptions=this.nextPageRequestOptions();if(!nextOptions)throw new AnthropicError("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await __classPrivateFieldGet(this,_AbstractPage_client,"f").requestAPIList(this.constructor,nextOptions)}async*iterPages(){let page=this;for(yield page;page.hasNextPage();)page=await page.getNextPage(),yield page}async*[(_AbstractPage_client=new WeakMap,Symbol.asyncIterator)](){for await(let page of this.iterPages())for(let item of page.getPaginatedItems())yield item}},PagePromise=class extends APIPromise{constructor(client,request,Page2){super(client,request,async(client2,props)=>new Page2(client2,props.response,await defaultParseResponse(client2,props),props.options))}async*[Symbol.asyncIterator](){let page=await this;for await(let item of page)yield item}},Page=class extends AbstractPage{constructor(client,response,body,options){super(client,response,body,options),this.data=body.data||[],this.has_more=body.has_more||!1,this.first_id=body.first_id||null,this.last_id=body.last_id||null}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageRequestOptions(){if(this.options.query?.before_id){let first_id=this.first_id;return first_id?{...this.options,query:{...maybeObj(this.options.query),before_id:first_id}}:null}let cursor=this.last_id;return cursor?{...this.options,query:{...maybeObj(this.options.query),after_id:cursor}}:null}};var PageCursor=class extends AbstractPage{constructor(client,response,body,options){super(client,response,body,options),this.data=body.data||[],this.next_page=body.next_page||null}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){let cursor=this.next_page;return cursor?{...this.options,query:{...maybeObj(this.options.query),page:cursor}}:null}},BidirectionalPageCursor=class extends AbstractPage{constructor(client,response,body,options){super(client,response,body,options),this.data=body.data||[],this.next_page=body.next_page||null,this.prev_page=body.prev_page||null}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){let cursor=this.next_page;return cursor?{...this.options,query:{...maybeObj(this.options.query),page:cursor}}:null}};var checkFileSupport=()=>{if(typeof File>"u"){let{process:process2}=globalThis,isOldNode=typeof process2?.versions?.node=="string"&&parseInt(process2.versions.node.split("."))<20;throw new Error("`File` is not defined as a global, which is required for file uploads."+(isOldNode?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function makeFile(fileBits,fileName,options){return checkFileSupport(),new File(fileBits,fileName??"unknown_file",options)}function getName(value,stripPath){let val=typeof value=="object"&&value!==null&&("name"in value&&value.name&&String(value.name)||"url"in value&&value.url&&String(value.url)||"filename"in value&&value.filename&&String(value.filename)||"path"in value&&value.path&&String(value.path))||"";return stripPath?val.split(/[\\/]/).pop()||void 0:val}var isAsyncIterable=value=>value!=null&&typeof value=="object"&&typeof value[Symbol.asyncIterator]=="function";var multipartFormRequestOptions=async(opts,fetch2,stripFilenames=!0)=>({...opts,body:await createForm(opts.body,fetch2,stripFilenames)}),supportsFormDataMap=new WeakMap;function supportsFormData(fetchObject){let fetch2=typeof fetchObject=="function"?fetchObject:fetchObject.fetch,cached=supportsFormDataMap.get(fetch2);if(cached)return cached;let promise=(async()=>{try{let FetchResponse="Response"in fetch2?fetch2.Response:(await fetch2("data:,")).constructor,data=new FormData;return data.toString()!==await new FetchResponse(data).text()}catch{return!0}})();return supportsFormDataMap.set(fetch2,promise),promise}var createForm=async(body,fetch2,stripFilenames=!0)=>{if(!await supportsFormData(fetch2))throw new TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let form=new FormData;return await Promise.all(Object.entries(body||{}).map(([key,value])=>addFormValue(form,key,value,stripFilenames))),form},isNamedBlob=value=>value instanceof Blob&&"name"in value;var addFormValue=async(form,key,value,stripFilenames)=>{if(value!==void 0){if(value==null)throw new TypeError(`Received null for "${key}"; to pass null in FormData, you must use the string 'null'`);if(typeof value=="string"||typeof value=="number"||typeof value=="boolean")form.append(key,String(value));else if(value instanceof Response){let options={},contentType=value.headers.get("Content-Type");contentType&&(options={type:contentType}),form.append(key,makeFile([await value.blob()],getName(value,stripFilenames),options))}else if(isAsyncIterable(value))form.append(key,makeFile([await new Response(ReadableStreamFrom(value)).blob()],getName(value,stripFilenames)));else if(isNamedBlob(value))form.append(key,makeFile([value],getName(value,stripFilenames),{type:value.type}));else if(Array.isArray(value))await Promise.all(value.map(entry=>addFormValue(form,key+"[]",entry,stripFilenames)));else if(typeof value=="object")await Promise.all(Object.entries(value).map(([name,prop])=>addFormValue(form,`${key}[${name}]`,prop,stripFilenames)));else throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${value} instead`)}};var isBlobLike=value=>value!=null&&typeof value=="object"&&typeof value.size=="number"&&typeof value.type=="string"&&typeof value.text=="function"&&typeof value.slice=="function"&&typeof value.arrayBuffer=="function",isFileLike=value=>value!=null&&typeof value=="object"&&typeof value.name=="string"&&typeof value.lastModified=="number"&&isBlobLike(value),isResponseLike=value=>value!=null&&typeof value=="object"&&typeof value.url=="string"&&typeof value.blob=="function";async function toFile(value,name,options){if(checkFileSupport(),value=await value,name||(name=getName(value,!0)),isFileLike(value))return value instanceof File&&name==null&&options==null?value:makeFile([await value.arrayBuffer()],name??value.name,{type:value.type,lastModified:value.lastModified,...options});if(isResponseLike(value)){let blob=await value.blob();return name||(name=new URL(value.url).pathname.split(/[\\/]/).pop()),makeFile(await getBytes(blob),name,options)}let parts=await getBytes(value);if(!options?.type){let type=parts.find(part=>typeof part=="object"&&"type"in part&&part.type);typeof type=="string"&&(options={...options,type})}return makeFile(parts,name,options)}async function getBytes(value){let parts=[];if(typeof value=="string"||ArrayBuffer.isView(value)||value instanceof ArrayBuffer)parts.push(value);else if(isBlobLike(value))parts.push(value instanceof Blob?value:await value.arrayBuffer());else if(isAsyncIterable(value))for await(let chunk of value)parts.push(...await getBytes(chunk));else{let constructor=value?.constructor?.name;throw new Error(`Unexpected data type: ${typeof value}${constructor?`; constructor: ${constructor}`:""}${propsForError(value)}`)}return parts}function propsForError(value){return typeof value!="object"||value===null?"":`; props: [${Object.getOwnPropertyNames(value).map(p=>`"${p}"`).join(", ")}]`}var APIResource=class{constructor(client){this._client=client}};var brand_privateNullableHeaders=Symbol.for("brand.privateNullableHeaders");function*iterateHeaders(headers){if(!headers)return;if(brand_privateNullableHeaders in headers){let{values,nulls}=headers;yield*values.entries();for(let name of nulls)yield[name,null];return}let shouldClear=!1,iter;headers instanceof Headers?iter=headers.entries():isReadonlyArray(headers)?iter=headers:(shouldClear=!0,iter=Object.entries(headers??{}));for(let row of iter){let name=row[0];if(typeof name!="string")throw new TypeError("expected header name to be a string");let values=isReadonlyArray(row[1])?row[1]:[row[1]],didClear=!1;for(let value of values)value!==void 0&&(shouldClear&&!didClear&&(didClear=!0,yield[name,clearSentinel]),yield[name,value])}}var clearSentinel=Symbol("clear"),APPEND_HEADERS=new Set(["x-stainless-helper"]),appendHeaderValue=(existing,addition)=>{let tokens=existing?existing.split(",").map(t=>t.trim()).filter(Boolean):[];for(let tok of addition.split(",").map(t=>t.trim()))tok&&!tokens.includes(tok)&&tokens.push(tok);return tokens.join(", ")},buildHeaders=newHeaders=>{let targetHeaders=new Headers,nullHeaders=new Set;for(let headers of newHeaders){let seenHeaders=new Set;for(let[name,value]of iterateHeaders(headers)){let lowerName=name.toLowerCase();if(APPEND_HEADERS.has(lowerName)){if(value===clearSentinel)continue;value===null?(targetHeaders.delete(name),nullHeaders.add(lowerName)):(targetHeaders.set(name,appendHeaderValue(targetHeaders.get(name),value)),nullHeaders.delete(lowerName));continue}(value===clearSentinel||!seenHeaders.has(lowerName))&&(targetHeaders.delete(name),seenHeaders.add(lowerName),value===clearSentinel)||(value===null?(targetHeaders.delete(name),nullHeaders.add(lowerName)):(targetHeaders.append(name,value),nullHeaders.delete(lowerName)))}}return{[brand_privateNullableHeaders]:!0,values:targetHeaders,nulls:nullHeaders}};function encodeURIPath(str){return str.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var EMPTY=Object.freeze(Object.create(null)),createPathTagFunction=(pathEncoder=encodeURIPath)=>function(statics,...params){if(statics.length===1)return statics[0];let postPath=!1,invalidSegments=[],path3=statics.reduce((previousValue,currentValue,index)=>{/[?#]/.test(currentValue)&&(postPath=!0);let value=params[index],encoded=(postPath?encodeURIComponent:pathEncoder)(""+value);return index!==params.length&&(value==null||typeof value=="object"&&value.toString===Object.getPrototypeOf(Object.getPrototypeOf(value.hasOwnProperty??EMPTY)??EMPTY)?.toString)&&(encoded=value+"",invalidSegments.push({start:previousValue.length+currentValue.length,length:encoded.length,error:`Value of type ${Object.prototype.toString.call(value).slice(8,-1)} is not a valid path parameter`})),previousValue+currentValue+(index===params.length?"":encoded)},""),pathOnly=path3.split(/[?#]/,1)[0],invalidSegmentPattern=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,match;for(;(match=invalidSegmentPattern.exec(pathOnly))!==null;)invalidSegments.push({start:match.index,length:match[0].length,error:`Value "${match[0]}" can't be safely passed as a path parameter`});if(invalidSegments.sort((a,b)=>a.start-b.start),invalidSegments.length>0){let lastEnd=0,underline=invalidSegments.reduce((acc,segment)=>{let spaces=" ".repeat(segment.start-lastEnd),arrows="^".repeat(segment.length);return lastEnd=segment.start+segment.length,acc+spaces+arrows},"");throw new AnthropicError(`Path parameters result in path with invalid segments:
|
|
7
|
+
${invalidSegments.map(e=>e.error).join(`
|
|
8
|
+
`)}
|
|
9
|
+
${path3}
|
|
10
|
+
${underline}`)}return path3},path=createPathTagFunction(encodeURIPath);var DeploymentRuns=class extends APIResource{retrieve(deploymentRunID,params={},options){let{betas}=params??{};return this._client.get(path`/v1/deployment_runs/${deploymentRunID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}list(params={},options){let{betas,...query}=params??{};return this._client.getAPIList("/v1/deployment_runs?beta=true",PageCursor,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}};var Deployments=class extends APIResource{create(params,options){let{betas,...body}=params;return this._client.post("/v1/deployments?beta=true",{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}retrieve(deploymentID,params={},options){let{betas}=params??{};return this._client.get(path`/v1/deployments/${deploymentID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}update(deploymentID,params,options){let{betas,...body}=params;return this._client.post(path`/v1/deployments/${deploymentID}?beta=true`,{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}list(params={},options){let{betas,...query}=params??{};return this._client.getAPIList("/v1/deployments?beta=true",PageCursor,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}archive(deploymentID,params={},options){let{betas}=params??{};return this._client.post(path`/v1/deployments/${deploymentID}/archive?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}pause(deploymentID,params={},options){let{betas}=params??{};return this._client.post(path`/v1/deployments/${deploymentID}/pause?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}run(deploymentID,params={},options){let{betas}=params??{};return this._client.post(path`/v1/deployments/${deploymentID}/run?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}unpause(deploymentID,params={},options){let{betas}=params??{};return this._client.post(path`/v1/deployments/${deploymentID}/unpause?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}};var Dreams=class extends APIResource{create(params,options){let{betas,...body}=params;return this._client.post("/v1/dreams?beta=true",{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"dreaming-2026-04-21"].toString()},options?.headers])})}retrieve(dreamID,params={},options){let{betas}=params??{};return this._client.get(path`/v1/dreams/${dreamID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"dreaming-2026-04-21"].toString()},options?.headers])})}list(params={},options){let{betas,...query}=params??{};return this._client.getAPIList("/v1/dreams?beta=true",PageCursor,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"dreaming-2026-04-21"].toString()},options?.headers])})}archive(dreamID,params={},options){let{betas}=params??{};return this._client.post(path`/v1/dreams/${dreamID}/archive?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"dreaming-2026-04-21"].toString()},options?.headers])})}cancel(dreamID,params={},options){let{betas}=params??{};return this._client.post(path`/v1/dreams/${dreamID}/cancel?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"dreaming-2026-04-21"].toString()},options?.headers])})}};var STAINLESS_HELPER_HEADER="x-stainless-helper",STAINLESS_HELPER_METHOD_HEADER="x-stainless-helper-method";function helperHeader(value){return{[STAINLESS_HELPER_HEADER]:value}}var SDK_HELPER_SYMBOL=Symbol("anthropic.sdk.stainlessHelper");function wasCreatedByStainlessHelper(value){return typeof value=="object"&&value!==null&&SDK_HELPER_SYMBOL in value}function collectStainlessHelpers(tools,messages){let helpers=new Set;if(tools)for(let tool of tools)wasCreatedByStainlessHelper(tool)&&helpers.add(tool[SDK_HELPER_SYMBOL]);if(messages)for(let message of messages){wasCreatedByStainlessHelper(message)&&helpers.add(message[SDK_HELPER_SYMBOL]);let content=message.content;if(Array.isArray(content))for(let block of content)wasCreatedByStainlessHelper(block)&&helpers.add(block[SDK_HELPER_SYMBOL])}return Array.from(helpers)}function stainlessHelperHeader(tools,messages){let helpers=collectStainlessHelpers(tools,messages);return helpers.length===0?{}:{[STAINLESS_HELPER_HEADER]:helpers.join(", ")}}function stainlessHelperHeaderFromFile(file){return wasCreatedByStainlessHelper(file)?{[STAINLESS_HELPER_HEADER]:file[SDK_HELPER_SYMBOL]}:{}}var Files=class extends APIResource{list(params={},options){let{betas,...query}=params??{};return this._client.getAPIList("/v1/files?beta=true",Page,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"files-api-2025-04-14"].toString()},options?.headers])})}delete(fileID,params={},options){let{betas}=params??{};return this._client.delete(path`/v1/files/${fileID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"files-api-2025-04-14"].toString()},options?.headers])})}download(fileID,params={},options){let{betas}=params??{};return this._client.get(path`/v1/files/${fileID}/content?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"files-api-2025-04-14"].toString(),Accept:"application/binary"},options?.headers]),__binaryResponse:!0})}retrieveMetadata(fileID,params={},options){let{betas}=params??{};return this._client.get(path`/v1/files/${fileID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"files-api-2025-04-14"].toString()},options?.headers])})}upload(params,options){let{betas,...body}=params;return this._client.post("/v1/files?beta=true",multipartFormRequestOptions({body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"files-api-2025-04-14"].toString()},stainlessHelperHeaderFromFile(body.file),options?.headers])},this._client))}};var Models=class extends APIResource{retrieve(modelID,params={},options){let{betas}=params??{};return this._client.get(path`/v1/models/${modelID}?beta=true`,{...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}list(params={},options){let{betas,...query}=params??{};return this._client.getAPIList("/v1/models?beta=true",Page,{query,...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}};var UserProfiles=class extends APIResource{create(params,options){let{betas,...body}=params;return this._client.post("/v1/user_profiles?beta=true",{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"user-profiles-2026-08-18"].toString()},options?.headers])})}retrieve(userProfileID,params={},options){let{betas}=params??{};return this._client.get(path`/v1/user_profiles/${userProfileID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"user-profiles-2026-08-18"].toString()},options?.headers])})}update(userProfileID,params,options){let{betas,...body}=params;return this._client.post(path`/v1/user_profiles/${userProfileID}?beta=true`,{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"user-profiles-2026-08-18"].toString()},options?.headers])})}list(params={},options){let{betas,...query}=params??{};return this._client.getAPIList("/v1/user_profiles?beta=true",PageCursor,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"user-profiles-2026-08-18"].toString()},options?.headers])})}createEnrollmentURL(userProfileID,params={},options){let{betas}=params??{};return this._client.post(path`/v1/user_profiles/${userProfileID}/enrollment_url?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"user-profiles-2026-08-18"].toString()},options?.headers])})}};var import_standardwebhooks=__toESM(require_dist(),1),Webhooks=class extends APIResource{unwrap(body,{headers,key}){if(headers!==void 0){let keyStr=key===void 0?this._client.webhookKey:key;if(keyStr===null)throw new Error("Webhook key must not be null in order to unwrap");new import_standardwebhooks.Webhook(keyStr).verify(body,headers)}return JSON.parse(body)}};var Versions=class extends APIResource{list(agentID,params={},options){let{betas,...query}=params??{};return this._client.getAPIList(path`/v1/agents/${agentID}/versions?beta=true`,PageCursor,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}};var Agents=class extends APIResource{constructor(){super(...arguments),this.versions=new Versions(this._client)}create(params,options){let{betas,...body}=params;return this._client.post("/v1/agents?beta=true",{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}retrieve(agentID,params={},options){let{betas,...query}=params??{};return this._client.get(path`/v1/agents/${agentID}?beta=true`,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}update(agentID,params,options){let{betas,...body}=params;return this._client.post(path`/v1/agents/${agentID}?beta=true`,{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}list(params={},options){let{betas,...query}=params??{};return this._client.getAPIList("/v1/agents?beta=true",PageCursor,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}archive(agentID,params={},options){let{betas}=params??{};return this._client.post(path`/v1/agents/${agentID}/archive?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}};Agents.Versions=Versions;function linkAbort(external,controller){if(!external)return()=>{};if(external.aborted)return controller.abort(),()=>{};let onAbort=()=>controller.abort();return external.addEventListener("abort",onAbort),()=>external.removeEventListener("abort",onAbort)}function isStatus(e,code){return e instanceof APIError&&e.status===code}function is4xx(e){return e instanceof APIError&&typeof e.status=="number"&&e.status>=400&&e.status<500}function isFatal4xx(e){return is4xx(e)&&!isStatus(e,408)&&!isStatus(e,409)&&!isStatus(e,429)}function backoff(attempt,baseMs,capMs){return Math.min(baseMs*2**attempt,capMs)}function jitter(lowMs,highMs){return lowMs+Math.random()*(highMs-lowMs)}function applyJitter(ms){return ms*(1-Math.random()*.25)}function copyClientForHelper(client,{authToken,helper}){if(!authToken)throw new AnthropicError(`copyClientForHelper: expected a non-empty authToken but received ${JSON.stringify(authToken)}`);let internal=client,parentDefaults=internal._options.defaultHeaders,parentAuthExtraHeaders=internal._authState?.extraHeaders,inheritedAuthExtraHeaders=parentAuthExtraHeaders?Object.fromEntries(Object.entries(parentAuthExtraHeaders).filter(([name])=>{let lower=name.toLowerCase();return lower!=="authorization"&&lower!=="x-api-key"})):void 0,defaultHeaders=buildHeaders([inheritedAuthExtraHeaders,parentDefaults,{[STAINLESS_HELPER_HEADER]:helper}]);return client.withOptions({apiKey:null,authToken,baseURL:client.baseURL,credentials:void 0,defaultHeaders})}var _WorkPoller_runnerClient,_WorkPoller_consumed,_WorkPoller_controller,_WorkPoller_detachExternal,_WorkPoller_autoStop,_WorkPoller_drain,_WorkPoller_blockMs,_WorkPoller_reclaimOlderThanMs,_WorkPoller_requestOpts,_IdleLog_log,_IdleLog_environmentId,_IdleLog_idleSince,_IdleLog_lastReport,POLL_BLOCK_MS=999,POLL_BACKOFF_BASE_MS=1e3,POLL_BACKOFF_CAP_MS=6e4,IDLE_REPORT_INTERVAL_MS=3e5,WorkPoller=class{constructor(opts){_WorkPoller_runnerClient.set(this,void 0),_WorkPoller_consumed.set(this,!1),_WorkPoller_controller.set(this,void 0),_WorkPoller_detachExternal.set(this,void 0),_WorkPoller_autoStop.set(this,void 0),_WorkPoller_drain.set(this,void 0),_WorkPoller_blockMs.set(this,void 0),_WorkPoller_reclaimOlderThanMs.set(this,void 0),_WorkPoller_requestOpts.set(this,void 0),this.client=opts.client,this.environmentId=opts.environmentId,this.environmentKey=opts.environmentKey,this.workerId=opts.workerId??defaultWorkerId(),__classPrivateFieldSet(this,_WorkPoller_runnerClient,copyClientForHelper(opts.client,{authToken:opts.environmentKey,helper:"environments-work-poller"}),"f"),__classPrivateFieldSet(this,_WorkPoller_autoStop,opts.autoStop??!0,"f"),__classPrivateFieldSet(this,_WorkPoller_drain,opts.drain??!1,"f"),__classPrivateFieldSet(this,_WorkPoller_blockMs,opts.blockMs===void 0?POLL_BLOCK_MS:opts.blockMs,"f"),__classPrivateFieldSet(this,_WorkPoller_reclaimOlderThanMs,opts.reclaimOlderThanMs??null,"f"),__classPrivateFieldSet(this,_WorkPoller_requestOpts,opts.requestOptions,"f"),__classPrivateFieldSet(this,_WorkPoller_controller,new AbortController,"f"),__classPrivateFieldSet(this,_WorkPoller_detachExternal,linkAbort(opts.signal,__classPrivateFieldGet(this,_WorkPoller_controller,"f")),"f")}get signal(){return __classPrivateFieldGet(this,_WorkPoller_controller,"f").signal}abort(){__classPrivateFieldGet(this,_WorkPoller_controller,"f").abort()}async*[(_WorkPoller_runnerClient=new WeakMap,_WorkPoller_consumed=new WeakMap,_WorkPoller_controller=new WeakMap,_WorkPoller_detachExternal=new WeakMap,_WorkPoller_autoStop=new WeakMap,_WorkPoller_drain=new WeakMap,_WorkPoller_blockMs=new WeakMap,_WorkPoller_reclaimOlderThanMs=new WeakMap,_WorkPoller_requestOpts=new WeakMap,Symbol.asyncIterator)](){if(__classPrivateFieldGet(this,_WorkPoller_consumed,"f"))throw new AnthropicError("Cannot iterate over a consumed WorkPoller");__classPrivateFieldSet(this,_WorkPoller_consumed,!0,"f");let log=loggerFor(this.client);log.info("poller starting",{component:"work-poller",environment_id:this.environmentId});let idle=new IdleLog(log,this.environmentId);try{let attempt=0;for(;!__classPrivateFieldGet(this,_WorkPoller_controller,"f").signal.aborted;){let work;try{work=await __classPrivateFieldGet(this,_WorkPoller_runnerClient,"f").beta.environments.work.poll(this.environmentId,{"Anthropic-Worker-ID":this.workerId,...__classPrivateFieldGet(this,_WorkPoller_blockMs,"f")!==null?{block_ms:__classPrivateFieldGet(this,_WorkPoller_blockMs,"f")}:{},...__classPrivateFieldGet(this,_WorkPoller_reclaimOlderThanMs,"f")!==null?{reclaim_older_than_ms:__classPrivateFieldGet(this,_WorkPoller_reclaimOlderThanMs,"f")}:{}},{headers:buildHeaders([__classPrivateFieldGet(this,_WorkPoller_requestOpts,"f")?.headers]),signal:__classPrivateFieldGet(this,_WorkPoller_controller,"f").signal})}catch(e){if(__classPrivateFieldGet(this,_WorkPoller_controller,"f").signal.aborted)return;if(isFatal4xx(e))throw log.error("poll failed permanently, stopping poller",{error:String(e)}),e;let wait=applyJitter(backoff2(attempt));log.warn("poll failed, backing off",{error:String(e),backoff_ms:wait}),attempt++,await sleep(wait,__classPrivateFieldGet(this,_WorkPoller_controller,"f").signal);continue}if(attempt=0,work==null){if(__classPrivateFieldGet(this,_WorkPoller_drain,"f"))return;idle.onEmptyPoll(),await sleep(jitter(1e3,3e3),__classPrivateFieldGet(this,_WorkPoller_controller,"f").signal);continue}idle.onClaim(),log.info("claimed work",{component:"work-poller",environment_id:this.environmentId,work_id:work.id,work_type:work.data.type});try{await __classPrivateFieldGet(this,_WorkPoller_runnerClient,"f").beta.environments.work.ack(work.id,{environment_id:work.environment_id},{headers:buildHeaders([__classPrivateFieldGet(this,_WorkPoller_requestOpts,"f")?.headers]),signal:__classPrivateFieldGet(this,_WorkPoller_controller,"f").signal})}catch(e){log.error("ack failed",{work_id:work.id,error:String(e)});continue}try{yield work}finally{if(__classPrivateFieldGet(this,_WorkPoller_autoStop,"f"))try{await __classPrivateFieldGet(this,_WorkPoller_runnerClient,"f").beta.environments.work.stop(work.id,{environment_id:work.environment_id},{headers:buildHeaders([__classPrivateFieldGet(this,_WorkPoller_requestOpts,"f")?.headers])})}catch(e){isStatus(e,409)||log.warn("stop failed",{work_id:work.id,error:String(e)})}}}}finally{__classPrivateFieldGet(this,_WorkPoller_detachExternal,"f").call(this)}}};function backoff2(attempt){return backoff(attempt,POLL_BACKOFF_BASE_MS,POLL_BACKOFF_CAP_MS)}var IdleLog=class{constructor(log,environmentId){_IdleLog_log.set(this,void 0),_IdleLog_environmentId.set(this,void 0),_IdleLog_idleSince.set(this,void 0),_IdleLog_lastReport.set(this,0),__classPrivateFieldSet(this,_IdleLog_log,log,"f"),__classPrivateFieldSet(this,_IdleLog_environmentId,environmentId,"f")}onEmptyPoll(){let now=Date.now(),fields={component:"work-poller",environment_id:__classPrivateFieldGet(this,_IdleLog_environmentId,"f")};__classPrivateFieldGet(this,_IdleLog_idleSince,"f")===void 0?(__classPrivateFieldSet(this,_IdleLog_idleSince,__classPrivateFieldSet(this,_IdleLog_lastReport,now,"f"),"f"),__classPrivateFieldGet(this,_IdleLog_log,"f").info("idle; polling for work",fields)):now-__classPrivateFieldGet(this,_IdleLog_lastReport,"f")>=IDLE_REPORT_INTERVAL_MS?(__classPrivateFieldSet(this,_IdleLog_lastReport,now,"f"),__classPrivateFieldGet(this,_IdleLog_log,"f").info(`still polling; idle for ${Math.round((now-__classPrivateFieldGet(this,_IdleLog_idleSince,"f"))/1e3)}s`,fields)):__classPrivateFieldGet(this,_IdleLog_log,"f").debug("poll returned no work",fields)}onClaim(){__classPrivateFieldSet(this,_IdleLog_idleSince,void 0,"f")}};_IdleLog_log=new WeakMap,_IdleLog_environmentId=new WeakMap,_IdleLog_idleSince=new WeakMap,_IdleLog_lastReport=new WeakMap;function defaultWorkerId(){let host=globalThis.process?.env?.HOSTNAME;return host?`${host}-${uuid4()}`:uuid4()}var _AsyncQueue_items,_AsyncQueue_waiters,_AsyncQueue_closed,AsyncQueue=class{constructor(){_AsyncQueue_items.set(this,[]),_AsyncQueue_waiters.set(this,[]),_AsyncQueue_closed.set(this,!1)}push(item){if(__classPrivateFieldGet(this,_AsyncQueue_closed,"f"))return!1;let w=__classPrivateFieldGet(this,_AsyncQueue_waiters,"f").shift();return w?w({done:!1,value:item}):__classPrivateFieldGet(this,_AsyncQueue_items,"f").push(item),!0}close(){if(!__classPrivateFieldGet(this,_AsyncQueue_closed,"f"))for(__classPrivateFieldSet(this,_AsyncQueue_closed,!0,"f");__classPrivateFieldGet(this,_AsyncQueue_waiters,"f").length>0;)__classPrivateFieldGet(this,_AsyncQueue_waiters,"f").shift()({done:!0,value:void 0})}next(signal){return __classPrivateFieldGet(this,_AsyncQueue_items,"f").length>0?Promise.resolve({done:!1,value:__classPrivateFieldGet(this,_AsyncQueue_items,"f").shift()}):__classPrivateFieldGet(this,_AsyncQueue_closed,"f")||signal?.aborted?Promise.resolve({done:!0,value:void 0}):new Promise(resolve=>{let waiter=r=>{signal?.removeEventListener("abort",onAbort),resolve(r)},onAbort=()=>{let idx=__classPrivateFieldGet(this,_AsyncQueue_waiters,"f").indexOf(waiter);idx>=0&&__classPrivateFieldGet(this,_AsyncQueue_waiters,"f").splice(idx,1),resolve({done:!0,value:void 0})};__classPrivateFieldGet(this,_AsyncQueue_waiters,"f").push(waiter),signal?.addEventListener("abort",onAbort,{once:!0})})}tryShift(){return __classPrivateFieldGet(this,_AsyncQueue_items,"f").shift()}};_AsyncQueue_items=new WeakMap,_AsyncQueue_waiters=new WeakMap,_AsyncQueue_closed=new WeakMap;function toolName(tool){return"name"in tool?tool.name:"mcp_server_name"in tool?tool.mcp_server_name:tool.type}function toolErrorContent(e){return e instanceof ToolError?e.content:`Error: ${e instanceof Error?e.message:String(e)}`}async function runRunnableTool(tool,rawInput,context){try{let input=tool.parse?tool.parse(rawInput):rawInput;return{content:await tool.run(input,context),isError:!1}}catch(e){return{content:toolErrorContent(e),isError:!0}}}var _IdleClock_maxIdleMs,_IdleClock_onExpire,_IdleClock_blockers,_IdleClock_armPending,_IdleClock_timer,_SessionToolRunner_instances,_SessionToolRunner_consumed,_SessionToolRunner_controller,_SessionToolRunner_detachExternal,_SessionToolRunner_requestOpts,_SessionToolRunner_toolByName,_SessionToolRunner_logger,_SessionToolRunner_seen,_SessionToolRunner_answered,_SessionToolRunner_confirmationVerdicts,_SessionToolRunner_awaitingConfirmation,_SessionToolRunner_results,_SessionToolRunner_inFlightCount,_SessionToolRunner_sendRetryWindowMs,_SessionToolRunner_onIdle,_SessionToolRunner_idleClock,_SessionToolRunner_requestOptions,_SessionToolRunner_streamLoop,_SessionToolRunner_reconcile,_SessionToolRunner_ingestHistory,_SessionToolRunner_handleStreamEvent,_SessionToolRunner_routeToolEvent,_SessionToolRunner_noteConfirmation,_SessionToolRunner_applyVerdict,_SessionToolRunner_surfaceCall,_SessionToolRunner_execute,_SessionToolRunner_sendResult,_SessionToolRunner_drain;var STREAM_BACKOFF_START_MS=500,STREAM_BACKOFF_CAP_MS=1e4,TOOL_TIMEOUT_MS=12e4,DRAIN_TIMEOUT_MS=3e4,SEND_BACKOFF_START_MS=1e3,SEND_BACKOFF_CAP_MS=3e4,SEND_RETRY_WINDOW_MS=5*6e4,DEFAULT_MAX_IDLE_MS=6e4;function isEndTurnIdle(ev){return ev.type==="session.status_idle"&&ev.stop_reason?.type==="end_turn"}var IdleClock=class{constructor(maxIdleMs,onExpire){_IdleClock_maxIdleMs.set(this,void 0),_IdleClock_onExpire.set(this,void 0),_IdleClock_blockers.set(this,new Set),_IdleClock_armPending.set(this,!1),_IdleClock_timer.set(this,void 0),__classPrivateFieldSet(this,_IdleClock_maxIdleMs,maxIdleMs,"f"),__classPrivateFieldSet(this,_IdleClock_onExpire,onExpire,"f")}noteEvent(ev){ev.type!=="user.tool_confirmation"&&(isEndTurnIdle(ev)?this.arm():this.disarm())}block(toolUseId){__classPrivateFieldGet(this,_IdleClock_blockers,"f").add(toolUseId),__classPrivateFieldGet(this,_IdleClock_timer,"f")!==void 0&&(__classPrivateFieldSet(this,_IdleClock_armPending,!0,"f"),clearTimeout(__classPrivateFieldGet(this,_IdleClock_timer,"f")),__classPrivateFieldSet(this,_IdleClock_timer,void 0,"f"))}unblock(toolUseId){__classPrivateFieldGet(this,_IdleClock_blockers,"f").delete(toolUseId),__classPrivateFieldGet(this,_IdleClock_blockers,"f").size===0&&__classPrivateFieldGet(this,_IdleClock_armPending,"f")&&this.arm()}arm(){if(!(__classPrivateFieldGet(this,_IdleClock_maxIdleMs,"f")<=0)){if(__classPrivateFieldGet(this,_IdleClock_blockers,"f").size>0){__classPrivateFieldSet(this,_IdleClock_armPending,!0,"f");return}__classPrivateFieldSet(this,_IdleClock_armPending,!1,"f"),__classPrivateFieldGet(this,_IdleClock_timer,"f")!==void 0&&clearTimeout(__classPrivateFieldGet(this,_IdleClock_timer,"f")),__classPrivateFieldSet(this,_IdleClock_timer,setTimeout(__classPrivateFieldGet(this,_IdleClock_onExpire,"f"),__classPrivateFieldGet(this,_IdleClock_maxIdleMs,"f")),"f")}}disarm(){__classPrivateFieldSet(this,_IdleClock_armPending,!1,"f"),__classPrivateFieldGet(this,_IdleClock_timer,"f")!==void 0&&(clearTimeout(__classPrivateFieldGet(this,_IdleClock_timer,"f")),__classPrivateFieldSet(this,_IdleClock_timer,void 0,"f"))}};_IdleClock_maxIdleMs=new WeakMap,_IdleClock_onExpire=new WeakMap,_IdleClock_blockers=new WeakMap,_IdleClock_armPending=new WeakMap,_IdleClock_timer=new WeakMap;var SessionToolRunner=class{constructor(sessionId,opts){_SessionToolRunner_instances.add(this),_SessionToolRunner_consumed.set(this,!1),_SessionToolRunner_controller.set(this,void 0),_SessionToolRunner_detachExternal.set(this,void 0),_SessionToolRunner_requestOpts.set(this,void 0),_SessionToolRunner_toolByName.set(this,void 0),_SessionToolRunner_logger.set(this,void 0),_SessionToolRunner_seen.set(this,new Set),_SessionToolRunner_answered.set(this,new Set),_SessionToolRunner_confirmationVerdicts.set(this,new Map),_SessionToolRunner_awaitingConfirmation.set(this,new Map),_SessionToolRunner_results.set(this,new AsyncQueue),_SessionToolRunner_inFlightCount.set(this,0),_SessionToolRunner_sendRetryWindowMs.set(this,SEND_RETRY_WINDOW_MS),_SessionToolRunner_onIdle.set(this,null),_SessionToolRunner_idleClock.set(this,void 0),this.client=opts.client,this.sessionId=sessionId,this.tools=opts.tools,this.maxIdleMs=opts.maxIdleMs??DEFAULT_MAX_IDLE_MS,__classPrivateFieldSet(this,_SessionToolRunner_logger,loggerFor(opts.client),"f"),__classPrivateFieldSet(this,_SessionToolRunner_toolByName,new Map(opts.tools.map(t=>[toolName(t),t])),"f"),__classPrivateFieldSet(this,_SessionToolRunner_controller,new AbortController,"f"),__classPrivateFieldSet(this,_SessionToolRunner_detachExternal,linkAbort(opts.signal,__classPrivateFieldGet(this,_SessionToolRunner_controller,"f")),"f"),__classPrivateFieldSet(this,_SessionToolRunner_requestOpts,opts.requestOptions,"f"),__classPrivateFieldSet(this,_SessionToolRunner_idleClock,new IdleClock(this.maxIdleMs,()=>{__classPrivateFieldGet(this,_SessionToolRunner_logger,"f").info("session idle after end_turn; stopping",{component:"session-tool-runner",session_id:this.sessionId,max_idle_ms:this.maxIdleMs}),__classPrivateFieldGet(this,_SessionToolRunner_controller,"f").abort()}),"f")}get signal(){return __classPrivateFieldGet(this,_SessionToolRunner_controller,"f").signal}abort(){__classPrivateFieldGet(this,_SessionToolRunner_controller,"f").abort()}_setSendRetryWindow(ms){__classPrivateFieldSet(this,_SessionToolRunner_sendRetryWindowMs,ms,"f")}async*[(_SessionToolRunner_consumed=new WeakMap,_SessionToolRunner_controller=new WeakMap,_SessionToolRunner_detachExternal=new WeakMap,_SessionToolRunner_requestOpts=new WeakMap,_SessionToolRunner_toolByName=new WeakMap,_SessionToolRunner_logger=new WeakMap,_SessionToolRunner_seen=new WeakMap,_SessionToolRunner_answered=new WeakMap,_SessionToolRunner_confirmationVerdicts=new WeakMap,_SessionToolRunner_awaitingConfirmation=new WeakMap,_SessionToolRunner_results=new WeakMap,_SessionToolRunner_inFlightCount=new WeakMap,_SessionToolRunner_sendRetryWindowMs=new WeakMap,_SessionToolRunner_onIdle=new WeakMap,_SessionToolRunner_idleClock=new WeakMap,_SessionToolRunner_instances=new WeakSet,Symbol.asyncIterator)](){if(__classPrivateFieldGet(this,_SessionToolRunner_consumed,"f"))throw new AnthropicError("Cannot iterate over a consumed SessionToolRunner");__classPrivateFieldSet(this,_SessionToolRunner_consumed,!0,"f"),__classPrivateFieldGet(this,_SessionToolRunner_logger,"f").info("session tool runner starting",{component:"session-tool-runner",session_id:this.sessionId});let streamPromise=__classPrivateFieldGet(this,_SessionToolRunner_instances,"m",_SessionToolRunner_streamLoop).call(this).catch(e=>{__classPrivateFieldGet(this,_SessionToolRunner_controller,"f").signal.aborted||__classPrivateFieldGet(this,_SessionToolRunner_logger,"f").error("stream loop failed",{error:String(e)}),__classPrivateFieldGet(this,_SessionToolRunner_controller,"f").abort()});try{for(;;){let next=await __classPrivateFieldGet(this,_SessionToolRunner_results,"f").next(__classPrivateFieldGet(this,_SessionToolRunner_controller,"f").signal);if(next.done)break;yield next.value}await streamPromise;let pending;for(;(pending=__classPrivateFieldGet(this,_SessionToolRunner_results,"f").tryShift())!==void 0;)yield pending}finally{__classPrivateFieldGet(this,_SessionToolRunner_controller,"f").abort(),__classPrivateFieldGet(this,_SessionToolRunner_idleClock,"f").disarm(),await streamPromise;try{await __classPrivateFieldGet(this,_SessionToolRunner_instances,"m",_SessionToolRunner_drain).call(this)}catch(e){__classPrivateFieldGet(this,_SessionToolRunner_logger,"f").warn("drain failed",{error:String(e)})}__classPrivateFieldGet(this,_SessionToolRunner_results,"f").close();for(let t of this.tools)try{await t.close?.()}catch(e){__classPrivateFieldGet(this,_SessionToolRunner_logger,"f").warn("tool.close failed",{tool:toolName(t),error:String(e)})}__classPrivateFieldGet(this,_SessionToolRunner_detachExternal,"f").call(this)}}};_SessionToolRunner_requestOptions=function(){return{...__classPrivateFieldGet(this,_SessionToolRunner_requestOpts,"f"),headers:buildHeaders([helperHeader("session-tool-runner"),__classPrivateFieldGet(this,_SessionToolRunner_requestOpts,"f")?.headers]),signal:__classPrivateFieldGet(this,_SessionToolRunner_controller,"f").signal}},_SessionToolRunner_streamLoop=async function(){let ctrl=__classPrivateFieldGet(this,_SessionToolRunner_controller,"f"),backoff3=STREAM_BACKOFF_START_MS;for(;!ctrl.signal.aborted;){try{let stream=await this.client.beta.sessions.events.stream(this.sessionId,{},__classPrivateFieldGet(this,_SessionToolRunner_instances,"m",_SessionToolRunner_requestOptions).call(this));await __classPrivateFieldGet(this,_SessionToolRunner_instances,"m",_SessionToolRunner_reconcile).call(this);for await(let ev of stream)if(backoff3=STREAM_BACKOFF_START_MS,await __classPrivateFieldGet(this,_SessionToolRunner_instances,"m",_SessionToolRunner_handleStreamEvent).call(this,ev))return}catch(e){if(ctrl.signal.throwIfAborted(),isFatal4xx(e))throw __classPrivateFieldGet(this,_SessionToolRunner_logger,"f").error("permanent stream failure, shutting down",{error:String(e)}),ctrl.abort(),e;__classPrivateFieldGet(this,_SessionToolRunner_logger,"f").warn("stream disconnected, reconnecting",{error:String(e),backoff_ms:backoff3})}ctrl.signal.throwIfAborted(),await sleep(backoff3,ctrl.signal),backoff3=Math.min(backoff3*2,STREAM_BACKOFF_CAP_MS)}},_SessionToolRunner_reconcile=async function(){let ctrl=__classPrivateFieldGet(this,_SessionToolRunner_controller,"f"),pending=[],lastWasEndTurn=!1;try{for await(let ev of this.client.beta.sessions.events.list(this.sessionId,{limit:1e3},__classPrivateFieldGet(this,_SessionToolRunner_instances,"m",_SessionToolRunner_requestOptions).call(this)))__classPrivateFieldGet(this,_SessionToolRunner_instances,"m",_SessionToolRunner_ingestHistory).call(this,ev,pending),lastWasEndTurn=isEndTurnIdle(ev)}catch(e){ctrl.signal.throwIfAborted(),__classPrivateFieldGet(this,_SessionToolRunner_logger,"f").warn("reconcile list failed",{error:String(e)});for(let ev of pending)__classPrivateFieldGet(this,_SessionToolRunner_seen,"f").delete(ev.id);return}let unanswered=pending.filter(ev=>!__classPrivateFieldGet(this,_SessionToolRunner_answered,"f").has(ev.id));__classPrivateFieldGet(this,_SessionToolRunner_idleClock,"f").disarm();for(let ev of unanswered)await __classPrivateFieldGet(this,_SessionToolRunner_instances,"m",_SessionToolRunner_routeToolEvent).call(this,ev);for(let held of[...__classPrivateFieldGet(this,_SessionToolRunner_awaitingConfirmation,"f").values()]){let verdict=__classPrivateFieldGet(this,_SessionToolRunner_confirmationVerdicts,"f").get(held.id);verdict!==void 0&&await __classPrivateFieldGet(this,_SessionToolRunner_instances,"m",_SessionToolRunner_applyVerdict).call(this,held,verdict)}let outstanding=unanswered.filter(ev=>!__classPrivateFieldGet(this,_SessionToolRunner_answered,"f").has(ev.id)&&!__classPrivateFieldGet(this,_SessionToolRunner_awaitingConfirmation,"f").has(ev.id));lastWasEndTurn&&outstanding.length===0?__classPrivateFieldGet(this,_SessionToolRunner_idleClock,"f").arm():__classPrivateFieldGet(this,_SessionToolRunner_idleClock,"f").disarm()},_SessionToolRunner_ingestHistory=function(ev,pending){ev.type==="agent.tool_use"||ev.type==="agent.custom_tool_use"?(__classPrivateFieldGet(this,_SessionToolRunner_seen,"f").add(ev.id),__classPrivateFieldGet(this,_SessionToolRunner_answered,"f").has(ev.id)||pending.push(ev)):ev.type==="user.tool_result"?__classPrivateFieldGet(this,_SessionToolRunner_answered,"f").add(ev.tool_use_id):ev.type==="user.custom_tool_result"?__classPrivateFieldGet(this,_SessionToolRunner_answered,"f").add(ev.custom_tool_use_id):ev.type==="user.tool_confirmation"&&(__classPrivateFieldGet(this,_SessionToolRunner_answered,"f").has(ev.tool_use_id)||__classPrivateFieldGet(this,_SessionToolRunner_confirmationVerdicts,"f").set(ev.tool_use_id,ev.result))},_SessionToolRunner_handleStreamEvent=async function(ev){switch(__classPrivateFieldGet(this,_SessionToolRunner_idleClock,"f").noteEvent(ev),ev.type){case"agent.tool_use":case"agent.custom_tool_use":return __classPrivateFieldGet(this,_SessionToolRunner_seen,"f").has(ev.id)||(__classPrivateFieldGet(this,_SessionToolRunner_seen,"f").add(ev.id),await __classPrivateFieldGet(this,_SessionToolRunner_instances,"m",_SessionToolRunner_routeToolEvent).call(this,ev)),!1;case"user.tool_confirmation":return await __classPrivateFieldGet(this,_SessionToolRunner_instances,"m",_SessionToolRunner_noteConfirmation).call(this,ev),!1;case"user.tool_result":return __classPrivateFieldGet(this,_SessionToolRunner_answered,"f").add(ev.tool_use_id),!1;case"user.custom_tool_result":return __classPrivateFieldGet(this,_SessionToolRunner_answered,"f").add(ev.custom_tool_use_id),!1;case"session.status_terminated":case"session.deleted":return __classPrivateFieldGet(this,_SessionToolRunner_logger,"f").info("session terminated",{component:"session-tool-runner",session_id:this.sessionId}),__classPrivateFieldGet(this,_SessionToolRunner_controller,"f").abort(),!0;default:return!1}},_SessionToolRunner_routeToolEvent=async function(ev){let permission=ev.evaluated_permission,verdict=permission==="deny"?"deny":__classPrivateFieldGet(this,_SessionToolRunner_confirmationVerdicts,"f").get(ev.id);if(verdict===void 0){permission===void 0||permission==="allow"?await __classPrivateFieldGet(this,_SessionToolRunner_instances,"m",_SessionToolRunner_execute).call(this,ev,void 0):__classPrivateFieldGet(this,_SessionToolRunner_awaitingConfirmation,"f").has(ev.id)||(__classPrivateFieldGet(this,_SessionToolRunner_logger,"f").info("tool call awaiting confirmation; holding",{component:"session-tool-runner",session_id:this.sessionId,tool:ev.name,tool_use_id:ev.id}),__classPrivateFieldGet(this,_SessionToolRunner_awaitingConfirmation,"f").set(ev.id,ev),__classPrivateFieldGet(this,_SessionToolRunner_idleClock,"f").block(ev.id));return}await __classPrivateFieldGet(this,_SessionToolRunner_instances,"m",_SessionToolRunner_applyVerdict).call(this,ev,verdict)},_SessionToolRunner_noteConfirmation=async function(ev){__classPrivateFieldGet(this,_SessionToolRunner_confirmationVerdicts,"f").set(ev.tool_use_id,ev.result);let held=__classPrivateFieldGet(this,_SessionToolRunner_awaitingConfirmation,"f").get(ev.tool_use_id);held!==void 0&&await __classPrivateFieldGet(this,_SessionToolRunner_instances,"m",_SessionToolRunner_applyVerdict).call(this,held,ev.result)},_SessionToolRunner_applyVerdict=async function(ev,verdict){let wasHeld=__classPrivateFieldGet(this,_SessionToolRunner_awaitingConfirmation,"f").delete(ev.id);if(verdict==="allow"){__classPrivateFieldGet(this,_SessionToolRunner_logger,"f").info("tool call confirmed",{component:"session-tool-runner",session_id:this.sessionId,tool:ev.name,tool_use_id:ev.id}),wasHeld||__classPrivateFieldGet(this,_SessionToolRunner_idleClock,"f").block(ev.id);try{await __classPrivateFieldGet(this,_SessionToolRunner_instances,"m",_SessionToolRunner_execute).call(this,ev,"allow")}finally{__classPrivateFieldGet(this,_SessionToolRunner_idleClock,"f").unblock(ev.id)}return}wasHeld&&__classPrivateFieldGet(this,_SessionToolRunner_idleClock,"f").unblock(ev.id),__classPrivateFieldGet(this,_SessionToolRunner_answered,"f").add(ev.id),__classPrivateFieldGet(this,_SessionToolRunner_logger,"f").info("tool call denied; not executing",{component:"session-tool-runner",session_id:this.sessionId,tool:ev.name,tool_use_id:ev.id}),__classPrivateFieldGet(this,_SessionToolRunner_instances,"m",_SessionToolRunner_surfaceCall).call(this,{event:ev,toolUseId:ev.id,name:ev.name,isError:!1,posted:!1,confirmation:"deny"})},_SessionToolRunner_surfaceCall=function(call){__classPrivateFieldGet(this,_SessionToolRunner_results,"f").push(call)},_SessionToolRunner_execute=async function(ev,confirmation){var _a2,_b;if(!__classPrivateFieldGet(this,_SessionToolRunner_answered,"f").has(ev.id)){__classPrivateFieldGet(this,_SessionToolRunner_logger,"f").info("executing tool",{component:"session-tool-runner",session_id:this.sessionId,tool:ev.name,tool_use_id:ev.id}),__classPrivateFieldSet(this,_SessionToolRunner_inFlightCount,(_a2=__classPrivateFieldGet(this,_SessionToolRunner_inFlightCount,"f"),_a2++,_a2),"f");try{let tool=__classPrivateFieldGet(this,_SessionToolRunner_toolByName,"f").get(ev.name);if(!tool){__classPrivateFieldGet(this,_SessionToolRunner_logger,"f").info("tool not owned by this runner; leaving the tool_use_id pending for its owner",{component:"session-tool-runner",session_id:this.sessionId,tool:ev.name,tool_use_id:ev.id}),__classPrivateFieldGet(this,_SessionToolRunner_instances,"m",_SessionToolRunner_surfaceCall).call(this,{event:ev,toolUseId:ev.id,name:ev.name,isError:!1,posted:!1,confirmation});return}let content,isError,toolCtrl=new AbortController,detachTool=linkAbort(__classPrivateFieldGet(this,_SessionToolRunner_controller,"f").signal,toolCtrl),timer=setTimeout(()=>toolCtrl.abort(),TOOL_TIMEOUT_MS);try{let outcome=await runRunnableTool(tool,ev.input,{toolUse:ev,toolUseBlock:ev,signal:toolCtrl.signal});content=outcome.content,isError=outcome.isError}finally{clearTimeout(timer),detachTool()}let result=buildResultEvent(ev,isError,toSessionContent(content)),posted=await __classPrivateFieldGet(this,_SessionToolRunner_instances,"m",_SessionToolRunner_sendResult).call(this,result,ev.id);__classPrivateFieldGet(this,_SessionToolRunner_instances,"m",_SessionToolRunner_surfaceCall).call(this,{event:ev,result,toolUseId:ev.id,name:ev.name,isError,posted,confirmation})}finally{__classPrivateFieldSet(this,_SessionToolRunner_inFlightCount,(_b=__classPrivateFieldGet(this,_SessionToolRunner_inFlightCount,"f"),_b--,_b),"f"),__classPrivateFieldGet(this,_SessionToolRunner_inFlightCount,"f")===0&&__classPrivateFieldGet(this,_SessionToolRunner_onIdle,"f")?.call(this)}}},_SessionToolRunner_sendResult=async function(result,toolUseId){let ctrl=__classPrivateFieldGet(this,_SessionToolRunner_controller,"f"),start=Date.now(),lastErr,attempt=0;for(;;){attempt++,ctrl.signal.throwIfAborted();try{return await this.client.beta.sessions.events.send(this.sessionId,{events:[result]},__classPrivateFieldGet(this,_SessionToolRunner_instances,"m",_SessionToolRunner_requestOptions).call(this)),__classPrivateFieldGet(this,_SessionToolRunner_answered,"f").add(toolUseId),!0}catch(e){if(lastErr=e,isFatal4xx(e))break;let remainingMs=__classPrivateFieldGet(this,_SessionToolRunner_sendRetryWindowMs,"f")-(Date.now()-start);if(remainingMs<=0)break;let waitMs=Math.min(applyJitter(backoff(attempt-1,SEND_BACKOFF_START_MS,SEND_BACKOFF_CAP_MS)),remainingMs);__classPrivateFieldGet(this,_SessionToolRunner_logger,"f").warn("tool result send failed; retrying",{tool_use_id:toolUseId,attempt,backoff_ms:waitMs,error:String(e)}),await sleep(waitMs,ctrl.signal)}}return __classPrivateFieldGet(this,_SessionToolRunner_logger,"f").error("failed to send tool result",{tool_use_id:toolUseId,attempts:attempt,error:String(lastErr)}),!1},_SessionToolRunner_drain=async function(){__classPrivateFieldGet(this,_SessionToolRunner_inFlightCount,"f")!==0&&(await Promise.race([new Promise(r=>__classPrivateFieldSet(this,_SessionToolRunner_onIdle,r,"f")),sleep(DRAIN_TIMEOUT_MS)]),__classPrivateFieldSet(this,_SessionToolRunner_onIdle,null,"f"),__classPrivateFieldGet(this,_SessionToolRunner_inFlightCount,"f")>0&&__classPrivateFieldGet(this,_SessionToolRunner_logger,"f").warn("drain timeout exceeded"))};function buildResultEvent(ev,isError,content){return ev.type==="agent.custom_tool_use"?{type:"user.custom_tool_result",custom_tool_use_id:ev.id,is_error:isError,content}:{type:"user.tool_result",tool_use_id:ev.id,is_error:isError,content}}function toSessionContent(content){if(typeof content=="string")return[{type:"text",text:content||"(no output)"}];let out=content.map(b=>b.type==="text"?{type:"text",text:b.text||"(no output)"}:b.type==="image"||b.type==="document"?b:b.type==="search_result"?{type:"search_result",source:b.source,title:b.title,content:b.content.map(c=>({type:"text",text:c.text})),citations:{enabled:b.citations?.enabled??!1}}:{type:"text",text:JSON.stringify(b)});return out.length>0?out:[{type:"text",text:"(no output)"}]}var _EnvironmentWorker_instances,_EnvironmentWorker_signal,_EnvironmentWorker_handleItem,_Lease_ctrl,_Lease_endReason,HEARTBEAT_DEFAULT_MS=3e4,HEARTBEAT_TTL_DEFAULT_MS=9e4,NO_HEARTBEAT_SENTINEL="NO_HEARTBEAT";function hasMemoryStore(session){return session.resources.some(r=>r.type==="memory_store")}function sessionsTokenFromSecret(secret){if(!secret)return null;let parsed;try{let normalized=secret.replace(/-/g,"+").replace(/_/g,"/"),padded=normalized.padEnd(Math.ceil(normalized.length/4)*4,"=");parsed=JSON.parse(decodeUTF8(fromBase64(padded)))}catch{return null}if(parsed===null||typeof parsed!="object"||Array.isArray(parsed))return null;let token=parsed.sessions_token;return typeof token=="string"&&token!==""?token:null}var EnvironmentWorker=class{constructor(opts){if(_EnvironmentWorker_instances.add(this),_EnvironmentWorker_signal.set(this,void 0),opts.unrestrictedPaths!==void 0)throw new AnthropicError("The `unrestrictedPaths` option you passed to EnvironmentWorker (or client.beta.environments.work.worker()) is no longer supported. The worker's file tools (read, write, edit, glob, grep) are now always confined to `workdir` plus the session's memory folders. Remove `unrestrictedPaths` from your options; to let the file tools reach any other directory, add it to `AgentToolContext.allowedRoots` from a `tools` factory.");this.client=opts.client,this.environmentId=opts.environmentId,this.environmentKey=opts.environmentKey,this.tools=opts.tools,this.workdir=opts.workdir??process.cwd(),this.maxFileBytes=opts.maxFileBytes,this.maxIdleMs=opts.maxIdleMs,opts.memorySyncIntervalMs!=null&&checkMemorySyncInterval(opts.memorySyncIntervalMs,"memorySyncIntervalMs"),this.memorySyncIntervalMs=opts.memorySyncIntervalMs,this.memorySyncDeletions=opts.memorySyncDeletions??"enabled",this.workerId=opts.workerId,this.requestOptions=opts.requestOptions,__classPrivateFieldSet(this,_EnvironmentWorker_signal,opts.signal,"f")}async run(signal){let{environmentId,environmentKey}=this;if(environmentId===void 0||environmentKey===void 0)throw new AnthropicError("EnvironmentWorker.run: environmentId and environmentKey are required to poll for work");let externalSignal=signal??__classPrivateFieldGet(this,_EnvironmentWorker_signal,"f"),poller=new WorkPoller({client:this.client,environmentId,environmentKey,...this.workerId!==void 0?{workerId:this.workerId}:{},...externalSignal?{signal:externalSignal}:{},...this.requestOptions!==void 0?{requestOptions:this.requestOptions}:{},autoStop:!1});for await(let work of poller)try{await __classPrivateFieldGet(this,_EnvironmentWorker_instances,"m",_EnvironmentWorker_handleItem).call(this,work,environmentKey,poller.signal)}catch(e){if(poller.signal?.aborted)throw e;loggerFor(this.client).error("work item failed",{work_id:work.id,error:String(e)})}}async handleItem(opts){let workId=opts?.workId??readEnv("ANTHROPIC_WORK_ID"),environmentId=opts?.environmentId??readEnv("ANTHROPIC_ENVIRONMENT_ID"),sessionId=opts?.sessionId??readEnv("ANTHROPIC_SESSION_ID"),environmentKey=opts?.environmentKey??this.environmentKey??readEnv("ANTHROPIC_ENVIRONMENT_KEY"),workSecret=opts?.workSecret||readEnv("ANTHROPIC_WORK_SECRET")||null;if(!workId)throw new AnthropicError("handleItem: workId is required \u2014 pass it or set ANTHROPIC_WORK_ID");if(!environmentId)throw new AnthropicError("handleItem: environmentId is required \u2014 pass it or set ANTHROPIC_ENVIRONMENT_ID");if(!sessionId)throw new AnthropicError("handleItem: sessionId is required \u2014 pass it or set ANTHROPIC_SESSION_ID");if(!environmentKey)throw new AnthropicError("handleItem: environmentKey is required \u2014 pass it, construct the worker with it, or set ANTHROPIC_ENVIRONMENT_KEY");let work={id:workId,environment_id:environmentId,secret:workSecret,data:{type:"session",id:sessionId}};await __classPrivateFieldGet(this,_EnvironmentWorker_instances,"m",_EnvironmentWorker_handleItem).call(this,work,environmentKey,opts?.signal??__classPrivateFieldGet(this,_EnvironmentWorker_signal,"f"))}};_EnvironmentWorker_signal=new WeakMap,_EnvironmentWorker_instances=new WeakSet,_EnvironmentWorker_handleItem=async function(work,environmentKey,externalSignal){let log=loggerFor(this.client),sessionsToken=sessionsTokenFromSecret(work.secret);work.secret&&sessionsToken===null&&log.warn("work item carried a secret payload but no sessions token could be extracted; falling back to the environment key",{work_id:work.id});let itemCredential=sessionsToken??environmentKey,sessionClient=copyClientForHelper(this.client,{authToken:itemCredential,helper:"environments-worker"}),sessionId=work.data.id,ctrl=new AbortController,detachExternal=linkAbort(externalSignal,ctrl),lease=new Lease(ctrl),agentToolset=await import("./node-ZHY4LHC7.js"),leaseTtlMs,runner,heartbeatPromise=heartbeatLoop(sessionClient,work,lease,log,this.requestOptions,ttlMs=>{leaseTtlMs=ttlMs,runner?._setSendRetryWindow(ttlMs)}).catch(e=>{ctrl.signal.aborted||log.error("heartbeat loop failed",{work_id:work.id,error:String(e)}),ctrl.abort()}),cleanupSkills=async()=>{},stores,cleanEnd=!1;try{if(work.data.type!=="session"){log.debug("skipping non-session work item",{work_id:work.id,type:work.data.type});return}let session=await sessionClient.beta.sessions.retrieve(sessionId);if(sessionsToken===null&&this.memorySyncIntervalMs!==null&&hasMemoryStore(session))throw new agentToolset.SessionMemoryError(`cannot mount the session's memories: the work item carried no sessions token (work_id=${work.id}, session_id=${sessionId}); the memory endpoints reject the environment key, so the poller must issue a per-item \`secret\` carrying \`sessions_token\`, or set \`memorySyncIntervalMs: null\` to run without memory`);let ctx={workdir:this.workdir,client:sessionClient,session,...this.maxFileBytes!==void 0?{maxFileBytes:this.maxFileBytes}:{}};try{cleanupSkills=await agentToolset.setupSkills(ctx)}catch(e){log.warn("skill setup failed",{session_id:sessionId,work_id:work.id,error:String(e)})}sessionsToken!==null&&this.memorySyncIntervalMs!==null?(stores=new agentToolset.SessionMemoryStores(sessionClient,{workdir:this.workdir,...this.memorySyncIntervalMs!==void 0?{syncIntervalMs:this.memorySyncIntervalMs}:{},syncDeletions:this.memorySyncDeletions}),await stores.download(session),ctx.allowedRoots=stores.roots,ctx.readOnlyRoots=stores.readOnlyRoots):log.debug("memory stores disabled for this item",{work_id:work.id});let tools=typeof this.tools=="function"?this.tools(ctx):this.tools??agentToolset.betaAgentToolset20260401(ctx);runner=new SessionToolRunner(sessionId,{client:sessionClient,tools,...this.maxIdleMs!==void 0?{maxIdleMs:this.maxIdleMs}:{},...this.requestOptions!==void 0?{requestOptions:this.requestOptions}:{},signal:ctrl.signal}),leaseTtlMs!==void 0&&runner._setSendRetryWindow(leaseTtlMs);for await(let _ of runner)stores&&await stores.syncIfDue();cleanEnd=!ctrl.signal.aborted}finally{try{await cleanupSkills().catch(e=>{log.warn("skill cleanup failed",{session_id:sessionId,work_id:work.id,error:String(e)})})}finally{if(stores){let boundMs=agentToolset.MEMORY_FLUSH_TIMEOUT_MS;cleanEnd&&await withTimeout(stores.finish(),boundMs)&&log.warn(`final memory sync cut off after ${boundMs}ms; the flush that follows still uploads changed files`,{session_id:sessionId,work_id:work.id});let flushBound=new AbortController;await withTimeout(stores.flushWrites(flushBound.signal),boundMs)&&(flushBound.abort(),log.warn(`memory flush cut off after ${boundMs}ms; changed files it had not uploaded yet are not saved`,{session_id:sessionId,work_id:work.id})),await stores.dispose().catch(e=>{log.warn("memory store cleanup failed",{session_id:sessionId,work_id:work.id,error:String(e)})})}}lease.finish("runner_done"),detachExternal(),await heartbeatPromise,lease.lost?log.info("lease lost; released without stopping it",{session_id:sessionId,work_id:work.id}):await forceStop(sessionClient,work,log,this.requestOptions)}};async function withTimeout(p,ms){let timer;try{return await Promise.race([p.then(()=>!1,()=>!1),new Promise(resolve=>{timer=setTimeout(()=>resolve(!0),ms)})])}finally{timer!==void 0&&clearTimeout(timer)}}async function forceStop(client,work,log,requestOptions){try{await client.beta.environments.work.stop(work.id,{environment_id:work.environment_id,force:!0},{...requestOptions,headers:buildHeaders([requestOptions?.headers])})}catch(e){isStatus(e,409)||log.error("force-stop on exit failed",{work_id:work.id,error:String(e)})}}var Lease=class{constructor(ctrl){_Lease_ctrl.set(this,void 0),_Lease_endReason.set(this,void 0),__classPrivateFieldSet(this,_Lease_ctrl,ctrl,"f")}get signal(){return __classPrivateFieldGet(this,_Lease_ctrl,"f").signal}finish(reason){__classPrivateFieldSet(this,_Lease_endReason,__classPrivateFieldGet(this,_Lease_endReason,"f")??reason,"f"),__classPrivateFieldGet(this,_Lease_ctrl,"f").abort()}get lost(){return __classPrivateFieldGet(this,_Lease_endReason,"f")==="lease_lost"||__classPrivateFieldGet(this,_Lease_endReason,"f")==="assumed_lost"}};_Lease_ctrl=new WeakMap,_Lease_endReason=new WeakMap;function serverLeaseState(e){let node=e instanceof APIError?e.error:void 0;for(let key of["error","details","current_state"]){if(!isObj(node))return{};node=node[key]}return isObj(node)?node:{}}async function heartbeatLoop(client,work,lease,logger,requestOptions,onLeaseTtl){let intervalMs=HEARTBEAT_DEFAULT_MS,ttlMs=HEARTBEAT_TTL_DEFAULT_MS,lastSuccessMs=Date.now(),last=NO_HEARTBEAT_SENTINEL,beat=async()=>{let beatCtrl=new AbortController,detach=linkAbort(lease.signal,beatCtrl),cutoff=setTimeout(()=>beatCtrl.abort(),intervalMs);try{let resp=await client.beta.environments.work.heartbeat(work.id,{environment_id:work.environment_id,expected_last_heartbeat:last},{...requestOptions,headers:buildHeaders([requestOptions?.headers]),signal:beatCtrl.signal});lastSuccessMs=Date.now(),last=resp.last_heartbeat,resp.ttl_seconds>0&&(ttlMs=resp.ttl_seconds*1e3,intervalMs=Math.max(1e3,Math.min(ttlMs/2,HEARTBEAT_DEFAULT_MS)),onLeaseTtl?.(ttlMs)),(resp.state==="stopping"||resp.state==="stopped")&&(logger.info("heartbeat signals shutdown",{work_id:work.id,state:resp.state}),lease.finish("control_plane_stop")),resp.lease_extended||(logger.warn("lease not extended, shutting down",{work_id:work.id}),lease.finish("control_plane_stop"))}catch(e){if(lease.signal.throwIfAborted(),isStatus(e,412)){let server=serverLeaseState(e);logger.error("lease lost: heartbeat precondition failed",{work_id:work.id,server_state:server.state,server_ttl_seconds:server.ttl_seconds,server_last_heartbeat:server.last_heartbeat}),lease.finish("lease_lost");return}if(isFatal4xx(e))throw logger.error("permanent heartbeat failure",{work_id:work.id,error:String(e)}),lease.finish("heartbeat_rejected"),e;if(Date.now()-lastSuccessMs>ttlMs){logger.error("lease assumed lost: no successful heartbeat in ttl",{work_id:work.id,ttl_ms:ttlMs,error:String(e)}),lease.finish("assumed_lost");return}logger.warn("transient heartbeat failure",{work_id:work.id,error:String(e)})}finally{clearTimeout(cutoff),detach()}};for(await beat();!lease.signal.aborted;)await sleep(intervalMs,lease.signal),lease.signal.throwIfAborted(),await beat()}var Work=class extends APIResource{retrieve(workID,params,options){let{environment_id,betas}=params;return this._client.get(path`/v1/environments/${environment_id}/work/${workID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}update(workID,params,options){let{environment_id,betas,...body}=params;return this._client.post(path`/v1/environments/${environment_id}/work/${workID}?beta=true`,{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}list(environmentID,params={},options){let{betas,...query}=params??{};return this._client.getAPIList(path`/v1/environments/${environmentID}/work?beta=true`,PageCursor,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}ack(workID,params,options){let{environment_id,betas}=params;return this._client.post(path`/v1/environments/${environment_id}/work/${workID}/ack?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}heartbeat(workID,params,options){let{environment_id,desired_ttl_seconds,expected_last_heartbeat,betas}=params;return this._client.post(path`/v1/environments/${environment_id}/work/${workID}/heartbeat?beta=true`,{query:{desired_ttl_seconds,expected_last_heartbeat},...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}poll(environmentID,params={},options){let{betas,"Anthropic-Worker-ID":anthropicWorkerID,...query}=params??{};return this._client.get(path`/v1/environments/${environmentID}/work/poll?beta=true`,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString(),...anthropicWorkerID!=null?{"Anthropic-Worker-ID":anthropicWorkerID}:void 0},options?.headers])})}stats(environmentID,params={},options){let{betas}=params??{};return this._client.get(path`/v1/environments/${environmentID}/work/stats?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}stop(workID,params,options){let{environment_id,betas,...body}=params;return this._client.post(path`/v1/environments/${environment_id}/work/${workID}/stop?beta=true`,{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}poller(opts){return new WorkPoller({...opts,client:this._client})}worker(opts){return new EnvironmentWorker({...opts,client:this._client})}};Work.WorkPoller=WorkPoller;Work.EnvironmentWorker=EnvironmentWorker;var Environments=class extends APIResource{constructor(){super(...arguments),this.work=new Work(this._client)}create(params,options){let{betas,...body}=params;return this._client.post("/v1/environments?beta=true",{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}retrieve(environmentID,params={},options){let{betas}=params??{};return this._client.get(path`/v1/environments/${environmentID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}update(environmentID,params,options){let{betas,...body}=params;return this._client.post(path`/v1/environments/${environmentID}?beta=true`,{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}list(params={},options){let{betas,...query}=params??{};return this._client.getAPIList("/v1/environments?beta=true",PageCursor,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}delete(environmentID,params={},options){let{betas}=params??{};return this._client.delete(path`/v1/environments/${environmentID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}archive(environmentID,params={},options){let{betas}=params??{};return this._client.post(path`/v1/environments/${environmentID}/archive?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}};Environments.Work=Work;var Memories=class extends APIResource{create(memoryStoreID,params,options){let{view,betas,...body}=params;return this._client.post(path`/v1/memory_stores/${memoryStoreID}/memories?beta=true`,{query:{view},body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"agent-memory-2026-07-22"].toString()},options?.headers])})}retrieve(memoryID,params,options){let{memory_store_id,betas,...query}=params;return this._client.get(path`/v1/memory_stores/${memory_store_id}/memories/${memoryID}?beta=true`,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"agent-memory-2026-07-22"].toString()},options?.headers])})}update(memoryID,params,options){let{memory_store_id,view,betas,...body}=params;return this._client.post(path`/v1/memory_stores/${memory_store_id}/memories/${memoryID}?beta=true`,{query:{view},body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"agent-memory-2026-07-22"].toString()},options?.headers])})}list(memoryStoreID,params={},options){let{betas,...query}=params??{};return this._client.getAPIList(path`/v1/memory_stores/${memoryStoreID}/memories?beta=true`,PageCursor,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"agent-memory-2026-07-22"].toString()},options?.headers])})}delete(memoryID,params,options){let{memory_store_id,expected_content_sha256,betas}=params;return this._client.delete(path`/v1/memory_stores/${memory_store_id}/memories/${memoryID}?beta=true`,{query:{expected_content_sha256},...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"agent-memory-2026-07-22"].toString()},options?.headers])})}};var MemoryVersions=class extends APIResource{retrieve(memoryVersionID,params,options){let{memory_store_id,betas,...query}=params;return this._client.get(path`/v1/memory_stores/${memory_store_id}/memory_versions/${memoryVersionID}?beta=true`,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"agent-memory-2026-07-22"].toString()},options?.headers])})}list(memoryStoreID,params={},options){let{betas,...query}=params??{};return this._client.getAPIList(path`/v1/memory_stores/${memoryStoreID}/memory_versions?beta=true`,PageCursor,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"agent-memory-2026-07-22"].toString()},options?.headers])})}redact(memoryVersionID,params,options){let{memory_store_id,betas}=params;return this._client.post(path`/v1/memory_stores/${memory_store_id}/memory_versions/${memoryVersionID}/redact?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"agent-memory-2026-07-22"].toString()},options?.headers])})}};var MemoryStores=class extends APIResource{constructor(){super(...arguments),this.memories=new Memories(this._client),this.memoryVersions=new MemoryVersions(this._client)}create(params,options){let{betas,...body}=params;return this._client.post("/v1/memory_stores?beta=true",{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"agent-memory-2026-07-22"].toString()},options?.headers])})}retrieve(memoryStoreID,params={},options){let{betas}=params??{};return this._client.get(path`/v1/memory_stores/${memoryStoreID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"agent-memory-2026-07-22"].toString()},options?.headers])})}update(memoryStoreID,params,options){let{betas,...body}=params;return this._client.post(path`/v1/memory_stores/${memoryStoreID}?beta=true`,{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"agent-memory-2026-07-22"].toString()},options?.headers])})}list(params={},options){let{betas,...query}=params??{};return this._client.getAPIList("/v1/memory_stores?beta=true",PageCursor,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"agent-memory-2026-07-22"].toString()},options?.headers])})}delete(memoryStoreID,params={},options){let{betas}=params??{};return this._client.delete(path`/v1/memory_stores/${memoryStoreID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"agent-memory-2026-07-22"].toString()},options?.headers])})}archive(memoryStoreID,params={},options){let{betas}=params??{};return this._client.post(path`/v1/memory_stores/${memoryStoreID}/archive?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"agent-memory-2026-07-22"].toString()},options?.headers])})}};MemoryStores.Memories=Memories;MemoryStores.MemoryVersions=MemoryVersions;var JSONLDecoder=class _JSONLDecoder{constructor(iterator,controller){this.iterator=iterator,this.controller=controller}async*decoder(){let lineDecoder=new LineDecoder;for await(let chunk of this.iterator)for(let line of lineDecoder.decode(chunk))yield JSON.parse(line);for(let line of lineDecoder.flush())yield JSON.parse(line)}[Symbol.asyncIterator](){return this.decoder()}static fromResponse(response,controller){if(!response.body)throw controller.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative"?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"):new AnthropicError("Attempted to iterate over a response with no body");return new _JSONLDecoder(ReadableStreamToAsyncIterable(response.body),controller)}};var Batches=class extends APIResource{create(params,options){let{betas,user_profile_id,...body}=params;return this._client.post("/v1/messages/batches?beta=true",{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"message-batches-2024-09-24"].toString(),...user_profile_id!=null?{"anthropic-user-profile-id":user_profile_id}:void 0},options?.headers])})}retrieve(messageBatchID,params={},options){let{betas}=params??{};return this._client.get(path`/v1/messages/batches/${messageBatchID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"message-batches-2024-09-24"].toString()},options?.headers])})}list(params={},options){let{betas,...query}=params??{};return this._client.getAPIList("/v1/messages/batches?beta=true",Page,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"message-batches-2024-09-24"].toString()},options?.headers])})}delete(messageBatchID,params={},options){let{betas}=params??{};return this._client.delete(path`/v1/messages/batches/${messageBatchID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"message-batches-2024-09-24"].toString()},options?.headers])})}cancel(messageBatchID,params={},options){let{betas}=params??{};return this._client.post(path`/v1/messages/batches/${messageBatchID}/cancel?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"message-batches-2024-09-24"].toString()},options?.headers])})}async results(messageBatchID,params={},options){let batch=await this.retrieve(messageBatchID);if(!batch.results_url)throw new AnthropicError(`No batch \`results_url\`; Has it finished processing? ${batch.processing_status} - ${batch.id}`);let{betas}=params??{};return this._client.get(batch.results_url,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"message-batches-2024-09-24"].toString(),Accept:"application/binary"},options?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((_,props)=>JSONLDecoder.fromResponse(props.response,props.controller))}};var MODEL_NONSTREAMING_TOKENS={"claude-opus-4@20250514":8192,"anthropic.claude-opus-4-1-20250805-v1:0":8192,"claude-opus-4-1@20250805":8192};function getOutputFormat(params){return params?.output_format??params?.output_config?.format}function maybeParseBetaMessage(message,params,opts){let outputFormat=getOutputFormat(params);return!params||!("parse"in(outputFormat??{}))?{...message,content:message.content.map(block=>{if(block.type==="text"){let parsedBlock=Object.defineProperty({...block},"parsed_output",{value:null,enumerable:!1});return Object.defineProperty(parsedBlock,"parsed",{get(){return opts.logger.warn("The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead."),null},enumerable:!1})}return block}),parsed_output:null}:parseBetaMessage(message,params,opts)}function parseBetaMessage(message,params,opts){let firstParsedOutput=null,content=message.content.map(block=>{if(block.type==="text"){let parsedOutput=parseBetaOutputFormat(params,block.text);firstParsedOutput===null&&(firstParsedOutput=parsedOutput);let parsedBlock=Object.defineProperty({...block},"parsed_output",{value:parsedOutput,enumerable:!1});return Object.defineProperty(parsedBlock,"parsed",{get(){return opts.logger.warn("The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead."),parsedOutput},enumerable:!1})}return block});return{...message,content,parsed_output:firstParsedOutput}}function parseBetaOutputFormat(params,content){let outputFormat=getOutputFormat(params);if(outputFormat?.type!=="json_schema")return null;try{return"parse"in outputFormat?outputFormat.parse(content):JSON.parse(content)}catch(error){throw new AnthropicError(`Failed to parse structured output: ${error}`)}}var tokenize=input=>{let current=0,tokens=[];for(;current<input.length;){let char=input[current];if(char==="\\"){current++;continue}if(char==="{"){tokens.push({type:"brace",value:"{"}),current++;continue}if(char==="}"){tokens.push({type:"brace",value:"}"}),current++;continue}if(char==="["){tokens.push({type:"paren",value:"["}),current++;continue}if(char==="]"){tokens.push({type:"paren",value:"]"}),current++;continue}if(char===":"){tokens.push({type:"separator",value:":"}),current++;continue}if(char===","){tokens.push({type:"delimiter",value:","}),current++;continue}if(char==='"'){let value="",danglingQuote=!1;for(char=input[++current];char!=='"';){if(current===input.length){danglingQuote=!0;break}if(char==="\\"){if(current++,current===input.length){danglingQuote=!0;break}value+=char+input[current],char=input[++current]}else value+=char,char=input[++current]}char=input[++current],danglingQuote||tokens.push({type:"string",value});continue}if(char&&/\s/.test(char)){current++;continue}let NUMBERS=/[0-9]/;if(char&&NUMBERS.test(char)||char==="-"||char==="."){let value="";for(char==="-"&&(value+=char,char=input[++current]);char&&(NUMBERS.test(char)||char==="."||char==="e"||char==="E"||(char==="-"||char==="+")&&(value[value.length-1]==="e"||value[value.length-1]==="E"));)value+=char,char=input[++current];tokens.push({type:"number",value});continue}let LETTERS=/[a-z]/i;if(char&&LETTERS.test(char)){let value="";for(;char&&LETTERS.test(char)&¤t!==input.length;)value+=char,char=input[++current];if(value=="true"||value=="false"||value==="null")tokens.push({type:"name",value});else{current++;continue}continue}current++}return tokens},strip=tokens=>{if(tokens.length===0)return tokens;let lastToken=tokens[tokens.length-1];switch(lastToken.type){case"separator":return tokens=tokens.slice(0,tokens.length-1),strip(tokens);break;case"number":let lastCharacterOfLastToken=lastToken.value[lastToken.value.length-1];if(lastCharacterOfLastToken==="."||lastCharacterOfLastToken==="-"||lastCharacterOfLastToken==="+"||lastCharacterOfLastToken==="e"||lastCharacterOfLastToken==="E")return tokens=tokens.slice(0,tokens.length-1),strip(tokens);case"string":let tokenBeforeTheLastToken=tokens[tokens.length-2];if(tokenBeforeTheLastToken?.type==="delimiter")return tokens=tokens.slice(0,tokens.length-1),strip(tokens);if(tokenBeforeTheLastToken?.type==="brace"&&tokenBeforeTheLastToken.value==="{")return tokens=tokens.slice(0,tokens.length-1),strip(tokens);break;case"delimiter":return tokens=tokens.slice(0,tokens.length-1),strip(tokens);break}return tokens},unstrip=tokens=>{let tail=[];return tokens.map(token=>{token.type==="brace"&&(token.value==="{"?tail.push("}"):tail.splice(tail.lastIndexOf("}"),1)),token.type==="paren"&&(token.value==="["?tail.push("]"):tail.splice(tail.lastIndexOf("]"),1))}),tail.length>0&&tail.reverse().map(item=>{item==="}"?tokens.push({type:"brace",value:"}"}):item==="]"&&tokens.push({type:"paren",value:"]"})}),tokens},generate=tokens=>{let output="";return tokens.map(token=>{token.type==="string"?output+='"'+token.value+'"':output+=token.value}),output},partialParse=input=>JSON.parse(generate(unstrip(strip(tokenize(input)))));var JSON_BUF_PROPERTY="__json_buf";function withLazyInput(prev,jsonBuf){let next={};for(let key of Object.keys(prev))key!=="input"&&(next[key]=prev[key]);Object.defineProperty(next,JSON_BUF_PROPERTY,{value:jsonBuf,enumerable:!1,writable:!0});let input,parsed=!1;return Object.defineProperty(next,"input",{enumerable:!0,configurable:!0,get(){return parsed||(input=jsonBuf?partialParse(jsonBuf):{},parsed=!0),input}}),next}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_workspace_id,_BetaMessageStream_logger,_BetaMessageStream_getFinalMessage,_BetaMessageStream_getFinalText,_BetaMessageStream_handleError,_BetaMessageStream_beginRequest,_BetaMessageStream_addStreamEvent,_BetaMessageStream_endRequest,_BetaMessageStream_accumulateMessage,_BetaMessageStream_toolInputParseError;function tracksToolInput(content){return content.type==="tool_use"||content.type==="server_tool_use"||content.type==="mcp_tool_use"}var BetaMessageStream=class _BetaMessageStream{constructor(params,opts){_BetaMessageStream_instances.add(this),this.messages=[],this.receivedMessages=[],_BetaMessageStream_currentMessageSnapshot.set(this,void 0),_BetaMessageStream_params.set(this,null),this.controller=new AbortController,_BetaMessageStream_connectedPromise.set(this,void 0),_BetaMessageStream_resolveConnectedPromise.set(this,()=>{}),_BetaMessageStream_rejectConnectedPromise.set(this,()=>{}),_BetaMessageStream_endPromise.set(this,void 0),_BetaMessageStream_resolveEndPromise.set(this,()=>{}),_BetaMessageStream_rejectEndPromise.set(this,()=>{}),_BetaMessageStream_listeners.set(this,{}),_BetaMessageStream_ended.set(this,!1),_BetaMessageStream_errored.set(this,!1),_BetaMessageStream_aborted.set(this,!1),_BetaMessageStream_catchingPromiseCreated.set(this,!1),_BetaMessageStream_response.set(this,void 0),_BetaMessageStream_request_id.set(this,void 0),_BetaMessageStream_workspace_id.set(this,void 0),_BetaMessageStream_logger.set(this,void 0),_BetaMessageStream_handleError.set(this,error=>{if(__classPrivateFieldSet(this,_BetaMessageStream_errored,!0,"f"),isAbortError(error)&&(error=new APIUserAbortError),error instanceof APIUserAbortError)return __classPrivateFieldSet(this,_BetaMessageStream_aborted,!0,"f"),this._emit("abort",error);if(error instanceof AnthropicError)return this._emit("error",error);if(error instanceof Error){let anthropicError=new AnthropicError(error.message);return anthropicError.cause=error,this._emit("error",anthropicError)}return this._emit("error",new AnthropicError(String(error)))}),__classPrivateFieldSet(this,_BetaMessageStream_connectedPromise,new Promise((resolve,reject)=>{__classPrivateFieldSet(this,_BetaMessageStream_resolveConnectedPromise,resolve,"f"),__classPrivateFieldSet(this,_BetaMessageStream_rejectConnectedPromise,reject,"f")}),"f"),__classPrivateFieldSet(this,_BetaMessageStream_endPromise,new Promise((resolve,reject)=>{__classPrivateFieldSet(this,_BetaMessageStream_resolveEndPromise,resolve,"f"),__classPrivateFieldSet(this,_BetaMessageStream_rejectEndPromise,reject,"f")}),"f"),__classPrivateFieldGet(this,_BetaMessageStream_connectedPromise,"f").catch(()=>{}),__classPrivateFieldGet(this,_BetaMessageStream_endPromise,"f").catch(()=>{}),__classPrivateFieldSet(this,_BetaMessageStream_params,params,"f"),__classPrivateFieldSet(this,_BetaMessageStream_logger,opts?.logger??console,"f")}get response(){return __classPrivateFieldGet(this,_BetaMessageStream_response,"f")}get request_id(){return __classPrivateFieldGet(this,_BetaMessageStream_request_id,"f")}get workspace_id(){return __classPrivateFieldGet(this,_BetaMessageStream_workspace_id,"f")}async withResponse(){__classPrivateFieldSet(this,_BetaMessageStream_catchingPromiseCreated,!0,"f");let response=await __classPrivateFieldGet(this,_BetaMessageStream_connectedPromise,"f");if(!response)throw new Error("Could not resolve a `Response` object");return{data:this,response,request_id:response.headers.get("request-id"),workspace_id:response.headers.get("anthropic-workspace-id")}}static fromReadableStream(stream){let runner=new _BetaMessageStream(null);return runner._run(()=>runner._fromReadableStream(stream)),runner}static createMessage(messages,params,options,{logger}={}){let runner=new _BetaMessageStream(params,{logger});for(let message of params.messages)runner._addMessageParam(message);return __classPrivateFieldSet(runner,_BetaMessageStream_params,{...params,stream:!0},"f"),runner._run(()=>runner._createMessage(messages,{...params,stream:!0},{...options,headers:{...options?.headers,[STAINLESS_HELPER_METHOD_HEADER]:"stream"}})),runner}_run(executor){executor().then(()=>{this._emitFinal(),this._emit("end")},__classPrivateFieldGet(this,_BetaMessageStream_handleError,"f"))}_addMessageParam(message){this.messages.push(message)}_addMessage(message,emit=!0){this.receivedMessages.push(message),emit&&this._emit("message",message)}async _createMessage(messages,params,options){let signal=options?.signal,abortHandler;signal&&(signal.aborted&&this.controller.abort(),abortHandler=this.controller.abort.bind(this.controller),signal.addEventListener("abort",abortHandler));try{__classPrivateFieldGet(this,_BetaMessageStream_instances,"m",_BetaMessageStream_beginRequest).call(this);let{response,data:stream}=await messages.create({...params,stream:!0},{...options,signal:this.controller.signal}).withResponse();this._connected(response);for await(let event of stream)__classPrivateFieldGet(this,_BetaMessageStream_instances,"m",_BetaMessageStream_addStreamEvent).call(this,event);if(stream.controller.signal?.aborted)throw new APIUserAbortError;__classPrivateFieldGet(this,_BetaMessageStream_instances,"m",_BetaMessageStream_endRequest).call(this)}finally{signal&&abortHandler&&signal.removeEventListener("abort",abortHandler)}}_connected(response){this.ended||(__classPrivateFieldSet(this,_BetaMessageStream_response,response,"f"),__classPrivateFieldSet(this,_BetaMessageStream_request_id,response?.headers.get("request-id"),"f"),__classPrivateFieldSet(this,_BetaMessageStream_workspace_id,response?.headers.get("anthropic-workspace-id"),"f"),__classPrivateFieldGet(this,_BetaMessageStream_resolveConnectedPromise,"f").call(this,response),this._emit("connect"))}get ended(){return __classPrivateFieldGet(this,_BetaMessageStream_ended,"f")}get errored(){return __classPrivateFieldGet(this,_BetaMessageStream_errored,"f")}get aborted(){return __classPrivateFieldGet(this,_BetaMessageStream_aborted,"f")}abort(){this.controller.abort()}on(event,listener){return(__classPrivateFieldGet(this,_BetaMessageStream_listeners,"f")[event]||(__classPrivateFieldGet(this,_BetaMessageStream_listeners,"f")[event]=[])).push({listener}),this}off(event,listener){let listeners=__classPrivateFieldGet(this,_BetaMessageStream_listeners,"f")[event];if(!listeners)return this;let index=listeners.findIndex(l=>l.listener===listener);return index>=0&&listeners.splice(index,1),this}once(event,listener){return(__classPrivateFieldGet(this,_BetaMessageStream_listeners,"f")[event]||(__classPrivateFieldGet(this,_BetaMessageStream_listeners,"f")[event]=[])).push({listener,once:!0}),this}emitted(event){return new Promise((resolve,reject)=>{__classPrivateFieldSet(this,_BetaMessageStream_catchingPromiseCreated,!0,"f"),event!=="error"&&this.once("error",reject),this.once(event,resolve)})}async done(){__classPrivateFieldSet(this,_BetaMessageStream_catchingPromiseCreated,!0,"f"),await __classPrivateFieldGet(this,_BetaMessageStream_endPromise,"f")}get currentMessage(){return __classPrivateFieldGet(this,_BetaMessageStream_currentMessageSnapshot,"f")}async finalMessage(){return await this.done(),__classPrivateFieldGet(this,_BetaMessageStream_instances,"m",_BetaMessageStream_getFinalMessage).call(this)}async finalText(){return await this.done(),__classPrivateFieldGet(this,_BetaMessageStream_instances,"m",_BetaMessageStream_getFinalText).call(this)}_emit(event,...args){if(__classPrivateFieldGet(this,_BetaMessageStream_ended,"f"))return;event==="end"&&(__classPrivateFieldSet(this,_BetaMessageStream_ended,!0,"f"),__classPrivateFieldGet(this,_BetaMessageStream_resolveEndPromise,"f").call(this));let listeners=__classPrivateFieldGet(this,_BetaMessageStream_listeners,"f")[event];if(listeners&&(__classPrivateFieldGet(this,_BetaMessageStream_listeners,"f")[event]=listeners.filter(l=>!l.once),listeners.forEach(({listener})=>listener(...args))),event==="abort"){let error=args[0];!__classPrivateFieldGet(this,_BetaMessageStream_catchingPromiseCreated,"f")&&!listeners?.length&&Promise.reject(error),__classPrivateFieldGet(this,_BetaMessageStream_rejectConnectedPromise,"f").call(this,error),__classPrivateFieldGet(this,_BetaMessageStream_rejectEndPromise,"f").call(this,error),this._emit("end");return}if(event==="error"){let error=args[0];!__classPrivateFieldGet(this,_BetaMessageStream_catchingPromiseCreated,"f")&&!listeners?.length&&Promise.reject(error),__classPrivateFieldGet(this,_BetaMessageStream_rejectConnectedPromise,"f").call(this,error),__classPrivateFieldGet(this,_BetaMessageStream_rejectEndPromise,"f").call(this,error),this._emit("end")}}_emitFinal(){this.receivedMessages.at(-1)&&this._emit("finalMessage",__classPrivateFieldGet(this,_BetaMessageStream_instances,"m",_BetaMessageStream_getFinalMessage).call(this))}async _fromReadableStream(readableStream,options){let signal=options?.signal,abortHandler;signal&&(signal.aborted&&this.controller.abort(),abortHandler=this.controller.abort.bind(this.controller),signal.addEventListener("abort",abortHandler));try{__classPrivateFieldGet(this,_BetaMessageStream_instances,"m",_BetaMessageStream_beginRequest).call(this),this._connected(null);let stream=Stream.fromReadableStream(readableStream,this.controller);for await(let event of stream)__classPrivateFieldGet(this,_BetaMessageStream_instances,"m",_BetaMessageStream_addStreamEvent).call(this,event);if(stream.controller.signal?.aborted)throw new APIUserAbortError;__classPrivateFieldGet(this,_BetaMessageStream_instances,"m",_BetaMessageStream_endRequest).call(this)}finally{signal&&abortHandler&&signal.removeEventListener("abort",abortHandler)}}[(_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_workspace_id=new WeakMap,_BetaMessageStream_logger=new WeakMap,_BetaMessageStream_handleError=new WeakMap,_BetaMessageStream_instances=new WeakSet,_BetaMessageStream_getFinalMessage=function(){if(this.receivedMessages.length===0)throw new AnthropicError("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},_BetaMessageStream_getFinalText=function(){if(this.receivedMessages.length===0)throw new AnthropicError("stream ended without producing a Message with role=assistant");let textBlocks=this.receivedMessages.at(-1).content.filter(block=>block.type==="text").map(block=>block.text);if(textBlocks.length===0)throw new AnthropicError("stream ended without producing a content block with type=text");return textBlocks.join(" ")},_BetaMessageStream_beginRequest=function(){this.ended||__classPrivateFieldSet(this,_BetaMessageStream_currentMessageSnapshot,void 0,"f")},_BetaMessageStream_addStreamEvent=function(event){if(this.ended)return;let messageSnapshot=__classPrivateFieldGet(this,_BetaMessageStream_instances,"m",_BetaMessageStream_accumulateMessage).call(this,event);switch(this._emit("streamEvent",event,messageSnapshot),event.type){case"content_block_delta":{let content=messageSnapshot.content.at(-1);switch(event.delta.type){case"text_delta":{content.type==="text"&&this._emit("text",event.delta.text,content.text||"");break}case"citations_delta":{content.type==="text"&&this._emit("citation",event.delta.citation,content.citations??[]);break}case"input_json_delta":{if(tracksToolInput(content)&&__classPrivateFieldGet(this,_BetaMessageStream_listeners,"f").inputJson?.length){let jsonSnapshot;try{jsonSnapshot=content.input}catch(err){__classPrivateFieldGet(this,_BetaMessageStream_handleError,"f").call(this,__classPrivateFieldGet(this,_BetaMessageStream_instances,"m",_BetaMessageStream_toolInputParseError).call(this,content,err));break}this._emit("inputJson",event.delta.partial_json,jsonSnapshot)}break}case"thinking_delta":{content.type==="thinking"&&this._emit("thinking",event.delta.thinking,content.thinking);break}case"signature_delta":{content.type==="thinking"&&this._emit("signature",content.signature);break}case"compaction_delta":{content.type==="compaction"&&content.content&&this._emit("compaction",content.content);break}default:event.delta}break}case"message_stop":{this._addMessageParam(messageSnapshot),this._addMessage(maybeParseBetaMessage(messageSnapshot,__classPrivateFieldGet(this,_BetaMessageStream_params,"f"),{logger:__classPrivateFieldGet(this,_BetaMessageStream_logger,"f")}),!0);break}case"content_block_stop":{this._emit("contentBlock",messageSnapshot.content.at(-1));break}case"message_start":{__classPrivateFieldSet(this,_BetaMessageStream_currentMessageSnapshot,messageSnapshot,"f");break}case"content_block_start":case"message_delta":break}},_BetaMessageStream_endRequest=function(){if(this.ended)throw new AnthropicError("stream has ended, this shouldn't happen");let snapshot=__classPrivateFieldGet(this,_BetaMessageStream_currentMessageSnapshot,"f");if(!snapshot)throw new AnthropicError("request ended without sending any chunks");return __classPrivateFieldSet(this,_BetaMessageStream_currentMessageSnapshot,void 0,"f"),maybeParseBetaMessage(snapshot,__classPrivateFieldGet(this,_BetaMessageStream_params,"f"),{logger:__classPrivateFieldGet(this,_BetaMessageStream_logger,"f")})},_BetaMessageStream_accumulateMessage=function(event){let snapshot=__classPrivateFieldGet(this,_BetaMessageStream_currentMessageSnapshot,"f");if(event.type==="message_start"){if(snapshot)throw new AnthropicError(`Unexpected event order, got ${event.type} before receiving "message_stop"`);return event.message}if(!snapshot)throw new AnthropicError(`Unexpected event order, got ${event.type} before "message_start"`);switch(event.type){case"message_stop":return snapshot;case"message_delta":return snapshot.stop_reason=event.delta.stop_reason,snapshot.stop_sequence=event.delta.stop_sequence,snapshot.stop_details=event.delta.stop_details,snapshot.usage.output_tokens=event.usage.output_tokens,event.delta.container!=null&&(snapshot.container=event.delta.container),event.context_management!=null&&(snapshot.context_management=event.context_management),event.usage.input_tokens!=null&&(snapshot.usage.input_tokens=event.usage.input_tokens),event.usage.cache_creation_input_tokens!=null&&(snapshot.usage.cache_creation_input_tokens=event.usage.cache_creation_input_tokens),event.usage.cache_read_input_tokens!=null&&(snapshot.usage.cache_read_input_tokens=event.usage.cache_read_input_tokens),event.usage.server_tool_use!=null&&(snapshot.usage.server_tool_use=event.usage.server_tool_use),event.usage.iterations!=null&&(snapshot.usage.iterations=event.usage.iterations),event.usage.fallback_credit!=null&&(snapshot.usage.fallback_credit=event.usage.fallback_credit),event.usage.output_tokens_details!=null&&(snapshot.usage.output_tokens_details=event.usage.output_tokens_details),snapshot;case"content_block_start":return snapshot.content.push(event.content_block),event.content_block.type==="fallback"&&(snapshot.model=event.content_block.to.model),snapshot;case"content_block_delta":{let snapshotContent=snapshot.content.at(event.index);switch(event.delta.type){case"text_delta":{snapshotContent?.type==="text"&&(snapshot.content[event.index]={...snapshotContent,text:(snapshotContent.text||"")+event.delta.text});break}case"citations_delta":{snapshotContent?.type==="text"&&(snapshot.content[event.index]={...snapshotContent,citations:[...snapshotContent.citations??[],event.delta.citation]});break}case"input_json_delta":{if(snapshotContent&&tracksToolInput(snapshotContent)){let jsonBuf=(snapshotContent[JSON_BUF_PROPERTY]||"")+event.delta.partial_json;snapshot.content[event.index]=withLazyInput(snapshotContent,jsonBuf)}break}case"thinking_delta":{snapshotContent?.type==="thinking"&&(snapshot.content[event.index]={...snapshotContent,thinking:snapshotContent.thinking+event.delta.thinking});break}case"signature_delta":{snapshotContent?.type==="thinking"&&(snapshot.content[event.index]={...snapshotContent,signature:event.delta.signature});break}case"compaction_delta":{snapshotContent?.type==="compaction"&&(snapshot.content[event.index]={...snapshotContent,content:(snapshotContent.content||"")+event.delta.content,encrypted_content:event.delta.encrypted_content});break}default:event.delta}return snapshot}case"content_block_stop":{let snapshotContent=snapshot.content.at(event.index);if(snapshotContent&&tracksToolInput(snapshotContent)&&JSON_BUF_PROPERTY in snapshotContent){let input;try{input=snapshotContent.input}catch(err){input={},__classPrivateFieldGet(this,_BetaMessageStream_handleError,"f").call(this,__classPrivateFieldGet(this,_BetaMessageStream_instances,"m",_BetaMessageStream_toolInputParseError).call(this,snapshotContent,err))}Object.defineProperty(snapshotContent,"input",{value:input,enumerable:!0,configurable:!0,writable:!0})}return snapshot}}},_BetaMessageStream_toolInputParseError=function(block,err){let jsonBuf=block[JSON_BUF_PROPERTY];return new AnthropicError(`Unable to parse tool parameter JSON from model. Please retry your request or adjust your prompt. Error: ${err}. JSON: ${jsonBuf}`)},Symbol.asyncIterator)](){let pushQueue=[],readQueue=[],done=!1;return this.on("streamEvent",event=>{let reader=readQueue.shift();reader?reader.resolve(event):pushQueue.push(event)}),this.on("end",()=>{done=!0;for(let reader of readQueue)reader.resolve(void 0);readQueue.length=0}),this.on("abort",err=>{done=!0;for(let reader of readQueue)reader.reject(err);readQueue.length=0}),this.on("error",err=>{done=!0;for(let reader of readQueue)reader.reject(err);readQueue.length=0}),{next:async()=>pushQueue.length?{value:pushQueue.shift(),done:!1}:done?{value:void 0,done:!0}:new Promise((resolve,reject)=>readQueue.push({resolve,reject})).then(chunk2=>chunk2?{value:chunk2,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new Stream(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}};var 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:
|
|
11
|
+
1. Task Overview
|
|
12
|
+
The user's core request and success criteria
|
|
13
|
+
Any clarifications or constraints they specified
|
|
14
|
+
2. Current State
|
|
15
|
+
What has been completed so far
|
|
16
|
+
Files created, modified, or analyzed (with paths if relevant)
|
|
17
|
+
Key outputs or artifacts produced
|
|
18
|
+
3. Important Discoveries
|
|
19
|
+
Technical constraints or requirements uncovered
|
|
20
|
+
Decisions made and their rationale
|
|
21
|
+
Errors encountered and how they were resolved
|
|
22
|
+
What approaches were tried that didn't work (and why)
|
|
23
|
+
4. Next Steps
|
|
24
|
+
Specific actions needed to complete the task
|
|
25
|
+
Any blockers or open questions to resolve
|
|
26
|
+
Priority order if multiple steps remain
|
|
27
|
+
5. Context to Preserve
|
|
28
|
+
User preferences or style requirements
|
|
29
|
+
Domain-specific details that aren't obvious
|
|
30
|
+
Any promises made to the user
|
|
31
|
+
Be concise but complete\u2014err 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.
|
|
32
|
+
Wrap your summary in <summary></summary> tags.`;var _BetaToolRunner_instances,_BetaToolRunner_consumed,_BetaToolRunner_mutated,_BetaToolRunner_state,_BetaToolRunner_options,_BetaToolRunner_message,_BetaToolRunner_toolResponse,_BetaToolRunner_completion,_BetaToolRunner_iterationCount,_BetaToolRunner_checkAndCompact,_BetaToolRunner_generateToolResponse,BetaToolRunner=class{constructor(client,params,options){_BetaToolRunner_instances.add(this),this.client=client,_BetaToolRunner_consumed.set(this,!1),_BetaToolRunner_mutated.set(this,!1),_BetaToolRunner_state.set(this,void 0),_BetaToolRunner_options.set(this,void 0),_BetaToolRunner_message.set(this,void 0),_BetaToolRunner_toolResponse.set(this,void 0),_BetaToolRunner_completion.set(this,void 0),_BetaToolRunner_iterationCount.set(this,0),__classPrivateFieldSet(this,_BetaToolRunner_state,{params:{...params,messages:structuredClone(params.messages)}},"f");let collected=collectStainlessHelpers(params.tools,params.messages);__classPrivateFieldSet(this,_BetaToolRunner_options,{...options,headers:buildHeaders([helperHeader("BetaToolRunner"),collected.length?{[STAINLESS_HELPER_HEADER]:collected.join(", ")}:void 0,options?.headers])},"f"),__classPrivateFieldSet(this,_BetaToolRunner_completion,promiseWithResolvers(),"f"),params.compactionControl?.enabled&&console.warn('Anthropic: The `compactionControl` parameter is deprecated and will be removed in a future version. Use server-side compaction instead by passing `edits: [{ type: "compact_20260112" }]` in the params passed to `toolRunner()`. See https://platform.claude.com/docs/en/build-with-claude/compaction')}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(){let compactionControl=__classPrivateFieldGet(this,_BetaToolRunner_state,"f").params.compactionControl;if(!compactionControl||!compactionControl.enabled)return!1;let tokensUsed=0;if(__classPrivateFieldGet(this,_BetaToolRunner_message,"f")!==void 0)try{let message=await __classPrivateFieldGet(this,_BetaToolRunner_message,"f");tokensUsed=message.usage.input_tokens+(message.usage.cache_creation_input_tokens??0)+(message.usage.cache_read_input_tokens??0)+message.usage.output_tokens}catch{return!1}let threshold=compactionControl.contextTokenThreshold??1e5;if(tokensUsed<threshold)return!1;let model=compactionControl.model??__classPrivateFieldGet(this,_BetaToolRunner_state,"f").params.model,summaryPrompt=compactionControl.summaryPrompt??DEFAULT_SUMMARY_PROMPT,messages=__classPrivateFieldGet(this,_BetaToolRunner_state,"f").params.messages;if(messages[messages.length-1].role==="assistant"){let lastMessage=messages[messages.length-1];if(Array.isArray(lastMessage.content)){let nonToolBlocks=lastMessage.content.filter(block=>block.type!=="tool_use");nonToolBlocks.length===0?messages.pop():lastMessage.content=nonToolBlocks}}let response=await this.client.beta.messages.create({model,messages:[...messages,{role:"user",content:[{type:"text",text:summaryPrompt}]}],max_tokens:__classPrivateFieldGet(this,_BetaToolRunner_state,"f").params.max_tokens},{signal:__classPrivateFieldGet(this,_BetaToolRunner_options,"f").signal,headers:buildHeaders([__classPrivateFieldGet(this,_BetaToolRunner_options,"f").headers,helperHeader("compaction")])});if(response.content[0]?.type!=="text")throw new AnthropicError("Expected text response for compaction");return __classPrivateFieldGet(this,_BetaToolRunner_state,"f").params.messages=[{role:"user",content:response.content}],!0},Symbol.asyncIterator)](){var _a2;if(__classPrivateFieldGet(this,_BetaToolRunner_consumed,"f"))throw new AnthropicError("Cannot iterate over a consumed stream");__classPrivateFieldSet(this,_BetaToolRunner_consumed,!0,"f"),__classPrivateFieldSet(this,_BetaToolRunner_mutated,!0,"f"),__classPrivateFieldSet(this,_BetaToolRunner_toolResponse,void 0,"f");try{for(;;){let stream;try{if(__classPrivateFieldGet(this,_BetaToolRunner_state,"f").params.max_iterations&&__classPrivateFieldGet(this,_BetaToolRunner_iterationCount,"f")>=__classPrivateFieldGet(this,_BetaToolRunner_state,"f").params.max_iterations)break;__classPrivateFieldSet(this,_BetaToolRunner_mutated,!1,"f"),__classPrivateFieldSet(this,_BetaToolRunner_toolResponse,void 0,"f"),__classPrivateFieldSet(this,_BetaToolRunner_iterationCount,(_a2=__classPrivateFieldGet(this,_BetaToolRunner_iterationCount,"f"),_a2++,_a2),"f"),__classPrivateFieldSet(this,_BetaToolRunner_message,void 0,"f");let{max_iterations,compactionControl,...params}=__classPrivateFieldGet(this,_BetaToolRunner_state,"f").params;if(params.stream?(stream=this.client.beta.messages.stream({...params},__classPrivateFieldGet(this,_BetaToolRunner_options,"f")),__classPrivateFieldSet(this,_BetaToolRunner_message,stream.finalMessage(),"f"),__classPrivateFieldGet(this,_BetaToolRunner_message,"f").catch(()=>{}),yield stream):(__classPrivateFieldSet(this,_BetaToolRunner_message,this.client.beta.messages.create({...params,stream:!1},__classPrivateFieldGet(this,_BetaToolRunner_options,"f")),"f"),yield __classPrivateFieldGet(this,_BetaToolRunner_message,"f")),!await __classPrivateFieldGet(this,_BetaToolRunner_instances,"m",_BetaToolRunner_checkAndCompact).call(this)){if(!__classPrivateFieldGet(this,_BetaToolRunner_mutated,"f")){let message=await __classPrivateFieldGet(this,_BetaToolRunner_message,"f"),nextStep=determineNextStepFromStopReason(message.stop_reason);__classPrivateFieldGet(this,_BetaToolRunner_state,"f").params.messages.push({role:message.role,content:message.content});let{container}=__classPrivateFieldGet(this,_BetaToolRunner_state,"f").params;if(message.container&&(container==null?__classPrivateFieldGet(this,_BetaToolRunner_state,"f").params.container=message.container.id:typeof container=="object"&&container.id==null&&(__classPrivateFieldGet(this,_BetaToolRunner_state,"f").params.container={...container,id:message.container.id})),nextStep==="stop")break;if(nextStep==="resume")continue}let toolMessage=await __classPrivateFieldGet(this,_BetaToolRunner_instances,"m",_BetaToolRunner_generateToolResponse).call(this,__classPrivateFieldGet(this,_BetaToolRunner_state,"f").params.messages.at(-1));if(toolMessage)__classPrivateFieldGet(this,_BetaToolRunner_state,"f").params.messages.push(toolMessage);else if(!__classPrivateFieldGet(this,_BetaToolRunner_mutated,"f"))break}}finally{stream&&stream.abort()}}if(!__classPrivateFieldGet(this,_BetaToolRunner_message,"f"))throw new AnthropicError("ToolRunner concluded without a message from the server");__classPrivateFieldGet(this,_BetaToolRunner_completion,"f").resolve(await __classPrivateFieldGet(this,_BetaToolRunner_message,"f"))}catch(error){throw __classPrivateFieldSet(this,_BetaToolRunner_consumed,!1,"f"),__classPrivateFieldGet(this,_BetaToolRunner_completion,"f").promise.catch(()=>{}),__classPrivateFieldGet(this,_BetaToolRunner_completion,"f").reject(error),__classPrivateFieldSet(this,_BetaToolRunner_completion,promiseWithResolvers(),"f"),error}}setMessagesParams(paramsOrMutator){typeof paramsOrMutator=="function"?__classPrivateFieldGet(this,_BetaToolRunner_state,"f").params=paramsOrMutator(__classPrivateFieldGet(this,_BetaToolRunner_state,"f").params):__classPrivateFieldGet(this,_BetaToolRunner_state,"f").params=paramsOrMutator,__classPrivateFieldSet(this,_BetaToolRunner_mutated,!0,"f"),__classPrivateFieldSet(this,_BetaToolRunner_toolResponse,void 0,"f")}setRequestOptions(optionsOrMutator){typeof optionsOrMutator=="function"?__classPrivateFieldSet(this,_BetaToolRunner_options,optionsOrMutator(__classPrivateFieldGet(this,_BetaToolRunner_options,"f")),"f"):__classPrivateFieldSet(this,_BetaToolRunner_options,{...__classPrivateFieldGet(this,_BetaToolRunner_options,"f"),...optionsOrMutator},"f")}async generateToolResponse(signal=__classPrivateFieldGet(this,_BetaToolRunner_options,"f").signal){let message=await __classPrivateFieldGet(this,_BetaToolRunner_message,"f")??this.params.messages.at(-1);return message?__classPrivateFieldGet(this,_BetaToolRunner_instances,"m",_BetaToolRunner_generateToolResponse).call(this,message,signal):null}done(){return __classPrivateFieldGet(this,_BetaToolRunner_completion,"f").promise}async runUntilDone(){if(!__classPrivateFieldGet(this,_BetaToolRunner_consumed,"f"))for await(let _ of this);return this.done()}get params(){return __classPrivateFieldGet(this,_BetaToolRunner_state,"f").params}pushMessages(...messages){this.setMessagesParams(params=>({...params,messages:[...params.messages,...messages]}))}then(onfulfilled,onrejected){return this.runUntilDone().then(onfulfilled,onrejected)}};_BetaToolRunner_generateToolResponse=async function(lastMessage,signal=__classPrivateFieldGet(this,_BetaToolRunner_options,"f").signal){return __classPrivateFieldGet(this,_BetaToolRunner_toolResponse,"f")!==void 0?__classPrivateFieldGet(this,_BetaToolRunner_toolResponse,"f"):(__classPrivateFieldSet(this,_BetaToolRunner_toolResponse,generateToolResponse(__classPrivateFieldGet(this,_BetaToolRunner_state,"f").params,lastMessage,{...__classPrivateFieldGet(this,_BetaToolRunner_options,"f"),signal}),"f"),__classPrivateFieldGet(this,_BetaToolRunner_toolResponse,"f"))};async function generateToolResponse(params,lastMessage=params.messages.at(-1),requestOptions){if(!lastMessage||lastMessage.role!=="assistant"||!lastMessage.content||typeof lastMessage.content=="string")return null;let toolUseBlocks=lastMessage.content.filter(content=>content.type==="tool_use");if(toolUseBlocks.length===0)return null;let available=availableToolNames(params);return{role:"user",content:await Promise.all(toolUseBlocks.map(async toolUse=>{let tool=params.tools.find(t=>("name"in t?t.name:"mcp_server_name"in t?t.mcp_server_name:t.type)===toolUse.name);if(!tool||!("run"in tool)||!available.has(toolUse.name))return toolNotFoundResult(toolUse);try{let input=toolUse.input;"parse"in tool&&tool.parse&&(input=tool.parse(input));let result=await tool.run(input,{toolUse,toolUseBlock:toolUse,signal:requestOptions?.signal});return{type:"tool_result",tool_use_id:toolUse.id,content:result}}catch(error){return{type:"tool_result",tool_use_id:toolUse.id,content:error instanceof ToolError?error.content:`Error: ${error instanceof Error?error.message:String(error)}`,is_error:!0}}}))}}function toolNotFoundResult(toolUse){return{type:"tool_result",tool_use_id:toolUse.id,content:`Error: Tool '${toolUse.name}' not found`,is_error:!0}}function availableToolNames(params){let available=new Set;for(let tool of params.tools)"run"in tool&&available.add(tool.name);for(let message of params.messages)if(!(message.role!=="system"||typeof message.content=="string"))for(let block of message.content)applyToolChange(block,available);return available}function applyToolChange(block,available){switch(block.type){case"tool_removal":case"tool_addition":applyToolReference(block,available);break}}function applyToolReference(block,available){let name=referencedToolName(block.tool);name!==void 0&&(block.type==="tool_removal"?available.delete(name):available.add(name))}function referencedToolName(ref){if(ref.type==="tool_reference")return ref.name}function determineNextStepFromStopReason(stopReason){if(stopReason===null)return"stop";switch(stopReason){case"tool_use":return"run_tools";case"pause_turn":case"compaction":return"resume";case"end_turn":case"stop_sequence":case"max_tokens":case"model_context_window_exceeded":case"refusal":return"stop";default:return"stop"}}var DEPRECATED_MODELS={},MODELS_TO_WARN_WITH_THINKING_ENABLED=["claude-mythos-preview","claude-opus-4-6"],Messages=class extends APIResource{constructor(){super(...arguments),this.batches=new Batches(this._client)}create(params,options){let modifiedParams=transformOutputFormat(params),{betas,user_profile_id,...body}=modifiedParams;body.model in DEPRECATED_MODELS&&console.warn(`The model '${body.model}' is deprecated and will reach end-of-life on ${DEPRECATED_MODELS[body.model]}
|
|
33
|
+
Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`),MODELS_TO_WARN_WITH_THINKING_ENABLED.includes(body.model)&&body.thinking&&body.thinking.type==="enabled"&&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`);let timeout=options?.timeout??this._client._options.timeout;if(!body.stream&&timeout==null){let maxNonstreamingTokens=MODEL_NONSTREAMING_TOKENS[body.model]??void 0;timeout=this._client.calculateNonstreamingTimeout(body.max_tokens,maxNonstreamingTokens)}let helperHeader2=stainlessHelperHeader(body.tools,body.messages);return this._client.post("/v1/messages?beta=true",{body,timeout:timeout??6e5,...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0,...user_profile_id!=null?{"anthropic-user-profile-id":user_profile_id}:void 0},helperHeader2,options?.headers]),stream:modifiedParams.stream??!1})}parse(params,options){return options={...options,headers:buildHeaders([{"anthropic-beta":[...params.betas??[],"structured-outputs-2025-12-15"].toString()},options?.headers])},this.create(params,options).then(message=>parseBetaMessage(message,params,{logger:this._client.logger??console}))}stream(body,options){return BetaMessageStream.createMessage(this,body,options)}countTokens(params,options){let modifiedParams=transformOutputFormat(params),{betas,user_profile_id,...body}=modifiedParams;return this._client.post("/v1/messages/count_tokens?beta=true",{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"token-counting-2024-11-01"].toString(),...user_profile_id!=null?{"anthropic-user-profile-id":user_profile_id}:void 0},options?.headers])})}toolRunner(body,options){return new BetaToolRunner(this._client,body,options)}};function transformOutputFormat(params){if(!params.output_format)return params;if(params.output_config?.format)throw new AnthropicError("Both output_format and output_config.format were provided. Please use only output_config.format (output_format is deprecated).");let{output_format,...rest}=params;return{...rest,output_config:{...params.output_config,format:output_format}}}Messages.Batches=Batches;Messages.BetaToolRunner=BetaToolRunner;Messages.ToolError=ToolError;var APIKeys=class extends APIResource{retrieve(apiKeyID,options){return this._client.get(path`/v1/organizations/api_keys/${apiKeyID}?beta=true`,options)}update(apiKeyID,body,options){return this._client.post(path`/v1/organizations/api_keys/${apiKeyID}?beta=true`,{body,...options})}list(query={},options){return this._client.getAPIList("/v1/organizations/api_keys?beta=true",Page,{query,...options})}};var ExternalKeys=class extends APIResource{create(body,options){return this._client.post("/v1/organizations/external_keys?beta=true",{body,...options})}retrieve(externalKeyID,options){return this._client.get(path`/v1/organizations/external_keys/${externalKeyID}?beta=true`,options)}update(externalKeyID,body,options){return this._client.post(path`/v1/organizations/external_keys/${externalKeyID}?beta=true`,{body,...options})}list(query={},options){return this._client.getAPIList("/v1/organizations/external_keys?beta=true",PageCursor,{query,...options})}delete(externalKeyID,options){return this._client.delete(path`/v1/organizations/external_keys/${externalKeyID}?beta=true`,options)}validate(externalKeyID,options){return this._client.post(path`/v1/organizations/external_keys/${externalKeyID}/validate?beta=true`,options)}};var Invites=class extends APIResource{create(body,options){return this._client.post("/v1/organizations/invites?beta=true",{body,...options})}retrieve(inviteID,options){return this._client.get(path`/v1/organizations/invites/${inviteID}?beta=true`,options)}list(query={},options){return this._client.getAPIList("/v1/organizations/invites?beta=true",Page,{query,...options})}delete(inviteID,options){return this._client.delete(path`/v1/organizations/invites/${inviteID}?beta=true`,options)}};var RateLimits=class extends APIResource{list(query={},options){return this._client.getAPIList("/v1/organizations/rate_limits?beta=true",PageCursor,{query,...options})}};var Users=class extends APIResource{retrieve(userID,options){return this._client.get(path`/v1/organizations/users/${userID}?beta=true`,options)}update(userID,body,options){return this._client.post(path`/v1/organizations/users/${userID}?beta=true`,{body,...options})}list(query={},options){return this._client.getAPIList("/v1/organizations/users?beta=true",Page,{query,...options})}remove(userID,options){return this._client.delete(path`/v1/organizations/users/${userID}?beta=true`,options)}};var Issuers=class extends APIResource{create(params,options){let{betas,...body}=params;return this._client.post("/v1/organizations/federation_issuers?beta=true",{body,...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}retrieve(federationIssuerID,params={},options){let{betas}=params??{};return this._client.get(path`/v1/organizations/federation_issuers/${federationIssuerID}?beta=true`,{...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}update(federationIssuerID,params,options){let{betas,...body}=params;return this._client.post(path`/v1/organizations/federation_issuers/${federationIssuerID}?beta=true`,{body,...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}list(params={},options){let{betas,...query}=params??{};return this._client.getAPIList("/v1/organizations/federation_issuers?beta=true",PageCursor,{query,...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}archive(federationIssuerID,params={},options){let{betas}=params??{};return this._client.post(path`/v1/organizations/federation_issuers/${federationIssuerID}/archive?beta=true`,{...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}};var Workspaces=class extends APIResource{list(federationRuleID,params={},options){let{betas,...query}=params??{};return this._client.getAPIList(path`/v1/organizations/federation_rules/${federationRuleID}/workspaces?beta=true`,PageCursor,{query,...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}add(federationRuleID,params,options){let{betas,...body}=params;return this._client.post(path`/v1/organizations/federation_rules/${federationRuleID}/workspaces?beta=true`,{body,...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}remove(workspaceID,params,options){let{federation_rule_id,betas}=params;return this._client.delete(path`/v1/organizations/federation_rules/${federation_rule_id}/workspaces/${workspaceID}?beta=true`,{...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}};var Rules=class extends APIResource{constructor(){super(...arguments),this.workspaces=new Workspaces(this._client)}create(params,options){let{betas,...body}=params;return this._client.post("/v1/organizations/federation_rules?beta=true",{body,...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}retrieve(federationRuleID,params={},options){let{betas}=params??{};return this._client.get(path`/v1/organizations/federation_rules/${federationRuleID}?beta=true`,{...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}update(federationRuleID,params,options){let{betas,...body}=params;return this._client.post(path`/v1/organizations/federation_rules/${federationRuleID}?beta=true`,{body,...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}list(params={},options){let{betas,...query}=params??{};return this._client.getAPIList("/v1/organizations/federation_rules?beta=true",PageCursor,{query,...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}archive(federationRuleID,params={},options){let{betas}=params??{};return this._client.post(path`/v1/organizations/federation_rules/${federationRuleID}/archive?beta=true`,{...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}};Rules.Workspaces=Workspaces;var Federation=class extends APIResource{constructor(){super(...arguments),this.issuers=new Issuers(this._client),this.rules=new Rules(this._client)}};Federation.Issuers=Issuers;Federation.Rules=Rules;var Workspaces2=class extends APIResource{list(serviceAccountID,params={},options){let{betas,...query}=params??{};return this._client.getAPIList(path`/v1/organizations/service_accounts/${serviceAccountID}/workspaces?beta=true`,PageCursor,{query,...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}add(serviceAccountID,params,options){let{betas,...body}=params;return this._client.post(path`/v1/organizations/service_accounts/${serviceAccountID}/workspaces?beta=true`,{body,...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}remove(workspaceID,params,options){let{service_account_id,betas}=params;return this._client.delete(path`/v1/organizations/service_accounts/${service_account_id}/workspaces/${workspaceID}?beta=true`,{...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}};var ServiceAccounts=class extends APIResource{constructor(){super(...arguments),this.workspaces=new Workspaces2(this._client)}create(params,options){let{betas,...body}=params;return this._client.post("/v1/organizations/service_accounts?beta=true",{body,...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}retrieve(serviceAccountID,params={},options){let{betas}=params??{};return this._client.get(path`/v1/organizations/service_accounts/${serviceAccountID}?beta=true`,{...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}update(serviceAccountID,params,options){let{betas,...body}=params;return this._client.post(path`/v1/organizations/service_accounts/${serviceAccountID}?beta=true`,{body,...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}list(params={},options){let{betas,...query}=params??{};return this._client.getAPIList("/v1/organizations/service_accounts?beta=true",PageCursor,{query,...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}archive(serviceAccountID,params={},options){let{betas}=params??{};return this._client.post(path`/v1/organizations/service_accounts/${serviceAccountID}/archive?beta=true`,{...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}};ServiceAccounts.Workspaces=Workspaces2;var Members=class extends APIResource{retrieve(userID,params,options){let{workspace_id}=params;return this._client.get(path`/v1/organizations/workspaces/${workspace_id}/members/${userID}?beta=true`,options)}update(userID,params,options){let{workspace_id,...body}=params;return this._client.post(path`/v1/organizations/workspaces/${workspace_id}/members/${userID}?beta=true`,{body,...options})}list(workspaceID,query={},options){return this._client.getAPIList(path`/v1/organizations/workspaces/${workspaceID}/members?beta=true`,Page,{query,...options})}add(workspaceID,body,options){return this._client.post(path`/v1/organizations/workspaces/${workspaceID}/members?beta=true`,{body,...options})}remove(userID,params,options){let{workspace_id}=params;return this._client.delete(path`/v1/organizations/workspaces/${workspace_id}/members/${userID}?beta=true`,options)}};var RateLimits2=class extends APIResource{list(workspaceID,query={},options){return this._client.getAPIList(path`/v1/organizations/workspaces/${workspaceID}/rate_limits?beta=true`,PageCursor,{query,...options})}};var ServiceAccounts2=class extends APIResource{retrieve(serviceAccountID,params,options){let{workspace_id,betas}=params;return this._client.get(path`/v1/organizations/workspaces/${workspace_id}/service_accounts/${serviceAccountID}?beta=true`,{...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}update(serviceAccountID,params,options){let{workspace_id,betas,...body}=params;return this._client.post(path`/v1/organizations/workspaces/${workspace_id}/service_accounts/${serviceAccountID}?beta=true`,{body,...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}list(workspaceID,params={},options){let{betas,...query}=params??{};return this._client.getAPIList(path`/v1/organizations/workspaces/${workspaceID}/service_accounts?beta=true`,PageCursor,{query,...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}add(workspaceID,params,options){let{betas,...body}=params;return this._client.post(path`/v1/organizations/workspaces/${workspaceID}/service_accounts?beta=true`,{body,...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}remove(serviceAccountID,params,options){let{workspace_id,betas}=params;return this._client.delete(path`/v1/organizations/workspaces/${workspace_id}/service_accounts/${serviceAccountID}?beta=true`,{...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}};var Workspaces3=class extends APIResource{constructor(){super(...arguments),this.rateLimits=new RateLimits2(this._client),this.members=new Members(this._client),this.serviceAccounts=new ServiceAccounts2(this._client)}create(params,options){let{betas,...body}=params;return this._client.post("/v1/organizations/workspaces?beta=true",{body,...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}retrieve(workspaceID,options){return this._client.get(path`/v1/organizations/workspaces/${workspaceID}?beta=true`,options)}update(workspaceID,body,options){return this._client.post(path`/v1/organizations/workspaces/${workspaceID}?beta=true`,{body,...options})}list(query={},options){return this._client.getAPIList("/v1/organizations/workspaces?beta=true",Page,{query,...options})}archive(workspaceID,options){return this._client.post(path`/v1/organizations/workspaces/${workspaceID}/archive?beta=true`,options)}};Workspaces3.RateLimits=RateLimits2;Workspaces3.Members=Members;Workspaces3.ServiceAccounts=ServiceAccounts2;var Organization=class extends APIResource{constructor(){super(...arguments),this.apiKeys=new APIKeys(this._client),this.externalKeys=new ExternalKeys(this._client),this.federation=new Federation(this._client),this.invites=new Invites(this._client),this.serviceAccounts=new ServiceAccounts(this._client),this.users=new Users(this._client),this.workspaces=new Workspaces3(this._client),this.rateLimits=new RateLimits(this._client)}retrieve(options){return this._client.get("/v1/organizations/me?beta=true",options)}};Organization.APIKeys=APIKeys;Organization.ExternalKeys=ExternalKeys;Organization.Federation=Federation;Organization.Invites=Invites;Organization.ServiceAccounts=ServiceAccounts;Organization.Users=Users;Organization.Workspaces=Workspaces3;Organization.RateLimits=RateLimits;var Events=class extends APIResource{list(sessionID,params={},options){let{betas,...query}=params??{};return this._client.getAPIList(path`/v1/sessions/${sessionID}/events?beta=true`,PageCursor,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}send(sessionID,params,options){let{betas,...body}=params;return this._client.post(path`/v1/sessions/${sessionID}/events?beta=true`,{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}stream(sessionID,params={},options){let{betas,...query}=params??{};return this._client.get(path`/v1/sessions/${sessionID}/events/stream?beta=true`,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers]),stream:!0})}toolRunner(sessionID,opts){return new SessionToolRunner(sessionID,{...opts,client:this._client})}};Events.SessionToolRunner=SessionToolRunner;var Resources=class extends APIResource{retrieve(resourceID,params,options){let{session_id,betas}=params;return this._client.get(path`/v1/sessions/${session_id}/resources/${resourceID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}update(resourceID,params,options){let{session_id,betas,...body}=params;return this._client.post(path`/v1/sessions/${session_id}/resources/${resourceID}?beta=true`,{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}list(sessionID,params={},options){let{betas,...query}=params??{};return this._client.getAPIList(path`/v1/sessions/${sessionID}/resources?beta=true`,PageCursor,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}delete(resourceID,params,options){let{session_id,betas}=params;return this._client.delete(path`/v1/sessions/${session_id}/resources/${resourceID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}add(sessionID,params,options){let{betas,...body}=params;return this._client.post(path`/v1/sessions/${sessionID}/resources?beta=true`,{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}};var Events2=class extends APIResource{list(threadID,params,options){let{session_id,betas,...query}=params;return this._client.getAPIList(path`/v1/sessions/${session_id}/threads/${threadID}/events?beta=true`,PageCursor,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}stream(threadID,params,options){let{session_id,betas,...query}=params;return this._client.get(path`/v1/sessions/${session_id}/threads/${threadID}/stream?beta=true`,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers]),stream:!0})}};var Threads=class extends APIResource{constructor(){super(...arguments),this.events=new Events2(this._client)}retrieve(threadID,params,options){let{session_id,betas}=params;return this._client.get(path`/v1/sessions/${session_id}/threads/${threadID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}list(sessionID,params={},options){let{betas,...query}=params??{};return this._client.getAPIList(path`/v1/sessions/${sessionID}/threads?beta=true`,PageCursor,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}archive(threadID,params,options){let{session_id,betas}=params;return this._client.post(path`/v1/sessions/${session_id}/threads/${threadID}/archive?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}};Threads.Events=Events2;var Sessions=class extends APIResource{constructor(){super(...arguments),this.events=new Events(this._client),this.resources=new Resources(this._client),this.threads=new Threads(this._client)}create(params,options){let{betas,...body}=params;return this._client.post("/v1/sessions?beta=true",{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}retrieve(sessionID,params={},options){let{betas}=params??{};return this._client.get(path`/v1/sessions/${sessionID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}update(sessionID,params,options){let{betas,...body}=params;return this._client.post(path`/v1/sessions/${sessionID}?beta=true`,{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}list(params={},options){let{betas,...query}=params??{};return this._client.getAPIList("/v1/sessions?beta=true",BidirectionalPageCursor,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}delete(sessionID,params={},options){let{betas}=params??{};return this._client.delete(path`/v1/sessions/${sessionID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}archive(sessionID,params={},options){let{betas}=params??{};return this._client.post(path`/v1/sessions/${sessionID}/archive?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}};Sessions.Events=Events;Sessions.Resources=Resources;Sessions.Threads=Threads;var Versions2=class extends APIResource{create(skillID,params,options){let{betas,...body}=params;return this._client.post(path`/v1/skills/${skillID}/versions?beta=true`,multipartFormRequestOptions({body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"skills-2025-10-02"].toString()},options?.headers])},this._client,!1))}retrieve(version,params,options){let{skill_id,betas}=params;return this._client.get(path`/v1/skills/${skill_id}/versions/${version}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"skills-2025-10-02"].toString()},options?.headers])})}list(skillID,params={},options){let{betas,...query}=params??{};return this._client.getAPIList(path`/v1/skills/${skillID}/versions?beta=true`,PageCursor,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"skills-2025-10-02"].toString()},options?.headers])})}delete(version,params,options){let{skill_id,betas}=params;return this._client.delete(path`/v1/skills/${skill_id}/versions/${version}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"skills-2025-10-02"].toString()},options?.headers])})}download(version,params,options){let{skill_id,betas}=params;return this._client.get(path`/v1/skills/${skill_id}/versions/${version}/content?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"skills-2025-10-02"].toString(),Accept:"application/binary"},options?.headers]),__binaryResponse:!0})}};var Skills=class extends APIResource{constructor(){super(...arguments),this.versions=new Versions2(this._client)}create(params,options){let{betas,...body}=params;return this._client.post("/v1/skills?beta=true",multipartFormRequestOptions({body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"skills-2025-10-02"].toString()},options?.headers])},this._client,!1))}retrieve(skillID,params={},options){let{betas}=params??{};return this._client.get(path`/v1/skills/${skillID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"skills-2025-10-02"].toString()},options?.headers])})}list(params={},options){let{betas,...query}=params??{};return this._client.getAPIList("/v1/skills?beta=true",PageCursor,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"skills-2025-10-02"].toString()},options?.headers])})}delete(skillID,params={},options){let{betas}=params??{};return this._client.delete(path`/v1/skills/${skillID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"skills-2025-10-02"].toString()},options?.headers])})}};Skills.Versions=Versions2;var Certificates=class extends APIResource{create(tunnelID,params,options){let{betas,...body}=params;return this._client.post(path`/v1/tunnels/${tunnelID}/certificates?beta=true`,{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"mcp-tunnels-2026-06-22"].toString()},options?.headers])})}retrieve(certificateID,params,options){let{tunnel_id,betas}=params;return this._client.get(path`/v1/tunnels/${tunnel_id}/certificates/${certificateID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"mcp-tunnels-2026-06-22"].toString()},options?.headers])})}list(tunnelID,params={},options){let{betas,...query}=params??{};return this._client.getAPIList(path`/v1/tunnels/${tunnelID}/certificates?beta=true`,PageCursor,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"mcp-tunnels-2026-06-22"].toString()},options?.headers])})}archive(certificateID,params,options){let{tunnel_id,betas}=params;return this._client.post(path`/v1/tunnels/${tunnel_id}/certificates/${certificateID}/archive?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"mcp-tunnels-2026-06-22"].toString()},options?.headers])})}};var Tunnels=class extends APIResource{constructor(){super(...arguments),this.certificates=new Certificates(this._client)}create(params,options){let{betas,...body}=params;return this._client.post("/v1/tunnels?beta=true",{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"mcp-tunnels-2026-06-22"].toString()},options?.headers])})}retrieve(tunnelID,params={},options){let{betas}=params??{};return this._client.get(path`/v1/tunnels/${tunnelID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"mcp-tunnels-2026-06-22"].toString()},options?.headers])})}list(params={},options){let{betas,...query}=params??{};return this._client.getAPIList("/v1/tunnels?beta=true",PageCursor,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"mcp-tunnels-2026-06-22"].toString()},options?.headers])})}archive(tunnelID,params={},options){let{betas}=params??{};return this._client.post(path`/v1/tunnels/${tunnelID}/archive?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"mcp-tunnels-2026-06-22"].toString()},options?.headers])})}revealToken(tunnelID,params={},options){let{betas}=params??{};return this._client.post(path`/v1/tunnels/${tunnelID}/reveal_token?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"mcp-tunnels-2026-06-22"].toString()},options?.headers])})}rotateToken(tunnelID,params,options){let{betas,...body}=params;return this._client.post(path`/v1/tunnels/${tunnelID}/rotate_token?beta=true`,{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"mcp-tunnels-2026-06-22"].toString()},options?.headers])})}};Tunnels.Certificates=Certificates;var Credentials=class extends APIResource{create(vaultID,params,options){let{betas,...body}=params;return this._client.post(path`/v1/vaults/${vaultID}/credentials?beta=true`,{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}retrieve(credentialID,params,options){let{vault_id,betas}=params;return this._client.get(path`/v1/vaults/${vault_id}/credentials/${credentialID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}update(credentialID,params,options){let{vault_id,betas,...body}=params;return this._client.post(path`/v1/vaults/${vault_id}/credentials/${credentialID}?beta=true`,{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}list(vaultID,params={},options){let{betas,...query}=params??{};return this._client.getAPIList(path`/v1/vaults/${vaultID}/credentials?beta=true`,PageCursor,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}delete(credentialID,params,options){let{vault_id,betas}=params;return this._client.delete(path`/v1/vaults/${vault_id}/credentials/${credentialID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}archive(credentialID,params,options){let{vault_id,betas}=params;return this._client.post(path`/v1/vaults/${vault_id}/credentials/${credentialID}/archive?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}mcpOAuthValidate(credentialID,params,options){let{vault_id,betas}=params;return this._client.post(path`/v1/vaults/${vault_id}/credentials/${credentialID}/mcp_oauth_validate?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}};var Vaults=class extends APIResource{constructor(){super(...arguments),this.credentials=new Credentials(this._client)}create(params,options){let{betas,...body}=params;return this._client.post("/v1/vaults?beta=true",{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}retrieve(vaultID,params={},options){let{betas}=params??{};return this._client.get(path`/v1/vaults/${vaultID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}update(vaultID,params,options){let{betas,...body}=params;return this._client.post(path`/v1/vaults/${vaultID}?beta=true`,{body,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}list(params={},options){let{betas,...query}=params??{};return this._client.getAPIList("/v1/vaults?beta=true",PageCursor,{query,...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}delete(vaultID,params={},options){let{betas}=params??{};return this._client.delete(path`/v1/vaults/${vaultID}?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}archive(vaultID,params={},options){let{betas}=params??{};return this._client.post(path`/v1/vaults/${vaultID}/archive?beta=true`,{...options,headers:buildHeaders([{"anthropic-beta":[...betas??[],"managed-agents-2026-04-01"].toString()},options?.headers])})}};Vaults.Credentials=Credentials;var Beta=class extends APIResource{constructor(){super(...arguments),this.models=new Models(this._client),this.messages=new Messages(this._client),this.agents=new Agents(this._client),this.environments=new Environments(this._client),this.sessions=new Sessions(this._client),this.deployments=new Deployments(this._client),this.deploymentRuns=new DeploymentRuns(this._client),this.vaults=new Vaults(this._client),this.memoryStores=new MemoryStores(this._client),this.files=new Files(this._client),this.skills=new Skills(this._client),this.webhooks=new Webhooks(this._client),this.userProfiles=new UserProfiles(this._client),this.dreams=new Dreams(this._client),this.tunnels=new Tunnels(this._client),this.organization=new Organization(this._client)}};Beta.Models=Models;Beta.Messages=Messages;Beta.Agents=Agents;Beta.Environments=Environments;Beta.Sessions=Sessions;Beta.Deployments=Deployments;Beta.DeploymentRuns=DeploymentRuns;Beta.Vaults=Vaults;Beta.MemoryStores=MemoryStores;Beta.Files=Files;Beta.Skills=Skills;Beta.Webhooks=Webhooks;Beta.UserProfiles=UserProfiles;Beta.Dreams=Dreams;Beta.Tunnels=Tunnels;Beta.Organization=Organization;var Completions=class extends APIResource{create(params,options){let{betas,...body}=params;return this._client.post("/v1/complete",{body,timeout:this._client._options.timeout??6e5,...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers]),stream:params.stream??!1})}};var Files2=class extends APIResource{list(query={},options){return this._client.getAPIList("/v1/files",PageCursor,{query,...options})}delete(fileID,options){return this._client.delete(path`/v1/files/${fileID}`,options)}download(fileID,options){return this._client.get(path`/v1/files/${fileID}/content`,{...options,headers:buildHeaders([{Accept:"application/binary"},options?.headers]),__binaryResponse:!0})}retrieveMetadata(fileID,options){return this._client.get(path`/v1/files/${fileID}`,options)}upload(body,options){return this._client.post("/v1/files",multipartFormRequestOptions({body,...options,headers:buildHeaders([stainlessHelperHeaderFromFile(body.file),options?.headers])},this._client))}};function getOutputFormat2(params){return params?.output_config?.format}function maybeParseMessage(message,params,opts){let outputFormat=getOutputFormat2(params);return!params||!("parse"in(outputFormat??{}))?{...message,content:message.content.map(block=>block.type==="text"?Object.defineProperty({...block},"parsed_output",{value:null,enumerable:!1}):block),parsed_output:null}:parseMessage(message,params,opts)}function parseMessage(message,params,opts){let firstParsedOutput=null,content=message.content.map(block=>{if(block.type==="text"){let parsedOutput=parseOutputFormat(params,block.text);return firstParsedOutput===null&&(firstParsedOutput=parsedOutput),Object.defineProperty({...block},"parsed_output",{value:parsedOutput,enumerable:!1})}return block});return{...message,content,parsed_output:firstParsedOutput}}function parseOutputFormat(params,content){let outputFormat=getOutputFormat2(params);if(outputFormat?.type!=="json_schema")return null;try{return"parse"in outputFormat?outputFormat.parse(content):JSON.parse(content)}catch(error){throw new AnthropicError(`Failed to parse structured output: ${error}`)}}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_workspace_id,_MessageStream_logger,_MessageStream_getFinalMessage,_MessageStream_getFinalText,_MessageStream_handleError,_MessageStream_beginRequest,_MessageStream_addStreamEvent,_MessageStream_endRequest,_MessageStream_accumulateMessage;function tracksToolInput2(content){return content.type==="tool_use"||content.type==="server_tool_use"}var MessageStream=class _MessageStream{constructor(params,opts){_MessageStream_instances.add(this),this.messages=[],this.receivedMessages=[],_MessageStream_currentMessageSnapshot.set(this,void 0),_MessageStream_params.set(this,null),this.controller=new AbortController,_MessageStream_connectedPromise.set(this,void 0),_MessageStream_resolveConnectedPromise.set(this,()=>{}),_MessageStream_rejectConnectedPromise.set(this,()=>{}),_MessageStream_endPromise.set(this,void 0),_MessageStream_resolveEndPromise.set(this,()=>{}),_MessageStream_rejectEndPromise.set(this,()=>{}),_MessageStream_listeners.set(this,{}),_MessageStream_ended.set(this,!1),_MessageStream_errored.set(this,!1),_MessageStream_aborted.set(this,!1),_MessageStream_catchingPromiseCreated.set(this,!1),_MessageStream_response.set(this,void 0),_MessageStream_request_id.set(this,void 0),_MessageStream_workspace_id.set(this,void 0),_MessageStream_logger.set(this,void 0),_MessageStream_handleError.set(this,error=>{if(__classPrivateFieldSet(this,_MessageStream_errored,!0,"f"),isAbortError(error)&&(error=new APIUserAbortError),error instanceof APIUserAbortError)return __classPrivateFieldSet(this,_MessageStream_aborted,!0,"f"),this._emit("abort",error);if(error instanceof AnthropicError)return this._emit("error",error);if(error instanceof Error){let anthropicError=new AnthropicError(error.message);return anthropicError.cause=error,this._emit("error",anthropicError)}return this._emit("error",new AnthropicError(String(error)))}),__classPrivateFieldSet(this,_MessageStream_connectedPromise,new Promise((resolve,reject)=>{__classPrivateFieldSet(this,_MessageStream_resolveConnectedPromise,resolve,"f"),__classPrivateFieldSet(this,_MessageStream_rejectConnectedPromise,reject,"f")}),"f"),__classPrivateFieldSet(this,_MessageStream_endPromise,new Promise((resolve,reject)=>{__classPrivateFieldSet(this,_MessageStream_resolveEndPromise,resolve,"f"),__classPrivateFieldSet(this,_MessageStream_rejectEndPromise,reject,"f")}),"f"),__classPrivateFieldGet(this,_MessageStream_connectedPromise,"f").catch(()=>{}),__classPrivateFieldGet(this,_MessageStream_endPromise,"f").catch(()=>{}),__classPrivateFieldSet(this,_MessageStream_params,params,"f"),__classPrivateFieldSet(this,_MessageStream_logger,opts?.logger??console,"f")}get response(){return __classPrivateFieldGet(this,_MessageStream_response,"f")}get request_id(){return __classPrivateFieldGet(this,_MessageStream_request_id,"f")}get workspace_id(){return __classPrivateFieldGet(this,_MessageStream_workspace_id,"f")}async withResponse(){__classPrivateFieldSet(this,_MessageStream_catchingPromiseCreated,!0,"f");let response=await __classPrivateFieldGet(this,_MessageStream_connectedPromise,"f");if(!response)throw new Error("Could not resolve a `Response` object");return{data:this,response,request_id:response.headers.get("request-id"),workspace_id:response.headers.get("anthropic-workspace-id")}}static fromReadableStream(stream){let runner=new _MessageStream(null);return runner._run(()=>runner._fromReadableStream(stream)),runner}static createMessage(messages,params,options,{logger}={}){let runner=new _MessageStream(params,{logger});for(let message of params.messages)runner._addMessageParam(message);return __classPrivateFieldSet(runner,_MessageStream_params,{...params,stream:!0},"f"),runner._run(()=>runner._createMessage(messages,{...params,stream:!0},{...options,headers:{...options?.headers,[STAINLESS_HELPER_METHOD_HEADER]:"stream"}})),runner}_run(executor){executor().then(()=>{this._emitFinal(),this._emit("end")},__classPrivateFieldGet(this,_MessageStream_handleError,"f"))}_addMessageParam(message){this.messages.push(message)}_addMessage(message,emit=!0){this.receivedMessages.push(message),emit&&this._emit("message",message)}async _createMessage(messages,params,options){let signal=options?.signal,abortHandler;signal&&(signal.aborted&&this.controller.abort(),abortHandler=this.controller.abort.bind(this.controller),signal.addEventListener("abort",abortHandler));try{__classPrivateFieldGet(this,_MessageStream_instances,"m",_MessageStream_beginRequest).call(this);let{response,data:stream}=await messages.create({...params,stream:!0},{...options,signal:this.controller.signal}).withResponse();this._connected(response);for await(let event of stream)__classPrivateFieldGet(this,_MessageStream_instances,"m",_MessageStream_addStreamEvent).call(this,event);if(stream.controller.signal?.aborted)throw new APIUserAbortError;__classPrivateFieldGet(this,_MessageStream_instances,"m",_MessageStream_endRequest).call(this)}finally{signal&&abortHandler&&signal.removeEventListener("abort",abortHandler)}}_connected(response){this.ended||(__classPrivateFieldSet(this,_MessageStream_response,response,"f"),__classPrivateFieldSet(this,_MessageStream_request_id,response?.headers.get("request-id"),"f"),__classPrivateFieldSet(this,_MessageStream_workspace_id,response?.headers.get("anthropic-workspace-id"),"f"),__classPrivateFieldGet(this,_MessageStream_resolveConnectedPromise,"f").call(this,response),this._emit("connect"))}get ended(){return __classPrivateFieldGet(this,_MessageStream_ended,"f")}get errored(){return __classPrivateFieldGet(this,_MessageStream_errored,"f")}get aborted(){return __classPrivateFieldGet(this,_MessageStream_aborted,"f")}abort(){this.controller.abort()}on(event,listener){return(__classPrivateFieldGet(this,_MessageStream_listeners,"f")[event]||(__classPrivateFieldGet(this,_MessageStream_listeners,"f")[event]=[])).push({listener}),this}off(event,listener){let listeners=__classPrivateFieldGet(this,_MessageStream_listeners,"f")[event];if(!listeners)return this;let index=listeners.findIndex(l=>l.listener===listener);return index>=0&&listeners.splice(index,1),this}once(event,listener){return(__classPrivateFieldGet(this,_MessageStream_listeners,"f")[event]||(__classPrivateFieldGet(this,_MessageStream_listeners,"f")[event]=[])).push({listener,once:!0}),this}emitted(event){return new Promise((resolve,reject)=>{__classPrivateFieldSet(this,_MessageStream_catchingPromiseCreated,!0,"f"),event!=="error"&&this.once("error",reject),this.once(event,resolve)})}async done(){__classPrivateFieldSet(this,_MessageStream_catchingPromiseCreated,!0,"f"),await __classPrivateFieldGet(this,_MessageStream_endPromise,"f")}get currentMessage(){return __classPrivateFieldGet(this,_MessageStream_currentMessageSnapshot,"f")}async finalMessage(){return await this.done(),__classPrivateFieldGet(this,_MessageStream_instances,"m",_MessageStream_getFinalMessage).call(this)}async finalText(){return await this.done(),__classPrivateFieldGet(this,_MessageStream_instances,"m",_MessageStream_getFinalText).call(this)}_emit(event,...args){if(__classPrivateFieldGet(this,_MessageStream_ended,"f"))return;event==="end"&&(__classPrivateFieldSet(this,_MessageStream_ended,!0,"f"),__classPrivateFieldGet(this,_MessageStream_resolveEndPromise,"f").call(this));let listeners=__classPrivateFieldGet(this,_MessageStream_listeners,"f")[event];if(listeners&&(__classPrivateFieldGet(this,_MessageStream_listeners,"f")[event]=listeners.filter(l=>!l.once),listeners.forEach(({listener})=>listener(...args))),event==="abort"){let error=args[0];!__classPrivateFieldGet(this,_MessageStream_catchingPromiseCreated,"f")&&!listeners?.length&&Promise.reject(error),__classPrivateFieldGet(this,_MessageStream_rejectConnectedPromise,"f").call(this,error),__classPrivateFieldGet(this,_MessageStream_rejectEndPromise,"f").call(this,error),this._emit("end");return}if(event==="error"){let error=args[0];!__classPrivateFieldGet(this,_MessageStream_catchingPromiseCreated,"f")&&!listeners?.length&&Promise.reject(error),__classPrivateFieldGet(this,_MessageStream_rejectConnectedPromise,"f").call(this,error),__classPrivateFieldGet(this,_MessageStream_rejectEndPromise,"f").call(this,error),this._emit("end")}}_emitFinal(){this.receivedMessages.at(-1)&&this._emit("finalMessage",__classPrivateFieldGet(this,_MessageStream_instances,"m",_MessageStream_getFinalMessage).call(this))}async _fromReadableStream(readableStream,options){let signal=options?.signal,abortHandler;signal&&(signal.aborted&&this.controller.abort(),abortHandler=this.controller.abort.bind(this.controller),signal.addEventListener("abort",abortHandler));try{__classPrivateFieldGet(this,_MessageStream_instances,"m",_MessageStream_beginRequest).call(this),this._connected(null);let stream=Stream.fromReadableStream(readableStream,this.controller);for await(let event of stream)__classPrivateFieldGet(this,_MessageStream_instances,"m",_MessageStream_addStreamEvent).call(this,event);if(stream.controller.signal?.aborted)throw new APIUserAbortError;__classPrivateFieldGet(this,_MessageStream_instances,"m",_MessageStream_endRequest).call(this)}finally{signal&&abortHandler&&signal.removeEventListener("abort",abortHandler)}}[(_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_workspace_id=new WeakMap,_MessageStream_logger=new WeakMap,_MessageStream_handleError=new WeakMap,_MessageStream_instances=new WeakSet,_MessageStream_getFinalMessage=function(){if(this.receivedMessages.length===0)throw new AnthropicError("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},_MessageStream_getFinalText=function(){if(this.receivedMessages.length===0)throw new AnthropicError("stream ended without producing a Message with role=assistant");let textBlocks=this.receivedMessages.at(-1).content.filter(block=>block.type==="text").map(block=>block.text);if(textBlocks.length===0)throw new AnthropicError("stream ended without producing a content block with type=text");return textBlocks.join(" ")},_MessageStream_beginRequest=function(){this.ended||__classPrivateFieldSet(this,_MessageStream_currentMessageSnapshot,void 0,"f")},_MessageStream_addStreamEvent=function(event){if(this.ended)return;let messageSnapshot=__classPrivateFieldGet(this,_MessageStream_instances,"m",_MessageStream_accumulateMessage).call(this,event);switch(this._emit("streamEvent",event,messageSnapshot),event.type){case"content_block_delta":{let content=messageSnapshot.content.at(-1);switch(event.delta.type){case"text_delta":{content.type==="text"&&this._emit("text",event.delta.text,content.text||"");break}case"citations_delta":{content.type==="text"&&this._emit("citation",event.delta.citation,content.citations??[]);break}case"input_json_delta":{tracksToolInput2(content)&&__classPrivateFieldGet(this,_MessageStream_listeners,"f").inputJson?.length&&this._emit("inputJson",event.delta.partial_json,content.input);break}case"thinking_delta":{content.type==="thinking"&&this._emit("thinking",event.delta.thinking,content.thinking);break}case"signature_delta":{content.type==="thinking"&&this._emit("signature",content.signature);break}default:event.delta}break}case"message_stop":{this._addMessageParam(messageSnapshot),this._addMessage(maybeParseMessage(messageSnapshot,__classPrivateFieldGet(this,_MessageStream_params,"f"),{logger:__classPrivateFieldGet(this,_MessageStream_logger,"f")}),!0);break}case"content_block_stop":{this._emit("contentBlock",messageSnapshot.content.at(-1));break}case"message_start":{__classPrivateFieldSet(this,_MessageStream_currentMessageSnapshot,messageSnapshot,"f");break}case"content_block_start":case"message_delta":break}},_MessageStream_endRequest=function(){if(this.ended)throw new AnthropicError("stream has ended, this shouldn't happen");let snapshot=__classPrivateFieldGet(this,_MessageStream_currentMessageSnapshot,"f");if(!snapshot)throw new AnthropicError("request ended without sending any chunks");return __classPrivateFieldSet(this,_MessageStream_currentMessageSnapshot,void 0,"f"),maybeParseMessage(snapshot,__classPrivateFieldGet(this,_MessageStream_params,"f"),{logger:__classPrivateFieldGet(this,_MessageStream_logger,"f")})},_MessageStream_accumulateMessage=function(event){let snapshot=__classPrivateFieldGet(this,_MessageStream_currentMessageSnapshot,"f");if(event.type==="message_start"){if(snapshot)throw new AnthropicError(`Unexpected event order, got ${event.type} before receiving "message_stop"`);return event.message}if(!snapshot)throw new AnthropicError(`Unexpected event order, got ${event.type} before "message_start"`);switch(event.type){case"message_stop":return snapshot;case"message_delta":return snapshot.stop_reason=event.delta.stop_reason,snapshot.stop_sequence=event.delta.stop_sequence,snapshot.stop_details=event.delta.stop_details,snapshot.usage.output_tokens=event.usage.output_tokens,event.delta.container!=null&&(snapshot.container=event.delta.container),event.usage.input_tokens!=null&&(snapshot.usage.input_tokens=event.usage.input_tokens),event.usage.cache_creation_input_tokens!=null&&(snapshot.usage.cache_creation_input_tokens=event.usage.cache_creation_input_tokens),event.usage.cache_read_input_tokens!=null&&(snapshot.usage.cache_read_input_tokens=event.usage.cache_read_input_tokens),event.usage.server_tool_use!=null&&(snapshot.usage.server_tool_use=event.usage.server_tool_use),event.usage.output_tokens_details!=null&&(snapshot.usage.output_tokens_details=event.usage.output_tokens_details),snapshot;case"content_block_start":return snapshot.content.push({...event.content_block}),snapshot;case"content_block_delta":{let snapshotContent=snapshot.content.at(event.index);switch(event.delta.type){case"text_delta":{snapshotContent?.type==="text"&&(snapshot.content[event.index]={...snapshotContent,text:(snapshotContent.text||"")+event.delta.text});break}case"citations_delta":{snapshotContent?.type==="text"&&(snapshot.content[event.index]={...snapshotContent,citations:[...snapshotContent.citations??[],event.delta.citation]});break}case"input_json_delta":{if(snapshotContent&&tracksToolInput2(snapshotContent)){let jsonBuf=(snapshotContent[JSON_BUF_PROPERTY]||"")+event.delta.partial_json;snapshot.content[event.index]=withLazyInput(snapshotContent,jsonBuf)}break}case"thinking_delta":{snapshotContent?.type==="thinking"&&(snapshot.content[event.index]={...snapshotContent,thinking:snapshotContent.thinking+event.delta.thinking});break}case"signature_delta":{snapshotContent?.type==="thinking"&&(snapshot.content[event.index]={...snapshotContent,signature:event.delta.signature});break}default:event.delta}return snapshot}case"content_block_stop":{let snapshotContent=snapshot.content.at(event.index);return snapshotContent&&tracksToolInput2(snapshotContent)&&JSON_BUF_PROPERTY in snapshotContent&&Object.defineProperty(snapshotContent,"input",{value:snapshotContent.input,enumerable:!0,configurable:!0,writable:!0}),snapshot}}},Symbol.asyncIterator)](){let pushQueue=[],readQueue=[],done=!1;return this.on("streamEvent",event=>{let reader=readQueue.shift();reader?reader.resolve(event):pushQueue.push(event)}),this.on("end",()=>{done=!0;for(let reader of readQueue)reader.resolve(void 0);readQueue.length=0}),this.on("abort",err=>{done=!0;for(let reader of readQueue)reader.reject(err);readQueue.length=0}),this.on("error",err=>{done=!0;for(let reader of readQueue)reader.reject(err);readQueue.length=0}),{next:async()=>pushQueue.length?{value:pushQueue.shift(),done:!1}:done?{value:void 0,done:!0}:new Promise((resolve,reject)=>readQueue.push({resolve,reject})).then(chunk2=>chunk2?{value:chunk2,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new Stream(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}};var Batches2=class extends APIResource{create(params,options){let{user_profile_id,...body}=params;return this._client.post("/v1/messages/batches",{body,...options,headers:buildHeaders([{...user_profile_id!=null?{"anthropic-user-profile-id":user_profile_id}:void 0},options?.headers])})}retrieve(messageBatchID,options){return this._client.get(path`/v1/messages/batches/${messageBatchID}`,options)}list(query={},options){return this._client.getAPIList("/v1/messages/batches",Page,{query,...options})}delete(messageBatchID,options){return this._client.delete(path`/v1/messages/batches/${messageBatchID}`,options)}cancel(messageBatchID,options){return this._client.post(path`/v1/messages/batches/${messageBatchID}/cancel`,options)}async results(messageBatchID,options){let batch=await this.retrieve(messageBatchID);if(!batch.results_url)throw new AnthropicError(`No batch \`results_url\`; Has it finished processing? ${batch.processing_status} - ${batch.id}`);return this._client.get(batch.results_url,{...options,headers:buildHeaders([{Accept:"application/binary"},options?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((_,props)=>JSONLDecoder.fromResponse(props.response,props.controller))}};var Messages2=class extends APIResource{constructor(){super(...arguments),this.batches=new Batches2(this._client)}create(params,options){let{user_profile_id,...body}=params;body.model in DEPRECATED_MODELS2&&console.warn(`The model '${body.model}' is deprecated and will reach end-of-life on ${DEPRECATED_MODELS2[body.model]}
|
|
34
|
+
Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`),MODELS_TO_WARN_WITH_THINKING_ENABLED2.includes(body.model)&&body.thinking&&body.thinking.type==="enabled"&&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`);let timeout=options?.timeout??this._client._options.timeout;if(!body.stream&&timeout==null){let maxNonstreamingTokens=MODEL_NONSTREAMING_TOKENS[body.model]??void 0;timeout=this._client.calculateNonstreamingTimeout(body.max_tokens,maxNonstreamingTokens)}let helperHeader2=stainlessHelperHeader(body.tools,body.messages);return this._client.post("/v1/messages",{body,timeout:timeout??6e5,...options,headers:buildHeaders([{...user_profile_id!=null?{"anthropic-user-profile-id":user_profile_id}:void 0},helperHeader2,options?.headers]),stream:params.stream??!1})}parse(params,options){return this.create(params,options).then(message=>parseMessage(message,params,{logger:this._client.logger??console}))}stream(body,options){return MessageStream.createMessage(this,body,options,{logger:this._client.logger??console})}countTokens(params,options){let{user_profile_id,...body}=params;return this._client.post("/v1/messages/count_tokens",{body,...options,headers:buildHeaders([{...user_profile_id!=null?{"anthropic-user-profile-id":user_profile_id}:void 0},options?.headers])})}},DEPRECATED_MODELS2={},MODELS_TO_WARN_WITH_THINKING_ENABLED2=["claude-mythos-preview","claude-opus-4-6"];Messages2.Batches=Batches2;var Models2=class extends APIResource{retrieve(modelID,params={},options){let{betas}=params??{};return this._client.get(path`/v1/models/${modelID}`,{...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}list(params={},options){let{betas,...query}=params??{};return this._client.getAPIList("/v1/models",Page,{query,...options,headers:buildHeaders([{...betas?.toString()!=null?{"anthropic-beta":betas?.toString()}:void 0},options?.headers])})}};var Versions3=class extends APIResource{create(skillID,body,options){return this._client.post(path`/v1/skills/${skillID}/versions`,multipartFormRequestOptions({body,...options},this._client,!1))}retrieve(version,params,options){let{skill_id}=params;return this._client.get(path`/v1/skills/${skill_id}/versions/${version}`,options)}list(skillID,query={},options){return this._client.getAPIList(path`/v1/skills/${skillID}/versions`,PageCursor,{query,...options})}delete(version,params,options){let{skill_id}=params;return this._client.delete(path`/v1/skills/${skill_id}/versions/${version}`,options)}};var Skills2=class extends APIResource{constructor(){super(...arguments),this.versions=new Versions3(this._client)}create(body,options){return this._client.post("/v1/skills",multipartFormRequestOptions({body,...options},this._client,!1))}retrieve(skillID,options){return this._client.get(path`/v1/skills/${skillID}`,options)}list(query={},options){return this._client.getAPIList("/v1/skills",PageCursor,{query,...options})}delete(skillID,options){return this._client.delete(path`/v1/skills/${skillID}`,options)}};Skills2.Versions=Versions3;var _BaseAnthropic_instances,_a,_BaseAnthropic_encoder,_BaseAnthropic_baseURLOverridden,HUMAN_PROMPT="\\n\\nHuman:",AI_PROMPT="\\n\\nAssistant:",BaseAnthropic=class{get credentials(){return this._authState.provider}constructor({baseURL=readEnv("ANTHROPIC_BASE_URL"),apiKey,authToken,webhookKey=readEnv("ANTHROPIC_WEBHOOK_SIGNING_KEY")??null,...opts}={}){if(_BaseAnthropic_instances.add(this),this._requestAuthFlags=new WeakMap,_BaseAnthropic_encoder.set(this,void 0),apiKey===void 0&&(apiKey=opts.profile!=null?null:readEnv("ANTHROPIC_API_KEY")??null),authToken===void 0&&(authToken=opts.profile!=null?null:readEnv("ANTHROPIC_AUTH_TOKEN")??null),opts.profile!=null&&(opts.credentials!=null||opts.config!=null))throw new TypeError("Pass at most one of `profile`, `credentials`, or `config`.");let options={apiKey,authToken,webhookKey,...opts,baseURL:baseURL||"https://api.anthropic.com"};if(!options.dangerouslyAllowBrowser&&isRunningInBrowser())throw new AnthropicError(`It looks like you're running in a browser-like environment.
|
|
35
|
+
|
|
36
|
+
This is disabled by default, as it risks exposing your secret API credentials to attackers.
|
|
37
|
+
If you understand the risks and have appropriate mitigations in place,
|
|
38
|
+
you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
|
|
39
|
+
|
|
40
|
+
new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
|
|
41
|
+
`);this.baseURL=options.baseURL,this._baseURLIsExplicit=opts.__baseURLIsExplicit??!!baseURL,this.timeout=options.timeout??_a.DEFAULT_TIMEOUT,this.logger=options.logger??console,this.logLevel=defaultLogLevel,this.logLevel=parseLogLevel(options.logLevel,"ClientOptions.logLevel",loggerFor(this))??parseLogLevel(readEnv("ANTHROPIC_LOG"),"process.env['ANTHROPIC_LOG']",loggerFor(this))??defaultLogLevel,this.fetchOptions=options.fetchOptions,this.maxRetries=options.maxRetries??2,this.fetch=options.fetch??getDefaultFetch(),__classPrivateFieldSet(this,_BaseAnthropic_encoder,FallbackEncoder,"f"),this.middleware=[...options.middleware??[]];let customHeadersEnv=readEnv("ANTHROPIC_CUSTOM_HEADERS");if(customHeadersEnv){let parsed={};for(let line of customHeadersEnv.split(`
|
|
42
|
+
`)){let colon=line.indexOf(":");colon>=0&&(parsed[line.substring(0,colon).trim()]=line.substring(colon+1).trim())}options.defaultHeaders={...parsed,...options.defaultHeaders}}let inherited=opts.__auth;if(delete options.__auth,delete options.__baseURLIsExplicit,this._options=options,this.apiKey=typeof apiKey=="string"?apiKey:null,this.authToken=authToken,this.webhookKey=webhookKey,inherited)this._authState=inherited,!this._baseURLIsExplicit&&inherited.baseURL&&(this.baseURL=inherited.baseURL);else if(this._authState={provider:null,tokenCache:null,resolution:null,error:null,extraHeaders:{}},this.apiKey==null&&this.authToken==null){let credentials=options.credentials??null;if(credentials)this._authState.provider=credentials,this._authState.tokenCache=this._makeTokenCache(credentials);else if(options.config!=null){let result=resolveCredentialsFromConfig(options.config,this._credentialResolverOptions());this._authState.provider=result.provider,this._authState.tokenCache=this._makeTokenCache(result.provider),this._authState.extraHeaders=result.extraHeaders,this._applyCredentialBaseURL(result.baseURL)}else options.profile!=null?this._authState.resolution=this._resolveDefaultCredentials(options.profile):this._shouldResolveDefaultCredentials()&&(this._authState.resolution=this._resolveDefaultCredentials())}}_shouldResolveDefaultCredentials(){return!0}_applyCredentialBaseURL(baseURL){if(!baseURL)return;let normalized=baseURL.replace(/\/+$/,"");this._authState.baseURL=normalized,this._baseURLIsExplicit||(this.baseURL=normalized)}_credentialResolverOptions(){return{baseURL:this.baseURL,fetch:this._credentialsFetch(),userAgent:this.getUserAgent(),onCacheWriteError:err=>{loggerFor(this).debug("credential cache write failed (best-effort)",err)},onSafetyWarning:msg=>{loggerFor(this).warn(msg)}}}_credentialsFetch(){return wrapFetchWithMiddleware(this.fetch,this.middleware,void 0,this)}_makeTokenCache(provider){return new TokenCache(provider,err=>{loggerFor(this).debug("advisory token refresh failed; serving cached token",err)})}withOptions(options){let overridesStructuredAuth="credentials"in options||"config"in options||"profile"in options,overridesAuth="apiKey"in options||"authToken"in options||overridesStructuredAuth,internal={...this._options,...this._baseURLIsExplicit?{baseURL:this.baseURL}:{},maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,middleware:this.middleware,apiKey:this.apiKey,authToken:this.authToken,webhookKey:this.webhookKey,credentials:this.credentials,...overridesStructuredAuth?{credentials:void 0,config:void 0,profile:void 0}:{},...options,__auth:overridesAuth?void 0:this._authState,__baseURLIsExplicit:"baseURL"in options?!0:this._baseURLIsExplicit};return new this.constructor(internal)}async _resolveDefaultCredentials(profile){try{let result=await defaultCredentials(this._credentialResolverOptions(),profile);if(result)this._authState.provider=result.provider,this._authState.tokenCache=this._makeTokenCache(result.provider),this._authState.extraHeaders=result.extraHeaders,this._applyCredentialBaseURL(result.baseURL);else if(profile!=null)throw new AnthropicError(`Profile "${profile}" could not be resolved (no <config_dir>/configs/${profile}.json found).`)}catch(err){this._authState.error=err}finally{this._authState.resolution=null}}defaultQuery(){return this._options.defaultQuery}validateHeaders({values,nulls}){if(!(values.get("x-api-key")||values.get("authorization"))){if(this._authState.error)throw this._authState.error;if(!(this._authState.tokenCache||this._authState.resolution)&&!(this.apiKey&&values.get("x-api-key"))&&!nulls.has("x-api-key")&&!(this.authToken&&values.get("authorization"))&&!nulls.has("authorization"))throw new Error('Could not resolve authentication method. Expected one of apiKey, authToken, credentials, config, or profile to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted')}}_authFlags(opts){let flags=this._requestAuthFlags.get(opts);return flags||(flags={usedTokenCache:!1,didRefreshFor401:!1},this._requestAuthFlags.set(opts,flags)),flags}async authHeaders(opts){if(this._authState.resolution&&await this._authState.resolution,!this._authState.error){if(this._authState.tokenCache&&this.apiKey==null){let token=await this._authState.tokenCache.getToken();return this._authFlags(opts).usedTokenCache=!0,buildHeaders([{Authorization:`Bearer ${token}`}])}return buildHeaders([await this.apiKeyAuth(opts),await this.bearerAuth(opts)])}}async apiKeyAuth(opts){if(this.apiKey!=null)return buildHeaders([{"X-Api-Key":this.apiKey}])}async bearerAuth(opts){if(this.authToken!=null)return buildHeaders([{Authorization:`Bearer ${this.authToken}`}])}stringifyQuery(query){return stringifyQuery(query)}getUserAgent(){return`Anthropic/JS ${VERSION}`}defaultIdempotencyKey(){return`stainless-node-retry-${uuid4()}`}makeStatusError(status,error,message,headers){return APIError.generate(status,error,message,headers)}buildURL(path2,query,defaultBaseURL){let baseURL=!__classPrivateFieldGet(this,_BaseAnthropic_instances,"m",_BaseAnthropic_baseURLOverridden).call(this)&&defaultBaseURL||this.baseURL,url=isAbsoluteURL(path2)?new URL(path2):new URL(baseURL+(baseURL.endsWith("/")&&path2.startsWith("/")?path2.slice(1):path2)),defaultQuery=this.defaultQuery(),pathQuery=Object.fromEntries(url.searchParams);return(!isEmptyObj(defaultQuery)||!isEmptyObj(pathQuery))&&(query={...pathQuery,...defaultQuery,...query}),typeof query=="object"&&query&&!Array.isArray(query)&&(url.search=this.stringifyQuery(query)),url.toString()}_calculateNonstreamingTimeout(maxTokens){if(3600*maxTokens/128e3>600)throw new AnthropicError("Streaming is required for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#streaming-responses for more details");return 600*1e3}async prepareOptions(options){}async prepareRequest(request,{url,options}){if(this._authState.tokenCache&&this.apiKey==null){let headers=request.headers instanceof Headers?request.headers:new Headers(request.headers);for(let[k,v]of Object.entries(this._authState.extraHeaders))headers.has(k)||headers.set(k,v);headers.get("anthropic-beta")?.split(",").map(s=>s.trim())?.includes(OAUTH_API_BETA_HEADER)||headers.append("anthropic-beta",OAUTH_API_BETA_HEADER),request.headers=headers}}backendMiddleware(){return[]}get(path2,opts){return this.methodRequest("get",path2,opts)}post(path2,opts){return this.methodRequest("post",path2,opts)}patch(path2,opts){return this.methodRequest("patch",path2,opts)}put(path2,opts){return this.methodRequest("put",path2,opts)}delete(path2,opts){return this.methodRequest("delete",path2,opts)}methodRequest(method,path2,opts){return this.request(Promise.resolve(opts).then(opts2=>({method,path:path2,...opts2})))}request(options,remainingRetries=null){return new APIPromise(this,this.makeRequest(options,remainingRetries,void 0))}async makeRequest(optionsInput,retriesRemaining,retryOfRequestLogID){let options=await optionsInput,maxRetries=options.maxRetries??this.maxRetries;retriesRemaining==null&&(retriesRemaining=maxRetries,this._requestAuthFlags.delete(options)),await this.prepareOptions(options);let{req,url,timeout}=await this.buildRequest(options,{retryCount:maxRetries-retriesRemaining}),requestLogID="log_"+(Math.random()*(1<<24)|0).toString(16).padStart(6,"0"),retryLogStr=retryOfRequestLogID===void 0?"":`, retryOf: ${retryOfRequestLogID}`,startTime=Date.now();if(options.signal?.aborted)throw new APIUserAbortError;let controller=new AbortController,response=await this.fetchWithTimeout(url,req,timeout,controller,options,{requestLogID,retryOfRequestLogID}).catch(castToError),headersTime=Date.now();if(response instanceof globalThis.Error){releaseRequestSignal(controller);let retryMessage=`retrying, ${retriesRemaining} attempts remaining`;if(options.signal?.aborted)throw new APIUserAbortError;let isTimeout=isAbortError(response)||/timed? ?out/i.test(String(response)+("cause"in response?String(response.cause):"")),hasMiddleware=this.middleware.length>0||!!options.middleware?.length||this.backendMiddleware().length>0;if(hasMiddleware&&!isTimeout&&!isRetryableError(response))throw loggerFor(this).info(`[${requestLogID}] middleware error (not retryable)`),loggerFor(this).debug(`[${requestLogID}] middleware error (not retryable)`,formatRequestDetails({retryOfRequestLogID,url,durationMs:headersTime-startTime,message:response.message})),response;if(retriesRemaining)return loggerFor(this).info(`[${requestLogID}] connection ${isTimeout?"timed out":"failed"} - ${retryMessage}`),loggerFor(this).debug(`[${requestLogID}] connection ${isTimeout?"timed out":"failed"} (${retryMessage})`,formatRequestDetails({retryOfRequestLogID,url,durationMs:headersTime-startTime,message:response.message})),this.retryRequest(options,retriesRemaining,retryOfRequestLogID??requestLogID);throw loggerFor(this).info(`[${requestLogID}] connection ${isTimeout?"timed out":"failed"} - error; no more retries left`),loggerFor(this).debug(`[${requestLogID}] connection ${isTimeout?"timed out":"failed"} (error; no more retries left)`,formatRequestDetails({retryOfRequestLogID,url,durationMs:headersTime-startTime,message:response.message})),isTimeout?new APIConnectionTimeoutError:hasMiddleware&&!isFetchOriginError(response)?response:new APIConnectionError({cause:response})}let specialHeaders=[...response.headers.entries()].filter(([name])=>name==="request-id"||name==="anthropic-workspace-id").map(([name,value])=>", "+name+": "+JSON.stringify(value)).join(""),responseInfo=`[${requestLogID}${retryLogStr}${specialHeaders}] ${req.method} ${url} ${response.ok?"succeeded":"failed"} with status ${response.status} in ${headersTime-startTime}ms`;if(!response.ok){let shouldRetry=await this.shouldRetry(response,options);if(retriesRemaining&&shouldRetry){let retryMessage2=`retrying, ${retriesRemaining} attempts remaining`;return await CancelReadableStream(response.body),releaseRequestSignal(controller),loggerFor(this).info(`${responseInfo} - ${retryMessage2}`),loggerFor(this).debug(`[${requestLogID}] response error (${retryMessage2})`,formatRequestDetails({retryOfRequestLogID,url:response.url,status:response.status,headers:response.headers,durationMs:headersTime-startTime})),this.retryRequest(options,retriesRemaining,retryOfRequestLogID??requestLogID,response.headers)}let retryMessage=shouldRetry?"error; no more retries left":"error; not retryable";loggerFor(this).info(`${responseInfo} - ${retryMessage}`);let errText=await response.text().catch(err2=>castToError(err2).message),errJSON=safeJSON(errText),errMessage=errJSON?void 0:errText;throw loggerFor(this).debug(`[${requestLogID}] response error (${retryMessage})`,formatRequestDetails({retryOfRequestLogID,url:response.url,status:response.status,headers:response.headers,message:errMessage,durationMs:Date.now()-startTime})),releaseRequestSignal(controller),this.makeStatusError(response.status,errJSON,errMessage,response.headers)}return loggerFor(this).info(responseInfo),loggerFor(this).debug(`[${requestLogID}] response start`,formatRequestDetails({retryOfRequestLogID,url:response.url,status:response.status,headers:response.headers,durationMs:headersTime-startTime})),armAbandonmentBackstop(response.body??response,controller),{response,options,controller,requestLogID,retryOfRequestLogID,startTime}}getAPIList(path2,Page2,opts){return this.requestAPIList(Page2,opts&&"then"in opts?opts.then(opts2=>({method:"get",path:path2,...opts2})):{method:"get",path:path2,...opts})}requestAPIList(Page2,options){let request=this.makeRequest(options,null,void 0);return new PagePromise(this,request,Page2)}async fetchWithTimeout(url,init,ms,controller,requestOptions,logCtx){let{signal,method,...options}=init||{},abort=this._makeAbort(controller);signal&&(signal.addEventListener("abort",abort,{once:!0}),registerRequestSignalCleanup(controller,signal,abort));let isReadableBody=globalThis.ReadableStream&&options.body instanceof globalThis.ReadableStream||typeof options.body=="object"&&options.body!==null&&Symbol.asyncIterator in options.body,fetchOptions={signal:controller.signal,...isReadableBody?{duplex:"half"}:{},method:"GET",...options};method&&(fetchOptions.method=method.toUpperCase());let baseFetch=this.fetch,timedFetch=async(innerUrl,innerInit)=>{let timeout=setTimeout(abort,ms);try{return await baseFetch.call(void 0,innerUrl,innerInit)}finally{clearTimeout(timeout)}},innerFetch=requestOptions===void 0?timedFetch:(async(innerUrl,innerInit={})=>{let innerUrlStr=typeof innerUrl=="string"?innerUrl:innerUrl instanceof URL?innerUrl.href:innerUrl.url;return innerInit.headers=innerInit.headers instanceof Headers?innerInit.headers:new Headers(innerInit.headers),await this.prepareRequest(innerInit,{url:innerUrlStr,options:requestOptions}),logCtx&&loggerFor(this).debug(`[${logCtx.requestLogID}] sending request`,formatRequestDetails({retryOfRequestLogID:logCtx.retryOfRequestLogID,method:innerInit.method,url:innerUrlStr,options:requestOptions,headers:innerInit.headers})),timedFetch(innerUrl,innerInit)}),requestMiddleware=requestOptions?.middleware,backendMiddleware=this.backendMiddleware(),allMiddleware=requestMiddleware?.length||backendMiddleware.length?[...this.middleware,...requestMiddleware??[],...backendMiddleware]:this.middleware;return await wrapFetchWithMiddleware(innerFetch,allMiddleware,requestOptions,this)(url,fetchOptions)}async shouldRetry(response,options){let flags=this._authFlags(options);if(response.status===401&&this._authState.tokenCache&&flags.usedTokenCache&&!flags.didRefreshFor401)return flags.didRefreshFor401=!0,this._authState.tokenCache.invalidate(),!0;let shouldRetryHeader=response.headers.get("x-should-retry");return shouldRetryHeader==="true"?!0:shouldRetryHeader==="false"?!1:response.status===408||response.status===409||response.status===429||response.status>=500}async retryRequest(options,retriesRemaining,requestLogID,responseHeaders){let timeoutMillis,retryAfterMillisHeader=responseHeaders?.get("retry-after-ms");if(retryAfterMillisHeader){let timeoutMs=parseFloat(retryAfterMillisHeader);Number.isNaN(timeoutMs)||(timeoutMillis=timeoutMs)}let retryAfterHeader=responseHeaders?.get("retry-after");if(retryAfterHeader&&!timeoutMillis){let timeoutSeconds=parseFloat(retryAfterHeader);Number.isNaN(timeoutSeconds)?timeoutMillis=Date.parse(retryAfterHeader)-Date.now():timeoutMillis=timeoutSeconds*1e3}if(timeoutMillis===void 0){let maxRetries=options.maxRetries??this.maxRetries;timeoutMillis=this.calculateDefaultRetryTimeoutMillis(retriesRemaining,maxRetries)}return await sleep(timeoutMillis),this.makeRequest(options,retriesRemaining-1,requestLogID)}calculateDefaultRetryTimeoutMillis(retriesRemaining,maxRetries){let numRetries=maxRetries-retriesRemaining,sleepSeconds=Math.min(.5*Math.pow(2,numRetries),8),jitter2=1-Math.random()*.25;return sleepSeconds*jitter2*1e3}calculateNonstreamingTimeout(maxTokens,maxNonstreamingTokens){if(36e5*maxTokens/128e3>6e5||maxNonstreamingTokens!=null&&maxTokens>maxNonstreamingTokens)throw new 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");return 6e5}async buildRequest(inputOptions,{retryCount=0}={}){let options={...inputOptions},{method,path:path2,query,defaultBaseURL}=options;this._authState.resolution&&await this._authState.resolution,!this._baseURLIsExplicit&&this._authState.baseURL&&this.baseURL!==this._authState.baseURL&&(this.baseURL=this._authState.baseURL);let url=this.buildURL(path2,query,defaultBaseURL);"timeout"in options&&validatePositiveInteger("timeout",options.timeout),options.timeout=options.timeout??this.timeout;let{bodyHeaders,body}=this.buildBody({options}),reqHeaders=await this.buildHeaders({options:inputOptions,method,bodyHeaders,retryCount});return{req:{method,headers:reqHeaders,...options.signal&&{signal:options.signal},...globalThis.ReadableStream&&body instanceof globalThis.ReadableStream&&{duplex:"half"},...body&&{body},...this.fetchOptions??{},...options.fetchOptions??{}},url,timeout:options.timeout}}async buildHeaders({options,method,bodyHeaders,retryCount}){let idempotencyHeaders={};this.idempotencyHeader&&method!=="get"&&(options.idempotencyKey||(options.idempotencyKey=this.defaultIdempotencyKey()),idempotencyHeaders[this.idempotencyHeader]=options.idempotencyKey);let headers=buildHeaders([idempotencyHeaders,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(retryCount),...options.timeout?{"X-Stainless-Timeout":String(Math.trunc(options.timeout/1e3))}:{},...getPlatformHeaders(),...this._options.dangerouslyAllowBrowser?{"anthropic-dangerous-direct-browser-access":"true"}:void 0,"anthropic-version":"2023-06-01"},await this.authHeaders(options),this._options.defaultHeaders,bodyHeaders,options.headers]);return this.validateHeaders(headers),headers.values}_makeAbort(controller){return()=>controller.abort()}buildBody({options:{body,headers:rawHeaders}}){if(!body)return{bodyHeaders:void 0,body:void 0};let headers=buildHeaders([rawHeaders]);return ArrayBuffer.isView(body)||body instanceof ArrayBuffer||body instanceof DataView||typeof body=="string"&&headers.values.has("content-type")||globalThis.Blob&&body instanceof globalThis.Blob||body instanceof FormData||body instanceof URLSearchParams||globalThis.ReadableStream&&body instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body}:typeof body=="object"&&(Symbol.asyncIterator in body||Symbol.iterator in body&&"next"in body&&typeof body.next=="function")?{bodyHeaders:void 0,body:ReadableStreamFrom(body)}:typeof body=="object"&&headers.values.get("content-type")==="application/x-www-form-urlencoded"?{bodyHeaders:{"content-type":"application/x-www-form-urlencoded"},body:this.stringifyQuery(body)}:__classPrivateFieldGet(this,_BaseAnthropic_encoder,"f").call(this,{body,headers})}};_a=BaseAnthropic,_BaseAnthropic_encoder=new WeakMap,_BaseAnthropic_instances=new WeakSet,_BaseAnthropic_baseURLOverridden=function(){return this.baseURL!=="https://api.anthropic.com"};BaseAnthropic.Anthropic=_a;BaseAnthropic.HUMAN_PROMPT=HUMAN_PROMPT;BaseAnthropic.AI_PROMPT=AI_PROMPT;BaseAnthropic.DEFAULT_TIMEOUT=6e5;BaseAnthropic.AnthropicError=AnthropicError;BaseAnthropic.APIError=APIError;BaseAnthropic.APIConnectionError=APIConnectionError;BaseAnthropic.APIConnectionTimeoutError=APIConnectionTimeoutError;BaseAnthropic.APIUserAbortError=APIUserAbortError;BaseAnthropic.NotFoundError=NotFoundError;BaseAnthropic.ConflictError=ConflictError;BaseAnthropic.RateLimitError=RateLimitError;BaseAnthropic.BadRequestError=BadRequestError;BaseAnthropic.AuthenticationError=AuthenticationError;BaseAnthropic.InternalServerError=InternalServerError;BaseAnthropic.PermissionDeniedError=PermissionDeniedError;BaseAnthropic.UnprocessableEntityError=UnprocessableEntityError;BaseAnthropic.toFile=toFile;var Anthropic=class extends BaseAnthropic{constructor(){super(...arguments),this.completions=new Completions(this),this.messages=new Messages2(this),this.models=new Models2(this),this.files=new Files2(this),this.skills=new Skills2(this),this.beta=new Beta(this)}};Anthropic.Completions=Completions;Anthropic.Messages=Messages2;Anthropic.Models=Models2;Anthropic.Files=Files2;Anthropic.Skills=Skills2;Anthropic.Beta=Beta;var encoder=new TextEncoder;export{__classPrivateFieldSet,__classPrivateFieldGet,AnthropicError,encodeUTF8,decodeUTF8,loggerFor,isStatus,ToolError,DEFAULT_MEMORY_SYNC_INTERVAL_MS,MIN_MEMORY_SYNC_INTERVAL_MS,checkMemorySyncInterval,promiseWithResolvers,Anthropic};
|