@aryee337/aery-ai 0.1.148 → 0.2.10
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 +2914 -0
- package/README.md +614 -813
- package/dist/types/api-registry.d.ts +30 -0
- package/dist/types/auth-broker/client.d.ts +66 -0
- package/dist/types/auth-broker/index.d.ts +5 -0
- package/dist/types/auth-broker/refresher.d.ts +25 -0
- package/dist/types/auth-broker/remote-store.d.ts +96 -0
- package/dist/types/auth-broker/server.d.ts +32 -0
- package/dist/types/auth-broker/types.d.ts +105 -0
- package/dist/types/auth-broker/wire-schemas.d.ts +412 -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 +117 -0
- package/dist/types/auth-storage.d.ts +739 -0
- package/dist/types/index.d.ts +49 -0
- package/dist/types/model-cache.d.ts +17 -0
- package/dist/types/model-manager.d.ts +64 -0
- package/dist/types/model-thinking.d.ts +100 -0
- package/dist/types/models.d.ts +12 -0
- package/dist/types/provider-details.d.ts +24 -0
- package/dist/types/provider-models/bundled-references.d.ts +4 -0
- package/dist/types/provider-models/descriptors.d.ts +50 -0
- package/dist/types/provider-models/google.d.ts +24 -0
- package/dist/types/provider-models/index.d.ts +5 -0
- package/dist/types/provider-models/ollama.d.ts +7 -0
- package/dist/types/provider-models/openai-compat.d.ts +296 -0
- package/dist/types/provider-models/special.d.ts +16 -0
- package/dist/types/providers/aery-native-client.d.ts +13 -0
- package/dist/types/providers/aery-native-server.d.ts +68 -0
- package/dist/types/providers/amazon-bedrock.d.ts +38 -0
- package/dist/types/providers/anthropic-client.d.ts +99 -0
- package/dist/types/providers/anthropic-messages-server-schema.d.ts +465 -0
- package/dist/types/providers/anthropic-messages-server.d.ts +17 -0
- package/dist/types/providers/anthropic-wire.d.ts +262 -0
- package/dist/types/providers/anthropic.d.ts +206 -0
- package/dist/types/providers/aws-credentials.d.ts +43 -0
- package/dist/types/providers/aws-eventstream.d.ts +38 -0
- package/dist/types/providers/aws-sigv4.d.ts +55 -0
- package/dist/types/providers/azure-openai-responses.d.ts +15 -0
- package/dist/types/providers/cursor/gen/agent_pb.d.ts +13022 -0
- package/dist/types/providers/cursor.d.ts +43 -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.d.ts +27 -0
- package/dist/types/providers/google-auth.d.ts +24 -0
- package/dist/types/providers/google-gemini-cli.d.ts +81 -0
- package/dist/types/providers/google-gemini-headers.d.ts +18 -0
- package/dist/types/providers/google-shared.d.ts +171 -0
- package/dist/types/providers/google-types.d.ts +138 -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 +173 -0
- package/dist/types/providers/ollama.d.ts +6 -0
- package/dist/types/providers/openai-anthropic-shim.d.ts +31 -0
- package/dist/types/providers/openai-chat-server-schema.d.ts +817 -0
- package/dist/types/providers/openai-chat-server.d.ts +16 -0
- package/dist/types/providers/openai-codex/constants.d.ts +26 -0
- package/dist/types/providers/openai-codex/request-transformer.d.ts +49 -0
- package/dist/types/providers/openai-codex/response-handler.d.ts +17 -0
- package/dist/types/providers/openai-codex-responses.d.ts +67 -0
- package/dist/types/providers/openai-completions-compat.d.ts +25 -0
- package/dist/types/providers/openai-completions.d.ts +54 -0
- package/dist/types/providers/openai-responses-server-schema.d.ts +392 -0
- package/dist/types/providers/openai-responses-server.d.ts +17 -0
- package/dist/types/providers/openai-responses-shared.d.ts +100 -0
- package/dist/types/providers/openai-responses.d.ts +66 -0
- package/dist/types/providers/register-builtins.d.ts +31 -0
- package/dist/types/providers/synthetic.d.ts +26 -0
- package/dist/{providers → types/providers}/transform-messages.d.ts +6 -2
- package/dist/types/providers/vision-guard.d.ts +8 -0
- package/dist/types/providers/xai-responses.d.ts +23 -0
- package/dist/types/rate-limit-utils.d.ts +19 -0
- package/dist/types/stream.d.ts +28 -0
- package/dist/types/types.d.ts +801 -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 +2 -0
- package/dist/types/usage/kimi.d.ts +2 -0
- package/dist/types/usage/minimax-code.d.ts +2 -0
- package/dist/types/usage/openai-codex.d.ts +3 -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 +260 -0
- package/dist/types/utils/abort.d.ts +19 -0
- package/dist/types/utils/abortable-iterator.d.ts +4 -0
- package/dist/types/utils/anthropic-auth.d.ts +35 -0
- package/dist/types/utils/discovery/antigravity.d.ts +61 -0
- package/dist/types/utils/discovery/codex.d.ts +38 -0
- package/dist/types/utils/discovery/cursor.d.ts +23 -0
- package/dist/types/utils/discovery/gemini.d.ts +25 -0
- package/dist/types/utils/discovery/index.d.ts +4 -0
- package/dist/types/utils/discovery/openai-compatible.d.ts +72 -0
- package/dist/types/utils/event-stream.d.ts +28 -0
- package/dist/types/utils/fireworks-model-id.d.ts +10 -0
- package/dist/types/utils/foundry.d.ts +1 -0
- package/dist/types/utils/http-inspector.d.ts +31 -0
- package/dist/types/utils/idle-iterator.d.ts +78 -0
- package/dist/types/utils/json-parse.d.ts +37 -0
- package/dist/types/utils/oauth/__tests__/xai-oauth.test.d.ts +1 -0
- package/dist/types/utils/oauth/alibaba-coding-plan.d.ts +18 -0
- package/dist/types/utils/oauth/anthropic.d.ts +22 -0
- package/dist/types/utils/oauth/api-key-login.d.ts +35 -0
- package/dist/types/utils/oauth/api-key-validation.d.ts +27 -0
- package/dist/types/utils/oauth/callback-server.d.ts +57 -0
- package/dist/types/utils/oauth/cerebras.d.ts +1 -0
- package/dist/types/utils/oauth/cloudflare-ai-gateway.d.ts +18 -0
- package/dist/types/utils/oauth/cursor.d.ts +15 -0
- package/dist/types/utils/oauth/deepseek.d.ts +10 -0
- package/dist/types/utils/oauth/firepass.d.ts +1 -0
- package/dist/types/utils/oauth/fireworks.d.ts +1 -0
- package/dist/types/utils/oauth/github-copilot.d.ts +38 -0
- package/dist/types/utils/oauth/gitlab-duo.d.ts +3 -0
- package/dist/types/utils/oauth/google-antigravity.d.ts +11 -0
- package/dist/types/utils/oauth/google-gemini-cli.d.ts +10 -0
- package/dist/types/utils/oauth/google-oauth-shared.d.ts +28 -0
- package/dist/types/utils/oauth/huggingface.d.ts +19 -0
- package/dist/types/utils/oauth/index.d.ts +38 -0
- package/dist/types/utils/oauth/kagi.d.ts +17 -0
- package/dist/types/utils/oauth/kilo.d.ts +5 -0
- package/dist/types/utils/oauth/kimi.d.ts +21 -0
- package/dist/types/utils/oauth/litellm.d.ts +18 -0
- package/dist/types/utils/oauth/lm-studio.d.ts +17 -0
- package/dist/types/utils/oauth/minimax-code.d.ts +28 -0
- package/dist/types/utils/oauth/moonshot.d.ts +1 -0
- package/dist/types/utils/oauth/nanogpt.d.ts +1 -0
- package/dist/types/utils/oauth/nvidia.d.ts +18 -0
- package/dist/types/utils/oauth/ollama-cloud.d.ts +2 -0
- package/dist/types/utils/oauth/ollama.d.ts +18 -0
- package/dist/types/utils/oauth/openai-codex.d.ts +21 -0
- package/dist/types/utils/oauth/opencode.d.ts +18 -0
- package/dist/types/utils/oauth/openrouter.d.ts +1 -0
- package/dist/types/utils/oauth/parallel.d.ts +17 -0
- package/dist/types/utils/oauth/perplexity.d.ts +9 -0
- package/dist/{utils → types/utils}/oauth/pkce.d.ts +0 -5
- package/dist/types/utils/oauth/qianfan.d.ts +17 -0
- package/dist/types/utils/oauth/qwen-portal.d.ts +19 -0
- package/dist/types/utils/oauth/synthetic.d.ts +1 -0
- package/dist/types/utils/oauth/tavily.d.ts +17 -0
- package/dist/types/utils/oauth/together.d.ts +1 -0
- package/dist/types/utils/oauth/types.d.ts +44 -0
- package/dist/types/utils/oauth/venice.d.ts +18 -0
- package/dist/types/utils/oauth/vercel-ai-gateway.d.ts +18 -0
- package/dist/types/utils/oauth/vllm.d.ts +16 -0
- package/dist/types/utils/oauth/wafer.d.ts +2 -0
- package/dist/types/utils/oauth/xai-oauth.d.ts +60 -0
- package/dist/types/utils/oauth/xiaomi.d.ts +19 -0
- package/dist/types/utils/oauth/zai.d.ts +18 -0
- package/dist/types/utils/oauth/zenmux.d.ts +1 -0
- package/dist/types/utils/oauth/zhipu.d.ts +18 -0
- package/dist/{utils → types/utils}/overflow.d.ts +9 -11
- package/dist/types/utils/parse-bind.d.ts +23 -0
- package/dist/types/utils/provider-response.d.ts +3 -0
- package/dist/types/utils/request-debug.d.ts +29 -0
- package/dist/types/utils/retry-after.d.ts +3 -0
- package/dist/types/utils/retry.d.ts +26 -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 +49 -0
- package/dist/types/utils/schema/index.d.ts +13 -0
- package/dist/types/utils/schema/json-schema-validator.d.ts +12 -0
- package/dist/types/utils/schema/meta-validator.d.ts +2 -0
- package/dist/types/utils/schema/normalize.d.ts +93 -0
- package/dist/types/utils/schema/spill.d.ts +8 -0
- package/dist/types/utils/schema/stamps.d.ts +25 -0
- package/dist/types/utils/schema/types.d.ts +4 -0
- package/dist/types/utils/schema/wire.d.ts +53 -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 +10 -0
- package/dist/types/utils/stream-markup-healing.d.ts +80 -0
- package/dist/types/utils/tool-choice.d.ts +50 -0
- package/dist/types/utils/validation.d.ts +17 -0
- package/dist/types/utils.d.ts +28 -0
- package/package.json +139 -105
- package/src/api-registry.ts +96 -0
- package/src/auth-broker/client.ts +358 -0
- package/src/auth-broker/index.ts +5 -0
- package/src/auth-broker/refresher.ts +117 -0
- package/src/auth-broker/remote-store.ts +623 -0
- package/src/auth-broker/server.ts +644 -0
- package/src/auth-broker/types.ts +127 -0
- package/src/auth-broker/wire-schemas.ts +200 -0
- package/src/auth-gateway/http.ts +194 -0
- package/src/auth-gateway/index.ts +3 -0
- package/src/auth-gateway/server.ts +818 -0
- package/src/auth-gateway/types.ts +143 -0
- package/src/auth-storage.ts +4422 -0
- package/src/index.ts +54 -0
- package/src/model-cache.ts +129 -0
- package/src/model-manager.ts +469 -0
- package/src/model-thinking.ts +782 -0
- package/src/models.json +83530 -0
- package/src/models.json.d.ts +9 -0
- package/src/models.ts +56 -0
- package/src/prompts/turn-aborted-guidance.md +4 -0
- package/src/provider-details.ts +90 -0
- package/src/provider-models/bundled-references.ts +38 -0
- package/src/provider-models/descriptors.ts +355 -0
- package/src/provider-models/google.ts +88 -0
- package/src/provider-models/index.ts +5 -0
- package/src/provider-models/ollama.ts +153 -0
- package/src/provider-models/openai-compat.ts +2817 -0
- package/src/provider-models/special.ts +67 -0
- package/src/providers/aery-native-client.ts +228 -0
- package/src/providers/aery-native-server.ts +212 -0
- package/src/providers/amazon-bedrock.ts +873 -0
- package/src/providers/anthropic-client.ts +318 -0
- package/src/providers/anthropic-messages-server-schema.ts +243 -0
- package/src/providers/anthropic-messages-server.ts +683 -0
- package/src/providers/anthropic-wire.ts +268 -0
- package/src/providers/anthropic.ts +3094 -0
- package/src/providers/aws-credentials.ts +501 -0
- package/src/providers/aws-eventstream.ts +185 -0
- package/src/providers/aws-sigv4.ts +218 -0
- package/src/providers/azure-openai-responses.ts +361 -0
- package/src/providers/cursor/gen/agent_pb.ts +15274 -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 +2621 -0
- package/src/providers/error-message.ts +21 -0
- package/src/providers/github-copilot-headers.ts +140 -0
- package/src/providers/gitlab-duo.ts +372 -0
- package/src/providers/google-auth.ts +252 -0
- package/src/providers/google-gemini-cli.ts +809 -0
- package/src/providers/google-gemini-headers.ts +41 -0
- package/src/providers/google-shared.ts +917 -0
- package/src/providers/google-types.ts +167 -0
- package/src/providers/google-vertex.ts +91 -0
- package/src/providers/google.ts +41 -0
- package/src/providers/grammar.ts +70 -0
- package/src/providers/kimi.ts +52 -0
- package/src/providers/mock.ts +496 -0
- package/src/providers/ollama.ts +644 -0
- package/src/providers/openai-anthropic-shim.ts +138 -0
- package/src/providers/openai-chat-server-schema.ts +252 -0
- package/src/providers/openai-chat-server.ts +647 -0
- package/src/providers/openai-codex/constants.ts +43 -0
- package/src/providers/openai-codex/request-transformer.ts +161 -0
- package/src/providers/openai-codex/response-handler.ts +81 -0
- package/src/providers/openai-codex-responses.ts +3018 -0
- package/src/providers/openai-completions-compat.ts +300 -0
- package/src/providers/openai-completions.ts +1979 -0
- package/src/providers/openai-responses-server-schema.ts +290 -0
- package/src/providers/openai-responses-server.ts +1183 -0
- package/src/providers/openai-responses-shared.ts +873 -0
- package/src/providers/openai-responses.ts +679 -0
- package/src/providers/register-builtins.ts +436 -0
- package/src/providers/synthetic.ts +50 -0
- package/src/providers/transform-messages.ts +382 -0
- package/src/providers/vision-guard.ts +31 -0
- package/src/providers/xai-responses.ts +82 -0
- package/src/rate-limit-utils.ts +84 -0
- package/src/stream.ts +1065 -0
- package/src/types.ts +944 -0
- package/src/usage/claude.ts +482 -0
- package/src/usage/gemini.ts +250 -0
- package/src/usage/github-copilot.ts +421 -0
- package/src/usage/google-antigravity.ts +201 -0
- package/src/usage/kimi.ts +271 -0
- package/src/usage/minimax-code.ts +31 -0
- package/src/usage/openai-codex.ts +503 -0
- package/src/usage/shared.ts +10 -0
- package/src/usage/zai.ts +247 -0
- package/src/usage.ts +185 -0
- package/src/utils/abort.ts +51 -0
- package/src/utils/abortable-iterator.ts +69 -0
- package/src/utils/anthropic-auth.ts +93 -0
- package/src/utils/discovery/antigravity.ts +261 -0
- package/src/utils/discovery/codex.ts +371 -0
- package/src/utils/discovery/cursor.ts +306 -0
- package/src/utils/discovery/gemini.ts +248 -0
- package/src/utils/discovery/index.ts +4 -0
- package/src/utils/discovery/openai-compatible.ts +224 -0
- package/src/utils/event-stream.ts +142 -0
- package/src/utils/fireworks-model-id.ts +30 -0
- package/src/utils/foundry.ts +8 -0
- package/src/utils/http-inspector.ts +176 -0
- package/src/utils/idle-iterator.ts +267 -0
- package/src/utils/json-parse.ts +182 -0
- package/src/utils/oauth/__tests__/xai-oauth.test.ts +107 -0
- package/src/utils/oauth/alibaba-coding-plan.ts +59 -0
- package/src/utils/oauth/anthropic.ts +273 -0
- package/src/utils/oauth/api-key-login.ts +87 -0
- package/src/utils/oauth/api-key-validation.ts +92 -0
- package/src/utils/oauth/callback-server.ts +276 -0
- package/src/utils/oauth/cerebras.ts +16 -0
- package/src/utils/oauth/cloudflare-ai-gateway.ts +48 -0
- package/src/utils/oauth/cursor.ts +157 -0
- package/src/utils/oauth/deepseek.ts +53 -0
- package/src/utils/oauth/firepass.ts +24 -0
- package/src/utils/oauth/fireworks.ts +15 -0
- package/src/utils/oauth/github-copilot.ts +362 -0
- package/src/utils/oauth/gitlab-duo.ts +123 -0
- package/src/utils/oauth/google-antigravity.ts +200 -0
- package/src/utils/oauth/google-gemini-cli.ts +256 -0
- package/src/utils/oauth/google-oauth-shared.ts +110 -0
- package/src/utils/oauth/huggingface.ts +62 -0
- package/src/utils/oauth/index.ts +484 -0
- package/src/utils/oauth/kagi.ts +47 -0
- package/src/utils/oauth/kilo.ts +87 -0
- package/src/utils/oauth/kimi.ts +254 -0
- package/src/utils/oauth/litellm.ts +47 -0
- package/src/utils/oauth/lm-studio.ts +38 -0
- package/src/utils/oauth/minimax-code.ts +78 -0
- package/src/utils/oauth/moonshot.ts +23 -0
- package/src/utils/oauth/nanogpt.ts +15 -0
- package/src/utils/oauth/nvidia.ts +70 -0
- package/src/utils/oauth/oauth.html +203 -0
- package/src/utils/oauth/ollama-cloud.ts +28 -0
- package/src/utils/oauth/ollama.ts +47 -0
- package/src/utils/oauth/openai-codex.ts +299 -0
- package/src/utils/oauth/opencode.ts +49 -0
- package/src/utils/oauth/openrouter.ts +20 -0
- package/src/utils/oauth/parallel.ts +46 -0
- package/src/utils/oauth/perplexity.ts +206 -0
- package/src/utils/oauth/pkce.ts +18 -0
- package/src/utils/oauth/qianfan.ts +58 -0
- package/src/utils/oauth/qwen-portal.ts +60 -0
- package/src/utils/oauth/synthetic.ts +15 -0
- package/src/utils/oauth/tavily.ts +46 -0
- package/src/utils/oauth/together.ts +16 -0
- package/src/utils/oauth/types.ts +99 -0
- package/src/utils/oauth/venice.ts +59 -0
- package/src/utils/oauth/vercel-ai-gateway.ts +47 -0
- package/src/utils/oauth/vllm.ts +40 -0
- package/src/utils/oauth/wafer.ts +50 -0
- package/src/utils/oauth/xai-oauth.ts +342 -0
- package/src/utils/oauth/xiaomi.ts +139 -0
- package/src/utils/oauth/zai.ts +60 -0
- package/src/utils/oauth/zenmux.ts +15 -0
- package/src/utils/oauth/zhipu.ts +60 -0
- package/src/utils/overflow.ts +137 -0
- package/src/utils/parse-bind.ts +54 -0
- package/src/utils/provider-response.ts +30 -0
- package/src/utils/request-debug.ts +336 -0
- package/src/utils/retry-after.ts +110 -0
- package/src/utils/retry.ts +54 -0
- package/src/utils/schema/CONSTRAINTS.md +164 -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 +191 -0
- package/src/utils/schema/index.ts +13 -0
- package/src/utils/schema/json-schema-validator.ts +577 -0
- package/src/utils/schema/meta-validator.ts +167 -0
- package/src/utils/schema/normalize.ts +1588 -0
- package/src/utils/schema/spill.ts +43 -0
- package/src/utils/schema/stamps.ts +97 -0
- package/src/utils/schema/types.ts +10 -0
- package/src/utils/schema/wire.ts +293 -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 +289 -0
- package/src/utils/stream-markup-healing.ts +612 -0
- package/src/utils/tool-choice.ts +99 -0
- package/src/utils/validation.ts +1024 -0
- package/src/utils.ts +166 -0
- package/dist/api-registry.d.ts +0 -20
- package/dist/api-registry.d.ts.map +0 -1
- package/dist/api-registry.js +0 -44
- package/dist/api-registry.js.map +0 -1
- package/dist/bedrock-provider.d.ts +0 -5
- package/dist/bedrock-provider.d.ts.map +0 -1
- package/dist/bedrock-provider.js +0 -6
- package/dist/bedrock-provider.js.map +0 -1
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -130
- package/dist/cli.js.map +0 -1
- package/dist/env-api-keys.d.ts +0 -18
- package/dist/env-api-keys.d.ts.map +0 -1
- package/dist/env-api-keys.js +0 -178
- package/dist/env-api-keys.js.map +0 -1
- package/dist/image-models.d.ts +0 -10
- package/dist/image-models.d.ts.map +0 -1
- package/dist/image-models.generated.d.ts +0 -440
- package/dist/image-models.generated.d.ts.map +0 -1
- package/dist/image-models.generated.js +0 -442
- package/dist/image-models.generated.js.map +0 -1
- package/dist/image-models.js +0 -23
- package/dist/image-models.js.map +0 -1
- package/dist/images-api-registry.d.ts +0 -14
- package/dist/images-api-registry.d.ts.map +0 -1
- package/dist/images-api-registry.js +0 -22
- package/dist/images-api-registry.js.map +0 -1
- package/dist/images.d.ts +0 -4
- package/dist/images.d.ts.map +0 -1
- package/dist/images.js +0 -14
- package/dist/images.js.map +0 -1
- package/dist/index.d.ts +0 -32
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -20
- package/dist/index.js.map +0 -1
- package/dist/models.d.ts +0 -18
- package/dist/models.d.ts.map +0 -1
- package/dist/models.generated.d.ts +0 -17480
- package/dist/models.generated.d.ts.map +0 -1
- package/dist/models.generated.js +0 -16339
- package/dist/models.generated.js.map +0 -1
- package/dist/models.js +0 -71
- package/dist/models.js.map +0 -1
- package/dist/oauth.d.ts +0 -2
- package/dist/oauth.d.ts.map +0 -1
- package/dist/oauth.js +0 -2
- package/dist/oauth.js.map +0 -1
- package/dist/providers/aery-error-formatting.d.ts +0 -13
- package/dist/providers/aery-error-formatting.d.ts.map +0 -1
- package/dist/providers/aery-error-formatting.js +0 -112
- package/dist/providers/aery-error-formatting.js.map +0 -1
- package/dist/providers/amazon-bedrock.d.ts +0 -38
- package/dist/providers/amazon-bedrock.d.ts.map +0 -1
- package/dist/providers/amazon-bedrock.js +0 -763
- package/dist/providers/amazon-bedrock.js.map +0 -1
- package/dist/providers/anthropic.d.ts +0 -71
- package/dist/providers/anthropic.d.ts.map +0 -1
- package/dist/providers/anthropic.js +0 -949
- package/dist/providers/anthropic.js.map +0 -1
- package/dist/providers/azure-openai-responses.d.ts +0 -15
- package/dist/providers/azure-openai-responses.d.ts.map +0 -1
- package/dist/providers/azure-openai-responses.js +0 -225
- package/dist/providers/azure-openai-responses.js.map +0 -1
- package/dist/providers/cloudflare.d.ts +0 -13
- package/dist/providers/cloudflare.d.ts.map +0 -1
- package/dist/providers/cloudflare.js +0 -26
- package/dist/providers/cloudflare.js.map +0 -1
- package/dist/providers/faux.d.ts +0 -56
- package/dist/providers/faux.d.ts.map +0 -1
- package/dist/providers/faux.js +0 -368
- package/dist/providers/faux.js.map +0 -1
- package/dist/providers/github-copilot-headers.d.ts +0 -8
- package/dist/providers/github-copilot-headers.d.ts.map +0 -1
- package/dist/providers/github-copilot-headers.js +0 -29
- package/dist/providers/github-copilot-headers.js.map +0 -1
- package/dist/providers/google-gemini-cli.d.ts +0 -74
- package/dist/providers/google-gemini-cli.d.ts.map +0 -1
- package/dist/providers/google-gemini-cli.js +0 -779
- package/dist/providers/google-gemini-cli.js.map +0 -1
- package/dist/providers/google-shared.d.ts +0 -70
- package/dist/providers/google-shared.d.ts.map +0 -1
- package/dist/providers/google-shared.js +0 -329
- package/dist/providers/google-shared.js.map +0 -1
- package/dist/providers/google-vertex.d.ts +0 -15
- package/dist/providers/google-vertex.d.ts.map +0 -1
- package/dist/providers/google-vertex.js +0 -442
- package/dist/providers/google-vertex.js.map +0 -1
- package/dist/providers/google.d.ts +0 -13
- package/dist/providers/google.d.ts.map +0 -1
- package/dist/providers/google.js +0 -400
- package/dist/providers/google.js.map +0 -1
- package/dist/providers/images/openrouter.d.ts +0 -3
- package/dist/providers/images/openrouter.d.ts.map +0 -1
- package/dist/providers/images/openrouter.js +0 -129
- package/dist/providers/images/openrouter.js.map +0 -1
- package/dist/providers/images/register-builtins.d.ts +0 -4
- package/dist/providers/images/register-builtins.d.ts.map +0 -1
- package/dist/providers/images/register-builtins.js +0 -34
- package/dist/providers/images/register-builtins.js.map +0 -1
- package/dist/providers/mistral.d.ts +0 -25
- package/dist/providers/mistral.d.ts.map +0 -1
- package/dist/providers/mistral.js +0 -535
- package/dist/providers/mistral.js.map +0 -1
- package/dist/providers/openai-codex-responses.d.ts +0 -30
- package/dist/providers/openai-codex-responses.d.ts.map +0 -1
- package/dist/providers/openai-codex-responses.js +0 -1090
- package/dist/providers/openai-codex-responses.js.map +0 -1
- package/dist/providers/openai-completions.d.ts +0 -19
- package/dist/providers/openai-completions.d.ts.map +0 -1
- package/dist/providers/openai-completions.js +0 -950
- package/dist/providers/openai-completions.js.map +0 -1
- package/dist/providers/openai-prompt-cache.d.ts +0 -3
- package/dist/providers/openai-prompt-cache.d.ts.map +0 -1
- package/dist/providers/openai-prompt-cache.js +0 -10
- package/dist/providers/openai-prompt-cache.js.map +0 -1
- package/dist/providers/openai-responses-shared.d.ts +0 -18
- package/dist/providers/openai-responses-shared.d.ts.map +0 -1
- package/dist/providers/openai-responses-shared.js +0 -492
- package/dist/providers/openai-responses-shared.js.map +0 -1
- package/dist/providers/openai-responses.d.ts +0 -13
- package/dist/providers/openai-responses.d.ts.map +0 -1
- package/dist/providers/openai-responses.js +0 -237
- package/dist/providers/openai-responses.js.map +0 -1
- package/dist/providers/register-builtins.d.ts +0 -38
- package/dist/providers/register-builtins.d.ts.map +0 -1
- package/dist/providers/register-builtins.js +0 -278
- package/dist/providers/register-builtins.js.map +0 -1
- package/dist/providers/simple-options.d.ts +0 -8
- package/dist/providers/simple-options.d.ts.map +0 -1
- package/dist/providers/simple-options.js +0 -41
- package/dist/providers/simple-options.js.map +0 -1
- package/dist/providers/transform-messages.d.ts.map +0 -1
- package/dist/providers/transform-messages.js +0 -184
- package/dist/providers/transform-messages.js.map +0 -1
- package/dist/session-resources.d.ts +0 -4
- package/dist/session-resources.d.ts.map +0 -1
- package/dist/session-resources.js +0 -22
- package/dist/session-resources.js.map +0 -1
- package/dist/stream.d.ts +0 -8
- package/dist/stream.d.ts.map +0 -1
- package/dist/stream.js +0 -27
- package/dist/stream.js.map +0 -1
- package/dist/types.d.ts +0 -498
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/dist/utils/diagnostics.d.ts +0 -19
- package/dist/utils/diagnostics.d.ts.map +0 -1
- package/dist/utils/diagnostics.js +0 -25
- package/dist/utils/diagnostics.js.map +0 -1
- package/dist/utils/event-stream.d.ts +0 -21
- package/dist/utils/event-stream.d.ts.map +0 -1
- package/dist/utils/event-stream.js +0 -81
- package/dist/utils/event-stream.js.map +0 -1
- package/dist/utils/hash.d.ts +0 -3
- package/dist/utils/hash.d.ts.map +0 -1
- package/dist/utils/hash.js +0 -14
- package/dist/utils/hash.js.map +0 -1
- package/dist/utils/headers.d.ts +0 -2
- package/dist/utils/headers.d.ts.map +0 -1
- package/dist/utils/headers.js +0 -8
- package/dist/utils/headers.js.map +0 -1
- package/dist/utils/json-parse.d.ts +0 -16
- package/dist/utils/json-parse.d.ts.map +0 -1
- package/dist/utils/json-parse.js +0 -113
- package/dist/utils/json-parse.js.map +0 -1
- package/dist/utils/node-http-proxy.d.ts +0 -10
- package/dist/utils/node-http-proxy.d.ts.map +0 -1
- package/dist/utils/node-http-proxy.js +0 -97
- package/dist/utils/node-http-proxy.js.map +0 -1
- package/dist/utils/oauth/anthropic.d.ts +0 -25
- package/dist/utils/oauth/anthropic.d.ts.map +0 -1
- package/dist/utils/oauth/anthropic.js +0 -335
- package/dist/utils/oauth/anthropic.js.map +0 -1
- package/dist/utils/oauth/device-code.d.ts +0 -19
- package/dist/utils/oauth/device-code.d.ts.map +0 -1
- package/dist/utils/oauth/device-code.js +0 -55
- package/dist/utils/oauth/device-code.js.map +0 -1
- package/dist/utils/oauth/github-copilot.d.ts +0 -30
- package/dist/utils/oauth/github-copilot.d.ts.map +0 -1
- package/dist/utils/oauth/github-copilot.js +0 -268
- package/dist/utils/oauth/github-copilot.js.map +0 -1
- package/dist/utils/oauth/google-antigravity.d.ts +0 -26
- package/dist/utils/oauth/google-antigravity.d.ts.map +0 -1
- package/dist/utils/oauth/google-antigravity.js +0 -377
- package/dist/utils/oauth/google-antigravity.js.map +0 -1
- package/dist/utils/oauth/google-gemini-cli.d.ts +0 -26
- package/dist/utils/oauth/google-gemini-cli.d.ts.map +0 -1
- package/dist/utils/oauth/google-gemini-cli.js +0 -482
- package/dist/utils/oauth/google-gemini-cli.js.map +0 -1
- package/dist/utils/oauth/index.d.ts +0 -63
- package/dist/utils/oauth/index.d.ts.map +0 -1
- package/dist/utils/oauth/index.js +0 -131
- package/dist/utils/oauth/index.js.map +0 -1
- package/dist/utils/oauth/oauth-page.d.ts +0 -3
- package/dist/utils/oauth/oauth-page.d.ts.map +0 -1
- package/dist/utils/oauth/oauth-page.js +0 -105
- package/dist/utils/oauth/oauth-page.js.map +0 -1
- package/dist/utils/oauth/openai-codex.d.ts +0 -34
- package/dist/utils/oauth/openai-codex.d.ts.map +0 -1
- package/dist/utils/oauth/openai-codex.js +0 -385
- package/dist/utils/oauth/openai-codex.js.map +0 -1
- package/dist/utils/oauth/pkce.d.ts.map +0 -1
- package/dist/utils/oauth/pkce.js +0 -31
- package/dist/utils/oauth/pkce.js.map +0 -1
- package/dist/utils/oauth/types.d.ts +0 -64
- package/dist/utils/oauth/types.d.ts.map +0 -1
- package/dist/utils/oauth/types.js +0 -2
- package/dist/utils/oauth/types.js.map +0 -1
- package/dist/utils/overflow.d.ts.map +0 -1
- package/dist/utils/overflow.js +0 -151
- package/dist/utils/overflow.js.map +0 -1
- package/dist/utils/sanitize-unicode.d.ts +0 -22
- package/dist/utils/sanitize-unicode.d.ts.map +0 -1
- package/dist/utils/sanitize-unicode.js +0 -26
- package/dist/utils/sanitize-unicode.js.map +0 -1
- package/dist/utils/typebox-helpers.d.ts +0 -17
- package/dist/utils/typebox-helpers.d.ts.map +0 -1
- package/dist/utils/typebox-helpers.js +0 -21
- package/dist/utils/typebox-helpers.js.map +0 -1
- package/dist/utils/validation.d.ts +0 -18
- package/dist/utils/validation.d.ts.map +0 -1
- package/dist/utils/validation.js +0 -281
- package/dist/utils/validation.js.map +0 -1
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the idle timeout used for provider streaming transports.
|
|
3
|
+
*
|
|
4
|
+
* `PI_OPENAI_STREAM_IDLE_TIMEOUT_MS` is accepted as a backward-compatible alias.
|
|
5
|
+
* Set `PI_STREAM_IDLE_TIMEOUT_MS=0` to disable the watchdog.
|
|
6
|
+
*
|
|
7
|
+
* Providers that legitimately stream much slower than the global default can pass
|
|
8
|
+
* `fallbackMs` to widen the floor used when neither env var nor caller option is set.
|
|
9
|
+
* Caller options still take precedence; env overrides still trump the fallback.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getStreamIdleTimeoutMs(fallbackMs?: number): number | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* Returns the idle timeout used for OpenAI-family streaming transports.
|
|
14
|
+
*
|
|
15
|
+
* `PI_OPENAI_STREAM_IDLE_TIMEOUT_MS` takes precedence over the generic
|
|
16
|
+
* `PI_STREAM_IDLE_TIMEOUT_MS` because some deployments tune OpenAI-compatible
|
|
17
|
+
* backends separately from Anthropic/Gemini-style transports.
|
|
18
|
+
*
|
|
19
|
+
* Set `PI_OPENAI_STREAM_IDLE_TIMEOUT_MS=0` to disable the watchdog.
|
|
20
|
+
*/
|
|
21
|
+
export declare function getOpenAIStreamIdleTimeoutMs(fallbackMs?: number): number | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Returns the timeout used while waiting for the first stream event.
|
|
24
|
+
* The first token can legitimately take longer than later inter-event gaps,
|
|
25
|
+
* so the default never undershoots the steady-state idle timeout.
|
|
26
|
+
*
|
|
27
|
+
* Set `PI_STREAM_FIRST_EVENT_TIMEOUT_MS=0` to disable the watchdog.
|
|
28
|
+
*
|
|
29
|
+
* Providers whose first response can legitimately take longer (heavy reasoning,
|
|
30
|
+
* slow cold-start proxies) can pass `fallbackMs` to widen the floor used when
|
|
31
|
+
* neither env var nor caller option is set. Caller options still take precedence;
|
|
32
|
+
* env overrides still trump the fallback.
|
|
33
|
+
*/
|
|
34
|
+
export declare function getStreamFirstEventTimeoutMs(idleTimeoutMs?: number, fallbackMs?: number): number | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Returns the first-event timeout used for OpenAI-family streaming transports.
|
|
37
|
+
*
|
|
38
|
+
* Precedence: explicit `PI_OPENAI_STREAM_FIRST_EVENT_TIMEOUT_MS` (including a
|
|
39
|
+
* `"0"` disable) wins outright. Otherwise the resolved idle (caller-supplied
|
|
40
|
+
* `idleTimeoutMs` — which itself already encompasses per-call
|
|
41
|
+
* `streamIdleTimeoutMs` or `PI_OPENAI_STREAM_IDLE_TIMEOUT_MS` resolved
|
|
42
|
+
* upstream) floors the first-event budget so slow local OpenAI-compatible
|
|
43
|
+
* servers are not undercut by a shorter `PI_STREAM_FIRST_EVENT_TIMEOUT_MS`
|
|
44
|
+
* or the global default during prompt processing.
|
|
45
|
+
*
|
|
46
|
+
* Returns `undefined` when an explicit env knob disables the watchdog.
|
|
47
|
+
*/
|
|
48
|
+
export declare function getOpenAIStreamFirstEventTimeoutMs(idleTimeoutMs?: number, fallbackMs?: number): number | undefined;
|
|
49
|
+
export interface IdleTimeoutIteratorOptions {
|
|
50
|
+
idleTimeoutMs?: number;
|
|
51
|
+
firstItemTimeoutMs?: number;
|
|
52
|
+
errorMessage: string;
|
|
53
|
+
firstItemErrorMessage?: string;
|
|
54
|
+
onIdle?: () => void;
|
|
55
|
+
onFirstItemTimeout?: () => void;
|
|
56
|
+
/**
|
|
57
|
+
* Optional semantic-progress predicate. Non-progress items are still yielded,
|
|
58
|
+
* but they do not reset the idle deadline. This prevents provider
|
|
59
|
+
* keepalive/no-op events from keeping a stalled tool call alive forever.
|
|
60
|
+
*/
|
|
61
|
+
isProgressItem?: (item: unknown) => boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Cancel iteration as soon as this signal aborts. Required for caller-driven
|
|
64
|
+
* cancellation (ESC) when the underlying transport does not surface signal
|
|
65
|
+
* aborts to the iterator (HTTP/2 proxies, native sockets, mocked fetch).
|
|
66
|
+
* Without this, the consumer sleeps on iterator.next() until the idle/first
|
|
67
|
+
* -event watchdog fires — observable as the issue #912 "Working… forever"
|
|
68
|
+
* symptom on the github-copilot provider.
|
|
69
|
+
*/
|
|
70
|
+
abortSignal?: AbortSignal;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Yields items from an async iterable while enforcing a maximum idle gap between items.
|
|
74
|
+
*
|
|
75
|
+
* The first item may use a shorter timeout so stuck requests can be aborted and retried
|
|
76
|
+
* before any user-visible content has streamed.
|
|
77
|
+
*/
|
|
78
|
+
export declare function iterateWithIdleTimeout<T>(iterable: AsyncIterable<T>, options: IdleTimeoutIteratorOptions): AsyncGenerator<T>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export declare function repairJson(json: string): string;
|
|
2
|
+
export declare function parseJsonWithRepair<T>(json: string): T;
|
|
3
|
+
/**
|
|
4
|
+
* Attempts to parse potentially incomplete JSON during streaming.
|
|
5
|
+
* Always returns a valid object, even if the JSON is incomplete.
|
|
6
|
+
*
|
|
7
|
+
* @param partialJson The partial JSON string from streaming
|
|
8
|
+
* @returns Parsed object or empty object if parsing fails
|
|
9
|
+
*/
|
|
10
|
+
export declare function parseStreamingJson<T = Record<string, unknown>>(partialJson: string | undefined): T;
|
|
11
|
+
/**
|
|
12
|
+
* Default minimum byte growth before `parseStreamingJsonThrottled` will
|
|
13
|
+
* re-parse a streaming tool-call argument buffer. Bounds the mid-stream
|
|
14
|
+
* partial-parse cost from quadratic to linear in N.
|
|
15
|
+
*/
|
|
16
|
+
export declare const STREAMING_JSON_PARSE_MIN_GROWTH = 256;
|
|
17
|
+
/**
|
|
18
|
+
* Throttled variant of {@link parseStreamingJson} for the per-delta hot path.
|
|
19
|
+
*
|
|
20
|
+
* Tool calls arrive as a long sequence of small deltas — calling
|
|
21
|
+
* `parseStreamingJson(buffer)` on every delta re-parses the entire buffer
|
|
22
|
+
* each time, giving O(N²) work in the total buffer length. Throttling skips
|
|
23
|
+
* the re-parse until at least `minGrowthBytes` of new content has arrived
|
|
24
|
+
* since the last successful parse, bounding mid-stream cost to O(N).
|
|
25
|
+
*
|
|
26
|
+
* Each provider tracks the last parsed length on its tool-call block, so the
|
|
27
|
+
* final `toolcall_end` parse (which providers already perform unconditionally)
|
|
28
|
+
* is the authoritative full parse — the throttle only delays mid-stream UI
|
|
29
|
+
* updates by at most `minGrowthBytes` of accumulated partial content.
|
|
30
|
+
*
|
|
31
|
+
* @returns the parsed object plus the new `parsedLen` to persist; or `null`
|
|
32
|
+
* when the buffer has not grown enough to warrant a re-parse.
|
|
33
|
+
*/
|
|
34
|
+
export declare function parseStreamingJsonThrottled<T = Record<string, unknown>>(partialJson: string | undefined, lastParsedLen: number, minGrowthBytes?: number): {
|
|
35
|
+
value: T;
|
|
36
|
+
parsedLen: number;
|
|
37
|
+
} | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Alibaba Coding Plan login flow.
|
|
3
|
+
*
|
|
4
|
+
* Alibaba Coding Plan provides OpenAI-compatible models via https://coding-intl.dashscope.aliyuncs.com/v1.
|
|
5
|
+
*
|
|
6
|
+
* This is not OAuth - it's a simple API key flow:
|
|
7
|
+
* 1. Open browser to Alibaba Cloud DashScope API key settings
|
|
8
|
+
* 2. User copies their API key
|
|
9
|
+
* 3. User pastes the API key into the CLI
|
|
10
|
+
*/
|
|
11
|
+
import type { OAuthController } from "./types";
|
|
12
|
+
/**
|
|
13
|
+
* Login to Alibaba Coding Plan.
|
|
14
|
+
*
|
|
15
|
+
* Opens browser to API keys page, prompts user to paste their API key.
|
|
16
|
+
* Returns the API key directly (not OAuthCredentials - this isn't OAuth).
|
|
17
|
+
*/
|
|
18
|
+
export declare function loginAlibabaCodingPlan(options: OAuthController): Promise<string>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anthropic OAuth flow (Claude Pro/Max)
|
|
3
|
+
*/
|
|
4
|
+
import { OAuthCallbackFlow } from "./callback-server";
|
|
5
|
+
import type { OAuthController, OAuthCredentials } from "./types";
|
|
6
|
+
export declare class AnthropicOAuthFlow extends OAuthCallbackFlow {
|
|
7
|
+
#private;
|
|
8
|
+
constructor(ctrl: OAuthController);
|
|
9
|
+
generateAuthUrl(state: string, redirectUri: string): Promise<{
|
|
10
|
+
url: string;
|
|
11
|
+
instructions?: string;
|
|
12
|
+
}>;
|
|
13
|
+
exchangeToken(code: string, state: string, redirectUri: string): Promise<OAuthCredentials>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Login with Anthropic OAuth
|
|
17
|
+
*/
|
|
18
|
+
export declare function loginAnthropic(ctrl: OAuthController): Promise<OAuthCredentials>;
|
|
19
|
+
/**
|
|
20
|
+
* Refresh Anthropic OAuth token
|
|
21
|
+
*/
|
|
22
|
+
export declare function refreshAnthropicToken(refreshToken: string): Promise<OAuthCredentials>;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared factory for API-key-paste "login" flows.
|
|
3
|
+
*
|
|
4
|
+
* Several providers (Cerebras, Synthetic, Moonshot, Together, NanoGPT, ZenMux)
|
|
5
|
+
* don't actually implement OAuth — they just ask the user to paste an API key,
|
|
6
|
+
* optionally validate it, and return the trimmed key.
|
|
7
|
+
*/
|
|
8
|
+
import type { OAuthController } from "./types";
|
|
9
|
+
type ChatCompletionsValidation = {
|
|
10
|
+
kind: "chat-completions";
|
|
11
|
+
provider: string;
|
|
12
|
+
baseUrl: string;
|
|
13
|
+
model: string;
|
|
14
|
+
};
|
|
15
|
+
type ModelsEndpointValidation = {
|
|
16
|
+
kind: "models-endpoint";
|
|
17
|
+
provider: string;
|
|
18
|
+
modelsUrl: string;
|
|
19
|
+
};
|
|
20
|
+
export type ApiKeyLoginConfig = {
|
|
21
|
+
/** Display name used in error messages, e.g. "Cerebras", "NanoGPT". */
|
|
22
|
+
providerLabel: string;
|
|
23
|
+
/** URL opened in browser for the user to grab their key. */
|
|
24
|
+
authUrl: string;
|
|
25
|
+
/** Instructions shown with the onAuth callback. */
|
|
26
|
+
instructions: string;
|
|
27
|
+
/** Prompt message shown when asking for the key paste. */
|
|
28
|
+
promptMessage: string;
|
|
29
|
+
/** Placeholder string for the prompt (e.g. "sk-...", "csk-..."). */
|
|
30
|
+
placeholder: string;
|
|
31
|
+
/** Validation strategy, or `null` to skip validation. */
|
|
32
|
+
validation: ChatCompletionsValidation | ModelsEndpointValidation | null;
|
|
33
|
+
};
|
|
34
|
+
export declare function createApiKeyLogin(config: ApiKeyLoginConfig): (options: OAuthController) => Promise<string>;
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
type OpenAICompatibleValidationOptions = {
|
|
2
|
+
provider: string;
|
|
3
|
+
apiKey: string;
|
|
4
|
+
baseUrl: string;
|
|
5
|
+
model: string;
|
|
6
|
+
signal?: AbortSignal;
|
|
7
|
+
};
|
|
8
|
+
type ModelListValidationOptions = {
|
|
9
|
+
provider: string;
|
|
10
|
+
apiKey: string;
|
|
11
|
+
modelsUrl: string;
|
|
12
|
+
signal?: AbortSignal;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Validate an API key against an OpenAI-compatible chat completions endpoint.
|
|
16
|
+
*
|
|
17
|
+
* Performs a minimal request to verify credentials and endpoint access.
|
|
18
|
+
*/
|
|
19
|
+
export declare function validateOpenAICompatibleApiKey(options: OpenAICompatibleValidationOptions): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Validate an API key against a provider models endpoint.
|
|
22
|
+
*
|
|
23
|
+
* Useful for providers where access to specific models may vary by plan and
|
|
24
|
+
* should not block key validation.
|
|
25
|
+
*/
|
|
26
|
+
export declare function validateApiKeyAgainstModelsEndpoint(options: ModelListValidationOptions): Promise<void>;
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { OAuthController, OAuthCredentials } from "./types";
|
|
2
|
+
export type CallbackResult = {
|
|
3
|
+
code: string;
|
|
4
|
+
state: string;
|
|
5
|
+
};
|
|
6
|
+
export interface OAuthCallbackFlowOptions {
|
|
7
|
+
preferredPort: number;
|
|
8
|
+
callbackPath?: string;
|
|
9
|
+
callbackHostname?: string;
|
|
10
|
+
/** Exact redirect URI advertised to the provider; disables port fallback. */
|
|
11
|
+
redirectUri?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Abstract base class for OAuth flows with local callback servers.
|
|
15
|
+
*/
|
|
16
|
+
export declare abstract class OAuthCallbackFlow {
|
|
17
|
+
#private;
|
|
18
|
+
ctrl: OAuthController;
|
|
19
|
+
preferredPort: number;
|
|
20
|
+
callbackPath: string;
|
|
21
|
+
callbackHostname: string;
|
|
22
|
+
redirectUri?: string;
|
|
23
|
+
constructor(ctrl: OAuthController, preferredPortOrOptions: number | OAuthCallbackFlowOptions, callbackPath?: string);
|
|
24
|
+
/**
|
|
25
|
+
* Generate provider-specific authorization URL.
|
|
26
|
+
* @param state - CSRF state token
|
|
27
|
+
* @param redirectUri - The actual redirect URI to use (may differ from expected if port fallback occurred)
|
|
28
|
+
* @returns Authorization URL and optional instructions
|
|
29
|
+
*/
|
|
30
|
+
abstract generateAuthUrl(state: string, redirectUri: string): Promise<{
|
|
31
|
+
url: string;
|
|
32
|
+
instructions?: string;
|
|
33
|
+
}>;
|
|
34
|
+
/**
|
|
35
|
+
* Exchange authorization code for OAuth tokens.
|
|
36
|
+
* @param code - Authorization code from callback
|
|
37
|
+
* @param state - CSRF state token
|
|
38
|
+
* @param redirectUri - The actual redirect URI used (must match authorization request)
|
|
39
|
+
* @returns OAuth credentials
|
|
40
|
+
*/
|
|
41
|
+
abstract exchangeToken(code: string, state: string, redirectUri: string): Promise<OAuthCredentials>;
|
|
42
|
+
/**
|
|
43
|
+
* Generate CSRF state token. Override if provider needs custom state generation.
|
|
44
|
+
*/
|
|
45
|
+
generateState(): string;
|
|
46
|
+
/**
|
|
47
|
+
* Execute the OAuth login flow.
|
|
48
|
+
*/
|
|
49
|
+
login(): Promise<OAuthCredentials>;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Parse a redirect URL or code string to extract code and state.
|
|
53
|
+
*/
|
|
54
|
+
export declare function parseCallbackInput(input: string): {
|
|
55
|
+
code?: string;
|
|
56
|
+
state?: string;
|
|
57
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const loginCerebras: (options: import("./types").OAuthController) => Promise<string>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloudflare AI Gateway login flow.
|
|
3
|
+
*
|
|
4
|
+
* Cloudflare AI Gateway proxies upstream model providers.
|
|
5
|
+
*
|
|
6
|
+
* This is not OAuth - it's a simple API key flow:
|
|
7
|
+
* 1. Open Cloudflare AI Gateway docs/dashboard
|
|
8
|
+
* 2. User copies their Cloudflare AI Gateway token/API key
|
|
9
|
+
* 3. User pastes the API key into the CLI
|
|
10
|
+
*/
|
|
11
|
+
import type { OAuthController } from "./types";
|
|
12
|
+
/**
|
|
13
|
+
* Login to Cloudflare AI Gateway.
|
|
14
|
+
*
|
|
15
|
+
* Opens browser to Cloudflare AI Gateway authentication docs and prompts for a gateway token/API key.
|
|
16
|
+
* Returns the API key directly (not OAuthCredentials - this isn't OAuth).
|
|
17
|
+
*/
|
|
18
|
+
export declare function loginCloudflareAiGateway(options: OAuthController): Promise<string>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { OAuthCredentials } from "./types";
|
|
2
|
+
export interface CursorAuthParams {
|
|
3
|
+
verifier: string;
|
|
4
|
+
challenge: string;
|
|
5
|
+
uuid: string;
|
|
6
|
+
loginUrl: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function generateCursorAuthParams(): Promise<CursorAuthParams>;
|
|
9
|
+
export declare function pollCursorAuth(uuid: string, verifier: string): Promise<{
|
|
10
|
+
accessToken: string;
|
|
11
|
+
refreshToken: string;
|
|
12
|
+
}>;
|
|
13
|
+
export declare function loginCursor(onAuthUrl: (url: string) => void, onPollStart?: () => void): Promise<OAuthCredentials>;
|
|
14
|
+
export declare function refreshCursorToken(apiKeyOrRefreshToken: string): Promise<OAuthCredentials>;
|
|
15
|
+
export declare function isCursorTokenExpiringSoon(token: string, thresholdSeconds?: number): boolean;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { OAuthController } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Normalize a pasted DeepSeek API key.
|
|
4
|
+
*
|
|
5
|
+
* Users frequently copy keys out of `curl` snippets that include the
|
|
6
|
+
* `Authorization: Bearer …` prefix. Strip it so validation does not fail
|
|
7
|
+
* with a confusing 401, and reject obviously empty input early.
|
|
8
|
+
*/
|
|
9
|
+
export declare function normalizeDeepSeekApiKey(raw: string): string;
|
|
10
|
+
export declare const loginDeepSeek: (options: OAuthController) => Promise<string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const loginFirepass: (options: import("./types").OAuthController) => Promise<string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const loginFireworks: (options: import("./types").OAuthController) => Promise<string>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { OAuthCredentials } from "./types";
|
|
2
|
+
export declare const COPILOT_USER_AGENT: "opencode/1.3.15";
|
|
3
|
+
export declare const OPENCODE_HEADERS: {
|
|
4
|
+
readonly "User-Agent": "opencode/1.3.15";
|
|
5
|
+
};
|
|
6
|
+
export type ParsedGitHubCopilotApiKey = {
|
|
7
|
+
accessToken: string;
|
|
8
|
+
enterpriseUrl?: string;
|
|
9
|
+
};
|
|
10
|
+
export declare function normalizeGitHubCopilotEnterpriseDomain(input: string | undefined): string | undefined;
|
|
11
|
+
export declare function parseGitHubCopilotApiKey(apiKeyRaw: string): ParsedGitHubCopilotApiKey;
|
|
12
|
+
export declare function normalizeDomain(input: string): string | null;
|
|
13
|
+
export declare function getGitHubCopilotBaseUrl(enterpriseDomain?: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* Refresh GitHub Copilot token.
|
|
16
|
+
* With the opencode OAuth flow, the GitHub token is used directly — no JWT exchange needed.
|
|
17
|
+
*/
|
|
18
|
+
export declare function refreshGitHubCopilotToken(refreshToken: string, enterpriseDomain?: string): OAuthCredentials;
|
|
19
|
+
/**
|
|
20
|
+
* Login with GitHub Copilot OAuth (device code flow)
|
|
21
|
+
*
|
|
22
|
+
* @param options.onAuth - Callback with URL and optional instructions (user code)
|
|
23
|
+
* @param options.onPrompt - Callback to prompt user for input
|
|
24
|
+
* @param options.onProgress - Optional progress callback
|
|
25
|
+
* @param options.signal - Optional AbortSignal for cancellation
|
|
26
|
+
*/
|
|
27
|
+
export declare function loginGitHubCopilot(options: {
|
|
28
|
+
onAuth: (url: string, instructions?: string) => void;
|
|
29
|
+
onPrompt: (prompt: {
|
|
30
|
+
message: string;
|
|
31
|
+
placeholder?: string;
|
|
32
|
+
allowEmpty?: boolean;
|
|
33
|
+
}) => Promise<string>;
|
|
34
|
+
onProgress?: (message: string) => void;
|
|
35
|
+
signal?: AbortSignal;
|
|
36
|
+
pollIntervalFloorMs?: number;
|
|
37
|
+
pollIntervalScaleMs?: number;
|
|
38
|
+
}): Promise<OAuthCredentials>;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { OAuthCredentials, OAuthLoginCallbacks } from "./types";
|
|
2
|
+
export declare function loginGitLabDuo(callbacks: OAuthLoginCallbacks): Promise<OAuthCredentials>;
|
|
3
|
+
export declare function refreshGitLabDuoToken(credentials: OAuthCredentials): Promise<OAuthCredentials>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { OAuthController, OAuthCredentials } from "./types";
|
|
2
|
+
export declare const ANTIGRAVITY_LOAD_CODE_ASSIST_METADATA: Readonly<{
|
|
3
|
+
ideType: "ANTIGRAVITY";
|
|
4
|
+
platform: "PLATFORM_UNSPECIFIED";
|
|
5
|
+
pluginType: "GEMINI";
|
|
6
|
+
}>;
|
|
7
|
+
export declare function loginAntigravity(ctrl: OAuthController): Promise<OAuthCredentials>;
|
|
8
|
+
/**
|
|
9
|
+
* Refresh Antigravity token
|
|
10
|
+
*/
|
|
11
|
+
export declare function refreshAntigravityToken(refreshToken: string, projectId: string): Promise<OAuthCredentials>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gemini CLI OAuth flow (Google Cloud Code Assist)
|
|
3
|
+
* Standard Gemini models only (gemini-2.0-flash, gemini-2.5-*)
|
|
4
|
+
*/
|
|
5
|
+
import type { OAuthController, OAuthCredentials } from "./types";
|
|
6
|
+
export declare function loginGeminiCli(ctrl: OAuthController): Promise<OAuthCredentials>;
|
|
7
|
+
/**
|
|
8
|
+
* Refresh Google Cloud Code Assist token
|
|
9
|
+
*/
|
|
10
|
+
export declare function refreshGoogleCloudToken(refreshToken: string, projectId: string): Promise<OAuthCredentials>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared OAuth flow for Google-style providers (Gemini CLI, Antigravity).
|
|
3
|
+
*
|
|
4
|
+
* Both providers use the same authorization-code flow shape; only the client
|
|
5
|
+
* credentials, scopes, endpoint constants, and project-discovery logic differ.
|
|
6
|
+
*/
|
|
7
|
+
import { OAuthCallbackFlow } from "./callback-server";
|
|
8
|
+
import type { OAuthController, OAuthCredentials } from "./types";
|
|
9
|
+
export interface GoogleOAuthFlowConfig {
|
|
10
|
+
clientId: string;
|
|
11
|
+
clientSecret: string;
|
|
12
|
+
authUrl: string;
|
|
13
|
+
tokenUrl: string;
|
|
14
|
+
scopes: string[];
|
|
15
|
+
callbackPort: number;
|
|
16
|
+
callbackPath: string;
|
|
17
|
+
discoverProject: (accessToken: string, onProgress?: (message: string) => void) => Promise<string>;
|
|
18
|
+
}
|
|
19
|
+
export declare class GoogleOAuthFlow extends OAuthCallbackFlow {
|
|
20
|
+
private readonly config;
|
|
21
|
+
constructor(ctrl: OAuthController, config: GoogleOAuthFlowConfig);
|
|
22
|
+
generateAuthUrl(state: string, redirectUri: string): Promise<{
|
|
23
|
+
url: string;
|
|
24
|
+
instructions?: string;
|
|
25
|
+
}>;
|
|
26
|
+
exchangeToken(code: string, _state: string, redirectUri: string): Promise<OAuthCredentials>;
|
|
27
|
+
}
|
|
28
|
+
export declare function runGoogleOAuthLogin(ctrl: OAuthController, config: GoogleOAuthFlowConfig): Promise<OAuthCredentials>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hugging Face Inference login flow.
|
|
3
|
+
*
|
|
4
|
+
* Hugging Face Inference Providers expose an OpenAI-compatible endpoint via
|
|
5
|
+
* https://router.huggingface.co/v1.
|
|
6
|
+
*
|
|
7
|
+
* This is an API key flow:
|
|
8
|
+
* 1. Open browser to Hugging Face token settings
|
|
9
|
+
* 2. User creates/copies a token with Inference Providers permission
|
|
10
|
+
* 3. User pastes the token into the CLI
|
|
11
|
+
*/
|
|
12
|
+
import type { OAuthController } from "./types";
|
|
13
|
+
/**
|
|
14
|
+
* Login to Hugging Face Inference Providers.
|
|
15
|
+
*
|
|
16
|
+
* Opens browser to token settings, prompts user to paste their API key.
|
|
17
|
+
* Returns the API key directly (not OAuthCredentials - this isn't OAuth).
|
|
18
|
+
*/
|
|
19
|
+
export declare function loginHuggingface(options: OAuthController): Promise<string>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { OAuthCredentials, OAuthProvider, OAuthProviderId, OAuthProviderInfo, OAuthProviderInterface } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Register a custom OAuth provider.
|
|
4
|
+
*/
|
|
5
|
+
export declare function registerOAuthProvider(provider: OAuthProviderInterface): void;
|
|
6
|
+
/**
|
|
7
|
+
* Get a custom OAuth provider by ID.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getOAuthProvider(id: OAuthProviderId): OAuthProviderInterface | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Remove all custom OAuth providers registered by a source.
|
|
12
|
+
*/
|
|
13
|
+
export declare function unregisterOAuthProviders(sourceId: string): void;
|
|
14
|
+
/**
|
|
15
|
+
* Refresh token for any OAuth provider.
|
|
16
|
+
* Saves the new credentials and returns the new access token.
|
|
17
|
+
*/
|
|
18
|
+
export declare function refreshOAuthToken(provider: OAuthProvider, credentials: OAuthCredentials): Promise<OAuthCredentials>;
|
|
19
|
+
/**
|
|
20
|
+
* Build API-key bytes for a provider from an already-fresh OAuth credential.
|
|
21
|
+
*
|
|
22
|
+
* Refresh is owned by AuthStorage. This helper deliberately refuses expired
|
|
23
|
+
* credentials so it cannot POST broker redaction sentinels to upstream token
|
|
24
|
+
* endpoints as a side channel.
|
|
25
|
+
*
|
|
26
|
+
* For providers that need credential metadata at request time, returns
|
|
27
|
+
* JSON-encoded credentials plus expiry metadata for diagnostics/edge guards.
|
|
28
|
+
* @returns API key string, or null if no credentials
|
|
29
|
+
* @throws Error if the credential is expired and must be refreshed upstream
|
|
30
|
+
*/
|
|
31
|
+
export declare function getOAuthApiKey(provider: OAuthProvider, credentials: Record<string, OAuthCredentials>): Promise<{
|
|
32
|
+
newCredentials: OAuthCredentials;
|
|
33
|
+
apiKey: string;
|
|
34
|
+
} | null>;
|
|
35
|
+
/**
|
|
36
|
+
* Get list of OAuth providers.
|
|
37
|
+
*/
|
|
38
|
+
export declare function getOAuthProviders(): OAuthProviderInfo[];
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kagi login flow.
|
|
3
|
+
*
|
|
4
|
+
* Kagi web search uses an API key from the account settings page.
|
|
5
|
+
* This is an API key flow:
|
|
6
|
+
* 1. Open browser to Kagi API settings
|
|
7
|
+
* 2. User copies API key
|
|
8
|
+
* 3. User pastes key into CLI
|
|
9
|
+
*/
|
|
10
|
+
import type { OAuthController } from "./types";
|
|
11
|
+
/**
|
|
12
|
+
* Login to Kagi.
|
|
13
|
+
*
|
|
14
|
+
* Opens browser to API settings and prompts user to paste their API key.
|
|
15
|
+
* Returns the API key directly (not OAuthCredentials - this isn't OAuth).
|
|
16
|
+
*/
|
|
17
|
+
export declare function loginKagi(options: OAuthController): Promise<string>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kimi Code OAuth flow (device authorization grant)
|
|
3
|
+
*/
|
|
4
|
+
import type { OAuthController, OAuthCredentials } from "./types";
|
|
5
|
+
export declare let getKimiCommonHeaders: () => Readonly<{
|
|
6
|
+
"User-Agent": `KimiCLI/${string}`;
|
|
7
|
+
"X-Msh-Platform": "kimi_cli";
|
|
8
|
+
"X-Msh-Version": string;
|
|
9
|
+
"X-Msh-Device-Name": string;
|
|
10
|
+
"X-Msh-Device-Model": string;
|
|
11
|
+
"X-Msh-Os-Version": string;
|
|
12
|
+
"X-Msh-Device-Id": string;
|
|
13
|
+
}>;
|
|
14
|
+
/**
|
|
15
|
+
* Login with Kimi Code OAuth (device code flow).
|
|
16
|
+
*/
|
|
17
|
+
export declare function loginKimi(options: OAuthController): Promise<OAuthCredentials>;
|
|
18
|
+
/**
|
|
19
|
+
* Refresh Kimi OAuth token.
|
|
20
|
+
*/
|
|
21
|
+
export declare function refreshKimiToken(refreshToken: string): Promise<OAuthCredentials>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LiteLLM login flow.
|
|
3
|
+
*
|
|
4
|
+
* LiteLLM is an OpenAI-compatible proxy that routes requests to many upstream providers.
|
|
5
|
+
*
|
|
6
|
+
* This is not OAuth - it's a simple API key flow:
|
|
7
|
+
* 1. Open browser to LiteLLM docs/dashboard
|
|
8
|
+
* 2. User copies their LiteLLM API key
|
|
9
|
+
* 3. User pastes the API key into the CLI
|
|
10
|
+
*/
|
|
11
|
+
import type { OAuthController } from "./types";
|
|
12
|
+
/**
|
|
13
|
+
* Login to LiteLLM.
|
|
14
|
+
*
|
|
15
|
+
* Opens browser to LiteLLM setup docs, prompts user to paste their API key.
|
|
16
|
+
* Returns the API key directly (not OAuthCredentials - this isn't OAuth).
|
|
17
|
+
*/
|
|
18
|
+
export declare function loginLiteLLM(options: OAuthController): Promise<string>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LM Studio login flow.
|
|
3
|
+
*
|
|
4
|
+
* LM Studio provides an OpenAI-compatible API at a local base URL.
|
|
5
|
+
* It usually runs unauthenticated but can be configured to require a bearer token.
|
|
6
|
+
*
|
|
7
|
+
* This flow stores an API-key-style credential used by `/login` and auth storage.
|
|
8
|
+
*/
|
|
9
|
+
import type { OAuthController } from "./types";
|
|
10
|
+
export declare const DEFAULT_LOCAL_TOKEN = "lm-studio-local";
|
|
11
|
+
/**
|
|
12
|
+
* Login to LM Studio.
|
|
13
|
+
*
|
|
14
|
+
* Opens LM Studio API docs, prompts for an optional token,
|
|
15
|
+
* and returns a stored key value.
|
|
16
|
+
*/
|
|
17
|
+
export declare function loginLmStudio(options: OAuthController): Promise<string>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MiniMax Coding Plan login flow.
|
|
3
|
+
*
|
|
4
|
+
* MiniMax Coding Plan is a subscription service that provides access to
|
|
5
|
+
* MiniMax models (M2, M2.1) through an OpenAI-compatible API.
|
|
6
|
+
*
|
|
7
|
+
* This is not OAuth - it's a simple API key flow:
|
|
8
|
+
* 1. Open browser to https://platform.minimax.io/subscribe/coding-plan
|
|
9
|
+
* 2. User subscribes and copies their API key
|
|
10
|
+
* 3. User pastes the API key back into the CLI
|
|
11
|
+
*
|
|
12
|
+
* International: https://api.minimax.io/v1
|
|
13
|
+
* China: https://api.minimaxi.com/v1
|
|
14
|
+
*/
|
|
15
|
+
import type { OAuthController } from "./types";
|
|
16
|
+
/**
|
|
17
|
+
* Login to MiniMax Coding Plan (international).
|
|
18
|
+
*
|
|
19
|
+
* Opens browser to subscription page, prompts user to paste their API key.
|
|
20
|
+
* Returns the API key directly (not OAuthCredentials - this isn't OAuth).
|
|
21
|
+
*/
|
|
22
|
+
export declare function loginMiniMaxCode(options: OAuthController): Promise<string>;
|
|
23
|
+
/**
|
|
24
|
+
* Login to MiniMax Coding Plan (China).
|
|
25
|
+
*
|
|
26
|
+
* Same flow as international but uses China endpoint.
|
|
27
|
+
*/
|
|
28
|
+
export declare function loginMiniMaxCodeCn(options: OAuthController): Promise<string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const loginMoonshot: (options: import("./types").OAuthController) => Promise<string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const loginNanoGPT: (options: import("./types").OAuthController) => Promise<string>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NVIDIA login flow.
|
|
3
|
+
*
|
|
4
|
+
* NVIDIA provides OpenAI-compatible models via https://integrate.api.nvidia.com/v1.
|
|
5
|
+
*
|
|
6
|
+
* This is not OAuth - it's a simple API key flow:
|
|
7
|
+
* 1. Open browser to NVIDIA NGC catalog
|
|
8
|
+
* 2. User copies their API key
|
|
9
|
+
* 3. User pastes the API key into the CLI
|
|
10
|
+
*/
|
|
11
|
+
import type { OAuthController } from "./types";
|
|
12
|
+
/**
|
|
13
|
+
* Login to NVIDIA.
|
|
14
|
+
*
|
|
15
|
+
* Opens browser to NVIDIA dashboard, prompts user to paste their API key.
|
|
16
|
+
* Returns the API key directly (not OAuthCredentials - this isn't OAuth).
|
|
17
|
+
*/
|
|
18
|
+
export declare function loginNvidia(options: OAuthController): Promise<string>;
|