@code-yeongyu/senpi-ai 2026.9.29 → 2026.9.30
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/dist/api/bedrock-converse-stream.js +4 -2
- package/dist/api/lazy.js +2 -1
- package/dist/api/openai-completions.js +13 -8
- package/dist/api/openai-responses-shared.js +4 -1
- package/dist/api/openai-responses.js +10 -7
- package/dist/models.js +6 -2
- package/dist/providers/data/.manifest.json +1 -1
- package/dist/providers/data/amazon-bedrock.json +1 -1
- package/dist/providers/data/azure-openai-responses.json +1 -1
- package/dist/providers/data/baseten.json +1 -1
- package/dist/providers/data/cerebras.json +1 -1
- package/dist/providers/data/chatgpt-subscription.json +1 -1
- package/dist/providers/data/github-copilot.json +1 -1
- package/dist/providers/data/openai.json +1 -1
- package/dist/providers/data/opencode.json +1 -1
- package/dist/providers/data/opengateway.json +1 -1
- package/dist/providers/data/openrouter.json +1 -1
- package/dist/providers/data/venice.json +1 -1
- package/dist/providers/data/vercel-ai-gateway.json +1 -1
- package/dist/utils/prompt-cache-ttl.js +33 -2
- package/dist/utils/provider-failure-description.d.ts +7 -0
- package/dist/utils/provider-failure-description.js +21 -0
- package/dist/utils/retry.js +9 -0
- package/dist/utils/tool-schema-compat.d.ts +2 -0
- package/dist/utils/tool-schema-compat.js +28 -9
- package/package.json +3 -2
- package/dist/api/anthropic-messages.d.ts.map +0 -1
- package/dist/api/anthropic-messages.js.map +0 -1
- package/dist/api/anthropic-messages.lazy.d.ts.map +0 -1
- package/dist/api/anthropic-messages.lazy.js.map +0 -1
- package/dist/api/anthropic-tool-pairs.d.ts.map +0 -1
- package/dist/api/anthropic-tool-pairs.js.map +0 -1
- package/dist/api/anthropic-tool-references.d.ts.map +0 -1
- package/dist/api/anthropic-tool-references.js.map +0 -1
- package/dist/api/azure-openai-responses.d.ts.map +0 -1
- package/dist/api/azure-openai-responses.js.map +0 -1
- package/dist/api/azure-openai-responses.lazy.d.ts.map +0 -1
- package/dist/api/azure-openai-responses.lazy.js.map +0 -1
- package/dist/api/bedrock-converse-stream.d.ts.map +0 -1
- package/dist/api/bedrock-converse-stream.js.map +0 -1
- package/dist/api/bedrock-converse-stream.lazy.d.ts.map +0 -1
- package/dist/api/bedrock-converse-stream.lazy.js.map +0 -1
- package/dist/api/cloudflare-ai-binding.d.ts.map +0 -1
- package/dist/api/cloudflare-ai-binding.js.map +0 -1
- package/dist/api/cloudflare.d.ts.map +0 -1
- package/dist/api/cloudflare.js.map +0 -1
- package/dist/api/constrained-sampling.d.ts.map +0 -1
- package/dist/api/constrained-sampling.js.map +0 -1
- package/dist/api/context-room.d.ts.map +0 -1
- package/dist/api/context-room.js.map +0 -1
- package/dist/api/cursor-agent/deterministic-id.d.ts.map +0 -1
- package/dist/api/cursor-agent/deterministic-id.js.map +0 -1
- package/dist/api/cursor-agent/exec-lifecycle.d.ts.map +0 -1
- package/dist/api/cursor-agent/exec-lifecycle.js.map +0 -1
- package/dist/api/cursor-agent/exec-modern.d.ts.map +0 -1
- package/dist/api/cursor-agent/exec-modern.js.map +0 -1
- package/dist/api/cursor-agent/gen/agent_pb.d.ts.map +0 -1
- package/dist/api/cursor-agent/gen/agent_pb.js.map +0 -1
- package/dist/api/cursor-agent/measure.d.ts.map +0 -1
- package/dist/api/cursor-agent/measure.js.map +0 -1
- package/dist/api/cursor-agent/pi-args.d.ts.map +0 -1
- package/dist/api/cursor-agent/pi-args.js.map +0 -1
- package/dist/api/cursor-agent/reasoning-params.d.ts.map +0 -1
- package/dist/api/cursor-agent/reasoning-params.js.map +0 -1
- package/dist/api/cursor-agent/stream-retry.d.ts.map +0 -1
- package/dist/api/cursor-agent/stream-retry.js.map +0 -1
- package/dist/api/cursor-agent/types.d.ts.map +0 -1
- package/dist/api/cursor-agent/types.js.map +0 -1
- package/dist/api/cursor-agent.d.ts.map +0 -1
- package/dist/api/cursor-agent.js.map +0 -1
- package/dist/api/cursor-agent.lazy.d.ts.map +0 -1
- package/dist/api/cursor-agent.lazy.js.map +0 -1
- package/dist/api/cursor-conversation-rotation.d.ts.map +0 -1
- package/dist/api/cursor-conversation-rotation.js.map +0 -1
- package/dist/api/cursor-task-args.d.ts.map +0 -1
- package/dist/api/cursor-task-args.js.map +0 -1
- package/dist/api/devin-agent/discovery.d.ts.map +0 -1
- package/dist/api/devin-agent/discovery.js.map +0 -1
- package/dist/api/devin-agent/frames.d.ts.map +0 -1
- package/dist/api/devin-agent/frames.js.map +0 -1
- package/dist/api/devin-agent/gen/cascade_pb.d.ts.map +0 -1
- package/dist/api/devin-agent/gen/cascade_pb.js.map +0 -1
- package/dist/api/devin-agent/metadata.d.ts.map +0 -1
- package/dist/api/devin-agent/metadata.js.map +0 -1
- package/dist/api/devin-agent/paths.d.ts.map +0 -1
- package/dist/api/devin-agent/paths.js.map +0 -1
- package/dist/api/devin-agent/request.d.ts.map +0 -1
- package/dist/api/devin-agent/request.js.map +0 -1
- package/dist/api/devin-agent/stream-state.d.ts.map +0 -1
- package/dist/api/devin-agent/stream-state.js.map +0 -1
- package/dist/api/devin-agent/trailer.d.ts.map +0 -1
- package/dist/api/devin-agent/trailer.js.map +0 -1
- package/dist/api/devin-agent/types.d.ts.map +0 -1
- package/dist/api/devin-agent/types.js.map +0 -1
- package/dist/api/devin-agent/unary.d.ts.map +0 -1
- package/dist/api/devin-agent/unary.js.map +0 -1
- package/dist/api/devin-agent/wire.d.ts.map +0 -1
- package/dist/api/devin-agent/wire.js.map +0 -1
- package/dist/api/devin-agent.d.ts.map +0 -1
- package/dist/api/devin-agent.js.map +0 -1
- package/dist/api/devin-agent.lazy.d.ts.map +0 -1
- package/dist/api/devin-agent.lazy.js.map +0 -1
- package/dist/api/github-copilot-endpoint.d.ts.map +0 -1
- package/dist/api/github-copilot-endpoint.js.map +0 -1
- package/dist/api/github-copilot-errors.d.ts.map +0 -1
- package/dist/api/github-copilot-errors.js.map +0 -1
- package/dist/api/github-copilot-headers.d.ts.map +0 -1
- package/dist/api/github-copilot-headers.js.map +0 -1
- package/dist/api/google-generative-ai.d.ts.map +0 -1
- package/dist/api/google-generative-ai.js.map +0 -1
- package/dist/api/google-generative-ai.lazy.d.ts.map +0 -1
- package/dist/api/google-generative-ai.lazy.js.map +0 -1
- package/dist/api/google-shared.d.ts.map +0 -1
- package/dist/api/google-shared.js.map +0 -1
- package/dist/api/google-vertex.d.ts.map +0 -1
- package/dist/api/google-vertex.js.map +0 -1
- package/dist/api/google-vertex.lazy.d.ts.map +0 -1
- package/dist/api/google-vertex.lazy.js.map +0 -1
- package/dist/api/lazy.d.ts.map +0 -1
- package/dist/api/lazy.js.map +0 -1
- package/dist/api/mistral-conversations.d.ts.map +0 -1
- package/dist/api/mistral-conversations.js.map +0 -1
- package/dist/api/mistral-conversations.lazy.d.ts.map +0 -1
- package/dist/api/mistral-conversations.lazy.js.map +0 -1
- package/dist/api/openai-client-auth.d.ts.map +0 -1
- package/dist/api/openai-client-auth.js.map +0 -1
- package/dist/api/openai-codex-responses/fallback-state.d.ts.map +0 -1
- package/dist/api/openai-codex-responses/fallback-state.js.map +0 -1
- package/dist/api/openai-codex-responses/reasoning.d.ts.map +0 -1
- package/dist/api/openai-codex-responses/reasoning.js.map +0 -1
- package/dist/api/openai-codex-responses.d.ts.map +0 -1
- package/dist/api/openai-codex-responses.js.map +0 -1
- package/dist/api/openai-codex-responses.lazy.d.ts.map +0 -1
- package/dist/api/openai-codex-responses.lazy.js.map +0 -1
- package/dist/api/openai-completions.d.ts.map +0 -1
- package/dist/api/openai-completions.js.map +0 -1
- package/dist/api/openai-completions.lazy.d.ts.map +0 -1
- package/dist/api/openai-completions.lazy.js.map +0 -1
- package/dist/api/openai-images-edit.d.ts.map +0 -1
- package/dist/api/openai-images-edit.js.map +0 -1
- package/dist/api/openai-images-params.d.ts.map +0 -1
- package/dist/api/openai-images-params.js.map +0 -1
- package/dist/api/openai-images-result.d.ts.map +0 -1
- package/dist/api/openai-images-result.js.map +0 -1
- package/dist/api/openai-images.d.ts.map +0 -1
- package/dist/api/openai-images.js.map +0 -1
- package/dist/api/openai-images.lazy.d.ts.map +0 -1
- package/dist/api/openai-images.lazy.js.map +0 -1
- package/dist/api/openai-prompt-cache.d.ts.map +0 -1
- package/dist/api/openai-prompt-cache.js.map +0 -1
- package/dist/api/openai-responses-prompt-cache.d.ts.map +0 -1
- package/dist/api/openai-responses-prompt-cache.js.map +0 -1
- package/dist/api/openai-responses-shared.d.ts.map +0 -1
- package/dist/api/openai-responses-shared.js.map +0 -1
- package/dist/api/openai-responses.d.ts.map +0 -1
- package/dist/api/openai-responses.js.map +0 -1
- package/dist/api/openai-responses.lazy.d.ts.map +0 -1
- package/dist/api/openai-responses.lazy.js.map +0 -1
- package/dist/api/openrouter-images.d.ts.map +0 -1
- package/dist/api/openrouter-images.js.map +0 -1
- package/dist/api/openrouter-images.lazy.d.ts.map +0 -1
- package/dist/api/openrouter-images.lazy.js.map +0 -1
- package/dist/api/pi-messages.d.ts.map +0 -1
- package/dist/api/pi-messages.js.map +0 -1
- package/dist/api/pi-messages.lazy.d.ts.map +0 -1
- package/dist/api/pi-messages.lazy.js.map +0 -1
- package/dist/api/prompt-cache-warmers.d.ts.map +0 -1
- package/dist/api/prompt-cache-warmers.js.map +0 -1
- package/dist/api/responses-completion-grace.d.ts.map +0 -1
- package/dist/api/responses-completion-grace.js.map +0 -1
- package/dist/api/simple-options.d.ts.map +0 -1
- package/dist/api/simple-options.js.map +0 -1
- package/dist/api/transform-messages.d.ts.map +0 -1
- package/dist/api/transform-messages.js.map +0 -1
- package/dist/api/warm-prompt-cache.d.ts.map +0 -1
- package/dist/api/warm-prompt-cache.js.map +0 -1
- package/dist/api/websocket-liveness.d.ts.map +0 -1
- package/dist/api/websocket-liveness.js.map +0 -1
- package/dist/api/websocket-transport-failure.d.ts.map +0 -1
- package/dist/api/websocket-transport-failure.js.map +0 -1
- package/dist/api-registry.d.ts.map +0 -1
- package/dist/api-registry.js.map +0 -1
- package/dist/auth/context.d.ts.map +0 -1
- package/dist/auth/context.js.map +0 -1
- package/dist/auth/credential-store.d.ts.map +0 -1
- package/dist/auth/credential-store.js.map +0 -1
- package/dist/auth/headers.d.ts.map +0 -1
- package/dist/auth/headers.js.map +0 -1
- package/dist/auth/helpers.d.ts.map +0 -1
- package/dist/auth/helpers.js.map +0 -1
- package/dist/auth/oauth/anthropic-callback-listener.d.ts.map +0 -1
- package/dist/auth/oauth/anthropic-callback-listener.js.map +0 -1
- package/dist/auth/oauth/anthropic.d.ts.map +0 -1
- package/dist/auth/oauth/anthropic.js.map +0 -1
- package/dist/auth/oauth/authorization-input.d.ts.map +0 -1
- package/dist/auth/oauth/authorization-input.js.map +0 -1
- package/dist/auth/oauth/chatgpt-subscription.d.ts.map +0 -1
- package/dist/auth/oauth/chatgpt-subscription.js.map +0 -1
- package/dist/auth/oauth/cursor.d.ts.map +0 -1
- package/dist/auth/oauth/cursor.js.map +0 -1
- package/dist/auth/oauth/device-code.d.ts.map +0 -1
- package/dist/auth/oauth/device-code.js.map +0 -1
- package/dist/auth/oauth/devin-callback.d.ts.map +0 -1
- package/dist/auth/oauth/devin-callback.js.map +0 -1
- package/dist/auth/oauth/devin-token.d.ts.map +0 -1
- package/dist/auth/oauth/devin-token.js.map +0 -1
- package/dist/auth/oauth/devin.d.ts.map +0 -1
- package/dist/auth/oauth/devin.js.map +0 -1
- package/dist/auth/oauth/error-details.d.ts.map +0 -1
- package/dist/auth/oauth/error-details.js.map +0 -1
- package/dist/auth/oauth/github-copilot-model-catalog.d.ts.map +0 -1
- package/dist/auth/oauth/github-copilot-model-catalog.js.map +0 -1
- package/dist/auth/oauth/github-copilot.d.ts.map +0 -1
- package/dist/auth/oauth/github-copilot.js.map +0 -1
- package/dist/auth/oauth/kimi-coding.d.ts.map +0 -1
- package/dist/auth/oauth/kimi-coding.js.map +0 -1
- package/dist/auth/oauth/kimi-identity.d.ts.map +0 -1
- package/dist/auth/oauth/kimi-identity.js.map +0 -1
- package/dist/auth/oauth/kimi-region.d.ts.map +0 -1
- package/dist/auth/oauth/kimi-region.js.map +0 -1
- package/dist/auth/oauth/load.d.ts.map +0 -1
- package/dist/auth/oauth/load.js.map +0 -1
- package/dist/auth/oauth/oauth-page.d.ts.map +0 -1
- package/dist/auth/oauth/oauth-page.js.map +0 -1
- package/dist/auth/oauth/openrouter.d.ts.map +0 -1
- package/dist/auth/oauth/openrouter.js.map +0 -1
- package/dist/auth/oauth/pkce.d.ts.map +0 -1
- package/dist/auth/oauth/pkce.js.map +0 -1
- package/dist/auth/oauth/radius.d.ts.map +0 -1
- package/dist/auth/oauth/radius.js.map +0 -1
- package/dist/auth/oauth/xai.d.ts.map +0 -1
- package/dist/auth/oauth/xai.js.map +0 -1
- package/dist/auth/oauth-refresh.d.ts.map +0 -1
- package/dist/auth/oauth-refresh.js.map +0 -1
- package/dist/auth/pool/classify.d.ts.map +0 -1
- package/dist/auth/pool/classify.js.map +0 -1
- package/dist/auth/pool/failover.d.ts.map +0 -1
- package/dist/auth/pool/failover.js.map +0 -1
- package/dist/auth/pool/select.d.ts.map +0 -1
- package/dist/auth/pool/select.js.map +0 -1
- package/dist/auth/pool/slots.d.ts.map +0 -1
- package/dist/auth/pool/slots.js.map +0 -1
- package/dist/auth/refresh-credential.d.ts.map +0 -1
- package/dist/auth/refresh-credential.js.map +0 -1
- package/dist/auth/resolve.d.ts.map +0 -1
- package/dist/auth/resolve.js.map +0 -1
- package/dist/auth/types.d.ts.map +0 -1
- package/dist/auth/types.js.map +0 -1
- package/dist/bedrock-provider.d.ts.map +0 -1
- package/dist/bedrock-provider.js.map +0 -1
- package/dist/bun-oauth.d.ts.map +0 -1
- package/dist/bun-oauth.js.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/compat/extension-oauth-types.d.ts.map +0 -1
- package/dist/compat/extension-oauth-types.js.map +0 -1
- package/dist/compat.d.ts.map +0 -1
- package/dist/compat.js.map +0 -1
- package/dist/context-provenance.d.ts.map +0 -1
- package/dist/context-provenance.js.map +0 -1
- package/dist/cursor/catalog-grouping.d.ts.map +0 -1
- package/dist/cursor/catalog-grouping.js.map +0 -1
- package/dist/cursor/composer-prompt.d.ts.map +0 -1
- package/dist/cursor/composer-prompt.js.map +0 -1
- package/dist/cursor/context-limit-store.d.ts.map +0 -1
- package/dist/cursor/context-limit-store.js.map +0 -1
- package/dist/cursor/model-capabilities.d.ts.map +0 -1
- package/dist/cursor/model-capabilities.js.map +0 -1
- package/dist/cursor/selection-descriptor.d.ts.map +0 -1
- package/dist/cursor/selection-descriptor.js.map +0 -1
- package/dist/cursor/store-migration.d.ts.map +0 -1
- package/dist/cursor/store-migration.js.map +0 -1
- package/dist/cursor-agent-provider.d.ts.map +0 -1
- package/dist/cursor-agent-provider.js.map +0 -1
- package/dist/devin-provider.d.ts.map +0 -1
- package/dist/devin-provider.js.map +0 -1
- package/dist/endpoint-reasoning-efforts.d.ts.map +0 -1
- package/dist/endpoint-reasoning-efforts.js.map +0 -1
- package/dist/env-api-keys.d.ts.map +0 -1
- package/dist/env-api-keys.js.map +0 -1
- package/dist/image-models.d.ts.map +0 -1
- package/dist/image-models.generated.d.ts.map +0 -1
- package/dist/image-models.generated.js.map +0 -1
- package/dist/image-models.js.map +0 -1
- package/dist/images-api-registry.d.ts.map +0 -1
- package/dist/images-api-registry.js.map +0 -1
- package/dist/images-models.d.ts.map +0 -1
- package/dist/images-models.js.map +0 -1
- package/dist/images.d.ts.map +0 -1
- package/dist/images.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/legacy-api-aliases.d.ts.map +0 -1
- package/dist/legacy-api-aliases.js.map +0 -1
- package/dist/legacy-provider-ids.d.ts.map +0 -1
- package/dist/legacy-provider-ids.js.map +0 -1
- package/dist/model-catalog.d.ts.map +0 -1
- package/dist/model-catalog.js.map +0 -1
- package/dist/model.d.ts.map +0 -1
- package/dist/model.js.map +0 -1
- package/dist/models-store.d.ts.map +0 -1
- package/dist/models-store.js.map +0 -1
- package/dist/models.d.ts.map +0 -1
- package/dist/models.generated.d.ts.map +0 -1
- package/dist/models.generated.js.map +0 -1
- package/dist/models.js.map +0 -1
- package/dist/node/provider-scope.d.ts.map +0 -1
- package/dist/node/provider-scope.js.map +0 -1
- package/dist/oauth.d.ts.map +0 -1
- package/dist/oauth.js.map +0 -1
- package/dist/openai-responses-compat.d.ts.map +0 -1
- package/dist/openai-responses-compat.js.map +0 -1
- package/dist/provider-diagnostic.d.ts.map +0 -1
- package/dist/provider-diagnostic.js.map +0 -1
- package/dist/providers/alibaba-token-plan.d.ts.map +0 -1
- package/dist/providers/alibaba-token-plan.js.map +0 -1
- package/dist/providers/alibaba-token-plan.models.d.ts.map +0 -1
- package/dist/providers/alibaba-token-plan.models.js.map +0 -1
- package/dist/providers/all.d.ts.map +0 -1
- package/dist/providers/all.js.map +0 -1
- package/dist/providers/amazon-bedrock.d.ts.map +0 -1
- package/dist/providers/amazon-bedrock.js.map +0 -1
- package/dist/providers/amazon-bedrock.models.d.ts.map +0 -1
- package/dist/providers/amazon-bedrock.models.js.map +0 -1
- package/dist/providers/ant-ling.d.ts.map +0 -1
- package/dist/providers/ant-ling.js.map +0 -1
- package/dist/providers/ant-ling.models.d.ts.map +0 -1
- package/dist/providers/ant-ling.models.js.map +0 -1
- package/dist/providers/anthropic.d.ts.map +0 -1
- package/dist/providers/anthropic.js.map +0 -1
- package/dist/providers/anthropic.models.d.ts.map +0 -1
- package/dist/providers/anthropic.models.js.map +0 -1
- package/dist/providers/azure-openai-responses.d.ts.map +0 -1
- package/dist/providers/azure-openai-responses.js.map +0 -1
- package/dist/providers/azure-openai-responses.models.d.ts.map +0 -1
- package/dist/providers/azure-openai-responses.models.js.map +0 -1
- package/dist/providers/bai-stream.d.ts.map +0 -1
- package/dist/providers/bai-stream.js.map +0 -1
- package/dist/providers/bai.d.ts.map +0 -1
- package/dist/providers/bai.js.map +0 -1
- package/dist/providers/bai.models.d.ts.map +0 -1
- package/dist/providers/bai.models.js.map +0 -1
- package/dist/providers/baseten.d.ts.map +0 -1
- package/dist/providers/baseten.js.map +0 -1
- package/dist/providers/baseten.models.d.ts.map +0 -1
- package/dist/providers/baseten.models.js.map +0 -1
- package/dist/providers/cerebras.d.ts.map +0 -1
- package/dist/providers/cerebras.js.map +0 -1
- package/dist/providers/cerebras.models.d.ts.map +0 -1
- package/dist/providers/cerebras.models.js.map +0 -1
- package/dist/providers/chatgpt-subscription.d.ts.map +0 -1
- package/dist/providers/chatgpt-subscription.js.map +0 -1
- package/dist/providers/chatgpt-subscription.models.d.ts.map +0 -1
- package/dist/providers/chatgpt-subscription.models.js.map +0 -1
- package/dist/providers/cloudflare-ai-gateway.d.ts.map +0 -1
- package/dist/providers/cloudflare-ai-gateway.js.map +0 -1
- package/dist/providers/cloudflare-ai-gateway.models.d.ts.map +0 -1
- package/dist/providers/cloudflare-ai-gateway.models.js.map +0 -1
- package/dist/providers/cloudflare-auth.d.ts.map +0 -1
- package/dist/providers/cloudflare-auth.js.map +0 -1
- package/dist/providers/cloudflare-stream.d.ts.map +0 -1
- package/dist/providers/cloudflare-stream.js.map +0 -1
- package/dist/providers/cloudflare-workers-ai.d.ts.map +0 -1
- package/dist/providers/cloudflare-workers-ai.js.map +0 -1
- package/dist/providers/cloudflare-workers-ai.models.d.ts.map +0 -1
- package/dist/providers/cloudflare-workers-ai.models.js.map +0 -1
- package/dist/providers/cursor.d.ts.map +0 -1
- package/dist/providers/cursor.js.map +0 -1
- package/dist/providers/deepseek.d.ts.map +0 -1
- package/dist/providers/deepseek.js.map +0 -1
- package/dist/providers/deepseek.models.d.ts.map +0 -1
- package/dist/providers/deepseek.models.js.map +0 -1
- package/dist/providers/devin.d.ts.map +0 -1
- package/dist/providers/devin.js.map +0 -1
- package/dist/providers/devin.models.d.ts.map +0 -1
- package/dist/providers/devin.models.js.map +0 -1
- package/dist/providers/faux.d.ts.map +0 -1
- package/dist/providers/faux.js.map +0 -1
- package/dist/providers/fireworks.d.ts.map +0 -1
- package/dist/providers/fireworks.js.map +0 -1
- package/dist/providers/fireworks.models.d.ts.map +0 -1
- package/dist/providers/fireworks.models.js.map +0 -1
- package/dist/providers/github-copilot-limits.d.ts.map +0 -1
- package/dist/providers/github-copilot-limits.js.map +0 -1
- package/dist/providers/github-copilot.d.ts.map +0 -1
- package/dist/providers/github-copilot.js.map +0 -1
- package/dist/providers/github-copilot.models.d.ts.map +0 -1
- package/dist/providers/github-copilot.models.js.map +0 -1
- package/dist/providers/google-shared.d.ts.map +0 -1
- package/dist/providers/google-shared.js.map +0 -1
- package/dist/providers/google-vertex.d.ts.map +0 -1
- package/dist/providers/google-vertex.js.map +0 -1
- package/dist/providers/google-vertex.models.d.ts.map +0 -1
- package/dist/providers/google-vertex.models.js.map +0 -1
- package/dist/providers/google.d.ts.map +0 -1
- package/dist/providers/google.js.map +0 -1
- package/dist/providers/google.models.d.ts.map +0 -1
- package/dist/providers/google.models.js.map +0 -1
- package/dist/providers/groq.d.ts.map +0 -1
- package/dist/providers/groq.js.map +0 -1
- package/dist/providers/groq.models.d.ts.map +0 -1
- package/dist/providers/groq.models.js.map +0 -1
- package/dist/providers/huggingface.d.ts.map +0 -1
- package/dist/providers/huggingface.js.map +0 -1
- package/dist/providers/huggingface.models.d.ts.map +0 -1
- package/dist/providers/huggingface.models.js.map +0 -1
- package/dist/providers/images/register-builtins.d.ts.map +0 -1
- package/dist/providers/images/register-builtins.js.map +0 -1
- package/dist/providers/kimi-coding-auth.d.ts.map +0 -1
- package/dist/providers/kimi-coding-auth.js.map +0 -1
- package/dist/providers/kimi-coding.d.ts.map +0 -1
- package/dist/providers/kimi-coding.js.map +0 -1
- package/dist/providers/kimi-coding.models.d.ts.map +0 -1
- package/dist/providers/kimi-coding.models.js.map +0 -1
- package/dist/providers/minimax-cn.d.ts.map +0 -1
- package/dist/providers/minimax-cn.js.map +0 -1
- package/dist/providers/minimax-cn.models.d.ts.map +0 -1
- package/dist/providers/minimax-cn.models.js.map +0 -1
- package/dist/providers/minimax.d.ts.map +0 -1
- package/dist/providers/minimax.js.map +0 -1
- package/dist/providers/minimax.models.d.ts.map +0 -1
- package/dist/providers/minimax.models.js.map +0 -1
- package/dist/providers/mistral.d.ts.map +0 -1
- package/dist/providers/mistral.js.map +0 -1
- package/dist/providers/mistral.models.d.ts.map +0 -1
- package/dist/providers/mistral.models.js.map +0 -1
- package/dist/providers/moonshotai-cn.d.ts.map +0 -1
- package/dist/providers/moonshotai-cn.js.map +0 -1
- package/dist/providers/moonshotai-cn.models.d.ts.map +0 -1
- package/dist/providers/moonshotai-cn.models.js.map +0 -1
- package/dist/providers/moonshotai.d.ts.map +0 -1
- package/dist/providers/moonshotai.js.map +0 -1
- package/dist/providers/moonshotai.models.d.ts.map +0 -1
- package/dist/providers/moonshotai.models.js.map +0 -1
- package/dist/providers/nvidia.d.ts.map +0 -1
- package/dist/providers/nvidia.js.map +0 -1
- package/dist/providers/nvidia.models.d.ts.map +0 -1
- package/dist/providers/nvidia.models.js.map +0 -1
- package/dist/providers/ollama.d.ts.map +0 -1
- package/dist/providers/ollama.js.map +0 -1
- package/dist/providers/openai-completions.d.ts.map +0 -1
- package/dist/providers/openai-completions.js.map +0 -1
- package/dist/providers/openai-images.d.ts.map +0 -1
- package/dist/providers/openai-images.js.map +0 -1
- package/dist/providers/openai-responses-shared.d.ts.map +0 -1
- package/dist/providers/openai-responses-shared.js.map +0 -1
- package/dist/providers/openai-responses.d.ts.map +0 -1
- package/dist/providers/openai-responses.js.map +0 -1
- package/dist/providers/openai.d.ts.map +0 -1
- package/dist/providers/openai.js.map +0 -1
- package/dist/providers/openai.models.d.ts.map +0 -1
- package/dist/providers/openai.models.js.map +0 -1
- package/dist/providers/opencode-go.d.ts.map +0 -1
- package/dist/providers/opencode-go.js.map +0 -1
- package/dist/providers/opencode-go.models.d.ts.map +0 -1
- package/dist/providers/opencode-go.models.js.map +0 -1
- package/dist/providers/opencode-headers.d.ts.map +0 -1
- package/dist/providers/opencode-headers.js.map +0 -1
- package/dist/providers/opencode.d.ts.map +0 -1
- package/dist/providers/opencode.js.map +0 -1
- package/dist/providers/opencode.models.d.ts.map +0 -1
- package/dist/providers/opencode.models.js.map +0 -1
- package/dist/providers/opengateway.d.ts.map +0 -1
- package/dist/providers/opengateway.js.map +0 -1
- package/dist/providers/opengateway.models.d.ts.map +0 -1
- package/dist/providers/opengateway.models.js.map +0 -1
- package/dist/providers/openrouter-images.d.ts.map +0 -1
- package/dist/providers/openrouter-images.js.map +0 -1
- package/dist/providers/openrouter.d.ts.map +0 -1
- package/dist/providers/openrouter.js.map +0 -1
- package/dist/providers/openrouter.models.d.ts.map +0 -1
- package/dist/providers/openrouter.models.js.map +0 -1
- package/dist/providers/qwen-token-plan-cn.d.ts.map +0 -1
- package/dist/providers/qwen-token-plan-cn.js.map +0 -1
- package/dist/providers/qwen-token-plan-cn.models.d.ts.map +0 -1
- package/dist/providers/qwen-token-plan-cn.models.js.map +0 -1
- package/dist/providers/qwen-token-plan-individual.d.ts.map +0 -1
- package/dist/providers/qwen-token-plan-individual.js.map +0 -1
- package/dist/providers/qwen-token-plan-individual.models.d.ts.map +0 -1
- package/dist/providers/qwen-token-plan-individual.models.js.map +0 -1
- package/dist/providers/qwen-token-plan.d.ts.map +0 -1
- package/dist/providers/qwen-token-plan.js.map +0 -1
- package/dist/providers/qwen-token-plan.models.d.ts.map +0 -1
- package/dist/providers/qwen-token-plan.models.js.map +0 -1
- package/dist/providers/radius-config.d.ts.map +0 -1
- package/dist/providers/radius-config.js.map +0 -1
- package/dist/providers/radius.d.ts.map +0 -1
- package/dist/providers/radius.js.map +0 -1
- package/dist/providers/register-builtins.d.ts.map +0 -1
- package/dist/providers/register-builtins.js.map +0 -1
- package/dist/providers/together.d.ts.map +0 -1
- package/dist/providers/together.js.map +0 -1
- package/dist/providers/together.models.d.ts.map +0 -1
- package/dist/providers/together.models.js.map +0 -1
- package/dist/providers/venice.d.ts.map +0 -1
- package/dist/providers/venice.js.map +0 -1
- package/dist/providers/venice.models.d.ts.map +0 -1
- package/dist/providers/venice.models.js.map +0 -1
- package/dist/providers/vercel-ai-gateway.d.ts.map +0 -1
- package/dist/providers/vercel-ai-gateway.js.map +0 -1
- package/dist/providers/vercel-ai-gateway.models.d.ts.map +0 -1
- package/dist/providers/vercel-ai-gateway.models.js.map +0 -1
- package/dist/providers/xai.d.ts.map +0 -1
- package/dist/providers/xai.js.map +0 -1
- package/dist/providers/xai.models.d.ts.map +0 -1
- package/dist/providers/xai.models.js.map +0 -1
- package/dist/providers/xiaomi-token-plan-ams.d.ts.map +0 -1
- package/dist/providers/xiaomi-token-plan-ams.js.map +0 -1
- package/dist/providers/xiaomi-token-plan-ams.models.d.ts.map +0 -1
- package/dist/providers/xiaomi-token-plan-ams.models.js.map +0 -1
- package/dist/providers/xiaomi-token-plan-cn.d.ts.map +0 -1
- package/dist/providers/xiaomi-token-plan-cn.js.map +0 -1
- package/dist/providers/xiaomi-token-plan-cn.models.d.ts.map +0 -1
- package/dist/providers/xiaomi-token-plan-cn.models.js.map +0 -1
- package/dist/providers/xiaomi-token-plan-sgp.d.ts.map +0 -1
- package/dist/providers/xiaomi-token-plan-sgp.js.map +0 -1
- package/dist/providers/xiaomi-token-plan-sgp.models.d.ts.map +0 -1
- package/dist/providers/xiaomi-token-plan-sgp.models.js.map +0 -1
- package/dist/providers/xiaomi.d.ts.map +0 -1
- package/dist/providers/xiaomi.js.map +0 -1
- package/dist/providers/xiaomi.models.d.ts.map +0 -1
- package/dist/providers/xiaomi.models.js.map +0 -1
- package/dist/providers/zai-coding-cn.d.ts.map +0 -1
- package/dist/providers/zai-coding-cn.js.map +0 -1
- package/dist/providers/zai-coding-cn.models.d.ts.map +0 -1
- package/dist/providers/zai-coding-cn.models.js.map +0 -1
- package/dist/providers/zai.d.ts.map +0 -1
- package/dist/providers/zai.js.map +0 -1
- package/dist/providers/zai.models.d.ts.map +0 -1
- package/dist/providers/zai.models.js.map +0 -1
- package/dist/session-resources.d.ts.map +0 -1
- package/dist/session-resources.js.map +0 -1
- package/dist/stream.d.ts.map +0 -1
- package/dist/stream.js.map +0 -1
- package/dist/tool-call-middleware/context-transformer.d.ts.map +0 -1
- package/dist/tool-call-middleware/context-transformer.js.map +0 -1
- package/dist/tool-call-middleware/index.d.ts.map +0 -1
- package/dist/tool-call-middleware/index.js.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/coerce-parameters.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/coerce-parameters.js.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/format.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/format.js.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/index.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/index.js.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/invoke-match.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/invoke-match.js.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/invoke-protocol.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/invoke-protocol.js.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/invoke-stream-helpers.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/invoke-stream-helpers.js.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/invoke-tag-scanner.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/invoke-tag-scanner.js.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/invoke-tag-syntax.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/invoke-tag-syntax.js.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/parse.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/parse.js.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/recovery-stream.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/recovery-stream.js.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/recovery-wrapper-state.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/recovery-wrapper-state.js.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/stream-boundary.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/stream-boundary.js.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/stream.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/stream.js.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/tool-resolver.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/tool-resolver.js.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/xml-entities.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/anthropic-xml/xml-entities.js.map +0 -1
- package/dist/tool-call-middleware/protocols/antml/coerce-parameters.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/antml/coerce-parameters.js.map +0 -1
- package/dist/tool-call-middleware/protocols/antml/config.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/antml/config.js.map +0 -1
- package/dist/tool-call-middleware/protocols/antml/format.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/antml/format.js.map +0 -1
- package/dist/tool-call-middleware/protocols/antml/index.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/antml/index.js.map +0 -1
- package/dist/tool-call-middleware/protocols/antml/parse.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/antml/parse.js.map +0 -1
- package/dist/tool-call-middleware/protocols/antml/recovery-stream.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/antml/recovery-stream.js.map +0 -1
- package/dist/tool-call-middleware/protocols/antml/repair.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/antml/repair.js.map +0 -1
- package/dist/tool-call-middleware/protocols/antml/stream.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/antml/stream.js.map +0 -1
- package/dist/tool-call-middleware/protocols/gemma4.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/gemma4.js.map +0 -1
- package/dist/tool-call-middleware/protocols/hermes.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/hermes.js.map +0 -1
- package/dist/tool-call-middleware/protocols/json-mix.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/json-mix.js.map +0 -1
- package/dist/tool-call-middleware/protocols/kimi-xtml/format.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/kimi-xtml/format.js.map +0 -1
- package/dist/tool-call-middleware/protocols/kimi-xtml/index.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/kimi-xtml/index.js.map +0 -1
- package/dist/tool-call-middleware/protocols/kimi-xtml/markers.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/kimi-xtml/markers.js.map +0 -1
- package/dist/tool-call-middleware/protocols/kimi-xtml/parse.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/kimi-xtml/parse.js.map +0 -1
- package/dist/tool-call-middleware/protocols/kimi-xtml/recovery-stream.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/kimi-xtml/recovery-stream.js.map +0 -1
- package/dist/tool-call-middleware/protocols/kimi-xtml/stream.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/kimi-xtml/stream.js.map +0 -1
- package/dist/tool-call-middleware/protocols/kimi-xtml/thinking-recovery-stream.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/kimi-xtml/thinking-recovery-stream.js.map +0 -1
- package/dist/tool-call-middleware/protocols/kimi-xtml/thinking-recovery.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/kimi-xtml/thinking-recovery.js.map +0 -1
- package/dist/tool-call-middleware/protocols/morph-xml.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/morph-xml.js.map +0 -1
- package/dist/tool-call-middleware/protocols/xml-tool-tag-scanner.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/xml-tool-tag-scanner.js.map +0 -1
- package/dist/tool-call-middleware/protocols/yaml-xml.d.ts.map +0 -1
- package/dist/tool-call-middleware/protocols/yaml-xml.js.map +0 -1
- package/dist/tool-call-middleware/recovery-code-mask.d.ts.map +0 -1
- package/dist/tool-call-middleware/recovery-code-mask.js.map +0 -1
- package/dist/tool-call-middleware/recovery-content-lifecycle.d.ts.map +0 -1
- package/dist/tool-call-middleware/recovery-content-lifecycle.js.map +0 -1
- package/dist/tool-call-middleware/recovery-diagnostics.d.ts.map +0 -1
- package/dist/tool-call-middleware/recovery-diagnostics.js.map +0 -1
- package/dist/tool-call-middleware/recovery-event-stream.d.ts.map +0 -1
- package/dist/tool-call-middleware/recovery-event-stream.js.map +0 -1
- package/dist/tool-call-middleware/recovery-message-snapshot.d.ts.map +0 -1
- package/dist/tool-call-middleware/recovery-message-snapshot.js.map +0 -1
- package/dist/tool-call-middleware/recovery-native-projection.d.ts.map +0 -1
- package/dist/tool-call-middleware/recovery-native-projection.js.map +0 -1
- package/dist/tool-call-middleware/recovery-stream-failure.d.ts.map +0 -1
- package/dist/tool-call-middleware/recovery-stream-failure.js.map +0 -1
- package/dist/tool-call-middleware/recovery-stream-terminal.d.ts.map +0 -1
- package/dist/tool-call-middleware/recovery-stream-terminal.js.map +0 -1
- package/dist/tool-call-middleware/recovery-stream-wrapper.d.ts.map +0 -1
- package/dist/tool-call-middleware/recovery-stream-wrapper.js.map +0 -1
- package/dist/tool-call-middleware/recovery-text-projection.d.ts.map +0 -1
- package/dist/tool-call-middleware/recovery-text-projection.js.map +0 -1
- package/dist/tool-call-middleware/stream-message-metadata.d.ts.map +0 -1
- package/dist/tool-call-middleware/stream-message-metadata.js.map +0 -1
- package/dist/tool-call-middleware/stream-thinking-projection.d.ts.map +0 -1
- package/dist/tool-call-middleware/stream-thinking-projection.js.map +0 -1
- package/dist/tool-call-middleware/stream-wrapper-shared.d.ts.map +0 -1
- package/dist/tool-call-middleware/stream-wrapper-shared.js.map +0 -1
- package/dist/tool-call-middleware/stream-wrapper.d.ts.map +0 -1
- package/dist/tool-call-middleware/stream-wrapper.js.map +0 -1
- package/dist/tool-call-middleware/types.d.ts.map +0 -1
- package/dist/tool-call-middleware/types.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/utils/abort-signals.d.ts.map +0 -1
- package/dist/utils/abort-signals.js.map +0 -1
- package/dist/utils/abort.d.ts.map +0 -1
- package/dist/utils/abort.js.map +0 -1
- package/dist/utils/assistant-message-frame.d.ts.map +0 -1
- package/dist/utils/assistant-message-frame.js.map +0 -1
- package/dist/utils/block-symbols.d.ts.map +0 -1
- package/dist/utils/block-symbols.js.map +0 -1
- package/dist/utils/chatgpt-subscription-auth.d.ts.map +0 -1
- package/dist/utils/chatgpt-subscription-auth.js.map +0 -1
- package/dist/utils/claude-code-version-cache.d.ts.map +0 -1
- package/dist/utils/claude-code-version-cache.js.map +0 -1
- package/dist/utils/claude-code-version.d.ts.map +0 -1
- package/dist/utils/claude-code-version.js.map +0 -1
- package/dist/utils/cursor-context-limit.d.ts.map +0 -1
- package/dist/utils/cursor-context-limit.js.map +0 -1
- package/dist/utils/deferred-tools.d.ts.map +0 -1
- package/dist/utils/deferred-tools.js.map +0 -1
- package/dist/utils/diagnostics.d.ts.map +0 -1
- package/dist/utils/diagnostics.js.map +0 -1
- package/dist/utils/drop-failed-assistant-turns.d.ts.map +0 -1
- package/dist/utils/drop-failed-assistant-turns.js.map +0 -1
- package/dist/utils/empty-response-errors.d.ts.map +0 -1
- package/dist/utils/empty-response-errors.js.map +0 -1
- package/dist/utils/error-body.d.ts.map +0 -1
- package/dist/utils/error-body.js.map +0 -1
- package/dist/utils/estimate.d.ts.map +0 -1
- package/dist/utils/estimate.js.map +0 -1
- package/dist/utils/event-stream.d.ts.map +0 -1
- package/dist/utils/event-stream.js.map +0 -1
- package/dist/utils/github-copilot-tool-limit.d.ts.map +0 -1
- package/dist/utils/github-copilot-tool-limit.js.map +0 -1
- package/dist/utils/hash.d.ts.map +0 -1
- package/dist/utils/hash.js.map +0 -1
- package/dist/utils/headers.d.ts.map +0 -1
- package/dist/utils/headers.js.map +0 -1
- package/dist/utils/json-parse.d.ts.map +0 -1
- package/dist/utils/json-parse.js.map +0 -1
- package/dist/utils/node-http-proxy.d.ts.map +0 -1
- package/dist/utils/node-http-proxy.js.map +0 -1
- package/dist/utils/overflow.d.ts.map +0 -1
- package/dist/utils/overflow.js.map +0 -1
- package/dist/utils/pi-user-agent.d.ts.map +0 -1
- package/dist/utils/pi-user-agent.js.map +0 -1
- package/dist/utils/process-singleton.d.ts.map +0 -1
- package/dist/utils/process-singleton.js.map +0 -1
- package/dist/utils/prompt-cache-ttl.d.ts.map +0 -1
- package/dist/utils/prompt-cache-ttl.js.map +0 -1
- package/dist/utils/provider-diagnostic-carrier.d.ts.map +0 -1
- package/dist/utils/provider-diagnostic-carrier.js.map +0 -1
- package/dist/utils/provider-diagnostic-sources.d.ts.map +0 -1
- package/dist/utils/provider-diagnostic-sources.js.map +0 -1
- package/dist/utils/provider-diagnostic-vocabulary.d.ts.map +0 -1
- package/dist/utils/provider-diagnostic-vocabulary.js.map +0 -1
- package/dist/utils/provider-env.d.ts.map +0 -1
- package/dist/utils/provider-env.js.map +0 -1
- package/dist/utils/provider-failure-description.d.ts.map +0 -1
- package/dist/utils/provider-failure-description.js.map +0 -1
- package/dist/utils/provider-retry.d.ts.map +0 -1
- package/dist/utils/provider-retry.js.map +0 -1
- package/dist/utils/retry-hint.d.ts.map +0 -1
- package/dist/utils/retry-hint.js.map +0 -1
- package/dist/utils/retry-profile/backoff.d.ts.map +0 -1
- package/dist/utils/retry-profile/backoff.js.map +0 -1
- package/dist/utils/retry-profile/classifiers.d.ts.map +0 -1
- package/dist/utils/retry-profile/classifiers.js.map +0 -1
- package/dist/utils/retry-profile/failure.d.ts.map +0 -1
- package/dist/utils/retry-profile/failure.js.map +0 -1
- package/dist/utils/retry-profile/index.d.ts.map +0 -1
- package/dist/utils/retry-profile/index.js.map +0 -1
- package/dist/utils/retry-profile/planner.d.ts.map +0 -1
- package/dist/utils/retry-profile/planner.js.map +0 -1
- package/dist/utils/retry-profile/profiles.d.ts.map +0 -1
- package/dist/utils/retry-profile/profiles.js.map +0 -1
- package/dist/utils/retry-profile/types.d.ts.map +0 -1
- package/dist/utils/retry-profile/types.js.map +0 -1
- package/dist/utils/retry.d.ts.map +0 -1
- package/dist/utils/retry.js.map +0 -1
- package/dist/utils/sanitize-unicode.d.ts.map +0 -1
- package/dist/utils/sanitize-unicode.js.map +0 -1
- package/dist/utils/server-fallback-receipt.d.ts.map +0 -1
- package/dist/utils/server-fallback-receipt.js.map +0 -1
- package/dist/utils/sleep.d.ts.map +0 -1
- package/dist/utils/sleep.js.map +0 -1
- package/dist/utils/stop-details.d.ts.map +0 -1
- package/dist/utils/stop-details.js.map +0 -1
- package/dist/utils/text.d.ts.map +0 -1
- package/dist/utils/text.js.map +0 -1
- package/dist/utils/tool-call-id.d.ts.map +0 -1
- package/dist/utils/tool-call-id.js.map +0 -1
- package/dist/utils/tool-choice-fallback.d.ts.map +0 -1
- package/dist/utils/tool-choice-fallback.js.map +0 -1
- package/dist/utils/tool-name-match.d.ts.map +0 -1
- package/dist/utils/tool-name-match.js.map +0 -1
- package/dist/utils/tool-pair-repair.d.ts.map +0 -1
- package/dist/utils/tool-pair-repair.js.map +0 -1
- package/dist/utils/tool-schema-compat.d.ts.map +0 -1
- package/dist/utils/tool-schema-compat.js.map +0 -1
- package/dist/utils/typebox-helpers.d.ts.map +0 -1
- package/dist/utils/typebox-helpers.js.map +0 -1
- package/dist/utils/unavailable-tool-text.d.ts.map +0 -1
- package/dist/utils/unavailable-tool-text.js.map +0 -1
- package/dist/utils/uuid.d.ts.map +0 -1
- package/dist/utils/uuid.js.map +0 -1
- package/dist/utils/validation.d.ts.map +0 -1
- package/dist/utils/validation.js.map +0 -1
- package/dist/utils/visible-text.d.ts.map +0 -1
- package/dist/utils/visible-text.js.map +0 -1
- package/dist/wire-identity.d.ts.map +0 -1
- package/dist/wire-identity.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cursor-agent.lazy.d.ts","sourceRoot":"","sources":["../../src/api/cursor-agent.lazy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAcnD,KAAK,iBAAiB,GAAG,eAAe,GAAG;IAC1C,uBAAuB,EAAE,CAAC,OAAO,EAAE;QAClC,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,WAAW,CAAC;KACrB,KAAK,OAAO,CACV;QACA,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,OAAO,CAAC;QACnB,KAAK,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;QAC5B,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,OAAO,CAAC;KACtB,EAAE,GACH,IAAI,CACN,CAAC;CACF,CAAC;AAIF;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAE5E;AAED,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB,QAAa,OAAO,CAAC,iBAAiB,CAC2B,CAAC;AAEpG,2FAA2F;AAC3F,eAAO,MAAM,cAAc,QAAO,eAAiD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cursor-agent.lazy.js","sourceRoot":"","sources":["../../src/api/cursor-agent.lazy.ts"],"names":[],"mappings":";;;;;;;;AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAoB,EAAE;IACjE,MAAM,gBAAgB,GAAG,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzG,OAAO,MAAM,kCAAC,gBAAgB,EAAC,CAAC;AACjC,CAAC,CAAC;AAsBF,IAAI,yBAAwD,CAAC;AAE7D;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAAyB;IACrE,yBAAyB,GAAG,MAAM,CAAC;AACpC,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,IAAgC,EAAE,CAC3E,yBAAyB,IAAK,CAAC,MAAM,iBAAiB,CAAC,mBAAmB,CAAC,CAAuB,CAAC;AAEpG,2FAA2F;AAC3F,MAAM,CAAC,MAAM,cAAc,GAAG,GAAoB,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC","sourcesContent":["import type { ProviderStreams } from \"../types.ts\";\nimport { lazyApi } from \"./lazy.ts\";\n\n/**\n * Loads the cursor-agent implementation through a variable specifier so\n * bundlers (browser smoke, Bun compile) cannot follow the import into the\n * Node-only HTTP/2 transport. The `.ts`/`.js` rewrite keeps the trick working\n * from both source and built output.\n */\nconst importNodeOnlyApi = (specifier: string): Promise<unknown> => {\n\tconst runtimeSpecifier = import.meta.url.endsWith(\".js\") ? specifier.replace(/\\.ts$/, \".js\") : specifier;\n\treturn import(runtimeSpecifier);\n};\n\ntype CursorAgentModule = ProviderStreams & {\n\tfetchCursorUsableModels: (options: {\n\t\tapiKey: string;\n\t\tbaseUrl?: string;\n\t\ttimeoutMs?: number;\n\t\tsignal?: AbortSignal;\n\t}) => Promise<\n\t\t| {\n\t\t\t\tid: string;\n\t\t\t\tname: string;\n\t\t\t\treasoning: boolean;\n\t\t\t\tinput: (\"text\" | \"image\")[];\n\t\t\t\tcontextWindow: number;\n\t\t\t\tmaxTokens: number;\n\t\t\t\tcursorMaxMode: boolean;\n\t\t }[]\n\t\t| null\n\t>;\n};\n\nlet cursorAgentModuleOverride: CursorAgentModule | undefined;\n\n/**\n * Overrides the dynamically imported cursor-agent implementation. Used by the\n * Bun binary build, where the variable-specifier import cannot be bundled;\n * the build registers a statically imported module instead.\n */\nexport function setCursorAgentProviderModule(module: CursorAgentModule): void {\n\tcursorAgentModuleOverride = module;\n}\n\n/** Loads the Node-only cursor-agent module (stream + model discovery). */\nexport const loadCursorAgentModule = async (): Promise<CursorAgentModule> =>\n\tcursorAgentModuleOverride ?? ((await importNodeOnlyApi(\"./cursor-agent.ts\")) as CursorAgentModule);\n\n/** Lazy wrapper: keeps the Node-only Cursor agent transport out of eager import graphs. */\nexport const cursorAgentApi = (): ProviderStreams => lazyApi(loadCursorAgentModule);\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cursor-conversation-rotation.d.ts","sourceRoot":"","sources":["../../src/api/cursor-conversation-rotation.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,iCAAiC,IAAI,CAAC;AACnD,eAAO,MAAM,wCAAwC,MAAM,CAAC;AAC5D,eAAO,MAAM,oCAAoC,2EACwB,CAAC;AAI1E,MAAM,MAAM,0BAA0B,GAAG;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC;AASpH,MAAM,MAAM,yBAAyB,GAAG;IACvC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC;;;;OAIG;IACH,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACrD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1D,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,cAAc,CAAC;IAC7E,mEAAmE;IACnE,WAAW,IAAI,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,OAAO,CAElG;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE;IACxD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC7B,GAAG,yBAAyB,CAoF5B;AAED,wBAAgB,sCAAsC,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAOnG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cursor-conversation-rotation.js","sourceRoot":"","sources":["../../src/api/cursor-conversation-rotation.ts"],"names":[],"mappings":"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","sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport { mkdirSync, readFileSync, writeFileSync } from \"node:fs\";\nimport { dirname } from \"node:path\";\n\nexport const MAX_CURSOR_CONVERSATION_ROTATIONS = 3;\nexport const MAX_CURSOR_CONVERSATION_ROTATION_RECORDS = 512;\nexport const CURSOR_CONVERSATION_POISONED_MESSAGE =\n\t\"Cursor conversation is poisoned for this session; use another provider\";\n\nconst RESOURCE_EXHAUSTED_PATTERN = /resource.?exhausted/i;\n\nexport type ConversationRotationRecord = {\n\treadonly wireId: string;\n\treadonly poisonCount: number;\n\treadonly skip: boolean;\n\t/**\n\t * A 0-token RE was already surfaced to the session layer for this base\n\t * conversation, so compaction has had its turn and rotation may proceed.\n\t */\n\treadonly surfaced: boolean;\n};\n\nexport type PoisonDecision = { readonly kind: \"rotated\"; readonly wireId: string } | { readonly kind: \"exhausted\" };\n\ntype MutableRecord = {\n\twireId: string;\n\tpoisonCount: number;\n\tskip: boolean;\n\tsurfaced: boolean;\n};\n\nexport type ConversationRotationStore = {\n\tgetWireId(baseId: string): string;\n\tshouldSkip(baseId: string): boolean;\n\t/**\n\t * True until a 0-token RE has been surfaced once for `baseId`. The first\n\t * failure must reach the session layer so compact-before-rotate can shrink\n\t * an oversized payload; only after that is rotation the right remedy.\n\t */\n\tshouldSurfaceBeforeRotating(baseId: string): boolean;\n\tmarkSurfaced(baseId: string, currentWireId: string): void;\n\trecordZeroTokenPoison(baseId: string, currentWireId: string): PoisonDecision;\n\t/** Number of retained records (bounded; diagnostics for #1024). */\n\trecordCount(): number;\n};\n\nexport function isZeroTokenResourceExhausted(errorMessage: string, sawTokenDelta: boolean): boolean {\n\treturn !sawTokenDelta && RESOURCE_EXHAUSTED_PATTERN.test(errorMessage);\n}\n\nexport function createConversationRotationStore(options: {\n\treadonly persistPath: string;\n\treadonly randomId?: () => string;\n\treadonly maxRecords?: number;\n}): ConversationRotationStore {\n\tconst randomId = options.randomId ?? randomUUID;\n\tconst maxRecords =\n\t\toptions.maxRecords ??\n\t\treadRotationRecordLimit(process.env.PI_CURSOR_ROTATION_RECORD_LIMIT) ??\n\t\tMAX_CURSOR_CONVERSATION_ROTATION_RECORDS;\n\tconst records = loadRecords(options.persistPath);\n\n\t// #1024: records accumulate one per base conversation id for process\n\t// lifetime (and each persist rewrites the whole file). Object key order is\n\t// insertion order for these uuid-shaped ids, so the oldest records drop\n\t// first. Poison memory survives process restarts via the persisted file;\n\t// trimming only forgets the oldest ids, which re-derive cheaply (at most a\n\t// surfaced 0-token RE per id).\n\tconst trimRecords = (): void => {\n\t\tconst keys = Object.keys(records);\n\t\tfor (let i = 0; i < keys.length - maxRecords; i++) delete records[keys[i]];\n\t};\n\n\tconst persist = (): void => {\n\t\ttrimRecords();\n\t\tmkdirSync(dirname(options.persistPath), { recursive: true });\n\t\twriteFileSync(options.persistPath, `${JSON.stringify(records, null, 2)}\\n`);\n\t};\n\n\treturn {\n\t\tgetWireId(baseId: string): string {\n\t\t\tconst existing = records[baseId];\n\t\t\tif (!existing) return baseId;\n\t\t\tif (!existing.skip) return existing.wireId;\n\t\t\tconst wireId = randomId();\n\t\t\texisting.wireId = wireId;\n\t\t\texisting.skip = false;\n\t\t\texisting.poisonCount = 0;\n\t\t\t// A reminted id is a fresh conversation: it earns its own surface-first\n\t\t\t// pass so compaction runs again before rotation resumes.\n\t\t\texisting.surfaced = false;\n\t\t\trecords[baseId] = existing;\n\t\t\tpersist();\n\t\t\treturn wireId;\n\t\t},\n\t\tshouldSkip(baseId: string): boolean {\n\t\t\treturn records[baseId]?.skip === true;\n\t\t},\n\t\tshouldSurfaceBeforeRotating(baseId: string): boolean {\n\t\t\treturn records[baseId]?.surfaced !== true;\n\t\t},\n\t\tmarkSurfaced(baseId: string, currentWireId: string): void {\n\t\t\tconst existing = records[baseId] ?? {\n\t\t\t\twireId: currentWireId,\n\t\t\t\tpoisonCount: 0,\n\t\t\t\tskip: false,\n\t\t\t\tsurfaced: false,\n\t\t\t};\n\t\t\tif (existing.surfaced) return;\n\t\t\texisting.surfaced = true;\n\t\t\trecords[baseId] = existing;\n\t\t\tpersist();\n\t\t},\n\t\trecordCount(): number {\n\t\t\treturn Object.keys(records).length;\n\t\t},\n\t\trecordZeroTokenPoison(baseId: string, currentWireId: string): PoisonDecision {\n\t\t\tconst existing = records[baseId] ?? {\n\t\t\t\twireId: currentWireId,\n\t\t\t\tpoisonCount: 0,\n\t\t\t\tskip: false,\n\t\t\t\tsurfaced: false,\n\t\t\t};\n\t\t\tif (existing.skip || existing.poisonCount >= MAX_CURSOR_CONVERSATION_ROTATIONS) {\n\t\t\t\texisting.skip = true;\n\t\t\t\texisting.wireId = currentWireId;\n\t\t\t\trecords[baseId] = existing;\n\t\t\t\tpersist();\n\t\t\t\treturn { kind: \"exhausted\" };\n\t\t\t}\n\t\t\tconst wireId = randomId();\n\t\t\texisting.wireId = wireId;\n\t\t\texisting.poisonCount += 1;\n\t\t\trecords[baseId] = existing;\n\t\t\tpersist();\n\t\t\treturn { kind: \"rotated\", wireId };\n\t\t},\n\t};\n}\n\nexport function resolveConversationRotationPersistPath(env: NodeJS.ProcessEnv = process.env): string {\n\tif (env.CURSOR_CONVERSATION_ID_STORE) {\n\t\treturn env.CURSOR_CONVERSATION_ID_STORE;\n\t}\n\tconst agentDir =\n\t\tenv.SENPI_CODING_AGENT_DIR ?? env.CODING_AGENT_DIR ?? `${(env.HOME ?? \".\").replace(/\\/$/, \"\")}/.senpi/agent`;\n\treturn `${agentDir.replace(/\\/$/, \"\")}/cursor-conversation-ids.json`;\n}\n\nfunction readRotationRecordLimit(raw: string | undefined): number | undefined {\n\tconst parsed = Number(raw);\n\treturn Number.isFinite(parsed) && parsed > 0 ? Math.floor(parsed) : undefined;\n}\n\nfunction loadRecords(persistPath: string): Record<string, MutableRecord> {\n\ttry {\n\t\tconst parsed: unknown = JSON.parse(readFileSync(persistPath, \"utf8\"));\n\t\tif (!parsed || typeof parsed !== \"object\" || Array.isArray(parsed)) {\n\t\t\treturn {};\n\t\t}\n\t\tconst records: Record<string, MutableRecord> = {};\n\t\tfor (const [baseId, value] of Object.entries(parsed)) {\n\t\t\tif (!value || typeof value !== \"object\") continue;\n\t\t\tconst raw = value as { wireId?: unknown; poisonCount?: unknown; skip?: unknown; surfaced?: unknown };\n\t\t\tif (typeof raw.wireId !== \"string\" || raw.wireId.length === 0) continue;\n\t\t\trecords[baseId] = {\n\t\t\t\twireId: raw.wireId,\n\t\t\t\tpoisonCount: typeof raw.poisonCount === \"number\" && raw.poisonCount >= 0 ? raw.poisonCount : 0,\n\t\t\t\tskip: raw.skip === true,\n\t\t\t\tsurfaced: raw.surfaced === true,\n\t\t\t};\n\t\t}\n\t\treturn records;\n\t} catch {\n\t\treturn {};\n\t}\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cursor-task-args.d.ts","sourceRoot":"","sources":["../../src/api/cursor-task-args.ts"],"names":[],"mappings":"AAAA,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASrF;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAInE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cursor-task-args.js","sourceRoot":"","sources":["../../src/api/cursor-task-args.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,sBAAsB,CAAC,IAAa;IACnD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3E,MAAM,GAAG,GAAG,IAA+B,CAAC;IAC5C,OAAO,OAAO,CACb,GAAG,CAAC,QAAQ;QACX,GAAG,CAAC,aAAa;QACjB,CAAC,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACrD,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CACnD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAI,QAAW,EAAE,IAAO;IAC/D,IAAI,sBAAsB,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,IAAI,sBAAsB,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IACtD,OAAO,IAAI,CAAC;AACb,CAAC","sourcesContent":["export function isUsableCursorTaskArgs(args: unknown): args is Record<string, unknown> {\n\tif (!args || typeof args !== \"object\" || Array.isArray(args)) return false;\n\tconst rec = args as Record<string, unknown>;\n\treturn Boolean(\n\t\trec.category ||\n\t\t\trec.subagent_type ||\n\t\t\t(typeof rec.prompt === \"string\" && rec.prompt.trim()) ||\n\t\t\t(Array.isArray(rec.tasks) && rec.tasks.length > 0),\n\t);\n}\n\nexport function keepUsableCursorTaskArgs<T>(previous: T, next: T): T {\n\tif (isUsableCursorTaskArgs(next)) return next;\n\tif (isUsableCursorTaskArgs(previous)) return previous;\n\treturn next;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/api/devin-agent/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACN,KAAK,iBAAiB,EAKtB,MAAM,qBAAqB,CAAC;AAqB7B,MAAM,WAAW,qBAAqB;IACrC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,GAAG,SAAS,CAAC,CAwBlH;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,EAAE,CAcnH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/api/devin-agent/discovery.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Cascade model discovery.\n *\n * `GetCliModelConfigs` is credential-scoped: it reports the models the signed-in\n * account may actually use, which differs per plan and per rollout. A failed or\n * empty response therefore returns undefined so callers KEEP their static seed\n * instead of publishing an empty catalog.\n */\n\nimport type { Model } from \"../../types.ts\";\nimport {\n\ttype ClientModelConfig,\n\tDisplayOption,\n\tGetCliModelConfigsRequestSchema,\n\tGetCliModelConfigsResponseSchema,\n\tModelDimensionKind,\n} from \"./gen/cascade_pb.ts\";\nimport { devinDiscoveryMetadata } from \"./metadata.ts\";\nimport { DEVIN_CLI_MODEL_CONFIGS_PATH, DEVIN_DEFAULT_BASE_URL } from \"./paths.ts\";\nimport { postDevinUnary } from \"./unary.ts\";\n\nconst DISCOVERY_TIMEOUT_MS = 5_000;\nconst DEFAULT_CONTEXT_WINDOW = 200_000;\nconst DEFAULT_MAX_TOKENS = 64_000;\n\n/** Slots requested for parity with the native client but never surfaced as models. */\nconst INTERNAL_DISPLAYS: ReadonlySet<DisplayOption> = new Set([\n\tDisplayOption.QUICK_REVIEW,\n\tDisplayOption.INTERNAL_DEFAULT,\n]);\n\n/**\n * Lanes whose configs advertise image support while the backend silently drops\n * `ChatMessagePrompt.images` (verified live on SWE-1.6 and SWE-1.6 Fast).\n */\nconst IMAGE_BLIND_UIDS: ReadonlySet<string> = new Set([\"swe-1-6\", \"swe-1-6-fast\"]);\n\nexport interface DevinDiscoveryOptions {\n\tapiKey: string | undefined;\n\tbaseUrl?: string;\n\ttimeoutMs?: number;\n\tsignal?: AbortSignal;\n}\n\nexport async function fetchDevinModels(options: DevinDiscoveryOptions): Promise<Model<\"devin-agent\">[] | undefined> {\n\tconst baseUrl = (options.baseUrl ?? DEVIN_DEFAULT_BASE_URL).replace(/\\/+$/, \"\");\n\tconst controller = new AbortController();\n\tconst onAbort = () => controller.abort();\n\toptions.signal?.addEventListener(\"abort\", onAbort, { once: true });\n\tconst timeout = setTimeout(() => controller.abort(), options.timeoutMs ?? DISCOVERY_TIMEOUT_MS);\n\n\ttry {\n\t\tconst response = await postDevinUnary({\n\t\t\tbaseUrl,\n\t\t\tpath: DEVIN_CLI_MODEL_CONFIGS_PATH,\n\t\t\trequestSchema: GetCliModelConfigsRequestSchema,\n\t\t\trequest: { metadata: devinDiscoveryMetadata(options.apiKey) },\n\t\t\tresponseSchema: GetCliModelConfigsResponseSchema,\n\t\t\tsignal: controller.signal,\n\t\t});\n\t\tconst models = normalizeDevinModels(response.clientModelConfigs, baseUrl);\n\t\treturn models.length > 0 ? models : undefined;\n\t} catch {\n\t\treturn undefined;\n\t} finally {\n\t\tclearTimeout(timeout);\n\t\toptions.signal?.removeEventListener(\"abort\", onAbort);\n\t}\n}\n\nexport function normalizeDevinModels(configs: readonly ClientModelConfig[], baseUrl: string): Model<\"devin-agent\">[] {\n\tconst seen = new Set<string>();\n\tconst models: Model<\"devin-agent\">[] = [];\n\tfor (const config of configs) {\n\t\tif (config.disabled) continue;\n\t\tconst display = config.modelInfo?.displayOption ?? DisplayOption.UNSPECIFIED;\n\t\tif (INTERNAL_DISPLAYS.has(display)) continue;\n\t\tconst uid = config.modelUid.trim();\n\t\tif (!uid || seen.has(uid)) continue;\n\t\tseen.add(uid);\n\t\tconst isRouter = display === DisplayOption.MODEL_ROUTER || config.modelInfo?.isModelRouter === true;\n\t\tmodels.push(toModel(config, uid, baseUrl, isRouter));\n\t}\n\treturn models.sort((a, b) => a.id.localeCompare(b.id));\n}\n\nfunction toModel(config: ClientModelConfig, uid: string, baseUrl: string, isRouter: boolean): Model<\"devin-agent\"> {\n\tconst features = config.modelInfo?.modelFeatures;\n\tconst supportsImages = (features ? features.supportsImages : config.supportsImages) && !IMAGE_BLIND_UIDS.has(uid);\n\tconst maxOutputTokens = config.modelInfo?.maxOutputTokens ?? 0;\n\tconst compat = {\n\t\t...(isRouter ? { modelRouter: true } : {}),\n\t\t...(features?.supportsParallelToolCalls === true ? { supportsParallelToolCalls: true } : {}),\n\t};\n\treturn {\n\t\tid: uid,\n\t\tname: config.label.trim() || uid,\n\t\tapi: \"devin-agent\",\n\t\tprovider: \"devin\",\n\t\tbaseUrl,\n\t\t// The catalog's supportsThinking flag (and effort-sounding labels) describe\n\t\t// whether the lane produces thinking output, not whether the client may pick\n\t\t// a level: Cascade has no request-side thinking field, so the effort baked into\n\t\t// the lane uid is the only control and a generic level is never forwarded.\n\t\treasoning: false,\n\t\tinput: supportsImages ? [\"text\", \"image\"] : [\"text\"],\n\t\tcost: costOf(config),\n\t\tcontextWindow: config.maxTokens > 0 ? config.maxTokens : DEFAULT_CONTEXT_WINDOW,\n\t\tmaxTokens: maxOutputTokens > 0 ? maxOutputTokens : DEFAULT_MAX_TOKENS,\n\t\t...(Object.keys(compat).length > 0 ? { compat } : {}),\n\t};\n}\n\n/** Per-million rates from the cost dimensions; Devin bills cache writes at the input rate, so cacheWrite stays 0. */\nfunction costOf(config: ClientModelConfig): Model<\"devin-agent\">[\"cost\"] {\n\tconst cost = { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 };\n\tfor (const dimension of config.modelDimensions) {\n\t\tif (dimension.kind !== ModelDimensionKind.COST && dimension.kind !== ModelDimensionKind.COST_FUZZY) continue;\n\t\t// Dimension values arrive as protobuf floats (0.1 decodes as 0.10000000149…); round at sub-cent precision.\n\t\tconst perMillion =\n\t\t\tMath.round(((dimension.value * 1_000_000) / denominatorTokens(dimension.denominator)) * 1e6) / 1e6;\n\t\tswitch (dimension.label.trim().toLowerCase()) {\n\t\t\tcase \"input\":\n\t\t\t\tcost.input = perMillion;\n\t\t\t\tbreak;\n\t\t\tcase \"cached input\":\n\t\t\t\tcost.cacheRead = perMillion;\n\t\t\t\tbreak;\n\t\t\tcase \"output\":\n\t\t\t\tcost.output = perMillion;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t}\n\treturn cost;\n}\n\nconst DENOMINATOR_SCALE: Readonly<Record<string, number>> = { k: 1_000, m: 1_000_000, b: 1_000_000_000 };\n\nfunction denominatorTokens(denominator: string): number {\n\tconst match = /(\\d+(?:\\.\\d+)?)\\s*([kmb])?/i.exec(denominator);\n\tif (!match?.[1]) return 1_000_000;\n\tconst scale = match[2] ? (DENOMINATOR_SCALE[match[2].toLowerCase()] ?? 1) : 1;\n\tconst tokens = Number(match[1]) * scale;\n\treturn tokens > 0 ? tokens : 1_000_000;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"frames.d.ts","sourceRoot":"","sources":["../../../src/api/devin-agent/frames.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,KAAK,WAAW,EAAc,KAAK,YAAY,EAAY,MAAM,oBAAoB,CAAC;AAG/F,MAAM,WAAW,UAAU,CAAC,OAAO,SAAS,WAAW;IACtD,kEAAkE;IAClE,OAAO,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAChC,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qEAAqE;AACrE,wBAAgB,gBAAgB,CAAC,OAAO,SAAS,WAAW,EAC3D,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,GAC5B,UAAU,CAAC,WAAW,CAAC,CAOzB;AAED;;;;GAIG;AACH,wBAAuB,iBAAiB,CAAC,OAAO,SAAS,WAAW,EACnE,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,EAChC,MAAM,EAAE,OAAO,GACb,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CA4BrC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"frames.js","sourceRoot":"","sources":["../../../src/api/devin-agent/frames.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Connect streaming frame codec.\n *\n * Each frame is a 5-byte prefix - one flag byte plus a big-endian payload\n * length - followed by the payload. Requests are gzipped (flag 0x01); the final\n * response frame carries JSON trailers (flag 0x02) instead of a message.\n */\n\nimport { gunzipSync, gzipSync } from \"node:zlib\";\nimport { type DescMessage, fromBinary, type MessageShape, toBinary } from \"@bufbuild/protobuf\";\nimport { DEVIN_COMPRESSED_FLAG, DEVIN_MAX_FRAME_PAYLOAD, DEVIN_TRAILER_FLAG } from \"./paths.ts\";\n\nexport interface DevinFrame<TSchema extends DescMessage> {\n\t/** Decoded message, absent on the end-of-stream trailer frame. */\n\tmessage?: MessageShape<TSchema>;\n\t/** Raw trailer JSON, present only on the end-of-stream frame. */\n\ttrailer?: string;\n}\n\n/** Encodes one request message as a single gzipped Connect frame. */\nexport function encodeDevinFrame<TSchema extends DescMessage>(\n\tschema: TSchema,\n\tmessage: MessageShape<TSchema>,\n): Uint8Array<ArrayBuffer> {\n\tconst payload = gzipSync(toBinary(schema, message));\n\tconst frame = new Uint8Array(5 + payload.byteLength);\n\tframe[0] = DEVIN_COMPRESSED_FLAG;\n\tnew DataView(frame.buffer).setUint32(1, payload.byteLength, false);\n\tframe.set(payload, 5);\n\treturn frame;\n}\n\n/**\n * Decodes a Connect frame stream. Yields one entry per frame in arrival order\n * so callers can map deltas as they land; the trailer frame yields its raw JSON\n * instead of a message.\n */\nexport async function* decodeDevinFrames<TSchema extends DescMessage>(\n\tbody: ReadableStream<Uint8Array>,\n\tschema: TSchema,\n): AsyncGenerator<DevinFrame<TSchema>> {\n\tlet pending: Uint8Array<ArrayBufferLike> = new Uint8Array(0);\n\tconst reader = body.getReader();\n\ttry {\n\t\tfor (;;) {\n\t\t\tconst { done, value } = await reader.read();\n\t\t\tif (value && value.byteLength > 0) pending = append(pending, value);\n\t\t\twhile (pending.byteLength >= 5) {\n\t\t\t\tconst view = new DataView(pending.buffer, pending.byteOffset, pending.byteLength);\n\t\t\t\tconst length = view.getUint32(1, false);\n\t\t\t\tif (length > DEVIN_MAX_FRAME_PAYLOAD) {\n\t\t\t\t\tthrow new Error(`Devin Connect frame length ${length} exceeds the ${DEVIN_MAX_FRAME_PAYLOAD}-byte cap`);\n\t\t\t\t}\n\t\t\t\tif (pending.byteLength < 5 + length) break;\n\t\t\t\tconst flags = pending[0] ?? 0;\n\t\t\t\tconst raw = pending.subarray(5, 5 + length);\n\t\t\t\tconst payload: Uint8Array<ArrayBuffer> =\n\t\t\t\t\t(flags & DEVIN_COMPRESSED_FLAG) === 0 ? copyOf(raw) : copyOf(gunzipSync(raw));\n\t\t\t\tpending = pending.subarray(5 + length);\n\t\t\t\tyield (flags & DEVIN_TRAILER_FLAG) === 0\n\t\t\t\t\t? { message: fromBinary(schema, payload) }\n\t\t\t\t\t: { trailer: new TextDecoder().decode(payload) };\n\t\t\t}\n\t\t\tif (done) break;\n\t\t}\n\t} finally {\n\t\treader.releaseLock();\n\t}\n}\n\n/** protobuf-es requires an ArrayBuffer-backed view; Node buffers may be shared. */\nfunction copyOf(source: Uint8Array<ArrayBufferLike>): Uint8Array<ArrayBuffer> {\n\tconst out = new Uint8Array(source.byteLength);\n\tout.set(source);\n\treturn out;\n}\n\nfunction append(head: Uint8Array<ArrayBufferLike>, tail: Uint8Array<ArrayBufferLike>): Uint8Array<ArrayBufferLike> {\n\tif (head.byteLength === 0) return tail;\n\tconst out = new Uint8Array(head.byteLength + tail.byteLength);\n\tout.set(head, 0);\n\tout.set(tail, head.byteLength);\n\treturn out;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cascade_pb.d.ts","sourceRoot":"","sources":["../../../../src/api/devin-agent/gen/cascade_pb.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cascade_pb.js","sourceRoot":"","sources":["../../../../src/api/devin-agent/gen/cascade_pb.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,4EAA4E;AAC5E,yEAAyE;AACzE,iEAAiE;AACjE,gFAAgF;AAChF,oBAAoB;AAapB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY;AACxB,aAAa;AACb,QAAQ,CACP,kjTAAkjT,CACljT,CAAC;AA4FH;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAyB,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAuC/F;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA6B,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AA6BvG;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA+B,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAwB3G;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B;AACvC,aAAa;AACb,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAsD9B;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAmC,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAcnH;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAmC,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAwBnH;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAA0B,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AA+EjG;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAkC,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAgEjH;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B;AACzC,aAAa;AACb,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAiD9B;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAgC,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AA4F7G;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B;AACvC,aAAa;AACb,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAkF/B;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B;AACxC,aAAa;AACb,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AA6B/B;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA6B,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AA6BxG;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA8B,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAkC1G;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAA0B,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AA4ClG;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA+B,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAmB5G;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B;AAC1C,aAAa;AACb,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAmB/B;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B;AAC1C,aAAa;AACb,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAwB/B;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAoC,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAgGtH;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAkC,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAYlH;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B;AAC3C,aAAa;AACb,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAY/B;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC;AAC5C,aAAa;AACb,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAc/B;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAkC,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAmBlH;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAmC,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAwBpH;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAgC,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AA6B9G;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAmC,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAcpH;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAoC,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAEtH;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC/B;;OAEG;IACH,WAAW,EAAE,CAAC;IAEd;;OAEG;IACH,SAAS,EAAE,CAAC;CACH,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA8B,aAAa,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAEzG;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC;;OAEG;IACH,WAAW,EAAE,CAAC;IAEd;;OAEG;IACH,IAAI,EAAE,CAAC;IAEP;;OAEG;IACH,MAAM,EAAE,CAAC;IAET;;OAEG;IACH,OAAO,EAAE,CAAC;IAEV;;OAEG;IACH,IAAI,EAAE,CAAC;IAEP;;OAEG;IACH,aAAa,EAAE,CAAC;CACP,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA+B,aAAa,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAE3G;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACrC;;OAEG;IACH,WAAW,EAAE,CAAC;IAEd;;OAEG;IACH,OAAO,EAAE,CAAC;IAEV;;OAEG;IACH,aAAa,EAAE,CAAC;IAEhB;;OAEG;IACH,IAAI,EAAE,CAAC;IAEP;;OAEG;IACH,OAAO,EAAE,CAAC;IAEV;;OAEG;IACH,OAAO,EAAE,CAAC;CACD,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAoC,aAAa,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAErH;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB;;OAEG;IACH,WAAW,EAAE,CAAC;IAEd;;OAEG;IACH,UAAU,EAAE,CAAC;IAEb;;OAEG;IACH,YAAY,EAAE,CAAC;IAEf;;OAEG;IACH,UAAU,EAAE,CAAC;IAEb;;OAEG;IACH,YAAY,EAAE,CAAC;IAEf;;OAEG;IACH,YAAY,EAAE,CAAC;IAEf;;OAEG;IACH,UAAU,EAAE,CAAC;IAEb;;OAEG;IACH,uBAAuB,EAAE,CAAC;IAE1B;;OAEG;IACH,yBAAyB,EAAE,CAAC;IAE5B;;OAEG;IACH,OAAO,EAAE,CAAC;IAEV;;OAEG;IACH,aAAa,EAAE,EAAE;IAEjB;;OAEG;IACH,cAAc,EAAE,EAAE;IAElB;;OAEG;IACH,aAAa,EAAE,EAAE;IAEjB;;OAEG;IACH,KAAK,EAAE,EAAE;CACA,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAwB,aAAa,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAE7F;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACxC;;OAEG;IACH,WAAW,EAAE,CAAC;IAEd;;OAEG;IACH,OAAO,EAAE,CAAC;IAEV;;OAEG;IACH,SAAS,EAAE,CAAC;IAEZ;;OAEG;IACH,OAAO,EAAE,CAAC;IAEV;;OAEG;IACH,OAAO,EAAE,CAAC;IAEV;;OAEG;IACH,QAAQ,EAAE,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,CAAC;CACE,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B;AAC3C,aAAa;AACb,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAE3B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC5B;;OAEG;IACH,WAAW,EAAE,CAAC;IAEd;;OAEG;IACH,KAAK,EAAE,CAAC;IAER;;OAEG;IACH,iBAAiB,EAAE,CAAC;IAEpB;;OAEG;IACH,YAAY,EAAE,CAAC;IAEf;;OAEG;IACH,YAAY,EAAE,CAAC;IAEf;;OAEG;IACH,gBAAgB,EAAE,CAAC;IAEnB;;OAEG;IACH,YAAY,EAAE,CAAC;IAEf;;OAEG;IACH,MAAM,EAAE,CAAC;CACA,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA2B,aAAa,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAEnG;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IACjC;;OAEG;IACH,WAAW,EAAE,CAAC;IAEd;;OAEG;IACH,IAAI,EAAE,CAAC;IAEP;;OAEG;IACH,UAAU,EAAE,CAAC;CACJ,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAgC,aAAa,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC","sourcesContent":["// Generated from the vendored Cascade schema subset at\n// packages/ai/proto/devin/cascade.proto. TS enums are rewritten to erasable\n// const objects by packages/ai/scripts/transform-cursor-agent-proto.mjs.\n// @generated by protoc-gen-es v2.13.0 with parameter \"target=ts\"\n// @generated from file cascade.proto (package exa.api_server_pb, syntax proto3)\n/* eslint-disable */\n\n// Vendored SUBSET of Codeium/Windsurf Cascade's protobuf surface, transcribed\n// from the schemas Devin's released CLI speaks. Only the messages, fields and\n// enum values senpi's devin-agent transport reads or writes are declared; every\n// field number and wire type matches the upstream schema exactly, so unknown\n// upstream fields round-trip as unknown fields instead of corrupting a message.\n//\n// Package name is cosmetic: Connect binary framing carries no message names and\n// the RPC paths are spelled out in packages/ai/src/api/devin-agent/paths.ts.\n\nimport type { Message } from \"@bufbuild/protobuf\";\nimport type { GenEnum, GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { enumDesc, fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\n\n/**\n * Describes the file cascade.proto.\n */\nexport const file_cascade: GenFile =\n\t/*@__PURE__*/\n\tfileDesc(\n\t\t\"Cg1jYXNjYWRlLnByb3RvEhFleGEuYXBpX3NlcnZlcl9wYiKBAwoITWV0YWRhdGESEAoIaWRlX25hbWUYASABKAkSGQoRZXh0ZW5zaW9uX3ZlcnNpb24YAiABKAkSDwoHYXBpX2tleRgDIAEoCRIOCgZsb2NhbGUYBCABKAkSCgoCb3MYBSABKAkSGQoRZGlzYWJsZV90ZWxlbWV0cnkYBiABKAgSEwoLaWRlX3ZlcnNpb24YByABKAkSEAoIaGFyZHdhcmUYCCABKAkSEgoKcmVxdWVzdF9pZBgJIAEoBBISCgpzZXNzaW9uX2lkGAogASgJEhYKDmV4dGVuc2lvbl9uYW1lGAwgASgJEhAKCHVzZXJfand0GBUgASgJEhUKDWZvcmNlX3RlYW1faWQYFiABKAkSGgoSZGV2aWNlX2ZpbmdlcnByaW50GBggASgJEhAKCGlkZV90eXBlGBwgASgJEkIKGHN1cHBvcnRlZF9tb2RlbF9kaXNwbGF5cxgeIAMoDjIgLmV4YS5hcGlfc2VydmVyX3BiLkRpc3BsYXlPcHRpb24ikQEKDENoYXRUb29sQ2FsbBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhYKDmFyZ3VtZW50c19qc29uGAMgASgJEhgKEGludmFsaWRfanNvbl9zdHIYBCABKAkSGAoQaW52YWxpZF9qc29uX2VychgFIAEoCRIbChNpc19jdXN0b21fdG9vbF9jYWxsGAYgASgIIkYKDkNoYXRUb29sQ2hvaWNlEhUKC29wdGlvbl9uYW1lGAEgASgJSAASEwoJdG9vbF9uYW1lGAIgASgJSABCCAoGY2hvaWNlImQKFUNvbXB1dGVyVXNlVG9vbENvbmZpZxIYChBkaXNwbGF5X3dpZHRoX3B4GAEgASgFEhkKEWRpc3BsYXlfaGVpZ2h0X3B4GAIgASgFEhYKDmRpc3BsYXlfbnVtYmVyGAMgASgFIsACChJDaGF0VG9vbERlZmluaXRpb24SDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIaChJqc29uX3NjaGVtYV9zdHJpbmcYAyABKAkSHwoXYXR0cmlidXRpb25fZmllbGRfbmFtZXMYBSADKAkSEwoLc2VydmVyX25hbWUYBiABKAkSGwoOcmVhZF9vbmx5X2hpbnQYByABKAhIAIgBARJFChNjb21wdXRlcl91c2VfY29uZmlnGAggASgLMiguZXhhLmFwaV9zZXJ2ZXJfcGIuQ29tcHV0ZXJVc2VUb29sQ29uZmlnEhsKDmlzX2N1c3RvbV90b29sGAkgASgISAGIAQESDgoGc3RyaWN0GAwgASgIQhEKD19yZWFkX29ubHlfaGludEIRCg9faXNfY3VzdG9tX3Rvb2wiRwoSUHJvbXB0Q2FjaGVPcHRpb25zEjEKBHR5cGUYASABKA4yIy5leGEuYXBpX3NlcnZlcl9wYi5DYWNoZUNvbnRyb2xUeXBlIkQKCUltYWdlRGF0YRITCgtiYXNlNjRfZGF0YRgBIAEoCRIRCgltaW1lX3R5cGUYAiABKAkSDwoHY2FwdGlvbhgDIAEoCSLWAwoRQ2hhdE1lc3NhZ2VQcm9tcHQSEgoKbWVzc2FnZV9pZBgBIAEoCRI0CgZzb3VyY2UYAiABKA4yJC5leGEuYXBpX3NlcnZlcl9wYi5DaGF0TWVzc2FnZVNvdXJjZRIOCgZwcm9tcHQYAyABKAkSEgoKbnVtX3Rva2VucxgEIAEoDRIfChdzYWZlX2Zvcl9jb2RlX3RlbGVtZXRyeRgFIAEoCBIzCgp0b29sX2NhbGxzGAYgAygLMh8uZXhhLmFwaV9zZXJ2ZXJfcGIuQ2hhdFRvb2xDYWxsEhQKDHRvb2xfY2FsbF9pZBgHIAEoCRJDChRwcm9tcHRfY2FjaGVfb3B0aW9ucxgIIAEoCzIlLmV4YS5hcGlfc2VydmVyX3BiLlByb21wdENhY2hlT3B0aW9ucxIcChR0b29sX3Jlc3VsdF9pc19lcnJvchgJIAEoCBIsCgZpbWFnZXMYCiADKAsyHC5leGEuYXBpX3NlcnZlcl9wYi5JbWFnZURhdGESEAoIdGhpbmtpbmcYCyABKAkSEQoJc2lnbmF0dXJlGAwgASgJEhkKEXRoaW5raW5nX3JlZGFjdGVkGA0gASgIEhYKDnNpZ25hdHVyZV90eXBlGBIgASgJIowCChdDb21wbGV0aW9uQ29uZmlndXJhdGlvbhIXCg9udW1fY29tcGxldGlvbnMYASABKAQSEgoKbWF4X3Rva2VucxgCIAEoBBIUCgxtYXhfbmV3bGluZXMYAyABKAQSGwoTbWluX2xvZ19wcm9iYWJpbGl0eRgEIAEoARITCgt0ZW1wZXJhdHVyZRgFIAEoARIZChFmaXJzdF90ZW1wZXJhdHVyZRgGIAEoARINCgV0b3BfaxgHIAEoBBINCgV0b3BfcBgIIAEoARIVCg1zdG9wX3BhdHRlcm5zGAkgAygJEgwKBHNlZWQYCiABKAQSHgoWZmltX2VvdF9wcm9iX3RocmVzaG9sZBgLIAEoASLUAQoPTW9kZWxVc2FnZVN0YXRzEhQKDGlucHV0X3Rva2VucxgCIAEoBBIVCg1vdXRwdXRfdG9rZW5zGAMgASgEEhoKEmNhY2hlX3dyaXRlX3Rva2VucxgEIAEoBBIZChFjYWNoZV9yZWFkX3Rva2VucxgFIAEoBBISCgptZXNzYWdlX2lkGAcgASgJEhEKCW1vZGVsX3VpZBgJIAEoCRIZChFiaWxsaW5nX21vZGVsX3VpZBgKIAEoCRIbChNyZXF1ZXN0ZWRfbW9kZWxfdWlkGAsgASgJIowGChVHZXRDaGF0TWVzc2FnZVJlcXVlc3QSLQoIbWV0YWRhdGEYASABKAsyGy5leGEuYXBpX3NlcnZlcl9wYi5NZXRhZGF0YRIOCgZwcm9tcHQYAiABKAkSQgoUY2hhdF9tZXNzYWdlX3Byb21wdHMYAyADKAsyJC5leGEuYXBpX3NlcnZlcl9wYi5DaGF0TWVzc2FnZVByb21wdBIfChd1c2VfaW50ZXJuYWxfY2hhdF9tb2RlbBgFIAEoCBI/CgxyZXF1ZXN0X3R5cGUYByABKA4yKS5leGEuYXBpX3NlcnZlcl9wYi5DaGF0TWVzc2FnZVJlcXVlc3RUeXBlEkEKDWNvbmZpZ3VyYXRpb24YCCABKAsyKi5leGEuYXBpX3NlcnZlcl9wYi5Db21wbGV0aW9uQ29uZmlndXJhdGlvbhI0CgV0b29scxgKIAMoCzIlLmV4YS5hcGlfc2VydmVyX3BiLkNoYXRUb29sRGVmaW5pdGlvbhIjChtkaXNhYmxlX3BhcmFsbGVsX3Rvb2xfY2FsbHMYCyABKAgSNgoLdG9vbF9jaG9pY2UYDCABKAsyIS5leGEuYXBpX3NlcnZlcl9wYi5DaGF0VG9vbENob2ljZRJKChtzeXN0ZW1fcHJvbXB0X2NhY2hlX29wdGlvbnMYDSABKAsyJS5leGEuYXBpX3NlcnZlcl9wYi5Qcm9tcHRDYWNoZU9wdGlvbnMSFwoPY2hhdF9tb2RlbF9uYW1lGA4gASgJEhIKCmNhc2NhZGVfaWQYECABKAkSEQoJcHJvbXB0X2lkGBEgASgJEkIKDHBsYW5uZXJfbW9kZRgUIAEoDjIsLmV4YS5hcGlfc2VydmVyX3BiLkNvbnZlcnNhdGlvbmFsUGxhbm5lck1vZGUSFgoOY2hhdF9tb2RlbF91aWQYFSABKAkSFAoMZXhlY3V0aW9uX2lkGBYgASgJEiEKFG1vZGVsX2Fzc2lnbm1lbnRfand0GBogASgJSACIAQFCFwoVX21vZGVsX2Fzc2lnbm1lbnRfand0Iu8DChZHZXRDaGF0TWVzc2FnZVJlc3BvbnNlEhIKCm1lc3NhZ2VfaWQYASABKAkSEgoKZGVsdGFfdGV4dBgDIAEoCRIUCgxkZWx0YV90b2tlbnMYBCABKA0SMgoLc3RvcF9yZWFzb24YBSABKA4yHS5leGEuYXBpX3NlcnZlcl9wYi5TdG9wUmVhc29uEjkKEGRlbHRhX3Rvb2xfY2FsbHMYBiADKAsyHy5leGEuYXBpX3NlcnZlcl9wYi5DaGF0VG9vbENhbGwSMQoFdXNhZ2UYByABKAsyIi5leGEuYXBpX3NlcnZlcl9wYi5Nb2RlbFVzYWdlU3RhdHMSFgoOZGVsdGFfdGhpbmtpbmcYCSABKAkSFwoPZGVsdGFfc2lnbmF0dXJlGAogASgJEhkKEXRoaW5raW5nX3JlZGFjdGVkGAsgASgIEhMKC2NyZWRpdF9jb3N0GA4gASgFEhEKCW91dHB1dF9pZBgPIAEoCRISCgpyZXF1ZXN0X2lkGBEgASgJEh0KFWNvbW1pdHRlZF9jcmVkaXRfY29zdBgSIAEoBRIaChJjb21taXR0ZWRfYWN1X2Nvc3QYFiABKAESHQoQYWN0dWFsX21vZGVsX3VpZBgXIAEoCUgAiAEBQhMKEV9hY3R1YWxfbW9kZWxfdWlkIjoKDE1vZGVsT3JBbGlhcxIPCgVtb2RlbBgBIAEoCUgAEg8KBWFsaWFzGAIgASgJSABCCAoGY2hvaWNlIoYBCg1Nb2RlbEZlYXR1cmVzEhcKD3N1cHBvcnRzX2ltYWdlcxgLIAEoCBIbChNzdXBwb3J0c190b29sX2NhbGxzGAwgASgIEhkKEXN1cHBvcnRzX3RoaW5raW5nGA8gASgIEiQKHHN1cHBvcnRzX3BhcmFsbGVsX3Rvb2xfY2FsbHMYFSABKAgixgEKCU1vZGVsSW5mbxI4Cg5tb2RlbF9mZWF0dXJlcxgGIAEoCzIgLmV4YS5hcGlfc2VydmVyX3BiLk1vZGVsRmVhdHVyZXMSGQoRbWF4X291dHB1dF90b2tlbnMYDSABKAUSEQoJbW9kZWxfdWlkGBEgASgJEjgKDmRpc3BsYXlfb3B0aW9uGBYgASgOMiAuZXhhLmFwaV9zZXJ2ZXJfcGIuRGlzcGxheU9wdGlvbhIXCg9pc19tb2RlbF9yb3V0ZXIYGSABKAgiugEKDk1vZGVsRGltZW5zaW9uEg0KBWxhYmVsGAEgASgJEg0KBXZhbHVlGAIgASgCEhMKC2Rlbm9taW5hdG9yGAMgASgJEhEKCW1pbl9yYW5nZRgEIAEoAhIRCgltYXhfcmFuZ2UYBSABKAISMwoEa2luZBgGIAEoDjIlLmV4YS5hcGlfc2VydmVyX3BiLk1vZGVsRGltZW5zaW9uS2luZBIRCgRpbmZvGAcgASgJSACIAQFCBwoFX2luZm8iNwoYTW9kZWxGYW1pbHlNZXRhZGF0YVZhbHVlEg0KBW9yZGVyGAEgASgFEgwKBG5hbWUYAiABKAkiYwoYTW9kZWxGYW1pbHlNZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRI6CgV2YWx1ZRgCIAEoCzIrLmV4YS5hcGlfc2VydmVyX3BiLk1vZGVsRmFtaWx5TWV0YWRhdGFWYWx1ZSKTAQoTTW9kZWxGYW1pbHlNZXRhZGF0YRIaChJtb2RlbF9mYW1pbHlfbGFiZWwYASABKAkSPAoHZW50cmllcxgCIAMoCzIrLmV4YS5hcGlfc2VydmVyX3BiLk1vZGVsRmFtaWx5TWV0YWRhdGFFbnRyeRIiChppc19kZWZhdWx0X21vZGVsX2luX2ZhbWlseRgDIAEoCCK2BAoRQ2xpZW50TW9kZWxDb25maWcSDQoFbGFiZWwYASABKAkSNwoObW9kZWxfb3JfYWxpYXMYAiABKAsyHy5leGEuYXBpX3NlcnZlcl9wYi5Nb2RlbE9yQWxpYXMSGQoRY3JlZGl0X211bHRpcGxpZXIYAyABKAISEAoIZGlzYWJsZWQYBCABKAgSFwoPc3VwcG9ydHNfaW1hZ2VzGAUgASgIEhIKCmlzX3ByZW1pdW0YByABKAgSDwoHaXNfYmV0YRgJIAEoCBIWCg5pc19yZWNvbW1lbmRlZBgLIAEoCBIOCgZpc19uZXcYDyABKAgSEgoKbWF4X3Rva2VucxgSIAEoBRIbChNpc19jYXBhY2l0eV9saW1pdGVkGBQgASgIEhEKCW1vZGVsX3VpZBgWIAEoCRIwCgptb2RlbF9pbmZvGBcgASgLMhwuZXhhLmFwaV9zZXJ2ZXJfcGIuTW9kZWxJbmZvEhgKC2Rlc2NyaXB0aW9uGBsgASgJSACIAQESRQoVbW9kZWxfZmFtaWx5X21ldGFkYXRhGB4gASgLMiYuZXhhLmFwaV9zZXJ2ZXJfcGIuTW9kZWxGYW1pbHlNZXRhZGF0YRIiChppc19kZWZhdWx0X21vZGVsX2luX2ZhbWlseRgfIAEoCBI7ChBtb2RlbF9kaW1lbnNpb25zGCAgAygLMiEuZXhhLmFwaV9zZXJ2ZXJfcGIuTW9kZWxEaW1lbnNpb25CDgoMX2Rlc2NyaXB0aW9uIkoKGUdldENsaU1vZGVsQ29uZmlnc1JlcXVlc3QSLQoIbWV0YWRhdGEYASABKAsyGy5leGEuYXBpX3NlcnZlcl9wYi5NZXRhZGF0YSJgChpHZXRDbGlNb2RlbENvbmZpZ3NSZXNwb25zZRJCChRjbGllbnRfbW9kZWxfY29uZmlncxgBIAMoCzIkLmV4YS5hcGlfc2VydmVyX3BiLkNsaWVudE1vZGVsQ29uZmlnIkIKEUdldFVzZXJKd3RSZXF1ZXN0Ei0KCG1ldGFkYXRhGAEgASgLMhsuZXhhLmFwaV9zZXJ2ZXJfcGIuTWV0YWRhdGEiRQoSR2V0VXNlckp3dFJlc3BvbnNlEhAKCHVzZXJfand0GAEgASgJEh0KFWN1c3RvbV9hcGlfc2VydmVyX3VybBgCIAEoCSJSCg9Nb2RlbEFzc2lnbm1lbnQSFgoOYXNzaWdubWVudF9qd3QYASABKAkSEQoJbW9kZWxfdWlkGAIgASgJEhQKDGhhcm5lc3NfdWlkcxgDIAMoCSK0AQoSQXNzaWduTW9kZWxSZXF1ZXN0Ei0KCG1ldGFkYXRhGAEgASgLMhsuZXhhLmFwaV9zZXJ2ZXJfcGIuTWV0YWRhdGESGAoQbW9kZWxfcm91dGVyX3VpZBgCIAEoCRISCgpjYXNjYWRlX2lkGAMgASgJEkEKE2NoYXRfbWVzc2FnZV9wcm9tcHQYBSABKAsyJC5leGEuYXBpX3NlcnZlcl9wYi5DaGF0TWVzc2FnZVByb21wdCJNChNBc3NpZ25Nb2RlbFJlc3BvbnNlEjYKCmFzc2lnbm1lbnQYASABKAsyIi5leGEuYXBpX3NlcnZlcl9wYi5Nb2RlbEFzc2lnbm1lbnQqWAoQQ2FjaGVDb250cm9sVHlwZRIiCh5DQUNIRV9DT05UUk9MX1RZUEVfVU5TUEVDSUZJRUQQABIgChxDQUNIRV9DT05UUk9MX1RZUEVfRVBIRU1FUkFMEAEq3AEKEUNoYXRNZXNzYWdlU291cmNlEiMKH0NIQVRfTUVTU0FHRV9TT1VSQ0VfVU5TUEVDSUZJRUQQABIcChhDSEFUX01FU1NBR0VfU09VUkNFX1VTRVIQARIeChpDSEFUX01FU1NBR0VfU09VUkNFX1NZU1RFTRACEh8KG0NIQVRfTUVTU0FHRV9TT1VSQ0VfVU5LTk9XThADEhwKGENIQVRfTUVTU0FHRV9TT1VSQ0VfVE9PTBAEEiUKIUNIQVRfTUVTU0FHRV9TT1VSQ0VfU1lTVEVNX1BST01QVBAFKokCChZDaGF0TWVzc2FnZVJlcXVlc3RUeXBlEikKJUNIQVRfTUVTU0FHRV9SRVFVRVNUX1RZUEVfVU5TUEVDSUZJRUQQABIlCiFDSEFUX01FU1NBR0VfUkVRVUVTVF9UWVBFX0dFTkVSQUwQARIrCidDSEFUX01FU1NBR0VfUkVRVUVTVF9UWVBFX0NPTlRFWFRfQ0hFQ0sQAhIiCh5DSEFUX01FU1NBR0VfUkVRVUVTVF9UWVBFX1BMQU4QAxIlCiFDSEFUX01FU1NBR0VfUkVRVUVTVF9UWVBFX0NPTU1BTkQQBBIlCiFDSEFUX01FU1NBR0VfUkVRVUVTVF9UWVBFX0NBU0NBREUQBSq5AwoKU3RvcFJlYXNvbhIbChdTVE9QX1JFQVNPTl9VTlNQRUNJRklFRBAAEhoKFlNUT1BfUkVBU09OX0lOQ09NUExFVEUQARIcChhTVE9QX1JFQVNPTl9TVE9QX1BBVFRFUk4QAhIaChZTVE9QX1JFQVNPTl9NQVhfVE9LRU5TEAMSHAoYU1RPUF9SRUFTT05fTUlOX0xPR19QUk9CEAQSHAoYU1RPUF9SRUFTT05fTUFYX05FV0xJTkVTEAUSGgoWU1RPUF9SRUFTT05fRVhJVF9TQ09QRRAGEicKI1NUT1BfUkVBU09OX05PTkZJTklURV9MT0dJVF9PUl9QUk9CEAcSKQolU1RPUF9SRUFTT05fRklSU1RfTk9OX1dISVRFU1BBQ0VfTElORRAIEhcKE1NUT1BfUkVBU09OX1BBUlRJQUwQCRIdChlTVE9QX1JFQVNPTl9GVU5DVElPTl9DQUxMEAoSHgoaU1RPUF9SRUFTT05fQ09OVEVOVF9GSUxURVIQCxIdChlTVE9QX1JFQVNPTl9OT05fSU5TRVJUSU9OEAwSFQoRU1RPUF9SRUFTT05fRVJST1IQDSq+AgoZQ29udmVyc2F0aW9uYWxQbGFubmVyTW9kZRIrCidDT05WRVJTQVRJT05BTF9QTEFOTkVSX01PREVfVU5TUEVDSUZJRUQQABInCiNDT05WRVJTQVRJT05BTF9QTEFOTkVSX01PREVfREVGQVVMVBABEikKJUNPTlZFUlNBVElPTkFMX1BMQU5ORVJfTU9ERV9SRUFEX09OTFkQAhInCiNDT05WRVJTQVRJT05BTF9QTEFOTkVSX01PREVfTk9fVE9PTBADEicKI0NPTlZFUlNBVElPTkFMX1BMQU5ORVJfTU9ERV9FWFBMT1JFEAQSKAokQ09OVkVSU0FUSU9OQUxfUExBTk5FUl9NT0RFX1BMQU5OSU5HEAUSJAogQ09OVkVSU0FUSU9OQUxfUExBTk5FUl9NT0RFX0FVVE8QBiqSAgoNRGlzcGxheU9wdGlvbhIeChpESVNQTEFZX09QVElPTl9VTlNQRUNJRklFRBAAEhgKFERJU1BMQVlfT1BUSU9OX0FSRU5BEAESJAogRElTUExBWV9PUFRJT05fQkFUVExFX0dST1VQX09OTFkQAhIfChtESVNQTEFZX09QVElPTl9NT0RFTF9ST1VURVIQAxIfChtESVNQTEFZX09QVElPTl9RVUlDS19SRVZJRVcQBBIjCh9ESVNQTEFZX09QVElPTl9JTlRFUk5BTF9ERUZBVUxUEAYSHwobRElTUExBWV9PUFRJT05fVU5DTEFTU0lGSUVEEAcSGQoVRElTUExBWV9PUFRJT05fTk9STUFMEAgqfgoSTW9kZWxEaW1lbnNpb25LaW5kEiQKIE1PREVMX0RJTUVOU0lPTl9LSU5EX1VOU1BFQ0lGSUVEEAASHQoZTU9ERUxfRElNRU5TSU9OX0tJTkRfQ09TVBABEiMKH01PREVMX0RJTUVOU0lPTl9LSU5EX0NPU1RfRlVaWlkQAmIGcHJvdG8z\",\n\t);\n\n/**\n * exa.codeium_common_pb.Metadata\n *\n * user_jwt is field 21 upstream (22 is force_team_id); the first vendored\n * copy had it on 22, which sent the minted JWT into the wrong field.\n *\n * @generated from message exa.api_server_pb.Metadata\n */\nexport type Metadata = Message<\"exa.api_server_pb.Metadata\"> & {\n\t/**\n\t * @generated from field: string ide_name = 1;\n\t */\n\tideName: string;\n\n\t/**\n\t * @generated from field: string extension_version = 2;\n\t */\n\textensionVersion: string;\n\n\t/**\n\t * @generated from field: string api_key = 3;\n\t */\n\tapiKey: string;\n\n\t/**\n\t * @generated from field: string locale = 4;\n\t */\n\tlocale: string;\n\n\t/**\n\t * @generated from field: string os = 5;\n\t */\n\tos: string;\n\n\t/**\n\t * @generated from field: bool disable_telemetry = 6;\n\t */\n\tdisableTelemetry: boolean;\n\n\t/**\n\t * @generated from field: string ide_version = 7;\n\t */\n\tideVersion: string;\n\n\t/**\n\t * @generated from field: string hardware = 8;\n\t */\n\thardware: string;\n\n\t/**\n\t * @generated from field: uint64 request_id = 9;\n\t */\n\trequestId: bigint;\n\n\t/**\n\t * @generated from field: string session_id = 10;\n\t */\n\tsessionId: string;\n\n\t/**\n\t * @generated from field: string extension_name = 12;\n\t */\n\textensionName: string;\n\n\t/**\n\t * @generated from field: string user_jwt = 21;\n\t */\n\tuserJwt: string;\n\n\t/**\n\t * @generated from field: string force_team_id = 22;\n\t */\n\tforceTeamId: string;\n\n\t/**\n\t * @generated from field: string device_fingerprint = 24;\n\t */\n\tdeviceFingerprint: string;\n\n\t/**\n\t * @generated from field: string ide_type = 28;\n\t */\n\tideType: string;\n\n\t/**\n\t * @generated from field: repeated exa.api_server_pb.DisplayOption supported_model_displays = 30;\n\t */\n\tsupportedModelDisplays: DisplayOption[];\n};\n\n/**\n * Describes the message exa.api_server_pb.Metadata.\n * Use `create(MetadataSchema)` to create a new message.\n */\nexport const MetadataSchema: GenMessage<Metadata> = /*@__PURE__*/ messageDesc(file_cascade, 0);\n\n/**\n * exa.codeium_common_pb.ChatToolCall\n *\n * @generated from message exa.api_server_pb.ChatToolCall\n */\nexport type ChatToolCall = Message<\"exa.api_server_pb.ChatToolCall\"> & {\n\t/**\n\t * @generated from field: string id = 1;\n\t */\n\tid: string;\n\n\t/**\n\t * @generated from field: string name = 2;\n\t */\n\tname: string;\n\n\t/**\n\t * @generated from field: string arguments_json = 3;\n\t */\n\targumentsJson: string;\n\n\t/**\n\t * @generated from field: string invalid_json_str = 4;\n\t */\n\tinvalidJsonStr: string;\n\n\t/**\n\t * @generated from field: string invalid_json_err = 5;\n\t */\n\tinvalidJsonErr: string;\n\n\t/**\n\t * @generated from field: bool is_custom_tool_call = 6;\n\t */\n\tisCustomToolCall: boolean;\n};\n\n/**\n * Describes the message exa.api_server_pb.ChatToolCall.\n * Use `create(ChatToolCallSchema)` to create a new message.\n */\nexport const ChatToolCallSchema: GenMessage<ChatToolCall> = /*@__PURE__*/ messageDesc(file_cascade, 1);\n\n/**\n * exa.chat_pb.ChatToolChoice\n *\n * @generated from message exa.api_server_pb.ChatToolChoice\n */\nexport type ChatToolChoice = Message<\"exa.api_server_pb.ChatToolChoice\"> & {\n\t/**\n\t * @generated from oneof exa.api_server_pb.ChatToolChoice.choice\n\t */\n\tchoice:\n\t\t| {\n\t\t\t\t/**\n\t\t\t\t * @generated from field: string option_name = 1;\n\t\t\t\t */\n\t\t\t\tvalue: string;\n\t\t\t\tcase: \"optionName\";\n\t\t }\n\t\t| {\n\t\t\t\t/**\n\t\t\t\t * @generated from field: string tool_name = 2;\n\t\t\t\t */\n\t\t\t\tvalue: string;\n\t\t\t\tcase: \"toolName\";\n\t\t }\n\t\t| { case: undefined; value?: undefined };\n};\n\n/**\n * Describes the message exa.api_server_pb.ChatToolChoice.\n * Use `create(ChatToolChoiceSchema)` to create a new message.\n */\nexport const ChatToolChoiceSchema: GenMessage<ChatToolChoice> = /*@__PURE__*/ messageDesc(file_cascade, 2);\n\n/**\n * exa.chat_pb.ComputerUseToolConfig\n *\n * @generated from message exa.api_server_pb.ComputerUseToolConfig\n */\nexport type ComputerUseToolConfig = Message<\"exa.api_server_pb.ComputerUseToolConfig\"> & {\n\t/**\n\t * @generated from field: int32 display_width_px = 1;\n\t */\n\tdisplayWidthPx: number;\n\n\t/**\n\t * @generated from field: int32 display_height_px = 2;\n\t */\n\tdisplayHeightPx: number;\n\n\t/**\n\t * @generated from field: int32 display_number = 3;\n\t */\n\tdisplayNumber: number;\n};\n\n/**\n * Describes the message exa.api_server_pb.ComputerUseToolConfig.\n * Use `create(ComputerUseToolConfigSchema)` to create a new message.\n */\nexport const ComputerUseToolConfigSchema: GenMessage<ComputerUseToolConfig> =\n\t/*@__PURE__*/\n\tmessageDesc(file_cascade, 3);\n\n/**\n * exa.chat_pb.ChatToolDefinition\n *\n * @generated from message exa.api_server_pb.ChatToolDefinition\n */\nexport type ChatToolDefinition = Message<\"exa.api_server_pb.ChatToolDefinition\"> & {\n\t/**\n\t * @generated from field: string name = 1;\n\t */\n\tname: string;\n\n\t/**\n\t * @generated from field: string description = 2;\n\t */\n\tdescription: string;\n\n\t/**\n\t * @generated from field: string json_schema_string = 3;\n\t */\n\tjsonSchemaString: string;\n\n\t/**\n\t * @generated from field: repeated string attribution_field_names = 5;\n\t */\n\tattributionFieldNames: string[];\n\n\t/**\n\t * @generated from field: string server_name = 6;\n\t */\n\tserverName: string;\n\n\t/**\n\t * @generated from field: optional bool read_only_hint = 7;\n\t */\n\treadOnlyHint?: boolean | undefined;\n\n\t/**\n\t * @generated from field: exa.api_server_pb.ComputerUseToolConfig computer_use_config = 8;\n\t */\n\tcomputerUseConfig?: ComputerUseToolConfig | undefined;\n\n\t/**\n\t * @generated from field: optional bool is_custom_tool = 9;\n\t */\n\tisCustomTool?: boolean | undefined;\n\n\t/**\n\t * @generated from field: bool strict = 12;\n\t */\n\tstrict: boolean;\n};\n\n/**\n * Describes the message exa.api_server_pb.ChatToolDefinition.\n * Use `create(ChatToolDefinitionSchema)` to create a new message.\n */\nexport const ChatToolDefinitionSchema: GenMessage<ChatToolDefinition> = /*@__PURE__*/ messageDesc(file_cascade, 4);\n\n/**\n * exa.chat_pb.PromptCacheOptions\n *\n * @generated from message exa.api_server_pb.PromptCacheOptions\n */\nexport type PromptCacheOptions = Message<\"exa.api_server_pb.PromptCacheOptions\"> & {\n\t/**\n\t * @generated from field: exa.api_server_pb.CacheControlType type = 1;\n\t */\n\ttype: CacheControlType;\n};\n\n/**\n * Describes the message exa.api_server_pb.PromptCacheOptions.\n * Use `create(PromptCacheOptionsSchema)` to create a new message.\n */\nexport const PromptCacheOptionsSchema: GenMessage<PromptCacheOptions> = /*@__PURE__*/ messageDesc(file_cascade, 5);\n\n/**\n * exa.codeium_common_pb.ImageData\n *\n * @generated from message exa.api_server_pb.ImageData\n */\nexport type ImageData = Message<\"exa.api_server_pb.ImageData\"> & {\n\t/**\n\t * @generated from field: string base64_data = 1;\n\t */\n\tbase64Data: string;\n\n\t/**\n\t * @generated from field: string mime_type = 2;\n\t */\n\tmimeType: string;\n\n\t/**\n\t * @generated from field: string caption = 3;\n\t */\n\tcaption: string;\n};\n\n/**\n * Describes the message exa.api_server_pb.ImageData.\n * Use `create(ImageDataSchema)` to create a new message.\n */\nexport const ImageDataSchema: GenMessage<ImageData> = /*@__PURE__*/ messageDesc(file_cascade, 6);\n\n/**\n * exa.chat_pb.ChatMessagePrompt\n *\n * @generated from message exa.api_server_pb.ChatMessagePrompt\n */\nexport type ChatMessagePrompt = Message<\"exa.api_server_pb.ChatMessagePrompt\"> & {\n\t/**\n\t * @generated from field: string message_id = 1;\n\t */\n\tmessageId: string;\n\n\t/**\n\t * @generated from field: exa.api_server_pb.ChatMessageSource source = 2;\n\t */\n\tsource: ChatMessageSource;\n\n\t/**\n\t * @generated from field: string prompt = 3;\n\t */\n\tprompt: string;\n\n\t/**\n\t * @generated from field: uint32 num_tokens = 4;\n\t */\n\tnumTokens: number;\n\n\t/**\n\t * @generated from field: bool safe_for_code_telemetry = 5;\n\t */\n\tsafeForCodeTelemetry: boolean;\n\n\t/**\n\t * @generated from field: repeated exa.api_server_pb.ChatToolCall tool_calls = 6;\n\t */\n\ttoolCalls: ChatToolCall[];\n\n\t/**\n\t * @generated from field: string tool_call_id = 7;\n\t */\n\ttoolCallId: string;\n\n\t/**\n\t * @generated from field: exa.api_server_pb.PromptCacheOptions prompt_cache_options = 8;\n\t */\n\tpromptCacheOptions?: PromptCacheOptions | undefined;\n\n\t/**\n\t * @generated from field: bool tool_result_is_error = 9;\n\t */\n\ttoolResultIsError: boolean;\n\n\t/**\n\t * @generated from field: repeated exa.api_server_pb.ImageData images = 10;\n\t */\n\timages: ImageData[];\n\n\t/**\n\t * @generated from field: string thinking = 11;\n\t */\n\tthinking: string;\n\n\t/**\n\t * @generated from field: string signature = 12;\n\t */\n\tsignature: string;\n\n\t/**\n\t * @generated from field: bool thinking_redacted = 13;\n\t */\n\tthinkingRedacted: boolean;\n\n\t/**\n\t * @generated from field: string signature_type = 18;\n\t */\n\tsignatureType: string;\n};\n\n/**\n * Describes the message exa.api_server_pb.ChatMessagePrompt.\n * Use `create(ChatMessagePromptSchema)` to create a new message.\n */\nexport const ChatMessagePromptSchema: GenMessage<ChatMessagePrompt> = /*@__PURE__*/ messageDesc(file_cascade, 7);\n\n/**\n * exa.codeium_common_pb.CompletionConfiguration\n *\n * @generated from message exa.api_server_pb.CompletionConfiguration\n */\nexport type CompletionConfiguration = Message<\"exa.api_server_pb.CompletionConfiguration\"> & {\n\t/**\n\t * @generated from field: uint64 num_completions = 1;\n\t */\n\tnumCompletions: bigint;\n\n\t/**\n\t * @generated from field: uint64 max_tokens = 2;\n\t */\n\tmaxTokens: bigint;\n\n\t/**\n\t * @generated from field: uint64 max_newlines = 3;\n\t */\n\tmaxNewlines: bigint;\n\n\t/**\n\t * @generated from field: double min_log_probability = 4;\n\t */\n\tminLogProbability: number;\n\n\t/**\n\t * @generated from field: double temperature = 5;\n\t */\n\ttemperature: number;\n\n\t/**\n\t * @generated from field: double first_temperature = 6;\n\t */\n\tfirstTemperature: number;\n\n\t/**\n\t * @generated from field: uint64 top_k = 7;\n\t */\n\ttopK: bigint;\n\n\t/**\n\t * @generated from field: double top_p = 8;\n\t */\n\ttopP: number;\n\n\t/**\n\t * @generated from field: repeated string stop_patterns = 9;\n\t */\n\tstopPatterns: string[];\n\n\t/**\n\t * @generated from field: uint64 seed = 10;\n\t */\n\tseed: bigint;\n\n\t/**\n\t * @generated from field: double fim_eot_prob_threshold = 11;\n\t */\n\tfimEotProbThreshold: number;\n};\n\n/**\n * Describes the message exa.api_server_pb.CompletionConfiguration.\n * Use `create(CompletionConfigurationSchema)` to create a new message.\n */\nexport const CompletionConfigurationSchema: GenMessage<CompletionConfiguration> =\n\t/*@__PURE__*/\n\tmessageDesc(file_cascade, 8);\n\n/**\n * exa.codeium_common_pb.ModelUsageStats\n *\n * @generated from message exa.api_server_pb.ModelUsageStats\n */\nexport type ModelUsageStats = Message<\"exa.api_server_pb.ModelUsageStats\"> & {\n\t/**\n\t * @generated from field: uint64 input_tokens = 2;\n\t */\n\tinputTokens: bigint;\n\n\t/**\n\t * @generated from field: uint64 output_tokens = 3;\n\t */\n\toutputTokens: bigint;\n\n\t/**\n\t * @generated from field: uint64 cache_write_tokens = 4;\n\t */\n\tcacheWriteTokens: bigint;\n\n\t/**\n\t * @generated from field: uint64 cache_read_tokens = 5;\n\t */\n\tcacheReadTokens: bigint;\n\n\t/**\n\t * @generated from field: string message_id = 7;\n\t */\n\tmessageId: string;\n\n\t/**\n\t * @generated from field: string model_uid = 9;\n\t */\n\tmodelUid: string;\n\n\t/**\n\t * @generated from field: string billing_model_uid = 10;\n\t */\n\tbillingModelUid: string;\n\n\t/**\n\t * @generated from field: string requested_model_uid = 11;\n\t */\n\trequestedModelUid: string;\n};\n\n/**\n * Describes the message exa.api_server_pb.ModelUsageStats.\n * Use `create(ModelUsageStatsSchema)` to create a new message.\n */\nexport const ModelUsageStatsSchema: GenMessage<ModelUsageStats> = /*@__PURE__*/ messageDesc(file_cascade, 9);\n\n/**\n * @generated from message exa.api_server_pb.GetChatMessageRequest\n */\nexport type GetChatMessageRequest = Message<\"exa.api_server_pb.GetChatMessageRequest\"> & {\n\t/**\n\t * @generated from field: exa.api_server_pb.Metadata metadata = 1;\n\t */\n\tmetadata?: Metadata | undefined;\n\n\t/**\n\t * @generated from field: string prompt = 2;\n\t */\n\tprompt: string;\n\n\t/**\n\t * @generated from field: repeated exa.api_server_pb.ChatMessagePrompt chat_message_prompts = 3;\n\t */\n\tchatMessagePrompts: ChatMessagePrompt[];\n\n\t/**\n\t * @generated from field: bool use_internal_chat_model = 5;\n\t */\n\tuseInternalChatModel: boolean;\n\n\t/**\n\t * @generated from field: exa.api_server_pb.ChatMessageRequestType request_type = 7;\n\t */\n\trequestType: ChatMessageRequestType;\n\n\t/**\n\t * @generated from field: exa.api_server_pb.CompletionConfiguration configuration = 8;\n\t */\n\tconfiguration?: CompletionConfiguration | undefined;\n\n\t/**\n\t * @generated from field: repeated exa.api_server_pb.ChatToolDefinition tools = 10;\n\t */\n\ttools: ChatToolDefinition[];\n\n\t/**\n\t * @generated from field: bool disable_parallel_tool_calls = 11;\n\t */\n\tdisableParallelToolCalls: boolean;\n\n\t/**\n\t * @generated from field: exa.api_server_pb.ChatToolChoice tool_choice = 12;\n\t */\n\ttoolChoice?: ChatToolChoice | undefined;\n\n\t/**\n\t * @generated from field: exa.api_server_pb.PromptCacheOptions system_prompt_cache_options = 13;\n\t */\n\tsystemPromptCacheOptions?: PromptCacheOptions | undefined;\n\n\t/**\n\t * @generated from field: string chat_model_name = 14;\n\t */\n\tchatModelName: string;\n\n\t/**\n\t * @generated from field: string cascade_id = 16;\n\t */\n\tcascadeId: string;\n\n\t/**\n\t * @generated from field: string prompt_id = 17;\n\t */\n\tpromptId: string;\n\n\t/**\n\t * @generated from field: exa.api_server_pb.ConversationalPlannerMode planner_mode = 20;\n\t */\n\tplannerMode: ConversationalPlannerMode;\n\n\t/**\n\t * @generated from field: string chat_model_uid = 21;\n\t */\n\tchatModelUid: string;\n\n\t/**\n\t * @generated from field: string execution_id = 22;\n\t */\n\texecutionId: string;\n\n\t/**\n\t * @generated from field: optional string model_assignment_jwt = 26;\n\t */\n\tmodelAssignmentJwt?: string | undefined;\n};\n\n/**\n * Describes the message exa.api_server_pb.GetChatMessageRequest.\n * Use `create(GetChatMessageRequestSchema)` to create a new message.\n */\nexport const GetChatMessageRequestSchema: GenMessage<GetChatMessageRequest> =\n\t/*@__PURE__*/\n\tmessageDesc(file_cascade, 10);\n\n/**\n * @generated from message exa.api_server_pb.GetChatMessageResponse\n */\nexport type GetChatMessageResponse = Message<\"exa.api_server_pb.GetChatMessageResponse\"> & {\n\t/**\n\t * @generated from field: string message_id = 1;\n\t */\n\tmessageId: string;\n\n\t/**\n\t * @generated from field: string delta_text = 3;\n\t */\n\tdeltaText: string;\n\n\t/**\n\t * @generated from field: uint32 delta_tokens = 4;\n\t */\n\tdeltaTokens: number;\n\n\t/**\n\t * @generated from field: exa.api_server_pb.StopReason stop_reason = 5;\n\t */\n\tstopReason: StopReason;\n\n\t/**\n\t * @generated from field: repeated exa.api_server_pb.ChatToolCall delta_tool_calls = 6;\n\t */\n\tdeltaToolCalls: ChatToolCall[];\n\n\t/**\n\t * @generated from field: exa.api_server_pb.ModelUsageStats usage = 7;\n\t */\n\tusage?: ModelUsageStats | undefined;\n\n\t/**\n\t * @generated from field: string delta_thinking = 9;\n\t */\n\tdeltaThinking: string;\n\n\t/**\n\t * @generated from field: string delta_signature = 10;\n\t */\n\tdeltaSignature: string;\n\n\t/**\n\t * @generated from field: bool thinking_redacted = 11;\n\t */\n\tthinkingRedacted: boolean;\n\n\t/**\n\t * @generated from field: int32 credit_cost = 14;\n\t */\n\tcreditCost: number;\n\n\t/**\n\t * @generated from field: string output_id = 15;\n\t */\n\toutputId: string;\n\n\t/**\n\t * @generated from field: string request_id = 17;\n\t */\n\trequestId: string;\n\n\t/**\n\t * @generated from field: int32 committed_credit_cost = 18;\n\t */\n\tcommittedCreditCost: number;\n\n\t/**\n\t * @generated from field: double committed_acu_cost = 22;\n\t */\n\tcommittedAcuCost: number;\n\n\t/**\n\t * @generated from field: optional string actual_model_uid = 23;\n\t */\n\tactualModelUid?: string | undefined;\n};\n\n/**\n * Describes the message exa.api_server_pb.GetChatMessageResponse.\n * Use `create(GetChatMessageResponseSchema)` to create a new message.\n */\nexport const GetChatMessageResponseSchema: GenMessage<GetChatMessageResponse> =\n\t/*@__PURE__*/\n\tmessageDesc(file_cascade, 11);\n\n/**\n * exa.codeium_common_pb.ModelOrAlias\n *\n * @generated from message exa.api_server_pb.ModelOrAlias\n */\nexport type ModelOrAlias = Message<\"exa.api_server_pb.ModelOrAlias\"> & {\n\t/**\n\t * @generated from oneof exa.api_server_pb.ModelOrAlias.choice\n\t */\n\tchoice:\n\t\t| {\n\t\t\t\t/**\n\t\t\t\t * @generated from field: string model = 1;\n\t\t\t\t */\n\t\t\t\tvalue: string;\n\t\t\t\tcase: \"model\";\n\t\t }\n\t\t| {\n\t\t\t\t/**\n\t\t\t\t * @generated from field: string alias = 2;\n\t\t\t\t */\n\t\t\t\tvalue: string;\n\t\t\t\tcase: \"alias\";\n\t\t }\n\t\t| { case: undefined; value?: undefined };\n};\n\n/**\n * Describes the message exa.api_server_pb.ModelOrAlias.\n * Use `create(ModelOrAliasSchema)` to create a new message.\n */\nexport const ModelOrAliasSchema: GenMessage<ModelOrAlias> = /*@__PURE__*/ messageDesc(file_cascade, 12);\n\n/**\n * exa.codeium_common_pb.ModelFeatures (subset)\n *\n * @generated from message exa.api_server_pb.ModelFeatures\n */\nexport type ModelFeatures = Message<\"exa.api_server_pb.ModelFeatures\"> & {\n\t/**\n\t * @generated from field: bool supports_images = 11;\n\t */\n\tsupportsImages: boolean;\n\n\t/**\n\t * @generated from field: bool supports_tool_calls = 12;\n\t */\n\tsupportsToolCalls: boolean;\n\n\t/**\n\t * @generated from field: bool supports_thinking = 15;\n\t */\n\tsupportsThinking: boolean;\n\n\t/**\n\t * @generated from field: bool supports_parallel_tool_calls = 21;\n\t */\n\tsupportsParallelToolCalls: boolean;\n};\n\n/**\n * Describes the message exa.api_server_pb.ModelFeatures.\n * Use `create(ModelFeaturesSchema)` to create a new message.\n */\nexport const ModelFeaturesSchema: GenMessage<ModelFeatures> = /*@__PURE__*/ messageDesc(file_cascade, 13);\n\n/**\n * exa.codeium_common_pb.ModelInfo (subset)\n *\n * @generated from message exa.api_server_pb.ModelInfo\n */\nexport type ModelInfo = Message<\"exa.api_server_pb.ModelInfo\"> & {\n\t/**\n\t * @generated from field: exa.api_server_pb.ModelFeatures model_features = 6;\n\t */\n\tmodelFeatures?: ModelFeatures | undefined;\n\n\t/**\n\t * @generated from field: int32 max_output_tokens = 13;\n\t */\n\tmaxOutputTokens: number;\n\n\t/**\n\t * @generated from field: string model_uid = 17;\n\t */\n\tmodelUid: string;\n\n\t/**\n\t * @generated from field: exa.api_server_pb.DisplayOption display_option = 22;\n\t */\n\tdisplayOption: DisplayOption;\n\n\t/**\n\t * @generated from field: bool is_model_router = 25;\n\t */\n\tisModelRouter: boolean;\n};\n\n/**\n * Describes the message exa.api_server_pb.ModelInfo.\n * Use `create(ModelInfoSchema)` to create a new message.\n */\nexport const ModelInfoSchema: GenMessage<ModelInfo> = /*@__PURE__*/ messageDesc(file_cascade, 14);\n\n/**\n * exa.codeium_common_pb.ModelDimension\n *\n * @generated from message exa.api_server_pb.ModelDimension\n */\nexport type ModelDimension = Message<\"exa.api_server_pb.ModelDimension\"> & {\n\t/**\n\t * @generated from field: string label = 1;\n\t */\n\tlabel: string;\n\n\t/**\n\t * @generated from field: float value = 2;\n\t */\n\tvalue: number;\n\n\t/**\n\t * @generated from field: string denominator = 3;\n\t */\n\tdenominator: string;\n\n\t/**\n\t * @generated from field: float min_range = 4;\n\t */\n\tminRange: number;\n\n\t/**\n\t * @generated from field: float max_range = 5;\n\t */\n\tmaxRange: number;\n\n\t/**\n\t * @generated from field: exa.api_server_pb.ModelDimensionKind kind = 6;\n\t */\n\tkind: ModelDimensionKind;\n\n\t/**\n\t * @generated from field: optional string info = 7;\n\t */\n\tinfo?: string | undefined;\n};\n\n/**\n * Describes the message exa.api_server_pb.ModelDimension.\n * Use `create(ModelDimensionSchema)` to create a new message.\n */\nexport const ModelDimensionSchema: GenMessage<ModelDimension> = /*@__PURE__*/ messageDesc(file_cascade, 15);\n\n/**\n * exa.codeium_common_pb.ModelFamilyMetadataValue\n *\n * @generated from message exa.api_server_pb.ModelFamilyMetadataValue\n */\nexport type ModelFamilyMetadataValue = Message<\"exa.api_server_pb.ModelFamilyMetadataValue\"> & {\n\t/**\n\t * @generated from field: int32 order = 1;\n\t */\n\torder: number;\n\n\t/**\n\t * @generated from field: string name = 2;\n\t */\n\tname: string;\n};\n\n/**\n * Describes the message exa.api_server_pb.ModelFamilyMetadataValue.\n * Use `create(ModelFamilyMetadataValueSchema)` to create a new message.\n */\nexport const ModelFamilyMetadataValueSchema: GenMessage<ModelFamilyMetadataValue> =\n\t/*@__PURE__*/\n\tmessageDesc(file_cascade, 16);\n\n/**\n * exa.codeium_common_pb.ModelFamilyMetadataEntry\n *\n * @generated from message exa.api_server_pb.ModelFamilyMetadataEntry\n */\nexport type ModelFamilyMetadataEntry = Message<\"exa.api_server_pb.ModelFamilyMetadataEntry\"> & {\n\t/**\n\t * @generated from field: string key = 1;\n\t */\n\tkey: string;\n\n\t/**\n\t * @generated from field: exa.api_server_pb.ModelFamilyMetadataValue value = 2;\n\t */\n\tvalue?: ModelFamilyMetadataValue | undefined;\n};\n\n/**\n * Describes the message exa.api_server_pb.ModelFamilyMetadataEntry.\n * Use `create(ModelFamilyMetadataEntrySchema)` to create a new message.\n */\nexport const ModelFamilyMetadataEntrySchema: GenMessage<ModelFamilyMetadataEntry> =\n\t/*@__PURE__*/\n\tmessageDesc(file_cascade, 17);\n\n/**\n * exa.codeium_common_pb.ModelFamilyMetadata\n *\n * @generated from message exa.api_server_pb.ModelFamilyMetadata\n */\nexport type ModelFamilyMetadata = Message<\"exa.api_server_pb.ModelFamilyMetadata\"> & {\n\t/**\n\t * @generated from field: string model_family_label = 1;\n\t */\n\tmodelFamilyLabel: string;\n\n\t/**\n\t * @generated from field: repeated exa.api_server_pb.ModelFamilyMetadataEntry entries = 2;\n\t */\n\tentries: ModelFamilyMetadataEntry[];\n\n\t/**\n\t * @generated from field: bool is_default_model_in_family = 3;\n\t */\n\tisDefaultModelInFamily: boolean;\n};\n\n/**\n * Describes the message exa.api_server_pb.ModelFamilyMetadata.\n * Use `create(ModelFamilyMetadataSchema)` to create a new message.\n */\nexport const ModelFamilyMetadataSchema: GenMessage<ModelFamilyMetadata> = /*@__PURE__*/ messageDesc(file_cascade, 18);\n\n/**\n * exa.codeium_common_pb.ClientModelConfig\n *\n * @generated from message exa.api_server_pb.ClientModelConfig\n */\nexport type ClientModelConfig = Message<\"exa.api_server_pb.ClientModelConfig\"> & {\n\t/**\n\t * @generated from field: string label = 1;\n\t */\n\tlabel: string;\n\n\t/**\n\t * @generated from field: exa.api_server_pb.ModelOrAlias model_or_alias = 2;\n\t */\n\tmodelOrAlias?: ModelOrAlias | undefined;\n\n\t/**\n\t * @generated from field: float credit_multiplier = 3;\n\t */\n\tcreditMultiplier: number;\n\n\t/**\n\t * @generated from field: bool disabled = 4;\n\t */\n\tdisabled: boolean;\n\n\t/**\n\t * @generated from field: bool supports_images = 5;\n\t */\n\tsupportsImages: boolean;\n\n\t/**\n\t * @generated from field: bool is_premium = 7;\n\t */\n\tisPremium: boolean;\n\n\t/**\n\t * @generated from field: bool is_beta = 9;\n\t */\n\tisBeta: boolean;\n\n\t/**\n\t * @generated from field: bool is_recommended = 11;\n\t */\n\tisRecommended: boolean;\n\n\t/**\n\t * @generated from field: bool is_new = 15;\n\t */\n\tisNew: boolean;\n\n\t/**\n\t * The account's context window for this lane, not the output cap.\n\t *\n\t * @generated from field: int32 max_tokens = 18;\n\t */\n\tmaxTokens: number;\n\n\t/**\n\t * @generated from field: bool is_capacity_limited = 20;\n\t */\n\tisCapacityLimited: boolean;\n\n\t/**\n\t * @generated from field: string model_uid = 22;\n\t */\n\tmodelUid: string;\n\n\t/**\n\t * @generated from field: exa.api_server_pb.ModelInfo model_info = 23;\n\t */\n\tmodelInfo?: ModelInfo | undefined;\n\n\t/**\n\t * @generated from field: optional string description = 27;\n\t */\n\tdescription?: string | undefined;\n\n\t/**\n\t * @generated from field: exa.api_server_pb.ModelFamilyMetadata model_family_metadata = 30;\n\t */\n\tmodelFamilyMetadata?: ModelFamilyMetadata | undefined;\n\n\t/**\n\t * @generated from field: bool is_default_model_in_family = 31;\n\t */\n\tisDefaultModelInFamily: boolean;\n\n\t/**\n\t * @generated from field: repeated exa.api_server_pb.ModelDimension model_dimensions = 32;\n\t */\n\tmodelDimensions: ModelDimension[];\n};\n\n/**\n * Describes the message exa.api_server_pb.ClientModelConfig.\n * Use `create(ClientModelConfigSchema)` to create a new message.\n */\nexport const ClientModelConfigSchema: GenMessage<ClientModelConfig> = /*@__PURE__*/ messageDesc(file_cascade, 19);\n\n/**\n * @generated from message exa.api_server_pb.GetCliModelConfigsRequest\n */\nexport type GetCliModelConfigsRequest = Message<\"exa.api_server_pb.GetCliModelConfigsRequest\"> & {\n\t/**\n\t * @generated from field: exa.api_server_pb.Metadata metadata = 1;\n\t */\n\tmetadata?: Metadata | undefined;\n};\n\n/**\n * Describes the message exa.api_server_pb.GetCliModelConfigsRequest.\n * Use `create(GetCliModelConfigsRequestSchema)` to create a new message.\n */\nexport const GetCliModelConfigsRequestSchema: GenMessage<GetCliModelConfigsRequest> =\n\t/*@__PURE__*/\n\tmessageDesc(file_cascade, 20);\n\n/**\n * @generated from message exa.api_server_pb.GetCliModelConfigsResponse\n */\nexport type GetCliModelConfigsResponse = Message<\"exa.api_server_pb.GetCliModelConfigsResponse\"> & {\n\t/**\n\t * @generated from field: repeated exa.api_server_pb.ClientModelConfig client_model_configs = 1;\n\t */\n\tclientModelConfigs: ClientModelConfig[];\n};\n\n/**\n * Describes the message exa.api_server_pb.GetCliModelConfigsResponse.\n * Use `create(GetCliModelConfigsResponseSchema)` to create a new message.\n */\nexport const GetCliModelConfigsResponseSchema: GenMessage<GetCliModelConfigsResponse> =\n\t/*@__PURE__*/\n\tmessageDesc(file_cascade, 21);\n\n/**\n * exa.auth_pb.GetUserJwtRequest\n *\n * @generated from message exa.api_server_pb.GetUserJwtRequest\n */\nexport type GetUserJwtRequest = Message<\"exa.api_server_pb.GetUserJwtRequest\"> & {\n\t/**\n\t * @generated from field: exa.api_server_pb.Metadata metadata = 1;\n\t */\n\tmetadata?: Metadata | undefined;\n};\n\n/**\n * Describes the message exa.api_server_pb.GetUserJwtRequest.\n * Use `create(GetUserJwtRequestSchema)` to create a new message.\n */\nexport const GetUserJwtRequestSchema: GenMessage<GetUserJwtRequest> = /*@__PURE__*/ messageDesc(file_cascade, 22);\n\n/**\n * exa.auth_pb.GetUserJwtResponse\n *\n * @generated from message exa.api_server_pb.GetUserJwtResponse\n */\nexport type GetUserJwtResponse = Message<\"exa.api_server_pb.GetUserJwtResponse\"> & {\n\t/**\n\t * @generated from field: string user_jwt = 1;\n\t */\n\tuserJwt: string;\n\n\t/**\n\t * @generated from field: string custom_api_server_url = 2;\n\t */\n\tcustomApiServerUrl: string;\n};\n\n/**\n * Describes the message exa.api_server_pb.GetUserJwtResponse.\n * Use `create(GetUserJwtResponseSchema)` to create a new message.\n */\nexport const GetUserJwtResponseSchema: GenMessage<GetUserJwtResponse> = /*@__PURE__*/ messageDesc(file_cascade, 23);\n\n/**\n * exa.api_server_pb.ModelAssignment\n *\n * @generated from message exa.api_server_pb.ModelAssignment\n */\nexport type ModelAssignment = Message<\"exa.api_server_pb.ModelAssignment\"> & {\n\t/**\n\t * @generated from field: string assignment_jwt = 1;\n\t */\n\tassignmentJwt: string;\n\n\t/**\n\t * @generated from field: string model_uid = 2;\n\t */\n\tmodelUid: string;\n\n\t/**\n\t * @generated from field: repeated string harness_uids = 3;\n\t */\n\tharnessUids: string[];\n};\n\n/**\n * Describes the message exa.api_server_pb.ModelAssignment.\n * Use `create(ModelAssignmentSchema)` to create a new message.\n */\nexport const ModelAssignmentSchema: GenMessage<ModelAssignment> = /*@__PURE__*/ messageDesc(file_cascade, 24);\n\n/**\n * exa.api_server_pb.AssignModelRequest\n *\n * @generated from message exa.api_server_pb.AssignModelRequest\n */\nexport type AssignModelRequest = Message<\"exa.api_server_pb.AssignModelRequest\"> & {\n\t/**\n\t * @generated from field: exa.api_server_pb.Metadata metadata = 1;\n\t */\n\tmetadata?: Metadata | undefined;\n\n\t/**\n\t * @generated from field: string model_router_uid = 2;\n\t */\n\tmodelRouterUid: string;\n\n\t/**\n\t * @generated from field: string cascade_id = 3;\n\t */\n\tcascadeId: string;\n\n\t/**\n\t * @generated from field: exa.api_server_pb.ChatMessagePrompt chat_message_prompt = 5;\n\t */\n\tchatMessagePrompt?: ChatMessagePrompt | undefined;\n};\n\n/**\n * Describes the message exa.api_server_pb.AssignModelRequest.\n * Use `create(AssignModelRequestSchema)` to create a new message.\n */\nexport const AssignModelRequestSchema: GenMessage<AssignModelRequest> = /*@__PURE__*/ messageDesc(file_cascade, 25);\n\n/**\n * exa.api_server_pb.AssignModelResponse\n *\n * @generated from message exa.api_server_pb.AssignModelResponse\n */\nexport type AssignModelResponse = Message<\"exa.api_server_pb.AssignModelResponse\"> & {\n\t/**\n\t * @generated from field: exa.api_server_pb.ModelAssignment assignment = 1;\n\t */\n\tassignment?: ModelAssignment | undefined;\n};\n\n/**\n * Describes the message exa.api_server_pb.AssignModelResponse.\n * Use `create(AssignModelResponseSchema)` to create a new message.\n */\nexport const AssignModelResponseSchema: GenMessage<AssignModelResponse> = /*@__PURE__*/ messageDesc(file_cascade, 26);\n\n/**\n * exa.chat_pb.CacheControlType\n *\n * @generated from enum exa.api_server_pb.CacheControlType\n */\nexport const CacheControlType = {\n\t/**\n\t * @generated from enum value: CACHE_CONTROL_TYPE_UNSPECIFIED = 0;\n\t */\n\tUNSPECIFIED: 0,\n\n\t/**\n\t * @generated from enum value: CACHE_CONTROL_TYPE_EPHEMERAL = 1;\n\t */\n\tEPHEMERAL: 1,\n} as const;\n\nexport type CacheControlType = (typeof CacheControlType)[keyof typeof CacheControlType];\n\n/**\n * Describes the enum exa.api_server_pb.CacheControlType.\n */\nexport const CacheControlTypeSchema: GenEnum<CacheControlType> = /*@__PURE__*/ enumDesc(file_cascade, 0);\n\n/**\n * exa.chat_pb.ChatMessageSource\n *\n * @generated from enum exa.api_server_pb.ChatMessageSource\n */\nexport const ChatMessageSource = {\n\t/**\n\t * @generated from enum value: CHAT_MESSAGE_SOURCE_UNSPECIFIED = 0;\n\t */\n\tUNSPECIFIED: 0,\n\n\t/**\n\t * @generated from enum value: CHAT_MESSAGE_SOURCE_USER = 1;\n\t */\n\tUSER: 1,\n\n\t/**\n\t * @generated from enum value: CHAT_MESSAGE_SOURCE_SYSTEM = 2;\n\t */\n\tSYSTEM: 2,\n\n\t/**\n\t * @generated from enum value: CHAT_MESSAGE_SOURCE_UNKNOWN = 3;\n\t */\n\tUNKNOWN: 3,\n\n\t/**\n\t * @generated from enum value: CHAT_MESSAGE_SOURCE_TOOL = 4;\n\t */\n\tTOOL: 4,\n\n\t/**\n\t * @generated from enum value: CHAT_MESSAGE_SOURCE_SYSTEM_PROMPT = 5;\n\t */\n\tSYSTEM_PROMPT: 5,\n} as const;\n\nexport type ChatMessageSource = (typeof ChatMessageSource)[keyof typeof ChatMessageSource];\n\n/**\n * Describes the enum exa.api_server_pb.ChatMessageSource.\n */\nexport const ChatMessageSourceSchema: GenEnum<ChatMessageSource> = /*@__PURE__*/ enumDesc(file_cascade, 1);\n\n/**\n * exa.chat_pb.ChatMessageRequestType\n *\n * @generated from enum exa.api_server_pb.ChatMessageRequestType\n */\nexport const ChatMessageRequestType = {\n\t/**\n\t * @generated from enum value: CHAT_MESSAGE_REQUEST_TYPE_UNSPECIFIED = 0;\n\t */\n\tUNSPECIFIED: 0,\n\n\t/**\n\t * @generated from enum value: CHAT_MESSAGE_REQUEST_TYPE_GENERAL = 1;\n\t */\n\tGENERAL: 1,\n\n\t/**\n\t * @generated from enum value: CHAT_MESSAGE_REQUEST_TYPE_CONTEXT_CHECK = 2;\n\t */\n\tCONTEXT_CHECK: 2,\n\n\t/**\n\t * @generated from enum value: CHAT_MESSAGE_REQUEST_TYPE_PLAN = 3;\n\t */\n\tPLAN: 3,\n\n\t/**\n\t * @generated from enum value: CHAT_MESSAGE_REQUEST_TYPE_COMMAND = 4;\n\t */\n\tCOMMAND: 4,\n\n\t/**\n\t * @generated from enum value: CHAT_MESSAGE_REQUEST_TYPE_CASCADE = 5;\n\t */\n\tCASCADE: 5,\n} as const;\n\nexport type ChatMessageRequestType = (typeof ChatMessageRequestType)[keyof typeof ChatMessageRequestType];\n\n/**\n * Describes the enum exa.api_server_pb.ChatMessageRequestType.\n */\nexport const ChatMessageRequestTypeSchema: GenEnum<ChatMessageRequestType> = /*@__PURE__*/ enumDesc(file_cascade, 2);\n\n/**\n * exa.codeium_common_pb.StopReason\n *\n * @generated from enum exa.api_server_pb.StopReason\n */\nexport const StopReason = {\n\t/**\n\t * @generated from enum value: STOP_REASON_UNSPECIFIED = 0;\n\t */\n\tUNSPECIFIED: 0,\n\n\t/**\n\t * @generated from enum value: STOP_REASON_INCOMPLETE = 1;\n\t */\n\tINCOMPLETE: 1,\n\n\t/**\n\t * @generated from enum value: STOP_REASON_STOP_PATTERN = 2;\n\t */\n\tSTOP_PATTERN: 2,\n\n\t/**\n\t * @generated from enum value: STOP_REASON_MAX_TOKENS = 3;\n\t */\n\tMAX_TOKENS: 3,\n\n\t/**\n\t * @generated from enum value: STOP_REASON_MIN_LOG_PROB = 4;\n\t */\n\tMIN_LOG_PROB: 4,\n\n\t/**\n\t * @generated from enum value: STOP_REASON_MAX_NEWLINES = 5;\n\t */\n\tMAX_NEWLINES: 5,\n\n\t/**\n\t * @generated from enum value: STOP_REASON_EXIT_SCOPE = 6;\n\t */\n\tEXIT_SCOPE: 6,\n\n\t/**\n\t * @generated from enum value: STOP_REASON_NONFINITE_LOGIT_OR_PROB = 7;\n\t */\n\tNONFINITE_LOGIT_OR_PROB: 7,\n\n\t/**\n\t * @generated from enum value: STOP_REASON_FIRST_NON_WHITESPACE_LINE = 8;\n\t */\n\tFIRST_NON_WHITESPACE_LINE: 8,\n\n\t/**\n\t * @generated from enum value: STOP_REASON_PARTIAL = 9;\n\t */\n\tPARTIAL: 9,\n\n\t/**\n\t * @generated from enum value: STOP_REASON_FUNCTION_CALL = 10;\n\t */\n\tFUNCTION_CALL: 10,\n\n\t/**\n\t * @generated from enum value: STOP_REASON_CONTENT_FILTER = 11;\n\t */\n\tCONTENT_FILTER: 11,\n\n\t/**\n\t * @generated from enum value: STOP_REASON_NON_INSERTION = 12;\n\t */\n\tNON_INSERTION: 12,\n\n\t/**\n\t * @generated from enum value: STOP_REASON_ERROR = 13;\n\t */\n\tERROR: 13,\n} as const;\n\nexport type StopReason = (typeof StopReason)[keyof typeof StopReason];\n\n/**\n * Describes the enum exa.api_server_pb.StopReason.\n */\nexport const StopReasonSchema: GenEnum<StopReason> = /*@__PURE__*/ enumDesc(file_cascade, 3);\n\n/**\n * exa.chat_pb.ConversationalPlannerMode\n *\n * @generated from enum exa.api_server_pb.ConversationalPlannerMode\n */\nexport const ConversationalPlannerMode = {\n\t/**\n\t * @generated from enum value: CONVERSATIONAL_PLANNER_MODE_UNSPECIFIED = 0;\n\t */\n\tUNSPECIFIED: 0,\n\n\t/**\n\t * @generated from enum value: CONVERSATIONAL_PLANNER_MODE_DEFAULT = 1;\n\t */\n\tDEFAULT: 1,\n\n\t/**\n\t * @generated from enum value: CONVERSATIONAL_PLANNER_MODE_READ_ONLY = 2;\n\t */\n\tREAD_ONLY: 2,\n\n\t/**\n\t * @generated from enum value: CONVERSATIONAL_PLANNER_MODE_NO_TOOL = 3;\n\t */\n\tNO_TOOL: 3,\n\n\t/**\n\t * @generated from enum value: CONVERSATIONAL_PLANNER_MODE_EXPLORE = 4;\n\t */\n\tEXPLORE: 4,\n\n\t/**\n\t * @generated from enum value: CONVERSATIONAL_PLANNER_MODE_PLANNING = 5;\n\t */\n\tPLANNING: 5,\n\n\t/**\n\t * @generated from enum value: CONVERSATIONAL_PLANNER_MODE_AUTO = 6;\n\t */\n\tAUTO: 6,\n} as const;\n\nexport type ConversationalPlannerMode = (typeof ConversationalPlannerMode)[keyof typeof ConversationalPlannerMode];\n\n/**\n * Describes the enum exa.api_server_pb.ConversationalPlannerMode.\n */\nexport const ConversationalPlannerModeSchema: GenEnum<ConversationalPlannerMode> =\n\t/*@__PURE__*/\n\tenumDesc(file_cascade, 4);\n\n/**\n * exa.codeium_common_pb.DisplayOption\n *\n * 6-8 are the slots the native client requests beside 3-4: the internal\n * default/eval slot, the unclassified slot and the second visible-model slot.\n *\n * @generated from enum exa.api_server_pb.DisplayOption\n */\nexport const DisplayOption = {\n\t/**\n\t * @generated from enum value: DISPLAY_OPTION_UNSPECIFIED = 0;\n\t */\n\tUNSPECIFIED: 0,\n\n\t/**\n\t * @generated from enum value: DISPLAY_OPTION_ARENA = 1;\n\t */\n\tARENA: 1,\n\n\t/**\n\t * @generated from enum value: DISPLAY_OPTION_BATTLE_GROUP_ONLY = 2;\n\t */\n\tBATTLE_GROUP_ONLY: 2,\n\n\t/**\n\t * @generated from enum value: DISPLAY_OPTION_MODEL_ROUTER = 3;\n\t */\n\tMODEL_ROUTER: 3,\n\n\t/**\n\t * @generated from enum value: DISPLAY_OPTION_QUICK_REVIEW = 4;\n\t */\n\tQUICK_REVIEW: 4,\n\n\t/**\n\t * @generated from enum value: DISPLAY_OPTION_INTERNAL_DEFAULT = 6;\n\t */\n\tINTERNAL_DEFAULT: 6,\n\n\t/**\n\t * @generated from enum value: DISPLAY_OPTION_UNCLASSIFIED = 7;\n\t */\n\tUNCLASSIFIED: 7,\n\n\t/**\n\t * @generated from enum value: DISPLAY_OPTION_NORMAL = 8;\n\t */\n\tNORMAL: 8,\n} as const;\n\nexport type DisplayOption = (typeof DisplayOption)[keyof typeof DisplayOption];\n\n/**\n * Describes the enum exa.api_server_pb.DisplayOption.\n */\nexport const DisplayOptionSchema: GenEnum<DisplayOption> = /*@__PURE__*/ enumDesc(file_cascade, 5);\n\n/**\n * exa.codeium_common_pb.ModelDimensionKind\n *\n * @generated from enum exa.api_server_pb.ModelDimensionKind\n */\nexport const ModelDimensionKind = {\n\t/**\n\t * @generated from enum value: MODEL_DIMENSION_KIND_UNSPECIFIED = 0;\n\t */\n\tUNSPECIFIED: 0,\n\n\t/**\n\t * @generated from enum value: MODEL_DIMENSION_KIND_COST = 1;\n\t */\n\tCOST: 1,\n\n\t/**\n\t * @generated from enum value: MODEL_DIMENSION_KIND_COST_FUZZY = 2;\n\t */\n\tCOST_FUZZY: 2,\n} as const;\n\nexport type ModelDimensionKind = (typeof ModelDimensionKind)[keyof typeof ModelDimensionKind];\n\n/**\n * Describes the enum exa.api_server_pb.ModelDimensionKind.\n */\nexport const ModelDimensionKindSchema: GenEnum<ModelDimensionKind> = /*@__PURE__*/ enumDesc(file_cascade, 6);\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/api/devin-agent/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EACN,KAAK,aAAa,EAElB,KAAK,QAAQ,EAEb,MAAM,qBAAqB,CAAC;AAO7B,eAAO,MAAM,kBAAkB;aAC9B,OAAO,EAAE,WAAW;aACpB,OAAO,EAAE,QAAQ;aACjB,UAAU,EAAE,UAAU;aACtB,aAAa,EAAE,QAAQ;aACvB,gBAAgB,EAAE,UAAU;aAC5B,MAAM;aACN,EAAE;CACO,CAAC;AAEX,eAAO,MAAM,wBAAwB;aACpC,OAAO,EAAE,QAAQ;aACjB,UAAU,EAAE,WAAW;aACvB,aAAa,EAAE,QAAQ;aACvB,gBAAgB,EAAE,WAAW;aAC7B,MAAM;aACN,EAAE;CACO,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,8BAA8B,EAAE,SAAS,aAAa,EAMlE,CAAC;AAEF,kFAAkF;AAClF,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAG7E;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,SAAK,GAAG,QAAQ,CAMnF;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAM3E"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/api/devin-agent/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAEN,aAAa,IAAI,kBAAkB,EAEnC,cAAc,GACd,MAAM,qBAAqB,CAAC;AAE7B,MAAM,0BAA0B,GAAG,sBAAsB,CAAC;AAE1D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;AAC/G,MAAM,YAAY,GAAG,IAAI,CAAC;AAE1B,MAAM,CAAC,MAAM,kBAAkB,GAAG;IACjC,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,UAAU;IACtB,aAAa,EAAE,QAAQ;IACvB,gBAAgB,EAAE,UAAU;IAC5B,MAAM,EAAE,YAAY;IACpB,EAAE,EAAE,QAAQ;CACH,CAAC;AAEX,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACvC,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,WAAW;IACvB,aAAa,EAAE,QAAQ;IACvB,gBAAgB,EAAE,WAAW;IAC7B,MAAM,EAAE,YAAY;IACpB,EAAE,EAAE,QAAQ;CACH,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAA6B;IACvE,kBAAkB,CAAC,YAAY;IAC/B,kBAAkB,CAAC,YAAY;IAC/B,kBAAkB,CAAC,gBAAgB;IACnC,kBAAkB,CAAC,YAAY;IAC/B,kBAAkB,CAAC,MAAM;CACzB,CAAC;AAEF,kFAAkF;AAClF,MAAM,UAAU,0BAA0B,CAAC,MAA0B;IACpE,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,OAAO,MAAM,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,0BAA0B,GAAG,MAAM,EAAE,CAAC;AAC1G,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAA0B,EAAE,OAAO,GAAG,EAAE;IACxE,OAAO,MAAM,CAAC,cAAc,EAAE;QAC7B,GAAG,kBAAkB;QACrB,MAAM,EAAE,0BAA0B,CAAC,MAAM,CAAC;QAC1C,OAAO;KACP,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAA0B;IAChE,OAAO,MAAM,CAAC,cAAc,EAAE;QAC7B,GAAG,wBAAwB;QAC3B,MAAM,EAAE,0BAA0B,CAAC,MAAM,CAAC;QAC1C,sBAAsB,EAAE,CAAC,GAAG,8BAA8B,CAAC;KAC3D,CAAC,CAAC;AACJ,CAAC","sourcesContent":["/**\n * Cascade `Metadata` construction.\n *\n * Cascade gates behavior on the caller's identity tuple, and the two identities\n * below are the ones the released Devin CLI actually presents:\n * - the released chat identity (`devin-cli` / `chisel`) unlocks the CLI model\n * surface and router assignment on `GetUserJwt`, `AssignModel` and\n * `GetChatMessage`;\n * - the dev-channel `chisel` identity is what the CLI announces on\n * `GetCliModelConfigs`, and it is the one that returns the full catalog.\n *\n * The session token is scheme-prefixed on the wire, and `userJwt` stays empty\n * for the calls the CLI makes with the session token alone.\n */\n\nimport { create } from \"@bufbuild/protobuf\";\nimport {\n\ttype DisplayOption,\n\tDisplayOption as DisplayOptionValue,\n\ttype Metadata,\n\tMetadataSchema,\n} from \"./gen/cascade_pb.ts\";\n\nconst DEVIN_SESSION_TOKEN_PREFIX = \"devin-session-token$\";\n\nconst DEVIN_OS = process.platform === \"darwin\" ? \"darwin\" : process.platform === \"win32\" ? \"windows\" : \"linux\";\nconst DEVIN_LOCALE = \"en\";\n\nexport const DEVIN_CLI_IDENTITY = {\n\tideName: \"devin-cli\",\n\tideType: \"chisel\",\n\tideVersion: \"3000.6.2\",\n\textensionName: \"chisel\",\n\textensionVersion: \"3000.6.2\",\n\tlocale: DEVIN_LOCALE,\n\tos: DEVIN_OS,\n} as const;\n\nexport const DEVIN_DISCOVERY_IDENTITY = {\n\tideName: \"chisel\",\n\tideVersion: \"0.0.0-dev\",\n\textensionName: \"chisel\",\n\textensionVersion: \"0.0.0-dev\",\n\tlocale: DEVIN_LOCALE,\n\tos: DEVIN_OS,\n} as const;\n\n/**\n * Asking for the internal slots is what makes Cascade return its full catalog;\n * the internal ones are filtered client-side, exactly as the native client does.\n */\nexport const DEVIN_SUPPORTED_MODEL_DISPLAYS: readonly DisplayOption[] = [\n\tDisplayOptionValue.MODEL_ROUTER,\n\tDisplayOptionValue.QUICK_REVIEW,\n\tDisplayOptionValue.INTERNAL_DEFAULT,\n\tDisplayOptionValue.UNCLASSIFIED,\n\tDisplayOptionValue.NORMAL,\n];\n\n/** Session token as the wire format carries it: the scheme prefix is required. */\nexport function normalizeDevinSessionToken(apiKey: string | undefined): string {\n\tif (!apiKey) return \"\";\n\treturn apiKey.startsWith(DEVIN_SESSION_TOKEN_PREFIX) ? apiKey : `${DEVIN_SESSION_TOKEN_PREFIX}${apiKey}`;\n}\n\nexport function devinCliMetadata(apiKey: string | undefined, userJwt = \"\"): Metadata {\n\treturn create(MetadataSchema, {\n\t\t...DEVIN_CLI_IDENTITY,\n\t\tapiKey: normalizeDevinSessionToken(apiKey),\n\t\tuserJwt,\n\t});\n}\n\nexport function devinDiscoveryMetadata(apiKey: string | undefined): Metadata {\n\treturn create(MetadataSchema, {\n\t\t...DEVIN_DISCOVERY_IDENTITY,\n\t\tapiKey: normalizeDevinSessionToken(apiKey),\n\t\tsupportedModelDisplays: [...DEVIN_SUPPORTED_MODEL_DISPLAYS],\n\t});\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/api/devin-agent/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,eAAO,MAAM,sBAAsB,+BAA+B,CAAC;AACnE,eAAO,MAAM,uBAAuB,uDAAuD,CAAC;AAC5F,eAAO,MAAM,4BAA4B,2DAA2D,CAAC;AACrG,eAAO,MAAM,uBAAuB,oDAAoD,CAAC;AACzF,eAAO,MAAM,mBAAmB,wCAAwC,CAAC;AAEzE;;;GAGG;AACH,eAAO,MAAM,kBAAkB;aAC9B,cAAc,EAAE,2BAA2B;aAC3C,0BAA0B,EAAE,GAAG;aAC/B,0BAA0B,EAAE,MAAM;aAClC,iBAAiB,EAAE,UAAU;aAC7B,YAAY,EAAE,8BAA8B;aAC5C,yBAAyB,EAAE,MAAM;CACxB,CAAC;AAEX,sFAAsF;AACtF,eAAO,MAAM,mBAAmB;aAC/B,cAAc,EAAE,mBAAmB;aACnC,0BAA0B,EAAE,GAAG;aAC/B,MAAM,EAAE,KAAK;CACJ,CAAC;AAEX,2FAA2F;AAC3F,eAAO,MAAM,qBAAqB,IAAO,CAAC;AAC1C,eAAO,MAAM,kBAAkB,IAAO,CAAC;AAEvC;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,QAAmB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/api/devin-agent/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,4BAA4B,CAAC;AACnE,MAAM,CAAC,MAAM,uBAAuB,GAAG,oDAAoD,CAAC;AAC5F,MAAM,CAAC,MAAM,4BAA4B,GAAG,wDAAwD,CAAC;AACrG,MAAM,CAAC,MAAM,uBAAuB,GAAG,iDAAiD,CAAC;AACzF,MAAM,CAAC,MAAM,mBAAmB,GAAG,qCAAqC,CAAC;AAEzE;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IACjC,cAAc,EAAE,2BAA2B;IAC3C,0BAA0B,EAAE,GAAG;IAC/B,0BAA0B,EAAE,MAAM;IAClC,iBAAiB,EAAE,UAAU;IAC7B,YAAY,EAAE,8BAA8B;IAC5C,yBAAyB,EAAE,MAAM;CACxB,CAAC;AAEX,sFAAsF;AACtF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAClC,cAAc,EAAE,mBAAmB;IACnC,0BAA0B,EAAE,GAAG;IAC/B,MAAM,EAAE,KAAK;CACJ,CAAC;AAEX,2FAA2F;AAC3F,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAC1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC","sourcesContent":["/**\n * Cascade RPC paths and wire constants.\n *\n * Devin's released CLI speaks the Connect protocol over HTTP/1.1 against\n * Codeium's Cascade edge. The service paths are spelled out here rather than\n * derived from a generated service descriptor: the vendored schema in\n * packages/ai/proto/devin/cascade.proto carries only the message subset the\n * transport needs, so its package name is cosmetic while these paths are the\n * real contract.\n */\n\nexport const DEVIN_DEFAULT_BASE_URL = \"https://server.codeium.com\";\nexport const DEVIN_CHAT_MESSAGE_PATH = \"/exa.api_server_pb.ApiServerService/GetChatMessage\";\nexport const DEVIN_CLI_MODEL_CONFIGS_PATH = \"/exa.api_server_pb.ApiServerService/GetCliModelConfigs\";\nexport const DEVIN_ASSIGN_MODEL_PATH = \"/exa.api_server_pb.ApiServerService/AssignModel\";\nexport const DEVIN_USER_JWT_PATH = \"/exa.auth_pb.AuthService/GetUserJwt\";\n\n/**\n * Request headers the released CLI sends on the streaming chat call. Auth rides\n * inside `Metadata.api_key`, so there is no `authorization` header.\n */\nexport const DEVIN_CHAT_HEADERS = {\n\t\"content-type\": \"application/connect+proto\",\n\t\"connect-protocol-version\": \"1\",\n\t\"connect-content-encoding\": \"gzip\",\n\t\"accept-encoding\": \"identity\",\n\t\"user-agent\": \"connect-go/1.18.1 (go1.26.3)\",\n\t\"connect-accept-encoding\": \"gzip\",\n} as const;\n\n/** Unary Connect calls carry a bare protobuf body, not the 5-byte streaming frame. */\nexport const DEVIN_UNARY_HEADERS = {\n\t\"content-type\": \"application/proto\",\n\t\"connect-protocol-version\": \"1\",\n\taccept: \"*/*\",\n} as const;\n\n/** Connect frame flags: bit 0 marks a gzipped payload, bit 1 the end-of-stream trailer. */\nexport const DEVIN_COMPRESSED_FLAG = 0x01;\nexport const DEVIN_TRAILER_FLAG = 0x02;\n\n/**\n * Hard upper bound on one Connect frame payload. The 4-byte length prefix can\n * describe 4 GiB; a corrupted or hostile prefix must not turn into an\n * allocation of that size, so anything larger is a protocol error.\n */\nexport const DEVIN_MAX_FRAME_PAYLOAD = 64 * 1024 * 1024;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/api/devin-agent/request.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAQ,MAAM,gBAAgB,CAAC;AAEpE,OAAO,EAEN,KAAK,iBAAiB,EAQtB,KAAK,qBAAqB,EAK1B,MAAM,qBAAqB,CAAC;AAG7B,8EAA8E;AAC9E,eAAO,MAAM,2BAA2B,YACvC,UAAU,EACV,SAAS,EACT,qBAAqB,EACrB,eAAe,EACf,iBAAiB,CACR,CAAC;AAOX,MAAM,WAAW,oBAAoB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACrC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAMD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,qBAAqB,GAAG,qBAAqB,CA6BzF;AAED,0FAA0F;AAC1F,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,iBAAiB,GAAG,SAAS,CAMlG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/api/devin-agent/request.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Builds the Cascade `GetChatMessage` request from senpi's provider-neutral\n * context.\n *\n * Cascade has no system role: the system prompt travels in the top-level\n * `prompt` field, and history is a flat list of `ChatMessagePrompt` entries\n * whose `source` carries the role. Message ids must be UUID-shaped; they are\n * derived deterministically from the conversation id and the entry index so a\n * retried turn re-sends the same ids instead of forking the server-side\n * transcript, while a native Devin turn is replayed under the id the server\n * minted for it.\n */\n\nimport { create } from \"@bufbuild/protobuf\";\nimport type { Context, Message, Model, Tool } from \"../../types.ts\";\nimport { deterministicUuid } from \"../cursor-agent/deterministic-id.ts\";\nimport {\n\tCacheControlType,\n\ttype ChatMessagePrompt,\n\tChatMessagePromptSchema,\n\tChatMessageRequestType,\n\tChatMessageSource,\n\tChatToolCallSchema,\n\tChatToolDefinitionSchema,\n\tCompletionConfigurationSchema,\n\tConversationalPlannerMode,\n\ttype GetChatMessageRequest,\n\tGetChatMessageRequestSchema,\n\ttype ImageData,\n\tImageDataSchema,\n\tPromptCacheOptionsSchema,\n} from \"./gen/cascade_pb.ts\";\nimport { devinCliMetadata } from \"./metadata.ts\";\n\n/** Cascade's own stop vocabulary; the server echoes these as STOP_PATTERN. */\nexport const DEVIN_DEFAULT_STOP_PATTERNS = [\n\t\"<|user|>\",\n\t\"<|bot|>\",\n\t\"<|context_request|>\",\n\t\"<|endoftext|>\",\n\t\"<|end_of_turn|>\",\n] as const;\n\nconst DEFAULT_MAX_TOKENS = 64_000;\nconst DEFAULT_TEMPERATURE = 0.4;\n/** Cascade refuses a temperature of exactly 0 (proto3 drops it) with an opaque invalid_argument. */\nconst MIN_TEMPERATURE = 0.0001;\n\nexport interface DevinModelAssignment {\n\tmodelUid: string;\n\tassignmentJwt: string;\n}\n\nexport interface DevinChatRequestInput {\n\tmodel: Model<\"devin-agent\">;\n\tcontext: Context;\n\tapiKey: string | undefined;\n\tuserJwt?: string;\n\tcascadeId: string;\n\tassignment?: DevinModelAssignment;\n\tmaxTokens?: number;\n\ttemperature?: number;\n\ttopP?: number;\n\tstopSequences?: readonly string[];\n}\n\ntype UserMessage = Extract<Message, { role: \"user\" }>;\ntype AssistantMessage = Extract<Message, { role: \"assistant\" }>;\ntype ToolResultMessage = Extract<Message, { role: \"toolResult\" }>;\n\nexport function buildDevinChatRequest(input: DevinChatRequestInput): GetChatMessageRequest {\n\tconst temperature = Math.max(input.temperature ?? DEFAULT_TEMPERATURE, MIN_TEMPERATURE);\n\tconst stopPatterns = [...DEVIN_DEFAULT_STOP_PATTERNS, ...(input.stopSequences ?? [])];\n\treturn create(GetChatMessageRequestSchema, {\n\t\tmetadata: devinCliMetadata(input.apiKey, input.userJwt ?? \"\"),\n\t\tprompt: input.context.systemPrompt ?? \"\",\n\t\tchatMessagePrompts: mapHistory(input.context.messages, input.cascadeId, input.model),\n\t\trequestType: ChatMessageRequestType.CASCADE,\n\t\tplannerMode: ConversationalPlannerMode.DEFAULT,\n\t\tchatModelUid: input.assignment?.modelUid ?? input.model.upstreamModelId ?? input.model.id,\n\t\t...(input.assignment ? { modelAssignmentJwt: input.assignment.assignmentJwt } : {}),\n\t\tcascadeId: input.cascadeId,\n\t\texecutionId: crypto.randomUUID(),\n\t\ttools: (input.context.tools ?? []).map(toolDefinition),\n\t\ttoolChoice: { choice: { case: \"optionName\", value: \"auto\" } },\n\t\tsystemPromptCacheOptions: create(PromptCacheOptionsSchema, { type: CacheControlType.EPHEMERAL }),\n\t\tdisableParallelToolCalls: input.model.compat?.supportsParallelToolCalls !== true,\n\t\tconfiguration: create(CompletionConfigurationSchema, {\n\t\t\tnumCompletions: 1n,\n\t\t\tmaxTokens: BigInt(input.maxTokens ?? input.model.maxTokens ?? DEFAULT_MAX_TOKENS),\n\t\t\tmaxNewlines: 200n,\n\t\t\ttemperature,\n\t\t\tfirstTemperature: temperature,\n\t\t\ttopK: 50n,\n\t\t\ttopP: input.topP ?? 1,\n\t\t\tstopPatterns,\n\t\t\tfimEotProbThreshold: 1,\n\t\t}),\n\t});\n}\n\n/** The router scores the latest user turn alone; the chat request mints the turn's id. */\nexport function buildDevinRouterPrompt(messages: readonly Message[]): ChatMessagePrompt | undefined {\n\tfor (let index = messages.length - 1; index >= 0; index--) {\n\t\tconst message = messages[index];\n\t\tif (message?.role === \"user\") return userPrompt(message, \"\");\n\t}\n\treturn undefined;\n}\n\nfunction toolDefinition(tool: Tool) {\n\treturn create(ChatToolDefinitionSchema, {\n\t\tname: tool.name,\n\t\tdescription: tool.description,\n\t\tjsonSchemaString: JSON.stringify(tool.parameters ?? {}),\n\t\tstrict: false,\n\t});\n}\n\nfunction mapHistory(messages: readonly Message[], cascadeId: string, model: Model<\"devin-agent\">): ChatMessagePrompt[] {\n\tconst prompts: ChatMessagePrompt[] = [];\n\tfor (const [index, message] of messages.entries()) {\n\t\tconst seed = `${cascadeId}\\u0000${index}\\u0000${message.role}`;\n\t\tif (message.role === \"user\") prompts.push(userPrompt(message, deterministicUuid(seed)));\n\t\telse if (message.role === \"assistant\") {\n\t\t\tconst prompt = assistantPrompt(message, model, `bot-${deterministicUuid(seed)}`);\n\t\t\tif (prompt) prompts.push(prompt);\n\t\t} else if (message.role === \"toolResult\") {\n\t\t\tprompts.push(toolResultPrompt(message, deterministicUuid(`${seed}\\u0000${message.toolCallId}`)));\n\t\t}\n\t}\n\treturn prompts;\n}\n\nfunction userPrompt(message: UserMessage, messageId: string): ChatMessagePrompt {\n\tconst { text, images } = splitContent(typeof message.content === \"string\" ? [] : message.content);\n\treturn create(ChatMessagePromptSchema, {\n\t\tmessageId,\n\t\tsource: ChatMessageSource.USER,\n\t\tprompt: typeof message.content === \"string\" ? message.content : text,\n\t\timages,\n\t});\n}\n\nfunction assistantPrompt(\n\tmessage: AssistantMessage,\n\tmodel: Model<\"devin-agent\">,\n\tfallbackId: string,\n): ChatMessagePrompt | undefined {\n\tconst native = message.api === model.api && message.provider === model.provider && message.model === model.id;\n\tlet text = \"\";\n\tlet thinking = \"\";\n\tlet signature = \"\";\n\tconst toolCalls = [];\n\tfor (const block of message.content) {\n\t\tif (block.type === \"text\") text += block.text;\n\t\telse if (block.type === \"thinking\") {\n\t\t\tthinking += block.thinking;\n\t\t\tif (native && !signature && block.thinkingSignature) signature = block.thinkingSignature;\n\t\t} else if (block.type === \"toolCall\") {\n\t\t\ttoolCalls.push(\n\t\t\t\tcreate(ChatToolCallSchema, {\n\t\t\t\t\tid: block.id,\n\t\t\t\t\tname: block.name,\n\t\t\t\t\targumentsJson: JSON.stringify(block.arguments ?? {}),\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\t}\n\tif (!text && !thinking && !signature && toolCalls.length === 0) return undefined;\n\treturn create(ChatMessagePromptSchema, {\n\t\tmessageId: native && message.responseId ? message.responseId : fallbackId,\n\t\tsource: ChatMessageSource.SYSTEM,\n\t\tprompt: text,\n\t\tthinking,\n\t\tsignature,\n\t\tsignatureType: \"\",\n\t\ttoolCalls,\n\t});\n}\n\nfunction toolResultPrompt(message: ToolResultMessage, messageId: string): ChatMessagePrompt {\n\tconst { text, images } = splitContent(message.content);\n\treturn create(ChatMessagePromptSchema, {\n\t\tmessageId,\n\t\tsource: ChatMessageSource.TOOL,\n\t\tprompt: text,\n\t\timages,\n\t\ttoolCallId: message.toolCallId,\n\t\ttoolResultIsError: message.isError === true,\n\t});\n}\n\nfunction splitContent(\n\tcontent: readonly ({ type: \"text\"; text: string } | { type: \"image\"; data: string; mimeType: string })[],\n): { text: string; images: ImageData[] } {\n\tlet text = \"\";\n\tconst images: ImageData[] = [];\n\tfor (const block of content) {\n\t\tif (block.type === \"text\") text += block.text;\n\t\telse images.push(create(ImageDataSchema, { base64Data: block.data, mimeType: block.mimeType }));\n\t}\n\treturn { text, images };\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stream-state.d.ts","sourceRoot":"","sources":["../../../src/api/devin-agent/stream-state.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAY,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAE/E,OAAO,EAAE,KAAK,sBAAsB,EAAc,MAAM,qBAAqB,CAAC;AAE9E,MAAM,WAAW,kBAAkB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,aAAa,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAChC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC3C,6EAA6E;IAC7E,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,wBAAgB,sBAAsB,IAAI,gBAAgB,CAEzD;AAED,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,sBAAsB,EAC/B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,2BAA2B,EACnC,KAAK,EAAE,gBAAgB,GACrB,IAAI,CASN"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stream-state.js","sourceRoot":"","sources":["../../../src/api/devin-agent/stream-state.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Cascade delta bookkeeping.\n *\n * One Cascade response frame can carry a thinking delta, a text delta and a\n * finished tool call at once, and blocks are implicit: the server never opens\n * or closes them. This module owns the open-block state so the adapter emits\n * senpi's start/delta/end triples in the right order.\n */\n\nimport type { AssistantMessage, ToolCall } from \"../../types.ts\";\nimport type { AssistantMessageEventStream } from \"../../utils/event-stream.ts\";\nimport { parseStreamingJson } from \"../../utils/json-parse.ts\";\nimport { type GetChatMessageResponse, StopReason } from \"./gen/cascade_pb.ts\";\n\nexport interface DevinToolCallState {\n\tcontentIndex: number;\n\t/** Raw JSON accumulated across chunks; the content block holds the parsed view. */\n\targumentsJson: string;\n}\n\nexport interface DevinStreamState {\n\ttextIndex: number | undefined;\n\tthinkingIndex: number | undefined;\n\ttoolCalls: Map<string, DevinToolCallState>;\n\t/** Chunks after the first arrive without an id; they belong to this call. */\n\tactiveToolCallId: string | undefined;\n}\n\nexport function createDevinStreamState(): DevinStreamState {\n\treturn { textIndex: undefined, thinkingIndex: undefined, toolCalls: new Map(), activeToolCallId: undefined };\n}\n\nexport function applyDevinResponse(\n\tmessage: GetChatMessageResponse,\n\toutput: AssistantMessage,\n\tevents: AssistantMessageEventStream,\n\tstate: DevinStreamState,\n): void {\n\tif (message.messageId && !output.responseId) output.responseId = message.messageId;\n\tif (message.actualModelUid) output.responseModel = message.actualModelUid;\n\n\tif (message.deltaThinking) appendThinking(message, output, events, state);\n\tif (message.deltaText) appendText(message.deltaText, output, events, state);\n\tfor (const call of message.deltaToolCalls) appendToolCall(call, output, events, state);\n\tif (message.usage) applyUsage(message, output);\n\tif (message.stopReason !== StopReason.UNSPECIFIED) output.stopReason = mapStopReason(message.stopReason);\n}\n\nfunction appendThinking(\n\tmessage: GetChatMessageResponse,\n\toutput: AssistantMessage,\n\tevents: AssistantMessageEventStream,\n\tstate: DevinStreamState,\n): void {\n\t// A thinking block interleaved after text starts a new block, matching the\n\t// order Cascade streamed it in.\n\tif (state.textIndex !== undefined) closeText(output, events, state);\n\tif (state.thinkingIndex === undefined) {\n\t\toutput.content.push({ type: \"thinking\", thinking: \"\", ...(message.thinkingRedacted ? { redacted: true } : {}) });\n\t\tstate.thinkingIndex = output.content.length - 1;\n\t\tevents.push({ type: \"thinking_start\", contentIndex: state.thinkingIndex, partial: output });\n\t}\n\tconst block = output.content[state.thinkingIndex];\n\tif (block?.type !== \"thinking\") return;\n\tblock.thinking += message.deltaThinking;\n\tif (message.deltaSignature) block.thinkingSignature = message.deltaSignature;\n\tevents.push({\n\t\ttype: \"thinking_delta\",\n\t\tcontentIndex: state.thinkingIndex,\n\t\tdelta: message.deltaThinking,\n\t\tpartial: output,\n\t});\n}\n\nfunction appendText(\n\tdelta: string,\n\toutput: AssistantMessage,\n\tevents: AssistantMessageEventStream,\n\tstate: DevinStreamState,\n): void {\n\tif (state.thinkingIndex !== undefined) closeThinking(output, events, state);\n\tif (state.textIndex === undefined) {\n\t\toutput.content.push({ type: \"text\", text: \"\" });\n\t\tstate.textIndex = output.content.length - 1;\n\t\tevents.push({ type: \"text_start\", contentIndex: state.textIndex, partial: output });\n\t}\n\tconst block = output.content[state.textIndex];\n\tif (block?.type !== \"text\") return;\n\tblock.text += delta;\n\tevents.push({ type: \"text_delta\", contentIndex: state.textIndex, delta, partial: output });\n}\n\nfunction appendToolCall(\n\tcall: { id: string; name: string; argumentsJson: string },\n\toutput: AssistantMessage,\n\tevents: AssistantMessageEventStream,\n\tstate: DevinStreamState,\n): void {\n\tif (state.textIndex !== undefined) closeText(output, events, state);\n\tif (state.thinkingIndex !== undefined) closeThinking(output, events, state);\n\tconst toolCallId = call.id || state.activeToolCallId;\n\tif (!toolCallId) return;\n\tstate.activeToolCallId = toolCallId;\n\tlet entry = state.toolCalls.get(toolCallId);\n\tif (entry === undefined) {\n\t\tconst block: ToolCall = { type: \"toolCall\", id: toolCallId, name: call.name, arguments: {} };\n\t\toutput.content.push(block);\n\t\tentry = { contentIndex: output.content.length - 1, argumentsJson: \"\" };\n\t\tstate.toolCalls.set(toolCallId, entry);\n\t\tevents.push({ type: \"toolcall_start\", contentIndex: entry.contentIndex, partial: output });\n\t}\n\tconst block = output.content[entry.contentIndex];\n\tif (block?.type !== \"toolCall\") return;\n\tif (call.name) block.name = call.name;\n\tif (!call.argumentsJson) return;\n\t// A chunk either repeats everything so far plus new bytes, or carries only the new bytes.\n\tconst accumulated = call.argumentsJson.startsWith(entry.argumentsJson)\n\t\t? call.argumentsJson\n\t\t: entry.argumentsJson + call.argumentsJson;\n\tconst delta = accumulated.slice(entry.argumentsJson.length);\n\tentry.argumentsJson = accumulated;\n\tblock.arguments = parseStreamingJson(accumulated);\n\tif (delta) events.push({ type: \"toolcall_delta\", contentIndex: entry.contentIndex, delta, partial: output });\n}\n\nfunction closeText(output: AssistantMessage, events: AssistantMessageEventStream, state: DevinStreamState): void {\n\tconst index = state.textIndex;\n\tif (index === undefined) return;\n\tconst block = output.content[index];\n\tstate.textIndex = undefined;\n\tif (block?.type === \"text\")\n\t\tevents.push({ type: \"text_end\", contentIndex: index, content: block.text, partial: output });\n}\n\nfunction closeThinking(output: AssistantMessage, events: AssistantMessageEventStream, state: DevinStreamState): void {\n\tconst index = state.thinkingIndex;\n\tif (index === undefined) return;\n\tconst block = output.content[index];\n\tstate.thinkingIndex = undefined;\n\tif (block?.type === \"thinking\")\n\t\tevents.push({ type: \"thinking_end\", contentIndex: index, content: block.thinking, partial: output });\n}\n\nfunction applyUsage(message: GetChatMessageResponse, output: AssistantMessage): void {\n\tconst usage = message.usage;\n\tif (!usage) return;\n\toutput.usage.input = Number(usage.inputTokens);\n\toutput.usage.output = Number(usage.outputTokens);\n\toutput.usage.cacheRead = Number(usage.cacheReadTokens);\n\toutput.usage.cacheWrite = Number(usage.cacheWriteTokens);\n\toutput.usage.totalTokens =\n\t\toutput.usage.input + output.usage.output + output.usage.cacheRead + output.usage.cacheWrite;\n}\n\n/** Cascade's stop vocabulary reduced to senpi's. */\nfunction mapStopReason(reason: StopReason): AssistantMessage[\"stopReason\"] {\n\tswitch (reason) {\n\t\tcase StopReason.FUNCTION_CALL:\n\t\t\treturn \"toolUse\";\n\t\tcase StopReason.MAX_TOKENS:\n\t\tcase StopReason.MAX_NEWLINES:\n\t\t\treturn \"length\";\n\t\tcase StopReason.ERROR:\n\t\tcase StopReason.CONTENT_FILTER:\n\t\t\treturn \"error\";\n\t\tdefault:\n\t\t\treturn \"stop\";\n\t}\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trailer.d.ts","sourceRoot":"","sources":["../../../src/api/devin-agent/trailer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAmBpF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trailer.js","sourceRoot":"","sources":["../../../src/api/devin-agent/trailer.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Connect end-of-stream trailer errors.\n *\n * Cascade rejects a turn (`invalid_argument`, `permission_denied`, ...) with an\n * HTTP 200 whose only frame is the trailer `{ error: { code, message, details } }`.\n * The trailer is the sole server-side evidence for such a rejection, so it is\n * parsed with guards - never asserted - and its details are folded into the\n * message a user sees.\n */\n\nconst MAX_TRAILER_EVIDENCE_CHARS = 2000;\n\nexport interface DevinTrailerError {\n\tcode: string;\n\tmessage: string;\n\tformatted: string;\n}\n\nexport function readDevinTrailerError(trailer: string): DevinTrailerError | undefined {\n\tconst text = trailer.trim();\n\tif (!text) return undefined;\n\tlet parsed: unknown;\n\ttry {\n\t\tparsed = JSON.parse(text);\n\t} catch {\n\t\treturn undefined;\n\t}\n\tif (!isRecord(parsed) || !isRecord(parsed.error)) return undefined;\n\tconst code = typeof parsed.error.code === \"string\" ? parsed.error.code : \"\";\n\tconst message = typeof parsed.error.message === \"string\" ? parsed.error.message : \"\";\n\tif (!code && !message) return undefined;\n\tconst detail = summarizeDetails(parsed.error.details);\n\treturn {\n\t\tcode,\n\t\tmessage,\n\t\tformatted: `Devin stream error${code ? ` ${code}` : \"\"}: ${message}${detail ? ` [details: ${detail}]` : \"\"}`,\n\t};\n}\n\nfunction summarizeDetails(details: unknown): string | undefined {\n\tif (!Array.isArray(details) || details.length === 0) return undefined;\n\tconst parts: string[] = [];\n\tfor (const entry of details) {\n\t\tif (!isRecord(entry)) continue;\n\t\tconst type = typeof entry.type === \"string\" && entry.type ? entry.type : undefined;\n\t\tconst evidence = evidenceOf(entry);\n\t\tconst part = type && evidence ? `${type}: ${evidence}` : (type ?? evidence);\n\t\tif (part) parts.push(part);\n\t}\n\tconst summary = parts.join(\"; \");\n\tif (!summary) return undefined;\n\treturn summary.length > MAX_TRAILER_EVIDENCE_CHARS ? `${summary.slice(0, MAX_TRAILER_EVIDENCE_CHARS)}…` : summary;\n}\n\nfunction evidenceOf(entry: Record<string, unknown>): string | undefined {\n\tif (entry.debug !== undefined) {\n\t\tif (typeof entry.debug === \"string\") return entry.debug;\n\t\ttry {\n\t\t\treturn JSON.stringify(entry.debug);\n\t\t} catch {\n\t\t\treturn undefined;\n\t\t}\n\t}\n\treturn typeof entry.value === \"string\" && entry.value ? entry.value : undefined;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/api/devin-agent/types.ts"],"names":[],"mappings":"AAAA,yDAAyD;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACvD,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/api/devin-agent/types.ts"],"names":[],"mappings":"AAAA,yDAAyD","sourcesContent":["/** Options accepted by the devin-agent (Cascade) API. */\n\nimport type { StreamOptions } from \"../../types.ts\";\n\nexport interface DevinAgentOptions extends StreamOptions {\n\t/** Devin CLI session token. Prefixed on the wire when it is not already. */\n\tapiKey?: string;\n\t/**\n\t * Cascade conversation id. Threads a multi-turn exchange server-side and\n\t * seeds deterministic message ids; a fresh id starts a new transcript.\n\t */\n\tcascadeId?: string;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"unary.d.ts","sourceRoot":"","sources":["../../../src/api/devin-agent/unary.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAEN,KAAK,WAAW,EAEhB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAEjB,MAAM,oBAAoB,CAAC;AAG5B,qBAAa,eAAgB,SAAQ,KAAK;IACzC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,YAAY,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAKtD;CACD;AAED,MAAM,WAAW,eAAe,CAAC,QAAQ,SAAS,WAAW,EAAE,SAAS,SAAS,WAAW;IAC3F,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,QAAQ,CAAC;IACxB,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACpC,cAAc,EAAE,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,wBAAsB,cAAc,CAAC,QAAQ,SAAS,WAAW,EAAE,SAAS,SAAS,WAAW,EAC/F,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,GACzC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAclC;AAED,wBAAsB,gBAAgB,CAAC,OAAO,SAAS,WAAW,EACjE,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,UAAU,GACjB,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,CAU5C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"unary.js","sourceRoot":"","sources":["../../../src/api/devin-agent/unary.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Unary Cascade RPCs (`GetUserJwt`, `AssignModel`, `GetCliModelConfigs`).\n *\n * Unlike the streaming chat call these carry a bare protobuf body both ways.\n * Edges variously answer with plain or gzipped protobuf, so decoding tries the\n * bytes as-is before falling back to gunzip. Discovery reaches this module from\n * the provider factory, which is root-reachable, so the gunzip path uses the\n * web `DecompressionStream` rather than `node:zlib`.\n */\n\nimport {\n\tcreate,\n\ttype DescMessage,\n\tfromBinary,\n\ttype MessageInitShape,\n\ttype MessageShape,\n\ttoBinary,\n} from \"@bufbuild/protobuf\";\nimport { DEVIN_UNARY_HEADERS } from \"./paths.ts\";\n\nexport class DevinUnaryError extends Error {\n\treadonly rpc: string;\n\treadonly status: number;\n\n\tconstructor(rpc: string, status: number, detail: string) {\n\t\tsuper(`Devin ${rpc} failed (HTTP ${status})${detail ? `: ${detail}` : \"\"}`);\n\t\tthis.name = \"DevinUnaryError\";\n\t\tthis.rpc = rpc;\n\t\tthis.status = status;\n\t}\n}\n\nexport interface DevinUnaryInput<TRequest extends DescMessage, TResponse extends DescMessage> {\n\tbaseUrl: string;\n\tpath: string;\n\trequestSchema: TRequest;\n\trequest: MessageInitShape<TRequest>;\n\tresponseSchema: TResponse;\n\tsignal?: AbortSignal;\n}\n\nexport async function postDevinUnary<TRequest extends DescMessage, TResponse extends DescMessage>(\n\tinput: DevinUnaryInput<TRequest, TResponse>,\n): Promise<MessageShape<TResponse>> {\n\tconst response = await fetch(input.baseUrl + input.path, {\n\t\tmethod: \"POST\",\n\t\theaders: DEVIN_UNARY_HEADERS,\n\t\tbody: copyOf(toBinary(input.requestSchema, create(input.requestSchema, input.request))),\n\t\tsignal: input.signal,\n\t});\n\tconst payload = new Uint8Array(await response.arrayBuffer());\n\tif (!response.ok) {\n\t\tthrow new DevinUnaryError(rpcName(input.path), response.status, new TextDecoder().decode(payload).slice(0, 500));\n\t}\n\tconst decoded = await decodeDevinUnary(input.responseSchema, payload);\n\tif (!decoded) throw new DevinUnaryError(rpcName(input.path), response.status, \"response is not a protobuf message\");\n\treturn decoded;\n}\n\nexport async function decodeDevinUnary<TSchema extends DescMessage>(\n\tschema: TSchema,\n\tpayload: Uint8Array,\n): Promise<MessageShape<TSchema> | undefined> {\n\ttry {\n\t\treturn fromBinary(schema, payload);\n\t} catch {\n\t\ttry {\n\t\t\treturn fromBinary(schema, await gunzip(payload));\n\t\t} catch {\n\t\t\treturn undefined;\n\t\t}\n\t}\n}\n\nasync function gunzip(payload: Uint8Array): Promise<Uint8Array<ArrayBuffer>> {\n\tconst inflated = new Blob([copyOf(payload)]).stream().pipeThrough(new DecompressionStream(\"gzip\"));\n\treturn new Uint8Array(await new Response(inflated).arrayBuffer());\n}\n\nfunction rpcName(path: string): string {\n\treturn path.slice(path.lastIndexOf(\"/\") + 1);\n}\n\nfunction copyOf(source: Uint8Array<ArrayBufferLike>): Uint8Array<ArrayBuffer> {\n\tconst out = new Uint8Array(source.byteLength);\n\tout.set(source);\n\treturn out;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../src/api/devin-agent/wire.ts"],"names":[],"mappings":"AAAA,oGAAoG;AAEpG,OAAO,EAAE,KAAK,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,IAAI,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC9G,OAAO,EACN,kBAAkB,EAClB,wBAAwB,EACxB,8BAA8B,EAC9B,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,GAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wire.js","sourceRoot":"","sources":["../../../src/api/devin-agent/wire.ts"],"names":[],"mappings":"AAAA,oGAAoG;AAEpG,OAAO,EAAmB,iBAAiB,EAAE,gBAAgB,IAAI,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC9G,OAAO,EACN,kBAAkB,EAClB,wBAAwB,EACxB,8BAA8B,EAC9B,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,GAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,GAG3B,MAAM,cAAc,CAAC;AACtB,OAAO,EAA0B,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAwB,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC","sourcesContent":["/** Cascade wire surface: paths, identity metadata, frame codec, unary RPCs and request building. */\n\nexport { type DevinFrame, decodeDevinFrames, encodeDevinFrame as encodeDevinRequestFrame } from \"./frames.ts\";\nexport {\n\tDEVIN_CLI_IDENTITY,\n\tDEVIN_DISCOVERY_IDENTITY,\n\tDEVIN_SUPPORTED_MODEL_DISPLAYS,\n\tdevinCliMetadata,\n\tdevinDiscoveryMetadata,\n\tnormalizeDevinSessionToken,\n} from \"./metadata.ts\";\nexport {\n\tDEVIN_ASSIGN_MODEL_PATH,\n\tDEVIN_CHAT_HEADERS,\n\tDEVIN_CHAT_MESSAGE_PATH,\n\tDEVIN_CLI_MODEL_CONFIGS_PATH,\n\tDEVIN_DEFAULT_BASE_URL,\n\tDEVIN_MAX_FRAME_PAYLOAD,\n\tDEVIN_UNARY_HEADERS,\n\tDEVIN_USER_JWT_PATH,\n} from \"./paths.ts\";\nexport {\n\tbuildDevinChatRequest,\n\tbuildDevinRouterPrompt,\n\tDEVIN_DEFAULT_STOP_PATTERNS,\n\ttype DevinChatRequestInput,\n\ttype DevinModelAssignment,\n} from \"./request.ts\";\nexport { type DevinTrailerError, readDevinTrailerError } from \"./trailer.ts\";\nexport { DevinUnaryError, type DevinUnaryInput, decodeDevinUnary, postDevinUnary } from \"./unary.ts\";\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"devin-agent.d.ts","sourceRoot":"","sources":["../../src/api/devin-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAoC,cAAc,EAAY,MAAM,aAAa,CAAC;AAW9F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAiBhE,eAAO,MAAM,MAAM,EAAE,cAAc,CAAC,aAAa,EAAE,iBAAiB,CAQnE,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,cAAc,CAAC,aAAa,EAAE,iBAAiB,CAAU,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"devin-agent.js","sourceRoot":"","sources":["../../src/api/devin-agent.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Devin (Cognition/Codeium Cascade) agent API.\n *\n * One assistant turn is up to three RPCs, exactly as the released Devin CLI\n * performs them:\n * 1. `GetUserJwt` mints the short-lived user JWT the chat call must carry and\n * names the account's API host, which can differ from the seeded one;\n * 2. `AssignModel` resolves a server-side router into a concrete model uid plus\n * the JWT that authorizes it (router models only);\n * 3. `GetChatMessage` streams the turn: a single gzipped Connect frame out, a\n * frame sequence of deltas back, closed by a JSON trailer that either\n * carries the rejection or is empty.\n *\n * Cascade reports text, thinking and tool calls as separate delta fields on the\n * same message, so this adapter owns the block bookkeeping senpi's event\n * protocol expects.\n */\n\nimport type { AssistantMessage, Context, Model, StreamFunction, ToolCall } from \"../types.ts\";\nimport { AssistantMessageEventStream } from \"../utils/event-stream.ts\";\nimport {\n\tAssignModelRequestSchema,\n\tAssignModelResponseSchema,\n\tGetChatMessageRequestSchema,\n\tGetChatMessageResponseSchema,\n\tGetUserJwtRequestSchema,\n\tGetUserJwtResponseSchema,\n} from \"./devin-agent/gen/cascade_pb.ts\";\nimport { applyDevinResponse, createDevinStreamState, type DevinStreamState } from \"./devin-agent/stream-state.ts\";\nimport type { DevinAgentOptions } from \"./devin-agent/types.ts\";\nimport {\n\tbuildDevinChatRequest,\n\tbuildDevinRouterPrompt,\n\tDEVIN_ASSIGN_MODEL_PATH,\n\tDEVIN_CHAT_HEADERS,\n\tDEVIN_CHAT_MESSAGE_PATH,\n\tDEVIN_DEFAULT_BASE_URL,\n\tDEVIN_USER_JWT_PATH,\n\ttype DevinModelAssignment,\n\tdecodeDevinFrames,\n\tdevinCliMetadata,\n\tencodeDevinRequestFrame,\n\tpostDevinUnary,\n\treadDevinTrailerError,\n} from \"./devin-agent/wire.ts\";\n\nexport const stream: StreamFunction<\"devin-agent\", DevinAgentOptions> = (\n\tmodel: Model<\"devin-agent\">,\n\tcontext: Context,\n\toptions?: DevinAgentOptions,\n) => {\n\tconst events = new AssistantMessageEventStream();\n\tvoid run(model, context, events, options);\n\treturn events;\n};\n\nexport const streamSimple: StreamFunction<\"devin-agent\", DevinAgentOptions> = stream;\n\ninterface DevinSession {\n\tuserJwt: string;\n\t/** Host the account is provisioned on; GetUserJwt may move it off the seed. */\n\tchatBaseUrl: string;\n}\n\nasync function run(\n\tmodel: Model<\"devin-agent\">,\n\tcontext: Context,\n\tevents: AssistantMessageEventStream,\n\toptions: DevinAgentOptions | undefined,\n): Promise<void> {\n\tconst output: AssistantMessage = {\n\t\trole: \"assistant\",\n\t\tcontent: [],\n\t\tapi: \"devin-agent\",\n\t\tprovider: model.provider,\n\t\tmodel: model.id,\n\t\tusage: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t\ttotalTokens: 0,\n\t\t\tcost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },\n\t\t},\n\t\tstopReason: \"stop\",\n\t\ttimestamp: Date.now(),\n\t};\n\tconst state = createDevinStreamState();\n\tconst signal = options?.signal;\n\n\ttry {\n\t\tevents.push({ type: \"start\", partial: output });\n\t\tconst baseUrl = (model.baseUrl || DEVIN_DEFAULT_BASE_URL).replace(/\\/+$/, \"\");\n\t\tconst cascadeId = options?.cascadeId ?? crypto.randomUUID();\n\t\tconst session = await mintUserJwt(baseUrl, options?.apiKey, signal);\n\t\tconst assignment =\n\t\t\tmodel.compat?.modelRouter === true\n\t\t\t\t? await assignModel(model, context, session.chatBaseUrl, cascadeId, options?.apiKey, signal)\n\t\t\t\t: undefined;\n\t\tif (assignment) output.responseModel = assignment.modelUid;\n\n\t\tconst request = buildDevinChatRequest({\n\t\t\tmodel,\n\t\t\tcontext,\n\t\t\tapiKey: options?.apiKey,\n\t\t\tuserJwt: session.userJwt,\n\t\t\tcascadeId,\n\t\t\t...(assignment ? { assignment } : {}),\n\t\t\t...(options?.maxTokens !== undefined ? { maxTokens: options.maxTokens } : {}),\n\t\t\t...(options?.temperature !== undefined ? { temperature: options.temperature } : {}),\n\t\t});\n\t\tconst response = await fetch(session.chatBaseUrl + DEVIN_CHAT_MESSAGE_PATH, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders: DEVIN_CHAT_HEADERS,\n\t\t\tbody: encodeDevinRequestFrame(GetChatMessageRequestSchema, request),\n\t\t\tsignal,\n\t\t});\n\t\tawait options?.onResponse?.({ status: response.status, headers: headersOf(response) }, model);\n\n\t\tif (!response.ok || !response.body) {\n\t\t\tthrow new Error(`Devin request failed (HTTP ${response.status})${await detail(response)}`);\n\t\t}\n\n\t\tfor await (const frame of decodeDevinFrames(response.body, GetChatMessageResponseSchema)) {\n\t\t\tif (frame.message) applyDevinResponse(frame.message, output, events, state);\n\t\t\tif (frame.trailer !== undefined) {\n\t\t\t\tconst rejection = readDevinTrailerError(frame.trailer);\n\t\t\t\tif (rejection) throw new Error(rejection.formatted);\n\t\t\t}\n\t\t}\n\n\t\tfinalizeBlocks(output, events, state);\n\t\t// Cascade can close a turn that carries a tool call without ever sending an\n\t\t// explicit stop reason. Only the default \"stop\" is upgraded: a server-reported\n\t\t// \"length\" means the turn was truncated, and a truncated tool call must not be\n\t\t// advertised as a complete one.\n\t\tif (output.stopReason === \"stop\" && output.content.some(isToolCall)) output.stopReason = \"toolUse\";\n\t\t// Cascade reports a server error or a content filter as a stop reason on an\n\t\t// otherwise well-formed stream. senpi's protocol has no \"done because it\n\t\t// failed\", so that turn terminates as an error event, not a done event.\n\t\tif (output.stopReason === \"error\") {\n\t\t\toutput.errorMessage ??= \"Devin ended the turn with a server error or a content filter\";\n\t\t\tevents.push({ type: \"error\", reason: \"error\", error: output });\n\t\t\tevents.end();\n\t\t\treturn;\n\t\t}\n\t\tevents.push({ type: \"done\", reason: doneReasonOf(output.stopReason), message: output });\n\t\tevents.end();\n\t} catch (error) {\n\t\tfinalizeBlocks(output, events, state);\n\t\tconst aborted = signal?.aborted === true || (error instanceof Error && error.name === \"AbortError\");\n\t\toutput.stopReason = aborted ? \"aborted\" : \"error\";\n\t\toutput.errorMessage = aborted ? \"Request was aborted\" : messageOf(error);\n\t\tevents.push({ type: \"error\", reason: output.stopReason, error: output });\n\t\tevents.end();\n\t}\n}\n\nasync function mintUserJwt(\n\tbaseUrl: string,\n\tapiKey: string | undefined,\n\tsignal: AbortSignal | undefined,\n): Promise<DevinSession> {\n\tconst response = await postDevinUnary({\n\t\tbaseUrl,\n\t\tpath: DEVIN_USER_JWT_PATH,\n\t\trequestSchema: GetUserJwtRequestSchema,\n\t\trequest: { metadata: devinCliMetadata(apiKey) },\n\t\tresponseSchema: GetUserJwtResponseSchema,\n\t\t...(signal ? { signal } : {}),\n\t});\n\tif (!response.userJwt) throw new Error(\"Devin GetUserJwt returned an empty user JWT\");\n\tconst customHost = response.customApiServerUrl.trim().replace(/\\/+$/, \"\");\n\treturn { userJwt: response.userJwt, chatBaseUrl: customHost || baseUrl };\n}\n\n/**\n * A router uid is never a legal chat model uid, so a failed assignment fails the\n * turn instead of falling back to sending the router id to GetChatMessage.\n */\nasync function assignModel(\n\tmodel: Model<\"devin-agent\">,\n\tcontext: Context,\n\tbaseUrl: string,\n\tcascadeId: string,\n\tapiKey: string | undefined,\n\tsignal: AbortSignal | undefined,\n): Promise<DevinModelAssignment> {\n\tconst routerPrompt = buildDevinRouterPrompt(context.messages);\n\tconst response = await postDevinUnary({\n\t\tbaseUrl,\n\t\tpath: DEVIN_ASSIGN_MODEL_PATH,\n\t\trequestSchema: AssignModelRequestSchema,\n\t\trequest: {\n\t\t\tmetadata: devinCliMetadata(apiKey),\n\t\t\tmodelRouterUid: model.upstreamModelId ?? model.id,\n\t\t\tcascadeId,\n\t\t\t...(routerPrompt ? { chatMessagePrompt: routerPrompt } : {}),\n\t\t},\n\t\tresponseSchema: AssignModelResponseSchema,\n\t\t...(signal ? { signal } : {}),\n\t});\n\tconst assignment = response.assignment;\n\tif (!assignment?.modelUid || !assignment.assignmentJwt) {\n\t\tthrow new Error(\"Devin AssignModel returned no model uid and assignment JWT\");\n\t}\n\treturn { modelUid: assignment.modelUid, assignmentJwt: assignment.assignmentJwt };\n}\n\n/** Narrows a settled stop reason to the three senpi accepts on a done event. */\nfunction doneReasonOf(stopReason: AssistantMessage[\"stopReason\"]): \"stop\" | \"length\" | \"toolUse\" {\n\tswitch (stopReason) {\n\t\tcase \"length\":\n\t\t\treturn \"length\";\n\t\tcase \"toolUse\":\n\t\t\treturn \"toolUse\";\n\t\tdefault:\n\t\t\treturn \"stop\";\n\t}\n}\n\nfunction headersOf(response: Response): Record<string, string> {\n\tconst headers: Record<string, string> = {};\n\tresponse.headers.forEach((value, key) => {\n\t\theaders[key] = value;\n\t});\n\treturn headers;\n}\n\nfunction isToolCall(content: AssistantMessage[\"content\"][number]): content is ToolCall {\n\treturn content.type === \"toolCall\";\n}\n\nfunction finalizeBlocks(output: AssistantMessage, events: AssistantMessageEventStream, state: DevinStreamState): void {\n\tif (state.thinkingIndex !== undefined) {\n\t\tconst block = output.content[state.thinkingIndex];\n\t\tif (block?.type === \"thinking\") {\n\t\t\tevents.push({\n\t\t\t\ttype: \"thinking_end\",\n\t\t\t\tcontentIndex: state.thinkingIndex,\n\t\t\t\tcontent: block.thinking,\n\t\t\t\tpartial: output,\n\t\t\t});\n\t\t}\n\t\tstate.thinkingIndex = undefined;\n\t}\n\tif (state.textIndex !== undefined) {\n\t\tconst block = output.content[state.textIndex];\n\t\tif (block?.type === \"text\") {\n\t\t\tevents.push({ type: \"text_end\", contentIndex: state.textIndex, content: block.text, partial: output });\n\t\t}\n\t\tstate.textIndex = undefined;\n\t}\n\tfor (const [, entry] of state.toolCalls) {\n\t\tconst block = output.content[entry.contentIndex];\n\t\tif (block?.type === \"toolCall\") {\n\t\t\tevents.push({ type: \"toolcall_end\", contentIndex: entry.contentIndex, toolCall: block, partial: output });\n\t\t}\n\t}\n\tstate.toolCalls.clear();\n}\n\nasync function detail(response: Response): Promise<string> {\n\ttry {\n\t\tconst body = await response.text();\n\t\treturn body ? `: ${body.slice(0, 500)}` : \"\";\n\t} catch {\n\t\treturn \"\";\n\t}\n}\n\nfunction messageOf(error: unknown): string {\n\tif (error instanceof Error) return error.message;\n\treturn String(error);\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"devin-agent.lazy.d.ts","sourceRoot":"","sources":["../../src/api/devin-agent.lazy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAgBnD,kFAAkF;AAClF,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAEzE;AAED,QAAA,MAAM,oBAAoB,QAAa,OAAO,CAAC,eAAe,CACI,CAAC;AAEnE,eAAO,MAAM,aAAa,uBAAsC,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"devin-agent.lazy.js","sourceRoot":"","sources":["../../src/api/devin-agent.lazy.ts"],"names":[],"mappings":";;;;;;;;AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAA4B,EAAE;IACzE,MAAM,gBAAgB,GAAG,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzG,OAAO,MAAM,kCAAC,gBAAgB,EAAC,CAAC;AACjC,CAAC,CAAC;AAEF,IAAI,wBAAqD,CAAC;AAE1D,kFAAkF;AAClF,MAAM,UAAU,2BAA2B,CAAC,MAAuB;IAClE,wBAAwB,GAAG,MAAM,CAAC;AACnC,CAAC;AAED,MAAM,oBAAoB,GAAG,KAAK,IAA8B,EAAE,CACjE,wBAAwB,IAAI,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,CAAC","sourcesContent":["import type { ProviderStreams } from \"../types.ts\";\nimport { lazyApi } from \"./lazy.ts\";\n\n/**\n * Loads the devin-agent implementation through a variable specifier so bundlers\n * (browser smoke, Bun compile) cannot follow the import into the Node-only\n * Connect transport. The `.ts`/`.js` rewrite keeps the trick working from both\n * source and built output.\n */\nconst importNodeOnlyApi = (specifier: string): Promise<ProviderStreams> => {\n\tconst runtimeSpecifier = import.meta.url.endsWith(\".js\") ? specifier.replace(/\\.ts$/, \".js\") : specifier;\n\treturn import(runtimeSpecifier);\n};\n\nlet devinAgentModuleOverride: ProviderStreams | undefined;\n\n/** Installs the statically bundled implementation in a standalone Bun isolate. */\nexport function setDevinAgentProviderModule(module: ProviderStreams): void {\n\tdevinAgentModuleOverride = module;\n}\n\nconst loadDevinAgentModule = async (): Promise<ProviderStreams> =>\n\tdevinAgentModuleOverride ?? importNodeOnlyApi(\"./devin-agent.ts\");\n\nexport const devinAgentApi = () => lazyApi(loadDevinAgentModule);\nexport { loadDevinAgentModule };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"github-copilot-endpoint.d.ts","sourceRoot":"","sources":["../../src/api/github-copilot-endpoint.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kCAAkC,6CAA6C,CAAC;AAE7F,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMtF;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG/E;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAShF;AASD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,MAAM,CAOT"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"github-copilot-endpoint.js","sourceRoot":"","sources":["../../src/api/github-copilot-endpoint.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,6FAA6F;AAC7F,+FAA+F;AAE/F,MAAM,CAAC,MAAM,kCAAkC,GAAG,0CAA0C,CAAC;AAO7F,MAAM,UAAU,uBAAuB,CAAC,KAAa,EAAE,GAAW;IACjE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC;IACtG,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAAa;IAC1D,MAAM,SAAS,GAAG,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC7D,OAAO,SAAS,CAAC,CAAC,CAAC,WAAW,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAAc;IAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChD,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAClC,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;QACjG,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAiB,EAAE,KAAyB;IACrE,IAAI,CAAC,KAAK,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAClF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,6BAA6B,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IACxE,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,uBAAuB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACnG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAI3C;IACA,OAAO,CACN,gBAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC;QAChD,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,6BAA6B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,uBAAuB,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACtF,kCAAkC,CAClC,CAAC;AACH,CAAC","sourcesContent":["// The Copilot API host is per account plan (individual, business, enterprise, data-residency\n// tenants). A request sent to another plan's host is refused with `421 Misdirected Request`,\n// so the host always comes from the account's own token; the individual host is a last resort.\n\nexport const GITHUB_COPILOT_INDIVIDUAL_BASE_URL = \"https://api.individual.githubcopilot.com\";\n\nexport interface GitHubCopilotApiEndpoint {\n\treadonly tid: string;\n\treadonly url: string;\n}\n\nexport function githubCopilotTokenField(token: string, key: string): string | undefined {\n\tfor (const part of token.split(\";\")) {\n\t\tconst separator = part.indexOf(\"=\");\n\t\tif (separator > 0 && part.slice(0, separator) === key) return part.slice(separator + 1) || undefined;\n\t}\n\treturn undefined;\n}\n\nexport function githubCopilotBaseUrlFromToken(token: string): string | undefined {\n\tconst proxyHost = githubCopilotTokenField(token, \"proxy-ep\");\n\treturn proxyHost ? `https://${proxyHost.replace(/^proxy\\./, \"api.\")}` : undefined;\n}\n\nexport function parseGitHubCopilotApiEndpoint(value: unknown): string | undefined {\n\tif (typeof value !== \"string\") return undefined;\n\ttry {\n\t\tconst url = new URL(value.trim());\n\t\tif (url.protocol !== \"https:\" || !url.hostname || url.username || url.password) return undefined;\n\t\treturn `${url.origin}${url.pathname.replace(/\\/+$/, \"\")}`;\n\t} catch {\n\t\treturn undefined;\n\t}\n}\n\nfunction endpointForToken(endpoint: unknown, token: string | undefined): string | undefined {\n\tif (!token || typeof endpoint !== \"object\" || endpoint === null) return undefined;\n\tconst tid = Reflect.get(endpoint, \"tid\");\n\tconst url = parseGitHubCopilotApiEndpoint(Reflect.get(endpoint, \"url\"));\n\treturn typeof tid === \"string\" && tid === githubCopilotTokenField(token, \"tid\") ? url : undefined;\n}\n\n/**\n * The account's Copilot API base URL, in order: the token response's `endpoints.api` recorded for\n * this exact token (matched by `tid`, so a pooled sibling account never borrows it), the token's\n * `proxy-ep`, the GitHub Enterprise Server domain, then the individual host.\n */\nexport function resolveGitHubCopilotBaseUrl(input: {\n\ttoken?: string;\n\tapiEndpoint?: unknown;\n\tenterpriseDomain?: string;\n}): string {\n\treturn (\n\t\tendpointForToken(input.apiEndpoint, input.token) ??\n\t\t(input.token ? githubCopilotBaseUrlFromToken(input.token) : undefined) ??\n\t\t(input.enterpriseDomain ? `https://copilot-api.${input.enterpriseDomain}` : undefined) ??\n\t\tGITHUB_COPILOT_INDIVIDUAL_BASE_URL\n\t);\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"github-copilot-errors.d.ts","sourceRoot":"","sources":["../../src/api/github-copilot-errors.ts"],"names":[],"mappings":"AA0CA;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAkB/E;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAItG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"github-copilot-errors.js","sourceRoot":"","sources":["../../src/api/github-copilot-errors.ts"],"names":[],"mappings":"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","sourcesContent":["import { normalizeProviderError } from \"../utils/error-body.ts\";\nimport { formatProviderRequestId } from \"../utils/retry.ts\";\n\n// Codes VS Code Copilot Chat treats as quota exhaustion (extensions/copilot chatMLFetcher.ts).\nconst QUOTA_CODES = new Set([\n\t\"quota_exceeded\",\n\t\"free_quota_exceeded\",\n\t\"overage_limit_reached\",\n\t\"billing_not_configured\",\n\t\"additional_spend_limit_reached\",\n]);\n\nfunction headerValue(headers: unknown, name: string): string | undefined {\n\tif (headers instanceof Headers) return headers.get(name) ?? undefined;\n\tif (typeof headers !== \"object\" || headers === null) return undefined;\n\tfor (const [key, value] of Object.entries(headers)) {\n\t\tif (key.toLowerCase() === name && typeof value === \"string\") return value;\n\t}\n\treturn undefined;\n}\n\nfunction errorCode(body: string | undefined): string | undefined {\n\tif (body === undefined) return undefined;\n\ttry {\n\t\tconst parsed: unknown = JSON.parse(body);\n\t\tif (typeof parsed !== \"object\" || parsed === null) return undefined;\n\t\tconst nested = Reflect.get(parsed, \"error\");\n\t\tconst code =\n\t\t\ttypeof nested === \"object\" && nested !== null ? Reflect.get(nested, \"code\") : Reflect.get(parsed, \"code\");\n\t\treturn typeof code === \"string\" ? code : undefined;\n\t} catch {\n\t\treturn undefined;\n\t}\n}\n\nfunction isQuotaFailure(status: number, body: string | undefined, limitKey: string | undefined): boolean {\n\tconst code = errorCode(body);\n\tif (code !== undefined && QUOTA_CODES.has(code)) return true;\n\tif (status === 402) return true;\n\treturn status === 429 && (limitKey?.includes(\"quota\") === true || /quota exceeded/i.test(body ?? \"\"));\n}\n\n/**\n * A plain-language note for a GitHub Copilot HTTP failure that the SDK message alone\n * leaves opaque (`403 status code (no body)`): which refusal it is, where to look, and\n * the GitHub request id support needs. `undefined` for failures the message already\n * explains. The wording avoids credential words so pool classification is unchanged.\n */\nexport function describeGitHubCopilotFailure(error: unknown): string | undefined {\n\tif (!(error instanceof Error)) return undefined;\n\tconst { status, body } = normalizeProviderError(error);\n\tif (status === undefined) return undefined;\n\tconst headers = Reflect.get(error, \"headers\");\n\tconst requestId = headerValue(headers, \"x-github-request-id\");\n\tconst reference = requestId === undefined ? \"\" : ` ${formatProviderRequestId(\"GitHub\", requestId)}.`;\n\tif (isQuotaFailure(status, body, headerValue(headers, \"x-ratelimit-exceeded\"))) {\n\t\treturn `GitHub Copilot quota exceeded (HTTP ${status}): the plan's included usage or its additional-usage limit is used up, so premium models are refused until it resets or the limit is raised. Usage is shown at https://github.com/settings/copilot.${reference}`;\n\t}\n\tif (status === 421) {\n\t\treturn `GitHub Copilot sent this account to a different API host (HTTP 421 Misdirected Request): Business and Enterprise accounts are served from their own host, which senpi reads from the Copilot token. Run /login github-copilot so senpi stores the account's endpoint, and report it with the GitHub request id if it persists.${reference}`;\n\t}\n\tif (status === 403) {\n\t\tconst reason = body === undefined ? \" with an empty body\" : \"\";\n\t\treturn `GitHub Copilot refused the request (HTTP 403${reason}). Copilot checks access per model and per client; if a fresh /login github-copilot does not help, report it with the GitHub request id.${reference}`;\n\t}\n\treturn undefined;\n}\n\nexport function withGitHubCopilotFailureNote(message: string, provider: string, error: unknown): string {\n\tif (provider !== \"github-copilot\") return message;\n\tconst note = describeGitHubCopilotFailure(error);\n\treturn note === undefined ? message : `${message}\\n${note}`;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"github-copilot-headers.d.ts","sourceRoot":"","sources":["../../src/api/github-copilot-headers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,eAAO,MAAM,sCAAsC,EAAE,SAAS,MAAM,EAAe,CAAC;AAIpF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,OAAO,CAG3E;AAGD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAUlE;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE;IAClD,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACnB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWzB"}
|