@flanksource/clicky-ui 0.3.40 → 0.3.42

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 (759) hide show
  1. package/README.md +24 -0
  2. package/dist/ai.cjs +14 -0
  3. package/dist/ai.cjs.map +1 -1
  4. package/dist/ai.js +14 -0
  5. package/dist/ai.js.map +1 -1
  6. package/dist/comments/CommentCard.cjs +3 -1
  7. package/dist/comments/CommentCard.cjs.map +1 -1
  8. package/dist/comments/CommentCard.d.ts.map +1 -1
  9. package/dist/comments/CommentCard.js +4 -2
  10. package/dist/comments/CommentCard.js.map +1 -1
  11. package/dist/comments/CommentCardParts.cjs +16 -0
  12. package/dist/comments/CommentCardParts.cjs.map +1 -1
  13. package/dist/comments/CommentCardParts.d.ts +4 -1
  14. package/dist/comments/CommentCardParts.d.ts.map +1 -1
  15. package/dist/comments/CommentCardParts.js +16 -0
  16. package/dist/comments/CommentCardParts.js.map +1 -1
  17. package/dist/comments/comment-types.cjs.map +1 -1
  18. package/dist/comments/comment-types.d.ts +4 -0
  19. package/dist/comments/comment-types.d.ts.map +1 -1
  20. package/dist/comments/comment-types.js.map +1 -1
  21. package/dist/components/AccordionList.cjs +5 -1
  22. package/dist/components/AccordionList.cjs.map +1 -1
  23. package/dist/components/AccordionList.d.ts +3 -1
  24. package/dist/components/AccordionList.d.ts.map +1 -1
  25. package/dist/components/AccordionList.js +5 -1
  26. package/dist/components/AccordionList.js.map +1 -1
  27. package/dist/components/Combobox.cjs +54 -8
  28. package/dist/components/Combobox.cjs.map +1 -1
  29. package/dist/components/Combobox.d.ts.map +1 -1
  30. package/dist/components/Combobox.js +56 -10
  31. package/dist/components/Combobox.js.map +1 -1
  32. package/dist/components/ComboboxMenu.cjs +139 -113
  33. package/dist/components/ComboboxMenu.cjs.map +1 -1
  34. package/dist/components/ComboboxMenu.d.ts +3 -1
  35. package/dist/components/ComboboxMenu.d.ts.map +1 -1
  36. package/dist/components/ComboboxMenu.js +139 -113
  37. package/dist/components/ComboboxMenu.js.map +1 -1
  38. package/dist/components/ComboboxMenuTrigger.cjs +87 -0
  39. package/dist/components/ComboboxMenuTrigger.cjs.map +1 -0
  40. package/dist/components/ComboboxMenuTrigger.d.ts +23 -0
  41. package/dist/components/ComboboxMenuTrigger.d.ts.map +1 -0
  42. package/dist/components/ComboboxMenuTrigger.js +87 -0
  43. package/dist/components/ComboboxMenuTrigger.js.map +1 -0
  44. package/dist/components/JsonSchemaForm.cjs +39 -11
  45. package/dist/components/JsonSchemaForm.cjs.map +1 -1
  46. package/dist/components/JsonSchemaForm.d.ts +1 -1
  47. package/dist/components/JsonSchemaForm.d.ts.map +1 -1
  48. package/dist/components/JsonSchemaForm.js +38 -10
  49. package/dist/components/JsonSchemaForm.js.map +1 -1
  50. package/dist/components/SegmentedControl.cjs +20 -3
  51. package/dist/components/SegmentedControl.cjs.map +1 -1
  52. package/dist/components/SegmentedControl.d.ts +11 -0
  53. package/dist/components/SegmentedControl.d.ts.map +1 -1
  54. package/dist/components/SegmentedControl.js +21 -4
  55. package/dist/components/SegmentedControl.js.map +1 -1
  56. package/dist/components/combobox-types.d.ts +8 -0
  57. package/dist/components/combobox-types.d.ts.map +1 -1
  58. package/dist/components/json-schema-form-accordion-array.cjs +3 -1
  59. package/dist/components/json-schema-form-accordion-array.cjs.map +1 -1
  60. package/dist/components/json-schema-form-accordion-array.d.ts +4 -1
  61. package/dist/components/json-schema-form-accordion-array.d.ts.map +1 -1
  62. package/dist/components/json-schema-form-accordion-array.js +3 -1
  63. package/dist/components/json-schema-form-accordion-array.js.map +1 -1
  64. package/dist/components/json-schema-form-array-view.cjs +63 -0
  65. package/dist/components/json-schema-form-array-view.cjs.map +1 -0
  66. package/dist/components/json-schema-form-array-view.d.ts +21 -0
  67. package/dist/components/json-schema-form-array-view.d.ts.map +1 -0
  68. package/dist/components/json-schema-form-array-view.js +63 -0
  69. package/dist/components/json-schema-form-array-view.js.map +1 -0
  70. package/dist/components/json-schema-form-array.cjs +3 -7
  71. package/dist/components/json-schema-form-array.cjs.map +1 -1
  72. package/dist/components/json-schema-form-array.d.ts.map +1 -1
  73. package/dist/components/json-schema-form-array.js +3 -7
  74. package/dist/components/json-schema-form-array.js.map +1 -1
  75. package/dist/components/json-schema-form-conditionals.cjs +67 -0
  76. package/dist/components/json-schema-form-conditionals.cjs.map +1 -0
  77. package/dist/components/json-schema-form-conditionals.d.ts +9 -0
  78. package/dist/components/json-schema-form-conditionals.d.ts.map +1 -0
  79. package/dist/components/json-schema-form-conditionals.js +67 -0
  80. package/dist/components/json-schema-form-conditionals.js.map +1 -0
  81. package/dist/components/json-schema-form-debug-badge.cjs +108 -0
  82. package/dist/components/json-schema-form-debug-badge.cjs.map +1 -0
  83. package/dist/components/json-schema-form-debug-badge.d.ts +10 -0
  84. package/dist/components/json-schema-form-debug-badge.d.ts.map +1 -0
  85. package/dist/components/json-schema-form-debug-badge.js +108 -0
  86. package/dist/components/json-schema-form-debug-badge.js.map +1 -0
  87. package/dist/components/json-schema-form-debug-glyph-map.cjs +129 -0
  88. package/dist/components/json-schema-form-debug-glyph-map.cjs.map +1 -0
  89. package/dist/components/json-schema-form-debug-glyph-map.d.ts +20 -0
  90. package/dist/components/json-schema-form-debug-glyph-map.d.ts.map +1 -0
  91. package/dist/components/json-schema-form-debug-glyph-map.js +129 -0
  92. package/dist/components/json-schema-form-debug-glyph-map.js.map +1 -0
  93. package/dist/components/json-schema-form-debug-glyph.cjs +13 -0
  94. package/dist/components/json-schema-form-debug-glyph.cjs.map +1 -0
  95. package/dist/components/json-schema-form-debug-glyph.d.ts +6 -0
  96. package/dist/components/json-schema-form-debug-glyph.d.ts.map +1 -0
  97. package/dist/components/json-schema-form-debug-glyph.js +13 -0
  98. package/dist/components/json-schema-form-debug-glyph.js.map +1 -0
  99. package/dist/components/json-schema-form-debug-groups.cjs +56 -0
  100. package/dist/components/json-schema-form-debug-groups.cjs.map +1 -0
  101. package/dist/components/json-schema-form-debug-groups.d.ts +8 -0
  102. package/dist/components/json-schema-form-debug-groups.d.ts.map +1 -0
  103. package/dist/components/json-schema-form-debug-groups.js +56 -0
  104. package/dist/components/json-schema-form-debug-groups.js.map +1 -0
  105. package/dist/components/json-schema-form-debug-keywords.cjs +159 -0
  106. package/dist/components/json-schema-form-debug-keywords.cjs.map +1 -0
  107. package/dist/components/json-schema-form-debug-keywords.d.ts +6 -0
  108. package/dist/components/json-schema-form-debug-keywords.d.ts.map +1 -0
  109. package/dist/components/json-schema-form-debug-keywords.js +159 -0
  110. package/dist/components/json-schema-form-debug-keywords.js.map +1 -0
  111. package/dist/components/json-schema-form-debug-listeners.cjs +102 -0
  112. package/dist/components/json-schema-form-debug-listeners.cjs.map +1 -0
  113. package/dist/components/json-schema-form-debug-listeners.d.ts +6 -0
  114. package/dist/components/json-schema-form-debug-listeners.d.ts.map +1 -0
  115. package/dist/components/json-schema-form-debug-listeners.js +102 -0
  116. package/dist/components/json-schema-form-debug-listeners.js.map +1 -0
  117. package/dist/components/json-schema-form-debug.cjs +31 -0
  118. package/dist/components/json-schema-form-debug.cjs.map +1 -0
  119. package/dist/components/json-schema-form-debug.d.ts +11 -0
  120. package/dist/components/json-schema-form-debug.d.ts.map +1 -0
  121. package/dist/components/json-schema-form-debug.js +31 -0
  122. package/dist/components/json-schema-form-debug.js.map +1 -0
  123. package/dist/components/json-schema-form-defaults.cjs +68 -0
  124. package/dist/components/json-schema-form-defaults.cjs.map +1 -0
  125. package/dist/components/json-schema-form-defaults.d.ts +4 -0
  126. package/dist/components/json-schema-form-defaults.d.ts.map +1 -0
  127. package/dist/components/json-schema-form-defaults.js +68 -0
  128. package/dist/components/json-schema-form-defaults.js.map +1 -0
  129. package/dist/components/json-schema-form-enum-choice.cjs +114 -0
  130. package/dist/components/json-schema-form-enum-choice.cjs.map +1 -0
  131. package/dist/components/json-schema-form-enum-choice.d.ts +14 -0
  132. package/dist/components/json-schema-form-enum-choice.d.ts.map +1 -0
  133. package/dist/components/json-schema-form-enum-choice.js +114 -0
  134. package/dist/components/json-schema-form-enum-choice.js.map +1 -0
  135. package/dist/components/json-schema-form-errors.cjs +49 -31
  136. package/dist/components/json-schema-form-errors.cjs.map +1 -1
  137. package/dist/components/json-schema-form-errors.d.ts +4 -2
  138. package/dist/components/json-schema-form-errors.d.ts.map +1 -1
  139. package/dist/components/json-schema-form-errors.js +51 -33
  140. package/dist/components/json-schema-form-errors.js.map +1 -1
  141. package/dist/components/json-schema-form-fields.cjs +3 -93
  142. package/dist/components/json-schema-form-fields.cjs.map +1 -1
  143. package/dist/components/json-schema-form-fields.d.ts.map +1 -1
  144. package/dist/components/json-schema-form-fields.js +1 -91
  145. package/dist/components/json-schema-form-fields.js.map +1 -1
  146. package/dist/components/json-schema-form-filter.cjs +2 -1
  147. package/dist/components/json-schema-form-filter.cjs.map +1 -1
  148. package/dist/components/json-schema-form-filter.js +2 -1
  149. package/dist/components/json-schema-form-filter.js.map +1 -1
  150. package/dist/components/json-schema-form-item-summary.cjs +6 -2
  151. package/dist/components/json-schema-form-item-summary.cjs.map +1 -1
  152. package/dist/components/json-schema-form-item-summary.d.ts.map +1 -1
  153. package/dist/components/json-schema-form-item-summary.js +6 -2
  154. package/dist/components/json-schema-form-item-summary.js.map +1 -1
  155. package/dist/components/json-schema-form-layout.cjs +28 -19
  156. package/dist/components/json-schema-form-layout.cjs.map +1 -1
  157. package/dist/components/json-schema-form-layout.d.ts +8 -6
  158. package/dist/components/json-schema-form-layout.d.ts.map +1 -1
  159. package/dist/components/json-schema-form-layout.js +29 -20
  160. package/dist/components/json-schema-form-layout.js.map +1 -1
  161. package/dist/components/json-schema-form-listener-paths.cjs +52 -0
  162. package/dist/components/json-schema-form-listener-paths.cjs.map +1 -0
  163. package/dist/components/json-schema-form-listener-paths.d.ts +10 -0
  164. package/dist/components/json-schema-form-listener-paths.d.ts.map +1 -0
  165. package/dist/components/json-schema-form-listener-paths.js +52 -0
  166. package/dist/components/json-schema-form-listener-paths.js.map +1 -0
  167. package/dist/components/json-schema-form-listener-types.d.ts +22 -0
  168. package/dist/components/json-schema-form-listener-types.d.ts.map +1 -0
  169. package/dist/components/json-schema-form-listeners.cjs +256 -0
  170. package/dist/components/json-schema-form-listeners.cjs.map +1 -0
  171. package/dist/components/json-schema-form-listeners.d.ts +13 -0
  172. package/dist/components/json-schema-form-listeners.d.ts.map +1 -0
  173. package/dist/components/json-schema-form-listeners.js +256 -0
  174. package/dist/components/json-schema-form-listeners.js.map +1 -0
  175. package/dist/components/json-schema-form-object-array-view.cjs +62 -0
  176. package/dist/components/json-schema-form-object-array-view.cjs.map +1 -0
  177. package/dist/components/json-schema-form-object-array-view.d.ts +14 -0
  178. package/dist/components/json-schema-form-object-array-view.d.ts.map +1 -0
  179. package/dist/components/json-schema-form-object-array-view.js +62 -0
  180. package/dist/components/json-schema-form-object-array-view.js.map +1 -0
  181. package/dist/components/json-schema-form-object.cjs +3 -0
  182. package/dist/components/json-schema-form-object.cjs.map +1 -1
  183. package/dist/components/json-schema-form-object.d.ts.map +1 -1
  184. package/dist/components/json-schema-form-object.js +3 -0
  185. package/dist/components/json-schema-form-object.js.map +1 -1
  186. package/dist/components/json-schema-form-preferences.cjs +1 -0
  187. package/dist/components/json-schema-form-preferences.cjs.map +1 -1
  188. package/dist/components/json-schema-form-preferences.d.ts +1 -0
  189. package/dist/components/json-schema-form-preferences.d.ts.map +1 -1
  190. package/dist/components/json-schema-form-preferences.js +1 -0
  191. package/dist/components/json-schema-form-preferences.js.map +1 -1
  192. package/dist/components/json-schema-form-render.cjs +36 -12
  193. package/dist/components/json-schema-form-render.cjs.map +1 -1
  194. package/dist/components/json-schema-form-render.d.ts.map +1 -1
  195. package/dist/components/json-schema-form-render.js +38 -14
  196. package/dist/components/json-schema-form-render.js.map +1 -1
  197. package/dist/components/json-schema-form-resolve.cjs +6 -99
  198. package/dist/components/json-schema-form-resolve.cjs.map +1 -1
  199. package/dist/components/json-schema-form-resolve.d.ts +1 -8
  200. package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
  201. package/dist/components/json-schema-form-resolve.js +5 -98
  202. package/dist/components/json-schema-form-resolve.js.map +1 -1
  203. package/dist/components/json-schema-form-runtime-types.d.ts +16 -0
  204. package/dist/components/json-schema-form-runtime-types.d.ts.map +1 -1
  205. package/dist/components/json-schema-form-table-array.cjs +67 -16
  206. package/dist/components/json-schema-form-table-array.cjs.map +1 -1
  207. package/dist/components/json-schema-form-table-array.d.ts +4 -1
  208. package/dist/components/json-schema-form-table-array.d.ts.map +1 -1
  209. package/dist/components/json-schema-form-table-array.js +70 -19
  210. package/dist/components/json-schema-form-table-array.js.map +1 -1
  211. package/dist/components/json-schema-form-tone.cjs +12 -0
  212. package/dist/components/json-schema-form-tone.cjs.map +1 -1
  213. package/dist/components/json-schema-form-tone.js +12 -0
  214. package/dist/components/json-schema-form-tone.js.map +1 -1
  215. package/dist/components/json-schema-form-types.d.ts +17 -0
  216. package/dist/components/json-schema-form-types.d.ts.map +1 -1
  217. package/dist/components/json-schema-form-utils.cjs +7 -1
  218. package/dist/components/json-schema-form-utils.cjs.map +1 -1
  219. package/dist/components/json-schema-form-utils.d.ts +2 -1
  220. package/dist/components/json-schema-form-utils.d.ts.map +1 -1
  221. package/dist/components/json-schema-form-utils.js +7 -1
  222. package/dist/components/json-schema-form-utils.js.map +1 -1
  223. package/dist/components.cjs +3 -2
  224. package/dist/components.cjs.map +1 -1
  225. package/dist/components.d.ts +3 -2
  226. package/dist/components.d.ts.map +1 -1
  227. package/dist/components.js +2 -1
  228. package/dist/components.js.map +1 -1
  229. package/dist/data/DataTable.cjs +9 -3
  230. package/dist/data/DataTable.cjs.map +1 -1
  231. package/dist/data/DataTable.d.ts +6 -0
  232. package/dist/data/DataTable.d.ts.map +1 -1
  233. package/dist/data/DataTable.js +9 -3
  234. package/dist/data/DataTable.js.map +1 -1
  235. package/dist/data/FixtureEditor/FixtureEditor.cjs +43 -24
  236. package/dist/data/FixtureEditor/FixtureEditor.cjs.map +1 -1
  237. package/dist/data/FixtureEditor/FixtureEditor.d.ts.map +1 -1
  238. package/dist/data/FixtureEditor/FixtureEditor.js +43 -24
  239. package/dist/data/FixtureEditor/FixtureEditor.js.map +1 -1
  240. package/dist/data/GraphDiagram.cjs +125 -138
  241. package/dist/data/GraphDiagram.cjs.map +1 -1
  242. package/dist/data/GraphDiagram.d.ts +30 -23
  243. package/dist/data/GraphDiagram.d.ts.map +1 -1
  244. package/dist/data/GraphDiagram.js +128 -141
  245. package/dist/data/GraphDiagram.js.map +1 -1
  246. package/dist/data/GraphDiagramEdges.cjs +208 -0
  247. package/dist/data/GraphDiagramEdges.cjs.map +1 -0
  248. package/dist/data/GraphDiagramEdges.d.ts +40 -0
  249. package/dist/data/GraphDiagramEdges.d.ts.map +1 -0
  250. package/dist/data/GraphDiagramEdges.js +208 -0
  251. package/dist/data/GraphDiagramEdges.js.map +1 -0
  252. package/dist/data/GraphDiagramNodes.cjs +142 -0
  253. package/dist/data/GraphDiagramNodes.cjs.map +1 -0
  254. package/dist/data/GraphDiagramNodes.d.ts +22 -0
  255. package/dist/data/GraphDiagramNodes.d.ts.map +1 -0
  256. package/dist/data/GraphDiagramNodes.js +142 -0
  257. package/dist/data/GraphDiagramNodes.js.map +1 -0
  258. package/dist/data/Tree.cjs +10 -2
  259. package/dist/data/Tree.cjs.map +1 -1
  260. package/dist/data/Tree.d.ts +6 -1
  261. package/dist/data/Tree.d.ts.map +1 -1
  262. package/dist/data/Tree.js +10 -2
  263. package/dist/data/Tree.js.map +1 -1
  264. package/dist/data/ai/PromptRunEditor/RuntimeRows.cjs +8 -3
  265. package/dist/data/ai/PromptRunEditor/RuntimeRows.cjs.map +1 -1
  266. package/dist/data/ai/PromptRunEditor/RuntimeRows.d.ts.map +1 -1
  267. package/dist/data/ai/PromptRunEditor/RuntimeRows.js +8 -3
  268. package/dist/data/ai/PromptRunEditor/RuntimeRows.js.map +1 -1
  269. package/dist/data/ai/PromptRunEditor/index.cjs +37 -43
  270. package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
  271. package/dist/data/ai/PromptRunEditor/index.d.ts +3 -1
  272. package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
  273. package/dist/data/ai/PromptRunEditor/index.js +38 -44
  274. package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
  275. package/dist/data/ai/PromptRunEditor/runtimeActions.cjs +16 -5
  276. package/dist/data/ai/PromptRunEditor/runtimeActions.cjs.map +1 -1
  277. package/dist/data/ai/PromptRunEditor/runtimeActions.d.ts +4 -1
  278. package/dist/data/ai/PromptRunEditor/runtimeActions.d.ts.map +1 -1
  279. package/dist/data/ai/PromptRunEditor/runtimeActions.js +17 -6
  280. package/dist/data/ai/PromptRunEditor/runtimeActions.js.map +1 -1
  281. package/dist/data/ai/SessionInspector.approvals-model.cjs +12 -0
  282. package/dist/data/ai/SessionInspector.approvals-model.cjs.map +1 -1
  283. package/dist/data/ai/SessionInspector.approvals-model.d.ts +11 -2
  284. package/dist/data/ai/SessionInspector.approvals-model.d.ts.map +1 -1
  285. package/dist/data/ai/SessionInspector.approvals-model.js +12 -0
  286. package/dist/data/ai/SessionInspector.approvals-model.js.map +1 -1
  287. package/dist/data/ai/SessionInspector.approvals.cjs +25 -1
  288. package/dist/data/ai/SessionInspector.approvals.cjs.map +1 -1
  289. package/dist/data/ai/SessionInspector.approvals.d.ts.map +1 -1
  290. package/dist/data/ai/SessionInspector.approvals.js +26 -2
  291. package/dist/data/ai/SessionInspector.approvals.js.map +1 -1
  292. package/dist/data/ai/SessionInspector.cjs +143 -167
  293. package/dist/data/ai/SessionInspector.cjs.map +1 -1
  294. package/dist/data/ai/SessionInspector.collection-types.d.ts +5 -0
  295. package/dist/data/ai/SessionInspector.collection-types.d.ts.map +1 -1
  296. package/dist/data/ai/SessionInspector.collection.cjs +18 -5
  297. package/dist/data/ai/SessionInspector.collection.cjs.map +1 -1
  298. package/dist/data/ai/SessionInspector.collection.d.ts +2 -0
  299. package/dist/data/ai/SessionInspector.collection.d.ts.map +1 -1
  300. package/dist/data/ai/SessionInspector.collection.fixtures.d.ts +6 -0
  301. package/dist/data/ai/SessionInspector.collection.fixtures.d.ts.map +1 -0
  302. package/dist/data/ai/SessionInspector.collection.js +18 -5
  303. package/dist/data/ai/SessionInspector.collection.js.map +1 -1
  304. package/dist/data/ai/SessionInspector.d.ts +24 -2
  305. package/dist/data/ai/SessionInspector.d.ts.map +1 -1
  306. package/dist/data/ai/SessionInspector.hierarchy-state.cjs +105 -7
  307. package/dist/data/ai/SessionInspector.hierarchy-state.cjs.map +1 -1
  308. package/dist/data/ai/SessionInspector.hierarchy-state.d.ts +12 -1
  309. package/dist/data/ai/SessionInspector.hierarchy-state.d.ts.map +1 -1
  310. package/dist/data/ai/SessionInspector.hierarchy-state.js +107 -9
  311. package/dist/data/ai/SessionInspector.hierarchy-state.js.map +1 -1
  312. package/dist/data/ai/SessionInspector.hierarchy.cjs +1 -1
  313. package/dist/data/ai/SessionInspector.hierarchy.cjs.map +1 -1
  314. package/dist/data/ai/SessionInspector.hierarchy.js +1 -1
  315. package/dist/data/ai/SessionInspector.hierarchy.js.map +1 -1
  316. package/dist/data/ai/SessionInspector.js +144 -168
  317. package/dist/data/ai/SessionInspector.js.map +1 -1
  318. package/dist/data/ai/SessionInspector.legacy.cjs +116 -0
  319. package/dist/data/ai/SessionInspector.legacy.cjs.map +1 -0
  320. package/dist/data/ai/SessionInspector.legacy.d.ts +19 -0
  321. package/dist/data/ai/SessionInspector.legacy.d.ts.map +1 -0
  322. package/dist/data/ai/SessionInspector.legacy.js +116 -0
  323. package/dist/data/ai/SessionInspector.legacy.js.map +1 -0
  324. package/dist/data/ai/SessionInspector.panels.cjs +3 -0
  325. package/dist/data/ai/SessionInspector.panels.cjs.map +1 -1
  326. package/dist/data/ai/SessionInspector.panels.d.ts.map +1 -1
  327. package/dist/data/ai/SessionInspector.panels.js +3 -0
  328. package/dist/data/ai/SessionInspector.panels.js.map +1 -1
  329. package/dist/data/ai/SessionInspector.plan.cjs +29 -12
  330. package/dist/data/ai/SessionInspector.plan.cjs.map +1 -1
  331. package/dist/data/ai/SessionInspector.plan.d.ts.map +1 -1
  332. package/dist/data/ai/SessionInspector.plan.js +30 -13
  333. package/dist/data/ai/SessionInspector.plan.js.map +1 -1
  334. package/dist/data/ai/SessionInspector.remote-view.cjs +44 -0
  335. package/dist/data/ai/SessionInspector.remote-view.cjs.map +1 -0
  336. package/dist/data/ai/SessionInspector.remote-view.d.ts +11 -0
  337. package/dist/data/ai/SessionInspector.remote-view.d.ts.map +1 -0
  338. package/dist/data/ai/SessionInspector.remote-view.js +44 -0
  339. package/dist/data/ai/SessionInspector.remote-view.js.map +1 -0
  340. package/dist/data/ai/SessionInspector.remote.cjs +275 -0
  341. package/dist/data/ai/SessionInspector.remote.cjs.map +1 -0
  342. package/dist/data/ai/SessionInspector.remote.d.ts +57 -0
  343. package/dist/data/ai/SessionInspector.remote.d.ts.map +1 -0
  344. package/dist/data/ai/SessionInspector.remote.js +275 -0
  345. package/dist/data/ai/SessionInspector.remote.js.map +1 -0
  346. package/dist/data/ai/SessionInspector.summary.cjs +9 -159
  347. package/dist/data/ai/SessionInspector.summary.cjs.map +1 -1
  348. package/dist/data/ai/SessionInspector.summary.d.ts +0 -3
  349. package/dist/data/ai/SessionInspector.summary.d.ts.map +1 -1
  350. package/dist/data/ai/SessionInspector.summary.js +11 -161
  351. package/dist/data/ai/SessionInspector.summary.js.map +1 -1
  352. package/dist/data/ai/SessionInspector.tab-state.cjs +15 -0
  353. package/dist/data/ai/SessionInspector.tab-state.cjs.map +1 -0
  354. package/dist/data/ai/SessionInspector.tab-state.d.ts +3 -0
  355. package/dist/data/ai/SessionInspector.tab-state.d.ts.map +1 -0
  356. package/dist/data/ai/SessionInspector.tab-state.js +15 -0
  357. package/dist/data/ai/SessionInspector.tab-state.js.map +1 -0
  358. package/dist/data/ai/SessionInspector.tabs.model.cjs +31 -18
  359. package/dist/data/ai/SessionInspector.tabs.model.cjs.map +1 -1
  360. package/dist/data/ai/SessionInspector.tabs.model.d.ts +3 -1
  361. package/dist/data/ai/SessionInspector.tabs.model.d.ts.map +1 -1
  362. package/dist/data/ai/SessionInspector.tabs.model.js +32 -19
  363. package/dist/data/ai/SessionInspector.tabs.model.js.map +1 -1
  364. package/dist/data/ai/SessionInspector.transcript.cjs +4 -0
  365. package/dist/data/ai/SessionInspector.transcript.cjs.map +1 -1
  366. package/dist/data/ai/SessionInspector.transcript.d.ts.map +1 -1
  367. package/dist/data/ai/SessionInspector.transcript.js +4 -0
  368. package/dist/data/ai/SessionInspector.transcript.js.map +1 -1
  369. package/dist/data/ai/SessionInspector.verification.cjs +53 -0
  370. package/dist/data/ai/SessionInspector.verification.cjs.map +1 -0
  371. package/dist/data/ai/SessionInspector.verification.d.ts +7 -0
  372. package/dist/data/ai/SessionInspector.verification.d.ts.map +1 -0
  373. package/dist/data/ai/SessionInspector.verification.js +53 -0
  374. package/dist/data/ai/SessionInspector.verification.js.map +1 -0
  375. package/dist/data/ai/SessionViewer.approval-body.cjs +146 -0
  376. package/dist/data/ai/SessionViewer.approval-body.cjs.map +1 -0
  377. package/dist/data/ai/SessionViewer.approval-body.d.ts +11 -0
  378. package/dist/data/ai/SessionViewer.approval-body.d.ts.map +1 -0
  379. package/dist/data/ai/SessionViewer.approval-body.js +146 -0
  380. package/dist/data/ai/SessionViewer.approval-body.js.map +1 -0
  381. package/dist/data/ai/SessionViewer.approval-forms.cjs +150 -0
  382. package/dist/data/ai/SessionViewer.approval-forms.cjs.map +1 -0
  383. package/dist/data/ai/SessionViewer.approval-forms.d.ts +23 -0
  384. package/dist/data/ai/SessionViewer.approval-forms.d.ts.map +1 -0
  385. package/dist/data/ai/SessionViewer.approval-forms.js +150 -0
  386. package/dist/data/ai/SessionViewer.approval-forms.js.map +1 -0
  387. package/dist/data/ai/SessionViewer.cjs +57 -20
  388. package/dist/data/ai/SessionViewer.cjs.map +1 -1
  389. package/dist/data/ai/SessionViewer.d.ts +13 -3
  390. package/dist/data/ai/SessionViewer.d.ts.map +1 -1
  391. package/dist/data/ai/SessionViewer.decision-controls.cjs +313 -0
  392. package/dist/data/ai/SessionViewer.decision-controls.cjs.map +1 -0
  393. package/dist/data/ai/SessionViewer.decision-controls.d.ts +43 -0
  394. package/dist/data/ai/SessionViewer.decision-controls.d.ts.map +1 -0
  395. package/dist/data/ai/SessionViewer.decision-controls.js +313 -0
  396. package/dist/data/ai/SessionViewer.decision-controls.js.map +1 -0
  397. package/dist/data/ai/SessionViewer.decision.cjs +21 -0
  398. package/dist/data/ai/SessionViewer.decision.cjs.map +1 -0
  399. package/dist/data/ai/SessionViewer.decision.d.ts +12 -0
  400. package/dist/data/ai/SessionViewer.decision.d.ts.map +1 -0
  401. package/dist/data/ai/SessionViewer.decision.js +21 -0
  402. package/dist/data/ai/SessionViewer.decision.js.map +1 -0
  403. package/dist/data/ai/SessionViewer.input.cjs +14 -0
  404. package/dist/data/ai/SessionViewer.input.cjs.map +1 -1
  405. package/dist/data/ai/SessionViewer.input.d.ts +5 -0
  406. package/dist/data/ai/SessionViewer.input.d.ts.map +1 -1
  407. package/dist/data/ai/SessionViewer.input.js +14 -0
  408. package/dist/data/ai/SessionViewer.input.js.map +1 -1
  409. package/dist/data/ai/SessionViewer.js +58 -21
  410. package/dist/data/ai/SessionViewer.js.map +1 -1
  411. package/dist/data/ai/SessionViewer.model.cjs +7 -1
  412. package/dist/data/ai/SessionViewer.model.cjs.map +1 -1
  413. package/dist/data/ai/SessionViewer.model.d.ts +25 -3
  414. package/dist/data/ai/SessionViewer.model.d.ts.map +1 -1
  415. package/dist/data/ai/SessionViewer.model.js +7 -1
  416. package/dist/data/ai/SessionViewer.model.js.map +1 -1
  417. package/dist/data/ai/SessionViewer.rows.cjs +6 -3
  418. package/dist/data/ai/SessionViewer.rows.cjs.map +1 -1
  419. package/dist/data/ai/SessionViewer.rows.d.ts +2 -1
  420. package/dist/data/ai/SessionViewer.rows.d.ts.map +1 -1
  421. package/dist/data/ai/SessionViewer.rows.js +6 -3
  422. package/dist/data/ai/SessionViewer.rows.js.map +1 -1
  423. package/dist/data/ai/SessionViewer.tool-row.cjs +29 -237
  424. package/dist/data/ai/SessionViewer.tool-row.cjs.map +1 -1
  425. package/dist/data/ai/SessionViewer.tool-row.d.ts.map +1 -1
  426. package/dist/data/ai/SessionViewer.tool-row.js +27 -235
  427. package/dist/data/ai/SessionViewer.tool-row.js.map +1 -1
  428. package/dist/data/ai/SessionViewer.unified.d.ts +17 -0
  429. package/dist/data/ai/SessionViewer.unified.d.ts.map +1 -1
  430. package/dist/data/ai/SessionViewerMenu.cjs +8 -2
  431. package/dist/data/ai/SessionViewerMenu.cjs.map +1 -1
  432. package/dist/data/ai/SessionViewerMenu.d.ts +4 -1
  433. package/dist/data/ai/SessionViewerMenu.d.ts.map +1 -1
  434. package/dist/data/ai/SessionViewerMenu.js +8 -2
  435. package/dist/data/ai/SessionViewerMenu.js.map +1 -1
  436. package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs +28 -17
  437. package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs.map +1 -1
  438. package/dist/data/ai/SpecRuntimeEditor/CommitSection.d.ts +10 -2
  439. package/dist/data/ai/SpecRuntimeEditor/CommitSection.d.ts.map +1 -1
  440. package/dist/data/ai/SpecRuntimeEditor/CommitSection.js +29 -18
  441. package/dist/data/ai/SpecRuntimeEditor/CommitSection.js.map +1 -1
  442. package/dist/data/ai/SpecRuntimeEditor/index.cjs +9 -1
  443. package/dist/data/ai/SpecRuntimeEditor/index.cjs.map +1 -1
  444. package/dist/data/ai/SpecRuntimeEditor/index.d.ts +9 -2
  445. package/dist/data/ai/SpecRuntimeEditor/index.d.ts.map +1 -1
  446. package/dist/data/ai/SpecRuntimeEditor/index.js +9 -1
  447. package/dist/data/ai/SpecRuntimeEditor/index.js.map +1 -1
  448. package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.cjs +1 -1
  449. package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.js +1 -1
  450. package/dist/data/ai/SpecRuntimeEditor/summaries.cjs.map +1 -1
  451. package/dist/data/ai/SpecRuntimeEditor/summaries.d.ts +8 -2
  452. package/dist/data/ai/SpecRuntimeEditor/summaries.d.ts.map +1 -1
  453. package/dist/data/ai/SpecRuntimeEditor/summaries.js.map +1 -1
  454. package/dist/data/ai/SpecRuntimeEditor/update.cjs +14 -6
  455. package/dist/data/ai/SpecRuntimeEditor/update.cjs.map +1 -1
  456. package/dist/data/ai/SpecRuntimeEditor/update.d.ts +1 -0
  457. package/dist/data/ai/SpecRuntimeEditor/update.d.ts.map +1 -1
  458. package/dist/data/ai/SpecRuntimeEditor/update.js +14 -6
  459. package/dist/data/ai/SpecRuntimeEditor/update.js.map +1 -1
  460. package/dist/data/ai/approval-request.cjs +75 -0
  461. package/dist/data/ai/approval-request.cjs.map +1 -0
  462. package/dist/data/ai/approval-request.d.ts +155 -0
  463. package/dist/data/ai/approval-request.d.ts.map +1 -0
  464. package/dist/data/ai/approval-request.js +75 -0
  465. package/dist/data/ai/approval-request.js.map +1 -0
  466. package/dist/data/ai/index.d.ts +6 -1
  467. package/dist/data/ai/index.d.ts.map +1 -1
  468. package/dist/data/ai/runtime-preset-menu/SavePresetDialog.cjs +125 -0
  469. package/dist/data/ai/runtime-preset-menu/SavePresetDialog.cjs.map +1 -0
  470. package/dist/data/ai/runtime-preset-menu/SavePresetDialog.d.ts +11 -0
  471. package/dist/data/ai/runtime-preset-menu/SavePresetDialog.d.ts.map +1 -0
  472. package/dist/data/ai/runtime-preset-menu/SavePresetDialog.js +125 -0
  473. package/dist/data/ai/runtime-preset-menu/SavePresetDialog.js.map +1 -0
  474. package/dist/data/ai/runtime-preset-menu/index.d.ts +3 -0
  475. package/dist/data/ai/runtime-preset-menu/index.d.ts.map +1 -0
  476. package/dist/data/ai/runtime-preset-menu/model.cjs +73 -0
  477. package/dist/data/ai/runtime-preset-menu/model.cjs.map +1 -0
  478. package/dist/data/ai/runtime-preset-menu/model.d.ts +13 -0
  479. package/dist/data/ai/runtime-preset-menu/model.d.ts.map +1 -0
  480. package/dist/data/ai/runtime-preset-menu/model.js +73 -0
  481. package/dist/data/ai/runtime-preset-menu/model.js.map +1 -0
  482. package/dist/data/ai/runtime-preset-menu/use-runtime-preset-menu.cjs +149 -0
  483. package/dist/data/ai/runtime-preset-menu/use-runtime-preset-menu.cjs.map +1 -0
  484. package/dist/data/ai/runtime-preset-menu/use-runtime-preset-menu.d.ts +15 -0
  485. package/dist/data/ai/runtime-preset-menu/use-runtime-preset-menu.d.ts.map +1 -0
  486. package/dist/data/ai/runtime-preset-menu/use-runtime-preset-menu.js +149 -0
  487. package/dist/data/ai/runtime-preset-menu/use-runtime-preset-menu.js.map +1 -0
  488. package/dist/data/ai/runtime-spec-fields.cjs +166 -0
  489. package/dist/data/ai/runtime-spec-fields.cjs.map +1 -0
  490. package/dist/data/ai/runtime-spec-fields.d.ts +13 -0
  491. package/dist/data/ai/runtime-spec-fields.d.ts.map +1 -0
  492. package/dist/data/ai/runtime-spec-fields.js +166 -0
  493. package/dist/data/ai/runtime-spec-fields.js.map +1 -0
  494. package/dist/data/ai/session-categories.cjs +4 -0
  495. package/dist/data/ai/session-categories.cjs.map +1 -1
  496. package/dist/data/ai/session-categories.d.ts +1 -0
  497. package/dist/data/ai/session-categories.d.ts.map +1 -1
  498. package/dist/data/ai/session-categories.js +4 -0
  499. package/dist/data/ai/session-categories.js.map +1 -1
  500. package/dist/data/ai/use-session-scroll.cjs +49 -21
  501. package/dist/data/ai/use-session-scroll.cjs.map +1 -1
  502. package/dist/data/ai/use-session-scroll.d.ts +2 -0
  503. package/dist/data/ai/use-session-scroll.d.ts.map +1 -1
  504. package/dist/data/ai/use-session-scroll.js +49 -21
  505. package/dist/data/ai/use-session-scroll.js.map +1 -1
  506. package/dist/data/chat/Chat.runtime.cjs +1 -1
  507. package/dist/data/chat/Chat.runtime.cjs.map +1 -1
  508. package/dist/data/chat/Chat.runtime.d.ts.map +1 -1
  509. package/dist/data/chat/Chat.runtime.js +1 -1
  510. package/dist/data/chat/Chat.runtime.js.map +1 -1
  511. package/dist/data/graph-columns-layout.cjs +216 -0
  512. package/dist/data/graph-columns-layout.cjs.map +1 -0
  513. package/dist/data/graph-columns-layout.d.ts +56 -0
  514. package/dist/data/graph-columns-layout.d.ts.map +1 -0
  515. package/dist/data/graph-columns-layout.js +216 -0
  516. package/dist/data/graph-columns-layout.js.map +1 -0
  517. package/dist/data/graph-diagram-model.cjs +73 -0
  518. package/dist/data/graph-diagram-model.cjs.map +1 -0
  519. package/dist/data/graph-diagram-model.d.ts +90 -0
  520. package/dist/data/graph-diagram-model.d.ts.map +1 -0
  521. package/dist/data/graph-diagram-model.js +73 -0
  522. package/dist/data/graph-diagram-model.js.map +1 -0
  523. package/dist/data/graph-edge-routing.cjs +235 -0
  524. package/dist/data/graph-edge-routing.cjs.map +1 -0
  525. package/dist/data/graph-edge-routing.d.ts +73 -0
  526. package/dist/data/graph-edge-routing.d.ts.map +1 -0
  527. package/dist/data/graph-edge-routing.js +235 -0
  528. package/dist/data/graph-edge-routing.js.map +1 -0
  529. package/dist/data/graph-layout.cjs +0 -82
  530. package/dist/data/graph-layout.cjs.map +1 -1
  531. package/dist/data/graph-layout.d.ts +1 -28
  532. package/dist/data/graph-layout.d.ts.map +1 -1
  533. package/dist/data/graph-layout.js +1 -83
  534. package/dist/data/graph-layout.js.map +1 -1
  535. package/dist/data/har/HarPanel.cjs +129 -33
  536. package/dist/data/har/HarPanel.cjs.map +1 -1
  537. package/dist/data/har/HarPanel.d.ts +13 -1
  538. package/dist/data/har/HarPanel.d.ts.map +1 -1
  539. package/dist/data/har/HarPanel.js +130 -34
  540. package/dist/data/har/HarPanel.js.map +1 -1
  541. package/dist/data/har/fixtures.d.ts +12 -0
  542. package/dist/data/har/fixtures.d.ts.map +1 -1
  543. package/dist/data/har/types.d.ts +12 -0
  544. package/dist/data/har/types.d.ts.map +1 -1
  545. package/dist/data/runtime/RuntimeBar.cjs +67 -84
  546. package/dist/data/runtime/RuntimeBar.cjs.map +1 -1
  547. package/dist/data/runtime/RuntimeBar.d.ts +4 -5
  548. package/dist/data/runtime/RuntimeBar.d.ts.map +1 -1
  549. package/dist/data/runtime/RuntimeBar.fields.cjs +170 -0
  550. package/dist/data/runtime/RuntimeBar.fields.cjs.map +1 -0
  551. package/dist/data/runtime/RuntimeBar.fields.d.ts +16 -0
  552. package/dist/data/runtime/RuntimeBar.fields.d.ts.map +1 -0
  553. package/dist/data/runtime/RuntimeBar.fields.js +170 -0
  554. package/dist/data/runtime/RuntimeBar.fields.js.map +1 -0
  555. package/dist/data/runtime/RuntimeBar.js +70 -87
  556. package/dist/data/runtime/RuntimeBar.js.map +1 -1
  557. package/dist/data/runtime/RuntimeBar.selection.cjs +56 -0
  558. package/dist/data/runtime/RuntimeBar.selection.cjs.map +1 -0
  559. package/dist/data/runtime/RuntimeBar.selection.d.ts +20 -0
  560. package/dist/data/runtime/RuntimeBar.selection.d.ts.map +1 -0
  561. package/dist/data/runtime/RuntimeBar.selection.js +56 -0
  562. package/dist/data/runtime/RuntimeBar.selection.js.map +1 -0
  563. package/dist/data/runtime/RuntimeBarActions.cjs +10 -6
  564. package/dist/data/runtime/RuntimeBarActions.cjs.map +1 -1
  565. package/dist/data/runtime/RuntimeBarActions.d.ts +8 -1
  566. package/dist/data/runtime/RuntimeBarActions.d.ts.map +1 -1
  567. package/dist/data/runtime/RuntimeBarActions.js +10 -6
  568. package/dist/data/runtime/RuntimeBarActions.js.map +1 -1
  569. package/dist/data/runtime/RuntimeBarIdentity.cjs +166 -0
  570. package/dist/data/runtime/RuntimeBarIdentity.cjs.map +1 -0
  571. package/dist/data/runtime/RuntimeBarIdentity.d.ts +25 -0
  572. package/dist/data/runtime/RuntimeBarIdentity.d.ts.map +1 -0
  573. package/dist/data/runtime/RuntimeBarIdentity.js +166 -0
  574. package/dist/data/runtime/RuntimeBarIdentity.js.map +1 -0
  575. package/dist/data/runtime/RuntimeBarLayout.cjs +95 -0
  576. package/dist/data/runtime/RuntimeBarLayout.cjs.map +1 -0
  577. package/dist/data/runtime/RuntimeBarLayout.d.ts +9 -0
  578. package/dist/data/runtime/RuntimeBarLayout.d.ts.map +1 -0
  579. package/dist/data/runtime/RuntimeBarLayout.js +95 -0
  580. package/dist/data/runtime/RuntimeBarLayout.js.map +1 -0
  581. package/dist/data/runtime/RuntimeBarSegment.cjs +25 -14
  582. package/dist/data/runtime/RuntimeBarSegment.cjs.map +1 -1
  583. package/dist/data/runtime/RuntimeBarSegment.d.ts +4 -0
  584. package/dist/data/runtime/RuntimeBarSegment.d.ts.map +1 -1
  585. package/dist/data/runtime/RuntimeBarSegment.js +25 -14
  586. package/dist/data/runtime/RuntimeBarSegment.js.map +1 -1
  587. package/dist/data/runtime/RuntimeLimitInput.cjs +41 -0
  588. package/dist/data/runtime/RuntimeLimitInput.cjs.map +1 -0
  589. package/dist/data/runtime/RuntimeLimitInput.d.ts +9 -0
  590. package/dist/data/runtime/RuntimeLimitInput.d.ts.map +1 -0
  591. package/dist/data/runtime/RuntimeLimitInput.js +41 -0
  592. package/dist/data/runtime/RuntimeLimitInput.js.map +1 -0
  593. package/dist/data/runtime/use-runtime-bar-overflow.cjs +70 -0
  594. package/dist/data/runtime/use-runtime-bar-overflow.cjs.map +1 -0
  595. package/dist/data/runtime/use-runtime-bar-overflow.d.ts +13 -0
  596. package/dist/data/runtime/use-runtime-bar-overflow.d.ts.map +1 -0
  597. package/dist/data/runtime/use-runtime-bar-overflow.js +70 -0
  598. package/dist/data/runtime/use-runtime-bar-overflow.js.map +1 -0
  599. package/dist/data/use-edge-focus.cjs +20 -0
  600. package/dist/data/use-edge-focus.cjs.map +1 -0
  601. package/dist/data/use-edge-focus.d.ts +23 -0
  602. package/dist/data/use-edge-focus.d.ts.map +1 -0
  603. package/dist/data/use-edge-focus.js +20 -0
  604. package/dist/data/use-edge-focus.js.map +1 -0
  605. package/dist/data/use-pan-zoom.cjs +159 -0
  606. package/dist/data/use-pan-zoom.cjs.map +1 -0
  607. package/dist/data/use-pan-zoom.d.ts +79 -0
  608. package/dist/data/use-pan-zoom.d.ts.map +1 -0
  609. package/dist/data/use-pan-zoom.js +159 -0
  610. package/dist/data/use-pan-zoom.js.map +1 -0
  611. package/dist/data/version-info.cjs +3 -3
  612. package/dist/data/version-info.js +3 -3
  613. package/dist/data.cjs +5 -1
  614. package/dist/data.cjs.map +1 -1
  615. package/dist/data.d.ts +4 -3
  616. package/dist/data.d.ts.map +1 -1
  617. package/dist/data.js +6 -2
  618. package/dist/data.js.map +1 -1
  619. package/dist/devtools/useDebugStream.cjs +5 -1
  620. package/dist/devtools/useDebugStream.cjs.map +1 -1
  621. package/dist/devtools/useDebugStream.d.ts.map +1 -1
  622. package/dist/devtools/useDebugStream.js +6 -2
  623. package/dist/devtools/useDebugStream.js.map +1 -1
  624. package/dist/hooks/event-source-provider.cjs +9 -0
  625. package/dist/hooks/event-source-provider.cjs.map +1 -0
  626. package/dist/hooks/event-source-provider.d.ts +15 -0
  627. package/dist/hooks/event-source-provider.d.ts.map +1 -0
  628. package/dist/hooks/event-source-provider.js +9 -0
  629. package/dist/hooks/event-source-provider.js.map +1 -0
  630. package/dist/hooks/event-source.cjs +11 -0
  631. package/dist/hooks/event-source.cjs.map +1 -0
  632. package/dist/hooks/event-source.d.ts +22 -0
  633. package/dist/hooks/event-source.d.ts.map +1 -0
  634. package/dist/hooks/event-source.js +11 -0
  635. package/dist/hooks/event-source.js.map +1 -0
  636. package/dist/hooks/use-log-tail.cjs +5 -1
  637. package/dist/hooks/use-log-tail.cjs.map +1 -1
  638. package/dist/hooks/use-log-tail.d.ts.map +1 -1
  639. package/dist/hooks/use-log-tail.js +5 -1
  640. package/dist/hooks/use-log-tail.js.map +1 -1
  641. package/dist/hooks/use-prompts.cjs +5 -1
  642. package/dist/hooks/use-prompts.cjs.map +1 -1
  643. package/dist/hooks/use-prompts.d.ts.map +1 -1
  644. package/dist/hooks/use-prompts.js +6 -2
  645. package/dist/hooks/use-prompts.js.map +1 -1
  646. package/dist/hooks/use-task-run.cjs +9 -2
  647. package/dist/hooks/use-task-run.cjs.map +1 -1
  648. package/dist/hooks/use-task-run.d.ts.map +1 -1
  649. package/dist/hooks/use-task-run.js +10 -3
  650. package/dist/hooks/use-task-run.js.map +1 -1
  651. package/dist/hooks.cjs +4 -0
  652. package/dist/hooks.cjs.map +1 -1
  653. package/dist/hooks.d.ts +2 -0
  654. package/dist/hooks.d.ts.map +1 -1
  655. package/dist/hooks.js +4 -0
  656. package/dist/hooks.js.map +1 -1
  657. package/dist/icons/programmingCatalog.cjs +34 -34
  658. package/dist/icons/programmingCatalog.cjs.map +1 -1
  659. package/dist/icons/programmingCatalog.js +34 -34
  660. package/dist/icons/programmingCatalog.js.map +1 -1
  661. package/dist/index.cjs +14 -3
  662. package/dist/index.cjs.map +1 -1
  663. package/dist/index.js +14 -3
  664. package/dist/index.js.map +1 -1
  665. package/dist/monaco/MonacoEditor.cjs +4 -1
  666. package/dist/monaco/MonacoEditor.cjs.map +1 -1
  667. package/dist/monaco/MonacoEditor.d.ts +1 -1
  668. package/dist/monaco/MonacoEditor.d.ts.map +1 -1
  669. package/dist/monaco/MonacoEditor.js +4 -1
  670. package/dist/monaco/MonacoEditor.js.map +1 -1
  671. package/dist/monaco/types.d.ts +2 -1
  672. package/dist/monaco/types.d.ts.map +1 -1
  673. package/dist/overlay/CommandPalette.cjs +14 -4
  674. package/dist/overlay/CommandPalette.cjs.map +1 -1
  675. package/dist/overlay/CommandPalette.d.ts +5 -1
  676. package/dist/overlay/CommandPalette.d.ts.map +1 -1
  677. package/dist/overlay/CommandPalette.js +14 -4
  678. package/dist/overlay/CommandPalette.js.map +1 -1
  679. package/dist/overlay/CommandPaletteList.cjs +5 -0
  680. package/dist/overlay/CommandPaletteList.cjs.map +1 -1
  681. package/dist/overlay/CommandPaletteList.d.ts +4 -2
  682. package/dist/overlay/CommandPaletteList.d.ts.map +1 -1
  683. package/dist/overlay/CommandPaletteList.js +5 -0
  684. package/dist/overlay/CommandPaletteList.js.map +1 -1
  685. package/dist/overlay/DropdownMenu.cjs +2 -0
  686. package/dist/overlay/DropdownMenu.cjs.map +1 -1
  687. package/dist/overlay/DropdownMenu.d.ts +4 -0
  688. package/dist/overlay/DropdownMenu.d.ts.map +1 -1
  689. package/dist/overlay/DropdownMenu.js +2 -0
  690. package/dist/overlay/DropdownMenu.js.map +1 -1
  691. package/dist/overlay/DropdownMenuSubmenu.cjs +31 -15
  692. package/dist/overlay/DropdownMenuSubmenu.cjs.map +1 -1
  693. package/dist/overlay/DropdownMenuSubmenu.d.ts.map +1 -1
  694. package/dist/overlay/DropdownMenuSubmenu.js +31 -15
  695. package/dist/overlay/DropdownMenuSubmenu.js.map +1 -1
  696. package/dist/rpc/OperationCatalog.cjs +32 -27
  697. package/dist/rpc/OperationCatalog.cjs.map +1 -1
  698. package/dist/rpc/OperationCatalog.d.ts +11 -1
  699. package/dist/rpc/OperationCatalog.d.ts.map +1 -1
  700. package/dist/rpc/OperationCatalog.js +32 -27
  701. package/dist/rpc/OperationCatalog.js.map +1 -1
  702. package/dist/rpc/OperationEntityContextPicker.cjs +62 -256
  703. package/dist/rpc/OperationEntityContextPicker.cjs.map +1 -1
  704. package/dist/rpc/OperationEntityContextPicker.d.ts.map +1 -1
  705. package/dist/rpc/OperationEntityContextPicker.js +64 -258
  706. package/dist/rpc/OperationEntityContextPicker.js.map +1 -1
  707. package/dist/rpc/OperationEntityPicker.cjs +185 -0
  708. package/dist/rpc/OperationEntityPicker.cjs.map +1 -0
  709. package/dist/rpc/OperationEntityPicker.d.ts +51 -0
  710. package/dist/rpc/OperationEntityPicker.d.ts.map +1 -0
  711. package/dist/rpc/OperationEntityPicker.js +185 -0
  712. package/dist/rpc/OperationEntityPicker.js.map +1 -0
  713. package/dist/rpc/OperationEntityPicker.model.cjs +39 -0
  714. package/dist/rpc/OperationEntityPicker.model.cjs.map +1 -0
  715. package/dist/rpc/OperationEntityPicker.model.d.ts +27 -0
  716. package/dist/rpc/OperationEntityPicker.model.d.ts.map +1 -0
  717. package/dist/rpc/OperationEntityPicker.model.js +39 -0
  718. package/dist/rpc/OperationEntityPicker.model.js.map +1 -0
  719. package/dist/rpc/operationCatalogRowSelection.cjs +85 -0
  720. package/dist/rpc/operationCatalogRowSelection.cjs.map +1 -0
  721. package/dist/rpc/operationCatalogRowSelection.d.ts +57 -0
  722. package/dist/rpc/operationCatalogRowSelection.d.ts.map +1 -0
  723. package/dist/rpc/operationCatalogRowSelection.js +85 -0
  724. package/dist/rpc/operationCatalogRowSelection.js.map +1 -0
  725. package/dist/rpc/operationEntityPicker.fixtures.d.ts +13 -0
  726. package/dist/rpc/operationEntityPicker.fixtures.d.ts.map +1 -0
  727. package/dist/rpc/useOperationPages.cjs +6 -1
  728. package/dist/rpc/useOperationPages.cjs.map +1 -1
  729. package/dist/rpc/useOperationPages.d.ts +3 -1
  730. package/dist/rpc/useOperationPages.d.ts.map +1 -1
  731. package/dist/rpc/useOperationPages.js +6 -1
  732. package/dist/rpc/useOperationPages.js.map +1 -1
  733. package/dist/rpc.cjs +2 -0
  734. package/dist/rpc.cjs.map +1 -1
  735. package/dist/rpc.d.ts +2 -0
  736. package/dist/rpc.d.ts.map +1 -1
  737. package/dist/rpc.js +2 -0
  738. package/dist/rpc.js.map +1 -1
  739. package/dist/styles.css +1 -1
  740. package/package.json +4 -1
  741. package/schemas/json-schema-form.schema.json +571 -0
  742. package/dist/data/runtime/RuntimeBarCombo.cjs +0 -423
  743. package/dist/data/runtime/RuntimeBarCombo.cjs.map +0 -1
  744. package/dist/data/runtime/RuntimeBarCombo.d.ts +0 -33
  745. package/dist/data/runtime/RuntimeBarCombo.d.ts.map +0 -1
  746. package/dist/data/runtime/RuntimeBarCombo.js +0 -423
  747. package/dist/data/runtime/RuntimeBarCombo.js.map +0 -1
  748. package/dist/data/runtime/RuntimeBarLimits.cjs +0 -262
  749. package/dist/data/runtime/RuntimeBarLimits.cjs.map +0 -1
  750. package/dist/data/runtime/RuntimeBarLimits.d.ts +0 -17
  751. package/dist/data/runtime/RuntimeBarLimits.d.ts.map +0 -1
  752. package/dist/data/runtime/RuntimeBarLimits.js +0 -262
  753. package/dist/data/runtime/RuntimeBarLimits.js.map +0 -1
  754. package/dist/data/runtime/RuntimeBarSegments.cjs +0 -346
  755. package/dist/data/runtime/RuntimeBarSegments.cjs.map +0 -1
  756. package/dist/data/runtime/RuntimeBarSegments.d.ts +0 -37
  757. package/dist/data/runtime/RuntimeBarSegments.d.ts.map +0 -1
  758. package/dist/data/runtime/RuntimeBarSegments.js +0 -346
  759. package/dist/data/runtime/RuntimeBarSegments.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"use-task-run.d.ts","sourceRoot":"","sources":["../../src/hooks/use-task-run.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAOxD,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,+EAA+E;IAC/E,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACjC;AAaD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB;IAC7D,8EAA8E;IAC9E,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3B,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAKD,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,gBAAgB,CAyI5E;AAED,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB;IAC9D,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CAC7C;AAED,8EAA8E;AAC9E,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;AAEhE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;CAC7B;AAOD,wBAAgB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,iBAAiB,CA2E/E"}
1
+ {"version":3,"file":"use-task-run.d.ts","sourceRoot":"","sources":["../../src/hooks/use-task-run.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAQxD,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,+EAA+E;IAC/E,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACjC;AAaD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB;IAC7D,8EAA8E;IAC9E,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3B,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAKD,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,gBAAgB,CAgJ5E;AAED,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB;IAC9D,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CAC7C;AAED,8EAA8E;AAC9E,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;AAEhE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;CAC7B;AAOD,wBAAgB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,iBAAiB,CA+E/E"}
@@ -1,7 +1,8 @@
1
- import { useState, useEffect, useMemo } from "react";
1
+ import { useState, useRef, useEffect, useMemo } from "react";
2
2
  import { allGroupsTerminal } from "../data/TaskSnapshot.js";
3
3
  import { withTaskStreams, applyTaskOutputDelta, emptyTaskStreams } from "../data/task-streams.js";
4
4
  import { taskQueryKeys } from "../data/task-query-keys.js";
5
+ import { useEventSourceFactory } from "./event-source.js";
5
6
  const DEFAULT_BASE = "/api/v1";
6
7
  const DEFAULT_POLL_MS = 2e3;
7
8
  function streamUrl(base, query) {
@@ -27,6 +28,9 @@ function useTaskRun(options = {}) {
27
28
  const [streamsById, setStreamsById] = useState({});
28
29
  const [status, setStatus] = useState("idle");
29
30
  const [isComplete, setIsComplete] = useState(false);
31
+ const eventSourceFactory = useEventSourceFactory();
32
+ const eventSourceFactoryRef = useRef(eventSourceFactory);
33
+ eventSourceFactoryRef.current = eventSourceFactory;
30
34
  useEffect(() => {
31
35
  const runIds = runIdsKey ? runIdsKey.split(",") : [];
32
36
  setStateKey(subscriptionKey);
@@ -90,7 +94,7 @@ function useTaskRun(options = {}) {
90
94
  if (timer) clearTimeout(timer);
91
95
  };
92
96
  }
93
- const es = new EventSource(streamUrl(basePath, query));
97
+ const es = eventSourceFactoryRef.current(streamUrl(basePath, query));
94
98
  setStatus("connecting");
95
99
  es.onopen = () => setStatus("connected");
96
100
  es.addEventListener("task", (e) => {
@@ -135,6 +139,9 @@ function useTaskRuns(options = {}) {
135
139
  } = options;
136
140
  const [received, setReceived] = useState({ key: null, runs: [] });
137
141
  const [status, setStatus] = useState("idle");
142
+ const eventSourceFactory = useEventSourceFactory();
143
+ const eventSourceFactoryRef = useRef(eventSourceFactory);
144
+ eventSourceFactoryRef.current = eventSourceFactory;
138
145
  useEffect(() => {
139
146
  if (!enabled) return;
140
147
  const params = new URLSearchParams();
@@ -170,7 +177,7 @@ function useTaskRuns(options = {}) {
170
177
  if (timer) clearTimeout(timer);
171
178
  };
172
179
  }
173
- const es = new EventSource(`${basePath}/tasks/runs/stream${query ? `?${query}` : ""}`);
180
+ const es = eventSourceFactoryRef.current(`${basePath}/tasks/runs/stream${query ? `?${query}` : ""}`);
174
181
  setStatus("connecting");
175
182
  es.onopen = () => setStatus("connected");
176
183
  es.addEventListener("runs", (e) => {
@@ -1 +1 @@
1
- {"version":3,"file":"use-task-run.js","sources":["../../src/hooks/use-task-run.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport {\n allGroupsTerminal,\n type TaskRunMeta,\n type TaskSnapshot,\n} from \"../data/TaskSnapshot\";\nimport {\n applyTaskOutputDelta,\n emptyTaskStreams,\n type TaskOutputDelta,\n type TaskStreams,\n withTaskStreams,\n} from \"../data/task-streams\";\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 // State is reset in an effect, so the first render after the subscription\n // changes still holds the previous run's snapshots and completion; stateKey\n // hides them until the reset lands.\n const subscriptionKey = JSON.stringify([runIdsKey, kind ?? \"\", basePath, enabled]);\n const [stateKey, setStateKey] = useState(subscriptionKey);\n\n const [byId, setById] = useState<Record<string, TaskSnapshot>>({});\n // Streams are held beside the snapshots, never inside them: a task frame\n // replaces its snapshot wholesale and would take the accumulated output with\n // it. See ../data/task-streams.\n const [streamsById, setStreamsById] = useState<Record<string, TaskStreams>>({});\n const [status, setStatus] = useState(\"idle\");\n const [isComplete, setIsComplete] = useState(false);\n\n useEffect(() => {\n const runIds = runIdsKey ? runIdsKey.split(\",\") : [];\n setStateKey(subscriptionKey);\n if (!enabled || (runIds.length === 0 && !kind)) {\n setById({});\n setStreamsById({});\n setStatus(\"idle\");\n setIsComplete(false);\n return;\n }\n setById({});\n setStreamsById({});\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 // Deltas are applied whether or not the task frame has landed yet: the\n // stream is keyed by task id on its own, so output that arrives first is\n // held rather than dropped.\n const mergeOutput = (delta: TaskOutputDelta) => {\n setStreamsById((prev) => ({\n ...prev,\n [delta.id]: applyTaskOutputDelta(prev[delta.id] ?? emptyTaskStreams, delta),\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 TaskOutputDelta);\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 }, [subscriptionKey, runIdsKey, kind, basePath, enabled, pollMs, forcePoll]);\n\n const current = stateKey === subscriptionKey;\n // The streams are merged back in only here, at the boundary. The polling\n // fallback never populates them — its JSON snapshots already carry the full\n // output — so this is a no-op on that transport.\n const snapshots = useMemo(\n () => current\n ? Object.values(byId).map((snapshot) => withTaskStreams(snapshot, streamsById[snapshot.id]))\n : [],\n [current, byId, streamsById],\n );\n\n return { snapshots, status: current ? status : \"idle\", isComplete: current && 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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"}
1
+ {"version":3,"file":"use-task-run.js","sources":["../../src/hooks/use-task-run.ts"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from \"react\";\nimport {\n allGroupsTerminal,\n type TaskRunMeta,\n type TaskSnapshot,\n} from \"../data/TaskSnapshot\";\nimport {\n applyTaskOutputDelta,\n emptyTaskStreams,\n type TaskOutputDelta,\n type TaskStreams,\n withTaskStreams,\n} from \"../data/task-streams\";\nimport { taskQueryKeys } from \"../data/task-query-keys\";\nimport { useEventSourceFactory } from \"./event-source\";\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 // State is reset in an effect, so the first render after the subscription\n // changes still holds the previous run's snapshots and completion; stateKey\n // hides them until the reset lands.\n const subscriptionKey = JSON.stringify([runIdsKey, kind ?? \"\", basePath, enabled]);\n const [stateKey, setStateKey] = useState(subscriptionKey);\n\n const [byId, setById] = useState<Record<string, TaskSnapshot>>({});\n // Streams are held beside the snapshots, never inside them: a task frame\n // replaces its snapshot wholesale and would take the accumulated output with\n // it. See ../data/task-streams.\n const [streamsById, setStreamsById] = useState<Record<string, TaskStreams>>({});\n const [status, setStatus] = useState(\"idle\");\n const [isComplete, setIsComplete] = useState(false);\n\n // Read through a ref so a host's inline `value={(url) => ...}` factory prop\n // does not restart the subscription every render — only the effect's own\n // deps below do that.\n const eventSourceFactory = useEventSourceFactory();\n const eventSourceFactoryRef = useRef(eventSourceFactory);\n eventSourceFactoryRef.current = eventSourceFactory;\n\n useEffect(() => {\n const runIds = runIdsKey ? runIdsKey.split(\",\") : [];\n setStateKey(subscriptionKey);\n if (!enabled || (runIds.length === 0 && !kind)) {\n setById({});\n setStreamsById({});\n setStatus(\"idle\");\n setIsComplete(false);\n return;\n }\n setById({});\n setStreamsById({});\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 // Deltas are applied whether or not the task frame has landed yet: the\n // stream is keyed by task id on its own, so output that arrives first is\n // held rather than dropped.\n const mergeOutput = (delta: TaskOutputDelta) => {\n setStreamsById((prev) => ({\n ...prev,\n [delta.id]: applyTaskOutputDelta(prev[delta.id] ?? emptyTaskStreams, delta),\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 = eventSourceFactoryRef.current(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 TaskOutputDelta);\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 }, [subscriptionKey, runIdsKey, kind, basePath, enabled, pollMs, forcePoll]);\n\n const current = stateKey === subscriptionKey;\n // The streams are merged back in only here, at the boundary. The polling\n // fallback never populates them — its JSON snapshots already carry the full\n // output — so this is a no-op on that transport.\n const snapshots = useMemo(\n () => current\n ? Object.values(byId).map((snapshot) => withTaskStreams(snapshot, streamsById[snapshot.id]))\n : [],\n [current, byId, streamsById],\n );\n\n return { snapshots, status: current ? status : \"idle\", isComplete: current && 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 const eventSourceFactory = useEventSourceFactory();\n const eventSourceFactoryRef = useRef(eventSourceFactory);\n eventSourceFactoryRef.current = eventSourceFactory;\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 = eventSourceFactoryRef.current(`${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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"}
package/dist/hooks.cjs CHANGED
@@ -8,6 +8,8 @@ const useDensity = require("./hooks/use-density.cjs");
8
8
  const densityProvider = require("./hooks/density-provider.cjs");
9
9
  const useSort = require("./hooks/use-sort.cjs");
10
10
  const useHistoryRoute = require("./hooks/use-history-route.cjs");
11
+ const eventSource = require("./hooks/event-source.cjs");
12
+ const eventSourceProvider = require("./hooks/event-source-provider.cjs");
11
13
  const useTaskRun = require("./hooks/use-task-run.cjs");
12
14
  const usePrompts = require("./hooks/use-prompts.cjs");
13
15
  const useHotkey = require("./hooks/use-hotkey.cjs");
@@ -27,6 +29,8 @@ exports.DensityProvider = densityProvider.DensityProvider;
27
29
  exports.DensityValueProvider = densityProvider.DensityValueProvider;
28
30
  exports.useSort = useSort.useSort;
29
31
  exports.useHistoryRoute = useHistoryRoute.useHistoryRoute;
32
+ exports.useEventSourceFactory = eventSource.useEventSourceFactory;
33
+ exports.EventSourceProvider = eventSourceProvider.EventSourceProvider;
30
34
  exports.useTaskRun = useTaskRun.useTaskRun;
31
35
  exports.useTaskRuns = useTaskRun.useTaskRuns;
32
36
  exports.answerPrompt = usePrompts.answerPrompt;
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"hooks.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/hooks.d.ts CHANGED
@@ -6,6 +6,8 @@ export { useDensity, useDensityValue, type Density } from './hooks/use-density.j
6
6
  export { DensityProvider, DensityValueProvider, type DensityProviderProps, } from './hooks/density-provider.js';
7
7
  export { useSort, type SortDir, type SortState, type UseSortOptions, type UseSortReturn, } from './hooks/use-sort.js';
8
8
  export { useHistoryRoute, type UseHistoryRouteOptions } from './hooks/use-history-route.js';
9
+ export { useEventSourceFactory, type EventSourceFactory, type EventSourceLike, } from './hooks/event-source.js';
10
+ export { EventSourceProvider, type EventSourceProviderProps, } from './hooks/event-source-provider.js';
9
11
  export { useTaskRun, useTaskRuns, type UseTaskRunOptions, type UseTaskRunResult, type UseTaskRunsOptions, type UseTaskRunsResult, type TaskTransportOptions, } from './hooks/use-task-run.js';
10
12
  export { usePrompts, answerPrompt, type PromptSnapshot, type PromptFilter, type UsePromptsOptions, type UsePromptsResult, } from './hooks/use-prompts.js';
11
13
  export { useHotkey, parseHotkey, formatHotkey, type UseHotkeyOptions, type ParsedHotkey, } from './hooks/use-hotkey.js';
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,KAAK,EACV,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EACL,YAAY,EACZ,aAAa,EACb,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,KAAK,oBAAoB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,OAAO,EACP,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EACL,UAAU,EACV,WAAW,EACX,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,UAAU,EACV,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,SAAS,EACT,WAAW,EACX,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,KAAK,EACV,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EACL,YAAY,EACZ,aAAa,EACb,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,KAAK,oBAAoB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,OAAO,EACP,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EACL,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,KAAK,wBAAwB,GAC9B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,UAAU,EACV,WAAW,EACX,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,UAAU,EACV,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,SAAS,EACT,WAAW,EACX,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC"}
package/dist/hooks.js CHANGED
@@ -6,6 +6,8 @@ import { useDensity, useDensityValue } from "./hooks/use-density.js";
6
6
  import { DensityProvider, DensityValueProvider } from "./hooks/density-provider.js";
7
7
  import { useSort } from "./hooks/use-sort.js";
8
8
  import { useHistoryRoute } from "./hooks/use-history-route.js";
9
+ import { useEventSourceFactory } from "./hooks/event-source.js";
10
+ import { EventSourceProvider } from "./hooks/event-source-provider.js";
9
11
  import { useTaskRun, useTaskRuns } from "./hooks/use-task-run.js";
10
12
  import { answerPrompt, usePrompts } from "./hooks/use-prompts.js";
11
13
  import { formatHotkey, parseHotkey, useHotkey } from "./hooks/use-hotkey.js";
@@ -14,6 +16,7 @@ import { isNearTop, isPinnedToBottom } from "./data/ai/use-session-scroll.js";
14
16
  export {
15
17
  DensityProvider,
16
18
  DensityValueProvider,
19
+ EventSourceProvider,
17
20
  ThemeProvider,
18
21
  answerPrompt,
19
22
  appendTailEvent,
@@ -29,6 +32,7 @@ export {
29
32
  useContainerWiderThan,
30
33
  useDensity,
31
34
  useDensityValue,
35
+ useEventSourceFactory,
32
36
  useHistoryRoute,
33
37
  useHotkey,
34
38
  useLogTail,
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
1
+ {"version":3,"file":"hooks.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
@@ -269,9 +269,9 @@ const programmingIconCatalog = [
269
269
  { id: "programming-field-value1", componentName: "UiVariable1", label: "Field Value1", family: "Code symbols and members", concept: "Variable", variation: "Field Value1", tone: "identity", source: "jb-download-unverified:field-value1", headerVerified: false, icon: UiVariable1.UiVariable1, darkIcon: UiVariable1.UiVariable1Dark },
270
270
  { id: "programming-file-format", componentName: "UiFileFormat", label: "File Format", family: "Code symbols and members", concept: "File Format", variation: "File Format", tone: "identity", source: "jb-download:file-format", headerVerified: true, icon: UiFileFormat.UiFileFormat, darkIcon: UiFileFormat.UiFileFormatDark },
271
271
  { id: "programming-flame", componentName: "UiProfile1", label: "Flame", family: "Debugging and profiling", concept: "Profile and trace", variation: "Flame", tone: "identity", source: "jb-download-unverified:flame", headerVerified: false, icon: UiProfile1.UiProfile1, darkIcon: UiProfile1.UiProfile1Dark },
272
- { id: "programming-force-run-to-cursor", componentName: "UiStep1", label: "Force Run To Cursor", family: "Code symbols and members", concept: "Debugger step", variation: "Force Run To Cursor", tone: "identity", source: "jb-download:force-run-to-cursor", headerVerified: true, icon: UiStep1.UiStep1, darkIcon: UiStep1.UiStep1Dark },
273
- { id: "programming-force-step-into", componentName: "UiStep2", label: "Force Step Into", family: "Debugging and profiling", concept: "Debugger step", variation: "Force Step Into", tone: "action", source: "jb-download:force-step-into", headerVerified: true, icon: UiStep2.UiStep2, darkIcon: UiStep2.UiStep2Dark },
274
- { id: "programming-force-step-over", componentName: "UiStep3", label: "Force Step Over", family: "Debugging and profiling", concept: "Debugger step", variation: "Force Step Over", tone: "action", source: "jb-download:force-step-over", headerVerified: true, icon: UiStep3.UiStep3, darkIcon: UiStep3.UiStep3Dark },
272
+ { id: "programming-force-run-to-cursor", componentName: "UiStep1", label: "Force Run To Cursor", family: "Debugging and profiling", concept: "Run to cursor", variation: "Force Run To Cursor", tone: "identity", source: "jb-download:force-run-to-cursor", headerVerified: true, icon: UiStep1.UiStep1, darkIcon: UiStep1.UiStep1Dark },
273
+ { id: "programming-force-step-into", componentName: "UiStep2", label: "Force Step Into", family: "Debugging and profiling", concept: "Step into", variation: "Force Step Into", tone: "action", source: "jb-download:force-step-into", headerVerified: true, icon: UiStep2.UiStep2, darkIcon: UiStep2.UiStep2Dark },
274
+ { id: "programming-force-step-over", componentName: "UiStep3", label: "Force Step Over", family: "Debugging and profiling", concept: "Step over", variation: "Force Step Over", tone: "action", source: "jb-download:force-step-over", headerVerified: true, icon: UiStep3.UiStep3, darkIcon: UiStep3.UiStep3Dark },
275
275
  { id: "programming-foreign-server", componentName: "UiForeignServer", label: "Foreign Server", family: "Database and data", concept: "Foreign Server", variation: "Foreign Server", tone: "identity", source: "jb-download:foreign-server", headerVerified: true, icon: UiForeignServer.UiForeignServer, darkIcon: UiForeignServer.UiForeignServerDark },
276
276
  { id: "programming-foreign-table", componentName: "UiTable1", label: "Foreign Table", family: "Database and data", concept: "Table and view", variation: "Foreign Table", tone: "identity", source: "jb-download:foreign-table", headerVerified: true, icon: UiTable1.UiTable1, darkIcon: UiTable1.UiTable1Dark },
277
277
  { id: "programming-freemarker", componentName: "UiFreemarker", label: "Freemarker", family: "Frameworks and platforms", concept: "Freemarker", variation: "Freemarker", tone: "identity", source: "jb-download:freemarker", headerVerified: true, icon: UiFreemarker.UiFreemarker, darkIcon: UiFreemarker.UiFreemarkerDark },
@@ -279,10 +279,10 @@ const programmingIconCatalog = [
279
279
  { id: "programming-function-run", componentName: "UiFunction2", label: "Function Run", family: "Code symbols and members", concept: "Function", variation: "Function Run", tone: "identity", source: "jb-download:function-run", headerVerified: true, icon: UiFunction2.UiFunction2, darkIcon: UiFunction2.UiFunction2Dark },
280
280
  { id: "programming-go-to-table", componentName: "UiTable2", label: "Go To Table", family: "Database and data", concept: "Table and view", variation: "Go To Table", tone: "action", source: "jb-download:go-to-table", headerVerified: true, icon: UiTable2.UiTable2, darkIcon: UiTable2.UiTable2Dark },
281
281
  { id: "programming-grey-key", componentName: "UiGreyKey", label: "Grey Key", family: "Database and data", concept: "Grey Key", variation: "Grey Key", tone: "identity", source: "jb-download:grey-key", headerVerified: true, icon: UiGreyKey.UiGreyKey, darkIcon: UiGreyKey.UiGreyKeyDark },
282
- { id: "programming-group-by-method", componentName: "UiMethod3", label: "Group By Method", family: "Navigation and organization", concept: "Method", variation: "Group By Method", tone: "identity", source: "jb-download:group-by-method", headerVerified: true, icon: UiMethod3.UiMethod3, darkIcon: UiMethod3.UiMethod3Dark },
283
- { id: "programming-group-by-module-group", componentName: "UiGroupByModuleGroup", label: "Group By Module Group", family: "Navigation and organization", concept: "Group By Module Group", variation: "Group By Module Group", tone: "identity", source: "jb-download:group-by-module-group", headerVerified: true, icon: UiGroupByModuleGroup.UiGroupByModuleGroup, darkIcon: UiGroupByModuleGroup.UiGroupByModuleGroupDark },
284
- { id: "programming-group-by-package", componentName: "UiGroupByPackage", label: "Group By Package", family: "Navigation and organization", concept: "Group By Package", variation: "Group By Package", tone: "identity", source: "jb-download:group-by-package", headerVerified: true, icon: UiGroupByPackage.UiGroupByPackage, darkIcon: UiGroupByPackage.UiGroupByPackageDark },
285
- { id: "programming-group-by-test-production", componentName: "UiGroupByTestProduction", label: "Group By Test Production", family: "Navigation and organization", concept: "Group By Test Production", variation: "Group By Test Production", tone: "identity", source: "jb-download:group-by-test-production", headerVerified: true, icon: UiGroupByTestProduction.UiGroupByTestProduction, darkIcon: UiGroupByTestProduction.UiGroupByTestProductionDark },
282
+ { id: "programming-group-by-method", componentName: "UiMethod3", label: "Group By Method", family: "Navigation and organization", concept: "Grouping", variation: "Group By Method", tone: "identity", source: "jb-download:group-by-method", headerVerified: true, icon: UiMethod3.UiMethod3, darkIcon: UiMethod3.UiMethod3Dark },
283
+ { id: "programming-group-by-module-group", componentName: "UiGroupByModuleGroup", label: "Group By Module Group", family: "Navigation and organization", concept: "Grouping", variation: "Group By Module Group", tone: "identity", source: "jb-download:group-by-module-group", headerVerified: true, icon: UiGroupByModuleGroup.UiGroupByModuleGroup, darkIcon: UiGroupByModuleGroup.UiGroupByModuleGroupDark },
284
+ { id: "programming-group-by-package", componentName: "UiGroupByPackage", label: "Group By Package", family: "Navigation and organization", concept: "Grouping", variation: "Group By Package", tone: "identity", source: "jb-download:group-by-package", headerVerified: true, icon: UiGroupByPackage.UiGroupByPackage, darkIcon: UiGroupByPackage.UiGroupByPackageDark },
285
+ { id: "programming-group-by-test-production", componentName: "UiGroupByTestProduction", label: "Group By Test Production", family: "Navigation and organization", concept: "Grouping", variation: "Group By Test Production", tone: "identity", source: "jb-download:group-by-test-production", headerVerified: true, icon: UiGroupByTestProduction.UiGroupByTestProduction, darkIcon: UiGroupByTestProduction.UiGroupByTestProductionDark },
286
286
  { id: "programming-gvariable", componentName: "UiVariable2", label: "Gvariable", family: "Code symbols and members", concept: "Variable", variation: "Gvariable", tone: "identity", source: "jb-download:gvariable", headerVerified: true, icon: UiVariable2.UiVariable2, darkIcon: UiVariable2.UiVariable2Dark },
287
287
  { id: "programming-hibernate", componentName: "UiHibernate", label: "Hibernate", family: "Frameworks and platforms", concept: "Hibernate", variation: "Hibernate", tone: "identity", source: "jb-download:hibernate", headerVerified: true, icon: UiHibernate.UiHibernate, darkIcon: UiHibernate.UiHibernateDark },
288
288
  { id: "programming-hibernate-event", componentName: "UiHibernateEvent", label: "Hibernate Event", family: "Frameworks and platforms", concept: "Hibernate Event", variation: "Hibernate Event", tone: "identity", source: "jb-download-unverified:hibernate-event", headerVerified: false, icon: UiHibernateEvent.UiHibernateEvent, darkIcon: UiHibernateEvent.UiHibernateEventDark },
@@ -291,7 +291,7 @@ const programmingIconCatalog = [
291
291
  { id: "programming-index-alt-1", componentName: "UiIndex4", label: "Index", family: "Database and data", concept: "Index", variation: "Alternative 1", tone: "identity", source: "jb-download:index-alt-1", headerVerified: true, icon: UiIndex4.UiIndex4, darkIcon: UiIndex4.UiIndex4Dark },
292
292
  { id: "programming-index", componentName: "UiIndex", label: "Index", family: "Database and data", concept: "Index", variation: "Index", tone: "identity", source: "jb-download:index", headerVerified: true, icon: UiIndex.UiIndex, darkIcon: UiIndex.UiIndexDark },
293
293
  { id: "programming-index-fun", componentName: "UiFunction4", label: "Index Fun", family: "Database and data", concept: "Function", variation: "Index Fun", tone: "identity", source: "jb-download:index-fun", headerVerified: true, icon: UiFunction4.UiFunction4, darkIcon: UiFunction4.UiFunction4Dark },
294
- { id: "programming-index-unique", componentName: "UiIndex5", label: "Index Unique", family: "Database and data", concept: "Index", variation: "Index Unique", tone: "identity", source: "jb-download:index-unique", headerVerified: true, icon: UiIndex5.UiIndex5, darkIcon: UiIndex5.UiIndex5Dark },
294
+ { id: "programming-index-unique", componentName: "UiIndex5", label: "Index Unique", family: "Database and data", concept: "Unique index", variation: "Index Unique", tone: "identity", source: "jb-download:index-unique", headerVerified: true, icon: UiIndex5.UiIndex5, darkIcon: UiIndex5.UiIndex5Dark },
295
295
  { id: "programming-inspections-grammar", componentName: "UiInspectionsGrammar", label: "Inspections Grammar", family: "Code symbols and members", concept: "Inspections Grammar", variation: "Inspections Grammar", tone: "identity", source: "jb-download:inspections-grammar", headerVerified: true, icon: UiInspectionsGrammar.UiInspectionsGrammar, darkIcon: UiInspectionsGrammar.UiInspectionsGrammarDark },
296
296
  { id: "programming-interceptor-class", componentName: "UiMethod4", label: "Interceptor Class", family: "Code symbols and members", concept: "Method", variation: "Interceptor Class", tone: "identity", source: "jb-download:interceptor-class", headerVerified: true, icon: UiMethod4.UiMethod4, darkIcon: UiMethod4.UiMethod4Dark },
297
297
  { id: "programming-interceptor-method", componentName: "UiMethod5", label: "Interceptor Method", family: "Code symbols and members", concept: "Method", variation: "Interceptor Method", tone: "identity", source: "jb-download:interceptor-method", headerVerified: true, icon: UiMethod5.UiMethod5, darkIcon: UiMethod5.UiMethod5Dark },
@@ -307,7 +307,7 @@ const programmingIconCatalog = [
307
307
  { id: "programming-method-reference", componentName: "UiMethod8", label: "Method Reference", family: "Code symbols and members", concept: "Method", variation: "Method Reference", tone: "identity", source: "jb-download:method-reference", headerVerified: true, icon: UiMethod8.UiMethod8, darkIcon: UiMethod8.UiMethod8Dark },
308
308
  { id: "programming-models", componentName: "UiModels", label: "Models", family: "Frameworks and platforms", concept: "Models", variation: "Models", tone: "identity", source: "jb-download:models", headerVerified: true, icon: UiModels.UiModels, darkIcon: UiModels.UiModelsDark },
309
309
  { id: "programming-module", componentName: "UiModule1", label: "Module", family: "Navigation and organization", concept: "Module", variation: "Module", tone: "identity", source: "jb-download:module", headerVerified: true, icon: UiModule1.UiModule1, darkIcon: UiModule1.UiModule1Dark },
310
- { id: "programming-multi-launch", componentName: "UiRun1", label: "Multi Launch", family: "Execution and status", concept: "Run control", variation: "Multi Launch", tone: "identity", source: "jb-download:multi-launch", headerVerified: true, icon: UiRun1.UiRun1, darkIcon: UiRun1.UiRun1Dark },
310
+ { id: "programming-multi-launch", componentName: "UiRun1", label: "Multi Launch", family: "Execution and status", concept: "Run", variation: "Multi Launch", tone: "identity", source: "jb-download:multi-launch", headerVerified: true, icon: UiRun1.UiRun1, darkIcon: UiRun1.UiRun1Dark },
311
311
  { id: "programming-name", componentName: "UiName", label: "Name", family: "Code symbols and members", concept: "Name", variation: "Name", tone: "identity", source: "jb-download-unverified:name", headerVerified: false, icon: UiName.UiName, darkIcon: UiName.UiNameDark },
312
312
  { id: "programming-object-type-attribute", componentName: "UiField4", label: "Object Type Attribute", family: "Code symbols and members", concept: "Field and parameter", variation: "Object Type Attribute", tone: "identity", source: "jb-download:object-type-attribute", headerVerified: true, icon: UiField4.UiField4, darkIcon: UiField4.UiField4Dark },
313
313
  { id: "programming-open-block", componentName: "UiOpenBlock", label: "Open Block", family: "Navigation and organization", concept: "Open Block", variation: "Open Block", tone: "identity", source: "jb-download:open-block", headerVerified: true, icon: UiOpenBlock.UiOpenBlock, darkIcon: UiOpenBlock.UiOpenBlockDark },
@@ -323,7 +323,7 @@ const programmingIconCatalog = [
323
323
  { id: "programming-pointcut", componentName: "UiPointcut", label: "Pointcut", family: "Frameworks and platforms", concept: "Pointcut", variation: "Pointcut", tone: "identity", source: "jb-download:pointcut", headerVerified: true, icon: UiPointcut.UiPointcut, darkIcon: UiPointcut.UiPointcutDark },
324
324
  { id: "programming-preview-changes", componentName: "UiTable5", label: "Preview Changes", family: "Database and data", concept: "Table and view", variation: "Preview Changes", tone: "identity", source: "jb-download:preview-changes", headerVerified: true, icon: UiTable5.UiTable5, darkIcon: UiTable5.UiTable5Dark },
325
325
  { id: "programming-procedure", componentName: "UiProcedure", label: "Procedure", family: "Database and data", concept: "Procedure", variation: "Procedure", tone: "identity", source: "jb-download:procedure", headerVerified: true, icon: UiProcedure.UiProcedure, darkIcon: UiProcedure.UiProcedureDark },
326
- { id: "programming-procedure-run", componentName: "UiRun2", label: "Procedure Run", family: "Execution and status", concept: "Run control", variation: "Procedure Run", tone: "action", source: "jb-download:procedure-run", headerVerified: true, icon: UiRun2.UiRun2, darkIcon: UiRun2.UiRun2Dark },
326
+ { id: "programming-procedure-run", componentName: "UiRun2", label: "Procedure Run", family: "Execution and status", concept: "Run", variation: "Procedure Run", tone: "action", source: "jb-download:procedure-run", headerVerified: true, icon: UiRun2.UiRun2, darkIcon: UiRun2.UiRun2Dark },
327
327
  { id: "programming-profile", componentName: "UiProfile", label: "Profile", family: "Debugging and profiling", concept: "Profile and trace", variation: "Profile", tone: "identity", source: "jb-download:profile", headerVerified: true, icon: UiProfile.UiProfile, darkIcon: UiProfile.UiProfileDark },
328
328
  { id: "programming-profile-cpu", componentName: "UiProfile2", label: "Profile CPU", family: "Debugging and profiling", concept: "Profile and trace", variation: "Profile CPU", tone: "identity", source: "jb-download:profile-cpu", headerVerified: true, icon: UiProfile2.UiProfile2, darkIcon: UiProfile2.UiProfile2Dark },
329
329
  { id: "programming-profile-memory", componentName: "UiProfile3", label: "Profile Memory", family: "Debugging and profiling", concept: "Profile and trace", variation: "Profile Memory", tone: "identity", source: "jb-download:profile-memory", headerVerified: true, icon: UiProfile3.UiProfile3, darkIcon: UiProfile3.UiProfile3Dark },
@@ -340,22 +340,22 @@ const programmingIconCatalog = [
340
340
  { id: "programming-rename-index", componentName: "UiIndex6", label: "Rename Index", family: "Database and data", concept: "Index", variation: "Rename Index", tone: "action", source: "jb-download:rename-index", headerVerified: true, icon: UiIndex6.UiIndex6, darkIcon: UiIndex6.UiIndex6Dark },
341
341
  { id: "programming-rename-sequence", componentName: "UiSequence2", label: "Rename Sequence", family: "Database and data", concept: "Sequence", variation: "Rename Sequence", tone: "action", source: "jb-download:rename-sequence", headerVerified: true, icon: UiSequence2.UiSequence2, darkIcon: UiSequence2.UiSequence2Dark },
342
342
  { id: "programming-rename-table", componentName: "UiTable7", label: "Rename Table", family: "Database and data", concept: "Table and view", variation: "Rename Table", tone: "action", source: "jb-download:rename-table", headerVerified: true, icon: UiTable7.UiTable7, darkIcon: UiTable7.UiTable7Dark },
343
- { id: "programming-rerun-alt-1", componentName: "UiRun3", label: "Rerun", family: "Execution and status", concept: "Run control", variation: "Alternative 1", tone: "action", source: "jb-download:rerun-alt-1", headerVerified: true, icon: UiRun3.UiRun3, darkIcon: UiRun3.UiRun3Dark },
344
- { id: "programming-rerun", componentName: "UiRun4", label: "Rerun", family: "Execution and status", concept: "Run control", variation: "Rerun", tone: "action", source: "jb-download:rerun", headerVerified: true, icon: UiRun4.UiRun4, darkIcon: UiRun4.UiRun4Dark },
345
- { id: "programming-rerun-automatically", componentName: "UiRun5", label: "Rerun Automatically", family: "Execution and status", concept: "Run control", variation: "Rerun Automatically", tone: "action", source: "jb-download:rerun-automatically", headerVerified: true, icon: UiRun5.UiRun5, darkIcon: UiRun5.UiRun5Dark },
346
- { id: "programming-restart-debug", componentName: "UiRun6", label: "Restart Debug", family: "Debugging and profiling", concept: "Run control", variation: "Restart Debug", tone: "action", source: "jb-download:restart-debug", headerVerified: true, icon: UiRun6.UiRun6, darkIcon: UiRun6.UiRun6Dark },
347
- { id: "programming-restart-stop", componentName: "UiRun7", label: "Restart Stop", family: "Execution and status", concept: "Run control", variation: "Restart Stop", tone: "action", source: "jb-download:restart-stop", headerVerified: true, icon: UiRun7.UiRun7, darkIcon: UiRun7.UiRun7Dark },
343
+ { id: "programming-rerun-alt-1", componentName: "UiRun3", label: "Rerun", family: "Execution and status", concept: "Rerun", variation: "Alternate rerun", tone: "action", source: "jb-download:rerun-alt-1", headerVerified: true, icon: UiRun3.UiRun3, darkIcon: UiRun3.UiRun3Dark },
344
+ { id: "programming-rerun", componentName: "UiRun4", label: "Rerun", family: "Execution and status", concept: "Rerun", variation: "Rerun", tone: "action", source: "jb-download:rerun", headerVerified: true, icon: UiRun4.UiRun4, darkIcon: UiRun4.UiRun4Dark },
345
+ { id: "programming-rerun-automatically", componentName: "UiRun5", label: "Rerun Automatically", family: "Execution and status", concept: "Rerun", variation: "Rerun Automatically", tone: "action", source: "jb-download:rerun-automatically", headerVerified: true, icon: UiRun5.UiRun5, darkIcon: UiRun5.UiRun5Dark },
346
+ { id: "programming-restart-debug", componentName: "UiRun6", label: "Restart Debug", family: "Execution and status", concept: "Restart", variation: "Restart Debug", tone: "action", source: "jb-download:restart-debug", headerVerified: true, icon: UiRun6.UiRun6, darkIcon: UiRun6.UiRun6Dark },
347
+ { id: "programming-restart-stop", componentName: "UiRun7", label: "Restart Stop", family: "Execution and status", concept: "Restart", variation: "Restart Stop", tone: "action", source: "jb-download:restart-stop", headerVerified: true, icon: UiRun7.UiRun7, darkIcon: UiRun7.UiRun7Dark },
348
348
  { id: "programming-return-value", componentName: "UiVariable3", label: "Return Value", family: "Code symbols and members", concept: "Variable", variation: "Return Value", tone: "identity", source: "jb-download-unverified:return-value", headerVerified: false, icon: UiVariable3.UiVariable3, darkIcon: UiVariable3.UiVariable3Dark },
349
349
  { id: "programming-role", componentName: "UiRole", label: "Role", family: "Database and data", concept: "Role", variation: "Role", tone: "identity", source: "jb-download:role", headerVerified: true, icon: UiRole.UiRole, darkIcon: UiRole.UiRoleDark },
350
350
  { id: "programming-rollback", componentName: "UiRollback", label: "Rollback", family: "Database and data", concept: "Rollback", variation: "Rollback", tone: "identity", source: "jb-download:rollback", headerVerified: true, icon: UiRollback.UiRollback, darkIcon: UiRollback.UiRollbackDark },
351
351
  { id: "programming-routine", componentName: "UiRoutine", label: "Routine", family: "Database and data", concept: "Routine", variation: "Routine", tone: "identity", source: "jb-download:routine", headerVerified: true, icon: UiRoutine.UiRoutine, darkIcon: UiRoutine.UiRoutineDark },
352
- { id: "programming-run", componentName: "UiRun", label: "Run", family: "Execution and status", concept: "Run control", variation: "Run", tone: "action", source: "jb-download:run", headerVerified: true, icon: UiRun.UiRun, darkIcon: UiRun.UiRunDark },
353
- { id: "programming-run-all", componentName: "UiRun8", label: "Run All", family: "Execution and status", concept: "Run control", variation: "Run All", tone: "action", source: "jb-download:run-all", headerVerified: true, icon: UiRun8.UiRun8, darkIcon: UiRun8.UiRun8Dark },
354
- { id: "programming-run-cursor", componentName: "UiStep4", label: "Run Cursor", family: "Execution and status", concept: "Debugger step", variation: "Run Cursor", tone: "action", source: "jb-download-unverified:run-cursor", headerVerified: false, icon: UiStep4.UiStep4, darkIcon: UiStep4.UiStep4Dark },
355
- { id: "programming-run-database-script", componentName: "UiRun9", label: "Run Database Script", family: "Execution and status", concept: "Run control", variation: "Run Database Script", tone: "action", source: "jb-download:run-database-script", headerVerified: true, icon: UiRun9.UiRun9, darkIcon: UiRun9.UiRun9Dark },
356
- { id: "programming-run-error", componentName: "UiRun10", label: "Run Error", family: "Execution and status", concept: "Run control", variation: "Run Error", tone: "danger", source: "jb-download:run-error", headerVerified: true, icon: UiRun10.UiRun10, darkIcon: UiRun10.UiRun10Dark },
357
- { id: "programming-run-in-queue", componentName: "UiRun11", label: "Run In Queue", family: "Execution and status", concept: "Run control", variation: "Run In Queue", tone: "action", source: "jb-download-unverified:run-in-queue", headerVerified: false, icon: UiRun11.UiRun11, darkIcon: UiRun11.UiRun11Dark },
358
- { id: "programming-run-success", componentName: "UiRun12", label: "Run Success", family: "Execution and status", concept: "Run control", variation: "Run Success", tone: "success", source: "jb-download:run-success", headerVerified: true, icon: UiRun12.UiRun12, darkIcon: UiRun12.UiRun12Dark },
352
+ { id: "programming-run", componentName: "UiRun", label: "Run", family: "Execution and status", concept: "Run", variation: "Run", tone: "action", source: "jb-download:run", headerVerified: true, icon: UiRun.UiRun, darkIcon: UiRun.UiRunDark },
353
+ { id: "programming-run-all", componentName: "UiRun8", label: "Run All", family: "Execution and status", concept: "Run", variation: "Run All", tone: "action", source: "jb-download:run-all", headerVerified: true, icon: UiRun8.UiRun8, darkIcon: UiRun8.UiRun8Dark },
354
+ { id: "programming-run-cursor", componentName: "UiStep4", label: "Run Cursor", family: "Debugging and profiling", concept: "Run to cursor", variation: "Run Cursor", tone: "action", source: "jb-download-unverified:run-cursor", headerVerified: false, icon: UiStep4.UiStep4, darkIcon: UiStep4.UiStep4Dark },
355
+ { id: "programming-run-database-script", componentName: "UiRun9", label: "Run Database Script", family: "Execution and status", concept: "Run", variation: "Run Database Script", tone: "action", source: "jb-download:run-database-script", headerVerified: true, icon: UiRun9.UiRun9, darkIcon: UiRun9.UiRun9Dark },
356
+ { id: "programming-run-error", componentName: "UiRun10", label: "Run Error", family: "Execution and status", concept: "Run outcome", variation: "Run Error", tone: "danger", source: "jb-download:run-error", headerVerified: true, icon: UiRun10.UiRun10, darkIcon: UiRun10.UiRun10Dark },
357
+ { id: "programming-run-in-queue", componentName: "UiRun11", label: "Run In Queue", family: "Execution and status", concept: "Run", variation: "Run In Queue", tone: "action", source: "jb-download-unverified:run-in-queue", headerVerified: false, icon: UiRun11.UiRun11, darkIcon: UiRun11.UiRun11Dark },
358
+ { id: "programming-run-success", componentName: "UiRun12", label: "Run Success", family: "Execution and status", concept: "Run outcome", variation: "Run Success", tone: "success", source: "jb-download:run-success", headerVerified: true, icon: UiRun12.UiRun12, darkIcon: UiRun12.UiRun12Dark },
359
359
  { id: "programming-security-role", componentName: "UiSecurityRole", label: "Security Role", family: "Database and data", concept: "Security Role", variation: "Security Role", tone: "identity", source: "jb-download:security-role", headerVerified: true, icon: UiSecurityRole.UiSecurityRole, darkIcon: UiSecurityRole.UiSecurityRoleDark },
360
360
  { id: "programming-sequence-alt-1", componentName: "UiSequence3", label: "Sequence", family: "Database and data", concept: "Sequence", variation: "Alternative 1", tone: "identity", source: "jb-download:sequence-alt-1", headerVerified: true, icon: UiSequence3.UiSequence3, darkIcon: UiSequence3.UiSequence3Dark },
361
361
  { id: "programming-sequence-alt-2", componentName: "UiSequence4", label: "Sequence", family: "Database and data", concept: "Sequence", variation: "Alternative 2", tone: "identity", source: "jb-download:sequence-alt-2", headerVerified: true, icon: UiSequence4.UiSequence4, darkIcon: UiSequence4.UiSequence4Dark },
@@ -365,21 +365,21 @@ const programmingIconCatalog = [
365
365
  { id: "programming-show-current-frame", componentName: "UiShowCurrentFrame", label: "Show Current Frame", family: "Debugging and profiling", concept: "Show Current Frame", variation: "Show Current Frame", tone: "identity", source: "jb-download:show-current-frame", headerVerified: true, icon: UiShowCurrentFrame.UiShowCurrentFrame, darkIcon: UiShowCurrentFrame.UiShowCurrentFrameDark },
366
366
  { id: "programming-show-members", componentName: "UiShowMembers", label: "Show Members", family: "Navigation and organization", concept: "Show Members", variation: "Show Members", tone: "identity", source: "jb-download:show-members", headerVerified: true, icon: UiShowMembers.UiShowMembers, darkIcon: UiShowMembers.UiShowMembersDark },
367
367
  { id: "programming-show-to-implement", componentName: "UiShowToImplement", label: "Show To Implement", family: "Navigation and organization", concept: "Show To Implement", variation: "Show To Implement", tone: "identity", source: "jb-download-unverified:show-to-implement", headerVerified: false, icon: UiShowToImplement.UiShowToImplement, darkIcon: UiShowToImplement.UiShowToImplementDark },
368
- { id: "programming-smart-step-into", componentName: "UiStep5", label: "Smart Step Into", family: "Debugging and profiling", concept: "Debugger step", variation: "Smart Step Into", tone: "action", source: "jb-download:smart-step-into", headerVerified: true, icon: UiStep5.UiStep5, darkIcon: UiStep5.UiStep5Dark },
369
- { id: "programming-sort-alphabetically", componentName: "UiSortAlphabetically", label: "Sort Alphabetically", family: "Navigation and organization", concept: "Sort Alphabetically", variation: "Sort Alphabetically", tone: "identity", source: "jb-download:sort-alphabetically", headerVerified: true, icon: UiSortAlphabetically.UiSortAlphabetically, darkIcon: UiSortAlphabetically.UiSortAlphabeticallyDark },
370
- { id: "programming-sort-by-type", componentName: "UiSortByType", label: "Sort By Type", family: "Navigation and organization", concept: "Sort By Type", variation: "Sort By Type", tone: "identity", source: "jb-download:sort-by-type", headerVerified: true, icon: UiSortByType.UiSortByType, darkIcon: UiSortByType.UiSortByTypeDark },
371
- { id: "programming-sort-by-usage", componentName: "UiSortByUsage", label: "Sort By Usage", family: "Navigation and organization", concept: "Sort By Usage", variation: "Sort By Usage", tone: "identity", source: "jb-download:sort-by-usage", headerVerified: true, icon: UiSortByUsage.UiSortByUsage, darkIcon: UiSortByUsage.UiSortByUsageDark },
372
- { id: "programming-sort-by-visibility", componentName: "UiSortByVisibility", label: "Sort By Visibility", family: "Navigation and organization", concept: "Sort By Visibility", variation: "Sort By Visibility", tone: "identity", source: "jb-download:sort-by-visibility", headerVerified: true, icon: UiSortByVisibility.UiSortByVisibility, darkIcon: UiSortByVisibility.UiSortByVisibilityDark },
368
+ { id: "programming-smart-step-into", componentName: "UiStep5", label: "Smart Step Into", family: "Debugging and profiling", concept: "Step into", variation: "Smart Step Into", tone: "action", source: "jb-download:smart-step-into", headerVerified: true, icon: UiStep5.UiStep5, darkIcon: UiStep5.UiStep5Dark },
369
+ { id: "programming-sort-alphabetically", componentName: "UiSortAlphabetically", label: "Sort Alphabetically", family: "Navigation and organization", concept: "Sorting", variation: "Sort Alphabetically", tone: "identity", source: "jb-download:sort-alphabetically", headerVerified: true, icon: UiSortAlphabetically.UiSortAlphabetically, darkIcon: UiSortAlphabetically.UiSortAlphabeticallyDark },
370
+ { id: "programming-sort-by-type", componentName: "UiSortByType", label: "Sort By Type", family: "Navigation and organization", concept: "Sorting", variation: "Sort By Type", tone: "identity", source: "jb-download:sort-by-type", headerVerified: true, icon: UiSortByType.UiSortByType, darkIcon: UiSortByType.UiSortByTypeDark },
371
+ { id: "programming-sort-by-usage", componentName: "UiSortByUsage", label: "Sort By Usage", family: "Navigation and organization", concept: "Sorting", variation: "Sort By Usage", tone: "identity", source: "jb-download:sort-by-usage", headerVerified: true, icon: UiSortByUsage.UiSortByUsage, darkIcon: UiSortByUsage.UiSortByUsageDark },
372
+ { id: "programming-sort-by-visibility", componentName: "UiSortByVisibility", label: "Sort By Visibility", family: "Navigation and organization", concept: "Sorting", variation: "Sort By Visibility", tone: "identity", source: "jb-download:sort-by-visibility", headerVerified: true, icon: UiSortByVisibility.UiSortByVisibility, darkIcon: UiSortByVisibility.UiSortByVisibilityDark },
373
373
  { id: "programming-spring-boot", componentName: "UiSpringBoot", label: "Spring Boot", family: "Frameworks and platforms", concept: "Spring Boot", variation: "Spring Boot", tone: "identity", source: "jb-download:spring-boot", headerVerified: true, icon: UiSpringBoot.UiSpringBoot, darkIcon: UiSpringBoot.UiSpringBootDark },
374
374
  { id: "programming-start-timer", componentName: "UiStartTimer", label: "Start Timer", family: "Execution and status", concept: "Start Timer", variation: "Start Timer", tone: "action", source: "jb-download:start-timer", headerVerified: true, icon: UiStartTimer.UiStartTimer, darkIcon: UiStartTimer.UiStartTimerDark },
375
375
  { id: "programming-static", componentName: "UiStatic", label: "Static", family: "Code symbols and members", concept: "Static", variation: "Static", tone: "identity", source: "jb-download:static", headerVerified: true, icon: UiStatic.UiStatic, darkIcon: UiStatic.UiStaticDark },
376
- { id: "programming-step-into", componentName: "UiStep", label: "Step Into", family: "Debugging and profiling", concept: "Debugger step", variation: "Step Into", tone: "action", source: "jb-download:step-into", headerVerified: true, icon: UiStep.UiStep, darkIcon: UiStep.UiStepDark },
377
- { id: "programming-step-into-my-code", componentName: "UiStep6", label: "Step Into My Code", family: "Debugging and profiling", concept: "Debugger step", variation: "Step Into My Code", tone: "action", source: "jb-download:step-into-my-code", headerVerified: true, icon: UiStep6.UiStep6, darkIcon: UiStep6.UiStep6Dark },
378
- { id: "programming-step-out", componentName: "UiStep7", label: "Step Out", family: "Debugging and profiling", concept: "Debugger step", variation: "Step Out", tone: "action", source: "jb-download:step-out", headerVerified: true, icon: UiStep7.UiStep7, darkIcon: UiStep7.UiStep7Dark },
379
- { id: "programming-step-out-code-block", componentName: "UiStep8", label: "Step Out Code Block", family: "Debugging and profiling", concept: "Debugger step", variation: "Step Out Code Block", tone: "action", source: "jb-download:step-out-code-block", headerVerified: true, icon: UiStep8.UiStep8, darkIcon: UiStep8.UiStep8Dark },
380
- { id: "programming-step-over", componentName: "UiStep9", label: "Step Over", family: "Debugging and profiling", concept: "Debugger step", variation: "Step Over", tone: "action", source: "jb-download:step-over", headerVerified: true, icon: UiStep9.UiStep9, darkIcon: UiStep9.UiStep9Dark },
381
- { id: "programming-stop", componentName: "UiRun13", label: "Stop", family: "Execution and status", concept: "Run control", variation: "Stop", tone: "danger", source: "jb-download:stop", headerVerified: true, icon: UiRun13.UiRun13, darkIcon: UiRun13.UiRun13Dark },
382
- { id: "programming-stop-timer", componentName: "UiRun14", label: "Stop Timer", family: "Execution and status", concept: "Run control", variation: "Stop Timer", tone: "danger", source: "jb-download:stop-timer", headerVerified: true, icon: UiRun14.UiRun14, darkIcon: UiRun14.UiRun14Dark },
376
+ { id: "programming-step-into", componentName: "UiStep", label: "Step Into", family: "Debugging and profiling", concept: "Step into", variation: "Step Into", tone: "action", source: "jb-download:step-into", headerVerified: true, icon: UiStep.UiStep, darkIcon: UiStep.UiStepDark },
377
+ { id: "programming-step-into-my-code", componentName: "UiStep6", label: "Step Into My Code", family: "Debugging and profiling", concept: "Step into", variation: "Step Into My Code", tone: "action", source: "jb-download:step-into-my-code", headerVerified: true, icon: UiStep6.UiStep6, darkIcon: UiStep6.UiStep6Dark },
378
+ { id: "programming-step-out", componentName: "UiStep7", label: "Step Out", family: "Debugging and profiling", concept: "Step out", variation: "Step Out", tone: "action", source: "jb-download:step-out", headerVerified: true, icon: UiStep7.UiStep7, darkIcon: UiStep7.UiStep7Dark },
379
+ { id: "programming-step-out-code-block", componentName: "UiStep8", label: "Step Out Code Block", family: "Debugging and profiling", concept: "Step out", variation: "Step Out Code Block", tone: "action", source: "jb-download:step-out-code-block", headerVerified: true, icon: UiStep8.UiStep8, darkIcon: UiStep8.UiStep8Dark },
380
+ { id: "programming-step-over", componentName: "UiStep9", label: "Step Over", family: "Debugging and profiling", concept: "Step over", variation: "Step Over", tone: "action", source: "jb-download:step-over", headerVerified: true, icon: UiStep9.UiStep9, darkIcon: UiStep9.UiStep9Dark },
381
+ { id: "programming-stop", componentName: "UiRun13", label: "Stop", family: "Execution and status", concept: "Stop", variation: "Stop", tone: "danger", source: "jb-download:stop", headerVerified: true, icon: UiRun13.UiRun13, darkIcon: UiRun13.UiRun13Dark },
382
+ { id: "programming-stop-timer", componentName: "UiRun14", label: "Stop Timer", family: "Execution and status", concept: "Stop", variation: "Stop Timer", tone: "danger", source: "jb-download:stop-timer", headerVerified: true, icon: UiRun14.UiRun14, darkIcon: UiRun14.UiRun14Dark },
383
383
  { id: "programming-stream", componentName: "UiStream", label: "Stream", family: "Database and data", concept: "Stream", variation: "Stream", tone: "identity", source: "jb-download:stream", headerVerified: true, icon: UiStream.UiStream, darkIcon: UiStream.UiStreamDark },
384
384
  { id: "programming-stream-key", componentName: "UiStreamKey", label: "Stream Key", family: "Database and data", concept: "Stream Key", variation: "Stream Key", tone: "identity", source: "jb-download:stream-key", headerVerified: true, icon: UiStreamKey.UiStreamKey, darkIcon: UiStreamKey.UiStreamKeyDark },
385
385
  { id: "programming-submit-db", componentName: "UiSubmitDB", label: "Submit DB", family: "Database and data", concept: "Submit DB", variation: "Submit DB", tone: "action", source: "jb-download:submit-db", headerVerified: true, icon: UiSubmitDB.UiSubmitDB, darkIcon: UiSubmitDB.UiSubmitDBDark },