@fgv/ts-extras 5.1.0-26 → 5.1.0-28

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.
Files changed (149) hide show
  1. package/dist/index.browser.js +2 -2
  2. package/dist/index.browser.js.map +1 -1
  3. package/dist/packlets/ai-assist/apiClient.js +300 -213
  4. package/dist/packlets/ai-assist/apiClient.js.map +1 -1
  5. package/dist/packlets/ai-assist/chatRequestBuilders.js +6 -0
  6. package/dist/packlets/ai-assist/chatRequestBuilders.js.map +1 -1
  7. package/dist/packlets/ai-assist/imageOptionsResolver.js +212 -0
  8. package/dist/packlets/ai-assist/imageOptionsResolver.js.map +1 -0
  9. package/dist/packlets/ai-assist/index.js +1 -0
  10. package/dist/packlets/ai-assist/index.js.map +1 -1
  11. package/dist/packlets/ai-assist/model.js +1 -1
  12. package/dist/packlets/ai-assist/model.js.map +1 -1
  13. package/dist/packlets/ai-assist/registry.js +120 -22
  14. package/dist/packlets/ai-assist/registry.js.map +1 -1
  15. package/dist/packlets/ai-assist/sseParser.js +1 -0
  16. package/dist/packlets/ai-assist/sseParser.js.map +1 -1
  17. package/dist/packlets/ai-assist/streamingAdapters/anthropic.js +17 -12
  18. package/dist/packlets/ai-assist/streamingAdapters/anthropic.js.map +1 -1
  19. package/dist/packlets/ai-assist/streamingAdapters/common.js +2 -0
  20. package/dist/packlets/ai-assist/streamingAdapters/common.js.map +1 -1
  21. package/dist/packlets/ai-assist/streamingAdapters/gemini.js +17 -5
  22. package/dist/packlets/ai-assist/streamingAdapters/gemini.js.map +1 -1
  23. package/dist/packlets/ai-assist/streamingAdapters/openaiChat.js +19 -4
  24. package/dist/packlets/ai-assist/streamingAdapters/openaiChat.js.map +1 -1
  25. package/dist/packlets/ai-assist/streamingAdapters/openaiResponses.js +20 -5
  26. package/dist/packlets/ai-assist/streamingAdapters/openaiResponses.js.map +1 -1
  27. package/dist/packlets/ai-assist/streamingAdapters/proxy.js +9 -3
  28. package/dist/packlets/ai-assist/streamingAdapters/proxy.js.map +1 -1
  29. package/dist/packlets/ai-assist/streamingClient.js +28 -6
  30. package/dist/packlets/ai-assist/streamingClient.js.map +1 -1
  31. package/dist/packlets/ai-assist/thinkingOptionsResolver.js +265 -0
  32. package/dist/packlets/ai-assist/thinkingOptionsResolver.js.map +1 -0
  33. package/dist/packlets/conversion/converters.js +1 -0
  34. package/dist/packlets/conversion/converters.js.map +1 -1
  35. package/dist/packlets/crypto-utils/converters.js +24 -4
  36. package/dist/packlets/crypto-utils/converters.js.map +1 -1
  37. package/dist/packlets/crypto-utils/hpkeProvider.js +333 -0
  38. package/dist/packlets/crypto-utils/hpkeProvider.js.map +1 -0
  39. package/dist/packlets/crypto-utils/index.browser.js +3 -0
  40. package/dist/packlets/crypto-utils/index.browser.js.map +1 -1
  41. package/dist/packlets/crypto-utils/index.js +2 -0
  42. package/dist/packlets/crypto-utils/index.js.map +1 -1
  43. package/dist/packlets/crypto-utils/keystore/converters.js +2 -2
  44. package/dist/packlets/crypto-utils/keystore/converters.js.map +1 -1
  45. package/dist/packlets/crypto-utils/keystore/keyStore.js +108 -2
  46. package/dist/packlets/crypto-utils/keystore/keyStore.js.map +1 -1
  47. package/dist/packlets/crypto-utils/keystore/model.js.map +1 -1
  48. package/dist/packlets/crypto-utils/model.js +21 -0
  49. package/dist/packlets/crypto-utils/model.js.map +1 -1
  50. package/dist/packlets/crypto-utils/nodeCryptoProvider.js +74 -0
  51. package/dist/packlets/crypto-utils/nodeCryptoProvider.js.map +1 -1
  52. package/dist/ts-extras.d.ts +1029 -137
  53. package/dist/tsdoc-metadata.json +1 -1
  54. package/lib/index.browser.d.ts +2 -2
  55. package/lib/index.browser.d.ts.map +1 -1
  56. package/lib/index.browser.js +4 -3
  57. package/lib/index.browser.js.map +1 -1
  58. package/lib/packlets/ai-assist/apiClient.d.ts +29 -85
  59. package/lib/packlets/ai-assist/apiClient.d.ts.map +1 -1
  60. package/lib/packlets/ai-assist/apiClient.js +300 -213
  61. package/lib/packlets/ai-assist/apiClient.js.map +1 -1
  62. package/lib/packlets/ai-assist/chatRequestBuilders.d.ts.map +1 -1
  63. package/lib/packlets/ai-assist/chatRequestBuilders.js +6 -0
  64. package/lib/packlets/ai-assist/chatRequestBuilders.js.map +1 -1
  65. package/lib/packlets/ai-assist/imageOptionsResolver.d.ts +74 -0
  66. package/lib/packlets/ai-assist/imageOptionsResolver.d.ts.map +1 -0
  67. package/lib/packlets/ai-assist/imageOptionsResolver.js +216 -0
  68. package/lib/packlets/ai-assist/imageOptionsResolver.js.map +1 -0
  69. package/lib/packlets/ai-assist/index.d.ts +2 -1
  70. package/lib/packlets/ai-assist/index.d.ts.map +1 -1
  71. package/lib/packlets/ai-assist/index.js +4 -1
  72. package/lib/packlets/ai-assist/index.js.map +1 -1
  73. package/lib/packlets/ai-assist/model.d.ts +410 -35
  74. package/lib/packlets/ai-assist/model.d.ts.map +1 -1
  75. package/lib/packlets/ai-assist/model.js +1 -1
  76. package/lib/packlets/ai-assist/model.js.map +1 -1
  77. package/lib/packlets/ai-assist/registry.d.ts.map +1 -1
  78. package/lib/packlets/ai-assist/registry.js +120 -22
  79. package/lib/packlets/ai-assist/registry.js.map +1 -1
  80. package/lib/packlets/ai-assist/sseParser.d.ts.map +1 -1
  81. package/lib/packlets/ai-assist/sseParser.js +1 -0
  82. package/lib/packlets/ai-assist/sseParser.js.map +1 -1
  83. package/lib/packlets/ai-assist/streamingAdapters/anthropic.d.ts +2 -1
  84. package/lib/packlets/ai-assist/streamingAdapters/anthropic.d.ts.map +1 -1
  85. package/lib/packlets/ai-assist/streamingAdapters/anthropic.js +17 -12
  86. package/lib/packlets/ai-assist/streamingAdapters/anthropic.js.map +1 -1
  87. package/lib/packlets/ai-assist/streamingAdapters/common.d.ts +5 -1
  88. package/lib/packlets/ai-assist/streamingAdapters/common.d.ts.map +1 -1
  89. package/lib/packlets/ai-assist/streamingAdapters/common.js +2 -0
  90. package/lib/packlets/ai-assist/streamingAdapters/common.js.map +1 -1
  91. package/lib/packlets/ai-assist/streamingAdapters/gemini.d.ts +2 -1
  92. package/lib/packlets/ai-assist/streamingAdapters/gemini.d.ts.map +1 -1
  93. package/lib/packlets/ai-assist/streamingAdapters/gemini.js +17 -5
  94. package/lib/packlets/ai-assist/streamingAdapters/gemini.js.map +1 -1
  95. package/lib/packlets/ai-assist/streamingAdapters/openaiChat.d.ts +2 -1
  96. package/lib/packlets/ai-assist/streamingAdapters/openaiChat.d.ts.map +1 -1
  97. package/lib/packlets/ai-assist/streamingAdapters/openaiChat.js +19 -4
  98. package/lib/packlets/ai-assist/streamingAdapters/openaiChat.js.map +1 -1
  99. package/lib/packlets/ai-assist/streamingAdapters/openaiResponses.d.ts +2 -1
  100. package/lib/packlets/ai-assist/streamingAdapters/openaiResponses.d.ts.map +1 -1
  101. package/lib/packlets/ai-assist/streamingAdapters/openaiResponses.js +20 -5
  102. package/lib/packlets/ai-assist/streamingAdapters/openaiResponses.js.map +1 -1
  103. package/lib/packlets/ai-assist/streamingAdapters/proxy.d.ts.map +1 -1
  104. package/lib/packlets/ai-assist/streamingAdapters/proxy.js +9 -3
  105. package/lib/packlets/ai-assist/streamingAdapters/proxy.js.map +1 -1
  106. package/lib/packlets/ai-assist/streamingClient.d.ts.map +1 -1
  107. package/lib/packlets/ai-assist/streamingClient.js +28 -6
  108. package/lib/packlets/ai-assist/streamingClient.js.map +1 -1
  109. package/lib/packlets/ai-assist/thinkingOptionsResolver.d.ts +71 -0
  110. package/lib/packlets/ai-assist/thinkingOptionsResolver.d.ts.map +1 -0
  111. package/lib/packlets/ai-assist/thinkingOptionsResolver.js +270 -0
  112. package/lib/packlets/ai-assist/thinkingOptionsResolver.js.map +1 -0
  113. package/lib/packlets/conversion/converters.d.ts.map +1 -1
  114. package/lib/packlets/conversion/converters.js +1 -0
  115. package/lib/packlets/conversion/converters.js.map +1 -1
  116. package/lib/packlets/crypto-utils/converters.d.ts +12 -1
  117. package/lib/packlets/crypto-utils/converters.d.ts.map +1 -1
  118. package/lib/packlets/crypto-utils/converters.js +25 -5
  119. package/lib/packlets/crypto-utils/converters.js.map +1 -1
  120. package/lib/packlets/crypto-utils/hpkeProvider.d.ts +142 -0
  121. package/lib/packlets/crypto-utils/hpkeProvider.d.ts.map +1 -0
  122. package/lib/packlets/crypto-utils/hpkeProvider.js +337 -0
  123. package/lib/packlets/crypto-utils/hpkeProvider.js.map +1 -0
  124. package/lib/packlets/crypto-utils/index.browser.d.ts +1 -0
  125. package/lib/packlets/crypto-utils/index.browser.d.ts.map +1 -1
  126. package/lib/packlets/crypto-utils/index.browser.js +5 -1
  127. package/lib/packlets/crypto-utils/index.browser.js.map +1 -1
  128. package/lib/packlets/crypto-utils/index.d.ts +1 -0
  129. package/lib/packlets/crypto-utils/index.d.ts.map +1 -1
  130. package/lib/packlets/crypto-utils/index.js +4 -1
  131. package/lib/packlets/crypto-utils/index.js.map +1 -1
  132. package/lib/packlets/crypto-utils/keystore/converters.js +1 -1
  133. package/lib/packlets/crypto-utils/keystore/converters.js.map +1 -1
  134. package/lib/packlets/crypto-utils/keystore/keyStore.d.ts +32 -2
  135. package/lib/packlets/crypto-utils/keystore/keyStore.d.ts.map +1 -1
  136. package/lib/packlets/crypto-utils/keystore/keyStore.js +116 -10
  137. package/lib/packlets/crypto-utils/keystore/keyStore.js.map +1 -1
  138. package/lib/packlets/crypto-utils/keystore/model.d.ts +21 -3
  139. package/lib/packlets/crypto-utils/keystore/model.d.ts.map +1 -1
  140. package/lib/packlets/crypto-utils/keystore/model.js.map +1 -1
  141. package/lib/packlets/crypto-utils/model.d.ts +165 -9
  142. package/lib/packlets/crypto-utils/model.d.ts.map +1 -1
  143. package/lib/packlets/crypto-utils/model.js +22 -1
  144. package/lib/packlets/crypto-utils/model.js.map +1 -1
  145. package/lib/packlets/crypto-utils/nodeCryptoProvider.d.ts +39 -0
  146. package/lib/packlets/crypto-utils/nodeCryptoProvider.d.ts.map +1 -1
  147. package/lib/packlets/crypto-utils/nodeCryptoProvider.js +74 -0
  148. package/lib/packlets/crypto-utils/nodeCryptoProvider.js.map +1 -1
  149. package/package.json +13 -13
@@ -3,6 +3,7 @@
3
3
  * @packageDocumentation
4
4
  */
5
5
  import { type Result } from '@fgv/ts-utils';
6
+ import { type JsonObject } from '@fgv/ts-json-base';
6
7
  /**
7
8
  * Universal image representation used for both image input (vision prompts)
8
9
  * and image output (generation responses).
@@ -126,7 +127,7 @@ export interface IAiToolEnablement {
126
127
  * Known context keys for model specification maps.
127
128
  * @public
128
129
  */
129
- export type ModelSpecKey = 'base' | 'tools' | 'image';
130
+ export type ModelSpecKey = 'base' | 'tools' | 'image' | 'thinking';
130
131
  /**
131
132
  * All valid {@link ModelSpecKey} values.
132
133
  * @public
@@ -149,10 +150,10 @@ export declare const MODEL_SPEC_BASE_KEY: ModelSpecKey;
149
150
  * @example
150
151
  * ```typescript
151
152
  * // Simple — same model for all contexts:
152
- * const simple: ModelSpec = 'grok-4-1-fast';
153
+ * const simple: ModelSpec = 'grok-4.3';
153
154
  *
154
- * // Context-aware — reasoning model when tools are active:
155
- * const split: ModelSpec = { base: 'grok-4-1-fast', tools: 'grok-4-1-fast-reasoning' };
155
+ * // Context-aware — different model for tools and thinking:
156
+ * const split: ModelSpec = { base: 'grok-4.3', tools: 'grok-4.3', thinking: 'grok-4.3' };
156
157
  *
157
158
  * // Future nested — per-tool model selection:
158
159
  * const nested: ModelSpec = { base: 'grok-fast', tools: { base: 'grok-r', image: 'grok-v' } };
@@ -198,8 +199,9 @@ export type AiApiFormat = 'openai' | 'anthropic' | 'gemini';
198
199
  * @remarks
199
200
  * - `'openai-images'` — OpenAI Images API. Routes to `/images/generations`
200
201
  * (text-only) or `/images/edits` (when reference images are present).
201
- * - `'xai-images'` — xAI Images API. Same wire shape as OpenAI but text-only;
202
- * no reference-image support on grok-2-image.
202
+ * - `'xai-images'` — xAI Images API. Text-only JSON generation request.
203
+ * - `'xai-images-edits'` xAI Images API for Grok Imagine models. Uses JSON
204
+ * body with `{ type: "image_url" }` objects (not multipart).
203
205
  * - `'gemini-imagen'` — Google Imagen `:predict` endpoint. Text-only.
204
206
  * - `'gemini-image-out'` — Google Gemini chat-style `:generateContent`
205
207
  * endpoint that returns image parts (Gemini 2.5 Flash Image / "Nano
@@ -207,7 +209,7 @@ export type AiApiFormat = 'openai' | 'anthropic' | 'gemini';
207
209
  *
208
210
  * @public
209
211
  */
210
- export type AiImageApiFormat = 'openai-images' | 'gemini-imagen' | 'xai-images' | 'gemini-image-out';
212
+ export type AiImageApiFormat = 'openai-images' | 'gemini-imagen' | 'xai-images' | 'xai-images-edits' | 'gemini-image-out';
211
213
  /**
212
214
  * Result of an AI provider completion call.
213
215
  * @public
@@ -279,6 +281,11 @@ export interface IAiStreamError {
279
281
  * @public
280
282
  */
281
283
  export type IAiStreamEvent = IAiStreamTextDelta | IAiStreamToolEvent | IAiStreamDone | IAiStreamError;
284
+ /**
285
+ * Thinking/reasoning mode support for a provider.
286
+ * @public
287
+ */
288
+ export type AiThinkingMode = 'optional' | 'required' | 'unsupported';
282
289
  /**
283
290
  * Describes a single AI provider — single source of truth for all metadata.
284
291
  * @public
@@ -319,6 +326,13 @@ export interface IAiProviderDescriptor {
319
326
  * `prompt.attachments` are rejected up front.
320
327
  */
321
328
  readonly acceptsImageInput: boolean;
329
+ /**
330
+ * Whether this provider supports thinking/reasoning mode.
331
+ * - 'optional': thinking can be enabled but is not required
332
+ * - 'required': thinking is always active (e.g. o-series models)
333
+ * - 'unsupported': thinking is not supported
334
+ */
335
+ readonly thinkingMode: AiThinkingMode;
322
336
  /**
323
337
  * Image-generation capabilities, scoped to model id prefixes. Empty or
324
338
  * undefined means the provider does not support image generation.
@@ -362,51 +376,246 @@ export interface IAiImageModelCapability {
362
376
  * Whether matching models accept reference images via
363
377
  * {@link AiAssist.IAiImageGenerationParams.referenceImages}. When false or
364
378
  * undefined, calls that include reference images are rejected up front.
365
- *
366
- * @remarks
367
- * Per-model constraints beyond ref support (e.g. dall-e-3 ignores edits)
368
- * are not validated here and surface as provider 400s, consistent with the
369
- * existing image-generation policy.
370
379
  */
371
380
  readonly acceptsImageReferenceInput?: boolean;
381
+ /** Accepted size strings. When present, dispatcher pre-validates. */
382
+ readonly acceptedSizes?: ReadonlyArray<string>;
383
+ /** When true, quality param is sent. When false/undefined, don't send quality. */
384
+ readonly supportsQualityParam?: boolean;
385
+ /** Accepted quality values when supportsQualityParam is true. */
386
+ readonly acceptedQualities?: ReadonlyArray<string>;
387
+ /** Maximum count (n). When present, dispatcher pre-validates. */
388
+ readonly maxCount?: number;
389
+ /**
390
+ * How to encode the output format on the wire:
391
+ * - 'response-format': send response_format: 'b64_json' (dall-e-2, dall-e-3)
392
+ * - 'output-format': send output_format (gpt-image-1)
393
+ * - 'none': send neither (Imagen, Gemini Flash)
394
+ */
395
+ readonly outputParamStyle?: 'response-format' | 'output-format' | 'none';
396
+ /** Default MIME type for response images. */
397
+ readonly defaultOutputMimeType?: string;
398
+ }
399
+ /** Pixel dimension sizes accepted by dall-e-2. @public */
400
+ export type DallE2Size = '256x256' | '512x512' | '1024x1024';
401
+ /** Pixel dimension sizes accepted by dall-e-3. @public */
402
+ export type DallE3Size = '1024x1024' | '1792x1024' | '1024x1792';
403
+ /** Pixel dimension sizes accepted by gpt-image-1. @public */
404
+ export type GptImageSize = '1024x1024' | '1536x1024' | '1024x1536' | 'auto';
405
+ /** All accepted image size strings across all providers. @public */
406
+ export type AiImageSize = DallE2Size | DallE3Size | GptImageSize;
407
+ /** Quality values for dall-e-3. @public */
408
+ export type DallE3Quality = 'standard' | 'hd';
409
+ /** Quality values for gpt-image-1. @public */
410
+ export type GptImageQuality = 'low' | 'medium' | 'high' | 'auto';
411
+ /** All accepted quality strings across all providers. @public */
412
+ export type AiImageQuality = DallE3Quality | GptImageQuality;
413
+ /** Model names in the DALL-E family. @public */
414
+ export type DallEModelNames = 'dall-e-2' | 'dall-e-3';
415
+ /** Model names in the GPT Image family. @public */
416
+ export type GptImageModelNames = 'gpt-image-1';
417
+ /** Model names in the xAI Grok Imagine family. @public */
418
+ export type GrokImagineModelNames = 'grok-imagine-image' | 'grok-imagine-image-quality';
419
+ /** Model names in the Imagen 4 family. @public */
420
+ export type Imagen4ModelNames = 'imagen-4.0-generate-001' | 'imagen-4.0-ultra-generate-001' | 'imagen-4.0-fast-generate-001';
421
+ /** Model names in the Gemini Flash Image family. @public */
422
+ export type GeminiFlashImageModelNames = 'gemini-2.5-flash-image';
423
+ /**
424
+ * Provider-specific config for DALL-E models (dall-e-2, dall-e-3).
425
+ * @remarks
426
+ * style is only valid for dall-e-3; the runtime validator rejects it for dall-e-2.
427
+ * @public
428
+ */
429
+ export interface IDallEImageGenerationConfig {
430
+ /** Image dimensions (dall-e-2: 256x256|512x512|1024x1024; dall-e-3: 1024x1024|1792x1024|1024x1792). */
431
+ readonly size?: DallE2Size | DallE3Size;
432
+ /** dall-e-3 only. Quality tier. */
433
+ readonly quality?: DallE3Quality;
434
+ /** dall-e-3 only. Visual style. */
435
+ readonly style?: 'vivid' | 'natural';
436
+ }
437
+ /**
438
+ * Provider-specific config for gpt-image-1.
439
+ * @public
440
+ */
441
+ export interface IGptImageGenerationConfig {
442
+ /** Image dimensions. */
443
+ readonly size?: GptImageSize;
444
+ /** Quality tier. */
445
+ readonly quality?: GptImageQuality;
446
+ /** Output format (replaces response_format for this model). */
447
+ readonly outputFormat?: 'png' | 'jpeg' | 'webp';
448
+ /** JPEG/WebP compression level 0–100. */
449
+ readonly outputCompression?: number;
450
+ /** Background transparency control. */
451
+ readonly background?: 'transparent' | 'opaque' | 'auto';
452
+ /** Content moderation strictness. */
453
+ readonly moderation?: 'low' | 'auto';
454
+ }
455
+ /**
456
+ * Provider-specific config for xAI Grok Imagine models.
457
+ * @public
458
+ */
459
+ export interface IGrokImagineImageGenerationConfig {
460
+ /** Aspect ratio string (xAI uses aspect ratios, not pixel dimensions). */
461
+ readonly aspectRatio?: string;
462
+ /** Resolution hint. */
463
+ readonly resolution?: string;
464
+ }
465
+ /**
466
+ * Provider-specific config for Google Imagen 4 models.
467
+ * @public
468
+ */
469
+ export interface IImagen4GenerationConfig {
470
+ /** Aspect ratio string. */
471
+ readonly aspectRatio?: '1:1' | '3:4' | '4:3' | '9:16' | '16:9';
472
+ /** Output resolution. */
473
+ readonly imageSize?: '1K' | '2K';
474
+ /** Whether to add SynthID watermark. Must be false to use seed. */
475
+ readonly addWatermark?: boolean;
476
+ /** LLM-based prompt rewriting. */
477
+ readonly enhancePrompt?: boolean;
478
+ /** Output MIME type. */
479
+ readonly outputMimeType?: 'image/jpeg' | 'image/png';
480
+ /** JPEG compression quality. */
481
+ readonly outputCompressionQuality?: number;
482
+ /** Person generation policy. */
483
+ readonly personGeneration?: 'allow_all' | 'allow_adult' | 'dont_allow';
484
+ }
485
+ /**
486
+ * Provider-specific config for Gemini Flash Image.
487
+ * @public
488
+ */
489
+ export interface IGeminiFlashImageGenerationConfig {
490
+ /** Aspect ratio string. */
491
+ readonly aspectRatio?: string;
492
+ }
493
+ /**
494
+ * Base shape shared by all named family option blocks.
495
+ * Provides a typed `models` field for applicability filtering without unsafe casts.
496
+ * @internal
497
+ */
498
+ export interface INamedModelFamilyConfig {
499
+ readonly models?: readonly string[];
500
+ }
501
+ /**
502
+ * Options block scoped to DALL-E family models.
503
+ * @public
504
+ */
505
+ export interface IDallEModelOptions extends INamedModelFamilyConfig {
506
+ /** Discriminator: openai provider lineage. */
507
+ readonly provider: 'openai';
508
+ /** Family identifier. */
509
+ readonly family: 'dall-e';
510
+ /** Optional model names this block applies to. Omit = applies to all DALL-E models. */
511
+ readonly models?: DallEModelNames[];
512
+ /** Family-specific config. */
513
+ readonly config: IDallEImageGenerationConfig;
514
+ }
515
+ /**
516
+ * Options block scoped to GPT Image family models.
517
+ * @public
518
+ */
519
+ export interface IGptImageModelOptions extends INamedModelFamilyConfig {
520
+ readonly provider: 'openai';
521
+ readonly family: 'gpt-image';
522
+ readonly models?: GptImageModelNames[];
523
+ readonly config: IGptImageGenerationConfig;
372
524
  }
525
+ /**
526
+ * Options block scoped to xAI Grok Imagine family models.
527
+ * @public
528
+ */
529
+ export interface IGrokImagineModelOptions extends INamedModelFamilyConfig {
530
+ readonly provider: 'xai';
531
+ readonly family: 'grok-imagine';
532
+ readonly models?: GrokImagineModelNames[];
533
+ readonly config: IGrokImagineImageGenerationConfig;
534
+ }
535
+ /**
536
+ * Options block scoped to Google Imagen 4 models.
537
+ * @public
538
+ */
539
+ export interface IImagen4ModelOptions extends INamedModelFamilyConfig {
540
+ readonly provider: 'google';
541
+ readonly family: 'imagen-4';
542
+ readonly models?: Imagen4ModelNames[];
543
+ readonly config: IImagen4GenerationConfig;
544
+ }
545
+ /**
546
+ * Options block scoped to Gemini Flash Image models.
547
+ * @public
548
+ */
549
+ export interface IGeminiFlashImageModelOptions extends INamedModelFamilyConfig {
550
+ readonly provider: 'google';
551
+ readonly family: 'gemini-flash-image';
552
+ readonly models?: GeminiFlashImageModelNames[];
553
+ readonly config: IGeminiFlashImageGenerationConfig;
554
+ }
555
+ /**
556
+ * Escape-hatch options block for models not covered by a named family.
557
+ * @remarks
558
+ * `models` is required — there is no implicit "all" for unknown model families.
559
+ * `config` is `JsonObject` — passed verbatim to the wire request with no validation.
560
+ * This is the "trust me, I know what I'm doing" path for callers who need to send
561
+ * wire params our typed configs don't yet expose.
562
+ * @public
563
+ */
564
+ export interface IOtherModelOptions {
565
+ readonly provider: 'other';
566
+ readonly models: string[];
567
+ readonly config: JsonObject;
568
+ }
569
+ /**
570
+ * Discriminated union of all model-family option blocks.
571
+ * Discriminated on `provider` + `family` fields.
572
+ * @public
573
+ */
574
+ export type IModelFamilyConfig = IDallEModelOptions | IGptImageModelOptions | IGrokImagineModelOptions | IImagen4ModelOptions | IGeminiFlashImageModelOptions | IOtherModelOptions;
373
575
  /**
374
576
  * Options for image generation requests.
375
577
  *
376
578
  * @remarks
377
- * Provider compatibility is documented per field. The library does not
378
- * pre-validate against per-model constraints (e.g. `dall-e-3` rejects
379
- * `count > 1`); provider 400 errors surface through the failure path.
579
+ * Uses a layered architecture:
580
+ * 1. Generic top-level options (size, count, quality, seed) apply across providers
581
+ * via the resolved model's registry mapping.
582
+ * 2. Optional `models` array contains model-family-scoped blocks; the resolver
583
+ * picks applicable blocks based on the resolved model and applies them in
584
+ * declaration order.
585
+ *
586
+ * **Merge precedence (later wins):**
587
+ * 1. Generic top-level options (lowest precedence)
588
+ * 2. Family-generic blocks (matching family, models field omitted)
589
+ * 3. Model-specific blocks (models array includes resolved model name)
590
+ * 4. Other blocks (provider: 'other', models array includes resolved model name)
591
+ *
592
+ * Provider-mismatch: blocks whose provider doesn't match the dispatcher's
593
+ * provider lineage are silently skipped.
380
594
  *
381
595
  * @public
382
596
  */
383
597
  export interface IAiImageGenerationOptions {
384
598
  /**
385
- * Image dimensions. Used by openai-format providers (mapped to the
386
- * provider's `size` field). Ignored by Imagen use
387
- * {@link IAiImageGenerationOptions.imagen} `aspectRatio` instead.
388
- *
389
- * Note: each model has its own accepted set; `dall-e-3` only accepts the
390
- * values listed here.
599
+ * Image dimensions for OpenAI models (mapped to `size` field).
600
+ * For xAI aspect ratio or Imagen aspect ratio, use the corresponding `models` family block.
391
601
  */
392
- readonly size?: '1024x1024' | '1024x1792' | '1792x1024' | 'auto';
602
+ readonly size?: AiImageSize;
603
+ /** Number of images. Default 1. Some models enforce a maximum. */
604
+ readonly count?: number;
393
605
  /**
394
- * Number of images to generate. Default 1.
395
- *
396
- * Note: `dall-e-3` rejects `count > 1`.
606
+ * Quality tier. Accepted values differ per model:
607
+ * - dall-e-3: 'standard' | 'hd'
608
+ * - gpt-image-1: 'low' | 'medium' | 'high' | 'auto'
609
+ * Other models ignore this field.
397
610
  */
398
- readonly count?: number;
399
- /** Generation quality hint where supported. */
400
- readonly quality?: 'standard' | 'high';
401
- /** Random seed for reproducibility, where supported. */
611
+ readonly quality?: AiImageQuality;
612
+ /** Reproducibility seed, where supported. */
402
613
  readonly seed?: number;
403
614
  /**
404
- * Imagen-specific options. Ignored by other providers.
615
+ * Optional precision via model-family-scoped blocks. The resolver picks
616
+ * applicable blocks dynamically based on the resolved model.
405
617
  */
406
- readonly imagen?: {
407
- readonly negativePrompt?: string;
408
- readonly aspectRatio?: '1:1' | '3:4' | '4:3' | '9:16' | '16:9';
409
- };
618
+ readonly models?: ReadonlyArray<IModelFamilyConfig>;
410
619
  }
411
620
  /**
412
621
  * Parameters for an image-generation request.
@@ -450,7 +659,7 @@ export interface IAiGeneratedImage extends IAiImageData {
450
659
  *
451
660
  * @public
452
661
  */
453
- export type AiModelCapability = 'chat' | 'tools' | 'vision' | 'image-generation';
662
+ export type AiModelCapability = 'chat' | 'tools' | 'vision' | 'image-generation' | 'thinking';
454
663
  /**
455
664
  * Information about a single model returned by a provider's list endpoint,
456
665
  * with capabilities already resolved (native + config rules).
@@ -503,6 +712,172 @@ export interface IAiImageGenerationResponse {
503
712
  /** The generated images, in provider-returned order. */
504
713
  readonly images: ReadonlyArray<IAiGeneratedImage>;
505
714
  }
715
+ /**
716
+ * Model IDs for Anthropic thinking-capable models.
717
+ * @public
718
+ */
719
+ export type AnthropicThinkingModelNames = 'claude-sonnet-4-5' | 'claude-sonnet-4-6' | 'claude-opus-4-6' | 'claude-opus-4-7';
720
+ /**
721
+ * Model IDs for OpenAI thinking-capable models.
722
+ * @public
723
+ */
724
+ export type OpenAiThinkingModelNames = 'o3' | 'o4-mini' | 'o3-deep-research' | 'o4-mini-deep-research' | 'gpt-5' | 'gpt-5.1' | 'gpt-5.2' | 'gpt-5.5' | 'gpt-5-pro';
725
+ /**
726
+ * Model IDs for Google Gemini thinking-capable models.
727
+ * @public
728
+ */
729
+ export type GeminiThinkingModelNames = 'gemini-2.5-pro' | 'gemini-2.5-flash' | 'gemini-2.5-flash-lite';
730
+ /**
731
+ * Model IDs for xAI thinking-capable models.
732
+ * @public
733
+ */
734
+ export type XAiThinkingModelNames = 'grok-3-mini' | 'grok-4.3' | 'grok-4';
735
+ /**
736
+ * Anthropic-specific thinking configuration.
737
+ * @public
738
+ */
739
+ export interface IAnthropicThinkingConfig {
740
+ /**
741
+ * Anthropic effort level. Maps 1:1 to `output_config.effort` on the wire.
742
+ * - 'low' | 'medium' | 'high': all thinking-capable models
743
+ * - 'max': Opus 4.6 only
744
+ */
745
+ readonly effort?: 'low' | 'medium' | 'high' | 'max';
746
+ }
747
+ /**
748
+ * OpenAI-specific thinking configuration.
749
+ * @remarks
750
+ * Maps to `reasoning_effort` (Chat Completions path) or `reasoning.effort`
751
+ * (Responses API path) on the wire. The adapter selects the correct field.
752
+ * @public
753
+ */
754
+ export interface IOpenAiThinkingConfig {
755
+ /**
756
+ * OpenAI reasoning effort. Maps 1:1 to the wire field.
757
+ * - 'none': disables reasoning (gpt-5.x only; rejected by o-series)
758
+ * - 'minimal': fastest (gpt-5.x)
759
+ * - 'low' | 'medium' | 'high': standard tiers
760
+ * - 'xhigh': highest (select gpt-5.x models only)
761
+ *
762
+ * @remarks
763
+ * When effective effort is 'none', reasoning is disabled and temperature is
764
+ * accepted by gpt-5.x models. This is the only case where temperature and
765
+ * thinking config co-exist without a Result.fail.
766
+ */
767
+ readonly effort?: 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh';
768
+ }
769
+ /**
770
+ * Google Gemini-specific thinking configuration.
771
+ * @public
772
+ */
773
+ export interface IGeminiThinkingConfig {
774
+ /**
775
+ * Token budget for thinking. Maps 1:1 to `thinkingBudget` on the wire.
776
+ * - 0: disable thinking (Flash and Flash-Lite only; error on Pro)
777
+ * - positive integer: soft token cap
778
+ * - -1: dynamic
779
+ * - omitted: model default
780
+ */
781
+ readonly thinkingBudget?: number;
782
+ /**
783
+ * Whether to include thought summaries in the response.
784
+ * @remarks
785
+ * INERT in phase B. Adapters never send `includeThoughts: true`.
786
+ * Wired up by the followup stream `ai-assist-thinking-events`.
787
+ */
788
+ readonly includeThoughts?: boolean;
789
+ }
790
+ /**
791
+ * xAI-specific thinking configuration.
792
+ * @public
793
+ */
794
+ export interface IXAiThinkingConfig {
795
+ /**
796
+ * xAI reasoning effort. Maps 1:1 to `reasoning_effort` on the wire.
797
+ * For grok-4, the adapter omits this field (grok-4 always reasons and
798
+ * rejects the parameter).
799
+ */
800
+ readonly effort?: 'none' | 'low' | 'medium' | 'high';
801
+ }
802
+ /**
803
+ * Anthropic-specific thinking options block.
804
+ * @public
805
+ */
806
+ export interface IAnthropicThinkingOptions {
807
+ readonly provider: 'anthropic';
808
+ readonly models?: ReadonlyArray<AnthropicThinkingModelNames>;
809
+ readonly config: IAnthropicThinkingConfig;
810
+ }
811
+ /**
812
+ * OpenAI-specific thinking options block.
813
+ * @public
814
+ */
815
+ export interface IOpenAiThinkingOptions {
816
+ readonly provider: 'openai';
817
+ readonly models?: ReadonlyArray<OpenAiThinkingModelNames>;
818
+ readonly config: IOpenAiThinkingConfig;
819
+ }
820
+ /**
821
+ * Google Gemini-specific thinking options block.
822
+ * @public
823
+ */
824
+ export interface IGeminiThinkingOptions {
825
+ readonly provider: 'google';
826
+ readonly models?: ReadonlyArray<GeminiThinkingModelNames>;
827
+ readonly config: IGeminiThinkingConfig;
828
+ }
829
+ /**
830
+ * xAI-specific thinking options block.
831
+ * @public
832
+ */
833
+ export interface IXAiThinkingOptions {
834
+ readonly provider: 'xai';
835
+ readonly models?: ReadonlyArray<XAiThinkingModelNames>;
836
+ readonly config: IXAiThinkingConfig;
837
+ }
838
+ /**
839
+ * Escape-hatch options block for providers not covered by typed configs.
840
+ * @remarks
841
+ * `models` is required — no implicit "all" for unknown providers.
842
+ * `config` fields are merged verbatim into the wire request.
843
+ * @public
844
+ */
845
+ export interface IOtherThinkingOptions {
846
+ readonly provider: 'other';
847
+ readonly models: ReadonlyArray<string>;
848
+ readonly config: JsonObject;
849
+ }
850
+ /**
851
+ * Discriminated union of per-provider thinking config blocks.
852
+ * @public
853
+ */
854
+ export type IThinkingProviderConfig = IAnthropicThinkingOptions | IOpenAiThinkingOptions | IGeminiThinkingOptions | IXAiThinkingOptions | IOtherThinkingOptions;
855
+ /**
856
+ * Thinking/reasoning mode configuration for a completion request.
857
+ *
858
+ * @remarks
859
+ * The generic `effort` field covers the common-subset cross-provider vocabulary.
860
+ * For provider-specific precision (Anthropic 'max', OpenAI 'xhigh', Gemini token
861
+ * budgets, xAI effort-level tuning), use the `providers` array.
862
+ *
863
+ * Absence (or undefined) means "no thinking mode" — existing callers are unaffected.
864
+ *
865
+ * @public
866
+ */
867
+ export interface IThinkingConfig {
868
+ /**
869
+ * Cross-provider effort level. Common-subset mapping:
870
+ * - 'low': Anthropic effort:low | OpenAI effort:low | Gemini thinkingBudget:1024 | xAI reasoning_effort:low
871
+ * - 'medium': effort:medium | effort:medium | thinkingBudget:4096 | reasoning_effort:medium
872
+ * - 'high': effort:high | effort:high | thinkingBudget:8192 | reasoning_effort:high
873
+ */
874
+ readonly effort?: 'low' | 'medium' | 'high';
875
+ /**
876
+ * Optional per-provider precision blocks. Blocks for providers that don't
877
+ * match the resolved model's provider are silently skipped.
878
+ */
879
+ readonly providers?: ReadonlyArray<IThinkingProviderConfig>;
880
+ }
506
881
  /**
507
882
  * Configuration for a single AI assist provider.
508
883
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/packlets/ai-assist/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/packlets/ai-assist/model.ts"],"names":[],"mappings":"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"}
@@ -62,7 +62,7 @@ exports.AiPrompt = AiPrompt;
62
62
  * All valid {@link ModelSpecKey} values.
63
63
  * @public
64
64
  */
65
- exports.allModelSpecKeys = ['base', 'tools', 'image'];
65
+ exports.allModelSpecKeys = ['base', 'tools', 'image', 'thinking'];
66
66
  /**
67
67
  * Default context key used as fallback when resolving a {@link ModelSpec}.
68
68
  * @public