@4djs/assistant 0.0.0 → 0.1.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 (189) hide show
  1. package/README.md +49 -68
  2. package/dist/core/chat-activity.d.ts +19 -0
  3. package/dist/core/chat-activity.d.ts.map +1 -0
  4. package/dist/core/chat-commands.d.ts +33 -0
  5. package/dist/core/chat-commands.d.ts.map +1 -0
  6. package/dist/core/chat-history.d.ts +14 -0
  7. package/dist/core/chat-history.d.ts.map +1 -0
  8. package/dist/core/chat-reply-suggestions-parse.d.ts +20 -0
  9. package/dist/core/chat-reply-suggestions-parse.d.ts.map +1 -0
  10. package/dist/core/code-highlight.d.ts +3 -0
  11. package/dist/core/code-highlight.d.ts.map +1 -0
  12. package/dist/core/create-assistant-store.d.ts +33 -0
  13. package/dist/core/create-assistant-store.d.ts.map +1 -0
  14. package/dist/core/fetch-suggested-prompts.d.ts +11 -0
  15. package/dist/core/fetch-suggested-prompts.d.ts.map +1 -0
  16. package/dist/core/index.d.ts +19 -0
  17. package/dist/core/index.d.ts.map +1 -0
  18. package/dist/core/index.js +2876 -0
  19. package/dist/core/interactive-tools/choices.d.ts +22 -0
  20. package/dist/core/interactive-tools/choices.d.ts.map +1 -0
  21. package/dist/core/interactive-tools/confirmation.d.ts +15 -0
  22. package/dist/core/interactive-tools/confirmation.d.ts.map +1 -0
  23. package/dist/core/interactive-tools/constants.d.ts +6 -0
  24. package/dist/core/interactive-tools/constants.d.ts.map +1 -0
  25. package/dist/core/interactive-tools/execute.d.ts +11 -0
  26. package/dist/core/interactive-tools/execute.d.ts.map +1 -0
  27. package/dist/core/interactive-tools/index.d.ts +7 -0
  28. package/dist/core/interactive-tools/index.d.ts.map +1 -0
  29. package/dist/core/interactive-tools/suggestions.d.ts +13 -0
  30. package/dist/core/interactive-tools/suggestions.d.ts.map +1 -0
  31. package/dist/core/interactive-tools/waiters.d.ts +4 -0
  32. package/dist/core/interactive-tools/waiters.d.ts.map +1 -0
  33. package/dist/core/llm-chat.d.ts +96 -0
  34. package/dist/core/llm-chat.d.ts.map +1 -0
  35. package/dist/core/llm-config.d.ts +24 -0
  36. package/dist/core/llm-config.d.ts.map +1 -0
  37. package/dist/core/llm-models.d.ts +14 -0
  38. package/dist/core/llm-models.d.ts.map +1 -0
  39. package/dist/core/llm-provider.d.ts +13 -0
  40. package/dist/core/llm-provider.d.ts.map +1 -0
  41. package/dist/core/llm-settings-storage.d.ts +47 -0
  42. package/dist/core/llm-settings-storage.d.ts.map +1 -0
  43. package/dist/core/llm-sse.d.ts +13 -0
  44. package/dist/core/llm-sse.d.ts.map +1 -0
  45. package/dist/core/llm-types.d.ts +49 -0
  46. package/dist/core/llm-types.d.ts.map +1 -0
  47. package/dist/core/markdown-utils.d.ts +3 -0
  48. package/dist/core/markdown-utils.d.ts.map +1 -0
  49. package/dist/core/prepare-markdown.d.ts +7 -0
  50. package/dist/core/prepare-markdown.d.ts.map +1 -0
  51. package/dist/core/types.d.ts +74 -0
  52. package/dist/core/types.d.ts.map +1 -0
  53. package/dist/index.css +1195 -0
  54. package/dist/index.js +184948 -0
  55. package/dist/react/Assistant.d.ts +10 -0
  56. package/dist/react/Assistant.d.ts.map +1 -0
  57. package/dist/react/components/HighlightedJsonCode.d.ts +6 -0
  58. package/dist/react/components/HighlightedJsonCode.d.ts.map +1 -0
  59. package/dist/react/components/MarkdownContent.d.ts +10 -0
  60. package/dist/react/components/MarkdownContent.d.ts.map +1 -0
  61. package/dist/react/components/MarkdownEditor.d.ts +11 -0
  62. package/dist/react/components/MarkdownEditor.d.ts.map +1 -0
  63. package/dist/react/components/MermaidDiagram.d.ts +8 -0
  64. package/dist/react/components/MermaidDiagram.d.ts.map +1 -0
  65. package/dist/react/components/ModelSelector.d.ts +8 -0
  66. package/dist/react/components/ModelSelector.d.ts.map +1 -0
  67. package/dist/react/components/chat/AssistantErrorCallout.d.ts +11 -0
  68. package/dist/react/components/chat/AssistantErrorCallout.d.ts.map +1 -0
  69. package/dist/react/components/chat/ChatActivity.d.ts +8 -0
  70. package/dist/react/components/chat/ChatActivity.d.ts.map +1 -0
  71. package/dist/react/components/chat/ChatComposer.d.ts +36 -0
  72. package/dist/react/components/chat/ChatComposer.d.ts.map +1 -0
  73. package/dist/react/components/chat/ChatEmptyState.d.ts +10 -0
  74. package/dist/react/components/chat/ChatEmptyState.d.ts.map +1 -0
  75. package/dist/react/components/chat/ChatInteractivePrompt/choices-prompt.d.ts +7 -0
  76. package/dist/react/components/chat/ChatInteractivePrompt/choices-prompt.d.ts.map +1 -0
  77. package/dist/react/components/chat/ChatInteractivePrompt/confirmation-prompt.d.ts +7 -0
  78. package/dist/react/components/chat/ChatInteractivePrompt/confirmation-prompt.d.ts.map +1 -0
  79. package/dist/react/components/chat/ChatInteractivePrompt/index.d.ts +7 -0
  80. package/dist/react/components/chat/ChatInteractivePrompt/index.d.ts.map +1 -0
  81. package/dist/react/components/chat/ChatInteractivePrompt/shell.d.ts +13 -0
  82. package/dist/react/components/chat/ChatInteractivePrompt/shell.d.ts.map +1 -0
  83. package/dist/react/components/chat/ChatInteractivePrompt/utils.d.ts +4 -0
  84. package/dist/react/components/chat/ChatInteractivePrompt/utils.d.ts.map +1 -0
  85. package/dist/react/components/chat/ChatMessage.d.ts +11 -0
  86. package/dist/react/components/chat/ChatMessage.d.ts.map +1 -0
  87. package/dist/react/components/chat/ChatMessageScroll.d.ts +8 -0
  88. package/dist/react/components/chat/ChatMessageScroll.d.ts.map +1 -0
  89. package/dist/react/components/chat/ChatReplySuggestions.d.ts +9 -0
  90. package/dist/react/components/chat/ChatReplySuggestions.d.ts.map +1 -0
  91. package/dist/react/components/chat/ComposerCommandMenu.d.ts +10 -0
  92. package/dist/react/components/chat/ComposerCommandMenu.d.ts.map +1 -0
  93. package/dist/react/components/chat/LlmSettingsStrip.d.ts +7 -0
  94. package/dist/react/components/chat/LlmSettingsStrip.d.ts.map +1 -0
  95. package/dist/react/components/chat/LlmSetupPrompt.d.ts +7 -0
  96. package/dist/react/components/chat/LlmSetupPrompt.d.ts.map +1 -0
  97. package/dist/react/components/chat/LlmUnavailableBanner.d.ts +6 -0
  98. package/dist/react/components/chat/LlmUnavailableBanner.d.ts.map +1 -0
  99. package/dist/react/components/chat/SuggestedPromptsList.d.ts +14 -0
  100. package/dist/react/components/chat/SuggestedPromptsList.d.ts.map +1 -0
  101. package/dist/react/components/chat/SuggestedPromptsStrip.d.ts +11 -0
  102. package/dist/react/components/chat/SuggestedPromptsStrip.d.ts.map +1 -0
  103. package/dist/react/components/chat/SystemPromptField.d.ts +10 -0
  104. package/dist/react/components/chat/SystemPromptField.d.ts.map +1 -0
  105. package/dist/react/components/highlighted-code.d.ts +8 -0
  106. package/dist/react/components/highlighted-code.d.ts.map +1 -0
  107. package/dist/react/context.d.ts +11 -0
  108. package/dist/react/context.d.ts.map +1 -0
  109. package/dist/react/hooks/use-composer-commands.d.ts +21 -0
  110. package/dist/react/hooks/use-composer-commands.d.ts.map +1 -0
  111. package/dist/react/hooks/use-suggested-prompts.d.ts +29 -0
  112. package/dist/react/hooks/use-suggested-prompts.d.ts.map +1 -0
  113. package/dist/react/index.d.ts +17 -0
  114. package/dist/react/index.d.ts.map +1 -0
  115. package/dist/react/lib/parse-assistant-error.d.ts +9 -0
  116. package/dist/react/lib/parse-assistant-error.d.ts.map +1 -0
  117. package/dist/react/lib/prompt-icons.d.ts +5 -0
  118. package/dist/react/lib/prompt-icons.d.ts.map +1 -0
  119. package/dist/react/types.d.ts +69 -0
  120. package/dist/react/types.d.ts.map +1 -0
  121. package/dist/react/utils/cn.d.ts +2 -0
  122. package/dist/react/utils/cn.d.ts.map +1 -0
  123. package/package.json +16 -5
  124. package/src/core/chat-activity.ts +0 -107
  125. package/src/core/chat-commands.ts +0 -173
  126. package/src/core/chat-history.ts +0 -113
  127. package/src/core/chat-reply-suggestions-parse.ts +0 -119
  128. package/src/core/code-highlight.ts +0 -20
  129. package/src/core/create-assistant-store.ts +0 -639
  130. package/src/core/fetch-suggested-prompts.ts +0 -53
  131. package/src/core/index.ts +0 -125
  132. package/src/core/interactive-tools/choices.ts +0 -155
  133. package/src/core/interactive-tools/confirmation.ts +0 -63
  134. package/src/core/interactive-tools/constants.ts +0 -22
  135. package/src/core/interactive-tools/execute.ts +0 -70
  136. package/src/core/interactive-tools/index.ts +0 -41
  137. package/src/core/interactive-tools/suggestions.ts +0 -87
  138. package/src/core/interactive-tools/waiters.ts +0 -55
  139. package/src/core/llm-chat.ts +0 -686
  140. package/src/core/llm-config.ts +0 -101
  141. package/src/core/llm-models.ts +0 -96
  142. package/src/core/llm-provider.ts +0 -99
  143. package/src/core/llm-settings-storage.ts +0 -331
  144. package/src/core/llm-sse.ts +0 -166
  145. package/src/core/llm-types.ts +0 -52
  146. package/src/core/markdown-utils.ts +0 -11
  147. package/src/core/prepare-markdown.ts +0 -38
  148. package/src/core/types.ts +0 -86
  149. package/src/css.d.ts +0 -1
  150. package/src/react/Assistant.tsx +0 -358
  151. package/src/react/components/HighlightedJsonCode.tsx +0 -24
  152. package/src/react/components/MarkdownContent.tsx +0 -98
  153. package/src/react/components/MarkdownEditor.tsx +0 -60
  154. package/src/react/components/MermaidDiagram.tsx +0 -139
  155. package/src/react/components/ModelSelector.tsx +0 -243
  156. package/src/react/components/chat/AssistantErrorCallout.tsx +0 -79
  157. package/src/react/components/chat/ChatActivity.tsx +0 -274
  158. package/src/react/components/chat/ChatComposer.tsx +0 -189
  159. package/src/react/components/chat/ChatEmptyState.tsx +0 -145
  160. package/src/react/components/chat/ChatInteractivePrompt/choices-prompt.tsx +0 -262
  161. package/src/react/components/chat/ChatInteractivePrompt/confirmation-prompt.tsx +0 -97
  162. package/src/react/components/chat/ChatInteractivePrompt/index.tsx +0 -60
  163. package/src/react/components/chat/ChatInteractivePrompt/shell.tsx +0 -60
  164. package/src/react/components/chat/ChatInteractivePrompt/utils.ts +0 -14
  165. package/src/react/components/chat/ChatMessage.tsx +0 -150
  166. package/src/react/components/chat/ChatMessageScroll.tsx +0 -116
  167. package/src/react/components/chat/ChatReplySuggestions.tsx +0 -231
  168. package/src/react/components/chat/ComposerCommandMenu.tsx +0 -69
  169. package/src/react/components/chat/LlmSettingsStrip.tsx +0 -348
  170. package/src/react/components/chat/LlmSetupPrompt.tsx +0 -58
  171. package/src/react/components/chat/LlmUnavailableBanner.tsx +0 -11
  172. package/src/react/components/chat/SuggestedPromptsList.tsx +0 -121
  173. package/src/react/components/chat/SuggestedPromptsStrip.tsx +0 -72
  174. package/src/react/components/chat/SystemPromptField.tsx +0 -107
  175. package/src/react/components/highlighted-code.tsx +0 -107
  176. package/src/react/context.tsx +0 -72
  177. package/src/react/hooks/use-composer-commands.ts +0 -129
  178. package/src/react/hooks/use-suggested-prompts.ts +0 -128
  179. package/src/react/index.ts +0 -39
  180. package/src/react/lib/parse-assistant-error.ts +0 -96
  181. package/src/react/lib/prompt-icons.ts +0 -40
  182. package/src/react/types.ts +0 -83
  183. package/src/react/utils/cn.ts +0 -5
  184. package/test/buildLlmHistory.test.ts +0 -95
  185. package/test/llm-config.test.ts +0 -72
  186. package/test/llmSettingsStorage.test.ts +0 -121
  187. package/test/parse-assistant-error.test.ts +0 -24
  188. package/tsconfig.json +0 -8
  189. /package/{src/styles/assistant.css → dist/styles.css} +0 -0
@@ -0,0 +1,10 @@
1
+ import { type ReactNode } from "react";
2
+ import type { AssistantConfig, AssistantProps } from "./types.js";
3
+ /** Full assistant UI — requires `AssistantProvider` ancestor. */
4
+ export declare function Assistant(props: AssistantProps): import("react").JSX.Element;
5
+ /** Provider + bootstrap + default UI in one component. */
6
+ export declare function AssistantRoot({ config, children, ...props }: AssistantProps & {
7
+ config: AssistantConfig;
8
+ children?: ReactNode;
9
+ }): import("react").JSX.Element;
10
+ //# sourceMappingURL=Assistant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Assistant.d.ts","sourceRoot":"","sources":["../../src/react/Assistant.tsx"],"names":[],"mappings":"AACA,OAAO,EAEN,KAAK,SAAS,EAKd,MAAM,OAAO,CAAC;AAmBf,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAiTlE,iEAAiE;AACjE,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,+BAM9C;AAED,0DAA0D;AAC1D,wBAAgB,aAAa,CAAC,EAC7B,MAAM,EACN,QAAQ,EACR,GAAG,KAAK,EACR,EAAE,cAAc,GAAG;IACnB,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACrB,+BAQA"}
@@ -0,0 +1,6 @@
1
+ import type { ComponentPropsWithoutRef } from "react";
2
+ export declare function HighlightedJsonCode({ code, className, ...props }: {
3
+ code: string;
4
+ className?: string;
5
+ } & ComponentPropsWithoutRef<"code">): import("react").JSX.Element;
6
+ //# sourceMappingURL=HighlightedJsonCode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HighlightedJsonCode.d.ts","sourceRoot":"","sources":["../../../src/react/components/HighlightedJsonCode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAKtD,wBAAgB,mBAAmB,CAAC,EACnC,IAAI,EACJ,SAAS,EACT,GAAG,KAAK,EACR,EAAE;IACF,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,wBAAwB,CAAC,MAAM,CAAC,+BAWnC"}
@@ -0,0 +1,10 @@
1
+ import "katex/dist/katex.min.css";
2
+ interface MarkdownContentProps {
3
+ content: string;
4
+ className?: string;
5
+ invert?: boolean;
6
+ streaming?: boolean;
7
+ }
8
+ export declare function MarkdownContent({ content, className, invert, streaming, }: MarkdownContentProps): import("react").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=MarkdownContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkdownContent.d.ts","sourceRoot":"","sources":["../../../src/react/components/MarkdownContent.tsx"],"names":[],"mappings":"AAYA,OAAO,0BAA0B,CAAC;AAElC,UAAU,oBAAoB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AA4CD,wBAAgB,eAAe,CAAC,EAC/B,OAAO,EACP,SAAc,EACd,MAAc,EACd,SAAiB,GACjB,EAAE,oBAAoB,+BA6BtB"}
@@ -0,0 +1,11 @@
1
+ interface MarkdownEditorProps {
2
+ value: string;
3
+ onChange: (value: string) => void;
4
+ placeholder?: string;
5
+ disabled?: boolean;
6
+ className?: string;
7
+ "aria-label"?: string;
8
+ }
9
+ export declare function MarkdownEditor({ value, onChange, placeholder, disabled, className, "aria-label": ariaLabel, }: MarkdownEditorProps): import("react").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=MarkdownEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkdownEditor.d.ts","sourceRoot":"","sources":["../../../src/react/components/MarkdownEditor.tsx"],"names":[],"mappings":"AAGA,UAAU,mBAAmB;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,cAAc,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,WAAW,EACX,QAAgB,EAChB,SAAc,EACd,YAAY,EAAE,SAAS,GACvB,EAAE,mBAAmB,+BAwCrB"}
@@ -0,0 +1,8 @@
1
+ interface MermaidDiagramProps {
2
+ chart: string;
3
+ streaming?: boolean;
4
+ className?: string;
5
+ }
6
+ export declare function MermaidDiagram({ chart, streaming, className, }: MermaidDiagramProps): import("react").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=MermaidDiagram.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MermaidDiagram.d.ts","sourceRoot":"","sources":["../../../src/react/components/MermaidDiagram.tsx"],"names":[],"mappings":"AA0DA,UAAU,mBAAmB;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,cAAc,CAAC,EAC9B,KAAK,EACL,SAAiB,EACjB,SAAS,GACT,EAAE,mBAAmB,+BAsErB"}
@@ -0,0 +1,8 @@
1
+ interface ModelSelectorProps {
2
+ disabled?: boolean;
3
+ variant?: "header" | "footer";
4
+ dropUp?: boolean;
5
+ }
6
+ export declare function ModelSelector({ disabled, variant, dropUp, }: ModelSelectorProps): import("react").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=ModelSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelSelector.d.ts","sourceRoot":"","sources":["../../../src/react/components/ModelSelector.tsx"],"names":[],"mappings":"AAgBA,UAAU,kBAAkB;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,EAC7B,QAAQ,EACR,OAAkB,EAClB,MAAc,GACd,EAAE,kBAAkB,+BAwNpB"}
@@ -0,0 +1,11 @@
1
+ interface AssistantErrorCalloutProps {
2
+ error: string;
3
+ context?: "chat" | "suggestions";
4
+ variant?: "embedded" | "panel";
5
+ onRetry?: () => void;
6
+ retryLabel?: string;
7
+ retryLoading?: boolean;
8
+ }
9
+ export declare function AssistantErrorCallout({ error, context, variant, onRetry, retryLabel, retryLoading, }: AssistantErrorCalloutProps): import("react").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=AssistantErrorCallout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssistantErrorCallout.d.ts","sourceRoot":"","sources":["../../../../src/react/components/chat/AssistantErrorCallout.tsx"],"names":[],"mappings":"AAyBA,UAAU,0BAA0B;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IACjC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,qBAAqB,CAAC,EACrC,KAAK,EACL,OAAgB,EAChB,OAAoB,EACpB,OAAO,EACP,UAAwB,EACxB,YAAoB,GACpB,EAAE,0BAA0B,+BAqC5B"}
@@ -0,0 +1,8 @@
1
+ import { type ChatActivityStep } from "../../../core/chat-activity.js";
2
+ interface ChatActivityProps {
3
+ steps: ChatActivityStep[];
4
+ streaming?: boolean;
5
+ }
6
+ export declare function ChatActivity({ steps, streaming }: ChatActivityProps): import("react").JSX.Element | null;
7
+ export {};
8
+ //# sourceMappingURL=ChatActivity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatActivity.d.ts","sourceRoot":"","sources":["../../../../src/react/components/chat/ChatActivity.tsx"],"names":[],"mappings":"AAEA,OAAO,EACN,KAAK,gBAAgB,EAKrB,MAAM,gCAAgC,CAAC;AAKxC,UAAU,iBAAiB;IAC1B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AA0MD,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,iBAAiB,sCAuDnE"}
@@ -0,0 +1,36 @@
1
+ import type { KeyboardEvent, RefObject } from "react";
2
+ import type { ChatCommandSuggestion } from "../../../core/chat-commands.js";
3
+ interface ChatComposerToolbar {
4
+ showLlmSettings?: boolean;
5
+ onOpenLlmSettings?: () => void;
6
+ showGenerateSuggestions?: boolean;
7
+ onGenerateSuggestions?: () => void;
8
+ suggestionsLoading?: boolean;
9
+ showClear?: boolean;
10
+ onClear?: () => void;
11
+ clearDisabled?: boolean;
12
+ }
13
+ interface ChatComposerProps {
14
+ input: string;
15
+ onInputChange: (value: string) => void;
16
+ onSubmit: () => void;
17
+ onKeyDown: (event: KeyboardEvent<HTMLTextAreaElement>) => void;
18
+ streaming: boolean;
19
+ onStop: () => void;
20
+ textareaRef?: RefObject<HTMLTextAreaElement | null>;
21
+ llmEnabled: boolean;
22
+ disabled?: boolean;
23
+ /** When true, only blocks message input and send — toolbar actions stay available. */
24
+ inputDisabled?: boolean;
25
+ placeholder?: string;
26
+ toolbar?: ChatComposerToolbar;
27
+ commandMenu?: {
28
+ open: boolean;
29
+ commands: ChatCommandSuggestion[];
30
+ selectedIndex: number;
31
+ onSelect: (command: ChatCommandSuggestion) => void;
32
+ };
33
+ }
34
+ export declare function ChatComposer({ input, onInputChange, onSubmit, onKeyDown, streaming, onStop, textareaRef, llmEnabled, disabled, inputDisabled, placeholder, toolbar, commandMenu, }: ChatComposerProps): import("react").JSX.Element;
35
+ export {};
36
+ //# sourceMappingURL=ChatComposer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatComposer.d.ts","sourceRoot":"","sources":["../../../../src/react/components/chat/ChatComposer.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAK5E,UAAU,mBAAmB;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,UAAU,iBAAiB;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IAC/D,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,WAAW,CAAC,EAAE,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IACpD,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sFAAsF;IACtF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,WAAW,CAAC,EAAE;QACb,IAAI,EAAE,OAAO,CAAC;QACd,QAAQ,EAAE,qBAAqB,EAAE,CAAC;QAClC,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAC;KACnD,CAAC;CACF;AAED,wBAAgB,YAAY,CAAC,EAC5B,KAAK,EACL,aAAa,EACb,QAAQ,EACR,SAAS,EACT,SAAS,EACT,MAAM,EACN,WAAW,EACX,UAAU,EACV,QAAQ,EACR,aAAa,EACb,WAAkC,EAClC,OAAO,EACP,WAAW,GACX,EAAE,iBAAiB,+BA+HnB"}
@@ -0,0 +1,10 @@
1
+ import type { useSuggestedPrompts } from "../../hooks/use-suggested-prompts.js";
2
+ import type { AssistantEmptyStateConfig } from "../../types.js";
3
+ interface ChatEmptyStateProps {
4
+ config: AssistantEmptyStateConfig;
5
+ suggestions: ReturnType<typeof useSuggestedPrompts>;
6
+ onSelect: (prompt: string) => void;
7
+ }
8
+ export declare function ChatEmptyState({ config, suggestions, onSelect, }: ChatEmptyStateProps): import("react").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=ChatEmptyState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatEmptyState.d.ts","sourceRoot":"","sources":["../../../../src/react/components/chat/ChatEmptyState.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAShE,UAAU,mBAAmB;IAC5B,MAAM,EAAE,yBAAyB,CAAC;IAClC,WAAW,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;IACpD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,wBAAgB,cAAc,CAAC,EAC9B,MAAM,EACN,WAAW,EACX,QAAQ,GACR,EAAE,mBAAmB,+BAoHrB"}
@@ -0,0 +1,7 @@
1
+ import type { ChoicesToolArgs } from "../../../../core/interactive-tools/index.js";
2
+ export declare function ChoicesPrompt({ args, callId, disabled, }: {
3
+ args: ChoicesToolArgs;
4
+ callId: string;
5
+ disabled: boolean;
6
+ }): import("react").JSX.Element;
7
+ //# sourceMappingURL=choices-prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"choices-prompt.d.ts","sourceRoot":"","sources":["../../../../../src/react/components/chat/ChatInteractivePrompt/choices-prompt.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEX,eAAe,EAEf,MAAM,6CAA6C,CAAC;AA+ErD,wBAAgB,aAAa,CAAC,EAC7B,IAAI,EACJ,MAAM,EACN,QAAQ,GACR,EAAE;IACF,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CAClB,+BAwKA"}
@@ -0,0 +1,7 @@
1
+ import type { ConfirmationToolArgs } from "../../../../core/interactive-tools/index.js";
2
+ export declare function ConfirmationPrompt({ args, callId, disabled, }: {
3
+ args: ConfirmationToolArgs;
4
+ callId: string;
5
+ disabled: boolean;
6
+ }): import("react").JSX.Element;
7
+ //# sourceMappingURL=confirmation-prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirmation-prompt.d.ts","sourceRoot":"","sources":["../../../../../src/react/components/chat/ChatInteractivePrompt/confirmation-prompt.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAMxF,wBAAgB,kBAAkB,CAAC,EAClC,IAAI,EACJ,MAAM,EACN,QAAQ,GACR,EAAE;IACF,IAAI,EAAE,oBAAoB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CAClB,+BAgFA"}
@@ -0,0 +1,7 @@
1
+ export declare function ChatInteractivePrompt({ toolName, args, callId, active, }: {
2
+ toolName: string;
3
+ args: Record<string, unknown>;
4
+ callId?: string;
5
+ active: boolean;
6
+ }): import("react").JSX.Element | null;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/react/components/chat/ChatInteractivePrompt/index.tsx"],"names":[],"mappings":"AAUA,wBAAgB,qBAAqB,CAAC,EACrC,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,MAAM,GACN,EAAE;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CAChB,sCAuCA"}
@@ -0,0 +1,13 @@
1
+ import type { LucideIcon } from "lucide-react";
2
+ import type { ReactNode } from "react";
3
+ type InteractivePromptShellProps = {
4
+ icon: LucideIcon;
5
+ title: string;
6
+ tone?: "default" | "caution";
7
+ children: ReactNode;
8
+ actions?: ReactNode;
9
+ keyboardHint?: string;
10
+ };
11
+ export declare function InteractivePromptShell({ icon: Icon, title, tone, children, actions, keyboardHint, }: InteractivePromptShellProps): import("react").JSX.Element;
12
+ export {};
13
+ //# sourceMappingURL=shell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../../../src/react/components/chat/ChatInteractivePrompt/shell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,KAAK,2BAA2B,GAAG;IAClC,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,EACtC,IAAI,EAAE,IAAI,EACV,KAAK,EACL,IAAgB,EAChB,QAAQ,EACR,OAAO,EACP,YAAY,GACZ,EAAE,2BAA2B,+BAuC7B"}
@@ -0,0 +1,4 @@
1
+ export declare function isDestructiveAction(action?: string): boolean;
2
+ export declare function optionKeyLabel(index: number): string;
3
+ export declare function isCompactTokenLabel(label: string): boolean;
4
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/react/components/chat/ChatInteractivePrompt/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAK5D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE1D"}
@@ -0,0 +1,11 @@
1
+ import type { AssistantMessage } from "../../../core/types.js";
2
+ interface ChatMessageViewProps {
3
+ message: AssistantMessage;
4
+ onSuggestionSelect?: (reply: string) => void;
5
+ onOpenLlmSettings?: () => void;
6
+ onRetryError?: () => void;
7
+ retryErrorLoading?: boolean;
8
+ }
9
+ export declare function ChatMessageView({ message, onSuggestionSelect, onOpenLlmSettings, onRetryError, retryErrorLoading, }: ChatMessageViewProps): import("react").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=ChatMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessage.d.ts","sourceRoot":"","sources":["../../../../src/react/components/chat/ChatMessage.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAsB/D,UAAU,oBAAoB;IAC7B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,eAAe,CAAC,EAC/B,OAAO,EACP,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,GACjB,EAAE,oBAAoB,+BA8GtB"}
@@ -0,0 +1,8 @@
1
+ import { type ReactNode } from "react";
2
+ interface ChatMessageScrollProps {
3
+ children: ReactNode;
4
+ dependencyKey: string;
5
+ }
6
+ export declare function ChatMessageScroll({ children, dependencyKey, }: ChatMessageScrollProps): import("react").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=ChatMessageScroll.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessageScroll.d.ts","sourceRoot":"","sources":["../../../../src/react/components/chat/ChatMessageScroll.tsx"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,SAAS,EAKd,MAAM,OAAO,CAAC;AAWf,UAAU,sBAAsB;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,iBAAiB,CAAC,EACjC,QAAQ,EACR,aAAa,GACb,EAAE,sBAAsB,+BAyFxB"}
@@ -0,0 +1,9 @@
1
+ import type { ReplySuggestions } from "../../../core/interactive-tools/index.js";
2
+ type ChatReplySuggestionsProps = {
3
+ suggestions: ReplySuggestions;
4
+ disabled?: boolean;
5
+ onSelect: (reply: string) => void;
6
+ };
7
+ export declare function ChatReplySuggestions({ suggestions, disabled, onSelect, }: ChatReplySuggestionsProps): import("react").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=ChatReplySuggestions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatReplySuggestions.d.ts","sourceRoot":"","sources":["../../../../src/react/components/chat/ChatReplySuggestions.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAGjF,KAAK,yBAAyB,GAAG;IAChC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC,CAAC;AAoIF,wBAAgB,oBAAoB,CAAC,EACpC,WAAW,EACX,QAAQ,EACR,QAAQ,GACR,EAAE,yBAAyB,+BAgF3B"}
@@ -0,0 +1,10 @@
1
+ import type { ChatCommandSuggestion } from "../../../core/chat-commands.js";
2
+ interface ComposerCommandMenuProps {
3
+ commands: ChatCommandSuggestion[];
4
+ selectedIndex: number;
5
+ onSelect: (command: ChatCommandSuggestion) => void;
6
+ className?: string;
7
+ }
8
+ export declare function ComposerCommandMenu({ commands, selectedIndex, onSelect, className, }: ComposerCommandMenuProps): import("react").JSX.Element | null;
9
+ export {};
10
+ //# sourceMappingURL=ComposerCommandMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposerCommandMenu.d.ts","sourceRoot":"","sources":["../../../../src/react/components/chat/ComposerCommandMenu.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAG5E,UAAU,wBAAwB;IACjC,QAAQ,EAAE,qBAAqB,EAAE,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,mBAAmB,CAAC,EACnC,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,SAAS,GACT,EAAE,wBAAwB,sCAoD1B"}
@@ -0,0 +1,7 @@
1
+ interface LlmSettingsStripProps {
2
+ open: boolean;
3
+ onClose: () => void;
4
+ }
5
+ export declare function LlmSettingsStrip({ open, onClose }: LlmSettingsStripProps): import("react").JSX.Element | null;
6
+ export {};
7
+ //# sourceMappingURL=LlmSettingsStrip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LlmSettingsStrip.d.ts","sourceRoot":"","sources":["../../../../src/react/components/chat/LlmSettingsStrip.tsx"],"names":[],"mappings":"AAcA,UAAU,qBAAqB;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,qBAAqB,sCAwUxE"}
@@ -0,0 +1,7 @@
1
+ interface LlmSetupPromptProps {
2
+ variant: "banner" | "inline";
3
+ onConfigure: () => void;
4
+ }
5
+ export declare function LlmSetupPrompt({ variant, onConfigure }: LlmSetupPromptProps): import("react").JSX.Element;
6
+ export {};
7
+ //# sourceMappingURL=LlmSetupPrompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LlmSetupPrompt.d.ts","sourceRoot":"","sources":["../../../../src/react/components/chat/LlmSetupPrompt.tsx"],"names":[],"mappings":"AAEA,UAAU,mBAAmB;IAC5B,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC7B,WAAW,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,mBAAmB,+BAkD3E"}
@@ -0,0 +1,6 @@
1
+ interface LlmUnavailableBannerProps {
2
+ onConfigure: () => void;
3
+ }
4
+ export declare function LlmUnavailableBanner({ onConfigure, }: LlmUnavailableBannerProps): import("react").JSX.Element;
5
+ export {};
6
+ //# sourceMappingURL=LlmUnavailableBanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LlmUnavailableBanner.d.ts","sourceRoot":"","sources":["../../../../src/react/components/chat/LlmUnavailableBanner.tsx"],"names":[],"mappings":"AAEA,UAAU,yBAAyB;IAClC,WAAW,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,wBAAgB,oBAAoB,CAAC,EACpC,WAAW,GACX,EAAE,yBAAyB,+BAE3B"}
@@ -0,0 +1,14 @@
1
+ import type { AssistantSuggestedPromptWithIcon } from "../../types.js";
2
+ interface SuggestedPromptsListProps {
3
+ prompts: AssistantSuggestedPromptWithIcon[];
4
+ loading?: boolean;
5
+ error?: string | null;
6
+ onSelect: (prompt: string) => void;
7
+ onRetry?: () => void;
8
+ retryLoading?: boolean;
9
+ className?: string;
10
+ compact?: boolean;
11
+ }
12
+ export declare function SuggestedPromptsList({ prompts, loading, error, onSelect, onRetry, retryLoading, className, compact, }: SuggestedPromptsListProps): import("react").JSX.Element | null;
13
+ export {};
14
+ //# sourceMappingURL=SuggestedPromptsList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuggestedPromptsList.d.ts","sourceRoot":"","sources":["../../../../src/react/components/chat/SuggestedPromptsList.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAC;AAyBvE,UAAU,yBAAyB;IAClC,OAAO,EAAE,gCAAgC,EAAE,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,oBAAoB,CAAC,EACpC,OAAO,EACP,OAAO,EACP,KAAK,EACL,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,SAAS,EACT,OAAO,GACP,EAAE,yBAAyB,sCAyE3B"}
@@ -0,0 +1,11 @@
1
+ import type { useSuggestedPrompts } from "../../hooks/use-suggested-prompts.js";
2
+ interface SuggestedPromptsStripProps {
3
+ open: boolean;
4
+ onClose: () => void;
5
+ onRefresh: () => void;
6
+ onSelect: (prompt: string) => void;
7
+ suggestions: ReturnType<typeof useSuggestedPrompts>;
8
+ }
9
+ export declare function SuggestedPromptsStrip({ open, onClose, onRefresh, onSelect, suggestions, }: SuggestedPromptsStripProps): import("react").JSX.Element | null;
10
+ export {};
11
+ //# sourceMappingURL=SuggestedPromptsStrip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuggestedPromptsStrip.d.ts","sourceRoot":"","sources":["../../../../src/react/components/chat/SuggestedPromptsStrip.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAGhF,UAAU,0BAA0B;IACnC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;CACpD;AAED,wBAAgB,qBAAqB,CAAC,EACrC,IAAI,EACJ,OAAO,EACP,SAAS,EACT,QAAQ,EACR,WAAW,GACX,EAAE,0BAA0B,sCAqD5B"}
@@ -0,0 +1,10 @@
1
+ interface SystemPromptFieldProps {
2
+ value: string;
3
+ defaultPrompt: string;
4
+ onChange: (value: string) => void;
5
+ onReset?: () => void;
6
+ disabled?: boolean;
7
+ }
8
+ export declare function SystemPromptField({ value, defaultPrompt, onChange, onReset, disabled, }: SystemPromptFieldProps): import("react").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=SystemPromptField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SystemPromptField.d.ts","sourceRoot":"","sources":["../../../../src/react/components/chat/SystemPromptField.tsx"],"names":[],"mappings":"AAOA,UAAU,sBAAsB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,iBAAiB,CAAC,EACjC,KAAK,EACL,aAAa,EACb,QAAQ,EACR,OAAO,EACP,QAAgB,GAChB,EAAE,sBAAsB,+BAqFxB"}
@@ -0,0 +1,8 @@
1
+ import { type ComponentPropsWithoutRef, type ReactNode } from "react";
2
+ export declare function highlightNodes(code: string, language: string | null): ReactNode[];
3
+ export declare function HighlightedCodeBlock({ className, code, language, ...props }: {
4
+ className?: string;
5
+ code: string;
6
+ language?: string | null;
7
+ } & ComponentPropsWithoutRef<"code">): import("react").JSX.Element;
8
+ //# sourceMappingURL=highlighted-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"highlighted-code.d.ts","sourceRoot":"","sources":["../../../src/react/components/highlighted-code.tsx"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,wBAAwB,EAE7B,KAAK,SAAS,EAEd,MAAM,OAAO,CAAC;AAyCf,wBAAgB,cAAc,CAC7B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,GACrB,SAAS,EAAE,CAgCb;AAED,wBAAgB,oBAAoB,CAAC,EACpC,SAAS,EACT,IAAI,EACJ,QAAiB,EACjB,GAAG,KAAK,EACR,EAAE;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,GAAG,wBAAwB,CAAC,MAAM,CAAC,+BAcnC"}
@@ -0,0 +1,11 @@
1
+ import { type ReactNode } from "react";
2
+ import { createAssistantStore } from "../core/create-assistant-store.js";
3
+ import type { AssistantContextValue, AssistantProviderProps } from "./types.js";
4
+ export declare function AssistantProvider({ config, children, }: AssistantProviderProps): import("react").JSX.Element;
5
+ export declare function useAssistantContext(): AssistantContextValue;
6
+ export declare function useAssistant<T>(selector: (state: ReturnType<ReturnType<typeof createAssistantStore>["getState"]>) => T): T;
7
+ export declare function useAssistantActions(): import("../core/create-assistant-store.js").AssistantState;
8
+ export declare function AssistantBootstrap({ children }: {
9
+ children: ReactNode;
10
+ }): ReactNode;
11
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/react/context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,SAAS,EAKd,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAIhF,wBAAgB,iBAAiB,CAAC,EACjC,MAAM,EACN,QAAQ,GACR,EAAE,sBAAsB,+BAmBxB;AAED,wBAAgB,mBAAmB,IAAI,qBAAqB,CAQ3D;AAED,wBAAgB,YAAY,CAAC,CAAC,EAC7B,QAAQ,EAAE,CACT,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,UAAU,CAAC,CAAC,KAClE,CAAC,GACJ,CAAC,CAGH;AAED,wBAAgB,mBAAmB,+DAGlC;AAED,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,aAUvE"}
@@ -0,0 +1,21 @@
1
+ import { type KeyboardEvent } from "react";
2
+ import { type ChatCommandSuggestion, type ChatCommandSurface } from "../../core/chat-commands.js";
3
+ type UseComposerCommandsOptions = {
4
+ value: string;
5
+ onChange: (value: string) => void;
6
+ surface: ChatCommandSurface;
7
+ onExecute: (commandText: string) => void | Promise<void>;
8
+ disabled?: boolean;
9
+ };
10
+ export declare function useComposerCommands({ value, onChange, surface, onExecute, disabled, }: UseComposerCommandsOptions): {
11
+ suggestions: ChatCommandSuggestion[];
12
+ menuOpen: boolean;
13
+ selectedIndex: number;
14
+ setSelectedIndex: import("react").Dispatch<import("react").SetStateAction<number>>;
15
+ handleInputChange: (next: string) => void;
16
+ completeCommand: (command: ChatCommandSuggestion) => void;
17
+ tryExecuteCommand: () => Promise<boolean>;
18
+ handleKeyDown: (event: KeyboardEvent<HTMLTextAreaElement>) => boolean;
19
+ };
20
+ export {};
21
+ //# sourceMappingURL=use-composer-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-composer-commands.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/use-composer-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAgC,MAAM,OAAO,CAAC;AACzE,OAAO,EACN,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EAKvB,MAAM,6BAA6B,CAAC;AAErC,KAAK,0BAA0B,GAAG;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EACnC,KAAK,EACL,QAAQ,EACR,OAAO,EACP,SAAS,EACT,QAAgB,GAChB,EAAE,0BAA0B;;;;;8BAQK,MAAM;+BAWL,qBAAqB;6BAInB,OAAO,CAAC,OAAO,CAAC;2BAgBtB,aAAa,CAAC,mBAAmB,CAAC,KAAG,OAAO;EAiE1E"}
@@ -0,0 +1,29 @@
1
+ import type { AssistantToolDefinition } from "../../core/types.js";
2
+ import type { AssistantSuggestedPromptWithIcon } from "../types.js";
3
+ export declare function useSuggestedPrompts(input: {
4
+ staticPrompts?: AssistantSuggestedPromptWithIcon[];
5
+ llmEnabled: boolean;
6
+ model: string | null;
7
+ enabled: boolean;
8
+ dynamicSuggestedPrompts?: boolean;
9
+ listTools: () => Promise<AssistantToolDefinition[]>;
10
+ fetchSuggestedPrompts?: (ctx: {
11
+ llmEnabled: boolean;
12
+ model: string | null;
13
+ tools: AssistantToolDefinition[];
14
+ }) => Promise<Array<{
15
+ id: string;
16
+ label: string;
17
+ description?: string;
18
+ prompt: string;
19
+ icon?: string;
20
+ }>>;
21
+ }): {
22
+ prompts: AssistantSuggestedPromptWithIcon[];
23
+ loading: boolean;
24
+ error: string | null;
25
+ useDynamic: boolean;
26
+ refresh: () => Promise<void>;
27
+ hasFetched: boolean;
28
+ };
29
+ //# sourceMappingURL=use-suggested-prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-suggested-prompts.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/use-suggested-prompts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAoBpE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IAC1C,aAAa,CAAC,EAAE,gCAAgC,EAAE,CAAC;IACnD,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,SAAS,EAAE,MAAM,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACpD,qBAAqB,CAAC,EAAE,CAAC,GAAG,EAAE;QAC7B,UAAU,EAAE,OAAO,CAAC;QACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,KAAK,EAAE,uBAAuB,EAAE,CAAC;KACjC,KAAK,OAAO,CACZ,KAAK,CAAC;QACL,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACd,CAAC,CACF,CAAC;CACF;;;;;;;EAoFA"}
@@ -0,0 +1,17 @@
1
+ export type { AssistantMessage, AssistantStoreDependencies, AssistantToolDefinition, AssistantToolResult, } from "../core/types.js";
2
+ export { Assistant, AssistantRoot, } from "./Assistant.js";
3
+ export { ChatActivity } from "./components/chat/ChatActivity.js";
4
+ export { ChatComposer } from "./components/chat/ChatComposer.js";
5
+ export { ChatEmptyState } from "./components/chat/ChatEmptyState.js";
6
+ export { ChatInteractivePrompt } from "./components/chat/ChatInteractivePrompt/index.js";
7
+ export { ChatMessageView } from "./components/chat/ChatMessage.js";
8
+ export { ChatMessageScroll } from "./components/chat/ChatMessageScroll.js";
9
+ export { ChatReplySuggestions } from "./components/chat/ChatReplySuggestions.js";
10
+ export { LlmSettingsStrip } from "./components/chat/LlmSettingsStrip.js";
11
+ export { MarkdownContent } from "./components/MarkdownContent.js";
12
+ export { MermaidDiagram } from "./components/MermaidDiagram.js";
13
+ export { ModelSelector } from "./components/ModelSelector.js";
14
+ export { AssistantBootstrap, AssistantProvider, useAssistant, useAssistantActions, useAssistantContext, } from "./context.js";
15
+ export { useComposerCommands } from "./hooks/use-composer-commands.js";
16
+ export type { AssistantConfig, AssistantContextValue, AssistantEmptyStateConfig, AssistantHeaderConfig, AssistantProps, AssistantProviderProps, AssistantSuggestedPromptWithIcon, AssistantUiConfig, } from "./types.js";
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,gBAAgB,EAChB,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,SAAS,EACT,aAAa,GACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EACN,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,YAAY,EACX,eAAe,EACf,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,cAAc,EACd,sBAAsB,EACtB,gCAAgC,EAChC,iBAAiB,GACjB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,9 @@
1
+ export type AssistantErrorKind = "network" | "auth" | "timeout" | "rate-limit" | "unknown";
2
+ export type ParsedAssistantError = {
3
+ title: string;
4
+ detail: string;
5
+ hint?: string;
6
+ kind: AssistantErrorKind;
7
+ };
8
+ export declare function parseAssistantError(raw: string, context?: "chat" | "suggestions"): ParsedAssistantError;
9
+ //# sourceMappingURL=parse-assistant-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-assistant-error.d.ts","sourceRoot":"","sources":["../../../src/react/lib/parse-assistant-error.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAC3B,SAAS,GACT,MAAM,GACN,SAAS,GACT,YAAY,GACZ,SAAS,CAAC;AAEb,MAAM,MAAM,oBAAoB,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,kBAAkB,CAAC;CACzB,CAAC;AAUF,wBAAgB,mBAAmB,CAClC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,MAAM,GAAG,aAAsB,GACtC,oBAAoB,CAsEtB"}
@@ -0,0 +1,5 @@
1
+ import type { LucideIcon } from "lucide-react";
2
+ import { Sparkles } from "lucide-react";
3
+ export declare function resolvePromptIcon(name?: string): LucideIcon | undefined;
4
+ export { Sparkles as DEFAULT_PROMPT_ICON };
5
+ //# sourceMappingURL=prompt-icons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-icons.d.ts","sourceRoot":"","sources":["../../../src/react/lib/prompt-icons.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAKN,QAAQ,EAKR,MAAM,cAAc,CAAC;AAsBtB,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAIvE;AAED,OAAO,EAAE,QAAQ,IAAI,mBAAmB,EAAE,CAAC"}