@flanksource/clicky-ui 0.3.33 → 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 (729) 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.cjs +9 -8
  7. package/dist/comments/CommentCard.cjs.map +1 -1
  8. package/dist/comments/CommentCard.d.ts +1 -1
  9. package/dist/comments/CommentCard.d.ts.map +1 -1
  10. package/dist/comments/CommentCard.js +2 -1
  11. package/dist/comments/CommentCard.js.map +1 -1
  12. package/dist/comments/CommentCardParts.cjs +2 -1
  13. package/dist/comments/CommentCardParts.cjs.map +1 -1
  14. package/dist/comments/CommentCardParts.d.ts.map +1 -1
  15. package/dist/comments/CommentCardParts.js +2 -1
  16. package/dist/comments/CommentCardParts.js.map +1 -1
  17. package/dist/comments/CommentProvider.d.ts +1 -1
  18. package/dist/comments/CommentSidePanel.cjs +3 -2
  19. package/dist/comments/CommentSidePanel.cjs.map +1 -1
  20. package/dist/comments/CommentSidePanel.d.ts.map +1 -1
  21. package/dist/comments/CommentSidePanel.js +2 -1
  22. package/dist/comments/CommentSidePanel.js.map +1 -1
  23. package/dist/comments/CommentThread.d.ts +1 -1
  24. package/dist/comments/CommentThreadList.d.ts +1 -1
  25. package/dist/comments/MentionTextarea.d.ts +1 -1
  26. package/dist/comments/comment-context.d.ts +4 -4
  27. package/dist/comments/comment-fixtures.d.ts +1 -1
  28. package/dist/comments/comment-types.d.ts +1 -1
  29. package/dist/comments/comment-utils.cjs +0 -27
  30. package/dist/comments/comment-utils.cjs.map +1 -1
  31. package/dist/comments/comment-utils.d.ts +1 -7
  32. package/dist/comments/comment-utils.d.ts.map +1 -1
  33. package/dist/comments/comment-utils.js +0 -27
  34. package/dist/comments/comment-utils.js.map +1 -1
  35. package/dist/comments.cjs +4 -3
  36. package/dist/comments.cjs.map +1 -1
  37. package/dist/comments.d.ts +1 -0
  38. package/dist/comments.d.ts.map +1 -1
  39. package/dist/comments.js +2 -1
  40. package/dist/comments.js.map +1 -1
  41. package/dist/components/AccordionList.d.ts +1 -1
  42. package/dist/components/ComboboxControl.d.ts +1 -1
  43. package/dist/components/ComboboxMenu.d.ts +2 -2
  44. package/dist/components/ComboboxTags.cjs +41 -11
  45. package/dist/components/ComboboxTags.cjs.map +1 -1
  46. package/dist/components/ComboboxTags.d.ts +6 -0
  47. package/dist/components/ComboboxTags.d.ts.map +1 -1
  48. package/dist/components/ComboboxTags.js +41 -11
  49. package/dist/components/ComboboxTags.js.map +1 -1
  50. package/dist/components/DateField.d.ts +3 -3
  51. package/dist/components/DatePicker.d.ts +3 -3
  52. package/dist/components/DateTimePicker.d.ts +3 -3
  53. package/dist/components/ErrorWrapper.d.ts +2 -2
  54. package/dist/components/Field.d.ts +1 -1
  55. package/dist/components/FilterBar.d.ts +1 -1
  56. package/dist/components/FormLookupProvider.d.ts +1 -1
  57. package/dist/components/FormatOptionsDropdown.d.ts +1 -1
  58. package/dist/components/IconButton.d.ts +3 -3
  59. package/dist/components/InputField.d.ts +2 -2
  60. package/dist/components/ItemActions.d.ts +1 -1
  61. package/dist/components/JsonSchemaForm.cjs +17 -36
  62. package/dist/components/JsonSchemaForm.cjs.map +1 -1
  63. package/dist/components/JsonSchemaForm.d.ts +1 -1
  64. package/dist/components/JsonSchemaForm.d.ts.map +1 -1
  65. package/dist/components/JsonSchemaForm.js +17 -36
  66. package/dist/components/JsonSchemaForm.js.map +1 -1
  67. package/dist/components/ListMenu.d.ts +1 -1
  68. package/dist/components/MultiSelect.d.ts +1 -1
  69. package/dist/components/RangeSlider.cjs +15 -1
  70. package/dist/components/RangeSlider.cjs.map +1 -1
  71. package/dist/components/RangeSlider.d.ts.map +1 -1
  72. package/dist/components/RangeSlider.js +15 -1
  73. package/dist/components/RangeSlider.js.map +1 -1
  74. package/dist/components/SearchInput.d.ts +1 -1
  75. package/dist/components/SegmentedControl.d.ts +1 -1
  76. package/dist/components/SplitButton.d.ts +1 -1
  77. package/dist/components/Switch.d.ts +1 -1
  78. package/dist/components/TreePickerField.cjs +11 -2
  79. package/dist/components/TreePickerField.cjs.map +1 -1
  80. package/dist/components/TreePickerField.d.ts +13 -4
  81. package/dist/components/TreePickerField.d.ts.map +1 -1
  82. package/dist/components/TreePickerField.js +11 -2
  83. package/dist/components/TreePickerField.js.map +1 -1
  84. package/dist/components/UnitStepControls.d.ts +1 -1
  85. package/dist/components/button.d.ts +3 -3
  86. package/dist/components/combobox-types.d.ts +1 -1
  87. package/dist/components/density-switcher.d.ts +1 -1
  88. package/dist/components/filter-bar-context.d.ts +1 -1
  89. package/dist/components/filter-bar-field-utils.d.ts +2 -2
  90. package/dist/components/form-lookup-context.d.ts +1 -1
  91. package/dist/components/icon-menu-picker.d.ts +1 -1
  92. package/dist/components/json-schema-form-accordion-array.cjs +44 -21
  93. package/dist/components/json-schema-form-accordion-array.cjs.map +1 -1
  94. package/dist/components/json-schema-form-accordion-array.d.ts.map +1 -1
  95. package/dist/components/json-schema-form-accordion-array.js +47 -24
  96. package/dist/components/json-schema-form-accordion-array.js.map +1 -1
  97. package/dist/components/json-schema-form-array.cjs +53 -30
  98. package/dist/components/json-schema-form-array.cjs.map +1 -1
  99. package/dist/components/json-schema-form-array.d.ts.map +1 -1
  100. package/dist/components/json-schema-form-array.js +54 -31
  101. package/dist/components/json-schema-form-array.js.map +1 -1
  102. package/dist/components/json-schema-form-cards-array.cjs +32 -22
  103. package/dist/components/json-schema-form-cards-array.cjs.map +1 -1
  104. package/dist/components/json-schema-form-cards-array.d.ts.map +1 -1
  105. package/dist/components/json-schema-form-cards-array.js +33 -23
  106. package/dist/components/json-schema-form-cards-array.js.map +1 -1
  107. package/dist/components/json-schema-form-collection-layouts.fixtures.d.ts +44 -0
  108. package/dist/components/json-schema-form-collection-layouts.fixtures.d.ts.map +1 -0
  109. package/dist/components/json-schema-form-discriminator.d.ts +1 -1
  110. package/dist/components/json-schema-form-errors.cjs +5 -1
  111. package/dist/components/json-schema-form-errors.cjs.map +1 -1
  112. package/dist/components/json-schema-form-errors.d.ts +2 -1
  113. package/dist/components/json-schema-form-errors.d.ts.map +1 -1
  114. package/dist/components/json-schema-form-errors.js +6 -2
  115. package/dist/components/json-schema-form-errors.js.map +1 -1
  116. package/dist/components/json-schema-form-extensions.d.ts +1 -1
  117. package/dist/components/json-schema-form-filter-input.cjs +50 -0
  118. package/dist/components/json-schema-form-filter-input.cjs.map +1 -0
  119. package/dist/components/json-schema-form-filter-input.d.ts +5 -0
  120. package/dist/components/json-schema-form-filter-input.d.ts.map +1 -0
  121. package/dist/components/json-schema-form-filter-input.js +50 -0
  122. package/dist/components/json-schema-form-filter-input.js.map +1 -0
  123. package/dist/components/json-schema-form-filter.cjs +49 -0
  124. package/dist/components/json-schema-form-filter.cjs.map +1 -0
  125. package/dist/components/json-schema-form-filter.d.ts +8 -0
  126. package/dist/components/json-schema-form-filter.d.ts.map +1 -0
  127. package/dist/components/json-schema-form-filter.js +49 -0
  128. package/dist/components/json-schema-form-filter.js.map +1 -0
  129. package/dist/components/json-schema-form-layout.cjs +84 -17
  130. package/dist/components/json-schema-form-layout.cjs.map +1 -1
  131. package/dist/components/json-schema-form-layout.d.ts +1 -1
  132. package/dist/components/json-schema-form-layout.d.ts.map +1 -1
  133. package/dist/components/json-schema-form-layout.js +84 -17
  134. package/dist/components/json-schema-form-layout.js.map +1 -1
  135. package/dist/components/json-schema-form-list-array.cjs +16 -5
  136. package/dist/components/json-schema-form-list-array.cjs.map +1 -1
  137. package/dist/components/json-schema-form-list-array.d.ts +2 -1
  138. package/dist/components/json-schema-form-list-array.d.ts.map +1 -1
  139. package/dist/components/json-schema-form-list-array.js +16 -5
  140. package/dist/components/json-schema-form-list-array.js.map +1 -1
  141. package/dist/components/json-schema-form-object.cjs +239 -85
  142. package/dist/components/json-schema-form-object.cjs.map +1 -1
  143. package/dist/components/json-schema-form-object.d.ts +2 -2
  144. package/dist/components/json-schema-form-object.d.ts.map +1 -1
  145. package/dist/components/json-schema-form-object.js +241 -87
  146. package/dist/components/json-schema-form-object.js.map +1 -1
  147. package/dist/components/json-schema-form-preferences.cjs +1 -1
  148. package/dist/components/json-schema-form-preferences.cjs.map +1 -1
  149. package/dist/components/json-schema-form-preferences.d.ts +1 -1
  150. package/dist/components/json-schema-form-preferences.d.ts.map +1 -1
  151. package/dist/components/json-schema-form-preferences.js +1 -1
  152. package/dist/components/json-schema-form-preferences.js.map +1 -1
  153. package/dist/components/json-schema-form-properties-errors.fixtures.d.ts +14 -0
  154. package/dist/components/json-schema-form-properties-errors.fixtures.d.ts.map +1 -0
  155. package/dist/components/json-schema-form-properties-size.cjs +19 -0
  156. package/dist/components/json-schema-form-properties-size.cjs.map +1 -0
  157. package/dist/components/json-schema-form-properties-size.d.ts +4 -0
  158. package/dist/components/json-schema-form-properties-size.d.ts.map +1 -0
  159. package/dist/components/json-schema-form-properties-size.js +19 -0
  160. package/dist/components/json-schema-form-properties-size.js.map +1 -0
  161. package/dist/components/json-schema-form-properties.cjs +305 -0
  162. package/dist/components/json-schema-form-properties.cjs.map +1 -0
  163. package/dist/components/json-schema-form-properties.d.ts +20 -0
  164. package/dist/components/json-schema-form-properties.d.ts.map +1 -0
  165. package/dist/components/json-schema-form-properties.fixtures.d.ts +157 -0
  166. package/dist/components/json-schema-form-properties.fixtures.d.ts.map +1 -0
  167. package/dist/components/json-schema-form-properties.js +305 -0
  168. package/dist/components/json-schema-form-properties.js.map +1 -0
  169. package/dist/components/json-schema-form-property-actions-context.cjs +6 -0
  170. package/dist/components/json-schema-form-property-actions-context.cjs.map +1 -0
  171. package/dist/components/json-schema-form-property-actions-context.d.ts +2 -0
  172. package/dist/components/json-schema-form-property-actions-context.d.ts.map +1 -0
  173. package/dist/components/json-schema-form-property-actions-context.js +6 -0
  174. package/dist/components/json-schema-form-property-actions-context.js.map +1 -0
  175. package/dist/components/json-schema-form-property-collection.cjs +31 -0
  176. package/dist/components/json-schema-form-property-collection.cjs.map +1 -0
  177. package/dist/components/json-schema-form-property-collection.d.ts +6 -0
  178. package/dist/components/json-schema-form-property-collection.d.ts.map +1 -0
  179. package/dist/components/json-schema-form-property-collection.js +31 -0
  180. package/dist/components/json-schema-form-property-collection.js.map +1 -0
  181. package/dist/components/json-schema-form-property-draft.cjs +45 -0
  182. package/dist/components/json-schema-form-property-draft.cjs.map +1 -0
  183. package/dist/components/json-schema-form-property-draft.d.ts +8 -0
  184. package/dist/components/json-schema-form-property-draft.d.ts.map +1 -0
  185. package/dist/components/json-schema-form-property-draft.js +45 -0
  186. package/dist/components/json-schema-form-property-draft.js.map +1 -0
  187. package/dist/components/json-schema-form-property-preview.cjs +68 -0
  188. package/dist/components/json-schema-form-property-preview.cjs.map +1 -0
  189. package/dist/components/json-schema-form-property-preview.d.ts +7 -0
  190. package/dist/components/json-schema-form-property-preview.d.ts.map +1 -0
  191. package/dist/components/json-schema-form-property-preview.js +68 -0
  192. package/dist/components/json-schema-form-property-preview.js.map +1 -0
  193. package/dist/components/json-schema-form-property-selection.cjs +89 -0
  194. package/dist/components/json-schema-form-property-selection.cjs.map +1 -0
  195. package/dist/components/json-schema-form-property-selection.d.ts +6 -0
  196. package/dist/components/json-schema-form-property-selection.d.ts.map +1 -0
  197. package/dist/components/json-schema-form-property-selection.js +89 -0
  198. package/dist/components/json-schema-form-property-selection.js.map +1 -0
  199. package/dist/components/json-schema-form-render.cjs +41 -4
  200. package/dist/components/json-schema-form-render.cjs.map +1 -1
  201. package/dist/components/json-schema-form-render.d.ts +1 -1
  202. package/dist/components/json-schema-form-render.d.ts.map +1 -1
  203. package/dist/components/json-schema-form-render.js +42 -5
  204. package/dist/components/json-schema-form-render.js.map +1 -1
  205. package/dist/components/json-schema-form-resolve.cjs +2 -0
  206. package/dist/components/json-schema-form-resolve.cjs.map +1 -1
  207. package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
  208. package/dist/components/json-schema-form-resolve.js +2 -0
  209. package/dist/components/json-schema-form-resolve.js.map +1 -1
  210. package/dist/components/json-schema-form-runtime-types.d.ts +222 -0
  211. package/dist/components/json-schema-form-runtime-types.d.ts.map +1 -0
  212. package/dist/components/json-schema-form-table-array.cjs +82 -51
  213. package/dist/components/json-schema-form-table-array.cjs.map +1 -1
  214. package/dist/components/json-schema-form-table-array.d.ts.map +1 -1
  215. package/dist/components/json-schema-form-table-array.js +84 -53
  216. package/dist/components/json-schema-form-table-array.js.map +1 -1
  217. package/dist/components/json-schema-form-template-menu.d.ts +1 -1
  218. package/dist/components/json-schema-form-template.d.ts +1 -1
  219. package/dist/components/json-schema-form-types.d.ts +7 -179
  220. package/dist/components/json-schema-form-types.d.ts.map +1 -1
  221. package/dist/components/json-schema-form-utils.cjs +10 -9
  222. package/dist/components/json-schema-form-utils.cjs.map +1 -1
  223. package/dist/components/json-schema-form-utils.d.ts +11 -1
  224. package/dist/components/json-schema-form-utils.d.ts.map +1 -1
  225. package/dist/components/json-schema-form-utils.js +10 -9
  226. package/dist/components/json-schema-form-utils.js.map +1 -1
  227. package/dist/components/loading.d.ts +4 -4
  228. package/dist/components/mdx-editor-callout.d.ts +1 -1
  229. package/dist/components/mdx-editor-options.d.ts +1 -1
  230. package/dist/components/select.d.ts +3 -3
  231. package/dist/components/theme-switcher.d.ts +1 -1
  232. package/dist/components/use-list-menu-selection.d.ts +1 -1
  233. package/dist/components/useComboboxLayout.d.ts +1 -1
  234. package/dist/components/workload-picker-utils.d.ts +1 -1
  235. package/dist/data/Avatar.d.ts +1 -1
  236. package/dist/data/AvatarBadge.d.ts +1 -1
  237. package/dist/data/Badge.d.ts +1 -1
  238. package/dist/data/Callout.d.ts +1 -1
  239. package/dist/data/DataTable.cjs +575 -435
  240. package/dist/data/DataTable.cjs.map +1 -1
  241. package/dist/data/DataTable.d.ts +21 -13
  242. package/dist/data/DataTable.d.ts.map +1 -1
  243. package/dist/data/DataTable.grouping.d.ts +1 -1
  244. package/dist/data/DataTable.js +575 -435
  245. package/dist/data/DataTable.js.map +1 -1
  246. package/dist/data/ExecutionTree.d.ts +1 -1
  247. package/dist/data/FilterPill.d.ts +1 -1
  248. package/dist/data/FixtureEditor/RawFenceEditor.d.ts +1 -1
  249. package/dist/data/FixtureEditor/types.d.ts +1 -1
  250. package/dist/data/Gauge.d.ts +1 -1
  251. package/dist/data/GaugeHoverCard.d.ts +1 -1
  252. package/dist/data/Icon.d.ts +1 -1
  253. package/dist/data/KeyValueList.d.ts +1 -1
  254. package/dist/data/MarkdownEditor.d.ts +1 -1
  255. package/dist/data/MatrixTable.d.ts +1 -1
  256. package/dist/data/ObjectGraph.d.ts +1 -1
  257. package/dist/data/ProgressBars.d.ts +1 -1
  258. package/dist/data/Properties.cjs +86 -35
  259. package/dist/data/Properties.cjs.map +1 -1
  260. package/dist/data/Properties.d.ts +2 -2
  261. package/dist/data/Properties.d.ts.map +1 -1
  262. package/dist/data/Properties.js +87 -36
  263. package/dist/data/Properties.js.map +1 -1
  264. package/dist/data/RadialGauge.d.ts +1 -1
  265. package/dist/data/SchemaViewer.d.ts +1 -1
  266. package/dist/data/SortableHeader.d.ts +1 -1
  267. package/dist/data/StatStrip.d.ts +1 -1
  268. package/dist/data/StatusBreakdown.d.ts +1 -1
  269. package/dist/data/TabButton.d.ts +1 -1
  270. package/dist/data/TaskManager.cjs +9 -17
  271. package/dist/data/TaskManager.cjs.map +1 -1
  272. package/dist/data/TaskManager.d.ts.map +1 -1
  273. package/dist/data/TaskManager.js +9 -17
  274. package/dist/data/TaskManager.js.map +1 -1
  275. package/dist/data/TaskManagerButton.cjs +17 -34
  276. package/dist/data/TaskManagerButton.cjs.map +1 -1
  277. package/dist/data/TaskManagerButton.d.ts.map +1 -1
  278. package/dist/data/TaskManagerButton.js +18 -35
  279. package/dist/data/TaskManagerButton.js.map +1 -1
  280. package/dist/data/TaskProcessDetails.cjs +5 -26
  281. package/dist/data/TaskProcessDetails.cjs.map +1 -1
  282. package/dist/data/TaskProcessDetails.d.ts +2 -1
  283. package/dist/data/TaskProcessDetails.d.ts.map +1 -1
  284. package/dist/data/TaskProcessDetails.js +5 -26
  285. package/dist/data/TaskProcessDetails.js.map +1 -1
  286. package/dist/data/TaskProgress.cjs +24 -15
  287. package/dist/data/TaskProgress.cjs.map +1 -1
  288. package/dist/data/TaskProgress.d.ts +2 -1
  289. package/dist/data/TaskProgress.d.ts.map +1 -1
  290. package/dist/data/TaskProgress.js +24 -15
  291. package/dist/data/TaskProgress.js.map +1 -1
  292. package/dist/data/TaskResourceReadings.cjs +42 -0
  293. package/dist/data/TaskResourceReadings.cjs.map +1 -0
  294. package/dist/data/TaskResourceReadings.d.ts +6 -0
  295. package/dist/data/TaskResourceReadings.d.ts.map +1 -0
  296. package/dist/data/TaskResourceReadings.js +42 -0
  297. package/dist/data/TaskResourceReadings.js.map +1 -0
  298. package/dist/data/TaskSnapshot.cjs.map +1 -1
  299. package/dist/data/TaskSnapshot.d.ts +14 -1
  300. package/dist/data/TaskSnapshot.d.ts.map +1 -1
  301. package/dist/data/TaskSnapshot.js.map +1 -1
  302. package/dist/data/Timeline.d.ts +1 -1
  303. package/dist/data/Tree.d.ts +1 -1
  304. package/dist/data/TreeGroupHeader.d.ts +1 -1
  305. package/dist/data/TreeNode.d.ts +1 -1
  306. package/dist/data/Version.d.ts +3 -3
  307. package/dist/data/ai/ChatWindow.cjs +22 -12
  308. package/dist/data/ai/ChatWindow.cjs.map +1 -1
  309. package/dist/data/ai/ChatWindow.d.ts.map +1 -1
  310. package/dist/data/ai/ChatWindow.js +22 -12
  311. package/dist/data/ai/ChatWindow.js.map +1 -1
  312. package/dist/data/ai/ChatWindow.test-utils.d.ts +4 -2
  313. package/dist/data/ai/ChatWindow.test-utils.d.ts.map +1 -1
  314. package/dist/data/ai/ChatWindow.types.d.ts +1 -1
  315. package/dist/data/ai/ChatWindowManager.cjs +2 -0
  316. package/dist/data/ai/ChatWindowManager.cjs.map +1 -1
  317. package/dist/data/ai/ChatWindowManager.d.ts +1 -1
  318. package/dist/data/ai/ChatWindowManager.d.ts.map +1 -1
  319. package/dist/data/ai/ChatWindowManager.js +2 -0
  320. package/dist/data/ai/ChatWindowManager.js.map +1 -1
  321. package/dist/data/ai/PolicyTree.d.ts +1 -1
  322. package/dist/data/ai/PromptCatalog/PromptPageHeader.d.ts +1 -1
  323. package/dist/data/ai/PromptCatalog/types.d.ts +1 -1
  324. package/dist/data/ai/PromptRunEditor/index.cjs +4 -0
  325. package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
  326. package/dist/data/ai/PromptRunEditor/index.d.ts +5 -2
  327. package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
  328. package/dist/data/ai/PromptRunEditor/index.js +4 -0
  329. package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
  330. package/dist/data/ai/SessionChatComposer.d.ts +1 -1
  331. package/dist/data/ai/SessionInspector.approvals.cjs +147 -0
  332. package/dist/data/ai/SessionInspector.approvals.cjs.map +1 -0
  333. package/dist/data/ai/SessionInspector.approvals.d.ts +21 -0
  334. package/dist/data/ai/SessionInspector.approvals.d.ts.map +1 -0
  335. package/dist/data/ai/SessionInspector.approvals.js +147 -0
  336. package/dist/data/ai/SessionInspector.approvals.js.map +1 -0
  337. package/dist/data/ai/SessionInspector.cjs +21 -8
  338. package/dist/data/ai/SessionInspector.cjs.map +1 -1
  339. package/dist/data/ai/SessionInspector.d.ts +6 -2
  340. package/dist/data/ai/SessionInspector.d.ts.map +1 -1
  341. package/dist/data/ai/SessionInspector.hierarchy.d.ts +1 -1
  342. package/dist/data/ai/SessionInspector.js +21 -8
  343. package/dist/data/ai/SessionInspector.js.map +1 -1
  344. package/dist/data/ai/SessionInspector.panel-parts.cjs +47 -0
  345. package/dist/data/ai/SessionInspector.panel-parts.cjs.map +1 -0
  346. package/dist/data/ai/SessionInspector.panel-parts.d.ts +20 -0
  347. package/dist/data/ai/SessionInspector.panel-parts.d.ts.map +1 -0
  348. package/dist/data/ai/SessionInspector.panel-parts.js +47 -0
  349. package/dist/data/ai/SessionInspector.panel-parts.js.map +1 -0
  350. package/dist/data/ai/SessionInspector.panels.cjs +40 -99
  351. package/dist/data/ai/SessionInspector.panels.cjs.map +1 -1
  352. package/dist/data/ai/SessionInspector.panels.d.ts +3 -1
  353. package/dist/data/ai/SessionInspector.panels.d.ts.map +1 -1
  354. package/dist/data/ai/SessionInspector.panels.js +12 -71
  355. package/dist/data/ai/SessionInspector.panels.js.map +1 -1
  356. package/dist/data/ai/SessionViewer.d.ts +1 -1
  357. package/dist/data/ai/SessionViewer.rows.d.ts +1 -1
  358. package/dist/data/ai/SessionViewer.tool-details.d.ts +1 -1
  359. package/dist/data/ai/SessionViewer.unified.d.ts +23 -0
  360. package/dist/data/ai/SessionViewer.unified.d.ts.map +1 -1
  361. package/dist/data/ai/SpecRuntimeEditor/Footer.d.ts +1 -1
  362. package/dist/data/ai/SpecRuntimeEditor/Rail.d.ts +1 -1
  363. package/dist/data/ai/SpecRuntimeEditor/SectionCard.d.ts +1 -1
  364. package/dist/data/ai/SpecRuntimeEditor/VerifySection.cjs +3 -1
  365. package/dist/data/ai/SpecRuntimeEditor/VerifySection.cjs.map +1 -1
  366. package/dist/data/ai/SpecRuntimeEditor/VerifySection.d.ts +3 -1
  367. package/dist/data/ai/SpecRuntimeEditor/VerifySection.d.ts.map +1 -1
  368. package/dist/data/ai/SpecRuntimeEditor/VerifySection.js +3 -1
  369. package/dist/data/ai/SpecRuntimeEditor/VerifySection.js.map +1 -1
  370. package/dist/data/ai/SpecRuntimeEditor/fields.d.ts +1 -1
  371. package/dist/data/ai/SpecRuntimeEditor/index.cjs +3 -1
  372. package/dist/data/ai/SpecRuntimeEditor/index.cjs.map +1 -1
  373. package/dist/data/ai/SpecRuntimeEditor/index.d.ts +5 -2
  374. package/dist/data/ai/SpecRuntimeEditor/index.d.ts.map +1 -1
  375. package/dist/data/ai/SpecRuntimeEditor/index.js +3 -1
  376. package/dist/data/ai/SpecRuntimeEditor/index.js.map +1 -1
  377. package/dist/data/ai/chat-window-context.cjs +1 -0
  378. package/dist/data/ai/chat-window-context.cjs.map +1 -1
  379. package/dist/data/ai/chat-window-context.d.ts +13 -5
  380. package/dist/data/ai/chat-window-context.d.ts.map +1 -1
  381. package/dist/data/ai/chat-window-context.js +1 -0
  382. package/dist/data/ai/chat-window-context.js.map +1 -1
  383. package/dist/data/ai/index.d.ts +2 -1
  384. package/dist/data/ai/index.d.ts.map +1 -1
  385. package/dist/data/ai/use-session-scroll.d.ts +1 -1
  386. package/dist/data/badge-variants.d.ts +2 -2
  387. package/dist/data/cache-browser/adapter.d.ts +1 -1
  388. package/dist/data/cells/CellFilterActions.d.ts +1 -1
  389. package/dist/data/cells/EntityCell.d.ts +1 -1
  390. package/dist/data/cells/tag-utils.d.ts +1 -1
  391. package/dist/data/chat/Chat.cjs +42 -46
  392. package/dist/data/chat/Chat.cjs.map +1 -1
  393. package/dist/data/chat/Chat.d.ts +16 -5
  394. package/dist/data/chat/Chat.d.ts.map +1 -1
  395. package/dist/data/chat/Chat.js +43 -47
  396. package/dist/data/chat/Chat.js.map +1 -1
  397. package/dist/data/chat/ModelSelector.d.ts +1 -1
  398. package/dist/data/chat/PromptInput.cjs +13 -0
  399. package/dist/data/chat/PromptInput.cjs.map +1 -1
  400. package/dist/data/chat/PromptInput.d.ts +8 -2
  401. package/dist/data/chat/PromptInput.d.ts.map +1 -1
  402. package/dist/data/chat/PromptInput.js +14 -1
  403. package/dist/data/chat/PromptInput.js.map +1 -1
  404. package/dist/data/chat/tool-render/ToolArgs.d.ts +1 -1
  405. package/dist/data/chat/tool-render/ToolParams.d.ts +1 -1
  406. package/dist/data/chat/tool-render/ToolValue.d.ts +1 -1
  407. package/dist/data/chat/tool-render/adapter.d.ts +1 -1
  408. package/dist/data/chat/tool-render/context.d.ts +1 -1
  409. package/dist/data/chat/tool-render/defaults.d.ts +1 -1
  410. package/dist/data/chat/tool-render/known-tool-views.d.ts +1 -1
  411. package/dist/data/chat/tool-render/summary.d.ts +1 -1
  412. package/dist/data/chat/types.d.ts +1 -1
  413. package/dist/data/clicky-export/useClickyExport.d.ts +1 -1
  414. package/dist/data/data-table-server-filters.d.ts +1 -1
  415. package/dist/data/diagnostics/DiagnosticsDetailPanel.d.ts +1 -1
  416. package/dist/data/diagnostics/ErrorDetails.d.ts +1 -1
  417. package/dist/data/diagnostics/StackFrameRow.d.ts +1 -1
  418. package/dist/data/git/GitChangeList.d.ts +1 -1
  419. package/dist/data/icon-fallback.d.ts +1 -1
  420. package/dist/data/properties-context.cjs +6 -0
  421. package/dist/data/properties-context.cjs.map +1 -0
  422. package/dist/data/properties-context.d.ts +7 -0
  423. package/dist/data/properties-context.d.ts.map +1 -0
  424. package/dist/data/properties-context.js +6 -0
  425. package/dist/data/properties-context.js.map +1 -0
  426. package/dist/data/query-browser/QueryBrowser.types.d.ts +1 -1
  427. package/dist/data/runtime/RuntimeBar.cjs +7 -3
  428. package/dist/data/runtime/RuntimeBar.cjs.map +1 -1
  429. package/dist/data/runtime/RuntimeBar.d.ts.map +1 -1
  430. package/dist/data/runtime/RuntimeBar.js +7 -3
  431. package/dist/data/runtime/RuntimeBar.js.map +1 -1
  432. package/dist/data/task-copy.cjs +1 -1
  433. package/dist/data/task-copy.cjs.map +1 -1
  434. package/dist/data/task-copy.js +1 -1
  435. package/dist/data/task-copy.js.map +1 -1
  436. package/dist/data/task-resource-summary.cjs +30 -0
  437. package/dist/data/task-resource-summary.cjs.map +1 -0
  438. package/dist/data/task-resource-summary.d.ts +15 -0
  439. package/dist/data/task-resource-summary.d.ts.map +1 -0
  440. package/dist/data/task-resource-summary.js +30 -0
  441. package/dist/data/task-resource-summary.js.map +1 -0
  442. package/dist/data/task-status.cjs +8 -2
  443. package/dist/data/task-status.cjs.map +1 -1
  444. package/dist/data/task-status.d.ts +3 -0
  445. package/dist/data/task-status.d.ts.map +1 -1
  446. package/dist/data/task-status.js +8 -2
  447. package/dist/data/task-status.js.map +1 -1
  448. package/dist/data/task-work-progress.cjs +24 -0
  449. package/dist/data/task-work-progress.cjs.map +1 -0
  450. package/dist/data/task-work-progress.d.ts +21 -0
  451. package/dist/data/task-work-progress.d.ts.map +1 -0
  452. package/dist/data/task-work-progress.js +24 -0
  453. package/dist/data/task-work-progress.js.map +1 -0
  454. package/dist/data/test-runner/TestRunner.d.ts +1 -1
  455. package/dist/data/test-runner/adapter.d.ts +1 -1
  456. package/dist/data/test-runner/context.d.ts +1 -1
  457. package/dist/data/use-data-table-virtual.cjs +73 -0
  458. package/dist/data/use-data-table-virtual.cjs.map +1 -0
  459. package/dist/data/use-data-table-virtual.d.ts +40 -0
  460. package/dist/data/use-data-table-virtual.d.ts.map +1 -0
  461. package/dist/data/use-data-table-virtual.js +73 -0
  462. package/dist/data/use-data-table-virtual.js.map +1 -0
  463. package/dist/data/verification/VerificationResults.d.ts +1 -1
  464. package/dist/data/version-info.cjs +3 -3
  465. package/dist/data/version-info.js +3 -3
  466. package/dist/expressions/lang/attributes.cjs +56 -0
  467. package/dist/expressions/lang/attributes.cjs.map +1 -0
  468. package/dist/expressions/lang/attributes.d.ts +22 -0
  469. package/dist/expressions/lang/attributes.d.ts.map +1 -0
  470. package/dist/expressions/lang/attributes.js +56 -0
  471. package/dist/expressions/lang/attributes.js.map +1 -0
  472. package/dist/expressions/lang/completion.cjs +164 -0
  473. package/dist/expressions/lang/completion.cjs.map +1 -0
  474. package/dist/expressions/lang/completion.d.ts +29 -0
  475. package/dist/expressions/lang/completion.d.ts.map +1 -0
  476. package/dist/expressions/lang/completion.js +164 -0
  477. package/dist/expressions/lang/completion.js.map +1 -0
  478. package/dist/expressions/lang/environment.cjs +115 -0
  479. package/dist/expressions/lang/environment.cjs.map +1 -0
  480. package/dist/expressions/lang/environment.d.ts +54 -0
  481. package/dist/expressions/lang/environment.d.ts.map +1 -0
  482. package/dist/expressions/lang/environment.js +115 -0
  483. package/dist/expressions/lang/environment.js.map +1 -0
  484. package/dist/expressions/lang/generated/conformance.json.d.ts +4962 -0
  485. package/dist/expressions/lang/generated/index.cjs +18 -0
  486. package/dist/expressions/lang/generated/index.cjs.map +1 -0
  487. package/dist/expressions/lang/generated/index.d.ts +9 -0
  488. package/dist/expressions/lang/generated/index.d.ts.map +1 -0
  489. package/dist/expressions/lang/generated/index.js +18 -0
  490. package/dist/expressions/lang/generated/index.js.map +1 -0
  491. package/dist/expressions/lang/generated/languages.json.cjs +18 -0
  492. package/dist/expressions/lang/generated/languages.json.cjs.map +1 -0
  493. package/dist/expressions/lang/generated/languages.json.d.ts +2305 -0
  494. package/dist/expressions/lang/generated/languages.json.js +18 -0
  495. package/dist/expressions/lang/generated/languages.json.js.map +1 -0
  496. package/dist/expressions/lang/generated/spec.json.cjs +12 -0
  497. package/dist/expressions/lang/generated/spec.json.cjs.map +1 -0
  498. package/dist/expressions/lang/generated/spec.json.d.ts +6260 -0
  499. package/dist/expressions/lang/generated/spec.json.js +12 -0
  500. package/dist/expressions/lang/generated/spec.json.js.map +1 -0
  501. package/dist/expressions/lang/hover.cjs +106 -0
  502. package/dist/expressions/lang/hover.cjs.map +1 -0
  503. package/dist/expressions/lang/hover.d.ts +54 -0
  504. package/dist/expressions/lang/hover.d.ts.map +1 -0
  505. package/dist/expressions/lang/hover.js +106 -0
  506. package/dist/expressions/lang/hover.js.map +1 -0
  507. package/dist/expressions/lang/index.cjs +87 -0
  508. package/dist/expressions/lang/index.cjs.map +1 -0
  509. package/dist/expressions/lang/index.d.ts +65 -0
  510. package/dist/expressions/lang/index.d.ts.map +1 -0
  511. package/dist/expressions/lang/index.js +90 -0
  512. package/dist/expressions/lang/index.js.map +1 -0
  513. package/dist/expressions/lang/merge.cjs +52 -0
  514. package/dist/expressions/lang/merge.cjs.map +1 -0
  515. package/dist/expressions/lang/merge.d.ts +12 -0
  516. package/dist/expressions/lang/merge.d.ts.map +1 -0
  517. package/dist/expressions/lang/merge.js +52 -0
  518. package/dist/expressions/lang/merge.js.map +1 -0
  519. package/dist/expressions/lang/prefix.cjs +91 -0
  520. package/dist/expressions/lang/prefix.cjs.map +1 -0
  521. package/dist/expressions/lang/prefix.d.ts +36 -0
  522. package/dist/expressions/lang/prefix.d.ts.map +1 -0
  523. package/dist/expressions/lang/prefix.js +91 -0
  524. package/dist/expressions/lang/prefix.js.map +1 -0
  525. package/dist/expressions/lang/spec.d.ts +13 -0
  526. package/dist/expressions/lang/spec.d.ts.map +1 -0
  527. package/dist/expressions/lang/theme.cjs +97 -0
  528. package/dist/expressions/lang/theme.cjs.map +1 -0
  529. package/dist/expressions/lang/theme.d.ts +6 -0
  530. package/dist/expressions/lang/theme.d.ts.map +1 -0
  531. package/dist/expressions/lang/theme.js +97 -0
  532. package/dist/expressions/lang/theme.js.map +1 -0
  533. package/dist/expressions/lang/types.d.ts +81 -0
  534. package/dist/expressions/lang/types.d.ts.map +1 -0
  535. package/dist/expressions/playground/ExpressionPlayground.cjs +308 -0
  536. package/dist/expressions/playground/ExpressionPlayground.cjs.map +1 -0
  537. package/dist/expressions/playground/ExpressionPlayground.d.ts +42 -0
  538. package/dist/expressions/playground/ExpressionPlayground.d.ts.map +1 -0
  539. package/dist/expressions/playground/ExpressionPlayground.js +291 -0
  540. package/dist/expressions/playground/ExpressionPlayground.js.map +1 -0
  541. package/dist/expressions/playground/RunControls.cjs +51 -0
  542. package/dist/expressions/playground/RunControls.cjs.map +1 -0
  543. package/dist/expressions/playground/RunControls.d.ts +7 -0
  544. package/dist/expressions/playground/RunControls.d.ts.map +1 -0
  545. package/dist/expressions/playground/RunControls.js +51 -0
  546. package/dist/expressions/playground/RunControls.js.map +1 -0
  547. package/dist/expressions/playground/VerticalSplit.cjs +109 -0
  548. package/dist/expressions/playground/VerticalSplit.cjs.map +1 -0
  549. package/dist/expressions/playground/VerticalSplit.d.ts +23 -0
  550. package/dist/expressions/playground/VerticalSplit.d.ts.map +1 -0
  551. package/dist/expressions/playground/VerticalSplit.js +109 -0
  552. package/dist/expressions/playground/VerticalSplit.js.map +1 -0
  553. package/dist/expressions/playground/api.cjs +49 -0
  554. package/dist/expressions/playground/api.cjs.map +1 -0
  555. package/dist/expressions/playground/api.d.ts +53 -0
  556. package/dist/expressions/playground/api.d.ts.map +1 -0
  557. package/dist/expressions/playground/api.js +49 -0
  558. package/dist/expressions/playground/api.js.map +1 -0
  559. package/dist/expressions/playground/languages.cjs +88 -0
  560. package/dist/expressions/playground/languages.cjs.map +1 -0
  561. package/dist/expressions/playground/languages.d.ts +43 -0
  562. package/dist/expressions/playground/languages.d.ts.map +1 -0
  563. package/dist/expressions/playground/languages.js +88 -0
  564. package/dist/expressions/playground/languages.js.map +1 -0
  565. package/dist/expressions/playground/panels/GraphPanel.cjs +72 -0
  566. package/dist/expressions/playground/panels/GraphPanel.cjs.map +1 -0
  567. package/dist/expressions/playground/panels/GraphPanel.d.ts +19 -0
  568. package/dist/expressions/playground/panels/GraphPanel.d.ts.map +1 -0
  569. package/dist/expressions/playground/panels/GraphPanel.js +72 -0
  570. package/dist/expressions/playground/panels/GraphPanel.js.map +1 -0
  571. package/dist/expressions/playground/panels/ResultPanel.cjs +82 -0
  572. package/dist/expressions/playground/panels/ResultPanel.cjs.map +1 -0
  573. package/dist/expressions/playground/panels/ResultPanel.d.ts +11 -0
  574. package/dist/expressions/playground/panels/ResultPanel.d.ts.map +1 -0
  575. package/dist/expressions/playground/panels/ResultPanel.js +82 -0
  576. package/dist/expressions/playground/panels/ResultPanel.js.map +1 -0
  577. package/dist/expressions/playground/panels/SpecPanel.cjs +76 -0
  578. package/dist/expressions/playground/panels/SpecPanel.cjs.map +1 -0
  579. package/dist/expressions/playground/panels/SpecPanel.d.ts +18 -0
  580. package/dist/expressions/playground/panels/SpecPanel.d.ts.map +1 -0
  581. package/dist/expressions/playground/panels/SpecPanel.js +76 -0
  582. package/dist/expressions/playground/panels/SpecPanel.js.map +1 -0
  583. package/dist/expressions/playground/panels/TokensPanel.cjs +89 -0
  584. package/dist/expressions/playground/panels/TokensPanel.cjs.map +1 -0
  585. package/dist/expressions/playground/panels/TokensPanel.d.ts +15 -0
  586. package/dist/expressions/playground/panels/TokensPanel.d.ts.map +1 -0
  587. package/dist/expressions/playground/panels/TokensPanel.js +72 -0
  588. package/dist/expressions/playground/panels/TokensPanel.js.map +1 -0
  589. package/dist/expressions/playground/panels/graphNodes.cjs +35 -0
  590. package/dist/expressions/playground/panels/graphNodes.cjs.map +1 -0
  591. package/dist/expressions/playground/panels/graphNodes.d.ts +19 -0
  592. package/dist/expressions/playground/panels/graphNodes.d.ts.map +1 -0
  593. package/dist/expressions/playground/panels/graphNodes.js +35 -0
  594. package/dist/expressions/playground/panels/graphNodes.js.map +1 -0
  595. package/dist/expressions/playground/runAction.cjs +12 -0
  596. package/dist/expressions/playground/runAction.cjs.map +1 -0
  597. package/dist/expressions/playground/runAction.d.ts +15 -0
  598. package/dist/expressions/playground/runAction.d.ts.map +1 -0
  599. package/dist/expressions/playground/runAction.js +12 -0
  600. package/dist/expressions/playground/runAction.js.map +1 -0
  601. package/dist/expressions/playground/runShortcut.cjs +9 -0
  602. package/dist/expressions/playground/runShortcut.cjs.map +1 -0
  603. package/dist/expressions/playground/runShortcut.d.ts +2 -0
  604. package/dist/expressions/playground/runShortcut.d.ts.map +1 -0
  605. package/dist/expressions/playground/runShortcut.js +9 -0
  606. package/dist/expressions/playground/runShortcut.js.map +1 -0
  607. package/dist/expressions/playground/useEditorTheme.cjs +40 -0
  608. package/dist/expressions/playground/useEditorTheme.cjs.map +1 -0
  609. package/dist/expressions/playground/useEditorTheme.d.ts +16 -0
  610. package/dist/expressions/playground/useEditorTheme.d.ts.map +1 -0
  611. package/dist/expressions/playground/useEditorTheme.js +23 -0
  612. package/dist/expressions/playground/useEditorTheme.js.map +1 -0
  613. package/dist/expressions/playground/useEvaluator.cjs +72 -0
  614. package/dist/expressions/playground/useEvaluator.cjs.map +1 -0
  615. package/dist/expressions/playground/useEvaluator.d.ts +25 -0
  616. package/dist/expressions/playground/useEvaluator.d.ts.map +1 -0
  617. package/dist/expressions/playground/useEvaluator.js +72 -0
  618. package/dist/expressions/playground/useEvaluator.js.map +1 -0
  619. package/dist/expressions/playground/useParsedInput.cjs +22 -0
  620. package/dist/expressions/playground/useParsedInput.cjs.map +1 -0
  621. package/dist/expressions/playground/useParsedInput.d.ts +20 -0
  622. package/dist/expressions/playground/useParsedInput.d.ts.map +1 -0
  623. package/dist/expressions/playground/useParsedInput.js +22 -0
  624. package/dist/expressions/playground/useParsedInput.js.map +1 -0
  625. package/dist/expressions/playground/verticalSplitModel.cjs +11 -0
  626. package/dist/expressions/playground/verticalSplitModel.cjs.map +1 -0
  627. package/dist/expressions/playground/verticalSplitModel.d.ts +3 -0
  628. package/dist/expressions/playground/verticalSplitModel.d.ts.map +1 -0
  629. package/dist/expressions/playground/verticalSplitModel.js +11 -0
  630. package/dist/expressions/playground/verticalSplitModel.js.map +1 -0
  631. package/dist/expressions/playground.cjs +18 -0
  632. package/dist/expressions/playground.cjs.map +1 -0
  633. package/dist/expressions/playground.d.ts +18 -0
  634. package/dist/expressions/playground.d.ts.map +1 -0
  635. package/dist/expressions/playground.js +18 -0
  636. package/dist/expressions/playground.js.map +1 -0
  637. package/dist/expressions.cjs +28 -0
  638. package/dist/expressions.cjs.map +1 -0
  639. package/dist/expressions.d.ts +10 -0
  640. package/dist/expressions.d.ts.map +1 -0
  641. package/dist/expressions.js +28 -0
  642. package/dist/expressions.js.map +1 -0
  643. package/dist/hooks/density-provider.d.ts +1 -1
  644. package/dist/hooks/theme-provider.d.ts +1 -1
  645. package/dist/hooks/use-density.d.ts +1 -1
  646. package/dist/hooks/use-resource-clock.cjs +14 -0
  647. package/dist/hooks/use-resource-clock.cjs.map +1 -0
  648. package/dist/hooks/use-resource-clock.d.ts +2 -0
  649. package/dist/hooks/use-resource-clock.d.ts.map +1 -0
  650. package/dist/hooks/use-resource-clock.js +14 -0
  651. package/dist/hooks/use-resource-clock.js.map +1 -0
  652. package/dist/hooks/use-task-run.cjs +12 -3
  653. package/dist/hooks/use-task-run.cjs.map +1 -1
  654. package/dist/hooks/use-task-run.d.ts.map +1 -1
  655. package/dist/hooks/use-task-run.js +12 -3
  656. package/dist/hooks/use-task-run.js.map +1 -1
  657. package/dist/hooks/use-theme.d.ts +1 -1
  658. package/dist/icons/registry.d.ts +1 -1
  659. package/dist/icons/types.d.ts +1 -1
  660. package/dist/index.cjs +4 -3
  661. package/dist/index.cjs.map +1 -1
  662. package/dist/index.js +2 -1
  663. package/dist/index.js.map +1 -1
  664. package/dist/layout/AppShell.d.ts +1 -1
  665. package/dist/layout/AppShell.nav.drag.d.ts +1 -1
  666. package/dist/layout/AppSidebar.d.ts +1 -1
  667. package/dist/layout/Panel.d.ts +1 -1
  668. package/dist/layout/PanelFrame.d.ts +1 -1
  669. package/dist/layout/Section.d.ts +1 -1
  670. package/dist/layout/SplitPane.d.ts +1 -1
  671. package/dist/layout/Tabs.d.ts +1 -1
  672. package/dist/layout/Workspace.d.ts +1 -1
  673. package/dist/layout/Workspace.model.d.ts +1 -1
  674. package/dist/lib/combobox-values.d.ts +1 -1
  675. package/dist/lib/comment-stage.cjs +31 -0
  676. package/dist/lib/comment-stage.cjs.map +1 -0
  677. package/dist/lib/comment-stage.d.ts +8 -0
  678. package/dist/lib/comment-stage.d.ts.map +1 -0
  679. package/dist/lib/comment-stage.js +31 -0
  680. package/dist/lib/comment-stage.js.map +1 -0
  681. package/dist/monaco/MonacoEditor.cjs +3 -3
  682. package/dist/monaco/MonacoEditor.cjs.map +1 -1
  683. package/dist/monaco/MonacoEditor.js +2 -2
  684. package/dist/monaco/MonacoEditor.js.map +1 -1
  685. package/dist/monaco/types.d.ts +1 -1
  686. package/dist/monaco/use-monaco-worker.d.ts +1 -1
  687. package/dist/overlay/CellActions.d.ts +1 -1
  688. package/dist/overlay/CommandPalette.d.ts +2 -2
  689. package/dist/overlay/CommandPalette.model.d.ts +1 -1
  690. package/dist/overlay/CommandPaletteList.d.ts +1 -1
  691. package/dist/overlay/DropdownMenu.d.ts +1 -1
  692. package/dist/overlay/HoverCard.d.ts +1 -1
  693. package/dist/overlay/Modal.d.ts +2 -2
  694. package/dist/overlay/Toast.d.ts +1 -1
  695. package/dist/overlay/TourCard.d.ts +1 -1
  696. package/dist/overlay/TourProvider.d.ts +1 -1
  697. package/dist/overlay/dropdownMenuContext.d.ts +1 -1
  698. package/dist/overlay/toast-context.d.ts +2 -2
  699. package/dist/overlay/tour-context.d.ts +1 -1
  700. package/dist/overlay/tour-types.d.ts +1 -1
  701. package/dist/profiles/connections/connectionBrowserModel.d.ts +1 -1
  702. package/dist/profiles/connections/connectionQueryWorkspace.d.ts +1 -1
  703. package/dist/profiles/editor/profileBuilder.d.ts +1 -1
  704. package/dist/profiles/elasticsearch/esParamOperandExtension.d.ts +1 -1
  705. package/dist/profiles/fields/profileFieldControls.d.ts +1 -1
  706. package/dist/profiles/fields/profileFieldIcons.d.ts +1 -1
  707. package/dist/profiles/fields/profileFieldState.d.ts +1 -1
  708. package/dist/profiles/query/jsonPathSample.d.ts +1 -1
  709. package/dist/profiles/query/jsonPathSampleRow.d.ts +1 -1
  710. package/dist/profiles/query/prometheusResults.d.ts +2 -2
  711. package/dist/rpc/EndpointList.d.ts +1 -1
  712. package/dist/rpc/EntityExplorerApp.d.ts +1 -1
  713. package/dist/rpc/OperationCatalog.d.ts +1 -1
  714. package/dist/rpc/OperationEntityContextPicker.d.ts +1 -1
  715. package/dist/rpc/OperationEntityPage.d.ts +1 -1
  716. package/dist/rpc/OperationResultView.d.ts +1 -1
  717. package/dist/rpc/RouterProvider.d.ts +1 -1
  718. package/dist/rpc/SchemaActionForm.d.ts +1 -1
  719. package/dist/rpc/formMetadata.d.ts +1 -1
  720. package/dist/rpc/router.d.ts +1 -1
  721. package/dist/rpc/rpc-story.fixtures.d.ts +1 -1
  722. package/dist/styles.css +1 -1
  723. package/dist/utils.cjs +4 -0
  724. package/dist/utils.cjs.map +1 -1
  725. package/dist/utils.d.ts +1 -0
  726. package/dist/utils.d.ts.map +1 -1
  727. package/dist/utils.js +4 -0
  728. package/dist/utils.js.map +1 -1
  729. 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":"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"}
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;
package/dist/index.cjs CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const utils = require("./lib/utils.cjs");
4
+ const commentStage = require("./lib/comment-stage.cjs");
4
5
  const collections = require("./lib/collections.cjs");
5
6
  const palette = require("./lib/palette.cjs");
6
7
  const size = require("./lib/size.cjs");
@@ -625,6 +626,9 @@ const useClickyExport = require("./data/clicky-export/useClickyExport.cjs");
625
626
  const adapters = require("./data/verification/adapters.cjs");
626
627
  const verifyReportTests = require("./data/verification/verifyReportTests.cjs");
627
628
  exports.cn = utils.cn;
629
+ exports.resolveCommentStage = commentStage.resolveCommentStage;
630
+ exports.selectCommentThreadsByStage = commentStage.selectCommentThreadsByStage;
631
+ exports.statusForCommentStage = commentStage.statusForCommentStage;
628
632
  exports.duplicateIndex = collections.duplicateIndex;
629
633
  exports.isPlainObject = collections.isPlainObject;
630
634
  exports.moveItem = collections.moveItem;
@@ -1054,14 +1058,11 @@ exports.hasActiveFilters = commentUtils.hasActiveFilters;
1054
1058
  exports.isUnresolved = commentUtils.isUnresolved;
1055
1059
  exports.matchMentionsInBody = commentUtils.matchMentionsInBody;
1056
1060
  exports.nextChecklistStatus = commentUtils.nextChecklistStatus;
1057
- exports.resolveCommentStage = commentUtils.resolveCommentStage;
1058
1061
  exports.resolveFacetOption = commentUtils.resolveFacetOption;
1059
1062
  exports.resolveStatusConfig = commentUtils.resolveStatusConfig;
1060
1063
  exports.selectAnchorThreads = commentUtils.selectAnchorThreads;
1061
- exports.selectCommentThreadsByStage = commentUtils.selectCommentThreadsByStage;
1062
1064
  exports.selectUnresolvedThreads = commentUtils.selectUnresolvedThreads;
1063
1065
  exports.sortReplies = commentUtils.sortReplies;
1064
- exports.statusForCommentStage = commentUtils.statusForCommentStage;
1065
1066
  exports.toneToBadgeTone = commentUtils.toneToBadgeTone;
1066
1067
  exports.truncatePlain = commentUtils.truncatePlain;
1067
1068
  exports.CommentMarkdown = CommentMarkdown.CommentMarkdown;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { cn } from "./lib/utils.js";
2
+ import { resolveCommentStage, selectCommentThreadsByStage, statusForCommentStage } from "./lib/comment-stage.js";
2
3
  import { duplicateIndex, isPlainObject, moveItem, removeIndex, setIndex } from "./lib/collections.js";
3
4
  import { AVATAR_PALETTE, fnv1a32, paletteClass } from "./lib/palette.js";
4
5
  import { SIZE_TOKENS, resolveSize } from "./lib/size.js";
@@ -212,7 +213,7 @@ import { CopyBadge, ErrorDetails, PrettyStackTrace } from "./data/diagnostics/Er
212
213
  import { compactStackPath, isApplicationStackFrame, normalizeErrorDiagnostics, parseDiagnosticsStackTrace, parseInlineJsonContextValue } from "./data/diagnostics/error-diagnostics.js";
213
214
  import { HarPanel } from "./data/har/HarPanel.js";
214
215
  import { DEFAULT_CHECKLIST_CYCLE, DEFAULT_COMMENT_STATUSES, DOCUMENT_ANCHOR } from "./comments/comment-types.js";
215
- import { applyCommentFilters, authorDisplayName, buildReplyMap, buildThreadListHandlers, commentCountForPrefix, defaultStatusValue, deriveAnchorCounts, deriveAnchorMeta, emptyCommentFilters, getRoots, groupByFacet, hasActiveFilters, isUnresolved, matchMentionsInBody, nextChecklistStatus, resolveCommentStage, resolveFacetOption, resolveStatusConfig, selectAnchorThreads, selectCommentThreadsByStage, selectUnresolvedThreads, sortReplies, statusForCommentStage, toneToBadgeTone, truncatePlain } from "./comments/comment-utils.js";
216
+ import { applyCommentFilters, authorDisplayName, buildReplyMap, buildThreadListHandlers, commentCountForPrefix, defaultStatusValue, deriveAnchorCounts, deriveAnchorMeta, emptyCommentFilters, getRoots, groupByFacet, hasActiveFilters, isUnresolved, matchMentionsInBody, nextChecklistStatus, resolveFacetOption, resolveStatusConfig, selectAnchorThreads, selectUnresolvedThreads, sortReplies, toneToBadgeTone, truncatePlain } from "./comments/comment-utils.js";
216
217
  import { CommentMarkdown } from "./comments/CommentMarkdown.js";
217
218
  import { CommentAuthorAvatar } from "./comments/CommentAuthor.js";
218
219
  import { MentionTextarea } from "./comments/MentionTextarea.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -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[];
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const commentUtils = require("../comments/comment-utils.cjs");
4
+ function resolveCommentStage(config, status) {
5
+ if (status == null) return "active";
6
+ const resolved = commentUtils.resolveStatusConfig(config, status);
7
+ if (!resolved) return void 0;
8
+ if (resolved.stage) return resolved.stage;
9
+ if (resolved.unresolved) return "active";
10
+ if (resolved.value.toLowerCase() === "closed" || resolved.label.toLowerCase() === "closed") {
11
+ return "closed";
12
+ }
13
+ return "resolved";
14
+ }
15
+ function statusForCommentStage(config, stage) {
16
+ return config.statuses.find(
17
+ (status) => resolveCommentStage(config, status.value) === stage
18
+ );
19
+ }
20
+ function selectCommentThreadsByStage(comments, config, stage) {
21
+ const keep = new Set(
22
+ commentUtils.getRoots(comments).filter((root) => resolveCommentStage(config, root.status) === stage).map((root) => String(root.id))
23
+ );
24
+ return comments.filter(
25
+ (comment) => keep.has(String(comment.parentId ?? comment.id))
26
+ );
27
+ }
28
+ exports.resolveCommentStage = resolveCommentStage;
29
+ exports.selectCommentThreadsByStage = selectCommentThreadsByStage;
30
+ exports.statusForCommentStage = statusForCommentStage;
31
+ //# sourceMappingURL=comment-stage.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comment-stage.cjs","sources":["../../src/lib/comment-stage.ts"],"sourcesContent":["import type {\n Comment,\n CommentConfig,\n CommentStatusConfig,\n CommentStatusStage,\n} from \"../comments/comment-types\";\nimport { getRoots, resolveStatusConfig } from \"../comments/comment-utils\";\n\n/** Resolves a stored status to its lifecycle stage. */\nexport function resolveCommentStage(\n config: CommentConfig,\n status: string | undefined,\n): CommentStatusStage | undefined {\n if (status == null) return \"active\";\n const resolved = resolveStatusConfig(config, status);\n if (!resolved) return undefined;\n if (resolved.stage) return resolved.stage;\n if (resolved.unresolved) return \"active\";\n if (\n resolved.value.toLowerCase() === \"closed\" ||\n resolved.label.toLowerCase() === \"closed\"\n ) {\n return \"closed\";\n }\n return \"resolved\";\n}\n\n/** Returns the first configured stored status for a lifecycle stage. */\nexport function statusForCommentStage(\n config: CommentConfig,\n stage: CommentStatusStage,\n): CommentStatusConfig | undefined {\n return config.statuses.find(\n (status) => resolveCommentStage(config, status.value) === stage,\n );\n}\n\n/** Selects roots in one lifecycle stage together with every descendant reply. */\nexport function selectCommentThreadsByStage(\n comments: Comment[],\n config: CommentConfig,\n stage: CommentStatusStage,\n): Comment[] {\n const keep = new Set(\n getRoots(comments)\n .filter((root) => resolveCommentStage(config, root.status) === stage)\n .map((root) => String(root.id)),\n );\n return comments.filter((comment) =>\n keep.has(String(comment.parentId ?? comment.id)),\n );\n}\n"],"names":["resolveStatusConfig","getRoots"],"mappings":";;;AASO,SAAS,oBACd,QACA,QACgC;AAChC,MAAI,UAAU,KAAM,QAAO;AAC3B,QAAM,WAAWA,aAAAA,oBAAoB,QAAQ,MAAM;AACnD,MAAI,CAAC,SAAU,QAAO;AACtB,MAAI,SAAS,MAAO,QAAO,SAAS;AACpC,MAAI,SAAS,WAAY,QAAO;AAChC,MACE,SAAS,MAAM,kBAAkB,YACjC,SAAS,MAAM,YAAA,MAAkB,UACjC;AACA,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAGO,SAAS,sBACd,QACA,OACiC;AACjC,SAAO,OAAO,SAAS;AAAA,IACrB,CAAC,WAAW,oBAAoB,QAAQ,OAAO,KAAK,MAAM;AAAA,EAAA;AAE9D;AAGO,SAAS,4BACd,UACA,QACA,OACW;AACX,QAAM,OAAO,IAAI;AAAA,IACfC,aAAAA,SAAS,QAAQ,EACd,OAAO,CAAC,SAAS,oBAAoB,QAAQ,KAAK,MAAM,MAAM,KAAK,EACnE,IAAI,CAAC,SAAS,OAAO,KAAK,EAAE,CAAC;AAAA,EAAA;AAElC,SAAO,SAAS;AAAA,IAAO,CAAC,YACtB,KAAK,IAAI,OAAO,QAAQ,YAAY,QAAQ,EAAE,CAAC;AAAA,EAAA;AAEnD;;;;"}
@@ -0,0 +1,8 @@
1
+ import { Comment, CommentConfig, CommentStatusConfig, CommentStatusStage } from '../comments/comment-types';
2
+ /** Resolves a stored status to its lifecycle stage. */
3
+ export declare function resolveCommentStage(config: CommentConfig, status: string | undefined): CommentStatusStage | undefined;
4
+ /** Returns the first configured stored status for a lifecycle stage. */
5
+ export declare function statusForCommentStage(config: CommentConfig, stage: CommentStatusStage): CommentStatusConfig | undefined;
6
+ /** Selects roots in one lifecycle stage together with every descendant reply. */
7
+ export declare function selectCommentThreadsByStage(comments: Comment[], config: CommentConfig, stage: CommentStatusStage): Comment[];
8
+ //# sourceMappingURL=comment-stage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comment-stage.d.ts","sourceRoot":"","sources":["../../src/lib/comment-stage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,2BAA2B,CAAC;AAGnC,uDAAuD;AACvD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,kBAAkB,GAAG,SAAS,CAahC;AAED,wEAAwE;AACxE,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,kBAAkB,GACxB,mBAAmB,GAAG,SAAS,CAIjC;AAED,iFAAiF;AACjF,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,kBAAkB,GACxB,OAAO,EAAE,CASX"}
@@ -0,0 +1,31 @@
1
+ import { resolveStatusConfig, getRoots } from "../comments/comment-utils.js";
2
+ function resolveCommentStage(config, status) {
3
+ if (status == null) return "active";
4
+ const resolved = resolveStatusConfig(config, status);
5
+ if (!resolved) return void 0;
6
+ if (resolved.stage) return resolved.stage;
7
+ if (resolved.unresolved) return "active";
8
+ if (resolved.value.toLowerCase() === "closed" || resolved.label.toLowerCase() === "closed") {
9
+ return "closed";
10
+ }
11
+ return "resolved";
12
+ }
13
+ function statusForCommentStage(config, stage) {
14
+ return config.statuses.find(
15
+ (status) => resolveCommentStage(config, status.value) === stage
16
+ );
17
+ }
18
+ function selectCommentThreadsByStage(comments, config, stage) {
19
+ const keep = new Set(
20
+ getRoots(comments).filter((root) => resolveCommentStage(config, root.status) === stage).map((root) => String(root.id))
21
+ );
22
+ return comments.filter(
23
+ (comment) => keep.has(String(comment.parentId ?? comment.id))
24
+ );
25
+ }
26
+ export {
27
+ resolveCommentStage,
28
+ selectCommentThreadsByStage,
29
+ statusForCommentStage
30
+ };
31
+ //# sourceMappingURL=comment-stage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comment-stage.js","sources":["../../src/lib/comment-stage.ts"],"sourcesContent":["import type {\n Comment,\n CommentConfig,\n CommentStatusConfig,\n CommentStatusStage,\n} from \"../comments/comment-types\";\nimport { getRoots, resolveStatusConfig } from \"../comments/comment-utils\";\n\n/** Resolves a stored status to its lifecycle stage. */\nexport function resolveCommentStage(\n config: CommentConfig,\n status: string | undefined,\n): CommentStatusStage | undefined {\n if (status == null) return \"active\";\n const resolved = resolveStatusConfig(config, status);\n if (!resolved) return undefined;\n if (resolved.stage) return resolved.stage;\n if (resolved.unresolved) return \"active\";\n if (\n resolved.value.toLowerCase() === \"closed\" ||\n resolved.label.toLowerCase() === \"closed\"\n ) {\n return \"closed\";\n }\n return \"resolved\";\n}\n\n/** Returns the first configured stored status for a lifecycle stage. */\nexport function statusForCommentStage(\n config: CommentConfig,\n stage: CommentStatusStage,\n): CommentStatusConfig | undefined {\n return config.statuses.find(\n (status) => resolveCommentStage(config, status.value) === stage,\n );\n}\n\n/** Selects roots in one lifecycle stage together with every descendant reply. */\nexport function selectCommentThreadsByStage(\n comments: Comment[],\n config: CommentConfig,\n stage: CommentStatusStage,\n): Comment[] {\n const keep = new Set(\n getRoots(comments)\n .filter((root) => resolveCommentStage(config, root.status) === stage)\n .map((root) => String(root.id)),\n );\n return comments.filter((comment) =>\n keep.has(String(comment.parentId ?? comment.id)),\n );\n}\n"],"names":[],"mappings":";AASO,SAAS,oBACd,QACA,QACgC;AAChC,MAAI,UAAU,KAAM,QAAO;AAC3B,QAAM,WAAW,oBAAoB,QAAQ,MAAM;AACnD,MAAI,CAAC,SAAU,QAAO;AACtB,MAAI,SAAS,MAAO,QAAO,SAAS;AACpC,MAAI,SAAS,WAAY,QAAO;AAChC,MACE,SAAS,MAAM,kBAAkB,YACjC,SAAS,MAAM,YAAA,MAAkB,UACjC;AACA,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAGO,SAAS,sBACd,QACA,OACiC;AACjC,SAAO,OAAO,SAAS;AAAA,IACrB,CAAC,WAAW,oBAAoB,QAAQ,OAAO,KAAK,MAAM;AAAA,EAAA;AAE9D;AAGO,SAAS,4BACd,UACA,QACA,OACW;AACX,QAAM,OAAO,IAAI;AAAA,IACf,SAAS,QAAQ,EACd,OAAO,CAAC,SAAS,oBAAoB,QAAQ,KAAK,MAAM,MAAM,KAAK,EACnE,IAAI,CAAC,SAAS,OAAO,KAAK,EAAE,CAAC;AAAA,EAAA;AAElC,SAAO,SAAS;AAAA,IAAO,CAAC,YACtB,KAAK,IAAI,OAAO,QAAQ,YAAY,QAAQ,EAAE,CAAC;AAAA,EAAA;AAEnD;"}
@@ -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: {