@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,22 @@
1
+ import { LookupSearch, ParameterValues } from './formMetadata';
2
+ import { OpenAPIParameter } from './types';
3
+ import { OperationsApiClient } from './useOperations';
4
+ /**
5
+ * Resolves a filter bar's server-side option search against the live API.
6
+ *
7
+ * A lookup response carries only the head of a large distinct set, flagged
8
+ * `truncated`. This is how everything past that head is reached: the filter
9
+ * control calls back (debounced) as the user types, and the matching options are
10
+ * fetched with `__lookup_filter` + `__lookup_q`.
11
+ *
12
+ * The current filter values travel with the request, so a search stays scoped to
13
+ * the siblings already selected — the same cascading the head request gets.
14
+ *
15
+ * Returns undefined when the client exposes no per-filter lookup, which leaves
16
+ * the control filtering its head set in the browser.
17
+ */
18
+ export declare function useOperationFilterSearch(client: OperationsApiClient, endpoint: {
19
+ path: string;
20
+ method: string;
21
+ } | undefined, values: ParameterValues, parameters: OpenAPIParameter[]): LookupSearch | undefined;
22
+ //# sourceMappingURL=operationFilterSearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operationFilterSearch.d.ts","sourceRoot":"","sources":["../../src/rpc/operationFilterSearch.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,EACtD,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,gBAAgB,EAAE,GAC7B,YAAY,GAAG,SAAS,CAgB1B"}
@@ -0,0 +1,23 @@
1
+ import { useMemo } from "react";
2
+ import { packParameterValues, lookupOptionsToFieldOptions } from "./formMetadata.js";
3
+ function useOperationFilterSearch(client, endpoint, values, parameters) {
4
+ const lookup = client.lookupFilterOptions;
5
+ return useMemo(() => {
6
+ if (!lookup || !endpoint) return void 0;
7
+ return async (filterKey, query) => {
8
+ const filter = await lookup.call(
9
+ client,
10
+ endpoint.path,
11
+ endpoint.method,
12
+ filterKey,
13
+ query,
14
+ packParameterValues(values, parameters)
15
+ );
16
+ return lookupOptionsToFieldOptions(filter);
17
+ };
18
+ }, [client, lookup, endpoint == null ? void 0 : endpoint.path, endpoint == null ? void 0 : endpoint.method, values, parameters]);
19
+ }
20
+ export {
21
+ useOperationFilterSearch
22
+ };
23
+ //# sourceMappingURL=operationFilterSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operationFilterSearch.js","sources":["../../src/rpc/operationFilterSearch.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport {\n lookupOptionsToFieldOptions,\n packParameterValues,\n type LookupSearch,\n type ParameterValues,\n} from \"./formMetadata\";\nimport type { OpenAPIParameter } from \"./types\";\nimport type { OperationsApiClient } from \"./useOperations\";\n\n/**\n * Resolves a filter bar's server-side option search against the live API.\n *\n * A lookup response carries only the head of a large distinct set, flagged\n * `truncated`. This is how everything past that head is reached: the filter\n * control calls back (debounced) as the user types, and the matching options are\n * fetched with `__lookup_filter` + `__lookup_q`.\n *\n * The current filter values travel with the request, so a search stays scoped to\n * the siblings already selected — the same cascading the head request gets.\n *\n * Returns undefined when the client exposes no per-filter lookup, which leaves\n * the control filtering its head set in the browser.\n */\nexport function useOperationFilterSearch(\n client: OperationsApiClient,\n endpoint: { path: string; method: string } | undefined,\n values: ParameterValues,\n parameters: OpenAPIParameter[],\n): LookupSearch | undefined {\n const lookup = client.lookupFilterOptions;\n return useMemo(() => {\n if (!lookup || !endpoint) return undefined;\n return async (filterKey: string, query: string) => {\n const filter = await lookup.call(\n client,\n endpoint.path,\n endpoint.method,\n filterKey,\n query,\n packParameterValues(values, parameters),\n );\n return lookupOptionsToFieldOptions(filter);\n };\n }, [client, lookup, endpoint?.path, endpoint?.method, values, parameters]);\n}\n"],"names":[],"mappings":";;AAwBO,SAAS,yBACd,QACA,UACA,QACA,YAC0B;AAC1B,QAAM,SAAS,OAAO;AACtB,SAAO,QAAQ,MAAM;AACnB,QAAI,CAAC,UAAU,CAAC,SAAU,QAAO;AACjC,WAAO,OAAO,WAAmB,UAAkB;AACjD,YAAM,SAAS,MAAM,OAAO;AAAA,QAC1B;AAAA,QACA,SAAS;AAAA,QACT,SAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA,oBAAoB,QAAQ,UAAU;AAAA,MAAA;AAExC,aAAO,4BAA4B,MAAM;AAAA,IAC3C;AAAA,EACF,GAAG,CAAC,QAAQ,QAAQ,qCAAU,MAAM,qCAAU,QAAQ,QAAQ,UAAU,CAAC;AAC3E;"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const react = require("react");
4
+ const formLookupContext = require("../components/form-lookup-context.cjs");
5
+ const formMetadata = require("./formMetadata.cjs");
6
+ function useOperationLookupFetcher(client) {
7
+ return react.useMemo(() => {
8
+ const lookup = client.lookupFilterOptions;
9
+ if (!lookup) return void 0;
10
+ return async ({ descriptor, query, rootValue }) => {
11
+ const extra = formLookupContext.resolveLookupScope(descriptor, rootValue);
12
+ const filter = await lookup.call(
13
+ client,
14
+ descriptor.url,
15
+ "GET",
16
+ descriptor.filter,
17
+ query,
18
+ extra
19
+ );
20
+ return formMetadata.lookupOptionsToFieldOptions(filter).map((option) => ({
21
+ value: option.value,
22
+ label: option.label
23
+ }));
24
+ };
25
+ }, [client]);
26
+ }
27
+ exports.useOperationLookupFetcher = useOperationLookupFetcher;
28
+ //# sourceMappingURL=operationLookupFetcher.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operationLookupFetcher.cjs","sources":["../../src/rpc/operationLookupFetcher.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { resolveLookupScope } from \"../components/form-lookup-context\";\nimport type { LookupFetcher } from \"../components/json-schema-form-types\";\nimport { lookupOptionsToFieldOptions } from \"./formMetadata\";\nimport type { OperationsApiClient } from \"./useOperations\";\n\n/**\n * Resolves a form's `x-clicky-lookup` fields against the live API: fetches the\n * referenced entity's lookup options (server-side search) and scopes them by a\n * sibling field.\n *\n * `JsonSchemaForm` always installs a lookup provider, with `undefined` when it\n * is given no fetcher — so an outer provider is shadowed rather than inherited.\n * Every form that renders lookup fields therefore has to pass one of its own,\n * which is why this is a shared hook rather than one form's private helper.\n *\n * Returns undefined when the client exposes no lookup endpoint; the field then\n * degrades to a free-text combobox.\n */\nexport function useOperationLookupFetcher(\n client: OperationsApiClient,\n): LookupFetcher | undefined {\n return useMemo(() => {\n const lookup = client.lookupFilterOptions;\n if (!lookup) return undefined;\n return async ({ descriptor, query, rootValue }) => {\n const extra = resolveLookupScope(descriptor, rootValue);\n const filter = await lookup.call(\n client,\n descriptor.url,\n \"GET\",\n descriptor.filter,\n query,\n extra,\n );\n return lookupOptionsToFieldOptions(filter).map((option) => ({\n value: option.value,\n label: option.label,\n }));\n };\n }, [client]);\n}\n"],"names":["useMemo","resolveLookupScope","lookupOptionsToFieldOptions"],"mappings":";;;;;AAmBO,SAAS,0BACd,QAC2B;AAC3B,SAAOA,MAAAA,QAAQ,MAAM;AACnB,UAAM,SAAS,OAAO;AACtB,QAAI,CAAC,OAAQ,QAAO;AACpB,WAAO,OAAO,EAAE,YAAY,OAAO,gBAAgB;AACjD,YAAM,QAAQC,kBAAAA,mBAAmB,YAAY,SAAS;AACtD,YAAM,SAAS,MAAM,OAAO;AAAA,QAC1B;AAAA,QACA,WAAW;AAAA,QACX;AAAA,QACA,WAAW;AAAA,QACX;AAAA,QACA;AAAA,MAAA;AAEF,aAAOC,aAAAA,4BAA4B,MAAM,EAAE,IAAI,CAAC,YAAY;AAAA,QAC1D,OAAO,OAAO;AAAA,QACd,OAAO,OAAO;AAAA,MAAA,EACd;AAAA,IACJ;AAAA,EACF,GAAG,CAAC,MAAM,CAAC;AACb;;"}
@@ -0,0 +1,17 @@
1
+ import { LookupFetcher } from '../components/json-schema-form-types';
2
+ import { OperationsApiClient } from './useOperations';
3
+ /**
4
+ * Resolves a form's `x-clicky-lookup` fields against the live API: fetches the
5
+ * referenced entity's lookup options (server-side search) and scopes them by a
6
+ * sibling field.
7
+ *
8
+ * `JsonSchemaForm` always installs a lookup provider, with `undefined` when it
9
+ * is given no fetcher — so an outer provider is shadowed rather than inherited.
10
+ * Every form that renders lookup fields therefore has to pass one of its own,
11
+ * which is why this is a shared hook rather than one form's private helper.
12
+ *
13
+ * Returns undefined when the client exposes no lookup endpoint; the field then
14
+ * degrades to a free-text combobox.
15
+ */
16
+ export declare function useOperationLookupFetcher(client: OperationsApiClient): LookupFetcher | undefined;
17
+ //# sourceMappingURL=operationLookupFetcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operationLookupFetcher.d.ts","sourceRoot":"","sources":["../../src/rpc/operationLookupFetcher.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,mBAAmB,GAC1B,aAAa,GAAG,SAAS,CAoB3B"}
@@ -0,0 +1,28 @@
1
+ import { useMemo } from "react";
2
+ import { resolveLookupScope } from "../components/form-lookup-context.js";
3
+ import { lookupOptionsToFieldOptions } from "./formMetadata.js";
4
+ function useOperationLookupFetcher(client) {
5
+ return useMemo(() => {
6
+ const lookup = client.lookupFilterOptions;
7
+ if (!lookup) return void 0;
8
+ return async ({ descriptor, query, rootValue }) => {
9
+ const extra = resolveLookupScope(descriptor, rootValue);
10
+ const filter = await lookup.call(
11
+ client,
12
+ descriptor.url,
13
+ "GET",
14
+ descriptor.filter,
15
+ query,
16
+ extra
17
+ );
18
+ return lookupOptionsToFieldOptions(filter).map((option) => ({
19
+ value: option.value,
20
+ label: option.label
21
+ }));
22
+ };
23
+ }, [client]);
24
+ }
25
+ export {
26
+ useOperationLookupFetcher
27
+ };
28
+ //# sourceMappingURL=operationLookupFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operationLookupFetcher.js","sources":["../../src/rpc/operationLookupFetcher.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { resolveLookupScope } from \"../components/form-lookup-context\";\nimport type { LookupFetcher } from \"../components/json-schema-form-types\";\nimport { lookupOptionsToFieldOptions } from \"./formMetadata\";\nimport type { OperationsApiClient } from \"./useOperations\";\n\n/**\n * Resolves a form's `x-clicky-lookup` fields against the live API: fetches the\n * referenced entity's lookup options (server-side search) and scopes them by a\n * sibling field.\n *\n * `JsonSchemaForm` always installs a lookup provider, with `undefined` when it\n * is given no fetcher — so an outer provider is shadowed rather than inherited.\n * Every form that renders lookup fields therefore has to pass one of its own,\n * which is why this is a shared hook rather than one form's private helper.\n *\n * Returns undefined when the client exposes no lookup endpoint; the field then\n * degrades to a free-text combobox.\n */\nexport function useOperationLookupFetcher(\n client: OperationsApiClient,\n): LookupFetcher | undefined {\n return useMemo(() => {\n const lookup = client.lookupFilterOptions;\n if (!lookup) return undefined;\n return async ({ descriptor, query, rootValue }) => {\n const extra = resolveLookupScope(descriptor, rootValue);\n const filter = await lookup.call(\n client,\n descriptor.url,\n \"GET\",\n descriptor.filter,\n query,\n extra,\n );\n return lookupOptionsToFieldOptions(filter).map((option) => ({\n value: option.value,\n label: option.label,\n }));\n };\n }, [client]);\n}\n"],"names":[],"mappings":";;;AAmBO,SAAS,0BACd,QAC2B;AAC3B,SAAO,QAAQ,MAAM;AACnB,UAAM,SAAS,OAAO;AACtB,QAAI,CAAC,OAAQ,QAAO;AACpB,WAAO,OAAO,EAAE,YAAY,OAAO,gBAAgB;AACjD,YAAM,QAAQ,mBAAmB,YAAY,SAAS;AACtD,YAAM,SAAS,MAAM,OAAO;AAAA,QAC1B;AAAA,QACA,WAAW;AAAA,QACX;AAAA,QACA,WAAW;AAAA,QACX;AAAA,QACA;AAAA,MAAA;AAEF,aAAO,4BAA4B,MAAM,EAAE,IAAI,CAAC,YAAY;AAAA,QAC1D,OAAO,OAAO;AAAA,QACd,OAAO,OAAO;AAAA,MAAA,EACd;AAAA,IACJ;AAAA,EACF,GAAG,CAAC,MAAM,CAAC;AACb;"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const pathTree = require("../lib/path-tree.cjs");
4
+ const surfaceIconMap = require("./surfaceIconMap.cjs");
5
+ function surfaceNavIcon(surface) {
6
+ return surfaceIconMap.resolveSurfaceIcon(surface.icon) ?? surface.icon;
7
+ }
8
+ function navItem(surface, label, options) {
9
+ const icon = surfaceNavIcon(surface);
10
+ return {
11
+ key: surface.key,
12
+ label,
13
+ ...icon ? { icon } : {},
14
+ active: options.isActive(surface),
15
+ to: options.hrefFor(surface)
16
+ };
17
+ }
18
+ function pathSegments(surface) {
19
+ return surface.path ? pathTree.splitPath(surface.path, pathTree.PATH_SEPARATOR) : [surface.title];
20
+ }
21
+ function nodeIsActive(node, options) {
22
+ return node.items.some(options.isActive) || node.children.some((child) => nodeIsActive(child, options));
23
+ }
24
+ function toNavGroup(node, options) {
25
+ const own = node.items[0];
26
+ const leaves = [];
27
+ const groups = [];
28
+ for (const child of node.children) {
29
+ if (child.children.length) {
30
+ groups.push(toNavGroup(child, options));
31
+ } else if (child.items[0]) {
32
+ leaves.push(navItem(child.items[0], child.label, options));
33
+ }
34
+ }
35
+ return {
36
+ key: node.key,
37
+ label: node.label,
38
+ items: leaves,
39
+ ...groups.length ? { groups } : {},
40
+ ...own ? { item: navItem(own, node.label, options) } : {},
41
+ // Folded until asked for: a backend with dozens of surfaces would otherwise
42
+ // expand into the same unscannable wall the tree exists to replace.
43
+ defaultCollapsed: true,
44
+ // A deep link must never land on a branch the user collapsed earlier.
45
+ ...nodeIsActive(node, options) ? { forceExpanded: true } : {}
46
+ };
47
+ }
48
+ function surfaceNavSection(label, surfaces, options) {
49
+ if (!surfaces.some((surface) => surface.path)) {
50
+ return {
51
+ label,
52
+ items: surfaces.map(
53
+ (surface) => navItem(surface, surface.title, options)
54
+ )
55
+ };
56
+ }
57
+ const roots = pathTree.buildPathTree(surfaces, pathSegments);
58
+ const items = [];
59
+ const groups = [];
60
+ for (const node of roots) {
61
+ if (node.children.length) {
62
+ groups.push(toNavGroup(node, options));
63
+ } else if (node.items[0]) {
64
+ items.push(navItem(node.items[0], node.label, options));
65
+ }
66
+ }
67
+ return {
68
+ label,
69
+ items,
70
+ ...groups.length ? { groups } : {},
71
+ // Folders sit at the same level as their sibling destinations here, so they
72
+ // must read like nav rows rather than cluster headings.
73
+ variant: "tree"
74
+ };
75
+ }
76
+ exports.surfaceNavSection = surfaceNavSection;
77
+ //# sourceMappingURL=surfaceNav.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surfaceNav.cjs","sources":["../../src/rpc/surfaceNav.ts"],"sourcesContent":["import type {\n AppShellNavGroup,\n AppShellNavItem,\n AppShellNavSection,\n} from \"../layout/AppShell\";\nimport {\n PATH_SEPARATOR,\n buildPathTree,\n splitPath,\n type PathTreeNode,\n} from \"../lib/path-tree\";\nimport { resolveSurfaceIcon } from \"./surfaceIconMap\";\nimport type { ClickySurface } from \"./types\";\n\nexport interface SurfaceNavOptions {\n /** True when the surface is the current location. */\n isActive: (surface: ClickySurface) => boolean;\n /** Routing destination for the surface. */\n hrefFor: (surface: ClickySurface) => string;\n}\n\n// surfaceNavIcon prefers clicky-ui's own generic glyph for a known name, and\n// otherwise hands the raw name through for the runtime fallback provider to\n// resolve. Dropping unknown names — the old behaviour — silently discarded\n// every vendor mark a backend emitted (postgres, loki, opensearch, …).\nfunction surfaceNavIcon(surface: ClickySurface) {\n return resolveSurfaceIcon(surface.icon) ?? surface.icon;\n}\n\nfunction navItem(\n surface: ClickySurface,\n label: string,\n options: SurfaceNavOptions,\n): AppShellNavItem {\n const icon = surfaceNavIcon(surface);\n return {\n key: surface.key,\n label,\n ...(icon ? { icon } : {}),\n active: options.isActive(surface),\n to: options.hrefFor(surface),\n };\n}\n\n// pathSegments reads the hierarchy the backend declared. A surface without one\n// sits at the root of its section, and its title is taken whole — never split,\n// because no delimiter was declared for it.\nfunction pathSegments(surface: ClickySurface): string[] {\n return surface.path\n ? splitPath(surface.path, PATH_SEPARATOR)\n : [surface.title];\n}\n\nfunction nodeIsActive(\n node: PathTreeNode<ClickySurface>,\n options: SurfaceNavOptions,\n): boolean {\n return (\n node.items.some(options.isActive) ||\n node.children.some((child) => nodeIsActive(child, options))\n );\n}\n\nfunction toNavGroup(\n node: PathTreeNode<ClickySurface>,\n options: SurfaceNavOptions,\n): AppShellNavGroup {\n const own = node.items[0];\n const leaves: AppShellNavItem[] = [];\n const groups: AppShellNavGroup[] = [];\n for (const child of node.children) {\n if (child.children.length) {\n groups.push(toNavGroup(child, options));\n } else if (child.items[0]) {\n leaves.push(navItem(child.items[0], child.label, options));\n }\n }\n return {\n key: node.key,\n label: node.label,\n items: leaves,\n ...(groups.length ? { groups } : {}),\n ...(own ? { item: navItem(own, node.label, options) } : {}),\n // Folded until asked for: a backend with dozens of surfaces would otherwise\n // expand into the same unscannable wall the tree exists to replace.\n defaultCollapsed: true,\n // A deep link must never land on a branch the user collapsed earlier.\n ...(nodeIsActive(node, options) ? { forceExpanded: true } : {}),\n };\n}\n\n/**\n * Renders one parent bucket of surfaces as a nav section.\n *\n * When no surface in the bucket declares a `path`, the output is the flat item\n * list this has always produced — the backward-compatibility guarantee for\n * every backend that has not opted in. Otherwise the declared paths become\n * nested groups, with a node that is both a folder and a leaf carrying its own\n * destination alongside its children.\n */\nexport function surfaceNavSection(\n label: string,\n surfaces: ClickySurface[],\n options: SurfaceNavOptions,\n): AppShellNavSection {\n if (!surfaces.some((surface) => surface.path)) {\n return {\n label,\n items: surfaces.map((surface) =>\n navItem(surface, surface.title, options),\n ),\n };\n }\n\n const roots = buildPathTree(surfaces, pathSegments);\n const items: AppShellNavItem[] = [];\n const groups: AppShellNavGroup[] = [];\n for (const node of roots) {\n if (node.children.length) {\n groups.push(toNavGroup(node, options));\n } else if (node.items[0]) {\n items.push(navItem(node.items[0], node.label, options));\n }\n }\n return {\n label,\n items,\n ...(groups.length ? { groups } : {}),\n // Folders sit at the same level as their sibling destinations here, so they\n // must read like nav rows rather than cluster headings.\n variant: \"tree\",\n };\n}\n"],"names":["resolveSurfaceIcon","splitPath","PATH_SEPARATOR","buildPathTree"],"mappings":";;;;AAyBA,SAAS,eAAe,SAAwB;AAC9C,SAAOA,eAAAA,mBAAmB,QAAQ,IAAI,KAAK,QAAQ;AACrD;AAEA,SAAS,QACP,SACA,OACA,SACiB;AACjB,QAAM,OAAO,eAAe,OAAO;AACnC,SAAO;AAAA,IACL,KAAK,QAAQ;AAAA,IACb;AAAA,IACA,GAAI,OAAO,EAAE,KAAA,IAAS,CAAA;AAAA,IACtB,QAAQ,QAAQ,SAAS,OAAO;AAAA,IAChC,IAAI,QAAQ,QAAQ,OAAO;AAAA,EAAA;AAE/B;AAKA,SAAS,aAAa,SAAkC;AACtD,SAAO,QAAQ,OACXC,SAAAA,UAAU,QAAQ,MAAMC,uBAAc,IACtC,CAAC,QAAQ,KAAK;AACpB;AAEA,SAAS,aACP,MACA,SACS;AACT,SACE,KAAK,MAAM,KAAK,QAAQ,QAAQ,KAChC,KAAK,SAAS,KAAK,CAAC,UAAU,aAAa,OAAO,OAAO,CAAC;AAE9D;AAEA,SAAS,WACP,MACA,SACkB;AAClB,QAAM,MAAM,KAAK,MAAM,CAAC;AACxB,QAAM,SAA4B,CAAA;AAClC,QAAM,SAA6B,CAAA;AACnC,aAAW,SAAS,KAAK,UAAU;AACjC,QAAI,MAAM,SAAS,QAAQ;AACzB,aAAO,KAAK,WAAW,OAAO,OAAO,CAAC;AAAA,IACxC,WAAW,MAAM,MAAM,CAAC,GAAG;AACzB,aAAO,KAAK,QAAQ,MAAM,MAAM,CAAC,GAAG,MAAM,OAAO,OAAO,CAAC;AAAA,IAC3D;AAAA,EACF;AACA,SAAO;AAAA,IACL,KAAK,KAAK;AAAA,IACV,OAAO,KAAK;AAAA,IACZ,OAAO;AAAA,IACP,GAAI,OAAO,SAAS,EAAE,OAAA,IAAW,CAAA;AAAA,IACjC,GAAI,MAAM,EAAE,MAAM,QAAQ,KAAK,KAAK,OAAO,OAAO,EAAA,IAAM,CAAA;AAAA;AAAA;AAAA,IAGxD,kBAAkB;AAAA;AAAA,IAElB,GAAI,aAAa,MAAM,OAAO,IAAI,EAAE,eAAe,SAAS,CAAA;AAAA,EAAC;AAEjE;AAWO,SAAS,kBACd,OACA,UACA,SACoB;AACpB,MAAI,CAAC,SAAS,KAAK,CAAC,YAAY,QAAQ,IAAI,GAAG;AAC7C,WAAO;AAAA,MACL;AAAA,MACA,OAAO,SAAS;AAAA,QAAI,CAAC,YACnB,QAAQ,SAAS,QAAQ,OAAO,OAAO;AAAA,MAAA;AAAA,IACzC;AAAA,EAEJ;AAEA,QAAM,QAAQC,SAAAA,cAAc,UAAU,YAAY;AAClD,QAAM,QAA2B,CAAA;AACjC,QAAM,SAA6B,CAAA;AACnC,aAAW,QAAQ,OAAO;AACxB,QAAI,KAAK,SAAS,QAAQ;AACxB,aAAO,KAAK,WAAW,MAAM,OAAO,CAAC;AAAA,IACvC,WAAW,KAAK,MAAM,CAAC,GAAG;AACxB,YAAM,KAAK,QAAQ,KAAK,MAAM,CAAC,GAAG,KAAK,OAAO,OAAO,CAAC;AAAA,IACxD;AAAA,EACF;AACA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,GAAI,OAAO,SAAS,EAAE,OAAA,IAAW,CAAA;AAAA;AAAA;AAAA,IAGjC,SAAS;AAAA,EAAA;AAEb;;"}
@@ -0,0 +1,19 @@
1
+ import { AppShellNavSection } from '../layout/AppShell';
2
+ import { ClickySurface } from './types';
3
+ export interface SurfaceNavOptions {
4
+ /** True when the surface is the current location. */
5
+ isActive: (surface: ClickySurface) => boolean;
6
+ /** Routing destination for the surface. */
7
+ hrefFor: (surface: ClickySurface) => string;
8
+ }
9
+ /**
10
+ * Renders one parent bucket of surfaces as a nav section.
11
+ *
12
+ * When no surface in the bucket declares a `path`, the output is the flat item
13
+ * list this has always produced — the backward-compatibility guarantee for
14
+ * every backend that has not opted in. Otherwise the declared paths become
15
+ * nested groups, with a node that is both a folder and a leaf carrying its own
16
+ * destination alongside its children.
17
+ */
18
+ export declare function surfaceNavSection(label: string, surfaces: ClickySurface[], options: SurfaceNavOptions): AppShellNavSection;
19
+ //# sourceMappingURL=surfaceNav.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surfaceNav.d.ts","sourceRoot":"","sources":["../../src/rpc/surfaceNav.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC;IAC9C,2CAA2C;IAC3C,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,MAAM,CAAC;CAC7C;AAwED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,aAAa,EAAE,EACzB,OAAO,EAAE,iBAAiB,GACzB,kBAAkB,CA4BpB"}
@@ -0,0 +1,77 @@
1
+ import { buildPathTree, splitPath, PATH_SEPARATOR } from "../lib/path-tree.js";
2
+ import { resolveSurfaceIcon } from "./surfaceIconMap.js";
3
+ function surfaceNavIcon(surface) {
4
+ return resolveSurfaceIcon(surface.icon) ?? surface.icon;
5
+ }
6
+ function navItem(surface, label, options) {
7
+ const icon = surfaceNavIcon(surface);
8
+ return {
9
+ key: surface.key,
10
+ label,
11
+ ...icon ? { icon } : {},
12
+ active: options.isActive(surface),
13
+ to: options.hrefFor(surface)
14
+ };
15
+ }
16
+ function pathSegments(surface) {
17
+ return surface.path ? splitPath(surface.path, PATH_SEPARATOR) : [surface.title];
18
+ }
19
+ function nodeIsActive(node, options) {
20
+ return node.items.some(options.isActive) || node.children.some((child) => nodeIsActive(child, options));
21
+ }
22
+ function toNavGroup(node, options) {
23
+ const own = node.items[0];
24
+ const leaves = [];
25
+ const groups = [];
26
+ for (const child of node.children) {
27
+ if (child.children.length) {
28
+ groups.push(toNavGroup(child, options));
29
+ } else if (child.items[0]) {
30
+ leaves.push(navItem(child.items[0], child.label, options));
31
+ }
32
+ }
33
+ return {
34
+ key: node.key,
35
+ label: node.label,
36
+ items: leaves,
37
+ ...groups.length ? { groups } : {},
38
+ ...own ? { item: navItem(own, node.label, options) } : {},
39
+ // Folded until asked for: a backend with dozens of surfaces would otherwise
40
+ // expand into the same unscannable wall the tree exists to replace.
41
+ defaultCollapsed: true,
42
+ // A deep link must never land on a branch the user collapsed earlier.
43
+ ...nodeIsActive(node, options) ? { forceExpanded: true } : {}
44
+ };
45
+ }
46
+ function surfaceNavSection(label, surfaces, options) {
47
+ if (!surfaces.some((surface) => surface.path)) {
48
+ return {
49
+ label,
50
+ items: surfaces.map(
51
+ (surface) => navItem(surface, surface.title, options)
52
+ )
53
+ };
54
+ }
55
+ const roots = buildPathTree(surfaces, pathSegments);
56
+ const items = [];
57
+ const groups = [];
58
+ for (const node of roots) {
59
+ if (node.children.length) {
60
+ groups.push(toNavGroup(node, options));
61
+ } else if (node.items[0]) {
62
+ items.push(navItem(node.items[0], node.label, options));
63
+ }
64
+ }
65
+ return {
66
+ label,
67
+ items,
68
+ ...groups.length ? { groups } : {},
69
+ // Folders sit at the same level as their sibling destinations here, so they
70
+ // must read like nav rows rather than cluster headings.
71
+ variant: "tree"
72
+ };
73
+ }
74
+ export {
75
+ surfaceNavSection
76
+ };
77
+ //# sourceMappingURL=surfaceNav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surfaceNav.js","sources":["../../src/rpc/surfaceNav.ts"],"sourcesContent":["import type {\n AppShellNavGroup,\n AppShellNavItem,\n AppShellNavSection,\n} from \"../layout/AppShell\";\nimport {\n PATH_SEPARATOR,\n buildPathTree,\n splitPath,\n type PathTreeNode,\n} from \"../lib/path-tree\";\nimport { resolveSurfaceIcon } from \"./surfaceIconMap\";\nimport type { ClickySurface } from \"./types\";\n\nexport interface SurfaceNavOptions {\n /** True when the surface is the current location. */\n isActive: (surface: ClickySurface) => boolean;\n /** Routing destination for the surface. */\n hrefFor: (surface: ClickySurface) => string;\n}\n\n// surfaceNavIcon prefers clicky-ui's own generic glyph for a known name, and\n// otherwise hands the raw name through for the runtime fallback provider to\n// resolve. Dropping unknown names — the old behaviour — silently discarded\n// every vendor mark a backend emitted (postgres, loki, opensearch, …).\nfunction surfaceNavIcon(surface: ClickySurface) {\n return resolveSurfaceIcon(surface.icon) ?? surface.icon;\n}\n\nfunction navItem(\n surface: ClickySurface,\n label: string,\n options: SurfaceNavOptions,\n): AppShellNavItem {\n const icon = surfaceNavIcon(surface);\n return {\n key: surface.key,\n label,\n ...(icon ? { icon } : {}),\n active: options.isActive(surface),\n to: options.hrefFor(surface),\n };\n}\n\n// pathSegments reads the hierarchy the backend declared. A surface without one\n// sits at the root of its section, and its title is taken whole — never split,\n// because no delimiter was declared for it.\nfunction pathSegments(surface: ClickySurface): string[] {\n return surface.path\n ? splitPath(surface.path, PATH_SEPARATOR)\n : [surface.title];\n}\n\nfunction nodeIsActive(\n node: PathTreeNode<ClickySurface>,\n options: SurfaceNavOptions,\n): boolean {\n return (\n node.items.some(options.isActive) ||\n node.children.some((child) => nodeIsActive(child, options))\n );\n}\n\nfunction toNavGroup(\n node: PathTreeNode<ClickySurface>,\n options: SurfaceNavOptions,\n): AppShellNavGroup {\n const own = node.items[0];\n const leaves: AppShellNavItem[] = [];\n const groups: AppShellNavGroup[] = [];\n for (const child of node.children) {\n if (child.children.length) {\n groups.push(toNavGroup(child, options));\n } else if (child.items[0]) {\n leaves.push(navItem(child.items[0], child.label, options));\n }\n }\n return {\n key: node.key,\n label: node.label,\n items: leaves,\n ...(groups.length ? { groups } : {}),\n ...(own ? { item: navItem(own, node.label, options) } : {}),\n // Folded until asked for: a backend with dozens of surfaces would otherwise\n // expand into the same unscannable wall the tree exists to replace.\n defaultCollapsed: true,\n // A deep link must never land on a branch the user collapsed earlier.\n ...(nodeIsActive(node, options) ? { forceExpanded: true } : {}),\n };\n}\n\n/**\n * Renders one parent bucket of surfaces as a nav section.\n *\n * When no surface in the bucket declares a `path`, the output is the flat item\n * list this has always produced — the backward-compatibility guarantee for\n * every backend that has not opted in. Otherwise the declared paths become\n * nested groups, with a node that is both a folder and a leaf carrying its own\n * destination alongside its children.\n */\nexport function surfaceNavSection(\n label: string,\n surfaces: ClickySurface[],\n options: SurfaceNavOptions,\n): AppShellNavSection {\n if (!surfaces.some((surface) => surface.path)) {\n return {\n label,\n items: surfaces.map((surface) =>\n navItem(surface, surface.title, options),\n ),\n };\n }\n\n const roots = buildPathTree(surfaces, pathSegments);\n const items: AppShellNavItem[] = [];\n const groups: AppShellNavGroup[] = [];\n for (const node of roots) {\n if (node.children.length) {\n groups.push(toNavGroup(node, options));\n } else if (node.items[0]) {\n items.push(navItem(node.items[0], node.label, options));\n }\n }\n return {\n label,\n items,\n ...(groups.length ? { groups } : {}),\n // Folders sit at the same level as their sibling destinations here, so they\n // must read like nav rows rather than cluster headings.\n variant: \"tree\",\n };\n}\n"],"names":[],"mappings":";;AAyBA,SAAS,eAAe,SAAwB;AAC9C,SAAO,mBAAmB,QAAQ,IAAI,KAAK,QAAQ;AACrD;AAEA,SAAS,QACP,SACA,OACA,SACiB;AACjB,QAAM,OAAO,eAAe,OAAO;AACnC,SAAO;AAAA,IACL,KAAK,QAAQ;AAAA,IACb;AAAA,IACA,GAAI,OAAO,EAAE,KAAA,IAAS,CAAA;AAAA,IACtB,QAAQ,QAAQ,SAAS,OAAO;AAAA,IAChC,IAAI,QAAQ,QAAQ,OAAO;AAAA,EAAA;AAE/B;AAKA,SAAS,aAAa,SAAkC;AACtD,SAAO,QAAQ,OACX,UAAU,QAAQ,MAAM,cAAc,IACtC,CAAC,QAAQ,KAAK;AACpB;AAEA,SAAS,aACP,MACA,SACS;AACT,SACE,KAAK,MAAM,KAAK,QAAQ,QAAQ,KAChC,KAAK,SAAS,KAAK,CAAC,UAAU,aAAa,OAAO,OAAO,CAAC;AAE9D;AAEA,SAAS,WACP,MACA,SACkB;AAClB,QAAM,MAAM,KAAK,MAAM,CAAC;AACxB,QAAM,SAA4B,CAAA;AAClC,QAAM,SAA6B,CAAA;AACnC,aAAW,SAAS,KAAK,UAAU;AACjC,QAAI,MAAM,SAAS,QAAQ;AACzB,aAAO,KAAK,WAAW,OAAO,OAAO,CAAC;AAAA,IACxC,WAAW,MAAM,MAAM,CAAC,GAAG;AACzB,aAAO,KAAK,QAAQ,MAAM,MAAM,CAAC,GAAG,MAAM,OAAO,OAAO,CAAC;AAAA,IAC3D;AAAA,EACF;AACA,SAAO;AAAA,IACL,KAAK,KAAK;AAAA,IACV,OAAO,KAAK;AAAA,IACZ,OAAO;AAAA,IACP,GAAI,OAAO,SAAS,EAAE,OAAA,IAAW,CAAA;AAAA,IACjC,GAAI,MAAM,EAAE,MAAM,QAAQ,KAAK,KAAK,OAAO,OAAO,EAAA,IAAM,CAAA;AAAA;AAAA;AAAA,IAGxD,kBAAkB;AAAA;AAAA,IAElB,GAAI,aAAa,MAAM,OAAO,IAAI,EAAE,eAAe,SAAS,CAAA;AAAA,EAAC;AAEjE;AAWO,SAAS,kBACd,OACA,UACA,SACoB;AACpB,MAAI,CAAC,SAAS,KAAK,CAAC,YAAY,QAAQ,IAAI,GAAG;AAC7C,WAAO;AAAA,MACL;AAAA,MACA,OAAO,SAAS;AAAA,QAAI,CAAC,YACnB,QAAQ,SAAS,QAAQ,OAAO,OAAO;AAAA,MAAA;AAAA,IACzC;AAAA,EAEJ;AAEA,QAAM,QAAQ,cAAc,UAAU,YAAY;AAClD,QAAM,QAA2B,CAAA;AACjC,QAAM,SAA6B,CAAA;AACnC,aAAW,QAAQ,OAAO;AACxB,QAAI,KAAK,SAAS,QAAQ;AACxB,aAAO,KAAK,WAAW,MAAM,OAAO,CAAC;AAAA,IACvC,WAAW,KAAK,MAAM,CAAC,GAAG;AACxB,YAAM,KAAK,QAAQ,KAAK,MAAM,CAAC,GAAG,KAAK,OAAO,OAAO,CAAC;AAAA,IACxD;AAAA,EACF;AACA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,GAAI,OAAO,SAAS,EAAE,OAAA,IAAW,CAAA;AAAA;AAAA;AAAA,IAGjC,SAAS;AAAA,EAAA;AAEb;"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.cjs","sources":["../../src/rpc/types.ts"],"sourcesContent":["import type { ClickyNode } from \"../data/Clicky\";\nimport type { TimeRangePresetGroup } from \"../components/TimeRange\";\n\nexport interface ExecutionRequest {\n args?: string[];\n flags?: Record<string, string>;\n}\n\nexport interface ExecutionPagination {\n total?: number;\n limit?: number;\n offset?: number;\n}\n\nexport interface ExecutionResponse {\n success: boolean;\n message?: string;\n output?: string;\n stdout?: string;\n stderr?: string;\n exit_code: number;\n error?: string;\n cli?: string;\n input?: ExecutionRequest;\n contentType?: string;\n requestUrl?: string;\n responseHeaders?: Record<string, string>;\n pagination?: ExecutionPagination;\n blob?: Blob;\n parsed?: unknown;\n}\n\nexport interface OpenAPISchema {\n type?: string;\n format?: string;\n default?: unknown;\n enum?: unknown[];\n description?: string;\n properties?: Record<string, OpenAPISchema>;\n items?: OpenAPISchema;\n oneOf?: OpenAPISchema[];\n additionalProperties?: OpenAPISchema | boolean;\n nullable?: boolean;\n}\n\n// ClickyParameterRole tells the UI which widget owns a parameter:\n// \"search\" — render as the FilterBar's dedicated search input\n// \"filter\" — render as a FilterBar chip on the DataTable\n// \"limit\" — feed into DataTable pagination's pageSize\n// \"offset\" — feed into DataTable pagination's page (or skip)\n// \"time-from\" — left edge of a time-range picker\n// \"time-to\" — right edge of a time-range picker\n// Set server-side by clicky's converter (see paramRole in clicky/rpc/openapi.go).\nexport type ClickyParameterRole =\n | \"search\"\n | \"filter\"\n | \"limit\"\n | \"offset\"\n | \"time-from\"\n | \"time-to\";\n\nexport interface ClickyParameterMeta {\n role?: ClickyParameterRole;\n}\n\nexport interface OpenAPIParameter {\n name: string;\n in: \"query\" | \"path\" | \"header\";\n description?: string;\n required?: boolean;\n schema?: OpenAPISchema;\n /** Hint text shown inside the empty input. Distinct from `description`,\n * which is help text and must NOT be used as a placeholder. */\n placeholder?: string;\n \"x-clicky\"?: ClickyParameterMeta;\n /** Vendor-extension placeholder, set server-side by clicky's converter.\n * Takes precedence over `placeholder` when both are present. */\n \"x-clicky-placeholder\"?: string;\n}\n\n/** Resolves the input placeholder for a parameter, drawing ONLY from explicit\n * placeholder fields — never from `description` (help text). Returns undefined\n * when no placeholder is declared so callers can apply their own fallback. */\nexport function parameterPlaceholder(\n param: OpenAPIParameter,\n): string | undefined {\n return param[\"x-clicky-placeholder\"] ?? param.placeholder;\n}\n\nexport interface OpenAPIOperation {\n tags?: string[];\n summary?: string;\n description?: string;\n operationId?: string;\n parameters?: OpenAPIParameter[];\n requestBody?: {\n content?: Record<string, { schema?: OpenAPISchema }>;\n };\n responses: Record<string, unknown>;\n \"x-clicky\"?: ClickyOperationMeta;\n}\n\nexport interface OpenAPISpec {\n openapi: string;\n info: { title: string; description?: string; version: string };\n paths: Record<string, Record<string, OpenAPIOperation>>;\n tags?: Array<{ name: string; description?: string }>;\n \"x-clicky\"?: ClickySpecMeta;\n}\n\nexport interface ResolvedOperation {\n path: string;\n method: string;\n operation: OpenAPIOperation;\n}\n\nexport interface DomainDefinition {\n key: string;\n title: string;\n description: string;\n icon?: string;\n emptyTitle?: string;\n emptyDescription?: string;\n}\n\nexport interface ClickySpecMeta {\n surfaces?: ClickySurface[];\n}\n\nexport interface ClickySurface {\n key: string;\n entity: string;\n title: string;\n parent?: string;\n admin?: boolean;\n description?: string;\n /** Opaque icon name emitted by the backend (x-clicky-icon), resolved to a glyph in the UI. */\n icon?: string;\n}\n\nexport interface ClickyOperationMeta {\n command?: string;\n surface?: string;\n verb: \"list\" | \"get\" | \"create\" | \"update\" | \"delete\" | \"action\";\n scope: \"collection\" | \"entity\";\n actionName?: string;\n idParam?: string;\n supportsLookup?: boolean;\n supportsFilterMode?: boolean;\n group?: string;\n toolHints?: ClickyToolHints;\n export?: ClickyExportMeta;\n}\n\nexport interface ClickyExportMeta {\n formats?: string[];\n scopes?: Array<\"page\" | \"all\">;\n allRowsMode?: \"streaming\" | \"buffered\";\n formatMaxRows?: Record<string, number>;\n}\n\nexport interface ClickyToolHints {\n title?: string;\n readOnlyHint?: boolean;\n destructiveHint?: boolean;\n idempotentHint?: boolean;\n openWorldHint?: boolean;\n icon?: string;\n group?: string;\n parent?: string;\n defaultPermission?: \"on\" | \"ask\" | \"off\" | \"auto\";\n strict?: boolean;\n}\n\nexport type OperationLookupFilterType =\n | \"bool\"\n | \"number\"\n | \"date\"\n | \"from\"\n | \"to\"\n | \"multi-filter\";\n\nexport interface OperationLookupFilter {\n label?: string;\n options?: Record<string, ClickyNode>;\n selected?: Record<string, ClickyNode>;\n multi?: boolean;\n type?: OperationLookupFilterType;\n /** True when `options` is only the head of a larger set (server-side capped). */\n truncated?: boolean;\n /** True distinct count behind a truncated option set; drives \"… and N more\". */\n total?: number;\n presets?: Array<\n { label: string; from: string; to: string } | TimeRangePresetGroup\n >;\n timeEnabled?: boolean;\n timeZone?: string;\n timeZones?: string[];\n}\n\nexport interface OperationLookupResponse {\n filters: Record<string, OperationLookupFilter>;\n}\n\nexport function isPositionalParam(p: OpenAPIParameter): boolean {\n return (\n p.name === \"args\" ||\n p.description?.toLowerCase().includes(\"positional argument\") === true\n );\n}\n"],"names":[],"mappings":";;AAmFO,SAAS,qBACd,OACoB;AACpB,SAAO,MAAM,sBAAsB,KAAK,MAAM;AAChD;AAqHO,SAAS,kBAAkB,GAA8B;;AAC9D,SACE,EAAE,SAAS,YACX,OAAE,gBAAF,mBAAe,cAAc,SAAS,4BAA2B;AAErE;;;"}
1
+ {"version":3,"file":"types.cjs","sources":["../../src/rpc/types.ts"],"sourcesContent":["import type { ClickyNode } from \"../data/Clicky\";\nimport type { TimeRangePresetGroup } from \"../components/TimeRange\";\n\nexport interface ExecutionRequest {\n args?: string[];\n flags?: Record<string, string>;\n}\n\nexport interface ExecutionPagination {\n total?: number;\n limit?: number;\n offset?: number;\n\n // totalRelation says whether total is a count or a lower bound. A backend\n // that stops counting past a threshold reports \"gte\", and rendering that as\n // a count would state a number nobody promised.\n totalRelation?: \"eq\" | \"gte\";\n\n // hasMore is the server's answer, not an inference from the page length: a\n // short page and the end of the data are different facts.\n hasMore?: boolean;\n\n // nextCursor resumes after this page. Opaque — it is passed back unchanged\n // and never parsed, because a client that can read one can forge one.\n nextCursor?: string;\n\n // truncated reports that the server stopped short of the whole result, so a\n // partial answer is never rendered as a complete one.\n truncated?: boolean;\n}\n\nexport interface ExecutionResponse {\n success: boolean;\n message?: string;\n output?: string;\n stdout?: string;\n stderr?: string;\n exit_code: number;\n error?: string;\n cli?: string;\n input?: ExecutionRequest;\n contentType?: string;\n requestUrl?: string;\n responseHeaders?: Record<string, string>;\n pagination?: ExecutionPagination;\n blob?: Blob;\n parsed?: unknown;\n}\n\nexport interface OpenAPISchema {\n type?: string;\n format?: string;\n default?: unknown;\n enum?: unknown[];\n description?: string;\n properties?: Record<string, OpenAPISchema>;\n items?: OpenAPISchema;\n oneOf?: OpenAPISchema[];\n additionalProperties?: OpenAPISchema | boolean;\n nullable?: boolean;\n}\n\n// ClickyParameterRole tells the UI which widget owns a parameter:\n// \"search\" — render as the FilterBar's dedicated search input\n// \"filter\" — render as a FilterBar chip on the DataTable\n// \"limit\" — feed into DataTable pagination's pageSize\n// \"offset\" — feed into DataTable pagination's page (or skip)\n// \"cursor\" — carry the opaque position the previous page returned\n// \"time-from\" — left edge of a time-range picker\n// \"time-to\" — right edge of a time-range picker\n// Set server-side by clicky's converter (see paramRole in clicky/rpc/openapi.go).\nexport type ClickyParameterRole =\n | \"search\"\n | \"filter\"\n | \"limit\"\n | \"offset\"\n | \"cursor\"\n | \"time-from\"\n | \"time-to\";\n\nexport interface ClickyParameterMeta {\n role?: ClickyParameterRole;\n}\n\nexport interface OpenAPIParameter {\n name: string;\n in: \"query\" | \"path\" | \"header\";\n description?: string;\n required?: boolean;\n schema?: OpenAPISchema;\n /** Hint text shown inside the empty input. Distinct from `description`,\n * which is help text and must NOT be used as a placeholder. */\n placeholder?: string;\n \"x-clicky\"?: ClickyParameterMeta;\n /** Vendor-extension placeholder, set server-side by clicky's converter.\n * Takes precedence over `placeholder` when both are present. */\n \"x-clicky-placeholder\"?: string;\n}\n\n/** Resolves the input placeholder for a parameter, drawing ONLY from explicit\n * placeholder fields — never from `description` (help text). Returns undefined\n * when no placeholder is declared so callers can apply their own fallback. */\nexport function parameterPlaceholder(\n param: OpenAPIParameter,\n): string | undefined {\n return param[\"x-clicky-placeholder\"] ?? param.placeholder;\n}\n\nexport interface OpenAPIOperation {\n tags?: string[];\n summary?: string;\n description?: string;\n operationId?: string;\n parameters?: OpenAPIParameter[];\n requestBody?: {\n content?: Record<string, { schema?: OpenAPISchema }>;\n };\n responses: Record<string, unknown>;\n \"x-clicky\"?: ClickyOperationMeta;\n}\n\nexport interface OpenAPISpec {\n openapi: string;\n info: { title: string; description?: string; version: string };\n paths: Record<string, Record<string, OpenAPIOperation>>;\n tags?: Array<{ name: string; description?: string }>;\n \"x-clicky\"?: ClickySpecMeta;\n}\n\nexport interface ResolvedOperation {\n path: string;\n method: string;\n operation: OpenAPIOperation;\n}\n\nexport interface DomainDefinition {\n key: string;\n title: string;\n description: string;\n icon?: string;\n emptyTitle?: string;\n emptyDescription?: string;\n}\n\nexport interface ClickySpecMeta {\n surfaces?: ClickySurface[];\n}\n\nexport interface ClickySurface {\n key: string;\n entity: string;\n title: string;\n parent?: string;\n admin?: boolean;\n description?: string;\n /** Opaque icon name emitted by the backend (x-clicky-icon), resolved to a glyph in the UI. */\n icon?: string;\n /**\n * Hierarchy position within `parent`, \"/\"-separated (x-clicky-path) — e.g.\n * \"jms/incoming/disbursements\". The backend has already applied whatever\n * delimiter its own naming convention uses, so the UI never guesses one.\n * Absent — the default — means the parent group renders as a flat list.\n */\n path?: string;\n}\n\nexport interface ClickyOperationMeta {\n command?: string;\n surface?: string;\n verb: \"list\" | \"get\" | \"create\" | \"update\" | \"delete\" | \"action\";\n scope: \"collection\" | \"entity\";\n actionName?: string;\n idParam?: string;\n supportsLookup?: boolean;\n supportsFilterMode?: boolean;\n group?: string;\n toolHints?: ClickyToolHints;\n export?: ClickyExportMeta;\n}\n\nexport interface ClickyExportMeta {\n formats?: string[];\n scopes?: Array<\"page\" | \"all\">;\n allRowsMode?: \"streaming\" | \"buffered\";\n formatMaxRows?: Record<string, number>;\n}\n\nexport interface ClickyToolHints {\n title?: string;\n readOnlyHint?: boolean;\n destructiveHint?: boolean;\n idempotentHint?: boolean;\n openWorldHint?: boolean;\n icon?: string;\n group?: string;\n parent?: string;\n defaultPermission?: \"on\" | \"ask\" | \"off\" | \"auto\";\n strict?: boolean;\n}\n\nexport type OperationLookupFilterType =\n | \"bool\"\n | \"number\"\n | \"date\"\n | \"from\"\n | \"to\"\n | \"multi-filter\";\n\nexport interface OperationLookupFilter {\n label?: string;\n options?: Record<string, ClickyNode>;\n selected?: Record<string, ClickyNode>;\n multi?: boolean;\n type?: OperationLookupFilterType;\n /** True when `options` is only the head of a larger set (server-side capped). */\n truncated?: boolean;\n /** True distinct count behind a truncated option set; drives \"… and N more\". */\n total?: number;\n presets?: Array<\n { label: string; from: string; to: string } | TimeRangePresetGroup\n >;\n timeEnabled?: boolean;\n timeZone?: string;\n timeZones?: string[];\n}\n\nexport interface OperationLookupResponse {\n filters: Record<string, OperationLookupFilter>;\n}\n\nexport function isPositionalParam(p: OpenAPIParameter): boolean {\n return (\n p.name === \"args\" ||\n p.description?.toLowerCase().includes(\"positional argument\") === true\n );\n}\n"],"names":[],"mappings":";;AAsGO,SAAS,qBACd,OACoB;AACpB,SAAO,MAAM,sBAAsB,KAAK,MAAM;AAChD;AA4HO,SAAS,kBAAkB,GAA8B;;AAC9D,SACE,EAAE,SAAS,YACX,OAAE,gBAAF,mBAAe,cAAc,SAAS,4BAA2B;AAErE;;;"}
@@ -8,6 +8,10 @@ export interface ExecutionPagination {
8
8
  total?: number;
9
9
  limit?: number;
10
10
  offset?: number;
11
+ totalRelation?: "eq" | "gte";
12
+ hasMore?: boolean;
13
+ nextCursor?: string;
14
+ truncated?: boolean;
11
15
  }
12
16
  export interface ExecutionResponse {
13
17
  success: boolean;
@@ -38,7 +42,7 @@ export interface OpenAPISchema {
38
42
  additionalProperties?: OpenAPISchema | boolean;
39
43
  nullable?: boolean;
40
44
  }
41
- export type ClickyParameterRole = "search" | "filter" | "limit" | "offset" | "time-from" | "time-to";
45
+ export type ClickyParameterRole = "search" | "filter" | "limit" | "offset" | "cursor" | "time-from" | "time-to";
42
46
  export interface ClickyParameterMeta {
43
47
  role?: ClickyParameterRole;
44
48
  }
@@ -113,6 +117,13 @@ export interface ClickySurface {
113
117
  description?: string;
114
118
  /** Opaque icon name emitted by the backend (x-clicky-icon), resolved to a glyph in the UI. */
115
119
  icon?: string;
120
+ /**
121
+ * Hierarchy position within `parent`, "/"-separated (x-clicky-path) — e.g.
122
+ * "jms/incoming/disbursements". The backend has already applied whatever
123
+ * delimiter its own naming convention uses, so the UI never guesses one.
124
+ * Absent — the default — means the parent group renders as a flat list.
125
+ */
126
+ path?: string;
116
127
  }
117
128
  export interface ClickyOperationMeta {
118
129
  command?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/rpc/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,oBAAoB,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAUD,MAAM,MAAM,mBAAmB,GAC3B,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,mBAAmB,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB;oEACgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC;qEACiE;IACjE,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;+EAE+E;AAC/E,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,gBAAgB,GACtB,MAAM,GAAG,SAAS,CAEpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,MAAM,CAAC,EAAE,aAAa,CAAA;SAAE,CAAC,CAAC;KACtD,CAAC;IACF,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,gBAAgB,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8FAA8F;IAC9F,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACjE,KAAK,EAAE,YAAY,GAAG,QAAQ,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,yBAAyB,GACjC,MAAM,GACN,QAAQ,GACR,MAAM,GACN,MAAM,GACN,IAAI,GACJ,cAAc,CAAC;AAEnB,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,yBAAyB,CAAC;IACjC,iFAAiF;IACjF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,KAAK,CACb;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,oBAAoB,CACnE,CAAC;IACF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CAChD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAK9D"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/rpc/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../src/rpc/types.ts"],"sourcesContent":["import type { ClickyNode } from \"../data/Clicky\";\nimport type { TimeRangePresetGroup } from \"../components/TimeRange\";\n\nexport interface ExecutionRequest {\n args?: string[];\n flags?: Record<string, string>;\n}\n\nexport interface ExecutionPagination {\n total?: number;\n limit?: number;\n offset?: number;\n}\n\nexport interface ExecutionResponse {\n success: boolean;\n message?: string;\n output?: string;\n stdout?: string;\n stderr?: string;\n exit_code: number;\n error?: string;\n cli?: string;\n input?: ExecutionRequest;\n contentType?: string;\n requestUrl?: string;\n responseHeaders?: Record<string, string>;\n pagination?: ExecutionPagination;\n blob?: Blob;\n parsed?: unknown;\n}\n\nexport interface OpenAPISchema {\n type?: string;\n format?: string;\n default?: unknown;\n enum?: unknown[];\n description?: string;\n properties?: Record<string, OpenAPISchema>;\n items?: OpenAPISchema;\n oneOf?: OpenAPISchema[];\n additionalProperties?: OpenAPISchema | boolean;\n nullable?: boolean;\n}\n\n// ClickyParameterRole tells the UI which widget owns a parameter:\n// \"search\" — render as the FilterBar's dedicated search input\n// \"filter\" — render as a FilterBar chip on the DataTable\n// \"limit\" — feed into DataTable pagination's pageSize\n// \"offset\" — feed into DataTable pagination's page (or skip)\n// \"time-from\" — left edge of a time-range picker\n// \"time-to\" — right edge of a time-range picker\n// Set server-side by clicky's converter (see paramRole in clicky/rpc/openapi.go).\nexport type ClickyParameterRole =\n | \"search\"\n | \"filter\"\n | \"limit\"\n | \"offset\"\n | \"time-from\"\n | \"time-to\";\n\nexport interface ClickyParameterMeta {\n role?: ClickyParameterRole;\n}\n\nexport interface OpenAPIParameter {\n name: string;\n in: \"query\" | \"path\" | \"header\";\n description?: string;\n required?: boolean;\n schema?: OpenAPISchema;\n /** Hint text shown inside the empty input. Distinct from `description`,\n * which is help text and must NOT be used as a placeholder. */\n placeholder?: string;\n \"x-clicky\"?: ClickyParameterMeta;\n /** Vendor-extension placeholder, set server-side by clicky's converter.\n * Takes precedence over `placeholder` when both are present. */\n \"x-clicky-placeholder\"?: string;\n}\n\n/** Resolves the input placeholder for a parameter, drawing ONLY from explicit\n * placeholder fields — never from `description` (help text). Returns undefined\n * when no placeholder is declared so callers can apply their own fallback. */\nexport function parameterPlaceholder(\n param: OpenAPIParameter,\n): string | undefined {\n return param[\"x-clicky-placeholder\"] ?? param.placeholder;\n}\n\nexport interface OpenAPIOperation {\n tags?: string[];\n summary?: string;\n description?: string;\n operationId?: string;\n parameters?: OpenAPIParameter[];\n requestBody?: {\n content?: Record<string, { schema?: OpenAPISchema }>;\n };\n responses: Record<string, unknown>;\n \"x-clicky\"?: ClickyOperationMeta;\n}\n\nexport interface OpenAPISpec {\n openapi: string;\n info: { title: string; description?: string; version: string };\n paths: Record<string, Record<string, OpenAPIOperation>>;\n tags?: Array<{ name: string; description?: string }>;\n \"x-clicky\"?: ClickySpecMeta;\n}\n\nexport interface ResolvedOperation {\n path: string;\n method: string;\n operation: OpenAPIOperation;\n}\n\nexport interface DomainDefinition {\n key: string;\n title: string;\n description: string;\n icon?: string;\n emptyTitle?: string;\n emptyDescription?: string;\n}\n\nexport interface ClickySpecMeta {\n surfaces?: ClickySurface[];\n}\n\nexport interface ClickySurface {\n key: string;\n entity: string;\n title: string;\n parent?: string;\n admin?: boolean;\n description?: string;\n /** Opaque icon name emitted by the backend (x-clicky-icon), resolved to a glyph in the UI. */\n icon?: string;\n}\n\nexport interface ClickyOperationMeta {\n command?: string;\n surface?: string;\n verb: \"list\" | \"get\" | \"create\" | \"update\" | \"delete\" | \"action\";\n scope: \"collection\" | \"entity\";\n actionName?: string;\n idParam?: string;\n supportsLookup?: boolean;\n supportsFilterMode?: boolean;\n group?: string;\n toolHints?: ClickyToolHints;\n export?: ClickyExportMeta;\n}\n\nexport interface ClickyExportMeta {\n formats?: string[];\n scopes?: Array<\"page\" | \"all\">;\n allRowsMode?: \"streaming\" | \"buffered\";\n formatMaxRows?: Record<string, number>;\n}\n\nexport interface ClickyToolHints {\n title?: string;\n readOnlyHint?: boolean;\n destructiveHint?: boolean;\n idempotentHint?: boolean;\n openWorldHint?: boolean;\n icon?: string;\n group?: string;\n parent?: string;\n defaultPermission?: \"on\" | \"ask\" | \"off\" | \"auto\";\n strict?: boolean;\n}\n\nexport type OperationLookupFilterType =\n | \"bool\"\n | \"number\"\n | \"date\"\n | \"from\"\n | \"to\"\n | \"multi-filter\";\n\nexport interface OperationLookupFilter {\n label?: string;\n options?: Record<string, ClickyNode>;\n selected?: Record<string, ClickyNode>;\n multi?: boolean;\n type?: OperationLookupFilterType;\n /** True when `options` is only the head of a larger set (server-side capped). */\n truncated?: boolean;\n /** True distinct count behind a truncated option set; drives \"… and N more\". */\n total?: number;\n presets?: Array<\n { label: string; from: string; to: string } | TimeRangePresetGroup\n >;\n timeEnabled?: boolean;\n timeZone?: string;\n timeZones?: string[];\n}\n\nexport interface OperationLookupResponse {\n filters: Record<string, OperationLookupFilter>;\n}\n\nexport function isPositionalParam(p: OpenAPIParameter): boolean {\n return (\n p.name === \"args\" ||\n p.description?.toLowerCase().includes(\"positional argument\") === true\n );\n}\n"],"names":[],"mappings":"AAmFO,SAAS,qBACd,OACoB;AACpB,SAAO,MAAM,sBAAsB,KAAK,MAAM;AAChD;AAqHO,SAAS,kBAAkB,GAA8B;AAzHzD;AA0HL,SACE,EAAE,SAAS,YACX,OAAE,gBAAF,mBAAe,cAAc,SAAS,4BAA2B;AAErE;"}
1
+ {"version":3,"file":"types.js","sources":["../../src/rpc/types.ts"],"sourcesContent":["import type { ClickyNode } from \"../data/Clicky\";\nimport type { TimeRangePresetGroup } from \"../components/TimeRange\";\n\nexport interface ExecutionRequest {\n args?: string[];\n flags?: Record<string, string>;\n}\n\nexport interface ExecutionPagination {\n total?: number;\n limit?: number;\n offset?: number;\n\n // totalRelation says whether total is a count or a lower bound. A backend\n // that stops counting past a threshold reports \"gte\", and rendering that as\n // a count would state a number nobody promised.\n totalRelation?: \"eq\" | \"gte\";\n\n // hasMore is the server's answer, not an inference from the page length: a\n // short page and the end of the data are different facts.\n hasMore?: boolean;\n\n // nextCursor resumes after this page. Opaque — it is passed back unchanged\n // and never parsed, because a client that can read one can forge one.\n nextCursor?: string;\n\n // truncated reports that the server stopped short of the whole result, so a\n // partial answer is never rendered as a complete one.\n truncated?: boolean;\n}\n\nexport interface ExecutionResponse {\n success: boolean;\n message?: string;\n output?: string;\n stdout?: string;\n stderr?: string;\n exit_code: number;\n error?: string;\n cli?: string;\n input?: ExecutionRequest;\n contentType?: string;\n requestUrl?: string;\n responseHeaders?: Record<string, string>;\n pagination?: ExecutionPagination;\n blob?: Blob;\n parsed?: unknown;\n}\n\nexport interface OpenAPISchema {\n type?: string;\n format?: string;\n default?: unknown;\n enum?: unknown[];\n description?: string;\n properties?: Record<string, OpenAPISchema>;\n items?: OpenAPISchema;\n oneOf?: OpenAPISchema[];\n additionalProperties?: OpenAPISchema | boolean;\n nullable?: boolean;\n}\n\n// ClickyParameterRole tells the UI which widget owns a parameter:\n// \"search\" — render as the FilterBar's dedicated search input\n// \"filter\" — render as a FilterBar chip on the DataTable\n// \"limit\" — feed into DataTable pagination's pageSize\n// \"offset\" — feed into DataTable pagination's page (or skip)\n// \"cursor\" — carry the opaque position the previous page returned\n// \"time-from\" — left edge of a time-range picker\n// \"time-to\" — right edge of a time-range picker\n// Set server-side by clicky's converter (see paramRole in clicky/rpc/openapi.go).\nexport type ClickyParameterRole =\n | \"search\"\n | \"filter\"\n | \"limit\"\n | \"offset\"\n | \"cursor\"\n | \"time-from\"\n | \"time-to\";\n\nexport interface ClickyParameterMeta {\n role?: ClickyParameterRole;\n}\n\nexport interface OpenAPIParameter {\n name: string;\n in: \"query\" | \"path\" | \"header\";\n description?: string;\n required?: boolean;\n schema?: OpenAPISchema;\n /** Hint text shown inside the empty input. Distinct from `description`,\n * which is help text and must NOT be used as a placeholder. */\n placeholder?: string;\n \"x-clicky\"?: ClickyParameterMeta;\n /** Vendor-extension placeholder, set server-side by clicky's converter.\n * Takes precedence over `placeholder` when both are present. */\n \"x-clicky-placeholder\"?: string;\n}\n\n/** Resolves the input placeholder for a parameter, drawing ONLY from explicit\n * placeholder fields — never from `description` (help text). Returns undefined\n * when no placeholder is declared so callers can apply their own fallback. */\nexport function parameterPlaceholder(\n param: OpenAPIParameter,\n): string | undefined {\n return param[\"x-clicky-placeholder\"] ?? param.placeholder;\n}\n\nexport interface OpenAPIOperation {\n tags?: string[];\n summary?: string;\n description?: string;\n operationId?: string;\n parameters?: OpenAPIParameter[];\n requestBody?: {\n content?: Record<string, { schema?: OpenAPISchema }>;\n };\n responses: Record<string, unknown>;\n \"x-clicky\"?: ClickyOperationMeta;\n}\n\nexport interface OpenAPISpec {\n openapi: string;\n info: { title: string; description?: string; version: string };\n paths: Record<string, Record<string, OpenAPIOperation>>;\n tags?: Array<{ name: string; description?: string }>;\n \"x-clicky\"?: ClickySpecMeta;\n}\n\nexport interface ResolvedOperation {\n path: string;\n method: string;\n operation: OpenAPIOperation;\n}\n\nexport interface DomainDefinition {\n key: string;\n title: string;\n description: string;\n icon?: string;\n emptyTitle?: string;\n emptyDescription?: string;\n}\n\nexport interface ClickySpecMeta {\n surfaces?: ClickySurface[];\n}\n\nexport interface ClickySurface {\n key: string;\n entity: string;\n title: string;\n parent?: string;\n admin?: boolean;\n description?: string;\n /** Opaque icon name emitted by the backend (x-clicky-icon), resolved to a glyph in the UI. */\n icon?: string;\n /**\n * Hierarchy position within `parent`, \"/\"-separated (x-clicky-path) — e.g.\n * \"jms/incoming/disbursements\". The backend has already applied whatever\n * delimiter its own naming convention uses, so the UI never guesses one.\n * Absent — the default — means the parent group renders as a flat list.\n */\n path?: string;\n}\n\nexport interface ClickyOperationMeta {\n command?: string;\n surface?: string;\n verb: \"list\" | \"get\" | \"create\" | \"update\" | \"delete\" | \"action\";\n scope: \"collection\" | \"entity\";\n actionName?: string;\n idParam?: string;\n supportsLookup?: boolean;\n supportsFilterMode?: boolean;\n group?: string;\n toolHints?: ClickyToolHints;\n export?: ClickyExportMeta;\n}\n\nexport interface ClickyExportMeta {\n formats?: string[];\n scopes?: Array<\"page\" | \"all\">;\n allRowsMode?: \"streaming\" | \"buffered\";\n formatMaxRows?: Record<string, number>;\n}\n\nexport interface ClickyToolHints {\n title?: string;\n readOnlyHint?: boolean;\n destructiveHint?: boolean;\n idempotentHint?: boolean;\n openWorldHint?: boolean;\n icon?: string;\n group?: string;\n parent?: string;\n defaultPermission?: \"on\" | \"ask\" | \"off\" | \"auto\";\n strict?: boolean;\n}\n\nexport type OperationLookupFilterType =\n | \"bool\"\n | \"number\"\n | \"date\"\n | \"from\"\n | \"to\"\n | \"multi-filter\";\n\nexport interface OperationLookupFilter {\n label?: string;\n options?: Record<string, ClickyNode>;\n selected?: Record<string, ClickyNode>;\n multi?: boolean;\n type?: OperationLookupFilterType;\n /** True when `options` is only the head of a larger set (server-side capped). */\n truncated?: boolean;\n /** True distinct count behind a truncated option set; drives \"… and N more\". */\n total?: number;\n presets?: Array<\n { label: string; from: string; to: string } | TimeRangePresetGroup\n >;\n timeEnabled?: boolean;\n timeZone?: string;\n timeZones?: string[];\n}\n\nexport interface OperationLookupResponse {\n filters: Record<string, OperationLookupFilter>;\n}\n\nexport function isPositionalParam(p: OpenAPIParameter): boolean {\n return (\n p.name === \"args\" ||\n p.description?.toLowerCase().includes(\"positional argument\") === true\n );\n}\n"],"names":[],"mappings":"AAsGO,SAAS,qBACd,OACoB;AACpB,SAAO,MAAM,sBAAsB,KAAK,MAAM;AAChD;AA4HO,SAAS,kBAAkB,GAA8B;AAhIzD;AAiIL,SACE,EAAE,SAAS,YACX,OAAE,gBAAF,mBAAe,cAAc,SAAS,4BAA2B;AAErE;"}
package/dist/rpc.cjs CHANGED
@@ -4,6 +4,7 @@ const OperationCatalog = require("./rpc/OperationCatalog.cjs");
4
4
  const EntityExplorerApp = require("./rpc/EntityExplorerApp.cjs");
5
5
  const acceptOptions = require("./rpc/accept-options.cjs");
6
6
  const SchemaActionForm = require("./rpc/SchemaActionForm.cjs");
7
+ const operationLookupFetcher = require("./rpc/operationLookupFetcher.cjs");
7
8
  const CommandForm = require("./rpc/CommandForm.cjs");
8
9
  const commandFormUtils = require("./rpc/command-form-utils.cjs");
9
10
  const CommandOutput = require("./rpc/CommandOutput.cjs");
@@ -29,6 +30,7 @@ exports.EntityExplorerApp = EntityExplorerApp.EntityExplorerApp;
29
30
  exports.ACCEPT_OPTIONS = acceptOptions.ACCEPT_OPTIONS;
30
31
  exports.VIEW_OPTIONS = acceptOptions.VIEW_OPTIONS;
31
32
  exports.SchemaActionForm = SchemaActionForm.SchemaActionForm;
33
+ exports.useOperationLookupFetcher = operationLookupFetcher.useOperationLookupFetcher;
32
34
  exports.CommandForm = CommandForm.CommandForm;
33
35
  exports.normalizeParameters = commandFormUtils.normalizeParameters;
34
36
  exports.pathParamNames = commandFormUtils.pathParamNames;
package/dist/rpc.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"rpc.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/rpc.d.ts CHANGED
@@ -2,6 +2,7 @@ export { OperationCatalog, type OperationCatalogProps, } from './rpc/OperationCa
2
2
  export { EntityExplorerApp, type EntityExplorerAppProps, type SurfaceActionLabels, } from './rpc/EntityExplorerApp';
3
3
  export { ACCEPT_OPTIONS, VIEW_OPTIONS, type AcceptOption, type AcceptValue, } from './rpc/accept-options';
4
4
  export { SchemaActionForm, type SchemaActionFormProps, type FormActionContext, type FormActionsRenderer, type SchemaActionFormSlots, } from './rpc/SchemaActionForm';
5
+ export { useOperationLookupFetcher } from './rpc/operationLookupFetcher';
5
6
  export { CommandForm, type CommandFormProps } from './rpc/CommandForm';
6
7
  export { normalizeParameters, pathParamNames, submitValue, } from './rpc/command-form-utils';
7
8
  export { CommandOutput, type CommandOutputProps } from './rpc/CommandOutput';
package/dist/rpc.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
package/dist/rpc.js CHANGED
@@ -2,6 +2,7 @@ import { OperationCatalog } from "./rpc/OperationCatalog.js";
2
2
  import { EntityExplorerApp } from "./rpc/EntityExplorerApp.js";
3
3
  import { ACCEPT_OPTIONS, VIEW_OPTIONS } from "./rpc/accept-options.js";
4
4
  import { SchemaActionForm } from "./rpc/SchemaActionForm.js";
5
+ import { useOperationLookupFetcher } from "./rpc/operationLookupFetcher.js";
5
6
  import { CommandForm } from "./rpc/CommandForm.js";
6
7
  import { normalizeParameters, pathParamNames, submitValue } from "./rpc/command-form-utils.js";
7
8
  import { CommandOutput } from "./rpc/CommandOutput.js";
@@ -61,6 +62,7 @@ export {
61
62
  useMemoryRouter,
62
63
  useOpenAPI,
63
64
  useOperationById,
65
+ useOperationLookupFetcher,
64
66
  useOperations,
65
67
  useRouter,
66
68
  withBasePath
package/dist/rpc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"rpc.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;"}