@oh-my-pi/pi-catalog 18.4.5 → 18.4.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/src/types.ts CHANGED
@@ -732,6 +732,12 @@ export interface BedrockCompat {
732
732
  * `PI_OPENAI_STREAM_IDLE_TIMEOUT_MS` alias, then the 300s default.
733
733
  */
734
734
  streamIdleTimeoutMs?: number;
735
+ /**
736
+ * Whether the model accepts a forced `toolChoice` (`any` / `tool`). Claude
737
+ * Opus/Sonnet 5.5 reject it outright; the request builder downgrades forced
738
+ * choices to `auto` when this is false. Default: true.
739
+ */
740
+ supportsForcedToolChoice?: boolean;
735
741
  }
736
742
 
737
743
  /** Fully-resolved Bedrock Converse prompt-cache capabilities, materialized once by `buildModel`. */
@@ -742,6 +748,7 @@ export interface ResolvedBedrockCompat {
742
748
  supportsLongPromptCacheRetention: boolean;
743
749
  promptCacheMinimumTokens: number;
744
750
  promptCacheMaximumCheckpoints: number;
751
+ supportsForcedToolChoice: boolean;
745
752
  /**
746
753
  * Stream-watchdog idle-timeout fallback in ms for hosts with no keepalive
747
754
  * events; 0 disables the idle watchdog. Undefined defers to
@@ -1425,6 +1432,12 @@ export interface Model<TApi extends Api = Api> {
1425
1432
  * Custom models and provider overrides opt in via models.yml `promptCache`.
1426
1433
  */
1427
1434
  promptCache?: ModelPromptCache;
1435
+ /**
1436
+ * Verbatim configured lifetimes (models.yml, `modelOverrides`, runtime
1437
+ * registrations). `buildModel` applies them over catalog `prompt-cache`
1438
+ * rules on every rebuild; `{}` keeps warming disabled.
1439
+ */
1440
+ promptCacheConfig?: ModelPromptCache;
1428
1441
  /**
1429
1442
  * Interpretation of an all-zero token-rate card. Omitted zero-rate cards
1430
1443
  * are unknown; any non-zero rate is always treated as fixed pricing.