jeopi-ai 16.2.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4347 -0
- package/README.md +1193 -0
- package/dist/types/api-registry.d.ts +30 -0
- package/dist/types/auth-broker/client.d.ts +73 -0
- package/dist/types/auth-broker/discover.d.ts +35 -0
- package/dist/types/auth-broker/index.d.ts +7 -0
- package/dist/types/auth-broker/refresher.d.ts +25 -0
- package/dist/types/auth-broker/remote-store.d.ts +102 -0
- package/dist/types/auth-broker/server.d.ts +43 -0
- package/dist/types/auth-broker/snapshot-cache.d.ts +17 -0
- package/dist/types/auth-broker/types.d.ts +107 -0
- package/dist/types/auth-broker/wire-schemas.d.ts +411 -0
- package/dist/types/auth-gateway/http.d.ts +39 -0
- package/dist/types/auth-gateway/index.d.ts +3 -0
- package/dist/types/auth-gateway/server.d.ts +36 -0
- package/dist/types/auth-gateway/types.d.ts +123 -0
- package/dist/types/auth-retry.d.ts +124 -0
- package/dist/types/auth-storage.d.ts +1026 -0
- package/dist/types/dialect/anthropic.d.ts +15 -0
- package/dist/types/dialect/catalog.d.ts +3 -0
- package/dist/types/dialect/coercion.d.ts +23 -0
- package/dist/types/dialect/deepseek.d.ts +14 -0
- package/dist/types/dialect/demotion.d.ts +23 -0
- package/dist/types/dialect/examples.d.ts +2 -0
- package/dist/types/dialect/factory.d.ts +3 -0
- package/dist/types/dialect/fenced-thinking.d.ts +53 -0
- package/dist/types/dialect/gemini.d.ts +17 -0
- package/dist/types/dialect/gemma.d.ts +15 -0
- package/dist/types/dialect/glm.d.ts +9 -0
- package/dist/types/dialect/harmony.d.ts +8 -0
- package/dist/types/dialect/hermes.d.ts +9 -0
- package/dist/types/dialect/history.d.ts +3 -0
- package/dist/types/dialect/index.d.ts +11 -0
- package/dist/types/dialect/inventory.d.ts +12 -0
- package/dist/types/dialect/kimi.d.ts +14 -0
- package/dist/types/dialect/minimax.d.ts +3 -0
- package/dist/types/dialect/owned-stream.d.ts +4 -0
- package/dist/types/dialect/qwen3.d.ts +9 -0
- package/dist/types/dialect/rendering.d.ts +45 -0
- package/dist/types/dialect/thinking.d.ts +6 -0
- package/dist/types/dialect/types.d.ts +69 -0
- package/dist/types/dialect/xml.d.ts +9 -0
- package/dist/types/error/abort.d.ts +14 -0
- package/dist/types/error/auth-classify.d.ts +16 -0
- package/dist/types/error/auth.d.ts +27 -0
- package/dist/types/error/aws.d.ts +23 -0
- package/dist/types/error/classes.d.ts +102 -0
- package/dist/types/error/finalize.d.ts +39 -0
- package/dist/types/error/flags.d.ts +79 -0
- package/dist/types/error/format.d.ts +20 -0
- package/dist/types/error/gateway.d.ts +20 -0
- package/dist/types/error/index.d.ts +13 -0
- package/dist/types/error/oauth.d.ts +43 -0
- package/dist/types/error/provider.d.ts +42 -0
- package/dist/types/error/rate-limit.d.ts +59 -0
- package/dist/types/error/retryable.d.ts +27 -0
- package/dist/types/error/validation.d.ts +32 -0
- package/dist/types/index.d.ts +49 -0
- package/dist/types/provider-details.d.ts +24 -0
- package/dist/types/providers/__tests__/google-auth.test.d.ts +1 -0
- package/dist/types/providers/__tests__/kimi-code-thinking.test.d.ts +1 -0
- package/dist/types/providers/__tests__/openai-codex-error.test.d.ts +1 -0
- package/dist/types/providers/amazon-bedrock.d.ts +39 -0
- package/dist/types/providers/anthropic-client.d.ts +94 -0
- package/dist/types/providers/anthropic-messages-server-schema.d.ts +497 -0
- package/dist/types/providers/anthropic-messages-server.d.ts +17 -0
- package/dist/types/providers/anthropic-wire.d.ts +318 -0
- package/dist/types/providers/anthropic.d.ts +248 -0
- package/dist/types/providers/aws-credentials.d.ts +53 -0
- package/dist/types/providers/aws-eventstream.d.ts +39 -0
- package/dist/types/providers/aws-sigv4.d.ts +55 -0
- package/dist/types/providers/azure-openai-responses.d.ts +16 -0
- package/dist/types/providers/cursor.d.ts +91 -0
- package/dist/types/providers/devin.d.ts +12 -0
- package/dist/types/providers/error-message.d.ts +27 -0
- package/dist/types/providers/github-copilot-headers.d.ts +40 -0
- package/dist/types/providers/gitlab-duo-workflow.d.ts +254 -0
- package/dist/types/providers/gitlab-duo.d.ts +27 -0
- package/dist/types/providers/google-auth.d.ts +32 -0
- package/dist/types/providers/google-gemini-cli.d.ts +118 -0
- package/dist/types/providers/google-interactions.d.ts +65 -0
- package/dist/types/providers/google-shared.d.ts +203 -0
- package/dist/types/providers/google-types.d.ts +155 -0
- package/dist/types/providers/google-vertex.d.ts +7 -0
- package/dist/types/providers/google.d.ts +4 -0
- package/dist/types/providers/grammar.d.ts +1 -0
- package/dist/types/providers/kimi.d.ts +27 -0
- package/dist/types/providers/mock.d.ts +178 -0
- package/dist/types/providers/ollama.d.ts +7 -0
- package/dist/types/providers/openai-anthropic-shim.d.ts +31 -0
- package/dist/types/providers/openai-chat-server-schema.d.ts +695 -0
- package/dist/types/providers/openai-chat-server.d.ts +16 -0
- package/dist/types/providers/openai-chat-wire.d.ts +644 -0
- package/dist/types/providers/openai-codex/request-transformer.d.ts +54 -0
- package/dist/types/providers/openai-codex/response-handler.d.ts +26 -0
- package/dist/types/providers/openai-codex-responses.d.ts +108 -0
- package/dist/types/providers/openai-completions.d.ts +45 -0
- package/dist/types/providers/openai-reasoning-fallback.d.ts +25 -0
- package/dist/types/providers/openai-responses-server-schema.d.ts +349 -0
- package/dist/types/providers/openai-responses-server.d.ts +17 -0
- package/dist/types/providers/openai-responses-wire.d.ts +6065 -0
- package/dist/types/providers/openai-responses.d.ts +126 -0
- package/dist/types/providers/openai-shared.d.ts +506 -0
- package/dist/types/providers/pi-native-client.d.ts +13 -0
- package/dist/types/providers/pi-native-server.d.ts +69 -0
- package/dist/types/providers/register-builtins.d.ts +32 -0
- package/dist/types/providers/synthetic.d.ts +26 -0
- package/dist/types/providers/transform-messages.d.ts +11 -0
- package/dist/types/providers/vision-guard.d.ts +20 -0
- package/dist/types/registry/aimlapi.d.ts +4 -0
- package/dist/types/registry/alibaba-coding-plan.d.ts +8 -0
- package/dist/types/registry/amazon-bedrock.d.ts +5 -0
- package/dist/types/registry/anthropic.d.ts +10 -0
- package/dist/types/registry/api-key-login.d.ts +42 -0
- package/dist/types/registry/api-key-validation.d.ts +43 -0
- package/dist/types/registry/azure.d.ts +4 -0
- package/dist/types/registry/cerebras.d.ts +7 -0
- package/dist/types/registry/cloudflare-ai-gateway.d.ts +13 -0
- package/dist/types/registry/coreweave.d.ts +7 -0
- package/dist/types/registry/cursor.d.ts +7 -0
- package/dist/types/registry/deepseek.d.ts +8 -0
- package/dist/types/registry/derived.d.ts +5 -0
- package/dist/types/registry/devin.d.ts +8 -0
- package/dist/types/registry/firepass.d.ts +16 -0
- package/dist/types/registry/fireworks.d.ts +7 -0
- package/dist/types/registry/github-copilot.d.ts +7 -0
- package/dist/types/registry/gitlab-duo-workflow.d.ts +10 -0
- package/dist/types/registry/gitlab-duo.d.ts +9 -0
- package/dist/types/registry/google-antigravity.d.ts +9 -0
- package/dist/types/registry/google-gemini-cli.d.ts +9 -0
- package/dist/types/registry/google-vertex.d.ts +5 -0
- package/dist/types/registry/google.d.ts +4 -0
- package/dist/types/registry/groq.d.ts +4 -0
- package/dist/types/registry/huggingface.d.ts +7 -0
- package/dist/types/registry/index.d.ts +4 -0
- package/dist/types/registry/kagi.d.ts +14 -0
- package/dist/types/registry/kilo.d.ts +7 -0
- package/dist/types/registry/kimi-code.d.ts +7 -0
- package/dist/types/registry/litellm.d.ts +13 -0
- package/dist/types/registry/llama-cpp.d.ts +8 -0
- package/dist/types/registry/lm-studio.d.ts +8 -0
- package/dist/types/registry/minimax-code-cn.d.ts +6 -0
- package/dist/types/registry/minimax-code.d.ts +6 -0
- package/dist/types/registry/minimax.d.ts +4 -0
- package/dist/types/registry/mistral.d.ts +4 -0
- package/dist/types/registry/moonshot.d.ts +7 -0
- package/dist/types/registry/nanogpt.d.ts +7 -0
- package/dist/types/registry/nvidia.d.ts +7 -0
- package/dist/types/registry/oauth/__tests__/xai-oauth.test.d.ts +1 -0
- package/dist/types/registry/oauth/anthropic.d.ts +23 -0
- package/dist/types/registry/oauth/callback-server.d.ts +72 -0
- package/dist/types/registry/oauth/cursor.d.ts +15 -0
- package/dist/types/registry/oauth/devin.d.ts +5 -0
- package/dist/types/registry/oauth/github-copilot.d.ts +30 -0
- package/dist/types/registry/oauth/gitlab-duo-workflow.d.ts +6 -0
- package/dist/types/registry/oauth/gitlab-duo.d.ts +3 -0
- package/dist/types/registry/oauth/google-antigravity.d.ts +11 -0
- package/dist/types/registry/oauth/google-gemini-cli.d.ts +10 -0
- package/dist/types/registry/oauth/google-oauth-shared.d.ts +22 -0
- package/dist/types/registry/oauth/index.d.ts +64 -0
- package/dist/types/registry/oauth/kimi.d.ts +21 -0
- package/dist/types/registry/oauth/minimax-code.d.ts +27 -0
- package/dist/types/registry/oauth/openai-codex.d.ts +33 -0
- package/dist/types/registry/oauth/opencode.d.ts +18 -0
- package/dist/types/registry/oauth/perplexity.d.ts +9 -0
- package/dist/types/registry/oauth/pkce.d.ts +8 -0
- package/dist/types/registry/oauth/types.d.ts +56 -0
- package/dist/types/registry/oauth/wafer.d.ts +1 -0
- package/dist/types/registry/oauth/xai-oauth.d.ts +52 -0
- package/dist/types/registry/oauth/xiaomi.d.ts +25 -0
- package/dist/types/registry/ollama-cloud.d.ts +7 -0
- package/dist/types/registry/ollama.d.ts +12 -0
- package/dist/types/registry/openai-codex-device.d.ts +8 -0
- package/dist/types/registry/openai-codex.d.ts +9 -0
- package/dist/types/registry/openai.d.ts +4 -0
- package/dist/types/registry/opencode-go.d.ts +6 -0
- package/dist/types/registry/opencode-zen.d.ts +6 -0
- package/dist/types/registry/openrouter.d.ts +13 -0
- package/dist/types/registry/parallel.d.ts +14 -0
- package/dist/types/registry/perplexity.d.ts +7 -0
- package/dist/types/registry/qianfan.d.ts +7 -0
- package/dist/types/registry/qwen-portal.d.ts +7 -0
- package/dist/types/registry/registry.d.ts +303 -0
- package/dist/types/registry/sakana.d.ts +7 -0
- package/dist/types/registry/synthetic.d.ts +6 -0
- package/dist/types/registry/tavily.d.ts +14 -0
- package/dist/types/registry/together.d.ts +6 -0
- package/dist/types/registry/types.d.ts +51 -0
- package/dist/types/registry/umans.d.ts +7 -0
- package/dist/types/registry/venice.d.ts +13 -0
- package/dist/types/registry/vercel-ai-gateway.d.ts +7 -0
- package/dist/types/registry/vllm.d.ts +7 -0
- package/dist/types/registry/wafer-serverless.d.ts +6 -0
- package/dist/types/registry/xai-oauth.d.ts +7 -0
- package/dist/types/registry/xai.d.ts +4 -0
- package/dist/types/registry/xiaomi-token-plan-ams.d.ts +6 -0
- package/dist/types/registry/xiaomi-token-plan-cn.d.ts +6 -0
- package/dist/types/registry/xiaomi-token-plan-sgp.d.ts +6 -0
- package/dist/types/registry/xiaomi.d.ts +6 -0
- package/dist/types/registry/zai.d.ts +7 -0
- package/dist/types/registry/zenmux.d.ts +7 -0
- package/dist/types/registry/zhipu-coding-plan.d.ts +7 -0
- package/dist/types/stream.d.ts +44 -0
- package/dist/types/types.d.ts +715 -0
- package/dist/types/usage/claude.d.ts +4 -0
- package/dist/types/usage/gemini.d.ts +2 -0
- package/dist/types/usage/github-copilot.d.ts +7 -0
- package/dist/types/usage/google-antigravity.d.ts +15 -0
- package/dist/types/usage/kimi.d.ts +2 -0
- package/dist/types/usage/minimax-code.d.ts +2 -0
- package/dist/types/usage/ollama.d.ts +5 -0
- package/dist/types/usage/openai-codex-base-url.d.ts +18 -0
- package/dist/types/usage/openai-codex-reset.d.ts +79 -0
- package/dist/types/usage/openai-codex.d.ts +3 -0
- package/dist/types/usage/opencode-go.d.ts +2 -0
- package/dist/types/usage/shared.d.ts +1 -0
- package/dist/types/usage/zai.d.ts +2 -0
- package/dist/types/usage.d.ts +346 -0
- package/dist/types/utils/abort.d.ts +25 -0
- package/dist/types/utils/anthropic-auth.d.ts +35 -0
- package/dist/types/utils/block-symbols.d.ts +20 -0
- package/dist/types/utils/deterministic-id.d.ts +16 -0
- package/dist/types/utils/empty-completion-retry.d.ts +21 -0
- package/dist/types/utils/event-stream.d.ts +30 -0
- package/dist/types/utils/foundry.d.ts +1 -0
- package/dist/types/utils/google-validation.d.ts +2 -0
- package/dist/types/utils/harmony-leak.d.ts +118 -0
- package/dist/types/utils/http-inspector.d.ts +30 -0
- package/dist/types/utils/idle-iterator.d.ts +137 -0
- package/dist/types/utils/leaked-thinking-stream.d.ts +29 -0
- package/dist/types/utils/openai-http.d.ts +54 -0
- package/dist/types/utils/openrouter-headers.d.ts +1 -0
- package/dist/types/utils/parse-bind.d.ts +23 -0
- package/dist/types/utils/provider-response.d.ts +3 -0
- package/dist/types/utils/proxy.d.ts +29 -0
- package/dist/types/utils/request-debug.d.ts +29 -0
- package/dist/types/utils/retry-after.d.ts +4 -0
- package/dist/types/utils/retry.d.ts +14 -0
- package/dist/types/utils/schema/adapt.d.ts +24 -0
- package/dist/types/utils/schema/compatibility.d.ts +30 -0
- package/dist/types/utils/schema/dereference.d.ts +11 -0
- package/dist/types/utils/schema/draft.d.ts +10 -0
- package/dist/types/utils/schema/equality.d.ts +4 -0
- package/dist/types/utils/schema/fields.d.ts +54 -0
- package/dist/types/utils/schema/index.d.ts +15 -0
- package/dist/types/utils/schema/json-schema-validator.d.ts +20 -0
- package/dist/types/utils/schema/meta-validator.d.ts +2 -0
- package/dist/types/utils/schema/normalize.d.ts +124 -0
- package/dist/types/utils/schema/spill.d.ts +8 -0
- package/dist/types/utils/schema/stamps.d.ts +17 -0
- package/dist/types/utils/schema/strict-tool-validation.d.ts +16 -0
- package/dist/types/utils/schema/types.d.ts +4 -0
- package/dist/types/utils/schema/typescript.d.ts +18 -0
- package/dist/types/utils/schema/wire.d.ts +92 -0
- package/dist/types/utils/schema/zod-decontaminate.d.ts +31 -0
- package/dist/types/utils/sdk-stream-timeout.d.ts +33 -0
- package/dist/types/utils/sse-debug.d.ts +5 -0
- package/dist/types/utils/stream-markup-healing.d.ts +87 -0
- package/dist/types/utils/thinking-loop.d.ts +102 -0
- package/dist/types/utils/tool-call-loop-guard.d.ts +26 -0
- package/dist/types/utils/tool-choice.d.ts +50 -0
- package/dist/types/utils/validation.d.ts +42 -0
- package/dist/types/utils.d.ts +24 -0
- package/package.json +139 -0
- package/src/api-registry.ts +109 -0
- package/src/auth-broker/client.ts +359 -0
- package/src/auth-broker/discover.ts +222 -0
- package/src/auth-broker/index.ts +7 -0
- package/src/auth-broker/refresher.ts +117 -0
- package/src/auth-broker/remote-store.ts +657 -0
- package/src/auth-broker/server.ts +646 -0
- package/src/auth-broker/snapshot-cache.ts +191 -0
- package/src/auth-broker/types.ts +130 -0
- package/src/auth-broker/wire-schemas.ts +249 -0
- package/src/auth-gateway/http.ts +194 -0
- package/src/auth-gateway/index.ts +3 -0
- package/src/auth-gateway/server.ts +802 -0
- package/src/auth-gateway/types.ts +151 -0
- package/src/auth-retry.ts +250 -0
- package/src/auth-storage.ts +5576 -0
- package/src/dialect/anthropic.md +31 -0
- package/src/dialect/anthropic.ts +608 -0
- package/src/dialect/catalog.ts +29 -0
- package/src/dialect/coercion.ts +136 -0
- package/src/dialect/deepseek.md +24 -0
- package/src/dialect/deepseek.ts +609 -0
- package/src/dialect/demotion.ts +36 -0
- package/src/dialect/examples.ts +33 -0
- package/src/dialect/factory.ts +34 -0
- package/src/dialect/fenced-thinking.ts +184 -0
- package/src/dialect/gemini.md +44 -0
- package/src/dialect/gemini.ts +597 -0
- package/src/dialect/gemma.md +33 -0
- package/src/dialect/gemma.ts +387 -0
- package/src/dialect/glm.md +32 -0
- package/src/dialect/glm.ts +456 -0
- package/src/dialect/harmony.md +31 -0
- package/src/dialect/harmony.ts +346 -0
- package/src/dialect/hermes.md +25 -0
- package/src/dialect/hermes.ts +206 -0
- package/src/dialect/history.ts +81 -0
- package/src/dialect/index.ts +15 -0
- package/src/dialect/inventory.ts +73 -0
- package/src/dialect/kimi.md +24 -0
- package/src/dialect/kimi.ts +340 -0
- package/src/dialect/minimax.md +31 -0
- package/src/dialect/minimax.ts +95 -0
- package/src/dialect/owned-stream.ts +470 -0
- package/src/dialect/prompt-template.md +12 -0
- package/src/dialect/qwen3.md +28 -0
- package/src/dialect/qwen3.ts +240 -0
- package/src/dialect/rendering.ts +249 -0
- package/src/dialect/thinking.ts +122 -0
- package/src/dialect/types.ts +57 -0
- package/src/dialect/xml.md +22 -0
- package/src/dialect/xml.ts +90 -0
- package/src/error/abort.ts +18 -0
- package/src/error/auth-classify.ts +30 -0
- package/src/error/auth.ts +48 -0
- package/src/error/aws.ts +31 -0
- package/src/error/classes.ts +186 -0
- package/src/error/finalize.ts +69 -0
- package/src/error/flags.ts +506 -0
- package/src/error/format.ts +45 -0
- package/src/error/gateway.ts +96 -0
- package/src/error/index.ts +13 -0
- package/src/error/oauth.ts +58 -0
- package/src/error/provider.ts +62 -0
- package/src/error/rate-limit.ts +161 -0
- package/src/error/retryable.ts +70 -0
- package/src/error/validation.ts +44 -0
- package/src/index.ts +49 -0
- package/src/provider-details.ts +90 -0
- package/src/providers/__tests__/google-auth.test.ts +144 -0
- package/src/providers/__tests__/kimi-code-thinking.test.ts +112 -0
- package/src/providers/__tests__/openai-codex-error.test.ts +84 -0
- package/src/providers/amazon-bedrock.ts +1042 -0
- package/src/providers/anthropic-client.ts +295 -0
- package/src/providers/anthropic-messages-server-schema.ts +252 -0
- package/src/providers/anthropic-messages-server.ts +756 -0
- package/src/providers/anthropic-wire.ts +318 -0
- package/src/providers/anthropic.ts +4078 -0
- package/src/providers/aws-credentials.ts +586 -0
- package/src/providers/aws-eventstream.ts +181 -0
- package/src/providers/aws-sigv4.ts +218 -0
- package/src/providers/azure-openai-responses.ts +382 -0
- package/src/providers/cursor/proto/agent.proto +3526 -0
- package/src/providers/cursor/proto/buf.gen.yaml +6 -0
- package/src/providers/cursor/proto/buf.yaml +17 -0
- package/src/providers/cursor.ts +2695 -0
- package/src/providers/devin/proto/buf/validate/validate.proto +468 -0
- package/src/providers/devin/proto/buf.gen.yaml +33 -0
- package/src/providers/devin/proto/buf.yaml +17 -0
- package/src/providers/devin/proto/cel/expr/checked.proto +103 -0
- package/src/providers/devin/proto/cel/expr/eval.proto +38 -0
- package/src/providers/devin/proto/cel/expr/explain.proto +15 -0
- package/src/providers/devin/proto/cel/expr/syntax.proto +113 -0
- package/src/providers/devin/proto/cel/expr/value.proto +41 -0
- package/src/providers/devin/proto/connectext/grpc/status/v1/status.proto +11 -0
- package/src/providers/devin/proto/errorspb/errors.proto +56 -0
- package/src/providers/devin/proto/errorspb/hintdetail.proto +7 -0
- package/src/providers/devin/proto/errorspb/markers.proto +10 -0
- package/src/providers/devin/proto/errorspb/tags.proto +12 -0
- package/src/providers/devin/proto/errorspb/testing.proto +6 -0
- package/src/providers/devin/proto/exa/analytics_pb/analytics.proto +188 -0
- package/src/providers/devin/proto/exa/api_server_pb/api_server.proto +2461 -0
- package/src/providers/devin/proto/exa/auth_pb/auth.proto +19 -0
- package/src/providers/devin/proto/exa/auto_cascade_common_pb/auto_cascade_common.proto +79 -0
- package/src/providers/devin/proto/exa/browser_preview_pb/browser_preview.proto +32 -0
- package/src/providers/devin/proto/exa/bug_checker_pb/bug_checker.proto +22 -0
- package/src/providers/devin/proto/exa/cascade_plugins_pb/cascade_plugins.proto +262 -0
- package/src/providers/devin/proto/exa/chat_client_server_pb/chat_client_server.proto +57 -0
- package/src/providers/devin/proto/exa/chat_pb/chat.proto +449 -0
- package/src/providers/devin/proto/exa/code_edit/code_edit_pb/code_edit.proto +186 -0
- package/src/providers/devin/proto/exa/codeium_common_pb/codeium_common.proto +4157 -0
- package/src/providers/devin/proto/exa/context_module_pb/context_module.proto +175 -0
- package/src/providers/devin/proto/exa/cortex_pb/cortex.proto +3268 -0
- package/src/providers/devin/proto/exa/dev_pb/dev.proto +26 -0
- package/src/providers/devin/proto/exa/diff_action_pb/diff_action.proto +75 -0
- package/src/providers/devin/proto/exa/eval/pr_eval/datasets_pb/datasets.proto +103 -0
- package/src/providers/devin/proto/exa/eval_pb/eval.proto +1315 -0
- package/src/providers/devin/proto/exa/extension_server_pb/extension_server.proto +556 -0
- package/src/providers/devin/proto/exa/file_system_provider_pb/file_system_provider.proto +75 -0
- package/src/providers/devin/proto/exa/index_pb/index.proto +461 -0
- package/src/providers/devin/proto/exa/knowledge_base_pb/knowledge_base.proto +144 -0
- package/src/providers/devin/proto/exa/language_server_pb/language_server.proto +2385 -0
- package/src/providers/devin/proto/exa/model_management_pb/model_management.proto +186 -0
- package/src/providers/devin/proto/exa/opensearch_clients_pb/opensearch_clients.proto +503 -0
- package/src/providers/devin/proto/exa/product_analytics_pb/product_analytics.proto +37 -0
- package/src/providers/devin/proto/exa/prompt_pb/prompt.proto +92 -0
- package/src/providers/devin/proto/exa/reactive_component_pb/reactive_component.proto +96 -0
- package/src/providers/devin/proto/exa/seat_management_pb/seat_management.proto +2680 -0
- package/src/providers/devin/proto/exa/tokenizer_pb/tokenizer.proto +37 -0
- package/src/providers/devin/proto/exa/trainer_pb/config.proto +647 -0
- package/src/providers/devin/proto/exa/tree_sitter/language_data_pb/language_data.proto +14 -0
- package/src/providers/devin/proto/exa/trust_pb/trust.proto +157 -0
- package/src/providers/devin/proto/exa/user_analytics_pb/user_analytics.proto +519 -0
- package/src/providers/devin/proto/google.golang.org/appengine/internal/base/api_base.proto +28 -0
- package/src/providers/devin/proto/google.golang.org/appengine/internal/datastore/datastore_v3.proto +484 -0
- package/src/providers/devin/proto/google.golang.org/appengine/internal/log/log_service.proto +136 -0
- package/src/providers/devin/proto/google.golang.org/appengine/internal/remote_api/remote_api.proto +42 -0
- package/src/providers/devin/proto/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto +61 -0
- package/src/providers/devin/proto/grpc/binlog/v1/binarylog.proto +84 -0
- package/src/providers/devin/proto/io/prometheus/client/metrics.proto +98 -0
- package/src/providers/devin.ts +577 -0
- package/src/providers/error-message.ts +21 -0
- package/src/providers/github-copilot-headers.ts +141 -0
- package/src/providers/gitlab-duo-workflow-chatml-note.md +1 -0
- package/src/providers/gitlab-duo-workflow.ts +3058 -0
- package/src/providers/gitlab-duo.ts +395 -0
- package/src/providers/google-auth.ts +350 -0
- package/src/providers/google-gemini-cli.ts +1362 -0
- package/src/providers/google-interactions.ts +753 -0
- package/src/providers/google-shared.ts +1103 -0
- package/src/providers/google-types.ts +180 -0
- package/src/providers/google-vertex.ts +183 -0
- package/src/providers/google.ts +87 -0
- package/src/providers/grammar.ts +70 -0
- package/src/providers/kimi.ts +52 -0
- package/src/providers/mock.ts +507 -0
- package/src/providers/ollama.ts +773 -0
- package/src/providers/openai-anthropic-shim.ts +152 -0
- package/src/providers/openai-chat-server-schema.ts +242 -0
- package/src/providers/openai-chat-server.ts +715 -0
- package/src/providers/openai-chat-wire.ts +847 -0
- package/src/providers/openai-codex/request-transformer.ts +295 -0
- package/src/providers/openai-codex/response-handler.ts +102 -0
- package/src/providers/openai-codex-responses.ts +3468 -0
- package/src/providers/openai-completions.ts +2173 -0
- package/src/providers/openai-reasoning-fallback.ts +269 -0
- package/src/providers/openai-responses-reasoning-suppression.md +1 -0
- package/src/providers/openai-responses-server-schema.ts +282 -0
- package/src/providers/openai-responses-server.ts +1280 -0
- package/src/providers/openai-responses-wire.ts +6391 -0
- package/src/providers/openai-responses.ts +1022 -0
- package/src/providers/openai-shared.ts +2648 -0
- package/src/providers/pi-native-client.ts +266 -0
- package/src/providers/pi-native-server.ts +242 -0
- package/src/providers/register-builtins.ts +475 -0
- package/src/providers/synthetic.ts +50 -0
- package/src/providers/transform-messages.ts +787 -0
- package/src/providers/vision-guard.ts +54 -0
- package/src/registry/aimlapi.ts +6 -0
- package/src/registry/alibaba-coding-plan.ts +95 -0
- package/src/registry/amazon-bedrock.ts +22 -0
- package/src/registry/anthropic.ts +26 -0
- package/src/registry/api-key-login.ts +112 -0
- package/src/registry/api-key-validation.ts +161 -0
- package/src/registry/azure.ts +6 -0
- package/src/registry/cerebras.ts +23 -0
- package/src/registry/cloudflare-ai-gateway.ts +45 -0
- package/src/registry/coreweave.ts +40 -0
- package/src/registry/cursor.ts +20 -0
- package/src/registry/deepseek.ts +46 -0
- package/src/registry/derived.ts +9 -0
- package/src/registry/devin.ts +15 -0
- package/src/registry/firepass.ts +32 -0
- package/src/registry/fireworks.ts +28 -0
- package/src/registry/github-copilot.ts +22 -0
- package/src/registry/gitlab-duo-workflow.ts +20 -0
- package/src/registry/gitlab-duo.ts +19 -0
- package/src/registry/google-antigravity.ts +22 -0
- package/src/registry/google-gemini-cli.ts +22 -0
- package/src/registry/google-vertex.ts +38 -0
- package/src/registry/google.ts +6 -0
- package/src/registry/groq.ts +6 -0
- package/src/registry/huggingface.ts +29 -0
- package/src/registry/index.ts +4 -0
- package/src/registry/kagi.ts +46 -0
- package/src/registry/kilo.ts +114 -0
- package/src/registry/kimi-code.ts +17 -0
- package/src/registry/litellm.ts +45 -0
- package/src/registry/llama-cpp.ts +35 -0
- package/src/registry/lm-studio.ts +31 -0
- package/src/registry/minimax-code-cn.ts +12 -0
- package/src/registry/minimax-code.ts +12 -0
- package/src/registry/minimax.ts +6 -0
- package/src/registry/mistral.ts +6 -0
- package/src/registry/moonshot.ts +22 -0
- package/src/registry/nanogpt.ts +22 -0
- package/src/registry/nvidia.ts +61 -0
- package/src/registry/oauth/__tests__/xai-oauth.test.ts +104 -0
- package/src/registry/oauth/anthropic.ts +311 -0
- package/src/registry/oauth/callback-server.ts +315 -0
- package/src/registry/oauth/cursor.ts +171 -0
- package/src/registry/oauth/devin.ts +124 -0
- package/src/registry/oauth/github-copilot.ts +369 -0
- package/src/registry/oauth/gitlab-duo-workflow.ts +146 -0
- package/src/registry/oauth/gitlab-duo.ts +222 -0
- package/src/registry/oauth/google-antigravity.ts +209 -0
- package/src/registry/oauth/google-gemini-cli.ts +273 -0
- package/src/registry/oauth/google-oauth-shared.ts +125 -0
- package/src/registry/oauth/index.ts +269 -0
- package/src/registry/oauth/kimi.ts +289 -0
- package/src/registry/oauth/minimax-code.ts +53 -0
- package/src/registry/oauth/oauth.html +311 -0
- package/src/registry/oauth/openai-codex.ts +364 -0
- package/src/registry/oauth/opencode.ts +50 -0
- package/src/registry/oauth/perplexity.ts +228 -0
- package/src/registry/oauth/pkce.ts +18 -0
- package/src/registry/oauth/types.ts +65 -0
- package/src/registry/oauth/wafer.ts +24 -0
- package/src/registry/oauth/xai-oauth.ts +394 -0
- package/src/registry/oauth/xiaomi.ts +211 -0
- package/src/registry/ollama-cloud.ts +36 -0
- package/src/registry/ollama.ts +43 -0
- package/src/registry/openai-codex-device.ts +18 -0
- package/src/registry/openai-codex.ts +19 -0
- package/src/registry/openai.ts +6 -0
- package/src/registry/opencode-go.ts +12 -0
- package/src/registry/opencode-zen.ts +12 -0
- package/src/registry/openrouter.ts +28 -0
- package/src/registry/parallel.ts +45 -0
- package/src/registry/perplexity.ts +13 -0
- package/src/registry/qianfan.ts +27 -0
- package/src/registry/qwen-portal.ts +50 -0
- package/src/registry/registry.ts +161 -0
- package/src/registry/sakana.ts +22 -0
- package/src/registry/synthetic.ts +21 -0
- package/src/registry/tavily.ts +45 -0
- package/src/registry/together.ts +22 -0
- package/src/registry/types.ts +56 -0
- package/src/registry/umans.ts +23 -0
- package/src/registry/venice.ts +33 -0
- package/src/registry/vercel-ai-gateway.ts +38 -0
- package/src/registry/vllm.ts +34 -0
- package/src/registry/wafer-serverless.ts +12 -0
- package/src/registry/xai-oauth.ts +17 -0
- package/src/registry/xai.ts +6 -0
- package/src/registry/xiaomi-token-plan-ams.ts +12 -0
- package/src/registry/xiaomi-token-plan-cn.ts +12 -0
- package/src/registry/xiaomi-token-plan-sgp.ts +12 -0
- package/src/registry/xiaomi.ts +12 -0
- package/src/registry/zai.ts +27 -0
- package/src/registry/zenmux.ts +22 -0
- package/src/registry/zhipu-coding-plan.ts +27 -0
- package/src/stream.ts +1778 -0
- package/src/types.ts +856 -0
- package/src/usage/claude.ts +485 -0
- package/src/usage/gemini.ts +258 -0
- package/src/usage/github-copilot.ts +424 -0
- package/src/usage/google-antigravity.ts +497 -0
- package/src/usage/kimi.ts +271 -0
- package/src/usage/minimax-code.ts +30 -0
- package/src/usage/ollama.ts +41 -0
- package/src/usage/openai-codex-base-url.ts +35 -0
- package/src/usage/openai-codex-reset.ts +174 -0
- package/src/usage/openai-codex.ts +535 -0
- package/src/usage/opencode-go.ts +89 -0
- package/src/usage/shared.ts +10 -0
- package/src/usage/zai.ts +321 -0
- package/src/usage.ts +333 -0
- package/src/utils/abort.ts +67 -0
- package/src/utils/anthropic-auth.ts +93 -0
- package/src/utils/block-symbols.ts +32 -0
- package/src/utils/deterministic-id.ts +20 -0
- package/src/utils/empty-completion-retry.ts +159 -0
- package/src/utils/event-stream.ts +171 -0
- package/src/utils/foundry.ts +8 -0
- package/src/utils/google-validation.ts +25 -0
- package/src/utils/harmony-leak.ts +456 -0
- package/src/utils/http-inspector.ts +168 -0
- package/src/utils/idle-iterator.ts +473 -0
- package/src/utils/leaked-thinking-stream.ts +294 -0
- package/src/utils/openai-http.ts +122 -0
- package/src/utils/openrouter-headers.ts +12 -0
- package/src/utils/parse-bind.ts +56 -0
- package/src/utils/provider-response.ts +30 -0
- package/src/utils/proxy.ts +240 -0
- package/src/utils/request-debug.ts +351 -0
- package/src/utils/retry-after.ts +110 -0
- package/src/utils/retry.ts +59 -0
- package/src/utils/schema/CONSTRAINTS.md +166 -0
- package/src/utils/schema/adapt.ts +36 -0
- package/src/utils/schema/compatibility.ts +435 -0
- package/src/utils/schema/dereference.ts +98 -0
- package/src/utils/schema/draft.ts +341 -0
- package/src/utils/schema/equality.ts +97 -0
- package/src/utils/schema/fields.ts +207 -0
- package/src/utils/schema/index.ts +15 -0
- package/src/utils/schema/json-schema-validator.ts +595 -0
- package/src/utils/schema/meta-validator.ts +167 -0
- package/src/utils/schema/normalize.ts +1901 -0
- package/src/utils/schema/spill.ts +43 -0
- package/src/utils/schema/stamps.ts +109 -0
- package/src/utils/schema/strict-tool-validation.ts +117 -0
- package/src/utils/schema/types.ts +10 -0
- package/src/utils/schema/typescript.ts +198 -0
- package/src/utils/schema/wire.ts +789 -0
- package/src/utils/schema/zod-decontaminate.ts +331 -0
- package/src/utils/sdk-stream-timeout.ts +43 -0
- package/src/utils/sse-debug.ts +18 -0
- package/src/utils/stream-markup-healing.ts +247 -0
- package/src/utils/thinking-loop.ts +552 -0
- package/src/utils/tool-call-loop-guard.ts +107 -0
- package/src/utils/tool-choice.ts +99 -0
- package/src/utils/validation.ts +1507 -0
- package/src/utils.ts +171 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AWS Signature V4 signing for HTTP requests. WebCrypto-only — no node:crypto.
|
|
3
|
+
*
|
|
4
|
+
* Matches `@smithy/signature-v4` for our usage: header-based signing with a
|
|
5
|
+
* full SHA-256 payload hash (Bedrock requires `applyChecksum: true`).
|
|
6
|
+
*
|
|
7
|
+
* Returns the set of headers to attach to the request:
|
|
8
|
+
* - `host`
|
|
9
|
+
* - `x-amz-date`
|
|
10
|
+
* - `x-amz-content-sha256`
|
|
11
|
+
* - `x-amz-security-token` (only when credentials carry a sessionToken)
|
|
12
|
+
* - `authorization`
|
|
13
|
+
*/
|
|
14
|
+
export interface AwsCredentials {
|
|
15
|
+
accessKeyId: string;
|
|
16
|
+
secretAccessKey: string;
|
|
17
|
+
sessionToken?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface SignParams {
|
|
20
|
+
method: string;
|
|
21
|
+
/** Hostname only — used to build the `host` header and the canonical request. */
|
|
22
|
+
host: string;
|
|
23
|
+
/** URI path component, e.g. `/model/anthropic.claude/converse-stream`. */
|
|
24
|
+
path: string;
|
|
25
|
+
/** Optional pre-built query string (without leading `?`). */
|
|
26
|
+
query?: string;
|
|
27
|
+
/** Extra headers to sign in addition to `host`/`x-amz-*`. Names are case-insensitive. */
|
|
28
|
+
headers?: Record<string, string>;
|
|
29
|
+
body: Uint8Array;
|
|
30
|
+
region: string;
|
|
31
|
+
service: string;
|
|
32
|
+
credentials: AwsCredentials;
|
|
33
|
+
/** Override clock for deterministic tests. */
|
|
34
|
+
date?: Date;
|
|
35
|
+
}
|
|
36
|
+
export declare function toHex(bytes: Uint8Array): string;
|
|
37
|
+
export declare function sha256(data: Uint8Array | string): Promise<Uint8Array>;
|
|
38
|
+
export declare function sha256Hex(data: Uint8Array | string): Promise<string>;
|
|
39
|
+
/**
|
|
40
|
+
* Derive a signing key: HMAC chain `kSecret → kDate → kRegion → kService → kSigning`.
|
|
41
|
+
*/
|
|
42
|
+
export declare function getSigningKey(secretAccessKey: string, shortDate: string, region: string, service: string): Promise<Uint8Array>;
|
|
43
|
+
/** `YYYYMMDDTHHMMSSZ` + 8-char `YYYYMMDD`. */
|
|
44
|
+
export declare function formatAmzDate(d: Date): {
|
|
45
|
+
longDate: string;
|
|
46
|
+
shortDate: string;
|
|
47
|
+
};
|
|
48
|
+
export interface SignedHeaders {
|
|
49
|
+
host: string;
|
|
50
|
+
"x-amz-date": string;
|
|
51
|
+
"x-amz-content-sha256": string;
|
|
52
|
+
authorization: string;
|
|
53
|
+
"x-amz-security-token"?: string;
|
|
54
|
+
}
|
|
55
|
+
export declare function signRequest(params: SignParams): Promise<SignedHeaders>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ServiceTier, StreamFunction, StreamOptions, ToolChoice } from "../types";
|
|
2
|
+
export { parseAzureDeploymentNameMap } from "./openai-shared";
|
|
3
|
+
export interface AzureOpenAIResponsesOptions extends StreamOptions {
|
|
4
|
+
reasoning?: "minimal" | "low" | "medium" | "high" | "xhigh";
|
|
5
|
+
reasoningSummary?: "auto" | "detailed" | "concise" | null;
|
|
6
|
+
azureApiVersion?: string;
|
|
7
|
+
azureResourceName?: string;
|
|
8
|
+
azureBaseUrl?: string;
|
|
9
|
+
azureDeploymentName?: string;
|
|
10
|
+
toolChoice?: ToolChoice;
|
|
11
|
+
serviceTier?: ServiceTier;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Generate function for Azure OpenAI Responses API
|
|
15
|
+
*/
|
|
16
|
+
export declare const streamAzureOpenAIResponses: StreamFunction<"azure-openai-responses">;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { type JsonValue } from "@bufbuild/protobuf";
|
|
2
|
+
import type { AssistantMessage, CursorExecHandlerResult, CursorExecHandlers, CursorToolResultHandler, Message, StreamFunction, StreamOptions, TextContent, ThinkingContent, ToolCall, ToolResultMessage } from "../types";
|
|
3
|
+
import { kStreamingBlockIndex, kStreamingBlockKind, kStreamingLastParseLen, kStreamingPartialJson } from "../utils/block-symbols";
|
|
4
|
+
import { AssistantMessageEventStream } from "../utils/event-stream";
|
|
5
|
+
export declare const CURSOR_API_URL = "https://api2.cursor.sh";
|
|
6
|
+
export declare const CURSOR_CLIENT_VERSION = "cli-2026.01.09-231024f";
|
|
7
|
+
export interface CursorOptions extends StreamOptions {
|
|
8
|
+
customSystemPrompt?: string;
|
|
9
|
+
conversationId?: string;
|
|
10
|
+
execHandlers?: CursorExecHandlers;
|
|
11
|
+
onToolResult?: CursorToolResultHandler;
|
|
12
|
+
}
|
|
13
|
+
export declare const streamCursor: StreamFunction<"cursor-agent">;
|
|
14
|
+
export type ToolCallState = ToolCall & {
|
|
15
|
+
[kStreamingBlockIndex]: number;
|
|
16
|
+
[kStreamingPartialJson]?: string;
|
|
17
|
+
[kStreamingLastParseLen]?: number;
|
|
18
|
+
[kStreamingBlockKind]: "mcp" | "todo";
|
|
19
|
+
};
|
|
20
|
+
export interface BlockState {
|
|
21
|
+
currentTextBlock: (TextContent & {
|
|
22
|
+
[kStreamingBlockIndex]: number;
|
|
23
|
+
}) | null;
|
|
24
|
+
currentThinkingBlock: (ThinkingContent & {
|
|
25
|
+
[kStreamingBlockIndex]: number;
|
|
26
|
+
}) | null;
|
|
27
|
+
currentToolCall: ToolCallState | null;
|
|
28
|
+
firstTokenTime: number | undefined;
|
|
29
|
+
setTextBlock: (b: (TextContent & {
|
|
30
|
+
[kStreamingBlockIndex]: number;
|
|
31
|
+
}) | null) => void;
|
|
32
|
+
setThinkingBlock: (b: (ThinkingContent & {
|
|
33
|
+
[kStreamingBlockIndex]: number;
|
|
34
|
+
}) | null) => void;
|
|
35
|
+
setToolCall: (t: ToolCallState | null) => void;
|
|
36
|
+
setFirstTokenTime: () => void;
|
|
37
|
+
}
|
|
38
|
+
export interface UsageState {
|
|
39
|
+
sawTokenDelta: boolean;
|
|
40
|
+
}
|
|
41
|
+
/** Exported for tests: verifies handler is invoked with correct `this` when passed as bound. */
|
|
42
|
+
export declare function resolveExecHandler<TArgs, TResult>(args: TArgs, handler: ((args: TArgs) => Promise<CursorExecHandlerResult<TResult>>) | undefined, onToolResult: CursorToolResultHandler | undefined, buildFromToolResult: (toolResult: ToolResultMessage) => TResult, buildRejected: (reason: string) => TResult, buildError: (error: string) => TResult): Promise<{
|
|
43
|
+
execResult: TResult;
|
|
44
|
+
toolResult?: ToolResultMessage;
|
|
45
|
+
}>;
|
|
46
|
+
/**
|
|
47
|
+
* Merge the decoded completion-frame `McpArgs` map into the args assembled
|
|
48
|
+
* from streamed `args_text_delta` snapshots.
|
|
49
|
+
*
|
|
50
|
+
* The completion frame is authoritative for the scalars it carries — but it
|
|
51
|
+
* can omit oversized parameters entirely and can downgrade a structured value
|
|
52
|
+
* to its raw string fallback when `decodeMcpArgValue` cannot parse it as
|
|
53
|
+
* JSON. Overwriting the streamed args wholesale therefore loses data (e.g.
|
|
54
|
+
* the task tool's `tasks` array on multi-subagent dispatches, issue #2615).
|
|
55
|
+
*
|
|
56
|
+
* Rules per key:
|
|
57
|
+
* - completion key absent → keep the streamed value.
|
|
58
|
+
* - completion is a string while the streamed value is structured (object or
|
|
59
|
+
* array) → keep the streamed value (the completion frame downgraded it).
|
|
60
|
+
* - otherwise → completion wins.
|
|
61
|
+
*/
|
|
62
|
+
export declare function mergeCursorMcpToolCallArgs(streamed: Record<string, unknown> | undefined, completion: Record<string, unknown> | undefined): Record<string, unknown>;
|
|
63
|
+
/** Exported for tests: drives one Cursor interaction update through the streaming state machine. */
|
|
64
|
+
export declare function processInteractionUpdate(update: any, output: AssistantMessage, stream: AssistantMessageEventStream, state: BlockState, usageState: UsageState): void;
|
|
65
|
+
/**
|
|
66
|
+
* Build `ConversationStateStructure.rootPromptMessagesJson` blob IDs for the
|
|
67
|
+
* system prompt plus prior conversation history, as JSON blobs matching
|
|
68
|
+
* Cursor's internal Vercel-AI-SDK-shaped message format.
|
|
69
|
+
*
|
|
70
|
+
* Cursor's server uses `rootPromptMessagesJson` (not `turns[]`) to build the
|
|
71
|
+
* actual model prompt. `turns[]` is UI/display metadata. Without populating
|
|
72
|
+
* this field, multi-turn conversations lose prior context — the model sees
|
|
73
|
+
* only an empty placeholder where historical user turns should be.
|
|
74
|
+
* The active user message is excluded because it is sent in the action.
|
|
75
|
+
*/
|
|
76
|
+
/**
|
|
77
|
+
* Build one Cursor system-message JSON blob per ordered system prompt. Emitting separate blobs
|
|
78
|
+
* (rather than a single `\n\n`-joined string) lets Cursor's blob cache hit independently per
|
|
79
|
+
* entry: changing only the last prompt does not invalidate earlier blob ids, so the prefix
|
|
80
|
+
* up to the changed prompt remains cached on the server side.
|
|
81
|
+
*
|
|
82
|
+
* When no system prompts are provided, returns a single default greeting so we never emit
|
|
83
|
+
* an empty `rootPromptMessagesJson` head.
|
|
84
|
+
*/
|
|
85
|
+
export declare function buildCursorSystemPromptJsons(systemPrompt: readonly string[] | undefined): string[];
|
|
86
|
+
/** Exported for tests: decodes Cursor history blobs built from conversation messages. */
|
|
87
|
+
export declare function buildCursorHistoryForTest(messages: Message[], activeUserMessageIndex?: number): {
|
|
88
|
+
rootPromptMessagesJson: unknown[];
|
|
89
|
+
turnUserMessagesJson: JsonValue[];
|
|
90
|
+
turnStepMessagesJson: JsonValue[][];
|
|
91
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { StreamFunction, StreamOptions } from "../types";
|
|
2
|
+
/** Base host for Codeium/Windsurf's Cascade chat API (Connect protocol over HTTP/1.1). */
|
|
3
|
+
export declare const DEVIN_API_URL = "https://server.codeium.com";
|
|
4
|
+
export interface DevinOptions extends StreamOptions {
|
|
5
|
+
/** Cascade conversation id; reused as `cascade_id` so the server threads turns. */
|
|
6
|
+
conversationId?: string;
|
|
7
|
+
/** Falls back to `cascade_id` when no `conversationId` is supplied. */
|
|
8
|
+
sessionId?: string;
|
|
9
|
+
/** Wire model uid selected after thinking-effort routing. */
|
|
10
|
+
chatModelUid?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const streamDevin: StreamFunction<"devin-agent">;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Api, Model } from "../types";
|
|
2
|
+
export declare function createProviderErrorMessage(model: Model<Api>, err: unknown): {
|
|
3
|
+
role: "assistant";
|
|
4
|
+
content: {
|
|
5
|
+
type: "text";
|
|
6
|
+
text: string;
|
|
7
|
+
}[];
|
|
8
|
+
api: Api;
|
|
9
|
+
provider: string;
|
|
10
|
+
model: string;
|
|
11
|
+
usage: {
|
|
12
|
+
input: number;
|
|
13
|
+
output: number;
|
|
14
|
+
cacheRead: number;
|
|
15
|
+
cacheWrite: number;
|
|
16
|
+
totalTokens: number;
|
|
17
|
+
cost: {
|
|
18
|
+
input: number;
|
|
19
|
+
output: number;
|
|
20
|
+
cacheRead: number;
|
|
21
|
+
cacheWrite: number;
|
|
22
|
+
total: number;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
stopReason: "error";
|
|
26
|
+
timestamp: number;
|
|
27
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { Message } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* Infer whether the current request to Copilot is user-initiated or agent-initiated.
|
|
4
|
+
* Accepts `unknown[]` because providers may pass pre-converted message shapes.
|
|
5
|
+
*/
|
|
6
|
+
export type CopilotInitiator = "user" | "agent";
|
|
7
|
+
export type CopilotPremiumRequests = number;
|
|
8
|
+
export type CopilotDynamicHeaders = {
|
|
9
|
+
headers: Record<string, string>;
|
|
10
|
+
initiator: CopilotInitiator;
|
|
11
|
+
premiumRequests: CopilotPremiumRequests;
|
|
12
|
+
};
|
|
13
|
+
export declare function resolveGitHubCopilotBaseUrl(baseUrl: string | undefined, apiKey: string | undefined): string | undefined;
|
|
14
|
+
export declare function inferCopilotInitiator(messages: unknown[]): CopilotInitiator;
|
|
15
|
+
/** Check whether any message in the conversation contains image content. */
|
|
16
|
+
export declare function hasCopilotVisionInput(messages: Message[]): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Resolve an explicitly configured Copilot initiator header, if present.
|
|
19
|
+
* Handles case-insensitive X-Initiator keys and returns the last valid value.
|
|
20
|
+
*/
|
|
21
|
+
export declare function getCopilotInitiatorOverride(headers: Record<string, string> | undefined): CopilotInitiator | undefined;
|
|
22
|
+
export type CopilotPlanTier = "free" | "paid";
|
|
23
|
+
export declare function getCopilotPremiumMultiplier(premiumMultiplier: number | undefined, planTier?: string): number;
|
|
24
|
+
export declare function getCopilotPremiumRequests(params: {
|
|
25
|
+
initiator: CopilotInitiator;
|
|
26
|
+
premiumMultiplier?: number;
|
|
27
|
+
planTier?: string;
|
|
28
|
+
}): CopilotPremiumRequests;
|
|
29
|
+
/**
|
|
30
|
+
* Build dynamic Copilot headers that vary per-request.
|
|
31
|
+
* Static headers (User-Agent, Editor-Version, etc.) come from model.headers.
|
|
32
|
+
*/
|
|
33
|
+
export declare function buildCopilotDynamicHeaders(params: {
|
|
34
|
+
messages: unknown[];
|
|
35
|
+
hasImages: boolean;
|
|
36
|
+
premiumMultiplier?: number;
|
|
37
|
+
headers?: Record<string, string>;
|
|
38
|
+
initiatorOverride?: CopilotInitiator;
|
|
39
|
+
planTier?: string;
|
|
40
|
+
}): CopilotDynamicHeaders;
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import { type GitLabDuoWorkflowNamespaceSelection } from "jeopi-catalog/discovery/gitlab-duo-workflow";
|
|
2
|
+
import type { AssistantMessage, Context, FetchImpl, Model, ProviderSessionState, StreamFunction, StreamOptions, Tool, ToolChoice, ToolResultMessage } from "../types";
|
|
3
|
+
import { AssistantMessageEventStream } from "../utils/event-stream";
|
|
4
|
+
export declare const GITLAB_DUO_WORKFLOW_PROVIDER_ID = "gitlab-duo-agent";
|
|
5
|
+
export declare const GITLAB_DUO_WORKFLOW_API = "gitlab-duo-agent";
|
|
6
|
+
export declare const GITLAB_DUO_WORKFLOW_DEFINITION = "ambient";
|
|
7
|
+
export type GitLabDuoWorkflowDefinition = "ambient" | (string & {});
|
|
8
|
+
export declare const GITLAB_DUO_WORKFLOW_CLIENT_CAPABILITIES: readonly ["incremental_streaming", "read_file_chunked", "shell_command", "command_timeout", "tool_call_approval"];
|
|
9
|
+
export interface GitLabMcpToolArgs {
|
|
10
|
+
name?: string;
|
|
11
|
+
tool_name?: string;
|
|
12
|
+
toolName?: string;
|
|
13
|
+
providerIdentifier?: string;
|
|
14
|
+
provider_identifier?: string;
|
|
15
|
+
toolCallId?: string;
|
|
16
|
+
tool_call_id?: string;
|
|
17
|
+
args?: Record<string, unknown> | string;
|
|
18
|
+
arguments?: Record<string, unknown> | string;
|
|
19
|
+
}
|
|
20
|
+
export interface GitLabPlainTextResponse {
|
|
21
|
+
response?: string;
|
|
22
|
+
error?: string;
|
|
23
|
+
}
|
|
24
|
+
export type PlainTextResponse = GitLabPlainTextResponse;
|
|
25
|
+
export interface GitLabDuoWorkflowOptions extends StreamOptions {
|
|
26
|
+
rootNamespaceId?: string;
|
|
27
|
+
namespaceId?: string;
|
|
28
|
+
projectId?: string;
|
|
29
|
+
projectPath?: string;
|
|
30
|
+
workflowDefinition?: GitLabDuoWorkflowDefinition;
|
|
31
|
+
workflowId?: string;
|
|
32
|
+
workflowToken?: string;
|
|
33
|
+
cwd?: string;
|
|
34
|
+
webSocketFactory?: GitLabDuoWorkflowWebSocketFactory;
|
|
35
|
+
/** Idle WebSocket deadline (ms) before aborting and resuming; defaults to {@link GITLAB_DUO_WORKFLOW_IDLE_TIMEOUT_MS}. */
|
|
36
|
+
idleTimeoutMs?: number;
|
|
37
|
+
/**
|
|
38
|
+
* Tool-choice override forwarded from the stream layer. Only `"none"` is
|
|
39
|
+
* acted on: a side-request (e.g. handoff) keeps tool definitions in the cache
|
|
40
|
+
* prefix but disables tool use, so the provider must not advertise them to Duo.
|
|
41
|
+
*/
|
|
42
|
+
toolChoice?: ToolChoice;
|
|
43
|
+
}
|
|
44
|
+
export interface GitLabDuoWorkflowWebSocketLike {
|
|
45
|
+
readyState?: number;
|
|
46
|
+
binaryType?: string;
|
|
47
|
+
onopen: ((event: Event) => void) | null;
|
|
48
|
+
onmessage: ((event: MessageEvent) => void) | null;
|
|
49
|
+
onerror: ((event: Event) => void) | null;
|
|
50
|
+
onclose: ((event: CloseEvent) => void) | null;
|
|
51
|
+
send(data: string): void;
|
|
52
|
+
close(code?: number, reason?: string): void;
|
|
53
|
+
}
|
|
54
|
+
export interface GitLabDuoWorkflowWebSocketFactoryOptions {
|
|
55
|
+
headers: Record<string, string>;
|
|
56
|
+
protocols?: string[];
|
|
57
|
+
}
|
|
58
|
+
export type GitLabDuoWorkflowWebSocketFactory = (url: string, options: GitLabDuoWorkflowWebSocketFactoryOptions) => GitLabDuoWorkflowWebSocketLike;
|
|
59
|
+
export interface GitLabDirectAccessResponse {
|
|
60
|
+
token?: string;
|
|
61
|
+
access_token?: string;
|
|
62
|
+
jwt?: string;
|
|
63
|
+
workflow_token?: string;
|
|
64
|
+
duo_workflow_access_token?: string;
|
|
65
|
+
duo_workflow_service?: {
|
|
66
|
+
token?: string;
|
|
67
|
+
base_url?: string;
|
|
68
|
+
headers?: Record<string, string>;
|
|
69
|
+
};
|
|
70
|
+
gitlab_rails?: {
|
|
71
|
+
token?: string;
|
|
72
|
+
};
|
|
73
|
+
[key: string]: unknown;
|
|
74
|
+
}
|
|
75
|
+
interface GitLabDuoWorkflowCreateBodyOptions {
|
|
76
|
+
projectId?: string;
|
|
77
|
+
goal?: string;
|
|
78
|
+
workflowDefinition?: GitLabDuoWorkflowDefinition;
|
|
79
|
+
}
|
|
80
|
+
interface GitLabDuoWorkflowStartMetadataOptions {
|
|
81
|
+
projectId?: string;
|
|
82
|
+
projectPath?: string;
|
|
83
|
+
namespaceId?: string;
|
|
84
|
+
rootNamespaceId?: string;
|
|
85
|
+
workflowDefinition?: GitLabDuoWorkflowDefinition;
|
|
86
|
+
inlineFlow?: boolean;
|
|
87
|
+
}
|
|
88
|
+
export interface GitLabMcpToolDefinition {
|
|
89
|
+
name: string;
|
|
90
|
+
originalToolName: string;
|
|
91
|
+
serverName: string;
|
|
92
|
+
description: string;
|
|
93
|
+
inputSchema: string;
|
|
94
|
+
isApproved: boolean;
|
|
95
|
+
}
|
|
96
|
+
export interface GitLabDuoWorkflowAdditionalContextItem {
|
|
97
|
+
id: string;
|
|
98
|
+
category: "agent_user_environment" | "user_rule";
|
|
99
|
+
content: string;
|
|
100
|
+
metadata: {
|
|
101
|
+
title: string;
|
|
102
|
+
enabled: boolean;
|
|
103
|
+
subType: "snippet";
|
|
104
|
+
icon: string;
|
|
105
|
+
secondaryText: string;
|
|
106
|
+
subTypeLabel: string;
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
export interface GitLabDuoWorkflowStartRequest {
|
|
110
|
+
workflowID: string;
|
|
111
|
+
clientVersion: "1.0";
|
|
112
|
+
workflowDefinition: GitLabDuoWorkflowDefinition;
|
|
113
|
+
goal: string;
|
|
114
|
+
workflowMetadata: string;
|
|
115
|
+
additional_context: readonly GitLabDuoWorkflowAdditionalContextItem[];
|
|
116
|
+
approval?: {
|
|
117
|
+
approval?: Record<string, never>;
|
|
118
|
+
rejection?: {
|
|
119
|
+
message?: string;
|
|
120
|
+
};
|
|
121
|
+
};
|
|
122
|
+
clientCapabilities: readonly (typeof GITLAB_DUO_WORKFLOW_CLIENT_CAPABILITIES)[number][];
|
|
123
|
+
mcpTools: GitLabMcpToolDefinition[];
|
|
124
|
+
preapproved_tools: string[];
|
|
125
|
+
flowConfigSchemaVersion?: "v1";
|
|
126
|
+
flowConfigId?: string;
|
|
127
|
+
flowVersion?: string;
|
|
128
|
+
flowConfig?: GitLabDuoWorkflowInlineFlowConfig;
|
|
129
|
+
}
|
|
130
|
+
export interface GitLabDuoWorkflowInlineFlowComponent {
|
|
131
|
+
name: string;
|
|
132
|
+
type: "AgentComponent";
|
|
133
|
+
prompt_id: string;
|
|
134
|
+
toolset: string[];
|
|
135
|
+
inputs: {
|
|
136
|
+
from: string;
|
|
137
|
+
as: string;
|
|
138
|
+
}[];
|
|
139
|
+
ui_log_events: string[];
|
|
140
|
+
}
|
|
141
|
+
export interface GitLabDuoWorkflowInlineFlowPrompt {
|
|
142
|
+
name: string;
|
|
143
|
+
prompt_id: string;
|
|
144
|
+
unit_primitives: string[];
|
|
145
|
+
prompt_template: {
|
|
146
|
+
system: string;
|
|
147
|
+
user: string;
|
|
148
|
+
placeholder: string;
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
export interface GitLabDuoWorkflowInlineFlowConfig {
|
|
152
|
+
version: "v1";
|
|
153
|
+
environment: "ambient";
|
|
154
|
+
flow: {
|
|
155
|
+
entry_point: string;
|
|
156
|
+
};
|
|
157
|
+
components: GitLabDuoWorkflowInlineFlowComponent[];
|
|
158
|
+
routers: {
|
|
159
|
+
from: string;
|
|
160
|
+
to: string;
|
|
161
|
+
}[];
|
|
162
|
+
prompts: GitLabDuoWorkflowInlineFlowPrompt[];
|
|
163
|
+
}
|
|
164
|
+
export interface GitLabDuoWorkflowActionResponse {
|
|
165
|
+
actionResponse: {
|
|
166
|
+
requestID: string;
|
|
167
|
+
plainTextResponse?: GitLabPlainTextResponse;
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
interface GitLabDuoWorkflowActionDescriptor {
|
|
171
|
+
requestID: string;
|
|
172
|
+
name: string;
|
|
173
|
+
args: unknown;
|
|
174
|
+
}
|
|
175
|
+
export interface GitLabDuoWorkflowActiveSession {
|
|
176
|
+
workflowId: string;
|
|
177
|
+
startPayload: GitLabDuoWorkflowStartRequest;
|
|
178
|
+
ws: GitLabDuoWorkflowWebSocketLike;
|
|
179
|
+
stop?: () => void;
|
|
180
|
+
pendingActions?: GitLabDuoWorkflowActionDescriptor[];
|
|
181
|
+
checkpointAgentContentByKey?: Record<string, string>;
|
|
182
|
+
checkpointAgentContentSignatures?: Record<string, true>;
|
|
183
|
+
paused?: boolean;
|
|
184
|
+
pauseBuffer?: unknown[];
|
|
185
|
+
lastToolBoundaryContentLength?: number;
|
|
186
|
+
}
|
|
187
|
+
export interface GitLabDuoWorkflowProviderSessionState extends ProviderSessionState {
|
|
188
|
+
active?: GitLabDuoWorkflowActiveSession;
|
|
189
|
+
}
|
|
190
|
+
export interface GitLabDuoWorkflowStreamState {
|
|
191
|
+
stream: AssistantMessageEventStream;
|
|
192
|
+
output: AssistantMessage;
|
|
193
|
+
activeTextIndex?: number;
|
|
194
|
+
activeThinkingIndex?: number;
|
|
195
|
+
activeCheckpointMessageKey?: string;
|
|
196
|
+
started: boolean;
|
|
197
|
+
checkpointAgentContentByKey?: Record<string, string>;
|
|
198
|
+
checkpointAgentContentSignatures?: Record<string, true>;
|
|
199
|
+
pauseRequested?: boolean;
|
|
200
|
+
stepLimitRequested?: boolean;
|
|
201
|
+
retryableErrorRequested?: boolean;
|
|
202
|
+
lastCheckpointContentLength?: number;
|
|
203
|
+
stalledRequested?: boolean;
|
|
204
|
+
providerSessionState?: GitLabDuoWorkflowProviderSessionState;
|
|
205
|
+
lastApprovalStatus?: string;
|
|
206
|
+
goalOverflowMessage?: string;
|
|
207
|
+
}
|
|
208
|
+
type GitLabDuoWorkflowSocketResult = "closed" | "terminal" | "approval" | "action" | "pause" | "timeout" | "step_limit" | "retryable_error" | "stalled";
|
|
209
|
+
export interface GitLabAvailableModel {
|
|
210
|
+
name?: string | null;
|
|
211
|
+
ref?: string | null;
|
|
212
|
+
}
|
|
213
|
+
export interface GitLabAvailableModelsPayload {
|
|
214
|
+
pinnedModel?: GitLabAvailableModel | null;
|
|
215
|
+
selectedModel?: GitLabAvailableModel | null;
|
|
216
|
+
defaultModel?: GitLabAvailableModel | null;
|
|
217
|
+
selectableModels?: GitLabAvailableModel[] | null;
|
|
218
|
+
}
|
|
219
|
+
export declare const streamGitLabDuoWorkflow: StreamFunction<"gitlab-duo-agent">;
|
|
220
|
+
export declare function buildGitLabDuoWorkflowDirectAccessBody(rootNamespaceId: string, projectId?: string, workflowDefinition?: GitLabDuoWorkflowDefinition): Record<string, string>;
|
|
221
|
+
export declare function buildGitLabDuoWorkflowCreateBody(namespaceId?: string, options?: GitLabDuoWorkflowCreateBodyOptions): Record<string, string | boolean | string[] | number[]>;
|
|
222
|
+
export declare function buildGitLabDuoWorkflowStopBody(): Record<string, string>;
|
|
223
|
+
export declare function buildGitLabDuoWorkflowWebSocketUrl(baseUrl: string, options?: {
|
|
224
|
+
projectId?: string;
|
|
225
|
+
namespaceId?: string;
|
|
226
|
+
rootNamespaceId?: string;
|
|
227
|
+
selectedModelIdentifier?: string;
|
|
228
|
+
workflowDefinition?: GitLabDuoWorkflowDefinition;
|
|
229
|
+
serviceEndpoint?: boolean;
|
|
230
|
+
}): string;
|
|
231
|
+
export declare function buildGitLabDuoWorkflowWebSocketHeaders(options: {
|
|
232
|
+
token: string;
|
|
233
|
+
baseUrl?: string;
|
|
234
|
+
projectId?: string;
|
|
235
|
+
namespaceId?: string;
|
|
236
|
+
rootNamespaceId?: string;
|
|
237
|
+
extraHeaders?: Record<string, string>;
|
|
238
|
+
}): Record<string, string>;
|
|
239
|
+
export declare function buildGitLabDuoWorkflowStartRequest(workflowId: string, model: Model<"gitlab-duo-agent">, context: Context, tools?: Tool[] | undefined, availableModels?: GitLabAvailableModelsPayload | null, metadataOptions?: GitLabDuoWorkflowStartMetadataOptions): GitLabDuoWorkflowStartRequest;
|
|
240
|
+
export declare function buildGitLabDuoWorkflowInlineFlowConfig(systemPrompt: string): GitLabDuoWorkflowInlineFlowConfig;
|
|
241
|
+
export declare function buildGitLabDuoWorkflowClientAdditionalContext(): GitLabDuoWorkflowAdditionalContextItem[];
|
|
242
|
+
export declare function buildGitLabDuoWorkflowMcpTools(tools: Tool[] | undefined): GitLabMcpToolDefinition[];
|
|
243
|
+
export declare function selectGitLabDuoWorkflowModelRef(selectedModel: string, availableModels?: GitLabAvailableModelsPayload | null): string;
|
|
244
|
+
export declare function buildGitLabPlainTextFromToolResult(toolResult: ToolResultMessage): GitLabPlainTextResponse;
|
|
245
|
+
export declare function gitLabDuoWorkflowErrorText(error: unknown): string;
|
|
246
|
+
export declare function buildGitLabDuoWorkflowSettingsBody(): Record<string, unknown>;
|
|
247
|
+
export declare function runGitLabDuoWorkflowSocket(ws: GitLabDuoWorkflowWebSocketLike, startPayload: GitLabDuoWorkflowStartRequest, state: GitLabDuoWorkflowStreamState, options: GitLabDuoWorkflowOptions, resumeResponse?: GitLabDuoWorkflowActionResponse | readonly GitLabDuoWorkflowActionResponse[], replayMessages?: readonly unknown[]): Promise<GitLabDuoWorkflowSocketResult>;
|
|
248
|
+
export declare function buildGitLabDuoWorkflowApprovalStartRequest(startPayload: GitLabDuoWorkflowStartRequest): GitLabDuoWorkflowStartRequest;
|
|
249
|
+
export declare function describeGitLabDuoWorkflowSocketEvent(event: unknown): string;
|
|
250
|
+
export declare function traceGitLabDuoWorkflow(event: string, data?: Record<string, unknown>): void;
|
|
251
|
+
export declare function extractGitLabWorkflowToken(payload: GitLabDirectAccessResponse): string | undefined;
|
|
252
|
+
export declare function resolveGitLabDuoWorkflowNamespaceSelection(model: Model<"gitlab-duo-agent">, options: GitLabDuoWorkflowOptions, apiKey: string, baseUrl: string, fetchImpl: FetchImpl): Promise<GitLabDuoWorkflowNamespaceSelection>;
|
|
253
|
+
export declare function resolveGitLabDuoWorkflowRootNamespaceId(model: Model<"gitlab-duo-agent">, options: GitLabDuoWorkflowOptions, apiKey: string, baseUrl: string, fetchImpl: FetchImpl): Promise<string>;
|
|
254
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Api, Context, Model, SimpleStreamOptions } from "../types";
|
|
2
|
+
import { AssistantMessageEventStream } from "../utils/event-stream";
|
|
3
|
+
type GitLabProvider = "anthropic" | "openai";
|
|
4
|
+
type GitLabOpenAIApiType = "chat" | "responses";
|
|
5
|
+
export type GitLabModelMapping = {
|
|
6
|
+
provider: GitLabProvider;
|
|
7
|
+
model: string;
|
|
8
|
+
openaiApiType?: GitLabOpenAIApiType;
|
|
9
|
+
name: string;
|
|
10
|
+
reasoning: boolean;
|
|
11
|
+
input: ("text" | "image")[];
|
|
12
|
+
cost: {
|
|
13
|
+
input: number;
|
|
14
|
+
output: number;
|
|
15
|
+
cacheRead: number;
|
|
16
|
+
cacheWrite: number;
|
|
17
|
+
};
|
|
18
|
+
contextWindow: number;
|
|
19
|
+
maxTokens: number;
|
|
20
|
+
};
|
|
21
|
+
export declare const MODEL_MAPPINGS: Record<string, GitLabModelMapping>;
|
|
22
|
+
export declare function getModelMapping(modelId: string): GitLabModelMapping | undefined;
|
|
23
|
+
export declare function getGitLabDuoModels(): Model<Api>[];
|
|
24
|
+
export declare function clearGitLabDuoDirectAccessCache(): void;
|
|
25
|
+
export declare function isGitLabDuoModel(model: Model<Api>): boolean;
|
|
26
|
+
export declare function streamGitLabDuo(model: Model<Api>, context: Context, options?: SimpleStreamOptions): AssistantMessageEventStream;
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Application Default Credentials (ADC) resolution for Vertex AI.
|
|
3
|
+
*
|
|
4
|
+
* Replaces `google-auth-library` with a direct WebCrypto + REST implementation.
|
|
5
|
+
* Sources, in priority order:
|
|
6
|
+
* 1. `GOOGLE_APPLICATION_CREDENTIALS` env → file with `type: "service_account"` (RS256 JWT exchange)
|
|
7
|
+
* or `type: "authorized_user"` (refresh-token exchange).
|
|
8
|
+
* 2. `~/.config/gcloud/application_default_credentials.json` (user ADC, same authorized_user flow).
|
|
9
|
+
* 3. GCE / Cloud Run metadata server (`metadata.google.internal`).
|
|
10
|
+
*
|
|
11
|
+
* Tokens are cached per source key and refreshed `GOOGLE_VERTEX_REFRESH_SKEW_MS` before expiry
|
|
12
|
+
* (default 60s). Concurrent callers waiting on a refresh share the same in-flight promise.
|
|
13
|
+
*/
|
|
14
|
+
import type { FetchImpl } from "../types";
|
|
15
|
+
/**
|
|
16
|
+
* Returns a Bearer access token suitable for the `Authorization` header on Vertex AI calls.
|
|
17
|
+
* The token is cached in module scope and refreshed `GOOGLE_VERTEX_REFRESH_SKEW_MS` ms before it expires.
|
|
18
|
+
*/
|
|
19
|
+
export declare function getVertexAccessToken(options?: {
|
|
20
|
+
signal?: AbortSignal;
|
|
21
|
+
fetch?: FetchImpl;
|
|
22
|
+
}): Promise<string>;
|
|
23
|
+
/** Test seam: clears every cached token. */
|
|
24
|
+
export declare function __resetVertexTokenCache(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Sync best-effort probe for a usable Vertex bearer credential source — an explicit access-token
|
|
27
|
+
* env var, `GOOGLE_APPLICATION_CREDENTIALS`, a user ADC file, or a GCP runtime whose metadata
|
|
28
|
+
* server can mint ADC (GCE/Cloud Run/App Engine/Functions). Lets callers prefer the bearer
|
|
29
|
+
* Interactions transport only when ADC is actually reachable, without paying the async
|
|
30
|
+
* metadata-probe cost for API-key-only setups.
|
|
31
|
+
*/
|
|
32
|
+
export declare function hasVertexBearerCredentialsHint(): boolean;
|