gitnexus 1.6.9 → 1.6.10-aptos.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +211 -53
- package/dist/_shared/graph/types.d.ts +67 -3
- package/dist/_shared/graph/types.d.ts.map +1 -1
- package/dist/_shared/index.d.ts +1 -0
- package/dist/_shared/index.d.ts.map +1 -1
- package/dist/_shared/index.js.map +1 -1
- package/dist/_shared/integrations/resilient-fetch.d.ts +3 -1
- package/dist/_shared/integrations/resilient-fetch.d.ts.map +1 -1
- package/dist/_shared/integrations/resilient-fetch.js +4 -3
- package/dist/_shared/integrations/resilient-fetch.js.map +1 -1
- package/dist/_shared/language-detection.d.ts.map +1 -1
- package/dist/_shared/language-detection.js +2 -0
- package/dist/_shared/language-detection.js.map +1 -1
- package/dist/_shared/languages.d.ts +2 -0
- package/dist/_shared/languages.d.ts.map +1 -1
- package/dist/_shared/languages.js +2 -0
- package/dist/_shared/languages.js.map +1 -1
- package/dist/_shared/lbug/schema-constants.d.ts +2 -2
- package/dist/_shared/lbug/schema-constants.d.ts.map +1 -1
- package/dist/_shared/lbug/schema-constants.js +8 -0
- package/dist/_shared/lbug/schema-constants.js.map +1 -1
- package/dist/_shared/pipeline.d.ts +1 -1
- package/dist/_shared/pipeline.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/callable-flow-site.d.ts +110 -0
- package/dist/_shared/scope-resolution/callable-flow-site.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/callable-flow-site.js +11 -0
- package/dist/_shared/scope-resolution/callable-flow-site.js.map +1 -0
- package/dist/_shared/scope-resolution/finalize-algorithm.d.ts +1 -1
- package/dist/_shared/scope-resolution/finalize-algorithm.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/finalize-algorithm.js +1 -1
- package/dist/_shared/scope-resolution/finalize-algorithm.js.map +1 -1
- package/dist/_shared/scope-resolution/language-classification.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/language-classification.js +1 -0
- package/dist/_shared/scope-resolution/language-classification.js.map +1 -1
- package/dist/_shared/scope-resolution/parsed-file.d.ts +7 -0
- package/dist/_shared/scope-resolution/parsed-file.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/reference-site.d.ts +9 -1
- package/dist/_shared/scope-resolution/reference-site.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/types.d.ts +20 -3
- package/dist/_shared/scope-resolution/types.d.ts.map +1 -1
- package/dist/cli/ai-context.d.ts +1 -1
- package/dist/cli/ai-context.js +25 -44
- package/dist/cli/analyze.d.ts +5 -2
- package/dist/cli/analyze.js +197 -11
- package/dist/cli/clean.js +17 -3
- package/dist/cli/cli-message.d.ts +1 -1
- package/dist/cli/doctor.d.ts +18 -0
- package/dist/cli/doctor.js +96 -5
- package/dist/cli/editor-targets.d.ts +17 -2
- package/dist/cli/editor-targets.js +44 -0
- package/dist/cli/embeddings.d.ts +12 -0
- package/dist/cli/embeddings.js +49 -0
- package/dist/cli/eval-server.d.ts +23 -1
- package/dist/cli/eval-server.js +126 -8
- package/dist/cli/help-i18n.js +6 -0
- package/dist/cli/i18n/en.d.ts +18 -8
- package/dist/cli/i18n/en.js +18 -8
- package/dist/cli/i18n/resources.d.ts +28 -8
- package/dist/cli/i18n/zh-CN.d.ts +10 -0
- package/dist/cli/i18n/zh-CN.js +18 -8
- package/dist/cli/index.js +21 -7
- package/dist/cli/lazy-action.d.ts +7 -0
- package/dist/cli/lazy-action.js +27 -0
- package/dist/cli/mcp.js +6 -3
- package/dist/cli/move-availability.d.ts +5 -0
- package/dist/cli/move-availability.js +11 -0
- package/dist/cli/setup.d.ts +8 -0
- package/dist/cli/setup.js +230 -32
- package/dist/cli/skill-gen.js +38 -18
- package/dist/cli/standard-skills.d.ts +76 -0
- package/dist/cli/standard-skills.js +45 -0
- package/dist/cli/status.d.ts +4 -1
- package/dist/cli/status.js +57 -4
- package/dist/cli/tool.js +11 -0
- package/dist/cli/uninstall.js +77 -18
- package/dist/cli/wiki.d.ts +1 -0
- package/dist/cli/wiki.js +7 -1
- package/dist/config/ignore-service.d.ts +2 -0
- package/dist/config/ignore-service.js +27 -0
- package/dist/core/analysis-features.d.ts +21 -0
- package/dist/core/analysis-features.js +59 -0
- package/dist/core/analyzer-identity.d.ts +74 -0
- package/dist/core/analyzer-identity.js +1820 -0
- package/dist/core/augmentation/engine.js +13 -8
- package/dist/core/embeddings/embedder.d.ts +3 -2
- package/dist/core/embeddings/embedder.js +24 -7
- package/dist/core/embeddings/embedding-identity.d.ts +11 -0
- package/dist/core/embeddings/embedding-identity.js +24 -0
- package/dist/core/embeddings/embedding-pipeline.d.ts +36 -1
- package/dist/core/embeddings/embedding-pipeline.js +100 -9
- package/dist/core/embeddings/http-client.d.ts +33 -3
- package/dist/core/embeddings/http-client.js +237 -25
- package/dist/core/embeddings/node-module-compat.d.ts +25 -0
- package/dist/core/embeddings/node-module-compat.js +25 -0
- package/dist/core/embeddings/onnxruntime-common-resolver.js +8 -5
- package/dist/core/embeddings/onnxruntime-node-resolver.js +33 -7
- package/dist/core/embeddings/runtime-install.d.ts +119 -0
- package/dist/core/embeddings/runtime-install.js +372 -0
- package/dist/core/embeddings/runtime-support.d.ts +48 -17
- package/dist/core/embeddings/runtime-support.js +96 -0
- package/dist/core/git-staleness.js +1 -1
- package/dist/core/group/bridge-db.js +2 -0
- package/dist/core/group/extractors/http-patterns/python.js +246 -108
- package/dist/core/group/extractors/manifest-extractor.js +4 -0
- package/dist/core/incremental/escalation-gate.d.ts +38 -0
- package/dist/core/incremental/escalation-gate.js +48 -0
- package/dist/core/incremental/shadow-candidates.d.ts +3 -3
- package/dist/core/incremental/shadow-candidates.js +3 -3
- package/dist/core/incremental/subgraph-extract.d.ts +2 -2
- package/dist/core/incremental/subgraph-extract.js +2 -2
- package/dist/core/index-freshness.d.ts +5 -0
- package/dist/core/index-freshness.js +13 -0
- package/dist/core/ingestion/class-extractors/configs/jvm.js +29 -0
- package/dist/core/ingestion/cobol/cobol-preprocessor.js +1 -1
- package/dist/core/ingestion/cobol/jcl-processor.js +9 -8
- package/dist/core/ingestion/cobol-processor.js +27 -26
- package/dist/core/ingestion/community-processor.d.ts +51 -1
- package/dist/core/ingestion/community-processor.js +323 -64
- package/dist/core/ingestion/emit-references.js +7 -2
- package/dist/core/ingestion/filesystem-walker.js +4 -0
- package/dist/core/ingestion/frameworks/spring/analysis-features.d.ts +3 -0
- package/dist/core/ingestion/frameworks/spring/analysis-features.js +7 -0
- package/dist/core/ingestion/frameworks/spring/bean-candidates.d.ts +30 -0
- package/dist/core/ingestion/frameworks/spring/bean-candidates.js +182 -0
- package/dist/core/ingestion/frameworks/spring/bean-catalog.d.ts +12 -0
- package/dist/core/ingestion/frameworks/spring/bean-catalog.js +26 -0
- package/dist/core/ingestion/frameworks/spring/config-bindings.d.ts +24 -0
- package/dist/core/ingestion/frameworks/spring/config-bindings.js +115 -0
- package/dist/core/ingestion/languages/c/captures.js +56 -0
- package/dist/core/ingestion/languages/c/query.js +17 -0
- package/dist/core/ingestion/languages/c/scope-resolver.js +6 -0
- package/dist/core/ingestion/languages/cobol/captures.js +93 -0
- package/dist/core/ingestion/languages/cobol/scope-resolver.js +7 -0
- package/dist/core/ingestion/languages/cpp/captures.js +365 -75
- package/dist/core/ingestion/languages/cpp/scope-resolver.js +14 -0
- package/dist/core/ingestion/languages/csharp/captures.js +25 -0
- package/dist/core/ingestion/languages/dart/captures.js +90 -2
- package/dist/core/ingestion/languages/dart/extension-type-preprocess.d.ts +7 -0
- package/dist/core/ingestion/languages/dart/extension-type-preprocess.js +30 -0
- package/dist/core/ingestion/languages/dart.js +2 -0
- package/dist/core/ingestion/languages/go/captures.js +34 -0
- package/dist/core/ingestion/languages/index.d.ts +1 -0
- package/dist/core/ingestion/languages/index.js +2 -0
- package/dist/core/ingestion/languages/java/analysis-features.d.ts +3 -0
- package/dist/core/ingestion/languages/java/analysis-features.js +13 -0
- package/dist/core/ingestion/languages/java/capture-side-channel.d.ts +22 -0
- package/dist/core/ingestion/languages/java/capture-side-channel.js +58 -0
- package/dist/core/ingestion/languages/java/captures.d.ts +4 -3
- package/dist/core/ingestion/languages/java/captures.js +193 -17
- package/dist/core/ingestion/languages/java/package-facts.d.ts +5 -0
- package/dist/core/ingestion/languages/java/package-facts.js +9 -0
- package/dist/core/ingestion/languages/java/package-siblings.d.ts +3 -16
- package/dist/core/ingestion/languages/java/package-siblings.js +8 -147
- package/dist/core/ingestion/languages/java/query.js +23 -0
- package/dist/core/ingestion/languages/java/scope-resolver.js +23 -0
- package/dist/core/ingestion/languages/java/spring-bean-metadata.d.ts +2 -0
- package/dist/core/ingestion/languages/java/spring-bean-metadata.js +8 -0
- package/dist/core/ingestion/languages/java/spring-config-bindings.d.ts +23 -0
- package/dist/core/ingestion/languages/java/spring-config-bindings.js +215 -0
- package/dist/core/ingestion/languages/java.js +3 -0
- package/dist/core/ingestion/languages/javascript/captures.js +16 -0
- package/dist/core/ingestion/languages/javascript/query.js +21 -0
- package/dist/core/ingestion/languages/jvm/package-facts.d.ts +35 -0
- package/dist/core/ingestion/languages/jvm/package-facts.js +40 -0
- package/dist/core/ingestion/languages/jvm/package-siblings.d.ts +14 -0
- package/dist/core/ingestion/languages/jvm/package-siblings.js +129 -0
- package/dist/core/ingestion/languages/kotlin/capture-side-channel.d.ts +17 -3
- package/dist/core/ingestion/languages/kotlin/capture-side-channel.js +42 -8
- package/dist/core/ingestion/languages/kotlin/captures.js +59 -0
- package/dist/core/ingestion/languages/kotlin/package-facts.d.ts +5 -0
- package/dist/core/ingestion/languages/kotlin/package-facts.js +9 -0
- package/dist/core/ingestion/languages/kotlin/package-siblings.d.ts +4 -0
- package/dist/core/ingestion/languages/kotlin/package-siblings.js +8 -0
- package/dist/core/ingestion/languages/kotlin/query.js +19 -0
- package/dist/core/ingestion/languages/kotlin/scope-resolver.js +9 -1
- package/dist/core/ingestion/languages/kotlin/spring-bean-metadata.d.ts +2 -0
- package/dist/core/ingestion/languages/kotlin/spring-bean-metadata.js +8 -0
- package/dist/core/ingestion/languages/kotlin.js +5 -6
- package/dist/core/ingestion/languages/move.d.ts +1 -0
- package/dist/core/ingestion/languages/move.js +27 -0
- package/dist/core/ingestion/languages/php/captures.js +40 -0
- package/dist/core/ingestion/languages/php/import-decomposer.js +12 -0
- package/dist/core/ingestion/languages/php/import-target.d.ts +2 -1
- package/dist/core/ingestion/languages/php/import-target.js +110 -2
- package/dist/core/ingestion/languages/php/interpret.js +10 -0
- package/dist/core/ingestion/languages/php/scope-resolver.js +1 -1
- package/dist/core/ingestion/languages/python/captures.d.ts +3 -4
- package/dist/core/ingestion/languages/python/captures.js +24 -5
- package/dist/core/ingestion/languages/python/interpret.js +4 -0
- package/dist/core/ingestion/languages/python/receiver-binding.d.ts +15 -2
- package/dist/core/ingestion/languages/python/receiver-binding.js +96 -2
- package/dist/core/ingestion/languages/python/simple-hooks.d.ts +5 -5
- package/dist/core/ingestion/languages/python/simple-hooks.js +15 -5
- package/dist/core/ingestion/languages/ruby/captures.js +42 -0
- package/dist/core/ingestion/languages/rust/captures.js +13 -0
- package/dist/core/ingestion/languages/rust/interpret.js +18 -0
- package/dist/core/ingestion/languages/rust/query.js +9 -0
- package/dist/core/ingestion/languages/rust/range-binding.js +6 -2
- package/dist/core/ingestion/languages/swift/captures.js +12 -0
- package/dist/core/ingestion/languages/typescript/captures.js +21 -0
- package/dist/core/ingestion/languages/typescript/nuxt-auto-imports.js +2 -1
- package/dist/core/ingestion/languages/typescript/query.js +37 -0
- package/dist/core/ingestion/markdown-processor.js +3 -2
- package/dist/core/ingestion/model/registration-table.js +1 -0
- package/dist/core/ingestion/parsing-processor.d.ts +3 -1
- package/dist/core/ingestion/parsing-processor.js +36 -1
- package/dist/core/ingestion/pipeline-phases/index.d.ts +2 -0
- package/dist/core/ingestion/pipeline-phases/index.js +2 -0
- package/dist/core/ingestion/pipeline-phases/parse-impl.js +56 -2
- package/dist/core/ingestion/pipeline-phases/parse.d.ts +0 -2
- package/dist/core/ingestion/pipeline-phases/parse.js +12 -3
- package/dist/core/ingestion/pipeline-phases/processes.d.ts +8 -0
- package/dist/core/ingestion/pipeline-phases/processes.js +11 -1
- package/dist/core/ingestion/pipeline-phases/spring-config.d.ts +37 -0
- package/dist/core/ingestion/pipeline-phases/spring-config.js +433 -0
- package/dist/core/ingestion/pipeline-phases/standalone-ingest.d.ts +10 -0
- package/dist/core/ingestion/pipeline-phases/standalone-ingest.js +6 -0
- package/dist/core/ingestion/pipeline.d.ts +4 -2
- package/dist/core/ingestion/pipeline.js +5 -2
- package/dist/core/ingestion/resolve-references.js +12 -0
- package/dist/core/ingestion/route-extractors/constant-resolver.d.ts +83 -0
- package/dist/core/ingestion/route-extractors/constant-resolver.js +131 -0
- package/dist/core/ingestion/route-extractors/python-const-resolver.d.ts +75 -0
- package/dist/core/ingestion/route-extractors/python-const-resolver.js +299 -0
- package/dist/core/ingestion/scope-extractor.js +306 -43
- package/dist/core/ingestion/scope-resolution/contract/scope-resolver.d.ts +71 -2
- package/dist/core/ingestion/scope-resolution/graph-bridge/callee-id-sink.d.ts +7 -7
- package/dist/core/ingestion/scope-resolution/graph-bridge/callee-id-sink.js +8 -7
- package/dist/core/ingestion/scope-resolution/graph-bridge/edges.d.ts +3 -1
- package/dist/core/ingestion/scope-resolution/graph-bridge/edges.js +6 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/ids.js +1 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/node-lookup.js +4 -1
- package/dist/core/ingestion/scope-resolution/graph-bridge/references-to-edges.js +7 -2
- package/dist/core/ingestion/scope-resolution/passes/callable-value-flow.d.ts +47 -0
- package/dist/core/ingestion/scope-resolution/passes/callable-value-flow.js +1138 -0
- package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.d.ts +16 -4
- package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.js +97 -1
- package/dist/core/ingestion/scope-resolution/passes/property-dispatch.d.ts +60 -0
- package/dist/core/ingestion/scope-resolution/passes/property-dispatch.js +111 -0
- package/dist/core/ingestion/scope-resolution/passes/receiver-bound-calls.d.ts +4 -3
- package/dist/core/ingestion/scope-resolution/pipeline/phase.d.ts +5 -0
- package/dist/core/ingestion/scope-resolution/pipeline/phase.js +25 -38
- package/dist/core/ingestion/scope-resolution/pipeline/run.d.ts +6 -0
- package/dist/core/ingestion/scope-resolution/pipeline/run.js +147 -35
- package/dist/core/ingestion/scope-resolution/resolution-outcome.d.ts +1 -1
- package/dist/core/ingestion/scope-resolution/scope/walkers.js +73 -44
- package/dist/core/ingestion/taint/typescript-model.js +34 -2
- package/dist/core/ingestion/tree-sitter-queries.d.ts +2 -2
- package/dist/core/ingestion/tree-sitter-queries.js +23 -2
- package/dist/core/ingestion/type-extractors/jvm.js +17 -2
- package/dist/core/ingestion/utils/ast-helpers.d.ts +1 -0
- package/dist/core/ingestion/utils/ast-helpers.js +153 -2
- package/dist/core/ingestion/utils/callable-flow-captures.d.ts +94 -0
- package/dist/core/ingestion/utils/callable-flow-captures.js +878 -0
- package/dist/core/ingestion/utils/line-base.d.ts +20 -0
- package/dist/core/ingestion/utils/line-base.js +20 -0
- package/dist/core/ingestion/utils/symbol-labels.d.ts +21 -0
- package/dist/core/ingestion/utils/symbol-labels.js +45 -0
- package/dist/core/ingestion/workers/parse-worker.d.ts +34 -0
- package/dist/core/ingestion/workers/parse-worker.js +40 -5
- package/dist/core/ingestion/workers/result-merge.js +4 -0
- package/dist/core/ingestion/workers/worker-pool.d.ts +28 -0
- package/dist/core/ingestion/workers/worker-pool.js +128 -28
- package/dist/core/lbug/csv-generator.d.ts +15 -0
- package/dist/core/lbug/csv-generator.js +124 -27
- package/dist/core/lbug/cypher-escape.d.ts +20 -0
- package/dist/core/lbug/cypher-escape.js +20 -0
- package/dist/core/lbug/extension-load-error.d.ts +67 -0
- package/dist/core/lbug/extension-load-error.js +326 -0
- package/dist/core/lbug/extension-loader.d.ts +17 -2
- package/dist/core/lbug/extension-loader.js +38 -13
- package/dist/core/lbug/lbug-adapter.d.ts +203 -2
- package/dist/core/lbug/lbug-adapter.js +527 -86
- package/dist/core/lbug/lbug-config.d.ts +56 -2
- package/dist/core/lbug/lbug-config.js +267 -7
- package/dist/core/lbug/move-columns.d.ts +7 -0
- package/dist/core/lbug/move-columns.js +86 -0
- package/dist/core/lbug/native-check.d.ts +40 -0
- package/dist/core/lbug/native-check.js +90 -0
- package/dist/core/lbug/node-table-layout.d.ts +29 -0
- package/dist/core/lbug/node-table-layout.js +119 -0
- package/dist/core/lbug/pool-adapter.d.ts +23 -1
- package/dist/core/lbug/pool-adapter.js +115 -8
- package/dist/core/lbug/schema.d.ts +4 -3
- package/dist/core/lbug/schema.js +16 -16
- package/dist/core/lbug/sidecar-recovery.d.ts +172 -0
- package/dist/core/lbug/sidecar-recovery.js +418 -16
- package/dist/core/lbug/wal-checkpoint-driver.js +3 -0
- package/dist/core/move/artifact-download.d.ts +19 -0
- package/dist/core/move/artifact-download.js +179 -0
- package/dist/core/move/compiler-facts.d.ts +120 -0
- package/dist/core/move/compiler-facts.js +9 -0
- package/dist/core/move/consistency.d.ts +28 -0
- package/dist/core/move/consistency.js +98 -0
- package/dist/core/move/constants.d.ts +98 -0
- package/dist/core/move/constants.js +136 -0
- package/dist/core/move/discovery.d.ts +10 -0
- package/dist/core/move/discovery.js +22 -0
- package/dist/core/move/entry-points.d.ts +14 -0
- package/dist/core/move/entry-points.js +40 -0
- package/dist/core/move/facts-mapper.d.ts +75 -0
- package/dist/core/move/facts-mapper.js +534 -0
- package/dist/core/move/install-lock.d.ts +14 -0
- package/dist/core/move/install-lock.js +102 -0
- package/dist/core/move/install.d.ts +39 -0
- package/dist/core/move/install.js +391 -0
- package/dist/core/move/mcp-client.d.ts +115 -0
- package/dist/core/move/mcp-client.js +436 -0
- package/dist/core/move/move-ingest.d.ts +49 -0
- package/dist/core/move/move-ingest.js +320 -0
- package/dist/core/move/provision.d.ts +19 -0
- package/dist/core/move/provision.js +91 -0
- package/dist/core/move/release.d.ts +6 -0
- package/dist/core/move/release.js +10 -0
- package/dist/core/move/symbol-id.d.ts +35 -0
- package/dist/core/move/symbol-id.js +65 -0
- package/dist/core/move/type-parser.d.ts +11 -0
- package/dist/core/move/type-parser.js +38 -0
- package/dist/core/platform/capabilities.d.ts +0 -1
- package/dist/core/platform/capabilities.js +39 -8
- package/dist/core/run-analyze.d.ts +3 -3
- package/dist/core/run-analyze.js +1001 -184
- package/dist/core/search/fts-indexes.d.ts +31 -0
- package/dist/core/search/fts-indexes.js +73 -0
- package/dist/core/search/fts-schema.js +2 -0
- package/dist/core/tree-sitter/safe-parse.d.ts +8 -3
- package/dist/core/tree-sitter/safe-parse.js +21 -7
- package/dist/core/wiki/graph-queries.js +6 -5
- package/dist/core/wiki/llm-client.d.ts +8 -2
- package/dist/core/wiki/llm-client.js +41 -5
- package/dist/mcp/core/embedder.js +16 -2
- package/dist/mcp/http-transport.d.ts +5 -0
- package/dist/mcp/http-transport.js +19 -5
- package/dist/mcp/local/bean-metadata.d.ts +2 -0
- package/dist/mcp/local/bean-metadata.js +25 -0
- package/dist/mcp/local/line-display.d.ts +22 -0
- package/dist/mcp/local/line-display.js +3 -0
- package/dist/mcp/local/local-backend.d.ts +19 -1
- package/dist/mcp/local/local-backend.js +402 -155
- package/dist/mcp/local/pdg-impact.d.ts +5 -3
- package/dist/mcp/local/pdg-impact.js +5 -2
- package/dist/mcp/output-budget.d.ts +5 -0
- package/dist/mcp/output-budget.js +52 -0
- package/dist/mcp/read-only-policy.d.ts +12 -0
- package/dist/mcp/read-only-policy.js +102 -0
- package/dist/mcp/repository-policy.d.ts +34 -0
- package/dist/mcp/repository-policy.js +328 -0
- package/dist/mcp/resources.js +32 -5
- package/dist/mcp/server.d.ts +5 -2
- package/dist/mcp/server.js +29 -9
- package/dist/mcp/tools.d.ts +0 -8
- package/dist/mcp/tools.js +102 -5
- package/dist/server/analyze-job.d.ts +3 -0
- package/dist/server/analyze-job.js +17 -0
- package/dist/server/analyze-launch.d.ts +6 -0
- package/dist/server/analyze-launch.js +82 -6
- package/dist/server/analyze-worker-core.d.ts +2 -1
- package/dist/server/analyze-worker-core.js +5 -2
- package/dist/server/analyze-worker.js +29 -6
- package/dist/server/api.d.ts +30 -0
- package/dist/server/api.js +120 -34
- package/dist/server/mcp-http.d.ts +1 -1
- package/dist/server/mcp-http.js +4 -2
- package/dist/server/upload-ingest.js +2 -1
- package/dist/server/validation.js +2 -1
- package/dist/storage/git.d.ts +31 -0
- package/dist/storage/git.js +111 -1
- package/dist/storage/parse-cache.js +7 -1
- package/dist/storage/parsedfile-store.d.ts +8 -0
- package/dist/storage/parsedfile-store.js +165 -1
- package/dist/storage/repo-manager.d.ts +194 -2
- package/dist/storage/repo-manager.js +56 -1
- package/hooks/antigravity/gitnexus-antigravity-hook.cjs +50 -3
- package/hooks/claude/gitnexus-hook.cjs +59 -9
- package/hooks/claude/pre-tool-use.sh +0 -0
- package/hooks/claude/session-start.sh +0 -0
- package/package.json +21 -15
- package/scripts/cross-platform-tests.ts +56 -0
- package/scripts/ensure-fts.ts +43 -0
- package/scripts/install-duckdb-extension.mjs +85 -24
- package/scripts/run-cross-platform.ts +61 -6
- package/scripts/shard-arg.ts +30 -0
- package/scripts/sync-plugin-manifests.mjs +192 -0
- package/skills/gitnexus-lfg/README.md +55 -0
- package/skills/gitnexus-lfg/SKILL.md +86 -0
- package/skills/gitnexus-plan/README.md +142 -0
- package/skills/gitnexus-plan/SKILL.md +348 -0
- package/skills/gitnexus-plan/references/context-ledger.md +137 -0
- package/skills/gitnexus-plan/references/context-pack.md +126 -0
- package/skills/gitnexus-plan/references/evidence-provenance.md +272 -0
- package/skills/gitnexus-plan/references/pdg-slice.md +109 -0
- package/skills/gitnexus-plan/references/plan-template.md +201 -0
- package/skills/gitnexus-plan/scripts/evidence-provenance.mjs +2084 -0
- package/skills/gitnexus-review/SKILL.md +273 -0
- package/skills/gitnexus-review/ci-personas/ci-adversarial-lens.md +42 -0
- package/skills/gitnexus-review/ci-personas/ci-blast-radius-lens.md +39 -0
- package/skills/gitnexus-review/ci-personas/ci-correctness-lens.md +37 -0
- package/skills/gitnexus-review/ci-personas/ci-coverage-lens.md +40 -0
- package/skills/gitnexus-review/ci-personas/ci-critic-lens.md +42 -0
- package/skills/gitnexus-review/ci-personas/ci-security-lens.md +39 -0
- package/skills/gitnexus-work/README.md +71 -0
- package/skills/gitnexus-work/SKILL.md +269 -0
- package/skills/gitnexus-work/references/evidence-provenance.md +272 -0
- package/skills/gitnexus-work/scripts/evidence-provenance.mjs +2084 -0
- package/web/assets/ProcessFlowModal-B_bfBySy.js +22 -0
- package/web/assets/__vite-browser-external-bMKyYQkO.js +1 -0
- package/web/assets/agent-Bqxn-abU.js +626 -0
- package/web/assets/architecture-7EHR7CIX-6QZW5X65-BVWFvYz2.js +1 -0
- package/web/assets/architectureDiagram-UL44E2DR-CmG3uPWf.js +36 -0
- package/web/assets/{blockDiagram-7IZFK4PR-BkWhpzWB.js → blockDiagram-7IZFK4PR-DBefcjof.js} +7 -7
- package/web/assets/{c4Diagram-Y2BXMSZH-DtBvpzWD.js → c4Diagram-Y2BXMSZH-EjWnjEJl.js} +6 -6
- package/web/assets/chunk-2T2R6R2M-Bb6Sy3_j.js +4 -0
- package/web/assets/chunk-2UTLFMKG-CXlhF3Pt.js +1 -0
- package/web/assets/chunk-3SSMPTDK-rPsRM1x0.js +321 -0
- package/web/assets/chunk-4R4BOZG6-Be_F0JoX.js +159 -0
- package/web/assets/{chunk-6764PJDD-DpIS7hxD.js → chunk-6764PJDD-C7xxk063.js} +1 -1
- package/web/assets/chunk-67TQ5CYL-CA7OhIEf.js +124 -0
- package/web/assets/chunk-7FYTHRHK-CsmYIswB.js +32 -0
- package/web/assets/chunk-7J6CGLKN-BlKwgXKs.js +10 -0
- package/web/assets/chunk-7W6UQGC5-pyKGssV3.js +1 -0
- package/web/assets/chunk-C62D2QBJ-3gdL8EKc.js +1 -0
- package/web/assets/chunk-CEXFNPSA-CjwtMDkc.js +1 -0
- package/web/assets/{chunk-INKRHTLW-Nu4ri9P-.js → chunk-INKRHTLW-Ckl3_KkO.js} +13 -13
- package/web/assets/chunk-J5EP6P6S-L19oz55R.js +1 -0
- package/web/assets/{chunk-KGFNY3KK-JGMJvKCK.js → chunk-KGFNY3KK-BZeP-55u.js} +17 -17
- package/web/assets/chunk-KGYTTC2M-zm6n242I.js +1 -0
- package/web/assets/{chunk-KRXBNO2N-BW5o0KUN.js → chunk-KRXBNO2N-C-UNuKKf.js} +1 -1
- package/web/assets/{chunk-LCXTWHL2-CfLLCywY.js → chunk-LCXTWHL2-C162wE5z.js} +5 -5
- package/web/assets/chunk-LII3EMHJ-BL6lKJ_P.js +1 -0
- package/web/assets/chunk-LRIF4GLE-n59lhprL.js +1 -0
- package/web/assets/chunk-QA3QBVWF-DVXPOIxe.js +2 -0
- package/web/assets/chunk-RERM46MO-B5dAdWpP.js +1 -0
- package/web/assets/chunk-RG4AUYOV-ZNgyLFq6.js +206 -0
- package/web/assets/chunk-RKZBBQEN-MyIQbGgD.js +1 -0
- package/web/assets/chunk-RLI5ZMPA-CkXZ0y0U.js +1 -0
- package/web/assets/chunk-T2UQINTJ-BEyXhZWe.js +1 -0
- package/web/assets/chunk-UP6H54XL-BG-n7qDp.js +1 -0
- package/web/assets/chunk-UXSXWOXI-CW1_r5cS.js +1 -0
- package/web/assets/chunk-UY5QBCOK-ByqTVLvh.js +1 -0
- package/web/assets/chunk-VU6ZFW4Y-BLeasdkU.js +2 -0
- package/web/assets/{chunk-W44A43WB-JqMLIpR0.js → chunk-W44A43WB-BN8EQc_u.js} +1 -1
- package/web/assets/chunk-ZXARS5L4-C3v-4Fsw.js +1 -0
- package/web/assets/classDiagram-KGZ6W3CR-olpO3fMe.js +1 -0
- package/web/assets/classDiagram-v2-72OJOZXJ-olpO3fMe.js +1 -0
- package/web/assets/cose-bilkent-UX7MHV2Q-BmnZ7Mvj.js +1 -0
- package/web/assets/dagre-ND4H6XIP-CY4iIF7v.js +4 -0
- package/web/assets/diagram-3NCE3AQN-CO6QpzEE.js +43 -0
- package/web/assets/diagram-GF46GFSD-B2atbzmU.js +24 -0
- package/web/assets/diagram-HNR7UZ2L-DVRltWbL.js +3 -0
- package/web/assets/diagram-QXG6HAR7-DR6AHD2h.js +24 -0
- package/web/assets/diagram-WEQXMOUZ-DkpoMwTL.js +10 -0
- package/web/assets/erDiagram-L5TCEMPS-n8g_90bc.js +85 -0
- package/web/assets/eventmodeling-FCH6USID-MREXMVOE-CgFBM7e-.js +1 -0
- package/web/assets/flowDiagram-H6V6AXG4-SGMDiCkB.js +162 -0
- package/web/assets/ganttDiagram-JCBTUEKG-Cb3UBqRS.js +292 -0
- package/web/assets/gitGraph-WXDBUCRP-R675I2BI-DCJv7SII.js +1 -0
- package/web/assets/gitGraphDiagram-S2ZK5IYY-Bs9CR7tq.js +106 -0
- package/web/assets/index-CX_fADmQ.css +2 -0
- package/web/assets/index-D1Z3dGGz.js +575 -0
- package/web/assets/info-J43DQDTF-KCYPFFUO-BfNy-9Nd.js +1 -0
- package/web/assets/infoDiagram-3YFTVSEB-T368on4D.js +2 -0
- package/web/assets/{ishikawaDiagram-BNXS4ZKH-DfYpxnE5.js → ishikawaDiagram-BNXS4ZKH-XpjJRU9h.js} +6 -6
- package/web/assets/journeyDiagram-M6C3CM3L-C6wjooas.js +139 -0
- package/web/assets/kanban-definition-75IXJCU3-5_UVY79g.js +89 -0
- package/web/assets/{katex-K3KEBU37-CTc5BslQ.js → katex-K3KEBU37-qRQBy-EZ.js} +2 -2
- package/web/assets/{mindmap-definition-2TDM6QVE-DypvbOMQ.js → mindmap-definition-2TDM6QVE-8xDLzk2e.js} +29 -29
- package/web/assets/node-Ct_zna8U.js +8 -0
- package/web/assets/packet-YPE3B663-LP52Z2RK-D4qkeG9k.js +1 -0
- package/web/assets/pie-LRSECV5Y-TCRJHUBD-B_yMKyQa.js +1 -0
- package/web/assets/pieDiagram-CU6KROY3-Bv4LpAbr.js +30 -0
- package/web/assets/preload-helper-Czpn1I53.js +1 -0
- package/web/assets/{quadrantDiagram-VICAPDV7-yXSZ2lLz.js → quadrantDiagram-VICAPDV7-DR54jOeR.js} +6 -6
- package/web/assets/radar-GUYGQ44K-RDLRG3WG-DeD6yN_0.js +1 -0
- package/web/assets/requirementDiagram-JXO7QTGE-PEkg7sKC.js +84 -0
- package/web/assets/rolldown-runtime-QTnfLwEv.js +1 -0
- package/web/assets/sankeyDiagram-URQDO5SZ-DDWEtjcs.js +40 -0
- package/web/assets/sdk-CzHHH8tD.js +37 -0
- package/web/assets/sequenceDiagram-VS2MUI6T-Bv-uwANx.js +162 -0
- package/web/assets/src-JV30wyV8.js +1 -0
- package/web/assets/stateDiagram-7D4R322I-DVNjmkEq.js +1 -0
- package/web/assets/stateDiagram-v2-36443NZ5-CyN4Fh7_.js +1 -0
- package/web/assets/timeline-definition-O6YCAMPW-Qmsuo7qS.js +120 -0
- package/web/assets/treeView-BLDUP644-QA4HXRO3-CDuSYnd4.js +1 -0
- package/web/assets/treemap-LRROVOQU-LLAWBHMP-imazucyJ.js +1 -0
- package/web/assets/vennDiagram-MWXL3ELB-BD1iK1SX.js +34 -0
- package/web/assets/wardley-L42UT6IY-5TKZOOLJ-DqrT9tB8.js +1 -0
- package/web/assets/wardleyDiagram-CUQ6CDDI-D6TzLVob.js +78 -0
- package/web/assets/{xychartDiagram-N2JHSOCM-BOLm0eNm.js → xychartDiagram-N2JHSOCM-CoZ_Tits.js} +6 -6
- package/web/index.html +18 -10
- package/skills/gitnexus-pr-review.md +0 -163
- package/web/assets/agent-Dli_x7bU.js +0 -660
- package/web/assets/architecture-7EHR7CIX-6QZW5X65-DxJw65fT.js +0 -1
- package/web/assets/architectureDiagram-UL44E2DR-dEkqUZN9.js +0 -36
- package/web/assets/chunk-3SSMPTDK-B4_etUhr.js +0 -321
- package/web/assets/chunk-67TQ5CYL-4sNPJU1q.js +0 -124
- package/web/assets/chunk-7W6UQGC5-KyEG0HQg.js +0 -1
- package/web/assets/chunk-KGYTTC2M-CWC_c3H9.js +0 -161
- package/web/assets/chunk-LII3EMHJ-D-jm-dLa.js +0 -1
- package/web/assets/chunk-QA3QBVWF-BgRW3SXd.js +0 -2
- package/web/assets/chunk-RG4AUYOV-CqWzWsV3.js +0 -206
- package/web/assets/chunk-T2UQINTJ-DSBqkzH7.js +0 -1
- package/web/assets/chunk-UY5QBCOK-DyF0vyGd.js +0 -1
- package/web/assets/chunk-ZXARS5L4-CxN8oiwI.js +0 -1
- package/web/assets/classDiagram-KGZ6W3CR-CMne4tG9.js +0 -1
- package/web/assets/classDiagram-v2-72OJOZXJ-CMne4tG9.js +0 -1
- package/web/assets/cose-bilkent-UX7MHV2Q-D71wNYRJ.js +0 -1
- package/web/assets/dagre-ND4H6XIP-Co5rRx9X.js +0 -4
- package/web/assets/diagram-3NCE3AQN-DBp4O00j.js +0 -43
- package/web/assets/diagram-GF46GFSD-6N_8yS0i.js +0 -24
- package/web/assets/diagram-HNR7UZ2L-DFCfd5LI.js +0 -3
- package/web/assets/diagram-QXG6HAR7-Di093rFg.js +0 -24
- package/web/assets/diagram-WEQXMOUZ-DZWi4SUN.js +0 -10
- package/web/assets/erDiagram-L5TCEMPS-8X1y6R4Y.js +0 -85
- package/web/assets/eventmodeling-FCH6USID-MREXMVOE-BQm9QzEa.js +0 -1
- package/web/assets/flowDiagram-H6V6AXG4-CMpY8Ufn.js +0 -162
- package/web/assets/ganttDiagram-JCBTUEKG-D3iL2Aet.js +0 -292
- package/web/assets/gitGraph-WXDBUCRP-R675I2BI-Cr_Bm2Nb.js +0 -1
- package/web/assets/gitGraphDiagram-S2ZK5IYY-CPIDgxGm.js +0 -106
- package/web/assets/index-KctnI3Vq.js +0 -635
- package/web/assets/index-_lgn7hs5.css +0 -2
- package/web/assets/info-J43DQDTF-KCYPFFUO-Cs4p2oyk.js +0 -1
- package/web/assets/infoDiagram-3YFTVSEB-BaLMZkUg.js +0 -2
- package/web/assets/journeyDiagram-M6C3CM3L-CvArszLo.js +0 -139
- package/web/assets/kanban-definition-75IXJCU3-CpfVLLf9.js +0 -89
- package/web/assets/packet-YPE3B663-LP52Z2RK-CKCrztD2.js +0 -1
- package/web/assets/pie-LRSECV5Y-TCRJHUBD-BB7pHqoD.js +0 -1
- package/web/assets/pieDiagram-CU6KROY3-s27EFWgP.js +0 -30
- package/web/assets/radar-GUYGQ44K-RDLRG3WG-DhoTOcuK.js +0 -1
- package/web/assets/requirementDiagram-JXO7QTGE-CWhqInuf.js +0 -84
- package/web/assets/sankeyDiagram-URQDO5SZ-1qEjlFIB.js +0 -40
- package/web/assets/sequenceDiagram-VS2MUI6T-RyTlZ5cR.js +0 -162
- package/web/assets/stateDiagram-7D4R322I-DTjVfX4A.js +0 -1
- package/web/assets/stateDiagram-v2-36443NZ5-xY9_k9_Q.js +0 -1
- package/web/assets/timeline-definition-O6YCAMPW-DrrqLYAf.js +0 -120
- package/web/assets/treeView-BLDUP644-QA4HXRO3-ODehyGKL.js +0 -1
- package/web/assets/treemap-LRROVOQU-LLAWBHMP-BfpgC-7o.js +0 -1
- package/web/assets/vennDiagram-MWXL3ELB-B0RkWAim.js +0 -34
- package/web/assets/wardley-L42UT6IY-5TKZOOLJ-CNeL6VHE.js +0 -1
- package/web/assets/wardleyDiagram-CUQ6CDDI-boUxiQ5F.js +0 -78
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/__vite-browser-external-bMKyYQkO.js","assets/rolldown-runtime-QTnfLwEv.js","assets/node-Ct_zna8U.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as e,t}from"./rolldown-runtime-QTnfLwEv.js";import{t as n}from"./preload-helper-Czpn1I53.js";function r(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n}function i(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)}function a(e){return typeof e==`object`&&!!e&&(`name`in e&&e.name===`AbortError`||`message`in e&&String(e.message).includes(`FetchRequestCanceledException`))}var o=e=>{if(e instanceof Error)return e;if(typeof e==`object`&&e){try{if(Object.prototype.toString.call(e)===`[object Error]`){let t=Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return Error(JSON.stringify(e))}catch{}}return Error(e)},s=class extends Error{},c=class e extends s{constructor(t,n,r,i,a){super(`${e.makeMessage(t,n,r)}`),this.status=t,this.headers=i,this.requestID=i?.get(`request-id`),this.error=n,this.type=a??null}static makeMessage(e,t,n){let r=t?.message?typeof t.message==`string`?t.message:JSON.stringify(t.message):t?JSON.stringify(t):n;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||`(no status code or body)`}static generate(t,n,r,i){if(!t||!i)return new u({message:r,cause:o(n)});let a=n,s=a?.error?.type;return t===400?new p(t,a,r,i,s):t===401?new m(t,a,r,i,s):t===403?new h(t,a,r,i,s):t===404?new g(t,a,r,i,s):t===409?new _(t,a,r,i,s):t===422?new v(t,a,r,i,s):t===429?new y(t,a,r,i,s):t>=500?new ee(t,a,r,i,s):new e(t,a,r,i,s)}},l=class extends c{constructor({message:e}={}){super(void 0,void 0,e||`Request was aborted.`,void 0)}},u=class extends c{constructor({message:e,cause:t}){super(void 0,void 0,e||`Connection error.`,void 0),t&&(this.cause=t)}},d=class extends u{constructor({message:e}={}){super({message:e??`Request timed out.`})}},f=class extends s{constructor(e,{cause:t}={}){super(e??`Retryable error.`),t!==void 0&&(this.cause=t)}},p=class extends c{},m=class extends c{},h=class extends c{},g=class extends c{},_=class extends c{},v=class extends c{},y=class extends c{},ee=class extends c{},b=class extends Error{constructor(e){let t=typeof e==`string`?e:e.map(e=>e.type===`text`?e.text:`[${e.type}]`).join(` `);super(t),this.name=`ToolError`,this.content=e}},te=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return te=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),n=e?()=>e.getRandomValues(t)[0]:()=>Math.random()*255&255;return`10000000-1000-4000-8000-100000000000`.replace(/[018]/g,e=>(e^n()&15>>e/4).toString(16))},ne=/^[a-z][a-z0-9+.-]*:/i,re=e=>ne.test(e),x=e=>(x=Array.isArray,x(e)),ie=x;function ae(e){return typeof e==`object`?e??{}:{}}function oe(e){if(!e)return!0;for(let t in e)return!1;return!0}function se(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var ce=(e,t)=>{if(typeof t!=`number`||!Number.isInteger(t))throw new s(`${e} must be an integer`);if(t<0)throw new s(`${e} must be a positive integer`);return t},le=e=>{try{return JSON.parse(e)}catch{return}},ue=(e,t)=>{let n=e[t];return delete e[t],n},de=(e,t)=>new Promise(n=>{if(t?.aborted)return n();let r=()=>{clearTimeout(i),n()},i=setTimeout(()=>{t?.removeEventListener(`abort`,r),n()},e);t?.addEventListener(`abort`,r,{once:!0})}),fe=`0.103.0`,pe=()=>typeof window<`u`&&window.document!==void 0&&typeof navigator<`u`;function me(){return typeof Deno<`u`&&Deno.build!=null?`deno`:typeof EdgeRuntime<`u`?`edge`:Object.prototype.toString.call(globalThis.process===void 0?0:globalThis.process)===`[object process]`?`node`:`unknown`}var he=()=>{let e=me();if(e===`deno`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":fe,"X-Stainless-OS":ve(Deno.build.os),"X-Stainless-Arch":_e(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":fe,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":`edge`,"X-Stainless-Runtime-Version":globalThis.process.version};if(e===`node`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":fe,"X-Stainless-OS":ve(globalThis.process.platform??`unknown`),"X-Stainless-Arch":_e(globalThis.process.arch??`unknown`),"X-Stainless-Runtime":`node`,"X-Stainless-Runtime-Version":globalThis.process.version??`unknown`};let t=ge();return t?{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":fe,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`unknown`,"X-Stainless-Runtime":`browser:${t.browser}`,"X-Stainless-Runtime-Version":t.version}:{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":fe,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`unknown`,"X-Stainless-Runtime":`unknown`,"X-Stainless-Runtime-Version":`unknown`}};function ge(){if(typeof navigator>`u`||!navigator)return null;for(let{key:e,pattern:t}of[{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/}]){let n=t.exec(navigator.userAgent);if(n)return{browser:e,version:`${n[1]||0}.${n[2]||0}.${n[3]||0}`}}return null}var _e=e=>e===`x32`?`x32`:e===`x86_64`||e===`x64`?`x64`:e===`arm`?`arm`:e===`aarch64`||e===`arm64`?`arm64`:e?`other:${e}`:`unknown`,ve=e=>(e=e.toLowerCase(),e.includes(`ios`)?`iOS`:e===`android`?`Android`:e===`darwin`?`MacOS`:e===`win32`?`Windows`:e===`freebsd`?`FreeBSD`:e===`openbsd`?`OpenBSD`:e===`linux`?`Linux`:e?`Other:${e}`:`Unknown`),ye,be=()=>ye??=he();function xe(){if(typeof fetch<`u`)return fetch;throw 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 Se(...e){let t=globalThis.ReadableStream;if(t===void 0)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function Ce(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return Se({start(){},async pull(e){let{done:n,value:r}=await t.next();n?e.close():e.enqueue(r)},async cancel(){await t.return?.()}})}function we(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let e=await t.read();return e?.done&&t.releaseLock(),e}catch(e){throw t.releaseLock(),e}},async return(){let e=t.cancel();return t.releaseLock(),await e,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function Te(e){if(typeof e!=`object`||!e)return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),n=t.cancel();t.releaseLock(),await n}var Ee=({headers:e,body:t})=>({bodyHeaders:{"content-type":`application/json`},body:JSON.stringify(t)}),De=`RFC3986`,Oe=e=>String(e),ke={RFC1738:e=>String(e).replace(/%20/g,`+`),RFC3986:Oe},Ae=(e,t)=>(Ae=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty),Ae(e,t)),S=(()=>{let e=[];for(let t=0;t<256;++t)e.push(`%`+((t<16?`0`:``)+t.toString(16)).toUpperCase());return e})(),je=1024,Me=(e,t,n,r,i)=>{if(e.length===0)return e;let a=e;if(typeof e==`symbol`?a=Symbol.prototype.toString.call(e):typeof e!=`string`&&(a=String(e)),n===`iso-8859-1`)return escape(a).replace(/%u[0-9a-f]{4}/gi,function(e){return`%26%23`+parseInt(e.slice(2),16)+`%3B`});let o=``;for(let e=0;e<a.length;e+=je){let t=a.length>=je?a.slice(e,e+je):a,n=[];for(let e=0;e<t.length;++e){let r=t.charCodeAt(e);if(r===45||r===46||r===95||r===126||r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||i===`RFC1738`&&(r===40||r===41)){n[n.length]=t.charAt(e);continue}if(r<128){n[n.length]=S[r];continue}if(r<2048){n[n.length]=S[192|r>>6]+S[128|r&63];continue}if(r<55296||r>=57344){n[n.length]=S[224|r>>12]+S[128|r>>6&63]+S[128|r&63];continue}e+=1,r=65536+((r&1023)<<10|t.charCodeAt(e)&1023),n[n.length]=S[240|r>>18]+S[128|r>>12&63]+S[128|r>>6&63]+S[128|r&63]}o+=n.join(``)}return o};function Ne(e){return!e||typeof e!=`object`?!1:!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))}function Pe(e,t){if(x(e)){let n=[];for(let r=0;r<e.length;r+=1)n.push(t(e[r]));return n}return t(e)}var Fe={brackets(e){return String(e)+`[]`},comma:`comma`,indices(e,t){return String(e)+`[`+t+`]`},repeat(e){return String(e)}},Ie=function(e,t){Array.prototype.push.apply(e,x(t)?t:[t])},Le,C={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:`indices`,charset:`utf-8`,charsetSentinel:!1,delimiter:`&`,encode:!0,encodeDotInKeys:!1,encoder:Me,encodeValuesOnly:!1,format:De,formatter:Oe,indices:!1,serializeDate(e){return(Le??=Function.prototype.call.bind(Date.prototype.toISOString))(e)},skipNulls:!1,strictNullHandling:!1};function Re(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`||typeof e==`symbol`||typeof e==`bigint`}var ze={};function Be(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_){let v=e,y=_,ee=0,b=!1;for(;(y=y.get(ze))!==void 0&&!b;){let t=y.get(e);if(ee+=1,t!==void 0){if(t===ee)throw RangeError(`Cyclic object value`);b=!0}y.get(ze)===void 0&&(ee=0)}if(typeof l==`function`?v=l(t,v):v instanceof Date?v=f?.(v):n===`comma`&&x(v)&&(v=Pe(v,function(e){return e instanceof Date?f?.(e):e})),v===null){if(a)return c&&!h?c(t,C.encoder,g,`key`,p):t;v=``}if(Re(v)||Ne(v)){if(c){let e=h?t:c(t,C.encoder,g,`key`,p);return[m?.(e)+`=`+m?.(c(v,C.encoder,g,`value`,p))]}return[m?.(t)+`=`+m?.(String(v))]}let te=[];if(v===void 0)return te;let ne;if(n===`comma`&&x(v))h&&c&&(v=Pe(v,c)),ne=[{value:v.length>0?v.join(`,`)||null:void 0}];else if(x(l))ne=l;else{let e=Object.keys(v);ne=u?e.sort(u):e}let re=s?String(t).replace(/\./g,`%2E`):String(t),ie=r&&x(v)&&v.length===1?re+`[]`:re;if(i&&x(v)&&v.length===0)return ie+`[]`;for(let t=0;t<ne.length;++t){let y=ne[t],b=typeof y==`object`&&y.value!==void 0?y.value:v[y];if(o&&b===null)continue;let re=d&&s?y.replace(/\./g,`%2E`):y,ae=x(v)?typeof n==`function`?n(ie,re):ie:ie+(d?`.`+re:`[`+re+`]`);_.set(e,ee);let oe=new WeakMap;oe.set(ze,_),Ie(te,Be(b,ae,n,r,i,a,o,s,n===`comma`&&h&&x(v)?null:c,l,u,d,f,p,m,h,g,oe))}return te}function Ve(e=C){if(e.allowEmptyArrays!==void 0&&typeof e.allowEmptyArrays!=`boolean`)throw TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(e.encodeDotInKeys!==void 0&&typeof e.encodeDotInKeys!=`boolean`)throw TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(e.encoder!==null&&e.encoder!==void 0&&typeof e.encoder!=`function`)throw TypeError(`Encoder has to be a function.`);let t=e.charset||C.charset;if(e.charset!==void 0&&e.charset!==`utf-8`&&e.charset!==`iso-8859-1`)throw TypeError(`The charset option must be either utf-8, iso-8859-1, or undefined`);let n=De;if(e.format!==void 0){if(!Ae(ke,e.format))throw TypeError(`Unknown format option provided.`);n=e.format}let r=ke[n],i=C.filter;(typeof e.filter==`function`||x(e.filter))&&(i=e.filter);let a;if(a=e.arrayFormat&&e.arrayFormat in Fe?e.arrayFormat:`indices`in e?e.indices?`indices`:`repeat`:C.arrayFormat,`commaRoundTrip`in e&&typeof e.commaRoundTrip!=`boolean`)throw TypeError("`commaRoundTrip` must be a boolean, or absent");let o=e.allowDots===void 0?e.encodeDotInKeys?!0:C.allowDots:!!e.allowDots;return{addQueryPrefix:typeof e.addQueryPrefix==`boolean`?e.addQueryPrefix:C.addQueryPrefix,allowDots:o,allowEmptyArrays:typeof e.allowEmptyArrays==`boolean`?!!e.allowEmptyArrays:C.allowEmptyArrays,arrayFormat:a,charset:t,charsetSentinel:typeof e.charsetSentinel==`boolean`?e.charsetSentinel:C.charsetSentinel,commaRoundTrip:!!e.commaRoundTrip,delimiter:e.delimiter===void 0?C.delimiter:e.delimiter,encode:typeof e.encode==`boolean`?e.encode:C.encode,encodeDotInKeys:typeof e.encodeDotInKeys==`boolean`?e.encodeDotInKeys:C.encodeDotInKeys,encoder:typeof e.encoder==`function`?e.encoder:C.encoder,encodeValuesOnly:typeof e.encodeValuesOnly==`boolean`?e.encodeValuesOnly:C.encodeValuesOnly,filter:i,format:n,formatter:r,serializeDate:typeof e.serializeDate==`function`?e.serializeDate:C.serializeDate,skipNulls:typeof e.skipNulls==`boolean`?e.skipNulls:C.skipNulls,sort:typeof e.sort==`function`?e.sort:null,strictNullHandling:typeof e.strictNullHandling==`boolean`?e.strictNullHandling:C.strictNullHandling}}function He(e,t={}){let n=e,r=Ve(t),i,a;typeof r.filter==`function`?(a=r.filter,n=a(``,n)):x(r.filter)&&(a=r.filter,i=a);let o=[];if(typeof n!=`object`||!n)return``;let s=Fe[r.arrayFormat],c=s===`comma`&&r.commaRoundTrip;i||=Object.keys(n),r.sort&&i.sort(r.sort);let l=new WeakMap;for(let e=0;e<i.length;++e){let t=i[e];r.skipNulls&&n[t]===null||Ie(o,Be(n[t],t,s,c,r.allowEmptyArrays,r.strictNullHandling,r.skipNulls,r.encodeDotInKeys,r.encode?r.encoder:null,r.filter,r.sort,r.allowDots,r.serializeDate,r.format,r.formatter,r.encodeValuesOnly,r.charset,l))}let u=o.join(r.delimiter),d=r.addQueryPrefix===!0?`?`:``;return r.charsetSentinel&&(r.charset===`iso-8859-1`?d+=`utf8=%26%2310003%3B&`:d+=`utf8=%E2%9C%93&`),u.length>0?d+u:``}function Ue(e){return He(e,{arrayFormat:`brackets`})}var We=`urn:ietf:params:oauth:grant-type:jwt-bearer`,Ge=`refresh_token`,Ke=`/v1/oauth/token`,qe=`oauth-2025-04-20`,Je=`oidc-federation-2026-04-01`,Ye=1<<20;function Xe(e){if(!e)return;let t;try{t=new URL(e)}catch(t){throw new T(`Invalid token endpoint base URL "${e}": ${t}`)}if(t.protocol===`https:`)return;let n=t.hostname.toLowerCase().replace(/^\[|\]$/g,``);if(!(t.protocol===`http:`&&(n===`localhost`||n===`127.0.0.1`||n===`::1`)))throw new T(`Refusing to send credential over non-https token endpoint "${e}"`)}async function Ze(e,t){let n=await nt(e),r;try{r=JSON.parse(n)}catch{throw new T(`Token endpoint returned non-JSON response (status ${e.status})`,e.status,w(n),t)}if(!r.access_token)throw new T(`Token endpoint response missing access_token: ${JSON.stringify(w(r))}`,e.status,w(r),t);if(r.token_type&&r.token_type.toLowerCase()!==`bearer`)throw new T(`Token endpoint response: unsupported token_type "${r.token_type}" (want Bearer)`,e.status,w(r),t);return r}var Qe=2e3,$e=new Set([`error`,`error_description`,`error_uri`]);function w(e){if(e==null)return e;if(typeof e==`string`){let t;try{t=JSON.parse(e)}catch{return e.length<=Qe?e:e.slice(0,Qe)+`... <${e.length-Qe} more chars>`}return JSON.stringify(w(t))}if(typeof e==`object`&&!Array.isArray(e)){let t={};for(let[n,r]of Object.entries(e))$e.has(n)&&(t[n]=r);return t}return null}async function et(t,r=e=>console.warn(`anthropic-sdk: ${e}`)){if(typeof process>`u`||process.platform===`win32`)return;let i=await n(()=>import(`./__vite-browser-external-bMKyYQkO.js`).then(t=>e(t.default,1)),__vite__mapDeps([0,1])),a=t,o;try{a=await i.promises.realpath(t),o=await i.promises.stat(a)}catch{return}let s=o.mode&511;if(s&18)throw new T(`Credentials file at ${a} is group/world-writable (mode 0o${s.toString(8)}); this allows other local users to plant tokens. Run \`chmod 600 ${a}\`.`);if(s&36)throw new T(`Credentials file at ${a} is group/world-readable (mode 0o${s.toString(8)}); run \`chmod 600 ${a}\` before retrying.`);typeof process.getuid==`function`&&o.uid!==process.getuid()&&r(`credentials file at ${a} is owned by uid ${o.uid} (current process uid ${process.getuid()}); verify this is intentional.`)}async function tt(t,r){let i=await n(()=>import(`./__vite-browser-external-bMKyYQkO.js`).then(t=>e(t.default,1)),__vite__mapDeps([0,1])),a=(await n(()=>import(`./__vite-browser-external-bMKyYQkO.js`).then(t=>e(t.default,1)),__vite__mapDeps([0,1]))).dirname(t);await i.promises.mkdir(a,{recursive:!0,mode:448});let o=`${t}.${process.pid}.${Math.random().toString(36).slice(2)}.tmp`;try{let e=await i.promises.open(o,`w`,384);try{await e.writeFile(JSON.stringify(r,null,2)),await e.sync()}finally{await e.close()}await i.promises.rename(o,t)}catch(e){throw await i.promises.unlink(o).catch(()=>{}),e}try{let e=await i.promises.open(a,`r`);try{await e.sync()}finally{await e.close()}}catch{}}async function nt(e){if(!e.body)return``;let t=e.body.getReader(),n=[],r=0;for(;;){let{done:e,value:i}=await t.read();if(e)break;if(r+i.length>Ye){let e=Ye-r;e>0&&n.push(i.subarray(0,e)),await t.cancel();break}n.push(i),r+=i.length}let i;if(n.length===1)i=n[0];else{i=new Uint8Array(n.reduce((e,t)=>e+t.length,0));let e=0;for(let t of n)i.set(t,e),e+=t.length}return new TextDecoder(`utf-8`).decode(i)}var T=class extends s{constructor(e,t=null,n=null,r=null){super(e),this.statusCode=t,this.body=n,this.requestId=r}};function rt(){return Math.floor(Date.now()/1e3)}var it=class{constructor(e,t){this.cached=null,this.pendingRefresh=null,this.nextForce=!1,this.lastAdvisoryError=0,this.provider=e,this.onAdvisoryRefreshError=t}async getToken(){let e=this.nextForce;this.nextForce=!1;let t=this.cached;if(e||t==null)return(await this.refresh(e)).token;if(t.expiresAt==null)return t.token;let n=t.expiresAt-rt();return n>120?t.token:n>30?(this.backgroundRefresh(),t.token):(await this.refresh()).token}invalidate(){this.cached=null,this.nextForce=!0}refresh(e=!1){return this.pendingRefresh&&!e?this.pendingRefresh:this.doRefresh(e)}backgroundRefresh(){this.pendingRefresh||rt()-this.lastAdvisoryError<5||this.doRefresh().catch(e=>{this.lastAdvisoryError=rt(),this.onAdvisoryRefreshError?.(e)})}doRefresh(e=!1){return this.pendingRefresh=this.provider(e?{forceRefresh:!0}:void 0).then(e=>(this.cached=e,this.pendingRefresh=null,e),e=>{throw this.pendingRefresh=null,e}),this.pendingRefresh}},E=e=>{if(globalThis.process!==void 0)return{}[e]?.trim()||void 0;if(globalThis.Deno!==void 0)return globalThis.Deno.env?.get?.(e)?.trim()||void 0};function at(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}var ot;function st(e){let t;return(ot??=(t=new globalThis.TextEncoder,t.encode.bind(t)))(e)}var ct;function lt(e){let t;return(ct??=(t=new globalThis.TextDecoder,t.decode.bind(t)))(e)}var ut=`warn`,dt={off:0,error:200,warn:300,info:400,debug:500},ft=(e,t,n)=>{if(e){if(se(dt,e))return e;n.warn(`${t} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(dt))}`)}};function pt(){}function mt(e,t,n){return!t||dt[e]>dt[n]?pt:t[e].bind(t)}var ht={error:pt,warn:pt,info:pt,debug:pt},gt=new WeakMap;function _t(e,t){let n=gt.get(e);if(n&&n[0]===t)return n[1];let r={error:mt(`error`,e,t),warn:mt(`warn`,e,t),info:mt(`info`,e,t),debug:mt(`debug`,e,t)};return gt.set(e,[t,r]),r}function D(e){let t=e.logger,n=e.logLevel??`off`;return t?_t(t,n):ht}var vt,yt;function bt(){let e=E(`ANTHROPIC_LOG`);return(!yt||e!==vt)&&(vt=e,yt=_t(console,ft(e,`process.env['ANTHROPIC_LOG']`,_t(console,`warn`))??`warn`)),yt}var O=e=>(e.options&&(e.options={...e.options},delete e.options.headers),e.headers&&=Object.fromEntries((e.headers instanceof Headers?[...e.headers]:Object.entries(e.headers)).map(([e,t])=>[e,e.toLowerCase()===`authorization`||e.toLowerCase()===`api-key`||e.toLowerCase()===`x-api-key`||e.toLowerCase()===`cookie`||e.toLowerCase()===`set-cookie`?`***`:t])),`retryOfRequestLogID`in e&&(e.retryOfRequestLogID&&(e.retryOf=e.retryOfRequestLogID),delete e.retryOfRequestLogID),e),xt=/^[A-Za-z0-9_.-]+$/;function St(e){if(!e)throw Error(`profile name is empty`);if(e===`.`||e===`..`)throw Error(`profile name "${e}" is not allowed`);if(e.includes(`/`)||e.includes(`\\`))throw Error(`profile name "${e}" must not contain path separators`);if(!xt.test(e))throw Error(`profile name "${e}" contains disallowed characters (allowed: letters, digits, '_', '.', '-')`)}var Ct=async t=>{var r,i;let a=await Tt();if(a===null)return null;let o=t??await Dt();if(o===null)return null;St(o);let s=await n(()=>import(`./__vite-browser-external-bMKyYQkO.js`).then(t=>e(t.default,1)),__vite__mapDeps([0,1])),c=(await n(()=>import(`./__vite-browser-external-bMKyYQkO.js`).then(t=>e(t.default,1)),__vite__mapDeps([0,1]))).join(a,`configs`,`${o}.json`),l;try{l=await s.promises.readFile(c,`utf-8`)}catch(e){if(e?.code!==`ENOENT`)throw Error(`failed to read config file ${c}: ${e}`);l=null}if(l===null){let e=E(`ANTHROPIC_ORGANIZATION_ID`),t=E(`ANTHROPIC_IDENTITY_TOKEN_FILE`),n=E(`ANTHROPIC_FEDERATION_RULE_ID`);return n&&e?{fromFile:!1,config:{organization_id:e,workspace_id:E(`ANTHROPIC_WORKSPACE_ID`),base_url:E(`ANTHROPIC_BASE_URL`),authentication:{type:`oidc_federation`,federation_rule_id:n,service_account_id:E(`ANTHROPIC_SERVICE_ACCOUNT_ID`),identity_token:t?{source:`file`,path:t}:void 0,scope:E(`ANTHROPIC_SCOPE`)}}}:null}let u;try{u=JSON.parse(l)}catch(e){throw Error(`failed to parse config file ${c}: ${e}`)}if(!u.authentication)throw Error(`config file ${c} is missing "authentication"`);let d=u.authentication.type;if(d!==`oidc_federation`&&d!==`user_oauth`)throw Error(`authentication.type "${d}" is not a known authentication type`);if(u.organization_id??=E(`ANTHROPIC_ORGANIZATION_ID`),u.workspace_id??=E(`ANTHROPIC_WORKSPACE_ID`),u.base_url??=E(`ANTHROPIC_BASE_URL`),(r=u.authentication).scope??(r.scope=E(`ANTHROPIC_SCOPE`)),u.authentication.type===`oidc_federation`){if(!u.authentication.identity_token){let e=E(`ANTHROPIC_IDENTITY_TOKEN_FILE`);e&&(u.authentication.identity_token={source:`file`,path:e})}u.authentication.federation_rule_id||(u.authentication.federation_rule_id=E(`ANTHROPIC_FEDERATION_RULE_ID`)??``),(i=u.authentication).service_account_id??(i.service_account_id=E(`ANTHROPIC_SERVICE_ACCOUNT_ID`))}return{config:u,fromFile:!0}},wt=async(t,r)=>{if(t?.authentication.credentials_path)return t.authentication.credentials_path;let i=await Tt();if(!i)return null;let a=r??await Dt();return a?(St(a),(await n(()=>import(`./__vite-browser-external-bMKyYQkO.js`).then(t=>e(t.default,1)),__vite__mapDeps([0,1]))).join(i,`credentials`,`${a}.json`)):null},Tt=async()=>{if(!Et())return null;let t=await n(()=>import(`./__vite-browser-external-bMKyYQkO.js`).then(t=>e(t.default,1)),__vite__mapDeps([0,1])),r=E(`ANTHROPIC_CONFIG_DIR`);if(r)return r;if(be()[`X-Stainless-OS`]===`Windows`){let e=E(`APPDATA`);if(e)return t.join(e,`Anthropic`);let n=E(`USERPROFILE`);return n?t.join(n,`AppData`,`Roaming`,`Anthropic`):null}let i=E(`XDG_CONFIG_HOME`);if(i)return t.join(i,`anthropic`);let a=E(`HOME`);return a?t.join(a,`.config`,`anthropic`):null},Et=()=>{let e=be()[`X-Stainless-Runtime`];return e===`node`||e===`deno`},Dt=async()=>{let t=await Tt();if(!t)return null;let r=E(`ANTHROPIC_PROFILE`);if(r)return r;let i=await n(()=>import(`./__vite-browser-external-bMKyYQkO.js`).then(t=>e(t.default,1)),__vite__mapDeps([0,1])),a=(await n(()=>import(`./__vite-browser-external-bMKyYQkO.js`).then(t=>e(t.default,1)),__vite__mapDeps([0,1]))).join(t,`active_config`);try{return(await i.promises.readFile(a,`utf-8`)).trim()||`default`}catch(e){if(e?.code!==`ENOENT`)throw Error(`failed to read ${a}: ${e}`);return`default`}};function Ot(t){if(!t)throw new s(`Identity token file path is empty`);return async()=>{let r=await n(()=>import(`./__vite-browser-external-bMKyYQkO.js`).then(t=>e(t.default,1)),__vite__mapDeps([0,1])),i;try{i=await r.promises.readFile(t,`utf-8`)}catch(e){throw new s(`Failed to read identity token file at ${t}: ${e}`)}let a=i.trim();if(!a)throw new s(`Identity token file at ${t} is empty`);return a}}function kt(e){if(!e)throw new s(`Identity token value is empty`);return()=>e}function At(e){return async()=>{Xe(e.baseURL);let t=await e.identityTokenProvider();if(t.length>16*1024)throw new T(`Identity token is ${Math.ceil(t.length/1024)} KiB, exceeds the 16 KiB assertion limit`);let n={grant_type:We,assertion:t,federation_rule_id:e.federationRuleId,organization_id:e.organizationId};e.serviceAccountId&&(n.service_account_id=e.serviceAccountId),e.workspaceId&&(n.workspace_id=e.workspaceId);let r=`${e.baseURL}${Ke}`,i;try{i=await e.fetch(r,{method:`POST`,headers:{"Content-Type":`application/json`,"anthropic-beta":`${qe},${Je}`,"User-Agent":e.userAgent||`anthropic-sdk-typescript/0.103.0 oidcFederationProvider`},body:JSON.stringify(n)})}catch(e){throw new T(`Failed to reach token endpoint ${r}: ${e}`)}let a=i.headers.get(`Request-Id`);if(!i.ok){let t=w(await i.text().catch(()=>``)),n=``;throw i.status===401&&(n=` Ensure your federation rule matches your identity token. ${e.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 T(`Token exchange failed with status ${i.status}${a?` (request-id ${a})`:``}: ${t}${n}`,i.status,t,a)}let o=await Ze(i,a),s=Number(o.expires_in);if(!Number.isFinite(s))throw new T(`Token endpoint response missing required fields: ${JSON.stringify(w(o))}`,i.status,w(o),a);return{token:o.access_token,expiresAt:rt()+s}}}function jt(t){return async r=>{let i=await n(()=>import(`./__vite-browser-external-bMKyYQkO.js`).then(t=>e(t.default,1)),__vite__mapDeps([0,1]));await et(t.credentialsPath,t.onSafetyWarning);let a;try{a=await i.promises.readFile(t.credentialsPath,`utf-8`)}catch(e){throw new T(`Credentials file not found at ${t.credentialsPath}: ${e}`)}let o;try{o=JSON.parse(a)}catch(e){throw new T(`Credentials file at ${t.credentialsPath} is not valid JSON: ${e}`)}let s=o.access_token;if(!s)throw new T(`Credentials file at ${t.credentialsPath} must include 'access_token'`);let c=o.expires_at;if(!r?.forceRefresh&&(c==null||rt()<c-30))return{token:s,expiresAt:c??null};let l=o.refresh_token;if(!t.clientId||!l)throw new T(`Access token at ${t.credentialsPath} has expired and no refresh is available (client_id ${t.clientId?`set`:`empty`}, refresh_token ${l?`set`:`empty`})`);Xe(t.baseURL);let u={grant_type:Ge,refresh_token:l,client_id:t.clientId},d=`${t.baseURL}${Ke}`,f;try{f=await t.fetch(d,{method:`POST`,headers:{"Content-Type":`application/json`,"anthropic-beta":qe,"User-Agent":t.userAgent||`anthropic-sdk-typescript/0.103.0 userOAuthProvider`},body:JSON.stringify(u)})}catch(e){throw new T(`User OAuth refresh failed to reach token endpoint: ${e}`)}let p=f.headers.get(`Request-Id`);if(!f.ok){let e=await f.text().catch(()=>``);throw new T(`User OAuth refresh failed (HTTP ${f.status}): ${w(e)}`,f.status,w(e),p)}let m=await Ze(f,p),h=Number(m.expires_in);if(!Number.isFinite(h))throw new T(`User OAuth refresh response missing or invalid expires_in: ${JSON.stringify(w(m))}`,f.status,w(m),p);let g=rt()+h,_=m.refresh_token||l;return await tt(t.credentialsPath,{...o,version:`1.0`,type:`oauth_token`,access_token:m.access_token,expires_at:g,refresh_token:_}),{token:m.access_token,expiresAt:g}}}function Mt(e,t){let n=Pt(e,e.authentication.credentials_path??null,(e.base_url||t.baseURL).replace(/\/+$/,``),t),r={};return e.workspace_id&&e.authentication.type===`user_oauth`&&(r[`anthropic-workspace-id`]=e.workspace_id),{provider:n,extraHeaders:r,baseURL:e.base_url||void 0}}async function Nt(e,t){let n=await Ct(t);if(!n)return null;let{config:r,fromFile:i}=n;return Mt(r.authentication.credentials_path||!i?r:{...r,authentication:{...r.authentication,credentials_path:await wt(r,t)??void 0}},e)}function Pt(e,t,n,r){switch(e.authentication.type){case`oidc_federation`:{let i=e.authentication,a=Ft(i);if(!a)throw new T(`oidc_federation config requires an identity token (set authentication.identity_token, ANTHROPIC_IDENTITY_TOKEN_FILE, or ANTHROPIC_IDENTITY_TOKEN)`);if(!i.federation_rule_id)throw new T(`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(!e.organization_id)throw new T(`oidc_federation config requires organization_id (set ANTHROPIC_ORGANIZATION_ID or config.organization_id)`);let o=At({identityTokenProvider:a,federationRuleId:i.federation_rule_id,organizationId:e.organization_id,serviceAccountId:i.service_account_id,workspaceId:e.workspace_id,baseURL:n,fetch:r.fetch,userAgent:r.userAgent});return t?It(o,t,r.onCacheWriteError,r.onSafetyWarning):o}case`user_oauth`:if(!t)throw new T(`user_oauth config requires authentication.credentials_path (or load via a profile so it defaults to <config_dir>/credentials/<profile>.json)`);return jt({credentialsPath:t,clientId:e.authentication.client_id,baseURL:n,fetch:r.fetch,userAgent:r.userAgent,onSafetyWarning:r.onSafetyWarning});default:{let t=e.authentication.type;throw new T(`authentication.type "${t}" is not a known authentication type`)}}}function Ft(e){if(e.identity_token){let t=e.identity_token.source;if(t!==`file`)throw new T(`identity_token.source "${t}" is not supported by this SDK version (only "file")`);if(!e.identity_token.path)throw new T(`identity_token.source "file" requires a non-empty path`);return Ot(e.identity_token.path)}let t=E(`ANTHROPIC_IDENTITY_TOKEN_FILE`);if(t)return Ot(t);let n=E(`ANTHROPIC_IDENTITY_TOKEN`);return n?kt(n):null}function It(t,r,i,a){return async o=>{let s=await n(()=>import(`./__vite-browser-external-bMKyYQkO.js`).then(t=>e(t.default,1)),__vite__mapDeps([0,1]));await et(r,a);let c;try{let e=await s.promises.readFile(r,`utf-8`);c=JSON.parse(e);let t=c?.access_token;if(t&&!o?.forceRefresh){let e=c?.expires_at;if(e==null||rt()<e-30)return{token:t,expiresAt:e??null}}}catch(e){e?.code!==`ENOENT`&&!(e instanceof SyntaxError)&&i?.(e)}let l=await t(o);try{await tt(r,{...c??{},version:`1.0`,type:`oauth_token`,access_token:l.token,expires_at:l.expiresAt})}catch(e){i?.(e)}return l}}var k,A,Lt=class{constructor(){k.set(this,void 0),A.set(this,void 0),r(this,k,new Uint8Array,`f`),r(this,A,null,`f`)}decode(e){if(e==null)return[];let t=e instanceof ArrayBuffer?new Uint8Array(e):typeof e==`string`?st(e):e;r(this,k,at([i(this,k,`f`),t]),`f`);let n=[],a;for(;(a=Rt(i(this,k,`f`),i(this,A,`f`)))!=null;){if(a.carriage&&i(this,A,`f`)==null){r(this,A,a.index,`f`);continue}if(i(this,A,`f`)!=null&&(a.index!==i(this,A,`f`)+1||a.carriage)){n.push(lt(i(this,k,`f`).subarray(0,i(this,A,`f`)-1))),r(this,k,i(this,k,`f`).subarray(i(this,A,`f`)),`f`),r(this,A,null,`f`);continue}let e=i(this,A,`f`)===null?a.preceding:a.preceding-1,t=lt(i(this,k,`f`).subarray(0,e));n.push(t),r(this,k,i(this,k,`f`).subarray(a.index),`f`),r(this,A,null,`f`)}return n}flush(){return i(this,k,`f`).length?this.decode(`
|
|
3
|
+
`):[]}};k=new WeakMap,A=new WeakMap,Lt.NEWLINE_CHARS=new Set([`
|
|
4
|
+
`,`\r`]),Lt.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function Rt(e,t){for(let n=t??0;n<e.length;n++){if(e[n]===10)return{preceding:n,index:n+1,carriage:!1};if(e[n]===13)return{preceding:n,index:n+1,carriage:!0}}return null}function zt(e){for(let t=0;t<e.length-1;t++){if(e[t]===10&&e[t+1]===10||e[t]===13&&e[t+1]===13)return t+2;if(e[t]===13&&e[t+1]===10&&t+3<e.length&&e[t+2]===13&&e[t+3]===10)return t+4}return-1}var Bt,Vt=class e{constructor(e,t,n){this.iterator=e,Bt.set(this,void 0),this.controller=t,r(this,Bt,n,`f`)}static rawEvents(e,t=new AbortController){return Ht(e,t)}static fromSSEResponse(t,n,r){let i=!1,o=r?D(r):console;async function*l(){if(i)throw new s("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");i=!0;let e=!1;try{for await(let e of Ht(t,n)){if(e.event===`completion`)try{yield JSON.parse(e.data)}catch(t){throw o.error(`Could not parse message into JSON:`,e.data),o.error(`From chunk:`,e.raw),t}if(e.event===`message_start`||e.event===`message_delta`||e.event===`message_stop`||e.event===`content_block_start`||e.event===`content_block_delta`||e.event===`content_block_stop`||e.event===`message`||e.event===`user.message`||e.event===`user.interrupt`||e.event===`user.tool_confirmation`||e.event===`user.custom_tool_result`||e.event===`user.tool_result`||e.event===`agent.message`||e.event===`agent.thinking`||e.event===`agent.tool_use`||e.event===`agent.tool_result`||e.event===`agent.mcp_tool_use`||e.event===`agent.mcp_tool_result`||e.event===`agent.custom_tool_use`||e.event===`agent.thread_context_compacted`||e.event===`session.status_running`||e.event===`session.status_idle`||e.event===`session.status_rescheduled`||e.event===`session.status_terminated`||e.event===`session.error`||e.event===`session.deleted`||e.event===`session.updated`||e.event===`span.model_request_start`||e.event===`span.model_request_end`||e.event===`span.outcome_evaluation_start`||e.event===`span.outcome_evaluation_ongoing`||e.event===`span.outcome_evaluation_end`||e.event===`user.define_outcome`||e.event===`agent.thread_message_received`||e.event===`agent.thread_message_sent`||e.event===`agent.session_thread_message_received`||e.event===`agent.session_thread_message_sent`||e.event===`session.thread_created`||e.event===`session.thread_status_created`||e.event===`session.thread_status_running`||e.event===`session.thread_status_idle`||e.event===`session.thread_status_rescheduled`||e.event===`session.thread_status_terminated`)try{yield JSON.parse(e.data)}catch(t){throw o.error(`Could not parse message into JSON:`,e.data),o.error(`From chunk:`,e.raw),t}if(e.event!==`ping`&&e.event===`error`){let n=le(e.data)??e.data,r=n?.error?.type;throw new c(void 0,n,void 0,t.headers,r)}}e=!0}catch(e){if(a(e))return;throw e}finally{e||n.abort()}}return new e(l,n,r)}static fromReadableStream(t,n,r){let i=!1;async function*o(){let e=new Lt,n=we(t);for await(let t of n)for(let n of e.decode(t))yield n;for(let t of e.flush())yield t}async function*c(){if(i)throw new s("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");i=!0;let e=!1;try{for await(let t of o())e||t&&(yield JSON.parse(t));e=!0}catch(e){if(a(e))return;throw e}finally{e||n.abort()}}return new e(c,n,r)}[(Bt=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let t=[],n=[],r=this.iterator(),a=e=>({next:()=>{if(e.length===0){let e=r.next();t.push(e),n.push(e)}return e.shift()}});return[new e(()=>a(t),this.controller,i(this,Bt,`f`)),new e(()=>a(n),this.controller,i(this,Bt,`f`))]}toReadableStream(){let e=this,t;return Se({async start(){t=e[Symbol.asyncIterator]()},async pull(e){try{let{value:n,done:r}=await t.next();if(r)return e.close();let i=st(JSON.stringify(n)+`
|
|
5
|
+
`);e.enqueue(i)}catch(t){e.error(t)}},async cancel(){await t.return?.()}})}};async function*Ht(e,t){if(!e.body)throw t.abort(),globalThis.navigator!==void 0&&globalThis.navigator.product===`ReactNative`?new s(`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 s(`Attempted to iterate over a response with no body`);let n=new Wt,r=new Lt,i=we(e.body);for await(let e of Ut(i))for(let t of r.decode(e)){let e=n.decode(t);e&&(yield e)}for(let e of r.flush()){let t=n.decode(e);t&&(yield t)}}async function*Ut(e){let t=new Uint8Array;for await(let n of e){if(n==null)continue;let e=n instanceof ArrayBuffer?new Uint8Array(n):typeof n==`string`?st(n):n,r=new Uint8Array(t.length+e.length);r.set(t),r.set(e,t.length),t=r;let i;for(;(i=zt(t))!==-1;)yield t.slice(0,i),t=t.slice(i)}t.length>0&&(yield t)}var Wt=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith(`\r`)&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;let e={event:this.event,data:this.data.join(`
|
|
6
|
+
`),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],e}if(this.chunks.push(e),e.startsWith(`:`))return null;let[t,n,r]=Gt(e,`:`);return r.startsWith(` `)&&(r=r.substring(1)),t===`event`?this.event=r:t===`data`&&this.data.push(r),null}};function Gt(e,t){let n=e.indexOf(t);return n===-1?[e,``,``]:[e.substring(0,n),t,e.substring(n+t.length)]}async function Kt(e,t){let{response:n,requestLogID:r,retryOfRequestLogID:i,startTime:a}=t,o=await(async()=>{if(t.options.stream)return D(e).debug(`response`,n.status,n.url,n.headers,n.body),Vt.fromSSEResponse(n,t.controller);if(n.status===204)return null;if(t.options.__binaryResponse)return n;let r=n.headers.get(`content-type`)?.split(`;`)[0]?.trim();return r?.includes(`application/json`)||r?.endsWith(`+json`)?n.headers.get(`content-length`)===`0`?void 0:qt(await n.json(),n):await n.text()})();return D(e).debug(`[${r}] response parsed`,O({retryOfRequestLogID:i,url:n.url,status:n.status,body:o,durationMs:Date.now()-a})),o}function qt(e,t){return!e||typeof e!=`object`||Array.isArray(e)?e:Object.defineProperty(e,"_request_id",{value:t.headers.get(`request-id`),enumerable:!1})}var Jt=new WeakSet;function Yt(e){return typeof e==`object`&&!!e&&Jt.has(e)}function Xt(e){let t=new Set;for(;typeof e==`object`&&e&&!t.has(e);){if(t.add(e),Yt(e)||a(e)||e instanceof u||e instanceof f)return!0;e=e.cause}return!1}function Zt(e,t,n,r){return async(i,a={})=>{if(t.length===0)return e.call(void 0,i,a);let o=a.headers instanceof Headers?a.headers:new Headers(a.headers),c=await en(e,t,n,r)({...a,headers:o,url:typeof i==`string`?i:i instanceof URL?i.href:i.url});if(c.bodyUsed||c.body?.locked)throw new s(`middleware consumed the response body; use response.clone() to inspect it, or return new Response(body, response) to consume and replace it`);return c}}function Qt(e,t){let n=new WeakMap;return{options:e,logger:t?D(t):bt(),parse(t){if(e?.stream&&t.ok)return $t(t,e);let r=n.get(t);return r||(r=$t(t,e),n.set(t,r)),r}}}async function $t(e,t){if(e.bodyUsed||e.body?.locked)throw new s(`cannot ctx.parse() a response whose body was already consumed; call ctx.parse() instead of reading the body, or read via response.clone()`);if(t?.stream&&e.ok)return Vt.fromSSEResponse(e.clone(),new AbortController);if(e.status===204)return null;if(t?.__binaryResponse)return e;let n=e.headers.get(`content-type`)?.split(`;`)[0]?.trim();return n?.includes(`application/json`)||n?.endsWith(`+json`)?e.headers.get(`content-length`)===`0`?void 0:qt(await e.clone().json(),e):await e.clone().text()}function en(e,t,n,r){let i=async({url:t,...n})=>{try{return await e.call(void 0,t,n)}catch(e){let t=o(e);throw Jt.add(t),t}},a=Qt(n,r);for(let e=t.length-1;e>=0;e--){let n=t[e],r=i;i=async e=>n(e,r,a)}return i}var tn,nn=class e extends Promise{constructor(e,t,n=Kt){super(e=>{e(null)}),this.responsePromise=t,this.parseResponse=n,tn.set(this,void 0),r(this,tn,e,`f`)}_thenUnwrap(t){return new e(i(this,tn,`f`),this.responsePromise,async(e,n)=>qt(t(await this.parseResponse(e,n),n),n.response))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){let[e,t]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:t,request_id:t.headers.get(`request-id`)}}parse(){return this.parsedPromise||=this.responsePromise.then(e=>this.parseResponse(i(this,tn,`f`),e)),this.parsedPromise}then(e,t){return this.parse().then(e,t)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}};tn=new WeakMap;var rn,an=class{constructor(e,t,n,i){rn.set(this,void 0),r(this,rn,e,`f`),this.options=i,this.response=t,this.body=n}hasNextPage(){return this.getPaginatedItems().length?this.nextPageRequestOptions()!=null:!1}async getNextPage(){let e=this.nextPageRequestOptions();if(!e)throw new s("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await i(this,rn,`f`).requestAPIList(this.constructor,e)}async*iterPages(){let e=this;for(yield e;e.hasNextPage();)e=await e.getNextPage(),yield e}async*[(rn=new WeakMap,Symbol.asyncIterator)](){for await(let e of this.iterPages())for(let t of e.getPaginatedItems())yield t}},on=class extends nn{constructor(e,t,n){super(e,t,async(e,t)=>new n(e,t.response,await Kt(e,t),t.options))}async*[Symbol.asyncIterator](){let e=await this;for await(let t of e)yield t}},sn=class extends an{constructor(e,t,n,r){super(e,t,n,r),this.data=n.data||[],this.has_more=n.has_more||!1,this.first_id=n.first_id||null,this.last_id=n.last_id||null}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more!==!1&&super.hasNextPage()}nextPageRequestOptions(){if(this.options.query?.before_id){let e=this.first_id;return e?{...this.options,query:{...ae(this.options.query),before_id:e}}:null}let e=this.last_id;return e?{...this.options,query:{...ae(this.options.query),after_id:e}}:null}},j=class extends an{constructor(e,t,n,r){super(e,t,n,r),this.data=n.data||[],this.next_page=n.next_page||null}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){let e=this.next_page;return e?{...this.options,query:{...ae(this.options.query),page:e}}:null}},cn=()=>{if(typeof File>`u`){let{process:e}=globalThis,t=typeof e?.versions?.node==`string`&&parseInt(e.versions.node.split(`.`))<20;throw Error("`File` is not defined as a global, which is required for file uploads."+(t?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":``))}};function ln(e,t,n){return cn(),new File(e,t??`unknown_file`,n)}function un(e,t){let n=typeof e==`object`&&!!e&&(`name`in e&&e.name&&String(e.name)||`url`in e&&e.url&&String(e.url)||`filename`in e&&e.filename&&String(e.filename)||`path`in e&&e.path&&String(e.path))||``;return t?n.split(/[\\/]/).pop()||void 0:n}var dn=e=>typeof e==`object`&&!!e&&typeof e[Symbol.asyncIterator]==`function`,fn=async(e,t,n=!0)=>({...e,body:await hn(e.body,t,n)}),pn=new WeakMap;function mn(e){let t=typeof e==`function`?e:e.fetch,n=pn.get(t);if(n)return n;let r=(async()=>{try{let e=`Response`in t?t.Response:(await t(`data:,`)).constructor,n=new FormData;return n.toString()!==await new e(n).text()}catch{return!0}})();return pn.set(t,r),r}var hn=async(e,t,n=!0)=>{if(!await mn(t))throw TypeError(`The provided fetch function does not support file uploads with the current global FormData class.`);let r=new FormData;return await Promise.all(Object.entries(e||{}).map(([e,t])=>_n(r,e,t,n))),r},gn=e=>e instanceof Blob&&`name`in e,_n=async(e,t,n,r)=>{if(n!==void 0){if(n==null)throw TypeError(`Received null for "${t}"; to pass null in FormData, you must use the string 'null'`);if(typeof n==`string`||typeof n==`number`||typeof n==`boolean`)e.append(t,String(n));else if(n instanceof Response){let i={},a=n.headers.get(`Content-Type`);a&&(i={type:a}),e.append(t,ln([await n.blob()],un(n,r),i))}else if(dn(n))e.append(t,ln([await new Response(Ce(n)).blob()],un(n,r)));else if(gn(n))e.append(t,ln([n],un(n,r),{type:n.type}));else if(Array.isArray(n))await Promise.all(n.map(n=>_n(e,t+`[]`,n,r)));else if(typeof n==`object`)await Promise.all(Object.entries(n).map(([n,i])=>_n(e,`${t}[${n}]`,i,r)));else throw TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${n} instead`)}},vn=e=>typeof e==`object`&&!!e&&typeof e.size==`number`&&typeof e.type==`string`&&typeof e.text==`function`&&typeof e.slice==`function`&&typeof e.arrayBuffer==`function`,yn=e=>typeof e==`object`&&!!e&&typeof e.name==`string`&&typeof e.lastModified==`number`&&vn(e),bn=e=>typeof e==`object`&&!!e&&typeof e.url==`string`&&typeof e.blob==`function`;async function xn(e,t,n){if(cn(),e=await e,t||=un(e,!0),yn(e))return e instanceof File&&t==null&&n==null?e:ln([await e.arrayBuffer()],t??e.name,{type:e.type,lastModified:e.lastModified,...n});if(bn(e)){let r=await e.blob();return t||=new URL(e.url).pathname.split(/[\\/]/).pop(),ln(await Sn(r),t,n)}let r=await Sn(e);if(!n?.type){let e=r.find(e=>typeof e==`object`&&`type`in e&&e.type);typeof e==`string`&&(n={...n,type:e})}return ln(r,t,n)}async function Sn(e){let t=[];if(typeof e==`string`||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)t.push(e);else if(vn(e))t.push(e instanceof Blob?e:await e.arrayBuffer());else if(dn(e))for await(let n of e)t.push(...await Sn(n));else{let t=e?.constructor?.name;throw Error(`Unexpected data type: ${typeof e}${t?`; constructor: ${t}`:``}${Cn(e)}`)}return t}function Cn(e){return typeof e!=`object`||!e?``:`; props: [${Object.getOwnPropertyNames(e).map(e=>`"${e}"`).join(`, `)}]`}var M=class{constructor(e){this._client=e}},wn=Symbol.for(`brand.privateNullableHeaders`);function*Tn(e){if(!e)return;if(wn in e){let{values:t,nulls:n}=e;yield*t.entries();for(let e of n)yield[e,null];return}let t=!1,n;e instanceof Headers?n=e.entries():ie(e)?n=e:(t=!0,n=Object.entries(e??{}));for(let e of n){let n=e[0];if(typeof n!=`string`)throw TypeError(`expected header name to be a string`);let r=ie(e[1])?e[1]:[e[1]],i=!1;for(let e of r)e!==void 0&&(t&&!i&&(i=!0,yield[n,null]),yield[n,e])}}var N=e=>{let t=new Headers,n=new Set;for(let r of e){let e=new Set;for(let[i,a]of Tn(r)){let r=i.toLowerCase();e.has(r)||(t.delete(i),e.add(r)),a===null?(t.delete(i),n.add(r)):(t.append(i,a),n.delete(r))}}return{[wn]:!0,values:t,nulls:n}},En=Symbol(`anthropic.sdk.stainlessHelper`);function Dn(e){return typeof e==`object`&&!!e&&En in e}function On(e,t){let n=new Set;if(e)for(let t of e)Dn(t)&&n.add(t[En]);if(t){for(let e of t)if(Dn(e)&&n.add(e[En]),Array.isArray(e.content))for(let t of e.content)Dn(t)&&n.add(t[En])}return Array.from(n)}function kn(e,t){let n=On(e,t);return n.length===0?{}:{"x-stainless-helper":n.join(`, `)}}function An(e){return Dn(e)?{"x-stainless-helper":e[En]}:{}}function jn(e){return e.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var Mn=Object.freeze(Object.create(null)),P=((e=jn)=>function(t,...n){if(t.length===1)return t[0];let r=!1,i=[],a=t.reduce((t,a,o)=>{/[?#]/.test(a)&&(r=!0);let s=n[o],c=(r?encodeURIComponent:e)(``+s);return o!==n.length&&(s==null||typeof s==`object`&&s.toString===Object.getPrototypeOf(Object.getPrototypeOf(s.hasOwnProperty??Mn)??Mn)?.toString)&&(c=s+``,i.push({start:t.length+a.length,length:c.length,error:`Value of type ${Object.prototype.toString.call(s).slice(8,-1)} is not a valid path parameter`})),t+a+(o===n.length?``:c)},``),o=a.split(/[?#]/,1)[0],c=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,l;for(;(l=c.exec(o))!==null;)i.push({start:l.index,length:l[0].length,error:`Value "${l[0]}" can\'t be safely passed as a path parameter`});if(i.sort((e,t)=>e.start-t.start),i.length>0){let e=0,t=i.reduce((t,n)=>{let r=` `.repeat(n.start-e),i=`^`.repeat(n.length);return e=n.start+n.length,t+r+i},``);throw new s(`Path parameters result in path with invalid segments:\n${i.map(e=>e.error).join(`
|
|
7
|
+
`)}\n${a}\n${t}`)}return a})(jn),Nn=class extends M{list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList(`/v1/files?beta=true`,sn,{query:r,...t,headers:N([{"anthropic-beta":[...n??[],`files-api-2025-04-14`].toString()},t?.headers])})}delete(e,t={},n){let{betas:r}=t??{};return this._client.delete(P`/v1/files/${e}?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`files-api-2025-04-14`].toString()},n?.headers])})}download(e,t={},n){let{betas:r}=t??{};return this._client.get(P`/v1/files/${e}/content?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`files-api-2025-04-14`].toString(),Accept:`application/binary`},n?.headers]),__binaryResponse:!0})}retrieveMetadata(e,t={},n){let{betas:r}=t??{};return this._client.get(P`/v1/files/${e}?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`files-api-2025-04-14`].toString()},n?.headers])})}upload(e,t){let{betas:n,...r}=e;return this._client.post(`/v1/files?beta=true`,fn({body:r,...t,headers:N([{"anthropic-beta":[...n??[],`files-api-2025-04-14`].toString()},An(r.file),t?.headers])},this._client))}},Pn=class extends M{retrieve(e,t={},n){let{betas:r}=t??{};return this._client.get(P`/v1/models/${e}?beta=true`,{...n,headers:N([{...r?.toString()==null?void 0:{"anthropic-beta":r?.toString()}},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList(`/v1/models?beta=true`,sn,{query:r,...t,headers:N([{...n?.toString()==null?void 0:{"anthropic-beta":n?.toString()}},t?.headers])})}},Fn=class extends M{create(e,t){let{betas:n,...r}=e;return this._client.post(`/v1/user_profiles?beta=true`,{body:r,...t,headers:N([{"anthropic-beta":[...n??[],`user-profiles-2026-03-24`].toString()},t?.headers])})}retrieve(e,t={},n){let{betas:r}=t??{};return this._client.get(P`/v1/user_profiles/${e}?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`user-profiles-2026-03-24`].toString()},n?.headers])})}update(e,t,n){let{betas:r,...i}=t;return this._client.post(P`/v1/user_profiles/${e}?beta=true`,{body:i,...n,headers:N([{"anthropic-beta":[...r??[],`user-profiles-2026-03-24`].toString()},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList(`/v1/user_profiles?beta=true`,j,{query:r,...t,headers:N([{"anthropic-beta":[...n??[],`user-profiles-2026-03-24`].toString()},t?.headers])})}createEnrollmentURL(e,t={},n){let{betas:r}=t??{};return this._client.post(P`/v1/user_profiles/${e}/enrollment_url?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`user-profiles-2026-03-24`].toString()},n?.headers])})}},In=t((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.timingSafeEqual=void 0;function t(e,t=``){if(!e)throw Error(t)}function n(e,n){if(e.byteLength!==n.byteLength)return!1;e instanceof DataView||(e=new DataView(ArrayBuffer.isView(e)?e.buffer:e)),n instanceof DataView||(n=new DataView(ArrayBuffer.isView(n)?n.buffer:n)),t(e instanceof DataView),t(n instanceof DataView);let r=e.byteLength,i=0,a=-1;for(;++a<r;)i|=e.getUint8(a)^n.getUint8(a);return i===0}e.timingSafeEqual=n})),Ln=t((e=>{var t=e&&e.__extends||(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})();Object.defineProperty(e,"__esModule",{value:!0});var n=256,r=function(){function e(e){e===void 0&&(e=`=`),this._paddingCharacter=e}return e.prototype.encodedLength=function(e){return this._paddingCharacter?(e+2)/3*4|0:(e*8+5)/6|0},e.prototype.encode=function(e){for(var t=``,n=0;n<e.length-2;n+=3){var r=e[n]<<16|e[n+1]<<8|e[n+2];t+=this._encodeByte(r>>>18&63),t+=this._encodeByte(r>>>12&63),t+=this._encodeByte(r>>>6&63),t+=this._encodeByte(r>>>0&63)}var i=e.length-n;if(i>0){var r=e[n]<<16|(i===2?e[n+1]<<8:0);t+=this._encodeByte(r>>>18&63),t+=this._encodeByte(r>>>12&63),i===2?t+=this._encodeByte(r>>>6&63):t+=this._paddingCharacter||``,t+=this._paddingCharacter||``}return t},e.prototype.maxDecodedLength=function(e){return this._paddingCharacter?e/4*3|0:(e*6+7)/8|0},e.prototype.decodedLength=function(e){return this.maxDecodedLength(e.length-this._getPaddingLength(e))},e.prototype.decode=function(e){if(e.length===0)return new Uint8Array;for(var t=this._getPaddingLength(e),r=e.length-t,i=new Uint8Array(this.maxDecodedLength(r)),a=0,o=0,s=0,c=0,l=0,u=0,d=0;o<r-4;o+=4)c=this._decodeChar(e.charCodeAt(o+0)),l=this._decodeChar(e.charCodeAt(o+1)),u=this._decodeChar(e.charCodeAt(o+2)),d=this._decodeChar(e.charCodeAt(o+3)),i[a++]=c<<2|l>>>4,i[a++]=l<<4|u>>>2,i[a++]=u<<6|d,s|=c&n,s|=l&n,s|=u&n,s|=d&n;if(o<r-1&&(c=this._decodeChar(e.charCodeAt(o)),l=this._decodeChar(e.charCodeAt(o+1)),i[a++]=c<<2|l>>>4,s|=c&n,s|=l&n),o<r-2&&(u=this._decodeChar(e.charCodeAt(o+2)),i[a++]=l<<4|u>>>2,s|=u&n),o<r-3&&(d=this._decodeChar(e.charCodeAt(o+3)),i[a++]=u<<6|d,s|=d&n),s!==0)throw Error(`Base64Coder: incorrect characters for decoding`);return i},e.prototype._encodeByte=function(e){var t=e;return t+=65,t+=25-e>>>8&6,t+=51-e>>>8&-75,t+=61-e>>>8&-15,t+=62-e>>>8&3,String.fromCharCode(t)},e.prototype._decodeChar=function(e){var t=n;return t+=(42-e&e-44)>>>8&-n+e-43+62,t+=(46-e&e-48)>>>8&-n+e-47+63,t+=(47-e&e-58)>>>8&-n+e-48+52,t+=(64-e&e-91)>>>8&-n+e-65+0,t+=(96-e&e-123)>>>8&-n+e-97+26,t},e.prototype._getPaddingLength=function(e){var t=0;if(this._paddingCharacter){for(var n=e.length-1;n>=0&&e[n]===this._paddingCharacter;n--)t++;if(e.length<4||t>2)throw Error(`Base64Coder: incorrect padding`)}return t},e}();e.Coder=r;var i=new r;function a(e){return i.encode(e)}e.encode=a;function o(e){return i.decode(e)}e.decode=o;var s=function(e){t(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.prototype._encodeByte=function(e){var t=e;return t+=65,t+=25-e>>>8&6,t+=51-e>>>8&-75,t+=61-e>>>8&-13,t+=62-e>>>8&49,String.fromCharCode(t)},r.prototype._decodeChar=function(e){var t=n;return t+=(44-e&e-46)>>>8&-n+e-45+62,t+=(94-e&e-96)>>>8&-n+e-95+63,t+=(47-e&e-58)>>>8&-n+e-48+52,t+=(64-e&e-91)>>>8&-n+e-65+0,t+=(96-e&e-123)>>>8&-n+e-97+26,t},r}(r);e.URLSafeCoder=s;var c=new s;function l(e){return c.encode(e)}e.encodeURLSafe=l;function u(e){return c.decode(e)}e.decodeURLSafe=u,e.encodedLength=function(e){return i.encodedLength(e)},e.maxDecodedLength=function(e){return i.maxDecodedLength(e)},e.decodedLength=function(e){return i.decodedLength(e)}})),Rn=t(((e,t)=>{(function(e,n){var r={};n(r);var i=r.default;for(var a in r)i[a]=r[a];typeof t==`object`&&typeof t.exports==`object`?t.exports=i:typeof define==`function`&&define.amd?define(function(){return i}):e.sha256=i})(e,function(e){e.__esModule=!0,e.digestLength=32,e.blockSize=64;var t=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 n(e,n,r,i,a){for(var o,s,c,l,u,d,f,p,m,h,g,_,v;a>=64;){for(o=n[0],s=n[1],c=n[2],l=n[3],u=n[4],d=n[5],f=n[6],p=n[7],h=0;h<16;h++)g=i+h*4,e[h]=(r[g]&255)<<24|(r[g+1]&255)<<16|(r[g+2]&255)<<8|r[g+3]&255;for(h=16;h<64;h++)m=e[h-2],_=(m>>>17|m<<15)^(m>>>19|m<<13)^m>>>10,m=e[h-15],v=(m>>>7|m<<25)^(m>>>18|m<<14)^m>>>3,e[h]=(_+e[h-7]|0)+(v+e[h-16]|0);for(h=0;h<64;h++)_=(((u>>>6|u<<26)^(u>>>11|u<<21)^(u>>>25|u<<7))+(u&d^~u&f)|0)+(p+(t[h]+e[h]|0)|0)|0,v=((o>>>2|o<<30)^(o>>>13|o<<19)^(o>>>22|o<<10))+(o&s^o&c^s&c)|0,p=f,f=d,d=u,u=l+_|0,l=c,c=s,s=o,o=_+v|0;n[0]+=o,n[1]+=s,n[2]+=c,n[3]+=l,n[4]+=u,n[5]+=d,n[6]+=f,n[7]+=p,i+=64,a-=64}return i}var r=function(){function t(){this.digestLength=e.digestLength,this.blockSize=e.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 t.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},t.prototype.clean=function(){for(var e=0;e<this.buffer.length;e++)this.buffer[e]=0;for(var e=0;e<this.temp.length;e++)this.temp[e]=0;this.reset()},t.prototype.update=function(e,t){if(t===void 0&&(t=e.length),this.finished)throw Error(`SHA256: can't update because hash was finished.`);var r=0;if(this.bytesHashed+=t,this.bufferLength>0){for(;this.bufferLength<64&&t>0;)this.buffer[this.bufferLength++]=e[r++],t--;this.bufferLength===64&&(n(this.temp,this.state,this.buffer,0,64),this.bufferLength=0)}for(t>=64&&(r=n(this.temp,this.state,e,r,t),t%=64);t>0;)this.buffer[this.bufferLength++]=e[r++],t--;return this},t.prototype.finish=function(e){if(!this.finished){var t=this.bytesHashed,r=this.bufferLength,i=t/536870912|0,a=t<<3,o=t%64<56?64:128;this.buffer[r]=128;for(var s=r+1;s<o-8;s++)this.buffer[s]=0;this.buffer[o-8]=i>>>24&255,this.buffer[o-7]=i>>>16&255,this.buffer[o-6]=i>>>8&255,this.buffer[o-5]=i>>>0&255,this.buffer[o-4]=a>>>24&255,this.buffer[o-3]=a>>>16&255,this.buffer[o-2]=a>>>8&255,this.buffer[o-1]=a>>>0&255,n(this.temp,this.state,this.buffer,0,o),this.finished=!0}for(var s=0;s<8;s++)e[s*4+0]=this.state[s]>>>24&255,e[s*4+1]=this.state[s]>>>16&255,e[s*4+2]=this.state[s]>>>8&255,e[s*4+3]=this.state[s]>>>0&255;return this},t.prototype.digest=function(){var e=new Uint8Array(this.digestLength);return this.finish(e),e},t.prototype._saveState=function(e){for(var t=0;t<this.state.length;t++)e[t]=this.state[t]},t.prototype._restoreState=function(e,t){for(var n=0;n<this.state.length;n++)this.state[n]=e[n];this.bytesHashed=t,this.finished=!1,this.bufferLength=0},t}();e.Hash=r;var i=function(){function e(e){this.inner=new r,this.outer=new r,this.blockSize=this.inner.blockSize,this.digestLength=this.inner.digestLength;var t=new Uint8Array(this.blockSize);if(e.length>this.blockSize)new r().update(e).finish(t).clean();else for(var n=0;n<e.length;n++)t[n]=e[n];for(var n=0;n<t.length;n++)t[n]^=54;this.inner.update(t);for(var n=0;n<t.length;n++)t[n]^=106;this.outer.update(t),this.istate=new Uint32Array(8),this.ostate=new Uint32Array(8),this.inner._saveState(this.istate),this.outer._saveState(this.ostate);for(var n=0;n<t.length;n++)t[n]=0}return e.prototype.reset=function(){return this.inner._restoreState(this.istate,this.inner.blockSize),this.outer._restoreState(this.ostate,this.outer.blockSize),this},e.prototype.clean=function(){for(var e=0;e<this.istate.length;e++)this.ostate[e]=this.istate[e]=0;this.inner.clean(),this.outer.clean()},e.prototype.update=function(e){return this.inner.update(e),this},e.prototype.finish=function(e){return this.outer.finished?this.outer.finish(e):(this.inner.finish(e),this.outer.update(e,this.digestLength).finish(e)),this},e.prototype.digest=function(){var e=new Uint8Array(this.digestLength);return this.finish(e),e},e}();e.HMAC=i;function a(e){var t=new r().update(e),n=t.digest();return t.clean(),n}e.hash=a,e.default=a;function o(e,t){var n=new i(e).update(t),r=n.digest();return n.clean(),r}e.hmac=o;function s(e,t,n,r){var i=r[0];if(i===0)throw Error(`hkdf: cannot expand more`);t.reset(),i>1&&t.update(e),n&&t.update(n),t.update(r),t.finish(e),r[0]++}var c=new Uint8Array(e.digestLength);function l(e,t,n,r){t===void 0&&(t=c),r===void 0&&(r=32);for(var a=new Uint8Array([1]),l=new i(o(t,e)),u=new Uint8Array(l.digestLength),d=u.length,f=new Uint8Array(r),p=0;p<r;p++)d===u.length&&(s(u,l,n,a),d=0),f[p]=u[d++];return l.clean(),u.fill(0),a.fill(0),f}e.hkdf=l;function u(e,t,n,r){for(var a=new i(e),o=a.digestLength,s=new Uint8Array(4),c=new Uint8Array(o),l=new Uint8Array(o),u=new Uint8Array(r),d=0;d*o<r;d++){var f=d+1;s[0]=f>>>24&255,s[1]=f>>>16&255,s[2]=f>>>8&255,s[3]=f>>>0&255,a.reset(),a.update(t),a.update(s),a.finish(l);for(var p=0;p<o;p++)c[p]=l[p];for(var p=2;p<=n;p++){a.reset(),a.update(l).finish(l);for(var m=0;m<o;m++)c[m]^=l[m]}for(var p=0;p<o&&d*o+p<r;p++)u[d*o+p]=c[p]}for(var d=0;d<o;d++)c[d]=l[d]=0;for(var d=0;d<4;d++)s[d]=0;return a.clean(),u}e.pbkdf2=u})})),zn=t((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Webhook=e.WebhookVerificationError=void 0;var t=In(),n=Ln(),r=Rn(),i=300,a=class e extends Error{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype),this.name=`ExtendableError`,this.stack=Error(t).stack}},o=class e extends a{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype),this.name=`WebhookVerificationError`}};e.WebhookVerificationError=o;var s=class e{constructor(t,r){if(!t)throw Error(`Secret can't be empty.`);if(r?.format===`raw`)t instanceof Uint8Array?this.key=t:this.key=Uint8Array.from(t,e=>e.charCodeAt(0));else{if(typeof t!=`string`)throw Error(`Expected secret to be of type string`);t.startsWith(e.prefix)&&(t=t.substring(e.prefix.length)),this.key=n.decode(t)}}verify(e,n){let r={};for(let e of Object.keys(n))r[e.toLowerCase()]=n[e];let i=r[`webhook-id`],a=r[`webhook-signature`],s=r[`webhook-timestamp`];if(!a||!i||!s)throw new o(`Missing required headers`);let c=this.verifyTimestamp(s),l=this.sign(i,c,e).split(`,`)[1],u=a.split(` `),d=new globalThis.TextEncoder;for(let n of u){let[r,i]=n.split(`,`);if(r===`v1`&&(0,t.timingSafeEqual)(d.encode(i),d.encode(l)))return JSON.parse(e.toString())}throw new o(`No matching signature found`)}sign(e,t,i){if(typeof i!=`string`)if(i.constructor.name===`Buffer`)i=i.toString();else throw Error(`Expected payload to be of type string or Buffer.`);let a=new TextEncoder,o=Math.floor(t.getTime()/1e3),s=a.encode(`${e}.${o}.${i}`);return`v1,${n.encode(r.hmac(this.key,s))}`}verifyTimestamp(e){let t=Math.floor(Date.now()/1e3),n=parseInt(e,10);if(isNaN(n))throw new o(`Invalid Signature Headers`);if(t-n>i)throw new o(`Message timestamp too old`);if(n>t+i)throw new o(`Message timestamp too new`);return new Date(n*1e3)}};e.Webhook=s,s.prefix=`whsec_`}))(),Bn=class extends M{unwrap(e,{headers:t,key:n}){if(t!==void 0){let r=n===void 0?this._client.webhookKey:n;if(r===null)throw Error(`Webhook key must not be null in order to unwrap`);new zn.Webhook(r).verify(e,t)}return JSON.parse(e)}},Vn=class extends M{list(e,t={},n){let{betas:r,...i}=t??{};return this._client.getAPIList(P`/v1/agents/${e}/versions?beta=true`,j,{query:i,...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}},Hn=class extends M{constructor(){super(...arguments),this.versions=new Vn(this._client)}create(e,t){let{betas:n,...r}=e;return this._client.post(`/v1/agents?beta=true`,{body:r,...t,headers:N([{"anthropic-beta":[...n??[],`managed-agents-2026-04-01`].toString()},t?.headers])})}retrieve(e,t={},n){let{betas:r,...i}=t??{};return this._client.get(P`/v1/agents/${e}?beta=true`,{query:i,...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}update(e,t,n){let{betas:r,...i}=t;return this._client.post(P`/v1/agents/${e}?beta=true`,{body:i,...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList(`/v1/agents?beta=true`,j,{query:r,...t,headers:N([{"anthropic-beta":[...n??[],`managed-agents-2026-04-01`].toString()},t?.headers])})}archive(e,t={},n){let{betas:r}=t??{};return this._client.post(P`/v1/agents/${e}/archive?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}};Hn.Versions=Vn;function Un(e,t){if(!e)return()=>{};if(e.aborted)return t.abort(),()=>{};let n=()=>t.abort();return e.addEventListener(`abort`,n),()=>e.removeEventListener(`abort`,n)}function Wn(e,t){return e instanceof c&&e.status===t}function Gn(e){return e instanceof c&&typeof e.status==`number`&&e.status>=400&&e.status<500}function Kn(e){return Gn(e)&&!Wn(e,408)&&!Wn(e,409)&&!Wn(e,429)}function qn(e,t,n){return Math.min(t*2**e,n)}function Jn(e,t){return e+Math.random()*(t-e)}function Yn(e){return e*(1-Math.random()*.25)}function Xn(e,{authToken:t,helper:n}){if(!t)throw new s(`copyClientForHelper: expected a non-empty authToken but received ${JSON.stringify(t)}`);let r=e,i=r._options.defaultHeaders,a=r._authState?.extraHeaders,o=N([a?Object.fromEntries(Object.entries(a).filter(([e])=>{let t=e.toLowerCase();return t!==`authorization`&&t!==`x-api-key`})):void 0,i,{"x-stainless-helper":n}]);return e.withOptions({apiKey:null,authToken:t,baseURL:e.baseURL,credentials:void 0,defaultHeaders:o})}var Zn,Qn,F,$n,er,tr,nr,rr,ir,ar=1e3,or=6e4,sr=class{constructor(e){Zn.set(this,void 0),Qn.set(this,!1),F.set(this,void 0),$n.set(this,void 0),er.set(this,void 0),tr.set(this,void 0),nr.set(this,void 0),rr.set(this,void 0),ir.set(this,void 0),this.client=e.client,this.environmentId=e.environmentId,this.environmentKey=e.environmentKey,this.workerId=e.workerId??lr(),r(this,Zn,Xn(e.client,{authToken:e.environmentKey,helper:`environments-work-poller`}),`f`),r(this,er,e.autoStop??!0,`f`),r(this,tr,e.drain??!1,`f`),r(this,nr,e.blockMs===void 0?999:e.blockMs,`f`),r(this,rr,e.reclaimOlderThanMs??null,`f`),r(this,ir,e.requestOptions,`f`),r(this,F,new AbortController,`f`),r(this,$n,Un(e.signal,i(this,F,`f`)),`f`)}get signal(){return i(this,F,`f`).signal}abort(){i(this,F,`f`).abort()}async*[(Zn=new WeakMap,Qn=new WeakMap,F=new WeakMap,$n=new WeakMap,er=new WeakMap,tr=new WeakMap,nr=new WeakMap,rr=new WeakMap,ir=new WeakMap,Symbol.asyncIterator)](){if(i(this,Qn,`f`))throw new s(`Cannot iterate over a consumed WorkPoller`);r(this,Qn,!0,`f`);let e=D(this.client);e.info(`poller starting`,{component:`work-poller`,environment_id:this.environmentId});try{let t=0;for(;!i(this,F,`f`).signal.aborted;){let n;try{n=await i(this,Zn,`f`).beta.environments.work.poll(this.environmentId,{"Anthropic-Worker-ID":this.workerId,...i(this,nr,`f`)===null?{}:{block_ms:i(this,nr,`f`)},...i(this,rr,`f`)===null?{}:{reclaim_older_than_ms:i(this,rr,`f`)}},{headers:N([i(this,ir,`f`)?.headers]),signal:i(this,F,`f`).signal})}catch(n){if(i(this,F,`f`).signal.aborted)return;if(Kn(n))throw e.error(`poll failed permanently, stopping poller`,{error:String(n)}),n;let r=Yn(cr(t));e.warn(`poll failed, backing off`,{error:String(n),backoff_ms:r}),t++,await de(r,i(this,F,`f`).signal);continue}if(t=0,n==null){if(i(this,tr,`f`))return;await de(Jn(1e3,3e3),i(this,F,`f`).signal);continue}e.info(`claimed work`,{component:`work-poller`,environment_id:this.environmentId,work_id:n.id,work_type:n.data.type});try{await i(this,Zn,`f`).beta.environments.work.ack(n.id,{environment_id:n.environment_id},{headers:N([i(this,ir,`f`)?.headers]),signal:i(this,F,`f`).signal})}catch(t){e.error(`ack failed`,{work_id:n.id,error:String(t)});continue}try{yield n}finally{if(i(this,er,`f`))try{await i(this,Zn,`f`).beta.environments.work.stop(n.id,{environment_id:n.environment_id},{headers:N([i(this,ir,`f`)?.headers])})}catch(t){Wn(t,409)||e.warn(`stop failed`,{work_id:n.id,error:String(t)})}}}}finally{i(this,$n,`f`).call(this)}}};function cr(e){return qn(e,ar,or)}function lr(){let e={}.HOSTNAME;return e?`${e}-${te()}`:te()}var ur,I,dr,fr=class{constructor(){ur.set(this,[]),I.set(this,[]),dr.set(this,!1)}push(e){if(i(this,dr,`f`))return!1;let t=i(this,I,`f`).shift();return t?t({done:!1,value:e}):i(this,ur,`f`).push(e),!0}close(){if(!i(this,dr,`f`))for(r(this,dr,!0,`f`);i(this,I,`f`).length>0;)i(this,I,`f`).shift()({done:!0,value:void 0})}next(e){return i(this,ur,`f`).length>0?Promise.resolve({done:!1,value:i(this,ur,`f`).shift()}):i(this,dr,`f`)||e?.aborted?Promise.resolve({done:!0,value:void 0}):new Promise(t=>{let n=n=>{e?.removeEventListener(`abort`,r),t(n)},r=()=>{let e=i(this,I,`f`).indexOf(n);e>=0&&i(this,I,`f`).splice(e,1),t({done:!0,value:void 0})};i(this,I,`f`).push(n),e?.addEventListener(`abort`,r,{once:!0})})}tryShift(){return i(this,ur,`f`).shift()}};ur=new WeakMap,I=new WeakMap,dr=new WeakMap;function pr(e){return`name`in e?e.name:e.mcp_server_name}function mr(e){return e instanceof b?e.content:`Error: ${e instanceof Error?e.message:String(e)}`}async function hr(e,t,n){try{let r=e.parse?e.parse(t):t;return{content:await e.run(r,n),isError:!1}}catch(e){return{content:mr(e),isError:!0}}}var L,gr,R,_r,vr,yr,z,br,B,xr,V,Sr,Cr,wr,Tr,Er,Dr,Or,kr,Ar,jr,Mr,Nr,Pr=`SessionToolRunner`,Fr=500,Ir=1e4,Lr=12e4,Rr=3e4,zr=3;function Br(e){return e.type===`session.status_idle`&&e.stop_reason?.type===`end_turn`}var Vr=class{constructor(e,t){L.add(this),gr.set(this,!1),R.set(this,void 0),_r.set(this,void 0),vr.set(this,void 0),yr.set(this,void 0),z.set(this,void 0),br.set(this,new Set),B.set(this,new Set),xr.set(this,new fr),V.set(this,0),Sr.set(this,null),Cr.set(this,void 0),this.client=t.client,this.sessionId=e,this.tools=t.tools,this.maxIdleMs=t.maxIdleMs??6e4,r(this,z,D(t.client),`f`),r(this,yr,new Map(t.tools.map(e=>[pr(e),e])),`f`),r(this,R,new AbortController,`f`),r(this,_r,Un(t.signal,i(this,R,`f`)),`f`),r(this,vr,t.requestOptions,`f`)}get signal(){return i(this,R,`f`).signal}abort(){i(this,R,`f`).abort()}async*[(gr=new WeakMap,R=new WeakMap,_r=new WeakMap,vr=new WeakMap,yr=new WeakMap,z=new WeakMap,br=new WeakMap,B=new WeakMap,xr=new WeakMap,V=new WeakMap,Sr=new WeakMap,Cr=new WeakMap,L=new WeakSet,Symbol.asyncIterator)](){if(i(this,gr,`f`))throw new s(`Cannot iterate over a consumed SessionToolRunner`);r(this,gr,!0,`f`),i(this,z,`f`).info(`session tool runner starting`,{component:`session-tool-runner`,session_id:this.sessionId});let e=i(this,L,`m`,Tr).call(this).catch(e=>{i(this,R,`f`).signal.aborted||i(this,z,`f`).error(`stream loop failed`,{error:String(e)}),i(this,R,`f`).abort()});try{for(;;){let e=await i(this,xr,`f`).next(i(this,R,`f`).signal);if(e.done)break;yield e.value}await e;let t;for(;(t=i(this,xr,`f`).tryShift())!==void 0;)yield t}finally{i(this,R,`f`).abort(),i(this,L,`m`,Ar).call(this),await e;try{await i(this,L,`m`,Nr).call(this)}catch(e){i(this,z,`f`).warn(`drain failed`,{error:String(e)})}i(this,xr,`f`).close();for(let e of this.tools)try{await e.close?.()}catch(t){i(this,z,`f`).warn(`tool.close failed`,{tool:pr(e),error:String(t)})}i(this,_r,`f`).call(this)}}};wr=function(){return{...i(this,vr,`f`),headers:N([{"x-stainless-helper":Pr},i(this,vr,`f`)?.headers]),signal:i(this,R,`f`).signal}},Tr=async function(){let e=i(this,R,`f`),t=Fr;for(;!e.signal.aborted;){try{let e=await this.client.beta.sessions.events.stream(this.sessionId,{},i(this,L,`m`,wr).call(this));await i(this,L,`m`,Er).call(this);for await(let n of e)if(t=Fr,await i(this,L,`m`,Or).call(this,n))return}catch(n){if(e.signal.throwIfAborted(),Kn(n))throw i(this,z,`f`).error(`permanent stream failure, shutting down`,{error:String(n)}),e.abort(),n;i(this,z,`f`).warn(`stream disconnected, reconnecting`,{error:String(n),backoff_ms:t})}e.signal.throwIfAborted(),await de(t,e.signal),t=Math.min(t*2,Ir)}},Er=async function(){let e=i(this,R,`f`),t=[],n=!1;try{for await(let e of this.client.beta.sessions.events.list(this.sessionId,{limit:1e3},i(this,L,`m`,wr).call(this)))i(this,L,`m`,Dr).call(this,e,t),n=Br(e)}catch(n){e.signal.throwIfAborted(),i(this,z,`f`).warn(`reconcile list failed`,{error:String(n)});for(let e of t)i(this,br,`f`).delete(e.id);return}let r=t.filter(e=>!i(this,B,`f`).has(e.id));n&&r.length===0?i(this,L,`m`,kr).call(this):i(this,L,`m`,Ar).call(this);for(let e of r)await i(this,L,`m`,jr).call(this,e)},Dr=function(e,t){e.type===`agent.tool_use`||e.type===`agent.custom_tool_use`?(i(this,br,`f`).add(e.id),i(this,B,`f`).has(e.id)||t.push(e)):e.type===`user.tool_result`?i(this,B,`f`).add(e.tool_use_id):e.type===`user.custom_tool_result`&&i(this,B,`f`).add(e.custom_tool_use_id)},Or=async function(e){switch(Br(e)?i(this,L,`m`,kr).call(this):i(this,L,`m`,Ar).call(this),e.type){case`agent.tool_use`:case`agent.custom_tool_use`:return i(this,br,`f`).has(e.id)||(i(this,br,`f`).add(e.id),await i(this,L,`m`,jr).call(this,e)),!1;case`user.tool_result`:return i(this,B,`f`).add(e.tool_use_id),!1;case`user.custom_tool_result`:return i(this,B,`f`).add(e.custom_tool_use_id),!1;case`session.status_terminated`:case`session.deleted`:return i(this,z,`f`).info(`session terminated`,{component:`session-tool-runner`,session_id:this.sessionId}),i(this,R,`f`).abort(),!0;default:return!1}},kr=function(){i(this,L,`m`,Ar).call(this),!(this.maxIdleMs<=0)&&r(this,Cr,setTimeout(()=>{i(this,z,`f`).info(`session idle after end_turn; stopping`,{component:`session-tool-runner`,session_id:this.sessionId,max_idle_ms:this.maxIdleMs}),i(this,R,`f`).abort()},this.maxIdleMs),`f`)},Ar=function(){i(this,Cr,`f`)!==void 0&&(clearTimeout(i(this,Cr,`f`)),r(this,Cr,void 0,`f`))},jr=async function(e){var t,n;if(!i(this,B,`f`).has(e.id)){i(this,z,`f`).info(`executing tool`,{component:`session-tool-runner`,session_id:this.sessionId,tool:e.name,tool_use_id:e.id}),r(this,V,(t=i(this,V,`f`),t++,t),`f`);try{let t=i(this,yr,`f`).get(e.name);if(!t){i(this,z,`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:e.name,tool_use_id:e.id}),i(this,xr,`f`).push({event:e,toolUseId:e.id,name:e.name,isError:!1,posted:!1});return}let n,r,a=new AbortController,o=Un(i(this,R,`f`).signal,a),s=setTimeout(()=>a.abort(),Lr);try{let i=await hr(t,e.input,{toolUse:e,toolUseBlock:e,signal:a.signal});n=i.content,r=i.isError}finally{clearTimeout(s),o()}let c=Hr(e,r,Ur(n)),l=await i(this,L,`m`,Mr).call(this,c,e.id);i(this,xr,`f`).push({event:e,result:c,toolUseId:e.id,name:e.name,isError:r,posted:l})}finally{r(this,V,(n=i(this,V,`f`),n--,n),`f`),i(this,V,`f`)===0&&i(this,Sr,`f`)?.call(this)}}},Mr=async function(e,t){let n=i(this,R,`f`),r;for(let a=0;a<zr;a++){n.signal.throwIfAborted();try{return await this.client.beta.sessions.events.send(this.sessionId,{events:[e]},i(this,L,`m`,wr).call(this)),i(this,B,`f`).add(t),!0}catch(e){if(r=e,Kn(e))break;a<zr-1&&await de((a+1)*1e3,n.signal)}}return i(this,z,`f`).error(`failed to send tool result`,{tool_use_id:t,error:String(r)}),!1},Nr=async function(){i(this,V,`f`)!==0&&(await Promise.race([new Promise(e=>r(this,Sr,e,`f`)),de(Rr)]),r(this,Sr,null,`f`),i(this,V,`f`)>0&&i(this,z,`f`).warn(`drain timeout exceeded`))};function Hr(e,t,n){return e.type===`agent.custom_tool_use`?{type:`user.custom_tool_result`,custom_tool_use_id:e.id,is_error:t,content:n}:{type:`user.tool_result`,tool_use_id:e.id,is_error:t,content:n}}function Ur(e){if(typeof e==`string`)return[{type:`text`,text:e||`(no output)`}];let t=e.map(e=>e.type===`text`?{type:`text`,text:e.text||`(no output)`}:e.type===`image`||e.type===`document`?e:e.type===`search_result`?{type:`search_result`,source:e.source,title:e.title,content:e.content.map(e=>({type:`text`,text:e.text})),citations:{enabled:e.citations?.enabled??!1}}:{type:`text`,text:JSON.stringify(e)});return t.length>0?t:[{type:`text`,text:`(no output)`}]}var Wr,Gr,Kr,qr=3e4,Jr=`NO_HEARTBEAT`,Yr=class{constructor(e){Wr.add(this),Gr.set(this,void 0),this.client=e.client,this.environmentId=e.environmentId,this.environmentKey=e.environmentKey,this.tools=e.tools,this.workdir=e.workdir??process.cwd(),this.unrestrictedPaths=e.unrestrictedPaths,this.maxFileBytes=e.maxFileBytes,this.maxIdleMs=e.maxIdleMs,this.workerId=e.workerId,this.requestOptions=e.requestOptions,r(this,Gr,e.signal,`f`)}async run(e){let{environmentId:t,environmentKey:n}=this;if(t===void 0||n===void 0)throw new s(`EnvironmentWorker.run: environmentId and environmentKey are required to poll for work`);let r=e??i(this,Gr,`f`),a=new sr({client:this.client,environmentId:t,environmentKey:n,...this.workerId===void 0?{}:{workerId:this.workerId},...r?{signal:r}:{},...this.requestOptions===void 0?{}:{requestOptions:this.requestOptions},autoStop:!1});for await(let e of a)await i(this,Wr,`m`,Kr).call(this,e,n,a.signal)}async handleItem(e){let t=e?.workId??E(`ANTHROPIC_WORK_ID`),n=e?.environmentId??E(`ANTHROPIC_ENVIRONMENT_ID`),r=e?.sessionId??E(`ANTHROPIC_SESSION_ID`),a=e?.environmentKey??this.environmentKey??E(`ANTHROPIC_ENVIRONMENT_KEY`);if(!t)throw new s(`handleItem: workId is required — pass it or set ANTHROPIC_WORK_ID`);if(!n)throw new s(`handleItem: environmentId is required — pass it or set ANTHROPIC_ENVIRONMENT_ID`);if(!r)throw new s(`handleItem: sessionId is required — pass it or set ANTHROPIC_SESSION_ID`);if(!a)throw new s(`handleItem: environmentKey is required — pass it, construct the worker with it, or set ANTHROPIC_ENVIRONMENT_KEY`);let o={id:t,environment_id:n,data:{type:`session`,id:r}};await i(this,Wr,`m`,Kr).call(this,o,a,e?.signal??i(this,Gr,`f`))}};Gr=new WeakMap,Wr=new WeakSet,Kr=async function(e,t,r){let i=D(this.client),a=Xn(this.client,{authToken:t,helper:`environments-worker`}),o=e.data.id,s={workdir:this.workdir,client:this.client,sessionId:o,...this.unrestrictedPaths===void 0?{}:{unrestrictedPaths:this.unrestrictedPaths},...this.maxFileBytes===void 0?{}:{maxFileBytes:this.maxFileBytes}},c=await n(()=>import(`./node-Ct_zna8U.js`),__vite__mapDeps([2,1,0])),l=async()=>{};try{l=await c.setupSkills(s)}catch(t){i.warn(`skill setup failed`,{session_id:o,work_id:e.id,error:String(t)})}let u=typeof this.tools==`function`?this.tools(s):this.tools??c.betaAgentToolset20260401(s),d=new AbortController,f=Un(r,d),p=Zr(a,e,d,i,this.requestOptions).catch(t=>{d.signal.aborted||i.error(`heartbeat loop failed`,{work_id:e.id,error:String(t)}),d.abort()});try{let e=new Vr(o,{client:a,tools:u,...this.maxIdleMs===void 0?{}:{maxIdleMs:this.maxIdleMs},...this.requestOptions===void 0?{}:{requestOptions:this.requestOptions},signal:d.signal});for await(let t of e);}finally{d.abort(),f(),await p,await l().catch(t=>{i.warn(`skill cleanup failed`,{session_id:o,work_id:e.id,error:String(t)})}),await Xr(a,e,i,this.requestOptions)}};async function Xr(e,t,n,r){try{await e.beta.environments.work.stop(t.id,{environment_id:t.environment_id,force:!0},{...r,headers:N([r?.headers])})}catch(e){Wn(e,409)||n.error(`force-stop on exit failed`,{work_id:t.id,error:String(e)})}}async function Zr(e,t,n,r,i){let a=qr,o=Jr,s=async()=>{try{let s=await e.beta.environments.work.heartbeat(t.id,{environment_id:t.environment_id,expected_last_heartbeat:o},{...i,headers:N([i?.headers]),signal:n.signal});o=s.last_heartbeat,s.ttl_seconds>0&&(a=Math.max(1e3,Math.min(s.ttl_seconds*1e3/2,qr))),(s.state===`stopping`||s.state===`stopped`)&&(r.info(`heartbeat signals shutdown`,{work_id:t.id,state:s.state}),n.abort()),s.lease_extended||(r.warn(`lease not extended, shutting down`,{work_id:t.id}),n.abort())}catch(e){if(n.signal.throwIfAborted(),Kn(e))throw r.error(`permanent heartbeat failure`,{work_id:t.id,error:String(e)}),n.abort(),e;r.warn(`transient heartbeat failure`,{work_id:t.id,error:String(e)})}};for(await s();!n.signal.aborted;)await de(a,n.signal),n.signal.throwIfAborted(),await s()}var Qr=class extends M{retrieve(e,t,n){let{environment_id:r,betas:i}=t;return this._client.get(P`/v1/environments/${r}/work/${e}?beta=true`,{...n,headers:N([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}update(e,t,n){let{environment_id:r,betas:i,...a}=t;return this._client.post(P`/v1/environments/${r}/work/${e}?beta=true`,{body:a,...n,headers:N([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}list(e,t={},n){let{betas:r,...i}=t??{};return this._client.getAPIList(P`/v1/environments/${e}/work?beta=true`,j,{query:i,...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}ack(e,t,n){let{environment_id:r,betas:i}=t;return this._client.post(P`/v1/environments/${r}/work/${e}/ack?beta=true`,{...n,headers:N([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}heartbeat(e,t,n){let{environment_id:r,desired_ttl_seconds:i,expected_last_heartbeat:a,betas:o}=t;return this._client.post(P`/v1/environments/${r}/work/${e}/heartbeat?beta=true`,{query:{desired_ttl_seconds:i,expected_last_heartbeat:a},...n,headers:N([{"anthropic-beta":[...o??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}poll(e,t={},n){let{betas:r,"Anthropic-Worker-ID":i,...a}=t??{};return this._client.get(P`/v1/environments/${e}/work/poll?beta=true`,{query:a,...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString(),...i==null?void 0:{"Anthropic-Worker-ID":i}},n?.headers])})}stats(e,t={},n){let{betas:r}=t??{};return this._client.get(P`/v1/environments/${e}/work/stats?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}stop(e,t,n){let{environment_id:r,betas:i,...a}=t;return this._client.post(P`/v1/environments/${r}/work/${e}/stop?beta=true`,{body:a,...n,headers:N([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}poller(e){return new sr({...e,client:this._client})}worker(e){return new Yr({...e,client:this._client})}};Qr.WorkPoller=sr,Qr.EnvironmentWorker=Yr;var $r=class extends M{constructor(){super(...arguments),this.work=new Qr(this._client)}create(e,t){let{betas:n,...r}=e;return this._client.post(`/v1/environments?beta=true`,{body:r,...t,headers:N([{"anthropic-beta":[...n??[],`managed-agents-2026-04-01`].toString()},t?.headers])})}retrieve(e,t={},n){let{betas:r}=t??{};return this._client.get(P`/v1/environments/${e}?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}update(e,t,n){let{betas:r,...i}=t;return this._client.post(P`/v1/environments/${e}?beta=true`,{body:i,...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList(`/v1/environments?beta=true`,j,{query:r,...t,headers:N([{"anthropic-beta":[...n??[],`managed-agents-2026-04-01`].toString()},t?.headers])})}delete(e,t={},n){let{betas:r}=t??{};return this._client.delete(P`/v1/environments/${e}?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}archive(e,t={},n){let{betas:r}=t??{};return this._client.post(P`/v1/environments/${e}/archive?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}};$r.Work=Qr;var ei=class extends M{create(e,t,n){let{view:r,betas:i,...a}=t;return this._client.post(P`/v1/memory_stores/${e}/memories?beta=true`,{query:{view:r},body:a,...n,headers:N([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}retrieve(e,t,n){let{memory_store_id:r,betas:i,...a}=t;return this._client.get(P`/v1/memory_stores/${r}/memories/${e}?beta=true`,{query:a,...n,headers:N([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}update(e,t,n){let{memory_store_id:r,view:i,betas:a,...o}=t;return this._client.post(P`/v1/memory_stores/${r}/memories/${e}?beta=true`,{query:{view:i},body:o,...n,headers:N([{"anthropic-beta":[...a??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}list(e,t={},n){let{betas:r,...i}=t??{};return this._client.getAPIList(P`/v1/memory_stores/${e}/memories?beta=true`,j,{query:i,...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}delete(e,t,n){let{memory_store_id:r,expected_content_sha256:i,betas:a}=t;return this._client.delete(P`/v1/memory_stores/${r}/memories/${e}?beta=true`,{query:{expected_content_sha256:i},...n,headers:N([{"anthropic-beta":[...a??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}},ti=class extends M{retrieve(e,t,n){let{memory_store_id:r,betas:i,...a}=t;return this._client.get(P`/v1/memory_stores/${r}/memory_versions/${e}?beta=true`,{query:a,...n,headers:N([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}list(e,t={},n){let{betas:r,...i}=t??{};return this._client.getAPIList(P`/v1/memory_stores/${e}/memory_versions?beta=true`,j,{query:i,...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}redact(e,t,n){let{memory_store_id:r,betas:i}=t;return this._client.post(P`/v1/memory_stores/${r}/memory_versions/${e}/redact?beta=true`,{...n,headers:N([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}},ni=class extends M{constructor(){super(...arguments),this.memories=new ei(this._client),this.memoryVersions=new ti(this._client)}create(e,t){let{betas:n,...r}=e;return this._client.post(`/v1/memory_stores?beta=true`,{body:r,...t,headers:N([{"anthropic-beta":[...n??[],`managed-agents-2026-04-01`].toString()},t?.headers])})}retrieve(e,t={},n){let{betas:r}=t??{};return this._client.get(P`/v1/memory_stores/${e}?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}update(e,t,n){let{betas:r,...i}=t;return this._client.post(P`/v1/memory_stores/${e}?beta=true`,{body:i,...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList(`/v1/memory_stores?beta=true`,j,{query:r,...t,headers:N([{"anthropic-beta":[...n??[],`managed-agents-2026-04-01`].toString()},t?.headers])})}delete(e,t={},n){let{betas:r}=t??{};return this._client.delete(P`/v1/memory_stores/${e}?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}archive(e,t={},n){let{betas:r}=t??{};return this._client.post(P`/v1/memory_stores/${e}/archive?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}};ni.Memories=ei,ni.MemoryVersions=ti;var ri=class e{constructor(e,t){this.iterator=e,this.controller=t}async*decoder(){let e=new Lt;for await(let t of this.iterator)for(let n of e.decode(t))yield JSON.parse(n);for(let t of e.flush())yield JSON.parse(t)}[Symbol.asyncIterator](){return this.decoder()}static fromResponse(t,n){if(!t.body)throw n.abort(),globalThis.navigator!==void 0&&globalThis.navigator.product===`ReactNative`?new s(`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 s(`Attempted to iterate over a response with no body`);return new e(we(t.body),n)}},ii=class extends M{create(e,t){let{betas:n,...r}=e;return this._client.post(`/v1/messages/batches?beta=true`,{body:r,...t,headers:N([{"anthropic-beta":[...n??[],`message-batches-2024-09-24`].toString()},t?.headers])})}retrieve(e,t={},n){let{betas:r}=t??{};return this._client.get(P`/v1/messages/batches/${e}?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`message-batches-2024-09-24`].toString()},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList(`/v1/messages/batches?beta=true`,sn,{query:r,...t,headers:N([{"anthropic-beta":[...n??[],`message-batches-2024-09-24`].toString()},t?.headers])})}delete(e,t={},n){let{betas:r}=t??{};return this._client.delete(P`/v1/messages/batches/${e}?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`message-batches-2024-09-24`].toString()},n?.headers])})}cancel(e,t={},n){let{betas:r}=t??{};return this._client.post(P`/v1/messages/batches/${e}/cancel?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`message-batches-2024-09-24`].toString()},n?.headers])})}async results(e,t={},n){let r=await this.retrieve(e);if(!r.results_url)throw new s(`No batch \`results_url\`; Has it finished processing? ${r.processing_status} - ${r.id}`);let{betas:i}=t??{};return this._client.get(r.results_url,{...n,headers:N([{"anthropic-beta":[...i??[],`message-batches-2024-09-24`].toString(),Accept:`application/binary`},n?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((e,t)=>ri.fromResponse(t.response,t.controller))}},ai={"claude-opus-4-20250514":8192,"claude-opus-4-0":8192,"claude-4-opus-20250514":8192,"anthropic.claude-opus-4-20250514-v1:0":8192,"claude-opus-4@20250514":8192,"claude-opus-4-1-20250805":8192,"anthropic.claude-opus-4-1-20250805-v1:0":8192,"claude-opus-4-1@20250805":8192};function oi(e){return e?.output_format??e?.output_config?.format}function si(e,t,n){let r=oi(t);return!t||!(`parse`in(r??{}))?{...e,content:e.content.map(e=>{if(e.type===`text`){let t=Object.defineProperty({...e},"parsed_output",{value:null,enumerable:!1});return Object.defineProperty(t,"parsed",{get(){return n.logger.warn("The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead."),null},enumerable:!1})}return e}),parsed_output:null}:ci(e,t,n)}function ci(e,t,n){let r=null,i=e.content.map(e=>{if(e.type===`text`){let i=li(t,e.text);r===null&&(r=i);let a=Object.defineProperty({...e},"parsed_output",{value:i,enumerable:!1});return Object.defineProperty(a,"parsed",{get(){return n.logger.warn("The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead."),i},enumerable:!1})}return e});return{...e,content:i,parsed_output:r}}function li(e,t){let n=oi(e);if(n?.type!==`json_schema`)return null;try{return`parse`in n?n.parse(t):JSON.parse(t)}catch(e){throw new s(`Failed to parse structured output: ${e}`)}}var ui=e=>{let t=0,n=[];for(;t<e.length;){let r=e[t];if(r===`\\`){t++;continue}if(r===`{`){n.push({type:`brace`,value:`{`}),t++;continue}if(r===`}`){n.push({type:`brace`,value:`}`}),t++;continue}if(r===`[`){n.push({type:`paren`,value:`[`}),t++;continue}if(r===`]`){n.push({type:`paren`,value:`]`}),t++;continue}if(r===`:`){n.push({type:`separator`,value:`:`}),t++;continue}if(r===`,`){n.push({type:`delimiter`,value:`,`}),t++;continue}if(r===`"`){let i=``,a=!1;for(r=e[++t];r!==`"`;){if(t===e.length){a=!0;break}if(r===`\\`){if(t++,t===e.length){a=!0;break}i+=r+e[t],r=e[++t]}else i+=r,r=e[++t]}r=e[++t],a||n.push({type:`string`,value:i});continue}if(r&&/\s/.test(r)){t++;continue}let i=/[0-9]/;if(r&&i.test(r)||r===`-`||r===`.`){let a=``;for(r===`-`&&(a+=r,r=e[++t]);r&&(i.test(r)||r===`.`||r===`e`||r===`E`||(r===`-`||r===`+`)&&(a[a.length-1]===`e`||a[a.length-1]===`E`));)a+=r,r=e[++t];n.push({type:`number`,value:a});continue}let a=/[a-z]/i;if(r&&a.test(r)){let i=``;for(;r&&a.test(r)&&t!==e.length;)i+=r,r=e[++t];if(i==`true`||i==`false`||i===`null`)n.push({type:`name`,value:i});else{t++;continue}continue}t++}return n},di=e=>{if(e.length===0)return e;let t=e[e.length-1];switch(t.type){case`separator`:return e=e.slice(0,e.length-1),di(e);case`number`:let n=t.value[t.value.length-1];if(n===`.`||n===`-`||n===`+`||n===`e`||n===`E`)return e=e.slice(0,e.length-1),di(e);case`string`:let r=e[e.length-2];if(r?.type===`delimiter`||r?.type===`brace`&&r.value===`{`)return e=e.slice(0,e.length-1),di(e);break;case`delimiter`:return e=e.slice(0,e.length-1),di(e)}return e},fi=e=>{let t=[];return e.map(e=>{e.type===`brace`&&(e.value===`{`?t.push(`}`):t.splice(t.lastIndexOf(`}`),1)),e.type===`paren`&&(e.value===`[`?t.push(`]`):t.splice(t.lastIndexOf(`]`),1))}),t.length>0&&t.reverse().map(t=>{t===`}`?e.push({type:`brace`,value:`}`}):t===`]`&&e.push({type:`paren`,value:`]`})}),e},pi=e=>{let t=``;return e.map(e=>{switch(e.type){case`string`:t+=`"`+e.value+`"`;break;default:t+=e.value;break}}),t},mi=e=>JSON.parse(pi(fi(di(ui(e))))),H,U,hi,gi,_i,vi,yi,bi,xi,W,Si,Ci,wi,Ti,Ei,Di,Oi,ki,Ai,ji,Mi,Ni,Pi,Fi,Ii=`__json_buf`;function Li(e){return e.type===`tool_use`||e.type===`server_tool_use`||e.type===`mcp_tool_use`}var Ri=class e{constructor(e,t){H.add(this),this.messages=[],this.receivedMessages=[],U.set(this,void 0),hi.set(this,null),this.controller=new AbortController,gi.set(this,void 0),_i.set(this,()=>{}),vi.set(this,()=>{}),yi.set(this,void 0),bi.set(this,()=>{}),xi.set(this,()=>{}),W.set(this,{}),Si.set(this,!1),Ci.set(this,!1),wi.set(this,!1),Ti.set(this,!1),Ei.set(this,void 0),Di.set(this,void 0),Oi.set(this,void 0),ji.set(this,e=>{if(r(this,Ci,!0,`f`),a(e)&&(e=new l),e instanceof l)return r(this,wi,!0,`f`),this._emit(`abort`,e);if(e instanceof s)return this._emit(`error`,e);if(e instanceof Error){let t=new s(e.message);return t.cause=e,this._emit(`error`,t)}return this._emit(`error`,new s(String(e)))}),r(this,gi,new Promise((e,t)=>{r(this,_i,e,`f`),r(this,vi,t,`f`)}),`f`),r(this,yi,new Promise((e,t)=>{r(this,bi,e,`f`),r(this,xi,t,`f`)}),`f`),i(this,gi,`f`).catch(()=>{}),i(this,yi,`f`).catch(()=>{}),r(this,hi,e,`f`),r(this,Oi,t?.logger??console,`f`)}get response(){return i(this,Ei,`f`)}get request_id(){return i(this,Di,`f`)}async withResponse(){r(this,Ti,!0,`f`);let e=await i(this,gi,`f`);if(!e)throw Error("Could not resolve a `Response` object");return{data:this,response:e,request_id:e.headers.get(`request-id`)}}static fromReadableStream(t){let n=new e(null);return n._run(()=>n._fromReadableStream(t)),n}static createMessage(t,n,i,{logger:a}={}){let o=new e(n,{logger:a});for(let e of n.messages)o._addMessageParam(e);return r(o,hi,{...n,stream:!0},`f`),o._run(()=>o._createMessage(t,{...n,stream:!0},{...i,headers:{...i?.headers,"X-Stainless-Helper-Method":`stream`}})),o}_run(e){e().then(()=>{this._emitFinal(),this._emit(`end`)},i(this,ji,`f`))}_addMessageParam(e){this.messages.push(e)}_addMessage(e,t=!0){this.receivedMessages.push(e),t&&this._emit(`message`,e)}async _createMessage(e,t,n){let r=n?.signal,a;r&&(r.aborted&&this.controller.abort(),a=this.controller.abort.bind(this.controller),r.addEventListener(`abort`,a));try{i(this,H,`m`,Mi).call(this);let{response:r,data:a}=await e.create({...t,stream:!0},{...n,signal:this.controller.signal}).withResponse();this._connected(r);for await(let e of a)i(this,H,`m`,Ni).call(this,e);if(a.controller.signal?.aborted)throw new l;i(this,H,`m`,Pi).call(this)}finally{r&&a&&r.removeEventListener(`abort`,a)}}_connected(e){this.ended||(r(this,Ei,e,`f`),r(this,Di,e?.headers.get(`request-id`),`f`),i(this,_i,`f`).call(this,e),this._emit(`connect`))}get ended(){return i(this,Si,`f`)}get errored(){return i(this,Ci,`f`)}get aborted(){return i(this,wi,`f`)}abort(){this.controller.abort()}on(e,t){return(i(this,W,`f`)[e]||(i(this,W,`f`)[e]=[])).push({listener:t}),this}off(e,t){let n=i(this,W,`f`)[e];if(!n)return this;let r=n.findIndex(e=>e.listener===t);return r>=0&&n.splice(r,1),this}once(e,t){return(i(this,W,`f`)[e]||(i(this,W,`f`)[e]=[])).push({listener:t,once:!0}),this}emitted(e){return new Promise((t,n)=>{r(this,Ti,!0,`f`),e!==`error`&&this.once(`error`,n),this.once(e,t)})}async done(){r(this,Ti,!0,`f`),await i(this,yi,`f`)}get currentMessage(){return i(this,U,`f`)}async finalMessage(){return await this.done(),i(this,H,`m`,ki).call(this)}async finalText(){return await this.done(),i(this,H,`m`,Ai).call(this)}_emit(e,...t){if(i(this,Si,`f`))return;e===`end`&&(r(this,Si,!0,`f`),i(this,bi,`f`).call(this));let n=i(this,W,`f`)[e];if(n&&(i(this,W,`f`)[e]=n.filter(e=>!e.once),n.forEach(({listener:e})=>e(...t))),e===`abort`){let e=t[0];!i(this,Ti,`f`)&&!n?.length&&Promise.reject(e),i(this,vi,`f`).call(this,e),i(this,xi,`f`).call(this,e),this._emit(`end`);return}if(e===`error`){let e=t[0];!i(this,Ti,`f`)&&!n?.length&&Promise.reject(e),i(this,vi,`f`).call(this,e),i(this,xi,`f`).call(this,e),this._emit(`end`)}}_emitFinal(){this.receivedMessages.at(-1)&&this._emit(`finalMessage`,i(this,H,`m`,ki).call(this))}async _fromReadableStream(e,t){let n=t?.signal,r;n&&(n.aborted&&this.controller.abort(),r=this.controller.abort.bind(this.controller),n.addEventListener(`abort`,r));try{i(this,H,`m`,Mi).call(this),this._connected(null);let t=Vt.fromReadableStream(e,this.controller);for await(let e of t)i(this,H,`m`,Ni).call(this,e);if(t.controller.signal?.aborted)throw new l;i(this,H,`m`,Pi).call(this)}finally{n&&r&&n.removeEventListener(`abort`,r)}}[(U=new WeakMap,hi=new WeakMap,gi=new WeakMap,_i=new WeakMap,vi=new WeakMap,yi=new WeakMap,bi=new WeakMap,xi=new WeakMap,W=new WeakMap,Si=new WeakMap,Ci=new WeakMap,wi=new WeakMap,Ti=new WeakMap,Ei=new WeakMap,Di=new WeakMap,Oi=new WeakMap,ji=new WeakMap,H=new WeakSet,ki=function(){if(this.receivedMessages.length===0)throw new s(`stream ended without producing a Message with role=assistant`);return this.receivedMessages.at(-1)},Ai=function(){if(this.receivedMessages.length===0)throw new s(`stream ended without producing a Message with role=assistant`);let e=this.receivedMessages.at(-1).content.filter(e=>e.type===`text`).map(e=>e.text);if(e.length===0)throw new s(`stream ended without producing a content block with type=text`);return e.join(` `)},Mi=function(){this.ended||r(this,U,void 0,`f`)},Ni=function(e){if(this.ended)return;let t=i(this,H,`m`,Fi).call(this,e);switch(this._emit(`streamEvent`,e,t),e.type){case`content_block_delta`:{let n=t.content.at(-1);switch(e.delta.type){case`text_delta`:n.type===`text`&&this._emit(`text`,e.delta.text,n.text||``);break;case`citations_delta`:n.type===`text`&&this._emit(`citation`,e.delta.citation,n.citations??[]);break;case`input_json_delta`:Li(n)&&n.input&&this._emit(`inputJson`,e.delta.partial_json,n.input);break;case`thinking_delta`:n.type===`thinking`&&this._emit(`thinking`,e.delta.thinking,n.thinking);break;case`signature_delta`:n.type===`thinking`&&this._emit(`signature`,n.signature);break;case`compaction_delta`:n.type===`compaction`&&n.content&&this._emit(`compaction`,n.content);break;default:e.delta}break}case`message_stop`:this._addMessageParam(t),this._addMessage(si(t,i(this,hi,`f`),{logger:i(this,Oi,`f`)}),!0);break;case`content_block_stop`:this._emit(`contentBlock`,t.content.at(-1));break;case`message_start`:r(this,U,t,`f`);break;case`content_block_start`:case`message_delta`:break}},Pi=function(){if(this.ended)throw new s(`stream has ended, this shouldn't happen`);let e=i(this,U,`f`);if(!e)throw new s(`request ended without sending any chunks`);return r(this,U,void 0,`f`),si(e,i(this,hi,`f`),{logger:i(this,Oi,`f`)})},Fi=function(e){let t=i(this,U,`f`);if(e.type===`message_start`){if(t)throw new s(`Unexpected event order, got ${e.type} before receiving "message_stop"`);return e.message}if(!t)throw new s(`Unexpected event order, got ${e.type} before "message_start"`);switch(e.type){case`message_stop`:return t;case`message_delta`:return t.container=e.delta.container,t.stop_reason=e.delta.stop_reason,t.stop_sequence=e.delta.stop_sequence,e.delta.stop_details!=null&&(t.stop_details=e.delta.stop_details),t.usage.output_tokens=e.usage.output_tokens,t.context_management=e.context_management,e.usage.input_tokens!=null&&(t.usage.input_tokens=e.usage.input_tokens),e.usage.cache_creation_input_tokens!=null&&(t.usage.cache_creation_input_tokens=e.usage.cache_creation_input_tokens),e.usage.cache_read_input_tokens!=null&&(t.usage.cache_read_input_tokens=e.usage.cache_read_input_tokens),e.usage.server_tool_use!=null&&(t.usage.server_tool_use=e.usage.server_tool_use),e.usage.iterations!=null&&(t.usage.iterations=e.usage.iterations),t;case`content_block_start`:return t.content.push(e.content_block),e.content_block.type===`fallback`&&(t.model=e.content_block.to.model),t;case`content_block_delta`:{let n=t.content.at(e.index);switch(e.delta.type){case`text_delta`:n?.type===`text`&&(t.content[e.index]={...n,text:(n.text||``)+e.delta.text});break;case`citations_delta`:n?.type===`text`&&(t.content[e.index]={...n,citations:[...n.citations??[],e.delta.citation]});break;case`input_json_delta`:if(n&&Li(n)){let r=n[Ii]||``;r+=e.delta.partial_json;let a={...n};if(Object.defineProperty(a,Ii,{value:r,enumerable:!1,writable:!0}),r)try{a.input=mi(r)}catch(e){let t=new s(`Unable to parse tool parameter JSON from model. Please retry your request or adjust your prompt. Error: ${e}. JSON: ${r}`);i(this,ji,`f`).call(this,t)}t.content[e.index]=a}break;case`thinking_delta`:n?.type===`thinking`&&(t.content[e.index]={...n,thinking:n.thinking+e.delta.thinking});break;case`signature_delta`:n?.type===`thinking`&&(t.content[e.index]={...n,signature:e.delta.signature});break;case`compaction_delta`:n?.type===`compaction`&&(t.content[e.index]={...n,content:(n.content||``)+e.delta.content,encrypted_content:e.delta.encrypted_content});break;default:e.delta}return t}case`content_block_stop`:return t}},Symbol.asyncIterator)](){let e=[],t=[],n=!1;return this.on(`streamEvent`,n=>{let r=t.shift();r?r.resolve(n):e.push(n)}),this.on(`end`,()=>{n=!0;for(let e of t)e.resolve(void 0);t.length=0}),this.on(`abort`,e=>{n=!0;for(let n of t)n.reject(e);t.length=0}),this.on(`error`,e=>{n=!0;for(let n of t)n.reject(e);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((e,n)=>t.push({resolve:e,reject:n})).then(e=>e?{value:e,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new Vt(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}};function zi(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var Bi=`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:
|
|
8
|
+
1. Task Overview
|
|
9
|
+
The user's core request and success criteria
|
|
10
|
+
Any clarifications or constraints they specified
|
|
11
|
+
2. Current State
|
|
12
|
+
What has been completed so far
|
|
13
|
+
Files created, modified, or analyzed (with paths if relevant)
|
|
14
|
+
Key outputs or artifacts produced
|
|
15
|
+
3. Important Discoveries
|
|
16
|
+
Technical constraints or requirements uncovered
|
|
17
|
+
Decisions made and their rationale
|
|
18
|
+
Errors encountered and how they were resolved
|
|
19
|
+
What approaches were tried that didn't work (and why)
|
|
20
|
+
4. Next Steps
|
|
21
|
+
Specific actions needed to complete the task
|
|
22
|
+
Any blockers or open questions to resolve
|
|
23
|
+
Priority order if multiple steps remain
|
|
24
|
+
5. Context to Preserve
|
|
25
|
+
User preferences or style requirements
|
|
26
|
+
Domain-specific details that aren't obvious
|
|
27
|
+
Any promises made to the user
|
|
28
|
+
Be concise but complete—err on the side of including information that would prevent duplicate work or repeated mistakes. Write in a way that enables immediate resumption of the task.
|
|
29
|
+
Wrap your summary in <summary></summary> tags.`,Vi,Hi,Ui,G,K,q,J,Y,Wi,Gi,Ki,qi=class{constructor(e,t,n){Vi.add(this),this.client=e,Hi.set(this,!1),Ui.set(this,!1),G.set(this,void 0),K.set(this,void 0),q.set(this,void 0),J.set(this,void 0),Y.set(this,void 0),Wi.set(this,0),r(this,G,{params:{...t,messages:structuredClone(t.messages)}},`f`);let i=[`BetaToolRunner`,...On(t.tools,t.messages)].join(`, `);r(this,K,{...n,headers:N([{"x-stainless-helper":i},n?.headers])},`f`),r(this,Y,zi(),`f`),t.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*[(Hi=new WeakMap,Ui=new WeakMap,G=new WeakMap,K=new WeakMap,q=new WeakMap,J=new WeakMap,Y=new WeakMap,Wi=new WeakMap,Vi=new WeakSet,Gi=async function(){let e=i(this,G,`f`).params.compactionControl;if(!e||!e.enabled)return!1;let t=0;if(i(this,q,`f`)!==void 0)try{let e=await i(this,q,`f`);t=e.usage.input_tokens+(e.usage.cache_creation_input_tokens??0)+(e.usage.cache_read_input_tokens??0)+e.usage.output_tokens}catch{return!1}let n=e.contextTokenThreshold??1e5;if(t<n)return!1;let r=e.model??i(this,G,`f`).params.model,a=e.summaryPrompt??Bi,o=i(this,G,`f`).params.messages;if(o[o.length-1].role===`assistant`){let e=o[o.length-1];if(Array.isArray(e.content)){let t=e.content.filter(e=>e.type!==`tool_use`);t.length===0?o.pop():e.content=t}}let c=await this.client.beta.messages.create({model:r,messages:[...o,{role:`user`,content:[{type:`text`,text:a}]}],max_tokens:i(this,G,`f`).params.max_tokens},{signal:i(this,K,`f`).signal,headers:N([i(this,K,`f`).headers,{"x-stainless-helper":`compaction`}])});if(c.content[0]?.type!==`text`)throw new s(`Expected text response for compaction`);return i(this,G,`f`).params.messages=[{role:`user`,content:c.content}],!0},Symbol.asyncIterator)](){var e;if(i(this,Hi,`f`))throw new s(`Cannot iterate over a consumed stream`);r(this,Hi,!0,`f`),r(this,Ui,!0,`f`),r(this,J,void 0,`f`);try{for(;;){let t;try{if(i(this,G,`f`).params.max_iterations&&i(this,Wi,`f`)>=i(this,G,`f`).params.max_iterations)break;r(this,Ui,!1,`f`),r(this,J,void 0,`f`),r(this,Wi,(e=i(this,Wi,`f`),e++,e),`f`),r(this,q,void 0,`f`);let{max_iterations:n,compactionControl:a,...o}=i(this,G,`f`).params;if(o.stream?(t=this.client.beta.messages.stream({...o},i(this,K,`f`)),r(this,q,t.finalMessage(),`f`),i(this,q,`f`).catch(()=>{}),yield t):(r(this,q,this.client.beta.messages.create({...o,stream:!1},i(this,K,`f`)),`f`),yield i(this,q,`f`)),!await i(this,Vi,`m`,Gi).call(this)){if(!i(this,Ui,`f`)){let e=await i(this,q,`f`);if(i(this,G,`f`).params.messages.push({role:e.role,content:e.content}),e.stop_reason===`refusal`)break}let e=await i(this,Vi,`m`,Ki).call(this,i(this,G,`f`).params.messages.at(-1));if(e)i(this,G,`f`).params.messages.push(e);else if(!i(this,Ui,`f`))break}}finally{t&&t.abort()}}if(!i(this,q,`f`))throw new s(`ToolRunner concluded without a message from the server`);i(this,Y,`f`).resolve(await i(this,q,`f`))}catch(e){throw r(this,Hi,!1,`f`),i(this,Y,`f`).promise.catch(()=>{}),i(this,Y,`f`).reject(e),r(this,Y,zi(),`f`),e}}setMessagesParams(e){typeof e==`function`?i(this,G,`f`).params=e(i(this,G,`f`).params):i(this,G,`f`).params=e,r(this,Ui,!0,`f`),r(this,J,void 0,`f`)}setRequestOptions(e){typeof e==`function`?r(this,K,e(i(this,K,`f`)),`f`):r(this,K,{...i(this,K,`f`),...e},`f`)}async generateToolResponse(e=i(this,K,`f`).signal){let t=await i(this,q,`f`)??this.params.messages.at(-1);return t?i(this,Vi,`m`,Ki).call(this,t,e):null}done(){return i(this,Y,`f`).promise}async runUntilDone(){if(!i(this,Hi,`f`))for await(let e of this);return this.done()}get params(){return i(this,G,`f`).params}pushMessages(...e){this.setMessagesParams(t=>({...t,messages:[...t.messages,...e]}))}then(e,t){return this.runUntilDone().then(e,t)}};Ki=async function(e,t=i(this,K,`f`).signal){return i(this,J,`f`)===void 0&&r(this,J,Ji(i(this,G,`f`).params,e,{...i(this,K,`f`),signal:t}),`f`),i(this,J,`f`)};async function Ji(e,t=e.messages.at(-1),n){if(!t||t.role!==`assistant`||!t.content||typeof t.content==`string`)return null;let r=t.content.filter(e=>e.type===`tool_use`);return r.length===0?null:{role:`user`,content:await Promise.all(r.map(async t=>{let r=e.tools.find(e=>(`name`in e?e.name:e.mcp_server_name)===t.name);if(!r||!(`run`in r))return{type:`tool_result`,tool_use_id:t.id,content:`Error: Tool '${t.name}' not found`,is_error:!0};try{let e=t.input;`parse`in r&&r.parse&&(e=r.parse(e));let i=await r.run(e,{toolUse:t,toolUseBlock:t,signal:n?.signal});return{type:`tool_result`,tool_use_id:t.id,content:i}}catch(e){return{type:`tool_result`,tool_use_id:t.id,content:e instanceof b?e.content:`Error: ${e instanceof Error?e.message:String(e)}`,is_error:!0}}}))}}var Yi={"claude-1.3":`November 6th, 2024`,"claude-1.3-100k":`November 6th, 2024`,"claude-instant-1.1":`November 6th, 2024`,"claude-instant-1.1-100k":`November 6th, 2024`,"claude-instant-1.2":`November 6th, 2024`,"claude-3-sonnet-20240229":`July 21st, 2025`,"claude-3-opus-20240229":`January 5th, 2026`,"claude-2.1":`July 21st, 2025`,"claude-2.0":`July 21st, 2025`,"claude-3-7-sonnet-latest":`February 19th, 2026`,"claude-3-7-sonnet-20250219":`February 19th, 2026`,"claude-3-5-haiku-latest":`February 19th, 2026`,"claude-3-5-haiku-20241022":`February 19th, 2026`,"claude-opus-4-0":`June 15th, 2026`,"claude-opus-4-20250514":`June 15th, 2026`,"claude-sonnet-4-0":`June 15th, 2026`,"claude-sonnet-4-20250514":`June 15th, 2026`,"claude-opus-4-1":`August 5th, 2026`,"claude-opus-4-1-20250805":`August 5th, 2026`,"claude-mythos-preview":`June 30th, 2026`},Xi=[`claude-mythos-preview`,`claude-opus-4-6`],Zi=class extends M{constructor(){super(...arguments),this.batches=new ii(this._client)}create(e,t){let n=Qi(e),{betas:r,...i}=n;i.model in Yi&&console.warn(`The model '${i.model}' is deprecated and will reach end-of-life on ${Yi[i.model]}\nPlease migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`),Xi.includes(i.model)&&i.thinking&&i.thinking.type===`enabled`&&console.warn(`Using Claude with ${i.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 a=this._client._options.timeout;if(!i.stream&&a==null){let e=ai[i.model]??void 0;a=this._client.calculateNonstreamingTimeout(i.max_tokens,e)}let o=kn(i.tools,i.messages);return this._client.post(`/v1/messages?beta=true`,{body:i,timeout:a??6e5,...t,headers:N([{...r?.toString()==null?void 0:{"anthropic-beta":r?.toString()}},o,t?.headers]),stream:n.stream??!1})}parse(e,t){return t={...t,headers:N([{"anthropic-beta":[...e.betas??[],`structured-outputs-2025-12-15`].toString()},t?.headers])},this.create(e,t).then(t=>ci(t,e,{logger:this._client.logger??console}))}stream(e,t){return Ri.createMessage(this,e,t)}countTokens(e,t){let{betas:n,...r}=Qi(e);return this._client.post(`/v1/messages/count_tokens?beta=true`,{body:r,...t,headers:N([{"anthropic-beta":[...n??[],`token-counting-2024-11-01`].toString()},t?.headers])})}toolRunner(e,t){return new qi(this._client,e,t)}};function Qi(e){if(!e.output_format)return e;if(e.output_config?.format)throw new s(`Both output_format and output_config.format were provided. Please use only output_config.format (output_format is deprecated).`);let{output_format:t,...n}=e;return{...n,output_config:{...e.output_config,format:t}}}Zi.Batches=ii,Zi.BetaToolRunner=qi,Zi.ToolError=b;var $i=class extends M{list(e,t={},n){let{betas:r,...i}=t??{};return this._client.getAPIList(P`/v1/sessions/${e}/events?beta=true`,j,{query:i,...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}send(e,t,n){let{betas:r,...i}=t;return this._client.post(P`/v1/sessions/${e}/events?beta=true`,{body:i,...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}stream(e,t={},n){let{betas:r}=t??{};return this._client.get(P`/v1/sessions/${e}/events/stream?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers]),stream:!0})}toolRunner(e,t){return new Vr(e,{...t,client:this._client})}};$i.SessionToolRunner=Vr;var ea=class extends M{retrieve(e,t,n){let{session_id:r,betas:i}=t;return this._client.get(P`/v1/sessions/${r}/resources/${e}?beta=true`,{...n,headers:N([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}update(e,t,n){let{session_id:r,betas:i,...a}=t;return this._client.post(P`/v1/sessions/${r}/resources/${e}?beta=true`,{body:a,...n,headers:N([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}list(e,t={},n){let{betas:r,...i}=t??{};return this._client.getAPIList(P`/v1/sessions/${e}/resources?beta=true`,j,{query:i,...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}delete(e,t,n){let{session_id:r,betas:i}=t;return this._client.delete(P`/v1/sessions/${r}/resources/${e}?beta=true`,{...n,headers:N([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}add(e,t,n){let{betas:r,...i}=t;return this._client.post(P`/v1/sessions/${e}/resources?beta=true`,{body:i,...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}},ta=class extends M{list(e,t,n){let{session_id:r,betas:i,...a}=t;return this._client.getAPIList(P`/v1/sessions/${r}/threads/${e}/events?beta=true`,j,{query:a,...n,headers:N([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}stream(e,t,n){let{session_id:r,betas:i}=t;return this._client.get(P`/v1/sessions/${r}/threads/${e}/stream?beta=true`,{...n,headers:N([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers]),stream:!0})}},na=class extends M{constructor(){super(...arguments),this.events=new ta(this._client)}retrieve(e,t,n){let{session_id:r,betas:i}=t;return this._client.get(P`/v1/sessions/${r}/threads/${e}?beta=true`,{...n,headers:N([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}list(e,t={},n){let{betas:r,...i}=t??{};return this._client.getAPIList(P`/v1/sessions/${e}/threads?beta=true`,j,{query:i,...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}archive(e,t,n){let{session_id:r,betas:i}=t;return this._client.post(P`/v1/sessions/${r}/threads/${e}/archive?beta=true`,{...n,headers:N([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}};na.Events=ta;var ra=class extends M{constructor(){super(...arguments),this.events=new $i(this._client),this.resources=new ea(this._client),this.threads=new na(this._client)}create(e,t){let{betas:n,...r}=e;return this._client.post(`/v1/sessions?beta=true`,{body:r,...t,headers:N([{"anthropic-beta":[...n??[],`managed-agents-2026-04-01`].toString()},t?.headers])})}retrieve(e,t={},n){let{betas:r}=t??{};return this._client.get(P`/v1/sessions/${e}?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}update(e,t,n){let{betas:r,...i}=t;return this._client.post(P`/v1/sessions/${e}?beta=true`,{body:i,...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList(`/v1/sessions?beta=true`,j,{query:r,...t,headers:N([{"anthropic-beta":[...n??[],`managed-agents-2026-04-01`].toString()},t?.headers])})}delete(e,t={},n){let{betas:r}=t??{};return this._client.delete(P`/v1/sessions/${e}?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}archive(e,t={},n){let{betas:r}=t??{};return this._client.post(P`/v1/sessions/${e}/archive?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}};ra.Events=$i,ra.Resources=ea,ra.Threads=na;var ia=class extends M{create(e,t={},n){let{betas:r,...i}=t??{};return this._client.post(P`/v1/skills/${e}/versions?beta=true`,fn({body:i,...n,headers:N([{"anthropic-beta":[...r??[],`skills-2025-10-02`].toString()},n?.headers])},this._client,!1))}retrieve(e,t,n){let{skill_id:r,betas:i}=t;return this._client.get(P`/v1/skills/${r}/versions/${e}?beta=true`,{...n,headers:N([{"anthropic-beta":[...i??[],`skills-2025-10-02`].toString()},n?.headers])})}list(e,t={},n){let{betas:r,...i}=t??{};return this._client.getAPIList(P`/v1/skills/${e}/versions?beta=true`,j,{query:i,...n,headers:N([{"anthropic-beta":[...r??[],`skills-2025-10-02`].toString()},n?.headers])})}delete(e,t,n){let{skill_id:r,betas:i}=t;return this._client.delete(P`/v1/skills/${r}/versions/${e}?beta=true`,{...n,headers:N([{"anthropic-beta":[...i??[],`skills-2025-10-02`].toString()},n?.headers])})}download(e,t,n){let{skill_id:r,betas:i}=t;return this._client.get(P`/v1/skills/${r}/versions/${e}/content?beta=true`,{...n,headers:N([{"anthropic-beta":[...i??[],`skills-2025-10-02`].toString(),Accept:`application/binary`},n?.headers]),__binaryResponse:!0})}},aa=class extends M{constructor(){super(...arguments),this.versions=new ia(this._client)}create(e={},t){let{betas:n,...r}=e??{};return this._client.post(`/v1/skills?beta=true`,fn({body:r,...t,headers:N([{"anthropic-beta":[...n??[],`skills-2025-10-02`].toString()},t?.headers])},this._client,!1))}retrieve(e,t={},n){let{betas:r}=t??{};return this._client.get(P`/v1/skills/${e}?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`skills-2025-10-02`].toString()},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList(`/v1/skills?beta=true`,j,{query:r,...t,headers:N([{"anthropic-beta":[...n??[],`skills-2025-10-02`].toString()},t?.headers])})}delete(e,t={},n){let{betas:r}=t??{};return this._client.delete(P`/v1/skills/${e}?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`skills-2025-10-02`].toString()},n?.headers])})}};aa.Versions=ia;var oa=class extends M{create(e,t,n){let{betas:r,...i}=t;return this._client.post(P`/v1/vaults/${e}/credentials?beta=true`,{body:i,...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}retrieve(e,t,n){let{vault_id:r,betas:i}=t;return this._client.get(P`/v1/vaults/${r}/credentials/${e}?beta=true`,{...n,headers:N([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}update(e,t,n){let{vault_id:r,betas:i,...a}=t;return this._client.post(P`/v1/vaults/${r}/credentials/${e}?beta=true`,{body:a,...n,headers:N([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}list(e,t={},n){let{betas:r,...i}=t??{};return this._client.getAPIList(P`/v1/vaults/${e}/credentials?beta=true`,j,{query:i,...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}delete(e,t,n){let{vault_id:r,betas:i}=t;return this._client.delete(P`/v1/vaults/${r}/credentials/${e}?beta=true`,{...n,headers:N([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}archive(e,t,n){let{vault_id:r,betas:i}=t;return this._client.post(P`/v1/vaults/${r}/credentials/${e}/archive?beta=true`,{...n,headers:N([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}mcpOAuthValidate(e,t,n){let{vault_id:r,betas:i}=t;return this._client.post(P`/v1/vaults/${r}/credentials/${e}/mcp_oauth_validate?beta=true`,{...n,headers:N([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}},sa=class extends M{constructor(){super(...arguments),this.credentials=new oa(this._client)}create(e,t){let{betas:n,...r}=e;return this._client.post(`/v1/vaults?beta=true`,{body:r,...t,headers:N([{"anthropic-beta":[...n??[],`managed-agents-2026-04-01`].toString()},t?.headers])})}retrieve(e,t={},n){let{betas:r}=t??{};return this._client.get(P`/v1/vaults/${e}?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}update(e,t,n){let{betas:r,...i}=t;return this._client.post(P`/v1/vaults/${e}?beta=true`,{body:i,...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList(`/v1/vaults?beta=true`,j,{query:r,...t,headers:N([{"anthropic-beta":[...n??[],`managed-agents-2026-04-01`].toString()},t?.headers])})}delete(e,t={},n){let{betas:r}=t??{};return this._client.delete(P`/v1/vaults/${e}?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}archive(e,t={},n){let{betas:r}=t??{};return this._client.post(P`/v1/vaults/${e}/archive?beta=true`,{...n,headers:N([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}};sa.Credentials=oa;var X=class extends M{constructor(){super(...arguments),this.models=new Pn(this._client),this.messages=new Zi(this._client),this.agents=new Hn(this._client),this.environments=new $r(this._client),this.sessions=new ra(this._client),this.vaults=new sa(this._client),this.memoryStores=new ni(this._client),this.files=new Nn(this._client),this.skills=new aa(this._client),this.webhooks=new Bn(this._client),this.userProfiles=new Fn(this._client)}};X.Models=Pn,X.Messages=Zi,X.Agents=Hn,X.Environments=$r,X.Sessions=ra,X.Vaults=sa,X.MemoryStores=ni,X.Files=Nn,X.Skills=aa,X.Webhooks=Bn,X.UserProfiles=Fn;var ca=class extends M{create(e,t){let{betas:n,...r}=e;return this._client.post(`/v1/complete`,{body:r,timeout:this._client._options.timeout??6e5,...t,headers:N([{...n?.toString()==null?void 0:{"anthropic-beta":n?.toString()}},t?.headers]),stream:e.stream??!1})}};function la(e){return e?.output_config?.format}function ua(e,t,n){let r=la(t);return!t||!(`parse`in(r??{}))?{...e,content:e.content.map(e=>e.type===`text`?Object.defineProperty({...e},"parsed_output",{value:null,enumerable:!1}):e),parsed_output:null}:da(e,t,n)}function da(e,t,n){let r=null,i=e.content.map(e=>{if(e.type===`text`){let n=fa(t,e.text);return r===null&&(r=n),Object.defineProperty({...e},"parsed_output",{value:n,enumerable:!1})}return e});return{...e,content:i,parsed_output:r}}function fa(e,t){let n=la(e);if(n?.type!==`json_schema`)return null;try{return`parse`in n?n.parse(t):JSON.parse(t)}catch(e){throw new s(`Failed to parse structured output: ${e}`)}}var Z,pa,ma,ha,ga,_a,va,ya,ba,Q,xa,Sa,Ca,wa,Ta,Ea,Da,Oa,ka,Aa,ja,Ma,Na,Pa,Fa=`__json_buf`;function Ia(e){return e.type===`tool_use`||e.type===`server_tool_use`}var La=class e{constructor(e,t){Z.add(this),this.messages=[],this.receivedMessages=[],pa.set(this,void 0),ma.set(this,null),this.controller=new AbortController,ha.set(this,void 0),ga.set(this,()=>{}),_a.set(this,()=>{}),va.set(this,void 0),ya.set(this,()=>{}),ba.set(this,()=>{}),Q.set(this,{}),xa.set(this,!1),Sa.set(this,!1),Ca.set(this,!1),wa.set(this,!1),Ta.set(this,void 0),Ea.set(this,void 0),Da.set(this,void 0),Aa.set(this,e=>{if(r(this,Sa,!0,`f`),a(e)&&(e=new l),e instanceof l)return r(this,Ca,!0,`f`),this._emit(`abort`,e);if(e instanceof s)return this._emit(`error`,e);if(e instanceof Error){let t=new s(e.message);return t.cause=e,this._emit(`error`,t)}return this._emit(`error`,new s(String(e)))}),r(this,ha,new Promise((e,t)=>{r(this,ga,e,`f`),r(this,_a,t,`f`)}),`f`),r(this,va,new Promise((e,t)=>{r(this,ya,e,`f`),r(this,ba,t,`f`)}),`f`),i(this,ha,`f`).catch(()=>{}),i(this,va,`f`).catch(()=>{}),r(this,ma,e,`f`),r(this,Da,t?.logger??console,`f`)}get response(){return i(this,Ta,`f`)}get request_id(){return i(this,Ea,`f`)}async withResponse(){r(this,wa,!0,`f`);let e=await i(this,ha,`f`);if(!e)throw Error("Could not resolve a `Response` object");return{data:this,response:e,request_id:e.headers.get(`request-id`)}}static fromReadableStream(t){let n=new e(null);return n._run(()=>n._fromReadableStream(t)),n}static createMessage(t,n,i,{logger:a}={}){let o=new e(n,{logger:a});for(let e of n.messages)o._addMessageParam(e);return r(o,ma,{...n,stream:!0},`f`),o._run(()=>o._createMessage(t,{...n,stream:!0},{...i,headers:{...i?.headers,"X-Stainless-Helper-Method":`stream`}})),o}_run(e){e().then(()=>{this._emitFinal(),this._emit(`end`)},i(this,Aa,`f`))}_addMessageParam(e){this.messages.push(e)}_addMessage(e,t=!0){this.receivedMessages.push(e),t&&this._emit(`message`,e)}async _createMessage(e,t,n){let r=n?.signal,a;r&&(r.aborted&&this.controller.abort(),a=this.controller.abort.bind(this.controller),r.addEventListener(`abort`,a));try{i(this,Z,`m`,ja).call(this);let{response:r,data:a}=await e.create({...t,stream:!0},{...n,signal:this.controller.signal}).withResponse();this._connected(r);for await(let e of a)i(this,Z,`m`,Ma).call(this,e);if(a.controller.signal?.aborted)throw new l;i(this,Z,`m`,Na).call(this)}finally{r&&a&&r.removeEventListener(`abort`,a)}}_connected(e){this.ended||(r(this,Ta,e,`f`),r(this,Ea,e?.headers.get(`request-id`),`f`),i(this,ga,`f`).call(this,e),this._emit(`connect`))}get ended(){return i(this,xa,`f`)}get errored(){return i(this,Sa,`f`)}get aborted(){return i(this,Ca,`f`)}abort(){this.controller.abort()}on(e,t){return(i(this,Q,`f`)[e]||(i(this,Q,`f`)[e]=[])).push({listener:t}),this}off(e,t){let n=i(this,Q,`f`)[e];if(!n)return this;let r=n.findIndex(e=>e.listener===t);return r>=0&&n.splice(r,1),this}once(e,t){return(i(this,Q,`f`)[e]||(i(this,Q,`f`)[e]=[])).push({listener:t,once:!0}),this}emitted(e){return new Promise((t,n)=>{r(this,wa,!0,`f`),e!==`error`&&this.once(`error`,n),this.once(e,t)})}async done(){r(this,wa,!0,`f`),await i(this,va,`f`)}get currentMessage(){return i(this,pa,`f`)}async finalMessage(){return await this.done(),i(this,Z,`m`,Oa).call(this)}async finalText(){return await this.done(),i(this,Z,`m`,ka).call(this)}_emit(e,...t){if(i(this,xa,`f`))return;e===`end`&&(r(this,xa,!0,`f`),i(this,ya,`f`).call(this));let n=i(this,Q,`f`)[e];if(n&&(i(this,Q,`f`)[e]=n.filter(e=>!e.once),n.forEach(({listener:e})=>e(...t))),e===`abort`){let e=t[0];!i(this,wa,`f`)&&!n?.length&&Promise.reject(e),i(this,_a,`f`).call(this,e),i(this,ba,`f`).call(this,e),this._emit(`end`);return}if(e===`error`){let e=t[0];!i(this,wa,`f`)&&!n?.length&&Promise.reject(e),i(this,_a,`f`).call(this,e),i(this,ba,`f`).call(this,e),this._emit(`end`)}}_emitFinal(){this.receivedMessages.at(-1)&&this._emit(`finalMessage`,i(this,Z,`m`,Oa).call(this))}async _fromReadableStream(e,t){let n=t?.signal,r;n&&(n.aborted&&this.controller.abort(),r=this.controller.abort.bind(this.controller),n.addEventListener(`abort`,r));try{i(this,Z,`m`,ja).call(this),this._connected(null);let t=Vt.fromReadableStream(e,this.controller);for await(let e of t)i(this,Z,`m`,Ma).call(this,e);if(t.controller.signal?.aborted)throw new l;i(this,Z,`m`,Na).call(this)}finally{n&&r&&n.removeEventListener(`abort`,r)}}[(pa=new WeakMap,ma=new WeakMap,ha=new WeakMap,ga=new WeakMap,_a=new WeakMap,va=new WeakMap,ya=new WeakMap,ba=new WeakMap,Q=new WeakMap,xa=new WeakMap,Sa=new WeakMap,Ca=new WeakMap,wa=new WeakMap,Ta=new WeakMap,Ea=new WeakMap,Da=new WeakMap,Aa=new WeakMap,Z=new WeakSet,Oa=function(){if(this.receivedMessages.length===0)throw new s(`stream ended without producing a Message with role=assistant`);return this.receivedMessages.at(-1)},ka=function(){if(this.receivedMessages.length===0)throw new s(`stream ended without producing a Message with role=assistant`);let e=this.receivedMessages.at(-1).content.filter(e=>e.type===`text`).map(e=>e.text);if(e.length===0)throw new s(`stream ended without producing a content block with type=text`);return e.join(` `)},ja=function(){this.ended||r(this,pa,void 0,`f`)},Ma=function(e){if(this.ended)return;let t=i(this,Z,`m`,Pa).call(this,e);switch(this._emit(`streamEvent`,e,t),e.type){case`content_block_delta`:{let n=t.content.at(-1);switch(e.delta.type){case`text_delta`:n.type===`text`&&this._emit(`text`,e.delta.text,n.text||``);break;case`citations_delta`:n.type===`text`&&this._emit(`citation`,e.delta.citation,n.citations??[]);break;case`input_json_delta`:Ia(n)&&n.input&&this._emit(`inputJson`,e.delta.partial_json,n.input);break;case`thinking_delta`:n.type===`thinking`&&this._emit(`thinking`,e.delta.thinking,n.thinking);break;case`signature_delta`:n.type===`thinking`&&this._emit(`signature`,n.signature);break;default:e.delta}break}case`message_stop`:this._addMessageParam(t),this._addMessage(ua(t,i(this,ma,`f`),{logger:i(this,Da,`f`)}),!0);break;case`content_block_stop`:this._emit(`contentBlock`,t.content.at(-1));break;case`message_start`:r(this,pa,t,`f`);break;case`content_block_start`:case`message_delta`:break}},Na=function(){if(this.ended)throw new s(`stream has ended, this shouldn't happen`);let e=i(this,pa,`f`);if(!e)throw new s(`request ended without sending any chunks`);return r(this,pa,void 0,`f`),ua(e,i(this,ma,`f`),{logger:i(this,Da,`f`)})},Pa=function(e){let t=i(this,pa,`f`);if(e.type===`message_start`){if(t)throw new s(`Unexpected event order, got ${e.type} before receiving "message_stop"`);return e.message}if(!t)throw new s(`Unexpected event order, got ${e.type} before "message_start"`);switch(e.type){case`message_stop`:return t;case`message_delta`:return t.stop_reason=e.delta.stop_reason,t.stop_sequence=e.delta.stop_sequence,e.delta.stop_details!=null&&(t.stop_details=e.delta.stop_details),t.usage.output_tokens=e.usage.output_tokens,e.usage.input_tokens!=null&&(t.usage.input_tokens=e.usage.input_tokens),e.usage.cache_creation_input_tokens!=null&&(t.usage.cache_creation_input_tokens=e.usage.cache_creation_input_tokens),e.usage.cache_read_input_tokens!=null&&(t.usage.cache_read_input_tokens=e.usage.cache_read_input_tokens),e.usage.server_tool_use!=null&&(t.usage.server_tool_use=e.usage.server_tool_use),t;case`content_block_start`:return t.content.push({...e.content_block}),t;case`content_block_delta`:{let n=t.content.at(e.index);switch(e.delta.type){case`text_delta`:n?.type===`text`&&(t.content[e.index]={...n,text:(n.text||``)+e.delta.text});break;case`citations_delta`:n?.type===`text`&&(t.content[e.index]={...n,citations:[...n.citations??[],e.delta.citation]});break;case`input_json_delta`:if(n&&Ia(n)){let r=n[Fa]||``;r+=e.delta.partial_json;let i={...n};Object.defineProperty(i,Fa,{value:r,enumerable:!1,writable:!0}),r&&(i.input=mi(r)),t.content[e.index]=i}break;case`thinking_delta`:n?.type===`thinking`&&(t.content[e.index]={...n,thinking:n.thinking+e.delta.thinking});break;case`signature_delta`:n?.type===`thinking`&&(t.content[e.index]={...n,signature:e.delta.signature});break;default:e.delta}return t}case`content_block_stop`:return t}},Symbol.asyncIterator)](){let e=[],t=[],n=!1;return this.on(`streamEvent`,n=>{let r=t.shift();r?r.resolve(n):e.push(n)}),this.on(`end`,()=>{n=!0;for(let e of t)e.resolve(void 0);t.length=0}),this.on(`abort`,e=>{n=!0;for(let n of t)n.reject(e);t.length=0}),this.on(`error`,e=>{n=!0;for(let n of t)n.reject(e);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((e,n)=>t.push({resolve:e,reject:n})).then(e=>e?{value:e,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new Vt(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}},Ra=class extends M{create(e,t){return this._client.post(`/v1/messages/batches`,{body:e,...t})}retrieve(e,t){return this._client.get(P`/v1/messages/batches/${e}`,t)}list(e={},t){return this._client.getAPIList(`/v1/messages/batches`,sn,{query:e,...t})}delete(e,t){return this._client.delete(P`/v1/messages/batches/${e}`,t)}cancel(e,t){return this._client.post(P`/v1/messages/batches/${e}/cancel`,t)}async results(e,t){let n=await this.retrieve(e);if(!n.results_url)throw new s(`No batch \`results_url\`; Has it finished processing? ${n.processing_status} - ${n.id}`);return this._client.get(n.results_url,{...t,headers:N([{Accept:`application/binary`},t?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((e,t)=>ri.fromResponse(t.response,t.controller))}},za=class extends M{constructor(){super(...arguments),this.batches=new Ra(this._client)}create(e,t){e.model in Ba&&console.warn(`The model '${e.model}' is deprecated and will reach end-of-life on ${Ba[e.model]}\nPlease migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`),Va.includes(e.model)&&e.thinking&&e.thinking.type===`enabled`&&console.warn(`Using Claude with ${e.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 n=this._client._options.timeout;if(!e.stream&&n==null){let t=ai[e.model]??void 0;n=this._client.calculateNonstreamingTimeout(e.max_tokens,t)}let r=kn(e.tools,e.messages);return this._client.post(`/v1/messages`,{body:e,timeout:n??6e5,...t,headers:N([r,t?.headers]),stream:e.stream??!1})}parse(e,t){return this.create(e,t).then(t=>da(t,e,{logger:this._client.logger??console}))}stream(e,t){return La.createMessage(this,e,t,{logger:this._client.logger??console})}countTokens(e,t){return this._client.post(`/v1/messages/count_tokens`,{body:e,...t})}},Ba={"claude-1.3":`November 6th, 2024`,"claude-1.3-100k":`November 6th, 2024`,"claude-instant-1.1":`November 6th, 2024`,"claude-instant-1.1-100k":`November 6th, 2024`,"claude-instant-1.2":`November 6th, 2024`,"claude-3-sonnet-20240229":`July 21st, 2025`,"claude-3-opus-20240229":`January 5th, 2026`,"claude-2.1":`July 21st, 2025`,"claude-2.0":`July 21st, 2025`,"claude-3-7-sonnet-latest":`February 19th, 2026`,"claude-3-7-sonnet-20250219":`February 19th, 2026`,"claude-3-5-haiku-latest":`February 19th, 2026`,"claude-3-5-haiku-20241022":`February 19th, 2026`,"claude-opus-4-0":`June 15th, 2026`,"claude-opus-4-20250514":`June 15th, 2026`,"claude-sonnet-4-0":`June 15th, 2026`,"claude-sonnet-4-20250514":`June 15th, 2026`,"claude-opus-4-1":`August 5th, 2026`,"claude-opus-4-1-20250805":`August 5th, 2026`,"claude-mythos-preview":`June 30th, 2026`},Va=[`claude-mythos-preview`,`claude-opus-4-6`];za.Batches=Ra;var Ha=class extends M{retrieve(e,t={},n){let{betas:r}=t??{};return this._client.get(P`/v1/models/${e}`,{...n,headers:N([{...r?.toString()==null?void 0:{"anthropic-beta":r?.toString()}},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList(`/v1/models`,sn,{query:r,...t,headers:N([{...n?.toString()==null?void 0:{"anthropic-beta":n?.toString()}},t?.headers])})}},Ua,Wa,Ga,Ka,qa=`\\n\\nHuman:`,Ja=`\\n\\nAssistant:`,$=class{get credentials(){return this._authState.provider}constructor({baseURL:e=E(`ANTHROPIC_BASE_URL`),apiKey:t,authToken:n,webhookKey:i=E(`ANTHROPIC_WEBHOOK_SIGNING_KEY`)??null,...a}={}){if(Ua.add(this),this._requestAuthFlags=new WeakMap,Ga.set(this,void 0),t===void 0&&(t=a.profile==null?E(`ANTHROPIC_API_KEY`)??null:null),n===void 0&&(n=a.profile==null?E(`ANTHROPIC_AUTH_TOKEN`)??null:null),a.profile!=null&&(a.credentials!=null||a.config!=null))throw TypeError("Pass at most one of `profile`, `credentials`, or `config`.");let o={apiKey:t,authToken:n,webhookKey:i,...a,baseURL:e||`https://api.anthropic.com`};if(!o.dangerouslyAllowBrowser&&pe())throw new s(`It looks like you're running in a browser-like environment.
|
|
30
|
+
|
|
31
|
+
This is disabled by default, as it risks exposing your secret API credentials to attackers.
|
|
32
|
+
If you understand the risks and have appropriate mitigations in place,
|
|
33
|
+
you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
|
|
34
|
+
|
|
35
|
+
new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
|
|
36
|
+
`);this.baseURL=o.baseURL,this._baseURLIsExplicit=a.__baseURLIsExplicit??!!e,this.timeout=o.timeout??Wa.DEFAULT_TIMEOUT,this.logger=o.logger??console,this.logLevel=ut,this.logLevel=ft(o.logLevel,`ClientOptions.logLevel`,D(this))??ft(E(`ANTHROPIC_LOG`),`process.env['ANTHROPIC_LOG']`,D(this))??`warn`,this.fetchOptions=o.fetchOptions,this.maxRetries=o.maxRetries??2,this.fetch=o.fetch??xe(),r(this,Ga,Ee,`f`),this.middleware=[...o.middleware??[]];let c=E(`ANTHROPIC_CUSTOM_HEADERS`);if(c){let e={};for(let t of c.split(`
|
|
37
|
+
`)){let n=t.indexOf(`:`);n>=0&&(e[t.substring(0,n).trim()]=t.substring(n+1).trim())}o.defaultHeaders={...e,...o.defaultHeaders}}let l=a.__auth;if(delete o.__auth,delete o.__baseURLIsExplicit,this._options=o,this.apiKey=typeof t==`string`?t:null,this.authToken=n,this.webhookKey=i,l)this._authState=l,!this._baseURLIsExplicit&&l.baseURL&&(this.baseURL=l.baseURL);else if(this._authState={provider:null,tokenCache:null,resolution:null,error:null,extraHeaders:{}},this.apiKey==null&&this.authToken==null){let e=o.credentials??null;if(e)this._authState.provider=e,this._authState.tokenCache=this._makeTokenCache(e);else if(o.config!=null){let e=Mt(o.config,this._credentialResolverOptions());this._authState.provider=e.provider,this._authState.tokenCache=this._makeTokenCache(e.provider),this._authState.extraHeaders=e.extraHeaders,this._applyCredentialBaseURL(e.baseURL)}else o.profile==null?this._authState.resolution=this._resolveDefaultCredentials():this._authState.resolution=this._resolveDefaultCredentials(o.profile)}}_applyCredentialBaseURL(e){if(!e)return;let t=e.replace(/\/+$/,``);this._authState.baseURL=t,this._baseURLIsExplicit||(this.baseURL=t)}_credentialResolverOptions(){return{baseURL:this.baseURL,fetch:this._credentialsFetch(),userAgent:this.getUserAgent(),onCacheWriteError:e=>{D(this).debug(`credential cache write failed (best-effort)`,e)},onSafetyWarning:e=>{D(this).warn(e)}}}_credentialsFetch(){return Zt(this.fetch,this.middleware,void 0,this)}_makeTokenCache(e){return new it(e,e=>{D(this).debug(`advisory token refresh failed; serving cached token`,e)})}withOptions(e){let t=`credentials`in e||`config`in e||`profile`in e,n=`apiKey`in e||`authToken`in e||t,r={...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,...t?{credentials:void 0,config:void 0,profile:void 0}:{},...e,__auth:n?void 0:this._authState,__baseURLIsExplicit:`baseURL`in e||this._baseURLIsExplicit};return new this.constructor(r)}async _resolveDefaultCredentials(e){try{let t=await Nt(this._credentialResolverOptions(),e);if(t)this._authState.provider=t.provider,this._authState.tokenCache=this._makeTokenCache(t.provider),this._authState.extraHeaders=t.extraHeaders,this._applyCredentialBaseURL(t.baseURL);else if(e!=null)throw new s(`Profile "${e}" could not be resolved (no <config_dir>/configs/${e}.json found).`)}catch(e){this._authState.error=e}finally{this._authState.resolution=null}}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:e,nulls:t}){if(!(e.get(`x-api-key`)||e.get(`authorization`))){if(this._authState.error)throw this._authState.error;if(!(this._authState.tokenCache||this._authState.resolution)&&!(this.apiKey&&e.get(`x-api-key`))&&!t.has(`x-api-key`)&&!(this.authToken&&e.get(`authorization`))&&!t.has(`authorization`))throw 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(e){let t=this._requestAuthFlags.get(e);return t||(t={usedTokenCache:!1,didRefreshFor401:!1},this._requestAuthFlags.set(e,t)),t}async authHeaders(e){if(this._authState.resolution&&await this._authState.resolution,!this._authState.error){if(this._authState.tokenCache&&this.apiKey==null){let t=await this._authState.tokenCache.getToken();return this._authFlags(e).usedTokenCache=!0,N([{Authorization:`Bearer ${t}`}])}return N([await this.apiKeyAuth(e),await this.bearerAuth(e)])}}async apiKeyAuth(e){if(this.apiKey!=null)return N([{"X-Api-Key":this.apiKey}])}async bearerAuth(e){if(this.authToken!=null)return N([{Authorization:`Bearer ${this.authToken}`}])}stringifyQuery(e){return Ue(e)}getUserAgent(){return`${this.constructor.name}/JS ${fe}`}defaultIdempotencyKey(){return`stainless-node-retry-${te()}`}makeStatusError(e,t,n,r){return c.generate(e,t,n,r)}buildURL(e,t,n){let r=!i(this,Ua,`m`,Ka).call(this)&&n||this.baseURL,a=re(e)?new URL(e):new URL(r+(r.endsWith(`/`)&&e.startsWith(`/`)?e.slice(1):e)),o=this.defaultQuery(),s=Object.fromEntries(a.searchParams);return(!oe(o)||!oe(s))&&(t={...s,...o,...t}),typeof t==`object`&&t&&!Array.isArray(t)&&(a.search=this.stringifyQuery(t)),a.toString()}_calculateNonstreamingTimeout(e){if(3600*e/128e3>600)throw new s(`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(e){}async prepareRequest(e,{url:t,options:n}){if(this._authState.tokenCache&&this.apiKey==null){let t=e.headers instanceof Headers?e.headers:new Headers(e.headers);for(let[e,n]of Object.entries(this._authState.extraHeaders))t.has(e)||t.set(e,n);(t.get(`anthropic-beta`)?.split(`,`).map(e=>e.trim()))?.includes(`oauth-2025-04-20`)||t.append(`anthropic-beta`,qe),e.headers=t}}backendMiddleware(){return[]}get(e,t){return this.methodRequest(`get`,e,t)}post(e,t){return this.methodRequest(`post`,e,t)}patch(e,t){return this.methodRequest(`patch`,e,t)}put(e,t){return this.methodRequest(`put`,e,t)}delete(e,t){return this.methodRequest(`delete`,e,t)}methodRequest(e,t,n){return this.request(Promise.resolve(n).then(n=>({method:e,path:t,...n})))}request(e,t=null){return new nn(this,this.makeRequest(e,t,void 0))}async makeRequest(e,t,n){let r=await e,i=r.maxRetries??this.maxRetries;t??(t=i,this._requestAuthFlags.delete(r)),await this.prepareOptions(r);let{req:s,url:c,timeout:f}=await this.buildRequest(r,{retryCount:i-t}),p=`log_`+(Math.random()*(1<<24)|0).toString(16).padStart(6,`0`),m=n===void 0?``:`, retryOf: ${n}`,h=Date.now();if(r.signal?.aborted)throw new l;let g=new AbortController,_=await this.fetchWithTimeout(c,s,f,g,r,{requestLogID:p,retryOfRequestLogID:n}).catch(o),v=Date.now();if(_ instanceof globalThis.Error){let e=`retrying, ${t} attempts remaining`;if(r.signal?.aborted)throw new l;let i=a(_)||/timed? ?out/i.test(String(_)+(`cause`in _?String(_.cause):``)),o=this.middleware.length>0||!!r.middleware?.length||this.backendMiddleware().length>0;if(o&&!i&&!Xt(_))throw D(this).info(`[${p}] middleware error (not retryable)`),D(this).debug(`[${p}] middleware error (not retryable)`,O({retryOfRequestLogID:n,url:c,durationMs:v-h,message:_.message})),_;if(t)return D(this).info(`[${p}] connection ${i?`timed out`:`failed`} - ${e}`),D(this).debug(`[${p}] connection ${i?`timed out`:`failed`} (${e})`,O({retryOfRequestLogID:n,url:c,durationMs:v-h,message:_.message})),this.retryRequest(r,t,n??p);throw D(this).info(`[${p}] connection ${i?`timed out`:`failed`} - error; no more retries left`),D(this).debug(`[${p}] connection ${i?`timed out`:`failed`} (error; no more retries left)`,O({retryOfRequestLogID:n,url:c,durationMs:v-h,message:_.message})),i?new d:o&&!Yt(_)?_:new u({cause:_})}let y=`[${p}${m}${[..._.headers.entries()].filter(([e])=>e===`request-id`).map(([e,t])=>`, `+e+`: `+JSON.stringify(t)).join(``)}] ${s.method} ${c} ${_.ok?`succeeded`:`failed`} with status ${_.status} in ${v-h}ms`;if(!_.ok){let e=await this.shouldRetry(_,r);if(t&&e){let e=`retrying, ${t} attempts remaining`;return await Te(_.body),D(this).info(`${y} - ${e}`),D(this).debug(`[${p}] response error (${e})`,O({retryOfRequestLogID:n,url:_.url,status:_.status,headers:_.headers,durationMs:v-h})),this.retryRequest(r,t,n??p,_.headers)}let i=e?`error; no more retries left`:`error; not retryable`;D(this).info(`${y} - ${i}`);let a=await _.text().catch(e=>o(e).message),s=le(a),c=s?void 0:a;throw D(this).debug(`[${p}] response error (${i})`,O({retryOfRequestLogID:n,url:_.url,status:_.status,headers:_.headers,message:c,durationMs:Date.now()-h})),this.makeStatusError(_.status,s,c,_.headers)}return D(this).info(y),D(this).debug(`[${p}] response start`,O({retryOfRequestLogID:n,url:_.url,status:_.status,headers:_.headers,durationMs:v-h})),{response:_,options:r,controller:g,requestLogID:p,retryOfRequestLogID:n,startTime:h}}getAPIList(e,t,n){return this.requestAPIList(t,n&&`then`in n?n.then(t=>({method:`get`,path:e,...t})):{method:`get`,path:e,...n})}requestAPIList(e,t){let n=this.makeRequest(t,null,void 0);return new on(this,n,e)}async fetchWithTimeout(e,t,n,r,i,a){let{signal:o,method:s,...c}=t||{},l=this._makeAbort(r);o&&o.addEventListener(`abort`,l,{once:!0});let u=globalThis.ReadableStream&&c.body instanceof globalThis.ReadableStream||typeof c.body==`object`&&c.body!==null&&Symbol.asyncIterator in c.body,d={signal:r.signal,...u?{duplex:`half`}:{},method:`GET`,...c};s&&(d.method=s.toUpperCase());let f=this.fetch,p=async(e,t)=>{let r=setTimeout(l,n);try{return await f.call(void 0,e,t)}finally{clearTimeout(r)}},m=i===void 0?p:(async(e,t={})=>{let n=typeof e==`string`?e:e instanceof URL?e.href:e.url;return t.headers=t.headers instanceof Headers?t.headers:new Headers(t.headers),await this.prepareRequest(t,{url:n,options:i}),a&&D(this).debug(`[${a.requestLogID}] sending request`,O({retryOfRequestLogID:a.retryOfRequestLogID,method:t.method,url:n,options:i,headers:t.headers})),p(e,t)}),h=i?.middleware,g=this.backendMiddleware();return await Zt(m,h?.length||g.length?[...this.middleware,...h??[],...g]:this.middleware,i,this)(e,d)}async shouldRetry(e,t){let n=this._authFlags(t);if(e.status===401&&this._authState.tokenCache&&n.usedTokenCache&&!n.didRefreshFor401)return n.didRefreshFor401=!0,this._authState.tokenCache.invalidate(),!0;let r=e.headers.get(`x-should-retry`);return r===`true`?!0:r===`false`?!1:e.status===408||e.status===409||e.status===429||e.status>=500}async retryRequest(e,t,n,r){let i,a=r?.get(`retry-after-ms`);if(a){let e=parseFloat(a);Number.isNaN(e)||(i=e)}let o=r?.get(`retry-after`);if(o&&!i){let e=parseFloat(o);i=Number.isNaN(e)?Date.parse(o)-Date.now():e*1e3}if(i===void 0){let n=e.maxRetries??this.maxRetries;i=this.calculateDefaultRetryTimeoutMillis(t,n)}return await de(i),this.makeRequest(e,t-1,n)}calculateDefaultRetryTimeoutMillis(e,t){let n=t-e;return Math.min(.5*2**n,8)*(1-Math.random()*.25)*1e3}calculateNonstreamingTimeout(e,t){let n=600*1e3;if(36e5*e/128e3>n||t!=null&&e>t)throw new s(`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 n}async buildRequest(e,{retryCount:t=0}={}){let n={...e},{method:r,path:i,query:a,defaultBaseURL:o}=n;this._authState.resolution&&await this._authState.resolution,!this._baseURLIsExplicit&&this._authState.baseURL&&this.baseURL!==this._authState.baseURL&&(this.baseURL=this._authState.baseURL);let s=this.buildURL(i,a,o);`timeout`in n&&ce(`timeout`,n.timeout),n.timeout=n.timeout??this.timeout;let{bodyHeaders:c,body:l}=this.buildBody({options:n});return{req:{method:r,headers:await this.buildHeaders({options:e,method:r,bodyHeaders:c,retryCount:t}),...n.signal&&{signal:n.signal},...globalThis.ReadableStream&&l instanceof globalThis.ReadableStream&&{duplex:`half`},...l&&{body:l},...this.fetchOptions??{},...n.fetchOptions??{}},url:s,timeout:n.timeout}}async buildHeaders({options:e,method:t,bodyHeaders:n,retryCount:r}){let i={};this.idempotencyHeader&&t!==`get`&&(e.idempotencyKey||=this.defaultIdempotencyKey(),i[this.idempotencyHeader]=e.idempotencyKey);let a=N([i,{Accept:`application/json`,"User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(r),...e.timeout?{"X-Stainless-Timeout":String(Math.trunc(e.timeout/1e3))}:{},...be(),...this._options.dangerouslyAllowBrowser?{"anthropic-dangerous-direct-browser-access":`true`}:void 0,"anthropic-version":`2023-06-01`},await this.authHeaders(e),this._options.defaultHeaders,n,e.headers]);return this.validateHeaders(a),a.values}_makeAbort(e){return()=>e.abort()}buildBody({options:{body:e,headers:t}}){if(!e)return{bodyHeaders:void 0,body:void 0};let n=N([t]);return ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof DataView||typeof e==`string`&&n.values.has(`content-type`)||globalThis.Blob&&e instanceof globalThis.Blob||e instanceof FormData||e instanceof URLSearchParams||globalThis.ReadableStream&&e instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:e}:typeof e==`object`&&(Symbol.asyncIterator in e||Symbol.iterator in e&&`next`in e&&typeof e.next==`function`)?{bodyHeaders:void 0,body:Ce(e)}:typeof e==`object`&&n.values.get(`content-type`)===`application/x-www-form-urlencoded`?{bodyHeaders:{"content-type":`application/x-www-form-urlencoded`},body:this.stringifyQuery(e)}:i(this,Ga,`f`).call(this,{body:e,headers:n})}};Wa=$,Ga=new WeakMap,Ua=new WeakSet,Ka=function(){return this.baseURL!==`https://api.anthropic.com`},$.Anthropic=Wa,$.HUMAN_PROMPT=qa,$.AI_PROMPT=Ja,$.DEFAULT_TIMEOUT=6e5,$.AnthropicError=s,$.APIError=c,$.APIConnectionError=u,$.APIConnectionTimeoutError=d,$.APIUserAbortError=l,$.NotFoundError=g,$.ConflictError=_,$.RateLimitError=y,$.BadRequestError=p,$.AuthenticationError=m,$.InternalServerError=ee,$.PermissionDeniedError=h,$.UnprocessableEntityError=v,$.toFile=xn;var Ya=class extends ${constructor(){super(...arguments),this.completions=new ca(this),this.messages=new za(this),this.models=new Ha(this),this.beta=new X(this)}};Ya.Completions=ca,Ya.Messages=za,Ya.Models=Ha,Ya.Beta=X,new TextEncoder;export{b as a,r as c,ue as i,zi as n,s as o,D as r,i as s,Ya as t};
|