@oh-my-pi/pi-catalog 18.4.3 → 18.4.4
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 +17 -0
- package/dist/types/compat/anthropic.d.ts +6 -0
- package/dist/types/hosts.d.ts +13 -0
- package/dist/types/types.d.ts +29 -1
- package/dist/types/wire/codex.d.ts +5 -3
- package/package.json +4 -4
- package/src/compat/anthropic.ts +11 -1
- package/src/compat/axes.ts +2 -0
- package/src/compat/resolve.ts +13 -3
- package/src/compat/rules/classes/anthropic.kdl +7 -3
- package/src/compat/rules/providers/openai-codex.kdl +17 -0
- package/src/compat/rules.json +1 -1
- package/src/discovery/codex.ts +16 -0
- package/src/hosts.ts +47 -0
- package/src/models.json +1 -1
- package/src/types.ts +31 -1
- package/src/wire/codex.ts +5 -3
package/src/types.ts
CHANGED
|
@@ -560,6 +560,15 @@ export interface AnthropicCompat {
|
|
|
560
560
|
* `tools.<n>.custom.strict: Extra inputs are not permitted`.
|
|
561
561
|
*/
|
|
562
562
|
disableStrictTools?: boolean;
|
|
563
|
+
/**
|
|
564
|
+
* The endpoint is Amazon Bedrock's Anthropic Messages API (`/anthropic` on
|
|
565
|
+
* bedrock-runtime or bedrock-mantle). Requests drop tool `strict`, fit
|
|
566
|
+
* `metadata.user_id` to Bedrock's request-metadata pattern, and may use
|
|
567
|
+
* on-demand compaction. Detected from the model `baseUrl`; set it in
|
|
568
|
+
* models.yml `compat` for a route the URL check cannot see (a proxy, an
|
|
569
|
+
* `ANTHROPIC_BASE_URL` reroute) or to `false` to opt out.
|
|
570
|
+
*/
|
|
571
|
+
bedrockMessagesApi?: boolean;
|
|
563
572
|
/**
|
|
564
573
|
* Map adaptive thinking (`thinking: { type: "adaptive" }`) to
|
|
565
574
|
* `{ type: "enabled", budget_tokens }`. Vertex AI rejects the `adaptive`
|
|
@@ -587,6 +596,13 @@ export interface AnthropicCompat {
|
|
|
587
596
|
* `input_transformations` under the thinking-binding-controls beta.
|
|
588
597
|
*/
|
|
589
598
|
supportsThinkingBindingControls?: boolean;
|
|
599
|
+
/**
|
|
600
|
+
* Whether the model replaces `thinking: { type: "disabled" }` with
|
|
601
|
+
* `thinking: { type: "between_tools" }` (Claude Sonnet 5.5). The disabled
|
|
602
|
+
* form is rejected with a 400; `between_tools` skips up-front thinking and
|
|
603
|
+
* only allows progress updates between tool calls.
|
|
604
|
+
*/
|
|
605
|
+
supportsBetweenToolsThinking?: boolean;
|
|
590
606
|
/**
|
|
591
607
|
* Whether the model accepts a forced `tool_choice` (`{ type: "any" }` or
|
|
592
608
|
* `{ type: "tool", name }`). Claude Fable/Mythos 5 reject forced tool use
|
|
@@ -960,9 +976,17 @@ export interface ResolvedOpenAIResponsesCompat extends ResolvedOpenAISharedCompa
|
|
|
960
976
|
export type ResolvedOpenRouterCompat = ResolvedOpenAICompat & ResolvedOpenAIResponsesCompat;
|
|
961
977
|
|
|
962
978
|
/** Fully-resolved anthropic-messages compat view (same contract as `ResolvedOpenAICompat`). */
|
|
963
|
-
export type ResolvedAnthropicCompat = Required<
|
|
979
|
+
export type ResolvedAnthropicCompat = Required<
|
|
980
|
+
Omit<AnthropicCompat, "streamIdleTimeoutMs" | "thinkingLoopGuard" | "bedrockMessagesApi">
|
|
981
|
+
> & {
|
|
964
982
|
/** Thinking-loop watchdog guard family applied to streamed reasoning. */
|
|
965
983
|
thinkingLoopGuard?: AnthropicCompat["thinkingLoopGuard"];
|
|
984
|
+
/**
|
|
985
|
+
* Bedrock's Anthropic Messages API (see {@link AnthropicCompat.bedrockMessagesApi}).
|
|
986
|
+
* `true` when detected or configured; otherwise unset, so rows baked before
|
|
987
|
+
* this field keep matching.
|
|
988
|
+
*/
|
|
989
|
+
bedrockMessagesApi?: boolean;
|
|
966
990
|
/**
|
|
967
991
|
* Stream-watchdog idle-timeout fallback in ms for slow reasoning hosts; 0 disables the idle watchdog.
|
|
968
992
|
* Undefined defers to `PI_STREAM_IDLE_TIMEOUT_MS`, then the legacy
|
|
@@ -1358,6 +1382,12 @@ export interface Model<TApi extends Api = Api> {
|
|
|
1358
1382
|
useResponsesLite?: boolean;
|
|
1359
1383
|
/** Codex Code Mode restriction: model expects tools routed through a programmatic exec surface (mirrors codex-rs `tool_mode`). */
|
|
1360
1384
|
toolMode?: "code_mode_only";
|
|
1385
|
+
/**
|
|
1386
|
+
* Service-tier ids the provider advertises for this model (Codex discovery
|
|
1387
|
+
* `service_tiers[].id`, e.g. `priority`, `ultrafast`). Absent when the
|
|
1388
|
+
* provider publishes no per-model tier list.
|
|
1389
|
+
*/
|
|
1390
|
+
serviceTiers?: readonly string[];
|
|
1361
1391
|
/** Preferred model to switch to when context promotion is triggered (model id or provider/id). */
|
|
1362
1392
|
contextPromotionTarget?: string;
|
|
1363
1393
|
/** Preferred model to use only for compaction (model id or provider/id); the active session model is unchanged. */
|
package/src/wire/codex.ts
CHANGED
|
@@ -9,10 +9,12 @@ export const CODEX_BASE_URL = "https://chatgpt.com/backend-api";
|
|
|
9
9
|
* Updated from npm by `bun run check-spoofed-versions --update`.
|
|
10
10
|
*
|
|
11
11
|
* The backend version-gates model availability against this value on both
|
|
12
|
-
* `/models?client_version=` and `/responses
|
|
13
|
-
*
|
|
12
|
+
* `/models?client_version=` and `/responses`, independently of a model's
|
|
13
|
+
* declared `minimal_client_version`: GPT-6.1 Sol declares 0.153.0 yet is
|
|
14
|
+
* omitted from `/models` at 0.155.1 and listed at 0.159.0. An older pin
|
|
15
|
+
* silently hides newer SKUs from discovery.
|
|
14
16
|
*/
|
|
15
|
-
export const CODEX_CLIENT_VERSION = "0.
|
|
17
|
+
export const CODEX_CLIENT_VERSION = "0.159.0";
|
|
16
18
|
|
|
17
19
|
export const OPENAI_HEADERS = {
|
|
18
20
|
BETA: "OpenAI-Beta",
|