@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/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<Omit<AnthropicCompat, "streamIdleTimeoutMs" | "thinkingLoopGuard">> & {
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`; 0.155.1 exposes GPT-6 Sol and Luna.
13
- * An older pin silently hides newer SKUs from discovery.
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.155.1";
17
+ export const CODEX_CLIENT_VERSION = "0.159.0";
16
18
 
17
19
  export const OPENAI_HEADERS = {
18
20
  BETA: "OpenAI-Beta",