@flanksource/clicky-ui 0.3.16 → 0.3.18

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 (871) hide show
  1. package/dist/ai.cjs +12 -6
  2. package/dist/ai.cjs.map +1 -1
  3. package/dist/ai.js +10 -4
  4. package/dist/ai.js.map +1 -1
  5. package/dist/chat.cjs +36 -0
  6. package/dist/chat.cjs.map +1 -1
  7. package/dist/chat.js +37 -1
  8. package/dist/chat.js.map +1 -1
  9. package/dist/components/Combobox.cjs +122 -153
  10. package/dist/components/Combobox.cjs.map +1 -1
  11. package/dist/components/Combobox.d.ts.map +1 -1
  12. package/dist/components/Combobox.js +124 -155
  13. package/dist/components/Combobox.js.map +1 -1
  14. package/dist/components/ComboboxControl.cjs +145 -0
  15. package/dist/components/ComboboxControl.cjs.map +1 -0
  16. package/dist/components/ComboboxControl.d.ts +37 -0
  17. package/dist/components/ComboboxControl.d.ts.map +1 -0
  18. package/dist/components/ComboboxControl.js +145 -0
  19. package/dist/components/ComboboxControl.js.map +1 -0
  20. package/dist/components/ComboboxMenu.cjs +31 -14
  21. package/dist/components/ComboboxMenu.cjs.map +1 -1
  22. package/dist/components/ComboboxMenu.d.ts.map +1 -1
  23. package/dist/components/ComboboxMenu.js +31 -14
  24. package/dist/components/ComboboxMenu.js.map +1 -1
  25. package/dist/components/ComboboxTags.cjs +40 -0
  26. package/dist/components/ComboboxTags.cjs.map +1 -0
  27. package/dist/components/ComboboxTags.d.ts +8 -0
  28. package/dist/components/ComboboxTags.d.ts.map +1 -0
  29. package/dist/components/ComboboxTags.js +40 -0
  30. package/dist/components/ComboboxTags.js.map +1 -0
  31. package/dist/components/ErrorWrapper.cjs +168 -0
  32. package/dist/components/ErrorWrapper.cjs.map +1 -0
  33. package/dist/components/ErrorWrapper.d.ts +19 -0
  34. package/dist/components/ErrorWrapper.d.ts.map +1 -0
  35. package/dist/components/ErrorWrapper.js +168 -0
  36. package/dist/components/ErrorWrapper.js.map +1 -0
  37. package/dist/components/FilterBar.cjs +64 -2
  38. package/dist/components/FilterBar.cjs.map +1 -1
  39. package/dist/components/FilterBar.d.ts +18 -1
  40. package/dist/components/FilterBar.d.ts.map +1 -1
  41. package/dist/components/FilterBar.js +64 -2
  42. package/dist/components/FilterBar.js.map +1 -1
  43. package/dist/components/JSONPathField.cjs +91 -0
  44. package/dist/components/JSONPathField.cjs.map +1 -0
  45. package/dist/components/JSONPathField.d.ts +19 -0
  46. package/dist/components/JSONPathField.d.ts.map +1 -0
  47. package/dist/components/JSONPathField.js +91 -0
  48. package/dist/components/JSONPathField.js.map +1 -0
  49. package/dist/components/JsonSchemaForm.cjs +8 -4
  50. package/dist/components/JsonSchemaForm.cjs.map +1 -1
  51. package/dist/components/JsonSchemaForm.d.ts.map +1 -1
  52. package/dist/components/JsonSchemaForm.js +8 -4
  53. package/dist/components/JsonSchemaForm.js.map +1 -1
  54. package/dist/components/TreePickerField.cjs +22 -4
  55. package/dist/components/TreePickerField.cjs.map +1 -1
  56. package/dist/components/TreePickerField.d.ts +22 -2
  57. package/dist/components/TreePickerField.d.ts.map +1 -1
  58. package/dist/components/TreePickerField.js +22 -4
  59. package/dist/components/TreePickerField.js.map +1 -1
  60. package/dist/components/TriStateToggle.cjs +53 -0
  61. package/dist/components/TriStateToggle.cjs.map +1 -0
  62. package/dist/components/TriStateToggle.d.ts +27 -0
  63. package/dist/components/TriStateToggle.d.ts.map +1 -0
  64. package/dist/components/TriStateToggle.js +53 -0
  65. package/dist/components/TriStateToggle.js.map +1 -0
  66. package/dist/components/combobox-types.d.ts +16 -1
  67. package/dist/components/combobox-types.d.ts.map +1 -1
  68. package/dist/components/combobox-utils.cjs +26 -0
  69. package/dist/components/combobox-utils.cjs.map +1 -1
  70. package/dist/components/combobox-utils.d.ts +10 -0
  71. package/dist/components/combobox-utils.d.ts.map +1 -1
  72. package/dist/components/combobox-utils.js +26 -0
  73. package/dist/components/combobox-utils.js.map +1 -1
  74. package/dist/components/filter-bar-utils.cjs +5 -0
  75. package/dist/components/filter-bar-utils.cjs.map +1 -1
  76. package/dist/components/filter-bar-utils.d.ts.map +1 -1
  77. package/dist/components/filter-bar-utils.js +5 -0
  78. package/dist/components/filter-bar-utils.js.map +1 -1
  79. package/dist/components/json-schema-form-accordion-array.cjs +290 -0
  80. package/dist/components/json-schema-form-accordion-array.cjs.map +1 -0
  81. package/dist/components/json-schema-form-accordion-array.d.ts +7 -0
  82. package/dist/components/json-schema-form-accordion-array.d.ts.map +1 -0
  83. package/dist/components/json-schema-form-accordion-array.js +290 -0
  84. package/dist/components/json-schema-form-accordion-array.js.map +1 -0
  85. package/dist/components/json-schema-form-array.cjs +99 -110
  86. package/dist/components/json-schema-form-array.cjs.map +1 -1
  87. package/dist/components/json-schema-form-array.d.ts +1 -1
  88. package/dist/components/json-schema-form-array.d.ts.map +1 -1
  89. package/dist/components/json-schema-form-array.js +98 -109
  90. package/dist/components/json-schema-form-array.js.map +1 -1
  91. package/dist/components/json-schema-form-error-display.cjs +4 -2
  92. package/dist/components/json-schema-form-error-display.cjs.map +1 -1
  93. package/dist/components/json-schema-form-error-display.d.ts +4 -2
  94. package/dist/components/json-schema-form-error-display.d.ts.map +1 -1
  95. package/dist/components/json-schema-form-error-display.js +4 -2
  96. package/dist/components/json-schema-form-error-display.js.map +1 -1
  97. package/dist/components/json-schema-form-extensions.cjs +10 -0
  98. package/dist/components/json-schema-form-extensions.cjs.map +1 -0
  99. package/dist/components/json-schema-form-extensions.d.ts +8 -0
  100. package/dist/components/json-schema-form-extensions.d.ts.map +1 -0
  101. package/dist/components/json-schema-form-extensions.js +10 -0
  102. package/dist/components/json-schema-form-extensions.js.map +1 -0
  103. package/dist/components/json-schema-form-fields.cjs +25 -101
  104. package/dist/components/json-schema-form-fields.cjs.map +1 -1
  105. package/dist/components/json-schema-form-fields.d.ts +1 -32
  106. package/dist/components/json-schema-form-fields.d.ts.map +1 -1
  107. package/dist/components/json-schema-form-fields.js +28 -104
  108. package/dist/components/json-schema-form-fields.js.map +1 -1
  109. package/dist/components/json-schema-form-item-summary.cjs +131 -0
  110. package/dist/components/json-schema-form-item-summary.cjs.map +1 -0
  111. package/dist/components/json-schema-form-item-summary.d.ts +13 -0
  112. package/dist/components/json-schema-form-item-summary.d.ts.map +1 -0
  113. package/dist/components/json-schema-form-item-summary.js +131 -0
  114. package/dist/components/json-schema-form-item-summary.js.map +1 -0
  115. package/dist/components/json-schema-form-layout.cjs +156 -0
  116. package/dist/components/json-schema-form-layout.cjs.map +1 -0
  117. package/dist/components/json-schema-form-layout.d.ts +43 -0
  118. package/dist/components/json-schema-form-layout.d.ts.map +1 -0
  119. package/dist/components/json-schema-form-layout.js +156 -0
  120. package/dist/components/json-schema-form-layout.js.map +1 -0
  121. package/dist/components/json-schema-form-lookup-tree.cjs +149 -0
  122. package/dist/components/json-schema-form-lookup-tree.cjs.map +1 -0
  123. package/dist/components/json-schema-form-lookup-tree.d.ts +22 -0
  124. package/dist/components/json-schema-form-lookup-tree.d.ts.map +1 -0
  125. package/dist/components/json-schema-form-lookup-tree.js +149 -0
  126. package/dist/components/json-schema-form-lookup-tree.js.map +1 -0
  127. package/dist/components/json-schema-form-object.cjs +11 -4
  128. package/dist/components/json-schema-form-object.cjs.map +1 -1
  129. package/dist/components/json-schema-form-object.d.ts.map +1 -1
  130. package/dist/components/json-schema-form-object.js +11 -4
  131. package/dist/components/json-schema-form-object.js.map +1 -1
  132. package/dist/components/json-schema-form-render.cjs +51 -28
  133. package/dist/components/json-schema-form-render.cjs.map +1 -1
  134. package/dist/components/json-schema-form-render.d.ts.map +1 -1
  135. package/dist/components/json-schema-form-render.js +51 -28
  136. package/dist/components/json-schema-form-render.js.map +1 -1
  137. package/dist/components/json-schema-form-resolve.cjs +62 -13
  138. package/dist/components/json-schema-form-resolve.cjs.map +1 -1
  139. package/dist/components/json-schema-form-resolve.d.ts +1 -0
  140. package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
  141. package/dist/components/json-schema-form-resolve.js +62 -13
  142. package/dist/components/json-schema-form-resolve.js.map +1 -1
  143. package/dist/components/json-schema-form-table-array.cjs +123 -0
  144. package/dist/components/json-schema-form-table-array.cjs.map +1 -0
  145. package/dist/components/json-schema-form-table-array.d.ts +7 -0
  146. package/dist/components/json-schema-form-table-array.d.ts.map +1 -0
  147. package/dist/components/json-schema-form-table-array.js +123 -0
  148. package/dist/components/json-schema-form-table-array.js.map +1 -0
  149. package/dist/components/json-schema-form-tone.cjs +34 -0
  150. package/dist/components/json-schema-form-tone.cjs.map +1 -0
  151. package/dist/components/json-schema-form-tone.d.ts +8 -0
  152. package/dist/components/json-schema-form-tone.d.ts.map +1 -0
  153. package/dist/components/json-schema-form-tone.js +34 -0
  154. package/dist/components/json-schema-form-tone.js.map +1 -0
  155. package/dist/components/json-schema-form-types.d.ts +79 -10
  156. package/dist/components/json-schema-form-types.d.ts.map +1 -1
  157. package/dist/components/json-schema-form-utils.cjs +47 -4
  158. package/dist/components/json-schema-form-utils.cjs.map +1 -1
  159. package/dist/components/json-schema-form-utils.d.ts +19 -4
  160. package/dist/components/json-schema-form-utils.d.ts.map +1 -1
  161. package/dist/components/json-schema-form-utils.js +47 -4
  162. package/dist/components/json-schema-form-utils.js.map +1 -1
  163. package/dist/components/tri-state.cjs +8 -0
  164. package/dist/components/tri-state.cjs.map +1 -0
  165. package/dist/components/tri-state.d.ts +5 -0
  166. package/dist/components/tri-state.d.ts.map +1 -0
  167. package/dist/components/tri-state.js +8 -0
  168. package/dist/components/tri-state.js.map +1 -0
  169. package/dist/components/useComboboxLayout.cjs +59 -0
  170. package/dist/components/useComboboxLayout.cjs.map +1 -0
  171. package/dist/components/useComboboxLayout.d.ts +5 -0
  172. package/dist/components/useComboboxLayout.d.ts.map +1 -0
  173. package/dist/components/useComboboxLayout.js +59 -0
  174. package/dist/components/useComboboxLayout.js.map +1 -0
  175. package/dist/components.cjs +21 -0
  176. package/dist/components.cjs.map +1 -1
  177. package/dist/components.d.ts +14 -4
  178. package/dist/components.d.ts.map +1 -1
  179. package/dist/components.js +22 -1
  180. package/dist/components.js.map +1 -1
  181. package/dist/data/Clicky.cjs +51 -2
  182. package/dist/data/Clicky.cjs.map +1 -1
  183. package/dist/data/Clicky.d.ts +10 -1
  184. package/dist/data/Clicky.d.ts.map +1 -1
  185. package/dist/data/Clicky.js +51 -2
  186. package/dist/data/Clicky.js.map +1 -1
  187. package/dist/data/DataTable.cjs +215 -63
  188. package/dist/data/DataTable.cjs.map +1 -1
  189. package/dist/data/DataTable.d.ts +65 -3
  190. package/dist/data/DataTable.d.ts.map +1 -1
  191. package/dist/data/DataTable.js +215 -63
  192. package/dist/data/DataTable.js.map +1 -1
  193. package/dist/data/LogsTable.cjs +10 -1
  194. package/dist/data/LogsTable.cjs.map +1 -1
  195. package/dist/data/LogsTable.d.ts +3 -1
  196. package/dist/data/LogsTable.d.ts.map +1 -1
  197. package/dist/data/LogsTable.js +10 -1
  198. package/dist/data/LogsTable.js.map +1 -1
  199. package/dist/data/ServerTimingBadge.cjs +64 -0
  200. package/dist/data/ServerTimingBadge.cjs.map +1 -0
  201. package/dist/data/ServerTimingBadge.d.ts +9 -0
  202. package/dist/data/ServerTimingBadge.d.ts.map +1 -0
  203. package/dist/data/ServerTimingBadge.js +64 -0
  204. package/dist/data/ServerTimingBadge.js.map +1 -0
  205. package/dist/data/TaskManager.cjs +99 -14
  206. package/dist/data/TaskManager.cjs.map +1 -1
  207. package/dist/data/TaskManager.d.ts.map +1 -1
  208. package/dist/data/TaskManager.js +100 -15
  209. package/dist/data/TaskManager.js.map +1 -1
  210. package/dist/data/TaskProgress.cjs +50 -11
  211. package/dist/data/TaskProgress.cjs.map +1 -1
  212. package/dist/data/TaskProgress.d.ts +2 -1
  213. package/dist/data/TaskProgress.d.ts.map +1 -1
  214. package/dist/data/TaskProgress.js +50 -11
  215. package/dist/data/TaskProgress.js.map +1 -1
  216. package/dist/data/ai/AdvancedChatConfig.cjs +289 -0
  217. package/dist/data/ai/AdvancedChatConfig.cjs.map +1 -0
  218. package/dist/data/ai/AdvancedChatConfig.d.ts +21 -0
  219. package/dist/data/ai/AdvancedChatConfig.d.ts.map +1 -0
  220. package/dist/data/ai/AdvancedChatConfig.js +289 -0
  221. package/dist/data/ai/AdvancedChatConfig.js.map +1 -0
  222. package/dist/data/ai/AdvancedCostsPanel.cjs +120 -0
  223. package/dist/data/ai/AdvancedCostsPanel.cjs.map +1 -0
  224. package/dist/data/ai/AdvancedCostsPanel.d.ts +16 -0
  225. package/dist/data/ai/AdvancedCostsPanel.d.ts.map +1 -0
  226. package/dist/data/ai/AdvancedCostsPanel.js +120 -0
  227. package/dist/data/ai/AdvancedCostsPanel.js.map +1 -0
  228. package/dist/data/ai/ChatWindow.catalogs.cjs +74 -0
  229. package/dist/data/ai/ChatWindow.catalogs.cjs.map +1 -0
  230. package/dist/data/ai/ChatWindow.catalogs.d.ts +16 -0
  231. package/dist/data/ai/ChatWindow.catalogs.d.ts.map +1 -0
  232. package/dist/data/ai/ChatWindow.catalogs.js +74 -0
  233. package/dist/data/ai/ChatWindow.catalogs.js.map +1 -0
  234. package/dist/data/ai/ChatWindow.cjs +86 -100
  235. package/dist/data/ai/ChatWindow.cjs.map +1 -1
  236. package/dist/data/ai/ChatWindow.d.ts +1 -1
  237. package/dist/data/ai/ChatWindow.d.ts.map +1 -1
  238. package/dist/data/ai/ChatWindow.js +88 -102
  239. package/dist/data/ai/ChatWindow.js.map +1 -1
  240. package/dist/data/ai/ChatWindow.preferences.cjs.map +1 -1
  241. package/dist/data/ai/ChatWindow.preferences.d.ts +2 -4
  242. package/dist/data/ai/ChatWindow.preferences.d.ts.map +1 -1
  243. package/dist/data/ai/ChatWindow.preferences.js.map +1 -1
  244. package/dist/data/ai/ChatWindow.runtime.cjs +120 -0
  245. package/dist/data/ai/ChatWindow.runtime.cjs.map +1 -0
  246. package/dist/data/ai/ChatWindow.runtime.d.ts +20 -0
  247. package/dist/data/ai/ChatWindow.runtime.d.ts.map +1 -0
  248. package/dist/data/ai/ChatWindow.runtime.js +120 -0
  249. package/dist/data/ai/ChatWindow.runtime.js.map +1 -0
  250. package/dist/data/ai/ChatWindow.thread-status.cjs +14 -0
  251. package/dist/data/ai/ChatWindow.thread-status.cjs.map +1 -0
  252. package/dist/data/ai/ChatWindow.thread-status.d.ts +5 -0
  253. package/dist/data/ai/ChatWindow.thread-status.d.ts.map +1 -0
  254. package/dist/data/ai/ChatWindow.thread-status.js +14 -0
  255. package/dist/data/ai/ChatWindow.thread-status.js.map +1 -0
  256. package/dist/data/ai/ChatWindow.thread.cjs +68 -0
  257. package/dist/data/ai/ChatWindow.thread.cjs.map +1 -0
  258. package/dist/data/ai/ChatWindow.thread.d.ts +16 -0
  259. package/dist/data/ai/ChatWindow.thread.d.ts.map +1 -0
  260. package/dist/data/ai/ChatWindow.thread.js +68 -0
  261. package/dist/data/ai/ChatWindow.thread.js.map +1 -0
  262. package/dist/data/ai/ChatWindow.tool-catalog.cjs +20 -0
  263. package/dist/data/ai/ChatWindow.tool-catalog.cjs.map +1 -1
  264. package/dist/data/ai/ChatWindow.tool-catalog.d.ts +17 -1
  265. package/dist/data/ai/ChatWindow.tool-catalog.d.ts.map +1 -1
  266. package/dist/data/ai/ChatWindow.tool-catalog.js +20 -0
  267. package/dist/data/ai/ChatWindow.tool-catalog.js.map +1 -1
  268. package/dist/data/ai/ChatWindow.types.d.ts +13 -5
  269. package/dist/data/ai/ChatWindow.types.d.ts.map +1 -1
  270. package/dist/data/ai/ChatWindowManager.cjs +3 -1
  271. package/dist/data/ai/ChatWindowManager.cjs.map +1 -1
  272. package/dist/data/ai/ChatWindowManager.d.ts.map +1 -1
  273. package/dist/data/ai/ChatWindowManager.js +3 -1
  274. package/dist/data/ai/ChatWindowManager.js.map +1 -1
  275. package/dist/data/ai/PromptPicker/PromptPicker.cjs +1 -1
  276. package/dist/data/ai/PromptPicker/PromptPicker.cjs.map +1 -1
  277. package/dist/data/ai/PromptPicker/PromptPicker.d.ts +1 -1
  278. package/dist/data/ai/PromptPicker/PromptPicker.d.ts.map +1 -1
  279. package/dist/data/ai/PromptPicker/PromptPicker.js +1 -1
  280. package/dist/data/ai/PromptPicker/PromptPicker.js.map +1 -1
  281. package/dist/data/ai/PromptRunEditor/index.cjs +101 -89
  282. package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
  283. package/dist/data/ai/PromptRunEditor/index.d.ts +6 -10
  284. package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
  285. package/dist/data/ai/PromptRunEditor/index.js +103 -91
  286. package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
  287. package/dist/data/ai/PromptRunEditor/model.cjs +47 -0
  288. package/dist/data/ai/PromptRunEditor/model.cjs.map +1 -0
  289. package/dist/data/ai/PromptRunEditor/model.d.ts +17 -0
  290. package/dist/data/ai/PromptRunEditor/model.d.ts.map +1 -0
  291. package/dist/data/ai/PromptRunEditor/model.js +47 -0
  292. package/dist/data/ai/PromptRunEditor/model.js.map +1 -0
  293. package/dist/data/ai/RuntimeModePicker.cjs +1 -1
  294. package/dist/data/ai/RuntimeModePicker.cjs.map +1 -1
  295. package/dist/data/ai/RuntimeModePicker.d.ts +1 -1
  296. package/dist/data/ai/RuntimeModePicker.d.ts.map +1 -1
  297. package/dist/data/ai/RuntimeModePicker.js +1 -1
  298. package/dist/data/ai/RuntimeModePicker.js.map +1 -1
  299. package/dist/data/ai/SessionInspector.files.cjs +26 -43
  300. package/dist/data/ai/SessionInspector.files.cjs.map +1 -1
  301. package/dist/data/ai/SessionInspector.files.d.ts.map +1 -1
  302. package/dist/data/ai/SessionInspector.files.js +26 -43
  303. package/dist/data/ai/SessionInspector.files.js.map +1 -1
  304. package/dist/data/ai/SessionInspector.hierarchy.cjs +1 -1
  305. package/dist/data/ai/SessionInspector.hierarchy.cjs.map +1 -1
  306. package/dist/data/ai/SessionInspector.hierarchy.js +1 -1
  307. package/dist/data/ai/SessionInspector.hierarchy.js.map +1 -1
  308. package/dist/data/ai/SessionInspector.model.cjs +1 -1
  309. package/dist/data/ai/SessionInspector.model.cjs.map +1 -1
  310. package/dist/data/ai/SessionInspector.model.js +1 -1
  311. package/dist/data/ai/SessionInspector.model.js.map +1 -1
  312. package/dist/data/ai/SessionViewer.header.cjs +17 -9
  313. package/dist/data/ai/SessionViewer.header.cjs.map +1 -1
  314. package/dist/data/ai/SessionViewer.header.d.ts.map +1 -1
  315. package/dist/data/ai/SessionViewer.header.js +17 -9
  316. package/dist/data/ai/SessionViewer.header.js.map +1 -1
  317. package/dist/data/ai/SessionViewer.model.cjs +2 -0
  318. package/dist/data/ai/SessionViewer.model.cjs.map +1 -1
  319. package/dist/data/ai/SessionViewer.model.d.ts +4 -0
  320. package/dist/data/ai/SessionViewer.model.d.ts.map +1 -1
  321. package/dist/data/ai/SessionViewer.model.js +2 -0
  322. package/dist/data/ai/SessionViewer.model.js.map +1 -1
  323. package/dist/data/ai/SessionViewer.rows.cjs +4 -16
  324. package/dist/data/ai/SessionViewer.rows.cjs.map +1 -1
  325. package/dist/data/ai/SessionViewer.rows.d.ts.map +1 -1
  326. package/dist/data/ai/SessionViewer.rows.js +4 -16
  327. package/dist/data/ai/SessionViewer.rows.js.map +1 -1
  328. package/dist/data/ai/SessionViewer.unified.d.ts +1 -0
  329. package/dist/data/ai/SessionViewer.unified.d.ts.map +1 -1
  330. package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs +12 -3
  331. package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs.map +1 -1
  332. package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts +1 -1
  333. package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts.map +1 -1
  334. package/dist/data/ai/SpecRuntimeEditor/ModelSection.js +12 -3
  335. package/dist/data/ai/SpecRuntimeEditor/ModelSection.js.map +1 -1
  336. package/dist/data/ai/SpecRuntimeEditor/VerifySection.cjs.map +1 -1
  337. package/dist/data/ai/SpecRuntimeEditor/VerifySection.d.ts +1 -1
  338. package/dist/data/ai/SpecRuntimeEditor/VerifySection.d.ts.map +1 -1
  339. package/dist/data/ai/SpecRuntimeEditor/VerifySection.js.map +1 -1
  340. package/dist/data/ai/SpecRuntimeEditor/index.cjs.map +1 -1
  341. package/dist/data/ai/SpecRuntimeEditor/index.d.ts +2 -2
  342. package/dist/data/ai/SpecRuntimeEditor/index.d.ts.map +1 -1
  343. package/dist/data/ai/SpecRuntimeEditor/index.js.map +1 -1
  344. package/dist/data/ai/ThreadPicker.cjs +65 -3
  345. package/dist/data/ai/ThreadPicker.cjs.map +1 -1
  346. package/dist/data/ai/ThreadPicker.d.ts +13 -5
  347. package/dist/data/ai/ThreadPicker.d.ts.map +1 -1
  348. package/dist/data/ai/ThreadPicker.js +65 -3
  349. package/dist/data/ai/ThreadPicker.js.map +1 -1
  350. package/dist/data/ai/ToolPreferences.cjs +65 -685
  351. package/dist/data/ai/ToolPreferences.cjs.map +1 -1
  352. package/dist/data/ai/ToolPreferences.d.ts +15 -17
  353. package/dist/data/ai/ToolPreferences.d.ts.map +1 -1
  354. package/dist/data/ai/ToolPreferences.js +64 -683
  355. package/dist/data/ai/ToolPreferences.js.map +1 -1
  356. package/dist/data/ai/ToolPreferences.model.cjs +148 -0
  357. package/dist/data/ai/ToolPreferences.model.cjs.map +1 -0
  358. package/dist/data/ai/ToolPreferences.model.d.ts +31 -0
  359. package/dist/data/ai/ToolPreferences.model.d.ts.map +1 -0
  360. package/dist/data/ai/ToolPreferences.model.js +148 -0
  361. package/dist/data/ai/ToolPreferences.model.js.map +1 -0
  362. package/dist/data/ai/ToolPreferencesList.cjs +270 -0
  363. package/dist/data/ai/ToolPreferencesList.cjs.map +1 -0
  364. package/dist/data/ai/ToolPreferencesList.d.ts +18 -0
  365. package/dist/data/ai/ToolPreferencesList.d.ts.map +1 -0
  366. package/dist/data/ai/ToolPreferencesList.js +270 -0
  367. package/dist/data/ai/ToolPreferencesList.js.map +1 -0
  368. package/dist/data/ai/agent-action-icons.cjs.map +1 -1
  369. package/dist/data/ai/agent-action-icons.js.map +1 -1
  370. package/dist/data/ai/chat-window-context.cjs +4 -1
  371. package/dist/data/ai/chat-window-context.cjs.map +1 -1
  372. package/dist/data/ai/chat-window-context.d.ts +7 -0
  373. package/dist/data/ai/chat-window-context.d.ts.map +1 -1
  374. package/dist/data/ai/chat-window-context.js +4 -1
  375. package/dist/data/ai/chat-window-context.js.map +1 -1
  376. package/dist/data/ai/index.d.ts +7 -3
  377. package/dist/data/ai/index.d.ts.map +1 -1
  378. package/dist/data/ai/session-tones.cjs +67 -0
  379. package/dist/data/ai/session-tones.cjs.map +1 -0
  380. package/dist/data/ai/session-tones.d.ts +34 -0
  381. package/dist/data/ai/session-tones.d.ts.map +1 -0
  382. package/dist/data/ai/session-tones.js +67 -0
  383. package/dist/data/ai/session-tones.js.map +1 -0
  384. package/dist/data/ai/thread-costs.cjs +39 -0
  385. package/dist/data/ai/thread-costs.cjs.map +1 -0
  386. package/dist/data/ai/thread-costs.d.ts +62 -0
  387. package/dist/data/ai/thread-costs.d.ts.map +1 -0
  388. package/dist/data/ai/thread-costs.js +39 -0
  389. package/dist/data/ai/thread-costs.js.map +1 -0
  390. package/dist/data/cells/CellFilterActions.cjs +68 -0
  391. package/dist/data/cells/CellFilterActions.cjs.map +1 -0
  392. package/dist/data/cells/CellFilterActions.d.ts +15 -0
  393. package/dist/data/cells/CellFilterActions.d.ts.map +1 -0
  394. package/dist/data/cells/CellFilterActions.js +68 -0
  395. package/dist/data/cells/CellFilterActions.js.map +1 -0
  396. package/dist/data/chat/Chat.cjs +192 -80
  397. package/dist/data/chat/Chat.cjs.map +1 -1
  398. package/dist/data/chat/Chat.d.ts +24 -4
  399. package/dist/data/chat/Chat.d.ts.map +1 -1
  400. package/dist/data/chat/Chat.fixtures.cjs +48 -3
  401. package/dist/data/chat/Chat.fixtures.cjs.map +1 -1
  402. package/dist/data/chat/Chat.fixtures.d.ts +1 -1
  403. package/dist/data/chat/Chat.fixtures.d.ts.map +1 -1
  404. package/dist/data/chat/Chat.fixtures.js +48 -3
  405. package/dist/data/chat/Chat.fixtures.js.map +1 -1
  406. package/dist/data/chat/Chat.js +195 -83
  407. package/dist/data/chat/Chat.js.map +1 -1
  408. package/dist/data/chat/Chat.runtime.cjs +63 -0
  409. package/dist/data/chat/Chat.runtime.cjs.map +1 -0
  410. package/dist/data/chat/Chat.runtime.d.ts +16 -0
  411. package/dist/data/chat/Chat.runtime.d.ts.map +1 -0
  412. package/dist/data/chat/Chat.runtime.js +63 -0
  413. package/dist/data/chat/Chat.runtime.js.map +1 -0
  414. package/dist/data/chat/ChatRuntimeToolbar.cjs +62 -0
  415. package/dist/data/chat/ChatRuntimeToolbar.cjs.map +1 -0
  416. package/dist/data/chat/ChatRuntimeToolbar.d.ts +14 -0
  417. package/dist/data/chat/ChatRuntimeToolbar.d.ts.map +1 -0
  418. package/dist/data/chat/ChatRuntimeToolbar.js +62 -0
  419. package/dist/data/chat/ChatRuntimeToolbar.js.map +1 -0
  420. package/dist/data/chat/ContextMeter.cjs +144 -73
  421. package/dist/data/chat/ContextMeter.cjs.map +1 -1
  422. package/dist/data/chat/ContextMeter.d.ts +8 -3
  423. package/dist/data/chat/ContextMeter.d.ts.map +1 -1
  424. package/dist/data/chat/ContextMeter.js +144 -73
  425. package/dist/data/chat/ContextMeter.js.map +1 -1
  426. package/dist/data/chat/ToolCall.cjs +86 -24
  427. package/dist/data/chat/ToolCall.cjs.map +1 -1
  428. package/dist/data/chat/ToolCall.d.ts +12 -5
  429. package/dist/data/chat/ToolCall.d.ts.map +1 -1
  430. package/dist/data/chat/ToolCall.js +86 -24
  431. package/dist/data/chat/ToolCall.js.map +1 -1
  432. package/dist/data/chat/approval.cjs +64 -0
  433. package/dist/data/chat/approval.cjs.map +1 -0
  434. package/dist/data/chat/approval.d.ts +18 -0
  435. package/dist/data/chat/approval.d.ts.map +1 -0
  436. package/dist/data/chat/approval.js +64 -0
  437. package/dist/data/chat/approval.js.map +1 -0
  438. package/dist/data/chat/index.d.ts +5 -3
  439. package/dist/data/chat/index.d.ts.map +1 -1
  440. package/dist/data/chat/tool-render/ToolArgs.cjs +50 -0
  441. package/dist/data/chat/tool-render/ToolArgs.cjs.map +1 -0
  442. package/dist/data/chat/tool-render/ToolArgs.d.ts +7 -0
  443. package/dist/data/chat/tool-render/ToolArgs.d.ts.map +1 -0
  444. package/dist/data/chat/tool-render/ToolArgs.js +50 -0
  445. package/dist/data/chat/tool-render/ToolArgs.js.map +1 -0
  446. package/dist/data/chat/tool-render/ToolParams.cjs +155 -0
  447. package/dist/data/chat/tool-render/ToolParams.cjs.map +1 -0
  448. package/dist/data/chat/tool-render/ToolParams.d.ts +20 -0
  449. package/dist/data/chat/tool-render/ToolParams.d.ts.map +1 -0
  450. package/dist/data/chat/tool-render/ToolParams.js +155 -0
  451. package/dist/data/chat/tool-render/ToolParams.js.map +1 -0
  452. package/dist/data/chat/tool-render/ToolValue.cjs +140 -0
  453. package/dist/data/chat/tool-render/ToolValue.cjs.map +1 -0
  454. package/dist/data/chat/tool-render/ToolValue.d.ts +16 -0
  455. package/dist/data/chat/tool-render/ToolValue.d.ts.map +1 -0
  456. package/dist/data/chat/tool-render/ToolValue.js +140 -0
  457. package/dist/data/chat/tool-render/ToolValue.js.map +1 -0
  458. package/dist/data/chat/tool-render/adapter.cjs +48 -0
  459. package/dist/data/chat/tool-render/adapter.cjs.map +1 -0
  460. package/dist/data/chat/tool-render/adapter.d.ts +57 -0
  461. package/dist/data/chat/tool-render/adapter.d.ts.map +1 -0
  462. package/dist/data/chat/tool-render/adapter.js +48 -0
  463. package/dist/data/chat/tool-render/adapter.js.map +1 -0
  464. package/dist/data/chat/tool-render/context.cjs +16 -0
  465. package/dist/data/chat/tool-render/context.cjs.map +1 -0
  466. package/dist/data/chat/tool-render/context.d.ts +6 -0
  467. package/dist/data/chat/tool-render/context.d.ts.map +1 -0
  468. package/dist/data/chat/tool-render/context.js +16 -0
  469. package/dist/data/chat/tool-render/context.js.map +1 -0
  470. package/dist/data/chat/tool-render/defaults.cjs +45 -0
  471. package/dist/data/chat/tool-render/defaults.cjs.map +1 -0
  472. package/dist/data/chat/tool-render/defaults.d.ts +11 -0
  473. package/dist/data/chat/tool-render/defaults.d.ts.map +1 -0
  474. package/dist/data/chat/tool-render/defaults.js +45 -0
  475. package/dist/data/chat/tool-render/defaults.js.map +1 -0
  476. package/dist/data/chat/tool-render/index.d.ts +13 -0
  477. package/dist/data/chat/tool-render/index.d.ts.map +1 -0
  478. package/dist/data/chat/tool-render/known-tool-views.cjs +208 -0
  479. package/dist/data/chat/tool-render/known-tool-views.cjs.map +1 -0
  480. package/dist/data/chat/tool-render/known-tool-views.d.ts +10 -0
  481. package/dist/data/chat/tool-render/known-tool-views.d.ts.map +1 -0
  482. package/dist/data/chat/tool-render/known-tool-views.js +208 -0
  483. package/dist/data/chat/tool-render/known-tool-views.js.map +1 -0
  484. package/dist/data/chat/tool-render/known-tools.cjs +58 -0
  485. package/dist/data/chat/tool-render/known-tools.cjs.map +1 -0
  486. package/dist/data/chat/tool-render/known-tools.d.ts +4 -0
  487. package/dist/data/chat/tool-render/known-tools.d.ts.map +1 -0
  488. package/dist/data/chat/tool-render/known-tools.js +58 -0
  489. package/dist/data/chat/tool-render/known-tools.js.map +1 -0
  490. package/dist/data/chat/tool-render/normalize.cjs +42 -0
  491. package/dist/data/chat/tool-render/normalize.cjs.map +1 -0
  492. package/dist/data/chat/tool-render/normalize.d.ts +13 -0
  493. package/dist/data/chat/tool-render/normalize.d.ts.map +1 -0
  494. package/dist/data/chat/tool-render/normalize.js +42 -0
  495. package/dist/data/chat/tool-render/normalize.js.map +1 -0
  496. package/dist/data/chat/tool-render/registry.cjs +14 -0
  497. package/dist/data/chat/tool-render/registry.cjs.map +1 -0
  498. package/dist/data/chat/tool-render/registry.d.ts +7 -0
  499. package/dist/data/chat/tool-render/registry.d.ts.map +1 -0
  500. package/dist/data/chat/tool-render/registry.js +14 -0
  501. package/dist/data/chat/tool-render/registry.js.map +1 -0
  502. package/dist/data/chat/tool-render/schema.cjs +57 -0
  503. package/dist/data/chat/tool-render/schema.cjs.map +1 -0
  504. package/dist/data/chat/tool-render/schema.d.ts +28 -0
  505. package/dist/data/chat/tool-render/schema.d.ts.map +1 -0
  506. package/dist/data/chat/tool-render/schema.js +57 -0
  507. package/dist/data/chat/tool-render/schema.js.map +1 -0
  508. package/dist/data/chat/tool-render/shape.cjs +94 -0
  509. package/dist/data/chat/tool-render/shape.cjs.map +1 -0
  510. package/dist/data/chat/tool-render/shape.d.ts +39 -0
  511. package/dist/data/chat/tool-render/shape.d.ts.map +1 -0
  512. package/dist/data/chat/tool-render/shape.js +94 -0
  513. package/dist/data/chat/tool-render/shape.js.map +1 -0
  514. package/dist/data/chat/tool-render/summary.cjs +34 -0
  515. package/dist/data/chat/tool-render/summary.cjs.map +1 -0
  516. package/dist/data/chat/tool-render/summary.d.ts +8 -0
  517. package/dist/data/chat/tool-render/summary.d.ts.map +1 -0
  518. package/dist/data/chat/tool-render/summary.js +34 -0
  519. package/dist/data/chat/tool-render/summary.js.map +1 -0
  520. package/dist/data/chat/types.cjs.map +1 -1
  521. package/dist/data/chat/types.d.ts +19 -0
  522. package/dist/data/chat/types.d.ts.map +1 -1
  523. package/dist/data/chat/types.js.map +1 -1
  524. package/dist/data/chat/usage-snapshot.cjs +17 -0
  525. package/dist/data/chat/usage-snapshot.cjs.map +1 -0
  526. package/dist/data/chat/usage-snapshot.d.ts +21 -0
  527. package/dist/data/chat/usage-snapshot.d.ts.map +1 -0
  528. package/dist/data/chat/usage-snapshot.js +17 -0
  529. package/dist/data/chat/usage-snapshot.js.map +1 -0
  530. package/dist/data/data-table-filter-values.cjs +83 -0
  531. package/dist/data/data-table-filter-values.cjs.map +1 -0
  532. package/dist/data/data-table-filter-values.d.ts +18 -0
  533. package/dist/data/data-table-filter-values.d.ts.map +1 -0
  534. package/dist/data/data-table-filter-values.js +83 -0
  535. package/dist/data/data-table-filter-values.js.map +1 -0
  536. package/dist/data/data-table-server-filters.cjs +171 -0
  537. package/dist/data/data-table-server-filters.cjs.map +1 -0
  538. package/dist/data/data-table-server-filters.d.ts +128 -0
  539. package/dist/data/data-table-server-filters.d.ts.map +1 -0
  540. package/dist/data/data-table-server-filters.js +171 -0
  541. package/dist/data/data-table-server-filters.js.map +1 -0
  542. package/dist/data/query-browser/QueryBrowser.cjs +96 -19
  543. package/dist/data/query-browser/QueryBrowser.cjs.map +1 -1
  544. package/dist/data/query-browser/QueryBrowser.d.ts +37 -6
  545. package/dist/data/query-browser/QueryBrowser.d.ts.map +1 -1
  546. package/dist/data/query-browser/QueryBrowser.js +96 -19
  547. package/dist/data/query-browser/QueryBrowser.js.map +1 -1
  548. package/dist/data/query-browser/index.d.ts +1 -1
  549. package/dist/data/query-browser/index.d.ts.map +1 -1
  550. package/dist/data/runtime/ProviderStatusPanel.cjs +187 -0
  551. package/dist/data/runtime/ProviderStatusPanel.cjs.map +1 -0
  552. package/dist/data/runtime/ProviderStatusPanel.d.ts +10 -0
  553. package/dist/data/runtime/ProviderStatusPanel.d.ts.map +1 -0
  554. package/dist/data/runtime/ProviderStatusPanel.js +187 -0
  555. package/dist/data/runtime/ProviderStatusPanel.js.map +1 -0
  556. package/dist/data/runtime/RuntimeBar.cjs +147 -0
  557. package/dist/data/runtime/RuntimeBar.cjs.map +1 -0
  558. package/dist/data/runtime/RuntimeBar.d.ts +22 -0
  559. package/dist/data/runtime/RuntimeBar.d.ts.map +1 -0
  560. package/dist/data/runtime/RuntimeBar.js +147 -0
  561. package/dist/data/runtime/RuntimeBar.js.map +1 -0
  562. package/dist/data/runtime/RuntimeBar.model.cjs +14 -0
  563. package/dist/data/runtime/RuntimeBar.model.cjs.map +1 -0
  564. package/dist/data/runtime/RuntimeBar.model.d.ts +10 -0
  565. package/dist/data/runtime/RuntimeBar.model.d.ts.map +1 -0
  566. package/dist/data/runtime/RuntimeBar.model.js +14 -0
  567. package/dist/data/runtime/RuntimeBar.model.js.map +1 -0
  568. package/dist/data/runtime/RuntimeBarCombo.cjs +354 -0
  569. package/dist/data/runtime/RuntimeBarCombo.cjs.map +1 -0
  570. package/dist/data/runtime/RuntimeBarCombo.d.ts +23 -0
  571. package/dist/data/runtime/RuntimeBarCombo.d.ts.map +1 -0
  572. package/dist/data/runtime/RuntimeBarCombo.js +354 -0
  573. package/dist/data/runtime/RuntimeBarCombo.js.map +1 -0
  574. package/dist/data/{ai/RuntimeBar.cjs → runtime/RuntimeBarSegments.cjs} +93 -87
  575. package/dist/data/runtime/RuntimeBarSegments.cjs.map +1 -0
  576. package/dist/data/runtime/RuntimeBarSegments.d.ts +25 -0
  577. package/dist/data/runtime/RuntimeBarSegments.d.ts.map +1 -0
  578. package/dist/data/{ai/RuntimeBar.js → runtime/RuntimeBarSegments.js} +96 -90
  579. package/dist/data/runtime/RuntimeBarSegments.js.map +1 -0
  580. package/dist/data/runtime/availability.cjs +11 -0
  581. package/dist/data/runtime/availability.cjs.map +1 -0
  582. package/dist/data/runtime/availability.d.ts +6 -0
  583. package/dist/data/runtime/availability.d.ts.map +1 -0
  584. package/dist/data/runtime/availability.js +11 -0
  585. package/dist/data/runtime/availability.js.map +1 -0
  586. package/dist/data/{ai → runtime}/model-capabilities.cjs +12 -1
  587. package/dist/data/runtime/model-capabilities.cjs.map +1 -0
  588. package/dist/data/{ai → runtime}/model-capabilities.d.ts +2 -6
  589. package/dist/data/runtime/model-capabilities.d.ts.map +1 -0
  590. package/dist/data/{ai → runtime}/model-capabilities.js +12 -1
  591. package/dist/data/runtime/model-capabilities.js.map +1 -0
  592. package/dist/data/runtime/provider-status.cjs +106 -0
  593. package/dist/data/runtime/provider-status.cjs.map +1 -0
  594. package/dist/data/runtime/provider-status.d.ts +24 -0
  595. package/dist/data/runtime/provider-status.d.ts.map +1 -0
  596. package/dist/data/runtime/provider-status.js +106 -0
  597. package/dist/data/runtime/provider-status.js.map +1 -0
  598. package/dist/data/{ai → runtime}/runtime-mode.cjs +123 -22
  599. package/dist/data/runtime/runtime-mode.cjs.map +1 -0
  600. package/dist/data/{ai → runtime}/runtime-mode.d.ts +8 -1
  601. package/dist/data/runtime/runtime-mode.d.ts.map +1 -0
  602. package/dist/data/{ai → runtime}/runtime-mode.js +123 -22
  603. package/dist/data/runtime/runtime-mode.js.map +1 -0
  604. package/dist/data/server-timing.cjs +120 -0
  605. package/dist/data/server-timing.cjs.map +1 -0
  606. package/dist/data/server-timing.d.ts +11 -0
  607. package/dist/data/server-timing.d.ts.map +1 -0
  608. package/dist/data/server-timing.js +120 -0
  609. package/dist/data/server-timing.js.map +1 -0
  610. package/dist/data/task-query-keys.cjs +26 -0
  611. package/dist/data/task-query-keys.cjs.map +1 -0
  612. package/dist/data/task-query-keys.d.ts +27 -0
  613. package/dist/data/task-query-keys.d.ts.map +1 -0
  614. package/dist/data/task-query-keys.js +26 -0
  615. package/dist/data/task-query-keys.js.map +1 -0
  616. package/dist/data/version-info.cjs +3 -3
  617. package/dist/data/version-info.js +3 -3
  618. package/dist/data.cjs +23 -0
  619. package/dist/data.cjs.map +1 -1
  620. package/dist/data.d.ts +8 -2
  621. package/dist/data.d.ts.map +1 -1
  622. package/dist/data.js +23 -0
  623. package/dist/data.js.map +1 -1
  624. package/dist/hooks/use-hotkey.cjs +6 -1
  625. package/dist/hooks/use-hotkey.cjs.map +1 -1
  626. package/dist/hooks/use-hotkey.d.ts.map +1 -1
  627. package/dist/hooks/use-hotkey.js +6 -1
  628. package/dist/hooks/use-hotkey.js.map +1 -1
  629. package/dist/hooks/use-task-run.cjs +7 -4
  630. package/dist/hooks/use-task-run.cjs.map +1 -1
  631. package/dist/hooks/use-task-run.d.ts +12 -0
  632. package/dist/hooks/use-task-run.d.ts.map +1 -1
  633. package/dist/hooks/use-task-run.js +7 -4
  634. package/dist/hooks/use-task-run.js.map +1 -1
  635. package/dist/icons/index.d.ts +1 -0
  636. package/dist/icons/index.d.ts.map +1 -1
  637. package/dist/icons/registry.cjs +692 -0
  638. package/dist/icons/registry.cjs.map +1 -0
  639. package/dist/icons/registry.d.ts +21 -0
  640. package/dist/icons/registry.d.ts.map +1 -0
  641. package/dist/icons/registry.js +692 -0
  642. package/dist/icons/registry.js.map +1 -0
  643. package/dist/icons.cjs +3 -0
  644. package/dist/icons.cjs.map +1 -1
  645. package/dist/icons.js +4 -1
  646. package/dist/icons.js.map +1 -1
  647. package/dist/index.cjs +54 -0
  648. package/dist/index.cjs.map +1 -1
  649. package/dist/index.js +56 -2
  650. package/dist/index.js.map +1 -1
  651. package/dist/layout/AppShell.cjs +93 -57
  652. package/dist/layout/AppShell.cjs.map +1 -1
  653. package/dist/layout/AppShell.d.ts +49 -1
  654. package/dist/layout/AppShell.d.ts.map +1 -1
  655. package/dist/layout/AppShell.js +93 -57
  656. package/dist/layout/AppShell.js.map +1 -1
  657. package/dist/layout/AppShell.nav.cjs +144 -19
  658. package/dist/layout/AppShell.nav.cjs.map +1 -1
  659. package/dist/layout/AppShell.nav.d.ts +6 -1
  660. package/dist/layout/AppShell.nav.d.ts.map +1 -1
  661. package/dist/layout/AppShell.nav.js +144 -19
  662. package/dist/layout/AppShell.nav.js.map +1 -1
  663. package/dist/layout/SplitPane.cjs +23 -7
  664. package/dist/layout/SplitPane.cjs.map +1 -1
  665. package/dist/layout/SplitPane.d.ts +3 -1
  666. package/dist/layout/SplitPane.d.ts.map +1 -1
  667. package/dist/layout/SplitPane.js +23 -7
  668. package/dist/layout/SplitPane.js.map +1 -1
  669. package/dist/lib/format.cjs +86 -4
  670. package/dist/lib/format.cjs.map +1 -1
  671. package/dist/lib/format.d.ts +69 -0
  672. package/dist/lib/format.d.ts.map +1 -1
  673. package/dist/lib/format.js +86 -4
  674. package/dist/lib/format.js.map +1 -1
  675. package/dist/lib/path-tree.cjs +69 -0
  676. package/dist/lib/path-tree.cjs.map +1 -0
  677. package/dist/lib/path-tree.d.ts +54 -0
  678. package/dist/lib/path-tree.d.ts.map +1 -0
  679. package/dist/lib/path-tree.js +69 -0
  680. package/dist/lib/path-tree.js.map +1 -0
  681. package/dist/monaco.d.ts +1 -0
  682. package/dist/monaco.d.ts.map +1 -1
  683. package/dist/overlay/DropdownMenuSubmenu.cjs +13 -7
  684. package/dist/overlay/DropdownMenuSubmenu.cjs.map +1 -1
  685. package/dist/overlay/DropdownMenuSubmenu.d.ts.map +1 -1
  686. package/dist/overlay/DropdownMenuSubmenu.js +13 -7
  687. package/dist/overlay/DropdownMenuSubmenu.js.map +1 -1
  688. package/dist/overlay/HoverCard.cjs.map +1 -1
  689. package/dist/overlay/HoverCard.d.ts +2 -2
  690. package/dist/overlay/HoverCard.d.ts.map +1 -1
  691. package/dist/overlay/HoverCard.js.map +1 -1
  692. package/dist/overlay/Tour.cjs +173 -0
  693. package/dist/overlay/Tour.cjs.map +1 -0
  694. package/dist/overlay/Tour.d.ts +61 -0
  695. package/dist/overlay/Tour.d.ts.map +1 -0
  696. package/dist/overlay/Tour.js +173 -0
  697. package/dist/overlay/Tour.js.map +1 -0
  698. package/dist/overlay/TourCard.cjs +108 -0
  699. package/dist/overlay/TourCard.cjs.map +1 -0
  700. package/dist/overlay/TourCard.d.ts +23 -0
  701. package/dist/overlay/TourCard.d.ts.map +1 -0
  702. package/dist/overlay/TourCard.js +108 -0
  703. package/dist/overlay/TourCard.js.map +1 -0
  704. package/dist/overlay/TourProvider.cjs +160 -0
  705. package/dist/overlay/TourProvider.cjs.map +1 -0
  706. package/dist/overlay/TourProvider.d.ts +31 -0
  707. package/dist/overlay/TourProvider.d.ts.map +1 -0
  708. package/dist/overlay/TourProvider.js +160 -0
  709. package/dist/overlay/TourProvider.js.map +1 -0
  710. package/dist/overlay/TourSpotlight.cjs +47 -0
  711. package/dist/overlay/TourSpotlight.cjs.map +1 -0
  712. package/dist/overlay/TourSpotlight.d.ts +12 -0
  713. package/dist/overlay/TourSpotlight.d.ts.map +1 -0
  714. package/dist/overlay/TourSpotlight.js +47 -0
  715. package/dist/overlay/TourSpotlight.js.map +1 -0
  716. package/dist/overlay/modalStack.cjs +18 -4
  717. package/dist/overlay/modalStack.cjs.map +1 -1
  718. package/dist/overlay/modalStack.d.ts +10 -2
  719. package/dist/overlay/modalStack.d.ts.map +1 -1
  720. package/dist/overlay/modalStack.js +19 -5
  721. package/dist/overlay/modalStack.js.map +1 -1
  722. package/dist/overlay/tour-anchor.cjs +114 -0
  723. package/dist/overlay/tour-anchor.cjs.map +1 -0
  724. package/dist/overlay/tour-anchor.d.ts +30 -0
  725. package/dist/overlay/tour-anchor.d.ts.map +1 -0
  726. package/dist/overlay/tour-anchor.js +114 -0
  727. package/dist/overlay/tour-anchor.js.map +1 -0
  728. package/dist/overlay/tour-context.cjs +12 -0
  729. package/dist/overlay/tour-context.cjs.map +1 -0
  730. package/dist/overlay/tour-context.d.ts +40 -0
  731. package/dist/overlay/tour-context.d.ts.map +1 -0
  732. package/dist/overlay/tour-context.js +12 -0
  733. package/dist/overlay/tour-context.js.map +1 -0
  734. package/dist/overlay/tour-geometry.cjs +65 -0
  735. package/dist/overlay/tour-geometry.cjs.map +1 -0
  736. package/dist/overlay/tour-geometry.d.ts +47 -0
  737. package/dist/overlay/tour-geometry.d.ts.map +1 -0
  738. package/dist/overlay/tour-geometry.js +65 -0
  739. package/dist/overlay/tour-geometry.js.map +1 -0
  740. package/dist/overlay/tour-model.cjs +79 -0
  741. package/dist/overlay/tour-model.cjs.map +1 -0
  742. package/dist/overlay/tour-model.d.ts +29 -0
  743. package/dist/overlay/tour-model.d.ts.map +1 -0
  744. package/dist/overlay/tour-model.js +79 -0
  745. package/dist/overlay/tour-model.js.map +1 -0
  746. package/dist/overlay/tour-progress.cjs +54 -0
  747. package/dist/overlay/tour-progress.cjs.map +1 -0
  748. package/dist/overlay/tour-progress.d.ts +40 -0
  749. package/dist/overlay/tour-progress.d.ts.map +1 -0
  750. package/dist/overlay/tour-progress.js +54 -0
  751. package/dist/overlay/tour-progress.js.map +1 -0
  752. package/dist/overlay/tour-types.d.ts +144 -0
  753. package/dist/overlay/tour-types.d.ts.map +1 -0
  754. package/dist/overlay/use-tour-anchor.cjs +43 -0
  755. package/dist/overlay/use-tour-anchor.cjs.map +1 -0
  756. package/dist/overlay/use-tour-anchor.d.ts +23 -0
  757. package/dist/overlay/use-tour-anchor.d.ts.map +1 -0
  758. package/dist/overlay/use-tour-anchor.js +43 -0
  759. package/dist/overlay/use-tour-anchor.js.map +1 -0
  760. package/dist/overlay/use-tour-rect.cjs +33 -0
  761. package/dist/overlay/use-tour-rect.cjs.map +1 -0
  762. package/dist/overlay/use-tour-rect.d.ts +12 -0
  763. package/dist/overlay/use-tour-rect.d.ts.map +1 -0
  764. package/dist/overlay/use-tour-rect.js +33 -0
  765. package/dist/overlay/use-tour-rect.js.map +1 -0
  766. package/dist/overlay/use-tour-step.cjs +66 -0
  767. package/dist/overlay/use-tour-step.cjs.map +1 -0
  768. package/dist/overlay/use-tour-step.d.ts +45 -0
  769. package/dist/overlay/use-tour-step.d.ts.map +1 -0
  770. package/dist/overlay/use-tour-step.js +66 -0
  771. package/dist/overlay/use-tour-step.js.map +1 -0
  772. package/dist/overlay/zIndex.cjs +8 -0
  773. package/dist/overlay/zIndex.cjs.map +1 -1
  774. package/dist/overlay/zIndex.d.ts +8 -0
  775. package/dist/overlay/zIndex.d.ts.map +1 -1
  776. package/dist/overlay/zIndex.js +8 -0
  777. package/dist/overlay/zIndex.js.map +1 -1
  778. package/dist/rpc/CommandOutput.cjs +8 -0
  779. package/dist/rpc/CommandOutput.cjs.map +1 -1
  780. package/dist/rpc/CommandOutput.d.ts +4 -1
  781. package/dist/rpc/CommandOutput.d.ts.map +1 -1
  782. package/dist/rpc/CommandOutput.js +8 -0
  783. package/dist/rpc/CommandOutput.js.map +1 -1
  784. package/dist/rpc/EntityExplorerApp.cjs +10 -16
  785. package/dist/rpc/EntityExplorerApp.cjs.map +1 -1
  786. package/dist/rpc/EntityExplorerApp.d.ts.map +1 -1
  787. package/dist/rpc/EntityExplorerApp.js +10 -16
  788. package/dist/rpc/EntityExplorerApp.js.map +1 -1
  789. package/dist/rpc/OperationActionBar.cjs +1 -1
  790. package/dist/rpc/OperationActionBar.cjs.map +1 -1
  791. package/dist/rpc/OperationActionBar.js +1 -1
  792. package/dist/rpc/OperationActionBar.js.map +1 -1
  793. package/dist/rpc/OperationCatalog.cjs +111 -58
  794. package/dist/rpc/OperationCatalog.cjs.map +1 -1
  795. package/dist/rpc/OperationCatalog.d.ts +1 -6
  796. package/dist/rpc/OperationCatalog.d.ts.map +1 -1
  797. package/dist/rpc/OperationCatalog.js +112 -59
  798. package/dist/rpc/OperationCatalog.js.map +1 -1
  799. package/dist/rpc/OperationResultView.cjs +44 -0
  800. package/dist/rpc/OperationResultView.cjs.map +1 -1
  801. package/dist/rpc/OperationResultView.d.ts +8 -1
  802. package/dist/rpc/OperationResultView.d.ts.map +1 -1
  803. package/dist/rpc/OperationResultView.js +44 -0
  804. package/dist/rpc/OperationResultView.js.map +1 -1
  805. package/dist/rpc/SchemaActionForm.cjs +2 -21
  806. package/dist/rpc/SchemaActionForm.cjs.map +1 -1
  807. package/dist/rpc/SchemaActionForm.d.ts.map +1 -1
  808. package/dist/rpc/SchemaActionForm.js +3 -22
  809. package/dist/rpc/SchemaActionForm.js.map +1 -1
  810. package/dist/rpc/apiClient.cjs +16 -2
  811. package/dist/rpc/apiClient.cjs.map +1 -1
  812. package/dist/rpc/apiClient.d.ts.map +1 -1
  813. package/dist/rpc/apiClient.js +16 -2
  814. package/dist/rpc/apiClient.js.map +1 -1
  815. package/dist/rpc/formMetadata.cjs +89 -49
  816. package/dist/rpc/formMetadata.cjs.map +1 -1
  817. package/dist/rpc/formMetadata.d.ts +14 -6
  818. package/dist/rpc/formMetadata.d.ts.map +1 -1
  819. package/dist/rpc/formMetadata.js +87 -47
  820. package/dist/rpc/formMetadata.js.map +1 -1
  821. package/dist/rpc/operationFilterSearch.cjs +23 -0
  822. package/dist/rpc/operationFilterSearch.cjs.map +1 -0
  823. package/dist/rpc/operationFilterSearch.d.ts +22 -0
  824. package/dist/rpc/operationFilterSearch.d.ts.map +1 -0
  825. package/dist/rpc/operationFilterSearch.js +23 -0
  826. package/dist/rpc/operationFilterSearch.js.map +1 -0
  827. package/dist/rpc/operationLookupFetcher.cjs +28 -0
  828. package/dist/rpc/operationLookupFetcher.cjs.map +1 -0
  829. package/dist/rpc/operationLookupFetcher.d.ts +17 -0
  830. package/dist/rpc/operationLookupFetcher.d.ts.map +1 -0
  831. package/dist/rpc/operationLookupFetcher.js +28 -0
  832. package/dist/rpc/operationLookupFetcher.js.map +1 -0
  833. package/dist/rpc/surfaceNav.cjs +77 -0
  834. package/dist/rpc/surfaceNav.cjs.map +1 -0
  835. package/dist/rpc/surfaceNav.d.ts +19 -0
  836. package/dist/rpc/surfaceNav.d.ts.map +1 -0
  837. package/dist/rpc/surfaceNav.js +77 -0
  838. package/dist/rpc/surfaceNav.js.map +1 -0
  839. package/dist/rpc/types.cjs.map +1 -1
  840. package/dist/rpc/types.d.ts +12 -1
  841. package/dist/rpc/types.d.ts.map +1 -1
  842. package/dist/rpc/types.js.map +1 -1
  843. package/dist/rpc.cjs +2 -0
  844. package/dist/rpc.cjs.map +1 -1
  845. package/dist/rpc.d.ts +1 -0
  846. package/dist/rpc.d.ts.map +1 -1
  847. package/dist/rpc.js +2 -0
  848. package/dist/rpc.js.map +1 -1
  849. package/dist/styles.css +1 -1
  850. package/dist/tailwind-preset.cjs +4 -0
  851. package/dist/tailwind-preset.cjs.map +1 -1
  852. package/dist/tailwind-preset.d.ts.map +1 -1
  853. package/dist/tailwind-preset.js +4 -0
  854. package/dist/tailwind-preset.js.map +1 -1
  855. package/dist/utils.cjs +8 -0
  856. package/dist/utils.cjs.map +1 -1
  857. package/dist/utils.d.ts +2 -1
  858. package/dist/utils.d.ts.map +1 -1
  859. package/dist/utils.js +10 -2
  860. package/dist/utils.js.map +1 -1
  861. package/package.json +1 -1
  862. package/dist/data/ai/RuntimeBar.cjs.map +0 -1
  863. package/dist/data/ai/RuntimeBar.d.ts +0 -27
  864. package/dist/data/ai/RuntimeBar.d.ts.map +0 -1
  865. package/dist/data/ai/RuntimeBar.js.map +0 -1
  866. package/dist/data/ai/model-capabilities.cjs.map +0 -1
  867. package/dist/data/ai/model-capabilities.d.ts.map +0 -1
  868. package/dist/data/ai/model-capabilities.js.map +0 -1
  869. package/dist/data/ai/runtime-mode.cjs.map +0 -1
  870. package/dist/data/ai/runtime-mode.d.ts.map +0 -1
  871. package/dist/data/ai/runtime-mode.js.map +0 -1
@@ -0,0 +1,26 @@
1
+ const taskQueryKeys = {
2
+ runs: ({ basePath, kind, status, labels }) => [
3
+ "tasks",
4
+ "runs",
5
+ {
6
+ basePath: basePath ?? "/api/v1",
7
+ kind: kind ?? "",
8
+ status: status ?? "",
9
+ labels: Object.entries(labels ?? {}).sort(([left], [right]) => left.localeCompare(right))
10
+ }
11
+ ],
12
+ run: ({ basePath, runId }) => [
13
+ "tasks",
14
+ "run",
15
+ { basePath: basePath ?? "/api/v1", runId }
16
+ ],
17
+ control: ({ basePath, runId }) => [
18
+ "tasks",
19
+ "control",
20
+ { basePath: basePath ?? "/api/v1", runId }
21
+ ]
22
+ };
23
+ export {
24
+ taskQueryKeys
25
+ };
26
+ //# sourceMappingURL=task-query-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-query-keys.js","sources":["../../src/data/task-query-keys.ts"],"sourcesContent":["export interface TaskRunsQueryKeyOptions {\n basePath?: string | undefined;\n kind?: string | undefined;\n status?: string | undefined;\n labels?: Record<string, string> | undefined;\n}\n\nexport interface TaskRunQueryKeyOptions {\n basePath?: string | undefined;\n runId: string;\n}\n\nexport const taskQueryKeys = {\n runs: ({ basePath, kind, status, labels }: TaskRunsQueryKeyOptions) => [\n \"tasks\",\n \"runs\",\n {\n basePath: basePath ?? \"/api/v1\",\n kind: kind ?? \"\",\n status: status ?? \"\",\n labels: Object.entries(labels ?? {}).sort(([left], [right]) => left.localeCompare(right)),\n },\n ] as const,\n run: ({ basePath, runId }: TaskRunQueryKeyOptions) => [\n \"tasks\",\n \"run\",\n { basePath: basePath ?? \"/api/v1\", runId },\n ] as const,\n control: ({ basePath, runId }: TaskRunQueryKeyOptions) => [\n \"tasks\",\n \"control\",\n { basePath: basePath ?? \"/api/v1\", runId },\n ] as const,\n};\n"],"names":[],"mappings":"AAYO,MAAM,gBAAgB;AAAA,EAC3B,MAAM,CAAC,EAAE,UAAU,MAAM,QAAQ,aAAsC;AAAA,IACrE;AAAA,IACA;AAAA,IACA;AAAA,MACE,UAAU,YAAY;AAAA,MACtB,MAAM,QAAQ;AAAA,MACd,QAAQ,UAAU;AAAA,MAClB,QAAQ,OAAO,QAAQ,UAAU,CAAA,CAAE,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,MAAM,KAAK,cAAc,KAAK,CAAC;AAAA,IAAA;AAAA,EAC1F;AAAA,EAEF,KAAK,CAAC,EAAE,UAAU,YAAoC;AAAA,IACpD;AAAA,IACA;AAAA,IACA,EAAE,UAAU,YAAY,WAAW,MAAA;AAAA,EAAM;AAAA,EAE3C,SAAS,CAAC,EAAE,UAAU,YAAoC;AAAA,IACxD;AAAA,IACA;AAAA,IACA,EAAE,UAAU,YAAY,WAAW,MAAA;AAAA,EAAM;AAE7C;"}
@@ -15,9 +15,9 @@ function detectMode() {
15
15
  }
16
16
  function getVersionInfo() {
17
17
  return {
18
- commit: read(() => "d94d142e", ""),
19
- tag: read(() => "clicky-ui@0.3.14", ""),
20
- date: read(() => "2026-07-30T10:30:06.156Z", ""),
18
+ commit: read(() => "1cc7ff53", ""),
19
+ tag: read(() => "clicky-ui@0.3.17", ""),
20
+ date: read(() => "2026-08-07T05:49:35.093Z", ""),
21
21
  dirty: read(() => true, false),
22
22
  mode: detectMode()
23
23
  };
@@ -13,9 +13,9 @@ function detectMode() {
13
13
  }
14
14
  function getVersionInfo() {
15
15
  return {
16
- commit: read(() => "d94d142e", ""),
17
- tag: read(() => "clicky-ui@0.3.14", ""),
18
- date: read(() => "2026-07-30T10:29:47.240Z", ""),
16
+ commit: read(() => "1cc7ff53", ""),
17
+ tag: read(() => "clicky-ui@0.3.17", ""),
18
+ date: read(() => "2026-08-07T05:49:15.068Z", ""),
19
19
  dirty: read(() => true, false),
20
20
  mode: detectMode()
21
21
  };
package/dist/data.cjs CHANGED
@@ -9,6 +9,8 @@ const CodeBlock = require("./data/CodeBlock.cjs");
9
9
  const CodeDiff = require("./data/CodeDiff.cjs");
10
10
  const codeDiff = require("./data/code-diff.cjs");
11
11
  const dataTableUtils = require("./data/data-table-utils.cjs");
12
+ const dataTableFilterValues = require("./data/data-table-filter-values.cjs");
13
+ const dataTableServerFilters = require("./data/data-table-server-filters.cjs");
12
14
  const DataTable = require("./data/DataTable.cjs");
13
15
  const DataTable_grouping = require("./data/DataTable.grouping.cjs");
14
16
  const StatStrip = require("./data/StatStrip.cjs");
@@ -16,6 +18,7 @@ const EntityCell = require("./data/cells/EntityCell.cjs");
16
18
  const Timestamp = require("./data/cells/Timestamp.cjs");
17
19
  const timestampFormat = require("./data/cells/timestamp-format.cjs");
18
20
  const TagList = require("./data/cells/TagList.cjs");
21
+ const CellFilterActions = require("./data/cells/CellFilterActions.cjs");
19
22
  const tagUtils = require("./data/cells/tag-utils.cjs");
20
23
  const StatusDot = require("./data/cells/StatusDot.cjs");
21
24
  const statusMapping = require("./data/cells/status-mapping.cjs");
@@ -52,6 +55,8 @@ const ProgressBars = require("./data/ProgressBars.cjs");
52
55
  const ProgressBars_model = require("./data/ProgressBars.model.cjs");
53
56
  const TimeseriesCoreBars = require("./data/TimeseriesCoreBars.cjs");
54
57
  const GaugeHoverCard = require("./data/GaugeHoverCard.cjs");
58
+ const ServerTimingBadge = require("./data/ServerTimingBadge.cjs");
59
+ const serverTiming = require("./data/server-timing.cjs");
55
60
  const gaugeStats = require("./data/gauge-stats.cjs");
56
61
  const WorkloadCard = require("./data/WorkloadCard.cjs");
57
62
  const WorkloadCard_model = require("./data/WorkloadCard.model.cjs");
@@ -69,6 +74,7 @@ const TaskSnapshot = require("./data/TaskSnapshot.cjs");
69
74
  const taskStatus = require("./data/task-status.cjs");
70
75
  const TaskProgress = require("./data/TaskProgress.cjs");
71
76
  const TaskManager = require("./data/TaskManager.cjs");
77
+ const taskQueryKeys = require("./data/task-query-keys.cjs");
72
78
  const TaskManagerButton = require("./data/TaskManagerButton.cjs");
73
79
  const PromptDialog = require("./data/PromptDialog.cjs");
74
80
  const PromptBanner = require("./data/PromptBanner.cjs");
@@ -425,6 +431,7 @@ const routePath = require("./data/test-runner/routePath.cjs");
425
431
  const fixtureFrontmatter = require("./data/FixtureEditor/fixture-frontmatter.cjs");
426
432
  const api = require("./data/cache-browser/api.cjs");
427
433
  const changeIconAliases = require("./icons/changeIconAliases.cjs");
434
+ const registry = require("./icons/registry.cjs");
428
435
  const fixtureBlocks = require("./data/FixtureEditor/fixture-blocks.cjs");
429
436
  const filterState = require("./data/test-runner/filterState.cjs");
430
437
  const gitDates = require("./data/git/git-dates.cjs");
@@ -440,6 +447,13 @@ exports.CodeDiff = CodeDiff.CodeDiff;
440
447
  exports.computeLineDiff = codeDiff.computeLineDiff;
441
448
  exports.parseUnifiedDiff = codeDiff.parseUnifiedDiff;
442
449
  exports.inferColumns = dataTableUtils.inferColumns;
450
+ exports.parseMultiFilterValue = dataTableFilterValues.parseMultiFilterValue;
451
+ exports.serializeMultiFilterValue = dataTableFilterValues.serializeMultiFilterValue;
452
+ exports.splitCommaValues = dataTableFilterValues.splitCommaValues;
453
+ exports.updateFilterSelection = dataTableFilterValues.updateFilterSelection;
454
+ exports.DATA_TABLE_FILTER_LOOKUP_LIMIT = dataTableServerFilters.DATA_TABLE_FILTER_LOOKUP_LIMIT;
455
+ exports.serverColumnsToDataTableColumns = dataTableServerFilters.serverColumnsToDataTableColumns;
456
+ exports.serverFiltersToFilterBar = dataTableServerFilters.serverFiltersToFilterBar;
443
457
  exports.DataTable = DataTable.DataTable;
444
458
  exports.groupRecords = DataTable_grouping.groupRecords;
445
459
  exports.isGroupCollapsedByDefault = DataTable_grouping.isGroupCollapsedByDefault;
@@ -454,6 +468,7 @@ exports.modeToFormat = timestampFormat.modeToFormat;
454
468
  exports.parseTimestamp = timestampFormat.parseTimestamp;
455
469
  exports.TagActionsProvider = TagList.TagActionsProvider;
456
470
  exports.TagList = TagList.TagList;
471
+ exports.CellFilterActions = CellFilterActions.CellFilterActions;
457
472
  exports.normalizeTags = tagUtils.normalizeTags;
458
473
  exports.splitTagToken = tagUtils.splitTagToken;
459
474
  exports.tagActionsFromRecord = tagUtils.tagActionsFromRecord;
@@ -512,6 +527,11 @@ exports.ProgressBars = ProgressBars.ProgressBars;
512
527
  exports.deriveProgressBars = ProgressBars_model.deriveProgressBars;
513
528
  exports.TimeseriesCoreBars = TimeseriesCoreBars.TimeseriesCoreBars;
514
529
  exports.GaugeHoverCard = GaugeHoverCard.GaugeHoverCard;
530
+ exports.ServerTimingBadge = ServerTimingBadge.ServerTimingBadge;
531
+ exports.formatServerTimingDuration = serverTiming.formatServerTimingDuration;
532
+ exports.parseServerTiming = serverTiming.parseServerTiming;
533
+ exports.serverTimingCounterSummary = serverTiming.serverTimingCounterSummary;
534
+ exports.serverTimingMetricLabel = serverTiming.serverTimingMetricLabel;
515
535
  exports.seriesStats = gaugeStats.seriesStats;
516
536
  exports.WorkloadCard = WorkloadCard.WorkloadCard;
517
537
  exports.formatReplicaCounts = WorkloadCard_model.formatReplicaCounts;
@@ -539,6 +559,7 @@ exports.taskStatusColor = taskStatus.taskStatusColor;
539
559
  exports.taskStatusIcon = taskStatus.taskStatusIcon;
540
560
  exports.TaskProgress = TaskProgress.TaskProgress;
541
561
  exports.TaskManager = TaskManager.TaskManager;
562
+ exports.taskQueryKeys = taskQueryKeys.taskQueryKeys;
542
563
  exports.TaskManagerButton = TaskManagerButton.TaskManagerButton;
543
564
  exports.PromptDialog = PromptDialog.PromptDialog;
544
565
  exports.PromptBanner = PromptBanner.PromptBanner;
@@ -1215,6 +1236,8 @@ exports.cacheQueryKeys = api.cacheQueryKeys;
1215
1236
  exports.createCacheClient = api.createCacheClient;
1216
1237
  exports.changeIconAliases = changeIconAliases.changeIconAliases;
1217
1238
  exports.getChangeIcon = changeIconAliases.getChangeIcon;
1239
+ exports.clickyIconProvider = registry.clickyIconProvider;
1240
+ exports.iconsByConsumerName = registry.iconsByConsumerName;
1218
1241
  exports.createChecklistMarkdown = fixtureBlocks.createChecklistMarkdown;
1219
1242
  exports.createFenceMarkdown = fixtureBlocks.createFenceMarkdown;
1220
1243
  exports.fixtureFenceKind = fixtureBlocks.fixtureFenceKind;
package/dist/data.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"data.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"data.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/data.d.ts CHANGED
@@ -7,13 +7,16 @@ export { CodeBlock, type CodeBlockProps } from './data/CodeBlock';
7
7
  export { CodeDiff, type CodeDiffProps, type CodeDiffView } from './data/CodeDiff';
8
8
  export { computeLineDiff, parseUnifiedDiff, type DiffHunk, type DiffLine, type DiffLineType, } from './data/code-diff';
9
9
  export { inferColumns } from './data/data-table-utils';
10
- export { DataTable, type DataTableColumn, type DataTableColumnInput, type DataTableColumnKind, type DataTableFooterContext, type DataTableMenuAction, type DataTableProps, type DataTableRowSelection, type DataTableSelectionContext, type StatusOptions, type TagsOptions, type TimestampOptions, } from './data/DataTable';
10
+ export { parseMultiFilterValue, serializeMultiFilterValue, splitCommaValues, updateFilterSelection, type DataTableFilterSelection, } from './data/data-table-filter-values';
11
+ export { DATA_TABLE_FILTER_LOOKUP_LIMIT, serverColumnsToDataTableColumns, serverFiltersToFilterBar, type DataTableColumnFilter, type DataTableFilterKind, type DataTableFilterLookup, type DataTableFilterLookupRequest, type DataTableFilterLookupResult, type DataTableFilterOption, type DataTableServerColumn, type ServerFilterBarOptions, type ServerFilterConfig, } from './data/data-table-server-filters';
12
+ export { DataTable, type DataTableColumn, type DataTableColumnInput, type DataTableColumnKind, type DataTableCursorPagination, type DataTableFooterContext, type DataTableMenuAction, type DataTablePagination, type DataTableProps, type DataTableRowSelection, type DataTableSelectionContext, type StatusOptions, type TagsOptions, type TimestampOptions, } from './data/DataTable';
11
13
  export { groupRecords, isGroupCollapsedByDefault, type DataTableGroup, type DataTableGrouping, } from './data/DataTable.grouping';
12
14
  export { StatStrip, type StatStripClassNames, type StatStripItem, type StatStripProps, } from './data/StatStrip';
13
15
  export { EntityCell, type EntityCellProps, type EntityCellSize, } from './data/cells/EntityCell';
14
16
  export { Timestamp, type TimestampProps } from './data/cells/Timestamp';
15
17
  export { chooseTimestampFormat, formatDateTimeRelative, formatRelativeTime, formatTimestamp, parseTimestamp, modeToFormat, type TimestampFormat, type TimestampMode, } from './data/cells/timestamp-format';
16
18
  export { TagActionsProvider, TagList, type TagListProps } from './data/cells/TagList';
19
+ export { CellFilterActions, type CellFilterChange, type CellFilterMode, } from './data/cells/CellFilterActions';
17
20
  export { normalizeTags, splitTagToken, tagActionsFromRecord, tagFilterTokens, useTagActions, useTagActionsValue, type NormalizedTag, type TagActionsContextValue, type TagFilterMode, type TagInput, type TagsValue, } from './data/cells/tag-utils';
18
21
  export { StatusDot, type StatusDotProps, type StatusDotSize } from './data/cells/StatusDot';
19
22
  export { normalizeStatus, STATUS_TOKEN_GROUPS } from './data/cells/status-mapping';
@@ -52,6 +55,8 @@ export { ProgressBars, type ProgressBarsOrientation, type ProgressBarsProps, typ
52
55
  export { deriveProgressBars, type ProgressBarFill, type ProgressBarsModel, } from './data/ProgressBars.model';
53
56
  export { TimeseriesCoreBars, type TimeseriesCoreBarsProps, } from './data/TimeseriesCoreBars';
54
57
  export { GaugeHoverCard, type GaugeHoverCardProps, type GaugeHoverRow, } from './data/GaugeHoverCard';
58
+ export { ServerTimingBadge, type ServerTimingBadgeProps, } from './data/ServerTimingBadge';
59
+ export { formatServerTimingDuration, parseServerTiming, serverTimingCounterSummary, serverTimingMetricLabel, type ServerTimingMetric, } from './data/server-timing';
55
60
  export { seriesStats, type SeriesStats } from './data/gauge-stats';
56
61
  export { WorkloadCard, type WorkloadCardProps, type WorkloadCardSize, type WorkloadCardVariant } from './data/WorkloadCard';
57
62
  export { formatReplicaCounts, workloadKindLabel, workloadStatusLabel, workloadStatusTone, type WorkloadCardCpuMetric, type WorkloadCardIcon, type WorkloadCardKind, type WorkloadCardMetrics, type WorkloadCardReplicas, type WorkloadCardResourceMetric, type WorkloadCardStatus, type WorkloadCardWorkload, } from './data/WorkloadCard.model';
@@ -69,10 +74,11 @@ export * from './data/git';
69
74
  export * from './data/test-runner';
70
75
  export * from './data/cache-browser';
71
76
  export * from './data/query-browser';
72
- export { type LogEntry, type TaskSnapshot, type TaskRunMeta, isTerminalStatus, allGroupsTerminal, } from './data/TaskSnapshot';
77
+ export { type LogEntry, type TaskControlAction, type TaskSnapshot, type TaskRunMeta, isTerminalStatus, allGroupsTerminal, } from './data/TaskSnapshot';
73
78
  export { taskStatusColor, taskStatusIcon, taskStatusBg, logLevelColor, taskSegments, bucketTasks, } from './data/task-status';
74
79
  export { TaskProgress, type TaskProgressProps } from './data/TaskProgress';
75
80
  export { TaskManager, type TaskManagerProps } from './data/TaskManager';
81
+ export { taskQueryKeys, type TaskRunQueryKeyOptions, type TaskRunsQueryKeyOptions, } from './data/task-query-keys';
76
82
  export { TaskManagerButton, type TaskManagerButtonProps } from './data/TaskManagerButton';
77
83
  export { PromptDialog, type PromptDialogProps } from './data/PromptDialog';
78
84
  export { PromptBanner, type PromptBannerProps } from './data/PromptBanner';
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EACL,KAAK,EACL,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,YAAY,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EACL,SAAS,EACT,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,YAAY,EACZ,yBAAyB,EACzB,KAAK,cAAc,EACnB,KAAK,iBAAiB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,SAAS,EACT,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,cAAc,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,aAAa,GACnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EACL,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,SAAS,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,UAAU,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EACL,IAAI,EACJ,SAAS,EACT,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,mBAAmB,GACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,uBAAuB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAClG,OAAO,EACL,YAAY,EACZ,YAAY,IAAI,aAAa,EAC7B,eAAe,EACf,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,IAAI,kBAAkB,EAC5C,KAAK,yBAAyB,GAC/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,GAChC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,UAAU,EACV,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EACL,SAAS,EACT,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC7F,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjF,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,+BAA+B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,GACjC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,KAAK,qBAAqB,GAC3B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,qBAAqB,GAC3B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzF,OAAO,EACL,eAAe,EACf,KAAK,oBAAoB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,UAAU,EACV,QAAQ,EACR,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,QAAQ,GACd,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,GAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,YAAY,EACZ,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,GAC7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,aAAa,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC5H,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,gBAAgB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EACL,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,WAAW,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAClF,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,cAAc,EACd,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EACL,UAAU,EACV,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAChG,OAAO,EACL,sBAAsB,EACtB,KAAK,2BAA2B,GACjC,MAAM,2CAA2C,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,UAAU,GAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,YAAY,EACjB,KAAK,iBAAiB,GACvB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,GAC5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,iBAAiB,GAClB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,cAAc,EACd,KAAK,WAAW,GACjB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,wBAAwB,GAC9B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,KAAK,iBAAiB,GACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,gBAAgB,EAChB,uBAAuB,EACvB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,qBAAqB,GAC3B,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACnE,YAAY,EACV,QAAQ,EACR,UAAU,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,WAAW,GACZ,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"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"}
package/dist/data.js CHANGED
@@ -7,6 +7,8 @@ import { CodeBlock } from "./data/CodeBlock.js";
7
7
  import { CodeDiff } from "./data/CodeDiff.js";
8
8
  import { computeLineDiff, parseUnifiedDiff } from "./data/code-diff.js";
9
9
  import { inferColumns } from "./data/data-table-utils.js";
10
+ import { parseMultiFilterValue, serializeMultiFilterValue, splitCommaValues, updateFilterSelection } from "./data/data-table-filter-values.js";
11
+ import { DATA_TABLE_FILTER_LOOKUP_LIMIT, serverColumnsToDataTableColumns, serverFiltersToFilterBar } from "./data/data-table-server-filters.js";
10
12
  import { DataTable } from "./data/DataTable.js";
11
13
  import { groupRecords, isGroupCollapsedByDefault } from "./data/DataTable.grouping.js";
12
14
  import { StatStrip } from "./data/StatStrip.js";
@@ -14,6 +16,7 @@ import { EntityCell } from "./data/cells/EntityCell.js";
14
16
  import { Timestamp } from "./data/cells/Timestamp.js";
15
17
  import { chooseTimestampFormat, formatDateTimeRelative, formatRelativeTime, formatTimestamp, modeToFormat, parseTimestamp } from "./data/cells/timestamp-format.js";
16
18
  import { TagActionsProvider, TagList } from "./data/cells/TagList.js";
19
+ import { CellFilterActions } from "./data/cells/CellFilterActions.js";
17
20
  import { normalizeTags, splitTagToken, tagActionsFromRecord, tagFilterTokens, useTagActions, useTagActionsValue } from "./data/cells/tag-utils.js";
18
21
  import { StatusDot } from "./data/cells/StatusDot.js";
19
22
  import { STATUS_TOKEN_GROUPS, normalizeStatus } from "./data/cells/status-mapping.js";
@@ -50,6 +53,8 @@ import { ProgressBars } from "./data/ProgressBars.js";
50
53
  import { deriveProgressBars } from "./data/ProgressBars.model.js";
51
54
  import { TimeseriesCoreBars } from "./data/TimeseriesCoreBars.js";
52
55
  import { GaugeHoverCard } from "./data/GaugeHoverCard.js";
56
+ import { ServerTimingBadge } from "./data/ServerTimingBadge.js";
57
+ import { formatServerTimingDuration, parseServerTiming, serverTimingCounterSummary, serverTimingMetricLabel } from "./data/server-timing.js";
53
58
  import { seriesStats } from "./data/gauge-stats.js";
54
59
  import { WorkloadCard } from "./data/WorkloadCard.js";
55
60
  import { formatReplicaCounts, workloadKindLabel, workloadStatusLabel, workloadStatusTone } from "./data/WorkloadCard.model.js";
@@ -67,6 +72,7 @@ import { allGroupsTerminal, isTerminalStatus } from "./data/TaskSnapshot.js";
67
72
  import { bucketTasks, logLevelColor, taskSegments, taskStatusBg, taskStatusColor, taskStatusIcon } from "./data/task-status.js";
68
73
  import { TaskProgress } from "./data/TaskProgress.js";
69
74
  import { TaskManager } from "./data/TaskManager.js";
75
+ import { taskQueryKeys } from "./data/task-query-keys.js";
70
76
  import { TaskManagerButton } from "./data/TaskManagerButton.js";
71
77
  import { PromptDialog } from "./data/PromptDialog.js";
72
78
  import { PromptBanner } from "./data/PromptBanner.js";
@@ -423,6 +429,7 @@ import { annotateRoutePaths, findNodeByRoutePath, slugify } from "./data/test-ru
423
429
  import { applyFixtureFrontmatterRaw, applyFixtureFrontmatterState, fixtureFrontmatterState, parseFixtureFrontmatter } from "./data/FixtureEditor/fixture-frontmatter.js";
424
430
  import { cacheQueryKeys, createCacheClient } from "./data/cache-browser/api.js";
425
431
  import { changeIconAliases, getChangeIcon } from "./icons/changeIconAliases.js";
432
+ import { clickyIconProvider, iconsByConsumerName } from "./icons/registry.js";
426
433
  import { createChecklistMarkdown, createFenceMarkdown, fixtureFenceKind, fixtureFenceSchemaAliases, fixtureFenceSnippetInfo, parseFixtureYaml, resolveFixtureFenceSchema, schemaKeys, stringifyFixtureYaml } from "./data/FixtureEditor/fixture-blocks.js";
427
434
  import { cycleFilterState, decodeFilterState, emptyTestFilters, encodeFilterState, filterStateToRecord, matchesFilterState, recordToFilterState } from "./data/test-runner/filterState.js";
428
435
  import { formatGitCommitDateHeader } from "./data/git/git-dates.js";
@@ -440,9 +447,11 @@ export {
440
447
  CacheStatsOverview,
441
448
  CacheTree,
442
449
  CacheValue,
450
+ CellFilterActions,
443
451
  CodeBlock,
444
452
  CodeDiff,
445
453
  CopyBadge,
454
+ DATA_TABLE_FILTER_LOOKUP_LIMIT,
446
455
  DataTable,
447
456
  DiagnosticsDetailPanel,
448
457
  DiagnosticsTree,
@@ -491,6 +500,7 @@ export {
491
500
  SchemaFieldMetaPanel,
492
501
  SchemaViewer2 as SchemaViewer,
493
502
  SchemaViewerRow,
503
+ ServerTimingBadge,
494
504
  SignedDeltaBar,
495
505
  SortableHeader,
496
506
  StackTrace,
@@ -1129,6 +1139,7 @@ export {
1129
1139
  changeIconAliases,
1130
1140
  chooseTimestampFormat,
1131
1141
  clickyFormatForMarkdownPreview,
1142
+ clickyIconProvider,
1132
1143
  collapseSingleChildChains,
1133
1144
  collectFrameworks,
1134
1145
  compactStackPath,
@@ -1162,6 +1173,7 @@ export {
1162
1173
  formatPropertyLabel,
1163
1174
  formatRelativeTime,
1164
1175
  formatReplicaCounts,
1176
+ formatServerTimingDuration,
1165
1177
  formatTestDuration,
1166
1178
  formatTimestamp,
1167
1179
  frameHasSource,
@@ -1173,6 +1185,7 @@ export {
1173
1185
  hasHoverMeta,
1174
1186
  hasPending,
1175
1187
  humanizeName,
1188
+ iconsByConsumerName,
1176
1189
  inferColumns,
1177
1190
  isApplicationStackFrame,
1178
1191
  isGroupCollapsedByDefault,
@@ -1196,6 +1209,8 @@ export {
1196
1209
  parseInlineJsonContextValue,
1197
1210
  parseJavaStackTrace,
1198
1211
  parseJvmThreadDump,
1212
+ parseMultiFilterValue,
1213
+ parseServerTiming,
1199
1214
  parseStackDump,
1200
1215
  parseTimestamp,
1201
1216
  parseUnifiedDiff,
@@ -1209,9 +1224,15 @@ export {
1209
1224
  resolveSeries,
1210
1225
  schemaKeys,
1211
1226
  segment,
1227
+ serializeMultiFilterValue,
1212
1228
  seriesStats,
1229
+ serverColumnsToDataTableColumns,
1230
+ serverFiltersToFilterBar,
1231
+ serverTimingCounterSummary,
1232
+ serverTimingMetricLabel,
1213
1233
  setFallbackIconProvider,
1214
1234
  slugify,
1235
+ splitCommaValues,
1215
1236
  splitTagToken,
1216
1237
  statusIconFor,
1217
1238
  statusToneFor,
@@ -1220,12 +1241,14 @@ export {
1220
1241
  sumNonTaskTests,
1221
1242
  tagActionsFromRecord,
1222
1243
  tagFilterTokens,
1244
+ taskQueryKeys,
1223
1245
  taskSegments,
1224
1246
  taskStatusBg,
1225
1247
  taskStatusColor,
1226
1248
  taskStatusIcon,
1227
1249
  testStatus,
1228
1250
  totalDuration,
1251
+ updateFilterSelection,
1229
1252
  usePrompts,
1230
1253
  useTagActions,
1231
1254
  useTagActionsValue,
package/dist/data.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"data.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"data.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -48,12 +48,17 @@ function isFormElement(target) {
48
48
  if (target.isContentEditable) return true;
49
49
  return ["INPUT", "TEXTAREA", "SELECT"].includes(target.tagName);
50
50
  }
51
+ function eventOrigin(event) {
52
+ var _a;
53
+ return ((_a = event.composedPath) == null ? void 0 : _a.call(event)[0]) ?? event.target;
54
+ }
51
55
  function onKeyDown(event) {
52
56
  if (event.defaultPrevented || event.isComposing) return;
57
+ const origin = eventOrigin(event);
53
58
  let winner;
54
59
  for (const registration of registrations) {
55
60
  if (!matches(event, registration.combo)) continue;
56
- if (!registration.enableOnFormElements && isFormElement(event.target)) continue;
61
+ if (!registration.enableOnFormElements && isFormElement(origin)) continue;
57
62
  if (!winner || registration.priority >= winner.priority) winner = registration;
58
63
  }
59
64
  if (!winner) return;
@@ -1 +1 @@
1
- {"version":3,"file":"use-hotkey.cjs","sources":["../../src/hooks/use-hotkey.ts"],"sourcesContent":["import { useEffect, useId, useRef } from \"react\";\n\n// A process-wide registry of global keyboard shortcuts, modeled on the escape\n// layer in ../overlay/modalStack. Bindings mount independently (no shared\n// provider), so the registry lives at module scope. Exactly ONE binding wins a\n// given key combo — the highest `priority`, breaking ties toward the most\n// recently mounted. Without that discipline every mounted component that binds\n// the same combo fires on one keypress, which is how two ⌘K search fields end\n// up racing to focus themselves.\n//\n// The listener is attached to `document`, matching modalStack, so hotkeys and\n// escape layers agree on event target and ordering.\n\ntype Registration = {\n id: string;\n combo: ParsedHotkey;\n priority: number;\n enableOnFormElements: boolean;\n run: (event: KeyboardEvent) => void;\n};\n\nconst registrations: Registration[] = [];\nlet boundDocument: Document | null = null;\n\nexport type ParsedHotkey = {\n /** Bare key, lower-cased (e.g. \"k\"). */\n key: string;\n /** Requires cmd on macOS / ctrl elsewhere. */\n mod: boolean;\n shift: boolean;\n alt: boolean;\n};\n\nfunction isMacPlatform(): boolean {\n if (typeof navigator === \"undefined\") return false;\n return /mac|iphone|ipad|ipod/i.test(navigator.platform || navigator.userAgent);\n}\n\n/**\n * Parses a combo string such as `\"mod+k\"` or `\"mod+shift+p\"`. `mod` means ⌘ on\n * macOS and Ctrl elsewhere. The last segment is the key; order is irrelevant.\n */\nexport function parseHotkey(combo: string): ParsedHotkey {\n const parts = combo\n .split(\"+\")\n .map((part) => part.trim().toLowerCase())\n .filter(Boolean);\n const key = parts[parts.length - 1];\n if (!key) throw new Error(`useHotkey: empty combo \"${combo}\"`);\n return {\n key,\n mod: parts.includes(\"mod\") || parts.includes(\"cmd\") || parts.includes(\"ctrl\"),\n shift: parts.includes(\"shift\"),\n alt: parts.includes(\"alt\") || parts.includes(\"option\"),\n };\n}\n\n/**\n * Renders a combo for display — `\"mod+k\"` becomes `\"⌘K\"` on macOS and `\"Ctrl+K\"`\n * elsewhere. Deriving the label from the combo (rather than hand-authoring the\n * label and reverse-engineering the key from it) keeps the two in sync.\n */\nexport function formatHotkey(combo: string, platform?: \"mac\" | \"other\"): string {\n const parsed = parseHotkey(combo);\n const mac = platform ? platform === \"mac\" : isMacPlatform();\n const key = parsed.key.length === 1 ? parsed.key.toUpperCase() : titleCase(parsed.key);\n if (mac) {\n return `${parsed.mod ? \"⌘\" : \"\"}${parsed.alt ? \"⌥\" : \"\"}${parsed.shift ? \"⇧\" : \"\"}${key}`;\n }\n const segments = [\n ...(parsed.mod ? [\"Ctrl\"] : []),\n ...(parsed.alt ? [\"Alt\"] : []),\n ...(parsed.shift ? [\"Shift\"] : []),\n key,\n ];\n return segments.join(\"+\");\n}\n\nfunction titleCase(value: string): string {\n return value.charAt(0).toUpperCase() + value.slice(1);\n}\n\nfunction matches(event: KeyboardEvent, combo: ParsedHotkey): boolean {\n if (event.key.toLowerCase() !== combo.key) return false;\n if (combo.mod !== (event.metaKey || event.ctrlKey)) return false;\n if (combo.shift !== event.shiftKey) return false;\n if (combo.alt !== event.altKey) return false;\n return true;\n}\n\nfunction isFormElement(target: EventTarget | null): boolean {\n if (!(target instanceof HTMLElement)) return false;\n if (target.isContentEditable) return true;\n return [\"INPUT\", \"TEXTAREA\", \"SELECT\"].includes(target.tagName);\n}\n\nfunction onKeyDown(event: KeyboardEvent) {\n if (event.defaultPrevented || event.isComposing) return;\n\n // Highest priority wins; ties go to the most recently registered, so a\n // transient surface layered over the page takes precedence over the chrome.\n let winner: Registration | undefined;\n for (const registration of registrations) {\n if (!matches(event, registration.combo)) continue;\n if (!registration.enableOnFormElements && isFormElement(event.target)) continue;\n if (!winner || registration.priority >= winner.priority) winner = registration;\n }\n if (!winner) return;\n\n event.preventDefault();\n winner.run(event);\n}\n\nfunction ensureListener() {\n if (boundDocument || typeof document === \"undefined\") return;\n boundDocument = document;\n boundDocument.addEventListener(\"keydown\", onKeyDown);\n}\n\nfunction unregister(id: string) {\n const index = registrations.findIndex((entry) => entry.id === id);\n if (index !== -1) registrations.splice(index, 1);\n\n if (registrations.length === 0 && boundDocument) {\n boundDocument.removeEventListener(\"keydown\", onKeyDown);\n boundDocument = null;\n }\n}\n\nexport type UseHotkeyOptions = {\n /** Register the binding. Defaults to `true`. */\n enabled?: boolean | undefined;\n /**\n * Ordering among bindings for the same combo. Higher wins; ties break toward\n * the most recently mounted. Defaults to `0`.\n */\n priority?: number | undefined;\n /**\n * Fire while focus sits in an input, textarea, select, or contenteditable.\n * Defaults to `true` for combos carrying a modifier (⌘K should work while\n * typing) and `false` for bare keys (which would swallow ordinary typing).\n */\n enableOnFormElements?: boolean | undefined;\n};\n\n/**\n * Binds a global keyboard shortcut for as long as the component is mounted and\n * `enabled`. Pass `null`/`undefined` as the combo to bind nothing. Only the\n * winning registration for a combo runs, so overlapping bindings cannot both\n * fire on a single keypress.\n */\nexport function useHotkey(\n combo: string | null | undefined,\n handler: (event: KeyboardEvent) => void,\n options: UseHotkeyOptions = {},\n): void {\n const id = useId();\n const handlerRef = useRef(handler);\n handlerRef.current = handler;\n\n const { enabled = true, priority = 0, enableOnFormElements } = options;\n\n useEffect(() => {\n if (!combo || !enabled) return;\n const parsed = parseHotkey(combo);\n\n ensureListener();\n registrations.push({\n id,\n combo: parsed,\n priority,\n enableOnFormElements: enableOnFormElements ?? parsed.mod,\n run: (event) => handlerRef.current(event),\n });\n\n return () => unregister(id);\n }, [combo, enabled, priority, enableOnFormElements, id]);\n}\n"],"names":["useId","useRef","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"use-hotkey.cjs","sources":["../../src/hooks/use-hotkey.ts"],"sourcesContent":["import { useEffect, useId, useRef } from \"react\";\n\n// A process-wide registry of global keyboard shortcuts, modeled on the escape\n// layer in ../overlay/modalStack. Bindings mount independently (no shared\n// provider), so the registry lives at module scope. Exactly ONE binding wins a\n// given key combo — the highest `priority`, breaking ties toward the most\n// recently mounted. Without that discipline every mounted component that binds\n// the same combo fires on one keypress, which is how two ⌘K search fields end\n// up racing to focus themselves.\n//\n// The listener is attached to `document`, matching modalStack, so hotkeys and\n// escape layers agree on event target and ordering.\n\ntype Registration = {\n id: string;\n combo: ParsedHotkey;\n priority: number;\n enableOnFormElements: boolean;\n run: (event: KeyboardEvent) => void;\n};\n\nconst registrations: Registration[] = [];\nlet boundDocument: Document | null = null;\n\nexport type ParsedHotkey = {\n /** Bare key, lower-cased (e.g. \"k\"). */\n key: string;\n /** Requires cmd on macOS / ctrl elsewhere. */\n mod: boolean;\n shift: boolean;\n alt: boolean;\n};\n\nfunction isMacPlatform(): boolean {\n if (typeof navigator === \"undefined\") return false;\n return /mac|iphone|ipad|ipod/i.test(navigator.platform || navigator.userAgent);\n}\n\n/**\n * Parses a combo string such as `\"mod+k\"` or `\"mod+shift+p\"`. `mod` means ⌘ on\n * macOS and Ctrl elsewhere. The last segment is the key; order is irrelevant.\n */\nexport function parseHotkey(combo: string): ParsedHotkey {\n const parts = combo\n .split(\"+\")\n .map((part) => part.trim().toLowerCase())\n .filter(Boolean);\n const key = parts[parts.length - 1];\n if (!key) throw new Error(`useHotkey: empty combo \"${combo}\"`);\n return {\n key,\n mod: parts.includes(\"mod\") || parts.includes(\"cmd\") || parts.includes(\"ctrl\"),\n shift: parts.includes(\"shift\"),\n alt: parts.includes(\"alt\") || parts.includes(\"option\"),\n };\n}\n\n/**\n * Renders a combo for display — `\"mod+k\"` becomes `\"⌘K\"` on macOS and `\"Ctrl+K\"`\n * elsewhere. Deriving the label from the combo (rather than hand-authoring the\n * label and reverse-engineering the key from it) keeps the two in sync.\n */\nexport function formatHotkey(combo: string, platform?: \"mac\" | \"other\"): string {\n const parsed = parseHotkey(combo);\n const mac = platform ? platform === \"mac\" : isMacPlatform();\n const key = parsed.key.length === 1 ? parsed.key.toUpperCase() : titleCase(parsed.key);\n if (mac) {\n return `${parsed.mod ? \"⌘\" : \"\"}${parsed.alt ? \"⌥\" : \"\"}${parsed.shift ? \"⇧\" : \"\"}${key}`;\n }\n const segments = [\n ...(parsed.mod ? [\"Ctrl\"] : []),\n ...(parsed.alt ? [\"Alt\"] : []),\n ...(parsed.shift ? [\"Shift\"] : []),\n key,\n ];\n return segments.join(\"+\");\n}\n\nfunction titleCase(value: string): string {\n return value.charAt(0).toUpperCase() + value.slice(1);\n}\n\nfunction matches(event: KeyboardEvent, combo: ParsedHotkey): boolean {\n if (event.key.toLowerCase() !== combo.key) return false;\n if (combo.mod !== (event.metaKey || event.ctrlKey)) return false;\n if (combo.shift !== event.shiftKey) return false;\n if (combo.alt !== event.altKey) return false;\n return true;\n}\n\nfunction isFormElement(target: EventTarget | null): boolean {\n if (!(target instanceof HTMLElement)) return false;\n if (target.isContentEditable) return true;\n return [\"INPUT\", \"TEXTAREA\", \"SELECT\"].includes(target.tagName);\n}\n\n// Across a shadow boundary `event.target` is retargeted to the shadow HOST, so a\n// key typed into an input inside a shadow root looks like a bare keypress on a\n// <div> and would fire hotkeys that must not fire while typing. The composed\n// path's first entry is the true origin.\nfunction eventOrigin(event: KeyboardEvent): EventTarget | null {\n return event.composedPath?.()[0] ?? event.target;\n}\n\nfunction onKeyDown(event: KeyboardEvent) {\n if (event.defaultPrevented || event.isComposing) return;\n\n // Highest priority wins; ties go to the most recently registered, so a\n // transient surface layered over the page takes precedence over the chrome.\n const origin = eventOrigin(event);\n let winner: Registration | undefined;\n for (const registration of registrations) {\n if (!matches(event, registration.combo)) continue;\n if (!registration.enableOnFormElements && isFormElement(origin)) continue;\n if (!winner || registration.priority >= winner.priority) winner = registration;\n }\n if (!winner) return;\n\n event.preventDefault();\n winner.run(event);\n}\n\nfunction ensureListener() {\n if (boundDocument || typeof document === \"undefined\") return;\n boundDocument = document;\n boundDocument.addEventListener(\"keydown\", onKeyDown);\n}\n\nfunction unregister(id: string) {\n const index = registrations.findIndex((entry) => entry.id === id);\n if (index !== -1) registrations.splice(index, 1);\n\n if (registrations.length === 0 && boundDocument) {\n boundDocument.removeEventListener(\"keydown\", onKeyDown);\n boundDocument = null;\n }\n}\n\nexport type UseHotkeyOptions = {\n /** Register the binding. Defaults to `true`. */\n enabled?: boolean | undefined;\n /**\n * Ordering among bindings for the same combo. Higher wins; ties break toward\n * the most recently mounted. Defaults to `0`.\n */\n priority?: number | undefined;\n /**\n * Fire while focus sits in an input, textarea, select, or contenteditable.\n * Defaults to `true` for combos carrying a modifier (⌘K should work while\n * typing) and `false` for bare keys (which would swallow ordinary typing).\n */\n enableOnFormElements?: boolean | undefined;\n};\n\n/**\n * Binds a global keyboard shortcut for as long as the component is mounted and\n * `enabled`. Pass `null`/`undefined` as the combo to bind nothing. Only the\n * winning registration for a combo runs, so overlapping bindings cannot both\n * fire on a single keypress.\n */\nexport function useHotkey(\n combo: string | null | undefined,\n handler: (event: KeyboardEvent) => void,\n options: UseHotkeyOptions = {},\n): void {\n const id = useId();\n const handlerRef = useRef(handler);\n handlerRef.current = handler;\n\n const { enabled = true, priority = 0, enableOnFormElements } = options;\n\n useEffect(() => {\n if (!combo || !enabled) return;\n const parsed = parseHotkey(combo);\n\n ensureListener();\n registrations.push({\n id,\n combo: parsed,\n priority,\n enableOnFormElements: enableOnFormElements ?? parsed.mod,\n run: (event) => handlerRef.current(event),\n });\n\n return () => unregister(id);\n }, [combo, enabled, priority, enableOnFormElements, id]);\n}\n"],"names":["useId","useRef","useEffect"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-hotkey.d.ts","sourceRoot":"","sources":["../../src/hooks/use-hotkey.ts"],"names":[],"mappings":"AAwBA,MAAM,MAAM,YAAY,GAAG;IACzB,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,8CAA8C;IAC9C,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;CACd,CAAC;AAOF;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAavD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,CAc9E;AAqDD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC5C,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,EACvC,OAAO,GAAE,gBAAqB,GAC7B,IAAI,CAsBN"}
1
+ {"version":3,"file":"use-hotkey.d.ts","sourceRoot":"","sources":["../../src/hooks/use-hotkey.ts"],"names":[],"mappings":"AAwBA,MAAM,MAAM,YAAY,GAAG;IACzB,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,8CAA8C;IAC9C,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;CACd,CAAC;AAOF;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAavD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,CAc9E;AA8DD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC5C,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,EACvC,OAAO,GAAE,gBAAqB,GAC7B,IAAI,CAsBN"}
@@ -46,12 +46,17 @@ function isFormElement(target) {
46
46
  if (target.isContentEditable) return true;
47
47
  return ["INPUT", "TEXTAREA", "SELECT"].includes(target.tagName);
48
48
  }
49
+ function eventOrigin(event) {
50
+ var _a;
51
+ return ((_a = event.composedPath) == null ? void 0 : _a.call(event)[0]) ?? event.target;
52
+ }
49
53
  function onKeyDown(event) {
50
54
  if (event.defaultPrevented || event.isComposing) return;
55
+ const origin = eventOrigin(event);
51
56
  let winner;
52
57
  for (const registration of registrations) {
53
58
  if (!matches(event, registration.combo)) continue;
54
- if (!registration.enableOnFormElements && isFormElement(event.target)) continue;
59
+ if (!registration.enableOnFormElements && isFormElement(origin)) continue;
55
60
  if (!winner || registration.priority >= winner.priority) winner = registration;
56
61
  }
57
62
  if (!winner) return;
@@ -1 +1 @@
1
- {"version":3,"file":"use-hotkey.js","sources":["../../src/hooks/use-hotkey.ts"],"sourcesContent":["import { useEffect, useId, useRef } from \"react\";\n\n// A process-wide registry of global keyboard shortcuts, modeled on the escape\n// layer in ../overlay/modalStack. Bindings mount independently (no shared\n// provider), so the registry lives at module scope. Exactly ONE binding wins a\n// given key combo — the highest `priority`, breaking ties toward the most\n// recently mounted. Without that discipline every mounted component that binds\n// the same combo fires on one keypress, which is how two ⌘K search fields end\n// up racing to focus themselves.\n//\n// The listener is attached to `document`, matching modalStack, so hotkeys and\n// escape layers agree on event target and ordering.\n\ntype Registration = {\n id: string;\n combo: ParsedHotkey;\n priority: number;\n enableOnFormElements: boolean;\n run: (event: KeyboardEvent) => void;\n};\n\nconst registrations: Registration[] = [];\nlet boundDocument: Document | null = null;\n\nexport type ParsedHotkey = {\n /** Bare key, lower-cased (e.g. \"k\"). */\n key: string;\n /** Requires cmd on macOS / ctrl elsewhere. */\n mod: boolean;\n shift: boolean;\n alt: boolean;\n};\n\nfunction isMacPlatform(): boolean {\n if (typeof navigator === \"undefined\") return false;\n return /mac|iphone|ipad|ipod/i.test(navigator.platform || navigator.userAgent);\n}\n\n/**\n * Parses a combo string such as `\"mod+k\"` or `\"mod+shift+p\"`. `mod` means ⌘ on\n * macOS and Ctrl elsewhere. The last segment is the key; order is irrelevant.\n */\nexport function parseHotkey(combo: string): ParsedHotkey {\n const parts = combo\n .split(\"+\")\n .map((part) => part.trim().toLowerCase())\n .filter(Boolean);\n const key = parts[parts.length - 1];\n if (!key) throw new Error(`useHotkey: empty combo \"${combo}\"`);\n return {\n key,\n mod: parts.includes(\"mod\") || parts.includes(\"cmd\") || parts.includes(\"ctrl\"),\n shift: parts.includes(\"shift\"),\n alt: parts.includes(\"alt\") || parts.includes(\"option\"),\n };\n}\n\n/**\n * Renders a combo for display — `\"mod+k\"` becomes `\"⌘K\"` on macOS and `\"Ctrl+K\"`\n * elsewhere. Deriving the label from the combo (rather than hand-authoring the\n * label and reverse-engineering the key from it) keeps the two in sync.\n */\nexport function formatHotkey(combo: string, platform?: \"mac\" | \"other\"): string {\n const parsed = parseHotkey(combo);\n const mac = platform ? platform === \"mac\" : isMacPlatform();\n const key = parsed.key.length === 1 ? parsed.key.toUpperCase() : titleCase(parsed.key);\n if (mac) {\n return `${parsed.mod ? \"⌘\" : \"\"}${parsed.alt ? \"⌥\" : \"\"}${parsed.shift ? \"⇧\" : \"\"}${key}`;\n }\n const segments = [\n ...(parsed.mod ? [\"Ctrl\"] : []),\n ...(parsed.alt ? [\"Alt\"] : []),\n ...(parsed.shift ? [\"Shift\"] : []),\n key,\n ];\n return segments.join(\"+\");\n}\n\nfunction titleCase(value: string): string {\n return value.charAt(0).toUpperCase() + value.slice(1);\n}\n\nfunction matches(event: KeyboardEvent, combo: ParsedHotkey): boolean {\n if (event.key.toLowerCase() !== combo.key) return false;\n if (combo.mod !== (event.metaKey || event.ctrlKey)) return false;\n if (combo.shift !== event.shiftKey) return false;\n if (combo.alt !== event.altKey) return false;\n return true;\n}\n\nfunction isFormElement(target: EventTarget | null): boolean {\n if (!(target instanceof HTMLElement)) return false;\n if (target.isContentEditable) return true;\n return [\"INPUT\", \"TEXTAREA\", \"SELECT\"].includes(target.tagName);\n}\n\nfunction onKeyDown(event: KeyboardEvent) {\n if (event.defaultPrevented || event.isComposing) return;\n\n // Highest priority wins; ties go to the most recently registered, so a\n // transient surface layered over the page takes precedence over the chrome.\n let winner: Registration | undefined;\n for (const registration of registrations) {\n if (!matches(event, registration.combo)) continue;\n if (!registration.enableOnFormElements && isFormElement(event.target)) continue;\n if (!winner || registration.priority >= winner.priority) winner = registration;\n }\n if (!winner) return;\n\n event.preventDefault();\n winner.run(event);\n}\n\nfunction ensureListener() {\n if (boundDocument || typeof document === \"undefined\") return;\n boundDocument = document;\n boundDocument.addEventListener(\"keydown\", onKeyDown);\n}\n\nfunction unregister(id: string) {\n const index = registrations.findIndex((entry) => entry.id === id);\n if (index !== -1) registrations.splice(index, 1);\n\n if (registrations.length === 0 && boundDocument) {\n boundDocument.removeEventListener(\"keydown\", onKeyDown);\n boundDocument = null;\n }\n}\n\nexport type UseHotkeyOptions = {\n /** Register the binding. Defaults to `true`. */\n enabled?: boolean | undefined;\n /**\n * Ordering among bindings for the same combo. Higher wins; ties break toward\n * the most recently mounted. Defaults to `0`.\n */\n priority?: number | undefined;\n /**\n * Fire while focus sits in an input, textarea, select, or contenteditable.\n * Defaults to `true` for combos carrying a modifier (⌘K should work while\n * typing) and `false` for bare keys (which would swallow ordinary typing).\n */\n enableOnFormElements?: boolean | undefined;\n};\n\n/**\n * Binds a global keyboard shortcut for as long as the component is mounted and\n * `enabled`. Pass `null`/`undefined` as the combo to bind nothing. Only the\n * winning registration for a combo runs, so overlapping bindings cannot both\n * fire on a single keypress.\n */\nexport function useHotkey(\n combo: string | null | undefined,\n handler: (event: KeyboardEvent) => void,\n options: UseHotkeyOptions = {},\n): void {\n const id = useId();\n const handlerRef = useRef(handler);\n handlerRef.current = handler;\n\n const { enabled = true, priority = 0, enableOnFormElements } = options;\n\n useEffect(() => {\n if (!combo || !enabled) return;\n const parsed = parseHotkey(combo);\n\n ensureListener();\n registrations.push({\n id,\n combo: parsed,\n priority,\n enableOnFormElements: enableOnFormElements ?? parsed.mod,\n run: (event) => handlerRef.current(event),\n });\n\n return () => unregister(id);\n }, [combo, enabled, priority, enableOnFormElements, id]);\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-hotkey.js","sources":["../../src/hooks/use-hotkey.ts"],"sourcesContent":["import { useEffect, useId, useRef } from \"react\";\n\n// A process-wide registry of global keyboard shortcuts, modeled on the escape\n// layer in ../overlay/modalStack. Bindings mount independently (no shared\n// provider), so the registry lives at module scope. Exactly ONE binding wins a\n// given key combo — the highest `priority`, breaking ties toward the most\n// recently mounted. Without that discipline every mounted component that binds\n// the same combo fires on one keypress, which is how two ⌘K search fields end\n// up racing to focus themselves.\n//\n// The listener is attached to `document`, matching modalStack, so hotkeys and\n// escape layers agree on event target and ordering.\n\ntype Registration = {\n id: string;\n combo: ParsedHotkey;\n priority: number;\n enableOnFormElements: boolean;\n run: (event: KeyboardEvent) => void;\n};\n\nconst registrations: Registration[] = [];\nlet boundDocument: Document | null = null;\n\nexport type ParsedHotkey = {\n /** Bare key, lower-cased (e.g. \"k\"). */\n key: string;\n /** Requires cmd on macOS / ctrl elsewhere. */\n mod: boolean;\n shift: boolean;\n alt: boolean;\n};\n\nfunction isMacPlatform(): boolean {\n if (typeof navigator === \"undefined\") return false;\n return /mac|iphone|ipad|ipod/i.test(navigator.platform || navigator.userAgent);\n}\n\n/**\n * Parses a combo string such as `\"mod+k\"` or `\"mod+shift+p\"`. `mod` means ⌘ on\n * macOS and Ctrl elsewhere. The last segment is the key; order is irrelevant.\n */\nexport function parseHotkey(combo: string): ParsedHotkey {\n const parts = combo\n .split(\"+\")\n .map((part) => part.trim().toLowerCase())\n .filter(Boolean);\n const key = parts[parts.length - 1];\n if (!key) throw new Error(`useHotkey: empty combo \"${combo}\"`);\n return {\n key,\n mod: parts.includes(\"mod\") || parts.includes(\"cmd\") || parts.includes(\"ctrl\"),\n shift: parts.includes(\"shift\"),\n alt: parts.includes(\"alt\") || parts.includes(\"option\"),\n };\n}\n\n/**\n * Renders a combo for display — `\"mod+k\"` becomes `\"⌘K\"` on macOS and `\"Ctrl+K\"`\n * elsewhere. Deriving the label from the combo (rather than hand-authoring the\n * label and reverse-engineering the key from it) keeps the two in sync.\n */\nexport function formatHotkey(combo: string, platform?: \"mac\" | \"other\"): string {\n const parsed = parseHotkey(combo);\n const mac = platform ? platform === \"mac\" : isMacPlatform();\n const key = parsed.key.length === 1 ? parsed.key.toUpperCase() : titleCase(parsed.key);\n if (mac) {\n return `${parsed.mod ? \"⌘\" : \"\"}${parsed.alt ? \"⌥\" : \"\"}${parsed.shift ? \"⇧\" : \"\"}${key}`;\n }\n const segments = [\n ...(parsed.mod ? [\"Ctrl\"] : []),\n ...(parsed.alt ? [\"Alt\"] : []),\n ...(parsed.shift ? [\"Shift\"] : []),\n key,\n ];\n return segments.join(\"+\");\n}\n\nfunction titleCase(value: string): string {\n return value.charAt(0).toUpperCase() + value.slice(1);\n}\n\nfunction matches(event: KeyboardEvent, combo: ParsedHotkey): boolean {\n if (event.key.toLowerCase() !== combo.key) return false;\n if (combo.mod !== (event.metaKey || event.ctrlKey)) return false;\n if (combo.shift !== event.shiftKey) return false;\n if (combo.alt !== event.altKey) return false;\n return true;\n}\n\nfunction isFormElement(target: EventTarget | null): boolean {\n if (!(target instanceof HTMLElement)) return false;\n if (target.isContentEditable) return true;\n return [\"INPUT\", \"TEXTAREA\", \"SELECT\"].includes(target.tagName);\n}\n\n// Across a shadow boundary `event.target` is retargeted to the shadow HOST, so a\n// key typed into an input inside a shadow root looks like a bare keypress on a\n// <div> and would fire hotkeys that must not fire while typing. The composed\n// path's first entry is the true origin.\nfunction eventOrigin(event: KeyboardEvent): EventTarget | null {\n return event.composedPath?.()[0] ?? event.target;\n}\n\nfunction onKeyDown(event: KeyboardEvent) {\n if (event.defaultPrevented || event.isComposing) return;\n\n // Highest priority wins; ties go to the most recently registered, so a\n // transient surface layered over the page takes precedence over the chrome.\n const origin = eventOrigin(event);\n let winner: Registration | undefined;\n for (const registration of registrations) {\n if (!matches(event, registration.combo)) continue;\n if (!registration.enableOnFormElements && isFormElement(origin)) continue;\n if (!winner || registration.priority >= winner.priority) winner = registration;\n }\n if (!winner) return;\n\n event.preventDefault();\n winner.run(event);\n}\n\nfunction ensureListener() {\n if (boundDocument || typeof document === \"undefined\") return;\n boundDocument = document;\n boundDocument.addEventListener(\"keydown\", onKeyDown);\n}\n\nfunction unregister(id: string) {\n const index = registrations.findIndex((entry) => entry.id === id);\n if (index !== -1) registrations.splice(index, 1);\n\n if (registrations.length === 0 && boundDocument) {\n boundDocument.removeEventListener(\"keydown\", onKeyDown);\n boundDocument = null;\n }\n}\n\nexport type UseHotkeyOptions = {\n /** Register the binding. Defaults to `true`. */\n enabled?: boolean | undefined;\n /**\n * Ordering among bindings for the same combo. Higher wins; ties break toward\n * the most recently mounted. Defaults to `0`.\n */\n priority?: number | undefined;\n /**\n * Fire while focus sits in an input, textarea, select, or contenteditable.\n * Defaults to `true` for combos carrying a modifier (⌘K should work while\n * typing) and `false` for bare keys (which would swallow ordinary typing).\n */\n enableOnFormElements?: boolean | undefined;\n};\n\n/**\n * Binds a global keyboard shortcut for as long as the component is mounted and\n * `enabled`. Pass `null`/`undefined` as the combo to bind nothing. Only the\n * winning registration for a combo runs, so overlapping bindings cannot both\n * fire on a single keypress.\n */\nexport function useHotkey(\n combo: string | null | undefined,\n handler: (event: KeyboardEvent) => void,\n options: UseHotkeyOptions = {},\n): void {\n const id = useId();\n const handlerRef = useRef(handler);\n handlerRef.current = handler;\n\n const { enabled = true, priority = 0, enableOnFormElements } = options;\n\n useEffect(() => {\n if (!combo || !enabled) return;\n const parsed = parseHotkey(combo);\n\n ensureListener();\n registrations.push({\n id,\n combo: parsed,\n priority,\n enableOnFormElements: enableOnFormElements ?? parsed.mod,\n run: (event) => handlerRef.current(event),\n });\n\n return () => unregister(id);\n }, [combo, enabled, priority, enableOnFormElements, id]);\n}\n"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const react = require("react");
4
4
  const TaskSnapshot = require("../data/TaskSnapshot.cjs");
5
+ const taskQueryKeys = require("../data/task-query-keys.cjs");
5
6
  const DEFAULT_BASE = "/api/v1";
6
7
  const DEFAULT_POLL_MS = 2e3;
7
8
  function streamUrl(base, query) {
@@ -122,7 +123,7 @@ function useTaskRuns(options = {}) {
122
123
  pollMs = DEFAULT_POLL_MS,
123
124
  forcePoll = false
124
125
  } = options;
125
- const [runs, setRuns] = react.useState([]);
126
+ const [received, setReceived] = react.useState({ key: null, runs: [] });
126
127
  const [status, setStatus] = react.useState("idle");
127
128
  react.useEffect(() => {
128
129
  if (!enabled) return;
@@ -131,6 +132,8 @@ function useTaskRuns(options = {}) {
131
132
  if (statusFilter) params.set("status", statusFilter);
132
133
  for (const [k, v] of Object.entries(labels ?? {})) params.append("label", `${k}=${v}`);
133
134
  const query = params.toString();
135
+ const requestKey = taskQueryKeys.taskQueryKeys.runs({ basePath, kind, status: statusFilter, labels });
136
+ const receive = (next) => setReceived({ key: requestKey, runs: next });
134
137
  if (forcePoll || !hasEventSource()) {
135
138
  let stopped = false;
136
139
  let timer;
@@ -140,7 +143,7 @@ function useTaskRuns(options = {}) {
140
143
  headers: { Accept: "application/json" }
141
144
  });
142
145
  if (res.ok) {
143
- setRuns(await res.json());
146
+ receive(await res.json());
144
147
  setStatus("polling");
145
148
  }
146
149
  } catch {
@@ -158,14 +161,14 @@ function useTaskRuns(options = {}) {
158
161
  setStatus("connected");
159
162
  es.addEventListener("runs", (e) => {
160
163
  try {
161
- setRuns(JSON.parse(e.data));
164
+ receive(JSON.parse(e.data));
162
165
  } catch {
163
166
  }
164
167
  });
165
168
  es.onerror = () => setStatus("connection lost — retrying");
166
169
  return () => es.close();
167
170
  }, [kind, statusFilter, JSON.stringify(labels ?? {}), basePath, enabled, pollMs, forcePoll]);
168
- return { runs, status };
171
+ return { runs: received.runs, status, runsKey: received.key };
169
172
  }
170
173
  exports.useTaskRun = useTaskRun;
171
174
  exports.useTaskRuns = useTaskRuns;