@cuadra-ai/uikit 0.4.37 → 0.5.0

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 (65) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +4 -0
  3. package/dist/adapters/chatModelAdapter.d.ts +1 -29
  4. package/dist/adapters/chatModelAdapter.d.ts.map +1 -1
  5. package/dist/adapters/preMadeResponseHandler.d.ts +29 -0
  6. package/dist/adapters/preMadeResponseHandler.d.ts.map +1 -0
  7. package/dist/adapters/threadListAdapter.d.ts.map +1 -1
  8. package/dist/components/CuadraRuntimeProvider.d.ts.map +1 -1
  9. package/dist/components/SimpleThread.d.ts +11 -13
  10. package/dist/components/SimpleThread.d.ts.map +1 -1
  11. package/dist/components/SimpleThreadList.d.ts.map +1 -1
  12. package/dist/components/WidgetContent.d.ts.map +1 -1
  13. package/dist/components/thread/MessageComponents.d.ts +20 -0
  14. package/dist/components/thread/MessageComponents.d.ts.map +1 -0
  15. package/dist/components/thread/ModelSelector.d.ts +9 -0
  16. package/dist/components/thread/ModelSelector.d.ts.map +1 -0
  17. package/dist/components/thread/StringsContext.d.ts +4 -0
  18. package/dist/components/thread/StringsContext.d.ts.map +1 -0
  19. package/dist/components/thread/ThreadListComponents.d.ts +2 -0
  20. package/dist/components/thread/ThreadListComponents.d.ts.map +1 -0
  21. package/dist/components/thread/WelcomeScreen.d.ts +5 -0
  22. package/dist/components/thread/WelcomeScreen.d.ts.map +1 -0
  23. package/dist/components/thread/index.d.ts +7 -0
  24. package/dist/components/thread/index.d.ts.map +1 -0
  25. package/dist/components/thread/types.d.ts +14 -0
  26. package/dist/components/thread/types.d.ts.map +1 -0
  27. package/dist/hooks/useModelSelection.d.ts +22 -0
  28. package/dist/hooks/useModelSelection.d.ts.map +1 -0
  29. package/dist/hooks/useModels.d.ts +16 -0
  30. package/dist/hooks/useModels.d.ts.map +1 -0
  31. package/dist/hooks/useSingleChatLoader.d.ts +28 -0
  32. package/dist/hooks/useSingleChatLoader.d.ts.map +1 -0
  33. package/dist/index.cjs +16 -16
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.d.ts +2 -4
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.mjs +2240 -2191
  38. package/dist/index.mjs.map +1 -1
  39. package/dist/types/props.d.ts +2 -1
  40. package/dist/types/props.d.ts.map +1 -1
  41. package/dist/uikit.css +1 -1
  42. package/dist/widget/cuadra-uikit.css +1 -1
  43. package/dist/widget/cuadra-uikit.umd.js +25 -25
  44. package/dist/widget/cuadra-uikit.umd.js.map +1 -1
  45. package/package.json +8 -2
  46. package/dist/test/fixtures/index.d.ts +0 -7
  47. package/dist/test/fixtures/index.d.ts.map +0 -1
  48. package/dist/test/fixtures/mockChats.d.ts +0 -41
  49. package/dist/test/fixtures/mockChats.d.ts.map +0 -1
  50. package/dist/test/fixtures/mockModels.d.ts +0 -31
  51. package/dist/test/fixtures/mockModels.d.ts.map +0 -1
  52. package/dist/test/fixtures/mockStreams.d.ts +0 -60
  53. package/dist/test/fixtures/mockStreams.d.ts.map +0 -1
  54. package/dist/test/mockSSEStream.d.ts +0 -29
  55. package/dist/test/mockSSEStream.d.ts.map +0 -1
  56. package/dist/test/setup.d.ts +0 -2
  57. package/dist/test/setup.d.ts.map +0 -1
  58. package/dist/test/utils/index.d.ts +0 -6
  59. package/dist/test/utils/index.d.ts.map +0 -1
  60. package/dist/test/utils/mockFetch.d.ts +0 -67
  61. package/dist/test/utils/mockFetch.d.ts.map +0 -1
  62. package/dist/test/utils/renderWithProviders.d.ts +0 -136
  63. package/dist/test/utils/renderWithProviders.d.ts.map +0 -1
  64. package/dist/utils/injectStyles.d.ts +0 -14
  65. package/dist/utils/injectStyles.d.ts.map +0 -1
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Cuadra AI
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # @cuadra-ai/uikit
2
2
 
3
+ [![npm version](https://img.shields.io/npm/v/@cuadra-ai/uikit)](https://www.npmjs.com/package/@cuadra-ai/uikit)
4
+ [![npm downloads](https://img.shields.io/npm/dm/@cuadra-ai/uikit)](https://www.npmjs.com/package/@cuadra-ai/uikit)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE)
6
+
3
7
  A production-ready React UI kit for building AI chat experiences with the [Cuadra AI](https://cuadra.ai) API, built on top of [assistant-ui](https://www.assistant-ui.com/).
4
8
 
5
9
  📚 **[Full Documentation](https://docs.cuadra.ai)** | 🌐 **[Website](https://cuadra.ai)**
@@ -2,35 +2,7 @@ import type { ChatModelAdapter } from '@assistant-ui/react';
2
2
  import { CuadraChatClient } from '../lib/cuadraChatClient';
3
3
  export type { StreamingMetadata } from './streamingMetadataStore';
4
4
  export { streamingMetadataStore } from './streamingMetadataStore';
5
- /**
6
- * Store for pre-made conversation history
7
- * These messages will be included in subsequent API calls for context
8
- */
9
- interface PreMadeMessage {
10
- role: 'user' | 'assistant';
11
- content: string;
12
- }
13
- /**
14
- * Queue a pre-made response to be returned instead of calling the API
15
- * Call this before triggering the normal send flow
16
- * @param question - The user's question
17
- * @param response - The text to return as the assistant's response
18
- * @param streamingSpeed - Speed in ms between words (default: 50)
19
- * @param initialDelay - Delay in ms before streaming starts (default: 800)
20
- */
21
- export declare function queuePreMadeResponse(question: string, response: string, streamingSpeed?: number, initialDelay?: number): void;
22
- /**
23
- * Check if there's a pending pre-made response
24
- */
25
- export declare function hasPendingPreMadeResponse(): boolean;
26
- /**
27
- * Clear all pending pre-made responses and conversation history
28
- */
29
- export declare function clearPreMadeResponses(): void;
30
- /**
31
- * Get the pre-made conversation history for context
32
- */
33
- export declare function getPreMadeConversationHistory(): PreMadeMessage[];
5
+ export { queuePreMadeResponse, hasPendingPreMadeResponse, clearPreMadeResponses, getPreMadeConversationHistory } from './preMadeResponseHandler';
34
6
  export interface ChatModelAdapterOptions {
35
7
  modelId?: string | null;
36
8
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"chatModelAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/chatModelAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAuB,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAkB,gBAAgB,EAAiC,MAAM,yBAAyB,CAAC;AAU1G,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAoBlE;;;GAGG;AACH,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAID;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,GAAE,MAAW,EAAE,YAAY,GAAE,MAAY,GAAG,IAAI,CAEtI;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CAEnD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C;AAED;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,cAAc,EAAE,CAEhE;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2EAA2E;IAC3E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,gBAAgB,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACzE,wFAAwF;IACxF,eAAe,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;CACjD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,uBAAuB,GAC/B,gBAAgB,CAilBlB"}
1
+ {"version":3,"file":"chatModelAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/chatModelAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAuB,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAkB,gBAAgB,EAAiC,MAAM,yBAAyB,CAAC;AAiB1G,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAEjJ,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2EAA2E;IAC3E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,gBAAgB,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACzE,wFAAwF;IACxF,eAAe,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;CACjD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,uBAAuB,GAC/B,gBAAgB,CAkkBlB"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Pre-made response queue and conversation history.
3
+ *
4
+ * When a pre-made suggestion is clicked the response is queued here.
5
+ * The chat model adapter checks for pending responses before calling
6
+ * the real API and returns the queued content instead.
7
+ */
8
+ export interface PreMadeResponse {
9
+ question: string;
10
+ response: string;
11
+ streamingSpeed?: number;
12
+ initialDelay?: number;
13
+ }
14
+ export interface PreMadeMessage {
15
+ role: 'user' | 'assistant';
16
+ content: string;
17
+ }
18
+ /**
19
+ * Queue a pre-made response to be returned instead of calling the API.
20
+ * Call this before triggering the normal send flow.
21
+ */
22
+ export declare function queuePreMadeResponse(question: string, response: string, streamingSpeed?: number, initialDelay?: number): void;
23
+ export declare function hasPendingPreMadeResponse(): boolean;
24
+ export declare function shiftPendingPreMade(): PreMadeResponse | undefined;
25
+ export declare function clearPreMadeResponses(): void;
26
+ export declare function getPreMadeConversationHistory(): PreMadeMessage[];
27
+ export declare function appendToConversationHistory(question: string, answer: string): void;
28
+ export declare function clearConversationHistory(): void;
29
+ //# sourceMappingURL=preMadeResponseHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preMadeResponseHandler.d.ts","sourceRoot":"","sources":["../../src/adapters/preMadeResponseHandler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAKD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,cAAc,GAAE,MAAW,EAC3B,YAAY,GAAE,MAAY,GACzB,IAAI,CAEN;AAED,wBAAgB,yBAAyB,IAAI,OAAO,CAEnD;AAED,wBAAgB,mBAAmB,IAAI,eAAe,GAAG,SAAS,CAEjE;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C;AAED,wBAAgB,6BAA6B,IAAI,cAAc,EAAE,CAEhE;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,IAAI,CAKN;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C"}
@@ -1 +1 @@
1
- {"version":3,"file":"threadListAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/threadListAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gCAAgC,IAAI,uBAAuB,EAKjE,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAI3D;;;GAGG;AACH,eAAO,MAAM,kBAAkB,qBAA4B,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,qBAA4B,CAAC;AAE9D;;;;GAIG;AACH,eAAO,IAAI,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;AAEpD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,aAAoB,CAAC;AAgCxD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,gBAAgB,EACxB,gBAAgB,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,GACvE,uBAAuB,GAAG;IAC3B,cAAc,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;CACvE,CA6OA"}
1
+ {"version":3,"file":"threadListAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/threadListAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gCAAgC,IAAI,uBAAuB,EAKjE,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAI3D;;;GAGG;AACH,eAAO,MAAM,kBAAkB,qBAA4B,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,qBAA4B,CAAC;AAE9D;;;;GAIG;AACH,eAAO,IAAI,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;AAEpD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,aAAoB,CAAC;AAgCxD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,gBAAgB,EACxB,gBAAgB,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,GACvE,uBAAuB,GAAG;IAC3B,cAAc,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;CACvE,CAuOA"}
@@ -1 +1 @@
1
- {"version":3,"file":"CuadraRuntimeProvider.d.ts","sourceRoot":"","sources":["../../src/components/CuadraRuntimeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAejF,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IAGtB,IAAI,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;IAGlC,SAAS,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAG1C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,eAAe,CAAC,EAAE,OAAO,CAAC;IAG1B,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,gBAAgB,CAAC,EAAE,CACjB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,KAChB,IAAI,CAAC;IACV,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0GAA0G;IAC1G,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wFAAwF;IACxF,eAAe,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAChD;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,WAAmB,EACnB,IAAkB,EAClB,OAAO,EACP,aAAa,EAAE,cAAc,EAC7B,SAAiB,EACjB,YAAY,EACZ,eAAuB,EACvB,eAAe,EACf,OAAO,EACP,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,iBAAyB,EACzB,cAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,cAAc,GACf,EAAE,0BAA0B,2CAyH5B"}
1
+ {"version":3,"file":"CuadraRuntimeProvider.d.ts","sourceRoot":"","sources":["../../src/components/CuadraRuntimeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAcjF,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IAGtB,IAAI,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;IAGlC,SAAS,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAG1C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,eAAe,CAAC,EAAE,OAAO,CAAC;IAG1B,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,gBAAgB,CAAC,EAAE,CACjB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,KAChB,IAAI,CAAC;IACV,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0GAA0G;IAC1G,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wFAAwF;IACxF,eAAe,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAChD;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,WAAmB,EACnB,IAAkB,EAClB,OAAO,EACP,aAAa,EAAE,cAAc,EAC7B,SAAiB,EACjB,YAAY,EACZ,eAAuB,EACvB,eAAe,EACf,OAAO,EACP,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,iBAAyB,EACzB,cAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,cAAc,GACf,EAAE,0BAA0B,2CA8H5B"}
@@ -1,5 +1,16 @@
1
1
  import { type CuadraChatStrings } from '../types/strings';
2
+ import type { ModelOption } from './thread/types';
3
+ export type { ModelOption } from './thread/types';
2
4
  import '@assistant-ui/react-markdown/styles/dot.css';
5
+ declare global {
6
+ interface Window {
7
+ __cuadraThreadListRuntime?: {
8
+ threadList?: {
9
+ switchToNewThread?: () => Promise<void>;
10
+ };
11
+ } | null;
12
+ }
13
+ }
3
14
  /**
4
15
  * Handle for controlling SimpleThread externally
5
16
  */
@@ -25,19 +36,6 @@ export interface Suggestion {
25
36
  /** Delay before showing response in ms (overrides global preMadeResponseDelay) */
26
37
  responseDelay?: number;
27
38
  }
28
- /** Model option for the composer model selector */
29
- export interface ModelOption {
30
- /** Unique model identifier */
31
- id: string;
32
- /** Display name shown in selector (e.g. "GPT-4o", "Claude 3.5") */
33
- name: string;
34
- /** Optional short description */
35
- description?: string;
36
- /** Whether the model supports vision/image inputs */
37
- supportsVision?: boolean;
38
- /** Whether the model supports reasoning/thinking */
39
- supportsReasoning?: boolean;
40
- }
41
39
  export interface SimpleThreadProps {
42
40
  /** Welcome screen title */
43
41
  welcomeTitle?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleThread.d.ts","sourceRoot":"","sources":["../../src/components/SimpleThread.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,iBAAiB,EAAmB,MAAM,kBAAkB,CAAC;AAI3E,OAAO,6CAA6C,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sEAAsE;IACtE,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,2EAA2E;IAC3E,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjH,6CAA6C;IAC7C,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,gDAAgD;IAChD,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,iDAAiD;AACjD,MAAM,WAAW,UAAU;IACzB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,sGAAsG;IACtG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,mDAAmD;AACnD,MAAM,WAAW,WAAW;IAC1B,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,2BAA2B;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oEAAoE;IACpE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IAInB,gFAAgF;IAChF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uDAAuD;IACvD,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mDAAmD;IACnD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,+DAA+D;IAC/D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,+BAA+B;IAC/B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACpC,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,kHAihBvB,CAAC"}
1
+ {"version":3,"file":"SimpleThread.d.ts","sourceRoot":"","sources":["../../src/components/SimpleThread.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,iBAAiB,EAAmB,MAAM,kBAAkB,CAAC;AAE3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,6CAA6C,CAAC;AAErD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,yBAAyB,CAAC,EAAE;YAAE,UAAU,CAAC,EAAE;gBAAE,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;aAAE,CAAA;SAAE,GAAG,IAAI,CAAC;KACjG;CACF;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sEAAsE;IACtE,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,2EAA2E;IAC3E,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjH,6CAA6C;IAC7C,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,gDAAgD;IAChD,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,iDAAiD;AACjD,MAAM,WAAW,UAAU;IACzB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,sGAAsG;IACtG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,2BAA2B;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oEAAoE;IACpE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IAInB,gFAAgF;IAChF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uDAAuD;IACvD,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mDAAmD;IACnD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,+DAA+D;IAC/D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,+BAA+B;IAC/B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACpC,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,kHA2evB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleThreadList.d.ts","sourceRoot":"","sources":["../../src/components/SimpleThreadList.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,iBAAiB,EAAmB,MAAM,kBAAkB,CAAC;AAsL3E;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,cAAc,EACd,eAAe,EACf,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,OAAO,EACP,YAAY,EACZ,OAAyB,GAC1B,EAAE;IACD,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,2CAgFA"}
1
+ {"version":3,"file":"SimpleThreadList.d.ts","sourceRoot":"","sources":["../../src/components/SimpleThreadList.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,iBAAiB,EAAmB,MAAM,kBAAkB,CAAC;AAuL3E;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,cAAc,EACd,eAAe,EACf,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,OAAO,EACP,YAAY,EACZ,OAAyB,GAC1B,EAAE;IACD,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,2CAgFA"}
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetContent.d.ts","sourceRoot":"","sources":["../../src/components/WidgetContent.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WidgetContent.d.ts","sourceRoot":"","sources":["../../src/components/WidgetContent.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ /**
3
+ * Renders an image that may require an Authorization header to fetch.
4
+ *
5
+ * - Relative URLs (proxy mode) and blob/data URLs are used directly since
6
+ * cookie-based auth or local blobs handle authentication automatically.
7
+ * - Absolute URLs pointing to the API are fetched with a Bearer token, and the
8
+ * response is converted to a revocable blob URL for the `<img>`.
9
+ */
10
+ export declare function AuthenticatedImage({ url, alt, className, style, }: {
11
+ url: string;
12
+ alt: string;
13
+ className?: string;
14
+ style?: React.CSSProperties;
15
+ }): import("react/jsx-runtime").JSX.Element;
16
+ export declare function ThinkingIndicator(): import("react/jsx-runtime").JSX.Element;
17
+ export declare function UserMessage(): import("react/jsx-runtime").JSX.Element;
18
+ export declare function AssistantMessage(): import("react/jsx-runtime").JSX.Element;
19
+ export declare function ChatErrorIndicator(): import("react/jsx-runtime").JSX.Element | null;
20
+ //# sourceMappingURL=MessageComponents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageComponents.d.ts","sourceRoot":"","sources":["../../../src/components/thread/MessageComponents.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAYjF;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,GAAG,EACH,GAAG,EACH,SAAS,EACT,KAAK,GACN,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B,2CAqEA;AAwDD,wBAAgB,iBAAiB,4CAYhC;AAID,wBAAgB,WAAW,4CAyE1B;AAID,wBAAgB,gBAAgB,4CAoE/B;AAID,wBAAgB,kBAAkB,mDAkDjC"}
@@ -0,0 +1,9 @@
1
+ import type { ModelOption } from './types';
2
+ interface ModelSelectorProps {
3
+ models: ModelOption[];
4
+ selectedModelId?: string;
5
+ onModelChange?: (modelId: string) => void;
6
+ }
7
+ export declare function ModelSelector({ models, selectedModelId, onModelChange }: ModelSelectorProps): import("react/jsx-runtime").JSX.Element | null;
8
+ export {};
9
+ //# sourceMappingURL=ModelSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelSelector.d.ts","sourceRoot":"","sources":["../../../src/components/thread/ModelSelector.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAyB3C,UAAU,kBAAkB;IAC1B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,EAAE,kBAAkB,kDAoH3F"}
@@ -0,0 +1,4 @@
1
+ import { type CuadraChatStrings } from '../../types/strings';
2
+ export declare const StringsContext: import("react").Context<CuadraChatStrings>;
3
+ export declare const useStrings: () => CuadraChatStrings;
4
+ //# sourceMappingURL=StringsContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringsContext.d.ts","sourceRoot":"","sources":["../../../src/components/thread/StringsContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,iBAAiB,EAAmB,MAAM,qBAAqB,CAAC;AAE9E,eAAO,MAAM,cAAc,4CAAoD,CAAC;AAChF,eAAO,MAAM,UAAU,yBAAmC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function ChatHeader(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=ThreadListComponents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThreadListComponents.d.ts","sourceRoot":"","sources":["../../../src/components/thread/ThreadListComponents.tsx"],"names":[],"mappings":"AAOA,wBAAgB,UAAU,4CAgCzB"}
@@ -0,0 +1,5 @@
1
+ export declare function WelcomeScreen({ title, subtitle }: {
2
+ title: string;
3
+ subtitle?: string;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ //# sourceMappingURL=WelcomeScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WelcomeScreen.d.ts","sourceRoot":"","sources":["../../../src/components/thread/WelcomeScreen.tsx"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,2CAgBtF"}
@@ -0,0 +1,7 @@
1
+ export { StringsContext, useStrings } from './StringsContext';
2
+ export { WelcomeScreen } from './WelcomeScreen';
3
+ export { UserMessage, AssistantMessage, ChatErrorIndicator, AuthenticatedImage, ThinkingIndicator } from './MessageComponents';
4
+ export { ChatHeader } from './ThreadListComponents';
5
+ export { ModelSelector } from './ModelSelector';
6
+ export type { ModelOption } from './types';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/thread/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC/H,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,14 @@
1
+ /** Model option for the composer model selector */
2
+ export interface ModelOption {
3
+ /** Unique model identifier */
4
+ id: string;
5
+ /** Display name shown in selector (e.g. "GPT-4o", "Claude 3.5") */
6
+ name: string;
7
+ /** Optional short description */
8
+ description?: string;
9
+ /** Whether the model supports vision/image inputs */
10
+ supportsVision?: boolean;
11
+ /** Whether the model supports reasoning/thinking */
12
+ supportsReasoning?: boolean;
13
+ }
14
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/thread/types.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,MAAM,WAAW,WAAW;IAC1B,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B"}
@@ -0,0 +1,22 @@
1
+ import type { ModelPage } from '../types/cuadra';
2
+ export interface UseModelSelectionResult {
3
+ currentModelId: string | null;
4
+ handleModelChange: (newModelId: string) => void;
5
+ handleModelSelectorSync: (syncModelId: string) => void;
6
+ resolvedSupportsVision: boolean;
7
+ resolvedEnableReasoning: boolean;
8
+ hasModel: boolean;
9
+ }
10
+ /**
11
+ * Manages model selection state, auto-selects the first model when
12
+ * models load, and derives vision/reasoning support from the selected model.
13
+ */
14
+ export declare function useModelSelection(opts: {
15
+ modelMode: 'selector' | 'fixed';
16
+ modelId?: string;
17
+ modelsData: ModelPage | null;
18
+ supportsVision?: boolean;
19
+ enableReasoning?: boolean;
20
+ onModelChange?: (modelId: string) => void;
21
+ }): UseModelSelectionResult;
22
+ //# sourceMappingURL=useModelSelection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useModelSelection.d.ts","sourceRoot":"","sources":["../../src/hooks/useModelSelection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,uBAAuB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,sBAAsB,EAAE,OAAO,CAAC;IAChC,uBAAuB,EAAE,OAAO,CAAC;IACjC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C,GAAG,uBAAuB,CAqE1B"}
@@ -0,0 +1,16 @@
1
+ import type { CuadraChatClient } from '../lib/cuadraChatClient';
2
+ import type { ModelPage } from '../types/cuadra';
3
+ import type { ModelOption } from '../components/thread/types';
4
+ export interface UseModelsResult {
5
+ modelsData: ModelPage | null;
6
+ modelsLoading: boolean;
7
+ modelsError: Error | null;
8
+ models: ModelOption[];
9
+ fetchModels: () => Promise<void>;
10
+ }
11
+ /**
12
+ * Fetches and manages the list of available models.
13
+ * Only active when `modelMode === 'selector'`.
14
+ */
15
+ export declare function useModels(client: CuadraChatClient, modelMode: 'selector' | 'fixed'): UseModelsResult;
16
+ //# sourceMappingURL=useModels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useModels.d.ts","sourceRoot":"","sources":["../../src/hooks/useModels.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAClC;AAED;;;GAGG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,UAAU,GAAG,OAAO,GAC9B,eAAe,CAmDjB"}
@@ -0,0 +1,28 @@
1
+ import type { ThreadMessageLike } from '@assistant-ui/react';
2
+ import type { CuadraChatClient } from '../lib/cuadraChatClient';
3
+ interface CommittedState {
4
+ key: string;
5
+ messages: ThreadMessageLike[] | undefined;
6
+ }
7
+ export interface UseSingleChatLoaderResult {
8
+ committed: CommittedState;
9
+ isFirstLoad: boolean;
10
+ }
11
+ /**
12
+ * Manages the "deferred swap" pattern for single-chat mode.
13
+ *
14
+ * Fetches thread messages when `initialThreadId` changes and atomically
15
+ * swaps the committed state (key + messages) so the UI transitions in a
16
+ * single render frame. A spinner state (`isFirstLoad`) is only true
17
+ * during the very first load when there is no prior content to display.
18
+ *
19
+ * Also detects model changes and resets to a new-chat state.
20
+ */
21
+ export declare function useSingleChatLoader(opts: {
22
+ client: CuadraChatClient;
23
+ initialThreadId?: string;
24
+ modelId?: string | null;
25
+ onChatModelResolved?: (modelId: string) => void;
26
+ }): UseSingleChatLoaderResult;
27
+ export {};
28
+ //# sourceMappingURL=useSingleChatLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSingleChatLoader.d.ts","sourceRoot":"","sources":["../../src/hooks/useSingleChatLoader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAKhE,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,cAAc,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,gBAAgB,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD,GAAG,yBAAyB,CA4F5B"}