@actioneer/ads 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 (231) hide show
  1. package/LICENSE +21 -0
  2. package/bin/ads-init.mjs +314 -0
  3. package/components/accordion.d.ts +13 -0
  4. package/components/accordion.js +91 -0
  5. package/components/agents-ui/agent-audio-visualizer-aura.d.ts +11 -0
  6. package/components/agents-ui/agent-audio-visualizer-aura.js +277 -0
  7. package/components/agents-ui/agent-audio-visualizer-wave.d.ts +12 -0
  8. package/components/agents-ui/agent-audio-visualizer-wave.js +203 -0
  9. package/components/agents-ui/react-shader-toy.d.ts +87 -0
  10. package/components/agents-ui/react-shader-toy.js +531 -0
  11. package/components/ai-elements/chain-of-thought.d.ts +30 -0
  12. package/components/ai-elements/chain-of-thought.js +182 -0
  13. package/components/ai-elements/index.d.ts +11 -0
  14. package/components/ai-elements/inline-citation.d.ts +44 -0
  15. package/components/ai-elements/inline-citation.js +314 -0
  16. package/components/ai-elements/message.d.ts +96 -0
  17. package/components/ai-elements/message.js +308 -0
  18. package/components/ai-elements/queue.d.ts +60 -0
  19. package/components/ai-elements/queue.js +193 -0
  20. package/components/ai-elements/reasoning.d.ts +26 -0
  21. package/components/ai-elements/reasoning.js +131 -0
  22. package/components/ai-elements/shimmer.d.ts +25 -0
  23. package/components/ai-elements/shimmer.js +44 -0
  24. package/components/ai-elements/speech-input.d.ts +16 -0
  25. package/components/ai-elements/speech-input.js +151 -0
  26. package/components/ai-elements/task-progress.d.ts +41 -0
  27. package/components/ai-elements/task-progress.js +211 -0
  28. package/components/ai-elements/task.d.ts +35 -0
  29. package/components/ai-elements/task.js +73 -0
  30. package/components/ai-elements/tool.d.ts +53 -0
  31. package/components/ai-elements/tool.js +116 -0
  32. package/components/ai-elements/voice.d.ts +74 -0
  33. package/components/ai-elements/voice.js +875 -0
  34. package/components/alert.d.ts +21 -0
  35. package/components/alert.js +76 -0
  36. package/components/answer.d.ts +984 -0
  37. package/components/answer.js +543 -0
  38. package/components/assistant-ui/action-bar.d.ts +3 -0
  39. package/components/assistant-ui/action-bar.js +57 -0
  40. package/components/assistant-ui/answer-tool-ui.d.ts +5 -0
  41. package/components/assistant-ui/answer-tool-ui.js +42 -0
  42. package/components/assistant-ui/attachment.d.ts +50 -0
  43. package/components/assistant-ui/attachment.js +353 -0
  44. package/components/assistant-ui/badge.d.ts +11 -0
  45. package/components/assistant-ui/badge.js +54 -0
  46. package/components/assistant-ui/branch-picker.d.ts +3 -0
  47. package/components/assistant-ui/branch-picker.js +36 -0
  48. package/components/assistant-ui/chain-of-thought.d.ts +46 -0
  49. package/components/assistant-ui/composer-add-context.d.ts +50 -0
  50. package/components/assistant-ui/composer-add-context.js +209 -0
  51. package/components/assistant-ui/composer-deep-research.d.ts +16 -0
  52. package/components/assistant-ui/composer-deep-research.js +38 -0
  53. package/components/assistant-ui/composer-harness.d.ts +18 -0
  54. package/components/assistant-ui/composer-harness.js +186 -0
  55. package/components/assistant-ui/composer-trigger-popover.d.ts +47 -0
  56. package/components/assistant-ui/composer-trigger-popover.js +147 -0
  57. package/components/assistant-ui/composer.d.ts +8 -0
  58. package/components/assistant-ui/composer.js +276 -0
  59. package/components/assistant-ui/directive-text.d.ts +16 -0
  60. package/components/assistant-ui/directive-text.js +40 -0
  61. package/components/assistant-ui/error.d.ts +6 -0
  62. package/components/assistant-ui/error.js +39 -0
  63. package/components/assistant-ui/file.d.ts +37 -0
  64. package/components/assistant-ui/file.js +159 -0
  65. package/components/assistant-ui/follow-up-suggestions.d.ts +7 -0
  66. package/components/assistant-ui/follow-up-suggestions.js +44 -0
  67. package/components/assistant-ui/image.d.ts +46 -0
  68. package/components/assistant-ui/image.js +351 -0
  69. package/components/assistant-ui/index.d.ts +28 -0
  70. package/components/assistant-ui/markdown-text.d.ts +1 -0
  71. package/components/assistant-ui/markdown-text.js +242 -0
  72. package/components/assistant-ui/message-timing.d.ts +25 -0
  73. package/components/assistant-ui/message-timing.js +56 -0
  74. package/components/assistant-ui/message.d.ts +4 -0
  75. package/components/assistant-ui/message.js +159 -0
  76. package/components/assistant-ui/primitives.d.ts +2 -0
  77. package/components/assistant-ui/quote.d.ts +37 -0
  78. package/components/assistant-ui/quote.js +150 -0
  79. package/components/assistant-ui/reasoning.d.ts +44 -0
  80. package/components/assistant-ui/reasoning.js +261 -0
  81. package/components/assistant-ui/selection-toolbar.d.ts +29 -0
  82. package/components/assistant-ui/selection-toolbar.js +91 -0
  83. package/components/assistant-ui/smart-message-text.d.ts +15 -0
  84. package/components/assistant-ui/smart-message-text.js +29 -0
  85. package/components/assistant-ui/sources.d.ts +17 -0
  86. package/components/assistant-ui/sources.js +121 -0
  87. package/components/assistant-ui/suggestions.d.ts +7 -0
  88. package/components/assistant-ui/suggestions.js +19 -0
  89. package/components/assistant-ui/thread-context.d.ts +37 -0
  90. package/components/assistant-ui/thread-context.js +8 -0
  91. package/components/assistant-ui/thread.d.ts +5 -0
  92. package/components/assistant-ui/thread.js +77 -0
  93. package/components/assistant-ui/tool-fallback.d.ts +36 -0
  94. package/components/assistant-ui/tool-fallback.js +428 -0
  95. package/components/assistant-ui/tool-group.d.ts +33 -0
  96. package/components/assistant-ui/tool-group.js +173 -0
  97. package/components/assistant-ui/tooltip-icon-button.d.ts +7 -0
  98. package/components/assistant-ui/tooltip-icon-button.js +31 -0
  99. package/components/assistant-ui/voice.d.ts +18 -0
  100. package/components/autocomplete.d.ts +18 -0
  101. package/components/autocomplete.js +162 -0
  102. package/components/avatar.d.ts +26 -0
  103. package/components/avatar.js +92 -0
  104. package/components/badge.d.ts +10 -0
  105. package/components/badge.js +83 -0
  106. package/components/brand-loader.d.ts +16 -0
  107. package/components/brand-loader.js +64 -0
  108. package/components/breadcrumbs.d.ts +8 -0
  109. package/components/breadcrumbs.js +58 -0
  110. package/components/button.d.ts +13 -0
  111. package/components/button.js +100 -0
  112. package/components/card.d.ts +19 -0
  113. package/components/card.js +82 -0
  114. package/components/carousel.d.ts +31 -0
  115. package/components/carousel.js +351 -0
  116. package/components/chart.d.ts +165 -0
  117. package/components/chart.js +841 -0
  118. package/components/checkbox.d.ts +13 -0
  119. package/components/checkbox.js +84 -0
  120. package/components/chip.d.ts +13 -0
  121. package/components/chip.js +112 -0
  122. package/components/collapsible.d.ts +5 -0
  123. package/components/collapsible.js +31 -0
  124. package/components/connector-card.d.ts +62 -0
  125. package/components/connector-card.js +154 -0
  126. package/components/divider.d.ts +23 -0
  127. package/components/divider.js +69 -0
  128. package/components/drawer.d.ts +45 -0
  129. package/components/drawer.js +234 -0
  130. package/components/dropdown.d.ts +33 -0
  131. package/components/dropdown.js +198 -0
  132. package/components/empty-state.d.ts +8 -0
  133. package/components/empty-state.js +30 -0
  134. package/components/field.d.ts +20 -0
  135. package/components/field.js +74 -0
  136. package/components/index.d.ts +56 -0
  137. package/components/index.js +444 -0
  138. package/components/input-field.d.ts +22 -0
  139. package/components/input-field.js +91 -0
  140. package/components/input.d.ts +8 -0
  141. package/components/input.js +61 -0
  142. package/components/kbd.d.ts +6 -0
  143. package/components/kbd.js +26 -0
  144. package/components/link.d.ts +14 -0
  145. package/components/link.js +72 -0
  146. package/components/modal.d.ts +18 -0
  147. package/components/modal.js +156 -0
  148. package/components/navbar.d.ts +15 -0
  149. package/components/navbar.js +68 -0
  150. package/components/number-field.d.ts +11 -0
  151. package/components/number-field.js +89 -0
  152. package/components/pagination.d.ts +28 -0
  153. package/components/pagination.js +179 -0
  154. package/components/panel.d.ts +14 -0
  155. package/components/panel.js +71 -0
  156. package/components/pixel-blast-svg.d.ts +22 -0
  157. package/components/pixel-blast-svg.js +154 -0
  158. package/components/popover.d.ts +20 -0
  159. package/components/popover.js +101 -0
  160. package/components/progress-circle.d.ts +11 -0
  161. package/components/progress-circle.js +75 -0
  162. package/components/progress.d.ts +22 -0
  163. package/components/progress.js +66 -0
  164. package/components/radio.d.ts +16 -0
  165. package/components/radio.js +101 -0
  166. package/components/segmented.d.ts +16 -0
  167. package/components/segmented.js +103 -0
  168. package/components/select.d.ts +28 -0
  169. package/components/select.js +180 -0
  170. package/components/selection-action-bar.d.ts +11 -0
  171. package/components/selection-action-bar.js +59 -0
  172. package/components/sidebar.d.ts +118 -0
  173. package/components/sidebar.js +375 -0
  174. package/components/skeleton.d.ts +6 -0
  175. package/components/skeleton.js +26 -0
  176. package/components/slider.d.ts +11 -0
  177. package/components/slider.js +62 -0
  178. package/components/spinner.d.ts +11 -0
  179. package/components/spinner.js +62 -0
  180. package/components/switch.d.ts +7 -0
  181. package/components/switch.js +61 -0
  182. package/components/table.d.ts +59 -0
  183. package/components/table.js +254 -0
  184. package/components/tabs.d.ts +29 -0
  185. package/components/tabs.js +371 -0
  186. package/components/textarea.d.ts +5 -0
  187. package/components/textarea.js +24 -0
  188. package/components/timeline.d.ts +7 -0
  189. package/components/timeline.js +47 -0
  190. package/components/toast.d.ts +74 -0
  191. package/components/toast.js +211 -0
  192. package/components/tooltip.d.ts +11 -0
  193. package/components/tooltip.js +143 -0
  194. package/components/tree.d.ts +42 -0
  195. package/components/tree.js +86 -0
  196. package/components/typography.d.ts +33 -0
  197. package/components/typography.js +65 -0
  198. package/components/ui/avatar.d.ts +11 -0
  199. package/components/ui/avatar.js +56 -0
  200. package/components/ui/button.d.ts +10 -0
  201. package/components/ui/button.js +57 -0
  202. package/components/ui/collapsible.d.ts +5 -0
  203. package/components/ui/collapsible.js +35 -0
  204. package/components/ui/dialog.d.ts +17 -0
  205. package/components/ui/dialog.js +93 -0
  206. package/components/ui/tabs.d.ts +22 -0
  207. package/components/ui/tooltip.d.ts +7 -0
  208. package/components/ui/tooltip.js +56 -0
  209. package/fonts/aribau-grotesk-400.otf +0 -0
  210. package/fonts/aribau-grotesk-700.otf +0 -0
  211. package/fonts.css +21 -0
  212. package/hooks/agents-ui/use-agent-audio-visualizer-aura.d.ts +8 -0
  213. package/hooks/agents-ui/use-agent-audio-visualizer-aura.js +62 -0
  214. package/hooks/agents-ui/use-agent-audio-visualizer-wave.d.ts +7 -0
  215. package/hooks/agents-ui/use-agent-audio-visualizer-wave.js +60 -0
  216. package/hooks/agents-ui/voice-visualizer-types.d.ts +9 -0
  217. package/lib/cn.d.ts +3 -0
  218. package/lib/cn.js +9 -0
  219. package/lib/icons.d.ts +378 -0
  220. package/lib/icons.js +119 -0
  221. package/lib/interactive.d.ts +24 -0
  222. package/lib/interactive.js +36 -0
  223. package/lib/motion.d.ts +58 -0
  224. package/lib/motion.js +70 -0
  225. package/lib/router.d.ts +3 -0
  226. package/lib/utils.d.ts +6 -0
  227. package/llms.txt +537 -0
  228. package/manifest.json +5085 -0
  229. package/package.json +60 -0
  230. package/styles.css +653 -0
  231. package/theme.css +273 -0
@@ -0,0 +1,984 @@
1
+ import { z } from 'zod/v4';
2
+ import * as React from "react";
3
+ /** The single tool name every ADS assistant uses for deterministic answers. */
4
+ export declare const ANSWER_TOOL_NAME = "render_answer";
5
+ export declare const ANSWER_TOOL_DESCRIPTION = "Render the final answer with one curated ADS template. Choose the semantic kind that best matches the answer and provide only validated data; the application owns the layout.";
6
+ export declare const AnswerToneSchema: z.ZodEnum<{
7
+ success: "success";
8
+ warning: "warning";
9
+ danger: "danger";
10
+ info: "info";
11
+ default: "default";
12
+ primary: "primary";
13
+ }>;
14
+ export declare const AnswerFollowUpSchema: z.ZodObject<{
15
+ id: z.ZodString;
16
+ label: z.ZodString;
17
+ prompt: z.ZodOptional<z.ZodString>;
18
+ }, z.core.$strip>;
19
+ export declare const AnswerSourceSchema: z.ZodObject<{
20
+ id: z.ZodString;
21
+ label: z.ZodString;
22
+ description: z.ZodOptional<z.ZodString>;
23
+ }, z.core.$strip>;
24
+ export declare const AnswerSignalSchema: z.ZodObject<{
25
+ label: z.ZodOptional<z.ZodString>;
26
+ text: z.ZodString;
27
+ tone: z.ZodOptional<z.ZodEnum<{
28
+ success: "success";
29
+ warning: "warning";
30
+ danger: "danger";
31
+ info: "info";
32
+ default: "default";
33
+ primary: "primary";
34
+ }>>;
35
+ }, z.core.$strip>;
36
+ export declare const ComparisonAnswerSchema: z.ZodObject<{
37
+ kind: z.ZodLiteral<"comparison">;
38
+ subjects: z.ZodTuple<[z.ZodObject<{
39
+ label: z.ZodString;
40
+ description: z.ZodOptional<z.ZodString>;
41
+ }, z.core.$strip>, z.ZodObject<{
42
+ label: z.ZodString;
43
+ description: z.ZodOptional<z.ZodString>;
44
+ }, z.core.$strip>], null>;
45
+ rows: z.ZodArray<z.ZodObject<{
46
+ label: z.ZodString;
47
+ values: z.ZodTuple<[z.ZodObject<{
48
+ value: z.ZodString;
49
+ detail: z.ZodOptional<z.ZodString>;
50
+ tone: z.ZodOptional<z.ZodEnum<{
51
+ success: "success";
52
+ warning: "warning";
53
+ danger: "danger";
54
+ info: "info";
55
+ default: "default";
56
+ primary: "primary";
57
+ }>>;
58
+ }, z.core.$strip>, z.ZodObject<{
59
+ value: z.ZodString;
60
+ detail: z.ZodOptional<z.ZodString>;
61
+ tone: z.ZodOptional<z.ZodEnum<{
62
+ success: "success";
63
+ warning: "warning";
64
+ danger: "danger";
65
+ info: "info";
66
+ default: "default";
67
+ primary: "primary";
68
+ }>>;
69
+ }, z.core.$strip>], null>;
70
+ delta: z.ZodOptional<z.ZodObject<{
71
+ value: z.ZodString;
72
+ tone: z.ZodOptional<z.ZodEnum<{
73
+ success: "success";
74
+ warning: "warning";
75
+ danger: "danger";
76
+ info: "info";
77
+ default: "default";
78
+ primary: "primary";
79
+ }>>;
80
+ }, z.core.$strip>>;
81
+ }, z.core.$strip>>;
82
+ takeaway: z.ZodOptional<z.ZodObject<{
83
+ label: z.ZodOptional<z.ZodString>;
84
+ text: z.ZodString;
85
+ tone: z.ZodOptional<z.ZodEnum<{
86
+ success: "success";
87
+ warning: "warning";
88
+ danger: "danger";
89
+ info: "info";
90
+ default: "default";
91
+ primary: "primary";
92
+ }>>;
93
+ }, z.core.$strip>>;
94
+ eyebrow: z.ZodOptional<z.ZodString>;
95
+ headline: z.ZodString;
96
+ summary: z.ZodOptional<z.ZodString>;
97
+ followUps: z.ZodOptional<z.ZodArray<z.ZodObject<{
98
+ id: z.ZodString;
99
+ label: z.ZodString;
100
+ prompt: z.ZodOptional<z.ZodString>;
101
+ }, z.core.$strip>>>;
102
+ sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
103
+ id: z.ZodString;
104
+ label: z.ZodString;
105
+ description: z.ZodOptional<z.ZodString>;
106
+ }, z.core.$strip>>>;
107
+ }, z.core.$strip>;
108
+ export declare const TrendAnswerSchema: z.ZodObject<{
109
+ kind: z.ZodLiteral<"trend">;
110
+ metric: z.ZodOptional<z.ZodObject<{
111
+ label: z.ZodString;
112
+ value: z.ZodString;
113
+ change: z.ZodOptional<z.ZodString>;
114
+ tone: z.ZodOptional<z.ZodEnum<{
115
+ success: "success";
116
+ warning: "warning";
117
+ danger: "danger";
118
+ info: "info";
119
+ default: "default";
120
+ primary: "primary";
121
+ }>>;
122
+ }, z.core.$strip>>;
123
+ chart: z.ZodObject<{
124
+ type: z.ZodEnum<{
125
+ area: "area";
126
+ line: "line";
127
+ bar: "bar";
128
+ }>;
129
+ data: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>>>;
130
+ categoryKey: z.ZodString;
131
+ series: z.ZodArray<z.ZodString>;
132
+ seriesLabels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
133
+ highlight: z.ZodOptional<z.ZodString>;
134
+ unit: z.ZodOptional<z.ZodString>;
135
+ annotations: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
136
+ kind: z.ZodLiteral<"line">;
137
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
138
+ axis: z.ZodOptional<z.ZodEnum<{
139
+ x: "x";
140
+ y: "y";
141
+ }>>;
142
+ label: z.ZodOptional<z.ZodString>;
143
+ color: z.ZodOptional<z.ZodEnum<{
144
+ success: "success";
145
+ warning: "warning";
146
+ danger: "danger";
147
+ info: "info";
148
+ primary: "primary";
149
+ }>>;
150
+ }, z.core.$strip>, z.ZodObject<{
151
+ kind: z.ZodLiteral<"band">;
152
+ from: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
153
+ to: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
154
+ axis: z.ZodOptional<z.ZodEnum<{
155
+ x: "x";
156
+ y: "y";
157
+ }>>;
158
+ label: z.ZodOptional<z.ZodString>;
159
+ color: z.ZodOptional<z.ZodEnum<{
160
+ success: "success";
161
+ warning: "warning";
162
+ danger: "danger";
163
+ info: "info";
164
+ primary: "primary";
165
+ }>>;
166
+ }, z.core.$strip>, z.ZodObject<{
167
+ kind: z.ZodLiteral<"point">;
168
+ x: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
169
+ y: z.ZodNumber;
170
+ label: z.ZodString;
171
+ description: z.ZodOptional<z.ZodString>;
172
+ color: z.ZodOptional<z.ZodEnum<{
173
+ success: "success";
174
+ warning: "warning";
175
+ danger: "danger";
176
+ info: "info";
177
+ primary: "primary";
178
+ }>>;
179
+ }, z.core.$strip>], "kind">>>;
180
+ }, z.core.$strip>;
181
+ insight: z.ZodOptional<z.ZodObject<{
182
+ label: z.ZodOptional<z.ZodString>;
183
+ text: z.ZodString;
184
+ tone: z.ZodOptional<z.ZodEnum<{
185
+ success: "success";
186
+ warning: "warning";
187
+ danger: "danger";
188
+ info: "info";
189
+ default: "default";
190
+ primary: "primary";
191
+ }>>;
192
+ }, z.core.$strip>>;
193
+ eyebrow: z.ZodOptional<z.ZodString>;
194
+ headline: z.ZodString;
195
+ summary: z.ZodOptional<z.ZodString>;
196
+ followUps: z.ZodOptional<z.ZodArray<z.ZodObject<{
197
+ id: z.ZodString;
198
+ label: z.ZodString;
199
+ prompt: z.ZodOptional<z.ZodString>;
200
+ }, z.core.$strip>>>;
201
+ sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
202
+ id: z.ZodString;
203
+ label: z.ZodString;
204
+ description: z.ZodOptional<z.ZodString>;
205
+ }, z.core.$strip>>>;
206
+ }, z.core.$strip>;
207
+ export declare const StatusAnswerSchema: z.ZodObject<{
208
+ kind: z.ZodLiteral<"status">;
209
+ overall: z.ZodOptional<z.ZodObject<{
210
+ label: z.ZodString;
211
+ value: z.ZodString;
212
+ tone: z.ZodOptional<z.ZodEnum<{
213
+ success: "success";
214
+ warning: "warning";
215
+ danger: "danger";
216
+ info: "info";
217
+ default: "default";
218
+ primary: "primary";
219
+ }>>;
220
+ }, z.core.$strip>>;
221
+ items: z.ZodArray<z.ZodObject<{
222
+ label: z.ZodString;
223
+ status: z.ZodString;
224
+ detail: z.ZodOptional<z.ZodString>;
225
+ meta: z.ZodOptional<z.ZodString>;
226
+ tone: z.ZodOptional<z.ZodEnum<{
227
+ success: "success";
228
+ warning: "warning";
229
+ danger: "danger";
230
+ info: "info";
231
+ default: "default";
232
+ primary: "primary";
233
+ }>>;
234
+ }, z.core.$strip>>;
235
+ recommendation: z.ZodOptional<z.ZodObject<{
236
+ label: z.ZodOptional<z.ZodString>;
237
+ text: z.ZodString;
238
+ tone: z.ZodOptional<z.ZodEnum<{
239
+ success: "success";
240
+ warning: "warning";
241
+ danger: "danger";
242
+ info: "info";
243
+ default: "default";
244
+ primary: "primary";
245
+ }>>;
246
+ }, z.core.$strip>>;
247
+ eyebrow: z.ZodOptional<z.ZodString>;
248
+ headline: z.ZodString;
249
+ summary: z.ZodOptional<z.ZodString>;
250
+ followUps: z.ZodOptional<z.ZodArray<z.ZodObject<{
251
+ id: z.ZodString;
252
+ label: z.ZodString;
253
+ prompt: z.ZodOptional<z.ZodString>;
254
+ }, z.core.$strip>>>;
255
+ sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
256
+ id: z.ZodString;
257
+ label: z.ZodString;
258
+ description: z.ZodOptional<z.ZodString>;
259
+ }, z.core.$strip>>>;
260
+ }, z.core.$strip>;
261
+ export declare const BreakdownAnswerSchema: z.ZodObject<{
262
+ kind: z.ZodLiteral<"breakdown">;
263
+ total: z.ZodOptional<z.ZodObject<{
264
+ label: z.ZodString;
265
+ value: z.ZodString;
266
+ }, z.core.$strip>>;
267
+ items: z.ZodArray<z.ZodObject<{
268
+ label: z.ZodString;
269
+ value: z.ZodString;
270
+ share: z.ZodNumber;
271
+ detail: z.ZodOptional<z.ZodString>;
272
+ tone: z.ZodOptional<z.ZodEnum<{
273
+ success: "success";
274
+ warning: "warning";
275
+ danger: "danger";
276
+ info: "info";
277
+ default: "default";
278
+ primary: "primary";
279
+ }>>;
280
+ }, z.core.$strip>>;
281
+ insight: z.ZodOptional<z.ZodObject<{
282
+ label: z.ZodOptional<z.ZodString>;
283
+ text: z.ZodString;
284
+ tone: z.ZodOptional<z.ZodEnum<{
285
+ success: "success";
286
+ warning: "warning";
287
+ danger: "danger";
288
+ info: "info";
289
+ default: "default";
290
+ primary: "primary";
291
+ }>>;
292
+ }, z.core.$strip>>;
293
+ eyebrow: z.ZodOptional<z.ZodString>;
294
+ headline: z.ZodString;
295
+ summary: z.ZodOptional<z.ZodString>;
296
+ followUps: z.ZodOptional<z.ZodArray<z.ZodObject<{
297
+ id: z.ZodString;
298
+ label: z.ZodString;
299
+ prompt: z.ZodOptional<z.ZodString>;
300
+ }, z.core.$strip>>>;
301
+ sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
302
+ id: z.ZodString;
303
+ label: z.ZodString;
304
+ description: z.ZodOptional<z.ZodString>;
305
+ }, z.core.$strip>>>;
306
+ }, z.core.$strip>;
307
+ export declare const ExplanationAnswerSchema: z.ZodObject<{
308
+ kind: z.ZodLiteral<"explanation">;
309
+ sections: z.ZodArray<z.ZodObject<{
310
+ title: z.ZodString;
311
+ body: z.ZodOptional<z.ZodString>;
312
+ bullets: z.ZodOptional<z.ZodArray<z.ZodString>>;
313
+ }, z.core.$strip>>;
314
+ takeaway: z.ZodOptional<z.ZodObject<{
315
+ label: z.ZodOptional<z.ZodString>;
316
+ text: z.ZodString;
317
+ tone: z.ZodOptional<z.ZodEnum<{
318
+ success: "success";
319
+ warning: "warning";
320
+ danger: "danger";
321
+ info: "info";
322
+ default: "default";
323
+ primary: "primary";
324
+ }>>;
325
+ }, z.core.$strip>>;
326
+ eyebrow: z.ZodOptional<z.ZodString>;
327
+ headline: z.ZodString;
328
+ summary: z.ZodOptional<z.ZodString>;
329
+ followUps: z.ZodOptional<z.ZodArray<z.ZodObject<{
330
+ id: z.ZodString;
331
+ label: z.ZodString;
332
+ prompt: z.ZodOptional<z.ZodString>;
333
+ }, z.core.$strip>>>;
334
+ sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
335
+ id: z.ZodString;
336
+ label: z.ZodString;
337
+ description: z.ZodOptional<z.ZodString>;
338
+ }, z.core.$strip>>>;
339
+ }, z.core.$strip>;
340
+ /** The complete model-facing contract. No free-form layout nodes are allowed. */
341
+ export declare const AnswerSpecSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
342
+ kind: z.ZodLiteral<"comparison">;
343
+ subjects: z.ZodTuple<[z.ZodObject<{
344
+ label: z.ZodString;
345
+ description: z.ZodOptional<z.ZodString>;
346
+ }, z.core.$strip>, z.ZodObject<{
347
+ label: z.ZodString;
348
+ description: z.ZodOptional<z.ZodString>;
349
+ }, z.core.$strip>], null>;
350
+ rows: z.ZodArray<z.ZodObject<{
351
+ label: z.ZodString;
352
+ values: z.ZodTuple<[z.ZodObject<{
353
+ value: z.ZodString;
354
+ detail: z.ZodOptional<z.ZodString>;
355
+ tone: z.ZodOptional<z.ZodEnum<{
356
+ success: "success";
357
+ warning: "warning";
358
+ danger: "danger";
359
+ info: "info";
360
+ default: "default";
361
+ primary: "primary";
362
+ }>>;
363
+ }, z.core.$strip>, z.ZodObject<{
364
+ value: z.ZodString;
365
+ detail: z.ZodOptional<z.ZodString>;
366
+ tone: z.ZodOptional<z.ZodEnum<{
367
+ success: "success";
368
+ warning: "warning";
369
+ danger: "danger";
370
+ info: "info";
371
+ default: "default";
372
+ primary: "primary";
373
+ }>>;
374
+ }, z.core.$strip>], null>;
375
+ delta: z.ZodOptional<z.ZodObject<{
376
+ value: z.ZodString;
377
+ tone: z.ZodOptional<z.ZodEnum<{
378
+ success: "success";
379
+ warning: "warning";
380
+ danger: "danger";
381
+ info: "info";
382
+ default: "default";
383
+ primary: "primary";
384
+ }>>;
385
+ }, z.core.$strip>>;
386
+ }, z.core.$strip>>;
387
+ takeaway: z.ZodOptional<z.ZodObject<{
388
+ label: z.ZodOptional<z.ZodString>;
389
+ text: z.ZodString;
390
+ tone: z.ZodOptional<z.ZodEnum<{
391
+ success: "success";
392
+ warning: "warning";
393
+ danger: "danger";
394
+ info: "info";
395
+ default: "default";
396
+ primary: "primary";
397
+ }>>;
398
+ }, z.core.$strip>>;
399
+ eyebrow: z.ZodOptional<z.ZodString>;
400
+ headline: z.ZodString;
401
+ summary: z.ZodOptional<z.ZodString>;
402
+ followUps: z.ZodOptional<z.ZodArray<z.ZodObject<{
403
+ id: z.ZodString;
404
+ label: z.ZodString;
405
+ prompt: z.ZodOptional<z.ZodString>;
406
+ }, z.core.$strip>>>;
407
+ sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
408
+ id: z.ZodString;
409
+ label: z.ZodString;
410
+ description: z.ZodOptional<z.ZodString>;
411
+ }, z.core.$strip>>>;
412
+ }, z.core.$strip>, z.ZodObject<{
413
+ kind: z.ZodLiteral<"trend">;
414
+ metric: z.ZodOptional<z.ZodObject<{
415
+ label: z.ZodString;
416
+ value: z.ZodString;
417
+ change: z.ZodOptional<z.ZodString>;
418
+ tone: z.ZodOptional<z.ZodEnum<{
419
+ success: "success";
420
+ warning: "warning";
421
+ danger: "danger";
422
+ info: "info";
423
+ default: "default";
424
+ primary: "primary";
425
+ }>>;
426
+ }, z.core.$strip>>;
427
+ chart: z.ZodObject<{
428
+ type: z.ZodEnum<{
429
+ area: "area";
430
+ line: "line";
431
+ bar: "bar";
432
+ }>;
433
+ data: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>>>;
434
+ categoryKey: z.ZodString;
435
+ series: z.ZodArray<z.ZodString>;
436
+ seriesLabels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
437
+ highlight: z.ZodOptional<z.ZodString>;
438
+ unit: z.ZodOptional<z.ZodString>;
439
+ annotations: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
440
+ kind: z.ZodLiteral<"line">;
441
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
442
+ axis: z.ZodOptional<z.ZodEnum<{
443
+ x: "x";
444
+ y: "y";
445
+ }>>;
446
+ label: z.ZodOptional<z.ZodString>;
447
+ color: z.ZodOptional<z.ZodEnum<{
448
+ success: "success";
449
+ warning: "warning";
450
+ danger: "danger";
451
+ info: "info";
452
+ primary: "primary";
453
+ }>>;
454
+ }, z.core.$strip>, z.ZodObject<{
455
+ kind: z.ZodLiteral<"band">;
456
+ from: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
457
+ to: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
458
+ axis: z.ZodOptional<z.ZodEnum<{
459
+ x: "x";
460
+ y: "y";
461
+ }>>;
462
+ label: z.ZodOptional<z.ZodString>;
463
+ color: z.ZodOptional<z.ZodEnum<{
464
+ success: "success";
465
+ warning: "warning";
466
+ danger: "danger";
467
+ info: "info";
468
+ primary: "primary";
469
+ }>>;
470
+ }, z.core.$strip>, z.ZodObject<{
471
+ kind: z.ZodLiteral<"point">;
472
+ x: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
473
+ y: z.ZodNumber;
474
+ label: z.ZodString;
475
+ description: z.ZodOptional<z.ZodString>;
476
+ color: z.ZodOptional<z.ZodEnum<{
477
+ success: "success";
478
+ warning: "warning";
479
+ danger: "danger";
480
+ info: "info";
481
+ primary: "primary";
482
+ }>>;
483
+ }, z.core.$strip>], "kind">>>;
484
+ }, z.core.$strip>;
485
+ insight: z.ZodOptional<z.ZodObject<{
486
+ label: z.ZodOptional<z.ZodString>;
487
+ text: z.ZodString;
488
+ tone: z.ZodOptional<z.ZodEnum<{
489
+ success: "success";
490
+ warning: "warning";
491
+ danger: "danger";
492
+ info: "info";
493
+ default: "default";
494
+ primary: "primary";
495
+ }>>;
496
+ }, z.core.$strip>>;
497
+ eyebrow: z.ZodOptional<z.ZodString>;
498
+ headline: z.ZodString;
499
+ summary: z.ZodOptional<z.ZodString>;
500
+ followUps: z.ZodOptional<z.ZodArray<z.ZodObject<{
501
+ id: z.ZodString;
502
+ label: z.ZodString;
503
+ prompt: z.ZodOptional<z.ZodString>;
504
+ }, z.core.$strip>>>;
505
+ sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
506
+ id: z.ZodString;
507
+ label: z.ZodString;
508
+ description: z.ZodOptional<z.ZodString>;
509
+ }, z.core.$strip>>>;
510
+ }, z.core.$strip>, z.ZodObject<{
511
+ kind: z.ZodLiteral<"status">;
512
+ overall: z.ZodOptional<z.ZodObject<{
513
+ label: z.ZodString;
514
+ value: z.ZodString;
515
+ tone: z.ZodOptional<z.ZodEnum<{
516
+ success: "success";
517
+ warning: "warning";
518
+ danger: "danger";
519
+ info: "info";
520
+ default: "default";
521
+ primary: "primary";
522
+ }>>;
523
+ }, z.core.$strip>>;
524
+ items: z.ZodArray<z.ZodObject<{
525
+ label: z.ZodString;
526
+ status: z.ZodString;
527
+ detail: z.ZodOptional<z.ZodString>;
528
+ meta: z.ZodOptional<z.ZodString>;
529
+ tone: z.ZodOptional<z.ZodEnum<{
530
+ success: "success";
531
+ warning: "warning";
532
+ danger: "danger";
533
+ info: "info";
534
+ default: "default";
535
+ primary: "primary";
536
+ }>>;
537
+ }, z.core.$strip>>;
538
+ recommendation: z.ZodOptional<z.ZodObject<{
539
+ label: z.ZodOptional<z.ZodString>;
540
+ text: z.ZodString;
541
+ tone: z.ZodOptional<z.ZodEnum<{
542
+ success: "success";
543
+ warning: "warning";
544
+ danger: "danger";
545
+ info: "info";
546
+ default: "default";
547
+ primary: "primary";
548
+ }>>;
549
+ }, z.core.$strip>>;
550
+ eyebrow: z.ZodOptional<z.ZodString>;
551
+ headline: z.ZodString;
552
+ summary: z.ZodOptional<z.ZodString>;
553
+ followUps: z.ZodOptional<z.ZodArray<z.ZodObject<{
554
+ id: z.ZodString;
555
+ label: z.ZodString;
556
+ prompt: z.ZodOptional<z.ZodString>;
557
+ }, z.core.$strip>>>;
558
+ sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
559
+ id: z.ZodString;
560
+ label: z.ZodString;
561
+ description: z.ZodOptional<z.ZodString>;
562
+ }, z.core.$strip>>>;
563
+ }, z.core.$strip>, z.ZodObject<{
564
+ kind: z.ZodLiteral<"breakdown">;
565
+ total: z.ZodOptional<z.ZodObject<{
566
+ label: z.ZodString;
567
+ value: z.ZodString;
568
+ }, z.core.$strip>>;
569
+ items: z.ZodArray<z.ZodObject<{
570
+ label: z.ZodString;
571
+ value: z.ZodString;
572
+ share: z.ZodNumber;
573
+ detail: z.ZodOptional<z.ZodString>;
574
+ tone: z.ZodOptional<z.ZodEnum<{
575
+ success: "success";
576
+ warning: "warning";
577
+ danger: "danger";
578
+ info: "info";
579
+ default: "default";
580
+ primary: "primary";
581
+ }>>;
582
+ }, z.core.$strip>>;
583
+ insight: z.ZodOptional<z.ZodObject<{
584
+ label: z.ZodOptional<z.ZodString>;
585
+ text: z.ZodString;
586
+ tone: z.ZodOptional<z.ZodEnum<{
587
+ success: "success";
588
+ warning: "warning";
589
+ danger: "danger";
590
+ info: "info";
591
+ default: "default";
592
+ primary: "primary";
593
+ }>>;
594
+ }, z.core.$strip>>;
595
+ eyebrow: z.ZodOptional<z.ZodString>;
596
+ headline: z.ZodString;
597
+ summary: z.ZodOptional<z.ZodString>;
598
+ followUps: z.ZodOptional<z.ZodArray<z.ZodObject<{
599
+ id: z.ZodString;
600
+ label: z.ZodString;
601
+ prompt: z.ZodOptional<z.ZodString>;
602
+ }, z.core.$strip>>>;
603
+ sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
604
+ id: z.ZodString;
605
+ label: z.ZodString;
606
+ description: z.ZodOptional<z.ZodString>;
607
+ }, z.core.$strip>>>;
608
+ }, z.core.$strip>, z.ZodObject<{
609
+ kind: z.ZodLiteral<"explanation">;
610
+ sections: z.ZodArray<z.ZodObject<{
611
+ title: z.ZodString;
612
+ body: z.ZodOptional<z.ZodString>;
613
+ bullets: z.ZodOptional<z.ZodArray<z.ZodString>>;
614
+ }, z.core.$strip>>;
615
+ takeaway: z.ZodOptional<z.ZodObject<{
616
+ label: z.ZodOptional<z.ZodString>;
617
+ text: z.ZodString;
618
+ tone: z.ZodOptional<z.ZodEnum<{
619
+ success: "success";
620
+ warning: "warning";
621
+ danger: "danger";
622
+ info: "info";
623
+ default: "default";
624
+ primary: "primary";
625
+ }>>;
626
+ }, z.core.$strip>>;
627
+ eyebrow: z.ZodOptional<z.ZodString>;
628
+ headline: z.ZodString;
629
+ summary: z.ZodOptional<z.ZodString>;
630
+ followUps: z.ZodOptional<z.ZodArray<z.ZodObject<{
631
+ id: z.ZodString;
632
+ label: z.ZodString;
633
+ prompt: z.ZodOptional<z.ZodString>;
634
+ }, z.core.$strip>>>;
635
+ sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
636
+ id: z.ZodString;
637
+ label: z.ZodString;
638
+ description: z.ZodOptional<z.ZodString>;
639
+ }, z.core.$strip>>>;
640
+ }, z.core.$strip>], "kind">;
641
+ export type AnswerTone = z.infer<typeof AnswerToneSchema>;
642
+ export type AnswerFollowUp = z.infer<typeof AnswerFollowUpSchema>;
643
+ export type AnswerSource = z.infer<typeof AnswerSourceSchema>;
644
+ export type ComparisonAnswerSpec = z.infer<typeof ComparisonAnswerSchema>;
645
+ export type TrendAnswerSpec = z.infer<typeof TrendAnswerSchema>;
646
+ export type StatusAnswerSpec = z.infer<typeof StatusAnswerSchema>;
647
+ export type BreakdownAnswerSpec = z.infer<typeof BreakdownAnswerSchema>;
648
+ export type ExplanationAnswerSpec = z.infer<typeof ExplanationAnswerSchema>;
649
+ export type AnswerSpec = z.infer<typeof AnswerSpecSchema>;
650
+ /** Drop this into an agent/toolkit registration and adapt the field names as needed. */
651
+ export declare const answerTool: {
652
+ readonly name: "render_answer";
653
+ readonly description: "Render the final answer with one curated ADS template. Choose the semantic kind that best matches the answer and provide only validated data; the application owns the layout.";
654
+ readonly inputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
655
+ kind: z.ZodLiteral<"comparison">;
656
+ subjects: z.ZodTuple<[z.ZodObject<{
657
+ label: z.ZodString;
658
+ description: z.ZodOptional<z.ZodString>;
659
+ }, z.core.$strip>, z.ZodObject<{
660
+ label: z.ZodString;
661
+ description: z.ZodOptional<z.ZodString>;
662
+ }, z.core.$strip>], null>;
663
+ rows: z.ZodArray<z.ZodObject<{
664
+ label: z.ZodString;
665
+ values: z.ZodTuple<[z.ZodObject<{
666
+ value: z.ZodString;
667
+ detail: z.ZodOptional<z.ZodString>;
668
+ tone: z.ZodOptional<z.ZodEnum<{
669
+ success: "success";
670
+ warning: "warning";
671
+ danger: "danger";
672
+ info: "info";
673
+ default: "default";
674
+ primary: "primary";
675
+ }>>;
676
+ }, z.core.$strip>, z.ZodObject<{
677
+ value: z.ZodString;
678
+ detail: z.ZodOptional<z.ZodString>;
679
+ tone: z.ZodOptional<z.ZodEnum<{
680
+ success: "success";
681
+ warning: "warning";
682
+ danger: "danger";
683
+ info: "info";
684
+ default: "default";
685
+ primary: "primary";
686
+ }>>;
687
+ }, z.core.$strip>], null>;
688
+ delta: z.ZodOptional<z.ZodObject<{
689
+ value: z.ZodString;
690
+ tone: z.ZodOptional<z.ZodEnum<{
691
+ success: "success";
692
+ warning: "warning";
693
+ danger: "danger";
694
+ info: "info";
695
+ default: "default";
696
+ primary: "primary";
697
+ }>>;
698
+ }, z.core.$strip>>;
699
+ }, z.core.$strip>>;
700
+ takeaway: z.ZodOptional<z.ZodObject<{
701
+ label: z.ZodOptional<z.ZodString>;
702
+ text: z.ZodString;
703
+ tone: z.ZodOptional<z.ZodEnum<{
704
+ success: "success";
705
+ warning: "warning";
706
+ danger: "danger";
707
+ info: "info";
708
+ default: "default";
709
+ primary: "primary";
710
+ }>>;
711
+ }, z.core.$strip>>;
712
+ eyebrow: z.ZodOptional<z.ZodString>;
713
+ headline: z.ZodString;
714
+ summary: z.ZodOptional<z.ZodString>;
715
+ followUps: z.ZodOptional<z.ZodArray<z.ZodObject<{
716
+ id: z.ZodString;
717
+ label: z.ZodString;
718
+ prompt: z.ZodOptional<z.ZodString>;
719
+ }, z.core.$strip>>>;
720
+ sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
721
+ id: z.ZodString;
722
+ label: z.ZodString;
723
+ description: z.ZodOptional<z.ZodString>;
724
+ }, z.core.$strip>>>;
725
+ }, z.core.$strip>, z.ZodObject<{
726
+ kind: z.ZodLiteral<"trend">;
727
+ metric: z.ZodOptional<z.ZodObject<{
728
+ label: z.ZodString;
729
+ value: z.ZodString;
730
+ change: z.ZodOptional<z.ZodString>;
731
+ tone: z.ZodOptional<z.ZodEnum<{
732
+ success: "success";
733
+ warning: "warning";
734
+ danger: "danger";
735
+ info: "info";
736
+ default: "default";
737
+ primary: "primary";
738
+ }>>;
739
+ }, z.core.$strip>>;
740
+ chart: z.ZodObject<{
741
+ type: z.ZodEnum<{
742
+ area: "area";
743
+ line: "line";
744
+ bar: "bar";
745
+ }>;
746
+ data: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>>>;
747
+ categoryKey: z.ZodString;
748
+ series: z.ZodArray<z.ZodString>;
749
+ seriesLabels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
750
+ highlight: z.ZodOptional<z.ZodString>;
751
+ unit: z.ZodOptional<z.ZodString>;
752
+ annotations: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
753
+ kind: z.ZodLiteral<"line">;
754
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
755
+ axis: z.ZodOptional<z.ZodEnum<{
756
+ x: "x";
757
+ y: "y";
758
+ }>>;
759
+ label: z.ZodOptional<z.ZodString>;
760
+ color: z.ZodOptional<z.ZodEnum<{
761
+ success: "success";
762
+ warning: "warning";
763
+ danger: "danger";
764
+ info: "info";
765
+ primary: "primary";
766
+ }>>;
767
+ }, z.core.$strip>, z.ZodObject<{
768
+ kind: z.ZodLiteral<"band">;
769
+ from: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
770
+ to: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
771
+ axis: z.ZodOptional<z.ZodEnum<{
772
+ x: "x";
773
+ y: "y";
774
+ }>>;
775
+ label: z.ZodOptional<z.ZodString>;
776
+ color: z.ZodOptional<z.ZodEnum<{
777
+ success: "success";
778
+ warning: "warning";
779
+ danger: "danger";
780
+ info: "info";
781
+ primary: "primary";
782
+ }>>;
783
+ }, z.core.$strip>, z.ZodObject<{
784
+ kind: z.ZodLiteral<"point">;
785
+ x: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
786
+ y: z.ZodNumber;
787
+ label: z.ZodString;
788
+ description: z.ZodOptional<z.ZodString>;
789
+ color: z.ZodOptional<z.ZodEnum<{
790
+ success: "success";
791
+ warning: "warning";
792
+ danger: "danger";
793
+ info: "info";
794
+ primary: "primary";
795
+ }>>;
796
+ }, z.core.$strip>], "kind">>>;
797
+ }, z.core.$strip>;
798
+ insight: z.ZodOptional<z.ZodObject<{
799
+ label: z.ZodOptional<z.ZodString>;
800
+ text: z.ZodString;
801
+ tone: z.ZodOptional<z.ZodEnum<{
802
+ success: "success";
803
+ warning: "warning";
804
+ danger: "danger";
805
+ info: "info";
806
+ default: "default";
807
+ primary: "primary";
808
+ }>>;
809
+ }, z.core.$strip>>;
810
+ eyebrow: z.ZodOptional<z.ZodString>;
811
+ headline: z.ZodString;
812
+ summary: z.ZodOptional<z.ZodString>;
813
+ followUps: z.ZodOptional<z.ZodArray<z.ZodObject<{
814
+ id: z.ZodString;
815
+ label: z.ZodString;
816
+ prompt: z.ZodOptional<z.ZodString>;
817
+ }, z.core.$strip>>>;
818
+ sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
819
+ id: z.ZodString;
820
+ label: z.ZodString;
821
+ description: z.ZodOptional<z.ZodString>;
822
+ }, z.core.$strip>>>;
823
+ }, z.core.$strip>, z.ZodObject<{
824
+ kind: z.ZodLiteral<"status">;
825
+ overall: z.ZodOptional<z.ZodObject<{
826
+ label: z.ZodString;
827
+ value: z.ZodString;
828
+ tone: z.ZodOptional<z.ZodEnum<{
829
+ success: "success";
830
+ warning: "warning";
831
+ danger: "danger";
832
+ info: "info";
833
+ default: "default";
834
+ primary: "primary";
835
+ }>>;
836
+ }, z.core.$strip>>;
837
+ items: z.ZodArray<z.ZodObject<{
838
+ label: z.ZodString;
839
+ status: z.ZodString;
840
+ detail: z.ZodOptional<z.ZodString>;
841
+ meta: z.ZodOptional<z.ZodString>;
842
+ tone: z.ZodOptional<z.ZodEnum<{
843
+ success: "success";
844
+ warning: "warning";
845
+ danger: "danger";
846
+ info: "info";
847
+ default: "default";
848
+ primary: "primary";
849
+ }>>;
850
+ }, z.core.$strip>>;
851
+ recommendation: z.ZodOptional<z.ZodObject<{
852
+ label: z.ZodOptional<z.ZodString>;
853
+ text: z.ZodString;
854
+ tone: z.ZodOptional<z.ZodEnum<{
855
+ success: "success";
856
+ warning: "warning";
857
+ danger: "danger";
858
+ info: "info";
859
+ default: "default";
860
+ primary: "primary";
861
+ }>>;
862
+ }, z.core.$strip>>;
863
+ eyebrow: z.ZodOptional<z.ZodString>;
864
+ headline: z.ZodString;
865
+ summary: z.ZodOptional<z.ZodString>;
866
+ followUps: z.ZodOptional<z.ZodArray<z.ZodObject<{
867
+ id: z.ZodString;
868
+ label: z.ZodString;
869
+ prompt: z.ZodOptional<z.ZodString>;
870
+ }, z.core.$strip>>>;
871
+ sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
872
+ id: z.ZodString;
873
+ label: z.ZodString;
874
+ description: z.ZodOptional<z.ZodString>;
875
+ }, z.core.$strip>>>;
876
+ }, z.core.$strip>, z.ZodObject<{
877
+ kind: z.ZodLiteral<"breakdown">;
878
+ total: z.ZodOptional<z.ZodObject<{
879
+ label: z.ZodString;
880
+ value: z.ZodString;
881
+ }, z.core.$strip>>;
882
+ items: z.ZodArray<z.ZodObject<{
883
+ label: z.ZodString;
884
+ value: z.ZodString;
885
+ share: z.ZodNumber;
886
+ detail: z.ZodOptional<z.ZodString>;
887
+ tone: z.ZodOptional<z.ZodEnum<{
888
+ success: "success";
889
+ warning: "warning";
890
+ danger: "danger";
891
+ info: "info";
892
+ default: "default";
893
+ primary: "primary";
894
+ }>>;
895
+ }, z.core.$strip>>;
896
+ insight: z.ZodOptional<z.ZodObject<{
897
+ label: z.ZodOptional<z.ZodString>;
898
+ text: z.ZodString;
899
+ tone: z.ZodOptional<z.ZodEnum<{
900
+ success: "success";
901
+ warning: "warning";
902
+ danger: "danger";
903
+ info: "info";
904
+ default: "default";
905
+ primary: "primary";
906
+ }>>;
907
+ }, z.core.$strip>>;
908
+ eyebrow: z.ZodOptional<z.ZodString>;
909
+ headline: z.ZodString;
910
+ summary: z.ZodOptional<z.ZodString>;
911
+ followUps: z.ZodOptional<z.ZodArray<z.ZodObject<{
912
+ id: z.ZodString;
913
+ label: z.ZodString;
914
+ prompt: z.ZodOptional<z.ZodString>;
915
+ }, z.core.$strip>>>;
916
+ sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
917
+ id: z.ZodString;
918
+ label: z.ZodString;
919
+ description: z.ZodOptional<z.ZodString>;
920
+ }, z.core.$strip>>>;
921
+ }, z.core.$strip>, z.ZodObject<{
922
+ kind: z.ZodLiteral<"explanation">;
923
+ sections: z.ZodArray<z.ZodObject<{
924
+ title: z.ZodString;
925
+ body: z.ZodOptional<z.ZodString>;
926
+ bullets: z.ZodOptional<z.ZodArray<z.ZodString>>;
927
+ }, z.core.$strip>>;
928
+ takeaway: z.ZodOptional<z.ZodObject<{
929
+ label: z.ZodOptional<z.ZodString>;
930
+ text: z.ZodString;
931
+ tone: z.ZodOptional<z.ZodEnum<{
932
+ success: "success";
933
+ warning: "warning";
934
+ danger: "danger";
935
+ info: "info";
936
+ default: "default";
937
+ primary: "primary";
938
+ }>>;
939
+ }, z.core.$strip>>;
940
+ eyebrow: z.ZodOptional<z.ZodString>;
941
+ headline: z.ZodString;
942
+ summary: z.ZodOptional<z.ZodString>;
943
+ followUps: z.ZodOptional<z.ZodArray<z.ZodObject<{
944
+ id: z.ZodString;
945
+ label: z.ZodString;
946
+ prompt: z.ZodOptional<z.ZodString>;
947
+ }, z.core.$strip>>>;
948
+ sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
949
+ id: z.ZodString;
950
+ label: z.ZodString;
951
+ description: z.ZodOptional<z.ZodString>;
952
+ }, z.core.$strip>>>;
953
+ }, z.core.$strip>], "kind">;
954
+ };
955
+ type AnswerInteractions = {
956
+ onFollowUp?: (followUp: AnswerFollowUp) => void;
957
+ onSourceSelect?: (source: AnswerSource) => void;
958
+ };
959
+ export interface ComparisonAnswerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children">, AnswerInteractions {
960
+ spec: ComparisonAnswerSpec;
961
+ }
962
+ export declare const ComparisonAnswer: React.ForwardRefExoticComponent<ComparisonAnswerProps & React.RefAttributes<HTMLDivElement>>;
963
+ export interface TrendAnswerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children">, AnswerInteractions {
964
+ spec: TrendAnswerSpec;
965
+ }
966
+ export declare const TrendAnswer: React.ForwardRefExoticComponent<TrendAnswerProps & React.RefAttributes<HTMLDivElement>>;
967
+ export interface StatusAnswerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children">, AnswerInteractions {
968
+ spec: StatusAnswerSpec;
969
+ }
970
+ export declare const StatusAnswer: React.ForwardRefExoticComponent<StatusAnswerProps & React.RefAttributes<HTMLDivElement>>;
971
+ export interface BreakdownAnswerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children">, AnswerInteractions {
972
+ spec: BreakdownAnswerSpec;
973
+ }
974
+ export declare const BreakdownAnswer: React.ForwardRefExoticComponent<BreakdownAnswerProps & React.RefAttributes<HTMLDivElement>>;
975
+ export interface ExplanationAnswerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children">, AnswerInteractions {
976
+ spec: ExplanationAnswerSpec;
977
+ }
978
+ export declare const ExplanationAnswer: React.ForwardRefExoticComponent<ExplanationAnswerProps & React.RefAttributes<HTMLDivElement>>;
979
+ export interface AnswerRendererProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children">, AnswerInteractions {
980
+ spec: AnswerSpec;
981
+ }
982
+ /** Selects one curated template from a validated semantic AnswerSpec. */
983
+ export declare const AnswerRenderer: React.ForwardRefExoticComponent<AnswerRendererProps & React.RefAttributes<HTMLDivElement>>;
984
+ export {};