@sayknow-cli/ai 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2788 -0
- package/README.md +1183 -0
- package/dist/types/api-registry.d.ts +30 -0
- package/dist/types/auth-broker/client.d.ts +66 -0
- package/dist/types/auth-broker/index.d.ts +5 -0
- package/dist/types/auth-broker/refresher.d.ts +25 -0
- package/dist/types/auth-broker/remote-store.d.ts +96 -0
- package/dist/types/auth-broker/server.d.ts +32 -0
- package/dist/types/auth-broker/types.d.ts +105 -0
- package/dist/types/auth-broker/wire-schemas.d.ts +412 -0
- package/dist/types/auth-gateway/http.d.ts +39 -0
- package/dist/types/auth-gateway/index.d.ts +3 -0
- package/dist/types/auth-gateway/server.d.ts +17 -0
- package/dist/types/auth-gateway/types.d.ts +115 -0
- package/dist/types/auth-storage.d.ts +660 -0
- package/dist/types/cli.d.ts +2 -0
- package/dist/types/index.d.ts +51 -0
- package/dist/types/model-cache.d.ts +17 -0
- package/dist/types/model-manager.d.ts +62 -0
- package/dist/types/model-thinking.d.ts +74 -0
- package/dist/types/models.d.ts +12 -0
- package/dist/types/provider-details.d.ts +24 -0
- package/dist/types/provider-models/bundled-references.d.ts +4 -0
- package/dist/types/provider-models/descriptors.d.ts +48 -0
- package/dist/types/provider-models/google.d.ts +20 -0
- package/dist/types/provider-models/index.d.ts +5 -0
- package/dist/types/provider-models/ollama.d.ts +7 -0
- package/dist/types/provider-models/openai-compat.d.ts +244 -0
- package/dist/types/provider-models/special.d.ts +16 -0
- package/dist/types/providers/amazon-bedrock.d.ts +60 -0
- package/dist/types/providers/anthropic-messages-server-schema.d.ts +450 -0
- package/dist/types/providers/anthropic-messages-server.d.ts +17 -0
- package/dist/types/providers/anthropic.d.ts +198 -0
- package/dist/types/providers/aws-credentials.d.ts +43 -0
- package/dist/types/providers/aws-eventstream.d.ts +38 -0
- package/dist/types/providers/aws-sigv4.d.ts +55 -0
- package/dist/types/providers/azure-openai-responses.d.ts +15 -0
- package/dist/types/providers/composer-discipline.d.ts +26 -0
- package/dist/types/providers/cursor/gen/agent_pb.d.ts +13022 -0
- package/dist/types/providers/cursor.d.ts +44 -0
- package/dist/types/providers/error-message.d.ts +27 -0
- package/dist/types/providers/github-copilot-headers.d.ts +40 -0
- package/dist/types/providers/gitlab-duo.d.ts +27 -0
- package/dist/types/providers/google-auth.d.ts +24 -0
- package/dist/types/providers/google-gemini-cli.d.ts +72 -0
- package/dist/types/providers/google-gemini-headers.d.ts +18 -0
- package/dist/types/providers/google-shared.d.ts +173 -0
- package/dist/types/providers/google-types.d.ts +138 -0
- package/dist/types/providers/google-vertex.d.ts +7 -0
- package/dist/types/providers/google.d.ts +4 -0
- package/dist/types/providers/grammar.d.ts +1 -0
- package/dist/types/providers/kimi.d.ts +27 -0
- package/dist/types/providers/mock.d.ts +175 -0
- package/dist/types/providers/ollama.d.ts +41 -0
- package/dist/types/providers/openai-anthropic-shim.d.ts +31 -0
- package/dist/types/providers/openai-chat-server-schema.d.ts +815 -0
- package/dist/types/providers/openai-chat-server.d.ts +16 -0
- package/dist/types/providers/openai-codex/constants.d.ts +26 -0
- package/dist/types/providers/openai-codex/request-transformer.d.ts +49 -0
- package/dist/types/providers/openai-codex/response-handler.d.ts +17 -0
- package/dist/types/providers/openai-codex-responses.d.ts +67 -0
- package/dist/types/providers/openai-completions-compat.d.ts +27 -0
- package/dist/types/providers/openai-completions.d.ts +33 -0
- package/dist/types/providers/openai-request-transform.d.ts +4 -0
- package/dist/types/providers/openai-responses-server-schema.d.ts +392 -0
- package/dist/types/providers/openai-responses-server.d.ts +17 -0
- package/dist/types/providers/openai-responses-shared.d.ts +89 -0
- package/dist/types/providers/openai-responses.d.ts +32 -0
- package/dist/types/providers/pi-native-client.d.ts +13 -0
- package/dist/types/providers/pi-native-server.d.ts +68 -0
- package/dist/types/providers/register-builtins.d.ts +31 -0
- package/dist/types/providers/synthetic.d.ts +26 -0
- package/dist/types/providers/transform-messages.d.ts +14 -0
- package/dist/types/providers/vision-guard.d.ts +8 -0
- package/dist/types/rate-limit-utils.d.ts +19 -0
- package/dist/types/stream.d.ts +43 -0
- package/dist/types/types.d.ts +811 -0
- package/dist/types/usage/claude.d.ts +3 -0
- package/dist/types/usage/gemini.d.ts +2 -0
- package/dist/types/usage/github-copilot.d.ts +7 -0
- package/dist/types/usage/google-antigravity.d.ts +2 -0
- package/dist/types/usage/grok-cli.d.ts +10 -0
- package/dist/types/usage/kimi.d.ts +2 -0
- package/dist/types/usage/minimax-code.d.ts +2 -0
- package/dist/types/usage/openai-codex.d.ts +3 -0
- package/dist/types/usage/shared.d.ts +1 -0
- package/dist/types/usage/zai.d.ts +2 -0
- package/dist/types/usage.d.ts +258 -0
- package/dist/types/utils/abort.d.ts +19 -0
- package/dist/types/utils/anthropic-auth.d.ts +31 -0
- package/dist/types/utils/discovery/antigravity.d.ts +61 -0
- package/dist/types/utils/discovery/codex.d.ts +38 -0
- package/dist/types/utils/discovery/cursor.d.ts +23 -0
- package/dist/types/utils/discovery/gemini.d.ts +25 -0
- package/dist/types/utils/discovery/index.d.ts +4 -0
- package/dist/types/utils/discovery/openai-compatible.d.ts +74 -0
- package/dist/types/utils/event-stream.d.ts +33 -0
- package/dist/types/utils/fireworks-model-id.d.ts +10 -0
- package/dist/types/utils/foundry.d.ts +1 -0
- package/dist/types/utils/h2-fetch.d.ts +22 -0
- package/dist/types/utils/http-inspector.d.ts +35 -0
- package/dist/types/utils/idle-iterator.d.ts +67 -0
- package/dist/types/utils/json-parse.d.ts +10 -0
- package/dist/types/utils/oauth/alibaba-coding-plan.d.ts +18 -0
- package/dist/types/utils/oauth/anthropic.d.ts +22 -0
- package/dist/types/utils/oauth/api-key-login.d.ts +35 -0
- package/dist/types/utils/oauth/api-key-validation.d.ts +27 -0
- package/dist/types/utils/oauth/callback-server.d.ts +60 -0
- package/dist/types/utils/oauth/cerebras.d.ts +1 -0
- package/dist/types/utils/oauth/cloudflare-ai-gateway.d.ts +18 -0
- package/dist/types/utils/oauth/cursor.d.ts +15 -0
- package/dist/types/utils/oauth/deepseek.d.ts +10 -0
- package/dist/types/utils/oauth/firepass.d.ts +1 -0
- package/dist/types/utils/oauth/fireworks.d.ts +1 -0
- package/dist/types/utils/oauth/github-copilot.d.ts +38 -0
- package/dist/types/utils/oauth/gitlab-duo.d.ts +3 -0
- package/dist/types/utils/oauth/google-antigravity.d.ts +11 -0
- package/dist/types/utils/oauth/google-gemini-cli.d.ts +10 -0
- package/dist/types/utils/oauth/google-oauth-shared.d.ts +28 -0
- package/dist/types/utils/oauth/huggingface.d.ts +19 -0
- package/dist/types/utils/oauth/index.d.ts +38 -0
- package/dist/types/utils/oauth/kagi.d.ts +17 -0
- package/dist/types/utils/oauth/kilo.d.ts +5 -0
- package/dist/types/utils/oauth/kimi.d.ts +21 -0
- package/dist/types/utils/oauth/litellm.d.ts +18 -0
- package/dist/types/utils/oauth/lm-studio.d.ts +17 -0
- package/dist/types/utils/oauth/minimax-code.d.ts +28 -0
- package/dist/types/utils/oauth/moonshot.d.ts +1 -0
- package/dist/types/utils/oauth/nanogpt.d.ts +1 -0
- package/dist/types/utils/oauth/nvidia.d.ts +18 -0
- package/dist/types/utils/oauth/ollama-cloud.d.ts +2 -0
- package/dist/types/utils/oauth/ollama.d.ts +18 -0
- package/dist/types/utils/oauth/openai-codex.d.ts +21 -0
- package/dist/types/utils/oauth/opencode.d.ts +18 -0
- package/dist/types/utils/oauth/parallel.d.ts +17 -0
- package/dist/types/utils/oauth/perplexity.d.ts +9 -0
- package/dist/types/utils/oauth/pkce.d.ts +8 -0
- package/dist/types/utils/oauth/qianfan.d.ts +17 -0
- package/dist/types/utils/oauth/qwen-portal.d.ts +19 -0
- package/dist/types/utils/oauth/synthetic.d.ts +1 -0
- package/dist/types/utils/oauth/tavily.d.ts +17 -0
- package/dist/types/utils/oauth/together.d.ts +1 -0
- package/dist/types/utils/oauth/types.d.ts +45 -0
- package/dist/types/utils/oauth/venice.d.ts +18 -0
- package/dist/types/utils/oauth/vercel-ai-gateway.d.ts +18 -0
- package/dist/types/utils/oauth/vllm.d.ts +16 -0
- package/dist/types/utils/oauth/xai.d.ts +30 -0
- package/dist/types/utils/oauth/xiaomi.d.ts +25 -0
- package/dist/types/utils/oauth/zai.d.ts +18 -0
- package/dist/types/utils/oauth/zenmux.d.ts +1 -0
- package/dist/types/utils/overflow.d.ts +54 -0
- package/dist/types/utils/parse-bind.d.ts +23 -0
- package/dist/types/utils/provider-response.d.ts +3 -0
- package/dist/types/utils/retry-after.d.ts +3 -0
- package/dist/types/utils/retry-budget.d.ts +1 -0
- package/dist/types/utils/retry.d.ts +26 -0
- package/dist/types/utils/schema/adapt.d.ts +24 -0
- package/dist/types/utils/schema/compatibility.d.ts +30 -0
- package/dist/types/utils/schema/dereference.d.ts +11 -0
- package/dist/types/utils/schema/draft.d.ts +10 -0
- package/dist/types/utils/schema/equality.d.ts +4 -0
- package/dist/types/utils/schema/fields.d.ts +49 -0
- package/dist/types/utils/schema/index.d.ts +13 -0
- package/dist/types/utils/schema/json-schema-validator.d.ts +12 -0
- package/dist/types/utils/schema/meta-validator.d.ts +2 -0
- package/dist/types/utils/schema/normalize.d.ts +93 -0
- package/dist/types/utils/schema/spill.d.ts +8 -0
- package/dist/types/utils/schema/stamps.d.ts +25 -0
- package/dist/types/utils/schema/types.d.ts +4 -0
- package/dist/types/utils/schema/wire.d.ts +54 -0
- package/dist/types/utils/schema/zod-decontaminate.d.ts +31 -0
- package/dist/types/utils/sse-debug.d.ts +10 -0
- package/dist/types/utils/tool-call-healing.d.ts +71 -0
- package/dist/types/utils/tool-choice-capability.d.ts +41 -0
- package/dist/types/utils/tool-choice.d.ts +50 -0
- package/dist/types/utils/validation.d.ts +17 -0
- package/dist/types/utils.d.ts +34 -0
- package/package.json +146 -0
- package/src/api-registry.ts +96 -0
- package/src/auth-broker/client.ts +358 -0
- package/src/auth-broker/index.ts +5 -0
- package/src/auth-broker/refresher.ts +127 -0
- package/src/auth-broker/remote-store.ts +623 -0
- package/src/auth-broker/server.ts +644 -0
- package/src/auth-broker/types.ts +127 -0
- package/src/auth-broker/wire-schemas.ts +200 -0
- package/src/auth-gateway/http.ts +194 -0
- package/src/auth-gateway/index.ts +3 -0
- package/src/auth-gateway/server.ts +717 -0
- package/src/auth-gateway/types.ts +134 -0
- package/src/auth-storage.ts +4179 -0
- package/src/cli.ts +263 -0
- package/src/index.ts +56 -0
- package/src/model-cache.ts +129 -0
- package/src/model-manager.ts +486 -0
- package/src/model-thinking.ts +772 -0
- package/src/models.json +75437 -0
- package/src/models.json.d.ts +9 -0
- package/src/models.ts +82 -0
- package/src/prompts/turn-aborted-guidance.md +4 -0
- package/src/provider-details.ts +90 -0
- package/src/provider-models/bundled-references.ts +38 -0
- package/src/provider-models/descriptors.ts +327 -0
- package/src/provider-models/google.ts +91 -0
- package/src/provider-models/index.ts +5 -0
- package/src/provider-models/ollama.ts +153 -0
- package/src/provider-models/openai-compat.ts +2352 -0
- package/src/provider-models/special.ts +67 -0
- package/src/providers/amazon-bedrock.ts +937 -0
- package/src/providers/anthropic-messages-server-schema.ts +229 -0
- package/src/providers/anthropic-messages-server.ts +677 -0
- package/src/providers/anthropic.ts +2940 -0
- package/src/providers/aws-credentials.ts +501 -0
- package/src/providers/aws-eventstream.ts +185 -0
- package/src/providers/aws-sigv4.ts +218 -0
- package/src/providers/azure-openai-responses.ts +379 -0
- package/src/providers/composer-discipline.ts +41 -0
- package/src/providers/cursor/gen/agent_pb.ts +15274 -0
- package/src/providers/cursor/proto/agent.proto +3526 -0
- package/src/providers/cursor/proto/buf.gen.yaml +6 -0
- package/src/providers/cursor/proto/buf.yaml +17 -0
- package/src/providers/cursor.ts +2671 -0
- package/src/providers/error-message.ts +21 -0
- package/src/providers/github-copilot-headers.ts +140 -0
- package/src/providers/gitlab-duo.ts +372 -0
- package/src/providers/google-auth.ts +252 -0
- package/src/providers/google-gemini-cli.ts +856 -0
- package/src/providers/google-gemini-headers.ts +41 -0
- package/src/providers/google-shared.ts +951 -0
- package/src/providers/google-types.ts +167 -0
- package/src/providers/google-vertex.ts +88 -0
- package/src/providers/google.ts +41 -0
- package/src/providers/grammar.ts +70 -0
- package/src/providers/kimi.ts +52 -0
- package/src/providers/mock.ts +500 -0
- package/src/providers/ollama.ts +603 -0
- package/src/providers/openai-anthropic-shim.ts +138 -0
- package/src/providers/openai-chat-server-schema.ts +243 -0
- package/src/providers/openai-chat-server.ts +635 -0
- package/src/providers/openai-codex/constants.ts +43 -0
- package/src/providers/openai-codex/request-transformer.ts +161 -0
- package/src/providers/openai-codex/response-handler.ts +81 -0
- package/src/providers/openai-codex-responses.ts +2774 -0
- package/src/providers/openai-completions-compat.ts +289 -0
- package/src/providers/openai-completions.ts +1935 -0
- package/src/providers/openai-request-transform.ts +136 -0
- package/src/providers/openai-responses-server-schema.ts +290 -0
- package/src/providers/openai-responses-server.ts +1190 -0
- package/src/providers/openai-responses-shared.ts +800 -0
- package/src/providers/openai-responses.ts +738 -0
- package/src/providers/pi-native-client.ts +227 -0
- package/src/providers/pi-native-server.ts +210 -0
- package/src/providers/register-builtins.ts +411 -0
- package/src/providers/synthetic.ts +50 -0
- package/src/providers/transform-messages.ts +319 -0
- package/src/providers/vision-guard.ts +31 -0
- package/src/rate-limit-utils.ts +93 -0
- package/src/stream.ts +960 -0
- package/src/types.ts +967 -0
- package/src/usage/claude.ts +431 -0
- package/src/usage/gemini.ts +250 -0
- package/src/usage/github-copilot.ts +421 -0
- package/src/usage/google-antigravity.ts +201 -0
- package/src/usage/grok-cli.ts +163 -0
- package/src/usage/kimi.ts +271 -0
- package/src/usage/minimax-code.ts +31 -0
- package/src/usage/openai-codex.ts +503 -0
- package/src/usage/shared.ts +10 -0
- package/src/usage/zai.ts +247 -0
- package/src/usage.ts +183 -0
- package/src/utils/abort.ts +51 -0
- package/src/utils/anthropic-auth.ts +87 -0
- package/src/utils/discovery/antigravity.ts +261 -0
- package/src/utils/discovery/codex.ts +371 -0
- package/src/utils/discovery/cursor.ts +306 -0
- package/src/utils/discovery/gemini.ts +248 -0
- package/src/utils/discovery/index.ts +4 -0
- package/src/utils/discovery/openai-compatible.ts +230 -0
- package/src/utils/event-stream.ts +172 -0
- package/src/utils/fireworks-model-id.ts +30 -0
- package/src/utils/foundry.ts +8 -0
- package/src/utils/h2-fetch.ts +60 -0
- package/src/utils/http-inspector.ts +255 -0
- package/src/utils/idle-iterator.ts +257 -0
- package/src/utils/json-parse.ts +148 -0
- package/src/utils/oauth/alibaba-coding-plan.ts +59 -0
- package/src/utils/oauth/anthropic.ts +200 -0
- package/src/utils/oauth/api-key-login.ts +87 -0
- package/src/utils/oauth/api-key-validation.ts +92 -0
- package/src/utils/oauth/callback-server.ts +281 -0
- package/src/utils/oauth/cerebras.ts +16 -0
- package/src/utils/oauth/cloudflare-ai-gateway.ts +48 -0
- package/src/utils/oauth/cursor.ts +157 -0
- package/src/utils/oauth/deepseek.ts +53 -0
- package/src/utils/oauth/firepass.ts +24 -0
- package/src/utils/oauth/fireworks.ts +15 -0
- package/src/utils/oauth/github-copilot.ts +362 -0
- package/src/utils/oauth/gitlab-duo.ts +123 -0
- package/src/utils/oauth/google-antigravity.ts +200 -0
- package/src/utils/oauth/google-gemini-cli.ts +256 -0
- package/src/utils/oauth/google-oauth-shared.ts +110 -0
- package/src/utils/oauth/huggingface.ts +62 -0
- package/src/utils/oauth/index.ts +469 -0
- package/src/utils/oauth/kagi.ts +47 -0
- package/src/utils/oauth/kilo.ts +87 -0
- package/src/utils/oauth/kimi.ts +254 -0
- package/src/utils/oauth/litellm.ts +47 -0
- package/src/utils/oauth/lm-studio.ts +38 -0
- package/src/utils/oauth/minimax-code.ts +78 -0
- package/src/utils/oauth/moonshot.ts +16 -0
- package/src/utils/oauth/nanogpt.ts +15 -0
- package/src/utils/oauth/nvidia.ts +70 -0
- package/src/utils/oauth/oauth.html +199 -0
- package/src/utils/oauth/ollama-cloud.ts +28 -0
- package/src/utils/oauth/ollama.ts +47 -0
- package/src/utils/oauth/openai-codex.ts +299 -0
- package/src/utils/oauth/opencode.ts +49 -0
- package/src/utils/oauth/parallel.ts +46 -0
- package/src/utils/oauth/perplexity.ts +206 -0
- package/src/utils/oauth/pkce.ts +18 -0
- package/src/utils/oauth/qianfan.ts +58 -0
- package/src/utils/oauth/qwen-portal.ts +60 -0
- package/src/utils/oauth/synthetic.ts +16 -0
- package/src/utils/oauth/tavily.ts +46 -0
- package/src/utils/oauth/together.ts +16 -0
- package/src/utils/oauth/types.ts +99 -0
- package/src/utils/oauth/venice.ts +59 -0
- package/src/utils/oauth/vercel-ai-gateway.ts +47 -0
- package/src/utils/oauth/vllm.ts +40 -0
- package/src/utils/oauth/xai.ts +246 -0
- package/src/utils/oauth/xiaomi.ts +199 -0
- package/src/utils/oauth/zai.ts +60 -0
- package/src/utils/oauth/zenmux.ts +15 -0
- package/src/utils/overflow.ts +137 -0
- package/src/utils/parse-bind.ts +54 -0
- package/src/utils/provider-response.ts +30 -0
- package/src/utils/retry-after.ts +110 -0
- package/src/utils/retry-budget.ts +4 -0
- package/src/utils/retry.ts +54 -0
- package/src/utils/schema/CONSTRAINTS.md +164 -0
- package/src/utils/schema/adapt.ts +36 -0
- package/src/utils/schema/compatibility.ts +435 -0
- package/src/utils/schema/dereference.ts +98 -0
- package/src/utils/schema/draft.ts +341 -0
- package/src/utils/schema/equality.ts +97 -0
- package/src/utils/schema/fields.ts +190 -0
- package/src/utils/schema/index.ts +13 -0
- package/src/utils/schema/json-schema-validator.ts +577 -0
- package/src/utils/schema/meta-validator.ts +167 -0
- package/src/utils/schema/normalize.ts +1588 -0
- package/src/utils/schema/spill.ts +43 -0
- package/src/utils/schema/stamps.ts +97 -0
- package/src/utils/schema/types.ts +11 -0
- package/src/utils/schema/wire.ts +213 -0
- package/src/utils/schema/zod-decontaminate.ts +331 -0
- package/src/utils/sse-debug.ts +289 -0
- package/src/utils/tool-call-healing.ts +271 -0
- package/src/utils/tool-choice-capability.ts +220 -0
- package/src/utils/tool-choice.ts +99 -0
- package/src/utils/validation.ts +1019 -0
- package/src/utils.ts +178 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AWS credential resolution for the Bedrock provider.
|
|
3
|
+
*
|
|
4
|
+
* Chain (first hit wins):
|
|
5
|
+
* 1. Static credentials from the environment
|
|
6
|
+
* (`AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY` [+ `AWS_SESSION_TOKEN`]).
|
|
7
|
+
* 2. Profile in `~/.aws/credentials` (and `~/.aws/config` for SSO):
|
|
8
|
+
* - static `aws_access_key_id` / `aws_secret_access_key` / `aws_session_token`
|
|
9
|
+
* - SSO profile referencing a cached token in `~/.aws/sso/cache/*.json`,
|
|
10
|
+
* which we exchange for short-lived role credentials via
|
|
11
|
+
* `https://portal.sso.{region}.amazonaws.com/federation/credentials`.
|
|
12
|
+
* - `credential_process` — an external command emitting the AWS SDK
|
|
13
|
+
* `Version: 1` JSON envelope on stdout. Used by `aws-vault`, `granted`,
|
|
14
|
+
* in-house brokers, etc.
|
|
15
|
+
* 3. EC2 IMDSv2 (only when `AWS_EC2_METADATA_DISABLED` is unset / falsey and
|
|
16
|
+
* `169.254.169.254` is reachable within a 1 s timeout).
|
|
17
|
+
*
|
|
18
|
+
* Resolved credentials are cached process-wide per profile and refreshed
|
|
19
|
+
* 60 s before `Expiration` to absorb clock skew.
|
|
20
|
+
*/
|
|
21
|
+
import type { AwsCredentials } from "./aws-sigv4";
|
|
22
|
+
export interface ResolvedCredentials extends AwsCredentials {
|
|
23
|
+
/** Absolute expiration timestamp in ms. `undefined` for non-expiring static creds. */
|
|
24
|
+
expiresAt?: number;
|
|
25
|
+
}
|
|
26
|
+
export interface CredentialResolveOptions {
|
|
27
|
+
/** Named profile from `~/.aws/credentials` / `~/.aws/config`. */
|
|
28
|
+
profile?: string;
|
|
29
|
+
/** Falls back to env (`AWS_REGION` / `AWS_DEFAULT_REGION`) and finally `us-east-1`. */
|
|
30
|
+
region?: string;
|
|
31
|
+
signal?: AbortSignal;
|
|
32
|
+
}
|
|
33
|
+
export declare function resolveAwsCredentials(opts?: CredentialResolveOptions): Promise<ResolvedCredentials>;
|
|
34
|
+
/** POSIX-shell-style tokenizer used by the AWS CLI for `credential_process`.
|
|
35
|
+
*
|
|
36
|
+
* Outside quotes a backslash escapes the next character. Inside single quotes
|
|
37
|
+
* everything is literal (no escapes, cannot contain `'`). Inside double quotes
|
|
38
|
+
* a backslash only escapes `$`, `` ` ``, `"`, and `\` — every other backslash
|
|
39
|
+
* is preserved verbatim, which is what makes Windows paths like
|
|
40
|
+
* `"C:\Program Files\tool\auth.exe"` survive tokenization. */
|
|
41
|
+
export declare function tokenizeCredentialProcessCommand(cmd: string): string[];
|
|
42
|
+
/** Test/diagnostic helper — drops cached credentials. */
|
|
43
|
+
export declare function clearAwsCredentialCache(): void;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `application/vnd.amazon.eventstream` decoder.
|
|
3
|
+
*
|
|
4
|
+
* Wire format (all integers big-endian):
|
|
5
|
+
*
|
|
6
|
+
* [total length u32]
|
|
7
|
+
* [headers length u32]
|
|
8
|
+
* [prelude CRC32 u32] <- CRC over the first 8 bytes
|
|
9
|
+
* [headers headers_length]
|
|
10
|
+
* [payload total_length - headers_length - 16]
|
|
11
|
+
* [message CRC32 u32] <- CRC over the entire message minus the trailing 4 bytes
|
|
12
|
+
*
|
|
13
|
+
* Headers: a sequence of `[name_len u8][name utf8][value_type u8][value …]`.
|
|
14
|
+
* We only need the typed values Bedrock emits (boolean true/false, byte, short,
|
|
15
|
+
* integer, long, byte-array, string, timestamp, uuid). All are surfaced as
|
|
16
|
+
* strings for ease of consumption — Bedrock only sets string-valued headers in
|
|
17
|
+
* practice (`:event-type`, `:message-type`, `:content-type`, `:exception-type`).
|
|
18
|
+
*/
|
|
19
|
+
export interface EventStreamMessage {
|
|
20
|
+
/** Lower-cased copy is *not* applied — Bedrock uses casing like `:event-type` verbatim. */
|
|
21
|
+
headers: Record<string, string>;
|
|
22
|
+
payload: Uint8Array;
|
|
23
|
+
}
|
|
24
|
+
export declare function crc32(bytes: Uint8Array, seed?: number): number;
|
|
25
|
+
/**
|
|
26
|
+
* Decode a single, fully buffered eventstream message. Throws if the framing is
|
|
27
|
+
* malformed or either CRC mismatches. Used by both `decodeEventStream` (the
|
|
28
|
+
* streaming entry point) and the unit tests, which exercise it with hand-built
|
|
29
|
+
* frames.
|
|
30
|
+
*/
|
|
31
|
+
export declare function decodeMessage(frame: Uint8Array): EventStreamMessage;
|
|
32
|
+
/**
|
|
33
|
+
* Async generator that consumes a `ReadableStream<Uint8Array>` (e.g. a fetch
|
|
34
|
+
* response body) and yields fully-framed messages. Handles arbitrary chunk
|
|
35
|
+
* boundaries: messages may span multiple chunks, and a single chunk may carry
|
|
36
|
+
* many messages.
|
|
37
|
+
*/
|
|
38
|
+
export declare function decodeEventStream(source: ReadableStream<Uint8Array>): AsyncGenerator<EventStreamMessage>;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AWS Signature V4 signing for HTTP requests. WebCrypto-only — no node:crypto.
|
|
3
|
+
*
|
|
4
|
+
* Matches `@smithy/signature-v4` for our usage: header-based signing with a
|
|
5
|
+
* full SHA-256 payload hash (Bedrock requires `applyChecksum: true`).
|
|
6
|
+
*
|
|
7
|
+
* Returns the set of headers to attach to the request:
|
|
8
|
+
* - `host`
|
|
9
|
+
* - `x-amz-date`
|
|
10
|
+
* - `x-amz-content-sha256`
|
|
11
|
+
* - `x-amz-security-token` (only when credentials carry a sessionToken)
|
|
12
|
+
* - `authorization`
|
|
13
|
+
*/
|
|
14
|
+
export interface AwsCredentials {
|
|
15
|
+
accessKeyId: string;
|
|
16
|
+
secretAccessKey: string;
|
|
17
|
+
sessionToken?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface SignParams {
|
|
20
|
+
method: string;
|
|
21
|
+
/** Hostname only — used to build the `host` header and the canonical request. */
|
|
22
|
+
host: string;
|
|
23
|
+
/** URI path component, e.g. `/model/anthropic.Anthropic model/converse-stream`. */
|
|
24
|
+
path: string;
|
|
25
|
+
/** Optional pre-built query string (without leading `?`). */
|
|
26
|
+
query?: string;
|
|
27
|
+
/** Extra headers to sign in addition to `host`/`x-amz-*`. Names are case-insensitive. */
|
|
28
|
+
headers?: Record<string, string>;
|
|
29
|
+
body: Uint8Array;
|
|
30
|
+
region: string;
|
|
31
|
+
service: string;
|
|
32
|
+
credentials: AwsCredentials;
|
|
33
|
+
/** Override clock for deterministic tests. */
|
|
34
|
+
date?: Date;
|
|
35
|
+
}
|
|
36
|
+
export declare function toHex(bytes: Uint8Array): string;
|
|
37
|
+
export declare function sha256(data: Uint8Array | string): Promise<Uint8Array>;
|
|
38
|
+
export declare function sha256Hex(data: Uint8Array | string): Promise<string>;
|
|
39
|
+
/**
|
|
40
|
+
* Derive a signing key: HMAC chain `kSecret → kDate → kRegion → kService → kSigning`.
|
|
41
|
+
*/
|
|
42
|
+
export declare function getSigningKey(secretAccessKey: string, shortDate: string, region: string, service: string): Promise<Uint8Array>;
|
|
43
|
+
/** `YYYYMMDDTHHMMSSZ` + 8-char `YYYYMMDD`. */
|
|
44
|
+
export declare function formatAmzDate(d: Date): {
|
|
45
|
+
longDate: string;
|
|
46
|
+
shortDate: string;
|
|
47
|
+
};
|
|
48
|
+
export interface SignedHeaders {
|
|
49
|
+
host: string;
|
|
50
|
+
"x-amz-date": string;
|
|
51
|
+
"x-amz-content-sha256": string;
|
|
52
|
+
authorization: string;
|
|
53
|
+
"x-amz-security-token"?: string;
|
|
54
|
+
}
|
|
55
|
+
export declare function signRequest(params: SignParams): Promise<SignedHeaders>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ServiceTier, StreamFunction, StreamOptions, ToolChoice } from "../types";
|
|
2
|
+
export interface AzureOpenAIResponsesOptions extends StreamOptions {
|
|
3
|
+
reasoning?: "minimal" | "low" | "medium" | "high" | "xhigh" | "max";
|
|
4
|
+
reasoningSummary?: "auto" | "detailed" | "concise" | null;
|
|
5
|
+
azureApiVersion?: string;
|
|
6
|
+
azureResourceName?: string;
|
|
7
|
+
azureBaseUrl?: string;
|
|
8
|
+
azureDeploymentName?: string;
|
|
9
|
+
toolChoice?: ToolChoice;
|
|
10
|
+
serviceTier?: ServiceTier;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Generate function for Azure OpenAI Responses API
|
|
14
|
+
*/
|
|
15
|
+
export declare const streamAzureOpenAIResponses: StreamFunction<"azure-openai-responses">;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anchor/edit discipline for composer-harness models (xai grok-composer-*,
|
|
3
|
+
* cursor composer-*).
|
|
4
|
+
*
|
|
5
|
+
* Composer models are trained on a proprietary coding-agent harness
|
|
6
|
+
* (Cursor / Grok Build) and carry habits that break this agent's hashline
|
|
7
|
+
* edit workflow when driven through a generic provider. Observed in live
|
|
8
|
+
* sessions with grok-composer-2.5-fast:
|
|
9
|
+
*
|
|
10
|
+
* - they print files with shell commands (`sed -n`, `cat`, `grep -n`) or
|
|
11
|
+
* python heredocs whose output carries NO line anchors, then FABRICATE the
|
|
12
|
+
* 2-char anchor hash the edit tool requires (e.g. guessed "617hp" where
|
|
13
|
+
* the file had "617ca" → "Edit rejected: N anchors do not match");
|
|
14
|
+
* - they mutate files out-of-band via python heredocs (pathlib write_text /
|
|
15
|
+
* str.replace), which invalidates every previously seen anchor and defeats
|
|
16
|
+
* the read-cache snapshot that powers stale-anchor recovery;
|
|
17
|
+
* - they arithmetically renumber anchors after their own edits instead of
|
|
18
|
+
* copying them from the latest tool output;
|
|
19
|
+
* - they leak reasoning prose into heredoc bodies, producing shell/python
|
|
20
|
+
* syntax errors.
|
|
21
|
+
*
|
|
22
|
+
* This prompt is the per-request countermeasure, pinned ahead of the host
|
|
23
|
+
* system prompt on openai-completions, openai-responses, and cursor RPC paths.
|
|
24
|
+
*/
|
|
25
|
+
export declare function isComposerHarnessModel(modelId: string): boolean;
|
|
26
|
+
export declare const COMPOSER_EDIT_DISCIPLINE_PROMPT = "File-editing discipline for this Composer harness (this OVERRIDES contrary habits from your training):\n\n- Discover file names ONLY with the find tool; search file contents ONLY with the search tool; read file bodies or line ranges ONLY with the read tool. NEVER inspect repository files through shell commands (ls, find, fd, cat, sed, awk, grep, rg, head, tail, less, more) or scripts \u2014 that output carries no hashline anchors and bypasses the agent's safety limits.\n- Modify files ONLY with the edit/write tools. NEVER mutate files through shell redirection, tee, sed -i, perl -pi, inline python/node/bun scripts, or other out-of-band writes \u2014 those writes invalidate every known anchor and break edit recovery.\n- A line anchor (e.g. \"42sr\") is a line number plus a 2-char content hash. You CANNOT compute the hash yourself: copy anchors verbatim from the MOST RECENT read/search/edit output of that exact file. NEVER guess, renumber, or arithmetically shift an anchor.\n- After ANY edit to a file (including your own), anchors you saw earlier are stale. Re-read the edited region, or copy the fresh anchors printed in the edit result, before issuing the next edit.\n- If an edit is rejected with \"anchors do not match\", the rejection message prints the current lines WITH fresh anchors. Retry using exactly those printed anchors.\n- Tool-call arguments must be the exact JSON/schema object requested by the tool. Do not include Markdown, commentary, analysis text, or invented fields inside tool arguments.\n- Use bash only for terminal operations such as tests, builds, package scripts, and git commands. A shell command string must contain only the command itself; NEVER interleave reasoning or commentary into command strings or heredocs.";
|