@flanksource/clicky-ui 0.3.15 → 0.3.17

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 (823) hide show
  1. package/NOTICE.md +10 -0
  2. package/dist/ai.cjs +33 -4
  3. package/dist/ai.cjs.map +1 -1
  4. package/dist/ai.js +31 -2
  5. package/dist/ai.js.map +1 -1
  6. package/dist/chat.cjs +6 -0
  7. package/dist/chat.cjs.map +1 -1
  8. package/dist/chat.js +7 -1
  9. package/dist/chat.js.map +1 -1
  10. package/dist/components/Combobox.cjs +92 -170
  11. package/dist/components/Combobox.cjs.map +1 -1
  12. package/dist/components/Combobox.d.ts +2 -111
  13. package/dist/components/Combobox.d.ts.map +1 -1
  14. package/dist/components/Combobox.js +95 -173
  15. package/dist/components/Combobox.js.map +1 -1
  16. package/dist/components/ComboboxActions.cjs +70 -0
  17. package/dist/components/ComboboxActions.cjs.map +1 -0
  18. package/dist/components/ComboboxActions.d.ts +8 -0
  19. package/dist/components/ComboboxActions.d.ts.map +1 -0
  20. package/dist/components/ComboboxActions.js +70 -0
  21. package/dist/components/ComboboxActions.js.map +1 -0
  22. package/dist/components/ComboboxMenu.cjs +160 -0
  23. package/dist/components/ComboboxMenu.cjs.map +1 -0
  24. package/dist/components/ComboboxMenu.d.ts +22 -0
  25. package/dist/components/ComboboxMenu.d.ts.map +1 -0
  26. package/dist/components/ComboboxMenu.js +160 -0
  27. package/dist/components/ComboboxMenu.js.map +1 -0
  28. package/dist/components/EndpointSelector.cjs +407 -0
  29. package/dist/components/EndpointSelector.cjs.map +1 -0
  30. package/dist/components/EndpointSelector.d.ts +3 -0
  31. package/dist/components/EndpointSelector.d.ts.map +1 -0
  32. package/dist/components/EndpointSelector.js +407 -0
  33. package/dist/components/EndpointSelector.js.map +1 -0
  34. package/dist/components/EndpointSelector.model.d.ts +52 -0
  35. package/dist/components/EndpointSelector.model.d.ts.map +1 -0
  36. package/dist/components/FilterBar.cjs +12 -0
  37. package/dist/components/FilterBar.cjs.map +1 -1
  38. package/dist/components/FilterBar.d.ts +4 -0
  39. package/dist/components/FilterBar.d.ts.map +1 -1
  40. package/dist/components/FilterBar.js +12 -0
  41. package/dist/components/FilterBar.js.map +1 -1
  42. package/dist/components/InputField.cjs +11 -12
  43. package/dist/components/InputField.cjs.map +1 -1
  44. package/dist/components/InputField.d.ts +7 -0
  45. package/dist/components/InputField.d.ts.map +1 -1
  46. package/dist/components/InputField.js +12 -13
  47. package/dist/components/InputField.js.map +1 -1
  48. package/dist/components/JsonSchemaForm.cjs +22 -16
  49. package/dist/components/JsonSchemaForm.cjs.map +1 -1
  50. package/dist/components/JsonSchemaForm.d.ts +1 -1
  51. package/dist/components/JsonSchemaForm.d.ts.map +1 -1
  52. package/dist/components/JsonSchemaForm.js +22 -16
  53. package/dist/components/JsonSchemaForm.js.map +1 -1
  54. package/dist/components/MultiSelect.cjs +3 -3
  55. package/dist/components/MultiSelect.cjs.map +1 -1
  56. package/dist/components/MultiSelect.d.ts.map +1 -1
  57. package/dist/components/MultiSelect.js +3 -3
  58. package/dist/components/MultiSelect.js.map +1 -1
  59. package/dist/components/SecretKeySelector.cjs +150 -77
  60. package/dist/components/SecretKeySelector.cjs.map +1 -1
  61. package/dist/components/SecretKeySelector.d.ts.map +1 -1
  62. package/dist/components/SecretKeySelector.js +151 -78
  63. package/dist/components/SecretKeySelector.js.map +1 -1
  64. package/dist/components/WorkloadPicker.cjs +2 -1
  65. package/dist/components/WorkloadPicker.cjs.map +1 -1
  66. package/dist/components/WorkloadPicker.d.ts +6 -1
  67. package/dist/components/WorkloadPicker.d.ts.map +1 -1
  68. package/dist/components/WorkloadPicker.js +2 -1
  69. package/dist/components/WorkloadPicker.js.map +1 -1
  70. package/dist/components/combobox-types.d.ts +107 -0
  71. package/dist/components/combobox-types.d.ts.map +1 -0
  72. package/dist/components/combobox-utils.cjs +21 -0
  73. package/dist/components/combobox-utils.cjs.map +1 -0
  74. package/dist/components/combobox-utils.d.ts +15 -0
  75. package/dist/components/combobox-utils.d.ts.map +1 -0
  76. package/dist/components/combobox-utils.js +21 -0
  77. package/dist/components/combobox-utils.js.map +1 -0
  78. package/dist/components/endpoint-port.cjs +12 -0
  79. package/dist/components/endpoint-port.cjs.map +1 -0
  80. package/dist/components/endpoint-port.d.ts +4 -0
  81. package/dist/components/endpoint-port.d.ts.map +1 -0
  82. package/dist/components/endpoint-port.js +12 -0
  83. package/dist/components/endpoint-port.js.map +1 -0
  84. package/dist/components/json-schema-form-array.cjs +12 -23
  85. package/dist/components/json-schema-form-array.cjs.map +1 -1
  86. package/dist/components/json-schema-form-array.d.ts +1 -1
  87. package/dist/components/json-schema-form-array.d.ts.map +1 -1
  88. package/dist/components/json-schema-form-array.js +12 -23
  89. package/dist/components/json-schema-form-array.js.map +1 -1
  90. package/dist/components/json-schema-form-discriminator.cjs +6 -2
  91. package/dist/components/json-schema-form-discriminator.cjs.map +1 -1
  92. package/dist/components/json-schema-form-discriminator.d.ts.map +1 -1
  93. package/dist/components/json-schema-form-discriminator.js +6 -2
  94. package/dist/components/json-schema-form-discriminator.js.map +1 -1
  95. package/dist/components/json-schema-form-error-display.cjs +50 -0
  96. package/dist/components/json-schema-form-error-display.cjs.map +1 -0
  97. package/dist/components/json-schema-form-error-display.d.ts +12 -0
  98. package/dist/components/json-schema-form-error-display.d.ts.map +1 -0
  99. package/dist/components/json-schema-form-error-display.js +50 -0
  100. package/dist/components/json-schema-form-error-display.js.map +1 -0
  101. package/dist/components/json-schema-form-error-types.d.ts +26 -0
  102. package/dist/components/json-schema-form-error-types.d.ts.map +1 -0
  103. package/dist/components/json-schema-form-errors.cjs +169 -0
  104. package/dist/components/json-schema-form-errors.cjs.map +1 -0
  105. package/dist/components/json-schema-form-errors.d.ts +14 -0
  106. package/dist/components/json-schema-form-errors.d.ts.map +1 -0
  107. package/dist/components/json-schema-form-errors.js +169 -0
  108. package/dist/components/json-schema-form-errors.js.map +1 -0
  109. package/dist/components/json-schema-form-object.cjs +12 -2
  110. package/dist/components/json-schema-form-object.cjs.map +1 -1
  111. package/dist/components/json-schema-form-object.d.ts.map +1 -1
  112. package/dist/components/json-schema-form-object.js +12 -2
  113. package/dist/components/json-schema-form-object.js.map +1 -1
  114. package/dist/components/json-schema-form-refs.cjs +84 -19
  115. package/dist/components/json-schema-form-refs.cjs.map +1 -1
  116. package/dist/components/json-schema-form-refs.d.ts.map +1 -1
  117. package/dist/components/json-schema-form-refs.js +84 -19
  118. package/dist/components/json-schema-form-refs.js.map +1 -1
  119. package/dist/components/json-schema-form-render.cjs +33 -10
  120. package/dist/components/json-schema-form-render.cjs.map +1 -1
  121. package/dist/components/json-schema-form-render.d.ts.map +1 -1
  122. package/dist/components/json-schema-form-render.js +34 -11
  123. package/dist/components/json-schema-form-render.js.map +1 -1
  124. package/dist/components/json-schema-form-resolve.cjs +16 -4
  125. package/dist/components/json-schema-form-resolve.cjs.map +1 -1
  126. package/dist/components/json-schema-form-resolve.d.ts +1 -0
  127. package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
  128. package/dist/components/json-schema-form-resolve.js +17 -5
  129. package/dist/components/json-schema-form-resolve.js.map +1 -1
  130. package/dist/components/json-schema-form-types.d.ts +4 -3
  131. package/dist/components/json-schema-form-types.d.ts.map +1 -1
  132. package/dist/components.cjs +13 -0
  133. package/dist/components.cjs.map +1 -1
  134. package/dist/components.d.ts +8 -1
  135. package/dist/components.d.ts.map +1 -1
  136. package/dist/components.js +15 -2
  137. package/dist/components.js.map +1 -1
  138. package/dist/data/DataTable.cjs +205 -14
  139. package/dist/data/DataTable.cjs.map +1 -1
  140. package/dist/data/DataTable.d.ts +41 -0
  141. package/dist/data/DataTable.d.ts.map +1 -1
  142. package/dist/data/DataTable.grouping.cjs +21 -0
  143. package/dist/data/DataTable.grouping.cjs.map +1 -0
  144. package/dist/data/DataTable.grouping.d.ts +26 -0
  145. package/dist/data/DataTable.grouping.d.ts.map +1 -0
  146. package/dist/data/DataTable.grouping.js +21 -0
  147. package/dist/data/DataTable.grouping.js.map +1 -0
  148. package/dist/data/DataTable.js +205 -14
  149. package/dist/data/DataTable.js.map +1 -1
  150. package/dist/data/Markdown.cjs +45 -1
  151. package/dist/data/Markdown.cjs.map +1 -1
  152. package/dist/data/Markdown.d.ts +3 -2
  153. package/dist/data/Markdown.d.ts.map +1 -1
  154. package/dist/data/Markdown.js +45 -1
  155. package/dist/data/Markdown.js.map +1 -1
  156. package/dist/data/MarkdownEditor.cjs +4 -3
  157. package/dist/data/MarkdownEditor.cjs.map +1 -1
  158. package/dist/data/MarkdownEditor.d.ts +6 -2
  159. package/dist/data/MarkdownEditor.d.ts.map +1 -1
  160. package/dist/data/MarkdownEditor.js +4 -3
  161. package/dist/data/MarkdownEditor.js.map +1 -1
  162. package/dist/data/ServerTimingBadge.cjs +64 -0
  163. package/dist/data/ServerTimingBadge.cjs.map +1 -0
  164. package/dist/data/ServerTimingBadge.d.ts +9 -0
  165. package/dist/data/ServerTimingBadge.d.ts.map +1 -0
  166. package/dist/data/ServerTimingBadge.js +64 -0
  167. package/dist/data/ServerTimingBadge.js.map +1 -0
  168. package/dist/data/StatStrip.cjs +99 -0
  169. package/dist/data/StatStrip.cjs.map +1 -0
  170. package/dist/data/StatStrip.d.ts +41 -0
  171. package/dist/data/StatStrip.d.ts.map +1 -0
  172. package/dist/data/StatStrip.js +99 -0
  173. package/dist/data/StatStrip.js.map +1 -0
  174. package/dist/data/TaskManager.cjs +20 -1
  175. package/dist/data/TaskManager.cjs.map +1 -1
  176. package/dist/data/TaskManager.d.ts +3 -1
  177. package/dist/data/TaskManager.d.ts.map +1 -1
  178. package/dist/data/TaskManager.js +20 -1
  179. package/dist/data/TaskManager.js.map +1 -1
  180. package/dist/data/TaskManagerButton.cjs +49 -0
  181. package/dist/data/TaskManagerButton.cjs.map +1 -0
  182. package/dist/data/TaskManagerButton.d.ts +8 -0
  183. package/dist/data/TaskManagerButton.d.ts.map +1 -0
  184. package/dist/data/TaskManagerButton.js +49 -0
  185. package/dist/data/TaskManagerButton.js.map +1 -0
  186. package/dist/data/TaskProcessDetails.cjs +113 -0
  187. package/dist/data/TaskProcessDetails.cjs.map +1 -0
  188. package/dist/data/TaskProcessDetails.d.ts +6 -0
  189. package/dist/data/TaskProcessDetails.d.ts.map +1 -0
  190. package/dist/data/TaskProcessDetails.js +113 -0
  191. package/dist/data/TaskProcessDetails.js.map +1 -0
  192. package/dist/data/TaskProgress.cjs +106 -19
  193. package/dist/data/TaskProgress.cjs.map +1 -1
  194. package/dist/data/TaskProgress.d.ts +4 -2
  195. package/dist/data/TaskProgress.d.ts.map +1 -1
  196. package/dist/data/TaskProgress.js +107 -20
  197. package/dist/data/TaskProgress.js.map +1 -1
  198. package/dist/data/TaskSnapshot.cjs.map +1 -1
  199. package/dist/data/TaskSnapshot.d.ts +43 -0
  200. package/dist/data/TaskSnapshot.d.ts.map +1 -1
  201. package/dist/data/TaskSnapshot.js.map +1 -1
  202. package/dist/data/Tree.cjs +91 -82
  203. package/dist/data/Tree.cjs.map +1 -1
  204. package/dist/data/Tree.d.ts +3 -1
  205. package/dist/data/Tree.d.ts.map +1 -1
  206. package/dist/data/Tree.js +91 -82
  207. package/dist/data/Tree.js.map +1 -1
  208. package/dist/data/TreeNode.cjs +3 -0
  209. package/dist/data/TreeNode.cjs.map +1 -1
  210. package/dist/data/TreeNode.d.ts +2 -1
  211. package/dist/data/TreeNode.d.ts.map +1 -1
  212. package/dist/data/TreeNode.js +3 -0
  213. package/dist/data/TreeNode.js.map +1 -1
  214. package/dist/data/ai/ChatWindow.cjs +18 -141
  215. package/dist/data/ai/ChatWindow.cjs.map +1 -1
  216. package/dist/data/ai/ChatWindow.d.ts +2 -40
  217. package/dist/data/ai/ChatWindow.d.ts.map +1 -1
  218. package/dist/data/ai/ChatWindow.js +15 -138
  219. package/dist/data/ai/ChatWindow.js.map +1 -1
  220. package/dist/data/ai/ChatWindow.models.cjs +11 -0
  221. package/dist/data/ai/ChatWindow.models.cjs.map +1 -0
  222. package/dist/data/ai/ChatWindow.models.d.ts +3 -0
  223. package/dist/data/ai/ChatWindow.models.d.ts.map +1 -0
  224. package/dist/data/ai/ChatWindow.models.js +11 -0
  225. package/dist/data/ai/ChatWindow.models.js.map +1 -0
  226. package/dist/data/ai/ChatWindow.preferences.cjs +57 -0
  227. package/dist/data/ai/ChatWindow.preferences.cjs.map +1 -0
  228. package/dist/data/ai/ChatWindow.preferences.d.ts +13 -0
  229. package/dist/data/ai/ChatWindow.preferences.d.ts.map +1 -0
  230. package/dist/data/ai/ChatWindow.preferences.js +57 -0
  231. package/dist/data/ai/ChatWindow.preferences.js.map +1 -0
  232. package/dist/data/ai/ChatWindow.thread-status.cjs +14 -0
  233. package/dist/data/ai/ChatWindow.thread-status.cjs.map +1 -0
  234. package/dist/data/ai/ChatWindow.thread-status.d.ts +5 -0
  235. package/dist/data/ai/ChatWindow.thread-status.d.ts.map +1 -0
  236. package/dist/data/ai/ChatWindow.thread-status.js +14 -0
  237. package/dist/data/ai/ChatWindow.thread-status.js.map +1 -0
  238. package/dist/data/ai/ChatWindow.thread.cjs +68 -0
  239. package/dist/data/ai/ChatWindow.thread.cjs.map +1 -0
  240. package/dist/data/ai/ChatWindow.thread.d.ts +16 -0
  241. package/dist/data/ai/ChatWindow.thread.d.ts.map +1 -0
  242. package/dist/data/ai/ChatWindow.thread.js +68 -0
  243. package/dist/data/ai/ChatWindow.thread.js.map +1 -0
  244. package/dist/data/ai/ChatWindow.tool-catalog.cjs +99 -0
  245. package/dist/data/ai/ChatWindow.tool-catalog.cjs.map +1 -0
  246. package/dist/data/ai/ChatWindow.tool-catalog.d.ts +3 -0
  247. package/dist/data/ai/ChatWindow.tool-catalog.d.ts.map +1 -0
  248. package/dist/data/ai/ChatWindow.tool-catalog.js +99 -0
  249. package/dist/data/ai/ChatWindow.tool-catalog.js.map +1 -0
  250. package/dist/data/ai/ChatWindow.types.d.ts +41 -0
  251. package/dist/data/ai/ChatWindow.types.d.ts.map +1 -0
  252. package/dist/data/ai/ContextBadges.cjs +76 -46
  253. package/dist/data/ai/ContextBadges.cjs.map +1 -1
  254. package/dist/data/ai/ContextBadges.d.ts.map +1 -1
  255. package/dist/data/ai/ContextBadges.js +77 -47
  256. package/dist/data/ai/ContextBadges.js.map +1 -1
  257. package/dist/data/ai/PromptPicker/PromptPicker.cjs +151 -32
  258. package/dist/data/ai/PromptPicker/PromptPicker.cjs.map +1 -1
  259. package/dist/data/ai/PromptPicker/PromptPicker.d.ts +7 -4
  260. package/dist/data/ai/PromptPicker/PromptPicker.d.ts.map +1 -1
  261. package/dist/data/ai/PromptPicker/PromptPicker.js +152 -33
  262. package/dist/data/ai/PromptPicker/PromptPicker.js.map +1 -1
  263. package/dist/data/ai/PromptPicker/PromptSourceRepair.cjs +133 -0
  264. package/dist/data/ai/PromptPicker/PromptSourceRepair.cjs.map +1 -0
  265. package/dist/data/ai/PromptPicker/PromptSourceRepair.d.ts +11 -0
  266. package/dist/data/ai/PromptPicker/PromptSourceRepair.d.ts.map +1 -0
  267. package/dist/data/ai/PromptPicker/PromptSourceRepair.js +133 -0
  268. package/dist/data/ai/PromptPicker/PromptSourceRepair.js.map +1 -0
  269. package/dist/data/ai/PromptPicker/index.d.ts +2 -1
  270. package/dist/data/ai/PromptPicker/index.d.ts.map +1 -1
  271. package/dist/data/ai/PromptPicker/types.cjs +7 -0
  272. package/dist/data/ai/PromptPicker/types.cjs.map +1 -0
  273. package/dist/data/ai/PromptPicker/types.d.ts +18 -2
  274. package/dist/data/ai/PromptPicker/types.d.ts.map +1 -1
  275. package/dist/data/ai/PromptPicker/types.js +7 -0
  276. package/dist/data/ai/PromptPicker/types.js.map +1 -0
  277. package/dist/data/ai/PromptRunEditor/index.cjs +171 -91
  278. package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
  279. package/dist/data/ai/PromptRunEditor/index.d.ts +9 -9
  280. package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
  281. package/dist/data/ai/PromptRunEditor/index.js +175 -95
  282. package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
  283. package/dist/data/ai/PromptRunEditor/model.cjs +47 -0
  284. package/dist/data/ai/PromptRunEditor/model.cjs.map +1 -0
  285. package/dist/data/ai/PromptRunEditor/model.d.ts +17 -0
  286. package/dist/data/ai/PromptRunEditor/model.d.ts.map +1 -0
  287. package/dist/data/ai/PromptRunEditor/model.js +47 -0
  288. package/dist/data/ai/PromptRunEditor/model.js.map +1 -0
  289. package/dist/data/ai/RuntimeBar.cjs +408 -0
  290. package/dist/data/ai/RuntimeBar.cjs.map +1 -0
  291. package/dist/data/ai/RuntimeBar.d.ts +20 -0
  292. package/dist/data/ai/RuntimeBar.d.ts.map +1 -0
  293. package/dist/data/ai/RuntimeBar.js +408 -0
  294. package/dist/data/ai/RuntimeBar.js.map +1 -0
  295. package/dist/data/ai/RuntimeBar.model.cjs +14 -0
  296. package/dist/data/ai/RuntimeBar.model.cjs.map +1 -0
  297. package/dist/data/ai/RuntimeBar.model.d.ts +10 -0
  298. package/dist/data/ai/RuntimeBar.model.d.ts.map +1 -0
  299. package/dist/data/ai/RuntimeBar.model.js +14 -0
  300. package/dist/data/ai/RuntimeBar.model.js.map +1 -0
  301. package/dist/data/ai/RuntimeBarCombo.cjs +359 -0
  302. package/dist/data/ai/RuntimeBarCombo.cjs.map +1 -0
  303. package/dist/data/ai/RuntimeBarCombo.d.ts +22 -0
  304. package/dist/data/ai/RuntimeBarCombo.d.ts.map +1 -0
  305. package/dist/data/ai/RuntimeBarCombo.js +359 -0
  306. package/dist/data/ai/RuntimeBarCombo.js.map +1 -0
  307. package/dist/data/ai/SessionChatComposer.cjs +56 -0
  308. package/dist/data/ai/SessionChatComposer.cjs.map +1 -0
  309. package/dist/data/ai/SessionChatComposer.d.ts +24 -0
  310. package/dist/data/ai/SessionChatComposer.d.ts.map +1 -0
  311. package/dist/data/ai/SessionChatComposer.js +56 -0
  312. package/dist/data/ai/SessionChatComposer.js.map +1 -0
  313. package/dist/data/ai/SessionInspector.cjs +222 -382
  314. package/dist/data/ai/SessionInspector.cjs.map +1 -1
  315. package/dist/data/ai/SessionInspector.collection-types.d.ts +55 -0
  316. package/dist/data/ai/SessionInspector.collection-types.d.ts.map +1 -0
  317. package/dist/data/ai/SessionInspector.collection.cjs +377 -0
  318. package/dist/data/ai/SessionInspector.collection.cjs.map +1 -0
  319. package/dist/data/ai/SessionInspector.collection.d.ts +15 -0
  320. package/dist/data/ai/SessionInspector.collection.d.ts.map +1 -0
  321. package/dist/data/ai/SessionInspector.collection.js +377 -0
  322. package/dist/data/ai/SessionInspector.collection.js.map +1 -0
  323. package/dist/data/ai/SessionInspector.d.ts +9 -4
  324. package/dist/data/ai/SessionInspector.d.ts.map +1 -1
  325. package/dist/data/ai/SessionInspector.files.cjs +162 -0
  326. package/dist/data/ai/SessionInspector.files.cjs.map +1 -0
  327. package/dist/data/ai/SessionInspector.files.d.ts +5 -0
  328. package/dist/data/ai/SessionInspector.files.d.ts.map +1 -0
  329. package/dist/data/ai/SessionInspector.files.js +162 -0
  330. package/dist/data/ai/SessionInspector.files.js.map +1 -0
  331. package/dist/data/ai/SessionInspector.hierarchy-state.cjs +148 -0
  332. package/dist/data/ai/SessionInspector.hierarchy-state.cjs.map +1 -0
  333. package/dist/data/ai/SessionInspector.hierarchy-state.d.ts +15 -0
  334. package/dist/data/ai/SessionInspector.hierarchy-state.d.ts.map +1 -0
  335. package/dist/data/ai/SessionInspector.hierarchy-state.js +148 -0
  336. package/dist/data/ai/SessionInspector.hierarchy-state.js.map +1 -0
  337. package/dist/data/ai/SessionInspector.hierarchy.cjs +256 -0
  338. package/dist/data/ai/SessionInspector.hierarchy.cjs.map +1 -0
  339. package/dist/data/ai/SessionInspector.hierarchy.d.ts +9 -0
  340. package/dist/data/ai/SessionInspector.hierarchy.d.ts.map +1 -0
  341. package/dist/data/ai/SessionInspector.hierarchy.js +256 -0
  342. package/dist/data/ai/SessionInspector.hierarchy.js.map +1 -0
  343. package/dist/data/ai/SessionInspector.js +224 -384
  344. package/dist/data/ai/SessionInspector.js.map +1 -1
  345. package/dist/data/ai/SessionInspector.model.cjs +125 -0
  346. package/dist/data/ai/SessionInspector.model.cjs.map +1 -0
  347. package/dist/data/ai/SessionInspector.model.d.ts +14 -0
  348. package/dist/data/ai/SessionInspector.model.d.ts.map +1 -0
  349. package/dist/data/ai/SessionInspector.model.js +125 -0
  350. package/dist/data/ai/SessionInspector.model.js.map +1 -0
  351. package/dist/data/ai/SessionInspector.panels.cjs +265 -0
  352. package/dist/data/ai/SessionInspector.panels.cjs.map +1 -0
  353. package/dist/data/ai/SessionInspector.panels.d.ts +10 -0
  354. package/dist/data/ai/SessionInspector.panels.d.ts.map +1 -0
  355. package/dist/data/ai/SessionInspector.panels.js +265 -0
  356. package/dist/data/ai/SessionInspector.panels.js.map +1 -0
  357. package/dist/data/ai/SessionInspector.plan.cjs +77 -0
  358. package/dist/data/ai/SessionInspector.plan.cjs.map +1 -0
  359. package/dist/data/ai/SessionInspector.plan.d.ts +6 -0
  360. package/dist/data/ai/SessionInspector.plan.d.ts.map +1 -0
  361. package/dist/data/ai/SessionInspector.plan.js +77 -0
  362. package/dist/data/ai/SessionInspector.plan.js.map +1 -0
  363. package/dist/data/ai/SessionInspector.summary.cjs +182 -0
  364. package/dist/data/ai/SessionInspector.summary.cjs.map +1 -0
  365. package/dist/data/ai/SessionInspector.summary.d.ts +8 -0
  366. package/dist/data/ai/SessionInspector.summary.d.ts.map +1 -0
  367. package/dist/data/ai/SessionInspector.summary.js +182 -0
  368. package/dist/data/ai/SessionInspector.summary.js.map +1 -0
  369. package/dist/data/ai/SessionInspector.transcript.cjs +94 -0
  370. package/dist/data/ai/SessionInspector.transcript.cjs.map +1 -0
  371. package/dist/data/ai/SessionInspector.transcript.d.ts +7 -0
  372. package/dist/data/ai/SessionInspector.transcript.d.ts.map +1 -0
  373. package/dist/data/ai/SessionInspector.transcript.js +94 -0
  374. package/dist/data/ai/SessionInspector.transcript.js.map +1 -0
  375. package/dist/data/ai/SessionInspector.turns.d.ts +11 -0
  376. package/dist/data/ai/SessionInspector.turns.d.ts.map +1 -0
  377. package/dist/data/ai/SessionViewer.cjs +86 -121
  378. package/dist/data/ai/SessionViewer.cjs.map +1 -1
  379. package/dist/data/ai/SessionViewer.d.ts +8 -1
  380. package/dist/data/ai/SessionViewer.d.ts.map +1 -1
  381. package/dist/data/ai/SessionViewer.fixtures.d.ts +2 -0
  382. package/dist/data/ai/SessionViewer.fixtures.d.ts.map +1 -1
  383. package/dist/data/ai/SessionViewer.header.cjs +118 -0
  384. package/dist/data/ai/SessionViewer.header.cjs.map +1 -0
  385. package/dist/data/ai/SessionViewer.header.d.ts +11 -0
  386. package/dist/data/ai/SessionViewer.header.d.ts.map +1 -0
  387. package/dist/data/ai/SessionViewer.header.js +118 -0
  388. package/dist/data/ai/SessionViewer.header.js.map +1 -0
  389. package/dist/data/ai/SessionViewer.js +87 -122
  390. package/dist/data/ai/SessionViewer.js.map +1 -1
  391. package/dist/data/ai/SessionViewer.model.cjs +111 -39
  392. package/dist/data/ai/SessionViewer.model.cjs.map +1 -1
  393. package/dist/data/ai/SessionViewer.model.d.ts +6 -0
  394. package/dist/data/ai/SessionViewer.model.d.ts.map +1 -1
  395. package/dist/data/ai/SessionViewer.model.js +111 -39
  396. package/dist/data/ai/SessionViewer.model.js.map +1 -1
  397. package/dist/data/ai/SessionViewer.row-metadata.cjs +132 -0
  398. package/dist/data/ai/SessionViewer.row-metadata.cjs.map +1 -0
  399. package/dist/data/ai/SessionViewer.row-metadata.d.ts +14 -0
  400. package/dist/data/ai/SessionViewer.row-metadata.d.ts.map +1 -0
  401. package/dist/data/ai/SessionViewer.row-metadata.js +132 -0
  402. package/dist/data/ai/SessionViewer.row-metadata.js.map +1 -0
  403. package/dist/data/ai/SessionViewer.row-time.cjs +15 -0
  404. package/dist/data/ai/SessionViewer.row-time.cjs.map +1 -0
  405. package/dist/data/ai/SessionViewer.row-time.d.ts +3 -0
  406. package/dist/data/ai/SessionViewer.row-time.d.ts.map +1 -0
  407. package/dist/data/ai/SessionViewer.row-time.js +15 -0
  408. package/dist/data/ai/SessionViewer.row-time.js.map +1 -0
  409. package/dist/data/ai/SessionViewer.rows.cjs +37 -424
  410. package/dist/data/ai/SessionViewer.rows.cjs.map +1 -1
  411. package/dist/data/ai/SessionViewer.rows.d.ts +5 -2
  412. package/dist/data/ai/SessionViewer.rows.d.ts.map +1 -1
  413. package/dist/data/ai/SessionViewer.rows.js +31 -418
  414. package/dist/data/ai/SessionViewer.rows.js.map +1 -1
  415. package/dist/data/ai/SessionViewer.tool-details.cjs +65 -0
  416. package/dist/data/ai/SessionViewer.tool-details.cjs.map +1 -0
  417. package/dist/data/ai/SessionViewer.tool-details.d.ts +20 -0
  418. package/dist/data/ai/SessionViewer.tool-details.d.ts.map +1 -0
  419. package/dist/data/ai/SessionViewer.tool-details.js +65 -0
  420. package/dist/data/ai/SessionViewer.tool-details.js.map +1 -0
  421. package/dist/data/ai/SessionViewer.tool-row.cjs +404 -0
  422. package/dist/data/ai/SessionViewer.tool-row.cjs.map +1 -0
  423. package/dist/data/ai/SessionViewer.tool-row.d.ts +12 -0
  424. package/dist/data/ai/SessionViewer.tool-row.d.ts.map +1 -0
  425. package/dist/data/ai/SessionViewer.tool-row.js +404 -0
  426. package/dist/data/ai/SessionViewer.tool-row.js.map +1 -0
  427. package/dist/data/ai/SessionViewer.unified.d.ts +11 -2
  428. package/dist/data/ai/SessionViewer.unified.d.ts.map +1 -1
  429. package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs +44 -26
  430. package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs.map +1 -1
  431. package/dist/data/ai/SpecRuntimeEditor/CommitSection.d.ts.map +1 -1
  432. package/dist/data/ai/SpecRuntimeEditor/CommitSection.js +47 -29
  433. package/dist/data/ai/SpecRuntimeEditor/CommitSection.js.map +1 -1
  434. package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs +45 -153
  435. package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs.map +1 -1
  436. package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts.map +1 -1
  437. package/dist/data/ai/SpecRuntimeEditor/ModelSection.js +51 -159
  438. package/dist/data/ai/SpecRuntimeEditor/ModelSection.js.map +1 -1
  439. package/dist/data/ai/SpecRuntimeEditor/PromptSection.cjs +0 -1
  440. package/dist/data/ai/SpecRuntimeEditor/PromptSection.cjs.map +1 -1
  441. package/dist/data/ai/SpecRuntimeEditor/PromptSection.d.ts.map +1 -1
  442. package/dist/data/ai/SpecRuntimeEditor/PromptSection.js +0 -1
  443. package/dist/data/ai/SpecRuntimeEditor/PromptSection.js.map +1 -1
  444. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.cjs +0 -5
  445. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.cjs.map +1 -1
  446. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.d.ts.map +1 -1
  447. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.js +0 -5
  448. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.js.map +1 -1
  449. package/dist/data/ai/SpecRuntimeEditor/fields.js +1 -1
  450. package/dist/data/ai/SpecRuntimeEditor/summaries.cjs.map +1 -1
  451. package/dist/data/ai/SpecRuntimeEditor/summaries.d.ts.map +1 -1
  452. package/dist/data/ai/SpecRuntimeEditor/summaries.js.map +1 -1
  453. package/dist/data/ai/SpecRuntimeEditor/update.cjs +19 -6
  454. package/dist/data/ai/SpecRuntimeEditor/update.cjs.map +1 -1
  455. package/dist/data/ai/SpecRuntimeEditor/update.d.ts +5 -2
  456. package/dist/data/ai/SpecRuntimeEditor/update.d.ts.map +1 -1
  457. package/dist/data/ai/SpecRuntimeEditor/update.js +19 -6
  458. package/dist/data/ai/SpecRuntimeEditor/update.js.map +1 -1
  459. package/dist/data/ai/SpecRuntimeEditor.model.cjs +67 -10
  460. package/dist/data/ai/SpecRuntimeEditor.model.cjs.map +1 -1
  461. package/dist/data/ai/SpecRuntimeEditor.model.d.ts +31 -4
  462. package/dist/data/ai/SpecRuntimeEditor.model.d.ts.map +1 -1
  463. package/dist/data/ai/SpecRuntimeEditor.model.js +67 -10
  464. package/dist/data/ai/SpecRuntimeEditor.model.js.map +1 -1
  465. package/dist/data/ai/ThreadPicker.cjs.map +1 -1
  466. package/dist/data/ai/ThreadPicker.d.ts +2 -0
  467. package/dist/data/ai/ThreadPicker.d.ts.map +1 -1
  468. package/dist/data/ai/ThreadPicker.js.map +1 -1
  469. package/dist/data/ai/ToolPreferences.cjs +2 -1
  470. package/dist/data/ai/ToolPreferences.cjs.map +1 -1
  471. package/dist/data/ai/ToolPreferences.d.ts.map +1 -1
  472. package/dist/data/ai/ToolPreferences.js +2 -1
  473. package/dist/data/ai/ToolPreferences.js.map +1 -1
  474. package/dist/data/ai/agent-action-icons.cjs +7 -10
  475. package/dist/data/ai/agent-action-icons.cjs.map +1 -1
  476. package/dist/data/ai/agent-action-icons.d.ts +1 -2
  477. package/dist/data/ai/agent-action-icons.d.ts.map +1 -1
  478. package/dist/data/ai/agent-action-icons.js +8 -11
  479. package/dist/data/ai/agent-action-icons.js.map +1 -1
  480. package/dist/data/ai/context.cjs.map +1 -1
  481. package/dist/data/ai/context.d.ts +4 -0
  482. package/dist/data/ai/context.d.ts.map +1 -1
  483. package/dist/data/ai/context.js.map +1 -1
  484. package/dist/data/ai/examples/sessions/claude-complete.cjs +513 -0
  485. package/dist/data/ai/examples/sessions/claude-complete.cjs.map +1 -0
  486. package/dist/data/ai/examples/sessions/claude-complete.d.ts +3 -0
  487. package/dist/data/ai/examples/sessions/claude-complete.d.ts.map +1 -0
  488. package/dist/data/ai/examples/sessions/claude-complete.js +513 -0
  489. package/dist/data/ai/examples/sessions/claude-complete.js.map +1 -0
  490. package/dist/data/ai/examples/sessions/claude.cjs +252 -0
  491. package/dist/data/ai/examples/sessions/claude.cjs.map +1 -0
  492. package/dist/data/ai/examples/sessions/claude.d.ts +3 -0
  493. package/dist/data/ai/examples/sessions/claude.d.ts.map +1 -0
  494. package/dist/data/ai/examples/sessions/claude.js +252 -0
  495. package/dist/data/ai/examples/sessions/claude.js.map +1 -0
  496. package/dist/data/ai/examples/sessions/codex-complete.cjs +394 -0
  497. package/dist/data/ai/examples/sessions/codex-complete.cjs.map +1 -0
  498. package/dist/data/ai/examples/sessions/codex-complete.d.ts +3 -0
  499. package/dist/data/ai/examples/sessions/codex-complete.d.ts.map +1 -0
  500. package/dist/data/ai/examples/sessions/codex-complete.js +394 -0
  501. package/dist/data/ai/examples/sessions/codex-complete.js.map +1 -0
  502. package/dist/data/ai/examples/sessions/codex.cjs +236 -0
  503. package/dist/data/ai/examples/sessions/codex.cjs.map +1 -0
  504. package/dist/data/ai/examples/sessions/codex.d.ts +3 -0
  505. package/dist/data/ai/examples/sessions/codex.d.ts.map +1 -0
  506. package/dist/data/ai/examples/sessions/codex.js +236 -0
  507. package/dist/data/ai/examples/sessions/codex.js.map +1 -0
  508. package/dist/data/ai/examples/sessions/index.cjs +21 -0
  509. package/dist/data/ai/examples/sessions/index.cjs.map +1 -0
  510. package/dist/data/ai/examples/sessions/index.d.ts +10 -0
  511. package/dist/data/ai/examples/sessions/index.d.ts.map +1 -0
  512. package/dist/data/ai/examples/sessions/index.js +21 -0
  513. package/dist/data/ai/examples/sessions/index.js.map +1 -0
  514. package/dist/data/ai/index.d.ts +9 -3
  515. package/dist/data/ai/index.d.ts.map +1 -1
  516. package/dist/data/ai/model-capabilities.cjs +12 -1
  517. package/dist/data/ai/model-capabilities.cjs.map +1 -1
  518. package/dist/data/ai/model-capabilities.d.ts +2 -6
  519. package/dist/data/ai/model-capabilities.d.ts.map +1 -1
  520. package/dist/data/ai/model-capabilities.js +12 -1
  521. package/dist/data/ai/model-capabilities.js.map +1 -1
  522. package/dist/data/ai/runtime-mode.cjs +72 -1
  523. package/dist/data/ai/runtime-mode.cjs.map +1 -1
  524. package/dist/data/ai/runtime-mode.d.ts +28 -0
  525. package/dist/data/ai/runtime-mode.d.ts.map +1 -1
  526. package/dist/data/ai/runtime-mode.js +73 -2
  527. package/dist/data/ai/runtime-mode.js.map +1 -1
  528. package/dist/data/cells/EntityCell.cjs +64 -0
  529. package/dist/data/cells/EntityCell.cjs.map +1 -0
  530. package/dist/data/cells/EntityCell.d.ts +27 -0
  531. package/dist/data/cells/EntityCell.d.ts.map +1 -0
  532. package/dist/data/cells/EntityCell.js +64 -0
  533. package/dist/data/cells/EntityCell.js.map +1 -0
  534. package/dist/data/chat/Attachment.cjs +53 -13
  535. package/dist/data/chat/Attachment.cjs.map +1 -1
  536. package/dist/data/chat/Attachment.d.ts +9 -3
  537. package/dist/data/chat/Attachment.d.ts.map +1 -1
  538. package/dist/data/chat/Attachment.js +54 -14
  539. package/dist/data/chat/Attachment.js.map +1 -1
  540. package/dist/data/chat/Chat.cjs +113 -36
  541. package/dist/data/chat/Chat.cjs.map +1 -1
  542. package/dist/data/chat/Chat.d.ts +11 -4
  543. package/dist/data/chat/Chat.d.ts.map +1 -1
  544. package/dist/data/chat/Chat.js +111 -34
  545. package/dist/data/chat/Chat.js.map +1 -1
  546. package/dist/data/chat/ContextMeter.cjs +240 -66
  547. package/dist/data/chat/ContextMeter.cjs.map +1 -1
  548. package/dist/data/chat/ContextMeter.d.ts +11 -3
  549. package/dist/data/chat/ContextMeter.d.ts.map +1 -1
  550. package/dist/data/chat/ContextMeter.js +241 -67
  551. package/dist/data/chat/ContextMeter.js.map +1 -1
  552. package/dist/data/chat/Conversation.cjs +55 -3
  553. package/dist/data/chat/Conversation.cjs.map +1 -1
  554. package/dist/data/chat/Conversation.d.ts +5 -1
  555. package/dist/data/chat/Conversation.d.ts.map +1 -1
  556. package/dist/data/chat/Conversation.js +55 -3
  557. package/dist/data/chat/Conversation.js.map +1 -1
  558. package/dist/data/chat/ModelSelector.cjs +8 -10
  559. package/dist/data/chat/ModelSelector.cjs.map +1 -1
  560. package/dist/data/chat/ModelSelector.d.ts.map +1 -1
  561. package/dist/data/chat/ModelSelector.js +9 -11
  562. package/dist/data/chat/ModelSelector.js.map +1 -1
  563. package/dist/data/chat/PromptInput.cjs +56 -5
  564. package/dist/data/chat/PromptInput.cjs.map +1 -1
  565. package/dist/data/chat/PromptInput.d.ts +10 -1
  566. package/dist/data/chat/PromptInput.d.ts.map +1 -1
  567. package/dist/data/chat/PromptInput.js +57 -6
  568. package/dist/data/chat/PromptInput.js.map +1 -1
  569. package/dist/data/chat/approval.cjs +21 -0
  570. package/dist/data/chat/approval.cjs.map +1 -0
  571. package/dist/data/chat/approval.d.ts +11 -0
  572. package/dist/data/chat/approval.d.ts.map +1 -0
  573. package/dist/data/chat/approval.js +21 -0
  574. package/dist/data/chat/approval.js.map +1 -0
  575. package/dist/data/chat/attachment-upload.cjs +33 -0
  576. package/dist/data/chat/attachment-upload.cjs.map +1 -0
  577. package/dist/data/chat/attachment-upload.d.ts +21 -0
  578. package/dist/data/chat/attachment-upload.d.ts.map +1 -0
  579. package/dist/data/chat/attachment-upload.js +33 -0
  580. package/dist/data/chat/attachment-upload.js.map +1 -0
  581. package/dist/data/chat/effort-icons.cjs +36 -6
  582. package/dist/data/chat/effort-icons.cjs.map +1 -1
  583. package/dist/data/chat/effort-icons.d.ts +6 -3
  584. package/dist/data/chat/effort-icons.d.ts.map +1 -1
  585. package/dist/data/chat/effort-icons.js +37 -7
  586. package/dist/data/chat/effort-icons.js.map +1 -1
  587. package/dist/data/chat/index.d.ts +3 -1
  588. package/dist/data/chat/index.d.ts.map +1 -1
  589. package/dist/data/chat/models.cjs +8 -0
  590. package/dist/data/chat/models.cjs.map +1 -0
  591. package/dist/data/chat/models.d.ts +11 -0
  592. package/dist/data/chat/models.d.ts.map +1 -0
  593. package/dist/data/chat/models.js +8 -0
  594. package/dist/data/chat/models.js.map +1 -0
  595. package/dist/data/chat/provider-icons.cjs +49 -16
  596. package/dist/data/chat/provider-icons.cjs.map +1 -1
  597. package/dist/data/chat/provider-icons.d.ts +2 -0
  598. package/dist/data/chat/provider-icons.d.ts.map +1 -1
  599. package/dist/data/chat/provider-icons.js +50 -17
  600. package/dist/data/chat/provider-icons.js.map +1 -1
  601. package/dist/data/chat/types.cjs.map +1 -1
  602. package/dist/data/chat/types.d.ts +21 -0
  603. package/dist/data/chat/types.d.ts.map +1 -1
  604. package/dist/data/chat/types.js.map +1 -1
  605. package/dist/data/examples/markdown-preview-mock.cjs +45 -0
  606. package/dist/data/examples/markdown-preview-mock.cjs.map +1 -0
  607. package/dist/data/examples/markdown-preview-mock.d.ts +23 -0
  608. package/dist/data/examples/markdown-preview-mock.d.ts.map +1 -0
  609. package/dist/data/examples/markdown-preview-mock.js +45 -0
  610. package/dist/data/examples/markdown-preview-mock.js.map +1 -0
  611. package/dist/data/examples/markdown-syntax.cjs +36 -0
  612. package/dist/data/examples/markdown-syntax.cjs.map +1 -0
  613. package/dist/data/examples/markdown-syntax.d.ts +12 -0
  614. package/dist/data/examples/markdown-syntax.d.ts.map +1 -0
  615. package/dist/data/examples/markdown-syntax.js +36 -0
  616. package/dist/data/examples/markdown-syntax.js.map +1 -0
  617. package/dist/data/examples/markdown-syntax.md.cjs +4 -0
  618. package/dist/data/examples/markdown-syntax.md.cjs.map +1 -0
  619. package/dist/data/examples/markdown-syntax.md.js +5 -0
  620. package/dist/data/examples/markdown-syntax.md.js.map +1 -0
  621. package/dist/data/server-timing.cjs +120 -0
  622. package/dist/data/server-timing.cjs.map +1 -0
  623. package/dist/data/server-timing.d.ts +11 -0
  624. package/dist/data/server-timing.d.ts.map +1 -0
  625. package/dist/data/server-timing.js +120 -0
  626. package/dist/data/server-timing.js.map +1 -0
  627. package/dist/data/task-process-details.cjs +48 -0
  628. package/dist/data/task-process-details.cjs.map +1 -0
  629. package/dist/data/task-process-details.d.ts +5 -0
  630. package/dist/data/task-process-details.d.ts.map +1 -0
  631. package/dist/data/task-process-details.js +48 -0
  632. package/dist/data/task-process-details.js.map +1 -0
  633. package/dist/data/version-info.cjs +3 -3
  634. package/dist/data/version-info.js +3 -3
  635. package/dist/data.cjs +37 -0
  636. package/dist/data.cjs.map +1 -1
  637. package/dist/data.d.ts +9 -1
  638. package/dist/data.d.ts.map +1 -1
  639. package/dist/data.js +37 -0
  640. package/dist/data.js.map +1 -1
  641. package/dist/hooks/use-hotkey.cjs +98 -0
  642. package/dist/hooks/use-hotkey.cjs.map +1 -0
  643. package/dist/hooks/use-hotkey.d.ts +42 -0
  644. package/dist/hooks/use-hotkey.d.ts.map +1 -0
  645. package/dist/hooks/use-hotkey.js +98 -0
  646. package/dist/hooks/use-hotkey.js.map +1 -0
  647. package/dist/hooks/use-task-run.cjs +23 -1
  648. package/dist/hooks/use-task-run.cjs.map +1 -1
  649. package/dist/hooks/use-task-run.d.ts.map +1 -1
  650. package/dist/hooks/use-task-run.js +23 -1
  651. package/dist/hooks/use-task-run.js.map +1 -1
  652. package/dist/hooks.cjs +4 -0
  653. package/dist/hooks.cjs.map +1 -1
  654. package/dist/hooks.d.ts +1 -0
  655. package/dist/hooks.d.ts.map +1 -1
  656. package/dist/hooks.js +4 -0
  657. package/dist/hooks.js.map +1 -1
  658. package/dist/icons/components/UiBank.cjs +15 -0
  659. package/dist/icons/components/UiBank.cjs.map +1 -0
  660. package/dist/icons/components/UiBank.d.ts +15 -0
  661. package/dist/icons/components/UiBank.d.ts.map +1 -0
  662. package/dist/icons/components/UiBank.js +15 -0
  663. package/dist/icons/components/UiBank.js.map +1 -0
  664. package/dist/icons/components/UiChartOfAccounts.cjs +15 -0
  665. package/dist/icons/components/UiChartOfAccounts.cjs.map +1 -0
  666. package/dist/icons/components/UiChartOfAccounts.d.ts +15 -0
  667. package/dist/icons/components/UiChartOfAccounts.d.ts.map +1 -0
  668. package/dist/icons/components/UiChartOfAccounts.js +15 -0
  669. package/dist/icons/components/UiChartOfAccounts.js.map +1 -0
  670. package/dist/icons/components/UiCloudUpload.cjs +15 -0
  671. package/dist/icons/components/UiCloudUpload.cjs.map +1 -0
  672. package/dist/icons/components/UiCloudUpload.d.ts +15 -0
  673. package/dist/icons/components/UiCloudUpload.d.ts.map +1 -0
  674. package/dist/icons/components/UiCloudUpload.js +15 -0
  675. package/dist/icons/components/UiCloudUpload.js.map +1 -0
  676. package/dist/icons/components/UiLedger.cjs +15 -0
  677. package/dist/icons/components/UiLedger.cjs.map +1 -0
  678. package/dist/icons/components/UiLedger.d.ts +15 -0
  679. package/dist/icons/components/UiLedger.d.ts.map +1 -0
  680. package/dist/icons/components/UiLedger.js +15 -0
  681. package/dist/icons/components/UiLedger.js.map +1 -0
  682. package/dist/icons/components/UiReceipt.cjs +15 -0
  683. package/dist/icons/components/UiReceipt.cjs.map +1 -0
  684. package/dist/icons/components/UiReceipt.d.ts +15 -0
  685. package/dist/icons/components/UiReceipt.d.ts.map +1 -0
  686. package/dist/icons/components/UiReceipt.js +15 -0
  687. package/dist/icons/components/UiReceipt.js.map +1 -0
  688. package/dist/icons/index.d.ts +10 -0
  689. package/dist/icons/index.d.ts.map +1 -1
  690. package/dist/icons.cjs +15 -0
  691. package/dist/icons.cjs.map +1 -1
  692. package/dist/icons.js +15 -0
  693. package/dist/icons.js.map +1 -1
  694. package/dist/index.cjs +54 -0
  695. package/dist/index.cjs.map +1 -1
  696. package/dist/index.js +56 -2
  697. package/dist/index.js.map +1 -1
  698. package/dist/layout/AppShell.cjs +270 -238
  699. package/dist/layout/AppShell.cjs.map +1 -1
  700. package/dist/layout/AppShell.d.ts +9 -0
  701. package/dist/layout/AppShell.d.ts.map +1 -1
  702. package/dist/layout/AppShell.debug.cjs +53 -0
  703. package/dist/layout/AppShell.debug.cjs.map +1 -0
  704. package/dist/layout/AppShell.debug.d.ts +6 -0
  705. package/dist/layout/AppShell.debug.d.ts.map +1 -0
  706. package/dist/layout/AppShell.debug.js +53 -0
  707. package/dist/layout/AppShell.debug.js.map +1 -0
  708. package/dist/layout/AppShell.js +269 -237
  709. package/dist/layout/AppShell.js.map +1 -1
  710. package/dist/layout/AppShell.nav.cjs +90 -0
  711. package/dist/layout/AppShell.nav.cjs.map +1 -0
  712. package/dist/layout/AppShell.nav.d.ts +7 -0
  713. package/dist/layout/AppShell.nav.d.ts.map +1 -0
  714. package/dist/layout/AppShell.nav.js +90 -0
  715. package/dist/layout/AppShell.nav.js.map +1 -0
  716. package/dist/layout/AppSidebar.cjs +35 -5
  717. package/dist/layout/AppSidebar.cjs.map +1 -1
  718. package/dist/layout/AppSidebar.d.ts +4 -1
  719. package/dist/layout/AppSidebar.d.ts.map +1 -1
  720. package/dist/layout/AppSidebar.js +35 -5
  721. package/dist/layout/AppSidebar.js.map +1 -1
  722. package/dist/layout/Panel.cjs +25 -41
  723. package/dist/layout/Panel.cjs.map +1 -1
  724. package/dist/layout/Panel.d.ts +2 -1
  725. package/dist/layout/Panel.d.ts.map +1 -1
  726. package/dist/layout/Panel.js +26 -42
  727. package/dist/layout/Panel.js.map +1 -1
  728. package/dist/layout/PanelFrame.cjs +56 -0
  729. package/dist/layout/PanelFrame.cjs.map +1 -0
  730. package/dist/layout/PanelFrame.d.ts +15 -0
  731. package/dist/layout/PanelFrame.d.ts.map +1 -0
  732. package/dist/layout/PanelFrame.js +56 -0
  733. package/dist/layout/PanelFrame.js.map +1 -0
  734. package/dist/layout/Section.cjs +51 -41
  735. package/dist/layout/Section.cjs.map +1 -1
  736. package/dist/layout/Section.d.ts +3 -2
  737. package/dist/layout/Section.d.ts.map +1 -1
  738. package/dist/layout/Section.js +51 -41
  739. package/dist/layout/Section.js.map +1 -1
  740. package/dist/layout/content-width.cjs +8 -0
  741. package/dist/layout/content-width.cjs.map +1 -0
  742. package/dist/layout/content-width.d.ts +3 -0
  743. package/dist/layout/content-width.d.ts.map +1 -0
  744. package/dist/layout/content-width.js +8 -0
  745. package/dist/layout/content-width.js.map +1 -0
  746. package/dist/overlay/CommandPalette.cjs +207 -0
  747. package/dist/overlay/CommandPalette.cjs.map +1 -0
  748. package/dist/overlay/CommandPalette.d.ts +71 -0
  749. package/dist/overlay/CommandPalette.d.ts.map +1 -0
  750. package/dist/overlay/CommandPalette.js +207 -0
  751. package/dist/overlay/CommandPalette.js.map +1 -0
  752. package/dist/overlay/CommandPalette.model.cjs +70 -0
  753. package/dist/overlay/CommandPalette.model.cjs.map +1 -0
  754. package/dist/overlay/CommandPalette.model.d.ts +71 -0
  755. package/dist/overlay/CommandPalette.model.d.ts.map +1 -0
  756. package/dist/overlay/CommandPalette.model.js +70 -0
  757. package/dist/overlay/CommandPalette.model.js.map +1 -0
  758. package/dist/overlay/CommandPaletteList.cjs +88 -0
  759. package/dist/overlay/CommandPaletteList.cjs.map +1 -0
  760. package/dist/overlay/CommandPaletteList.d.ts +23 -0
  761. package/dist/overlay/CommandPaletteList.d.ts.map +1 -0
  762. package/dist/overlay/CommandPaletteList.js +88 -0
  763. package/dist/overlay/CommandPaletteList.js.map +1 -0
  764. package/dist/overlay/CommandPaletteTrigger.cjs +36 -0
  765. package/dist/overlay/CommandPaletteTrigger.cjs.map +1 -0
  766. package/dist/overlay/CommandPaletteTrigger.d.ts +22 -0
  767. package/dist/overlay/CommandPaletteTrigger.d.ts.map +1 -0
  768. package/dist/overlay/CommandPaletteTrigger.js +36 -0
  769. package/dist/overlay/CommandPaletteTrigger.js.map +1 -0
  770. package/dist/overlay/HoverCard.cjs.map +1 -1
  771. package/dist/overlay/HoverCard.d.ts +2 -2
  772. package/dist/overlay/HoverCard.d.ts.map +1 -1
  773. package/dist/overlay/HoverCard.js.map +1 -1
  774. package/dist/overlay/Modal.cjs +12 -5
  775. package/dist/overlay/Modal.cjs.map +1 -1
  776. package/dist/overlay/Modal.d.ts.map +1 -1
  777. package/dist/overlay/Modal.js +12 -5
  778. package/dist/overlay/Modal.js.map +1 -1
  779. package/dist/overlay/modalStack.js +1 -1
  780. package/dist/overlay/zIndex.cjs +2 -0
  781. package/dist/overlay/zIndex.cjs.map +1 -1
  782. package/dist/overlay/zIndex.js +2 -0
  783. package/dist/overlay/zIndex.js.map +1 -1
  784. package/dist/rpc/EntityExplorerApp.cjs +6 -0
  785. package/dist/rpc/EntityExplorerApp.cjs.map +1 -1
  786. package/dist/rpc/EntityExplorerApp.d.ts.map +1 -1
  787. package/dist/rpc/EntityExplorerApp.js +6 -0
  788. package/dist/rpc/EntityExplorerApp.js.map +1 -1
  789. package/dist/rpc/OperationCatalog.cjs +45 -71
  790. package/dist/rpc/OperationCatalog.cjs.map +1 -1
  791. package/dist/rpc/OperationCatalog.d.ts +12 -2
  792. package/dist/rpc/OperationCatalog.d.ts.map +1 -1
  793. package/dist/rpc/OperationCatalog.js +46 -72
  794. package/dist/rpc/OperationCatalog.js.map +1 -1
  795. package/dist/rpc/OperationResultView.cjs +42 -0
  796. package/dist/rpc/OperationResultView.cjs.map +1 -1
  797. package/dist/rpc/OperationResultView.d.ts +2 -1
  798. package/dist/rpc/OperationResultView.d.ts.map +1 -1
  799. package/dist/rpc/OperationResultView.js +42 -0
  800. package/dist/rpc/OperationResultView.js.map +1 -1
  801. package/dist/rpc/clickyMetadata.cjs +2 -1
  802. package/dist/rpc/clickyMetadata.cjs.map +1 -1
  803. package/dist/rpc/clickyMetadata.d.ts.map +1 -1
  804. package/dist/rpc/clickyMetadata.js +2 -1
  805. package/dist/rpc/clickyMetadata.js.map +1 -1
  806. package/dist/rpc/rpc-story-fixtures/orders.fixture.d.ts.map +1 -1
  807. package/dist/rpc/rpc-story-fixtures/services.fixture.d.ts.map +1 -1
  808. package/dist/rpc/rpc-story-fixtures/surface-fixture.d.ts +25 -2
  809. package/dist/rpc/rpc-story-fixtures/surface-fixture.d.ts.map +1 -1
  810. package/dist/rpc/rpc-story-fixtures/widgets.fixture.d.ts.map +1 -1
  811. package/dist/rpc/rpc-story.fixtures.d.ts +2 -1
  812. package/dist/rpc/rpc-story.fixtures.d.ts.map +1 -1
  813. package/dist/rpc/types.cjs.map +1 -1
  814. package/dist/rpc/types.d.ts +1 -0
  815. package/dist/rpc/types.d.ts.map +1 -1
  816. package/dist/rpc/types.js.map +1 -1
  817. package/dist/styles.css +1 -1
  818. package/dist/tailwind-preset.cjs +15 -0
  819. package/dist/tailwind-preset.cjs.map +1 -1
  820. package/dist/tailwind-preset.d.ts.map +1 -1
  821. package/dist/tailwind-preset.js +15 -0
  822. package/dist/tailwind-preset.js.map +1 -1
  823. package/package.json +2 -2
@@ -0,0 +1,359 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Button } from "../../components/button.js";
3
+ import { SegmentedControl } from "../../components/SegmentedControl.js";
4
+ import { cn } from "../../lib/utils.js";
5
+ import { DropdownMenu } from "../../overlay/DropdownMenu.js";
6
+ import { Icon } from "../Icon.js";
7
+ import { effortLevelLabel, effortLevelIcon, effortLevelColor } from "../chat/effort-icons.js";
8
+ import { providerIcon, providerIconColor } from "../chat/provider-icons.js";
9
+ import { runtimeFamilyBrand } from "./RuntimeBar.model.js";
10
+ import { runtimeModeOptions, unsupportedModeTitle } from "./runtime-mode.js";
11
+ import { UiChevronDown } from "../../icons/components/UiChevronDown.js";
12
+ import { UiCheck } from "../../icons/components/UiCheck.js";
13
+ function RuntimeBarCombo({
14
+ value,
15
+ families,
16
+ family,
17
+ mode,
18
+ selectedMode,
19
+ models,
20
+ selectedModel,
21
+ supportedEfforts,
22
+ ariaLabel,
23
+ className,
24
+ onFamilyChange,
25
+ onModeChange,
26
+ onModelSelect,
27
+ onModelClear,
28
+ onEffortChange
29
+ }) {
30
+ const brand = runtimeFamilyBrand(family);
31
+ const modelLabel = (selectedModel == null ? void 0 : selectedModel.label) ?? value.model ?? "Prompt default";
32
+ const effortLabel = value.effort ? effortLevelLabel(value.effort) : "None";
33
+ const effortIcon = value.effort ? effortLevelIcon(value.effort) : void 0;
34
+ const summary = `${ariaLabel}: ${family.label}, ${mode.label}, ${modelLabel}, effort ${effortLabel}`;
35
+ return /* @__PURE__ */ jsx(
36
+ DropdownMenu,
37
+ {
38
+ align: "left",
39
+ menuLabel: `${ariaLabel} controls`,
40
+ ...className ? { className } : {},
41
+ menuClassName: "max-h-[70vh] w-80 max-w-[calc(100vw-24px)] overflow-y-auto",
42
+ trigger: /* @__PURE__ */ jsxs(
43
+ Button,
44
+ {
45
+ type: "button",
46
+ variant: "outline",
47
+ size: "sm",
48
+ title: summary,
49
+ "aria-label": summary,
50
+ className: "max-w-full gap-1.5 px-density-2",
51
+ children: [
52
+ brand.icon && /* @__PURE__ */ jsx(
53
+ Icon,
54
+ {
55
+ icon: brand.icon,
56
+ className: cn("size-4 shrink-0", brand.color)
57
+ }
58
+ ),
59
+ mode.icon && /* @__PURE__ */ jsx(
60
+ Icon,
61
+ {
62
+ icon: mode.icon,
63
+ className: "size-4 shrink-0 text-muted-foreground"
64
+ }
65
+ ),
66
+ /* @__PURE__ */ jsx("span", { className: "min-w-0 truncate text-xs font-semibold text-foreground", children: modelLabel }),
67
+ effortIcon && /* @__PURE__ */ jsx(
68
+ Icon,
69
+ {
70
+ icon: effortIcon,
71
+ className: cn(
72
+ "size-4 shrink-0",
73
+ value.effort ? effortLevelColor(value.effort) : void 0
74
+ )
75
+ }
76
+ ),
77
+ /* @__PURE__ */ jsx(
78
+ Icon,
79
+ {
80
+ icon: UiChevronDown,
81
+ className: "size-3 shrink-0 text-muted-foreground/70"
82
+ }
83
+ )
84
+ ]
85
+ }
86
+ ),
87
+ children: () => /* @__PURE__ */ jsxs("div", { className: "p-1 text-xs", children: [
88
+ /* @__PURE__ */ jsxs("div", { className: "space-y-2 border-b border-border px-2 pb-3 pt-2", children: [
89
+ /* @__PURE__ */ jsx(
90
+ FamilySegments,
91
+ {
92
+ families,
93
+ value: family.id,
94
+ onChange: onFamilyChange
95
+ }
96
+ ),
97
+ /* @__PURE__ */ jsx(
98
+ ModeSegments,
99
+ {
100
+ families,
101
+ family,
102
+ value: selectedMode,
103
+ onChange: onModeChange
104
+ }
105
+ ),
106
+ /* @__PURE__ */ jsx(
107
+ EffortSlider,
108
+ {
109
+ value: value.effort,
110
+ efforts: supportedEfforts,
111
+ onChange: onEffortChange
112
+ }
113
+ )
114
+ ] }),
115
+ /* @__PURE__ */ jsx(
116
+ ModelChoices,
117
+ {
118
+ models,
119
+ familyBrand: brand,
120
+ selectedId: (selectedModel == null ? void 0 : selectedModel.id) ?? value.model,
121
+ onSelect: onModelSelect,
122
+ onClear: onModelClear
123
+ }
124
+ )
125
+ ] })
126
+ }
127
+ );
128
+ }
129
+ function FamilySegments({
130
+ families,
131
+ value,
132
+ onChange
133
+ }) {
134
+ return /* @__PURE__ */ jsx(
135
+ SegmentedControl,
136
+ {
137
+ "aria-label": "Family",
138
+ size: "sm",
139
+ wrap: true,
140
+ value,
141
+ onChange,
142
+ className: "w-full",
143
+ options: families.map((family) => {
144
+ const brand = runtimeFamilyBrand(family);
145
+ return {
146
+ id: family.id,
147
+ label: family.label,
148
+ ...brand.icon ? { icon: brand.icon } : {}
149
+ };
150
+ })
151
+ }
152
+ );
153
+ }
154
+ function ModeSegments({
155
+ families,
156
+ family,
157
+ value,
158
+ onChange
159
+ }) {
160
+ return /* @__PURE__ */ jsx(
161
+ SegmentedControl,
162
+ {
163
+ "aria-label": "Runtime mode",
164
+ size: "sm",
165
+ value,
166
+ onChange,
167
+ className: "w-full",
168
+ options: runtimeModeOptions(families).map((mode) => {
169
+ const supported = family.modes.find((entry) => entry.id === mode.id);
170
+ return {
171
+ id: mode.id,
172
+ label: (supported == null ? void 0 : supported.label) ?? mode.label,
173
+ title: (supported == null ? void 0 : supported.title) ?? unsupportedModeTitle(family),
174
+ disabled: !supported,
175
+ ...mode.icon ? { icon: mode.icon } : {}
176
+ };
177
+ })
178
+ }
179
+ );
180
+ }
181
+ function ModelChoices({
182
+ models,
183
+ familyBrand,
184
+ selectedId,
185
+ onSelect,
186
+ onClear
187
+ }) {
188
+ return /* @__PURE__ */ jsxs("div", { className: "space-y-0.5 py-1", children: [
189
+ /* @__PURE__ */ jsx(
190
+ ModelChoice,
191
+ {
192
+ label: "Prompt default",
193
+ selected: !selectedId,
194
+ onClick: onClear
195
+ }
196
+ ),
197
+ models.map((model) => {
198
+ const icon = providerIcon(model.provider) ?? familyBrand.icon;
199
+ return /* @__PURE__ */ jsx(
200
+ ModelChoice,
201
+ {
202
+ label: model.label,
203
+ title: model.id,
204
+ selected: model.id === selectedId,
205
+ disabled: model.configured === false,
206
+ ...icon ? {
207
+ icon,
208
+ iconColor: providerIconColor(model.provider) ?? familyBrand.color
209
+ } : {},
210
+ onClick: () => onSelect(model)
211
+ },
212
+ model.id
213
+ );
214
+ })
215
+ ] });
216
+ }
217
+ function ModelChoice({
218
+ label,
219
+ title,
220
+ selected,
221
+ disabled = false,
222
+ icon,
223
+ iconColor,
224
+ onClick
225
+ }) {
226
+ return /* @__PURE__ */ jsxs(
227
+ Button,
228
+ {
229
+ variant: "ghost",
230
+ type: "button",
231
+ disabled,
232
+ onClick,
233
+ "aria-label": label,
234
+ ...title ? { title } : {},
235
+ className: "group flex h-8 w-full items-center justify-start gap-2 rounded-md px-2 text-left hover:bg-muted",
236
+ children: [
237
+ icon ? /* @__PURE__ */ jsx("span", { className: "inline-flex size-6 shrink-0 items-center justify-center rounded-md bg-muted/70 ring-1 ring-border/60 group-hover:bg-background", children: /* @__PURE__ */ jsx(Icon, { icon, className: cn("size-3.5", iconColor) }) }) : /* @__PURE__ */ jsx("span", { className: "size-6 shrink-0" }),
238
+ /* @__PURE__ */ jsx(
239
+ "span",
240
+ {
241
+ className: cn(
242
+ "min-w-0 flex-1 truncate text-sm",
243
+ selected && "font-semibold"
244
+ ),
245
+ children: label
246
+ }
247
+ ),
248
+ /* @__PURE__ */ jsx(
249
+ Icon,
250
+ {
251
+ icon: UiCheck,
252
+ className: cn(
253
+ "size-3.5 shrink-0 text-primary",
254
+ !selected && "invisible"
255
+ )
256
+ }
257
+ )
258
+ ]
259
+ }
260
+ );
261
+ }
262
+ function EffortSlider({
263
+ value,
264
+ efforts,
265
+ onChange
266
+ }) {
267
+ const supported = [
268
+ ...new Set(efforts.map((effort) => effort.trim()).filter(Boolean))
269
+ ];
270
+ if (supported.length === 0) {
271
+ return /* @__PURE__ */ jsx("div", { className: "flex h-8 items-center justify-center text-[11px] text-muted-foreground", children: "Fixed effort for this model" });
272
+ }
273
+ const options = ["", ...supported];
274
+ const current = (value == null ? void 0 : value.trim()) ?? "";
275
+ const currentIndex = options.indexOf(current);
276
+ const sliderIndex = currentIndex >= 0 ? currentIndex : 0;
277
+ const label = currentIndex >= 0 ? current ? effortLevelLabel(current) : "None" : `${effortLevelLabel(current)} unsupported`;
278
+ const percent = sliderIndex / (options.length - 1) * 100;
279
+ const firstIcon = effortLevelIcon(supported[0]);
280
+ const lastIcon = effortLevelIcon(supported[supported.length - 1]);
281
+ const selectedIcon = current ? effortLevelIcon(current) : void 0;
282
+ return /* @__PURE__ */ jsxs(
283
+ "div",
284
+ {
285
+ className: "grid grid-cols-[auto_minmax(0,1fr)_auto] items-start gap-1.5",
286
+ "aria-label": "Model effort",
287
+ children: [
288
+ firstIcon ? /* @__PURE__ */ jsx(
289
+ Icon,
290
+ {
291
+ icon: firstIcon,
292
+ className: cn("mt-3 size-3.5", effortLevelColor(supported[0]))
293
+ }
294
+ ) : /* @__PURE__ */ jsx("span", { className: "size-3.5" }),
295
+ /* @__PURE__ */ jsxs("div", { className: "relative h-11 pt-1", children: [
296
+ /* @__PURE__ */ jsx(
297
+ "input",
298
+ {
299
+ type: "range",
300
+ min: 0,
301
+ max: options.length - 1,
302
+ step: 1,
303
+ value: sliderIndex,
304
+ "aria-label": "Reasoning effort",
305
+ "aria-valuetext": label,
306
+ "aria-invalid": currentIndex < 0,
307
+ onChange: (event) => {
308
+ const next = options[Number(event.target.value)];
309
+ if (next === void 0) {
310
+ throw new Error(
311
+ `Invalid reasoning effort index: ${event.target.value}`
312
+ );
313
+ }
314
+ onChange(next);
315
+ },
316
+ className: "h-1 w-full cursor-pointer appearance-none rounded-full bg-muted accent-foreground [&::-moz-range-thumb]:size-3 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-2 [&::-moz-range-thumb]:border-background [&::-moz-range-thumb]:bg-foreground [&::-webkit-slider-thumb]:size-3 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-background [&::-webkit-slider-thumb]:bg-foreground [&::-webkit-slider-thumb]:shadow-sm"
317
+ }
318
+ ),
319
+ /* @__PURE__ */ jsx(
320
+ "span",
321
+ {
322
+ "aria-hidden": "true",
323
+ className: "pointer-events-none absolute top-7 -translate-x-1/2",
324
+ style: { left: `${percent}%` },
325
+ children: /* @__PURE__ */ jsxs(
326
+ "span",
327
+ {
328
+ className: cn(
329
+ "inline-flex h-5 shrink-0 items-center gap-1 rounded-full border px-1.5 text-[10px] font-semibold leading-none",
330
+ currentIndex < 0 ? "border-destructive/25 bg-destructive/10 text-destructive" : current ? cn("border-current/25 bg-muted", effortLevelColor(current)) : "border-border bg-muted text-muted-foreground"
331
+ ),
332
+ title: `Effort: ${label}`,
333
+ children: [
334
+ selectedIcon && /* @__PURE__ */ jsx(Icon, { icon: selectedIcon, className: "size-3" }),
335
+ label
336
+ ]
337
+ }
338
+ )
339
+ }
340
+ )
341
+ ] }),
342
+ lastIcon ? /* @__PURE__ */ jsx(
343
+ Icon,
344
+ {
345
+ icon: lastIcon,
346
+ className: cn(
347
+ "mt-3 size-3.5",
348
+ effortLevelColor(supported[supported.length - 1])
349
+ )
350
+ }
351
+ ) : /* @__PURE__ */ jsx("span", { className: "size-3.5" })
352
+ ]
353
+ }
354
+ );
355
+ }
356
+ export {
357
+ RuntimeBarCombo
358
+ };
359
+ //# sourceMappingURL=RuntimeBarCombo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuntimeBarCombo.js","sources":["../../../src/data/ai/RuntimeBarCombo.tsx"],"sourcesContent":["import { Button } from \"../../components/button\";\nimport { SegmentedControl } from \"../../components/SegmentedControl\";\nimport { UiCheck, UiChevronDown } from \"../../icons\";\nimport { cn } from \"../../lib/utils\";\nimport { DropdownMenu } from \"../../overlay/DropdownMenu\";\nimport { Icon } from \"../Icon\";\nimport {\n effortLevelColor,\n effortLevelIcon,\n effortLevelLabel,\n} from \"../chat/effort-icons\";\nimport { providerIcon, providerIconColor } from \"../chat/provider-icons\";\nimport type { ChatModel } from \"../chat/types\";\nimport type { AISpecRuntimeValue } from \"./SpecRuntimeEditor.model\";\nimport { runtimeFamilyBrand } from \"./RuntimeBar.model\";\nimport {\n runtimeModeOptions,\n unsupportedModeTitle,\n type SpecRuntimeFamily,\n type SpecRuntimeModeOption,\n} from \"./runtime-mode\";\n\nexport type RuntimeBarComboProps = {\n value: AISpecRuntimeValue;\n families: SpecRuntimeFamily[];\n family: SpecRuntimeFamily;\n mode: SpecRuntimeModeOption;\n selectedMode: string;\n models: ChatModel[];\n selectedModel: ChatModel | undefined;\n supportedEfforts: string[];\n ariaLabel: string;\n className?: string | undefined;\n onFamilyChange: (familyId: string) => void;\n onModeChange: (modeId: string) => void;\n onModelSelect: (model: ChatModel) => void;\n onModelClear: () => void;\n onEffortChange: (effort: string) => void;\n};\n\nexport function RuntimeBarCombo({\n value,\n families,\n family,\n mode,\n selectedMode,\n models,\n selectedModel,\n supportedEfforts,\n ariaLabel,\n className,\n onFamilyChange,\n onModeChange,\n onModelSelect,\n onModelClear,\n onEffortChange,\n}: RuntimeBarComboProps) {\n const brand = runtimeFamilyBrand(family);\n const modelLabel = selectedModel?.label ?? value.model ?? \"Prompt default\";\n const effortLabel = value.effort ? effortLevelLabel(value.effort) : \"None\";\n const effortIcon = value.effort ? effortLevelIcon(value.effort) : undefined;\n const summary = `${ariaLabel}: ${family.label}, ${mode.label}, ${modelLabel}, effort ${effortLabel}`;\n\n return (\n <DropdownMenu\n align=\"left\"\n menuLabel={`${ariaLabel} controls`}\n {...(className ? { className } : {})}\n menuClassName=\"max-h-[70vh] w-80 max-w-[calc(100vw-24px)] overflow-y-auto\"\n trigger={\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n title={summary}\n aria-label={summary}\n className=\"max-w-full gap-1.5 px-density-2\"\n >\n {brand.icon && (\n <Icon\n icon={brand.icon}\n className={cn(\"size-4 shrink-0\", brand.color)}\n />\n )}\n {mode.icon && (\n <Icon\n icon={mode.icon}\n className=\"size-4 shrink-0 text-muted-foreground\"\n />\n )}\n <span className=\"min-w-0 truncate text-xs font-semibold text-foreground\">\n {modelLabel}\n </span>\n {effortIcon && (\n <Icon\n icon={effortIcon}\n className={cn(\n \"size-4 shrink-0\",\n value.effort ? effortLevelColor(value.effort) : undefined,\n )}\n />\n )}\n <Icon\n icon={UiChevronDown}\n className=\"size-3 shrink-0 text-muted-foreground/70\"\n />\n </Button>\n }\n >\n {() => (\n <div className=\"p-1 text-xs\">\n <div className=\"space-y-2 border-b border-border px-2 pb-3 pt-2\">\n <FamilySegments\n families={families}\n value={family.id}\n onChange={onFamilyChange}\n />\n <ModeSegments\n families={families}\n family={family}\n value={selectedMode}\n onChange={onModeChange}\n />\n <EffortSlider\n value={value.effort}\n efforts={supportedEfforts}\n onChange={onEffortChange}\n />\n </div>\n <ModelChoices\n models={models}\n familyBrand={brand}\n selectedId={selectedModel?.id ?? value.model}\n onSelect={onModelSelect}\n onClear={onModelClear}\n />\n </div>\n )}\n </DropdownMenu>\n );\n}\n\nfunction FamilySegments({\n families,\n value,\n onChange,\n}: {\n families: SpecRuntimeFamily[];\n value: string;\n onChange: (familyId: string) => void;\n}) {\n return (\n <SegmentedControl\n aria-label=\"Family\"\n size=\"sm\"\n wrap\n value={value}\n onChange={onChange}\n className=\"w-full\"\n options={families.map((family) => {\n const brand = runtimeFamilyBrand(family);\n return {\n id: family.id,\n label: family.label,\n ...(brand.icon ? { icon: brand.icon } : {}),\n };\n })}\n />\n );\n}\n\nfunction ModeSegments({\n families,\n family,\n value,\n onChange,\n}: {\n families: SpecRuntimeFamily[];\n family: SpecRuntimeFamily;\n value: string;\n onChange: (modeId: string) => void;\n}) {\n return (\n <SegmentedControl\n aria-label=\"Runtime mode\"\n size=\"sm\"\n value={value}\n onChange={onChange}\n className=\"w-full\"\n options={runtimeModeOptions(families).map((mode) => {\n const supported = family.modes.find((entry) => entry.id === mode.id);\n return {\n id: mode.id,\n label: supported?.label ?? mode.label,\n title: supported?.title ?? unsupportedModeTitle(family),\n disabled: !supported,\n ...(mode.icon ? { icon: mode.icon } : {}),\n };\n })}\n />\n );\n}\n\nfunction ModelChoices({\n models,\n familyBrand,\n selectedId,\n onSelect,\n onClear,\n}: {\n models: ChatModel[];\n familyBrand: ReturnType<typeof runtimeFamilyBrand>;\n selectedId?: string | undefined;\n onSelect: (model: ChatModel) => void;\n onClear: () => void;\n}) {\n return (\n <div className=\"space-y-0.5 py-1\">\n <ModelChoice\n label=\"Prompt default\"\n selected={!selectedId}\n onClick={onClear}\n />\n {models.map((model) => {\n const icon = providerIcon(model.provider) ?? familyBrand.icon;\n return (\n <ModelChoice\n key={model.id}\n label={model.label}\n title={model.id}\n selected={model.id === selectedId}\n disabled={model.configured === false}\n {...(icon\n ? {\n icon,\n iconColor:\n providerIconColor(model.provider) ?? familyBrand.color,\n }\n : {})}\n onClick={() => onSelect(model)}\n />\n );\n })}\n </div>\n );\n}\n\nfunction ModelChoice({\n label,\n title,\n selected,\n disabled = false,\n icon,\n iconColor,\n onClick,\n}: {\n label: string;\n title?: string | undefined;\n selected: boolean;\n disabled?: boolean | undefined;\n icon?: NonNullable<ReturnType<typeof providerIcon>>;\n iconColor?: string | undefined;\n onClick: () => void;\n}) {\n return (\n <Button\n variant=\"ghost\"\n type=\"button\"\n disabled={disabled}\n onClick={onClick}\n aria-label={label}\n {...(title ? { title } : {})}\n className=\"group flex h-8 w-full items-center justify-start gap-2 rounded-md px-2 text-left hover:bg-muted\"\n >\n {icon ? (\n <span className=\"inline-flex size-6 shrink-0 items-center justify-center rounded-md bg-muted/70 ring-1 ring-border/60 group-hover:bg-background\">\n <Icon icon={icon} className={cn(\"size-3.5\", iconColor)} />\n </span>\n ) : (\n <span className=\"size-6 shrink-0\" />\n )}\n <span\n className={cn(\n \"min-w-0 flex-1 truncate text-sm\",\n selected && \"font-semibold\",\n )}\n >\n {label}\n </span>\n <Icon\n icon={UiCheck}\n className={cn(\n \"size-3.5 shrink-0 text-primary\",\n !selected && \"invisible\",\n )}\n />\n </Button>\n );\n}\n\nfunction EffortSlider({\n value,\n efforts,\n onChange,\n}: {\n value?: string | undefined;\n efforts: string[];\n onChange: (effort: string) => void;\n}) {\n const supported = [\n ...new Set(efforts.map((effort) => effort.trim()).filter(Boolean)),\n ];\n if (supported.length === 0) {\n return (\n <div className=\"flex h-8 items-center justify-center text-[11px] text-muted-foreground\">\n Fixed effort for this model\n </div>\n );\n }\n\n const options = [\"\", ...supported];\n const current = value?.trim() ?? \"\";\n const currentIndex = options.indexOf(current);\n const sliderIndex = currentIndex >= 0 ? currentIndex : 0;\n const label =\n currentIndex >= 0\n ? current\n ? effortLevelLabel(current)\n : \"None\"\n : `${effortLevelLabel(current)} unsupported`;\n const percent = (sliderIndex / (options.length - 1)) * 100;\n const firstIcon = effortLevelIcon(supported[0]!);\n const lastIcon = effortLevelIcon(supported[supported.length - 1]!);\n const selectedIcon = current ? effortLevelIcon(current) : undefined;\n\n return (\n <div\n className=\"grid grid-cols-[auto_minmax(0,1fr)_auto] items-start gap-1.5\"\n aria-label=\"Model effort\"\n >\n {firstIcon ? (\n <Icon\n icon={firstIcon}\n className={cn(\"mt-3 size-3.5\", effortLevelColor(supported[0]!))}\n />\n ) : (\n <span className=\"size-3.5\" />\n )}\n <div className=\"relative h-11 pt-1\">\n <input\n type=\"range\"\n min={0}\n max={options.length - 1}\n step={1}\n value={sliderIndex}\n aria-label=\"Reasoning effort\"\n aria-valuetext={label}\n aria-invalid={currentIndex < 0}\n onChange={(event) => {\n const next = options[Number(event.target.value)];\n if (next === undefined) {\n throw new Error(\n `Invalid reasoning effort index: ${event.target.value}`,\n );\n }\n onChange(next);\n }}\n className=\"h-1 w-full cursor-pointer appearance-none rounded-full bg-muted accent-foreground [&::-moz-range-thumb]:size-3 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-2 [&::-moz-range-thumb]:border-background [&::-moz-range-thumb]:bg-foreground [&::-webkit-slider-thumb]:size-3 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-background [&::-webkit-slider-thumb]:bg-foreground [&::-webkit-slider-thumb]:shadow-sm\"\n />\n <span\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute top-7 -translate-x-1/2\"\n style={{ left: `${percent}%` }}\n >\n <span\n className={cn(\n \"inline-flex h-5 shrink-0 items-center gap-1 rounded-full border px-1.5 text-[10px] font-semibold leading-none\",\n currentIndex < 0\n ? \"border-destructive/25 bg-destructive/10 text-destructive\"\n : current\n ? cn(\"border-current/25 bg-muted\", effortLevelColor(current))\n : \"border-border bg-muted text-muted-foreground\",\n )}\n title={`Effort: ${label}`}\n >\n {selectedIcon && <Icon icon={selectedIcon} className=\"size-3\" />}\n {label}\n </span>\n </span>\n </div>\n {lastIcon ? (\n <Icon\n icon={lastIcon}\n className={cn(\n \"mt-3 size-3.5\",\n effortLevelColor(supported[supported.length - 1]!),\n )}\n />\n ) : (\n <span className=\"size-3.5\" />\n )}\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const PromptInput = require("../chat/PromptInput.cjs");
5
+ function SessionChatComposer({
6
+ status,
7
+ capabilities,
8
+ queued = [],
9
+ error,
10
+ onSubmit,
11
+ onInterrupt,
12
+ toolbar,
13
+ inputAccessory,
14
+ className
15
+ }) {
16
+ const active = status === "running" || status === "interrupting";
17
+ const canSubmitWhileActive = capabilities.steer || capabilities.followUp;
18
+ const disabled = status === "starting" || status === "interrupting" || status === "stopping" || status === "running" && !canSubmitWhileActive;
19
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className, children: [
20
+ queued.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
21
+ "div",
22
+ {
23
+ className: "mb-density-2 flex flex-wrap gap-density-1",
24
+ "aria-label": "Queued messages",
25
+ children: queued.map((message) => /* @__PURE__ */ jsxRuntime.jsxs(
26
+ "span",
27
+ {
28
+ className: "max-w-full truncate rounded-full border border-border bg-muted px-density-2 py-1 text-xs text-muted-foreground",
29
+ children: [
30
+ "Queued: ",
31
+ message.text
32
+ ]
33
+ },
34
+ message.messageId
35
+ ))
36
+ }
37
+ ),
38
+ error && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-density-2 text-xs text-destructive", children: error }),
39
+ /* @__PURE__ */ jsxRuntime.jsx(
40
+ PromptInput.PromptInput,
41
+ {
42
+ status: active ? "streaming" : "ready",
43
+ disabled,
44
+ allowSubmitWhileStreaming: canSubmitWhileActive,
45
+ stopLabel: "Interrupt",
46
+ placeholder: status === "idle" ? "Continue this session…" : "Add a follow-up…",
47
+ onSubmit: (text) => onSubmit(text),
48
+ ...inputAccessory ? { inputAccessory } : {},
49
+ ...toolbar ? { toolbar } : {},
50
+ ...capabilities.interrupt && status === "running" && onInterrupt ? { onStop: onInterrupt } : {}
51
+ }
52
+ )
53
+ ] });
54
+ }
55
+ exports.SessionChatComposer = SessionChatComposer;
56
+ //# sourceMappingURL=SessionChatComposer.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionChatComposer.cjs","sources":["../../../src/data/ai/SessionChatComposer.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { PromptInput } from \"../chat/PromptInput\";\n\nexport type SessionChatCapabilities = {\n interrupt: boolean;\n steer: boolean;\n followUp: boolean;\n resume: boolean;\n};\n\nexport type SessionChatQueuedMessage = {\n messageId: string;\n text: string;\n};\n\nexport type SessionChatComposerProps = {\n status: \"starting\" | \"running\" | \"interrupting\" | \"idle\" | \"stopping\";\n capabilities: SessionChatCapabilities;\n queued?: SessionChatQueuedMessage[];\n error?: string;\n onSubmit: (text: string) => void;\n onInterrupt?: () => void;\n toolbar?: ReactNode;\n inputAccessory?: ReactNode;\n className?: string;\n};\n\nexport function SessionChatComposer({\n status,\n capabilities,\n queued = [],\n error,\n onSubmit,\n onInterrupt,\n toolbar,\n inputAccessory,\n className,\n}: SessionChatComposerProps) {\n const active = status === \"running\" || status === \"interrupting\";\n const canSubmitWhileActive = capabilities.steer || capabilities.followUp;\n const disabled =\n status === \"starting\" ||\n status === \"interrupting\" ||\n status === \"stopping\" ||\n (status === \"running\" && !canSubmitWhileActive);\n\n return (\n <div className={className}>\n {queued.length > 0 && (\n <div\n className=\"mb-density-2 flex flex-wrap gap-density-1\"\n aria-label=\"Queued messages\"\n >\n {queued.map((message) => (\n <span\n key={message.messageId}\n className=\"max-w-full truncate rounded-full border border-border bg-muted px-density-2 py-1 text-xs text-muted-foreground\"\n >\n Queued: {message.text}\n </span>\n ))}\n </div>\n )}\n {error && (\n <div className=\"mb-density-2 text-xs text-destructive\">{error}</div>\n )}\n <PromptInput\n status={active ? \"streaming\" : \"ready\"}\n disabled={disabled}\n allowSubmitWhileStreaming={canSubmitWhileActive}\n stopLabel=\"Interrupt\"\n placeholder={\n status === \"idle\" ? \"Continue this session…\" : \"Add a follow-up…\"\n }\n onSubmit={(text) => onSubmit(text)}\n {...(inputAccessory ? { inputAccessory } : {})}\n {...(toolbar ? { toolbar } : {})}\n {...(capabilities.interrupt && status === \"running\" && onInterrupt\n ? { onStop: onInterrupt }\n : {})}\n />\n </div>\n );\n}\n"],"names":["jsxs","jsx","PromptInput"],"mappings":";;;;AA2BO,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA;AAAA,EACA,SAAS,CAAA;AAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA6B;AAC3B,QAAM,SAAS,WAAW,aAAa,WAAW;AAClD,QAAM,uBAAuB,aAAa,SAAS,aAAa;AAChE,QAAM,WACJ,WAAW,cACX,WAAW,kBACX,WAAW,cACV,WAAW,aAAa,CAAC;AAE5B,SACEA,gCAAC,SAAI,WACF,UAAA;AAAA,IAAA,OAAO,SAAS,KACfC,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,cAAW;AAAA,QAEV,UAAA,OAAO,IAAI,CAAC,YACXD,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YAEC,WAAU;AAAA,YACX,UAAA;AAAA,cAAA;AAAA,cACU,QAAQ;AAAA,YAAA;AAAA,UAAA;AAAA,UAHZ,QAAQ;AAAA,QAAA,CAKhB;AAAA,MAAA;AAAA,IAAA;AAAA,IAGJ,SACCC,2BAAAA,IAAC,OAAA,EAAI,WAAU,yCAAyC,UAAA,OAAM;AAAA,IAEhEA,2BAAAA;AAAAA,MAACC,YAAAA;AAAAA,MAAA;AAAA,QACC,QAAQ,SAAS,cAAc;AAAA,QAC/B;AAAA,QACA,2BAA2B;AAAA,QAC3B,WAAU;AAAA,QACV,aACE,WAAW,SAAS,2BAA2B;AAAA,QAEjD,UAAU,CAAC,SAAS,SAAS,IAAI;AAAA,QAChC,GAAI,iBAAiB,EAAE,eAAA,IAAmB,CAAA;AAAA,QAC1C,GAAI,UAAU,EAAE,QAAA,IAAY,CAAA;AAAA,QAC5B,GAAI,aAAa,aAAa,WAAW,aAAa,cACnD,EAAE,QAAQ,gBACV,CAAA;AAAA,MAAC;AAAA,IAAA;AAAA,EACP,GACF;AAEJ;;"}
@@ -0,0 +1,24 @@
1
+ import { ReactNode } from 'react';
2
+ export type SessionChatCapabilities = {
3
+ interrupt: boolean;
4
+ steer: boolean;
5
+ followUp: boolean;
6
+ resume: boolean;
7
+ };
8
+ export type SessionChatQueuedMessage = {
9
+ messageId: string;
10
+ text: string;
11
+ };
12
+ export type SessionChatComposerProps = {
13
+ status: "starting" | "running" | "interrupting" | "idle" | "stopping";
14
+ capabilities: SessionChatCapabilities;
15
+ queued?: SessionChatQueuedMessage[];
16
+ error?: string;
17
+ onSubmit: (text: string) => void;
18
+ onInterrupt?: () => void;
19
+ toolbar?: ReactNode;
20
+ inputAccessory?: ReactNode;
21
+ className?: string;
22
+ };
23
+ export declare function SessionChatComposer({ status, capabilities, queued, error, onSubmit, onInterrupt, toolbar, inputAccessory, className, }: SessionChatComposerProps): import("react/jsx-runtime").JSX.Element;
24
+ //# sourceMappingURL=SessionChatComposer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionChatComposer.d.ts","sourceRoot":"","sources":["../../../src/data/ai/SessionChatComposer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,cAAc,GAAG,MAAM,GAAG,UAAU,CAAC;IACtE,YAAY,EAAE,uBAAuB,CAAC;IACtC,MAAM,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,YAAY,EACZ,MAAW,EACX,KAAK,EACL,QAAQ,EACR,WAAW,EACX,OAAO,EACP,cAAc,EACd,SAAS,GACV,EAAE,wBAAwB,2CA8C1B"}
@@ -0,0 +1,56 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { PromptInput } from "../chat/PromptInput.js";
3
+ function SessionChatComposer({
4
+ status,
5
+ capabilities,
6
+ queued = [],
7
+ error,
8
+ onSubmit,
9
+ onInterrupt,
10
+ toolbar,
11
+ inputAccessory,
12
+ className
13
+ }) {
14
+ const active = status === "running" || status === "interrupting";
15
+ const canSubmitWhileActive = capabilities.steer || capabilities.followUp;
16
+ const disabled = status === "starting" || status === "interrupting" || status === "stopping" || status === "running" && !canSubmitWhileActive;
17
+ return /* @__PURE__ */ jsxs("div", { className, children: [
18
+ queued.length > 0 && /* @__PURE__ */ jsx(
19
+ "div",
20
+ {
21
+ className: "mb-density-2 flex flex-wrap gap-density-1",
22
+ "aria-label": "Queued messages",
23
+ children: queued.map((message) => /* @__PURE__ */ jsxs(
24
+ "span",
25
+ {
26
+ className: "max-w-full truncate rounded-full border border-border bg-muted px-density-2 py-1 text-xs text-muted-foreground",
27
+ children: [
28
+ "Queued: ",
29
+ message.text
30
+ ]
31
+ },
32
+ message.messageId
33
+ ))
34
+ }
35
+ ),
36
+ error && /* @__PURE__ */ jsx("div", { className: "mb-density-2 text-xs text-destructive", children: error }),
37
+ /* @__PURE__ */ jsx(
38
+ PromptInput,
39
+ {
40
+ status: active ? "streaming" : "ready",
41
+ disabled,
42
+ allowSubmitWhileStreaming: canSubmitWhileActive,
43
+ stopLabel: "Interrupt",
44
+ placeholder: status === "idle" ? "Continue this session…" : "Add a follow-up…",
45
+ onSubmit: (text) => onSubmit(text),
46
+ ...inputAccessory ? { inputAccessory } : {},
47
+ ...toolbar ? { toolbar } : {},
48
+ ...capabilities.interrupt && status === "running" && onInterrupt ? { onStop: onInterrupt } : {}
49
+ }
50
+ )
51
+ ] });
52
+ }
53
+ export {
54
+ SessionChatComposer
55
+ };
56
+ //# sourceMappingURL=SessionChatComposer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionChatComposer.js","sources":["../../../src/data/ai/SessionChatComposer.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { PromptInput } from \"../chat/PromptInput\";\n\nexport type SessionChatCapabilities = {\n interrupt: boolean;\n steer: boolean;\n followUp: boolean;\n resume: boolean;\n};\n\nexport type SessionChatQueuedMessage = {\n messageId: string;\n text: string;\n};\n\nexport type SessionChatComposerProps = {\n status: \"starting\" | \"running\" | \"interrupting\" | \"idle\" | \"stopping\";\n capabilities: SessionChatCapabilities;\n queued?: SessionChatQueuedMessage[];\n error?: string;\n onSubmit: (text: string) => void;\n onInterrupt?: () => void;\n toolbar?: ReactNode;\n inputAccessory?: ReactNode;\n className?: string;\n};\n\nexport function SessionChatComposer({\n status,\n capabilities,\n queued = [],\n error,\n onSubmit,\n onInterrupt,\n toolbar,\n inputAccessory,\n className,\n}: SessionChatComposerProps) {\n const active = status === \"running\" || status === \"interrupting\";\n const canSubmitWhileActive = capabilities.steer || capabilities.followUp;\n const disabled =\n status === \"starting\" ||\n status === \"interrupting\" ||\n status === \"stopping\" ||\n (status === \"running\" && !canSubmitWhileActive);\n\n return (\n <div className={className}>\n {queued.length > 0 && (\n <div\n className=\"mb-density-2 flex flex-wrap gap-density-1\"\n aria-label=\"Queued messages\"\n >\n {queued.map((message) => (\n <span\n key={message.messageId}\n className=\"max-w-full truncate rounded-full border border-border bg-muted px-density-2 py-1 text-xs text-muted-foreground\"\n >\n Queued: {message.text}\n </span>\n ))}\n </div>\n )}\n {error && (\n <div className=\"mb-density-2 text-xs text-destructive\">{error}</div>\n )}\n <PromptInput\n status={active ? \"streaming\" : \"ready\"}\n disabled={disabled}\n allowSubmitWhileStreaming={canSubmitWhileActive}\n stopLabel=\"Interrupt\"\n placeholder={\n status === \"idle\" ? \"Continue this session…\" : \"Add a follow-up…\"\n }\n onSubmit={(text) => onSubmit(text)}\n {...(inputAccessory ? { inputAccessory } : {})}\n {...(toolbar ? { toolbar } : {})}\n {...(capabilities.interrupt && status === \"running\" && onInterrupt\n ? { onStop: onInterrupt }\n : {})}\n />\n </div>\n );\n}\n"],"names":[],"mappings":";;AA2BO,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA;AAAA,EACA,SAAS,CAAA;AAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA6B;AAC3B,QAAM,SAAS,WAAW,aAAa,WAAW;AAClD,QAAM,uBAAuB,aAAa,SAAS,aAAa;AAChE,QAAM,WACJ,WAAW,cACX,WAAW,kBACX,WAAW,cACV,WAAW,aAAa,CAAC;AAE5B,SACE,qBAAC,SAAI,WACF,UAAA;AAAA,IAAA,OAAO,SAAS,KACf;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,cAAW;AAAA,QAEV,UAAA,OAAO,IAAI,CAAC,YACX;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,WAAU;AAAA,YACX,UAAA;AAAA,cAAA;AAAA,cACU,QAAQ;AAAA,YAAA;AAAA,UAAA;AAAA,UAHZ,QAAQ;AAAA,QAAA,CAKhB;AAAA,MAAA;AAAA,IAAA;AAAA,IAGJ,SACC,oBAAC,OAAA,EAAI,WAAU,yCAAyC,UAAA,OAAM;AAAA,IAEhE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,QAAQ,SAAS,cAAc;AAAA,QAC/B;AAAA,QACA,2BAA2B;AAAA,QAC3B,WAAU;AAAA,QACV,aACE,WAAW,SAAS,2BAA2B;AAAA,QAEjD,UAAU,CAAC,SAAS,SAAS,IAAI;AAAA,QAChC,GAAI,iBAAiB,EAAE,eAAA,IAAmB,CAAA;AAAA,QAC1C,GAAI,UAAU,EAAE,QAAA,IAAY,CAAA;AAAA,QAC5B,GAAI,aAAa,aAAa,WAAW,aAAa,cACnD,EAAE,QAAQ,gBACV,CAAA;AAAA,MAAC;AAAA,IAAA;AAAA,EACP,GACF;AAEJ;"}