@steerable/agent-ui 0.2.3 โ†’ 0.2.4

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 (178) hide show
  1. package/dist/cards/ActionSegmentCard.d.ts +18 -0
  2. package/dist/cards/ActionSegmentCard.d.ts.map +1 -0
  3. package/dist/cards/ActionSegmentCard.js +26 -0
  4. package/dist/cards/ActionSegmentCard.js.map +1 -0
  5. package/dist/cards/AnalysisDocumentCard.d.ts +33 -0
  6. package/dist/cards/AnalysisDocumentCard.d.ts.map +1 -0
  7. package/dist/cards/AnalysisDocumentCard.js +11 -0
  8. package/dist/cards/AnalysisDocumentCard.js.map +1 -0
  9. package/dist/cards/AskUserQuestionsCard.d.ts +43 -0
  10. package/dist/cards/AskUserQuestionsCard.d.ts.map +1 -0
  11. package/dist/cards/AskUserQuestionsCard.js +171 -0
  12. package/dist/cards/AskUserQuestionsCard.js.map +1 -0
  13. package/dist/cards/CoverageReportCard.d.ts +41 -0
  14. package/dist/cards/CoverageReportCard.d.ts.map +1 -0
  15. package/dist/cards/CoverageReportCard.js +55 -0
  16. package/dist/cards/CoverageReportCard.js.map +1 -0
  17. package/dist/cards/OrchestrationPlanCard.d.ts +60 -0
  18. package/dist/cards/OrchestrationPlanCard.d.ts.map +1 -0
  19. package/dist/cards/OrchestrationPlanCard.js +103 -0
  20. package/dist/cards/OrchestrationPlanCard.js.map +1 -0
  21. package/dist/cards/PlanSelectorCard.d.ts +40 -0
  22. package/dist/cards/PlanSelectorCard.d.ts.map +1 -0
  23. package/dist/cards/PlanSelectorCard.js +106 -0
  24. package/dist/cards/PlanSelectorCard.js.map +1 -0
  25. package/dist/cards/PlanStepsCard.d.ts +18 -0
  26. package/dist/cards/PlanStepsCard.d.ts.map +1 -0
  27. package/dist/cards/PlanStepsCard.js +25 -0
  28. package/dist/cards/PlanStepsCard.js.map +1 -0
  29. package/dist/cards/QuizCard.d.ts +44 -0
  30. package/dist/cards/QuizCard.d.ts.map +1 -0
  31. package/dist/cards/QuizCard.js +113 -0
  32. package/dist/cards/QuizCard.js.map +1 -0
  33. package/dist/cards/ResearchPlanCard.d.ts +23 -0
  34. package/dist/cards/ResearchPlanCard.d.ts.map +1 -0
  35. package/dist/cards/ResearchPlanCard.js +50 -0
  36. package/dist/cards/ResearchPlanCard.js.map +1 -0
  37. package/dist/cards/SearchSourcesCard.d.ts +29 -0
  38. package/dist/cards/SearchSourcesCard.d.ts.map +1 -0
  39. package/dist/cards/SearchSourcesCard.js +83 -0
  40. package/dist/cards/SearchSourcesCard.js.map +1 -0
  41. package/dist/cards/SuggestedRepliesCard.d.ts +18 -0
  42. package/dist/cards/SuggestedRepliesCard.d.ts.map +1 -0
  43. package/dist/cards/SuggestedRepliesCard.js +14 -0
  44. package/dist/cards/SuggestedRepliesCard.js.map +1 -0
  45. package/dist/cards/SummaryMessageCard.d.ts +40 -0
  46. package/dist/cards/SummaryMessageCard.d.ts.map +1 -0
  47. package/dist/cards/SummaryMessageCard.js +56 -0
  48. package/dist/cards/SummaryMessageCard.js.map +1 -0
  49. package/dist/cards/ThinkingProcessCard.d.ts +46 -0
  50. package/dist/cards/ThinkingProcessCard.d.ts.map +1 -0
  51. package/dist/cards/ThinkingProcessCard.js +79 -0
  52. package/dist/cards/ThinkingProcessCard.js.map +1 -0
  53. package/dist/cards/ToolExecutionCard.d.ts +21 -0
  54. package/dist/cards/ToolExecutionCard.d.ts.map +1 -0
  55. package/dist/cards/ToolExecutionCard.js +65 -0
  56. package/dist/cards/ToolExecutionCard.js.map +1 -0
  57. package/dist/cards/icons.d.ts +38 -0
  58. package/dist/cards/icons.d.ts.map +1 -0
  59. package/dist/cards/icons.js +87 -0
  60. package/dist/cards/icons.js.map +1 -0
  61. package/dist/cards/index.d.ts +38 -0
  62. package/dist/cards/index.d.ts.map +1 -0
  63. package/dist/cards/index.js +24 -0
  64. package/dist/cards/index.js.map +1 -0
  65. package/dist/cards/types.d.ts +24 -0
  66. package/dist/cards/types.d.ts.map +1 -0
  67. package/dist/cards/types.js +7 -0
  68. package/dist/cards/types.js.map +1 -0
  69. package/dist/components/AgentSelector.d.ts +23 -0
  70. package/dist/components/AgentSelector.d.ts.map +1 -0
  71. package/dist/components/AgentSelector.js +63 -0
  72. package/dist/components/AgentSelector.js.map +1 -0
  73. package/dist/components/AgentSelector.stories.d.ts +12 -0
  74. package/dist/components/AgentSelector.stories.d.ts.map +1 -0
  75. package/dist/components/AgentSelector.stories.js +95 -0
  76. package/dist/components/AgentSelector.stories.js.map +1 -0
  77. package/dist/components/ChatPanel.d.ts +138 -21
  78. package/dist/components/ChatPanel.d.ts.map +1 -1
  79. package/dist/components/ChatPanel.js +181 -26
  80. package/dist/components/ChatPanel.js.map +1 -1
  81. package/dist/components/index.d.ts +3 -1
  82. package/dist/components/index.d.ts.map +1 -1
  83. package/dist/components/index.js +1 -0
  84. package/dist/components/index.js.map +1 -1
  85. package/dist/index.d.ts +2 -0
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +5 -0
  88. package/dist/index.js.map +1 -1
  89. package/dist/state/ChatSessionProvider.d.ts +59 -0
  90. package/dist/state/ChatSessionProvider.d.ts.map +1 -0
  91. package/dist/state/ChatSessionProvider.js +71 -0
  92. package/dist/state/ChatSessionProvider.js.map +1 -0
  93. package/dist/state/MockChatStreamTransport.d.ts +54 -0
  94. package/dist/state/MockChatStreamTransport.d.ts.map +1 -0
  95. package/dist/state/MockChatStreamTransport.js +86 -0
  96. package/dist/state/MockChatStreamTransport.js.map +1 -0
  97. package/dist/state/MockChatStreamTransport.stories.d.ts +13 -0
  98. package/dist/state/MockChatStreamTransport.stories.d.ts.map +1 -0
  99. package/dist/state/MockChatStreamTransport.stories.js +60 -0
  100. package/dist/state/MockChatStreamTransport.stories.js.map +1 -0
  101. package/dist/state/bridgeLegacySSE.d.ts +42 -0
  102. package/dist/state/bridgeLegacySSE.d.ts.map +1 -0
  103. package/dist/state/bridgeLegacySSE.js +102 -0
  104. package/dist/state/bridgeLegacySSE.js.map +1 -0
  105. package/dist/state/index.d.ts +32 -0
  106. package/dist/state/index.d.ts.map +1 -0
  107. package/dist/state/index.js +24 -0
  108. package/dist/state/index.js.map +1 -0
  109. package/dist/state/parseSSE.d.ts +50 -0
  110. package/dist/state/parseSSE.d.ts.map +1 -0
  111. package/dist/state/parseSSE.js +112 -0
  112. package/dist/state/parseSSE.js.map +1 -0
  113. package/dist/state/useChatComposer.d.ts +51 -0
  114. package/dist/state/useChatComposer.d.ts.map +1 -0
  115. package/dist/state/useChatComposer.js +82 -0
  116. package/dist/state/useChatComposer.js.map +1 -0
  117. package/dist/state/useChatList.d.ts +71 -0
  118. package/dist/state/useChatList.d.ts.map +1 -0
  119. package/dist/state/useChatList.js +158 -0
  120. package/dist/state/useChatList.js.map +1 -0
  121. package/dist/state/useChatSession.d.ts +29 -0
  122. package/dist/state/useChatSession.d.ts.map +1 -0
  123. package/dist/state/useChatSession.js +37 -0
  124. package/dist/state/useChatSession.js.map +1 -0
  125. package/dist/state/useScrollLock.d.ts +35 -0
  126. package/dist/state/useScrollLock.d.ts.map +1 -0
  127. package/dist/state/useScrollLock.js +74 -0
  128. package/dist/state/useScrollLock.js.map +1 -0
  129. package/dist/state/useToolCallStream.d.ts +38 -0
  130. package/dist/state/useToolCallStream.d.ts.map +1 -0
  131. package/dist/state/useToolCallStream.js +74 -0
  132. package/dist/state/useToolCallStream.js.map +1 -0
  133. package/package.json +10 -2
  134. package/src/cards/ActionSegmentCard.tsx +60 -0
  135. package/src/cards/AnalysisDocumentCard.tsx +81 -0
  136. package/src/cards/AskUserQuestionsCard.tsx +354 -0
  137. package/src/cards/CoverageReportCard.tsx +215 -0
  138. package/src/cards/OrchestrationPlanCard.tsx +328 -0
  139. package/src/cards/PlanSelectorCard.tsx +312 -0
  140. package/src/cards/PlanStepsCard.tsx +52 -0
  141. package/src/cards/QuizCard.tsx +309 -0
  142. package/src/cards/ResearchPlanCard.tsx +169 -0
  143. package/src/cards/SearchSourcesCard.tsx +244 -0
  144. package/src/cards/SuggestedRepliesCard.tsx +48 -0
  145. package/src/cards/SummaryMessageCard.tsx +145 -0
  146. package/src/cards/ThinkingProcessCard.tsx +155 -0
  147. package/src/cards/ToolExecutionCard.tsx +152 -0
  148. package/src/cards/cards.test.tsx +492 -0
  149. package/src/cards/icons.tsx +249 -0
  150. package/src/cards/index.ts +53 -0
  151. package/src/cards/types.ts +27 -0
  152. package/src/components/AgentSelector.stories.tsx +113 -0
  153. package/src/components/AgentSelector.test.tsx +70 -0
  154. package/src/components/AgentSelector.tsx +147 -0
  155. package/src/components/ChatPanel.test.tsx +130 -0
  156. package/src/components/ChatPanel.tsx +612 -138
  157. package/src/components/index.ts +13 -1
  158. package/src/index.ts +43 -0
  159. package/src/state/ChatSessionProvider.test.tsx +85 -0
  160. package/src/state/ChatSessionProvider.tsx +98 -0
  161. package/src/state/MockChatStreamTransport.stories.tsx +95 -0
  162. package/src/state/MockChatStreamTransport.test.ts +163 -0
  163. package/src/state/MockChatStreamTransport.ts +123 -0
  164. package/src/state/bridgeLegacySSE.test.ts +134 -0
  165. package/src/state/bridgeLegacySSE.ts +134 -0
  166. package/src/state/index.ts +82 -0
  167. package/src/state/parseSSE.test.ts +123 -0
  168. package/src/state/parseSSE.ts +123 -0
  169. package/src/state/useChatComposer.test.ts +145 -0
  170. package/src/state/useChatComposer.ts +117 -0
  171. package/src/state/useChatList.test.ts +135 -0
  172. package/src/state/useChatList.ts +217 -0
  173. package/src/state/useChatSession.test.ts +61 -0
  174. package/src/state/useChatSession.ts +64 -0
  175. package/src/state/useScrollLock.test.ts +99 -0
  176. package/src/state/useScrollLock.ts +105 -0
  177. package/src/state/useToolCallStream.test.ts +86 -0
  178. package/src/state/useToolCallStream.ts +110 -0
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Inline SVG icons used by `@steerable/agent-ui/cards`.
3
+ *
4
+ * Defined here rather than pulling in `react-icons` / `lucide-react` so the
5
+ * cards package stays at exactly one runtime dep (`@steerable/agent-protocol`).
6
+ * Each icon has a tiny stroke-only path, parametrised by `size` and the usual
7
+ * SVG props so consumers can re-style via Tailwind / CSS.
8
+ */
9
+ import * as React from 'react';
10
+ type IconProps = React.SVGProps<SVGSVGElement> & {
11
+ size?: number;
12
+ };
13
+ export declare function CheckIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function ChevronDownIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function ChevronRightIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare function ChevronUpIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
17
+ export declare function AlertIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
18
+ export declare function LoaderIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
19
+ export declare function GitBranchIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
20
+ export declare function ListChecksIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
21
+ export declare function TargetIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
22
+ export declare function GlobeIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
23
+ export declare function ExternalLinkIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
24
+ export declare function MessageQuestionIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
25
+ export declare function ArchiveIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
26
+ export declare function ChartIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
27
+ export declare function FlameIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
28
+ export declare function ShieldIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
29
+ export declare function ClockIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
30
+ export declare function PlayIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
31
+ export declare function StopIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
32
+ export declare function ZapIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
33
+ export declare function ClipboardIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
34
+ export declare function BookIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
35
+ export declare function ThumbsUpIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
36
+ export declare function PencilIcon(props: IconProps): import("react/jsx-runtime").JSX.Element;
37
+ export {};
38
+ //# sourceMappingURL=icons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/cards/icons.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,KAAK,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAgBnE,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,2CAMzC;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,2CAM/C;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,2CAMhD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,2CAM7C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,2CAQzC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,2CAa1C;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,2CAS7C;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,2CAS9C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,2CAQ1C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,2CAQzC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,2CAQhD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,2CAQnD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,2CAQ3C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,2CAQzC;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,2CAMzC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,2CAM1C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,2CAOzC;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,2CAMxC;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,2CAMxC;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,2CAMvC;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,2CAO7C;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,2CAOxC;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,2CAO5C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,2CAO1C"}
@@ -0,0 +1,87 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ function base({ size = 16, ...rest }) {
3
+ return {
4
+ width: size,
5
+ height: size,
6
+ viewBox: '0 0 24 24',
7
+ fill: 'none',
8
+ stroke: 'currentColor',
9
+ strokeWidth: 1.75,
10
+ strokeLinecap: 'round',
11
+ strokeLinejoin: 'round',
12
+ ...rest,
13
+ };
14
+ }
15
+ export function CheckIcon(props) {
16
+ return (_jsx("svg", { ...base(props), children: _jsx("polyline", { points: "20 6 9 17 4 12" }) }));
17
+ }
18
+ export function ChevronDownIcon(props) {
19
+ return (_jsx("svg", { ...base(props), children: _jsx("polyline", { points: "6 9 12 15 18 9" }) }));
20
+ }
21
+ export function ChevronRightIcon(props) {
22
+ return (_jsx("svg", { ...base(props), children: _jsx("polyline", { points: "9 18 15 12 9 6" }) }));
23
+ }
24
+ export function ChevronUpIcon(props) {
25
+ return (_jsx("svg", { ...base(props), children: _jsx("polyline", { points: "18 15 12 9 6 15" }) }));
26
+ }
27
+ export function AlertIcon(props) {
28
+ return (_jsxs("svg", { ...base(props), children: [_jsx("path", { d: "M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z" }), _jsx("line", { x1: "12", y1: "9", x2: "12", y2: "13" }), _jsx("line", { x1: "12", y1: "17", x2: "12.01", y2: "17" })] }));
29
+ }
30
+ export function LoaderIcon(props) {
31
+ return (_jsxs("svg", { ...base(props), className: [props.className, 'animate-spin'].filter(Boolean).join(' '), children: [_jsx("line", { x1: "12", y1: "2", x2: "12", y2: "6" }), _jsx("line", { x1: "12", y1: "18", x2: "12", y2: "22" }), _jsx("line", { x1: "4.93", y1: "4.93", x2: "7.76", y2: "7.76" }), _jsx("line", { x1: "16.24", y1: "16.24", x2: "19.07", y2: "19.07" }), _jsx("line", { x1: "2", y1: "12", x2: "6", y2: "12" }), _jsx("line", { x1: "18", y1: "12", x2: "22", y2: "12" }), _jsx("line", { x1: "4.93", y1: "19.07", x2: "7.76", y2: "16.24" }), _jsx("line", { x1: "16.24", y1: "7.76", x2: "19.07", y2: "4.93" })] }));
32
+ }
33
+ export function GitBranchIcon(props) {
34
+ return (_jsxs("svg", { ...base(props), children: [_jsx("line", { x1: "6", y1: "3", x2: "6", y2: "15" }), _jsx("circle", { cx: "18", cy: "6", r: "3" }), _jsx("circle", { cx: "6", cy: "18", r: "3" }), _jsx("path", { d: "M18 9a9 9 0 0 1-9 9" })] }));
35
+ }
36
+ export function ListChecksIcon(props) {
37
+ return (_jsxs("svg", { ...base(props), children: [_jsx("polyline", { points: "3 7 5 9 9 5" }), _jsx("polyline", { points: "3 17 5 19 9 15" }), _jsx("line", { x1: "13", y1: "7", x2: "21", y2: "7" }), _jsx("line", { x1: "13", y1: "17", x2: "21", y2: "17" })] }));
38
+ }
39
+ export function TargetIcon(props) {
40
+ return (_jsxs("svg", { ...base(props), children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("circle", { cx: "12", cy: "12", r: "6" }), _jsx("circle", { cx: "12", cy: "12", r: "2" })] }));
41
+ }
42
+ export function GlobeIcon(props) {
43
+ return (_jsxs("svg", { ...base(props), children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("line", { x1: "2", y1: "12", x2: "22", y2: "12" }), _jsx("path", { d: "M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z" })] }));
44
+ }
45
+ export function ExternalLinkIcon(props) {
46
+ return (_jsxs("svg", { ...base(props), children: [_jsx("path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" }), _jsx("polyline", { points: "15 3 21 3 21 9" }), _jsx("line", { x1: "10", y1: "14", x2: "21", y2: "3" })] }));
47
+ }
48
+ export function MessageQuestionIcon(props) {
49
+ return (_jsxs("svg", { ...base(props), children: [_jsx("path", { d: "M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z" }), _jsx("path", { d: "M9.5 9.5a2.5 2.5 0 1 1 3 2.5v1" }), _jsx("line", { x1: "12", y1: "15", x2: "12.01", y2: "15" })] }));
50
+ }
51
+ export function ArchiveIcon(props) {
52
+ return (_jsxs("svg", { ...base(props), children: [_jsx("polyline", { points: "21 8 21 21 3 21 3 8" }), _jsx("rect", { x: "1", y: "3", width: "22", height: "5" }), _jsx("line", { x1: "10", y1: "12", x2: "14", y2: "12" })] }));
53
+ }
54
+ export function ChartIcon(props) {
55
+ return (_jsxs("svg", { ...base(props), children: [_jsx("line", { x1: "18", y1: "20", x2: "18", y2: "10" }), _jsx("line", { x1: "12", y1: "20", x2: "12", y2: "4" }), _jsx("line", { x1: "6", y1: "20", x2: "6", y2: "14" })] }));
56
+ }
57
+ export function FlameIcon(props) {
58
+ return (_jsx("svg", { ...base(props), children: _jsx("path", { d: "M8.5 14.5A2.5 2.5 0 0 0 11 17v-3a2.5 2.5 0 1 1 0-5V6a3 3 0 0 0-3 3 3 3 0 0 0 .5 2.5C7.5 13 6 14.5 6 17a6 6 0 0 0 12 0c0-4-3-7-5-9 1.5 4-.5 5.5-2 6.5z" }) }));
59
+ }
60
+ export function ShieldIcon(props) {
61
+ return (_jsx("svg", { ...base(props), children: _jsx("path", { d: "M12 2 4 5v6c0 5 3.4 9.4 8 11 4.6-1.6 8-6 8-11V5l-8-3z" }) }));
62
+ }
63
+ export function ClockIcon(props) {
64
+ return (_jsxs("svg", { ...base(props), children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("polyline", { points: "12 6 12 12 16 14" })] }));
65
+ }
66
+ export function PlayIcon(props) {
67
+ return (_jsx("svg", { ...base(props), children: _jsx("polygon", { points: "5 3 19 12 5 21 5 3" }) }));
68
+ }
69
+ export function StopIcon(props) {
70
+ return (_jsx("svg", { ...base(props), children: _jsx("rect", { x: "6", y: "6", width: "12", height: "12" }) }));
71
+ }
72
+ export function ZapIcon(props) {
73
+ return (_jsx("svg", { ...base(props), children: _jsx("polygon", { points: "13 2 3 14 12 14 11 22 21 10 12 10 13 2" }) }));
74
+ }
75
+ export function ClipboardIcon(props) {
76
+ return (_jsxs("svg", { ...base(props), children: [_jsx("rect", { x: "9", y: "2", width: "6", height: "4", rx: "1" }), _jsx("path", { d: "M9 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-3" })] }));
77
+ }
78
+ export function BookIcon(props) {
79
+ return (_jsxs("svg", { ...base(props), children: [_jsx("path", { d: "M4 19.5A2.5 2.5 0 0 1 6.5 17H20" }), _jsx("path", { d: "M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z" })] }));
80
+ }
81
+ export function ThumbsUpIcon(props) {
82
+ return (_jsxs("svg", { ...base(props), children: [_jsx("path", { d: "M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9A2 2 0 0 0 19.66 9H14z" }), _jsx("line", { x1: "7", y1: "22", x2: "7", y2: "11" })] }));
83
+ }
84
+ export function PencilIcon(props) {
85
+ return (_jsxs("svg", { ...base(props), children: [_jsx("path", { d: "M12 20h9" }), _jsx("path", { d: "M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z" })] }));
86
+ }
87
+ //# sourceMappingURL=icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/cards/icons.tsx"],"names":[],"mappings":";AAYA,SAAS,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,EAAa;IAC7C,OAAO;QACL,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,WAAW;QACpB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,cAAc;QACtB,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,OAAgB;QAC/B,cAAc,EAAE,OAAgB;QAChC,GAAG,IAAI;KACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAgB;IACxC,OAAO,CACL,iBAAS,IAAI,CAAC,KAAK,CAAC,YAClB,mBAAU,MAAM,EAAC,gBAAgB,GAAG,GAChC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAgB;IAC9C,OAAO,CACL,iBAAS,IAAI,CAAC,KAAK,CAAC,YAClB,mBAAU,MAAM,EAAC,gBAAgB,GAAG,GAChC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAgB;IAC/C,OAAO,CACL,iBAAS,IAAI,CAAC,KAAK,CAAC,YAClB,mBAAU,MAAM,EAAC,gBAAgB,GAAG,GAChC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAgB;IAC5C,OAAO,CACL,iBAAS,IAAI,CAAC,KAAK,CAAC,YAClB,mBAAU,MAAM,EAAC,iBAAiB,GAAG,GACjC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAgB;IACxC,OAAO,CACL,kBAAS,IAAI,CAAC,KAAK,CAAC,aAClB,eAAM,CAAC,EAAC,0FAA0F,GAAG,EACrG,eAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,EACvC,eAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,IAAI,GAAG,IACvC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAgB;IACzC,OAAO,CACL,kBAAS,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAC1F,eAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,GAAG,EACtC,eAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,EACxC,eAAM,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,MAAM,GAAG,EAChD,eAAM,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,OAAO,GAAG,EACpD,eAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,GAAG,EACtC,eAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,EACxC,eAAM,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,OAAO,GAAG,EAClD,eAAM,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,MAAM,GAAG,IAC9C,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAgB;IAC5C,OAAO,CACL,kBAAS,IAAI,CAAC,KAAK,CAAC,aAClB,eAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,GAAG,EACrC,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,GAAG,EAC/B,iBAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,GAAG,EAC/B,eAAM,CAAC,EAAC,qBAAqB,GAAG,IAC5B,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAgB;IAC7C,OAAO,CACL,kBAAS,IAAI,CAAC,KAAK,CAAC,aAClB,mBAAU,MAAM,EAAC,aAAa,GAAG,EACjC,mBAAU,MAAM,EAAC,gBAAgB,GAAG,EACpC,eAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,GAAG,EACtC,eAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,IACpC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAgB;IACzC,OAAO,CACL,kBAAS,IAAI,CAAC,KAAK,CAAC,aAClB,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,GAAG,EACjC,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,GAAG,EAChC,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,GAAG,IAC5B,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAgB;IACxC,OAAO,CACL,kBAAS,IAAI,CAAC,KAAK,CAAC,aAClB,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,GAAG,EACjC,eAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,EACvC,eAAM,CAAC,EAAC,4FAA4F,GAAG,IACnG,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAgB;IAC/C,OAAO,CACL,kBAAS,IAAI,CAAC,KAAK,CAAC,aAClB,eAAM,CAAC,EAAC,0DAA0D,GAAG,EACrE,mBAAU,MAAM,EAAC,gBAAgB,GAAG,EACpC,eAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,GAAG,IACnC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAgB;IAClD,OAAO,CACL,kBAAS,IAAI,CAAC,KAAK,CAAC,aAClB,eAAM,CAAC,EAAC,0LAA0L,GAAG,EACrM,eAAM,CAAC,EAAC,gCAAgC,GAAG,EAC3C,eAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,IAAI,GAAG,IACvC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAgB;IAC1C,OAAO,CACL,kBAAS,IAAI,CAAC,KAAK,CAAC,aAClB,mBAAU,MAAM,EAAC,qBAAqB,GAAG,EACzC,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,GAAG,GAAG,EAC1C,eAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,IACpC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAgB;IACxC,OAAO,CACL,kBAAS,IAAI,CAAC,KAAK,CAAC,aAClB,eAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,EACxC,eAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,GAAG,EACvC,eAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,GAAG,IAClC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAgB;IACxC,OAAO,CACL,iBAAS,IAAI,CAAC,KAAK,CAAC,YAClB,eAAM,CAAC,EAAC,uJAAuJ,GAAG,GAC9J,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAgB;IACzC,OAAO,CACL,iBAAS,IAAI,CAAC,KAAK,CAAC,YAClB,eAAM,CAAC,EAAC,uDAAuD,GAAG,GAC9D,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAgB;IACxC,OAAO,CACL,kBAAS,IAAI,CAAC,KAAK,CAAC,aAClB,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,GAAG,EACjC,mBAAU,MAAM,EAAC,kBAAkB,GAAG,IAClC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAgB;IACvC,OAAO,CACL,iBAAS,IAAI,CAAC,KAAK,CAAC,YAClB,kBAAS,MAAM,EAAC,oBAAoB,GAAG,GACnC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAgB;IACvC,OAAO,CACL,iBAAS,IAAI,CAAC,KAAK,CAAC,YAClB,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,GAAG,GACvC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAgB;IACtC,OAAO,CACL,iBAAS,IAAI,CAAC,KAAK,CAAC,YAClB,kBAAS,MAAM,EAAC,wCAAwC,GAAG,GACvD,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAgB;IAC5C,OAAO,CACL,kBAAS,IAAI,CAAC,KAAK,CAAC,aAClB,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,GAAG,EAAC,MAAM,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,GAAG,EAChD,eAAM,CAAC,EAAC,2EAA2E,GAAG,IAClF,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAgB;IACvC,OAAO,CACL,kBAAS,IAAI,CAAC,KAAK,CAAC,aAClB,eAAM,CAAC,EAAC,iCAAiC,GAAG,EAC5C,eAAM,CAAC,EAAC,gEAAgE,GAAG,IACvE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAgB;IAC3C,OAAO,CACL,kBAAS,IAAI,CAAC,KAAK,CAAC,aAClB,eAAM,CAAC,EAAC,kFAAkF,GAAG,EAC7F,eAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,GAAG,IAClC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAgB;IACzC,OAAO,CACL,kBAAS,IAAI,CAAC,KAAK,CAAC,aAClB,eAAM,CAAC,EAAC,UAAU,GAAG,EACrB,eAAM,CAAC,EAAC,yDAAyD,GAAG,IAChE,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * `@steerable/agent-ui/cards`
3
+ *
4
+ * Subpath that bundles the 14 rich chat-block renderers used by deeppath /
5
+ * deeppath-agent / examples/web-shell. Every card consumes a typed `payload`
6
+ * sourced from the JSON schemas in `agent-protocol/spec/blocks/*.schema.json`
7
+ * (with TypeScript types generated by `pnpm gen`). All side-effects (submit,
8
+ * select, remediate, ...) flow through props -- apps stay in charge of state.
9
+ */
10
+ export { OrchestrationPlanCard } from './OrchestrationPlanCard.js';
11
+ export type { OrchestrationPlanCardProps, OrchestrationTaskStatus, } from './OrchestrationPlanCard.js';
12
+ export { QuizCard } from './QuizCard.js';
13
+ export type { QuizCardProps } from './QuizCard.js';
14
+ export { CoverageReportCard } from './CoverageReportCard.js';
15
+ export type { CoverageReportCardProps } from './CoverageReportCard.js';
16
+ export { AnalysisDocumentCard } from './AnalysisDocumentCard.js';
17
+ export type { AnalysisDocumentCardProps } from './AnalysisDocumentCard.js';
18
+ export { ResearchPlanCard } from './ResearchPlanCard.js';
19
+ export type { ResearchPlanCardProps } from './ResearchPlanCard.js';
20
+ export { SuggestedRepliesCard } from './SuggestedRepliesCard.js';
21
+ export type { SuggestedRepliesCardProps } from './SuggestedRepliesCard.js';
22
+ export { AskUserQuestionsCard } from './AskUserQuestionsCard.js';
23
+ export type { AskUserQuestionsCardProps } from './AskUserQuestionsCard.js';
24
+ export { ThinkingProcessCard } from './ThinkingProcessCard.js';
25
+ export type { ThinkingProcessCardProps } from './ThinkingProcessCard.js';
26
+ export { PlanStepsCard } from './PlanStepsCard.js';
27
+ export type { PlanStepsCardProps } from './PlanStepsCard.js';
28
+ export { PlanSelectorCard } from './PlanSelectorCard.js';
29
+ export type { PlanSelectorCardProps } from './PlanSelectorCard.js';
30
+ export { SearchSourcesCard } from './SearchSourcesCard.js';
31
+ export type { SearchSourcesCardProps } from './SearchSourcesCard.js';
32
+ export { SummaryMessageCard } from './SummaryMessageCard.js';
33
+ export type { SummaryMessageCardProps } from './SummaryMessageCard.js';
34
+ export { ActionSegmentCard } from './ActionSegmentCard.js';
35
+ export type { ActionSegmentCardProps } from './ActionSegmentCard.js';
36
+ export { ToolExecutionCard } from './ToolExecutionCard.js';
37
+ export type { ToolExecutionCardProps } from './ToolExecutionCard.js';
38
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cards/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EACV,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAE3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAE3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAE3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * `@steerable/agent-ui/cards`
3
+ *
4
+ * Subpath that bundles the 14 rich chat-block renderers used by deeppath /
5
+ * deeppath-agent / examples/web-shell. Every card consumes a typed `payload`
6
+ * sourced from the JSON schemas in `agent-protocol/spec/blocks/*.schema.json`
7
+ * (with TypeScript types generated by `pnpm gen`). All side-effects (submit,
8
+ * select, remediate, ...) flow through props -- apps stay in charge of state.
9
+ */
10
+ export { OrchestrationPlanCard } from './OrchestrationPlanCard.js';
11
+ export { QuizCard } from './QuizCard.js';
12
+ export { CoverageReportCard } from './CoverageReportCard.js';
13
+ export { AnalysisDocumentCard } from './AnalysisDocumentCard.js';
14
+ export { ResearchPlanCard } from './ResearchPlanCard.js';
15
+ export { SuggestedRepliesCard } from './SuggestedRepliesCard.js';
16
+ export { AskUserQuestionsCard } from './AskUserQuestionsCard.js';
17
+ export { ThinkingProcessCard } from './ThinkingProcessCard.js';
18
+ export { PlanStepsCard } from './PlanStepsCard.js';
19
+ export { PlanSelectorCard } from './PlanSelectorCard.js';
20
+ export { SearchSourcesCard } from './SearchSourcesCard.js';
21
+ export { SummaryMessageCard } from './SummaryMessageCard.js';
22
+ export { ActionSegmentCard } from './ActionSegmentCard.js';
23
+ export { ToolExecutionCard } from './ToolExecutionCard.js';
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cards/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAMnE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Version-agnostic helpers shared by the cards.
3
+ */
4
+ import type * as React from 'react';
5
+ /**
6
+ * Return type for `renderMarkdown` / `renderLabel` / etc. slots.
7
+ *
8
+ * We deliberately accept `unknown` so the prop type doesn't anchor consumers
9
+ * to a specific `@types/react` major (`React.ReactNode` is nominally
10
+ * different between v18 and v19 even though structurally compatible -- a
11
+ * consumer on React 19 cannot pass a function declared to return
12
+ * `React.ReactNode` (v19) into a framework prop that wants v18's
13
+ * `React.ReactNode`). The card then casts back to `React.ReactNode` at the
14
+ * render site, where TypeScript only cares about runtime shape and `unknown`
15
+ * widens harmlessly.
16
+ *
17
+ * For consumers, this just means: "return any valid React child".
18
+ */
19
+ export type RenderSlotResult = unknown;
20
+ /**
21
+ * Cast helper for use inside cards. Keeps render sites tidy.
22
+ */
23
+ export declare function asReactNode(value: RenderSlotResult): React.ReactNode;
24
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cards/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAEvC;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAEpE"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Cast helper for use inside cards. Keeps render sites tidy.
3
+ */
4
+ export function asReactNode(value) {
5
+ return value;
6
+ }
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cards/types.ts"],"names":[],"mappings":"AAqBA;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,OAAO,KAAwB,CAAC;AAClC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { ChatAgent } from '@steerable/agent-protocol';
2
+ export interface AgentSelectorProps {
3
+ agents: ChatAgent[];
4
+ selectedId: string;
5
+ onSelect: (id: string) => void;
6
+ renderAgent?: (agent: ChatAgent, state: {
7
+ selected: boolean;
8
+ }) => React.ReactNode;
9
+ className?: string;
10
+ disabled?: boolean;
11
+ loading?: boolean;
12
+ }
13
+ /**
14
+ * AgentSelector
15
+ *
16
+ * Keyboard support:
17
+ * - ArrowLeft / ArrowUp: move selection to previous agent
18
+ * - ArrowRight / ArrowDown: move selection to next agent
19
+ * - Home / End: jump to first / last agent
20
+ * - Enter / Space: select focused agent (native button behavior)
21
+ */
22
+ export declare function AgentSelector(props: AgentSelectorProps): import("react/jsx-runtime").JSX.Element;
23
+ //# sourceMappingURL=AgentSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentSelector.d.ts","sourceRoot":"","sources":["../../src/components/AgentSelector.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAG3D,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAeD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,2CA8GtD"}
@@ -0,0 +1,63 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
3
+ import { cn } from './cn.js';
4
+ function defaultRenderAgent(agent) {
5
+ return (_jsxs("span", { className: "inline-flex min-w-0 items-center gap-1.5", children: [agent.icon ? (_jsx("span", { "aria-hidden": true, className: "text-sm leading-none", children: agent.icon })) : null, _jsx("span", { className: "truncate", children: agent.name })] }));
6
+ }
7
+ /**
8
+ * AgentSelector
9
+ *
10
+ * Keyboard support:
11
+ * - ArrowLeft / ArrowUp: move selection to previous agent
12
+ * - ArrowRight / ArrowDown: move selection to next agent
13
+ * - Home / End: jump to first / last agent
14
+ * - Enter / Space: select focused agent (native button behavior)
15
+ */
16
+ export function AgentSelector(props) {
17
+ const { agents, selectedId, onSelect, renderAgent = defaultRenderAgent, className, disabled = false, loading = false, } = props;
18
+ const selectedIndex = useMemo(() => agents.findIndex((a) => a.id === selectedId), [agents, selectedId]);
19
+ if (loading) {
20
+ return (_jsx("div", { className: cn('inline-flex h-9 items-center rounded-agent-md border border-agent-border bg-agent-canvas px-3 text-sm text-agent-muted-foreground', className), "aria-live": "polite", children: "Loading agents\u2026" }));
21
+ }
22
+ if (agents.length === 0) {
23
+ return (_jsx("div", { className: cn('inline-flex h-9 items-center rounded-agent-md border border-agent-border bg-agent-canvas px-3 text-sm text-agent-muted-foreground', className), children: "No agents" }));
24
+ }
25
+ return (_jsx("div", { role: "radiogroup", "aria-label": "Agent selector", className: cn('inline-flex max-w-full items-center gap-1 rounded-agent-lg border border-agent-border bg-agent-canvas p-1', className), children: agents.map((agent, index) => {
26
+ const selected = agent.id === selectedId;
27
+ const tabIndex = selected
28
+ ? 0
29
+ : selectedIndex >= 0
30
+ ? -1
31
+ : index === 0
32
+ ? 0
33
+ : -1;
34
+ return (_jsx("button", { type: "button", role: "radio", "aria-checked": selected, "aria-label": agent.name, tabIndex: tabIndex, disabled: disabled, onClick: () => onSelect(agent.id), onKeyDown: (event) => {
35
+ if (disabled)
36
+ return;
37
+ let nextIndex = index;
38
+ if (event.key === 'ArrowRight' || event.key === 'ArrowDown') {
39
+ nextIndex = Math.min(agents.length - 1, index + 1);
40
+ }
41
+ else if (event.key === 'ArrowLeft' || event.key === 'ArrowUp') {
42
+ nextIndex = Math.max(0, index - 1);
43
+ }
44
+ else if (event.key === 'Home') {
45
+ nextIndex = 0;
46
+ }
47
+ else if (event.key === 'End') {
48
+ nextIndex = agents.length - 1;
49
+ }
50
+ else {
51
+ return;
52
+ }
53
+ if (nextIndex !== index) {
54
+ event.preventDefault();
55
+ const next = agents[nextIndex];
56
+ onSelect(next.id);
57
+ }
58
+ }, className: cn('inline-flex h-7 min-w-0 max-w-[220px] items-center rounded-agent-md px-2.5 text-sm transition-colors', selected
59
+ ? 'bg-agent-accent text-agent-accent-foreground'
60
+ : 'text-agent-foreground hover:bg-agent-muted', disabled && 'cursor-not-allowed opacity-50'), title: agent.name, children: renderAgent(agent, { selected }) }, agent.id));
61
+ }) }));
62
+ }
63
+ //# sourceMappingURL=AgentSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentSelector.js","sourceRoot":"","sources":["../../src/components/AgentSelector.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { AgentSelector } from './AgentSelector.js';
3
+ declare const meta: Meta<typeof AgentSelector>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof AgentSelector>;
6
+ export declare const Default: Story;
7
+ export declare const Disabled: Story;
8
+ export declare const SingleAgent: Story;
9
+ export declare const LongNames: Story;
10
+ export declare const Loading: Story;
11
+ export declare const Interactive: Story;
12
+ //# sourceMappingURL=AgentSelector.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentSelector.stories.d.ts","sourceRoot":"","sources":["../../src/components/AgentSelector.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AA4BnD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,aAAa,CAkBpC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,aAAa,CAAC,CAAC;AAE5C,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,QAAQ,EAAE,KAItB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAKzB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAoBvB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAczB,CAAC"}
@@ -0,0 +1,95 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { AgentSelector } from './AgentSelector.js';
4
+ const NOW = '2026-05-16T00:00:00Z';
5
+ const baseAgents = [
6
+ {
7
+ id: 'local-assistant',
8
+ name: 'Local Assistant',
9
+ icon: '๐Ÿค–',
10
+ createdAt: NOW,
11
+ updatedAt: NOW,
12
+ },
13
+ {
14
+ id: 'researcher',
15
+ name: 'Researcher',
16
+ icon: '๐Ÿ”Ž',
17
+ createdAt: NOW,
18
+ updatedAt: NOW,
19
+ },
20
+ {
21
+ id: 'planner',
22
+ name: 'Planner',
23
+ icon: '๐Ÿงญ',
24
+ createdAt: NOW,
25
+ updatedAt: NOW,
26
+ },
27
+ ];
28
+ const meta = {
29
+ title: 'Components/AgentSelector',
30
+ component: AgentSelector,
31
+ parameters: {
32
+ layout: 'centered',
33
+ actions: { argTypesRegex: '^on[A-Z].*' },
34
+ docs: {
35
+ description: {
36
+ component: 'Segmented selector for choosing the active chat agent. Supports keyboard navigation and custom rendering via `renderAgent`.',
37
+ },
38
+ },
39
+ },
40
+ args: {
41
+ agents: baseAgents,
42
+ selectedId: baseAgents[0].id,
43
+ onSelect: () => { },
44
+ },
45
+ };
46
+ export default meta;
47
+ export const Default = {};
48
+ export const Disabled = {
49
+ args: {
50
+ disabled: true,
51
+ },
52
+ };
53
+ export const SingleAgent = {
54
+ args: {
55
+ agents: [baseAgents[0]],
56
+ selectedId: baseAgents[0].id,
57
+ },
58
+ };
59
+ export const LongNames = {
60
+ args: {
61
+ agents: [
62
+ {
63
+ id: 'very-long',
64
+ name: 'This is a very long agent name that should truncate gracefully',
65
+ icon: '๐Ÿงช',
66
+ createdAt: NOW,
67
+ updatedAt: NOW,
68
+ },
69
+ {
70
+ id: 'also-long',
71
+ name: 'Another very long and descriptive specialist agent name',
72
+ icon: '๐Ÿ› ๏ธ',
73
+ createdAt: NOW,
74
+ updatedAt: NOW,
75
+ },
76
+ ],
77
+ selectedId: 'very-long',
78
+ },
79
+ };
80
+ export const Loading = {
81
+ args: {
82
+ loading: true,
83
+ agents: [],
84
+ },
85
+ };
86
+ export const Interactive = {
87
+ render: (args) => {
88
+ const InteractiveSelector = () => {
89
+ const [selectedId, setSelectedId] = useState(args.selectedId);
90
+ return (_jsx(AgentSelector, { ...args, selectedId: selectedId, onSelect: setSelectedId }));
91
+ };
92
+ return _jsx(InteractiveSelector, {});
93
+ },
94
+ };
95
+ //# sourceMappingURL=AgentSelector.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentSelector.stories.js","sourceRoot":"","sources":["../../src/components/AgentSelector.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,GAAG,GAAG,sBAAsB,CAAC;AAEnC,MAAM,UAAU,GAAgB;IAC9B;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;KACf;IACD;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;KACf;IACD;QACE,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;KACf;CACF,CAAC;AAEF,MAAM,IAAI,GAA+B;IACvC,KAAK,EAAE,0BAA0B;IACjC,SAAS,EAAE,aAAa;IACxB,UAAU,EAAE;QACV,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE;QACxC,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,SAAS,EACP,6HAA6H;aAChI;SACF;KACF;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,UAAU;QAClB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;QAC5B,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;KACnB;CACF,CAAC;AAEF,eAAe,IAAI,CAAC;AAGpB,MAAM,CAAC,MAAM,OAAO,GAAU,EAAE,CAAC;AAEjC,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAU;IAChC,IAAI,EAAE;QACJ,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACvB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;KAC7B;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAU;IAC9B,IAAI,EAAE;QACJ,MAAM,EAAE;YACN;gBACE,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,gEAAgE;gBACtE,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,GAAG;aACf;YACD;gBACE,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,yDAAyD;gBAC/D,IAAI,EAAE,KAAK;gBACX,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,GAAG;aACf;SACF;QACD,UAAU,EAAE,WAAW;KACxB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE;QACJ,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,EAAE;KACX;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAU;IAChC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,mBAAmB,GAAG,GAAG,EAAE;YAC/B,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9D,OAAO,CACL,KAAC,aAAa,OACR,IAAI,EACR,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,aAAa,GACvB,CACH,CAAC;QACJ,CAAC,CAAC;QACF,OAAO,KAAC,mBAAmB,KAAG,CAAC;IACjC,CAAC;CACF,CAAC"}