@flanksource/clicky-ui 0.3.34 → 0.3.35

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 (680) hide show
  1. package/README.md +4 -0
  2. package/dist/ai.cjs +3 -0
  3. package/dist/ai.cjs.map +1 -1
  4. package/dist/ai.js +3 -0
  5. package/dist/ai.js.map +1 -1
  6. package/dist/comments/CommentCard.d.ts +1 -1
  7. package/dist/comments/CommentProvider.d.ts +1 -1
  8. package/dist/comments/CommentThread.d.ts +1 -1
  9. package/dist/comments/CommentThreadList.d.ts +1 -1
  10. package/dist/comments/MentionTextarea.d.ts +1 -1
  11. package/dist/comments/comment-context.d.ts +4 -4
  12. package/dist/comments/comment-fixtures.d.ts +1 -1
  13. package/dist/comments/comment-types.d.ts +1 -1
  14. package/dist/components/AccordionList.d.ts +1 -1
  15. package/dist/components/ComboboxControl.d.ts +1 -1
  16. package/dist/components/ComboboxMenu.d.ts +2 -2
  17. package/dist/components/ComboboxTags.cjs +41 -11
  18. package/dist/components/ComboboxTags.cjs.map +1 -1
  19. package/dist/components/ComboboxTags.d.ts +6 -0
  20. package/dist/components/ComboboxTags.d.ts.map +1 -1
  21. package/dist/components/ComboboxTags.js +41 -11
  22. package/dist/components/ComboboxTags.js.map +1 -1
  23. package/dist/components/DateField.d.ts +3 -3
  24. package/dist/components/DatePicker.d.ts +3 -3
  25. package/dist/components/DateTimePicker.d.ts +3 -3
  26. package/dist/components/ErrorWrapper.d.ts +2 -2
  27. package/dist/components/Field.d.ts +1 -1
  28. package/dist/components/FilterBar.d.ts +1 -1
  29. package/dist/components/FormLookupProvider.d.ts +1 -1
  30. package/dist/components/FormatOptionsDropdown.d.ts +1 -1
  31. package/dist/components/IconButton.d.ts +3 -3
  32. package/dist/components/InputField.d.ts +2 -2
  33. package/dist/components/ItemActions.d.ts +1 -1
  34. package/dist/components/JsonSchemaForm.cjs +17 -36
  35. package/dist/components/JsonSchemaForm.cjs.map +1 -1
  36. package/dist/components/JsonSchemaForm.d.ts +1 -1
  37. package/dist/components/JsonSchemaForm.d.ts.map +1 -1
  38. package/dist/components/JsonSchemaForm.js +17 -36
  39. package/dist/components/JsonSchemaForm.js.map +1 -1
  40. package/dist/components/ListMenu.d.ts +1 -1
  41. package/dist/components/MultiSelect.d.ts +1 -1
  42. package/dist/components/SearchInput.d.ts +1 -1
  43. package/dist/components/SegmentedControl.d.ts +1 -1
  44. package/dist/components/SplitButton.d.ts +1 -1
  45. package/dist/components/Switch.d.ts +1 -1
  46. package/dist/components/TreePickerField.cjs +11 -2
  47. package/dist/components/TreePickerField.cjs.map +1 -1
  48. package/dist/components/TreePickerField.d.ts +13 -4
  49. package/dist/components/TreePickerField.d.ts.map +1 -1
  50. package/dist/components/TreePickerField.js +11 -2
  51. package/dist/components/TreePickerField.js.map +1 -1
  52. package/dist/components/UnitStepControls.d.ts +1 -1
  53. package/dist/components/button.d.ts +3 -3
  54. package/dist/components/combobox-types.d.ts +1 -1
  55. package/dist/components/density-switcher.d.ts +1 -1
  56. package/dist/components/filter-bar-context.d.ts +1 -1
  57. package/dist/components/filter-bar-field-utils.d.ts +2 -2
  58. package/dist/components/form-lookup-context.d.ts +1 -1
  59. package/dist/components/icon-menu-picker.d.ts +1 -1
  60. package/dist/components/json-schema-form-accordion-array.cjs +44 -21
  61. package/dist/components/json-schema-form-accordion-array.cjs.map +1 -1
  62. package/dist/components/json-schema-form-accordion-array.d.ts.map +1 -1
  63. package/dist/components/json-schema-form-accordion-array.js +47 -24
  64. package/dist/components/json-schema-form-accordion-array.js.map +1 -1
  65. package/dist/components/json-schema-form-array.cjs +53 -30
  66. package/dist/components/json-schema-form-array.cjs.map +1 -1
  67. package/dist/components/json-schema-form-array.d.ts.map +1 -1
  68. package/dist/components/json-schema-form-array.js +54 -31
  69. package/dist/components/json-schema-form-array.js.map +1 -1
  70. package/dist/components/json-schema-form-cards-array.cjs +32 -22
  71. package/dist/components/json-schema-form-cards-array.cjs.map +1 -1
  72. package/dist/components/json-schema-form-cards-array.d.ts.map +1 -1
  73. package/dist/components/json-schema-form-cards-array.js +33 -23
  74. package/dist/components/json-schema-form-cards-array.js.map +1 -1
  75. package/dist/components/json-schema-form-collection-layouts.fixtures.d.ts +44 -0
  76. package/dist/components/json-schema-form-collection-layouts.fixtures.d.ts.map +1 -0
  77. package/dist/components/json-schema-form-discriminator.d.ts +1 -1
  78. package/dist/components/json-schema-form-errors.cjs +5 -1
  79. package/dist/components/json-schema-form-errors.cjs.map +1 -1
  80. package/dist/components/json-schema-form-errors.d.ts +2 -1
  81. package/dist/components/json-schema-form-errors.d.ts.map +1 -1
  82. package/dist/components/json-schema-form-errors.js +6 -2
  83. package/dist/components/json-schema-form-errors.js.map +1 -1
  84. package/dist/components/json-schema-form-extensions.d.ts +1 -1
  85. package/dist/components/json-schema-form-filter-input.cjs +50 -0
  86. package/dist/components/json-schema-form-filter-input.cjs.map +1 -0
  87. package/dist/components/json-schema-form-filter-input.d.ts +5 -0
  88. package/dist/components/json-schema-form-filter-input.d.ts.map +1 -0
  89. package/dist/components/json-schema-form-filter-input.js +50 -0
  90. package/dist/components/json-schema-form-filter-input.js.map +1 -0
  91. package/dist/components/json-schema-form-filter.cjs +49 -0
  92. package/dist/components/json-schema-form-filter.cjs.map +1 -0
  93. package/dist/components/json-schema-form-filter.d.ts +8 -0
  94. package/dist/components/json-schema-form-filter.d.ts.map +1 -0
  95. package/dist/components/json-schema-form-filter.js +49 -0
  96. package/dist/components/json-schema-form-filter.js.map +1 -0
  97. package/dist/components/json-schema-form-layout.cjs +84 -17
  98. package/dist/components/json-schema-form-layout.cjs.map +1 -1
  99. package/dist/components/json-schema-form-layout.d.ts +1 -1
  100. package/dist/components/json-schema-form-layout.d.ts.map +1 -1
  101. package/dist/components/json-schema-form-layout.js +84 -17
  102. package/dist/components/json-schema-form-layout.js.map +1 -1
  103. package/dist/components/json-schema-form-list-array.cjs +16 -5
  104. package/dist/components/json-schema-form-list-array.cjs.map +1 -1
  105. package/dist/components/json-schema-form-list-array.d.ts +2 -1
  106. package/dist/components/json-schema-form-list-array.d.ts.map +1 -1
  107. package/dist/components/json-schema-form-list-array.js +16 -5
  108. package/dist/components/json-schema-form-list-array.js.map +1 -1
  109. package/dist/components/json-schema-form-object.cjs +239 -85
  110. package/dist/components/json-schema-form-object.cjs.map +1 -1
  111. package/dist/components/json-schema-form-object.d.ts +2 -2
  112. package/dist/components/json-schema-form-object.d.ts.map +1 -1
  113. package/dist/components/json-schema-form-object.js +241 -87
  114. package/dist/components/json-schema-form-object.js.map +1 -1
  115. package/dist/components/json-schema-form-preferences.cjs +1 -1
  116. package/dist/components/json-schema-form-preferences.cjs.map +1 -1
  117. package/dist/components/json-schema-form-preferences.d.ts +1 -1
  118. package/dist/components/json-schema-form-preferences.d.ts.map +1 -1
  119. package/dist/components/json-schema-form-preferences.js +1 -1
  120. package/dist/components/json-schema-form-preferences.js.map +1 -1
  121. package/dist/components/json-schema-form-properties-errors.fixtures.d.ts +14 -0
  122. package/dist/components/json-schema-form-properties-errors.fixtures.d.ts.map +1 -0
  123. package/dist/components/json-schema-form-properties-size.cjs +19 -0
  124. package/dist/components/json-schema-form-properties-size.cjs.map +1 -0
  125. package/dist/components/json-schema-form-properties-size.d.ts +4 -0
  126. package/dist/components/json-schema-form-properties-size.d.ts.map +1 -0
  127. package/dist/components/json-schema-form-properties-size.js +19 -0
  128. package/dist/components/json-schema-form-properties-size.js.map +1 -0
  129. package/dist/components/json-schema-form-properties.cjs +305 -0
  130. package/dist/components/json-schema-form-properties.cjs.map +1 -0
  131. package/dist/components/json-schema-form-properties.d.ts +20 -0
  132. package/dist/components/json-schema-form-properties.d.ts.map +1 -0
  133. package/dist/components/json-schema-form-properties.fixtures.d.ts +157 -0
  134. package/dist/components/json-schema-form-properties.fixtures.d.ts.map +1 -0
  135. package/dist/components/json-schema-form-properties.js +305 -0
  136. package/dist/components/json-schema-form-properties.js.map +1 -0
  137. package/dist/components/json-schema-form-property-actions-context.cjs +6 -0
  138. package/dist/components/json-schema-form-property-actions-context.cjs.map +1 -0
  139. package/dist/components/json-schema-form-property-actions-context.d.ts +2 -0
  140. package/dist/components/json-schema-form-property-actions-context.d.ts.map +1 -0
  141. package/dist/components/json-schema-form-property-actions-context.js +6 -0
  142. package/dist/components/json-schema-form-property-actions-context.js.map +1 -0
  143. package/dist/components/json-schema-form-property-collection.cjs +31 -0
  144. package/dist/components/json-schema-form-property-collection.cjs.map +1 -0
  145. package/dist/components/json-schema-form-property-collection.d.ts +6 -0
  146. package/dist/components/json-schema-form-property-collection.d.ts.map +1 -0
  147. package/dist/components/json-schema-form-property-collection.js +31 -0
  148. package/dist/components/json-schema-form-property-collection.js.map +1 -0
  149. package/dist/components/json-schema-form-property-draft.cjs +45 -0
  150. package/dist/components/json-schema-form-property-draft.cjs.map +1 -0
  151. package/dist/components/json-schema-form-property-draft.d.ts +8 -0
  152. package/dist/components/json-schema-form-property-draft.d.ts.map +1 -0
  153. package/dist/components/json-schema-form-property-draft.js +45 -0
  154. package/dist/components/json-schema-form-property-draft.js.map +1 -0
  155. package/dist/components/json-schema-form-property-preview.cjs +68 -0
  156. package/dist/components/json-schema-form-property-preview.cjs.map +1 -0
  157. package/dist/components/json-schema-form-property-preview.d.ts +7 -0
  158. package/dist/components/json-schema-form-property-preview.d.ts.map +1 -0
  159. package/dist/components/json-schema-form-property-preview.js +68 -0
  160. package/dist/components/json-schema-form-property-preview.js.map +1 -0
  161. package/dist/components/json-schema-form-property-selection.cjs +89 -0
  162. package/dist/components/json-schema-form-property-selection.cjs.map +1 -0
  163. package/dist/components/json-schema-form-property-selection.d.ts +6 -0
  164. package/dist/components/json-schema-form-property-selection.d.ts.map +1 -0
  165. package/dist/components/json-schema-form-property-selection.js +89 -0
  166. package/dist/components/json-schema-form-property-selection.js.map +1 -0
  167. package/dist/components/json-schema-form-render.cjs +41 -4
  168. package/dist/components/json-schema-form-render.cjs.map +1 -1
  169. package/dist/components/json-schema-form-render.d.ts +1 -1
  170. package/dist/components/json-schema-form-render.d.ts.map +1 -1
  171. package/dist/components/json-schema-form-render.js +42 -5
  172. package/dist/components/json-schema-form-render.js.map +1 -1
  173. package/dist/components/json-schema-form-resolve.cjs +2 -0
  174. package/dist/components/json-schema-form-resolve.cjs.map +1 -1
  175. package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
  176. package/dist/components/json-schema-form-resolve.js +2 -0
  177. package/dist/components/json-schema-form-resolve.js.map +1 -1
  178. package/dist/components/json-schema-form-runtime-types.d.ts +222 -0
  179. package/dist/components/json-schema-form-runtime-types.d.ts.map +1 -0
  180. package/dist/components/json-schema-form-table-array.cjs +82 -51
  181. package/dist/components/json-schema-form-table-array.cjs.map +1 -1
  182. package/dist/components/json-schema-form-table-array.d.ts.map +1 -1
  183. package/dist/components/json-schema-form-table-array.js +84 -53
  184. package/dist/components/json-schema-form-table-array.js.map +1 -1
  185. package/dist/components/json-schema-form-template-menu.d.ts +1 -1
  186. package/dist/components/json-schema-form-template.d.ts +1 -1
  187. package/dist/components/json-schema-form-types.d.ts +7 -179
  188. package/dist/components/json-schema-form-types.d.ts.map +1 -1
  189. package/dist/components/json-schema-form-utils.cjs +10 -9
  190. package/dist/components/json-schema-form-utils.cjs.map +1 -1
  191. package/dist/components/json-schema-form-utils.d.ts +11 -1
  192. package/dist/components/json-schema-form-utils.d.ts.map +1 -1
  193. package/dist/components/json-schema-form-utils.js +10 -9
  194. package/dist/components/json-schema-form-utils.js.map +1 -1
  195. package/dist/components/loading.d.ts +4 -4
  196. package/dist/components/mdx-editor-callout.d.ts +1 -1
  197. package/dist/components/mdx-editor-options.d.ts +1 -1
  198. package/dist/components/select.d.ts +3 -3
  199. package/dist/components/theme-switcher.d.ts +1 -1
  200. package/dist/components/use-list-menu-selection.d.ts +1 -1
  201. package/dist/components/useComboboxLayout.d.ts +1 -1
  202. package/dist/components/workload-picker-utils.d.ts +1 -1
  203. package/dist/data/Avatar.d.ts +1 -1
  204. package/dist/data/AvatarBadge.d.ts +1 -1
  205. package/dist/data/Badge.d.ts +1 -1
  206. package/dist/data/Callout.d.ts +1 -1
  207. package/dist/data/DataTable.cjs +575 -435
  208. package/dist/data/DataTable.cjs.map +1 -1
  209. package/dist/data/DataTable.d.ts +21 -13
  210. package/dist/data/DataTable.d.ts.map +1 -1
  211. package/dist/data/DataTable.grouping.d.ts +1 -1
  212. package/dist/data/DataTable.js +575 -435
  213. package/dist/data/DataTable.js.map +1 -1
  214. package/dist/data/ExecutionTree.d.ts +1 -1
  215. package/dist/data/FilterPill.d.ts +1 -1
  216. package/dist/data/FixtureEditor/RawFenceEditor.d.ts +1 -1
  217. package/dist/data/FixtureEditor/types.d.ts +1 -1
  218. package/dist/data/Gauge.d.ts +1 -1
  219. package/dist/data/GaugeHoverCard.d.ts +1 -1
  220. package/dist/data/Icon.d.ts +1 -1
  221. package/dist/data/KeyValueList.d.ts +1 -1
  222. package/dist/data/MarkdownEditor.d.ts +1 -1
  223. package/dist/data/MatrixTable.d.ts +1 -1
  224. package/dist/data/ObjectGraph.d.ts +1 -1
  225. package/dist/data/ProgressBars.d.ts +1 -1
  226. package/dist/data/Properties.cjs +86 -35
  227. package/dist/data/Properties.cjs.map +1 -1
  228. package/dist/data/Properties.d.ts +2 -2
  229. package/dist/data/Properties.d.ts.map +1 -1
  230. package/dist/data/Properties.js +87 -36
  231. package/dist/data/Properties.js.map +1 -1
  232. package/dist/data/RadialGauge.d.ts +1 -1
  233. package/dist/data/SchemaViewer.d.ts +1 -1
  234. package/dist/data/SortableHeader.d.ts +1 -1
  235. package/dist/data/StatStrip.d.ts +1 -1
  236. package/dist/data/StatusBreakdown.d.ts +1 -1
  237. package/dist/data/TabButton.d.ts +1 -1
  238. package/dist/data/TaskManager.cjs +9 -17
  239. package/dist/data/TaskManager.cjs.map +1 -1
  240. package/dist/data/TaskManager.d.ts.map +1 -1
  241. package/dist/data/TaskManager.js +9 -17
  242. package/dist/data/TaskManager.js.map +1 -1
  243. package/dist/data/TaskManagerButton.cjs +17 -34
  244. package/dist/data/TaskManagerButton.cjs.map +1 -1
  245. package/dist/data/TaskManagerButton.d.ts.map +1 -1
  246. package/dist/data/TaskManagerButton.js +18 -35
  247. package/dist/data/TaskManagerButton.js.map +1 -1
  248. package/dist/data/TaskProcessDetails.cjs +5 -26
  249. package/dist/data/TaskProcessDetails.cjs.map +1 -1
  250. package/dist/data/TaskProcessDetails.d.ts +2 -1
  251. package/dist/data/TaskProcessDetails.d.ts.map +1 -1
  252. package/dist/data/TaskProcessDetails.js +5 -26
  253. package/dist/data/TaskProcessDetails.js.map +1 -1
  254. package/dist/data/TaskProgress.cjs +24 -15
  255. package/dist/data/TaskProgress.cjs.map +1 -1
  256. package/dist/data/TaskProgress.d.ts +2 -1
  257. package/dist/data/TaskProgress.d.ts.map +1 -1
  258. package/dist/data/TaskProgress.js +24 -15
  259. package/dist/data/TaskProgress.js.map +1 -1
  260. package/dist/data/TaskResourceReadings.cjs +42 -0
  261. package/dist/data/TaskResourceReadings.cjs.map +1 -0
  262. package/dist/data/TaskResourceReadings.d.ts +6 -0
  263. package/dist/data/TaskResourceReadings.d.ts.map +1 -0
  264. package/dist/data/TaskResourceReadings.js +42 -0
  265. package/dist/data/TaskResourceReadings.js.map +1 -0
  266. package/dist/data/TaskSnapshot.cjs.map +1 -1
  267. package/dist/data/TaskSnapshot.d.ts +14 -1
  268. package/dist/data/TaskSnapshot.d.ts.map +1 -1
  269. package/dist/data/TaskSnapshot.js.map +1 -1
  270. package/dist/data/Timeline.d.ts +1 -1
  271. package/dist/data/Tree.d.ts +1 -1
  272. package/dist/data/TreeGroupHeader.d.ts +1 -1
  273. package/dist/data/TreeNode.d.ts +1 -1
  274. package/dist/data/Version.d.ts +3 -3
  275. package/dist/data/ai/ChatWindow.cjs +22 -12
  276. package/dist/data/ai/ChatWindow.cjs.map +1 -1
  277. package/dist/data/ai/ChatWindow.d.ts.map +1 -1
  278. package/dist/data/ai/ChatWindow.js +22 -12
  279. package/dist/data/ai/ChatWindow.js.map +1 -1
  280. package/dist/data/ai/ChatWindow.test-utils.d.ts +4 -2
  281. package/dist/data/ai/ChatWindow.test-utils.d.ts.map +1 -1
  282. package/dist/data/ai/ChatWindow.types.d.ts +1 -1
  283. package/dist/data/ai/ChatWindowManager.cjs +2 -0
  284. package/dist/data/ai/ChatWindowManager.cjs.map +1 -1
  285. package/dist/data/ai/ChatWindowManager.d.ts +1 -1
  286. package/dist/data/ai/ChatWindowManager.d.ts.map +1 -1
  287. package/dist/data/ai/ChatWindowManager.js +2 -0
  288. package/dist/data/ai/ChatWindowManager.js.map +1 -1
  289. package/dist/data/ai/PolicyTree.d.ts +1 -1
  290. package/dist/data/ai/PromptCatalog/PromptPageHeader.d.ts +1 -1
  291. package/dist/data/ai/PromptCatalog/types.d.ts +1 -1
  292. package/dist/data/ai/PromptRunEditor/index.cjs +4 -0
  293. package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
  294. package/dist/data/ai/PromptRunEditor/index.d.ts +5 -2
  295. package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
  296. package/dist/data/ai/PromptRunEditor/index.js +4 -0
  297. package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
  298. package/dist/data/ai/SessionChatComposer.d.ts +1 -1
  299. package/dist/data/ai/SessionInspector.approvals.cjs +147 -0
  300. package/dist/data/ai/SessionInspector.approvals.cjs.map +1 -0
  301. package/dist/data/ai/SessionInspector.approvals.d.ts +21 -0
  302. package/dist/data/ai/SessionInspector.approvals.d.ts.map +1 -0
  303. package/dist/data/ai/SessionInspector.approvals.js +147 -0
  304. package/dist/data/ai/SessionInspector.approvals.js.map +1 -0
  305. package/dist/data/ai/SessionInspector.cjs +21 -8
  306. package/dist/data/ai/SessionInspector.cjs.map +1 -1
  307. package/dist/data/ai/SessionInspector.d.ts +6 -2
  308. package/dist/data/ai/SessionInspector.d.ts.map +1 -1
  309. package/dist/data/ai/SessionInspector.hierarchy.d.ts +1 -1
  310. package/dist/data/ai/SessionInspector.js +21 -8
  311. package/dist/data/ai/SessionInspector.js.map +1 -1
  312. package/dist/data/ai/SessionInspector.panel-parts.cjs +47 -0
  313. package/dist/data/ai/SessionInspector.panel-parts.cjs.map +1 -0
  314. package/dist/data/ai/SessionInspector.panel-parts.d.ts +20 -0
  315. package/dist/data/ai/SessionInspector.panel-parts.d.ts.map +1 -0
  316. package/dist/data/ai/SessionInspector.panel-parts.js +47 -0
  317. package/dist/data/ai/SessionInspector.panel-parts.js.map +1 -0
  318. package/dist/data/ai/SessionInspector.panels.cjs +40 -99
  319. package/dist/data/ai/SessionInspector.panels.cjs.map +1 -1
  320. package/dist/data/ai/SessionInspector.panels.d.ts +3 -1
  321. package/dist/data/ai/SessionInspector.panels.d.ts.map +1 -1
  322. package/dist/data/ai/SessionInspector.panels.js +12 -71
  323. package/dist/data/ai/SessionInspector.panels.js.map +1 -1
  324. package/dist/data/ai/SessionViewer.d.ts +1 -1
  325. package/dist/data/ai/SessionViewer.rows.d.ts +1 -1
  326. package/dist/data/ai/SessionViewer.tool-details.d.ts +1 -1
  327. package/dist/data/ai/SessionViewer.unified.d.ts +23 -0
  328. package/dist/data/ai/SessionViewer.unified.d.ts.map +1 -1
  329. package/dist/data/ai/SpecRuntimeEditor/Footer.d.ts +1 -1
  330. package/dist/data/ai/SpecRuntimeEditor/Rail.d.ts +1 -1
  331. package/dist/data/ai/SpecRuntimeEditor/SectionCard.d.ts +1 -1
  332. package/dist/data/ai/SpecRuntimeEditor/VerifySection.cjs +3 -1
  333. package/dist/data/ai/SpecRuntimeEditor/VerifySection.cjs.map +1 -1
  334. package/dist/data/ai/SpecRuntimeEditor/VerifySection.d.ts +3 -1
  335. package/dist/data/ai/SpecRuntimeEditor/VerifySection.d.ts.map +1 -1
  336. package/dist/data/ai/SpecRuntimeEditor/VerifySection.js +3 -1
  337. package/dist/data/ai/SpecRuntimeEditor/VerifySection.js.map +1 -1
  338. package/dist/data/ai/SpecRuntimeEditor/fields.d.ts +1 -1
  339. package/dist/data/ai/SpecRuntimeEditor/index.cjs +3 -1
  340. package/dist/data/ai/SpecRuntimeEditor/index.cjs.map +1 -1
  341. package/dist/data/ai/SpecRuntimeEditor/index.d.ts +5 -2
  342. package/dist/data/ai/SpecRuntimeEditor/index.d.ts.map +1 -1
  343. package/dist/data/ai/SpecRuntimeEditor/index.js +3 -1
  344. package/dist/data/ai/SpecRuntimeEditor/index.js.map +1 -1
  345. package/dist/data/ai/chat-window-context.cjs +1 -0
  346. package/dist/data/ai/chat-window-context.cjs.map +1 -1
  347. package/dist/data/ai/chat-window-context.d.ts +13 -5
  348. package/dist/data/ai/chat-window-context.d.ts.map +1 -1
  349. package/dist/data/ai/chat-window-context.js +1 -0
  350. package/dist/data/ai/chat-window-context.js.map +1 -1
  351. package/dist/data/ai/index.d.ts +2 -1
  352. package/dist/data/ai/index.d.ts.map +1 -1
  353. package/dist/data/ai/use-session-scroll.d.ts +1 -1
  354. package/dist/data/cache-browser/adapter.d.ts +1 -1
  355. package/dist/data/cells/CellFilterActions.d.ts +1 -1
  356. package/dist/data/cells/EntityCell.d.ts +1 -1
  357. package/dist/data/cells/tag-utils.d.ts +1 -1
  358. package/dist/data/chat/Chat.cjs +42 -46
  359. package/dist/data/chat/Chat.cjs.map +1 -1
  360. package/dist/data/chat/Chat.d.ts +16 -5
  361. package/dist/data/chat/Chat.d.ts.map +1 -1
  362. package/dist/data/chat/Chat.js +43 -47
  363. package/dist/data/chat/Chat.js.map +1 -1
  364. package/dist/data/chat/ModelSelector.d.ts +1 -1
  365. package/dist/data/chat/PromptInput.cjs +13 -0
  366. package/dist/data/chat/PromptInput.cjs.map +1 -1
  367. package/dist/data/chat/PromptInput.d.ts +8 -2
  368. package/dist/data/chat/PromptInput.d.ts.map +1 -1
  369. package/dist/data/chat/PromptInput.js +14 -1
  370. package/dist/data/chat/PromptInput.js.map +1 -1
  371. package/dist/data/chat/tool-render/ToolArgs.d.ts +1 -1
  372. package/dist/data/chat/tool-render/ToolParams.d.ts +1 -1
  373. package/dist/data/chat/tool-render/ToolValue.d.ts +1 -1
  374. package/dist/data/chat/tool-render/adapter.d.ts +1 -1
  375. package/dist/data/chat/tool-render/context.d.ts +1 -1
  376. package/dist/data/chat/tool-render/defaults.d.ts +1 -1
  377. package/dist/data/chat/tool-render/known-tool-views.d.ts +1 -1
  378. package/dist/data/chat/tool-render/summary.d.ts +1 -1
  379. package/dist/data/chat/types.d.ts +1 -1
  380. package/dist/data/clicky-export/useClickyExport.d.ts +1 -1
  381. package/dist/data/data-table-server-filters.d.ts +1 -1
  382. package/dist/data/diagnostics/DiagnosticsDetailPanel.d.ts +1 -1
  383. package/dist/data/diagnostics/ErrorDetails.d.ts +1 -1
  384. package/dist/data/diagnostics/StackFrameRow.d.ts +1 -1
  385. package/dist/data/git/GitChangeList.d.ts +1 -1
  386. package/dist/data/icon-fallback.d.ts +1 -1
  387. package/dist/data/properties-context.cjs +6 -0
  388. package/dist/data/properties-context.cjs.map +1 -0
  389. package/dist/data/properties-context.d.ts +7 -0
  390. package/dist/data/properties-context.d.ts.map +1 -0
  391. package/dist/data/properties-context.js +6 -0
  392. package/dist/data/properties-context.js.map +1 -0
  393. package/dist/data/query-browser/QueryBrowser.types.d.ts +1 -1
  394. package/dist/data/runtime/RuntimeBar.cjs +7 -3
  395. package/dist/data/runtime/RuntimeBar.cjs.map +1 -1
  396. package/dist/data/runtime/RuntimeBar.d.ts.map +1 -1
  397. package/dist/data/runtime/RuntimeBar.js +7 -3
  398. package/dist/data/runtime/RuntimeBar.js.map +1 -1
  399. package/dist/data/task-copy.cjs +1 -1
  400. package/dist/data/task-copy.cjs.map +1 -1
  401. package/dist/data/task-copy.js +1 -1
  402. package/dist/data/task-copy.js.map +1 -1
  403. package/dist/data/task-resource-summary.cjs +30 -0
  404. package/dist/data/task-resource-summary.cjs.map +1 -0
  405. package/dist/data/task-resource-summary.d.ts +15 -0
  406. package/dist/data/task-resource-summary.d.ts.map +1 -0
  407. package/dist/data/task-resource-summary.js +30 -0
  408. package/dist/data/task-resource-summary.js.map +1 -0
  409. package/dist/data/task-status.cjs +8 -2
  410. package/dist/data/task-status.cjs.map +1 -1
  411. package/dist/data/task-status.d.ts +3 -0
  412. package/dist/data/task-status.d.ts.map +1 -1
  413. package/dist/data/task-status.js +8 -2
  414. package/dist/data/task-status.js.map +1 -1
  415. package/dist/data/task-work-progress.cjs +24 -0
  416. package/dist/data/task-work-progress.cjs.map +1 -0
  417. package/dist/data/task-work-progress.d.ts +21 -0
  418. package/dist/data/task-work-progress.d.ts.map +1 -0
  419. package/dist/data/task-work-progress.js +24 -0
  420. package/dist/data/task-work-progress.js.map +1 -0
  421. package/dist/data/test-runner/TestRunner.d.ts +1 -1
  422. package/dist/data/test-runner/adapter.d.ts +1 -1
  423. package/dist/data/test-runner/context.d.ts +1 -1
  424. package/dist/data/use-data-table-virtual.cjs +73 -0
  425. package/dist/data/use-data-table-virtual.cjs.map +1 -0
  426. package/dist/data/use-data-table-virtual.d.ts +40 -0
  427. package/dist/data/use-data-table-virtual.d.ts.map +1 -0
  428. package/dist/data/use-data-table-virtual.js +73 -0
  429. package/dist/data/use-data-table-virtual.js.map +1 -0
  430. package/dist/data/verification/VerificationResults.d.ts +1 -1
  431. package/dist/data/version-info.cjs +3 -3
  432. package/dist/data/version-info.js +3 -3
  433. package/dist/expressions/lang/attributes.cjs +56 -0
  434. package/dist/expressions/lang/attributes.cjs.map +1 -0
  435. package/dist/expressions/lang/attributes.d.ts +22 -0
  436. package/dist/expressions/lang/attributes.d.ts.map +1 -0
  437. package/dist/expressions/lang/attributes.js +56 -0
  438. package/dist/expressions/lang/attributes.js.map +1 -0
  439. package/dist/expressions/lang/completion.cjs +164 -0
  440. package/dist/expressions/lang/completion.cjs.map +1 -0
  441. package/dist/expressions/lang/completion.d.ts +29 -0
  442. package/dist/expressions/lang/completion.d.ts.map +1 -0
  443. package/dist/expressions/lang/completion.js +164 -0
  444. package/dist/expressions/lang/completion.js.map +1 -0
  445. package/dist/expressions/lang/environment.cjs +115 -0
  446. package/dist/expressions/lang/environment.cjs.map +1 -0
  447. package/dist/expressions/lang/environment.d.ts +54 -0
  448. package/dist/expressions/lang/environment.d.ts.map +1 -0
  449. package/dist/expressions/lang/environment.js +115 -0
  450. package/dist/expressions/lang/environment.js.map +1 -0
  451. package/dist/expressions/lang/generated/conformance.json.d.ts +4962 -0
  452. package/dist/expressions/lang/generated/index.cjs +18 -0
  453. package/dist/expressions/lang/generated/index.cjs.map +1 -0
  454. package/dist/expressions/lang/generated/index.d.ts +9 -0
  455. package/dist/expressions/lang/generated/index.d.ts.map +1 -0
  456. package/dist/expressions/lang/generated/index.js +18 -0
  457. package/dist/expressions/lang/generated/index.js.map +1 -0
  458. package/dist/expressions/lang/generated/languages.json.cjs +18 -0
  459. package/dist/expressions/lang/generated/languages.json.cjs.map +1 -0
  460. package/dist/expressions/lang/generated/languages.json.d.ts +2305 -0
  461. package/dist/expressions/lang/generated/languages.json.js +18 -0
  462. package/dist/expressions/lang/generated/languages.json.js.map +1 -0
  463. package/dist/expressions/lang/generated/spec.json.cjs +12 -0
  464. package/dist/expressions/lang/generated/spec.json.cjs.map +1 -0
  465. package/dist/expressions/lang/generated/spec.json.d.ts +6260 -0
  466. package/dist/expressions/lang/generated/spec.json.js +12 -0
  467. package/dist/expressions/lang/generated/spec.json.js.map +1 -0
  468. package/dist/expressions/lang/hover.cjs +106 -0
  469. package/dist/expressions/lang/hover.cjs.map +1 -0
  470. package/dist/expressions/lang/hover.d.ts +54 -0
  471. package/dist/expressions/lang/hover.d.ts.map +1 -0
  472. package/dist/expressions/lang/hover.js +106 -0
  473. package/dist/expressions/lang/hover.js.map +1 -0
  474. package/dist/expressions/lang/index.cjs +87 -0
  475. package/dist/expressions/lang/index.cjs.map +1 -0
  476. package/dist/expressions/lang/index.d.ts +65 -0
  477. package/dist/expressions/lang/index.d.ts.map +1 -0
  478. package/dist/expressions/lang/index.js +90 -0
  479. package/dist/expressions/lang/index.js.map +1 -0
  480. package/dist/expressions/lang/merge.cjs +52 -0
  481. package/dist/expressions/lang/merge.cjs.map +1 -0
  482. package/dist/expressions/lang/merge.d.ts +12 -0
  483. package/dist/expressions/lang/merge.d.ts.map +1 -0
  484. package/dist/expressions/lang/merge.js +52 -0
  485. package/dist/expressions/lang/merge.js.map +1 -0
  486. package/dist/expressions/lang/prefix.cjs +91 -0
  487. package/dist/expressions/lang/prefix.cjs.map +1 -0
  488. package/dist/expressions/lang/prefix.d.ts +36 -0
  489. package/dist/expressions/lang/prefix.d.ts.map +1 -0
  490. package/dist/expressions/lang/prefix.js +91 -0
  491. package/dist/expressions/lang/prefix.js.map +1 -0
  492. package/dist/expressions/lang/spec.d.ts +13 -0
  493. package/dist/expressions/lang/spec.d.ts.map +1 -0
  494. package/dist/expressions/lang/theme.cjs +97 -0
  495. package/dist/expressions/lang/theme.cjs.map +1 -0
  496. package/dist/expressions/lang/theme.d.ts +6 -0
  497. package/dist/expressions/lang/theme.d.ts.map +1 -0
  498. package/dist/expressions/lang/theme.js +97 -0
  499. package/dist/expressions/lang/theme.js.map +1 -0
  500. package/dist/expressions/lang/types.d.ts +81 -0
  501. package/dist/expressions/lang/types.d.ts.map +1 -0
  502. package/dist/expressions/playground/ExpressionPlayground.cjs +308 -0
  503. package/dist/expressions/playground/ExpressionPlayground.cjs.map +1 -0
  504. package/dist/expressions/playground/ExpressionPlayground.d.ts +42 -0
  505. package/dist/expressions/playground/ExpressionPlayground.d.ts.map +1 -0
  506. package/dist/expressions/playground/ExpressionPlayground.js +291 -0
  507. package/dist/expressions/playground/ExpressionPlayground.js.map +1 -0
  508. package/dist/expressions/playground/RunControls.cjs +51 -0
  509. package/dist/expressions/playground/RunControls.cjs.map +1 -0
  510. package/dist/expressions/playground/RunControls.d.ts +7 -0
  511. package/dist/expressions/playground/RunControls.d.ts.map +1 -0
  512. package/dist/expressions/playground/RunControls.js +51 -0
  513. package/dist/expressions/playground/RunControls.js.map +1 -0
  514. package/dist/expressions/playground/VerticalSplit.cjs +109 -0
  515. package/dist/expressions/playground/VerticalSplit.cjs.map +1 -0
  516. package/dist/expressions/playground/VerticalSplit.d.ts +23 -0
  517. package/dist/expressions/playground/VerticalSplit.d.ts.map +1 -0
  518. package/dist/expressions/playground/VerticalSplit.js +109 -0
  519. package/dist/expressions/playground/VerticalSplit.js.map +1 -0
  520. package/dist/expressions/playground/api.cjs +49 -0
  521. package/dist/expressions/playground/api.cjs.map +1 -0
  522. package/dist/expressions/playground/api.d.ts +53 -0
  523. package/dist/expressions/playground/api.d.ts.map +1 -0
  524. package/dist/expressions/playground/api.js +49 -0
  525. package/dist/expressions/playground/api.js.map +1 -0
  526. package/dist/expressions/playground/languages.cjs +88 -0
  527. package/dist/expressions/playground/languages.cjs.map +1 -0
  528. package/dist/expressions/playground/languages.d.ts +43 -0
  529. package/dist/expressions/playground/languages.d.ts.map +1 -0
  530. package/dist/expressions/playground/languages.js +88 -0
  531. package/dist/expressions/playground/languages.js.map +1 -0
  532. package/dist/expressions/playground/panels/GraphPanel.cjs +72 -0
  533. package/dist/expressions/playground/panels/GraphPanel.cjs.map +1 -0
  534. package/dist/expressions/playground/panels/GraphPanel.d.ts +19 -0
  535. package/dist/expressions/playground/panels/GraphPanel.d.ts.map +1 -0
  536. package/dist/expressions/playground/panels/GraphPanel.js +72 -0
  537. package/dist/expressions/playground/panels/GraphPanel.js.map +1 -0
  538. package/dist/expressions/playground/panels/ResultPanel.cjs +82 -0
  539. package/dist/expressions/playground/panels/ResultPanel.cjs.map +1 -0
  540. package/dist/expressions/playground/panels/ResultPanel.d.ts +11 -0
  541. package/dist/expressions/playground/panels/ResultPanel.d.ts.map +1 -0
  542. package/dist/expressions/playground/panels/ResultPanel.js +82 -0
  543. package/dist/expressions/playground/panels/ResultPanel.js.map +1 -0
  544. package/dist/expressions/playground/panels/SpecPanel.cjs +76 -0
  545. package/dist/expressions/playground/panels/SpecPanel.cjs.map +1 -0
  546. package/dist/expressions/playground/panels/SpecPanel.d.ts +18 -0
  547. package/dist/expressions/playground/panels/SpecPanel.d.ts.map +1 -0
  548. package/dist/expressions/playground/panels/SpecPanel.js +76 -0
  549. package/dist/expressions/playground/panels/SpecPanel.js.map +1 -0
  550. package/dist/expressions/playground/panels/TokensPanel.cjs +89 -0
  551. package/dist/expressions/playground/panels/TokensPanel.cjs.map +1 -0
  552. package/dist/expressions/playground/panels/TokensPanel.d.ts +15 -0
  553. package/dist/expressions/playground/panels/TokensPanel.d.ts.map +1 -0
  554. package/dist/expressions/playground/panels/TokensPanel.js +72 -0
  555. package/dist/expressions/playground/panels/TokensPanel.js.map +1 -0
  556. package/dist/expressions/playground/panels/graphNodes.cjs +35 -0
  557. package/dist/expressions/playground/panels/graphNodes.cjs.map +1 -0
  558. package/dist/expressions/playground/panels/graphNodes.d.ts +19 -0
  559. package/dist/expressions/playground/panels/graphNodes.d.ts.map +1 -0
  560. package/dist/expressions/playground/panels/graphNodes.js +35 -0
  561. package/dist/expressions/playground/panels/graphNodes.js.map +1 -0
  562. package/dist/expressions/playground/runAction.cjs +12 -0
  563. package/dist/expressions/playground/runAction.cjs.map +1 -0
  564. package/dist/expressions/playground/runAction.d.ts +15 -0
  565. package/dist/expressions/playground/runAction.d.ts.map +1 -0
  566. package/dist/expressions/playground/runAction.js +12 -0
  567. package/dist/expressions/playground/runAction.js.map +1 -0
  568. package/dist/expressions/playground/runShortcut.cjs +9 -0
  569. package/dist/expressions/playground/runShortcut.cjs.map +1 -0
  570. package/dist/expressions/playground/runShortcut.d.ts +2 -0
  571. package/dist/expressions/playground/runShortcut.d.ts.map +1 -0
  572. package/dist/expressions/playground/runShortcut.js +9 -0
  573. package/dist/expressions/playground/runShortcut.js.map +1 -0
  574. package/dist/expressions/playground/useEditorTheme.cjs +40 -0
  575. package/dist/expressions/playground/useEditorTheme.cjs.map +1 -0
  576. package/dist/expressions/playground/useEditorTheme.d.ts +16 -0
  577. package/dist/expressions/playground/useEditorTheme.d.ts.map +1 -0
  578. package/dist/expressions/playground/useEditorTheme.js +23 -0
  579. package/dist/expressions/playground/useEditorTheme.js.map +1 -0
  580. package/dist/expressions/playground/useEvaluator.cjs +72 -0
  581. package/dist/expressions/playground/useEvaluator.cjs.map +1 -0
  582. package/dist/expressions/playground/useEvaluator.d.ts +25 -0
  583. package/dist/expressions/playground/useEvaluator.d.ts.map +1 -0
  584. package/dist/expressions/playground/useEvaluator.js +72 -0
  585. package/dist/expressions/playground/useEvaluator.js.map +1 -0
  586. package/dist/expressions/playground/useParsedInput.cjs +22 -0
  587. package/dist/expressions/playground/useParsedInput.cjs.map +1 -0
  588. package/dist/expressions/playground/useParsedInput.d.ts +20 -0
  589. package/dist/expressions/playground/useParsedInput.d.ts.map +1 -0
  590. package/dist/expressions/playground/useParsedInput.js +22 -0
  591. package/dist/expressions/playground/useParsedInput.js.map +1 -0
  592. package/dist/expressions/playground/verticalSplitModel.cjs +11 -0
  593. package/dist/expressions/playground/verticalSplitModel.cjs.map +1 -0
  594. package/dist/expressions/playground/verticalSplitModel.d.ts +3 -0
  595. package/dist/expressions/playground/verticalSplitModel.d.ts.map +1 -0
  596. package/dist/expressions/playground/verticalSplitModel.js +11 -0
  597. package/dist/expressions/playground/verticalSplitModel.js.map +1 -0
  598. package/dist/expressions/playground.cjs +18 -0
  599. package/dist/expressions/playground.cjs.map +1 -0
  600. package/dist/expressions/playground.d.ts +18 -0
  601. package/dist/expressions/playground.d.ts.map +1 -0
  602. package/dist/expressions/playground.js +18 -0
  603. package/dist/expressions/playground.js.map +1 -0
  604. package/dist/expressions.cjs +28 -0
  605. package/dist/expressions.cjs.map +1 -0
  606. package/dist/expressions.d.ts +10 -0
  607. package/dist/expressions.d.ts.map +1 -0
  608. package/dist/expressions.js +28 -0
  609. package/dist/expressions.js.map +1 -0
  610. package/dist/hooks/density-provider.d.ts +1 -1
  611. package/dist/hooks/theme-provider.d.ts +1 -1
  612. package/dist/hooks/use-density.d.ts +1 -1
  613. package/dist/hooks/use-resource-clock.cjs +14 -0
  614. package/dist/hooks/use-resource-clock.cjs.map +1 -0
  615. package/dist/hooks/use-resource-clock.d.ts +2 -0
  616. package/dist/hooks/use-resource-clock.d.ts.map +1 -0
  617. package/dist/hooks/use-resource-clock.js +14 -0
  618. package/dist/hooks/use-resource-clock.js.map +1 -0
  619. package/dist/hooks/use-task-run.cjs +12 -3
  620. package/dist/hooks/use-task-run.cjs.map +1 -1
  621. package/dist/hooks/use-task-run.d.ts.map +1 -1
  622. package/dist/hooks/use-task-run.js +12 -3
  623. package/dist/hooks/use-task-run.js.map +1 -1
  624. package/dist/hooks/use-theme.d.ts +1 -1
  625. package/dist/icons/registry.d.ts +1 -1
  626. package/dist/icons/types.d.ts +1 -1
  627. package/dist/layout/AppShell.d.ts +1 -1
  628. package/dist/layout/AppShell.nav.drag.d.ts +1 -1
  629. package/dist/layout/AppSidebar.d.ts +1 -1
  630. package/dist/layout/Panel.d.ts +1 -1
  631. package/dist/layout/PanelFrame.d.ts +1 -1
  632. package/dist/layout/Section.d.ts +1 -1
  633. package/dist/layout/SplitPane.d.ts +1 -1
  634. package/dist/layout/Tabs.d.ts +1 -1
  635. package/dist/layout/Workspace.d.ts +1 -1
  636. package/dist/layout/Workspace.model.d.ts +1 -1
  637. package/dist/lib/combobox-values.d.ts +1 -1
  638. package/dist/monaco/MonacoEditor.cjs +3 -3
  639. package/dist/monaco/MonacoEditor.cjs.map +1 -1
  640. package/dist/monaco/MonacoEditor.js +2 -2
  641. package/dist/monaco/MonacoEditor.js.map +1 -1
  642. package/dist/monaco/types.d.ts +1 -1
  643. package/dist/monaco/use-monaco-worker.d.ts +1 -1
  644. package/dist/overlay/CellActions.d.ts +1 -1
  645. package/dist/overlay/CommandPalette.d.ts +2 -2
  646. package/dist/overlay/CommandPalette.model.d.ts +1 -1
  647. package/dist/overlay/CommandPaletteList.d.ts +1 -1
  648. package/dist/overlay/DropdownMenu.d.ts +1 -1
  649. package/dist/overlay/HoverCard.d.ts +1 -1
  650. package/dist/overlay/Modal.d.ts +2 -2
  651. package/dist/overlay/Toast.d.ts +1 -1
  652. package/dist/overlay/TourCard.d.ts +1 -1
  653. package/dist/overlay/TourProvider.d.ts +1 -1
  654. package/dist/overlay/dropdownMenuContext.d.ts +1 -1
  655. package/dist/overlay/toast-context.d.ts +2 -2
  656. package/dist/overlay/tour-context.d.ts +1 -1
  657. package/dist/overlay/tour-types.d.ts +1 -1
  658. package/dist/profiles/connections/connectionBrowserModel.d.ts +1 -1
  659. package/dist/profiles/connections/connectionQueryWorkspace.d.ts +1 -1
  660. package/dist/profiles/editor/profileBuilder.d.ts +1 -1
  661. package/dist/profiles/elasticsearch/esParamOperandExtension.d.ts +1 -1
  662. package/dist/profiles/fields/profileFieldControls.d.ts +1 -1
  663. package/dist/profiles/fields/profileFieldIcons.d.ts +1 -1
  664. package/dist/profiles/fields/profileFieldState.d.ts +1 -1
  665. package/dist/profiles/query/jsonPathSample.d.ts +1 -1
  666. package/dist/profiles/query/jsonPathSampleRow.d.ts +1 -1
  667. package/dist/profiles/query/prometheusResults.d.ts +2 -2
  668. package/dist/rpc/EndpointList.d.ts +1 -1
  669. package/dist/rpc/EntityExplorerApp.d.ts +1 -1
  670. package/dist/rpc/OperationCatalog.d.ts +1 -1
  671. package/dist/rpc/OperationEntityContextPicker.d.ts +1 -1
  672. package/dist/rpc/OperationEntityPage.d.ts +1 -1
  673. package/dist/rpc/OperationResultView.d.ts +1 -1
  674. package/dist/rpc/RouterProvider.d.ts +1 -1
  675. package/dist/rpc/SchemaActionForm.d.ts +1 -1
  676. package/dist/rpc/formMetadata.d.ts +1 -1
  677. package/dist/rpc/router.d.ts +1 -1
  678. package/dist/rpc/rpc-story.fixtures.d.ts +1 -1
  679. package/dist/styles.css +1 -1
  680. package/package.json +21 -2
@@ -1 +1 @@
1
- {"version":3,"file":"use-task-run.js","sources":["../../src/hooks/use-task-run.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport {\n allGroupsTerminal,\n type TaskRunMeta,\n type TaskSnapshot,\n} from \"../data/TaskSnapshot\";\nimport { taskQueryKeys } from \"../data/task-query-keys\";\n\n// use-task-run / use-task-runs are the generic clicky-ui task clients. They are\n// SSE-first: they subscribe to clicky's SSEHandler (event: task / event: done)\n// and fall back to polling the JSON endpoints only when EventSource is\n// unavailable. They speak only TaskSnapshot / TaskRunMeta — no app concepts.\n\nexport interface TaskTransportOptions {\n /** Base path of the clicky task API, e.g. \"/api/v1\". */\n basePath?: string | undefined;\n /** Disable the subscription entirely (e.g. before an id is known). */\n enabled?: boolean | undefined;\n /** Poll interval (ms) for the fallback / runs listing. */\n pollMs?: number | undefined;\n /** Force the polling transport even when EventSource exists (mainly tests). */\n forcePoll?: boolean | undefined;\n}\n\nconst DEFAULT_BASE = \"/api/v1\";\nconst DEFAULT_POLL_MS = 2_000;\n\nfunction streamUrl(base: string, query: string): string {\n return `${base}/tasks/stream${query ? `?${query}` : \"\"}`;\n}\n\nfunction hasEventSource(): boolean {\n return typeof globalThis !== \"undefined\" && typeof globalThis.EventSource !== \"undefined\";\n}\n\nexport interface UseTaskRunResult {\n snapshots: TaskSnapshot[];\n status: string;\n isComplete: boolean;\n}\n\nexport interface UseTaskRunOptions extends TaskTransportOptions {\n /** Stable run id to follow (drill-down). Mutually exclusive with ids/kind. */\n id?: string | undefined;\n /** Stable run ids to follow together. Mutually exclusive with id/kind. */\n ids?: string[] | undefined;\n /** Follow every run of a kind. */\n kind?: string | undefined;\n}\n\n// useTaskRun follows one or more runs (by id) or a kind, SSE-first. It accumulates the\n// latest snapshot per task/group id and reports completion once every group is\n// terminal.\nexport function useTaskRun(options: UseTaskRunOptions = {}): UseTaskRunResult {\n const {\n id,\n ids,\n kind,\n basePath = DEFAULT_BASE,\n enabled = true,\n pollMs = DEFAULT_POLL_MS,\n forcePoll = false,\n } = options;\n const runIdsKey = (ids?.filter(Boolean) ?? (id ? [id] : [])).join(\",\");\n\n const [byId, setById] = useState<Record<string, TaskSnapshot>>({});\n const [status, setStatus] = useState(\"idle\");\n const [isComplete, setIsComplete] = useState(false);\n\n useEffect(() => {\n const runIds = runIdsKey ? runIdsKey.split(\",\") : [];\n if (!enabled || (runIds.length === 0 && !kind)) {\n setById({});\n setStatus(\"idle\");\n setIsComplete(false);\n return;\n }\n setById({});\n setIsComplete(false);\n\n const params = new URLSearchParams();\n if (runIds.length > 0) params.set(\"tasks\", runIdsKey);\n if (kind) params.set(\"kind\", kind);\n const query = params.toString();\n\n const merge = (incoming: TaskSnapshot[]) => {\n setById((prev) => {\n const next = { ...prev };\n for (const snap of incoming) next[snap.id] = snap;\n return next;\n });\n };\n\n const mergeOutput = (delta: {\n id: string;\n stream: \"stdout\" | \"stderr\";\n data: string;\n reset?: boolean;\n truncated?: boolean;\n }) => {\n setById((prev) => {\n const snapshot = prev[delta.id];\n if (!snapshot) return prev;\n const value = delta.reset ? delta.data : `${snapshot[delta.stream] ?? \"\"}${delta.data}`;\n const truncatedField = delta.stream === \"stdout\" ? \"stdoutTruncated\" : \"stderrTruncated\";\n return {\n ...prev,\n [delta.id]: {\n ...snapshot,\n [delta.stream]: value,\n [truncatedField]: delta.truncated ?? snapshot[truncatedField],\n },\n };\n });\n };\n\n // Polling fallback transport.\n if (forcePoll || !hasEventSource()) {\n let stopped = false;\n let timer: ReturnType<typeof setTimeout> | undefined;\n const tick = async () => {\n try {\n const responses = await Promise.all(runIds.map((runId) => fetch(\n `${basePath}/tasks/${encodeURIComponent(runId)}`,\n { headers: { Accept: \"application/json\" } },\n )));\n if (responses.every((response) => response.ok)) {\n const snaps = (await Promise.all(responses.map(\n async (response) => (await response.json()) as TaskSnapshot[],\n ))).flat();\n if (stopped) return;\n merge(snaps);\n setStatus(\"polling\");\n if (allGroupsTerminal(snaps)) {\n setIsComplete(true);\n return; // stop polling\n }\n }\n } catch {\n if (!stopped) setStatus(\"connection lost — retrying\");\n }\n if (!stopped) timer = setTimeout(tick, pollMs);\n };\n void tick();\n return () => {\n stopped = true;\n if (timer) clearTimeout(timer);\n };\n }\n\n // SSE transport (default).\n const es = new EventSource(streamUrl(basePath, query));\n setStatus(\"connected\");\n es.addEventListener(\"task\", (e) => {\n try {\n merge([JSON.parse((e as MessageEvent).data) as TaskSnapshot]);\n } catch {\n /* ignore malformed frame */\n }\n });\n es.addEventListener(\"output\", (e) => {\n try {\n mergeOutput(JSON.parse((e as MessageEvent).data) as Parameters<typeof mergeOutput>[0]);\n } catch {\n /* ignore malformed frame */\n }\n });\n es.addEventListener(\"done\", () => {\n setStatus(\"complete\");\n setIsComplete(true);\n es.close();\n });\n es.onerror = () => setStatus(\"connection lost — retrying\");\n return () => es.close();\n }, [runIdsKey, kind, basePath, enabled, pollMs, forcePoll]);\n\n return { snapshots: Object.values(byId), status, isComplete };\n}\n\nexport interface UseTaskRunsOptions extends TaskTransportOptions {\n kind?: string | undefined;\n status?: string | undefined;\n /** Label equality filters (k=v). */\n labels?: Record<string, string> | undefined;\n}\n\n/** The identity of the listing request that produced a given `runs` array. */\nexport type TaskRunsKey = ReturnType<typeof taskQueryKeys.runs>;\n\nexport interface UseTaskRunsResult {\n runs: TaskRunMeta[];\n status: string;\n /**\n * Query key of the request that actually produced `runs`, or null before the\n * first frame arrives. Changing `kind`/`status`/`labels` re-subscribes but\n * keeps the previous listing on screen until the new transport delivers, so\n * this key lags `taskQueryKeys.runs(options)` during that window. A consumer\n * mirroring `runs` into a cache must compare the two and skip the write while\n * they differ, or it publishes rows that do not match the requested filters.\n */\n runsKey: TaskRunsKey | null;\n}\n\n// useTaskRuns lists all runs (TaskRunMeta) for the manager view. It is SSE-first:\n// it subscribes to clicky's runs stream (event: runs carrying the full listing)\n// and falls back to polling the JSON runs endpoint only when EventSource is\n// unavailable or forced off. The listing has no completion terminal of its own —\n// a manager view stays subscribed to observe new and changing runs.\nexport function useTaskRuns(options: UseTaskRunsOptions = {}): UseTaskRunsResult {\n const {\n kind,\n status: statusFilter,\n labels,\n basePath = DEFAULT_BASE,\n enabled = true,\n pollMs = DEFAULT_POLL_MS,\n forcePoll = false,\n } = options;\n\n // Runs are stored together with the key of the request that delivered them, so\n // a stale listing can never be mistaken for the current filters' result.\n const [received, setReceived] = useState<{\n key: TaskRunsKey | null;\n runs: TaskRunMeta[];\n }>({ key: null, runs: [] });\n const [status, setStatus] = useState(\"idle\");\n\n useEffect(() => {\n if (!enabled) return;\n\n const params = new URLSearchParams();\n if (kind) params.set(\"kind\", kind);\n if (statusFilter) params.set(\"status\", statusFilter);\n for (const [k, v] of Object.entries(labels ?? {})) params.append(\"label\", `${k}=${v}`);\n const query = params.toString();\n const requestKey = taskQueryKeys.runs({ basePath, kind, status: statusFilter, labels });\n const receive = (next: TaskRunMeta[]) => setReceived({ key: requestKey, runs: next });\n\n // Polling fallback transport.\n if (forcePoll || !hasEventSource()) {\n let stopped = false;\n let timer: ReturnType<typeof setTimeout> | undefined;\n const tick = async () => {\n try {\n const res = await fetch(`${basePath}/tasks${query ? `?${query}` : \"\"}`, {\n headers: { Accept: \"application/json\" },\n });\n if (res.ok) {\n const next = (await res.json()) as TaskRunMeta[];\n if (stopped) return;\n receive(next);\n setStatus(\"polling\");\n }\n } catch {\n if (!stopped) setStatus(\"connection lost — retrying\");\n }\n if (!stopped) timer = setTimeout(tick, pollMs);\n };\n void tick();\n return () => {\n stopped = true;\n if (timer) clearTimeout(timer);\n };\n }\n\n // SSE transport (default).\n const es = new EventSource(`${basePath}/tasks/runs/stream${query ? `?${query}` : \"\"}`);\n setStatus(\"connected\");\n es.addEventListener(\"runs\", (e) => {\n try {\n receive(JSON.parse((e as MessageEvent).data) as TaskRunMeta[]);\n } catch {\n /* ignore malformed frame */\n }\n });\n es.onerror = () => setStatus(\"connection lost — retrying\");\n return () => es.close();\n }, [kind, statusFilter, JSON.stringify(labels ?? {}), basePath, enabled, pollMs, forcePoll]);\n\n return { runs: received.runs, status, runsKey: received.key };\n}\n"],"names":[],"mappings":";;;AAwBA,MAAM,eAAe;AACrB,MAAM,kBAAkB;AAExB,SAAS,UAAU,MAAc,OAAuB;AACtD,SAAO,GAAG,IAAI,gBAAgB,QAAQ,IAAI,KAAK,KAAK,EAAE;AACxD;AAEA,SAAS,iBAA0B;AACjC,SAAO,OAAO,eAAe,eAAe,OAAO,WAAW,gBAAgB;AAChF;AAoBO,SAAS,WAAW,UAA6B,IAAsB;AAC5E,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,UAAU;AAAA,IACV,SAAS;AAAA,IACT,YAAY;AAAA,EAAA,IACV;AACJ,QAAM,cAAa,2BAAK,OAAO,cAAa,KAAK,CAAC,EAAE,IAAI,CAAA,IAAK,KAAK,GAAG;AAErE,QAAM,CAAC,MAAM,OAAO,IAAI,SAAuC,CAAA,CAAE;AACjE,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,MAAM;AAC3C,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,KAAK;AAElD,YAAU,MAAM;AACd,UAAM,SAAS,YAAY,UAAU,MAAM,GAAG,IAAI,CAAA;AAClD,QAAI,CAAC,WAAY,OAAO,WAAW,KAAK,CAAC,MAAO;AAC9C,cAAQ,CAAA,CAAE;AACV,gBAAU,MAAM;AAChB,oBAAc,KAAK;AACnB;AAAA,IACF;AACA,YAAQ,CAAA,CAAE;AACV,kBAAc,KAAK;AAEnB,UAAM,SAAS,IAAI,gBAAA;AACnB,QAAI,OAAO,SAAS,EAAG,QAAO,IAAI,SAAS,SAAS;AACpD,QAAI,KAAM,QAAO,IAAI,QAAQ,IAAI;AACjC,UAAM,QAAQ,OAAO,SAAA;AAErB,UAAM,QAAQ,CAAC,aAA6B;AAC1C,cAAQ,CAAC,SAAS;AAChB,cAAM,OAAO,EAAE,GAAG,KAAA;AAClB,mBAAW,QAAQ,SAAU,MAAK,KAAK,EAAE,IAAI;AAC7C,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AAEA,UAAM,cAAc,CAAC,UAMf;AACJ,cAAQ,CAAC,SAAS;AAChB,cAAM,WAAW,KAAK,MAAM,EAAE;AAC9B,YAAI,CAAC,SAAU,QAAO;AACtB,cAAM,QAAQ,MAAM,QAAQ,MAAM,OAAO,GAAG,SAAS,MAAM,MAAM,KAAK,EAAE,GAAG,MAAM,IAAI;AACrF,cAAM,iBAAiB,MAAM,WAAW,WAAW,oBAAoB;AACvE,eAAO;AAAA,UACL,GAAG;AAAA,UACH,CAAC,MAAM,EAAE,GAAG;AAAA,YACV,GAAG;AAAA,YACH,CAAC,MAAM,MAAM,GAAG;AAAA,YAChB,CAAC,cAAc,GAAG,MAAM,aAAa,SAAS,cAAc;AAAA,UAAA;AAAA,QAC9D;AAAA,MAEJ,CAAC;AAAA,IACH;AAGA,QAAI,aAAa,CAAC,kBAAkB;AAClC,UAAI,UAAU;AACd,UAAI;AACJ,YAAM,OAAO,YAAY;AACvB,YAAI;AACF,gBAAM,YAAY,MAAM,QAAQ,IAAI,OAAO,IAAI,CAAC,UAAU;AAAA,YACxD,GAAG,QAAQ,UAAU,mBAAmB,KAAK,CAAC;AAAA,YAC9C,EAAE,SAAS,EAAE,QAAQ,qBAAmB;AAAA,UAAE,CAC3C,CAAC;AACF,cAAI,UAAU,MAAM,CAAC,aAAa,SAAS,EAAE,GAAG;AAC9C,kBAAM,SAAS,MAAM,QAAQ,IAAI,UAAU;AAAA,cACzC,OAAO,aAAc,MAAM,SAAS,KAAA;AAAA,YAAK,CAC1C,GAAG,KAAA;AACJ,gBAAI,QAAS;AACb,kBAAM,KAAK;AACX,sBAAU,SAAS;AACnB,gBAAI,kBAAkB,KAAK,GAAG;AAC5B,4BAAc,IAAI;AAClB;AAAA,YACF;AAAA,UACF;AAAA,QACF,QAAQ;AACN,cAAI,CAAC,QAAS,WAAU,4BAA4B;AAAA,QACtD;AACA,YAAI,CAAC,QAAS,SAAQ,WAAW,MAAM,MAAM;AAAA,MAC/C;AACA,WAAK,KAAA;AACL,aAAO,MAAM;AACX,kBAAU;AACV,YAAI,oBAAoB,KAAK;AAAA,MAC/B;AAAA,IACF;AAGA,UAAM,KAAK,IAAI,YAAY,UAAU,UAAU,KAAK,CAAC;AACrD,cAAU,WAAW;AACrB,OAAG,iBAAiB,QAAQ,CAAC,MAAM;AACjC,UAAI;AACF,cAAM,CAAC,KAAK,MAAO,EAAmB,IAAI,CAAiB,CAAC;AAAA,MAC9D,QAAQ;AAAA,MAER;AAAA,IACF,CAAC;AACD,OAAG,iBAAiB,UAAU,CAAC,MAAM;AACnC,UAAI;AACF,oBAAY,KAAK,MAAO,EAAmB,IAAI,CAAsC;AAAA,MACvF,QAAQ;AAAA,MAER;AAAA,IACF,CAAC;AACD,OAAG,iBAAiB,QAAQ,MAAM;AAChC,gBAAU,UAAU;AACpB,oBAAc,IAAI;AAClB,SAAG,MAAA;AAAA,IACL,CAAC;AACD,OAAG,UAAU,MAAM,UAAU,4BAA4B;AACzD,WAAO,MAAM,GAAG,MAAA;AAAA,EAClB,GAAG,CAAC,WAAW,MAAM,UAAU,SAAS,QAAQ,SAAS,CAAC;AAE1D,SAAO,EAAE,WAAW,OAAO,OAAO,IAAI,GAAG,QAAQ,WAAA;AACnD;AA+BO,SAAS,YAAY,UAA8B,IAAuB;AAC/E,QAAM;AAAA,IACJ;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA,WAAW;AAAA,IACX,UAAU;AAAA,IACV,SAAS;AAAA,IACT,YAAY;AAAA,EAAA,IACV;AAIJ,QAAM,CAAC,UAAU,WAAW,IAAI,SAG7B,EAAE,KAAK,MAAM,MAAM,CAAA,GAAI;AAC1B,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,MAAM;AAE3C,YAAU,MAAM;AACd,QAAI,CAAC,QAAS;AAEd,UAAM,SAAS,IAAI,gBAAA;AACnB,QAAI,KAAM,QAAO,IAAI,QAAQ,IAAI;AACjC,QAAI,aAAc,QAAO,IAAI,UAAU,YAAY;AACnD,eAAW,CAAC,GAAG,CAAC,KAAK,OAAO,QAAQ,UAAU,CAAA,CAAE,UAAU,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,EAAE;AACrF,UAAM,QAAQ,OAAO,SAAA;AACrB,UAAM,aAAa,cAAc,KAAK,EAAE,UAAU,MAAM,QAAQ,cAAc,QAAQ;AACtF,UAAM,UAAU,CAAC,SAAwB,YAAY,EAAE,KAAK,YAAY,MAAM,MAAM;AAGpF,QAAI,aAAa,CAAC,kBAAkB;AAClC,UAAI,UAAU;AACd,UAAI;AACJ,YAAM,OAAO,YAAY;AACvB,YAAI;AACF,gBAAM,MAAM,MAAM,MAAM,GAAG,QAAQ,SAAS,QAAQ,IAAI,KAAK,KAAK,EAAE,IAAI;AAAA,YACtE,SAAS,EAAE,QAAQ,mBAAA;AAAA,UAAmB,CACvC;AACD,cAAI,IAAI,IAAI;AACV,kBAAM,OAAQ,MAAM,IAAI,KAAA;AACxB,gBAAI,QAAS;AACb,oBAAQ,IAAI;AACZ,sBAAU,SAAS;AAAA,UACrB;AAAA,QACF,QAAQ;AACN,cAAI,CAAC,QAAS,WAAU,4BAA4B;AAAA,QACtD;AACA,YAAI,CAAC,QAAS,SAAQ,WAAW,MAAM,MAAM;AAAA,MAC/C;AACA,WAAK,KAAA;AACL,aAAO,MAAM;AACX,kBAAU;AACV,YAAI,oBAAoB,KAAK;AAAA,MAC/B;AAAA,IACF;AAGA,UAAM,KAAK,IAAI,YAAY,GAAG,QAAQ,qBAAqB,QAAQ,IAAI,KAAK,KAAK,EAAE,EAAE;AACrF,cAAU,WAAW;AACrB,OAAG,iBAAiB,QAAQ,CAAC,MAAM;AACjC,UAAI;AACF,gBAAQ,KAAK,MAAO,EAAmB,IAAI,CAAkB;AAAA,MAC/D,QAAQ;AAAA,MAER;AAAA,IACF,CAAC;AACD,OAAG,UAAU,MAAM,UAAU,4BAA4B;AACzD,WAAO,MAAM,GAAG,MAAA;AAAA,EAClB,GAAG,CAAC,MAAM,cAAc,KAAK,UAAU,UAAU,CAAA,CAAE,GAAG,UAAU,SAAS,QAAQ,SAAS,CAAC;AAE3F,SAAO,EAAE,MAAM,SAAS,MAAM,QAAQ,SAAS,SAAS,IAAA;AAC1D;"}
1
+ {"version":3,"file":"use-task-run.js","sources":["../../src/hooks/use-task-run.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport {\n allGroupsTerminal,\n type TaskRunMeta,\n type TaskSnapshot,\n} from \"../data/TaskSnapshot\";\nimport { taskQueryKeys } from \"../data/task-query-keys\";\n\n// use-task-run / use-task-runs are the generic clicky-ui task clients. They are\n// SSE-first: they subscribe to clicky's SSEHandler (event: task / event: done)\n// and fall back to polling the JSON endpoints only when EventSource is\n// unavailable. They speak only TaskSnapshot / TaskRunMeta — no app concepts.\n\nexport interface TaskTransportOptions {\n /** Base path of the clicky task API, e.g. \"/api/v1\". */\n basePath?: string | undefined;\n /** Disable the subscription entirely (e.g. before an id is known). */\n enabled?: boolean | undefined;\n /** Poll interval (ms) for the fallback / runs listing. */\n pollMs?: number | undefined;\n /** Force the polling transport even when EventSource exists (mainly tests). */\n forcePoll?: boolean | undefined;\n}\n\nconst DEFAULT_BASE = \"/api/v1\";\nconst DEFAULT_POLL_MS = 2_000;\n\nfunction streamUrl(base: string, query: string): string {\n return `${base}/tasks/stream${query ? `?${query}` : \"\"}`;\n}\n\nfunction hasEventSource(): boolean {\n return typeof globalThis !== \"undefined\" && typeof globalThis.EventSource !== \"undefined\";\n}\n\nexport interface UseTaskRunResult {\n snapshots: TaskSnapshot[];\n status: string;\n isComplete: boolean;\n}\n\nexport interface UseTaskRunOptions extends TaskTransportOptions {\n /** Stable run id to follow (drill-down). Mutually exclusive with ids/kind. */\n id?: string | undefined;\n /** Stable run ids to follow together. Mutually exclusive with id/kind. */\n ids?: string[] | undefined;\n /** Follow every run of a kind. */\n kind?: string | undefined;\n}\n\n// useTaskRun follows one or more runs (by id) or a kind, SSE-first. It accumulates the\n// latest snapshot per task/group id and reports completion once every group is\n// terminal.\nexport function useTaskRun(options: UseTaskRunOptions = {}): UseTaskRunResult {\n const {\n id,\n ids,\n kind,\n basePath = DEFAULT_BASE,\n enabled = true,\n pollMs = DEFAULT_POLL_MS,\n forcePoll = false,\n } = options;\n const runIdsKey = (ids?.filter(Boolean) ?? (id ? [id] : [])).join(\",\");\n\n const [byId, setById] = useState<Record<string, TaskSnapshot>>({});\n const [status, setStatus] = useState(\"idle\");\n const [isComplete, setIsComplete] = useState(false);\n\n useEffect(() => {\n const runIds = runIdsKey ? runIdsKey.split(\",\") : [];\n if (!enabled || (runIds.length === 0 && !kind)) {\n setById({});\n setStatus(\"idle\");\n setIsComplete(false);\n return;\n }\n setById({});\n setIsComplete(false);\n\n const params = new URLSearchParams();\n if (runIds.length > 0) params.set(\"tasks\", runIdsKey);\n if (kind) params.set(\"kind\", kind);\n const query = params.toString();\n\n const merge = (incoming: TaskSnapshot[]) => {\n setById((prev) => {\n const next = { ...prev };\n for (const snap of incoming) next[snap.type === \"group\" ? `group:${snap.groupId ?? snap.id}` : snap.id] = snap;\n return next;\n });\n };\n\n const mergeOutput = (delta: {\n id: string;\n stream: \"stdout\" | \"stderr\";\n data: string;\n reset?: boolean;\n truncated?: boolean;\n }) => {\n setById((prev) => {\n const snapshot = prev[delta.id];\n if (!snapshot) return prev;\n const value = delta.reset ? delta.data : `${snapshot[delta.stream] ?? \"\"}${delta.data}`;\n const truncatedField = delta.stream === \"stdout\" ? \"stdoutTruncated\" : \"stderrTruncated\";\n return {\n ...prev,\n [delta.id]: {\n ...snapshot,\n [delta.stream]: value,\n [truncatedField]: delta.truncated ?? snapshot[truncatedField],\n },\n };\n });\n };\n\n // Polling fallback transport.\n if (forcePoll || !hasEventSource()) {\n let stopped = false;\n let timer: ReturnType<typeof setTimeout> | undefined;\n const tick = async () => {\n try {\n const responses = await Promise.all(runIds.map((runId) => fetch(\n `${basePath}/tasks/${encodeURIComponent(runId)}`,\n { headers: { Accept: \"application/json\" } },\n )));\n if (responses.some((response) => !response.ok)) throw new Error(\"Task request failed\");\n if (responses.every((response) => response.ok)) {\n const snaps = (await Promise.all(responses.map(\n async (response) => (await response.json()) as TaskSnapshot[],\n ))).flat();\n if (stopped) return;\n merge(snaps);\n setStatus(\"polling\");\n if (allGroupsTerminal(snaps)) {\n setIsComplete(true);\n return; // stop polling\n }\n }\n } catch {\n if (!stopped) setStatus(\"connection lost — retrying\");\n }\n if (!stopped) timer = setTimeout(tick, pollMs);\n };\n void tick();\n return () => {\n stopped = true;\n if (timer) clearTimeout(timer);\n };\n }\n\n // SSE transport (default).\n const es = new EventSource(streamUrl(basePath, query));\n setStatus(\"connecting\");\n es.onopen = () => setStatus(\"connected\");\n es.addEventListener(\"task\", (e) => {\n try {\n merge([JSON.parse((e as MessageEvent).data) as TaskSnapshot]);\n setStatus(\"connected\");\n } catch {\n setStatus(\"invalid task stream data\");\n }\n });\n es.addEventListener(\"output\", (e) => {\n try {\n mergeOutput(JSON.parse((e as MessageEvent).data) as Parameters<typeof mergeOutput>[0]);\n } catch {\n setStatus(\"invalid task output data\");\n }\n });\n es.addEventListener(\"done\", () => {\n setStatus(\"complete\");\n setIsComplete(true);\n es.close();\n });\n es.onerror = () => setStatus(\"connection lost — retrying\");\n return () => es.close();\n }, [runIdsKey, kind, basePath, enabled, pollMs, forcePoll]);\n\n return { snapshots: Object.values(byId), status, isComplete };\n}\n\nexport interface UseTaskRunsOptions extends TaskTransportOptions {\n kind?: string | undefined;\n status?: string | undefined;\n /** Label equality filters (k=v). */\n labels?: Record<string, string> | undefined;\n}\n\n/** The identity of the listing request that produced a given `runs` array. */\nexport type TaskRunsKey = ReturnType<typeof taskQueryKeys.runs>;\n\nexport interface UseTaskRunsResult {\n runs: TaskRunMeta[];\n status: string;\n /**\n * Query key of the request that actually produced `runs`, or null before the\n * first frame arrives. Changing `kind`/`status`/`labels` re-subscribes but\n * keeps the previous listing on screen until the new transport delivers, so\n * this key lags `taskQueryKeys.runs(options)` during that window. A consumer\n * mirroring `runs` into a cache must compare the two and skip the write while\n * they differ, or it publishes rows that do not match the requested filters.\n */\n runsKey: TaskRunsKey | null;\n}\n\n// useTaskRuns lists all runs (TaskRunMeta) for the manager view. It is SSE-first:\n// it subscribes to clicky's runs stream (event: runs carrying the full listing)\n// and falls back to polling the JSON runs endpoint only when EventSource is\n// unavailable or forced off. The listing has no completion terminal of its own —\n// a manager view stays subscribed to observe new and changing runs.\nexport function useTaskRuns(options: UseTaskRunsOptions = {}): UseTaskRunsResult {\n const {\n kind,\n status: statusFilter,\n labels,\n basePath = DEFAULT_BASE,\n enabled = true,\n pollMs = DEFAULT_POLL_MS,\n forcePoll = false,\n } = options;\n\n // Runs are stored together with the key of the request that delivered them, so\n // a stale listing can never be mistaken for the current filters' result.\n const [received, setReceived] = useState<{\n key: TaskRunsKey | null;\n runs: TaskRunMeta[];\n }>({ key: null, runs: [] });\n const [status, setStatus] = useState(\"idle\");\n\n useEffect(() => {\n if (!enabled) return;\n\n const params = new URLSearchParams();\n if (kind) params.set(\"kind\", kind);\n if (statusFilter) params.set(\"status\", statusFilter);\n for (const [k, v] of Object.entries(labels ?? {})) params.append(\"label\", `${k}=${v}`);\n const query = params.toString();\n const requestKey = taskQueryKeys.runs({ basePath, kind, status: statusFilter, labels });\n const receive = (next: TaskRunMeta[]) => setReceived({ key: requestKey, runs: next });\n\n // Polling fallback transport.\n if (forcePoll || !hasEventSource()) {\n let stopped = false;\n let timer: ReturnType<typeof setTimeout> | undefined;\n const tick = async () => {\n try {\n const res = await fetch(`${basePath}/tasks${query ? `?${query}` : \"\"}`, {\n headers: { Accept: \"application/json\" },\n });\n if (!res.ok) throw new Error(`Task listing failed with ${res.status}`);\n if (res.ok) {\n const next = (await res.json()) as TaskRunMeta[];\n if (stopped) return;\n receive(next);\n setStatus(\"polling\");\n }\n } catch {\n if (!stopped) setStatus(\"connection lost — retrying\");\n }\n if (!stopped) timer = setTimeout(tick, pollMs);\n };\n void tick();\n return () => {\n stopped = true;\n if (timer) clearTimeout(timer);\n };\n }\n\n // SSE transport (default).\n const es = new EventSource(`${basePath}/tasks/runs/stream${query ? `?${query}` : \"\"}`);\n setStatus(\"connecting\");\n es.onopen = () => setStatus(\"connected\");\n es.addEventListener(\"runs\", (e) => {\n try {\n receive(JSON.parse((e as MessageEvent).data) as TaskRunMeta[]);\n setStatus(\"connected\");\n } catch {\n setStatus(\"invalid task listing data\");\n }\n });\n es.onerror = () => setStatus(\"connection lost — retrying\");\n return () => es.close();\n }, [kind, statusFilter, JSON.stringify(labels ?? {}), basePath, enabled, pollMs, forcePoll]);\n\n return { runs: received.runs, status, runsKey: received.key };\n}\n"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export type ThemeContextValue = {
6
6
  setTheme: (next: Theme) => void;
7
7
  };
8
8
  export declare const THEME_STORAGE_KEY = "clicky-ui-theme";
9
- export declare const ThemeContext: import('../../../../node_modules/@types/react/index.d.ts').Context<ThemeContextValue | null>;
9
+ export declare const ThemeContext: import('react').Context<ThemeContextValue | null>;
10
10
  export declare function readStoredTheme(): Theme;
11
11
  export declare function resolveTheme(theme: Theme): ResolvedTheme;
12
12
  export declare function applyTheme(resolved: ResolvedTheme): void;
@@ -1,4 +1,4 @@
1
- import { ComponentType } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ComponentType } from 'react';
2
2
  import { FallbackIconComponent } from '../data/icon-fallback';
3
3
  type NamedIcon = ComponentType<{
4
4
  size?: string | number;
@@ -1,4 +1,4 @@
1
- import { FC, SVGProps } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { FC, SVGProps } from 'react';
2
2
  export type IconProps = Omit<SVGProps<SVGSVGElement>, "color"> & {
3
3
  /** Sets width/height. Accepts any CSS length. Defaults to "1em" so the icon scales with surrounding font-size. */
4
4
  size?: number | string;
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { StaticIconComponent } from '../data/Icon';
3
3
  import { DropdownMenuItem } from '../overlay/DropdownMenu';
4
4
  import { AppShellNavDrag } from './AppShell.nav.drag';
@@ -1,4 +1,4 @@
1
- import { HTMLAttributes } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { HTMLAttributes } from 'react';
2
2
  /** Which kind of nav row a drag endpoint is. */
3
3
  export type AppShellNavDropKind = "item" | "group" | "section";
4
4
  /** One end of a drag: a row's `key` plus what that row is. */
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { RenderLink } from '../rpc/EndpointList';
3
3
  import { ContentWidth } from './content-width';
4
4
  export interface AppNavItem {
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { StaticIconComponent } from '../data/Icon';
3
3
  import { PanelTone } from './PanelFrame';
4
4
  export type { PanelTone } from './PanelFrame';
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  export type PanelTone = "default" | "danger" | "warning" | "success" | "info";
3
3
  export type PanelFrameProps = {
4
4
  header?: ReactNode;
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { StaticIconComponent } from '../data/Icon';
3
3
  import { PanelTone } from './PanelFrame';
4
4
  export type SectionProps = {
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  export type SplitPaneProps = {
3
3
  /** Content rendered in the left pane. */
4
4
  left: ReactNode;
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { TabButtonVariant } from '../data/TabButton';
3
3
  import { StaticIconComponent } from '../data/Icon';
4
4
  export type TabItem = {
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { WorkspaceLayoutDefaults, WorkspaceLayoutState, WorkspacePaneSpec } from './Workspace.model';
3
3
  export type { WorkspaceLayoutDefaults, WorkspaceLayoutState, WorkspacePaneLocation, WorkspacePaneSlots, WorkspacePaneSpec, WorkspaceSideLocation, } from './Workspace.model';
4
4
  export type WorkspaceSlots = {
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  export type WorkspacePaneLocation = "left" | "center" | "right" | "bottom";
3
3
  export type WorkspaceSideLocation = "left" | "right";
4
4
  export type WorkspacePaneSlots = {
@@ -1,4 +1,4 @@
1
- import { CSSProperties, ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { CSSProperties, ReactNode } from 'react';
2
2
  import { ComboboxOption } from '../components/combobox-types';
3
3
  export declare function comboboxLabelPadding(label: ReactNode, measuredWidth: number): CSSProperties;
4
4
  export declare function withSelectedComboboxOptions(options: ComboboxOption[], selectedValues: string[]): ComboboxOption[];
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const Editor = require("@monaco-editor/react");
5
- const monaco = require("monaco-editor");
5
+ const monacoEditor = require("monaco-editor");
6
6
  const useTheme = require("../hooks/use-theme.cjs");
7
7
  const useMonacoWorker = require("./use-monaco-worker.cjs");
8
8
  function _interopNamespaceDefault(e) {
@@ -21,8 +21,8 @@ function _interopNamespaceDefault(e) {
21
21
  n.default = e;
22
22
  return Object.freeze(n);
23
23
  }
24
- const monaco__namespace = /* @__PURE__ */ _interopNamespaceDefault(monaco);
25
- Editor.loader.config({ monaco: monaco__namespace });
24
+ const monacoEditor__namespace = /* @__PURE__ */ _interopNamespaceDefault(monacoEditor);
25
+ Editor.loader.config({ monaco: monacoEditor__namespace });
26
26
  function MonacoEditor({
27
27
  value,
28
28
  onChange,
@@ -1 +1 @@
1
- {"version":3,"file":"MonacoEditor.cjs","sources":["../../src/monaco/MonacoEditor.tsx"],"sourcesContent":["import Editor, { loader, type Monaco } from \"@monaco-editor/react\";\nimport * as monaco from \"monaco-editor\";\nimport { useResolvedTheme } from \"../hooks/use-theme\";\nimport { useMonacoWorkerFactory } from \"./use-monaco-worker\";\nimport type { MonacoEditorProps } from \"./types\";\n\nloader.config({ monaco });\n\nexport function MonacoEditor({\n value,\n onChange,\n language,\n path,\n height = \"20rem\",\n beforeMount,\n onMount,\n onValidate,\n}: MonacoEditorProps) {\n const workers = useMonacoWorkerFactory();\n const theme = useResolvedTheme() === \"dark\" ? \"vs-dark\" : \"light\";\n\n if (!workers) {\n return <div role=\"alert\" className=\"rounded-md border border-destructive/40 p-3 text-sm text-destructive\">Monaco workers are not configured.</div>;\n }\n\n return (\n <div className=\"overflow-hidden rounded-md border border-input\" data-slot=\"monaco-editor\">\n <Editor\n value={value}\n onChange={(next) => onChange(next ?? \"\")}\n language={language}\n path={path}\n height={height}\n theme={theme}\n keepCurrentModel\n {...(beforeMount ? { beforeMount } : {})}\n {...(onMount\n ? { onMount: (instance, monacoInstance) => onMount(instance, monacoInstance) }\n : {})}\n {...(onValidate ? { onValidate } : {})}\n options={{\n automaticLayout: true,\n fontFamily: \"var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace)\",\n fontSize: 13,\n lineHeight: 20,\n minimap: { enabled: false },\n scrollBeyondLastLine: false,\n tabSize: 2,\n wordWrap: \"on\",\n quickSuggestions: { other: true, comments: true, strings: true },\n }}\n />\n </div>\n );\n}\n\nexport type { Monaco };\n"],"names":["loader","monaco","useMonacoWorkerFactory","useResolvedTheme","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAMAA,OAAAA,OAAO,OAAO,EAAA,QAAEC,mBAAQ;AAEjB,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA;AACF,GAAsB;AACpB,QAAM,UAAUC,gBAAAA,uBAAA;AAChB,QAAM,QAAQC,SAAAA,iBAAA,MAAuB,SAAS,YAAY;AAE1D,MAAI,CAAC,SAAS;AACZ,0CAAQ,OAAA,EAAI,MAAK,SAAQ,WAAU,wEAAuE,UAAA,sCAAkC;AAAA,EAC9I;AAEA,SACEC,2BAAAA,IAAC,OAAA,EAAI,WAAU,kDAAiD,aAAU,iBACxE,UAAAA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,UAAU,CAAC,SAAS,SAAS,QAAQ,EAAE;AAAA,MACvC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,kBAAgB;AAAA,MACf,GAAI,cAAc,EAAE,YAAA,IAAgB,CAAA;AAAA,MACpC,GAAI,UACD,EAAE,SAAS,CAAC,UAAU,mBAAmB,QAAQ,UAAU,cAAc,EAAA,IACzE,CAAA;AAAA,MACH,GAAI,aAAa,EAAE,WAAA,IAAe,CAAA;AAAA,MACnC,SAAS;AAAA,QACP,iBAAiB;AAAA,QACjB,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,YAAY;AAAA,QACZ,SAAS,EAAE,SAAS,MAAA;AAAA,QACpB,sBAAsB;AAAA,QACtB,SAAS;AAAA,QACT,UAAU;AAAA,QACV,kBAAkB,EAAE,OAAO,MAAM,UAAU,MAAM,SAAS,KAAA;AAAA,MAAK;AAAA,IACjE;AAAA,EAAA,GAEJ;AAEJ;;"}
1
+ {"version":3,"file":"MonacoEditor.cjs","sources":["../../src/monaco/MonacoEditor.tsx"],"sourcesContent":["import Editor, { loader, type Monaco } from \"@monaco-editor/react\";\nimport * as monaco from \"monaco-editor\";\nimport { useResolvedTheme } from \"../hooks/use-theme\";\nimport { useMonacoWorkerFactory } from \"./use-monaco-worker\";\nimport type { MonacoEditorProps } from \"./types\";\n\nloader.config({ monaco });\n\nexport function MonacoEditor({\n value,\n onChange,\n language,\n path,\n height = \"20rem\",\n beforeMount,\n onMount,\n onValidate,\n}: MonacoEditorProps) {\n const workers = useMonacoWorkerFactory();\n const theme = useResolvedTheme() === \"dark\" ? \"vs-dark\" : \"light\";\n\n if (!workers) {\n return <div role=\"alert\" className=\"rounded-md border border-destructive/40 p-3 text-sm text-destructive\">Monaco workers are not configured.</div>;\n }\n\n return (\n <div className=\"overflow-hidden rounded-md border border-input\" data-slot=\"monaco-editor\">\n <Editor\n value={value}\n onChange={(next) => onChange(next ?? \"\")}\n language={language}\n path={path}\n height={height}\n theme={theme}\n keepCurrentModel\n {...(beforeMount ? { beforeMount } : {})}\n {...(onMount\n ? { onMount: (instance, monacoInstance) => onMount(instance, monacoInstance) }\n : {})}\n {...(onValidate ? { onValidate } : {})}\n options={{\n automaticLayout: true,\n fontFamily: \"var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace)\",\n fontSize: 13,\n lineHeight: 20,\n minimap: { enabled: false },\n scrollBeyondLastLine: false,\n tabSize: 2,\n wordWrap: \"on\",\n quickSuggestions: { other: true, comments: true, strings: true },\n }}\n />\n </div>\n );\n}\n\nexport type { Monaco };\n"],"names":["loader","monaco","useMonacoWorkerFactory","useResolvedTheme","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAMAA,OAAAA,OAAO,OAAO,EAAA,QAAEC,yBAAQ;AAEjB,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA;AACF,GAAsB;AACpB,QAAM,UAAUC,gBAAAA,uBAAA;AAChB,QAAM,QAAQC,SAAAA,iBAAA,MAAuB,SAAS,YAAY;AAE1D,MAAI,CAAC,SAAS;AACZ,0CAAQ,OAAA,EAAI,MAAK,SAAQ,WAAU,wEAAuE,UAAA,sCAAkC;AAAA,EAC9I;AAEA,SACEC,2BAAAA,IAAC,OAAA,EAAI,WAAU,kDAAiD,aAAU,iBACxE,UAAAA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,UAAU,CAAC,SAAS,SAAS,QAAQ,EAAE;AAAA,MACvC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,kBAAgB;AAAA,MACf,GAAI,cAAc,EAAE,YAAA,IAAgB,CAAA;AAAA,MACpC,GAAI,UACD,EAAE,SAAS,CAAC,UAAU,mBAAmB,QAAQ,UAAU,cAAc,EAAA,IACzE,CAAA;AAAA,MACH,GAAI,aAAa,EAAE,WAAA,IAAe,CAAA;AAAA,MACnC,SAAS;AAAA,QACP,iBAAiB;AAAA,QACjB,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,YAAY;AAAA,QACZ,SAAS,EAAE,SAAS,MAAA;AAAA,QACpB,sBAAsB;AAAA,QACtB,SAAS;AAAA,QACT,UAAU;AAAA,QACV,kBAAkB,EAAE,OAAO,MAAM,UAAU,MAAM,SAAS,KAAA;AAAA,MAAK;AAAA,IACjE;AAAA,EAAA,GAEJ;AAEJ;;"}
@@ -1,9 +1,9 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import Editor, { loader } from "@monaco-editor/react";
3
- import * as monaco from "monaco-editor";
3
+ import * as monacoEditor from "monaco-editor";
4
4
  import { useResolvedTheme } from "../hooks/use-theme.js";
5
5
  import { useMonacoWorkerFactory } from "./use-monaco-worker.js";
6
- loader.config({ monaco });
6
+ loader.config({ monaco: monacoEditor });
7
7
  function MonacoEditor({
8
8
  value,
9
9
  onChange,
@@ -1 +1 @@
1
- {"version":3,"file":"MonacoEditor.js","sources":["../../src/monaco/MonacoEditor.tsx"],"sourcesContent":["import Editor, { loader, type Monaco } from \"@monaco-editor/react\";\nimport * as monaco from \"monaco-editor\";\nimport { useResolvedTheme } from \"../hooks/use-theme\";\nimport { useMonacoWorkerFactory } from \"./use-monaco-worker\";\nimport type { MonacoEditorProps } from \"./types\";\n\nloader.config({ monaco });\n\nexport function MonacoEditor({\n value,\n onChange,\n language,\n path,\n height = \"20rem\",\n beforeMount,\n onMount,\n onValidate,\n}: MonacoEditorProps) {\n const workers = useMonacoWorkerFactory();\n const theme = useResolvedTheme() === \"dark\" ? \"vs-dark\" : \"light\";\n\n if (!workers) {\n return <div role=\"alert\" className=\"rounded-md border border-destructive/40 p-3 text-sm text-destructive\">Monaco workers are not configured.</div>;\n }\n\n return (\n <div className=\"overflow-hidden rounded-md border border-input\" data-slot=\"monaco-editor\">\n <Editor\n value={value}\n onChange={(next) => onChange(next ?? \"\")}\n language={language}\n path={path}\n height={height}\n theme={theme}\n keepCurrentModel\n {...(beforeMount ? { beforeMount } : {})}\n {...(onMount\n ? { onMount: (instance, monacoInstance) => onMount(instance, monacoInstance) }\n : {})}\n {...(onValidate ? { onValidate } : {})}\n options={{\n automaticLayout: true,\n fontFamily: \"var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace)\",\n fontSize: 13,\n lineHeight: 20,\n minimap: { enabled: false },\n scrollBeyondLastLine: false,\n tabSize: 2,\n wordWrap: \"on\",\n quickSuggestions: { other: true, comments: true, strings: true },\n }}\n />\n </div>\n );\n}\n\nexport type { Monaco };\n"],"names":[],"mappings":";;;;;AAMA,OAAO,OAAO,EAAE,QAAQ;AAEjB,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA;AACF,GAAsB;AACpB,QAAM,UAAU,uBAAA;AAChB,QAAM,QAAQ,iBAAA,MAAuB,SAAS,YAAY;AAE1D,MAAI,CAAC,SAAS;AACZ,+BAAQ,OAAA,EAAI,MAAK,SAAQ,WAAU,wEAAuE,UAAA,sCAAkC;AAAA,EAC9I;AAEA,SACE,oBAAC,OAAA,EAAI,WAAU,kDAAiD,aAAU,iBACxE,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,UAAU,CAAC,SAAS,SAAS,QAAQ,EAAE;AAAA,MACvC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,kBAAgB;AAAA,MACf,GAAI,cAAc,EAAE,YAAA,IAAgB,CAAA;AAAA,MACpC,GAAI,UACD,EAAE,SAAS,CAAC,UAAU,mBAAmB,QAAQ,UAAU,cAAc,EAAA,IACzE,CAAA;AAAA,MACH,GAAI,aAAa,EAAE,WAAA,IAAe,CAAA;AAAA,MACnC,SAAS;AAAA,QACP,iBAAiB;AAAA,QACjB,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,YAAY;AAAA,QACZ,SAAS,EAAE,SAAS,MAAA;AAAA,QACpB,sBAAsB;AAAA,QACtB,SAAS;AAAA,QACT,UAAU;AAAA,QACV,kBAAkB,EAAE,OAAO,MAAM,UAAU,MAAM,SAAS,KAAA;AAAA,MAAK;AAAA,IACjE;AAAA,EAAA,GAEJ;AAEJ;"}
1
+ {"version":3,"file":"MonacoEditor.js","sources":["../../src/monaco/MonacoEditor.tsx"],"sourcesContent":["import Editor, { loader, type Monaco } from \"@monaco-editor/react\";\nimport * as monaco from \"monaco-editor\";\nimport { useResolvedTheme } from \"../hooks/use-theme\";\nimport { useMonacoWorkerFactory } from \"./use-monaco-worker\";\nimport type { MonacoEditorProps } from \"./types\";\n\nloader.config({ monaco });\n\nexport function MonacoEditor({\n value,\n onChange,\n language,\n path,\n height = \"20rem\",\n beforeMount,\n onMount,\n onValidate,\n}: MonacoEditorProps) {\n const workers = useMonacoWorkerFactory();\n const theme = useResolvedTheme() === \"dark\" ? \"vs-dark\" : \"light\";\n\n if (!workers) {\n return <div role=\"alert\" className=\"rounded-md border border-destructive/40 p-3 text-sm text-destructive\">Monaco workers are not configured.</div>;\n }\n\n return (\n <div className=\"overflow-hidden rounded-md border border-input\" data-slot=\"monaco-editor\">\n <Editor\n value={value}\n onChange={(next) => onChange(next ?? \"\")}\n language={language}\n path={path}\n height={height}\n theme={theme}\n keepCurrentModel\n {...(beforeMount ? { beforeMount } : {})}\n {...(onMount\n ? { onMount: (instance, monacoInstance) => onMount(instance, monacoInstance) }\n : {})}\n {...(onValidate ? { onValidate } : {})}\n options={{\n automaticLayout: true,\n fontFamily: \"var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace)\",\n fontSize: 13,\n lineHeight: 20,\n minimap: { enabled: false },\n scrollBeyondLastLine: false,\n tabSize: 2,\n wordWrap: \"on\",\n quickSuggestions: { other: true, comments: true, strings: true },\n }}\n />\n </div>\n );\n}\n\nexport type { Monaco };\n"],"names":["monaco"],"mappings":";;;;;AAMA,OAAO,OAAO,EAAA,QAAEA,cAAQ;AAEjB,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA;AACF,GAAsB;AACpB,QAAM,UAAU,uBAAA;AAChB,QAAM,QAAQ,iBAAA,MAAuB,SAAS,YAAY;AAE1D,MAAI,CAAC,SAAS;AACZ,+BAAQ,OAAA,EAAI,MAAK,SAAQ,WAAU,wEAAuE,UAAA,sCAAkC;AAAA,EAC9I;AAEA,SACE,oBAAC,OAAA,EAAI,WAAU,kDAAiD,aAAU,iBACxE,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,UAAU,CAAC,SAAS,SAAS,QAAQ,EAAE;AAAA,MACvC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,kBAAgB;AAAA,MACf,GAAI,cAAc,EAAE,YAAA,IAAgB,CAAA;AAAA,MACpC,GAAI,UACD,EAAE,SAAS,CAAC,UAAU,mBAAmB,QAAQ,UAAU,cAAc,EAAA,IACzE,CAAA;AAAA,MACH,GAAI,aAAa,EAAE,WAAA,IAAe,CAAA;AAAA,MACnC,SAAS;AAAA,QACP,iBAAiB;AAAA,QACjB,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,YAAY;AAAA,QACZ,SAAS,EAAE,SAAS,MAAA;AAAA,QACpB,sBAAsB;AAAA,QACtB,SAAS;AAAA,QACT,UAAU;AAAA,QACV,kBAAkB,EAAE,OAAO,MAAM,UAAU,MAAM,SAAS,KAAA;AAAA,MAAK;AAAA,IACjE;AAAA,EAAA,GAEJ;AAEJ;"}
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { editor } from 'monaco-editor';
3
3
  import { Monaco } from '@monaco-editor/react';
4
4
  import { JsonSchemaObject } from '../components/json-schema-form-types';
@@ -1,4 +1,4 @@
1
1
  import { MonacoWorkerFactory } from './types';
2
- export declare const WorkerContext: import('../../../../node_modules/@types/react/index.d.ts').Context<MonacoWorkerFactory | null>;
2
+ export declare const WorkerContext: import('react').Context<MonacoWorkerFactory | null>;
3
3
  export declare function useMonacoWorkerFactory(): MonacoWorkerFactory | null;
4
4
  //# sourceMappingURL=use-monaco-worker.d.ts.map
@@ -1,4 +1,4 @@
1
- import { ButtonHTMLAttributes, ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ButtonHTMLAttributes, ReactNode } from 'react';
2
2
  import { StaticIconComponent } from '../data/Icon';
3
3
  import { DropdownMenuItem } from './DropdownMenu';
4
4
  export type CellActionsProps = {
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { CommandFilter, CommandGroup, CommandItem } from './CommandPalette.model';
3
3
  export type { CommandFilter, CommandGroup, CommandItem, CommandSelectContext, } from './CommandPalette.model';
4
4
  export type CommandPaletteProps = {
@@ -67,5 +67,5 @@ export type CommandPaletteProps = {
67
67
  * `zIndex` scale), so a palette opened over a modal sits above it and Escape
68
68
  * still dismisses exactly one layer.
69
69
  */
70
- export declare function CommandPalette({ open, onOpenChange, groups, query, onQueryChange, hotkey, placeholder, loading, emptyState, footer, filter, onSelect, closeOnSelect, resetQueryOnClose, size, topOffset, listMaxHeight, ariaLabel, className, }: CommandPaletteProps): import('../../../../node_modules/@types/react/index.d.ts').ReactPortal | null;
70
+ export declare function CommandPalette({ open, onOpenChange, groups, query, onQueryChange, hotkey, placeholder, loading, emptyState, footer, filter, onSelect, closeOnSelect, resetQueryOnClose, size, topOffset, listMaxHeight, ariaLabel, className, }: CommandPaletteProps): import('react').ReactPortal | null;
71
71
  //# sourceMappingURL=CommandPalette.d.ts.map
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { StaticIconComponent } from '../data/Icon';
3
3
  /** Context handed to a command's `onSelect`. */
4
4
  export type CommandSelectContext = {
@@ -1,4 +1,4 @@
1
- import { RefObject } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { RefObject } from 'react';
2
2
  import { CommandGroup, CommandItem } from './CommandPalette.model';
3
3
  export type CommandPaletteListProps = {
4
4
  groups: CommandGroup[];
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { ButtonProps } from '../components/button';
3
3
  import { StaticIconComponent } from '../data/Icon';
4
4
  export type DropdownMenuItem = {
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  export type HoverCardPlacement = "top" | "bottom" | "left" | "right";
3
3
  export type HoverCardProps = {
4
4
  /** Trigger content that opens the card on hover/focus. */
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  export type ModalSize = "sm" | "md" | "lg" | "xl" | "2xl" | "full";
3
3
  /** Copy for the discard-confirmation prompt shown before a guarded close. */
4
4
  export type ConfirmCloseOptions = {
@@ -57,5 +57,5 @@ export type ModalProps = {
57
57
  /** Modal body content. */
58
58
  children: ReactNode;
59
59
  };
60
- export declare function Modal({ open, onClose, confirmClose, title, subtitle, size, closeOnBackdrop, closeOnEsc, hideClose, expandable, className, headerSlot, footer, scrollBody, children, }: ModalProps): import('../../../../node_modules/@types/react/index.d.ts').ReactPortal | null;
60
+ export declare function Modal({ open, onClose, confirmClose, title, subtitle, size, closeOnBackdrop, closeOnEsc, hideClose, expandable, className, headerSlot, footer, scrollBody, children, }: ModalProps): import('react').ReactPortal | null;
61
61
  //# sourceMappingURL=Modal.d.ts.map
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  export type ToastProviderProps = {
3
3
  children: ReactNode;
4
4
  /** Default auto-dismiss delay applied when a toast omits `durationMs`. */
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { TourLabels, TourStep } from './tour-types';
3
3
  export type TourCardProps = {
4
4
  step: TourStep;
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { TourProps } from './Tour';
3
3
  import { TourCompletionStatus, TourStorage } from './tour-progress';
4
4
  import { TourDefinition, TourStepContext } from './tour-types';
@@ -12,5 +12,5 @@ export type MenuContextValue = {
12
12
  setHasFocusInside: (value: boolean) => void;
13
13
  isOpen: boolean;
14
14
  };
15
- export declare const MenuContext: import('../../../../node_modules/@types/react/index.d.ts').Context<MenuContextValue>;
15
+ export declare const MenuContext: import('react').Context<MenuContextValue>;
16
16
  //# sourceMappingURL=dropdownMenuContext.d.ts.map
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { BadgeTone } from '../data/Badge';
3
3
  export type ToastTone = BadgeTone;
4
4
  export type ToastOptions = {
@@ -18,7 +18,7 @@ export type ToastContextValue = {
18
18
  /** Dismiss a toast by id. */
19
19
  dismiss: (id: number) => void;
20
20
  };
21
- export declare const ToastContext: import('../../../../node_modules/@types/react/index.d.ts').Context<ToastContextValue | null>;
21
+ export declare const ToastContext: import('react').Context<ToastContextValue | null>;
22
22
  /** Access the toast API. Must be called under a `<ToastProvider>`. */
23
23
  export declare function useToast(): ToastContextValue;
24
24
  //# sourceMappingURL=toast-context.d.ts.map
@@ -34,7 +34,7 @@ export type TourContextValue = TourState & {
34
34
  /** Registered tours, for building a "Take a tour" menu. */
35
35
  tours: TourDefinition[];
36
36
  };
37
- export declare const TourContext: import('../../../../node_modules/@types/react/index.d.ts').Context<TourContextValue | null>;
37
+ export declare const TourContext: import('react').Context<TourContextValue | null>;
38
38
  /** Access the tour API. Must be called under a `<TourProvider>`. */
39
39
  export declare function useTour(): TourContextValue;
40
40
  //# sourceMappingURL=tour-context.d.ts.map
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { Placement } from '@floating-ui/react';
3
3
  /**
4
4
  * Public shape of a guided tour. Types only — the runtime lives in tour-model.ts
@@ -2,7 +2,7 @@ import { ComboboxOption } from '../../components/Combobox';
2
2
  import { WorkloadKind } from '../../components/workload-picker-utils';
3
3
  import { JsonSchemaObject } from '../../components/json-schema-form-types';
4
4
  import { QueryBrowserCompletion } from '../../data/query-browser/QueryBrowser.completion';
5
- import { ReactNode } from '../../../../../node_modules/@types/react/index.d.ts';
5
+ import { ReactNode } from 'react';
6
6
  export type BrowserDescriptor = {
7
7
  kind: "query" | "cache";
8
8
  provider?: string;
@@ -1,6 +1,6 @@
1
1
  import { JsonSchemaObject } from '../../components/json-schema-form-types';
2
2
  import { QueryBrowserFilterLookup, QueryBrowserRequest, QueryBrowserResult, QueryBrowserResultContext } from '../../data/query-browser/QueryBrowser.types';
3
- import { ReactNode } from '../../../../../node_modules/@types/react/index.d.ts';
3
+ import { ReactNode } from 'react';
4
4
  import { BrowserDescriptor, CatalogNode, ProfileRowLimits } from './connectionBrowserModel';
5
5
  import { Inspection } from './useInspection';
6
6
  import { EsSearch, QueryModeTransition } from '../elasticsearch/esQueryBuilderModel';
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { ProfileDraft } from './profileBuilderWorkspace';
3
3
  export declare function ProfileBuilderAutoOpen({ children }: {
4
4
  children: ReactNode;
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { EsValue } from './esQueryBuilderModel';
3
3
  import { ParamDraft } from '../wizard/profileWizardModel';
4
4
  export declare function extendEsParamOperand(input: {
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { ComboboxOption } from '../../components/combobox-types';
3
3
  import { LabelIconSpec } from '../../data/Icon';
4
4
  export declare const inputClassName = "w-full rounded-md border border-input bg-background px-3 py-2 text-sm outline-none focus:border-primary focus:ring-2 focus:ring-primary/15";
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { ComboboxOption } from '../../components/combobox-types';
3
3
  export declare function profileTypeIcon(type?: string): ReactNode;
4
4
  export declare function profileFilterKindIcon(kind: string): ReactNode;
@@ -25,7 +25,7 @@ export declare function useProfileFieldState({ discovered, configured, activeNam
25
25
  canMoveUp: boolean;
26
26
  canMoveDown: boolean;
27
27
  configuredCount: number;
28
- setFilter: import('../../../../../node_modules/@types/react/index.d.ts').Dispatch<import('../../../../../node_modules/@types/react/index.d.ts').SetStateAction<ProfileFieldFilter>>;
28
+ setFilter: import('react').Dispatch<import('react').SetStateAction<ProfileFieldFilter>>;
29
29
  setActiveName: (name: string) => void;
30
30
  setVisibleSelection: (selected: boolean) => void;
31
31
  setFieldSelection: (field: ProfileColumn, selected: boolean) => void;
@@ -23,5 +23,5 @@ export declare function evaluateJsonPath(request: {
23
23
  source?: string;
24
24
  row: unknown;
25
25
  }): Promise<JsonPathEvalResult>;
26
- export declare const JsonPathSampleRowsContext: import('../../../../../node_modules/@types/react/index.d.ts').Context<unknown[]>;
26
+ export declare const JsonPathSampleRowsContext: import('react').Context<unknown[]>;
27
27
  //# sourceMappingURL=jsonPathSample.d.ts.map
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  export declare function JsonPathProfileProvider({ profile, children }: {
3
3
  profile: unknown;
4
4
  children: ReactNode;
@@ -1,7 +1,7 @@
1
1
  import { QueryBrowserResult } from '../../data/query-browser/QueryBrowser.types';
2
- import { ReactNode } from '../../../../../node_modules/@types/react/index.d.ts';
2
+ import { ReactNode } from 'react';
3
3
  export declare function PrometheusResults({ result, fallback, }: {
4
4
  result: QueryBrowserResult;
5
5
  fallback: ReactNode;
6
- }): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import('../../../../../node_modules/@types/react/index.d.ts').ReactPortal | import('../../../../../node_modules/@types/react/index.d.ts').ReactElement<unknown, string | import('../../../../../node_modules/@types/react/index.d.ts').JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
6
+ }): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import('react').ReactPortal | import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
7
7
  //# sourceMappingURL=prometheusResults.d.ts.map
@@ -1,4 +1,4 @@
1
- import { ReactElement, ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactElement, ReactNode } from 'react';
2
2
  import { DomainDefinition, ResolvedOperation } from './types';
3
3
  export type RenderLinkArgs = {
4
4
  to: string;
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { PreExtension, PostExtension } from '../components/json-schema-form-types';
3
3
  import { ResultRenderer } from './OperationResultView';
4
4
  import { EntityDetailBodyRenderer, EntityDetailHeaderRenderer } from './OperationEntityPage';
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { ClickyCommandRuntime } from '../data/Clicky';
3
3
  import { RenderLink } from './EndpointList';
4
4
  import { ResultRenderer } from './OperationResultView';
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { StaticIconComponent } from '../data/Icon';
3
3
  import { ChatContextItem } from '../data/ai/context';
4
4
  import { ClickySurface, ResolvedOperation } from './types';
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { ClickyCommandRuntime } from '../data/Clicky';
3
3
  import { FormActionsRenderer } from './SchemaActionForm';
4
4
  import { RenderLink } from './EndpointList';
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { FilterBarFilter, FilterBarRangeProps, FilterBarSearchProps } from '../components/FilterBar';
3
3
  import { DataTableInfinite, DataTablePagination } from '../data/DataTable';
4
4
  import { ClickyCommandRuntime, ClickyDownloadOptions, ClickyTableRowSelection } from '../data/Clicky';
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { RouterAdapter } from './router';
3
3
  /** Supplies a RouterAdapter to clicky-ui nav surfaces (AppSidebar,
4
4
  * EntityExplorerApp, …). Hosts build the adapter from their own router (see
@@ -1,4 +1,4 @@
1
- import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactNode } from 'react';
2
2
  import { PreExtension, PostExtension } from '../components/json-schema-form-types';
3
3
  import { ExecutionResponse, ResolvedOperation } from './types';
4
4
  import { OperationsApiClient } from './useOperations';
@@ -1,4 +1,4 @@
1
- import { Dispatch, SetStateAction } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { Dispatch, SetStateAction } from 'react';
2
2
  import { FilterBarFilter, FilterBarRangeProps, FilterBarSearchProps } from '../components/FilterBar';
3
3
  import { DataTablePagination } from '../data/DataTable';
4
4
  import { SortState } from '../hooks/use-sort';
@@ -9,7 +9,7 @@ export interface RouterAdapter {
9
9
  replace?: boolean;
10
10
  }) => void;
11
11
  }
12
- export declare const RouterContext: import('../../../../node_modules/@types/react/index.d.ts').Context<RouterAdapter | null>;
12
+ export declare const RouterContext: import('react').Context<RouterAdapter | null>;
13
13
  /** Live browser adapter: location from history, real <a href> links that
14
14
  * navigate client-side via the History API (like react-router's <Link>). This
15
15
  * is the router-agnostic default when no RouterProvider is mounted. */
@@ -1,4 +1,4 @@
1
- import { ReactElement } from '../../../../node_modules/@types/react/index.d.ts';
1
+ import { ReactElement } from 'react';
2
2
  import { RenderLinkArgs } from './EndpointList';
3
3
  import { OperationsApiClient } from './useOperations';
4
4
  import { DomainDefinition, ExecutionResponse, OpenAPISpec, ResolvedOperation } from './types';