@f5-sales-demo/pi-ai 22.13.0 → 22.13.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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@f5-sales-demo/pi-ai",
4
- "version": "22.13.0",
4
+ "version": "22.13.2",
5
5
  "description": "Unified LLM API with automatic model discovery and provider configuration",
6
6
  "homepage": "https://github.com/f5-sales-demo/xcsh",
7
7
  "author": "Can Boluk",
@@ -46,7 +46,7 @@
46
46
  "@anthropic-ai/sdk": "0.124.0",
47
47
  "@aws-sdk/client-bedrock-runtime": "3.1127.0",
48
48
  "@bufbuild/protobuf": "2.14.1",
49
- "@f5-sales-demo/pi-utils": "22.13.0",
49
+ "@f5-sales-demo/pi-utils": "22.13.2",
50
50
  "@google/genai": "2.21.0",
51
51
  "@sinclair/typebox": "0.34.52",
52
52
  "@smithy/node-http-handler": "4.12.1",
package/src/types.ts CHANGED
@@ -738,6 +738,13 @@ export interface VercelGatewayRouting {
738
738
 
739
739
  // Model interface for the unified model system
740
740
  export interface Model<TApi extends Api = any> {
741
+ /** Catalog-supported model-facing tools; absence does not imply support. */
742
+ experimentalSupportedTools?: string[];
743
+ /** Catalog overrides for async question guidance and JSON parameters. */
744
+ modelMessages?: {
745
+ requestUserInputAsyncDescription?: string;
746
+ requestUserInputAsyncParameters?: string;
747
+ };
741
748
  type?: "chat";
742
749
  id: string;
743
750
  name: string;
@@ -293,6 +293,25 @@ function normalizeCodexModelEntry(entry: unknown, baseUrl: string): NormalizedCo
293
293
  model: applyCodexInteractionMetadata(
294
294
  {
295
295
  id: slug,
296
+ experimentalSupportedTools: Array.isArray(payload.experimental_supported_tools)
297
+ ? payload.experimental_supported_tools.filter((tool): tool is string => typeof tool === "string")
298
+ : [],
299
+ modelMessages: isRecord(payload.model_messages)
300
+ ? {
301
+ requestUserInputAsyncDescription:
302
+ isRecord(payload.model_messages.tools) &&
303
+ isRecord(payload.model_messages.tools.send_user_message_async) &&
304
+ typeof payload.model_messages.tools.send_user_message_async.description === "string"
305
+ ? payload.model_messages.tools.send_user_message_async.description
306
+ : undefined,
307
+ requestUserInputAsyncParameters:
308
+ isRecord(payload.model_messages.tools) &&
309
+ isRecord(payload.model_messages.tools.send_user_message_async) &&
310
+ typeof payload.model_messages.tools.send_user_message_async.parameters === "string"
311
+ ? payload.model_messages.tools.send_user_message_async.parameters
312
+ : undefined,
313
+ }
314
+ : undefined,
296
315
  name,
297
316
  api: "openai-codex-responses",
298
317
  provider: "openai-codex",