@opengeni/config 0.13.2 → 0.16.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/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { Entitlements, LatencyMode, ReasoningEffort, SandboxBackend, StaticUsageLimits, TurnExecutionPolicyV1, type TurnExecutionLatencyModeSourceV1, type TurnExecutionModelSourceV1, type TurnExecutionReasoningSourceV1, type VideoGenerationResolution } from "@opengeni/contracts";
1
+ import { Entitlements, LatencyMode, ReasoningEffort, SandboxBackend, StaticUsageLimits, TurnExecutionPolicyV1, type TurnExecutionLatencyModeSourceV1, type TurnExecutionModelSourceV1, type TurnExecutionReasoningSourceV1, type VideoGenerationResolution, type FirstPartyMcpToolName as FirstPartyMcpToolNameType } from "@opengeni/contracts";
2
+ export { XAI_SUBSCRIPTION_MODEL_ID_PREFIX } from "@opengeni/xai-subscription";
2
3
  import { z } from "zod";
3
4
  export declare const SANDBOX_ARCHIVE_CAPTURE_MAX_TIMEOUT_MS: number;
4
5
  export declare const SANDBOX_ARCHIVE_CAPTURE_SETTLEMENT_GRACE_MS = 10000;
@@ -129,6 +130,260 @@ declare const SettingsSchema: z.ZodObject<{
129
130
  staticEntitlementsJson: z.ZodDefault<z.ZodString>;
130
131
  staticUsageLimitsJson: z.ZodDefault<z.ZodString>;
131
132
  delegationSecret: z.ZodOptional<z.ZodString>;
133
+ defaultFirstPartyMcpTools: z.ZodPreprocess<z.ZodOptional<z.ZodArray<z.ZodEnum<{
134
+ artifacts_create: "artifacts_create";
135
+ artifacts_get_source: "artifacts_get_source";
136
+ artifacts_list: "artifacts_list";
137
+ artifacts_publish: "artifacts_publish";
138
+ artifacts_rollback: "artifacts_rollback";
139
+ atlassian_get: "atlassian_get";
140
+ atlassian_search: "atlassian_search";
141
+ atlassian_sources_list: "atlassian_sources_list";
142
+ browser_act: "browser_act";
143
+ browser_auth: "browser_auth";
144
+ browser_clipboard: "browser_clipboard";
145
+ browser_debug: "browser_debug";
146
+ browser_identity: "browser_identity";
147
+ browser_lifecycle: "browser_lifecycle";
148
+ browser_observe: "browser_observe";
149
+ browser_open: "browser_open";
150
+ browser_publish: "browser_publish";
151
+ browser_tabs: "browser_tabs";
152
+ capability_authorization_request: "capability_authorization_request";
153
+ capability_catalog_search: "capability_catalog_search";
154
+ computer_act: "computer_act";
155
+ computer_clipboard: "computer_clipboard";
156
+ computer_lifecycle: "computer_lifecycle";
157
+ computer_observe: "computer_observe";
158
+ computer_open: "computer_open";
159
+ computer_targets: "computer_targets";
160
+ connected_machine_remove: "connected_machine_remove";
161
+ editable_artifact_apply: "editable_artifact_apply";
162
+ editable_artifact_create: "editable_artifact_create";
163
+ editable_artifact_export: "editable_artifact_export";
164
+ editable_artifact_export_status: "editable_artifact_export_status";
165
+ editable_artifact_get: "editable_artifact_get";
166
+ editable_artifact_import: "editable_artifact_import";
167
+ editable_artifact_inspect: "editable_artifact_inspect";
168
+ editable_artifact_list: "editable_artifact_list";
169
+ environment_list: "environment_list";
170
+ environment_set_variable: "environment_set_variable";
171
+ fiken_bank_accounts_list: "fiken_bank_accounts_list";
172
+ fiken_companies_list: "fiken_companies_list";
173
+ fiken_contact_create: "fiken_contact_create";
174
+ fiken_contacts_list: "fiken_contacts_list";
175
+ fiken_invoice_draft_create: "fiken_invoice_draft_create";
176
+ fiken_invoice_get: "fiken_invoice_get";
177
+ fiken_invoices_list: "fiken_invoices_list";
178
+ fiken_products_list: "fiken_products_list";
179
+ fiken_purchases_list: "fiken_purchases_list";
180
+ fiken_sales_list: "fiken_sales_list";
181
+ github_connect_link: "github_connect_link";
182
+ github_repositories_list: "github_repositories_list";
183
+ goal_complete: "goal_complete";
184
+ goal_pause: "goal_pause";
185
+ goal_progress: "goal_progress";
186
+ goal_set: "goal_set";
187
+ goal_update: "goal_update";
188
+ interaction_discover: "interaction_discover";
189
+ interaction_request_human: "interaction_request_human";
190
+ memory_correct: "memory_correct";
191
+ memory_save: "memory_save";
192
+ memory_search: "memory_search";
193
+ preference_registry_get: "preference_registry_get";
194
+ preference_registry_summary: "preference_registry_summary";
195
+ reddit_accounts_list: "reddit_accounts_list";
196
+ reddit_mentions_live: "reddit_mentions_live";
197
+ reddit_post_reply: "reddit_post_reply";
198
+ reddit_posts_sync: "reddit_posts_sync";
199
+ reddit_search_live: "reddit_search_live";
200
+ reddit_thread_fetch: "reddit_thread_fetch";
201
+ rig_get: "rig_get";
202
+ rig_list: "rig_list";
203
+ rig_promote: "rig_promote";
204
+ rig_propose_change: "rig_propose_change";
205
+ rig_verify: "rig_verify";
206
+ run_on: "run_on";
207
+ sandbox_attach: "sandbox_attach";
208
+ sandbox_provision: "sandbox_provision";
209
+ sandbox_swap: "sandbox_swap";
210
+ sandboxes_list: "sandboxes_list";
211
+ scheduled_task_runs_list: "scheduled_task_runs_list";
212
+ scheduled_tasks_create: "scheduled_tasks_create";
213
+ scheduled_tasks_delete: "scheduled_tasks_delete";
214
+ scheduled_tasks_get: "scheduled_tasks_get";
215
+ scheduled_tasks_list: "scheduled_tasks_list";
216
+ scheduled_tasks_pause: "scheduled_tasks_pause";
217
+ scheduled_tasks_resume: "scheduled_tasks_resume";
218
+ scheduled_tasks_trigger: "scheduled_tasks_trigger";
219
+ scheduled_tasks_update: "scheduled_tasks_update";
220
+ session_create: "session_create";
221
+ session_events: "session_events";
222
+ session_get: "session_get";
223
+ session_pause: "session_pause";
224
+ session_resume: "session_resume";
225
+ session_send_message: "session_send_message";
226
+ session_steer: "session_steer";
227
+ sessions_list: "sessions_list";
228
+ set_other_session_title: "set_other_session_title";
229
+ set_session_title: "set_session_title";
230
+ slack_bot_channel_history: "slack_bot_channel_history";
231
+ slack_bot_delete_message: "slack_bot_delete_message";
232
+ slack_bot_file_content: "slack_bot_file_content";
233
+ slack_bot_file_info: "slack_bot_file_info";
234
+ slack_bot_list_channels: "slack_bot_list_channels";
235
+ slack_bot_list_files: "slack_bot_list_files";
236
+ slack_bot_list_users: "slack_bot_list_users";
237
+ slack_bot_post_message: "slack_bot_post_message";
238
+ slack_bot_thread_replies: "slack_bot_thread_replies";
239
+ social_connections_list: "social_connections_list";
240
+ social_daily_analysis_context: "social_daily_analysis_context";
241
+ social_mentions_live: "social_mentions_live";
242
+ social_post_reply: "social_post_reply";
243
+ social_posts_recent: "social_posts_recent";
244
+ social_posts_sync: "social_posts_sync";
245
+ social_search_live: "social_search_live";
246
+ social_thread_fetch: "social_thread_fetch";
247
+ task_note_archive: "task_note_archive";
248
+ task_note_save: "task_note_save";
249
+ task_notes_list: "task_notes_list";
250
+ variable_set_get_variable: "variable_set_get_variable";
251
+ variable_set_list: "variable_set_list";
252
+ variable_set_set_variable: "variable_set_set_variable";
253
+ x_accounts_list: "x_accounts_list";
254
+ x_mentions_live: "x_mentions_live";
255
+ x_post_reply: "x_post_reply";
256
+ x_posts_sync: "x_posts_sync";
257
+ x_search_live: "x_search_live";
258
+ x_thread_fetch: "x_thread_fetch";
259
+ }>>>>;
260
+ allowedFirstPartyMcpTools: z.ZodPreprocess<z.ZodOptional<z.ZodArray<z.ZodEnum<{
261
+ artifacts_create: "artifacts_create";
262
+ artifacts_get_source: "artifacts_get_source";
263
+ artifacts_list: "artifacts_list";
264
+ artifacts_publish: "artifacts_publish";
265
+ artifacts_rollback: "artifacts_rollback";
266
+ atlassian_get: "atlassian_get";
267
+ atlassian_search: "atlassian_search";
268
+ atlassian_sources_list: "atlassian_sources_list";
269
+ browser_act: "browser_act";
270
+ browser_auth: "browser_auth";
271
+ browser_clipboard: "browser_clipboard";
272
+ browser_debug: "browser_debug";
273
+ browser_identity: "browser_identity";
274
+ browser_lifecycle: "browser_lifecycle";
275
+ browser_observe: "browser_observe";
276
+ browser_open: "browser_open";
277
+ browser_publish: "browser_publish";
278
+ browser_tabs: "browser_tabs";
279
+ capability_authorization_request: "capability_authorization_request";
280
+ capability_catalog_search: "capability_catalog_search";
281
+ computer_act: "computer_act";
282
+ computer_clipboard: "computer_clipboard";
283
+ computer_lifecycle: "computer_lifecycle";
284
+ computer_observe: "computer_observe";
285
+ computer_open: "computer_open";
286
+ computer_targets: "computer_targets";
287
+ connected_machine_remove: "connected_machine_remove";
288
+ editable_artifact_apply: "editable_artifact_apply";
289
+ editable_artifact_create: "editable_artifact_create";
290
+ editable_artifact_export: "editable_artifact_export";
291
+ editable_artifact_export_status: "editable_artifact_export_status";
292
+ editable_artifact_get: "editable_artifact_get";
293
+ editable_artifact_import: "editable_artifact_import";
294
+ editable_artifact_inspect: "editable_artifact_inspect";
295
+ editable_artifact_list: "editable_artifact_list";
296
+ environment_list: "environment_list";
297
+ environment_set_variable: "environment_set_variable";
298
+ fiken_bank_accounts_list: "fiken_bank_accounts_list";
299
+ fiken_companies_list: "fiken_companies_list";
300
+ fiken_contact_create: "fiken_contact_create";
301
+ fiken_contacts_list: "fiken_contacts_list";
302
+ fiken_invoice_draft_create: "fiken_invoice_draft_create";
303
+ fiken_invoice_get: "fiken_invoice_get";
304
+ fiken_invoices_list: "fiken_invoices_list";
305
+ fiken_products_list: "fiken_products_list";
306
+ fiken_purchases_list: "fiken_purchases_list";
307
+ fiken_sales_list: "fiken_sales_list";
308
+ github_connect_link: "github_connect_link";
309
+ github_repositories_list: "github_repositories_list";
310
+ goal_complete: "goal_complete";
311
+ goal_pause: "goal_pause";
312
+ goal_progress: "goal_progress";
313
+ goal_set: "goal_set";
314
+ goal_update: "goal_update";
315
+ interaction_discover: "interaction_discover";
316
+ interaction_request_human: "interaction_request_human";
317
+ memory_correct: "memory_correct";
318
+ memory_save: "memory_save";
319
+ memory_search: "memory_search";
320
+ preference_registry_get: "preference_registry_get";
321
+ preference_registry_summary: "preference_registry_summary";
322
+ reddit_accounts_list: "reddit_accounts_list";
323
+ reddit_mentions_live: "reddit_mentions_live";
324
+ reddit_post_reply: "reddit_post_reply";
325
+ reddit_posts_sync: "reddit_posts_sync";
326
+ reddit_search_live: "reddit_search_live";
327
+ reddit_thread_fetch: "reddit_thread_fetch";
328
+ rig_get: "rig_get";
329
+ rig_list: "rig_list";
330
+ rig_promote: "rig_promote";
331
+ rig_propose_change: "rig_propose_change";
332
+ rig_verify: "rig_verify";
333
+ run_on: "run_on";
334
+ sandbox_attach: "sandbox_attach";
335
+ sandbox_provision: "sandbox_provision";
336
+ sandbox_swap: "sandbox_swap";
337
+ sandboxes_list: "sandboxes_list";
338
+ scheduled_task_runs_list: "scheduled_task_runs_list";
339
+ scheduled_tasks_create: "scheduled_tasks_create";
340
+ scheduled_tasks_delete: "scheduled_tasks_delete";
341
+ scheduled_tasks_get: "scheduled_tasks_get";
342
+ scheduled_tasks_list: "scheduled_tasks_list";
343
+ scheduled_tasks_pause: "scheduled_tasks_pause";
344
+ scheduled_tasks_resume: "scheduled_tasks_resume";
345
+ scheduled_tasks_trigger: "scheduled_tasks_trigger";
346
+ scheduled_tasks_update: "scheduled_tasks_update";
347
+ session_create: "session_create";
348
+ session_events: "session_events";
349
+ session_get: "session_get";
350
+ session_pause: "session_pause";
351
+ session_resume: "session_resume";
352
+ session_send_message: "session_send_message";
353
+ session_steer: "session_steer";
354
+ sessions_list: "sessions_list";
355
+ set_other_session_title: "set_other_session_title";
356
+ set_session_title: "set_session_title";
357
+ slack_bot_channel_history: "slack_bot_channel_history";
358
+ slack_bot_delete_message: "slack_bot_delete_message";
359
+ slack_bot_file_content: "slack_bot_file_content";
360
+ slack_bot_file_info: "slack_bot_file_info";
361
+ slack_bot_list_channels: "slack_bot_list_channels";
362
+ slack_bot_list_files: "slack_bot_list_files";
363
+ slack_bot_list_users: "slack_bot_list_users";
364
+ slack_bot_post_message: "slack_bot_post_message";
365
+ slack_bot_thread_replies: "slack_bot_thread_replies";
366
+ social_connections_list: "social_connections_list";
367
+ social_daily_analysis_context: "social_daily_analysis_context";
368
+ social_mentions_live: "social_mentions_live";
369
+ social_post_reply: "social_post_reply";
370
+ social_posts_recent: "social_posts_recent";
371
+ social_posts_sync: "social_posts_sync";
372
+ social_search_live: "social_search_live";
373
+ social_thread_fetch: "social_thread_fetch";
374
+ task_note_archive: "task_note_archive";
375
+ task_note_save: "task_note_save";
376
+ task_notes_list: "task_notes_list";
377
+ variable_set_get_variable: "variable_set_get_variable";
378
+ variable_set_list: "variable_set_list";
379
+ variable_set_set_variable: "variable_set_set_variable";
380
+ x_accounts_list: "x_accounts_list";
381
+ x_mentions_live: "x_mentions_live";
382
+ x_post_reply: "x_post_reply";
383
+ x_posts_sync: "x_posts_sync";
384
+ x_search_live: "x_search_live";
385
+ x_thread_fetch: "x_thread_fetch";
386
+ }>>>>;
132
387
  streamTokenSecret: z.ZodOptional<z.ZodString>;
133
388
  streamControlEnabled: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
134
389
  codemodeMaxCallsPerTurn: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
@@ -144,6 +399,8 @@ declare const SettingsSchema: z.ZodObject<{
144
399
  slackSigningSecret: z.ZodOptional<z.ZodString>;
145
400
  googleDriveClientId: z.ZodOptional<z.ZodString>;
146
401
  googleDriveClientSecret: z.ZodOptional<z.ZodString>;
402
+ fikenClientId: z.ZodOptional<z.ZodString>;
403
+ fikenClientSecret: z.ZodOptional<z.ZodString>;
147
404
  googleDriveWorkspaceEventsEnabled: z.ZodOptional<z.ZodPreprocess<z.ZodBoolean>>;
148
405
  atlassianClientId: z.ZodOptional<z.ZodString>;
149
406
  atlassianClientSecret: z.ZodOptional<z.ZodString>;
@@ -209,6 +466,7 @@ declare const SettingsSchema: z.ZodObject<{
209
466
  modelPricingJson: z.ZodDefault<z.ZodString>;
210
467
  modelProvidersJson: z.ZodDefault<z.ZodString>;
211
468
  codexSubscriptionEnabled: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
469
+ supergrokSubscriptionEnabled: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
212
470
  codexConnectedAppsEnabled: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
213
471
  codexProductSku: z.ZodOptional<z.ZodString>;
214
472
  codexToolSearchEnabled: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
@@ -329,6 +587,11 @@ declare const SettingsSchema: z.ZodObject<{
329
587
  blaxelTtl: z.ZodOptional<z.ZodString>;
330
588
  cloudflareWorkerUrl: z.ZodOptional<z.ZodString>;
331
589
  cloudflareApiKey: z.ZodOptional<z.ZodString>;
590
+ browserbaseApiKey: z.ZodOptional<z.ZodString>;
591
+ kernelApiKey: z.ZodOptional<z.ZodString>;
592
+ kernelEndpoint: z.ZodOptional<z.ZodString>;
593
+ kernelBrowserTimeoutSeconds: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
594
+ kernelBrowserStealth: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
332
595
  vercelToken: z.ZodOptional<z.ZodString>;
333
596
  vercelProjectId: z.ZodOptional<z.ZodString>;
334
597
  vercelTeamId: z.ZodOptional<z.ZodString>;
@@ -466,7 +729,7 @@ declare const SettingsSchema: z.ZodObject<{
466
729
  export type Settings = z.infer<typeof SettingsSchema>;
467
730
  export type McpServerConfig = Settings["mcpServers"][number];
468
731
  /** Declarative voice-input transcription provider ids. */
469
- export type VoiceInputProviderId = "openai" | "azure-openai" | "codex-subscription";
732
+ export type VoiceInputProviderId = "openai" | "azure-openai" | "codex-subscription" | "supergrok-subscription";
470
733
  export type VoiceInputProviderConfig = {
471
734
  id: "openai";
472
735
  kind: "openai";
@@ -485,6 +748,10 @@ export type VoiceInputProviderConfig = {
485
748
  id: "codex-subscription";
486
749
  kind: "codex-subscription";
487
750
  experimental: true;
751
+ } | {
752
+ id: "supergrok-subscription";
753
+ kind: "supergrok-subscription";
754
+ experimental: true;
488
755
  };
489
756
  /**
490
757
  * Reject empty / template secrets so `.env.example` placeholders like
@@ -714,7 +981,7 @@ export type CredentialSourceV1 = {
714
981
  mechanism: "api_key" | "azure_ad_bearer";
715
982
  } | {
716
983
  kind: "connected_subscription";
717
- provider: "codex";
984
+ provider: "codex" | "xai";
718
985
  } | {
719
986
  kind: "workspace_connection";
720
987
  mechanism: "api_key";
@@ -737,14 +1004,15 @@ export declare const ModelProviderApi: z.ZodEnum<{
737
1004
  export type ModelProviderApi = z.infer<typeof ModelProviderApi>;
738
1005
  /**
739
1006
  * Registry provider kind. "api-key" providers carry their own static key/headers;
740
- * "codex-subscription" providers authenticate per-request with a ChatGPT/Codex
741
- * subscription token resolved at call time (no static key) see @opengeni/codex.
1007
+ * connected-subscription providers resolve a workspace account token at call
1008
+ * time and never carry a static key in the registry definition.
742
1009
  */
743
1010
  export declare const RegistryProviderKind: z.ZodEnum<{
744
1011
  "api-key": "api-key";
745
1012
  "codex-subscription": "codex-subscription";
746
1013
  "vercel-gateway-managed": "vercel-gateway-managed";
747
1014
  "vercel-gateway-workspace": "vercel-gateway-workspace";
1015
+ "xai-subscription": "xai-subscription";
748
1016
  }>;
749
1017
  export type RegistryProviderKind = z.infer<typeof RegistryProviderKind>;
750
1018
  /** A non-built-in provider declared by the host via OPENGENI_MODEL_PROVIDERS_JSON. */
@@ -754,6 +1022,7 @@ declare const RegistryProviderSchema: z.ZodObject<{
754
1022
  "codex-subscription": "codex-subscription";
755
1023
  "vercel-gateway-managed": "vercel-gateway-managed";
756
1024
  "vercel-gateway-workspace": "vercel-gateway-workspace";
1025
+ "xai-subscription": "xai-subscription";
757
1026
  }>>;
758
1027
  id: z.ZodString;
759
1028
  label: z.ZodOptional<z.ZodString>;
@@ -1024,6 +1293,7 @@ export declare const WORKSPACE_GATEWAY_MODEL_ID_PREFIX: "workspace-gateway/";
1024
1293
  export declare const VERCEL_AI_GATEWAY_CONNECTION_DOMAIN: "ai-gateway.vercel.sh";
1025
1294
  export declare const VERCEL_AI_GATEWAY_CONNECTION_ROLE: "vercel_ai_gateway";
1026
1295
  export declare const CODEX_REALTIME_MODEL_ID: "gpt-live-1-boulder-alpha";
1296
+ export declare const SUPERGROK_REALTIME_MODEL_ID: "supergrok/grok-voice-think-fast-2.0";
1027
1297
  export declare const OPENGENI_REALTIME_MODEL_ID_PREFIX: "opengeni-gateway/";
1028
1298
  export declare const WORKSPACE_REALTIME_MODEL_ID_PREFIX: "workspace-gateway/";
1029
1299
  /** Curated voice models exposed through AI Gateway's normalized realtime API. */
@@ -1106,6 +1376,14 @@ export declare function getSettings(): Settings;
1106
1376
  * require an operator-provided secret.
1107
1377
  */
1108
1378
  export declare function resolveFirstPartyDelegationSecret(settings: Settings): string | undefined;
1379
+ export type FirstPartyMcpToolPolicy = {
1380
+ default: FirstPartyMcpToolNameType[];
1381
+ allowed: FirstPartyMcpToolNameType[];
1382
+ };
1383
+ /** Resolve the deployment's session-tool defaults and hard execution ceiling. */
1384
+ export declare function resolveFirstPartyMcpToolPolicy(settings: Pick<Settings, "defaultFirstPartyMcpTools" | "allowedFirstPartyMcpTools">): FirstPartyMcpToolPolicy;
1385
+ /** Apply the deployment ceiling to an existing durable session selection. */
1386
+ export declare function allowedFirstPartyMcpToolsForSession(settings: Pick<Settings, "defaultFirstPartyMcpTools" | "allowedFirstPartyMcpTools">, selected: readonly FirstPartyMcpToolNameType[] | null | undefined): FirstPartyMcpToolNameType[];
1109
1387
  /**
1110
1388
  * The Modal sandbox idle timeout (seconds) the provider actually passes as
1111
1389
  * idleTimeoutMs (sandbox-file-persistence). When the operator did not pin
@@ -1145,19 +1423,20 @@ export declare function withWorkspaceGatewayCredential(settings: Settings, apiKe
1145
1423
  /**
1146
1424
  * Product display label for catalog/picker UI.
1147
1425
  * Same string for OpenAI and Codex copies of a slug (`gpt-5.6-luna` and
1148
- * `codex/gpt-5.6-luna` → `GPT-5.6 Luna`). Non-gpt ids pass through unchanged.
1426
+ * `codex/gpt-5.6-luna` → `GPT-5.6 Luna`). Curated Grok slugs receive the same
1427
+ * product casing; other ids pass through unchanged.
1149
1428
  */
1150
1429
  export declare function productLabelForModelId(modelId: string): string;
1151
1430
  /**
1152
- * Curated compact product labels for dense UI. Only known GPT family slugs;
1153
- * everything else returns null so callers fall back to the full `label`.
1431
+ * Curated compact product labels for dense UI. Unknown model slugs return null
1432
+ * so callers fall back to the full `label`.
1154
1433
  */
1155
1434
  export declare function productShortLabelForModelId(modelId: string): string | null;
1156
1435
  /** Undefined and the exact public OpenAI v1 endpoint are the same direct route. */
1157
1436
  export declare function isDirectOpenAiApiBaseUrl(baseUrl: string | undefined): boolean;
1158
1437
  /**
1159
1438
  * Map OpenGeni latency mode to the provider `service_tier` wire value.
1160
- * Azure and Codex ChatGPT accept `priority`; OpenAI API accepts `fast` (alias of priority).
1439
+ * Azure, Codex ChatGPT, and xAI accept `priority`; OpenAI API accepts `fast`.
1161
1440
  * Standard omits the field.
1162
1441
  */
1163
1442
  export declare function serviceTierForLatencyMode(providerId: string, latencyMode: LatencyMode): "fast" | "priority" | undefined;
@@ -1188,6 +1467,12 @@ export declare function configuredProviders(settings: Settings): ResolvedModelPr
1188
1467
  * operations remain owned by the credential allocator.
1189
1468
  */
1190
1469
  export declare function withCodexCatalogProvider(settings: Settings): Settings;
1470
+ /**
1471
+ * Static SuperGrok product catalogue, matching the Codex subscription seam.
1472
+ * The overlay never contains a concrete account id or bearer; selection and
1473
+ * per-turn credential freeze remain worker/DB responsibilities.
1474
+ */
1475
+ export declare function withXaiSubscriptionCatalogProvider(settings: Settings): Settings;
1191
1476
  /**
1192
1477
  * The provider identity a model id resolves to, for workspace model-policy
1193
1478
  * evaluation — MUST agree with the real router (resolveTurnModel /
@@ -1541,4 +1826,3 @@ export interface NatsControlPlaneAuth {
1541
1826
  password: string;
1542
1827
  }
1543
1828
  export declare function resolveNatsControlPlaneAuth(settings: Settings): NatsControlPlaneAuth | null;
1544
- export {};