@linxiraos/pi-ai 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5066 -0
- package/README.md +1195 -0
- package/dist/types/api-registry.d.ts +30 -0
- package/dist/types/auth/sqlite-credential-store.d.ts +117 -0
- package/dist/types/auth-broker/client.d.ts +93 -0
- package/dist/types/auth-broker/discover.d.ts +39 -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 +136 -0
- package/dist/types/auth-broker/server.d.ts +48 -0
- package/dist/types/auth-broker/snapshot-cache.d.ts +17 -0
- package/dist/types/auth-broker/types.d.ts +152 -0
- package/dist/types/auth-broker/wire-schema-resource.d.ts +53 -0
- package/dist/types/auth-broker/wire-schemas.d.ts +5 -0
- package/dist/types/auth-gateway/http.d.ts +56 -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 +127 -0
- package/dist/types/auth-retry.d.ts +150 -0
- package/dist/types/auth-storage.d.ts +1258 -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 +30 -0
- package/dist/types/dialect/examples.d.ts +18 -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 +9 -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 +54 -0
- package/dist/types/dialect/thinking.d.ts +6 -0
- package/dist/types/dialect/types.d.ts +68 -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 +20 -0
- package/dist/types/error/auth.d.ts +27 -0
- package/dist/types/error/aws.d.ts +27 -0
- package/dist/types/error/classes.d.ts +106 -0
- package/dist/types/error/finalize.d.ts +39 -0
- package/dist/types/error/flags.d.ts +94 -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 +14 -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 +80 -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 +51 -0
- package/dist/types/provider-details.d.ts +24 -0
- package/dist/types/providers/amazon-bedrock.d.ts +39 -0
- package/dist/types/providers/anthropic-client.d.ts +106 -0
- package/dist/types/providers/anthropic-messages-server-schema.d.ts +937 -0
- package/dist/types/providers/anthropic-messages-server.d.ts +17 -0
- package/dist/types/providers/anthropic-wire.d.ts +345 -0
- package/dist/types/providers/anthropic.d.ts +261 -0
- package/dist/types/providers/aws-credentials.d.ts +48 -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/bedrock-mantle.d.ts +13 -0
- package/dist/types/providers/claude-code-fingerprint.d.ts +19 -0
- package/dist/types/providers/cowork-fetch.d.ts +3 -0
- package/dist/types/providers/cursor/exec-modern.d.ts +98 -0
- package/dist/types/providers/cursor-pi-args.d.ts +105 -0
- package/dist/types/providers/cursor.d.ts +221 -0
- package/dist/types/providers/devin.d.ts +12 -0
- package/dist/types/providers/error-message.d.ts +25 -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 +24 -0
- package/dist/types/providers/google-gemini-cli.d.ts +120 -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 +179 -0
- package/dist/types/providers/ollama.d.ts +8 -0
- package/dist/types/providers/openai-anthropic-shim.d.ts +35 -0
- package/dist/types/providers/openai-chat-server-schema.d.ts +1311 -0
- package/dist/types/providers/openai-chat-server.d.ts +16 -0
- package/dist/types/providers/openai-chat-wire.d.ts +669 -0
- package/dist/types/providers/openai-codex/request-transformer.d.ts +109 -0
- package/dist/types/providers/openai-codex/response-handler.d.ts +26 -0
- package/dist/types/providers/openai-codex-responses.d.ts +238 -0
- package/dist/types/providers/openai-completions.d.ts +48 -0
- package/dist/types/providers/openai-reasoning-fallback.d.ts +25 -0
- package/dist/types/providers/openai-responses-server-schema.d.ts +1314 -0
- package/dist/types/providers/openai-responses-server.d.ts +17 -0
- package/dist/types/providers/openai-responses-wire.d.ts +6099 -0
- package/dist/types/providers/openai-responses.d.ts +131 -0
- package/dist/types/providers/openai-shared.d.ts +624 -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 +37 -0
- package/dist/types/providers/synthetic.d.ts +26 -0
- package/dist/types/providers/transform-messages.d.ts +32 -0
- package/dist/types/providers/vision-guard.d.ts +20 -0
- package/dist/types/registry/aiand.d.ts +7 -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/alibaba-token-plan.d.ts +18 -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/aws.d.ts +13 -0
- package/dist/types/registry/azure.d.ts +4 -0
- package/dist/types/registry/baseten.d.ts +7 -0
- package/dist/types/registry/bedrock-mantle.d.ts +22 -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/exa.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/gmi-cloud.d.ts +7 -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/meta.d.ts +7 -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/novita.d.ts +6 -0
- package/dist/types/registry/nvidia.d.ts +7 -0
- package/dist/types/registry/oauth/anthropic-constants.d.ts +12 -0
- package/dist/types/registry/oauth/anthropic.d.ts +24 -0
- package/dist/types/registry/oauth/callback-server.d.ts +74 -0
- package/dist/types/registry/oauth/cursor.d.ts +16 -0
- package/dist/types/registry/oauth/device-code.d.ts +25 -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 +22 -0
- package/dist/types/registry/oauth/google-oauth-shared.d.ts +56 -0
- package/dist/types/registry/oauth/index.d.ts +45 -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 +87 -0
- package/dist/types/registry/oauth/wafer.d.ts +1 -0
- package/dist/types/registry/oauth/xai-oauth.d.ts +46 -0
- package/dist/types/registry/oauth/xiaomi.d.ts +25 -0
- package/dist/types/registry/oauth/zai.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 +367 -0
- package/dist/types/registry/sakana.d.ts +7 -0
- package/dist/types/registry/siliconflow-cn.d.ts +7 -0
- package/dist/types/registry/siliconflow.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 +75 -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 +7 -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 +15 -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 +46 -0
- package/dist/types/types.d.ts +1064 -0
- package/dist/types/usage/alibaba-token-plan.d.ts +3 -0
- package/dist/types/usage/claude.d.ts +4 -0
- package/dist/types/usage/cursor.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 +3 -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 +88 -0
- package/dist/types/usage/openai-codex.d.ts +10 -0
- package/dist/types/usage/opencode-go.d.ts +2 -0
- package/dist/types/usage/shared.d.ts +1 -0
- package/dist/types/usage/synthetic.d.ts +2 -0
- package/dist/types/usage/umans.d.ts +2 -0
- package/dist/types/usage/xai-oauth.d.ts +12 -0
- package/dist/types/usage/zai.d.ts +3 -0
- package/dist/types/usage.d.ts +527 -0
- package/dist/types/utils/abort.d.ts +25 -0
- package/dist/types/utils/anthropic-auth.d.ts +35 -0
- package/dist/types/utils/aws-profile.d.ts +17 -0
- package/dist/types/utils/block-symbols.d.ts +62 -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 +39 -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 +135 -0
- package/dist/types/utils/http-inspector.d.ts +49 -0
- package/dist/types/utils/idle-iterator.d.ts +149 -0
- package/dist/types/utils/leaked-thinking-stream.d.ts +33 -0
- package/dist/types/utils/openai-http.d.ts +48 -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 +39 -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 +14 -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 +153 -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 +24 -0
- package/dist/types/utils/schema/wire.d.ts +52 -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 +52 -0
- package/dist/types/utils/validation.d.ts +28 -0
- package/dist/types/utils.d.ts +57 -0
- package/package.json +138 -0
- package/src/api-registry.ts +109 -0
- package/src/auth/sqlite-credential-store.ts +2066 -0
- package/src/auth-broker/client.ts +471 -0
- package/src/auth-broker/discover.ts +310 -0
- package/src/auth-broker/index.ts +7 -0
- package/src/auth-broker/refresher.ts +117 -0
- package/src/auth-broker/remote-store.ts +1332 -0
- package/src/auth-broker/server.ts +898 -0
- package/src/auth-broker/snapshot-cache.ts +200 -0
- package/src/auth-broker/types.ts +193 -0
- package/src/auth-broker/wire-schema-resource.ts +487 -0
- package/src/auth-broker/wire-schemas.ts +43 -0
- package/src/auth-gateway/http.ts +227 -0
- package/src/auth-gateway/index.ts +3 -0
- package/src/auth-gateway/server.ts +836 -0
- package/src/auth-gateway/types.ts +153 -0
- package/src/auth-retry.ts +401 -0
- package/src/auth-storage.ts +6540 -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 +40 -0
- package/src/dialect/examples.ts +71 -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 +583 -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 +579 -0
- package/src/dialect/harmony.md +31 -0
- package/src/dialect/harmony.ts +345 -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 +30 -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 +481 -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 +304 -0
- package/src/dialect/thinking.ts +292 -0
- package/src/dialect/types.ts +56 -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 +47 -0
- package/src/error/auth.ts +48 -0
- package/src/error/aws.ts +35 -0
- package/src/error/classes.ts +281 -0
- package/src/error/finalize.ts +69 -0
- package/src/error/flags.ts +602 -0
- package/src/error/format.ts +45 -0
- package/src/error/gateway.ts +96 -0
- package/src/error/index.ts +14 -0
- package/src/error/oauth.ts +58 -0
- package/src/error/provider.ts +63 -0
- package/src/error/rate-limit.ts +303 -0
- package/src/error/retryable.ts +70 -0
- package/src/error/validation.ts +44 -0
- package/src/index.ts +51 -0
- package/src/provider-details.ts +90 -0
- package/src/providers/amazon-bedrock.ts +1064 -0
- package/src/providers/anthropic-client.ts +317 -0
- package/src/providers/anthropic-messages-server-schema.ts +252 -0
- package/src/providers/anthropic-messages-server.ts +818 -0
- package/src/providers/anthropic-wire.ts +359 -0
- package/src/providers/anthropic.ts +4539 -0
- package/src/providers/aws-credentials.ts +772 -0
- package/src/providers/aws-eventstream.ts +181 -0
- package/src/providers/aws-sigv4.ts +218 -0
- package/src/providers/azure-openai-responses.ts +438 -0
- package/src/providers/bedrock-mantle.ts +110 -0
- package/src/providers/claude-code-fingerprint.ts +20 -0
- package/src/providers/cowork-fetch.ts +201 -0
- package/src/providers/cursor/exec-modern.ts +496 -0
- package/src/providers/cursor/proto/agent.proto +4533 -0
- package/src/providers/cursor/proto/buf.gen.yaml +6 -0
- package/src/providers/cursor/proto/buf.yaml +17 -0
- package/src/providers/cursor-pi-args.ts +165 -0
- package/src/providers/cursor.ts +4689 -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 +679 -0
- package/src/providers/error-message.ts +23 -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 +3135 -0
- package/src/providers/gitlab-duo.ts +399 -0
- package/src/providers/google-auth.ts +330 -0
- package/src/providers/google-gemini-cli.ts +1370 -0
- package/src/providers/google-shared.ts +1122 -0
- package/src/providers/google-types.ts +180 -0
- package/src/providers/google-vertex.ts +135 -0
- package/src/providers/google.ts +47 -0
- package/src/providers/grammar.ts +70 -0
- package/src/providers/kimi.ts +51 -0
- package/src/providers/mock.ts +514 -0
- package/src/providers/ollama.ts +776 -0
- package/src/providers/openai-anthropic-shim.ts +166 -0
- package/src/providers/openai-chat-server-schema.ts +243 -0
- package/src/providers/openai-chat-server.ts +752 -0
- package/src/providers/openai-chat-wire.ts +859 -0
- package/src/providers/openai-codex/request-transformer.ts +491 -0
- package/src/providers/openai-codex/response-handler.ts +102 -0
- package/src/providers/openai-codex-responses.ts +4716 -0
- package/src/providers/openai-completions.ts +2389 -0
- package/src/providers/openai-reasoning-fallback.ts +269 -0
- package/src/providers/openai-responses-server-schema.ts +397 -0
- package/src/providers/openai-responses-server.ts +1466 -0
- package/src/providers/openai-responses-wire.ts +6416 -0
- package/src/providers/openai-responses.ts +1393 -0
- package/src/providers/openai-shared.ts +3500 -0
- package/src/providers/pi-native-client.ts +275 -0
- package/src/providers/pi-native-server.ts +245 -0
- package/src/providers/register-builtins.ts +503 -0
- package/src/providers/synthetic.ts +50 -0
- package/src/providers/transform-messages.ts +1083 -0
- package/src/providers/vision-guard.ts +54 -0
- package/src/registry/aiand.ts +22 -0
- package/src/registry/aimlapi.ts +6 -0
- package/src/registry/alibaba-coding-plan.ts +104 -0
- package/src/registry/alibaba-token-plan.ts +125 -0
- package/src/registry/amazon-bedrock.ts +22 -0
- package/src/registry/anthropic.ts +26 -0
- package/src/registry/api-key-login.ts +115 -0
- package/src/registry/api-key-validation.ts +145 -0
- package/src/registry/aws.ts +57 -0
- package/src/registry/azure.ts +6 -0
- package/src/registry/baseten.ts +22 -0
- package/src/registry/bedrock-mantle.ts +34 -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/exa.ts +19 -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/gmi-cloud.ts +22 -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/meta.ts +22 -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 +28 -0
- package/src/registry/nanogpt.ts +22 -0
- package/src/registry/novita.ts +25 -0
- package/src/registry/nvidia.ts +61 -0
- package/src/registry/oauth/anthropic-constants.ts +12 -0
- package/src/registry/oauth/anthropic.ts +346 -0
- package/src/registry/oauth/callback-server.ts +438 -0
- package/src/registry/oauth/cursor.ts +187 -0
- package/src/registry/oauth/device-code.ts +92 -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 +225 -0
- package/src/registry/oauth/google-gemini-cli.ts +297 -0
- package/src/registry/oauth/google-oauth-shared.ts +211 -0
- package/src/registry/oauth/index.ts +187 -0
- package/src/registry/oauth/kimi.ts +297 -0
- package/src/registry/oauth/minimax-code.ts +53 -0
- package/src/registry/oauth/oauth.html +317 -0
- package/src/registry/oauth/openai-codex.ts +384 -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 +96 -0
- package/src/registry/oauth/wafer.ts +24 -0
- package/src/registry/oauth/xai-oauth.ts +559 -0
- package/src/registry/oauth/xiaomi.ts +211 -0
- package/src/registry/oauth/zai.ts +285 -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 +182 -0
- package/src/registry/sakana.ts +22 -0
- package/src/registry/siliconflow-cn.ts +22 -0
- package/src/registry/siliconflow.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 +86 -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 +22 -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 +41 -0
- package/src/registry/zenmux.ts +22 -0
- package/src/registry/zhipu-coding-plan.ts +27 -0
- package/src/stream.ts +1944 -0
- package/src/types.ts +1243 -0
- package/src/usage/alibaba-token-plan.ts +230 -0
- package/src/usage/claude.ts +830 -0
- package/src/usage/cursor.ts +335 -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 +277 -0
- package/src/usage/minimax-code.ts +291 -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 +205 -0
- package/src/usage/openai-codex.ts +627 -0
- package/src/usage/opencode-go.ts +89 -0
- package/src/usage/shared.ts +10 -0
- package/src/usage/synthetic.ts +180 -0
- package/src/usage/umans.ts +192 -0
- package/src/usage/xai-oauth.ts +414 -0
- package/src/usage/zai.ts +370 -0
- package/src/usage.ts +411 -0
- package/src/utils/abort.ts +67 -0
- package/src/utils/anthropic-auth.ts +93 -0
- package/src/utils/aws-profile.ts +88 -0
- package/src/utils/block-symbols.ts +78 -0
- package/src/utils/deterministic-id.ts +20 -0
- package/src/utils/empty-completion-retry.ts +161 -0
- package/src/utils/event-stream.ts +202 -0
- package/src/utils/foundry.ts +8 -0
- package/src/utils/google-validation.ts +25 -0
- package/src/utils/harmony-leak.ts +500 -0
- package/src/utils/http-inspector.ts +196 -0
- package/src/utils/idle-iterator.ts +531 -0
- package/src/utils/leaked-thinking-stream.ts +483 -0
- package/src/utils/openai-http.ts +119 -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 +314 -0
- package/src/utils/request-debug.ts +351 -0
- package/src/utils/retry-after.ts +121 -0
- package/src/utils/retry.ts +77 -0
- package/src/utils/schema/CONSTRAINTS.md +168 -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 +210 -0
- package/src/utils/schema/index.ts +14 -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 +2314 -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 +212 -0
- package/src/utils/schema/wire.ts +662 -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 +101 -0
- package/src/utils/validation.ts +1932 -0
- package/src/utils.ts +492 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pi-native wire format for the auth-gateway.
|
|
3
|
+
*
|
|
4
|
+
* Where the OpenAI / Anthropic / Responses route modules translate foreign
|
|
5
|
+
* wire shapes through pi-ai's canonical {@link Context}, this module accepts
|
|
6
|
+
* the canonical shape *directly* — for clients that already speak pi-ai
|
|
7
|
+
* (containerized omp, robomp's sidecar auth-gateway).
|
|
8
|
+
* Skipping the wire-format → Context → wire-format round-trip cuts
|
|
9
|
+
* per-request CPU but, more importantly, avoids the quantization that those
|
|
10
|
+
* translations impose on first-class pi-ai fields (service tier, cache
|
|
11
|
+
* markers, thinking budgets, tool-choice variants, …).
|
|
12
|
+
*
|
|
13
|
+
* The streaming wire is {@link AssistantMessageEvent} serialized verbatim and
|
|
14
|
+
* SSE-framed. Same type pi-ai already produces internally; the client feeds
|
|
15
|
+
* each parsed event straight into `AssistantMessageEventStream.push()` with
|
|
16
|
+
* no translation. Including `partial: AssistantMessage` on every delta is
|
|
17
|
+
* O(N²) in turn length on the wire — acceptable for the loopback / sidecar
|
|
18
|
+
* topology this transport is designed for; provider latency dominates the
|
|
19
|
+
* actual cost.
|
|
20
|
+
*
|
|
21
|
+
* Endpoint contract:
|
|
22
|
+
* POST /v1/pi/stream
|
|
23
|
+
* body: { modelId, context, options?, stream? } // `stream` defaults to true
|
|
24
|
+
* 200 SSE: stream of `AssistantMessageEvent` (terminated by `data: [DONE]`)
|
|
25
|
+
* 200 JSON (stream=false): { message: AssistantMessage }
|
|
26
|
+
* 4xx/5xx: { error: { type, message } }
|
|
27
|
+
*/
|
|
28
|
+
import type { AuthGatewayStreamControl } from "../auth-gateway/types.js";
|
|
29
|
+
import type { AssistantMessageEventStream, Context, SimpleStreamOptions } from "../types.js";
|
|
30
|
+
export interface PiNativeParsedRequest {
|
|
31
|
+
modelId: string;
|
|
32
|
+
context: Context;
|
|
33
|
+
options: SimpleStreamOptions;
|
|
34
|
+
stream: boolean;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Parse a pi-native request body. Validation is intentionally minimal — only
|
|
38
|
+
* the shape the gateway itself reads is checked (`modelId`, `context.messages`
|
|
39
|
+
* array, options is an object). Everything downstream is the canonical pi-ai
|
|
40
|
+
* type surface; mis-shaped values surface as a `502 upstream_error` from
|
|
41
|
+
* `streamSimple` rather than being re-validated here.
|
|
42
|
+
*
|
|
43
|
+
* Accepts both `{ modelId: string }` and `{ model: { id: string } }` so the
|
|
44
|
+
* existing `streamProxy` client (which sends the full Model object) can target
|
|
45
|
+
* the gateway with only a URL swap.
|
|
46
|
+
*/
|
|
47
|
+
export declare function parseRequest(body: unknown, _headers?: Headers): PiNativeParsedRequest;
|
|
48
|
+
/**
|
|
49
|
+
* Ship every {@link AssistantMessageEvent} verbatim, SSE-framed.
|
|
50
|
+
*
|
|
51
|
+
* No per-event re-shaping: the pi-native client is pi-ai itself, so the
|
|
52
|
+
* canonical event type IS the wire type. Including the rolling
|
|
53
|
+
* `partial: AssistantMessage` on every delta is quadratic in turn length
|
|
54
|
+
* on the wire, but for the loopback / sidecar topology this transport
|
|
55
|
+
* targets (containerized omp → host gateway, robomp slot → omp-auth-gateway
|
|
56
|
+
* sidecar) the bandwidth cost is negligible compared to provider latency —
|
|
57
|
+
* and the client gets to feed the events straight into its existing
|
|
58
|
+
* `AssistantMessageEventStream.push()` plumbing with zero translation.
|
|
59
|
+
*/
|
|
60
|
+
export declare function encodeStream(events: AssistantMessageEventStream, _requestedModelId?: string, _options?: SimpleStreamOptions, control?: AuthGatewayStreamControl): ReadableStream<Uint8Array>;
|
|
61
|
+
/**
|
|
62
|
+
* Pi-native error envelope:
|
|
63
|
+
* `{ error: { type, message } }`
|
|
64
|
+
*
|
|
65
|
+
* Mirrors OpenAI's outer shape (which clients/SDKs already parse) without the
|
|
66
|
+
* provider-specific status taxonomy — pi-native callers consume `type`
|
|
67
|
+
* directly.
|
|
68
|
+
*/
|
|
69
|
+
export declare function formatError(status: number, type: string, message: string): Response;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lazy provider module loading.
|
|
3
|
+
*
|
|
4
|
+
* Each provider module is loaded only when its stream function is first called.
|
|
5
|
+
* This avoids eagerly importing heavy SDK dependencies (e.g., openai) at
|
|
6
|
+
* startup. The loaded module promise is cached so subsequent calls
|
|
7
|
+
* reuse the same import.
|
|
8
|
+
*
|
|
9
|
+
* NOTE: stream.ts currently imports providers directly, so this file is not yet
|
|
10
|
+
* wired into the main streaming path. It provides the infrastructure for lazy
|
|
11
|
+
* loading that can be integrated when stream.ts is refactored.
|
|
12
|
+
*/
|
|
13
|
+
import type { AssistantMessageEventStream, Context, Model, OptionsForApi } from "../types.js";
|
|
14
|
+
import { AssistantMessageEventStream as EventStreamImpl } from "../utils/event-stream.js";
|
|
15
|
+
import type { BedrockOptions } from "./amazon-bedrock.js";
|
|
16
|
+
import type { CursorOptions } from "./cursor.js";
|
|
17
|
+
interface CursorProviderModule {
|
|
18
|
+
streamCursor: (model: Model<"cursor-agent">, context: Context, options: CursorOptions) => AssistantMessageEventStream;
|
|
19
|
+
}
|
|
20
|
+
interface BedrockProviderModule {
|
|
21
|
+
streamBedrock: (model: Model<"bedrock-converse-stream">, context: Context, options: BedrockOptions) => AssistantMessageEventStream;
|
|
22
|
+
}
|
|
23
|
+
export declare function setBedrockProviderModule(module: BedrockProviderModule): void;
|
|
24
|
+
export declare function setCursorProviderModule(module: CursorProviderModule): void;
|
|
25
|
+
export declare const streamAnthropic: (model: Model<"anthropic-messages">, context: Context, options: OptionsForApi<"anthropic-messages">) => EventStreamImpl;
|
|
26
|
+
export declare const streamAzureOpenAIResponses: (model: Model<"azure-openai-responses">, context: Context, options: OptionsForApi<"azure-openai-responses">) => EventStreamImpl;
|
|
27
|
+
export declare const streamGoogle: (model: Model<"google-generative-ai">, context: Context, options: OptionsForApi<"google-generative-ai">) => EventStreamImpl;
|
|
28
|
+
export declare const streamGoogleGeminiCli: (model: Model<"google-gemini-cli">, context: Context, options: OptionsForApi<"google-gemini-cli">) => EventStreamImpl;
|
|
29
|
+
export declare const streamGoogleVertex: (model: Model<"google-vertex">, context: Context, options: OptionsForApi<"google-vertex">) => EventStreamImpl;
|
|
30
|
+
export declare const streamOpenAICodexResponses: (model: Model<"openai-codex-responses">, context: Context, options: OptionsForApi<"openai-codex-responses">) => EventStreamImpl;
|
|
31
|
+
export declare const streamOpenAICompletions: (model: Model<"openai-completions">, context: Context, options: OptionsForApi<"openai-completions">) => EventStreamImpl;
|
|
32
|
+
export declare const streamOpenAIResponses: (model: Model<"openai-responses">, context: Context, options: OptionsForApi<"openai-responses">) => EventStreamImpl;
|
|
33
|
+
export declare const streamCursor: (model: Model<"cursor-agent">, context: Context, options: OptionsForApi<"cursor-agent">) => EventStreamImpl;
|
|
34
|
+
export declare const streamDevin: (model: Model<"devin-agent">, context: Context, options: OptionsForApi<"devin-agent">) => EventStreamImpl;
|
|
35
|
+
export declare const streamOllama: (model: Model<"ollama-chat">, context: Context, options: OptionsForApi<"ollama-chat">) => EventStreamImpl;
|
|
36
|
+
export declare const streamBedrock: (model: Model<"bedrock-converse-stream">, context: Context, options: OptionsForApi<"bedrock-converse-stream">) => EventStreamImpl;
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Synthetic provider - wraps OpenAI or Anthropic API based on format setting.
|
|
3
|
+
*
|
|
4
|
+
* Synthetic offers both OpenAI-compatible and Anthropic-compatible APIs:
|
|
5
|
+
* - OpenAI: https://api.synthetic.new/openai/v1/chat/completions
|
|
6
|
+
* - Anthropic: https://api.synthetic.new/anthropic/v1/messages
|
|
7
|
+
*
|
|
8
|
+
* @see https://dev.synthetic.new/docs/api/overview
|
|
9
|
+
*/
|
|
10
|
+
import type { Api, Context, Model } from "../types.js";
|
|
11
|
+
import type { AssistantMessageEventStream } from "../utils/event-stream.js";
|
|
12
|
+
import { type OpenAIAnthropicApiFormat, type OpenAIAnthropicShimOptions } from "./openai-anthropic-shim.js";
|
|
13
|
+
export type SyntheticApiFormat = OpenAIAnthropicApiFormat;
|
|
14
|
+
export interface SyntheticOptions extends OpenAIAnthropicShimOptions {
|
|
15
|
+
/** API format: "openai" or "anthropic". Default: "openai" */
|
|
16
|
+
format?: SyntheticApiFormat;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Stream from Synthetic, routing to either OpenAI or Anthropic API based on format.
|
|
20
|
+
* Returns synchronously like other providers - async processing happens internally.
|
|
21
|
+
*/
|
|
22
|
+
export declare function streamSynthetic(model: Model<"openai-completions">, context: Context, options?: SyntheticOptions): AssistantMessageEventStream;
|
|
23
|
+
/**
|
|
24
|
+
* Check if a model is a Synthetic model.
|
|
25
|
+
*/
|
|
26
|
+
export declare function isSyntheticModel(model: Model<Api>): boolean;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Api, AssistantMessage, Message, Model } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Normalize tool call ID for cross-provider compatibility.
|
|
4
|
+
* OpenAI Responses API generates IDs that are 450+ chars with special characters like `|`.
|
|
5
|
+
* Anthropic APIs require IDs matching ^[a-zA-Z0-9_-]+$ (max 64 chars).
|
|
6
|
+
*
|
|
7
|
+
* For aborted/errored turns, this function:
|
|
8
|
+
* - Preserves tool call structure (unlike converting to text summaries)
|
|
9
|
+
* - Injects synthetic "aborted" tool results
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Credential-shaped token patterns scrubbed from outbound provider traffic when
|
|
13
|
+
* credential redaction is enabled. Exported so hosts can route the same shapes
|
|
14
|
+
* through reversible obfuscation (keyed placeholders restored before local tool
|
|
15
|
+
* execution) instead of the irreversible `[*_token_redacted]` rewrite below —
|
|
16
|
+
* an irreversible placeholder echoed back in edit-tool `old_string` can never
|
|
17
|
+
* match the real bytes on disk.
|
|
18
|
+
*/
|
|
19
|
+
export declare const SENSITIVE_TOKEN_RE: RegExp;
|
|
20
|
+
/**
|
|
21
|
+
* Toggle outbound credential-pattern redaction. When disabled (the default),
|
|
22
|
+
* {@link redactSensitiveCredentials} and {@link redactSensitiveInObject} are
|
|
23
|
+
* pass-throughs and outbound messages/system prompts leave the process
|
|
24
|
+
* unmodified.
|
|
25
|
+
*/
|
|
26
|
+
export declare function configureCredentialRedaction(enabled: boolean): void;
|
|
27
|
+
export declare function redactSensitiveCredentials(text: string): string;
|
|
28
|
+
export declare function redactSensitiveInObject(val: unknown): {
|
|
29
|
+
result: unknown;
|
|
30
|
+
changed: boolean;
|
|
31
|
+
};
|
|
32
|
+
export declare function transformMessages<TApi extends Api>(messages: Message[], model: Model<TApi>, normalizeToolCallId?: (id: string, model: Model<TApi>, source: AssistantMessage) => string, maxNormalizedToolCallIdLength?: number, duplicateToolCallIdSuffixPrefix?: string, targetCompat?: Model<TApi>["compat"]): Message[];
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ImageContent, Model, TextContent } from "../types.js";
|
|
2
|
+
export declare const NON_VISION_IMAGE_PLACEHOLDER = "[image omitted: model does not support vision]";
|
|
3
|
+
export declare function partitionVisionContent(content: ReadonlyArray<TextContent | ImageContent>, supportsImages: boolean): {
|
|
4
|
+
textBlocks: TextContent[];
|
|
5
|
+
imageBlocks: ImageContent[];
|
|
6
|
+
omittedImages: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare function joinTextWithImagePlaceholder(text: string, omittedImages: boolean): string;
|
|
9
|
+
/**
|
|
10
|
+
* Detect known text-only Qwen models served via Alibaba DashScope's consumer
|
|
11
|
+
* `compatible-mode` endpoint that the upstream chat-completions API rejects
|
|
12
|
+
* multimodal content arrays for. The compatible-mode endpoint also serves
|
|
13
|
+
* multimodal Qwen SKUs without `vl` in the id (e.g. `qwen3.7-plus`), so this
|
|
14
|
+
* guard only covers families verified to be text-only for issue #1859:
|
|
15
|
+
* `qwen*-max` and `qwen*-coder*`.
|
|
16
|
+
*
|
|
17
|
+
* Used as a defensive override in `convertMessages` so a misconfigured custom
|
|
18
|
+
* provider (issue #1859) can't drive the request into an unrecoverable 400.
|
|
19
|
+
*/
|
|
20
|
+
export declare function isDashscopeCompatibleModeTextOnlyQwen(model: Model<"openai-completions">): boolean;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { OAuthLoginCallbacks } from "./oauth/types.js";
|
|
2
|
+
export declare const loginAiand: (options: import("./oauth/index.js").OAuthController) => Promise<string>;
|
|
3
|
+
export declare const aiandProvider: {
|
|
4
|
+
readonly id: "aiand";
|
|
5
|
+
readonly name: "ai&";
|
|
6
|
+
readonly login: (cb: OAuthLoginCallbacks) => Promise<string>;
|
|
7
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { OAuthController, OAuthCredentials, OAuthLoginCallbacks } from "./oauth/types.js";
|
|
2
|
+
export declare function loginAlibabaCodingPlan(options: OAuthController): Promise<OAuthCredentials>;
|
|
3
|
+
export declare const alibabaCodingPlanProvider: {
|
|
4
|
+
readonly id: "alibaba-coding-plan";
|
|
5
|
+
readonly name: "Alibaba Coding Plan";
|
|
6
|
+
readonly login: (cb: OAuthLoginCallbacks) => Promise<OAuthCredentials>;
|
|
7
|
+
readonly getApiKey: (credentials: OAuthCredentials) => string;
|
|
8
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { OAuthController, OAuthLoginCallbacks } from "./oauth/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Log in to the QwenCloud Token Plan provider.
|
|
4
|
+
*
|
|
5
|
+
* The Token Plan ships as two regionally separate products with
|
|
6
|
+
* non-interchangeable keys — International (Singapore) and China (Beijing) —
|
|
7
|
+
* so login first selects the region (or a custom base URL) before pasting the
|
|
8
|
+
* key, mirroring {@link loginAlibabaCodingPlan}. The chosen region is validated
|
|
9
|
+
* against its own `/models` endpoint and, when it diverges from the default
|
|
10
|
+
* international endpoint, stored in the credential so inference and discovery
|
|
11
|
+
* both target it (#6682).
|
|
12
|
+
*/
|
|
13
|
+
export declare function loginAlibabaTokenPlan(options: OAuthController): Promise<string>;
|
|
14
|
+
export declare const alibabaTokenPlanProvider: {
|
|
15
|
+
readonly id: "alibaba-token-plan";
|
|
16
|
+
readonly name: "QwenCloud Token Plan";
|
|
17
|
+
readonly login: (cb: OAuthLoginCallbacks) => Promise<string>;
|
|
18
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { OAuthCredentials, OAuthLoginCallbacks } from "./oauth/types.js";
|
|
2
|
+
export declare const anthropicProvider: {
|
|
3
|
+
readonly id: "anthropic";
|
|
4
|
+
readonly name: "Anthropic (Claude Pro/Max)";
|
|
5
|
+
readonly envKeys: () => string | undefined;
|
|
6
|
+
readonly login: (cb: OAuthLoginCallbacks) => Promise<OAuthCredentials>;
|
|
7
|
+
readonly refreshToken: (credentials: OAuthCredentials) => Promise<OAuthCredentials>;
|
|
8
|
+
readonly callbackPort: 54545;
|
|
9
|
+
readonly pasteCodeFlow: true;
|
|
10
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
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 "./oauth/types.js";
|
|
9
|
+
type ChatCompletionsValidation = {
|
|
10
|
+
kind: "chat-completions";
|
|
11
|
+
provider: string;
|
|
12
|
+
baseUrl: string;
|
|
13
|
+
model: string;
|
|
14
|
+
};
|
|
15
|
+
type AnthropicMessagesValidation = {
|
|
16
|
+
kind: "anthropic-messages";
|
|
17
|
+
provider: string;
|
|
18
|
+
baseUrl: string;
|
|
19
|
+
model: string;
|
|
20
|
+
};
|
|
21
|
+
type ModelsEndpointValidation = {
|
|
22
|
+
kind: "models-endpoint";
|
|
23
|
+
provider: string;
|
|
24
|
+
modelsUrl: string | (() => string);
|
|
25
|
+
headers?: Record<string, string> | (() => Record<string, string> | undefined);
|
|
26
|
+
};
|
|
27
|
+
export type ApiKeyLoginConfig = {
|
|
28
|
+
/** Display name used in error messages, e.g. "Cerebras", "NanoGPT". */
|
|
29
|
+
providerLabel: string;
|
|
30
|
+
/** URL opened in browser for the user to grab their key. */
|
|
31
|
+
authUrl: string;
|
|
32
|
+
/** Instructions shown with the onAuth callback. */
|
|
33
|
+
instructions: string;
|
|
34
|
+
/** Prompt message shown when asking for the key paste. */
|
|
35
|
+
promptMessage: string;
|
|
36
|
+
/** Placeholder string for the prompt (e.g. "sk-...", "csk-..."). */
|
|
37
|
+
placeholder: string;
|
|
38
|
+
/** Validation strategy, or `null` to skip validation. */
|
|
39
|
+
validation: ChatCompletionsValidation | AnthropicMessagesValidation | ModelsEndpointValidation | null;
|
|
40
|
+
};
|
|
41
|
+
export declare function createApiKeyLogin(config: ApiKeyLoginConfig): (options: OAuthController) => Promise<string>;
|
|
42
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { FetchImpl } from "../types.js";
|
|
2
|
+
type OpenAICompatibleValidationOptions = {
|
|
3
|
+
provider: string;
|
|
4
|
+
apiKey: string;
|
|
5
|
+
baseUrl: string;
|
|
6
|
+
model: string;
|
|
7
|
+
signal?: AbortSignal;
|
|
8
|
+
fetch?: FetchImpl;
|
|
9
|
+
};
|
|
10
|
+
type AnthropicCompatibleValidationOptions = {
|
|
11
|
+
provider: string;
|
|
12
|
+
apiKey: string;
|
|
13
|
+
baseUrl: string;
|
|
14
|
+
model: string;
|
|
15
|
+
signal?: AbortSignal;
|
|
16
|
+
fetch?: FetchImpl;
|
|
17
|
+
};
|
|
18
|
+
type ModelListValidationOptions = {
|
|
19
|
+
provider: string;
|
|
20
|
+
apiKey: string;
|
|
21
|
+
modelsUrl: string;
|
|
22
|
+
headers?: Record<string, string> | (() => Record<string, string> | undefined);
|
|
23
|
+
signal?: AbortSignal;
|
|
24
|
+
fetch?: FetchImpl;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Validate an API key against an OpenAI-compatible chat completions endpoint.
|
|
28
|
+
*
|
|
29
|
+
* Performs a minimal request to verify credentials and endpoint access.
|
|
30
|
+
*/
|
|
31
|
+
export declare function validateOpenAICompatibleApiKey(options: OpenAICompatibleValidationOptions): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Validate an API key against an Anthropic-compatible messages endpoint.
|
|
34
|
+
*/
|
|
35
|
+
export declare function validateAnthropicCompatibleApiKey(options: AnthropicCompatibleValidationOptions): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Validate an API key against a provider models endpoint.
|
|
38
|
+
*
|
|
39
|
+
* Useful for providers where access to specific models may vary by plan and
|
|
40
|
+
* should not block key validation.
|
|
41
|
+
*/
|
|
42
|
+
export declare function validateApiKeyAgainstModelsEndpoint(options: ModelListValidationOptions): Promise<void>;
|
|
43
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface AwsBedrockProviderOptions extends Readonly<Record<string, unknown>> {
|
|
2
|
+
/** AWS region used in the service endpoint and SigV4 credential scope. */
|
|
3
|
+
region?: string;
|
|
4
|
+
/** Named AWS shared-credentials/config profile. */
|
|
5
|
+
profile?: string;
|
|
6
|
+
/** Amazon Bedrock API key sent as a bearer token, ahead of SigV4 credential resolution. */
|
|
7
|
+
bearerToken?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function hasAwsCredentialSource(): boolean;
|
|
10
|
+
/** Registry key marker for AWS transports that resolve their own bearer/IAM credentials. */
|
|
11
|
+
export declare function resolveAwsRegistryApiKey(): string | undefined;
|
|
12
|
+
/** Resolve a real AWS bearer token while filtering the registry's auth marker. */
|
|
13
|
+
export declare function resolveAwsBearerToken(apiKey?: string, bearerToken?: string): string | undefined;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { OAuthLoginCallbacks } from "./oauth/types.js";
|
|
2
|
+
export declare const loginBaseten: (options: import("./oauth/index.js").OAuthController) => Promise<string>;
|
|
3
|
+
export declare const basetenProvider: {
|
|
4
|
+
readonly id: "baseten";
|
|
5
|
+
readonly name: "Baseten";
|
|
6
|
+
readonly login: (cb: OAuthLoginCallbacks) => Promise<string>;
|
|
7
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Model } from "../types.js";
|
|
2
|
+
import { resolveAwsRegistryApiKey } from "./aws.js";
|
|
3
|
+
export declare const bedrockMantleProvider: {
|
|
4
|
+
readonly id: "bedrock-mantle";
|
|
5
|
+
readonly name: "Amazon Bedrock Mantle";
|
|
6
|
+
readonly envKeys: typeof resolveAwsRegistryApiKey;
|
|
7
|
+
readonly allowsMissingApiKey: true;
|
|
8
|
+
readonly prepareRequest: (model: Model<import("@linxiraos/pi-catalog").Api>, options: import("../index.js").StreamOptions) => import("../providers/bedrock-mantle.js").PreparedBedrockMantleRequest;
|
|
9
|
+
readonly mapSimpleOptions: (options: import("../index.js").SimpleStreamOptions) => {
|
|
10
|
+
providerOptions: Readonly<Record<string, unknown>> | undefined;
|
|
11
|
+
};
|
|
12
|
+
readonly prepareModelDiscovery: (config: import("./types.js").ProviderModelDiscoveryConfig) => {
|
|
13
|
+
baseUrl?: string;
|
|
14
|
+
fetch?: import("@linxiraos/pi-utils").FetchImpl;
|
|
15
|
+
apiKey: undefined;
|
|
16
|
+
authenticated: false;
|
|
17
|
+
} | {
|
|
18
|
+
authenticated: true;
|
|
19
|
+
baseUrl: string;
|
|
20
|
+
fetch: import("@linxiraos/pi-utils").FetchImpl;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { OAuthLoginCallbacks } from "./oauth/types.js";
|
|
2
|
+
export declare const loginCerebras: (options: import("./oauth/index.js").OAuthController) => Promise<string>;
|
|
3
|
+
export declare const cerebrasProvider: {
|
|
4
|
+
readonly id: "cerebras";
|
|
5
|
+
readonly name: "Cerebras";
|
|
6
|
+
readonly login: (cb: OAuthLoginCallbacks) => Promise<string>;
|
|
7
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { OAuthController, OAuthLoginCallbacks } from "./oauth/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Login to Cloudflare AI Gateway.
|
|
4
|
+
*
|
|
5
|
+
* Opens browser to Cloudflare AI Gateway authentication docs and prompts for a gateway token/API key.
|
|
6
|
+
* Returns the API key directly (not OAuthCredentials - this isn't OAuth).
|
|
7
|
+
*/
|
|
8
|
+
export declare function loginCloudflareAiGateway(options: OAuthController): Promise<string>;
|
|
9
|
+
export declare const cloudflareAiGatewayProvider: {
|
|
10
|
+
readonly id: "cloudflare-ai-gateway";
|
|
11
|
+
readonly name: "Cloudflare AI Gateway";
|
|
12
|
+
readonly login: (cb: OAuthLoginCallbacks) => Promise<string>;
|
|
13
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { OAuthLoginCallbacks } from "./oauth/types.js";
|
|
2
|
+
export declare const loginCoreWeave: (options: import("./oauth/index.js").OAuthController) => Promise<string>;
|
|
3
|
+
export declare const coreWeaveProvider: {
|
|
4
|
+
readonly id: "coreweave";
|
|
5
|
+
readonly name: "CoreWeave Serverless Inference";
|
|
6
|
+
readonly login: (cb: OAuthLoginCallbacks) => Promise<string>;
|
|
7
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { OAuthCredentials, OAuthLoginCallbacks } from "./oauth/types.js";
|
|
2
|
+
export declare const cursorProvider: {
|
|
3
|
+
readonly id: "cursor";
|
|
4
|
+
readonly name: "Cursor (Claude, GPT, etc.)";
|
|
5
|
+
readonly login: (cb: OAuthLoginCallbacks) => Promise<OAuthCredentials>;
|
|
6
|
+
readonly refreshToken: (credentials: OAuthCredentials) => Promise<OAuthCredentials>;
|
|
7
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { OAuthController, OAuthLoginCallbacks } from "./oauth/types.js";
|
|
2
|
+
export declare function normalizeDeepSeekApiKey(raw: string): string;
|
|
3
|
+
export declare const loginDeepSeek: (options: OAuthController) => Promise<string>;
|
|
4
|
+
export declare const deepseekProvider: {
|
|
5
|
+
readonly id: "deepseek";
|
|
6
|
+
readonly name: "DeepSeek";
|
|
7
|
+
readonly login: (cb: OAuthLoginCallbacks) => Promise<string>;
|
|
8
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { OAuthLoginCallbacks } from "./oauth/types.js";
|
|
2
|
+
export declare const devinProvider: {
|
|
3
|
+
readonly id: "devin";
|
|
4
|
+
readonly name: "Devin";
|
|
5
|
+
readonly login: (cb: OAuthLoginCallbacks) => Promise<string>;
|
|
6
|
+
readonly callbackPort: 59653;
|
|
7
|
+
readonly pasteCodeFlow: true;
|
|
8
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { OAuthLoginCallbacks } from "./oauth/types.js";
|
|
2
|
+
export declare const loginExa: (options: import("./oauth/index.js").OAuthController) => Promise<string>;
|
|
3
|
+
export declare const exaProvider: {
|
|
4
|
+
readonly id: "exa";
|
|
5
|
+
readonly name: "Exa";
|
|
6
|
+
readonly envKeys: "EXA_API_KEY";
|
|
7
|
+
readonly login: (cb: OAuthLoginCallbacks) => Promise<string>;
|
|
8
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { OAuthLoginCallbacks } from "./oauth/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Fire Pass login flow.
|
|
4
|
+
*
|
|
5
|
+
* Fire Pass is a Fireworks subscription product whose dedicated `fpk_…` API
|
|
6
|
+
* keys are scoped to the `accounts/fireworks/routers/kimi-k2p6-turbo` router
|
|
7
|
+
* (Kimi K2.6 Turbo). The key does NOT authorize `/v1/models`, so validation
|
|
8
|
+
* pings the chat completions endpoint with the router id directly.
|
|
9
|
+
* See https://docs.fireworks.ai/firepass.
|
|
10
|
+
*/
|
|
11
|
+
export declare const loginFirepass: (options: import("./oauth/index.js").OAuthController) => Promise<string>;
|
|
12
|
+
export declare const firepassProvider: {
|
|
13
|
+
readonly id: "firepass";
|
|
14
|
+
readonly name: "Fire Pass (Fireworks Kimi K2.6 Turbo subscription)";
|
|
15
|
+
readonly login: (cb: OAuthLoginCallbacks) => Promise<string>;
|
|
16
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { OAuthLoginCallbacks } from "./oauth/types.js";
|
|
2
|
+
export declare const loginFireworks: (options: import("./oauth/index.js").OAuthController) => Promise<string>;
|
|
3
|
+
export declare const fireworksProvider: {
|
|
4
|
+
readonly id: "fireworks";
|
|
5
|
+
readonly name: "Fireworks";
|
|
6
|
+
readonly login: (cb: OAuthLoginCallbacks) => Promise<string>;
|
|
7
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { OAuthCredentials, OAuthLoginCallbacks } from "./oauth/types.js";
|
|
2
|
+
export declare const githubCopilotProvider: {
|
|
3
|
+
readonly id: "github-copilot";
|
|
4
|
+
readonly name: "GitHub Copilot";
|
|
5
|
+
readonly login: (cb: OAuthLoginCallbacks) => Promise<OAuthCredentials>;
|
|
6
|
+
readonly refreshToken: (credentials: OAuthCredentials) => Promise<OAuthCredentials>;
|
|
7
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { OAuthCredentials, OAuthLoginCallbacks } from "./oauth/types.js";
|
|
2
|
+
export declare const gitLabDuoWorkflowProvider: {
|
|
3
|
+
readonly id: "gitlab-duo-agent";
|
|
4
|
+
readonly name: "GitLab Duo Agent";
|
|
5
|
+
readonly envKeys: "GITLAB_TOKEN";
|
|
6
|
+
readonly login: (cb: OAuthLoginCallbacks) => Promise<OAuthCredentials>;
|
|
7
|
+
readonly refreshToken: (credentials: OAuthCredentials) => Promise<OAuthCredentials>;
|
|
8
|
+
readonly callbackPort: 8080;
|
|
9
|
+
readonly pasteCodeFlow: true;
|
|
10
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { OAuthCredentials, OAuthLoginCallbacks } from "./oauth/types.js";
|
|
2
|
+
export declare const gitlabDuoProvider: {
|
|
3
|
+
readonly id: "gitlab-duo";
|
|
4
|
+
readonly name: "GitLab Duo Non-Agentic";
|
|
5
|
+
readonly login: (cb: OAuthLoginCallbacks) => Promise<OAuthCredentials>;
|
|
6
|
+
readonly refreshToken: (credentials: OAuthCredentials) => Promise<OAuthCredentials>;
|
|
7
|
+
readonly callbackPort: 8080;
|
|
8
|
+
readonly pasteCodeFlow: true;
|
|
9
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { OAuthLoginCallbacks } from "./oauth/types.js";
|
|
2
|
+
export declare const loginGmiCloud: (options: import("./oauth/index.js").OAuthController) => Promise<string>;
|
|
3
|
+
export declare const gmiCloudProvider: {
|
|
4
|
+
readonly id: "gmi-cloud";
|
|
5
|
+
readonly name: "GMI Cloud";
|
|
6
|
+
readonly login: (cb: OAuthLoginCallbacks) => Promise<string>;
|
|
7
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { OAuthCredentials, OAuthLoginCallbacks } from "./oauth/types.js";
|
|
2
|
+
export declare const googleAntigravityProvider: {
|
|
3
|
+
readonly id: "google-antigravity";
|
|
4
|
+
readonly name: "Antigravity (Gemini 3, Claude, GPT-OSS)";
|
|
5
|
+
readonly login: (cb: OAuthLoginCallbacks) => Promise<OAuthCredentials>;
|
|
6
|
+
readonly refreshToken: (credentials: OAuthCredentials) => Promise<OAuthCredentials>;
|
|
7
|
+
readonly callbackPort: 51121;
|
|
8
|
+
readonly pasteCodeFlow: true;
|
|
9
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { OAuthCredentials, OAuthLoginCallbacks } from "./oauth/types.js";
|
|
2
|
+
export declare const googleGeminiCliProvider: {
|
|
3
|
+
readonly id: "google-gemini-cli";
|
|
4
|
+
readonly name: "Google Cloud Code Assist (Gemini CLI)";
|
|
5
|
+
readonly login: (cb: OAuthLoginCallbacks) => Promise<OAuthCredentials>;
|
|
6
|
+
readonly refreshToken: (credentials: OAuthCredentials) => Promise<OAuthCredentials>;
|
|
7
|
+
readonly callbackPort: 8085;
|
|
8
|
+
readonly pasteCodeFlow: true;
|
|
9
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { OAuthLoginCallbacks } from "./oauth/types.js";
|
|
2
|
+
export declare const loginHuggingface: (options: import("./oauth/index.js").OAuthController) => Promise<string>;
|
|
3
|
+
export declare const huggingfaceProvider: {
|
|
4
|
+
readonly id: "huggingface";
|
|
5
|
+
readonly name: "Hugging Face Inference";
|
|
6
|
+
readonly login: (cb: OAuthLoginCallbacks) => Promise<string>;
|
|
7
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { OAuthController, OAuthLoginCallbacks } from "./oauth/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Login to Kagi.
|
|
4
|
+
*
|
|
5
|
+
* Opens browser to API settings and prompts user to paste their API key.
|
|
6
|
+
* Returns the API key directly (not OAuthCredentials - this isn't OAuth).
|
|
7
|
+
*/
|
|
8
|
+
export declare function loginKagi(options: OAuthController): Promise<string>;
|
|
9
|
+
export declare const kagiProvider: {
|
|
10
|
+
readonly id: "kagi";
|
|
11
|
+
readonly name: "Kagi";
|
|
12
|
+
readonly envKeys: "KAGI_API_KEY";
|
|
13
|
+
readonly login: (cb: OAuthLoginCallbacks) => Promise<string>;
|
|
14
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { OAuthController, OAuthCredentials } from "./oauth/types.js";
|
|
2
|
+
export declare function loginKilo(callbacks: OAuthController): Promise<OAuthCredentials>;
|
|
3
|
+
export declare const kiloProvider: {
|
|
4
|
+
readonly id: "kilo";
|
|
5
|
+
readonly name: "Kilo Gateway";
|
|
6
|
+
readonly login: typeof loginKilo;
|
|
7
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { OAuthCredentials, OAuthLoginCallbacks } from "./oauth/types.js";
|
|
2
|
+
export declare const kimiCodeProvider: {
|
|
3
|
+
readonly id: "kimi-code";
|
|
4
|
+
readonly name: "Kimi Code";
|
|
5
|
+
readonly login: (cb: OAuthLoginCallbacks) => Promise<OAuthCredentials>;
|
|
6
|
+
readonly refreshToken: (credentials: OAuthCredentials) => Promise<OAuthCredentials>;
|
|
7
|
+
};
|