@vib-rato/ai 0.16.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 +3354 -0
- package/README.md +1194 -0
- package/dist/types/adapter-internals/provider-safety-stop.d.ts +45 -0
- package/dist/types/api-registry.d.ts +30 -0
- package/dist/types/auth-broker/client.d.ts +80 -0
- package/dist/types/auth-broker/index.d.ts +5 -0
- package/dist/types/auth-broker/redact.d.ts +7 -0
- package/dist/types/auth-broker/refresher.d.ts +25 -0
- package/dist/types/auth-broker/remote-store.d.ts +153 -0
- package/dist/types/auth-broker/server.d.ts +32 -0
- package/dist/types/auth-broker/types.d.ts +132 -0
- package/dist/types/auth-broker/wire-schemas.d.ts +555 -0
- package/dist/types/auth-gateway/http.d.ts +40 -0
- package/dist/types/auth-gateway/index.d.ts +3 -0
- package/dist/types/auth-gateway/server.d.ts +70 -0
- package/dist/types/auth-gateway/types.d.ts +129 -0
- package/dist/types/auth-storage.d.ts +1074 -0
- package/dist/types/cli.d.ts +2 -0
- package/dist/types/codex-tools.d.ts +4 -0
- package/dist/types/context-cap-policy.d.ts +68 -0
- package/dist/types/core.d.ts +35 -0
- package/dist/types/index.d.ts +55 -0
- package/dist/types/model-cache.d.ts +24 -0
- package/dist/types/model-manager.d.ts +77 -0
- package/dist/types/model-pricing.d.ts +3 -0
- package/dist/types/model-retirements.d.ts +6 -0
- package/dist/types/model-thinking.d.ts +100 -0
- package/dist/types/models.d.ts +21 -0
- package/dist/types/openai-completions-compat.d.ts +34 -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 +48 -0
- package/dist/types/provider-models/google.d.ts +20 -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 +293 -0
- package/dist/types/provider-models/special.d.ts +29 -0
- package/dist/types/providers/amazon-bedrock.d.ts +60 -0
- package/dist/types/providers/anthropic-messages-server-schema.d.ts +450 -0
- package/dist/types/providers/anthropic-messages-server.d.ts +17 -0
- package/dist/types/providers/anthropic.d.ts +280 -0
- package/dist/types/providers/aws-credential-config.d.ts +19 -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 +22 -0
- package/dist/types/providers/composer-discipline.d.ts +32 -0
- package/dist/types/providers/cursor/client-version.d.ts +10 -0
- package/dist/types/providers/cursor/exec-modern.d.ts +98 -0
- package/dist/types/providers/cursor/gen/agent_pb.d.ts +16769 -0
- package/dist/types/providers/cursor-pi-args.d.ts +119 -0
- package/dist/types/providers/cursor.d.ts +72 -0
- package/dist/types/providers/dashscope-token-plan-headers.d.ts +57 -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 +26 -0
- package/dist/types/providers/google-gemini-cli.d.ts +75 -0
- package/dist/types/providers/google-gemini-headers.d.ts +43 -0
- package/dist/types/providers/google-shared.d.ts +183 -0
- package/dist/types/providers/google-types.d.ts +138 -0
- package/dist/types/providers/google-vertex.d.ts +11 -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/kiro-api-key.d.ts +50 -0
- package/dist/types/providers/kiro-codewhisperer.d.ts +11 -0
- package/dist/types/providers/mock.d.ts +189 -0
- package/dist/types/providers/ollama.d.ts +41 -0
- package/dist/types/providers/openai-anthropic-shim.d.ts +31 -0
- package/dist/types/providers/openai-bounded-rate-limits.d.ts +3 -0
- package/dist/types/providers/openai-chat-server-schema.d.ts +1733 -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 +50 -0
- package/dist/types/providers/openai-codex/response-handler.d.ts +18 -0
- package/dist/types/providers/openai-codex-responses.d.ts +71 -0
- package/dist/types/providers/openai-completions-compat.d.ts +6 -0
- package/dist/types/providers/openai-completions.d.ts +35 -0
- package/dist/types/providers/openai-opencodex-responses.d.ts +10 -0
- package/dist/types/providers/openai-request-transform.d.ts +4 -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 +106 -0
- package/dist/types/providers/openai-responses.d.ts +37 -0
- package/dist/types/providers/pi-native-client.d.ts +29 -0
- package/dist/types/providers/pi-native-server.d.ts +60 -0
- package/dist/types/providers/register-builtins.d.ts +59 -0
- package/dist/types/providers/synthetic.d.ts +26 -0
- package/dist/types/providers/transform-messages.d.ts +33 -0
- package/dist/types/providers/vision-guard.d.ts +8 -0
- package/dist/types/rate-limit-utils.d.ts +19 -0
- package/dist/types/stream.d.ts +45 -0
- package/dist/types/types.d.ts +1073 -0
- package/dist/types/usage/claude.d.ts +3 -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/grok-cli.d.ts +17 -0
- package/dist/types/usage/kimi.d.ts +4 -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 +264 -0
- package/dist/types/utils/abort.d.ts +19 -0
- package/dist/types/utils/anthropic-auth.d.ts +39 -0
- package/dist/types/utils/block-symbols.d.ts +6 -0
- package/dist/types/utils/discovery/antigravity.d.ts +67 -0
- package/dist/types/utils/discovery/codex.d.ts +38 -0
- package/dist/types/utils/discovery/cursor.d.ts +49 -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 +81 -0
- package/dist/types/utils/event-stream.d.ts +41 -0
- package/dist/types/utils/fallback-transport.d.ts +110 -0
- package/dist/types/utils/fireworks-model-id.d.ts +10 -0
- package/dist/types/utils/foundry.d.ts +11 -0
- package/dist/types/utils/h2-fetch.d.ts +22 -0
- package/dist/types/utils/http-inspector.d.ts +59 -0
- package/dist/types/utils/idle-iterator.d.ts +122 -0
- package/dist/types/utils/json-parse.d.ts +98 -0
- package/dist/types/utils/oauth/alibaba-token-plan.d.ts +19 -0
- package/dist/types/utils/oauth/anthropic.d.ts +41 -0
- package/dist/types/utils/oauth/api-key-login.d.ts +38 -0
- package/dist/types/utils/oauth/api-key-validation.d.ts +39 -0
- package/dist/types/utils/oauth/bizrouter.d.ts +1 -0
- package/dist/types/utils/oauth/callback-server.d.ts +80 -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/commandcode.d.ts +1 -0
- package/dist/types/utils/oauth/cursor.d.ts +15 -0
- package/dist/types/utils/oauth/deepinfra.d.ts +1 -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/fugu.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/glm-zcode.d.ts +71 -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 +39 -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 +17 -0
- package/dist/types/utils/oauth/kiro.d.ts +71 -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/mara.d.ts +1 -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/opengateway.d.ts +1 -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 +4 -0
- package/dist/types/utils/oauth/pkce.d.ts +8 -0
- 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/sglang.d.ts +16 -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 +56 -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/xai.d.ts +30 -0
- package/dist/types/utils/oauth/xiaomi.d.ts +25 -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/overflow.d.ts +14 -0
- package/dist/types/utils/parse-bind.d.ts +26 -0
- package/dist/types/utils/provider-response.d.ts +6 -0
- package/dist/types/utils/provider-safety-stop.d.ts +8 -0
- package/dist/types/utils/proxy.d.ts +7 -0
- package/dist/types/utils/retry-after.d.ts +3 -0
- package/dist/types/utils/retry-budget.d.ts +1 -0
- package/dist/types/utils/retry.d.ts +29 -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 +14 -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/root-combinator.d.ts +12 -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 +54 -0
- package/dist/types/utils/schema/zod-decontaminate.d.ts +31 -0
- package/dist/types/utils/sse-debug.d.ts +10 -0
- package/dist/types/utils/tool-call-healing.d.ts +80 -0
- package/dist/types/utils/tool-choice-capability.d.ts +57 -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 +117 -0
- package/package.json +152 -0
- package/src/adapter-internals/provider-safety-stop.d.ts +45 -0
- package/src/adapter-internals/provider-safety-stop.ts +156 -0
- package/src/api-registry.d.ts +30 -0
- package/src/api-registry.ts +96 -0
- package/src/auth-broker/client.ts +444 -0
- package/src/auth-broker/index.ts +5 -0
- package/src/auth-broker/redact.ts +39 -0
- package/src/auth-broker/refresher.ts +130 -0
- package/src/auth-broker/remote-store.ts +1576 -0
- package/src/auth-broker/server.ts +764 -0
- package/src/auth-broker/types.ts +164 -0
- package/src/auth-broker/wire-schemas.ts +261 -0
- package/src/auth-gateway/http.ts +198 -0
- package/src/auth-gateway/index.ts +3 -0
- package/src/auth-gateway/server.ts +1315 -0
- package/src/auth-gateway/types.ts +160 -0
- package/src/auth-storage.ts +7312 -0
- package/src/cli.ts +269 -0
- package/src/codex-tools.d.ts +4 -0
- package/src/codex-tools.ts +24 -0
- package/src/context-cap-policy.d.ts +68 -0
- package/src/context-cap-policy.ts +123 -0
- package/src/core.ts +44 -0
- package/src/index.ts +61 -0
- package/src/model-cache.ts +236 -0
- package/src/model-manager.ts +744 -0
- package/src/model-pricing.d.ts +3 -0
- package/src/model-pricing.ts +68 -0
- package/src/model-retirements.d.ts +6 -0
- package/src/model-retirements.ts +19 -0
- package/src/model-thinking.d.ts +100 -0
- package/src/model-thinking.ts +1054 -0
- package/src/models.d.ts +21 -0
- package/src/models.json +94672 -0
- package/src/models.json.d.ts +9 -0
- package/src/models.ts +126 -0
- package/src/openai-completions-compat.d.ts +34 -0
- package/src/openai-completions-compat.ts +383 -0
- package/src/prompts/composer-bash-policy-recovery.md +1 -0
- package/src/prompts/cursor-composer-bash-policy-recovery.md +1 -0
- package/src/prompts/cursor-composer-edit-discipline.md +7 -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 +392 -0
- package/src/provider-models/google.ts +92 -0
- package/src/provider-models/index.ts +5 -0
- package/src/provider-models/ollama.ts +159 -0
- package/src/provider-models/openai-compat.ts +2920 -0
- package/src/provider-models/special.ts +185 -0
- package/src/providers/amazon-bedrock.d.ts +60 -0
- package/src/providers/amazon-bedrock.ts +939 -0
- package/src/providers/anthropic-messages-server-schema.ts +229 -0
- package/src/providers/anthropic-messages-server.ts +839 -0
- package/src/providers/anthropic.d.ts +280 -0
- package/src/providers/anthropic.ts +4421 -0
- package/src/providers/aws-credential-config.d.ts +19 -0
- package/src/providers/aws-credential-config.ts +179 -0
- package/src/providers/aws-credentials.d.ts +43 -0
- package/src/providers/aws-credentials.ts +457 -0
- package/src/providers/aws-eventstream.d.ts +38 -0
- package/src/providers/aws-eventstream.ts +185 -0
- package/src/providers/aws-sigv4.d.ts +55 -0
- package/src/providers/aws-sigv4.ts +218 -0
- package/src/providers/azure-openai-responses.d.ts +22 -0
- package/src/providers/azure-openai-responses.ts +447 -0
- package/src/providers/composer-discipline.d.ts +32 -0
- package/src/providers/composer-discipline.ts +95 -0
- package/src/providers/cursor/client-version.d.ts +10 -0
- package/src/providers/cursor/client-version.ts +10 -0
- package/src/providers/cursor/exec-modern.d.ts +98 -0
- package/src/providers/cursor/exec-modern.ts +497 -0
- package/src/providers/cursor/gen/agent_pb.d.ts +16769 -0
- package/src/providers/cursor/gen/agent_pb.ts +19780 -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.d.ts +119 -0
- package/src/providers/cursor-pi-args.ts +187 -0
- package/src/providers/cursor.d.ts +72 -0
- package/src/providers/cursor.ts +3396 -0
- package/src/providers/dashscope-token-plan-headers.d.ts +57 -0
- package/src/providers/dashscope-token-plan-headers.ts +84 -0
- package/src/providers/error-message.d.ts +27 -0
- package/src/providers/error-message.ts +21 -0
- package/src/providers/github-copilot-headers.d.ts +40 -0
- package/src/providers/github-copilot-headers.ts +140 -0
- package/src/providers/gitlab-duo.d.ts +27 -0
- package/src/providers/gitlab-duo.ts +393 -0
- package/src/providers/google-auth.d.ts +26 -0
- package/src/providers/google-auth.ts +262 -0
- package/src/providers/google-gemini-cli.d.ts +75 -0
- package/src/providers/google-gemini-cli.ts +969 -0
- package/src/providers/google-gemini-headers.d.ts +43 -0
- package/src/providers/google-gemini-headers.ts +100 -0
- package/src/providers/google-shared.d.ts +183 -0
- package/src/providers/google-shared.ts +1105 -0
- package/src/providers/google-types.d.ts +138 -0
- package/src/providers/google-types.ts +167 -0
- package/src/providers/google-vertex.d.ts +11 -0
- package/src/providers/google-vertex.ts +124 -0
- package/src/providers/google.d.ts +4 -0
- package/src/providers/google.ts +41 -0
- package/src/providers/grammar.d.ts +1 -0
- package/src/providers/grammar.ts +70 -0
- package/src/providers/kimi.d.ts +27 -0
- package/src/providers/kimi.ts +52 -0
- package/src/providers/kiro-api-key.d.ts +50 -0
- package/src/providers/kiro-api-key.ts +786 -0
- package/src/providers/kiro-codewhisperer.d.ts +11 -0
- package/src/providers/kiro-codewhisperer.ts +600 -0
- package/src/providers/mock.ts +526 -0
- package/src/providers/ollama.d.ts +41 -0
- package/src/providers/ollama.ts +645 -0
- package/src/providers/openai-anthropic-shim.d.ts +31 -0
- package/src/providers/openai-anthropic-shim.ts +156 -0
- package/src/providers/openai-bounded-rate-limits.d.ts +3 -0
- package/src/providers/openai-bounded-rate-limits.ts +57 -0
- package/src/providers/openai-chat-server-schema.ts +254 -0
- package/src/providers/openai-chat-server.ts +724 -0
- package/src/providers/openai-codex/constants.d.ts +26 -0
- package/src/providers/openai-codex/constants.ts +43 -0
- package/src/providers/openai-codex/request-transformer.d.ts +50 -0
- package/src/providers/openai-codex/request-transformer.ts +219 -0
- package/src/providers/openai-codex/response-handler.d.ts +18 -0
- package/src/providers/openai-codex/response-handler.ts +111 -0
- package/src/providers/openai-codex-responses.d.ts +71 -0
- package/src/providers/openai-codex-responses.ts +3288 -0
- package/src/providers/openai-completions-compat.d.ts +6 -0
- package/src/providers/openai-completions-compat.ts +6 -0
- package/src/providers/openai-completions.d.ts +35 -0
- package/src/providers/openai-completions.ts +2294 -0
- package/src/providers/openai-opencodex-responses.ts +174 -0
- package/src/providers/openai-request-transform.d.ts +4 -0
- package/src/providers/openai-request-transform.ts +136 -0
- package/src/providers/openai-responses-server-schema.ts +290 -0
- package/src/providers/openai-responses-server.ts +1268 -0
- package/src/providers/openai-responses-shared.d.ts +106 -0
- package/src/providers/openai-responses-shared.ts +1253 -0
- package/src/providers/openai-responses.d.ts +37 -0
- package/src/providers/openai-responses.ts +989 -0
- package/src/providers/pi-native-client.d.ts +29 -0
- package/src/providers/pi-native-client.ts +243 -0
- package/src/providers/pi-native-server.ts +488 -0
- package/src/providers/register-builtins.d.ts +59 -0
- package/src/providers/register-builtins.ts +544 -0
- package/src/providers/synthetic.d.ts +26 -0
- package/src/providers/synthetic.ts +50 -0
- package/src/providers/transform-messages.d.ts +33 -0
- package/src/providers/transform-messages.ts +408 -0
- package/src/providers/vision-guard.d.ts +8 -0
- package/src/providers/vision-guard.ts +31 -0
- package/src/rate-limit-utils.d.ts +19 -0
- package/src/rate-limit-utils.ts +102 -0
- package/src/stream.d.ts +45 -0
- package/src/stream.ts +1306 -0
- package/src/types.d.ts +1073 -0
- package/src/types.ts +1305 -0
- package/src/usage/claude.ts +449 -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/grok-cli.ts +259 -0
- package/src/usage/kimi.ts +285 -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 +190 -0
- package/src/utils/abort.d.ts +19 -0
- package/src/utils/abort.ts +51 -0
- package/src/utils/anthropic-auth.ts +95 -0
- package/src/utils/block-symbols.d.ts +6 -0
- package/src/utils/block-symbols.ts +11 -0
- package/src/utils/discovery/antigravity.ts +275 -0
- package/src/utils/discovery/codex.ts +362 -0
- package/src/utils/discovery/cursor.ts +388 -0
- package/src/utils/discovery/gemini.ts +248 -0
- package/src/utils/discovery/index.ts +4 -0
- package/src/utils/discovery/openai-compatible.ts +379 -0
- package/src/utils/event-stream.d.ts +41 -0
- package/src/utils/event-stream.ts +269 -0
- package/src/utils/fallback-transport.d.ts +110 -0
- package/src/utils/fallback-transport.ts +411 -0
- package/src/utils/fireworks-model-id.d.ts +10 -0
- package/src/utils/fireworks-model-id.ts +30 -0
- package/src/utils/foundry.d.ts +11 -0
- package/src/utils/foundry.ts +18 -0
- package/src/utils/h2-fetch.ts +60 -0
- package/src/utils/http-inspector.d.ts +59 -0
- package/src/utils/http-inspector.ts +380 -0
- package/src/utils/idle-iterator.d.ts +122 -0
- package/src/utils/idle-iterator.ts +410 -0
- package/src/utils/json-parse.d.ts +98 -0
- package/src/utils/json-parse.ts +607 -0
- package/src/utils/oauth/alibaba-token-plan.ts +60 -0
- package/src/utils/oauth/anthropic.ts +233 -0
- package/src/utils/oauth/api-key-login.ts +98 -0
- package/src/utils/oauth/api-key-validation.ts +344 -0
- package/src/utils/oauth/bizrouter.ts +15 -0
- package/src/utils/oauth/callback-server.d.ts +80 -0
- package/src/utils/oauth/callback-server.ts +359 -0
- package/src/utils/oauth/cerebras.ts +16 -0
- package/src/utils/oauth/cloudflare-ai-gateway.ts +48 -0
- package/src/utils/oauth/commandcode.ts +17 -0
- package/src/utils/oauth/cursor.ts +157 -0
- package/src/utils/oauth/deepinfra.ts +15 -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/fugu.ts +15 -0
- package/src/utils/oauth/github-copilot.d.ts +38 -0
- package/src/utils/oauth/github-copilot.ts +362 -0
- package/src/utils/oauth/gitlab-duo.ts +123 -0
- package/src/utils/oauth/glm-zcode.d.ts +71 -0
- package/src/utils/oauth/glm-zcode.ts +433 -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 +558 -0
- package/src/utils/oauth/kagi.ts +47 -0
- package/src/utils/oauth/kilo.ts +87 -0
- package/src/utils/oauth/kimi.d.ts +17 -0
- package/src/utils/oauth/kimi.ts +275 -0
- package/src/utils/oauth/kiro.ts +448 -0
- package/src/utils/oauth/litellm.ts +47 -0
- package/src/utils/oauth/lm-studio.ts +38 -0
- package/src/utils/oauth/mara.ts +16 -0
- package/src/utils/oauth/minimax-code.ts +78 -0
- package/src/utils/oauth/moonshot.ts +16 -0
- package/src/utils/oauth/nanogpt.ts +15 -0
- package/src/utils/oauth/nvidia.ts +70 -0
- package/src/utils/oauth/oauth.html +199 -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/opengateway.ts +15 -0
- package/src/utils/oauth/openrouter.ts +16 -0
- package/src/utils/oauth/parallel.ts +46 -0
- package/src/utils/oauth/perplexity.ts +225 -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/sglang.ts +42 -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.d.ts +56 -0
- package/src/utils/oauth/types.ts +122 -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 +42 -0
- package/src/utils/oauth/xai.ts +246 -0
- package/src/utils/oauth/xiaomi.ts +199 -0
- package/src/utils/oauth/zai.ts +60 -0
- package/src/utils/oauth/zenmux.ts +15 -0
- package/src/utils/overflow.ts +275 -0
- package/src/utils/parse-bind.ts +81 -0
- package/src/utils/provider-response.d.ts +6 -0
- package/src/utils/provider-response.ts +30 -0
- package/src/utils/provider-safety-stop.ts +8 -0
- package/src/utils/proxy.d.ts +7 -0
- package/src/utils/proxy.ts +652 -0
- package/src/utils/retry-after.d.ts +3 -0
- package/src/utils/retry-after.ts +110 -0
- package/src/utils/retry-budget.d.ts +1 -0
- package/src/utils/retry-budget.ts +4 -0
- package/src/utils/retry.d.ts +29 -0
- package/src/utils/retry.ts +67 -0
- package/src/utils/schema/CONSTRAINTS.md +164 -0
- package/src/utils/schema/adapt.d.ts +24 -0
- package/src/utils/schema/adapt.ts +36 -0
- package/src/utils/schema/compatibility.d.ts +30 -0
- package/src/utils/schema/compatibility.ts +435 -0
- package/src/utils/schema/dereference.d.ts +11 -0
- package/src/utils/schema/dereference.ts +98 -0
- package/src/utils/schema/draft.d.ts +10 -0
- package/src/utils/schema/draft.ts +341 -0
- package/src/utils/schema/equality.d.ts +4 -0
- package/src/utils/schema/equality.ts +97 -0
- package/src/utils/schema/fields.d.ts +49 -0
- package/src/utils/schema/fields.ts +190 -0
- package/src/utils/schema/index.d.ts +14 -0
- package/src/utils/schema/index.ts +14 -0
- package/src/utils/schema/json-schema-validator.d.ts +12 -0
- package/src/utils/schema/json-schema-validator.ts +577 -0
- package/src/utils/schema/meta-validator.d.ts +2 -0
- package/src/utils/schema/meta-validator.ts +167 -0
- package/src/utils/schema/normalize.d.ts +93 -0
- package/src/utils/schema/normalize.ts +1588 -0
- package/src/utils/schema/root-combinator.d.ts +12 -0
- package/src/utils/schema/root-combinator.ts +143 -0
- package/src/utils/schema/spill.d.ts +8 -0
- package/src/utils/schema/spill.ts +43 -0
- package/src/utils/schema/stamps.d.ts +25 -0
- package/src/utils/schema/stamps.ts +97 -0
- package/src/utils/schema/types.d.ts +4 -0
- package/src/utils/schema/types.ts +11 -0
- package/src/utils/schema/wire.d.ts +54 -0
- package/src/utils/schema/wire.ts +213 -0
- package/src/utils/schema/zod-decontaminate.d.ts +31 -0
- package/src/utils/schema/zod-decontaminate.ts +331 -0
- package/src/utils/sse-debug.d.ts +10 -0
- package/src/utils/sse-debug.ts +289 -0
- package/src/utils/tool-call-healing.d.ts +80 -0
- package/src/utils/tool-call-healing.ts +298 -0
- package/src/utils/tool-choice-capability.d.ts +57 -0
- package/src/utils/tool-choice-capability.ts +633 -0
- package/src/utils/tool-choice.d.ts +50 -0
- package/src/utils/tool-choice.ts +99 -0
- package/src/utils/validation.ts +1080 -0
- package/src/utils.d.ts +117 -0
- package/src/utils.ts +523 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build a User-Agent string that identifies as Gemini CLI to unlock higher rate limits.
|
|
3
|
+
* Uses the same format as the official Gemini CLI (v0.35+):
|
|
4
|
+
* GeminiCLI/VERSION/MODEL (PLATFORM; ARCH; SURFACE)
|
|
5
|
+
*/
|
|
6
|
+
export declare const GEMINI_CLI_VERSION_ENV = "VIB_AI_GEMINI_CLI_VERSION";
|
|
7
|
+
export declare const LEGACY_GEMINI_CLI_VERSION_ENV = "PI_AI_GEMINI_CLI_VERSION";
|
|
8
|
+
export declare const DEFAULT_GEMINI_CLI_VERSION = "0.52.0";
|
|
9
|
+
export declare function getGeminiCliUserAgent(modelId?: string): string;
|
|
10
|
+
export declare const getGeminiCliHeaders: (modelId?: string) => {
|
|
11
|
+
"User-Agent": string;
|
|
12
|
+
"Client-Metadata": string;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Full Antigravity system instruction as observed in the real IDE binary.
|
|
16
|
+
* This is the complete prompt injected by the Antigravity language server,
|
|
17
|
+
* including BNF lexer definition for syntax highlighting, messaging system
|
|
18
|
+
* description, and reactive wakeup protocol.
|
|
19
|
+
*
|
|
20
|
+
* Wire-format fidelity note: The `%s` placeholders are literal in the real
|
|
21
|
+
* Antigravity IDE prompt. The Cloud Code Assist service either expands them
|
|
22
|
+
* server-side or the model handles them as-is. Preserved for byte-faithful
|
|
23
|
+
* emulation of the observed IDE wire format.
|
|
24
|
+
*
|
|
25
|
+
* Evidence: Disassembly of the Antigravity LS binary confirms this exact
|
|
26
|
+
* string is loaded and injected as the system instruction.
|
|
27
|
+
*/
|
|
28
|
+
export declare const ANTIGRAVITY_SYSTEM_INSTRUCTION = "You are Antigravity, a powerful agentic AI coding assistant designed by the Google Deepmind team working on Advanced Agentic Coding.\nYou are pair programming with a USER to solve their coding task. The task may require creating a new codebase, modifying or debugging an existing codebase, or simply answering a question.\nThe USER will send you requests, which you must always prioritize addressing. Along with each USER request, we will attach additional metadata about their current state, such as what files they have open and where their cursor is.\nThis information may or may not be relevant to the coding task, it is up for you to decide.<lexer>\n <config>\n <name>BNF</name>\n <alias>bnf</alias>\n <filename>*.bnf</filename>\n <mime_type>text/x-bnf</mime_type>\n </config>\n <rules>\n <state name=\"root\">\n <rule pattern=\"(<)([ -;=?-~]+)(>)\">\n <bygroups>\n <token type=\"Punctuation\"/>\n <token type=\"NameClass\"/>\n <token type=\"Punctuation\"/>\n </bygroups>\n </rule>\n <rule pattern=\"::=\">\n <token type=\"Operator\"/>\n </rule>\n <rule pattern=\"[^<>:]+\">\n <token type=\"Text\"/>\n </rule>\n <rule pattern=\".\">\n <token type=\"Text\"/>\n </rule>\n </state>\n </rules>\n</lexer>You are connected to a messaging system where you may receive messages from: %s.\n\n## Receiving Messages\n\nYou receive messages automatically at the start of each invocation. All messages are delivered in full directly into your context \u2014 no manual retrieval is needed.\n\n## Reactive Wakeup (No Polling Needed)\n\nThe system automatically resumes your execution when:\n%s\n\nThis means you do **NOT** need to poll in a loop while waiting for messages or updates. After launching anything that performs work asynchronously, you may continue other work or simply stop by calling no more tools. The system will notify you when there is something to process.\n";
|
|
29
|
+
/**
|
|
30
|
+
* Antigravity / Cloud Code Assist user agent.
|
|
31
|
+
*
|
|
32
|
+
* Disassembly-confirmed: getUserAgentName() @ 0x5ecb1dd loads "antigravity-ide"
|
|
33
|
+
* via LEA RDX, [RIP-0x284fc90] → 0x367b554 = "antigravity-ide"
|
|
34
|
+
*
|
|
35
|
+
* The LS sets HTTP headers via: fmt.Sprintf("User-Agent: %s", getUserAgentName())
|
|
36
|
+
* So the final header is: User-Agent: antigravity-ide
|
|
37
|
+
*
|
|
38
|
+
* -override_user_agent flag can override this (confirmed at 0x5ecbc37).
|
|
39
|
+
*/
|
|
40
|
+
export declare let getAntigravityUserAgent: () => string;
|
|
41
|
+
export declare const getAntigravityRequestHeaders: () => {
|
|
42
|
+
"User-Agent": string;
|
|
43
|
+
};
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build a User-Agent string that identifies as Gemini CLI to unlock higher rate limits.
|
|
3
|
+
* Uses the same format as the official Gemini CLI (v0.35+):
|
|
4
|
+
* GeminiCLI/VERSION/MODEL (PLATFORM; ARCH; SURFACE)
|
|
5
|
+
*/
|
|
6
|
+
export const GEMINI_CLI_VERSION_ENV = "VIB_AI_GEMINI_CLI_VERSION";
|
|
7
|
+
export const LEGACY_GEMINI_CLI_VERSION_ENV = "PI_AI_GEMINI_CLI_VERSION";
|
|
8
|
+
export const DEFAULT_GEMINI_CLI_VERSION = "0.52.0";
|
|
9
|
+
|
|
10
|
+
export function getGeminiCliUserAgent(modelId = "gemini-3.1-pro-preview"): string {
|
|
11
|
+
const version =
|
|
12
|
+
process.env[GEMINI_CLI_VERSION_ENV] || process.env[LEGACY_GEMINI_CLI_VERSION_ENV] || DEFAULT_GEMINI_CLI_VERSION;
|
|
13
|
+
const platform = process.platform === "win32" ? "win32" : process.platform;
|
|
14
|
+
const arch = process.arch === "x64" ? "x64" : process.arch;
|
|
15
|
+
return `GeminiCLI/${version}/${modelId} (${platform}; ${arch}; terminal)`;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export const getGeminiCliHeaders = (modelId?: string) => ({
|
|
19
|
+
"User-Agent": getGeminiCliUserAgent(modelId),
|
|
20
|
+
"Client-Metadata": "ideType=IDE_UNSPECIFIED,platform=PLATFORM_UNSPECIFIED,pluginType=GEMINI",
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Full Antigravity system instruction as observed in the real IDE binary.
|
|
25
|
+
* This is the complete prompt injected by the Antigravity language server,
|
|
26
|
+
* including BNF lexer definition for syntax highlighting, messaging system
|
|
27
|
+
* description, and reactive wakeup protocol.
|
|
28
|
+
*
|
|
29
|
+
* Wire-format fidelity note: The `%s` placeholders are literal in the real
|
|
30
|
+
* Antigravity IDE prompt. The Cloud Code Assist service either expands them
|
|
31
|
+
* server-side or the model handles them as-is. Preserved for byte-faithful
|
|
32
|
+
* emulation of the observed IDE wire format.
|
|
33
|
+
*
|
|
34
|
+
* Evidence: Disassembly of the Antigravity LS binary confirms this exact
|
|
35
|
+
* string is loaded and injected as the system instruction.
|
|
36
|
+
*/
|
|
37
|
+
export const ANTIGRAVITY_SYSTEM_INSTRUCTION = `You are Antigravity, a powerful agentic AI coding assistant designed by the Google Deepmind team working on Advanced Agentic Coding.
|
|
38
|
+
You are pair programming with a USER to solve their coding task. The task may require creating a new codebase, modifying or debugging an existing codebase, or simply answering a question.
|
|
39
|
+
The USER will send you requests, which you must always prioritize addressing. Along with each USER request, we will attach additional metadata about their current state, such as what files they have open and where their cursor is.
|
|
40
|
+
This information may or may not be relevant to the coding task, it is up for you to decide.<lexer>
|
|
41
|
+
<config>
|
|
42
|
+
<name>BNF</name>
|
|
43
|
+
<alias>bnf</alias>
|
|
44
|
+
<filename>*.bnf</filename>
|
|
45
|
+
<mime_type>text/x-bnf</mime_type>
|
|
46
|
+
</config>
|
|
47
|
+
<rules>
|
|
48
|
+
<state name="root">
|
|
49
|
+
<rule pattern="(<)([ -;=?-~]+)(>)">
|
|
50
|
+
<bygroups>
|
|
51
|
+
<token type="Punctuation"/>
|
|
52
|
+
<token type="NameClass"/>
|
|
53
|
+
<token type="Punctuation"/>
|
|
54
|
+
</bygroups>
|
|
55
|
+
</rule>
|
|
56
|
+
<rule pattern="::=">
|
|
57
|
+
<token type="Operator"/>
|
|
58
|
+
</rule>
|
|
59
|
+
<rule pattern="[^<>:]+">
|
|
60
|
+
<token type="Text"/>
|
|
61
|
+
</rule>
|
|
62
|
+
<rule pattern=".">
|
|
63
|
+
<token type="Text"/>
|
|
64
|
+
</rule>
|
|
65
|
+
</state>
|
|
66
|
+
</rules>
|
|
67
|
+
</lexer>You are connected to a messaging system where you may receive messages from: %s.
|
|
68
|
+
|
|
69
|
+
## Receiving Messages
|
|
70
|
+
|
|
71
|
+
You receive messages automatically at the start of each invocation. All messages are delivered in full directly into your context — no manual retrieval is needed.
|
|
72
|
+
|
|
73
|
+
## Reactive Wakeup (No Polling Needed)
|
|
74
|
+
|
|
75
|
+
The system automatically resumes your execution when:
|
|
76
|
+
%s
|
|
77
|
+
|
|
78
|
+
This means you do **NOT** need to poll in a loop while waiting for messages or updates. After launching anything that performs work asynchronously, you may continue other work or simply stop by calling no more tools. The system will notify you when there is something to process.
|
|
79
|
+
`;
|
|
80
|
+
/**
|
|
81
|
+
* Antigravity / Cloud Code Assist user agent.
|
|
82
|
+
*
|
|
83
|
+
* Disassembly-confirmed: getUserAgentName() @ 0x5ecb1dd loads "antigravity-ide"
|
|
84
|
+
* via LEA RDX, [RIP-0x284fc90] → 0x367b554 = "antigravity-ide"
|
|
85
|
+
*
|
|
86
|
+
* The LS sets HTTP headers via: fmt.Sprintf("User-Agent: %s", getUserAgentName())
|
|
87
|
+
* So the final header is: User-Agent: antigravity-ide
|
|
88
|
+
*
|
|
89
|
+
* -override_user_agent flag can override this (confirmed at 0x5ecbc37).
|
|
90
|
+
*/
|
|
91
|
+
export let getAntigravityUserAgent = () => {
|
|
92
|
+
const override = process.env.PI_AI_ANTIGRAVITY_USER_AGENT;
|
|
93
|
+
const userAgent = override || "antigravity-ide";
|
|
94
|
+
getAntigravityUserAgent = () => userAgent;
|
|
95
|
+
return userAgent;
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
export const getAntigravityRequestHeaders = () => ({
|
|
99
|
+
"User-Agent": getAntigravityUserAgent(),
|
|
100
|
+
});
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared utilities for Google Generative AI and Google Cloud Code Assist providers.
|
|
3
|
+
*/
|
|
4
|
+
import type { ProviderSafetyStopAdapterInvocation } from "../adapter-internals/provider-safety-stop";
|
|
5
|
+
import type { AssistantMessage, Context, FetchImpl, Model, StopReason, StreamOptions, TextContent, ThinkingContent, Tool, ToolCall } from "../types";
|
|
6
|
+
import { AssistantMessageEventStream } from "../utils/event-stream";
|
|
7
|
+
import { normalizeSchemaForGoogle } from "../utils/schema";
|
|
8
|
+
import type { Content, FinishReason, FunctionCallingConfigMode, GenerateContentParameters, GenerateContentResponse, Part } from "./google-types";
|
|
9
|
+
export type { Content, FunctionCallingConfigMode, GenerateContentParameters, GenerateContentResponse, ThinkingConfig, } from "./google-types";
|
|
10
|
+
export { normalizeSchemaForGoogle };
|
|
11
|
+
type GoogleApiType = "google-generative-ai" | "google-gemini-cli" | "google-vertex";
|
|
12
|
+
export declare const PROVIDER_SAFETY_STOP = "provider_safety_stop";
|
|
13
|
+
export declare function isGoogleCandidateSafetyStopReason(reason: string): boolean;
|
|
14
|
+
export declare function isGooglePromptSafetyStopReason(reason: string): boolean;
|
|
15
|
+
export declare function getGooglePromptBlockReason(promptFeedback: {
|
|
16
|
+
blockReason?: unknown;
|
|
17
|
+
} | undefined): string | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* Thinking level for Gemini 3 models. Mirrors Google's `ThinkingLevel` enum values.
|
|
20
|
+
* Defined here (not in any specific provider) so all Google providers can reference it
|
|
21
|
+
* without inducing a circular dependency.
|
|
22
|
+
*/
|
|
23
|
+
export type GoogleThinkingLevel = "THINKING_LEVEL_UNSPECIFIED" | "MINIMAL" | "LOW" | "MEDIUM" | "HIGH";
|
|
24
|
+
/**
|
|
25
|
+
* Sampling/thinking options shared by `streamGoogle` and `streamGoogleVertex`.
|
|
26
|
+
* `google-gemini-cli` uses a different transport and request shape — do not extend this for it.
|
|
27
|
+
*/
|
|
28
|
+
export interface GoogleSharedStreamOptions extends StreamOptions {
|
|
29
|
+
toolChoice?: "auto" | "none" | "any" | "required";
|
|
30
|
+
thinking?: {
|
|
31
|
+
enabled: boolean;
|
|
32
|
+
budgetTokens?: number;
|
|
33
|
+
level?: GoogleThinkingLevel;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Determines whether a streamed Gemini `Part` should be treated as "thinking".
|
|
38
|
+
*
|
|
39
|
+
* Protocol note (Gemini / Vertex AI thought signatures):
|
|
40
|
+
* - `thought: true` is the definitive marker for thinking content (thought summaries).
|
|
41
|
+
* - `thoughtSignature` is an encrypted representation of the model's internal thought process
|
|
42
|
+
* used to preserve reasoning context across multi-turn interactions.
|
|
43
|
+
* - `thoughtSignature` can appear on ANY part type (text, functionCall, etc.) - it does NOT
|
|
44
|
+
* indicate the part itself is thinking content.
|
|
45
|
+
* - For non-functionCall responses, the signature appears on the last part for context replay.
|
|
46
|
+
* - When persisting/replaying model outputs, signature-bearing parts must be preserved as-is;
|
|
47
|
+
* do not merge/move signatures across parts.
|
|
48
|
+
*
|
|
49
|
+
* See: https://ai.google.dev/gemini-api/docs/thought-signatures
|
|
50
|
+
*/
|
|
51
|
+
export declare function isThinkingPart(part: Pick<Part, "thought" | "thoughtSignature">): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Retain thought signatures during streaming.
|
|
54
|
+
*
|
|
55
|
+
* Some backends only send `thoughtSignature` on the first delta for a given part/block; later deltas may omit it.
|
|
56
|
+
* This helper preserves the last non-empty signature for the current block.
|
|
57
|
+
*
|
|
58
|
+
* Note: this does NOT merge or move signatures across distinct response parts. It only prevents
|
|
59
|
+
* a signature from being overwritten with `undefined` within the same streamed block.
|
|
60
|
+
*/
|
|
61
|
+
export declare function retainThoughtSignature(existing: string | undefined, incoming: string | undefined): string | undefined;
|
|
62
|
+
/**
|
|
63
|
+
* Anthropic model models via Google APIs require explicit tool call IDs in function calls/responses.
|
|
64
|
+
*/
|
|
65
|
+
export declare function requiresToolCallId(modelId: string): boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Convert internal messages to Gemini Content[] format.
|
|
68
|
+
*/
|
|
69
|
+
export declare function convertMessages<T extends GoogleApiType>(model: Model<T>, context: Context): Content[];
|
|
70
|
+
/**
|
|
71
|
+
* Convert tools to Gemini function declarations format.
|
|
72
|
+
*
|
|
73
|
+
* We prefer `parametersJsonSchema` (full JSON Schema: anyOf/oneOf/const/etc.).
|
|
74
|
+
*
|
|
75
|
+
* Anthropic model models via Cloud Code Assist require the legacy `parameters` field; the API
|
|
76
|
+
* translates it into Anthropic's `input_schema`. When using that path, we sanitize the
|
|
77
|
+
* schema to remove Google-unsupported JSON Schema keywords.
|
|
78
|
+
*/
|
|
79
|
+
export declare function convertTools(tools: Tool[], model: Model<"google-generative-ai" | "google-gemini-cli" | "google-vertex">): {
|
|
80
|
+
functionDeclarations: Record<string, unknown>[];
|
|
81
|
+
}[] | undefined;
|
|
82
|
+
/**
|
|
83
|
+
* Map tool choice string to Gemini FunctionCallingConfigMode.
|
|
84
|
+
*/
|
|
85
|
+
export declare function mapToolChoice(choice: string): FunctionCallingConfigMode;
|
|
86
|
+
/**
|
|
87
|
+
* Map Gemini FinishReason to our StopReason.
|
|
88
|
+
*/
|
|
89
|
+
export declare function mapStopReason(reason: FinishReason): StopReason;
|
|
90
|
+
/**
|
|
91
|
+
* Map string finish reason to our StopReason (for raw API responses).
|
|
92
|
+
*/
|
|
93
|
+
export declare function mapStopReasonString(reason: string): StopReason;
|
|
94
|
+
export declare function nextToolCallId(name: string): string;
|
|
95
|
+
/**
|
|
96
|
+
* Push the appropriate `text_end` / `thinking_end` event for the given block.
|
|
97
|
+
* Shared between the SDK-backed stream consumer and the gemini-cli SSE consumer so
|
|
98
|
+
* the end-of-block event shape stays in lockstep.
|
|
99
|
+
*/
|
|
100
|
+
export declare function pushBlockEndEvent(block: TextContent | ThinkingContent, contentIndex: number, output: AssistantMessage, stream: AssistantMessageEventStream): void;
|
|
101
|
+
/**
|
|
102
|
+
* Push the three lifecycle events (`toolcall_start` / `toolcall_delta` / `toolcall_end`) for a
|
|
103
|
+
* fully-assembled `ToolCall`. Caller is responsible for appending the toolCall to `output.content`
|
|
104
|
+
* before invoking — this helper does not mutate `output.content`.
|
|
105
|
+
*/
|
|
106
|
+
export declare function pushToolCallEvents(toolCall: ToolCall, contentIndex: number, output: AssistantMessage, stream: AssistantMessageEventStream): void;
|
|
107
|
+
/**
|
|
108
|
+
* Append a new text- or thinking-block to `output.content` and push the matching
|
|
109
|
+
* `text_start` / `thinking_start` event. `onBeforeStartEvent` lets the SSE consumer
|
|
110
|
+
* inject its `ensureStarted()` first-token side effect into the canonical event order.
|
|
111
|
+
*/
|
|
112
|
+
export declare function startTextOrThinkingBlock(isThinking: boolean, output: AssistantMessage, stream: AssistantMessageEventStream, onBeforeStartEvent?: () => void): TextContent | ThinkingContent;
|
|
113
|
+
/**
|
|
114
|
+
* Drives the chunked `generateContentStream` iterator into an `AssistantMessage` and
|
|
115
|
+
* the corresponding `AssistantMessageEventStream`. Shared between `streamGoogle` and
|
|
116
|
+
* `streamGoogleVertex` — every observable event order and stop-reason rule is preserved.
|
|
117
|
+
*
|
|
118
|
+
* The caller still owns: `output` construction, timing fields (`duration`/`ttft`),
|
|
119
|
+
* `rawRequestDump`, the `client.models.generateContentStream(params)` call itself,
|
|
120
|
+
* pushing `start`/`done`/`error` events, and the surrounding try/catch that translates
|
|
121
|
+
* thrown errors into `output.stopReason`/`errorMessage`.
|
|
122
|
+
*
|
|
123
|
+
* This helper handles: the chunk loop, currentBlock flush transitions, usage metadata
|
|
124
|
+
* decoding (`calculateCost` included), tool-call id collision avoidance, finish-reason
|
|
125
|
+
* mapping, and the abort/stop-reason post-checks that re-throw to bubble into the
|
|
126
|
+
* caller's catch.
|
|
127
|
+
*/
|
|
128
|
+
export declare function consumeGoogleStream<T extends GoogleApiType>(args: {
|
|
129
|
+
googleStream: AsyncIterable<GenerateContentResponse>;
|
|
130
|
+
output: AssistantMessage;
|
|
131
|
+
stream: AssistantMessageEventStream;
|
|
132
|
+
model: Model<T>;
|
|
133
|
+
options: {
|
|
134
|
+
signal?: AbortSignal;
|
|
135
|
+
fetch?: unknown;
|
|
136
|
+
} | undefined;
|
|
137
|
+
callerFetch?: unknown;
|
|
138
|
+
adapterInvocation?: ProviderSafetyStopAdapterInvocation;
|
|
139
|
+
/** Vertex preserves `textSignature` on streamed text deltas; google-generative-ai does not. */
|
|
140
|
+
retainTextSignature?: boolean;
|
|
141
|
+
onFirstToken?: () => void;
|
|
142
|
+
}): Promise<void>;
|
|
143
|
+
/**
|
|
144
|
+
* Build the `GenerateContentParameters` payload for the public Gemini API and Vertex AI.
|
|
145
|
+
* Both surfaces accept the same `GenerateContentConfig` shape — every numeric/string knob,
|
|
146
|
+
* tool-config, thinking-config, and system-instruction conversion is identical.
|
|
147
|
+
*
|
|
148
|
+
* `google-gemini-cli` is NOT routed through here: its `CloudCodeAssistRequest` body has a
|
|
149
|
+
* distinct top-level shape (project/request/requestType) and a different thinking-config
|
|
150
|
+
* placement on `generationConfig`.
|
|
151
|
+
*/
|
|
152
|
+
export declare function buildGoogleGenerateContentParams<T extends "google-generative-ai" | "google-vertex">(model: Model<T>, context: Context, options: GoogleSharedStreamOptions): GenerateContentParameters;
|
|
153
|
+
/**
|
|
154
|
+
* Drive the `streamGoogle` / `streamGoogleVertex` event flow: build the assistant message,
|
|
155
|
+
* push start/done/error events, run `consumeGoogleStream`, and translate thrown errors into
|
|
156
|
+
* the canonical `error` event shape.
|
|
157
|
+
*
|
|
158
|
+
* Caller-supplied `prepare()` runs inside the try-block so any failure (missing project,
|
|
159
|
+
* bad auth, etc.) is funneled through the same error path as a streaming failure.
|
|
160
|
+
*/
|
|
161
|
+
export interface GoogleGenAIRequestPlan {
|
|
162
|
+
params: GenerateContentParameters;
|
|
163
|
+
url: string;
|
|
164
|
+
headers: Record<string, string>;
|
|
165
|
+
fetch?: FetchImpl;
|
|
166
|
+
}
|
|
167
|
+
export declare function streamGoogleGenAI<T extends "google-generative-ai" | "google-vertex">(args: {
|
|
168
|
+
model: Model<T>;
|
|
169
|
+
options: GoogleSharedStreamOptions | undefined;
|
|
170
|
+
api: T;
|
|
171
|
+
retainTextSignature?: boolean;
|
|
172
|
+
prepare: () => GoogleGenAIRequestPlan | Promise<GoogleGenAIRequestPlan>;
|
|
173
|
+
}): AssistantMessageEventStream;
|
|
174
|
+
/**
|
|
175
|
+
* Lift the SDK's `params.config` fields out of `config` and place them where the
|
|
176
|
+
* Gemini / Vertex AI REST API expects them on the request body. Mirrors the
|
|
177
|
+
* generateContentParametersTo{Mldev,Vertex} transformation in @google/genai
|
|
178
|
+
* for the subset of fields this codebase actually sets.
|
|
179
|
+
*
|
|
180
|
+
* `abortSignal` is intentionally dropped — the SDK propagates it via `fetch.signal`,
|
|
181
|
+
* which our caller already wires up through `options.signal`.
|
|
182
|
+
*/
|
|
183
|
+
export declare function paramsToWireBody(params: GenerateContentParameters): Record<string, unknown>;
|