@oh-my-pi/pi-ai 16.3.6 → 16.3.8
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 +18 -0
- package/dist/types/api-registry.d.ts +1 -1
- package/dist/types/auth-broker/client.d.ts +2 -2
- package/dist/types/auth-broker/discover.d.ts +1 -1
- package/dist/types/auth-broker/index.d.ts +7 -7
- package/dist/types/auth-broker/refresher.d.ts +1 -1
- package/dist/types/auth-broker/remote-store.d.ts +6 -6
- package/dist/types/auth-broker/server.d.ts +1 -1
- package/dist/types/auth-broker/snapshot-cache.d.ts +1 -1
- package/dist/types/auth-broker/types.d.ts +2 -2
- package/dist/types/auth-gateway/index.d.ts +3 -3
- package/dist/types/auth-gateway/server.d.ts +3 -3
- package/dist/types/auth-gateway/types.d.ts +1 -1
- package/dist/types/auth-retry.d.ts +2 -2
- package/dist/types/auth-storage.d.ts +6 -6
- package/dist/types/dialect/anthropic.d.ts +1 -1
- package/dist/types/dialect/catalog.d.ts +1 -1
- package/dist/types/dialect/coercion.d.ts +1 -1
- package/dist/types/dialect/deepseek.d.ts +1 -1
- package/dist/types/dialect/demotion.d.ts +16 -14
- package/dist/types/dialect/examples.d.ts +1 -1
- package/dist/types/dialect/factory.d.ts +1 -1
- package/dist/types/dialect/gemini.d.ts +1 -1
- package/dist/types/dialect/gemma.d.ts +1 -1
- package/dist/types/dialect/glm.d.ts +1 -1
- package/dist/types/dialect/harmony.d.ts +1 -1
- package/dist/types/dialect/hermes.d.ts +1 -1
- package/dist/types/dialect/history.d.ts +2 -2
- package/dist/types/dialect/index.d.ts +11 -11
- package/dist/types/dialect/inventory.d.ts +1 -1
- package/dist/types/dialect/kimi.d.ts +1 -1
- package/dist/types/dialect/minimax.d.ts +1 -1
- package/dist/types/dialect/owned-stream.d.ts +2 -2
- package/dist/types/dialect/qwen3.d.ts +1 -1
- package/dist/types/dialect/rendering.d.ts +2 -2
- package/dist/types/dialect/thinking.d.ts +1 -1
- package/dist/types/dialect/types.d.ts +1 -1
- package/dist/types/dialect/xml.d.ts +1 -1
- package/dist/types/error/classes.d.ts +1 -1
- package/dist/types/error/finalize.d.ts +3 -3
- package/dist/types/error/flags.d.ts +1 -1
- package/dist/types/error/format.d.ts +1 -1
- package/dist/types/error/index.d.ts +13 -13
- package/dist/types/error/provider.d.ts +1 -1
- package/dist/types/error/rate-limit.d.ts +1 -1
- package/dist/types/index.d.ts +47 -47
- package/dist/types/provider-details.d.ts +1 -1
- package/dist/types/providers/amazon-bedrock.d.ts +1 -1
- package/dist/types/providers/anthropic-client.d.ts +3 -3
- package/dist/types/providers/anthropic-messages-server-schema.d.ts +1 -1
- package/dist/types/providers/anthropic-messages-server.d.ts +2 -2
- package/dist/types/providers/anthropic-wire.d.ts +1 -1
- package/dist/types/providers/anthropic.d.ts +3 -3
- package/dist/types/providers/aws-credentials.d.ts +2 -2
- package/dist/types/providers/azure-openai-responses.d.ts +2 -2
- package/dist/types/providers/cursor.d.ts +18 -3
- package/dist/types/providers/devin.d.ts +1 -1
- package/dist/types/providers/error-message.d.ts +1 -1
- package/dist/types/providers/github-copilot-headers.d.ts +1 -1
- package/dist/types/providers/gitlab-duo-workflow.d.ts +2 -2
- package/dist/types/providers/gitlab-duo.d.ts +2 -2
- package/dist/types/providers/google-auth.d.ts +1 -1
- package/dist/types/providers/google-gemini-cli.d.ts +6 -4
- package/dist/types/providers/google-interactions.d.ts +3 -3
- package/dist/types/providers/google-shared.d.ts +7 -5
- package/dist/types/providers/google-vertex.d.ts +2 -2
- package/dist/types/providers/google.d.ts +2 -2
- package/dist/types/providers/kimi.d.ts +3 -3
- package/dist/types/providers/mock.d.ts +2 -2
- package/dist/types/providers/ollama.d.ts +1 -1
- package/dist/types/providers/openai-anthropic-shim.d.ts +2 -2
- package/dist/types/providers/openai-chat-server-schema.d.ts +1 -1
- package/dist/types/providers/openai-chat-server.d.ts +2 -2
- package/dist/types/providers/openai-codex/request-transformer.d.ts +1 -1
- package/dist/types/providers/openai-codex/response-handler.d.ts +1 -1
- package/dist/types/providers/openai-codex-responses.d.ts +3 -3
- package/dist/types/providers/openai-completions.d.ts +3 -3
- package/dist/types/providers/openai-reasoning-fallback.d.ts +1 -1
- package/dist/types/providers/openai-responses-server-schema.d.ts +1 -1
- package/dist/types/providers/openai-responses-server.d.ts +2 -2
- package/dist/types/providers/openai-responses.d.ts +5 -5
- package/dist/types/providers/openai-shared.d.ts +10 -9
- package/dist/types/providers/pi-native-client.d.ts +1 -1
- package/dist/types/providers/pi-native-server.d.ts +2 -2
- package/dist/types/providers/register-builtins.d.ts +3 -3
- package/dist/types/providers/synthetic.d.ts +3 -3
- package/dist/types/providers/transform-messages.d.ts +1 -1
- package/dist/types/providers/vision-guard.d.ts +1 -1
- package/dist/types/registry/alibaba-coding-plan.d.ts +1 -1
- package/dist/types/registry/anthropic.d.ts +1 -1
- package/dist/types/registry/api-key-login.d.ts +1 -1
- package/dist/types/registry/api-key-validation.d.ts +1 -1
- package/dist/types/registry/baseten.d.ts +2 -2
- package/dist/types/registry/cerebras.d.ts +2 -2
- package/dist/types/registry/cloudflare-ai-gateway.d.ts +1 -1
- package/dist/types/registry/coreweave.d.ts +2 -2
- package/dist/types/registry/cursor.d.ts +1 -1
- package/dist/types/registry/deepseek.d.ts +1 -1
- package/dist/types/registry/devin.d.ts +1 -1
- package/dist/types/registry/firepass.d.ts +2 -2
- package/dist/types/registry/fireworks.d.ts +2 -2
- package/dist/types/registry/github-copilot.d.ts +1 -1
- package/dist/types/registry/gitlab-duo-workflow.d.ts +1 -1
- package/dist/types/registry/gitlab-duo.d.ts +1 -1
- package/dist/types/registry/google-antigravity.d.ts +1 -1
- package/dist/types/registry/google-gemini-cli.d.ts +1 -1
- package/dist/types/registry/huggingface.d.ts +2 -2
- package/dist/types/registry/index.d.ts +4 -4
- package/dist/types/registry/kagi.d.ts +1 -1
- package/dist/types/registry/kilo.d.ts +1 -1
- package/dist/types/registry/kimi-code.d.ts +1 -1
- package/dist/types/registry/litellm.d.ts +1 -1
- package/dist/types/registry/llama-cpp.d.ts +1 -1
- package/dist/types/registry/lm-studio.d.ts +1 -1
- package/dist/types/registry/minimax-code-cn.d.ts +1 -1
- package/dist/types/registry/minimax-code.d.ts +1 -1
- package/dist/types/registry/moonshot.d.ts +2 -2
- package/dist/types/registry/nanogpt.d.ts +2 -2
- package/dist/types/registry/nvidia.d.ts +1 -1
- package/dist/types/registry/oauth/anthropic.d.ts +3 -3
- package/dist/types/registry/oauth/callback-server.d.ts +1 -1
- package/dist/types/registry/oauth/cursor.d.ts +1 -1
- package/dist/types/registry/oauth/devin.d.ts +1 -1
- package/dist/types/registry/oauth/github-copilot.d.ts +2 -2
- package/dist/types/registry/oauth/gitlab-duo-workflow.d.ts +2 -2
- package/dist/types/registry/oauth/gitlab-duo.d.ts +1 -1
- package/dist/types/registry/oauth/google-antigravity.d.ts +1 -1
- package/dist/types/registry/oauth/google-gemini-cli.d.ts +1 -1
- package/dist/types/registry/oauth/google-oauth-shared.d.ts +2 -2
- package/dist/types/registry/oauth/index.d.ts +2 -2
- package/dist/types/registry/oauth/kimi.d.ts +1 -1
- package/dist/types/registry/oauth/minimax-code.d.ts +2 -2
- package/dist/types/registry/oauth/openai-codex.d.ts +1 -1
- package/dist/types/registry/oauth/opencode.d.ts +1 -1
- package/dist/types/registry/oauth/perplexity.d.ts +1 -1
- package/dist/types/registry/oauth/types.d.ts +2 -2
- package/dist/types/registry/oauth/wafer.d.ts +1 -1
- package/dist/types/registry/oauth/xai-oauth.d.ts +3 -3
- package/dist/types/registry/oauth/xiaomi.d.ts +1 -1
- package/dist/types/registry/ollama-cloud.d.ts +1 -1
- package/dist/types/registry/ollama.d.ts +1 -1
- package/dist/types/registry/openai-codex-device.d.ts +1 -1
- package/dist/types/registry/openai-codex.d.ts +1 -1
- package/dist/types/registry/opencode-go.d.ts +1 -1
- package/dist/types/registry/opencode-zen.d.ts +1 -1
- package/dist/types/registry/openrouter.d.ts +2 -2
- package/dist/types/registry/parallel.d.ts +1 -1
- package/dist/types/registry/perplexity.d.ts +2 -2
- package/dist/types/registry/qianfan.d.ts +2 -2
- package/dist/types/registry/qwen-portal.d.ts +1 -1
- package/dist/types/registry/registry.d.ts +69 -69
- package/dist/types/registry/sakana.d.ts +2 -2
- package/dist/types/registry/synthetic.d.ts +2 -2
- package/dist/types/registry/tavily.d.ts +1 -1
- package/dist/types/registry/together.d.ts +1 -1
- package/dist/types/registry/types.d.ts +1 -1
- package/dist/types/registry/umans.d.ts +2 -2
- package/dist/types/registry/venice.d.ts +2 -2
- package/dist/types/registry/vercel-ai-gateway.d.ts +1 -1
- package/dist/types/registry/vllm.d.ts +1 -1
- package/dist/types/registry/wafer-serverless.d.ts +1 -1
- package/dist/types/registry/xai-oauth.d.ts +1 -1
- package/dist/types/registry/xiaomi-token-plan-ams.d.ts +1 -1
- package/dist/types/registry/xiaomi-token-plan-cn.d.ts +1 -1
- package/dist/types/registry/xiaomi-token-plan-sgp.d.ts +1 -1
- package/dist/types/registry/xiaomi.d.ts +1 -1
- package/dist/types/registry/zai.d.ts +2 -2
- package/dist/types/registry/zenmux.d.ts +2 -2
- package/dist/types/registry/zhipu-coding-plan.d.ts +2 -2
- package/dist/types/stream.d.ts +6 -6
- package/dist/types/types.d.ts +24 -21
- package/dist/types/usage/claude.d.ts +1 -1
- package/dist/types/usage/gemini.d.ts +1 -1
- package/dist/types/usage/github-copilot.d.ts +1 -1
- package/dist/types/usage/google-antigravity.d.ts +1 -1
- package/dist/types/usage/kimi.d.ts +1 -1
- package/dist/types/usage/minimax-code.d.ts +1 -1
- package/dist/types/usage/ollama.d.ts +1 -1
- package/dist/types/usage/openai-codex-reset.d.ts +1 -1
- package/dist/types/usage/openai-codex.d.ts +1 -1
- package/dist/types/usage/opencode-go.d.ts +1 -1
- package/dist/types/usage/zai.d.ts +1 -1
- package/dist/types/usage.d.ts +1 -1
- package/dist/types/utils/block-symbols.d.ts +15 -0
- package/dist/types/utils/empty-completion-retry.d.ts +2 -2
- package/dist/types/utils/event-stream.d.ts +1 -1
- package/dist/types/utils/harmony-leak.d.ts +1 -1
- package/dist/types/utils/http-inspector.d.ts +19 -0
- package/dist/types/utils/leaked-thinking-stream.d.ts +1 -1
- package/dist/types/utils/openai-http.d.ts +3 -9
- package/dist/types/utils/provider-response.d.ts +1 -1
- package/dist/types/utils/proxy.d.ts +1 -1
- package/dist/types/utils/request-debug.d.ts +1 -1
- package/dist/types/utils/retry.d.ts +1 -1
- package/dist/types/utils/schema/equality.d.ts +1 -1
- package/dist/types/utils/schema/index.d.ts +15 -15
- package/dist/types/utils/schema/normalize.d.ts +2 -2
- package/dist/types/utils/schema/spill.d.ts +1 -1
- package/dist/types/utils/schema/wire.d.ts +1 -1
- package/dist/types/utils/sse-debug.d.ts +1 -1
- package/dist/types/utils/thinking-loop.d.ts +2 -2
- package/dist/types/utils/tool-call-loop-guard.d.ts +1 -1
- package/dist/types/utils/tool-choice.d.ts +1 -1
- package/dist/types/utils/validation.d.ts +1 -1
- package/dist/types/utils.d.ts +14 -2
- package/package.json +4 -4
- package/src/dialect/demotion.ts +18 -19
- package/src/error/rate-limit.ts +1 -1
- package/src/providers/azure-openai-responses.ts +3 -2
- package/src/providers/cursor.ts +36 -0
- package/src/providers/google-gemini-cli.ts +12 -3
- package/src/providers/google-shared.ts +3 -1
- package/src/providers/mock.ts +10 -3
- package/src/providers/openai-codex-responses.ts +47 -39
- package/src/providers/openai-completions.ts +48 -9
- package/src/providers/openai-responses.ts +37 -23
- package/src/providers/openai-shared.ts +145 -26
- package/src/providers/transform-messages.ts +63 -9
- package/src/registry/oauth/wafer.ts +1 -1
- package/src/stream.ts +6 -0
- package/src/types.ts +27 -3
- package/src/utils/block-symbols.ts +18 -0
- package/src/utils/http-inspector.ts +32 -4
- package/src/utils/openai-http.ts +6 -9
- package/src/utils/retry-after.ts +12 -1
- package/src/utils.ts +78 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [16.3.7] - 2026-07-05
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- Fixed formatting of demoted reasoning blocks to prevent accidental concatenation with prose
|
|
10
|
+
- Fixed terminal whitespace issues in assistant messages that caused rejections by Anthropic API
|
|
11
|
+
- Fixed Cursor provider handling of empty-pattern grep arguments to return a clear, actionable error instead of a generic error and a broken TUI rendering.
|
|
12
|
+
- Fixed Google Cloud Code Assist API (Antigravity) and Gemini CLI to immediately bubble up underlying API errors (such as safety or recitation blocks) instead of incorrectly retrying and hiding them behind a generic empty-response message.
|
|
13
|
+
- Fixed GitHub Copilot OpenAI Responses replay to prevent empty reasoning-only assistant turns from being persisted in history and poisoning subsequent requests.
|
|
14
|
+
- Fixed classification of provider gateway quota-insufficient errors so they are correctly identified as usage-limit errors rather than generic 403 failures.
|
|
15
|
+
- Fixed OpenAI-compatible Responses models (such as DeepSeek endpoints) to preserve user-configured tool strictness settings unless strict mode is explicitly unsupported.
|
|
16
|
+
- Fixed custom openai-codex-responses providers failing when no ChatGPT account ID claim is present by omitting the header when it cannot be derived.
|
|
17
|
+
- Fixed token accounting for OpenAI Responses and Codex providers to correctly include provider-side orchestration tokens in billing totals without misclassifying them as uncached prompt input.
|
|
18
|
+
- Fixed Google Gemini and Cloud Code Assist providers to preserve the requested reasoning tier when sending requests with hidden thinking summaries.
|
|
19
|
+
- Fixed parallel OpenAI-compatible tool-call streaming to prevent argument data from bleeding across concurrent commands when identifiers are missing.
|
|
20
|
+
- Fixed Anthropic Claude reasoning and thinking replay handling. Same-model replays now drop unsigned prior reasoning blocks to prevent reasoning-extraction refusals, while cross-model replays (including Bedrock cross-region profiles) correctly demote reasoning without emitting raw thinking tags or causing text-flattening formatting issues.
|
|
21
|
+
- Fixed custom OpenAI-compatible relays serving standard OpenAI model IDs to be correctly classified as OpenAI-family targets for fast mode.
|
|
22
|
+
|
|
5
23
|
## [16.3.6] - 2026-07-04
|
|
6
24
|
|
|
7
25
|
### Added
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Allows extensions to register streaming functions for custom API types
|
|
5
5
|
* (e.g., "vertex-claude-api") that are not built into stream.ts.
|
|
6
6
|
*/
|
|
7
|
-
import type { Api, AssistantMessageEventStream, Context, Model, SimpleStreamOptions, StreamOptions } from "./types";
|
|
7
|
+
import type { Api, AssistantMessageEventStream, Context, Model, SimpleStreamOptions, StreamOptions } from "./types.js";
|
|
8
8
|
export type CustomStreamFn = (model: Model<Api>, context: Context, options?: StreamOptions) => AssistantMessageEventStream;
|
|
9
9
|
export type CustomStreamSimpleFn = (model: Model<Api>, context: Context, options?: SimpleStreamOptions) => AssistantMessageEventStream;
|
|
10
10
|
export interface RegisteredCustomApi {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { AuthCredential } from "../auth-storage";
|
|
2
|
-
import type { CredentialBlockRequest, CredentialBlockResponse, CredentialBlocksDeleteResponse, CredentialDisableResponse, CredentialRefreshResponse, CredentialUploadResponse, HealthzResponse, SnapshotResponse, SnapshotStreamEvent, UsageResponse } from "./types";
|
|
1
|
+
import type { AuthCredential } from "../auth-storage.js";
|
|
2
|
+
import type { CredentialBlockRequest, CredentialBlockResponse, CredentialBlocksDeleteResponse, CredentialDisableResponse, CredentialRefreshResponse, CredentialUploadResponse, HealthzResponse, SnapshotResponse, SnapshotStreamEvent, UsageResponse } from "./types.js";
|
|
3
3
|
export interface AuthBrokerClientOptions {
|
|
4
4
|
/** Base URL (e.g. `https://broker.tailnet:8765`). Trailing slashes are trimmed. */
|
|
5
5
|
url: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export * from "./client";
|
|
2
|
-
export * from "./discover";
|
|
3
|
-
export * from "./refresher";
|
|
4
|
-
export * from "./remote-store";
|
|
5
|
-
export * from "./server";
|
|
6
|
-
export * from "./snapshot-cache";
|
|
7
|
-
export * from "./types";
|
|
1
|
+
export * from "./client.js";
|
|
2
|
+
export * from "./discover.js";
|
|
3
|
+
export * from "./refresher.js";
|
|
4
|
+
export * from "./remote-store.js";
|
|
5
|
+
export * from "./server.js";
|
|
6
|
+
export * from "./snapshot-cache.js";
|
|
7
|
+
export * from "./types.js";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { type AuthCredential, type AuthCredentialStore, type OAuthCredential, type StoredAuthCredential, type StoredCredentialBlock } from "../auth-storage";
|
|
2
|
-
import type { OAuthCredentials } from "../registry/oauth/types";
|
|
3
|
-
import type { Provider } from "../types";
|
|
4
|
-
import type { UsageReport } from "../usage";
|
|
5
|
-
import { type AuthBrokerClient } from "./client";
|
|
6
|
-
import type { SnapshotResponse } from "./types";
|
|
1
|
+
import { type AuthCredential, type AuthCredentialStore, type OAuthCredential, type StoredAuthCredential, type StoredCredentialBlock } from "../auth-storage.js";
|
|
2
|
+
import type { OAuthCredentials } from "../registry/oauth/types.js";
|
|
3
|
+
import type { Provider } from "../types.js";
|
|
4
|
+
import type { UsageReport } from "../usage.js";
|
|
5
|
+
import { type AuthBrokerClient } from "./client.js";
|
|
6
|
+
import type { SnapshotResponse } from "./types.js";
|
|
7
7
|
export interface RemoteAuthCredentialStoreOptions {
|
|
8
8
|
client: AuthBrokerClient;
|
|
9
9
|
/**
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* clients use `access` tokens directly and call back to the broker when a
|
|
6
6
|
* credential expires or a 401 surfaces on a supposedly-fresh credential.
|
|
7
7
|
*/
|
|
8
|
-
import type { AuthCredential, AuthCredentialSnapshot, AuthCredentialSnapshotEntry, StoredCredentialBlock } from "../auth-storage";
|
|
9
|
-
import type { UsageReport } from "../usage";
|
|
8
|
+
import type { AuthCredential, AuthCredentialSnapshot, AuthCredentialSnapshotEntry, StoredCredentialBlock } from "../auth-storage.js";
|
|
9
|
+
import type { UsageReport } from "../usage.js";
|
|
10
10
|
/** GET /v1/healthz response body. */
|
|
11
11
|
export interface HealthzResponse {
|
|
12
12
|
ok: boolean;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "./http";
|
|
2
|
-
export * from "./server";
|
|
3
|
-
export * from "./types";
|
|
1
|
+
export * from "./http.js";
|
|
2
|
+
export * from "./server.js";
|
|
3
|
+
export * from "./types.js";
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
* POST /v1/messages → Anthropic messages in/out
|
|
18
18
|
* POST /v1/responses → OpenAI Responses in/out
|
|
19
19
|
*/
|
|
20
|
-
import type { AuthStorage } from "../auth-storage";
|
|
21
|
-
import type { Api, Model } from "../types";
|
|
22
|
-
import type { AuthGatewayServerHandle, AuthGatewayServerOptions } from "./types";
|
|
20
|
+
import type { AuthStorage } from "../auth-storage.js";
|
|
21
|
+
import type { Api, Model } from "../types.js";
|
|
22
|
+
import type { AuthGatewayServerHandle, AuthGatewayServerOptions } from "./types.js";
|
|
23
23
|
export type ModelResolver = (modelId: string) => Model<Api> | undefined;
|
|
24
24
|
export interface AuthGatewayBootOptions extends AuthGatewayServerOptions {
|
|
25
25
|
/** Source of credentials. Caller wires this to a broker-backed AuthStorage. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Effort } from "@oh-my-pi/pi-catalog/effort";
|
|
2
|
-
import type { AssistantMessage, AssistantMessageEventStream, CacheRetention, Context, ServiceTier, TokenTaskBudget } from "../types";
|
|
2
|
+
import type { AssistantMessage, AssistantMessageEventStream, CacheRetention, Context, ServiceTier, TokenTaskBudget } from "../types.js";
|
|
3
3
|
/**
|
|
4
4
|
* Wire types for the omp auth-gateway.
|
|
5
5
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { OAuthAccess } from "./auth-storage";
|
|
2
|
-
import { isAuthRetryableError } from "./error/auth-classify";
|
|
1
|
+
import type { OAuthAccess } from "./auth-storage.js";
|
|
2
|
+
import { isAuthRetryableError } from "./error/auth-classify.js";
|
|
3
3
|
/**
|
|
4
4
|
* Context passed to an {@link ApiKeyResolver} on each resolution attempt.
|
|
5
5
|
*
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
* - `SqliteAuthCredentialStore`: concrete SQLite-backed implementation
|
|
9
9
|
*/
|
|
10
10
|
import { Database } from "bun:sqlite";
|
|
11
|
-
import type { ApiKeyResolver } from "./auth-retry";
|
|
12
|
-
import type { OAuthAuthInfo, OAuthController, OAuthCredentials, OAuthProviderId } from "./registry/oauth/types";
|
|
13
|
-
import type { Provider } from "./types";
|
|
14
|
-
import type { CredentialRankingStrategy, UsageCostHistoryEntry, UsageCostHistoryQuery, UsageHistoryEntry, UsageHistoryQuery, UsageLogger, UsageProvider, UsageReport } from "./usage";
|
|
15
|
-
import { type CodexResetConsumeCode, type CodexResetCredit } from "./usage/openai-codex-reset";
|
|
11
|
+
import type { ApiKeyResolver } from "./auth-retry.js";
|
|
12
|
+
import type { OAuthAuthInfo, OAuthController, OAuthCredentials, OAuthProviderId } from "./registry/oauth/types.js";
|
|
13
|
+
import type { Provider } from "./types.js";
|
|
14
|
+
import type { CredentialRankingStrategy, UsageCostHistoryEntry, UsageCostHistoryQuery, UsageHistoryEntry, UsageHistoryQuery, UsageLogger, UsageProvider, UsageReport } from "./usage.js";
|
|
15
|
+
import { type CodexResetConsumeCode, type CodexResetCredit } from "./usage/openai-codex-reset.js";
|
|
16
16
|
export type ApiKeyCredential = {
|
|
17
17
|
type: "api_key";
|
|
18
18
|
key: string;
|
|
@@ -419,7 +419,7 @@ export type AuthStorageOptions = {
|
|
|
419
419
|
*/
|
|
420
420
|
fetchUsageReports?: (signal?: AbortSignal) => Promise<UsageReport[] | null>;
|
|
421
421
|
};
|
|
422
|
-
export { isDefinitiveOAuthFailure } from "./error/auth-classify";
|
|
422
|
+
export { isDefinitiveOAuthFailure } from "./error/auth-classify.js";
|
|
423
423
|
/**
|
|
424
424
|
* Outcome of {@link AuthStorage.markUsageLimitReached}.
|
|
425
425
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DialectDefinition, InbandScanEvent, InbandScanner, InbandScannerOptions } from "./types";
|
|
1
|
+
import type { DialectDefinition, InbandScanEvent, InbandScanner, InbandScannerOptions } from "./types.js";
|
|
2
2
|
export declare const ANTHROPIC_THINKING_TAG_PREFIXES: readonly ["<thinking", "</thinking", "<think", "</think", "<scratchpad", "</scratchpad", "<antml:thinking", "</antml:thinking", "<antml:think", "</antml:think", "<antml:scratchpad", "</antml:scratchpad"];
|
|
3
3
|
export interface AnthropicInbandScannerConfig {
|
|
4
4
|
readonly wrapperTags?: Readonly<Record<string, true>>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { Dialect, InbandTool } from "./types";
|
|
1
|
+
import type { Dialect, InbandTool } from "./types.js";
|
|
2
2
|
export declare function renderToolCatalog(tools: readonly InbandTool[]): string;
|
|
3
3
|
export declare function renderInbandToolPrompt(tools: readonly InbandTool[], dialect: Dialect): string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DialectDefinition, InbandScanEvent, InbandScanner, InbandScannerOptions } from "./types";
|
|
1
|
+
import type { DialectDefinition, InbandScanEvent, InbandScanner, InbandScannerOptions } from "./types.js";
|
|
2
2
|
export declare const DEEPSEEK_TOOL_CALLS_BEGIN = "<\uFF5Ctool\u2581calls\u2581begin\uFF5C>";
|
|
3
3
|
export declare const DEEPSEEK_TOOL_CALLS_END = "<\uFF5Ctool\u2581calls\u2581end\uFF5C>";
|
|
4
4
|
export declare const DEEPSEEK_TOOL_CALL_BEGIN = "<\uFF5Ctool\u2581call\u2581begin\uFF5C>";
|
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Wrap a prior-turn reasoning string for demotion into native conversation
|
|
3
|
-
* history — the cross-provider / cross-model case where the target cannot
|
|
4
|
-
* it as a structured thinking block (verified end-to-end against Gemini
|
|
5
|
-
* replayed unsigned `thought` part is schema-accepted but silently
|
|
6
|
-
* neither recalled nor influencing generation).
|
|
3
|
+
* history — the cross-provider / cross-model case where the target cannot
|
|
4
|
+
* replay it as a structured thinking block (verified end-to-end against Gemini
|
|
5
|
+
* 3: a replayed unsigned `thought` part is schema-accepted but silently
|
|
6
|
+
* discarded — neither recalled nor influencing generation).
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
* requests that replay prior
|
|
10
|
-
*
|
|
11
|
-
* chain-of-thought as an attempt to duplicate model outputs and
|
|
12
|
-
*
|
|
13
|
-
*
|
|
8
|
+
* The Anthropic/Claude dialect is the primary exception: Anthropic's
|
|
9
|
+
* `reasoning_extraction` classifier blocks requests that replay prior
|
|
10
|
+
* reasoning inside `<thinking>` / `antml:thinking` tags — it reads the
|
|
11
|
+
* wrapped chain-of-thought as an attempt to duplicate model outputs and
|
|
12
|
+
* refuses (Fable) or leaks it as visible reasoning (Opus / Sonnet / Haiku /
|
|
13
|
+
* Mythos). Every Anthropic-dialect Claude model therefore receives prior
|
|
14
|
+
* reasoning as bare assistant prose: no tag, no wrapper, no trailing newline.
|
|
14
15
|
* Heat is cumulative (block count and early-conversation position also raise
|
|
15
16
|
* it), so this lowers per-block signal but does not license unbounded replay.
|
|
16
|
-
*
|
|
17
|
+
*
|
|
18
|
+
* Harmony and Gemma are the other exceptions: their `renderThinking` emits
|
|
17
19
|
* chat-template control tokens (`<|channel|>analysis`, `<|channel>thought`)
|
|
18
|
-
* that must not appear inside a structured native message, so they fall back
|
|
19
|
-
* a plain `<think>` block. Every other dialect's thinking form is
|
|
20
|
-
* XML tags or a markdown fence.
|
|
20
|
+
* that must not appear inside a structured native message, so they fall back
|
|
21
|
+
* to a plain `<think>` block. Every other dialect's thinking form is
|
|
22
|
+
* inline-safe XML tags or a markdown fence.
|
|
21
23
|
*
|
|
22
24
|
* The result does not append a delimiter; callers that flatten adjacent blocks
|
|
23
25
|
* into a single string must insert their own separator.
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { Dialect, InbandTool } from "./types";
|
|
1
|
+
import type { Dialect, InbandTool } from "./types.js";
|
|
2
2
|
export declare function renderToolExamples(tool: InbandTool, dialect: Dialect, intentField?: string): string;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { Dialect, DialectDefinition, InbandScanner, InbandScannerOptions } from "./types";
|
|
1
|
+
import type { Dialect, DialectDefinition, InbandScanner, InbandScannerOptions } from "./types.js";
|
|
2
2
|
export declare function getDialectDefinition(dialect: Dialect): DialectDefinition;
|
|
3
3
|
export declare function createInbandScanner(dialect: Dialect, options?: InbandScannerOptions): InbandScanner;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DialectDefinition, InbandScanEvent, InbandScanner, InbandScannerOptions } from "./types";
|
|
1
|
+
import type { DialectDefinition, InbandScanEvent, InbandScanner, InbandScannerOptions } from "./types.js";
|
|
2
2
|
/**
|
|
3
3
|
* Scanner for the hosted-Gemini / Gemma 3 Pythonic tool-calling convention
|
|
4
4
|
* (see `docs/toolconv/gemini.md`). Tool calls arrive as a ```` ```tool_code ````
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DialectDefinition, InbandScanEvent, InbandScanner, InbandScannerOptions } from "./types";
|
|
1
|
+
import type { DialectDefinition, InbandScanEvent, InbandScanner, InbandScannerOptions } from "./types.js";
|
|
2
2
|
/**
|
|
3
3
|
* Scanner for the Gemma 4 token-delimited tool-calling convention (see
|
|
4
4
|
* `docs/toolconv/gemma.md`). Each call is one `<|tool_call>call:NAME{…}<tool_call|>`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DialectDefinition, InbandScanEvent, InbandScanner, InbandScannerOptions } from "./types";
|
|
1
|
+
import type { DialectDefinition, InbandScanEvent, InbandScanner, InbandScannerOptions } from "./types.js";
|
|
2
2
|
export declare class GLMInbandScanner implements InbandScanner {
|
|
3
3
|
#private;
|
|
4
4
|
constructor(options?: InbandScannerOptions);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DialectDefinition, InbandScanEvent, InbandScanner } from "./types";
|
|
1
|
+
import type { DialectDefinition, InbandScanEvent, InbandScanner } from "./types.js";
|
|
2
2
|
export declare class HarmonyInbandScanner implements InbandScanner {
|
|
3
3
|
#private;
|
|
4
4
|
feed(text: string): InbandScanEvent[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DialectDefinition, InbandScanEvent, InbandScanner, InbandScannerOptions } from "./types";
|
|
1
|
+
import type { DialectDefinition, InbandScanEvent, InbandScanner, InbandScannerOptions } from "./types.js";
|
|
2
2
|
export declare class HermesInbandScanner implements InbandScanner {
|
|
3
3
|
#private;
|
|
4
4
|
constructor(options?: InbandScannerOptions);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { Context } from "../types";
|
|
2
|
-
import type { Dialect, InbandTool } from "./types";
|
|
1
|
+
import type { Context } from "../types.js";
|
|
2
|
+
import type { Dialect, InbandTool } from "./types.js";
|
|
3
3
|
export declare function encodeInbandToolHistory(messages: Context["messages"], dialect: Dialect, tools?: readonly InbandTool[]): Context["messages"];
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export * from "./catalog";
|
|
2
|
-
export * from "./coercion";
|
|
3
|
-
export * from "./demotion";
|
|
4
|
-
export * from "./examples";
|
|
5
|
-
export * from "./factory";
|
|
6
|
-
export * from "./history";
|
|
7
|
-
export * from "./inventory";
|
|
8
|
-
export * from "./owned-stream";
|
|
9
|
-
export { renderDelimitedThinking } from "./rendering";
|
|
10
|
-
export * from "./thinking";
|
|
11
|
-
export * from "./types";
|
|
1
|
+
export * from "./catalog.js";
|
|
2
|
+
export * from "./coercion.js";
|
|
3
|
+
export * from "./demotion.js";
|
|
4
|
+
export * from "./examples.js";
|
|
5
|
+
export * from "./factory.js";
|
|
6
|
+
export * from "./history.js";
|
|
7
|
+
export * from "./inventory.js";
|
|
8
|
+
export * from "./owned-stream.js";
|
|
9
|
+
export { renderDelimitedThinking } from "./rendering.js";
|
|
10
|
+
export * from "./thinking.js";
|
|
11
|
+
export * from "./types.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DialectDefinition, InbandScanEvent, InbandScanner, InbandScannerOptions } from "./types";
|
|
1
|
+
import type { DialectDefinition, InbandScanEvent, InbandScanner, InbandScannerOptions } from "./types.js";
|
|
2
2
|
export declare const KIMI_SECTION_BEGIN = "<|tool_calls_section_begin|>";
|
|
3
3
|
export declare const KIMI_SECTION_END = "<|tool_calls_section_end|>";
|
|
4
4
|
export declare const KIMI_CALL_BEGIN = "<|tool_call_begin|>";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AssistantMessage, AssistantMessageEventStream as AssistantMessageEventStreamType } from "../types";
|
|
2
|
-
import type { Dialect, InbandTool } from "./types";
|
|
1
|
+
import type { AssistantMessage, AssistantMessageEventStream as AssistantMessageEventStreamType } from "../types.js";
|
|
2
|
+
import type { Dialect, InbandTool } from "./types.js";
|
|
3
3
|
export declare function parseInbandToolMessage(message: AssistantMessage, dialect: Dialect, tools: readonly InbandTool[]): AssistantMessage;
|
|
4
4
|
export declare function wrapInbandToolStream(inner: AssistantMessageEventStreamType, tools: readonly InbandTool[], dialect: Dialect, onAbort?: () => void, abortOnFabrication?: boolean): AssistantMessageEventStreamType;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DialectDefinition, InbandScanEvent, InbandScanner, InbandScannerOptions } from "./types";
|
|
1
|
+
import type { DialectDefinition, InbandScanEvent, InbandScanner, InbandScannerOptions } from "./types.js";
|
|
2
2
|
export declare class Qwen3InbandScanner implements InbandScanner {
|
|
3
3
|
#private;
|
|
4
4
|
constructor(options?: InbandScannerOptions);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { AssistantMessage, Message, ToolCall } from "../types";
|
|
2
|
-
import type { DialectRenderOptions, DialectToolResult } from "./types";
|
|
1
|
+
import type { AssistantMessage, Message, ToolCall } from "../types.js";
|
|
2
|
+
import type { DialectRenderOptions, DialectToolResult } from "./types.js";
|
|
3
3
|
export declare function renderToolResponseResults(results: readonly DialectToolResult[]): string;
|
|
4
4
|
export declare function kimiCallId(name: string, id: string, index: number): string;
|
|
5
5
|
export declare function harmonyRecipient(name: string): string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Dialect as CatalogDialect } from "@oh-my-pi/pi-catalog/identity";
|
|
2
|
-
import type { Context, Message, ToolCall } from "../types";
|
|
2
|
+
import type { Context, Message, ToolCall } from "../types.js";
|
|
3
3
|
export type { Dialect } from "@oh-my-pi/pi-catalog/identity";
|
|
4
4
|
export type InbandScanEvent = {
|
|
5
5
|
type: "text";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DialectDefinition, InbandScanEvent, InbandScanner, InbandScannerOptions } from "./types";
|
|
1
|
+
import type { DialectDefinition, InbandScanEvent, InbandScanner, InbandScannerOptions } from "./types.js";
|
|
2
2
|
export declare class XmlInbandScanner implements InbandScanner {
|
|
3
3
|
#private;
|
|
4
4
|
constructor(options?: InbandScannerOptions);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CapturedHttpErrorResponse } from "../utils/http-inspector";
|
|
1
|
+
import type { CapturedHttpErrorResponse } from "../utils/http-inspector.js";
|
|
2
2
|
/** Prefix on errors raised when an Anthropic SSE stream envelope is malformed. */
|
|
3
3
|
export declare const STREAM_ENVELOPE_ERROR_PREFIX = "Anthropic stream envelope error:";
|
|
4
4
|
/** Structured HTTP errors thrown by provider clients. */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { Api } from "../types";
|
|
2
|
-
import type { AbortSourceTracker } from "../utils/abort";
|
|
3
|
-
import type { CapturedHttpErrorResponse, RawHttpRequestDump } from "../utils/http-inspector";
|
|
1
|
+
import type { Api } from "../types.js";
|
|
2
|
+
import type { AbortSourceTracker } from "../utils/abort.js";
|
|
3
|
+
import type { CapturedHttpErrorResponse, RawHttpRequestDump } from "../utils/http-inspector.js";
|
|
4
4
|
/** Context a provider catch block hands to {@link finalize}. */
|
|
5
5
|
export interface FinalizeOptions {
|
|
6
6
|
/** Wire API, for api-specific text classification (e.g. stale-responses items). */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type CapturedHttpErrorResponse, type RawHttpRequestDump } from "../utils/http-inspector";
|
|
1
|
+
import { type CapturedHttpErrorResponse, type RawHttpRequestDump } from "../utils/http-inspector.js";
|
|
2
2
|
/** Inputs that steer {@link formatMessage}'s formatter selection. */
|
|
3
3
|
export interface FormatMessageOptions {
|
|
4
4
|
/** When present, the raw request is dumped into the message for 400-class failures. */
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export * from "./abort";
|
|
2
|
-
export * from "./auth";
|
|
3
|
-
export * from "./auth-classify";
|
|
4
|
-
export * from "./aws";
|
|
5
|
-
export * from "./classes";
|
|
6
|
-
export * from "./finalize";
|
|
7
|
-
export * from "./flags";
|
|
8
|
-
export * from "./format";
|
|
9
|
-
export * from "./gateway";
|
|
10
|
-
export * from "./oauth";
|
|
11
|
-
export * from "./provider";
|
|
12
|
-
export * from "./retryable";
|
|
13
|
-
export * from "./validation";
|
|
1
|
+
export * from "./abort.js";
|
|
2
|
+
export * from "./auth.js";
|
|
3
|
+
export * from "./auth-classify.js";
|
|
4
|
+
export * from "./aws.js";
|
|
5
|
+
export * from "./classes.js";
|
|
6
|
+
export * from "./finalize.js";
|
|
7
|
+
export * from "./flags.js";
|
|
8
|
+
export * from "./format.js";
|
|
9
|
+
export * from "./gateway.js";
|
|
10
|
+
export * from "./oauth.js";
|
|
11
|
+
export * from "./provider.js";
|
|
12
|
+
export * from "./retryable.js";
|
|
13
|
+
export * from "./validation.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ProviderHttpError } from "./classes";
|
|
1
|
+
import { ProviderHttpError } from "./classes.js";
|
|
2
2
|
/** Which part of a provider exchange produced a non-HTTP error. */
|
|
3
3
|
export type ProviderResponseErrorKind =
|
|
4
4
|
/** Stream closed before a terminal completion/response event. */
|
|
@@ -52,7 +52,7 @@ export declare function isUsageLimitOutcome(status: number | undefined, message:
|
|
|
52
52
|
export declare function isOpaqueStatusBody(message: string): boolean;
|
|
53
53
|
/**
|
|
54
54
|
* Internal text matcher for usage/quota-limit phrasing. NOT part of the public
|
|
55
|
-
* API — callers classify through {@link import("./flags").isUsageLimit} (the
|
|
55
|
+
* API — callers classify through {@link import("./flags.js").isUsageLimit} (the
|
|
56
56
|
* flag accessor). `flags.ts` consumes this to populate `Flag.UsageLimit`, and
|
|
57
57
|
* {@link isUsageLimitOutcome} uses it for the account-rotation decision.
|
|
58
58
|
*/
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,49 +1,49 @@
|
|
|
1
1
|
export { type Type, type } from "arktype";
|
|
2
2
|
export { type ZodType, z } from "zod/v4";
|
|
3
|
-
export * from "./api-registry";
|
|
4
|
-
export type * from "./auth-broker";
|
|
5
|
-
export type { AuthGatewayBootOptions, ModelResolver } from "./auth-gateway/server";
|
|
6
|
-
export * from "./auth-gateway/types";
|
|
7
|
-
export * from "./auth-retry";
|
|
8
|
-
export * from "./auth-storage";
|
|
9
|
-
export * from "./error/rate-limit";
|
|
10
|
-
export * from "./provider-details";
|
|
11
|
-
export * from "./providers/anthropic";
|
|
12
|
-
export * from "./providers/anthropic-client";
|
|
13
|
-
export * from "./providers/azure-openai-responses";
|
|
14
|
-
export type * from "./providers/cursor";
|
|
15
|
-
export * from "./providers/gitlab-duo";
|
|
16
|
-
export * from "./providers/gitlab-duo-workflow";
|
|
17
|
-
export type * from "./providers/google";
|
|
18
|
-
export type * from "./providers/google-gemini-cli";
|
|
19
|
-
export type * from "./providers/google-vertex";
|
|
20
|
-
export * from "./providers/kimi";
|
|
21
|
-
export * from "./providers/mock";
|
|
22
|
-
export * from "./providers/ollama";
|
|
23
|
-
export * from "./providers/openai-codex-responses";
|
|
24
|
-
export * from "./providers/openai-completions";
|
|
25
|
-
export * from "./providers/openai-responses";
|
|
26
|
-
export * from "./providers/synthetic";
|
|
27
|
-
export * from "./registry";
|
|
28
|
-
export * from "./stream";
|
|
29
|
-
export * from "./types";
|
|
30
|
-
export * from "./usage";
|
|
31
|
-
export * from "./usage/claude";
|
|
32
|
-
export * from "./usage/gemini";
|
|
33
|
-
export * from "./usage/github-copilot";
|
|
34
|
-
export * from "./usage/google-antigravity";
|
|
35
|
-
export * from "./usage/kimi";
|
|
36
|
-
export * from "./usage/minimax-code";
|
|
37
|
-
export * from "./usage/ollama";
|
|
38
|
-
export * from "./usage/openai-codex";
|
|
39
|
-
export * from "./usage/openai-codex-reset";
|
|
40
|
-
export * from "./usage/opencode-go";
|
|
41
|
-
export * from "./usage/zai";
|
|
42
|
-
export * from "./utils/anthropic-auth";
|
|
43
|
-
export * from "./utils/event-stream";
|
|
44
|
-
export * from "./utils/openrouter-headers";
|
|
45
|
-
export * from "./utils/retry";
|
|
46
|
-
export * from "./utils/schema";
|
|
47
|
-
export * from "./utils/thinking-loop";
|
|
48
|
-
export * from "./utils/tool-call-loop-guard";
|
|
49
|
-
export * from "./utils/validation";
|
|
3
|
+
export * from "./api-registry.js";
|
|
4
|
+
export type * from "./auth-broker/index.js";
|
|
5
|
+
export type { AuthGatewayBootOptions, ModelResolver } from "./auth-gateway/server.js";
|
|
6
|
+
export * from "./auth-gateway/types.js";
|
|
7
|
+
export * from "./auth-retry.js";
|
|
8
|
+
export * from "./auth-storage.js";
|
|
9
|
+
export * from "./error/rate-limit.js";
|
|
10
|
+
export * from "./provider-details.js";
|
|
11
|
+
export * from "./providers/anthropic.js";
|
|
12
|
+
export * from "./providers/anthropic-client.js";
|
|
13
|
+
export * from "./providers/azure-openai-responses.js";
|
|
14
|
+
export type * from "./providers/cursor.js";
|
|
15
|
+
export * from "./providers/gitlab-duo.js";
|
|
16
|
+
export * from "./providers/gitlab-duo-workflow.js";
|
|
17
|
+
export type * from "./providers/google.js";
|
|
18
|
+
export type * from "./providers/google-gemini-cli.js";
|
|
19
|
+
export type * from "./providers/google-vertex.js";
|
|
20
|
+
export * from "./providers/kimi.js";
|
|
21
|
+
export * from "./providers/mock.js";
|
|
22
|
+
export * from "./providers/ollama.js";
|
|
23
|
+
export * from "./providers/openai-codex-responses.js";
|
|
24
|
+
export * from "./providers/openai-completions.js";
|
|
25
|
+
export * from "./providers/openai-responses.js";
|
|
26
|
+
export * from "./providers/synthetic.js";
|
|
27
|
+
export * from "./registry/index.js";
|
|
28
|
+
export * from "./stream.js";
|
|
29
|
+
export * from "./types.js";
|
|
30
|
+
export * from "./usage.js";
|
|
31
|
+
export * from "./usage/claude.js";
|
|
32
|
+
export * from "./usage/gemini.js";
|
|
33
|
+
export * from "./usage/github-copilot.js";
|
|
34
|
+
export * from "./usage/google-antigravity.js";
|
|
35
|
+
export * from "./usage/kimi.js";
|
|
36
|
+
export * from "./usage/minimax-code.js";
|
|
37
|
+
export * from "./usage/ollama.js";
|
|
38
|
+
export * from "./usage/openai-codex.js";
|
|
39
|
+
export * from "./usage/openai-codex-reset.js";
|
|
40
|
+
export * from "./usage/opencode-go.js";
|
|
41
|
+
export * from "./usage/zai.js";
|
|
42
|
+
export * from "./utils/anthropic-auth.js";
|
|
43
|
+
export * from "./utils/event-stream.js";
|
|
44
|
+
export * from "./utils/openrouter-headers.js";
|
|
45
|
+
export * from "./utils/retry.js";
|
|
46
|
+
export * from "./utils/schema/index.js";
|
|
47
|
+
export * from "./utils/thinking-loop.js";
|
|
48
|
+
export * from "./utils/tool-call-loop-guard.js";
|
|
49
|
+
export * from "./utils/validation.js";
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* Bun's native `HTTPS_PROXY` support.
|
|
8
8
|
*/
|
|
9
9
|
import type { Effort } from "@oh-my-pi/pi-catalog/effort";
|
|
10
|
-
import type { StreamFunction, StreamOptions, ThinkingBudgets } from "../types";
|
|
10
|
+
import type { StreamFunction, StreamOptions, ThinkingBudgets } from "../types.js";
|
|
11
11
|
export type BedrockThinkingDisplay = "summarized" | "omitted";
|
|
12
12
|
export interface BedrockOptions extends StreamOptions {
|
|
13
13
|
region?: string;
|