@pushwoosh/rpc-gateway-ai-assistant 0.1.185 → 0.1.187

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/data.js CHANGED
@@ -2608,7 +2608,8 @@ export const data = {
2608
2608
  "type": "I",
2609
2609
  "fields": {
2610
2610
  "image": {
2611
- "type": "pushwoosh.vibeml.v1.VibeReferenceImage"
2611
+ "type": "pushwoosh.vibeml.v1.VibeReferenceImage",
2612
+ "optional": true
2612
2613
  },
2613
2614
  "application": {
2614
2615
  "type": "string"
@@ -2619,6 +2620,13 @@ export const data = {
2619
2620
  "llmModel": {
2620
2621
  "type": "string",
2621
2622
  "optional": true
2623
+ },
2624
+ "sources": {
2625
+ "type": "pushwoosh.vibeml.v1.VibeSource",
2626
+ "array": true
2627
+ },
2628
+ "description": {
2629
+ "type": "string"
2622
2630
  }
2623
2631
  }
2624
2632
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pushwoosh/rpc-gateway-ai-assistant",
3
- "version": "0.1.185",
3
+ "version": "0.1.187",
4
4
  "description": "AI Assistant api gateway HTTP API Types and Data",
5
5
  "main": "index.js",
6
6
  "module": "index.js",
@@ -61,8 +61,9 @@ export type VibeDocumentSettings = {
61
61
  contentWidth: string;
62
62
  /**
63
63
  * Email canvas / body background color — the MJML mj-body background
64
- * analog: the area behind the content column. Hex ("#f4f4f4") or
65
- * "transparent". Empty = the renderer's default.
64
+ * analog: the area behind the content column. Hex ("#f4f4f4"),
65
+ * "transparent", or a theme color token ("$background"). Empty = the
66
+ * renderer's default.
66
67
  */
67
68
  background: string;
68
69
  };
@@ -164,12 +165,15 @@ export type VibeMeta = {
164
165
  */
165
166
  export type VibeTheme = {
166
167
  /**
167
- * Reference palette keyed by semantic role (background, surface, text,
168
+ * Design-token palette keyed by semantic role (background, surface, text,
168
169
  * text-secondary, accent, text-on-accent, border, link). Free-form
169
- * string keys — no key is guaranteed present so this is a set of brand
170
- * colors blocks/attributes can reference. Values are hex colors
171
- * ("#155F50"). The canvas background is NOT here it is a guaranteed
172
- * field on VibeDocumentSettings.
170
+ * string keys — no key is guaranteed present. Any color-typed prop value
171
+ * (block props, attributes, block_variants, settings.background) may
172
+ * reference an entry by token: "$accent" means colors["accent"], resolved
173
+ * by the renderer at render time — so re-theming a document is just
174
+ * swapping this palette. Values here are strictly hex colors ("#155F50");
175
+ * a token cannot reference another token. The canvas background is NOT
176
+ * here — it is a guaranteed field on VibeDocumentSettings.
173
177
  */
174
178
  colors: Record<string, string>;
175
179
  /** CSS font-family chain for body text. */
@@ -407,20 +411,24 @@ export interface VibeMlService {
407
411
  */
408
412
  Restyle: VibeMlService_Restyle;
409
413
  /**
410
- * ExtractTheme samples a brand theme from a single image: the full
411
- * role-keyed palette plus body/heading font stacks, returned as a
412
- * VibeTheme ready to seed a Generate request. Pure extractor — image
413
- * in, theme out, no document.
414
+ * ExtractTheme samples a brand theme the full role-keyed palette plus
415
+ * body/heading font stacks from any mix of brand materials: an image, a
416
+ * brand-book PDF, HTML/markdown/text sources, and/or a written brand
417
+ * description. At least one input (image, source or description) is
418
+ * required; any combination is allowed — files with a description, files
419
+ * alone, or a description alone. Returned as a VibeTheme ready to seed a
420
+ * Generate request. Pure extractor — materials in, theme out, no document.
414
421
  *
415
422
  * The model MUST return every palette role (background, surface, text,
416
423
  * text-secondary, accent, text-on-accent, border, link) and both font
417
- * families — even when the image gives no clear typographic signal it
424
+ * families — even when the materials give no clear typographic signal it
418
425
  * picks reasonable stacks rather than leaving them empty.
419
426
  *
420
- * The chosen model must be vision-capable. Since llm_model is a client
421
- * override and capability can't be derived from a model name, there is no
422
- * up-front check: a non-vision model fails at the upstream call. Unary;
423
- * the result is small.
427
+ * When an image is attached the chosen model must be vision-capable; a
428
+ * PDF source requires a document-capable provider (claude/openai/gemini).
429
+ * Since llm_model is a client override and capability can't be derived
430
+ * from a model name, there is no up-front vision check: a non-vision
431
+ * model fails at the upstream call. Unary; the result is small.
424
432
  */
425
433
  ExtractTheme: VibeMlService_ExtractTheme;
426
434
  }
@@ -592,18 +600,31 @@ export type VibeReferenceImage = {
592
600
  };
593
601
  export type VibeMlExtractThemeRequest = {
594
602
  /**
595
- * The image to sample the theme from. Required. The selected model must
596
- * be vision-capable.
603
+ * An image to sample the theme from (screenshot, logo, moodboard).
604
+ * Optional — one of image / sources / description must be present. When
605
+ * set, the selected model must be vision-capable.
597
606
  */
598
- image: VibeReferenceImage;
607
+ image?: VibeReferenceImage;
599
608
  /** Application code, for account/app scoping middleware and logging. */
600
609
  application: string;
601
610
  /**
602
611
  * Provider/model, same semantics as on Generate: llm_provider is
603
- * REQUIRED, llm_model optional. The chosen model must be vision-capable.
612
+ * REQUIRED, llm_model optional.
604
613
  */
605
614
  llmProvider: string;
606
615
  llmModel?: string;
616
+ /**
617
+ * Brand materials to sample the theme from: a brand-book PDF, an HTML
618
+ * page, markdown or plain text. Same shape, formats and limits as
619
+ * Generate's sources (PDF needs a document-capable provider). Optional.
620
+ */
621
+ sources: VibeSource[];
622
+ /**
623
+ * A written brand description ("dark green, minimalist, premium outdoor
624
+ * brand") the model derives the palette from. Optional; may accompany or
625
+ * replace the image/sources.
626
+ */
627
+ description: string;
607
628
  };
608
629
  export type VibeMlExtractThemeResponse = {
609
630
  /**