jeopi-ai 16.2.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4347 -0
- package/README.md +1193 -0
- package/dist/types/api-registry.d.ts +30 -0
- package/dist/types/auth-broker/client.d.ts +73 -0
- package/dist/types/auth-broker/discover.d.ts +35 -0
- package/dist/types/auth-broker/index.d.ts +7 -0
- package/dist/types/auth-broker/refresher.d.ts +25 -0
- package/dist/types/auth-broker/remote-store.d.ts +102 -0
- package/dist/types/auth-broker/server.d.ts +43 -0
- package/dist/types/auth-broker/snapshot-cache.d.ts +17 -0
- package/dist/types/auth-broker/types.d.ts +107 -0
- package/dist/types/auth-broker/wire-schemas.d.ts +411 -0
- package/dist/types/auth-gateway/http.d.ts +39 -0
- package/dist/types/auth-gateway/index.d.ts +3 -0
- package/dist/types/auth-gateway/server.d.ts +36 -0
- package/dist/types/auth-gateway/types.d.ts +123 -0
- package/dist/types/auth-retry.d.ts +124 -0
- package/dist/types/auth-storage.d.ts +1026 -0
- package/dist/types/dialect/anthropic.d.ts +15 -0
- package/dist/types/dialect/catalog.d.ts +3 -0
- package/dist/types/dialect/coercion.d.ts +23 -0
- package/dist/types/dialect/deepseek.d.ts +14 -0
- package/dist/types/dialect/demotion.d.ts +23 -0
- package/dist/types/dialect/examples.d.ts +2 -0
- package/dist/types/dialect/factory.d.ts +3 -0
- package/dist/types/dialect/fenced-thinking.d.ts +53 -0
- package/dist/types/dialect/gemini.d.ts +17 -0
- package/dist/types/dialect/gemma.d.ts +15 -0
- package/dist/types/dialect/glm.d.ts +9 -0
- package/dist/types/dialect/harmony.d.ts +8 -0
- package/dist/types/dialect/hermes.d.ts +9 -0
- package/dist/types/dialect/history.d.ts +3 -0
- package/dist/types/dialect/index.d.ts +11 -0
- package/dist/types/dialect/inventory.d.ts +12 -0
- package/dist/types/dialect/kimi.d.ts +14 -0
- package/dist/types/dialect/minimax.d.ts +3 -0
- package/dist/types/dialect/owned-stream.d.ts +4 -0
- package/dist/types/dialect/qwen3.d.ts +9 -0
- package/dist/types/dialect/rendering.d.ts +45 -0
- package/dist/types/dialect/thinking.d.ts +6 -0
- package/dist/types/dialect/types.d.ts +69 -0
- package/dist/types/dialect/xml.d.ts +9 -0
- package/dist/types/error/abort.d.ts +14 -0
- package/dist/types/error/auth-classify.d.ts +16 -0
- package/dist/types/error/auth.d.ts +27 -0
- package/dist/types/error/aws.d.ts +23 -0
- package/dist/types/error/classes.d.ts +102 -0
- package/dist/types/error/finalize.d.ts +39 -0
- package/dist/types/error/flags.d.ts +79 -0
- package/dist/types/error/format.d.ts +20 -0
- package/dist/types/error/gateway.d.ts +20 -0
- package/dist/types/error/index.d.ts +13 -0
- package/dist/types/error/oauth.d.ts +43 -0
- package/dist/types/error/provider.d.ts +42 -0
- package/dist/types/error/rate-limit.d.ts +59 -0
- package/dist/types/error/retryable.d.ts +27 -0
- package/dist/types/error/validation.d.ts +32 -0
- package/dist/types/index.d.ts +49 -0
- package/dist/types/provider-details.d.ts +24 -0
- package/dist/types/providers/__tests__/google-auth.test.d.ts +1 -0
- package/dist/types/providers/__tests__/kimi-code-thinking.test.d.ts +1 -0
- package/dist/types/providers/__tests__/openai-codex-error.test.d.ts +1 -0
- package/dist/types/providers/amazon-bedrock.d.ts +39 -0
- package/dist/types/providers/anthropic-client.d.ts +94 -0
- package/dist/types/providers/anthropic-messages-server-schema.d.ts +497 -0
- package/dist/types/providers/anthropic-messages-server.d.ts +17 -0
- package/dist/types/providers/anthropic-wire.d.ts +318 -0
- package/dist/types/providers/anthropic.d.ts +248 -0
- package/dist/types/providers/aws-credentials.d.ts +53 -0
- package/dist/types/providers/aws-eventstream.d.ts +39 -0
- package/dist/types/providers/aws-sigv4.d.ts +55 -0
- package/dist/types/providers/azure-openai-responses.d.ts +16 -0
- package/dist/types/providers/cursor.d.ts +91 -0
- package/dist/types/providers/devin.d.ts +12 -0
- package/dist/types/providers/error-message.d.ts +27 -0
- package/dist/types/providers/github-copilot-headers.d.ts +40 -0
- package/dist/types/providers/gitlab-duo-workflow.d.ts +254 -0
- package/dist/types/providers/gitlab-duo.d.ts +27 -0
- package/dist/types/providers/google-auth.d.ts +32 -0
- package/dist/types/providers/google-gemini-cli.d.ts +118 -0
- package/dist/types/providers/google-interactions.d.ts +65 -0
- package/dist/types/providers/google-shared.d.ts +203 -0
- package/dist/types/providers/google-types.d.ts +155 -0
- package/dist/types/providers/google-vertex.d.ts +7 -0
- package/dist/types/providers/google.d.ts +4 -0
- package/dist/types/providers/grammar.d.ts +1 -0
- package/dist/types/providers/kimi.d.ts +27 -0
- package/dist/types/providers/mock.d.ts +178 -0
- package/dist/types/providers/ollama.d.ts +7 -0
- package/dist/types/providers/openai-anthropic-shim.d.ts +31 -0
- package/dist/types/providers/openai-chat-server-schema.d.ts +695 -0
- package/dist/types/providers/openai-chat-server.d.ts +16 -0
- package/dist/types/providers/openai-chat-wire.d.ts +644 -0
- package/dist/types/providers/openai-codex/request-transformer.d.ts +54 -0
- package/dist/types/providers/openai-codex/response-handler.d.ts +26 -0
- package/dist/types/providers/openai-codex-responses.d.ts +108 -0
- package/dist/types/providers/openai-completions.d.ts +45 -0
- package/dist/types/providers/openai-reasoning-fallback.d.ts +25 -0
- package/dist/types/providers/openai-responses-server-schema.d.ts +349 -0
- package/dist/types/providers/openai-responses-server.d.ts +17 -0
- package/dist/types/providers/openai-responses-wire.d.ts +6065 -0
- package/dist/types/providers/openai-responses.d.ts +126 -0
- package/dist/types/providers/openai-shared.d.ts +506 -0
- package/dist/types/providers/pi-native-client.d.ts +13 -0
- package/dist/types/providers/pi-native-server.d.ts +69 -0
- package/dist/types/providers/register-builtins.d.ts +32 -0
- package/dist/types/providers/synthetic.d.ts +26 -0
- package/dist/types/providers/transform-messages.d.ts +11 -0
- package/dist/types/providers/vision-guard.d.ts +20 -0
- package/dist/types/registry/aimlapi.d.ts +4 -0
- package/dist/types/registry/alibaba-coding-plan.d.ts +8 -0
- package/dist/types/registry/amazon-bedrock.d.ts +5 -0
- package/dist/types/registry/anthropic.d.ts +10 -0
- package/dist/types/registry/api-key-login.d.ts +42 -0
- package/dist/types/registry/api-key-validation.d.ts +43 -0
- package/dist/types/registry/azure.d.ts +4 -0
- package/dist/types/registry/cerebras.d.ts +7 -0
- package/dist/types/registry/cloudflare-ai-gateway.d.ts +13 -0
- package/dist/types/registry/coreweave.d.ts +7 -0
- package/dist/types/registry/cursor.d.ts +7 -0
- package/dist/types/registry/deepseek.d.ts +8 -0
- package/dist/types/registry/derived.d.ts +5 -0
- package/dist/types/registry/devin.d.ts +8 -0
- package/dist/types/registry/firepass.d.ts +16 -0
- package/dist/types/registry/fireworks.d.ts +7 -0
- package/dist/types/registry/github-copilot.d.ts +7 -0
- package/dist/types/registry/gitlab-duo-workflow.d.ts +10 -0
- package/dist/types/registry/gitlab-duo.d.ts +9 -0
- package/dist/types/registry/google-antigravity.d.ts +9 -0
- package/dist/types/registry/google-gemini-cli.d.ts +9 -0
- package/dist/types/registry/google-vertex.d.ts +5 -0
- package/dist/types/registry/google.d.ts +4 -0
- package/dist/types/registry/groq.d.ts +4 -0
- package/dist/types/registry/huggingface.d.ts +7 -0
- package/dist/types/registry/index.d.ts +4 -0
- package/dist/types/registry/kagi.d.ts +14 -0
- package/dist/types/registry/kilo.d.ts +7 -0
- package/dist/types/registry/kimi-code.d.ts +7 -0
- package/dist/types/registry/litellm.d.ts +13 -0
- package/dist/types/registry/llama-cpp.d.ts +8 -0
- package/dist/types/registry/lm-studio.d.ts +8 -0
- package/dist/types/registry/minimax-code-cn.d.ts +6 -0
- package/dist/types/registry/minimax-code.d.ts +6 -0
- package/dist/types/registry/minimax.d.ts +4 -0
- package/dist/types/registry/mistral.d.ts +4 -0
- package/dist/types/registry/moonshot.d.ts +7 -0
- package/dist/types/registry/nanogpt.d.ts +7 -0
- package/dist/types/registry/nvidia.d.ts +7 -0
- package/dist/types/registry/oauth/__tests__/xai-oauth.test.d.ts +1 -0
- package/dist/types/registry/oauth/anthropic.d.ts +23 -0
- package/dist/types/registry/oauth/callback-server.d.ts +72 -0
- package/dist/types/registry/oauth/cursor.d.ts +15 -0
- package/dist/types/registry/oauth/devin.d.ts +5 -0
- package/dist/types/registry/oauth/github-copilot.d.ts +30 -0
- package/dist/types/registry/oauth/gitlab-duo-workflow.d.ts +6 -0
- package/dist/types/registry/oauth/gitlab-duo.d.ts +3 -0
- package/dist/types/registry/oauth/google-antigravity.d.ts +11 -0
- package/dist/types/registry/oauth/google-gemini-cli.d.ts +10 -0
- package/dist/types/registry/oauth/google-oauth-shared.d.ts +22 -0
- package/dist/types/registry/oauth/index.d.ts +64 -0
- package/dist/types/registry/oauth/kimi.d.ts +21 -0
- package/dist/types/registry/oauth/minimax-code.d.ts +27 -0
- package/dist/types/registry/oauth/openai-codex.d.ts +33 -0
- package/dist/types/registry/oauth/opencode.d.ts +18 -0
- package/dist/types/registry/oauth/perplexity.d.ts +9 -0
- package/dist/types/registry/oauth/pkce.d.ts +8 -0
- package/dist/types/registry/oauth/types.d.ts +56 -0
- package/dist/types/registry/oauth/wafer.d.ts +1 -0
- package/dist/types/registry/oauth/xai-oauth.d.ts +52 -0
- package/dist/types/registry/oauth/xiaomi.d.ts +25 -0
- package/dist/types/registry/ollama-cloud.d.ts +7 -0
- package/dist/types/registry/ollama.d.ts +12 -0
- package/dist/types/registry/openai-codex-device.d.ts +8 -0
- package/dist/types/registry/openai-codex.d.ts +9 -0
- package/dist/types/registry/openai.d.ts +4 -0
- package/dist/types/registry/opencode-go.d.ts +6 -0
- package/dist/types/registry/opencode-zen.d.ts +6 -0
- package/dist/types/registry/openrouter.d.ts +13 -0
- package/dist/types/registry/parallel.d.ts +14 -0
- package/dist/types/registry/perplexity.d.ts +7 -0
- package/dist/types/registry/qianfan.d.ts +7 -0
- package/dist/types/registry/qwen-portal.d.ts +7 -0
- package/dist/types/registry/registry.d.ts +303 -0
- package/dist/types/registry/sakana.d.ts +7 -0
- package/dist/types/registry/synthetic.d.ts +6 -0
- package/dist/types/registry/tavily.d.ts +14 -0
- package/dist/types/registry/together.d.ts +6 -0
- package/dist/types/registry/types.d.ts +51 -0
- package/dist/types/registry/umans.d.ts +7 -0
- package/dist/types/registry/venice.d.ts +13 -0
- package/dist/types/registry/vercel-ai-gateway.d.ts +7 -0
- package/dist/types/registry/vllm.d.ts +7 -0
- package/dist/types/registry/wafer-serverless.d.ts +6 -0
- package/dist/types/registry/xai-oauth.d.ts +7 -0
- package/dist/types/registry/xai.d.ts +4 -0
- package/dist/types/registry/xiaomi-token-plan-ams.d.ts +6 -0
- package/dist/types/registry/xiaomi-token-plan-cn.d.ts +6 -0
- package/dist/types/registry/xiaomi-token-plan-sgp.d.ts +6 -0
- package/dist/types/registry/xiaomi.d.ts +6 -0
- package/dist/types/registry/zai.d.ts +7 -0
- package/dist/types/registry/zenmux.d.ts +7 -0
- package/dist/types/registry/zhipu-coding-plan.d.ts +7 -0
- package/dist/types/stream.d.ts +44 -0
- package/dist/types/types.d.ts +715 -0
- package/dist/types/usage/claude.d.ts +4 -0
- package/dist/types/usage/gemini.d.ts +2 -0
- package/dist/types/usage/github-copilot.d.ts +7 -0
- package/dist/types/usage/google-antigravity.d.ts +15 -0
- package/dist/types/usage/kimi.d.ts +2 -0
- package/dist/types/usage/minimax-code.d.ts +2 -0
- package/dist/types/usage/ollama.d.ts +5 -0
- package/dist/types/usage/openai-codex-base-url.d.ts +18 -0
- package/dist/types/usage/openai-codex-reset.d.ts +79 -0
- package/dist/types/usage/openai-codex.d.ts +3 -0
- package/dist/types/usage/opencode-go.d.ts +2 -0
- package/dist/types/usage/shared.d.ts +1 -0
- package/dist/types/usage/zai.d.ts +2 -0
- package/dist/types/usage.d.ts +346 -0
- package/dist/types/utils/abort.d.ts +25 -0
- package/dist/types/utils/anthropic-auth.d.ts +35 -0
- package/dist/types/utils/block-symbols.d.ts +20 -0
- package/dist/types/utils/deterministic-id.d.ts +16 -0
- package/dist/types/utils/empty-completion-retry.d.ts +21 -0
- package/dist/types/utils/event-stream.d.ts +30 -0
- package/dist/types/utils/foundry.d.ts +1 -0
- package/dist/types/utils/google-validation.d.ts +2 -0
- package/dist/types/utils/harmony-leak.d.ts +118 -0
- package/dist/types/utils/http-inspector.d.ts +30 -0
- package/dist/types/utils/idle-iterator.d.ts +137 -0
- package/dist/types/utils/leaked-thinking-stream.d.ts +29 -0
- package/dist/types/utils/openai-http.d.ts +54 -0
- package/dist/types/utils/openrouter-headers.d.ts +1 -0
- package/dist/types/utils/parse-bind.d.ts +23 -0
- package/dist/types/utils/provider-response.d.ts +3 -0
- package/dist/types/utils/proxy.d.ts +29 -0
- package/dist/types/utils/request-debug.d.ts +29 -0
- package/dist/types/utils/retry-after.d.ts +4 -0
- package/dist/types/utils/retry.d.ts +14 -0
- package/dist/types/utils/schema/adapt.d.ts +24 -0
- package/dist/types/utils/schema/compatibility.d.ts +30 -0
- package/dist/types/utils/schema/dereference.d.ts +11 -0
- package/dist/types/utils/schema/draft.d.ts +10 -0
- package/dist/types/utils/schema/equality.d.ts +4 -0
- package/dist/types/utils/schema/fields.d.ts +54 -0
- package/dist/types/utils/schema/index.d.ts +15 -0
- package/dist/types/utils/schema/json-schema-validator.d.ts +20 -0
- package/dist/types/utils/schema/meta-validator.d.ts +2 -0
- package/dist/types/utils/schema/normalize.d.ts +124 -0
- package/dist/types/utils/schema/spill.d.ts +8 -0
- package/dist/types/utils/schema/stamps.d.ts +17 -0
- package/dist/types/utils/schema/strict-tool-validation.d.ts +16 -0
- package/dist/types/utils/schema/types.d.ts +4 -0
- package/dist/types/utils/schema/typescript.d.ts +18 -0
- package/dist/types/utils/schema/wire.d.ts +92 -0
- package/dist/types/utils/schema/zod-decontaminate.d.ts +31 -0
- package/dist/types/utils/sdk-stream-timeout.d.ts +33 -0
- package/dist/types/utils/sse-debug.d.ts +5 -0
- package/dist/types/utils/stream-markup-healing.d.ts +87 -0
- package/dist/types/utils/thinking-loop.d.ts +102 -0
- package/dist/types/utils/tool-call-loop-guard.d.ts +26 -0
- package/dist/types/utils/tool-choice.d.ts +50 -0
- package/dist/types/utils/validation.d.ts +42 -0
- package/dist/types/utils.d.ts +24 -0
- package/package.json +139 -0
- package/src/api-registry.ts +109 -0
- package/src/auth-broker/client.ts +359 -0
- package/src/auth-broker/discover.ts +222 -0
- package/src/auth-broker/index.ts +7 -0
- package/src/auth-broker/refresher.ts +117 -0
- package/src/auth-broker/remote-store.ts +657 -0
- package/src/auth-broker/server.ts +646 -0
- package/src/auth-broker/snapshot-cache.ts +191 -0
- package/src/auth-broker/types.ts +130 -0
- package/src/auth-broker/wire-schemas.ts +249 -0
- package/src/auth-gateway/http.ts +194 -0
- package/src/auth-gateway/index.ts +3 -0
- package/src/auth-gateway/server.ts +802 -0
- package/src/auth-gateway/types.ts +151 -0
- package/src/auth-retry.ts +250 -0
- package/src/auth-storage.ts +5576 -0
- package/src/dialect/anthropic.md +31 -0
- package/src/dialect/anthropic.ts +608 -0
- package/src/dialect/catalog.ts +29 -0
- package/src/dialect/coercion.ts +136 -0
- package/src/dialect/deepseek.md +24 -0
- package/src/dialect/deepseek.ts +609 -0
- package/src/dialect/demotion.ts +36 -0
- package/src/dialect/examples.ts +33 -0
- package/src/dialect/factory.ts +34 -0
- package/src/dialect/fenced-thinking.ts +184 -0
- package/src/dialect/gemini.md +44 -0
- package/src/dialect/gemini.ts +597 -0
- package/src/dialect/gemma.md +33 -0
- package/src/dialect/gemma.ts +387 -0
- package/src/dialect/glm.md +32 -0
- package/src/dialect/glm.ts +456 -0
- package/src/dialect/harmony.md +31 -0
- package/src/dialect/harmony.ts +346 -0
- package/src/dialect/hermes.md +25 -0
- package/src/dialect/hermes.ts +206 -0
- package/src/dialect/history.ts +81 -0
- package/src/dialect/index.ts +15 -0
- package/src/dialect/inventory.ts +73 -0
- package/src/dialect/kimi.md +24 -0
- package/src/dialect/kimi.ts +340 -0
- package/src/dialect/minimax.md +31 -0
- package/src/dialect/minimax.ts +95 -0
- package/src/dialect/owned-stream.ts +470 -0
- package/src/dialect/prompt-template.md +12 -0
- package/src/dialect/qwen3.md +28 -0
- package/src/dialect/qwen3.ts +240 -0
- package/src/dialect/rendering.ts +249 -0
- package/src/dialect/thinking.ts +122 -0
- package/src/dialect/types.ts +57 -0
- package/src/dialect/xml.md +22 -0
- package/src/dialect/xml.ts +90 -0
- package/src/error/abort.ts +18 -0
- package/src/error/auth-classify.ts +30 -0
- package/src/error/auth.ts +48 -0
- package/src/error/aws.ts +31 -0
- package/src/error/classes.ts +186 -0
- package/src/error/finalize.ts +69 -0
- package/src/error/flags.ts +506 -0
- package/src/error/format.ts +45 -0
- package/src/error/gateway.ts +96 -0
- package/src/error/index.ts +13 -0
- package/src/error/oauth.ts +58 -0
- package/src/error/provider.ts +62 -0
- package/src/error/rate-limit.ts +161 -0
- package/src/error/retryable.ts +70 -0
- package/src/error/validation.ts +44 -0
- package/src/index.ts +49 -0
- package/src/provider-details.ts +90 -0
- package/src/providers/__tests__/google-auth.test.ts +144 -0
- package/src/providers/__tests__/kimi-code-thinking.test.ts +112 -0
- package/src/providers/__tests__/openai-codex-error.test.ts +84 -0
- package/src/providers/amazon-bedrock.ts +1042 -0
- package/src/providers/anthropic-client.ts +295 -0
- package/src/providers/anthropic-messages-server-schema.ts +252 -0
- package/src/providers/anthropic-messages-server.ts +756 -0
- package/src/providers/anthropic-wire.ts +318 -0
- package/src/providers/anthropic.ts +4078 -0
- package/src/providers/aws-credentials.ts +586 -0
- package/src/providers/aws-eventstream.ts +181 -0
- package/src/providers/aws-sigv4.ts +218 -0
- package/src/providers/azure-openai-responses.ts +382 -0
- package/src/providers/cursor/proto/agent.proto +3526 -0
- package/src/providers/cursor/proto/buf.gen.yaml +6 -0
- package/src/providers/cursor/proto/buf.yaml +17 -0
- package/src/providers/cursor.ts +2695 -0
- package/src/providers/devin/proto/buf/validate/validate.proto +468 -0
- package/src/providers/devin/proto/buf.gen.yaml +33 -0
- package/src/providers/devin/proto/buf.yaml +17 -0
- package/src/providers/devin/proto/cel/expr/checked.proto +103 -0
- package/src/providers/devin/proto/cel/expr/eval.proto +38 -0
- package/src/providers/devin/proto/cel/expr/explain.proto +15 -0
- package/src/providers/devin/proto/cel/expr/syntax.proto +113 -0
- package/src/providers/devin/proto/cel/expr/value.proto +41 -0
- package/src/providers/devin/proto/connectext/grpc/status/v1/status.proto +11 -0
- package/src/providers/devin/proto/errorspb/errors.proto +56 -0
- package/src/providers/devin/proto/errorspb/hintdetail.proto +7 -0
- package/src/providers/devin/proto/errorspb/markers.proto +10 -0
- package/src/providers/devin/proto/errorspb/tags.proto +12 -0
- package/src/providers/devin/proto/errorspb/testing.proto +6 -0
- package/src/providers/devin/proto/exa/analytics_pb/analytics.proto +188 -0
- package/src/providers/devin/proto/exa/api_server_pb/api_server.proto +2461 -0
- package/src/providers/devin/proto/exa/auth_pb/auth.proto +19 -0
- package/src/providers/devin/proto/exa/auto_cascade_common_pb/auto_cascade_common.proto +79 -0
- package/src/providers/devin/proto/exa/browser_preview_pb/browser_preview.proto +32 -0
- package/src/providers/devin/proto/exa/bug_checker_pb/bug_checker.proto +22 -0
- package/src/providers/devin/proto/exa/cascade_plugins_pb/cascade_plugins.proto +262 -0
- package/src/providers/devin/proto/exa/chat_client_server_pb/chat_client_server.proto +57 -0
- package/src/providers/devin/proto/exa/chat_pb/chat.proto +449 -0
- package/src/providers/devin/proto/exa/code_edit/code_edit_pb/code_edit.proto +186 -0
- package/src/providers/devin/proto/exa/codeium_common_pb/codeium_common.proto +4157 -0
- package/src/providers/devin/proto/exa/context_module_pb/context_module.proto +175 -0
- package/src/providers/devin/proto/exa/cortex_pb/cortex.proto +3268 -0
- package/src/providers/devin/proto/exa/dev_pb/dev.proto +26 -0
- package/src/providers/devin/proto/exa/diff_action_pb/diff_action.proto +75 -0
- package/src/providers/devin/proto/exa/eval/pr_eval/datasets_pb/datasets.proto +103 -0
- package/src/providers/devin/proto/exa/eval_pb/eval.proto +1315 -0
- package/src/providers/devin/proto/exa/extension_server_pb/extension_server.proto +556 -0
- package/src/providers/devin/proto/exa/file_system_provider_pb/file_system_provider.proto +75 -0
- package/src/providers/devin/proto/exa/index_pb/index.proto +461 -0
- package/src/providers/devin/proto/exa/knowledge_base_pb/knowledge_base.proto +144 -0
- package/src/providers/devin/proto/exa/language_server_pb/language_server.proto +2385 -0
- package/src/providers/devin/proto/exa/model_management_pb/model_management.proto +186 -0
- package/src/providers/devin/proto/exa/opensearch_clients_pb/opensearch_clients.proto +503 -0
- package/src/providers/devin/proto/exa/product_analytics_pb/product_analytics.proto +37 -0
- package/src/providers/devin/proto/exa/prompt_pb/prompt.proto +92 -0
- package/src/providers/devin/proto/exa/reactive_component_pb/reactive_component.proto +96 -0
- package/src/providers/devin/proto/exa/seat_management_pb/seat_management.proto +2680 -0
- package/src/providers/devin/proto/exa/tokenizer_pb/tokenizer.proto +37 -0
- package/src/providers/devin/proto/exa/trainer_pb/config.proto +647 -0
- package/src/providers/devin/proto/exa/tree_sitter/language_data_pb/language_data.proto +14 -0
- package/src/providers/devin/proto/exa/trust_pb/trust.proto +157 -0
- package/src/providers/devin/proto/exa/user_analytics_pb/user_analytics.proto +519 -0
- package/src/providers/devin/proto/google.golang.org/appengine/internal/base/api_base.proto +28 -0
- package/src/providers/devin/proto/google.golang.org/appengine/internal/datastore/datastore_v3.proto +484 -0
- package/src/providers/devin/proto/google.golang.org/appengine/internal/log/log_service.proto +136 -0
- package/src/providers/devin/proto/google.golang.org/appengine/internal/remote_api/remote_api.proto +42 -0
- package/src/providers/devin/proto/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto +61 -0
- package/src/providers/devin/proto/grpc/binlog/v1/binarylog.proto +84 -0
- package/src/providers/devin/proto/io/prometheus/client/metrics.proto +98 -0
- package/src/providers/devin.ts +577 -0
- package/src/providers/error-message.ts +21 -0
- package/src/providers/github-copilot-headers.ts +141 -0
- package/src/providers/gitlab-duo-workflow-chatml-note.md +1 -0
- package/src/providers/gitlab-duo-workflow.ts +3058 -0
- package/src/providers/gitlab-duo.ts +395 -0
- package/src/providers/google-auth.ts +350 -0
- package/src/providers/google-gemini-cli.ts +1362 -0
- package/src/providers/google-interactions.ts +753 -0
- package/src/providers/google-shared.ts +1103 -0
- package/src/providers/google-types.ts +180 -0
- package/src/providers/google-vertex.ts +183 -0
- package/src/providers/google.ts +87 -0
- package/src/providers/grammar.ts +70 -0
- package/src/providers/kimi.ts +52 -0
- package/src/providers/mock.ts +507 -0
- package/src/providers/ollama.ts +773 -0
- package/src/providers/openai-anthropic-shim.ts +152 -0
- package/src/providers/openai-chat-server-schema.ts +242 -0
- package/src/providers/openai-chat-server.ts +715 -0
- package/src/providers/openai-chat-wire.ts +847 -0
- package/src/providers/openai-codex/request-transformer.ts +295 -0
- package/src/providers/openai-codex/response-handler.ts +102 -0
- package/src/providers/openai-codex-responses.ts +3468 -0
- package/src/providers/openai-completions.ts +2173 -0
- package/src/providers/openai-reasoning-fallback.ts +269 -0
- package/src/providers/openai-responses-reasoning-suppression.md +1 -0
- package/src/providers/openai-responses-server-schema.ts +282 -0
- package/src/providers/openai-responses-server.ts +1280 -0
- package/src/providers/openai-responses-wire.ts +6391 -0
- package/src/providers/openai-responses.ts +1022 -0
- package/src/providers/openai-shared.ts +2648 -0
- package/src/providers/pi-native-client.ts +266 -0
- package/src/providers/pi-native-server.ts +242 -0
- package/src/providers/register-builtins.ts +475 -0
- package/src/providers/synthetic.ts +50 -0
- package/src/providers/transform-messages.ts +787 -0
- package/src/providers/vision-guard.ts +54 -0
- package/src/registry/aimlapi.ts +6 -0
- package/src/registry/alibaba-coding-plan.ts +95 -0
- package/src/registry/amazon-bedrock.ts +22 -0
- package/src/registry/anthropic.ts +26 -0
- package/src/registry/api-key-login.ts +112 -0
- package/src/registry/api-key-validation.ts +161 -0
- package/src/registry/azure.ts +6 -0
- package/src/registry/cerebras.ts +23 -0
- package/src/registry/cloudflare-ai-gateway.ts +45 -0
- package/src/registry/coreweave.ts +40 -0
- package/src/registry/cursor.ts +20 -0
- package/src/registry/deepseek.ts +46 -0
- package/src/registry/derived.ts +9 -0
- package/src/registry/devin.ts +15 -0
- package/src/registry/firepass.ts +32 -0
- package/src/registry/fireworks.ts +28 -0
- package/src/registry/github-copilot.ts +22 -0
- package/src/registry/gitlab-duo-workflow.ts +20 -0
- package/src/registry/gitlab-duo.ts +19 -0
- package/src/registry/google-antigravity.ts +22 -0
- package/src/registry/google-gemini-cli.ts +22 -0
- package/src/registry/google-vertex.ts +38 -0
- package/src/registry/google.ts +6 -0
- package/src/registry/groq.ts +6 -0
- package/src/registry/huggingface.ts +29 -0
- package/src/registry/index.ts +4 -0
- package/src/registry/kagi.ts +46 -0
- package/src/registry/kilo.ts +114 -0
- package/src/registry/kimi-code.ts +17 -0
- package/src/registry/litellm.ts +45 -0
- package/src/registry/llama-cpp.ts +35 -0
- package/src/registry/lm-studio.ts +31 -0
- package/src/registry/minimax-code-cn.ts +12 -0
- package/src/registry/minimax-code.ts +12 -0
- package/src/registry/minimax.ts +6 -0
- package/src/registry/mistral.ts +6 -0
- package/src/registry/moonshot.ts +22 -0
- package/src/registry/nanogpt.ts +22 -0
- package/src/registry/nvidia.ts +61 -0
- package/src/registry/oauth/__tests__/xai-oauth.test.ts +104 -0
- package/src/registry/oauth/anthropic.ts +311 -0
- package/src/registry/oauth/callback-server.ts +315 -0
- package/src/registry/oauth/cursor.ts +171 -0
- package/src/registry/oauth/devin.ts +124 -0
- package/src/registry/oauth/github-copilot.ts +369 -0
- package/src/registry/oauth/gitlab-duo-workflow.ts +146 -0
- package/src/registry/oauth/gitlab-duo.ts +222 -0
- package/src/registry/oauth/google-antigravity.ts +209 -0
- package/src/registry/oauth/google-gemini-cli.ts +273 -0
- package/src/registry/oauth/google-oauth-shared.ts +125 -0
- package/src/registry/oauth/index.ts +269 -0
- package/src/registry/oauth/kimi.ts +289 -0
- package/src/registry/oauth/minimax-code.ts +53 -0
- package/src/registry/oauth/oauth.html +311 -0
- package/src/registry/oauth/openai-codex.ts +364 -0
- package/src/registry/oauth/opencode.ts +50 -0
- package/src/registry/oauth/perplexity.ts +228 -0
- package/src/registry/oauth/pkce.ts +18 -0
- package/src/registry/oauth/types.ts +65 -0
- package/src/registry/oauth/wafer.ts +24 -0
- package/src/registry/oauth/xai-oauth.ts +394 -0
- package/src/registry/oauth/xiaomi.ts +211 -0
- package/src/registry/ollama-cloud.ts +36 -0
- package/src/registry/ollama.ts +43 -0
- package/src/registry/openai-codex-device.ts +18 -0
- package/src/registry/openai-codex.ts +19 -0
- package/src/registry/openai.ts +6 -0
- package/src/registry/opencode-go.ts +12 -0
- package/src/registry/opencode-zen.ts +12 -0
- package/src/registry/openrouter.ts +28 -0
- package/src/registry/parallel.ts +45 -0
- package/src/registry/perplexity.ts +13 -0
- package/src/registry/qianfan.ts +27 -0
- package/src/registry/qwen-portal.ts +50 -0
- package/src/registry/registry.ts +161 -0
- package/src/registry/sakana.ts +22 -0
- package/src/registry/synthetic.ts +21 -0
- package/src/registry/tavily.ts +45 -0
- package/src/registry/together.ts +22 -0
- package/src/registry/types.ts +56 -0
- package/src/registry/umans.ts +23 -0
- package/src/registry/venice.ts +33 -0
- package/src/registry/vercel-ai-gateway.ts +38 -0
- package/src/registry/vllm.ts +34 -0
- package/src/registry/wafer-serverless.ts +12 -0
- package/src/registry/xai-oauth.ts +17 -0
- package/src/registry/xai.ts +6 -0
- package/src/registry/xiaomi-token-plan-ams.ts +12 -0
- package/src/registry/xiaomi-token-plan-cn.ts +12 -0
- package/src/registry/xiaomi-token-plan-sgp.ts +12 -0
- package/src/registry/xiaomi.ts +12 -0
- package/src/registry/zai.ts +27 -0
- package/src/registry/zenmux.ts +22 -0
- package/src/registry/zhipu-coding-plan.ts +27 -0
- package/src/stream.ts +1778 -0
- package/src/types.ts +856 -0
- package/src/usage/claude.ts +485 -0
- package/src/usage/gemini.ts +258 -0
- package/src/usage/github-copilot.ts +424 -0
- package/src/usage/google-antigravity.ts +497 -0
- package/src/usage/kimi.ts +271 -0
- package/src/usage/minimax-code.ts +30 -0
- package/src/usage/ollama.ts +41 -0
- package/src/usage/openai-codex-base-url.ts +35 -0
- package/src/usage/openai-codex-reset.ts +174 -0
- package/src/usage/openai-codex.ts +535 -0
- package/src/usage/opencode-go.ts +89 -0
- package/src/usage/shared.ts +10 -0
- package/src/usage/zai.ts +321 -0
- package/src/usage.ts +333 -0
- package/src/utils/abort.ts +67 -0
- package/src/utils/anthropic-auth.ts +93 -0
- package/src/utils/block-symbols.ts +32 -0
- package/src/utils/deterministic-id.ts +20 -0
- package/src/utils/empty-completion-retry.ts +159 -0
- package/src/utils/event-stream.ts +171 -0
- package/src/utils/foundry.ts +8 -0
- package/src/utils/google-validation.ts +25 -0
- package/src/utils/harmony-leak.ts +456 -0
- package/src/utils/http-inspector.ts +168 -0
- package/src/utils/idle-iterator.ts +473 -0
- package/src/utils/leaked-thinking-stream.ts +294 -0
- package/src/utils/openai-http.ts +122 -0
- package/src/utils/openrouter-headers.ts +12 -0
- package/src/utils/parse-bind.ts +56 -0
- package/src/utils/provider-response.ts +30 -0
- package/src/utils/proxy.ts +240 -0
- package/src/utils/request-debug.ts +351 -0
- package/src/utils/retry-after.ts +110 -0
- package/src/utils/retry.ts +59 -0
- package/src/utils/schema/CONSTRAINTS.md +166 -0
- package/src/utils/schema/adapt.ts +36 -0
- package/src/utils/schema/compatibility.ts +435 -0
- package/src/utils/schema/dereference.ts +98 -0
- package/src/utils/schema/draft.ts +341 -0
- package/src/utils/schema/equality.ts +97 -0
- package/src/utils/schema/fields.ts +207 -0
- package/src/utils/schema/index.ts +15 -0
- package/src/utils/schema/json-schema-validator.ts +595 -0
- package/src/utils/schema/meta-validator.ts +167 -0
- package/src/utils/schema/normalize.ts +1901 -0
- package/src/utils/schema/spill.ts +43 -0
- package/src/utils/schema/stamps.ts +109 -0
- package/src/utils/schema/strict-tool-validation.ts +117 -0
- package/src/utils/schema/types.ts +10 -0
- package/src/utils/schema/typescript.ts +198 -0
- package/src/utils/schema/wire.ts +789 -0
- package/src/utils/schema/zod-decontaminate.ts +331 -0
- package/src/utils/sdk-stream-timeout.ts +43 -0
- package/src/utils/sse-debug.ts +18 -0
- package/src/utils/stream-markup-healing.ts +247 -0
- package/src/utils/thinking-loop.ts +552 -0
- package/src/utils/tool-call-loop-guard.ts +107 -0
- package/src/utils/tool-choice.ts +99 -0
- package/src/utils/validation.ts +1507 -0
- package/src/utils.ts +171 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { Api, Model } from "../../types";
|
|
2
|
+
/** Reasoning replay scope for the Codex Responses API (`reasoning.context`). */
|
|
3
|
+
export type CodexReasoningContext = "auto" | "current_turn" | "all_turns";
|
|
4
|
+
export interface ReasoningConfig {
|
|
5
|
+
effort: "none" | "minimal" | "low" | "medium" | "high" | "xhigh";
|
|
6
|
+
summary?: "auto" | "concise" | "detailed";
|
|
7
|
+
context?: CodexReasoningContext;
|
|
8
|
+
}
|
|
9
|
+
export interface CodexRequestOptions {
|
|
10
|
+
reasoningEffort?: ReasoningConfig["effort"];
|
|
11
|
+
reasoningSummary?: ReasoningConfig["summary"] | null;
|
|
12
|
+
/** Explicit `reasoning.context` override; defaults to `all_turns` when unset. The `all_turns` value is gated to gpt-5.4+ Codex models — older ids reject it, so it is suppressed and `context` omitted. */
|
|
13
|
+
reasoningContext?: CodexReasoningContext;
|
|
14
|
+
textVerbosity?: "low" | "medium" | "high";
|
|
15
|
+
include?: string[];
|
|
16
|
+
/** Responses Lite transport contract: strips image detail and disables parallel tool calling, mirroring codex-rs. */
|
|
17
|
+
responsesLite?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface InputItem {
|
|
20
|
+
id?: string | null;
|
|
21
|
+
type?: string | null;
|
|
22
|
+
role?: string;
|
|
23
|
+
content?: unknown;
|
|
24
|
+
call_id?: string | null;
|
|
25
|
+
name?: string;
|
|
26
|
+
output?: unknown;
|
|
27
|
+
arguments?: unknown;
|
|
28
|
+
}
|
|
29
|
+
export interface RequestBody {
|
|
30
|
+
model: string;
|
|
31
|
+
store?: boolean;
|
|
32
|
+
stream?: boolean;
|
|
33
|
+
instructions?: string;
|
|
34
|
+
input?: InputItem[];
|
|
35
|
+
tools?: unknown;
|
|
36
|
+
tool_choice?: unknown;
|
|
37
|
+
reasoning?: Partial<ReasoningConfig>;
|
|
38
|
+
text?: {
|
|
39
|
+
verbosity?: "low" | "medium" | "high";
|
|
40
|
+
};
|
|
41
|
+
include?: string[];
|
|
42
|
+
prompt_cache_key?: string;
|
|
43
|
+
prompt_cache_retention?: "in_memory" | "24h";
|
|
44
|
+
client_metadata?: Record<string, string>;
|
|
45
|
+
max_output_tokens?: number;
|
|
46
|
+
max_completion_tokens?: number;
|
|
47
|
+
service_tier?: "auto" | "default" | "flex" | "scale" | "priority" | null;
|
|
48
|
+
[key: string]: unknown;
|
|
49
|
+
}
|
|
50
|
+
/** Returns whether a Codex request can use the text-only Responses Lite transport. */
|
|
51
|
+
export declare function shouldUseCodexResponsesLite(body: RequestBody, requested: boolean | undefined): boolean;
|
|
52
|
+
export declare function transformRequestBody(body: RequestBody, model: Model<Api>, options?: CodexRequestOptions, prompt?: {
|
|
53
|
+
developerMessages: string[];
|
|
54
|
+
}): Promise<RequestBody>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ProviderHttpError } from "../../error";
|
|
2
|
+
export type CodexRateLimit = {
|
|
3
|
+
used_percent?: number;
|
|
4
|
+
window_minutes?: number;
|
|
5
|
+
resets_at?: number;
|
|
6
|
+
};
|
|
7
|
+
export type CodexRateLimits = {
|
|
8
|
+
primary?: CodexRateLimit;
|
|
9
|
+
secondary?: CodexRateLimit;
|
|
10
|
+
};
|
|
11
|
+
export type CodexErrorInfo = {
|
|
12
|
+
message: string;
|
|
13
|
+
status: number;
|
|
14
|
+
/** Machine-readable error code (`error.code` or `error.type` from the response body), when present. */
|
|
15
|
+
code?: string;
|
|
16
|
+
friendlyMessage?: string;
|
|
17
|
+
rateLimits?: CodexRateLimits;
|
|
18
|
+
raw?: string;
|
|
19
|
+
};
|
|
20
|
+
/** Non-2xx response from the Codex backend, with the parsed body retained. */
|
|
21
|
+
export declare class CodexApiError extends ProviderHttpError {
|
|
22
|
+
readonly info: CodexErrorInfo;
|
|
23
|
+
constructor(info: CodexErrorInfo, headers?: Headers);
|
|
24
|
+
static fromResponse(response: Response): Promise<CodexApiError>;
|
|
25
|
+
}
|
|
26
|
+
export declare function parseCodexError(response: Response): Promise<CodexErrorInfo>;
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import type { Context, Model, ProviderSessionState, ServiceTier, StreamFunction, StreamOptions, Tool, ToolChoice } from "../types";
|
|
2
|
+
import { type CodexReasoningContext, type RequestBody } from "./openai-codex/request-transformer";
|
|
3
|
+
import type { ResponseInput } from "./openai-responses-wire";
|
|
4
|
+
export interface OpenAICodexResponsesOptions extends StreamOptions {
|
|
5
|
+
reasoning?: "none" | "minimal" | "low" | "medium" | "high" | "xhigh";
|
|
6
|
+
reasoningSummary?: "auto" | "concise" | "detailed" | null;
|
|
7
|
+
/** `reasoning.context` replay scope; defaults to `all_turns` when unset. The `all_turns` value is gated to gpt-5.4+ Codex models — older ids reject it, so it is suppressed and `context` omitted. */
|
|
8
|
+
reasoningContext?: CodexReasoningContext;
|
|
9
|
+
textVerbosity?: "low" | "medium" | "high";
|
|
10
|
+
include?: string[];
|
|
11
|
+
codexMode?: boolean;
|
|
12
|
+
toolChoice?: ToolChoice;
|
|
13
|
+
preferWebsockets?: boolean;
|
|
14
|
+
serviceTier?: ServiceTier;
|
|
15
|
+
/**
|
|
16
|
+
* Opt into the Responses Lite transport contract. Sends
|
|
17
|
+
* `x-openai-internal-codex-responses-lite: true` on HTTP requests and on the
|
|
18
|
+
* WebSocket upgrade (the marker is connection-scoped there, so lite and
|
|
19
|
+
* non-lite turns never share a pooled socket), strips image detail from
|
|
20
|
+
* input, and disables parallel tool calling — mirroring codex-rs.
|
|
21
|
+
*/
|
|
22
|
+
responsesLite?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Extra `client_metadata` to include in the request body on both transports.
|
|
25
|
+
* The canonical Codex envelope is `client_metadata["x-codex-turn-metadata"]`
|
|
26
|
+
* (JSON string of thread/turn identifiers); flat keys are also accepted.
|
|
27
|
+
*/
|
|
28
|
+
clientMetadata?: Record<string, string>;
|
|
29
|
+
/**
|
|
30
|
+
* Invoked when the server streams a `response.metadata` event carrying
|
|
31
|
+
* ChatGPT moderation metadata (`metadata.openai_chatgpt_moderation_metadata`)
|
|
32
|
+
* for first-party presentation parity. Diagnostic observer: failures are
|
|
33
|
+
* swallowed and must not alter the stream.
|
|
34
|
+
*/
|
|
35
|
+
onModerationMetadata?: (metadata: unknown) => void;
|
|
36
|
+
}
|
|
37
|
+
type CodexTransport = "sse" | "websocket";
|
|
38
|
+
/**
|
|
39
|
+
* Per-session request-shape counters. Despite the name, these cover both
|
|
40
|
+
* transports: once stateful SSE chaining is enabled, SSE requests are counted
|
|
41
|
+
* too (the shared chained-request builder records every request it shapes).
|
|
42
|
+
*/
|
|
43
|
+
export interface OpenAICodexWebSocketDebugStats {
|
|
44
|
+
fullContextRequests: number;
|
|
45
|
+
deltaRequests: number;
|
|
46
|
+
lastInputItems: number;
|
|
47
|
+
lastDeltaInputItems?: number;
|
|
48
|
+
lastPreviousResponseId?: string;
|
|
49
|
+
}
|
|
50
|
+
/** @internal Exported for tests. */
|
|
51
|
+
export declare function normalizeCodexToolChoice(choice: ToolChoice | undefined, tools?: Tool[], model?: Model<"openai-codex-responses">): string | Record<string, unknown> | undefined;
|
|
52
|
+
/** @internal Exported for tests. */
|
|
53
|
+
export declare function buildTransformedCodexRequestBody(model: Model<"openai-codex-responses">, context: Context, options: OpenAICodexResponsesOptions | undefined, promptCacheKey?: string | undefined): Promise<RequestBody>;
|
|
54
|
+
export declare const streamOpenAICodexResponses: StreamFunction<"openai-codex-responses">;
|
|
55
|
+
export declare function prewarmOpenAICodexResponses(model: Model<"openai-codex-responses">, options?: Pick<OpenAICodexResponsesOptions, "apiKey" | "headers" | "sessionId" | "signal" | "preferWebsockets" | "providerSessionState" | "responsesLite">): Promise<void>;
|
|
56
|
+
export interface OpenAICodexTransportDetails {
|
|
57
|
+
websocketPreferred: boolean;
|
|
58
|
+
lastTransport?: CodexTransport;
|
|
59
|
+
websocketDisabled: boolean;
|
|
60
|
+
websocketConnected: boolean;
|
|
61
|
+
fallbackCount: number;
|
|
62
|
+
canAppend: boolean;
|
|
63
|
+
prewarmed: boolean;
|
|
64
|
+
hasSessionState: boolean;
|
|
65
|
+
lastFallbackAt?: number;
|
|
66
|
+
}
|
|
67
|
+
export declare function getOpenAICodexWebSocketDebugStats(model: Model<"openai-codex-responses">, options?: {
|
|
68
|
+
sessionId?: string;
|
|
69
|
+
baseUrl?: string;
|
|
70
|
+
providerSessionState?: Map<string, ProviderSessionState>;
|
|
71
|
+
}): OpenAICodexWebSocketDebugStats | undefined;
|
|
72
|
+
export declare function getOpenAICodexTransportDetails(model: Model<"openai-codex-responses">, options?: {
|
|
73
|
+
sessionId?: string;
|
|
74
|
+
baseUrl?: string;
|
|
75
|
+
preferWebsockets?: boolean;
|
|
76
|
+
providerSessionState?: Map<string, ProviderSessionState>;
|
|
77
|
+
}): OpenAICodexTransportDetails;
|
|
78
|
+
declare function convertMessages(model: Model<"openai-codex-responses">, context: Context): ResponseInput;
|
|
79
|
+
/** @internal Exported for tests. */
|
|
80
|
+
export { convertMessages as convertCodexResponsesMessages };
|
|
81
|
+
type CodexToolPayload = {
|
|
82
|
+
type: "function";
|
|
83
|
+
name: string;
|
|
84
|
+
description: string;
|
|
85
|
+
parameters: Record<string, unknown>;
|
|
86
|
+
strict?: boolean;
|
|
87
|
+
} | {
|
|
88
|
+
type: "custom";
|
|
89
|
+
name: string;
|
|
90
|
+
description: string;
|
|
91
|
+
format: {
|
|
92
|
+
type: "grammar";
|
|
93
|
+
syntax: "lark" | "regex";
|
|
94
|
+
definition: string;
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
/** @internal Exported for tests. */
|
|
98
|
+
export declare function convertOpenAICodexResponsesTools(tools: Tool[], model: Model<"openai-codex-responses">): CodexToolPayload[];
|
|
99
|
+
export declare class CodexWebSocketTransportError extends Error {
|
|
100
|
+
constructor(detail: string);
|
|
101
|
+
}
|
|
102
|
+
declare class CodexProviderStreamError extends Error {
|
|
103
|
+
readonly retryable: boolean;
|
|
104
|
+
readonly code?: string;
|
|
105
|
+
constructor(message: string, retryable: boolean, code?: string);
|
|
106
|
+
}
|
|
107
|
+
export declare function isRetryableCodexFailureEvent(rawEvent: Record<string, unknown>): boolean;
|
|
108
|
+
export declare function createCodexProviderStreamError(rawEvent: Record<string, unknown>): CodexProviderStreamError;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { ResolvedOpenAICompat } from "jeopi-catalog/types";
|
|
2
|
+
import type { AssistantMessage, Context, Model, ServiceTier, StreamFunction, StreamOptions, ToolChoice } from "../types";
|
|
3
|
+
import type { ChatCompletionMessageParam } from "./openai-chat-wire";
|
|
4
|
+
export { applyOpenRouterRoutingVariant } from "./openai-shared";
|
|
5
|
+
/**
|
|
6
|
+
* Identify "real progress" stream chunks vs. keepalives, role-only preambles,
|
|
7
|
+
* and empty `{choices:[]}` no-ops emitted by some OpenAI-compatible endpoints.
|
|
8
|
+
* Without this filter, every keepalive resets `iterateWithIdleTimeout`'s
|
|
9
|
+
* deadline, so a provider that streams nothing but pings keeps the watchdog
|
|
10
|
+
* asleep indefinitely — observed against z.ai/GLM via OpenRouter where a
|
|
11
|
+
* subagent stalled for hours with no error surfaced.
|
|
12
|
+
*
|
|
13
|
+
* A chunk counts as progress when it carries terminal usage, a finish reason,
|
|
14
|
+
* or a model-produced delta (content / tool calls / reasoning / refusal).
|
|
15
|
+
* Role-only `delta: { role: "assistant" }` preambles do NOT count; we want the
|
|
16
|
+
* (longer) first-event timeout to keep governing until real output appears.
|
|
17
|
+
*/
|
|
18
|
+
export declare function isOpenAICompletionsProgressChunk(chunk: unknown): boolean;
|
|
19
|
+
export interface OpenAICompletionsOptions extends StreamOptions {
|
|
20
|
+
toolChoice?: ToolChoice;
|
|
21
|
+
reasoning?: "minimal" | "low" | "medium" | "high" | "xhigh";
|
|
22
|
+
/** Force-disable reasoning where supported, or request the lowest effort on generic effort endpoints. */
|
|
23
|
+
disableReasoning?: boolean;
|
|
24
|
+
serviceTier?: ServiceTier;
|
|
25
|
+
/** @internal True when maxTokens came from the caller, not the model default. */
|
|
26
|
+
maxTokensExplicit?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Routing-variant suffix appended to OpenRouter model IDs when none is
|
|
29
|
+
* already present (`anthropic/claude-haiku-latest` → `…:nitro`). Common
|
|
30
|
+
* values: `"nitro"`, `"floor"`, `"online"`, `"exacto"`. Ignored when the
|
|
31
|
+
* resolved `model.id` already contains a colon-suffix after the last
|
|
32
|
+
* provider segment (explicit `:nitro` in the selector or a catalog entry
|
|
33
|
+
* with the variant baked in).
|
|
34
|
+
*/
|
|
35
|
+
openrouterVariant?: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Public entry: wrap the single-attempt streamer with bounded empty-completion
|
|
39
|
+
* retries — flaky gateways occasionally 200 with `delta: {}` + `finish_reason:
|
|
40
|
+
* "stop"` and no usage, which would otherwise stall the agent loop. Shared with
|
|
41
|
+
* the Anthropic provider via `withEmptyCompletionRetry`.
|
|
42
|
+
*/
|
|
43
|
+
export declare const streamOpenAICompletions: StreamFunction<"openai-completions">;
|
|
44
|
+
export declare function parseChunkUsage(rawUsage: object, model: Model<"openai-completions">, premiumRequests: number | undefined): AssistantMessage["usage"];
|
|
45
|
+
export declare function convertMessages(model: Model<"openai-completions">, context: Context, compat: ResolvedOpenAICompat): ChatCompletionMessageParam[];
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { CapturedHttpErrorResponse } from "../utils/http-inspector";
|
|
2
|
+
/** @internal */
|
|
3
|
+
export type OpenAIReasoningEffortFallback = string | null;
|
|
4
|
+
/** @internal */
|
|
5
|
+
export interface OpenAIReasoningEffortFallbackState {
|
|
6
|
+
reasoningEffortFallbacks: Map<string, OpenAIReasoningEffortFallback>;
|
|
7
|
+
}
|
|
8
|
+
/** @internal */
|
|
9
|
+
export declare function createOpenAIReasoningEffortFallbackState(): OpenAIReasoningEffortFallbackState;
|
|
10
|
+
/** @internal */
|
|
11
|
+
export declare function clearOpenAIReasoningEffortFallbackState(state: OpenAIReasoningEffortFallbackState): void;
|
|
12
|
+
/** @internal */
|
|
13
|
+
export declare function getOpenAIReasoningEffortFallback(state: OpenAIReasoningEffortFallbackState | undefined, key: string): OpenAIReasoningEffortFallback | undefined;
|
|
14
|
+
/** @internal */
|
|
15
|
+
export declare function rememberOpenAIReasoningEffortFallback(state: OpenAIReasoningEffortFallbackState | undefined, key: string, fallback: OpenAIReasoningEffortFallback): void;
|
|
16
|
+
/** @internal */
|
|
17
|
+
export declare function createOpenAIReasoningEffortFallbackKey(endpoint: "chat-completions" | "responses" | "azure-responses", baseUrl: string | undefined, wireModelId: string | undefined): string;
|
|
18
|
+
/** @internal */
|
|
19
|
+
export declare function readOpenAIReasoningEffort(params: unknown): string | undefined;
|
|
20
|
+
/** @internal */
|
|
21
|
+
export declare function applyOpenAIReasoningEffortFallback(params: unknown, fallback: OpenAIReasoningEffortFallback): boolean;
|
|
22
|
+
/** @internal */
|
|
23
|
+
export declare function resolveOpenAIReasoningEffortFallback(error: unknown, captured: CapturedHttpErrorResponse | undefined, params: unknown, options?: {
|
|
24
|
+
explicitDisable?: boolean;
|
|
25
|
+
}): OpenAIReasoningEffortFallback | undefined;
|
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ArkType schemas for the OpenAI Responses API request shape we accept on the
|
|
3
|
+
* gateway. Mirrors https://platform.openai.com/docs/api-reference/responses.
|
|
4
|
+
*
|
|
5
|
+
* Unsupported / opaque controls (background/include/metadata/prompt/…) are
|
|
6
|
+
* accepted as `"unknown"` optional so we silently ignore rather than 400.
|
|
7
|
+
* Real clients (codex, openai-python, llm-git) routinely send these and a 400
|
|
8
|
+
* is a worse outcome than dropping them on the floor.
|
|
9
|
+
*/
|
|
10
|
+
import type { EasyInputMessage, ResponseCreateParams, ResponseFunctionToolCall, ResponseInputContent, ResponseInputItem, ResponseOutputMessage, ResponseReasoningItem, Tool as ResponsesTool } from "./openai-responses-wire";
|
|
11
|
+
declare const inputImageBlockSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
12
|
+
type: "input_image";
|
|
13
|
+
detail?: "auto" | "high" | "low" | undefined;
|
|
14
|
+
image_url?: string | undefined;
|
|
15
|
+
file_id?: string | undefined;
|
|
16
|
+
}, {}>;
|
|
17
|
+
declare const inputFileBlockSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
18
|
+
type: "input_file";
|
|
19
|
+
file_id?: string | undefined;
|
|
20
|
+
filename?: string | undefined;
|
|
21
|
+
file_data?: string | undefined;
|
|
22
|
+
}, {}>;
|
|
23
|
+
declare const outputRefusalSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
24
|
+
type: "refusal";
|
|
25
|
+
refusal: string;
|
|
26
|
+
}, {}>;
|
|
27
|
+
declare const customToolCallItemSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
28
|
+
type: "custom_tool_call";
|
|
29
|
+
id?: string | undefined;
|
|
30
|
+
call_id: string;
|
|
31
|
+
name: string;
|
|
32
|
+
input: string;
|
|
33
|
+
}, {}>;
|
|
34
|
+
declare const customToolCallOutputItemSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
35
|
+
type: "custom_tool_call_output";
|
|
36
|
+
call_id: string;
|
|
37
|
+
output: string;
|
|
38
|
+
}, {}>;
|
|
39
|
+
/**
|
|
40
|
+
* Direct mapping to standard types.
|
|
41
|
+
*/
|
|
42
|
+
export declare const inputItemSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
43
|
+
type?: "message" | undefined;
|
|
44
|
+
role: "developer" | "user";
|
|
45
|
+
content?: string | ({
|
|
46
|
+
type: "input_text";
|
|
47
|
+
text: string;
|
|
48
|
+
} | {
|
|
49
|
+
type: "text";
|
|
50
|
+
text: string;
|
|
51
|
+
} | {
|
|
52
|
+
type: "input_image";
|
|
53
|
+
detail?: "auto" | "high" | "low" | undefined;
|
|
54
|
+
image_url?: string | undefined;
|
|
55
|
+
file_id?: string | undefined;
|
|
56
|
+
} | {
|
|
57
|
+
type: "input_file";
|
|
58
|
+
file_id?: string | undefined;
|
|
59
|
+
filename?: string | undefined;
|
|
60
|
+
file_data?: string | undefined;
|
|
61
|
+
})[] | undefined;
|
|
62
|
+
} | {
|
|
63
|
+
type?: "message" | undefined;
|
|
64
|
+
role: "system";
|
|
65
|
+
content?: string | ({
|
|
66
|
+
type: "input_text";
|
|
67
|
+
text: string;
|
|
68
|
+
} | {
|
|
69
|
+
type: "text";
|
|
70
|
+
text: string;
|
|
71
|
+
} | {
|
|
72
|
+
type: "input_image";
|
|
73
|
+
detail?: "auto" | "high" | "low" | undefined;
|
|
74
|
+
image_url?: string | undefined;
|
|
75
|
+
file_id?: string | undefined;
|
|
76
|
+
} | {
|
|
77
|
+
type: "input_file";
|
|
78
|
+
file_id?: string | undefined;
|
|
79
|
+
filename?: string | undefined;
|
|
80
|
+
file_data?: string | undefined;
|
|
81
|
+
})[] | undefined;
|
|
82
|
+
} | {
|
|
83
|
+
type?: "message" | undefined;
|
|
84
|
+
id?: string | undefined;
|
|
85
|
+
role: "assistant";
|
|
86
|
+
content?: string | ({
|
|
87
|
+
type: "text";
|
|
88
|
+
text: string;
|
|
89
|
+
} | {
|
|
90
|
+
type: "output_text";
|
|
91
|
+
text: string;
|
|
92
|
+
} | {
|
|
93
|
+
type: "refusal";
|
|
94
|
+
refusal: string;
|
|
95
|
+
})[] | undefined;
|
|
96
|
+
status?: "completed" | "in_progress" | "incomplete" | undefined;
|
|
97
|
+
phase?: "commentary" | "final_answer" | null | undefined;
|
|
98
|
+
} | {
|
|
99
|
+
type: "reasoning";
|
|
100
|
+
id?: string | undefined;
|
|
101
|
+
summary?: {
|
|
102
|
+
type: "summary_text";
|
|
103
|
+
text: string;
|
|
104
|
+
}[] | undefined;
|
|
105
|
+
content?: {
|
|
106
|
+
type: "reasoning_text";
|
|
107
|
+
text: string;
|
|
108
|
+
}[] | undefined;
|
|
109
|
+
} | {
|
|
110
|
+
type: "function_call";
|
|
111
|
+
id?: string | undefined;
|
|
112
|
+
call_id: string;
|
|
113
|
+
name: string;
|
|
114
|
+
arguments?: string | undefined;
|
|
115
|
+
} | {
|
|
116
|
+
type: "function_call_output";
|
|
117
|
+
call_id: string;
|
|
118
|
+
output?: string | ({
|
|
119
|
+
type: "text";
|
|
120
|
+
text: string;
|
|
121
|
+
} | {
|
|
122
|
+
type: "output_text";
|
|
123
|
+
text: string;
|
|
124
|
+
} | {
|
|
125
|
+
type: "refusal";
|
|
126
|
+
refusal: string;
|
|
127
|
+
})[] | undefined;
|
|
128
|
+
} | {
|
|
129
|
+
type: "custom_tool_call";
|
|
130
|
+
id?: string | undefined;
|
|
131
|
+
call_id: string;
|
|
132
|
+
name: string;
|
|
133
|
+
input: string;
|
|
134
|
+
} | {
|
|
135
|
+
type: "custom_tool_call_output";
|
|
136
|
+
call_id: string;
|
|
137
|
+
output: string;
|
|
138
|
+
} | {
|
|
139
|
+
type: string;
|
|
140
|
+
}, {}>;
|
|
141
|
+
export type OpenAIResponsesUserItem = EasyInputMessage | ResponseInputItem.Message;
|
|
142
|
+
export type OpenAIResponsesSystemItem = EasyInputMessage | ResponseInputItem.Message;
|
|
143
|
+
export type OpenAIResponsesAssistantItem = EasyInputMessage | ResponseOutputMessage;
|
|
144
|
+
export type OpenAIResponsesReasoningItem = ResponseReasoningItem;
|
|
145
|
+
export type OpenAIResponsesFunctionCallItem = ResponseFunctionToolCall;
|
|
146
|
+
export type OpenAIResponsesFunctionCallOutputItem = ResponseInputItem.FunctionCallOutput;
|
|
147
|
+
/** Inferred shape of the custom tool call input item (no canonical SDK alias). */
|
|
148
|
+
export type OpenAIResponsesCustomToolCallItem = typeof customToolCallItemSchema.infer;
|
|
149
|
+
export type OpenAIResponsesCustomToolCallOutputItem = typeof customToolCallOutputItemSchema.infer;
|
|
150
|
+
export type OpenAIResponsesInputImageBlock = typeof inputImageBlockSchema.infer;
|
|
151
|
+
export type OpenAIResponsesInputFileBlock = typeof inputFileBlockSchema.infer;
|
|
152
|
+
export type OpenAIResponsesOutputRefusalBlock = typeof outputRefusalSchema.infer;
|
|
153
|
+
export declare const toolSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
154
|
+
type: "function";
|
|
155
|
+
name: string;
|
|
156
|
+
description?: string | undefined;
|
|
157
|
+
parameters?: {
|
|
158
|
+
[x: string]: unknown;
|
|
159
|
+
} | undefined;
|
|
160
|
+
strict?: boolean | undefined;
|
|
161
|
+
}, {}>;
|
|
162
|
+
export declare const toolChoiceSchema: import("arktype").BaseType<"auto" | "none" | "required" | {
|
|
163
|
+
type: "function";
|
|
164
|
+
name: string;
|
|
165
|
+
} | {
|
|
166
|
+
type: "custom";
|
|
167
|
+
name: string;
|
|
168
|
+
} | {
|
|
169
|
+
type: "code_interpreter" | "computer_use_preview" | "file_search" | "image_generation" | "mcp" | "web_search_preview";
|
|
170
|
+
} | {
|
|
171
|
+
type: "allowed_tools";
|
|
172
|
+
mode: "auto" | "required";
|
|
173
|
+
tools: {
|
|
174
|
+
type: string;
|
|
175
|
+
name?: string | undefined;
|
|
176
|
+
}[];
|
|
177
|
+
}, {}>;
|
|
178
|
+
export declare const reasoningConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
179
|
+
effort?: string | undefined;
|
|
180
|
+
summary?: "auto" | "concise" | "detailed" | "none" | undefined;
|
|
181
|
+
}, {}>;
|
|
182
|
+
export declare const stopSchema: import("arktype").BaseType<string | string[] | null, {}>;
|
|
183
|
+
export declare const openaiResponsesRequestSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
184
|
+
model: string;
|
|
185
|
+
input?: string | ({
|
|
186
|
+
type?: "message" | undefined;
|
|
187
|
+
role: "developer" | "user";
|
|
188
|
+
content?: string | ({
|
|
189
|
+
type: "input_text";
|
|
190
|
+
text: string;
|
|
191
|
+
} | {
|
|
192
|
+
type: "text";
|
|
193
|
+
text: string;
|
|
194
|
+
} | {
|
|
195
|
+
type: "input_image";
|
|
196
|
+
detail?: "auto" | "high" | "low" | undefined;
|
|
197
|
+
image_url?: string | undefined;
|
|
198
|
+
file_id?: string | undefined;
|
|
199
|
+
} | {
|
|
200
|
+
type: "input_file";
|
|
201
|
+
file_id?: string | undefined;
|
|
202
|
+
filename?: string | undefined;
|
|
203
|
+
file_data?: string | undefined;
|
|
204
|
+
})[] | undefined;
|
|
205
|
+
} | {
|
|
206
|
+
type?: "message" | undefined;
|
|
207
|
+
role: "system";
|
|
208
|
+
content?: string | ({
|
|
209
|
+
type: "input_text";
|
|
210
|
+
text: string;
|
|
211
|
+
} | {
|
|
212
|
+
type: "text";
|
|
213
|
+
text: string;
|
|
214
|
+
} | {
|
|
215
|
+
type: "input_image";
|
|
216
|
+
detail?: "auto" | "high" | "low" | undefined;
|
|
217
|
+
image_url?: string | undefined;
|
|
218
|
+
file_id?: string | undefined;
|
|
219
|
+
} | {
|
|
220
|
+
type: "input_file";
|
|
221
|
+
file_id?: string | undefined;
|
|
222
|
+
filename?: string | undefined;
|
|
223
|
+
file_data?: string | undefined;
|
|
224
|
+
})[] | undefined;
|
|
225
|
+
} | {
|
|
226
|
+
type?: "message" | undefined;
|
|
227
|
+
id?: string | undefined;
|
|
228
|
+
role: "assistant";
|
|
229
|
+
content?: string | ({
|
|
230
|
+
type: "text";
|
|
231
|
+
text: string;
|
|
232
|
+
} | {
|
|
233
|
+
type: "output_text";
|
|
234
|
+
text: string;
|
|
235
|
+
} | {
|
|
236
|
+
type: "refusal";
|
|
237
|
+
refusal: string;
|
|
238
|
+
})[] | undefined;
|
|
239
|
+
status?: "completed" | "in_progress" | "incomplete" | undefined;
|
|
240
|
+
phase?: "commentary" | "final_answer" | null | undefined;
|
|
241
|
+
} | {
|
|
242
|
+
type: "reasoning";
|
|
243
|
+
id?: string | undefined;
|
|
244
|
+
summary?: {
|
|
245
|
+
type: "summary_text";
|
|
246
|
+
text: string;
|
|
247
|
+
}[] | undefined;
|
|
248
|
+
content?: {
|
|
249
|
+
type: "reasoning_text";
|
|
250
|
+
text: string;
|
|
251
|
+
}[] | undefined;
|
|
252
|
+
} | {
|
|
253
|
+
type: "function_call";
|
|
254
|
+
id?: string | undefined;
|
|
255
|
+
call_id: string;
|
|
256
|
+
name: string;
|
|
257
|
+
arguments?: string | undefined;
|
|
258
|
+
} | {
|
|
259
|
+
type: "function_call_output";
|
|
260
|
+
call_id: string;
|
|
261
|
+
output?: string | ({
|
|
262
|
+
type: "text";
|
|
263
|
+
text: string;
|
|
264
|
+
} | {
|
|
265
|
+
type: "output_text";
|
|
266
|
+
text: string;
|
|
267
|
+
} | {
|
|
268
|
+
type: "refusal";
|
|
269
|
+
refusal: string;
|
|
270
|
+
})[] | undefined;
|
|
271
|
+
} | {
|
|
272
|
+
type: "custom_tool_call";
|
|
273
|
+
id?: string | undefined;
|
|
274
|
+
call_id: string;
|
|
275
|
+
name: string;
|
|
276
|
+
input: string;
|
|
277
|
+
} | {
|
|
278
|
+
type: "custom_tool_call_output";
|
|
279
|
+
call_id: string;
|
|
280
|
+
output: string;
|
|
281
|
+
} | {
|
|
282
|
+
type: string;
|
|
283
|
+
})[] | undefined;
|
|
284
|
+
instructions?: string | null | undefined;
|
|
285
|
+
tools?: ({
|
|
286
|
+
type: "function";
|
|
287
|
+
name: string;
|
|
288
|
+
description?: string | undefined;
|
|
289
|
+
parameters?: {
|
|
290
|
+
[x: string]: unknown;
|
|
291
|
+
} | undefined;
|
|
292
|
+
strict?: boolean | undefined;
|
|
293
|
+
} | {
|
|
294
|
+
type: string;
|
|
295
|
+
})[] | undefined;
|
|
296
|
+
tool_choice?: "auto" | "none" | "required" | {
|
|
297
|
+
type: "function";
|
|
298
|
+
name: string;
|
|
299
|
+
} | {
|
|
300
|
+
type: "custom";
|
|
301
|
+
name: string;
|
|
302
|
+
} | {
|
|
303
|
+
type: "code_interpreter" | "computer_use_preview" | "file_search" | "image_generation" | "mcp" | "web_search_preview";
|
|
304
|
+
} | {
|
|
305
|
+
type: "allowed_tools";
|
|
306
|
+
mode: "auto" | "required";
|
|
307
|
+
tools: {
|
|
308
|
+
type: string;
|
|
309
|
+
name?: string | undefined;
|
|
310
|
+
}[];
|
|
311
|
+
} | undefined;
|
|
312
|
+
max_output_tokens?: number | undefined;
|
|
313
|
+
temperature?: number | undefined;
|
|
314
|
+
top_p?: number | undefined;
|
|
315
|
+
stop?: string | string[] | null | undefined;
|
|
316
|
+
stream?: boolean | undefined;
|
|
317
|
+
reasoning?: {
|
|
318
|
+
effort?: string | undefined;
|
|
319
|
+
summary?: "auto" | "concise" | "detailed" | "none" | undefined;
|
|
320
|
+
} | undefined;
|
|
321
|
+
store?: boolean | undefined;
|
|
322
|
+
previous_response_id?: string | undefined;
|
|
323
|
+
parallel_tool_calls?: boolean | undefined;
|
|
324
|
+
prompt_cache_key?: string | undefined;
|
|
325
|
+
metadata?: unknown;
|
|
326
|
+
user?: string | undefined;
|
|
327
|
+
service_tier?: string | undefined;
|
|
328
|
+
presence_penalty?: number | undefined;
|
|
329
|
+
frequency_penalty?: number | undefined;
|
|
330
|
+
background?: unknown;
|
|
331
|
+
include?: unknown;
|
|
332
|
+
prompt?: unknown;
|
|
333
|
+
safety_identifier?: unknown;
|
|
334
|
+
text?: unknown;
|
|
335
|
+
top_logprobs?: unknown;
|
|
336
|
+
truncation?: unknown;
|
|
337
|
+
}, {}>;
|
|
338
|
+
/**
|
|
339
|
+
* Public types are sourced from the OpenAI SDK so the gateway stays in
|
|
340
|
+
* lock-step with the canonical API surface; the schemas above are runtime
|
|
341
|
+
* validators for the subset we actually accept.
|
|
342
|
+
*/
|
|
343
|
+
export type OpenAIResponsesRequest = ResponseCreateParams;
|
|
344
|
+
export type OpenAIResponsesInputItem = ResponseInputItem;
|
|
345
|
+
export type OpenAIResponsesTool = ResponsesTool;
|
|
346
|
+
export type OpenAIResponsesToolChoice = NonNullable<ResponseCreateParams["tool_choice"]>;
|
|
347
|
+
export type OpenAIResponsesInputContent = ResponseInputContent;
|
|
348
|
+
export type OpenAIResponsesOutputContent = ResponseOutputMessage["content"][number];
|
|
349
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI Responses HTTP wire-format ↔ omp Context bridge for the auth-gateway.
|
|
3
|
+
*
|
|
4
|
+
* Inbound: parses `POST /v1/responses` request bodies into a {@link ParsedRequest}.
|
|
5
|
+
* Outbound: encodes omp's {@link AssistantMessage} (and event stream) back into
|
|
6
|
+
* the documented `response.*` SSE taxonomy or the non-streaming JSON shape.
|
|
7
|
+
*
|
|
8
|
+
* Spec: https://platform.openai.com/docs/api-reference/responses
|
|
9
|
+
* Inverse direction (source-of-truth for item shapes): ../../providers/openai-responses.ts
|
|
10
|
+
*/
|
|
11
|
+
import type { AuthGatewayStreamControl, AuthGatewayParsedRequest as ParsedRequest } from "../auth-gateway/types";
|
|
12
|
+
import type { AssistantMessage, AssistantMessageEventStream } from "../types";
|
|
13
|
+
export type { ParsedRequest };
|
|
14
|
+
export declare function parseRequest(body: unknown, headers?: Headers): ParsedRequest;
|
|
15
|
+
export declare function formatError(status: number, type: string, message: string): Response;
|
|
16
|
+
export declare function encodeResponse(message: AssistantMessage, requestedModelId: string): Record<string, unknown>;
|
|
17
|
+
export declare function encodeStream(events: AssistantMessageEventStream, requestedModelId: string, _options?: ParsedRequest["options"], control?: AuthGatewayStreamControl): ReadableStream<Uint8Array>;
|