@crystaldesign/diva-backoffice 26.5.0-beta.34 → 26.5.0-beta.35

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 (22) hide show
  1. package/build/esm/index.js +427 -327
  2. package/build/types/backoffice/src/layout/Toolbar/Tools/AiPromptImageTester/ChatComposer.d.ts +7 -1
  3. package/build/types/backoffice/src/layout/Toolbar/Tools/AiPromptImageTester/ChatComposer.d.ts.map +1 -1
  4. package/build/types/backoffice/src/layout/Toolbar/Tools/AiPromptImageTester/gemini.d.ts +14 -32
  5. package/build/types/backoffice/src/layout/Toolbar/Tools/AiPromptImageTester/gemini.d.ts.map +1 -1
  6. package/build/types/backoffice/src/layout/Toolbar/Tools/AiPromptImageTester/index.d.ts.map +1 -1
  7. package/build/types/backoffice/src/layout/Toolbar/Tools/AiPromptImageTester/preservePrompt.d.ts +16 -0
  8. package/build/types/backoffice/src/layout/Toolbar/Tools/AiPromptImageTester/preservePrompt.d.ts.map +1 -0
  9. package/build/types/backoffice/src/layout/Toolbar/Tools/AiPromptImageTester/pricing.d.ts.map +1 -1
  10. package/build/types/backoffice/src/layout/Toolbar/Tools/AiPromptImageTester/storage/conversationsRepo.d.ts +0 -1
  11. package/build/types/backoffice/src/layout/Toolbar/Tools/AiPromptImageTester/storage/conversationsRepo.d.ts.map +1 -1
  12. package/build/types/backoffice/src/layout/Toolbar/Tools/AiPromptImageTester/storage/db.d.ts +0 -9
  13. package/build/types/backoffice/src/layout/Toolbar/Tools/AiPromptImageTester/storage/db.d.ts.map +1 -1
  14. package/build/types/backoffice/src/layout/Toolbar/Tools/AiPromptImageTester/storage/imagesRepo.d.ts +1 -3
  15. package/build/types/backoffice/src/layout/Toolbar/Tools/AiPromptImageTester/storage/imagesRepo.d.ts.map +1 -1
  16. package/build/types/backoffice/src/layout/Toolbar/Tools/AiPromptImageTester/storage/messagesRepo.d.ts +0 -11
  17. package/build/types/backoffice/src/layout/Toolbar/Tools/AiPromptImageTester/storage/messagesRepo.d.ts.map +1 -1
  18. package/build/types/backoffice/src/layout/Toolbar/Tools/AiPromptImageTester/storage/objectUrlCache.d.ts +0 -2
  19. package/build/types/backoffice/src/layout/Toolbar/Tools/AiPromptImageTester/storage/objectUrlCache.d.ts.map +1 -1
  20. package/build/types/backoffice/src/layout/Toolbar/Tools/AiPromptImageTester/useAiChat.d.ts +5 -4
  21. package/build/types/backoffice/src/layout/Toolbar/Tools/AiPromptImageTester/useAiChat.d.ts.map +1 -1
  22. package/package.json +9 -9
@@ -11,10 +11,16 @@ interface Props {
11
11
  onReferenceUpload: (file: File) => boolean;
12
12
  onRemoveReference: (id: string) => void;
13
13
  pending: boolean;
14
+ isFollowUp: boolean;
14
15
  onSend: (text: string) => void;
15
16
  hasApiKey: boolean;
16
17
  onRequestApiKey: () => void;
18
+ preservePromptTemplate: string;
19
+ /** `true` when the active template differs from the shipped default. */
20
+ preservePromptIsCustom: boolean;
21
+ onPreservePromptTemplateChange: (next: string) => void;
22
+ onResetPreservePromptTemplate: () => void;
17
23
  }
18
- export declare function ChatComposer({ settings, onSettingsChange, refs, refUrls, selectedRefIds, toggleRefSelection, clearRefSelection, onReferenceUpload, onRemoveReference, pending, onSend, hasApiKey, onRequestApiKey, }: Props): React.JSX.Element;
24
+ export declare function ChatComposer({ settings, onSettingsChange, refs, refUrls, selectedRefIds, toggleRefSelection, clearRefSelection, onReferenceUpload, onRemoveReference, pending, isFollowUp, onSend, hasApiKey, onRequestApiKey, preservePromptTemplate, preservePromptIsCustom, onPreservePromptTemplateChange, onResetPreservePromptTemplate, }: Props): React.JSX.Element;
19
25
  export {};
20
26
  //# sourceMappingURL=ChatComposer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatComposer.d.ts","sourceRoot":"","sources":["../../../../../../../../src/layout/Toolbar/Tools/AiPromptImageTester/ChatComposer.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAmBzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAE5E,UAAU,KAAK;IACb,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,gBAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,oBAAoB,CAAC,KAAK,IAAI,CAAC;IACjE,IAAI,EAAE,oBAAoB,EAAE,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,kBAAkB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;IAC3C,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,gBAAgB,EAChB,IAAI,EACJ,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,OAAO,EACP,MAAM,EACN,SAAS,EACT,eAAe,GAChB,EAAE,KAAK,qBAmLP"}
1
+ {"version":3,"file":"ChatComposer.d.ts","sourceRoot":"","sources":["../../../../../../../../src/layout/Toolbar/Tools/AiPromptImageTester/ChatComposer.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAoBzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAE5E,UAAU,KAAK;IACb,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,gBAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,oBAAoB,CAAC,KAAK,IAAI,CAAC;IACjE,IAAI,EAAE,oBAAoB,EAAE,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,kBAAkB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;IAC3C,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,OAAO,EAAE,OAAO,CAAC;IAEjB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,MAAM,IAAI,CAAC;IAE5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wEAAwE;IACxE,sBAAsB,EAAE,OAAO,CAAC;IAChC,8BAA8B,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,6BAA6B,EAAE,MAAM,IAAI,CAAC;CAC3C;AAED,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,gBAAgB,EAChB,IAAI,EACJ,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,OAAO,EACP,UAAU,EACV,MAAM,EACN,SAAS,EACT,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,8BAA8B,EAC9B,6BAA6B,GAC9B,EAAE,KAAK,qBA0NP"}
@@ -1,18 +1,8 @@
1
1
  /**
2
- * Thin layer over `@google/genai` that turns the AI tester's persisted records
3
- * into Gemini wire types and runs `models.generateContent`.
4
- *
5
- * Multi-turn history is built directly on the client; no backend involved.
6
- * `thoughtSignature` is round-tripped per Part so models that support
7
- * "thinking" can resume their internal state across turns.
2
+ * Thin layer over `@google/genai` that turns the AI tester's prompts into Gemini
3
+ * wire types and runs `models.generateContent`.
8
4
  */
9
5
  import type { Content, GoogleGenAI, Part } from '@google/genai';
10
- import type { ChatMessageRecord } from './storage';
11
- /** Per-record blob payload pre-resolved by the caller, keyed by `imageId`. */
12
- export type ImagePartBytes = {
13
- mimeType: string;
14
- base64: string;
15
- };
16
6
  /** Aspect ratios supported by Gemini image-capable models (per Google docs). */
17
7
  export declare const ASPECT_RATIOS_FULL: readonly ["1:1", "2:3", "3:2", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9", "21:9"];
18
8
  /** Subset accepted by `gemini-3-pro-image-preview` (no 4:5/5:4 per docs). */
@@ -29,23 +19,22 @@ export declare function optionsForModel(model: string): {
29
19
  imageSizes: readonly string[];
30
20
  };
31
21
  /**
32
- * Resolve image bytes for an array of `imageId`s into the `inlineData` shape Gemini expects.
33
- * Missing IndexedDB rows are skipped silently.
22
+ * Placeholder substituted with the user's typed prompt when wrapping.
23
+ * Exposed so the settings UI can show the user what token to keep.
34
24
  */
25
+ export declare const PRESERVE_PROMPT_PLACEHOLDER = "{prompt}";
26
+ export declare const DEFAULT_PRESERVE_PROMPT_TEMPLATE: string;
27
+ export declare function wrapPreservePrompt(userText: string, template?: string, extraReferenceCount?: number): string;
35
28
  export declare function imageIdsToParts(imageIds: string[]): Promise<Part[]>;
36
29
  /**
37
- * Convert persisted user/model records into the `Content[]` the SDK accepts.
38
- *
39
- * - User turn: `text` part (if any) followed by attached reference images.
40
- * - Model turn: the text the model returned (if any, carrying its thought signature)
41
- * followed by every generated image part (each with its own signature). Both the
42
- * text and the images are essential for follow-up prompts like "make it bigger";
43
- * without the model's own narration the model loses awareness of what it did.
30
+ * Build the single-turn `Content[]` payload for `models.generateContent`.
44
31
  *
45
- * The current pending model record (no images yet) is skipped — this builds
46
- * only completed history, the caller appends the new user prompt separately.
32
+ * The `text` should already be wrapped with `wrapPreservePrompt` for follow-ups.
47
33
  */
48
- export declare function buildContents(records: ChatMessageRecord[], currentText: string, currentRefImageIds: string[]): Promise<Content[]>;
34
+ export declare function buildContents(opts: {
35
+ text: string;
36
+ referenceImageIds: string[];
37
+ }): Promise<Content[]>;
49
38
  export interface GenerateImageOptions {
50
39
  ai: GoogleGenAI;
51
40
  model: string;
@@ -61,18 +50,11 @@ export interface GeneratedImage {
61
50
  mimeType: string;
62
51
  /** Base64-encoded image bytes (no `data:` prefix). */
63
52
  base64: string;
64
- /** Optional opaque token for resuming model "thinking" on subsequent turns. */
65
- thoughtSignature?: string;
66
53
  }
67
54
  export interface GenerateImageResult {
68
55
  images: GeneratedImage[];
69
- /** Concatenated visible text the model returned alongside the image(s). */
56
+ /** Concatenated visible (non-`thought`) text the model returned, for diagnostics. */
70
57
  text?: string;
71
- /**
72
- * Signature attached to a non-image part (visible text or pure `thought`). Replayed
73
- * on the model's text part in subsequent turns so thinking models can resume state.
74
- */
75
- thoughtSignature?: string;
76
58
  }
77
59
  /** Call `models.generateContent` and pluck the inline image parts from the response. */
78
60
  export declare function generateImage(opts: GenerateImageOptions): Promise<GenerateImageResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../../../../../../src/layout/Toolbar/Tools/AiPromptImageTester/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,OAAO,EAA2B,WAAW,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzF,OAAO,KAAK,EAAE,iBAAiB,EAAmC,MAAM,WAAW,CAAC;AAGpF,8EAA8E;AAC9E,MAAM,MAAM,cAAc,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAElE,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,oFAWrB,CAAC;AAEX,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB,sEAAuE,CAAC;AAEzG,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,oCAAqC,CAAC;AACnE,iDAAiD;AACjD,eAAO,MAAM,kBAAkB,6BAA8B,CAAC;AAE9D,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAC1C,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG;IAC9C,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B,CAQA;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAQzE;AAUD;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,iBAAiB,EAAE,EAC5B,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,MAAM,EAAE,GAC3B,OAAO,CAAC,OAAO,EAAE,CAAC,CAqBpB;AAaD,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,WAAW,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wFAAwF;AACxF,wBAAsB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAsC5F;AAED,oEAAoE;AACpE,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI,CAK5D"}
1
+ {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../../../../../../src/layout/Toolbar/Tools/AiPromptImageTester/gemini.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,OAAO,EAA2B,WAAW,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAKzF,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,oFAAqF,CAAC;AAErH,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB,sEAAuE,CAAC;AAEzG,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,oCAAqC,CAAC;AACnE,iDAAiD;AACjD,eAAO,MAAM,kBAAkB,6BAA8B,CAAC;AAE9D,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAC1C,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG;IAC9C,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B,CAQA;AAED;;;GAGG;AACH,eAAO,MAAM,2BAA2B,aAAa,CAAC;AAEtD,eAAO,MAAM,gCAAgC,QAIX,CAAC;AAEnC,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAyC,EAAE,mBAAmB,SAAI,GAAG,MAAM,CAgBzI;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAQzE;AAQD;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAK3G;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,WAAW,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,qFAAqF;IACrF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wFAAwF;AACxF,wBAAsB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA+B5F;AAED,oEAAoE;AACpE,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI,CAK5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../src/layout/Toolbar/Tools/AiPromptImageTester/index.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAQtD,QAAA,MAAM,mBAAmB,cAAuB,SAAS;;CA4FvD,CAAC;AAEH,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../src/layout/Toolbar/Tools/AiPromptImageTester/index.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAQtD,QAAA,MAAM,mBAAmB,cAAuB,SAAS;;CAsGvD,CAAC;AAEH,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,16 @@
1
+ export declare function loadPreservePromptTemplate(): string;
2
+ export declare function savePreservePromptTemplate(template: string): void;
3
+ export declare function clearPreservePromptTemplate(): void;
4
+ /**
5
+ * React hook returning the active preserve-prompt template plus mutators.
6
+ *
7
+ * `isCustom` flags whether the user has overridden the default — handy for
8
+ * the UI to surface a "Reset to default" affordance only when meaningful.
9
+ */
10
+ export declare function usePreservePromptTemplate(): {
11
+ template: string;
12
+ isCustom: boolean;
13
+ setTemplate: (next: string) => void;
14
+ reset: () => void;
15
+ };
16
+ //# sourceMappingURL=preservePrompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preservePrompt.d.ts","sourceRoot":"","sources":["../../../../../../../../src/layout/Toolbar/Tools/AiPromptImageTester/preservePrompt.ts"],"names":[],"mappings":"AASA,wBAAgB,0BAA0B,IAAI,MAAM,CAQnD;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAWjE;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAMlD;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CA0BA"}
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../../../../../../../../src/layout/Toolbar/Tools/AiPromptImageTester/pricing.ts"],"names":[],"mappings":"AAsCA,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAKxF;AAED,uFAAuF;AACvF,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAI3C;AAMD,wBAAgB,cAAc,IAAI,MAAM,CAQvC;AAYD,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKrD;AAED,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED,kFAAkF;AAClF,wBAAgB,aAAa,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAevE"}
1
+ {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../../../../../../../../src/layout/Toolbar/Tools/AiPromptImageTester/pricing.ts"],"names":[],"mappings":"AAmCA,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAKxF;AAED,uFAAuF;AACvF,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAI3C;AAMD,wBAAgB,cAAc,IAAI,MAAM,CAQvC;AAYD,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKrD;AAED,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED,kFAAkF;AAClF,wBAAgB,aAAa,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAevE"}
@@ -22,7 +22,6 @@ export interface NewConversationInput {
22
22
  updatedAt?: number;
23
23
  }
24
24
  export declare function createConversation(input: NewConversationInput): Promise<ConversationRecord>;
25
- export declare function getConversation(id: string, fallbackModel: string): Promise<ConversationRecord | undefined>;
26
25
  export declare function listConversations(fallbackModel: string): Promise<ConversationRecord[]>;
27
26
  export declare function updateConversation(id: string, patch: Partial<Omit<ConversationRecord, 'id' | 'createdAt'>>): Promise<ConversationRecord | undefined>;
28
27
  export declare function deleteConversation(id: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"conversationsRepo.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/layout/Toolbar/Tools/AiPromptImageTester/storage/conversationsRepo.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,8FAA8F;IAC9F,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,oBAAoB,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwBD,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAWjG;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAKhH;AAED,wBAAsB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAK5F;AAED,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,GAC3D,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAczC;AAED,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAElE"}
1
+ {"version":3,"file":"conversationsRepo.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/layout/Toolbar/Tools/AiPromptImageTester/storage/conversationsRepo.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,8FAA8F;IAC9F,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,oBAAoB,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwBD,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAWjG;AAED,wBAAsB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAK5F;AAED,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,GAC3D,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAczC;AAED,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAElE"}
@@ -11,8 +11,6 @@
11
11
  * referenceImages so the same blob can be reused without duplication and so a
12
12
  * single transaction can clean up dependents.
13
13
  */
14
- export declare const DB_NAME = "diva-backoffice-ai-tester";
15
- export declare const DB_VERSION = 1;
16
14
  export declare const STORE_IMAGES = "images";
17
15
  export declare const STORE_CONVERSATIONS = "conversations";
18
16
  export declare const STORE_MESSAGES = "messages";
@@ -23,8 +21,6 @@ export declare const INDEX_REFERENCES_BY_CREATED_AT = "byCreatedAt";
23
21
  export declare function openDb(): Promise<IDBDatabase>;
24
22
  /** Convert IndexedDB request to a promise. */
25
23
  export declare function reqAsPromise<T>(req: IDBRequest<T>): Promise<T>;
26
- /** Resolve when the transaction completes; reject on abort/error. */
27
- export declare function txDone(tx: IDBTransaction): Promise<void>;
28
24
  /**
29
25
  * Run `work` inside a transaction across one or more stores. The work callback
30
26
  * receives the transaction and returns a value; the promise resolves with that
@@ -39,9 +35,4 @@ export declare function newId(prefix: string): string;
39
35
  * anywhere; subsequent calls share the same promise.
40
36
  */
41
37
  export declare function ensurePersistentStorage(): Promise<boolean>;
42
- /** Best-effort current quota usage. Returns null if the API isn't available. */
43
- export declare function getStorageEstimate(): Promise<{
44
- usage: number;
45
- quota: number;
46
- } | null>;
47
38
  //# sourceMappingURL=db.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/layout/Toolbar/Tools/AiPromptImageTester/storage/db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,OAAO,8BAA8B,CAAC;AACnD,eAAO,MAAM,UAAU,IAAI,CAAC;AAE5B,eAAO,MAAM,YAAY,WAAW,CAAC;AACrC,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AACnD,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,sBAAsB,oBAAoB,CAAC;AAExD,eAAO,MAAM,iCAAiC,qBAAqB,CAAC;AACpE,eAAO,MAAM,8BAA8B,gBAAgB,CAAC;AAI5D,uFAAuF;AACvF,wBAAgB,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,CA0B7C;AAED,8CAA8C;AAC9C,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAK9D;AAED,qEAAqE;AACrE,wBAAgB,MAAM,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAMxD;AAED;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,CAAC,EAC5B,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,EAC7B,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,CAAC,EAAE,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAC3C,OAAO,CAAC,CAAC,CAAC,CAMZ;AAED,oDAAoD;AACpD,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAK5C;AAID;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC,CAkB1D;AAED,gFAAgF;AAChF,wBAAsB,kBAAkB,IAAI,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAW3F"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/layout/Toolbar/Tools/AiPromptImageTester/storage/db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,eAAO,MAAM,YAAY,WAAW,CAAC;AACrC,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AACnD,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,sBAAsB,oBAAoB,CAAC;AAExD,eAAO,MAAM,iCAAiC,qBAAqB,CAAC;AACpE,eAAO,MAAM,8BAA8B,gBAAgB,CAAC;AAI5D,uFAAuF;AACvF,wBAAgB,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,CA0B7C;AAED,8CAA8C;AAC9C,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAK9D;AAWD;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,CAAC,EAC5B,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,EAC7B,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,CAAC,EAAE,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAC3C,OAAO,CAAC,CAAC,CAAC,CAMZ;AAED,oDAAoD;AACpD,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAK5C;AAID;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC,CAkB1D"}
@@ -3,8 +3,6 @@ export interface ImageRecord {
3
3
  blob: Blob;
4
4
  mime: string;
5
5
  createdAt: number;
6
- /** Opaque base64 Gemini "thinking" token; replayed in subsequent turns when set. */
7
- thoughtSignature?: string;
8
6
  /**
9
7
  * USD billed for generating this output image, captured at generation time so the
10
8
  * cost shown in the UI never drifts when Google updates its pricing. Absent for
@@ -12,7 +10,7 @@ export interface ImageRecord {
12
10
  */
13
11
  costUsd?: number;
14
12
  }
15
- export declare function putImageBlob(blob: Blob, mime?: string, thoughtSignature?: string, costUsd?: number): Promise<string>;
13
+ export declare function putImageBlob(blob: Blob, mime?: string, costUsd?: number): Promise<string>;
16
14
  export declare function getImage(id: string): Promise<ImageRecord | undefined>;
17
15
  export declare function deleteImages(ids: string[]): Promise<void>;
18
16
  /** Convert a `data:` URL into a Blob, used by reference uploads. */
@@ -1 +1 @@
1
- {"version":3,"file":"imagesRepo.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/layout/Toolbar/Tools/AiPromptImageTester/storage/imagesRepo.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,IAAI,EACV,IAAI,CAAC,EAAE,MAAM,EACb,gBAAgB,CAAC,EAAE,MAAM,EACzB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAYjB;AAED,wBAAsB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAI3E;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAM/D;AAED,oEAAoE;AACpE,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAanD;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAUzD"}
1
+ {"version":3,"file":"imagesRepo.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/layout/Toolbar/Tools/AiPromptImageTester/storage/imagesRepo.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAW/F;AAED,wBAAsB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAI3E;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAM/D;AAED,oEAAoE;AACpE,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAanD;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAUzD"}
@@ -20,17 +20,6 @@ export interface ModelMessageRecord {
20
20
  imageIds: string[];
21
21
  /** Prompt that was sent for this generation; mirrors the preceding user message. */
22
22
  promptText: string;
23
- /**
24
- * Text the model returned alongside the generated image(s), if any. Replayed in
25
- * subsequent turns so the model retains awareness of what it previously said.
26
- */
27
- responseText?: string;
28
- /**
29
- * Opaque base64 "thinking" signature attached to the model's text/thought part.
30
- * Replayed in subsequent turns so thinking models can resume their internal state.
31
- * (Per-image signatures live on each `ImageRecord.thoughtSignature` instead.)
32
- */
33
- responseThoughtSignature?: string;
34
23
  resolutionCaption: string;
35
24
  temperatureCaption: string;
36
25
  errorMessage?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"messagesRepo.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/layout/Toolbar/Tools/AiPromptImageTester/storage/messagesRepo.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,kBAAkB,CAAC;IAC3B,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,oFAAoF;IACpF,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;AAEvE,wBAAsB,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAMvF;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAWpJ;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GACnF,OAAO,CAAC,kBAAkB,CAAC,CAkB7B;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAAG,gBAAgB,GAAG,IAAI,CAAC,CAAC,GAChF,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAYzC;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ7D;AAED,wBAAsB,gCAAgC,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ5F"}
1
+ {"version":3,"file":"messagesRepo.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/layout/Toolbar/Tools/AiPromptImageTester/storage/messagesRepo.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,kBAAkB,CAAC;IAC3B,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,oFAAoF;IACpF,UAAU,EAAE,MAAM,CAAC;IAEnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;AAEvE,wBAAsB,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAWvF;AAED,wBAAsB,cAAc,CAClC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAClF,OAAO,CAAC,iBAAiB,CAAC,CAW5B;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GACnF,OAAO,CAAC,kBAAkB,CAAC,CAgB7B;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAAG,gBAAgB,GAAG,IAAI,CAAC,CAAC,GAChF,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAYzC;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ7D;AAED,wBAAsB,gCAAgC,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ5F"}
@@ -1,5 +1,3 @@
1
- export declare function setObjectUrlCacheCapacity(n: number): void;
2
1
  export declare function getObjectUrl(imageId: string): Promise<string | null>;
3
- export declare function revokeObjectUrl(imageId: string): void;
4
2
  export declare function clearObjectUrlCache(): void;
5
3
  //# sourceMappingURL=objectUrlCache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"objectUrlCache.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/layout/Toolbar/Tools/AiPromptImageTester/storage/objectUrlCache.ts"],"names":[],"mappings":"AAsBA,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAGzD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAoBpE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAKrD;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAK1C"}
1
+ {"version":3,"file":"objectUrlCache.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/layout/Toolbar/Tools/AiPromptImageTester/storage/objectUrlCache.ts"],"names":[],"mappings":"AAsBA,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAoBpE;AASD,wBAAgB,mBAAmB,IAAI,IAAI,CAK1C"}
@@ -2,10 +2,7 @@ import { type Fullscreen } from '@crystaldesign/diva-core';
2
2
  import React from 'react';
3
3
  import { type ConversationRecord, type ConversationSettings, type ReferenceImageRecord } from './storage';
4
4
  import type { ChatMessageView } from './types';
5
- /** Runaway-protection floor on history depth. Normal iterative use never reaches it. */
6
- export declare const MAX_HISTORY_TURNS = 50;
7
5
  export declare function useAiChat(openFullscreen: (opts: Fullscreen) => void): {
8
- bootstrapped: boolean;
9
6
  conversations: ConversationRecord[];
10
7
  activeConversation: ConversationRecord | null;
11
8
  activeConversationId: string | null;
@@ -15,6 +12,7 @@ export declare function useAiChat(openFullscreen: (opts: Fullscreen) => void): {
15
12
  deleteConversation: (id: string) => Promise<void>;
16
13
  updateActiveSettings: (patch: Partial<ConversationSettings>) => Promise<void>;
17
14
  messages: ChatMessageView[];
15
+ isFollowUp: boolean;
18
16
  sendMessage: (text: string) => Promise<void>;
19
17
  abortMessage: (modelMessageId: string) => void;
20
18
  retryMessage: (modelMessageId: string) => Promise<void>;
@@ -25,7 +23,6 @@ export declare function useAiChat(openFullscreen: (opts: Fullscreen) => void): {
25
23
  selectedRefIds: string[];
26
24
  toggleRefSelection: (id: string) => void;
27
25
  clearRefSelection: () => void;
28
- selectAllRefs: () => void;
29
26
  onReferenceUpload: (file: File) => false;
30
27
  removeReference: (id: string) => Promise<void>;
31
28
  apiKey: string;
@@ -35,5 +32,9 @@ export declare function useAiChat(openFullscreen: (opts: Fullscreen) => void): {
35
32
  apiKeyModalOpen: boolean;
36
33
  openApiKeyModal: () => void;
37
34
  closeApiKeyModal: () => void;
35
+ preservePromptTemplate: string;
36
+ preservePromptIsCustom: boolean;
37
+ setPreservePromptTemplate: (next: string) => void;
38
+ resetPreservePromptTemplate: () => void;
38
39
  };
39
40
  //# sourceMappingURL=useAiChat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAiChat.d.ts","sourceRoot":"","sources":["../../../../../../../../src/layout/Toolbar/Tools/AiPromptImageTester/useAiChat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3E,OAAO,KAA4D,MAAM,OAAO,CAAC;AAajF,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAoB1B,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,eAAe,EAA0B,MAAM,SAAS,CAAC;AAKvE,wFAAwF;AACxF,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAepC,wBAAgB,SAAS,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI;;;;;;;6BAoGhB,MAAM,SAAS,MAAM;6BAO1D,MAAM;kCAkBH,OAAO,CAAC,oBAAoB,CAAC;;wBAkD9B,MAAM;mCA+G6B,MAAM;mCAM/B,MAAM;oCASN,MAAM;6CAaT,MAAM;;;;6BA/JgB,MAAM;;;8BApBL,IAAI;0BA2BF,MAAM;;;;;;;;EAkNtD"}
1
+ {"version":3,"file":"useAiChat.d.ts","sourceRoot":"","sources":["../../../../../../../../src/layout/Toolbar/Tools/AiPromptImageTester/useAiChat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3E,OAAO,KAA4D,MAAM,OAAO,CAAC;AAQjF,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAoB1B,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,eAAe,EAA0B,MAAM,SAAS,CAAC;AAkBvE,wBAAgB,SAAS,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI;;;;;;6BAoGhB,MAAM,SAAS,MAAM;6BAO1D,MAAM;kCAkBH,OAAO,CAAC,oBAAoB,CAAC;;;wBAoD9B,MAAM;mCA2I6B,MAAM;mCAM/B,MAAM;oCASN,MAAM;6CAaT,MAAM;;;;6BA1LgB,MAAM;;8BAtBzC,IAAI;0BA4BkC,MAAM;;;;;;;;;;;;EAiPtD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crystaldesign/diva-backoffice",
3
- "version": "26.5.0-beta.34",
3
+ "version": "26.5.0-beta.35",
4
4
  "license": "COMMERCIAL",
5
5
  "devDependencies": {
6
6
  "@testing-library/jest-dom": "^6.5.0",
@@ -15,13 +15,13 @@
15
15
  "dependencies": {
16
16
  "@ant-design/icons": "6.1.0",
17
17
  "@babel/runtime": "7.24.7",
18
- "@crystaldesign/content-box": "26.5.0-beta.34",
19
- "@crystaldesign/content-item": "26.5.0-beta.34",
20
- "@crystaldesign/diva-core": "26.5.0-beta.34",
21
- "@crystaldesign/diva-utils": "26.5.0-beta.34",
22
- "@crystaldesign/media-upload": "26.5.0-beta.34",
23
- "@crystaldesign/rtf-editor": "26.5.0-beta.34",
24
- "@crystaldesign/spreadsheet": "26.5.0-beta.34",
18
+ "@crystaldesign/content-box": "26.5.0-beta.35",
19
+ "@crystaldesign/content-item": "26.5.0-beta.35",
20
+ "@crystaldesign/diva-core": "26.5.0-beta.35",
21
+ "@crystaldesign/diva-utils": "26.5.0-beta.35",
22
+ "@crystaldesign/media-upload": "26.5.0-beta.35",
23
+ "@crystaldesign/rtf-editor": "26.5.0-beta.35",
24
+ "@crystaldesign/spreadsheet": "26.5.0-beta.35",
25
25
  "@google/genai": "^1.22.0",
26
26
  "@google/model-viewer": "3.5.0",
27
27
  "ag-charts-community": "^10.1.0",
@@ -53,5 +53,5 @@
53
53
  },
54
54
  "module": "build/esm/index.js",
55
55
  "types": "./build/types/backoffice/src/index.d.ts",
56
- "gitHead": "fb3cc935f495ef006c65e2bb19840ae7ea7a0a3a"
56
+ "gitHead": "f0d078a2b4e5a28ff2be165366972f2f5e64ca09"
57
57
  }