@flanksource/clicky-ui 0.3.26 → 0.3.28

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 (725) hide show
  1. package/NOTICE.md +14 -0
  2. package/dist/ai.cjs +52 -6
  3. package/dist/ai.cjs.map +1 -1
  4. package/dist/ai.js +53 -7
  5. package/dist/ai.js.map +1 -1
  6. package/dist/comments/CommentCard.cjs +24 -39
  7. package/dist/comments/CommentCard.cjs.map +1 -1
  8. package/dist/comments/CommentCard.d.ts +9 -2
  9. package/dist/comments/CommentCard.d.ts.map +1 -1
  10. package/dist/comments/CommentCard.js +24 -39
  11. package/dist/comments/CommentCard.js.map +1 -1
  12. package/dist/comments/CommentProvider.cjs +4 -3
  13. package/dist/comments/CommentProvider.cjs.map +1 -1
  14. package/dist/comments/CommentProvider.d.ts +6 -1
  15. package/dist/comments/CommentProvider.d.ts.map +1 -1
  16. package/dist/comments/CommentProvider.js +4 -3
  17. package/dist/comments/CommentProvider.js.map +1 -1
  18. package/dist/comments/CommentSidePanel.cjs +65 -52
  19. package/dist/comments/CommentSidePanel.cjs.map +1 -1
  20. package/dist/comments/CommentSidePanel.d.ts.map +1 -1
  21. package/dist/comments/CommentSidePanel.js +67 -54
  22. package/dist/comments/CommentSidePanel.js.map +1 -1
  23. package/dist/comments/CommentThread.cjs +2 -2
  24. package/dist/comments/CommentThread.cjs.map +1 -1
  25. package/dist/comments/CommentThread.d.ts +3 -3
  26. package/dist/comments/CommentThread.d.ts.map +1 -1
  27. package/dist/comments/CommentThread.js +2 -2
  28. package/dist/comments/CommentThread.js.map +1 -1
  29. package/dist/comments/CommentThreadList.cjs +85 -37
  30. package/dist/comments/CommentThreadList.cjs.map +1 -1
  31. package/dist/comments/CommentThreadList.d.ts +3 -3
  32. package/dist/comments/CommentThreadList.d.ts.map +1 -1
  33. package/dist/comments/CommentThreadList.js +86 -38
  34. package/dist/comments/CommentThreadList.js.map +1 -1
  35. package/dist/comments/comment-utils.cjs +26 -0
  36. package/dist/comments/comment-utils.cjs.map +1 -1
  37. package/dist/comments/comment-utils.d.ts +11 -0
  38. package/dist/comments/comment-utils.d.ts.map +1 -1
  39. package/dist/comments/comment-utils.js +26 -0
  40. package/dist/comments/comment-utils.js.map +1 -1
  41. package/dist/comments.cjs +2 -0
  42. package/dist/comments.cjs.map +1 -1
  43. package/dist/comments.js +3 -1
  44. package/dist/components/AccordionList.cjs +3 -0
  45. package/dist/components/AccordionList.cjs.map +1 -1
  46. package/dist/components/AccordionList.d.ts +3 -1
  47. package/dist/components/AccordionList.d.ts.map +1 -1
  48. package/dist/components/AccordionList.js +3 -0
  49. package/dist/components/AccordionList.js.map +1 -1
  50. package/dist/components/CopyButton.cjs +35 -0
  51. package/dist/components/CopyButton.cjs.map +1 -0
  52. package/dist/components/CopyButton.d.ts +20 -0
  53. package/dist/components/CopyButton.d.ts.map +1 -0
  54. package/dist/components/CopyButton.js +35 -0
  55. package/dist/components/CopyButton.js.map +1 -0
  56. package/dist/components/FilterBar.cjs +29 -6
  57. package/dist/components/FilterBar.cjs.map +1 -1
  58. package/dist/components/FilterBar.d.ts +10 -1
  59. package/dist/components/FilterBar.d.ts.map +1 -1
  60. package/dist/components/FilterBar.js +29 -6
  61. package/dist/components/FilterBar.js.map +1 -1
  62. package/dist/components/ListMenu.cjs +4 -1
  63. package/dist/components/ListMenu.cjs.map +1 -1
  64. package/dist/components/ListMenu.d.ts +5 -1
  65. package/dist/components/ListMenu.d.ts.map +1 -1
  66. package/dist/components/ListMenu.js +4 -1
  67. package/dist/components/ListMenu.js.map +1 -1
  68. package/dist/components/SegmentedControl.cjs +4 -2
  69. package/dist/components/SegmentedControl.cjs.map +1 -1
  70. package/dist/components/SegmentedControl.d.ts +4 -0
  71. package/dist/components/SegmentedControl.d.ts.map +1 -1
  72. package/dist/components/SegmentedControl.js +4 -2
  73. package/dist/components/SegmentedControl.js.map +1 -1
  74. package/dist/components/clipboard.cjs +60 -0
  75. package/dist/components/clipboard.cjs.map +1 -0
  76. package/dist/components/clipboard.d.ts +13 -0
  77. package/dist/components/clipboard.d.ts.map +1 -0
  78. package/dist/components/clipboard.js +60 -0
  79. package/dist/components/clipboard.js.map +1 -0
  80. package/dist/components/json-schema-form-array.cjs +15 -1
  81. package/dist/components/json-schema-form-array.cjs.map +1 -1
  82. package/dist/components/json-schema-form-array.d.ts.map +1 -1
  83. package/dist/components/json-schema-form-array.js +15 -1
  84. package/dist/components/json-schema-form-array.js.map +1 -1
  85. package/dist/components/json-schema-form-list-array.cjs +113 -0
  86. package/dist/components/json-schema-form-list-array.cjs.map +1 -0
  87. package/dist/components/json-schema-form-list-array.d.ts +7 -0
  88. package/dist/components/json-schema-form-list-array.d.ts.map +1 -0
  89. package/dist/components/json-schema-form-list-array.js +113 -0
  90. package/dist/components/json-schema-form-list-array.js.map +1 -0
  91. package/dist/components/json-schema-form-resolve.cjs +1 -1
  92. package/dist/components/json-schema-form-resolve.cjs.map +1 -1
  93. package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
  94. package/dist/components/json-schema-form-resolve.js +1 -1
  95. package/dist/components/json-schema-form-resolve.js.map +1 -1
  96. package/dist/components/json-schema-form-types.d.ts +1 -1
  97. package/dist/components/json-schema-form-types.d.ts.map +1 -1
  98. package/dist/components.cjs +5 -0
  99. package/dist/components.cjs.map +1 -1
  100. package/dist/components.d.ts +2 -0
  101. package/dist/components.d.ts.map +1 -1
  102. package/dist/components.js +5 -0
  103. package/dist/components.js.map +1 -1
  104. package/dist/data/Clicky.cjs +4 -1
  105. package/dist/data/Clicky.cjs.map +1 -1
  106. package/dist/data/Clicky.js +4 -1
  107. package/dist/data/Clicky.js.map +1 -1
  108. package/dist/data/DataTable.cjs +202 -40
  109. package/dist/data/DataTable.cjs.map +1 -1
  110. package/dist/data/DataTable.d.ts +163 -3
  111. package/dist/data/DataTable.d.ts.map +1 -1
  112. package/dist/data/DataTable.js +202 -40
  113. package/dist/data/DataTable.js.map +1 -1
  114. package/dist/data/FixtureEditor/FixtureFrontmatterDialog.cjs +1 -1
  115. package/dist/data/FixtureEditor/FixtureFrontmatterDialog.cjs.map +1 -1
  116. package/dist/data/FixtureEditor/FixtureFrontmatterDialog.js +1 -1
  117. package/dist/data/FixtureEditor/FixtureFrontmatterDialog.js.map +1 -1
  118. package/dist/data/FixtureEditor/fixture-frontmatter.cjs +8 -6
  119. package/dist/data/FixtureEditor/fixture-frontmatter.cjs.map +1 -1
  120. package/dist/data/FixtureEditor/fixture-frontmatter.js +8 -6
  121. package/dist/data/FixtureEditor/fixture-frontmatter.js.map +1 -1
  122. package/dist/data/SelectionActionBar.cjs +242 -0
  123. package/dist/data/SelectionActionBar.cjs.map +1 -0
  124. package/dist/data/SelectionActionBar.d.ts +28 -0
  125. package/dist/data/SelectionActionBar.d.ts.map +1 -0
  126. package/dist/data/SelectionActionBar.js +242 -0
  127. package/dist/data/SelectionActionBar.js.map +1 -0
  128. package/dist/data/TaskManager.cjs +34 -12
  129. package/dist/data/TaskManager.cjs.map +1 -1
  130. package/dist/data/TaskManager.d.ts.map +1 -1
  131. package/dist/data/TaskManager.js +34 -12
  132. package/dist/data/TaskManager.js.map +1 -1
  133. package/dist/data/TaskManagerButton.cjs +11 -7
  134. package/dist/data/TaskManagerButton.cjs.map +1 -1
  135. package/dist/data/TaskManagerButton.d.ts.map +1 -1
  136. package/dist/data/TaskManagerButton.js +11 -7
  137. package/dist/data/TaskManagerButton.js.map +1 -1
  138. package/dist/data/TaskProgress.cjs +55 -11
  139. package/dist/data/TaskProgress.cjs.map +1 -1
  140. package/dist/data/TaskProgress.d.ts.map +1 -1
  141. package/dist/data/TaskProgress.js +53 -9
  142. package/dist/data/TaskProgress.js.map +1 -1
  143. package/dist/data/ai/ChatWindow.cjs +2 -4
  144. package/dist/data/ai/ChatWindow.cjs.map +1 -1
  145. package/dist/data/ai/ChatWindow.d.ts.map +1 -1
  146. package/dist/data/ai/ChatWindow.js +2 -4
  147. package/dist/data/ai/ChatWindow.js.map +1 -1
  148. package/dist/data/ai/ChatWindow.runtime.cjs +1 -2
  149. package/dist/data/ai/ChatWindow.runtime.cjs.map +1 -1
  150. package/dist/data/ai/ChatWindow.runtime.d.ts.map +1 -1
  151. package/dist/data/ai/ChatWindow.runtime.js +1 -2
  152. package/dist/data/ai/ChatWindow.runtime.js.map +1 -1
  153. package/dist/data/ai/PromptCatalog/PromptCatalogTable.cjs +262 -0
  154. package/dist/data/ai/PromptCatalog/PromptCatalogTable.cjs.map +1 -0
  155. package/dist/data/ai/PromptCatalog/PromptCatalogTable.d.ts +16 -0
  156. package/dist/data/ai/PromptCatalog/PromptCatalogTable.d.ts.map +1 -0
  157. package/dist/data/ai/PromptCatalog/PromptCatalogTable.js +262 -0
  158. package/dist/data/ai/PromptCatalog/PromptCatalogTable.js.map +1 -0
  159. package/dist/data/ai/PromptCatalog/PromptLayerStrip.cjs +77 -0
  160. package/dist/data/ai/PromptCatalog/PromptLayerStrip.cjs.map +1 -0
  161. package/dist/data/ai/PromptCatalog/PromptLayerStrip.d.ts +8 -0
  162. package/dist/data/ai/PromptCatalog/PromptLayerStrip.d.ts.map +1 -0
  163. package/dist/data/ai/PromptCatalog/PromptLayerStrip.js +77 -0
  164. package/dist/data/ai/PromptCatalog/PromptLayerStrip.js.map +1 -0
  165. package/dist/data/ai/PromptCatalog/PromptPage.cjs +332 -0
  166. package/dist/data/ai/PromptCatalog/PromptPage.cjs.map +1 -0
  167. package/dist/data/ai/PromptCatalog/PromptPage.d.ts +17 -0
  168. package/dist/data/ai/PromptCatalog/PromptPage.d.ts.map +1 -0
  169. package/dist/data/ai/PromptCatalog/PromptPage.js +332 -0
  170. package/dist/data/ai/PromptCatalog/PromptPage.js.map +1 -0
  171. package/dist/data/ai/PromptCatalog/PromptPageEditor.cjs +102 -0
  172. package/dist/data/ai/PromptCatalog/PromptPageEditor.cjs.map +1 -0
  173. package/dist/data/ai/PromptCatalog/PromptPageEditor.d.ts +16 -0
  174. package/dist/data/ai/PromptCatalog/PromptPageEditor.d.ts.map +1 -0
  175. package/dist/data/ai/PromptCatalog/PromptPageEditor.js +102 -0
  176. package/dist/data/ai/PromptCatalog/PromptPageEditor.js.map +1 -0
  177. package/dist/data/ai/PromptCatalog/PromptPageHeader.cjs +102 -0
  178. package/dist/data/ai/PromptCatalog/PromptPageHeader.cjs.map +1 -0
  179. package/dist/data/ai/PromptCatalog/PromptPageHeader.d.ts +10 -0
  180. package/dist/data/ai/PromptCatalog/PromptPageHeader.d.ts.map +1 -0
  181. package/dist/data/ai/PromptCatalog/PromptPageHeader.js +102 -0
  182. package/dist/data/ai/PromptCatalog/PromptPageHeader.js.map +1 -0
  183. package/dist/data/ai/PromptCatalog/PromptPagePreview.cjs +90 -0
  184. package/dist/data/ai/PromptCatalog/PromptPagePreview.cjs.map +1 -0
  185. package/dist/data/ai/PromptCatalog/PromptPagePreview.d.ts +8 -0
  186. package/dist/data/ai/PromptCatalog/PromptPagePreview.d.ts.map +1 -0
  187. package/dist/data/ai/PromptCatalog/PromptPagePreview.js +90 -0
  188. package/dist/data/ai/PromptCatalog/PromptPagePreview.js.map +1 -0
  189. package/dist/data/ai/PromptCatalog/PromptPageSaveBar.cjs +168 -0
  190. package/dist/data/ai/PromptCatalog/PromptPageSaveBar.cjs.map +1 -0
  191. package/dist/data/ai/PromptCatalog/PromptPageSaveBar.d.ts +17 -0
  192. package/dist/data/ai/PromptCatalog/PromptPageSaveBar.d.ts.map +1 -0
  193. package/dist/data/ai/PromptCatalog/PromptPageSaveBar.js +168 -0
  194. package/dist/data/ai/PromptCatalog/PromptPageSaveBar.js.map +1 -0
  195. package/dist/data/ai/PromptCatalog/PromptSourceBadge.cjs +36 -0
  196. package/dist/data/ai/PromptCatalog/PromptSourceBadge.cjs.map +1 -0
  197. package/dist/data/ai/PromptCatalog/PromptSourceBadge.d.ts +7 -0
  198. package/dist/data/ai/PromptCatalog/PromptSourceBadge.d.ts.map +1 -0
  199. package/dist/data/ai/PromptCatalog/PromptSourceBadge.js +36 -0
  200. package/dist/data/ai/PromptCatalog/PromptSourceBadge.js.map +1 -0
  201. package/dist/data/ai/PromptCatalog/index.d.ts +9 -0
  202. package/dist/data/ai/PromptCatalog/index.d.ts.map +1 -0
  203. package/dist/data/ai/PromptCatalog/prompt-catalog-model.cjs +137 -0
  204. package/dist/data/ai/PromptCatalog/prompt-catalog-model.cjs.map +1 -0
  205. package/dist/data/ai/PromptCatalog/prompt-catalog-model.d.ts +28 -0
  206. package/dist/data/ai/PromptCatalog/prompt-catalog-model.d.ts.map +1 -0
  207. package/dist/data/ai/PromptCatalog/prompt-catalog-model.js +137 -0
  208. package/dist/data/ai/PromptCatalog/prompt-catalog-model.js.map +1 -0
  209. package/dist/data/ai/PromptCatalog/prompt-page-model.cjs +114 -0
  210. package/dist/data/ai/PromptCatalog/prompt-page-model.cjs.map +1 -0
  211. package/dist/data/ai/PromptCatalog/prompt-page-model.d.ts +45 -0
  212. package/dist/data/ai/PromptCatalog/prompt-page-model.d.ts.map +1 -0
  213. package/dist/data/ai/PromptCatalog/prompt-page-model.js +114 -0
  214. package/dist/data/ai/PromptCatalog/prompt-page-model.js.map +1 -0
  215. package/dist/data/ai/PromptCatalog/types.d.ts +70 -0
  216. package/dist/data/ai/PromptCatalog/types.d.ts.map +1 -0
  217. package/dist/data/ai/PromptPicker/PromptPicker.cjs +9 -12
  218. package/dist/data/ai/PromptPicker/PromptPicker.cjs.map +1 -1
  219. package/dist/data/ai/PromptPicker/PromptPicker.js +9 -12
  220. package/dist/data/ai/PromptPicker/PromptPicker.js.map +1 -1
  221. package/dist/data/ai/PromptPicker/index.d.ts +1 -1
  222. package/dist/data/ai/PromptPicker/index.d.ts.map +1 -1
  223. package/dist/data/ai/PromptPicker/types.cjs.map +1 -1
  224. package/dist/data/ai/PromptPicker/types.d.ts +9 -0
  225. package/dist/data/ai/PromptPicker/types.d.ts.map +1 -1
  226. package/dist/data/ai/PromptPicker/types.js.map +1 -1
  227. package/dist/data/ai/PromptRunEditor/index.cjs +4 -5
  228. package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
  229. package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
  230. package/dist/data/ai/PromptRunEditor/index.js +5 -6
  231. package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
  232. package/dist/data/ai/PromptRunEditor/model.cjs +1 -1
  233. package/dist/data/ai/PromptRunEditor/model.cjs.map +1 -1
  234. package/dist/data/ai/PromptRunEditor/model.d.ts +1 -1
  235. package/dist/data/ai/PromptRunEditor/model.d.ts.map +1 -1
  236. package/dist/data/ai/PromptRunEditor/model.js +1 -1
  237. package/dist/data/ai/PromptRunEditor/model.js.map +1 -1
  238. package/dist/data/ai/RuntimeModePicker.cjs +25 -14
  239. package/dist/data/ai/RuntimeModePicker.cjs.map +1 -1
  240. package/dist/data/ai/RuntimeModePicker.d.ts.map +1 -1
  241. package/dist/data/ai/RuntimeModePicker.js +26 -15
  242. package/dist/data/ai/RuntimeModePicker.js.map +1 -1
  243. package/dist/data/ai/SessionInspector.collection-types.d.ts +1 -1
  244. package/dist/data/ai/SessionInspector.collection-types.d.ts.map +1 -1
  245. package/dist/data/ai/SessionInspector.collection.cjs +3 -3
  246. package/dist/data/ai/SessionInspector.collection.cjs.map +1 -1
  247. package/dist/data/ai/SessionInspector.collection.js +3 -3
  248. package/dist/data/ai/SessionInspector.collection.js.map +1 -1
  249. package/dist/data/ai/SessionInspector.hierarchy.cjs +1 -1
  250. package/dist/data/ai/SessionInspector.hierarchy.cjs.map +1 -1
  251. package/dist/data/ai/SessionInspector.hierarchy.js +1 -1
  252. package/dist/data/ai/SessionInspector.hierarchy.js.map +1 -1
  253. package/dist/data/ai/SessionInspector.model.cjs +3 -3
  254. package/dist/data/ai/SessionInspector.model.cjs.map +1 -1
  255. package/dist/data/ai/SessionInspector.model.d.ts +1 -1
  256. package/dist/data/ai/SessionInspector.model.d.ts.map +1 -1
  257. package/dist/data/ai/SessionInspector.model.js +3 -3
  258. package/dist/data/ai/SessionInspector.model.js.map +1 -1
  259. package/dist/data/ai/SessionInspector.panels.cjs +1 -1
  260. package/dist/data/ai/SessionInspector.panels.cjs.map +1 -1
  261. package/dist/data/ai/SessionInspector.panels.js +1 -1
  262. package/dist/data/ai/SessionInspector.panels.js.map +1 -1
  263. package/dist/data/ai/SessionInspector.summary.cjs +3 -3
  264. package/dist/data/ai/SessionInspector.summary.cjs.map +1 -1
  265. package/dist/data/ai/SessionInspector.summary.js +3 -3
  266. package/dist/data/ai/SessionInspector.summary.js.map +1 -1
  267. package/dist/data/ai/SessionViewer.fixtures.d.ts.map +1 -1
  268. package/dist/data/ai/SessionViewer.unified.d.ts +3 -2
  269. package/dist/data/ai/SessionViewer.unified.d.ts.map +1 -1
  270. package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs +18 -30
  271. package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs.map +1 -1
  272. package/dist/data/ai/SpecRuntimeEditor/CommitSection.d.ts.map +1 -1
  273. package/dist/data/ai/SpecRuntimeEditor/CommitSection.js +19 -31
  274. package/dist/data/ai/SpecRuntimeEditor/CommitSection.js.map +1 -1
  275. package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.cjs +71 -86
  276. package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.cjs.map +1 -1
  277. package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.d.ts.map +1 -1
  278. package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.js +72 -87
  279. package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.js.map +1 -1
  280. package/dist/data/ai/SpecRuntimeEditor/ModelContextAdvanced.cjs +99 -0
  281. package/dist/data/ai/SpecRuntimeEditor/ModelContextAdvanced.cjs.map +1 -0
  282. package/dist/data/ai/SpecRuntimeEditor/ModelContextAdvanced.d.ts +13 -0
  283. package/dist/data/ai/SpecRuntimeEditor/ModelContextAdvanced.d.ts.map +1 -0
  284. package/dist/data/ai/SpecRuntimeEditor/ModelContextAdvanced.js +99 -0
  285. package/dist/data/ai/SpecRuntimeEditor/ModelContextAdvanced.js.map +1 -0
  286. package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs +37 -21
  287. package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs.map +1 -1
  288. package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts +6 -2
  289. package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts.map +1 -1
  290. package/dist/data/ai/SpecRuntimeEditor/ModelSection.js +38 -22
  291. package/dist/data/ai/SpecRuntimeEditor/ModelSection.js.map +1 -1
  292. package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.cjs +114 -0
  293. package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.cjs.map +1 -0
  294. package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.d.ts +10 -0
  295. package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.d.ts.map +1 -0
  296. package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.js +114 -0
  297. package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.js.map +1 -0
  298. package/dist/data/ai/SpecRuntimeEditor/PermissionPolicyList.cjs +160 -0
  299. package/dist/data/ai/SpecRuntimeEditor/PermissionPolicyList.cjs.map +1 -0
  300. package/dist/data/ai/SpecRuntimeEditor/PermissionPolicyList.d.ts +9 -0
  301. package/dist/data/ai/SpecRuntimeEditor/PermissionPolicyList.d.ts.map +1 -0
  302. package/dist/data/ai/SpecRuntimeEditor/PermissionPolicyList.js +160 -0
  303. package/dist/data/ai/SpecRuntimeEditor/PermissionPolicyList.js.map +1 -0
  304. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.cjs +27 -241
  305. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.cjs.map +1 -1
  306. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.d.ts +5 -6
  307. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.d.ts.map +1 -1
  308. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.js +25 -239
  309. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.js.map +1 -1
  310. package/dist/data/ai/SpecRuntimeEditor/PromptSection.cjs +21 -8
  311. package/dist/data/ai/SpecRuntimeEditor/PromptSection.cjs.map +1 -1
  312. package/dist/data/ai/SpecRuntimeEditor/PromptSection.d.ts +4 -1
  313. package/dist/data/ai/SpecRuntimeEditor/PromptSection.d.ts.map +1 -1
  314. package/dist/data/ai/SpecRuntimeEditor/PromptSection.js +22 -9
  315. package/dist/data/ai/SpecRuntimeEditor/PromptSection.js.map +1 -1
  316. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.cjs +207 -164
  317. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.cjs.map +1 -1
  318. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.d.ts +4 -3
  319. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.d.ts.map +1 -1
  320. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.js +210 -167
  321. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.js.map +1 -1
  322. package/dist/data/ai/SpecRuntimeEditor/SectionCard.cjs +15 -15
  323. package/dist/data/ai/SpecRuntimeEditor/SectionCard.cjs.map +1 -1
  324. package/dist/data/ai/SpecRuntimeEditor/SectionCard.d.ts.map +1 -1
  325. package/dist/data/ai/SpecRuntimeEditor/SectionCard.js +15 -15
  326. package/dist/data/ai/SpecRuntimeEditor/SectionCard.js.map +1 -1
  327. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.cjs +120 -42
  328. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.cjs.map +1 -1
  329. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.d.ts +4 -1
  330. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.d.ts.map +1 -1
  331. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.js +123 -45
  332. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.js.map +1 -1
  333. package/dist/data/ai/SpecRuntimeEditor/env-model.cjs.map +1 -1
  334. package/dist/data/ai/SpecRuntimeEditor/env-model.d.ts.map +1 -1
  335. package/dist/data/ai/SpecRuntimeEditor/env-model.js.map +1 -1
  336. package/dist/data/ai/SpecRuntimeEditor/index.cjs +136 -48
  337. package/dist/data/ai/SpecRuntimeEditor/index.cjs.map +1 -1
  338. package/dist/data/ai/SpecRuntimeEditor/index.d.ts +13 -3
  339. package/dist/data/ai/SpecRuntimeEditor/index.d.ts.map +1 -1
  340. package/dist/data/ai/SpecRuntimeEditor/index.js +137 -49
  341. package/dist/data/ai/SpecRuntimeEditor/index.js.map +1 -1
  342. package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.cjs +93 -0
  343. package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.cjs.map +1 -0
  344. package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.d.ts +6 -0
  345. package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.d.ts.map +1 -0
  346. package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.js +93 -0
  347. package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.js.map +1 -0
  348. package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.cjs +35 -0
  349. package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.cjs.map +1 -0
  350. package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.d.ts +5 -0
  351. package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.d.ts.map +1 -0
  352. package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.js +35 -0
  353. package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.js.map +1 -0
  354. package/dist/data/ai/SpecRuntimeEditor/presets.cjs +2 -9
  355. package/dist/data/ai/SpecRuntimeEditor/presets.cjs.map +1 -1
  356. package/dist/data/ai/SpecRuntimeEditor/presets.d.ts +1 -2
  357. package/dist/data/ai/SpecRuntimeEditor/presets.d.ts.map +1 -1
  358. package/dist/data/ai/SpecRuntimeEditor/presets.js +2 -9
  359. package/dist/data/ai/SpecRuntimeEditor/presets.js.map +1 -1
  360. package/dist/data/ai/SpecRuntimeEditor/summaries.cjs.map +1 -1
  361. package/dist/data/ai/SpecRuntimeEditor/summaries.d.ts +1 -1
  362. package/dist/data/ai/SpecRuntimeEditor/summaries.d.ts.map +1 -1
  363. package/dist/data/ai/SpecRuntimeEditor/summaries.js.map +1 -1
  364. package/dist/data/ai/SpecRuntimeEditor/types.cjs +2 -7
  365. package/dist/data/ai/SpecRuntimeEditor/types.cjs.map +1 -1
  366. package/dist/data/ai/SpecRuntimeEditor/types.d.ts +0 -1
  367. package/dist/data/ai/SpecRuntimeEditor/types.d.ts.map +1 -1
  368. package/dist/data/ai/SpecRuntimeEditor/types.js +3 -8
  369. package/dist/data/ai/SpecRuntimeEditor/types.js.map +1 -1
  370. package/dist/data/ai/SpecRuntimeEditor/update.cjs +43 -33
  371. package/dist/data/ai/SpecRuntimeEditor/update.cjs.map +1 -1
  372. package/dist/data/ai/SpecRuntimeEditor/update.d.ts +7 -13
  373. package/dist/data/ai/SpecRuntimeEditor/update.d.ts.map +1 -1
  374. package/dist/data/ai/SpecRuntimeEditor/update.js +43 -33
  375. package/dist/data/ai/SpecRuntimeEditor/update.js.map +1 -1
  376. package/dist/data/ai/SpecRuntimeEditor.model.cjs +33 -45
  377. package/dist/data/ai/SpecRuntimeEditor.model.cjs.map +1 -1
  378. package/dist/data/ai/SpecRuntimeEditor.model.d.ts +54 -29
  379. package/dist/data/ai/SpecRuntimeEditor.model.d.ts.map +1 -1
  380. package/dist/data/ai/SpecRuntimeEditor.model.js +33 -44
  381. package/dist/data/ai/SpecRuntimeEditor.model.js.map +1 -1
  382. package/dist/data/ai/SpecRuntimeEditor.sandbox-model.cjs +276 -0
  383. package/dist/data/ai/SpecRuntimeEditor.sandbox-model.cjs.map +1 -0
  384. package/dist/data/ai/SpecRuntimeEditor.sandbox-model.d.ts +58 -0
  385. package/dist/data/ai/SpecRuntimeEditor.sandbox-model.d.ts.map +1 -0
  386. package/dist/data/ai/SpecRuntimeEditor.sandbox-model.js +276 -0
  387. package/dist/data/ai/SpecRuntimeEditor.sandbox-model.js.map +1 -0
  388. package/dist/data/ai/ThreadPicker.cjs +55 -42
  389. package/dist/data/ai/ThreadPicker.cjs.map +1 -1
  390. package/dist/data/ai/ThreadPicker.d.ts.map +1 -1
  391. package/dist/data/ai/ThreadPicker.js +56 -43
  392. package/dist/data/ai/ThreadPicker.js.map +1 -1
  393. package/dist/data/ai/ToolPreferences.cjs +9 -1
  394. package/dist/data/ai/ToolPreferences.cjs.map +1 -1
  395. package/dist/data/ai/ToolPreferences.d.ts.map +1 -1
  396. package/dist/data/ai/ToolPreferences.js +9 -1
  397. package/dist/data/ai/ToolPreferences.js.map +1 -1
  398. package/dist/data/ai/ToolSchemaBrowser.cjs +41 -487
  399. package/dist/data/ai/ToolSchemaBrowser.cjs.map +1 -1
  400. package/dist/data/ai/ToolSchemaBrowser.d.ts +7 -2
  401. package/dist/data/ai/ToolSchemaBrowser.d.ts.map +1 -1
  402. package/dist/data/ai/ToolSchemaBrowser.detail.cjs +238 -0
  403. package/dist/data/ai/ToolSchemaBrowser.detail.cjs.map +1 -0
  404. package/dist/data/ai/ToolSchemaBrowser.detail.d.ts +8 -0
  405. package/dist/data/ai/ToolSchemaBrowser.detail.d.ts.map +1 -0
  406. package/dist/data/ai/ToolSchemaBrowser.detail.js +238 -0
  407. package/dist/data/ai/ToolSchemaBrowser.detail.js.map +1 -0
  408. package/dist/data/ai/ToolSchemaBrowser.directory-header.cjs +57 -0
  409. package/dist/data/ai/ToolSchemaBrowser.directory-header.cjs.map +1 -0
  410. package/dist/data/ai/ToolSchemaBrowser.directory-header.d.ts +9 -0
  411. package/dist/data/ai/ToolSchemaBrowser.directory-header.d.ts.map +1 -0
  412. package/dist/data/ai/ToolSchemaBrowser.directory-header.js +57 -0
  413. package/dist/data/ai/ToolSchemaBrowser.directory-header.js.map +1 -0
  414. package/dist/data/ai/ToolSchemaBrowser.js +42 -488
  415. package/dist/data/ai/ToolSchemaBrowser.js.map +1 -1
  416. package/dist/data/ai/ToolSchemaBrowser.model.cjs +130 -0
  417. package/dist/data/ai/ToolSchemaBrowser.model.cjs.map +1 -0
  418. package/dist/data/ai/ToolSchemaBrowser.model.d.ts +35 -0
  419. package/dist/data/ai/ToolSchemaBrowser.model.d.ts.map +1 -0
  420. package/dist/data/ai/ToolSchemaBrowser.model.js +130 -0
  421. package/dist/data/ai/ToolSchemaBrowser.model.js.map +1 -0
  422. package/dist/data/ai/ToolSchemaBrowser.selection-toolbar.cjs +57 -0
  423. package/dist/data/ai/ToolSchemaBrowser.selection-toolbar.cjs.map +1 -0
  424. package/dist/data/ai/ToolSchemaBrowser.selection-toolbar.d.ts +7 -0
  425. package/dist/data/ai/ToolSchemaBrowser.selection-toolbar.d.ts.map +1 -0
  426. package/dist/data/ai/ToolSchemaBrowser.selection-toolbar.js +57 -0
  427. package/dist/data/ai/ToolSchemaBrowser.selection-toolbar.js.map +1 -0
  428. package/dist/data/ai/ToolSchemaBrowser.sidebar.cjs +389 -0
  429. package/dist/data/ai/ToolSchemaBrowser.sidebar.cjs.map +1 -0
  430. package/dist/data/ai/ToolSchemaBrowser.sidebar.d.ts +23 -0
  431. package/dist/data/ai/ToolSchemaBrowser.sidebar.d.ts.map +1 -0
  432. package/dist/data/ai/ToolSchemaBrowser.sidebar.js +389 -0
  433. package/dist/data/ai/ToolSchemaBrowser.sidebar.js.map +1 -0
  434. package/dist/data/ai/agent-action-icons.cjs +14 -6
  435. package/dist/data/ai/agent-action-icons.cjs.map +1 -1
  436. package/dist/data/ai/agent-action-icons.d.ts.map +1 -1
  437. package/dist/data/ai/agent-action-icons.js +14 -6
  438. package/dist/data/ai/agent-action-icons.js.map +1 -1
  439. package/dist/data/ai/examples/sessions/claude-complete.cjs +17 -9
  440. package/dist/data/ai/examples/sessions/claude-complete.cjs.map +1 -1
  441. package/dist/data/ai/examples/sessions/claude-complete.d.ts.map +1 -1
  442. package/dist/data/ai/examples/sessions/claude-complete.js +17 -9
  443. package/dist/data/ai/examples/sessions/claude-complete.js.map +1 -1
  444. package/dist/data/ai/examples/sessions/claude.cjs +7 -4
  445. package/dist/data/ai/examples/sessions/claude.cjs.map +1 -1
  446. package/dist/data/ai/examples/sessions/claude.d.ts.map +1 -1
  447. package/dist/data/ai/examples/sessions/claude.js +7 -4
  448. package/dist/data/ai/examples/sessions/claude.js.map +1 -1
  449. package/dist/data/ai/examples/sessions/codex-complete.cjs +17 -10
  450. package/dist/data/ai/examples/sessions/codex-complete.cjs.map +1 -1
  451. package/dist/data/ai/examples/sessions/codex-complete.d.ts.map +1 -1
  452. package/dist/data/ai/examples/sessions/codex-complete.js +17 -10
  453. package/dist/data/ai/examples/sessions/codex-complete.js.map +1 -1
  454. package/dist/data/ai/examples/sessions/codex.cjs +7 -4
  455. package/dist/data/ai/examples/sessions/codex.cjs.map +1 -1
  456. package/dist/data/ai/examples/sessions/codex.d.ts.map +1 -1
  457. package/dist/data/ai/examples/sessions/codex.js +7 -4
  458. package/dist/data/ai/examples/sessions/codex.js.map +1 -1
  459. package/dist/data/ai/index.d.ts +6 -3
  460. package/dist/data/ai/index.d.ts.map +1 -1
  461. package/dist/data/ai/runtime-profile.cjs +93 -0
  462. package/dist/data/ai/runtime-profile.cjs.map +1 -0
  463. package/dist/data/ai/runtime-profile.d.ts +73 -0
  464. package/dist/data/ai/runtime-profile.d.ts.map +1 -0
  465. package/dist/data/ai/runtime-profile.js +93 -0
  466. package/dist/data/ai/runtime-profile.js.map +1 -0
  467. package/dist/data/ai/sandbox-kind-meta.cjs +38 -4
  468. package/dist/data/ai/sandbox-kind-meta.cjs.map +1 -1
  469. package/dist/data/ai/sandbox-kind-meta.d.ts +3 -0
  470. package/dist/data/ai/sandbox-kind-meta.d.ts.map +1 -1
  471. package/dist/data/ai/sandbox-kind-meta.js +38 -4
  472. package/dist/data/ai/sandbox-kind-meta.js.map +1 -1
  473. package/dist/data/chat/Chat.cjs +17 -5
  474. package/dist/data/chat/Chat.cjs.map +1 -1
  475. package/dist/data/chat/Chat.d.ts.map +1 -1
  476. package/dist/data/chat/Chat.fixtures.cjs +3 -3
  477. package/dist/data/chat/Chat.fixtures.cjs.map +1 -1
  478. package/dist/data/chat/Chat.fixtures.js +3 -3
  479. package/dist/data/chat/Chat.fixtures.js.map +1 -1
  480. package/dist/data/chat/Chat.js +18 -6
  481. package/dist/data/chat/Chat.js.map +1 -1
  482. package/dist/data/chat/Chat.runtime.cjs +15 -9
  483. package/dist/data/chat/Chat.runtime.cjs.map +1 -1
  484. package/dist/data/chat/Chat.runtime.d.ts.map +1 -1
  485. package/dist/data/chat/Chat.runtime.js +16 -10
  486. package/dist/data/chat/Chat.runtime.js.map +1 -1
  487. package/dist/data/chat/ChatRuntimeToolbar.cjs +5 -5
  488. package/dist/data/chat/ChatRuntimeToolbar.cjs.map +1 -1
  489. package/dist/data/chat/ChatRuntimeToolbar.js +5 -5
  490. package/dist/data/chat/ChatRuntimeToolbar.js.map +1 -1
  491. package/dist/data/chat/ContextMeter.cjs +3 -3
  492. package/dist/data/chat/ContextMeter.cjs.map +1 -1
  493. package/dist/data/chat/ContextMeter.d.ts +3 -3
  494. package/dist/data/chat/ContextMeter.d.ts.map +1 -1
  495. package/dist/data/chat/ContextMeter.js +3 -3
  496. package/dist/data/chat/ContextMeter.js.map +1 -1
  497. package/dist/data/chat/approval.cjs.map +1 -1
  498. package/dist/data/chat/approval.d.ts +21 -1
  499. package/dist/data/chat/approval.d.ts.map +1 -1
  500. package/dist/data/chat/approval.js.map +1 -1
  501. package/dist/data/chat/clickyOperationsToTools.cjs +5 -0
  502. package/dist/data/chat/clickyOperationsToTools.cjs.map +1 -1
  503. package/dist/data/chat/clickyOperationsToTools.d.ts.map +1 -1
  504. package/dist/data/chat/clickyOperationsToTools.js +5 -0
  505. package/dist/data/chat/clickyOperationsToTools.js.map +1 -1
  506. package/dist/data/chat/types.cjs.map +1 -1
  507. package/dist/data/chat/types.d.ts +7 -5
  508. package/dist/data/chat/types.d.ts.map +1 -1
  509. package/dist/data/chat/types.js.map +1 -1
  510. package/dist/data/chat/usage-snapshot.cjs +21 -1
  511. package/dist/data/chat/usage-snapshot.cjs.map +1 -1
  512. package/dist/data/chat/usage-snapshot.d.ts +2 -0
  513. package/dist/data/chat/usage-snapshot.d.ts.map +1 -1
  514. package/dist/data/chat/usage-snapshot.js +22 -2
  515. package/dist/data/chat/usage-snapshot.js.map +1 -1
  516. package/dist/data/runtime/RuntimeBar.cjs +49 -51
  517. package/dist/data/runtime/RuntimeBar.cjs.map +1 -1
  518. package/dist/data/runtime/RuntimeBar.d.ts +10 -2
  519. package/dist/data/runtime/RuntimeBar.d.ts.map +1 -1
  520. package/dist/data/runtime/RuntimeBar.js +51 -53
  521. package/dist/data/runtime/RuntimeBar.js.map +1 -1
  522. package/dist/data/runtime/RuntimeBar.model.cjs +55 -0
  523. package/dist/data/runtime/RuntimeBar.model.cjs.map +1 -1
  524. package/dist/data/runtime/RuntimeBar.model.d.ts +11 -3
  525. package/dist/data/runtime/RuntimeBar.model.d.ts.map +1 -1
  526. package/dist/data/runtime/RuntimeBar.model.js +55 -0
  527. package/dist/data/runtime/RuntimeBar.model.js.map +1 -1
  528. package/dist/data/runtime/RuntimeBarCombo.cjs +11 -6
  529. package/dist/data/runtime/RuntimeBarCombo.cjs.map +1 -1
  530. package/dist/data/runtime/RuntimeBarCombo.d.ts +3 -1
  531. package/dist/data/runtime/RuntimeBarCombo.d.ts.map +1 -1
  532. package/dist/data/runtime/RuntimeBarCombo.js +11 -6
  533. package/dist/data/runtime/RuntimeBarCombo.js.map +1 -1
  534. package/dist/data/runtime/RuntimeBarSegments.cjs +7 -5
  535. package/dist/data/runtime/RuntimeBarSegments.cjs.map +1 -1
  536. package/dist/data/runtime/RuntimeBarSegments.d.ts +4 -2
  537. package/dist/data/runtime/RuntimeBarSegments.d.ts.map +1 -1
  538. package/dist/data/runtime/RuntimeBarSegments.js +7 -5
  539. package/dist/data/runtime/RuntimeBarSegments.js.map +1 -1
  540. package/dist/data/runtime/model-capabilities.cjs +6 -6
  541. package/dist/data/runtime/model-capabilities.cjs.map +1 -1
  542. package/dist/data/runtime/model-capabilities.d.ts +5 -1
  543. package/dist/data/runtime/model-capabilities.d.ts.map +1 -1
  544. package/dist/data/runtime/model-capabilities.js +6 -6
  545. package/dist/data/runtime/model-capabilities.js.map +1 -1
  546. package/dist/data/runtime/provider-status.cjs +1 -1
  547. package/dist/data/runtime/provider-status.cjs.map +1 -1
  548. package/dist/data/runtime/provider-status.js +1 -1
  549. package/dist/data/runtime/provider-status.js.map +1 -1
  550. package/dist/data/runtime/runtime-field-support.cjs +63 -0
  551. package/dist/data/runtime/runtime-field-support.cjs.map +1 -0
  552. package/dist/data/runtime/runtime-field-support.d.ts +13 -0
  553. package/dist/data/runtime/runtime-field-support.d.ts.map +1 -0
  554. package/dist/data/runtime/runtime-field-support.js +63 -0
  555. package/dist/data/runtime/runtime-field-support.js.map +1 -0
  556. package/dist/data/runtime/runtime-mode.cjs +170 -111
  557. package/dist/data/runtime/runtime-mode.cjs.map +1 -1
  558. package/dist/data/runtime/runtime-mode.d.ts +58 -14
  559. package/dist/data/runtime/runtime-mode.d.ts.map +1 -1
  560. package/dist/data/runtime/runtime-mode.js +170 -111
  561. package/dist/data/runtime/runtime-mode.js.map +1 -1
  562. package/dist/data/selectionActionSplit.cjs +33 -0
  563. package/dist/data/selectionActionSplit.cjs.map +1 -0
  564. package/dist/data/selectionActionSplit.d.ts +36 -0
  565. package/dist/data/selectionActionSplit.d.ts.map +1 -0
  566. package/dist/data/selectionActionSplit.js +33 -0
  567. package/dist/data/selectionActionSplit.js.map +1 -0
  568. package/dist/data/task-copy.cjs +76 -0
  569. package/dist/data/task-copy.cjs.map +1 -0
  570. package/dist/data/task-copy.d.ts +12 -0
  571. package/dist/data/task-copy.d.ts.map +1 -0
  572. package/dist/data/task-copy.js +76 -0
  573. package/dist/data/task-copy.js.map +1 -0
  574. package/dist/data/version-info.cjs +3 -3
  575. package/dist/data/version-info.js +3 -3
  576. package/dist/data.cjs +34 -0
  577. package/dist/data.cjs.map +1 -1
  578. package/dist/data.d.ts +4 -1
  579. package/dist/data.d.ts.map +1 -1
  580. package/dist/data.js +34 -0
  581. package/dist/data.js.map +1 -1
  582. package/dist/hooks/use-task-run.cjs +24 -17
  583. package/dist/hooks/use-task-run.cjs.map +1 -1
  584. package/dist/hooks/use-task-run.d.ts +3 -1
  585. package/dist/hooks/use-task-run.d.ts.map +1 -1
  586. package/dist/hooks/use-task-run.js +25 -18
  587. package/dist/hooks/use-task-run.js.map +1 -1
  588. package/dist/icons/components/UiCalendarCheck.cjs +15 -0
  589. package/dist/icons/components/UiCalendarCheck.cjs.map +1 -0
  590. package/dist/icons/components/UiCalendarCheck.d.ts +15 -0
  591. package/dist/icons/components/UiCalendarCheck.d.ts.map +1 -0
  592. package/dist/icons/components/UiCalendarCheck.js +15 -0
  593. package/dist/icons/components/UiCalendarCheck.js.map +1 -0
  594. package/dist/icons/components/UiChartLineUp.cjs +15 -0
  595. package/dist/icons/components/UiChartLineUp.cjs.map +1 -0
  596. package/dist/icons/components/UiChartLineUp.d.ts +15 -0
  597. package/dist/icons/components/UiChartLineUp.d.ts.map +1 -0
  598. package/dist/icons/components/UiChartLineUp.js +15 -0
  599. package/dist/icons/components/UiChartLineUp.js.map +1 -0
  600. package/dist/icons/components/UiClockCountdown.cjs +15 -0
  601. package/dist/icons/components/UiClockCountdown.cjs.map +1 -0
  602. package/dist/icons/components/UiClockCountdown.d.ts +15 -0
  603. package/dist/icons/components/UiClockCountdown.d.ts.map +1 -0
  604. package/dist/icons/components/UiClockCountdown.js +15 -0
  605. package/dist/icons/components/UiClockCountdown.js.map +1 -0
  606. package/dist/icons/components/UiFactory.cjs +15 -0
  607. package/dist/icons/components/UiFactory.cjs.map +1 -0
  608. package/dist/icons/components/UiFactory.d.ts +15 -0
  609. package/dist/icons/components/UiFactory.d.ts.map +1 -0
  610. package/dist/icons/components/UiFactory.js +15 -0
  611. package/dist/icons/components/UiFactory.js.map +1 -0
  612. package/dist/icons/components/UiHandCoins.cjs +15 -0
  613. package/dist/icons/components/UiHandCoins.cjs.map +1 -0
  614. package/dist/icons/components/UiHandCoins.d.ts +15 -0
  615. package/dist/icons/components/UiHandCoins.d.ts.map +1 -0
  616. package/dist/icons/components/UiHandCoins.js +15 -0
  617. package/dist/icons/components/UiHandCoins.js.map +1 -0
  618. package/dist/icons/components/UiInvoice.cjs +15 -0
  619. package/dist/icons/components/UiInvoice.cjs.map +1 -0
  620. package/dist/icons/components/UiInvoice.d.ts +15 -0
  621. package/dist/icons/components/UiInvoice.d.ts.map +1 -0
  622. package/dist/icons/components/UiInvoice.js +15 -0
  623. package/dist/icons/components/UiInvoice.js.map +1 -0
  624. package/dist/icons/components/UiTax.cjs +15 -0
  625. package/dist/icons/components/UiTax.cjs.map +1 -0
  626. package/dist/icons/components/UiTax.d.ts +15 -0
  627. package/dist/icons/components/UiTax.d.ts.map +1 -0
  628. package/dist/icons/components/UiTax.js +15 -0
  629. package/dist/icons/components/UiTax.js.map +1 -0
  630. package/dist/icons/index.d.ts +14 -0
  631. package/dist/icons/index.d.ts.map +1 -1
  632. package/dist/icons/registry.cjs +14 -0
  633. package/dist/icons/registry.cjs.map +1 -1
  634. package/dist/icons/registry.d.ts.map +1 -1
  635. package/dist/icons/registry.js +14 -0
  636. package/dist/icons/registry.js.map +1 -1
  637. package/dist/icons.cjs +21 -0
  638. package/dist/icons.cjs.map +1 -1
  639. package/dist/icons.js +21 -0
  640. package/dist/icons.js.map +1 -1
  641. package/dist/index.cjs +43 -0
  642. package/dist/index.cjs.map +1 -1
  643. package/dist/index.js +44 -1
  644. package/dist/index.js.map +1 -1
  645. package/dist/layout/AppShell.cjs +17 -3
  646. package/dist/layout/AppShell.cjs.map +1 -1
  647. package/dist/layout/AppShell.d.ts.map +1 -1
  648. package/dist/layout/AppShell.js +17 -3
  649. package/dist/layout/AppShell.js.map +1 -1
  650. package/dist/overlay/DropdownMenu.cjs +46 -35
  651. package/dist/overlay/DropdownMenu.cjs.map +1 -1
  652. package/dist/overlay/DropdownMenu.js +46 -35
  653. package/dist/overlay/DropdownMenu.js.map +1 -1
  654. package/dist/rpc/FilterForm.cjs +26 -11
  655. package/dist/rpc/FilterForm.cjs.map +1 -1
  656. package/dist/rpc/FilterForm.d.ts +4 -1
  657. package/dist/rpc/FilterForm.d.ts.map +1 -1
  658. package/dist/rpc/FilterForm.js +26 -11
  659. package/dist/rpc/FilterForm.js.map +1 -1
  660. package/dist/rpc/FilterFormFields.cjs +3 -2
  661. package/dist/rpc/FilterFormFields.cjs.map +1 -1
  662. package/dist/rpc/FilterFormFields.d.ts +2 -1
  663. package/dist/rpc/FilterFormFields.d.ts.map +1 -1
  664. package/dist/rpc/FilterFormFields.js +3 -2
  665. package/dist/rpc/FilterFormFields.js.map +1 -1
  666. package/dist/rpc/OperationActionBar.cjs +67 -15
  667. package/dist/rpc/OperationActionBar.cjs.map +1 -1
  668. package/dist/rpc/OperationActionBar.d.ts +11 -3
  669. package/dist/rpc/OperationActionBar.d.ts.map +1 -1
  670. package/dist/rpc/OperationActionBar.js +68 -16
  671. package/dist/rpc/OperationActionBar.js.map +1 -1
  672. package/dist/rpc/OperationCatalog.cjs +69 -76
  673. package/dist/rpc/OperationCatalog.cjs.map +1 -1
  674. package/dist/rpc/OperationCatalog.d.ts +3 -1
  675. package/dist/rpc/OperationCatalog.d.ts.map +1 -1
  676. package/dist/rpc/OperationCatalog.js +69 -76
  677. package/dist/rpc/OperationCatalog.js.map +1 -1
  678. package/dist/rpc/OperationCatalogActions.cjs +69 -0
  679. package/dist/rpc/OperationCatalogActions.cjs.map +1 -0
  680. package/dist/rpc/OperationCatalogActions.d.ts +17 -0
  681. package/dist/rpc/OperationCatalogActions.d.ts.map +1 -0
  682. package/dist/rpc/OperationCatalogActions.js +69 -0
  683. package/dist/rpc/OperationCatalogActions.js.map +1 -0
  684. package/dist/rpc/OperationEntityContextPicker.cjs +129 -116
  685. package/dist/rpc/OperationEntityContextPicker.cjs.map +1 -1
  686. package/dist/rpc/OperationEntityContextPicker.d.ts +18 -1
  687. package/dist/rpc/OperationEntityContextPicker.d.ts.map +1 -1
  688. package/dist/rpc/OperationEntityContextPicker.js +130 -117
  689. package/dist/rpc/OperationEntityContextPicker.js.map +1 -1
  690. package/dist/rpc/OperationResultView.cjs +7 -4
  691. package/dist/rpc/OperationResultView.cjs.map +1 -1
  692. package/dist/rpc/OperationResultView.d.ts +4 -2
  693. package/dist/rpc/OperationResultView.d.ts.map +1 -1
  694. package/dist/rpc/OperationResultView.js +7 -4
  695. package/dist/rpc/OperationResultView.js.map +1 -1
  696. package/dist/rpc/operationCatalogUrl.cjs +28 -0
  697. package/dist/rpc/operationCatalogUrl.cjs.map +1 -0
  698. package/dist/rpc/operationCatalogUrl.d.ts +3 -0
  699. package/dist/rpc/operationCatalogUrl.d.ts.map +1 -0
  700. package/dist/rpc/operationCatalogUrl.js +28 -0
  701. package/dist/rpc/operationCatalogUrl.js.map +1 -0
  702. package/dist/rpc/rowNavigation.cjs +4 -3
  703. package/dist/rpc/rowNavigation.cjs.map +1 -1
  704. package/dist/rpc/rowNavigation.d.ts +1 -1
  705. package/dist/rpc/rowNavigation.d.ts.map +1 -1
  706. package/dist/rpc/rowNavigation.js +4 -3
  707. package/dist/rpc/rowNavigation.js.map +1 -1
  708. package/dist/rpc/types.cjs.map +1 -1
  709. package/dist/rpc/types.d.ts +2 -2
  710. package/dist/rpc/types.d.ts.map +1 -1
  711. package/dist/rpc/types.js.map +1 -1
  712. package/dist/rpc.cjs +2 -0
  713. package/dist/rpc.cjs.map +1 -1
  714. package/dist/rpc.d.ts +2 -1
  715. package/dist/rpc.d.ts.map +1 -1
  716. package/dist/rpc.js +2 -0
  717. package/dist/rpc.js.map +1 -1
  718. package/dist/runtime-profile.cjs +7 -0
  719. package/dist/runtime-profile.cjs.map +1 -0
  720. package/dist/runtime-profile.d.ts +2 -0
  721. package/dist/runtime-profile.d.ts.map +1 -0
  722. package/dist/runtime-profile.js +7 -0
  723. package/dist/runtime-profile.js.map +1 -0
  724. package/dist/styles.css +1 -1
  725. package/package.json +6 -1
@@ -0,0 +1,262 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useState, useMemo } from "react";
3
+ import { cn } from "../../../lib/utils.js";
4
+ import { Badge } from "../../Badge.js";
5
+ import { DataTable } from "../../DataTable.js";
6
+ import { catalogFilterOptions, entryMatches, sourceLabel, provenanceSummary, runtimeSummary, previewText } from "./prompt-catalog-model.js";
7
+ import { PromptSourceBadge } from "./PromptSourceBadge.js";
8
+ function toRow(entry) {
9
+ return {
10
+ id: entry.id,
11
+ entry,
12
+ title: entry.title,
13
+ owner: entry.owner,
14
+ usedBy: (entry.usedBy ?? []).join(", "),
15
+ source: sourceLabel(entry.source),
16
+ model: entry.effective.model ?? "",
17
+ overrides: provenanceSummary(entry),
18
+ variables: (entry.variables ?? []).join(", "),
19
+ version: entry.version ?? ""
20
+ };
21
+ }
22
+ function Chips({ values }) {
23
+ if (values.length === 0)
24
+ return /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "—" });
25
+ return /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1", children: values.map((value) => /* @__PURE__ */ jsx(
26
+ Badge,
27
+ {
28
+ variant: "soft",
29
+ tone: "neutral",
30
+ size: "xs",
31
+ className: "font-mono",
32
+ clickToCopy: false,
33
+ children: value
34
+ },
35
+ value
36
+ )) });
37
+ }
38
+ function PromptCell({ entry }) {
39
+ const secondary = entry.description || previewText(entry.body);
40
+ return /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-col gap-0.5", children: [
41
+ /* @__PURE__ */ jsx("span", { className: "truncate font-medium", children: entry.title }),
42
+ /* @__PURE__ */ jsx("span", { className: "truncate font-mono text-xs text-muted-foreground", children: entry.id }),
43
+ secondary ? /* @__PURE__ */ jsx(
44
+ "span",
45
+ {
46
+ className: "line-clamp-1 text-xs text-muted-foreground",
47
+ title: secondary,
48
+ children: secondary
49
+ }
50
+ ) : null
51
+ ] });
52
+ }
53
+ function ModelCell({ runtime }) {
54
+ const summary = runtimeSummary(runtime);
55
+ if (runtime.error) {
56
+ return /* @__PURE__ */ jsx("span", { className: "text-xs text-destructive", title: runtime.error, children: summary });
57
+ }
58
+ if (!runtime.model)
59
+ return /* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground", children: summary });
60
+ return /* @__PURE__ */ jsx("span", { className: "font-mono text-xs", title: `from ${runtime.modelSource}`, children: summary });
61
+ }
62
+ function catalogColumns(showOwner) {
63
+ const columns = [
64
+ {
65
+ key: "title",
66
+ label: "Prompt",
67
+ sortable: true,
68
+ grow: true,
69
+ minWidth: 240,
70
+ render: (_, row) => /* @__PURE__ */ jsx(PromptCell, { entry: row.entry })
71
+ }
72
+ ];
73
+ if (showOwner)
74
+ columns.push({
75
+ key: "owner",
76
+ label: "Owner",
77
+ sortable: true,
78
+ shrink: true
79
+ });
80
+ columns.push(
81
+ {
82
+ key: "usedBy",
83
+ label: "Used by",
84
+ minWidth: 180,
85
+ render: (_, row) => /* @__PURE__ */ jsx(Chips, { values: row.entry.usedBy ?? [] })
86
+ },
87
+ {
88
+ key: "source",
89
+ label: "Source",
90
+ sortable: true,
91
+ shrink: true,
92
+ render: (_, row) => /* @__PURE__ */ jsx(
93
+ PromptSourceBadge,
94
+ {
95
+ source: row.entry.source,
96
+ parseError: row.entry.parseError
97
+ }
98
+ )
99
+ },
100
+ {
101
+ key: "model",
102
+ label: "Model",
103
+ sortable: true,
104
+ minWidth: 200,
105
+ render: (_, row) => /* @__PURE__ */ jsx(ModelCell, { runtime: row.entry.effective })
106
+ },
107
+ {
108
+ key: "overrides",
109
+ label: "Overrides",
110
+ minWidth: 180,
111
+ render: (value) => value ? /* @__PURE__ */ jsx("span", { className: "text-xs", children: String(value) }) : /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "—" })
112
+ },
113
+ {
114
+ key: "variables",
115
+ label: "Variables",
116
+ minWidth: 160,
117
+ render: (_, row) => /* @__PURE__ */ jsx(Chips, { values: row.entry.variables ?? [] })
118
+ },
119
+ {
120
+ key: "version",
121
+ label: "Version",
122
+ shrink: true,
123
+ render: (value) => /* @__PURE__ */ jsx("span", { className: "font-mono text-xs text-muted-foreground", children: String(value ?? "").slice(0, 8) })
124
+ }
125
+ );
126
+ return columns;
127
+ }
128
+ function PromptCatalogTable({
129
+ entries,
130
+ loading,
131
+ error,
132
+ emptyMessage,
133
+ selectedId,
134
+ onSelect,
135
+ getRowHref,
136
+ filterState,
137
+ onFilterStateChange,
138
+ showOwner,
139
+ className
140
+ }) {
141
+ const [internalFilterState, setInternalFilterState] = useState(() => ({
142
+ query: "",
143
+ commands: [],
144
+ sources: [],
145
+ models: [],
146
+ owners: [],
147
+ overriddenOnly: false
148
+ }));
149
+ const activeFilters = filterState ?? internalFilterState;
150
+ const updateFilter = (key, value) => {
151
+ const next = { ...activeFilters, [key]: value };
152
+ if (filterState === void 0) setInternalFilterState(next);
153
+ onFilterStateChange == null ? void 0 : onFilterStateChange(next);
154
+ };
155
+ const { query, commands, sources, models, owners, overriddenOnly } = activeFilters;
156
+ const options = useMemo(() => catalogFilterOptions(entries), [entries]);
157
+ const showOwnerColumn = showOwner ?? options.owners.length > 1;
158
+ const columns = useMemo(
159
+ () => catalogColumns(showOwnerColumn),
160
+ [showOwnerColumn]
161
+ );
162
+ const rows = useMemo(
163
+ () => entries.filter(
164
+ (entry) => entryMatches(entry, {
165
+ query,
166
+ commands,
167
+ sources,
168
+ models,
169
+ owners,
170
+ overriddenOnly
171
+ })
172
+ ).map(toRow),
173
+ [commands, entries, models, overriddenOnly, owners, query, sources]
174
+ );
175
+ const filters = [
176
+ {
177
+ key: "commands",
178
+ kind: "select-multi",
179
+ label: "Used by",
180
+ value: commands,
181
+ options: options.commands.map((value) => ({ value, label: value })),
182
+ onChange: (value) => updateFilter("commands", value)
183
+ },
184
+ {
185
+ key: "sources",
186
+ kind: "select-multi",
187
+ label: "Source",
188
+ value: sources,
189
+ options: options.sources.map((value) => ({
190
+ value,
191
+ label: sourceLabel(value)
192
+ })),
193
+ onChange: (value) => updateFilter(
194
+ "sources",
195
+ value.map((selected) => {
196
+ const source = options.sources.find(
197
+ (candidate) => candidate === selected
198
+ );
199
+ if (!source)
200
+ throw new Error(
201
+ `unknown prompt source ${JSON.stringify(selected)}`
202
+ );
203
+ return source;
204
+ })
205
+ )
206
+ },
207
+ {
208
+ key: "models",
209
+ kind: "select-multi",
210
+ label: "Model",
211
+ value: models,
212
+ options: options.models.map((value) => ({ value, label: value })),
213
+ onChange: (value) => updateFilter("models", value)
214
+ }
215
+ ];
216
+ if (options.owners.length > 1) {
217
+ filters.push({
218
+ key: "owners",
219
+ kind: "select-multi",
220
+ label: "Owner",
221
+ value: owners,
222
+ options: options.owners.map((value) => ({ value, label: value })),
223
+ onChange: (value) => updateFilter("owners", value)
224
+ });
225
+ }
226
+ filters.push({
227
+ key: "overridden",
228
+ kind: "boolean",
229
+ label: "Overridden only",
230
+ value: overriddenOnly,
231
+ onChange: (value) => updateFilter("overriddenOnly", value)
232
+ });
233
+ return /* @__PURE__ */ jsx(
234
+ DataTable,
235
+ {
236
+ data: rows,
237
+ columns,
238
+ getRowId: (row) => row.id,
239
+ autoFilter: false,
240
+ showGlobalFilter: false,
241
+ manualFilter: true,
242
+ externalSearch: {
243
+ value: query,
244
+ onChange: (value) => updateFilter("query", value),
245
+ placeholder: "Search prompts, commands, body…",
246
+ ariaLabel: "Search prompts"
247
+ },
248
+ externalFilters: filters,
249
+ ...loading !== void 0 ? { loading } : {},
250
+ ...error ? { error } : {},
251
+ emptyMessage: emptyMessage ?? "No prompts match",
252
+ ...onSelect ? { onRowClick: (row) => onSelect(row.entry) } : {},
253
+ ...getRowHref ? { getRowHref: (row) => getRowHref(row.entry) } : {},
254
+ getRowClassName: (row) => row.id === selectedId ? "bg-primary/5" : void 0,
255
+ className: cn("min-h-0 flex-1", className)
256
+ }
257
+ );
258
+ }
259
+ export {
260
+ PromptCatalogTable
261
+ };
262
+ //# sourceMappingURL=PromptCatalogTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptCatalogTable.js","sources":["../../../../src/data/ai/PromptCatalog/PromptCatalogTable.tsx"],"sourcesContent":["import { useMemo, useState } from \"react\";\nimport type { FilterBarFilter } from \"../../../components/FilterBar\";\nimport { cn } from \"../../../lib/utils\";\nimport { Badge } from \"../../Badge\";\nimport { DataTable, type DataTableColumn } from \"../../DataTable\";\nimport {\n catalogFilterOptions,\n entryMatches,\n previewText,\n provenanceSummary,\n runtimeSummary,\n sourceLabel,\n} from \"./prompt-catalog-model\";\nimport { PromptSourceBadge } from \"./PromptSourceBadge\";\nimport type {\n PromptCatalogEntry,\n PromptCatalogFilterState,\n PromptCatalogRuntime,\n} from \"./types\";\n\nexport type PromptCatalogTableProps = {\n entries: PromptCatalogEntry[];\n loading?: boolean | undefined;\n error?: string | null | undefined;\n emptyMessage?: string | undefined;\n selectedId?: string | undefined;\n onSelect?: ((entry: PromptCatalogEntry) => void) | undefined;\n getRowHref?: ((entry: PromptCatalogEntry) => string) | undefined;\n filterState?: PromptCatalogFilterState | undefined;\n onFilterStateChange?: ((state: PromptCatalogFilterState) => void) | undefined;\n showOwner?: boolean | undefined;\n className?: string | undefined;\n};\n\ntype PromptCatalogRow = {\n id: string;\n entry: PromptCatalogEntry;\n title: string;\n owner: string;\n usedBy: string;\n source: string;\n model: string;\n overrides: string;\n variables: string;\n version: string;\n} & Record<string, unknown>;\n\nfunction toRow(entry: PromptCatalogEntry): PromptCatalogRow {\n return {\n id: entry.id,\n entry,\n title: entry.title,\n owner: entry.owner,\n usedBy: (entry.usedBy ?? []).join(\", \"),\n source: sourceLabel(entry.source),\n model: entry.effective.model ?? \"\",\n overrides: provenanceSummary(entry),\n variables: (entry.variables ?? []).join(\", \"),\n version: entry.version ?? \"\",\n };\n}\n\nfunction Chips({ values }: { values: string[] }) {\n if (values.length === 0)\n return <span className=\"text-muted-foreground\">—</span>;\n return (\n <div className=\"flex flex-wrap gap-1\">\n {values.map((value) => (\n <Badge\n key={value}\n variant=\"soft\"\n tone=\"neutral\"\n size=\"xs\"\n className=\"font-mono\"\n clickToCopy={false}\n >\n {value}\n </Badge>\n ))}\n </div>\n );\n}\n\nfunction PromptCell({ entry }: { entry: PromptCatalogEntry }) {\n const secondary = entry.description || previewText(entry.body);\n return (\n <div className=\"flex min-w-0 flex-col gap-0.5\">\n <span className=\"truncate font-medium\">{entry.title}</span>\n <span className=\"truncate font-mono text-xs text-muted-foreground\">\n {entry.id}\n </span>\n {secondary ? (\n <span\n className=\"line-clamp-1 text-xs text-muted-foreground\"\n title={secondary}\n >\n {secondary}\n </span>\n ) : null}\n </div>\n );\n}\n\nfunction ModelCell({ runtime }: { runtime: PromptCatalogRuntime }) {\n const summary = runtimeSummary(runtime);\n if (runtime.error) {\n return (\n <span className=\"text-xs text-destructive\" title={runtime.error}>\n {summary}\n </span>\n );\n }\n if (!runtime.model)\n return <span className=\"text-xs text-muted-foreground\">{summary}</span>;\n return (\n <span className=\"font-mono text-xs\" title={`from ${runtime.modelSource}`}>\n {summary}\n </span>\n );\n}\n\nfunction catalogColumns(\n showOwner: boolean,\n): DataTableColumn<PromptCatalogRow>[] {\n const columns: DataTableColumn<PromptCatalogRow>[] = [\n {\n key: \"title\",\n label: \"Prompt\",\n sortable: true,\n grow: true,\n minWidth: 240,\n render: (_, row) => <PromptCell entry={row.entry} />,\n },\n ];\n if (showOwner)\n columns.push({\n key: \"owner\",\n label: \"Owner\",\n sortable: true,\n shrink: true,\n });\n columns.push(\n {\n key: \"usedBy\",\n label: \"Used by\",\n minWidth: 180,\n render: (_, row) => <Chips values={row.entry.usedBy ?? []} />,\n },\n {\n key: \"source\",\n label: \"Source\",\n sortable: true,\n shrink: true,\n render: (_, row) => (\n <PromptSourceBadge\n source={row.entry.source}\n parseError={row.entry.parseError}\n />\n ),\n },\n {\n key: \"model\",\n label: \"Model\",\n sortable: true,\n minWidth: 200,\n render: (_, row) => <ModelCell runtime={row.entry.effective} />,\n },\n {\n key: \"overrides\",\n label: \"Overrides\",\n minWidth: 180,\n render: (value) =>\n value ? (\n <span className=\"text-xs\">{String(value)}</span>\n ) : (\n <span className=\"text-muted-foreground\">—</span>\n ),\n },\n {\n key: \"variables\",\n label: \"Variables\",\n minWidth: 160,\n render: (_, row) => <Chips values={row.entry.variables ?? []} />,\n },\n {\n key: \"version\",\n label: \"Version\",\n shrink: true,\n render: (value) => (\n <span className=\"font-mono text-xs text-muted-foreground\">\n {String(value ?? \"\").slice(0, 8)}\n </span>\n ),\n },\n );\n return columns;\n}\n\n// PromptCatalogTable lists every prompt a host runs with the document that\n// actually runs, its runtime, and which config layer overrides it. Filtering is\n// done here (not by the DataTable) so the facets reflect the catalog's own\n// vocabulary: commands, sources, effective models.\nexport function PromptCatalogTable({\n entries,\n loading,\n error,\n emptyMessage,\n selectedId,\n onSelect,\n getRowHref,\n filterState,\n onFilterStateChange,\n showOwner,\n className,\n}: PromptCatalogTableProps) {\n const [internalFilterState, setInternalFilterState] =\n useState<PromptCatalogFilterState>(() => ({\n query: \"\",\n commands: [],\n sources: [],\n models: [],\n owners: [],\n overriddenOnly: false,\n }));\n const activeFilters = filterState ?? internalFilterState;\n const updateFilter = <Key extends keyof PromptCatalogFilterState>(\n key: Key,\n value: PromptCatalogFilterState[Key],\n ) => {\n const next = { ...activeFilters, [key]: value };\n if (filterState === undefined) setInternalFilterState(next);\n onFilterStateChange?.(next);\n };\n const { query, commands, sources, models, owners, overriddenOnly } =\n activeFilters;\n\n const options = useMemo(() => catalogFilterOptions(entries), [entries]);\n const showOwnerColumn = showOwner ?? options.owners.length > 1;\n const columns = useMemo(\n () => catalogColumns(showOwnerColumn),\n [showOwnerColumn],\n );\n const rows = useMemo(\n () =>\n entries\n .filter((entry) =>\n entryMatches(entry, {\n query,\n commands,\n sources,\n models,\n owners,\n overriddenOnly,\n }),\n )\n .map(toRow),\n [commands, entries, models, overriddenOnly, owners, query, sources],\n );\n\n const filters: FilterBarFilter[] = [\n {\n key: \"commands\",\n kind: \"select-multi\",\n label: \"Used by\",\n value: commands,\n options: options.commands.map((value) => ({ value, label: value })),\n onChange: (value) => updateFilter(\"commands\", value),\n },\n {\n key: \"sources\",\n kind: \"select-multi\",\n label: \"Source\",\n value: sources,\n options: options.sources.map((value) => ({\n value,\n label: sourceLabel(value),\n })),\n onChange: (value) =>\n updateFilter(\n \"sources\",\n value.map((selected) => {\n const source = options.sources.find(\n (candidate) => candidate === selected,\n );\n if (!source)\n throw new Error(\n `unknown prompt source ${JSON.stringify(selected)}`,\n );\n return source;\n }),\n ),\n },\n {\n key: \"models\",\n kind: \"select-multi\",\n label: \"Model\",\n value: models,\n options: options.models.map((value) => ({ value, label: value })),\n onChange: (value) => updateFilter(\"models\", value),\n },\n ];\n if (options.owners.length > 1) {\n filters.push({\n key: \"owners\",\n kind: \"select-multi\",\n label: \"Owner\",\n value: owners,\n options: options.owners.map((value) => ({ value, label: value })),\n onChange: (value) => updateFilter(\"owners\", value),\n });\n }\n filters.push({\n key: \"overridden\",\n kind: \"boolean\",\n label: \"Overridden only\",\n value: overriddenOnly,\n onChange: (value) => updateFilter(\"overriddenOnly\", value),\n });\n\n return (\n <DataTable<PromptCatalogRow>\n data={rows}\n columns={columns}\n getRowId={(row) => row.id}\n autoFilter={false}\n showGlobalFilter={false}\n manualFilter\n externalSearch={{\n value: query,\n onChange: (value) => updateFilter(\"query\", value),\n placeholder: \"Search prompts, commands, body…\",\n ariaLabel: \"Search prompts\",\n }}\n externalFilters={filters}\n {...(loading !== undefined ? { loading } : {})}\n {...(error ? { error } : {})}\n emptyMessage={emptyMessage ?? \"No prompts match\"}\n {...(onSelect\n ? { onRowClick: (row: PromptCatalogRow) => onSelect(row.entry) }\n : {})}\n {...(getRowHref\n ? { getRowHref: (row: PromptCatalogRow) => getRowHref(row.entry) }\n : {})}\n getRowClassName={(row) =>\n row.id === selectedId ? \"bg-primary/5\" : undefined\n }\n className={cn(\"min-h-0 flex-1\", className)}\n />\n );\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const utils = require("../../../lib/utils.cjs");
5
+ const Badge = require("../../Badge.cjs");
6
+ const promptCatalogModel = require("./prompt-catalog-model.cjs");
7
+ const PromptSourceBadge = require("./PromptSourceBadge.cjs");
8
+ const UiLock = require("../../../icons/components/UiLock.cjs");
9
+ const UiCheck = require("../../../icons/components/UiCheck.cjs");
10
+ function PromptLayerStrip({
11
+ entry,
12
+ selectedOrigin,
13
+ onSelect
14
+ }) {
15
+ const effective = promptCatalogModel.effectiveLayer(entry);
16
+ if (entry.layers.length === 0) {
17
+ return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "px-density-4 py-density-2 text-xs text-muted-foreground", children: "No configuration layers for this prompt." });
18
+ }
19
+ return /* @__PURE__ */ jsxRuntime.jsx(
20
+ "div",
21
+ {
22
+ role: "group",
23
+ "aria-label": "Configuration layers",
24
+ className: "flex flex-wrap items-stretch gap-2 px-density-4 py-density-2",
25
+ children: entry.layers.map((layer, index) => {
26
+ const active = layer.origin === selectedOrigin;
27
+ return /* @__PURE__ */ jsxRuntime.jsxs(
28
+ "button",
29
+ {
30
+ type: "button",
31
+ "aria-pressed": active,
32
+ title: layer.path,
33
+ onClick: () => onSelect(layer),
34
+ className: utils.cn(
35
+ "flex min-w-44 flex-col gap-1 rounded-md border px-3 py-2 text-left text-xs transition",
36
+ active ? "border-primary bg-primary/5" : "border-border hover:bg-muted"
37
+ ),
38
+ children: [
39
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1.5 font-medium", children: [
40
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-muted-foreground", children: [
41
+ index + 1,
42
+ "."
43
+ ] }),
44
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: promptCatalogModel.layerLabel(layer.origin) }),
45
+ !layer.editable ? /* @__PURE__ */ jsxRuntime.jsx(
46
+ UiLock.UiLock,
47
+ {
48
+ className: "text-muted-foreground",
49
+ "aria-label": "read-only"
50
+ }
51
+ ) : null
52
+ ] }),
53
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex flex-wrap items-center gap-1.5", children: [
54
+ layer.source === "none" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "unset" }) : /* @__PURE__ */ jsxRuntime.jsx(PromptSourceBadge.PromptSourceBadge, { source: layer.source }),
55
+ layer.fields && layer.fields.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-[11px] text-muted-foreground", children: layer.fields.join(", ") }) : null,
56
+ (effective == null ? void 0 : effective.origin) === layer.origin ? /* @__PURE__ */ jsxRuntime.jsx(
57
+ Badge.Badge,
58
+ {
59
+ variant: "soft",
60
+ tone: "success",
61
+ size: "xs",
62
+ icon: UiCheck.UiCheck,
63
+ clickToCopy: false,
64
+ children: "effective"
65
+ }
66
+ ) : null
67
+ ] })
68
+ ]
69
+ },
70
+ layer.origin
71
+ );
72
+ })
73
+ }
74
+ );
75
+ }
76
+ exports.PromptLayerStrip = PromptLayerStrip;
77
+ //# sourceMappingURL=PromptLayerStrip.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptLayerStrip.cjs","sources":["../../../../src/data/ai/PromptCatalog/PromptLayerStrip.tsx"],"sourcesContent":["import { UiCheck, UiLock } from \"../../../icons\";\nimport { cn } from \"../../../lib/utils\";\nimport { Badge } from \"../../Badge\";\nimport { effectiveLayer, layerLabel } from \"./prompt-catalog-model\";\nimport { PromptSourceBadge } from \"./PromptSourceBadge\";\nimport type { PromptCatalogEntry, PromptCatalogLayer } from \"./types\";\n\nexport type PromptLayerStripProps = {\n entry: PromptCatalogEntry;\n selectedOrigin?: string | undefined;\n onSelect: (layer: PromptCatalogLayer) => void;\n};\n\n// PromptLayerStrip shows the config chain lowest → highest precedence, marks\n// the layer whose override runs, and lets the user pick which layer to view or\n// edit. Read-only layers stay selectable so their content can be inspected.\nexport function PromptLayerStrip({\n entry,\n selectedOrigin,\n onSelect,\n}: PromptLayerStripProps) {\n const effective = effectiveLayer(entry);\n if (entry.layers.length === 0) {\n return (\n <p className=\"px-density-4 py-density-2 text-xs text-muted-foreground\">\n No configuration layers for this prompt.\n </p>\n );\n }\n return (\n <div\n role=\"group\"\n aria-label=\"Configuration layers\"\n className=\"flex flex-wrap items-stretch gap-2 px-density-4 py-density-2\"\n >\n {entry.layers.map((layer, index) => {\n const active = layer.origin === selectedOrigin;\n return (\n <button\n key={layer.origin}\n type=\"button\"\n aria-pressed={active}\n title={layer.path}\n onClick={() => onSelect(layer)}\n className={cn(\n \"flex min-w-44 flex-col gap-1 rounded-md border px-3 py-2 text-left text-xs transition\",\n active\n ? \"border-primary bg-primary/5\"\n : \"border-border hover:bg-muted\",\n )}\n >\n <span className=\"flex items-center gap-1.5 font-medium\">\n <span className=\"text-muted-foreground\">{index + 1}.</span>\n <span>{layerLabel(layer.origin)}</span>\n {!layer.editable ? (\n <UiLock\n className=\"text-muted-foreground\"\n aria-label=\"read-only\"\n />\n ) : null}\n </span>\n <span className=\"flex flex-wrap items-center gap-1.5\">\n {layer.source === \"none\" ? (\n <span className=\"text-muted-foreground\">unset</span>\n ) : (\n <PromptSourceBadge source={layer.source} />\n )}\n {layer.fields && layer.fields.length > 0 ? (\n <span className=\"font-mono text-[11px] text-muted-foreground\">\n {layer.fields.join(\", \")}\n </span>\n ) : null}\n {effective?.origin === layer.origin ? (\n <Badge\n variant=\"soft\"\n tone=\"success\"\n size=\"xs\"\n icon={UiCheck}\n clickToCopy={false}\n >\n effective\n </Badge>\n ) : null}\n </span>\n </button>\n );\n })}\n </div>\n );\n}\n"],"names":["effectiveLayer","jsx","jsxs","cn","layerLabel","UiLock","PromptSourceBadge","Badge","UiCheck"],"mappings":";;;;;;;;;AAgBO,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AACF,GAA0B;AACxB,QAAM,YAAYA,mBAAAA,eAAe,KAAK;AACtC,MAAI,MAAM,OAAO,WAAW,GAAG;AAC7B,WACEC,2BAAAA,IAAC,KAAA,EAAE,WAAU,2DAA0D,UAAA,4CAEvE;AAAA,EAEJ;AACA,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,cAAW;AAAA,MACX,WAAU;AAAA,MAET,UAAA,MAAM,OAAO,IAAI,CAAC,OAAO,UAAU;AAClC,cAAM,SAAS,MAAM,WAAW;AAChC,eACEC,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YAEC,MAAK;AAAA,YACL,gBAAc;AAAA,YACd,OAAO,MAAM;AAAA,YACb,SAAS,MAAM,SAAS,KAAK;AAAA,YAC7B,WAAWC,MAAAA;AAAAA,cACT;AAAA,cACA,SACI,gCACA;AAAA,YAAA;AAAA,YAGN,UAAA;AAAA,cAAAD,2BAAAA,KAAC,QAAA,EAAK,WAAU,yCACd,UAAA;AAAA,gBAAAA,2BAAAA,KAAC,QAAA,EAAK,WAAU,yBAAyB,UAAA;AAAA,kBAAA,QAAQ;AAAA,kBAAE;AAAA,gBAAA,GAAC;AAAA,gBACpDD,2BAAAA,IAAC,QAAA,EAAM,UAAAG,mBAAAA,WAAW,MAAM,MAAM,GAAE;AAAA,gBAC/B,CAAC,MAAM,WACNH,2BAAAA;AAAAA,kBAACI,OAAAA;AAAAA,kBAAA;AAAA,oBACC,WAAU;AAAA,oBACV,cAAW;AAAA,kBAAA;AAAA,gBAAA,IAEX;AAAA,cAAA,GACN;AAAA,cACAH,2BAAAA,KAAC,QAAA,EAAK,WAAU,uCACb,UAAA;AAAA,gBAAA,MAAM,WAAW,SAChBD,2BAAAA,IAAC,QAAA,EAAK,WAAU,yBAAwB,UAAA,QAAA,CAAK,IAE7CA,2BAAAA,IAACK,kBAAAA,mBAAA,EAAkB,QAAQ,MAAM,QAAQ;AAAA,gBAE1C,MAAM,UAAU,MAAM,OAAO,SAAS,IACrCL,2BAAAA,IAAC,QAAA,EAAK,WAAU,+CACb,UAAA,MAAM,OAAO,KAAK,IAAI,GACzB,IACE;AAAA,iBACH,uCAAW,YAAW,MAAM,SAC3BA,2BAAAA;AAAAA,kBAACM,MAAAA;AAAAA,kBAAA;AAAA,oBACC,SAAQ;AAAA,oBACR,MAAK;AAAA,oBACL,MAAK;AAAA,oBACL,MAAMC,QAAAA;AAAAA,oBACN,aAAa;AAAA,oBACd,UAAA;AAAA,kBAAA;AAAA,gBAAA,IAGC;AAAA,cAAA,EAAA,CACN;AAAA,YAAA;AAAA,UAAA;AAAA,UA5CK,MAAM;AAAA,QAAA;AAAA,MA+CjB,CAAC;AAAA,IAAA;AAAA,EAAA;AAGP;;"}
@@ -0,0 +1,8 @@
1
+ import { PromptCatalogEntry, PromptCatalogLayer } from './types';
2
+ export type PromptLayerStripProps = {
3
+ entry: PromptCatalogEntry;
4
+ selectedOrigin?: string | undefined;
5
+ onSelect: (layer: PromptCatalogLayer) => void;
6
+ };
7
+ export declare function PromptLayerStrip({ entry, selectedOrigin, onSelect, }: PromptLayerStripProps): import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=PromptLayerStrip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptLayerStrip.d.ts","sourceRoot":"","sources":["../../../../src/data/ai/PromptCatalog/PromptLayerStrip.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEtE,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAC/C,CAAC;AAKF,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,cAAc,EACd,QAAQ,GACT,EAAE,qBAAqB,2CAqEvB"}
@@ -0,0 +1,77 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { cn } from "../../../lib/utils.js";
3
+ import { Badge } from "../../Badge.js";
4
+ import { effectiveLayer, layerLabel } from "./prompt-catalog-model.js";
5
+ import { PromptSourceBadge } from "./PromptSourceBadge.js";
6
+ import { UiLock } from "../../../icons/components/UiLock.js";
7
+ import { UiCheck } from "../../../icons/components/UiCheck.js";
8
+ function PromptLayerStrip({
9
+ entry,
10
+ selectedOrigin,
11
+ onSelect
12
+ }) {
13
+ const effective = effectiveLayer(entry);
14
+ if (entry.layers.length === 0) {
15
+ return /* @__PURE__ */ jsx("p", { className: "px-density-4 py-density-2 text-xs text-muted-foreground", children: "No configuration layers for this prompt." });
16
+ }
17
+ return /* @__PURE__ */ jsx(
18
+ "div",
19
+ {
20
+ role: "group",
21
+ "aria-label": "Configuration layers",
22
+ className: "flex flex-wrap items-stretch gap-2 px-density-4 py-density-2",
23
+ children: entry.layers.map((layer, index) => {
24
+ const active = layer.origin === selectedOrigin;
25
+ return /* @__PURE__ */ jsxs(
26
+ "button",
27
+ {
28
+ type: "button",
29
+ "aria-pressed": active,
30
+ title: layer.path,
31
+ onClick: () => onSelect(layer),
32
+ className: cn(
33
+ "flex min-w-44 flex-col gap-1 rounded-md border px-3 py-2 text-left text-xs transition",
34
+ active ? "border-primary bg-primary/5" : "border-border hover:bg-muted"
35
+ ),
36
+ children: [
37
+ /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1.5 font-medium", children: [
38
+ /* @__PURE__ */ jsxs("span", { className: "text-muted-foreground", children: [
39
+ index + 1,
40
+ "."
41
+ ] }),
42
+ /* @__PURE__ */ jsx("span", { children: layerLabel(layer.origin) }),
43
+ !layer.editable ? /* @__PURE__ */ jsx(
44
+ UiLock,
45
+ {
46
+ className: "text-muted-foreground",
47
+ "aria-label": "read-only"
48
+ }
49
+ ) : null
50
+ ] }),
51
+ /* @__PURE__ */ jsxs("span", { className: "flex flex-wrap items-center gap-1.5", children: [
52
+ layer.source === "none" ? /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "unset" }) : /* @__PURE__ */ jsx(PromptSourceBadge, { source: layer.source }),
53
+ layer.fields && layer.fields.length > 0 ? /* @__PURE__ */ jsx("span", { className: "font-mono text-[11px] text-muted-foreground", children: layer.fields.join(", ") }) : null,
54
+ (effective == null ? void 0 : effective.origin) === layer.origin ? /* @__PURE__ */ jsx(
55
+ Badge,
56
+ {
57
+ variant: "soft",
58
+ tone: "success",
59
+ size: "xs",
60
+ icon: UiCheck,
61
+ clickToCopy: false,
62
+ children: "effective"
63
+ }
64
+ ) : null
65
+ ] })
66
+ ]
67
+ },
68
+ layer.origin
69
+ );
70
+ })
71
+ }
72
+ );
73
+ }
74
+ export {
75
+ PromptLayerStrip
76
+ };
77
+ //# sourceMappingURL=PromptLayerStrip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptLayerStrip.js","sources":["../../../../src/data/ai/PromptCatalog/PromptLayerStrip.tsx"],"sourcesContent":["import { UiCheck, UiLock } from \"../../../icons\";\nimport { cn } from \"../../../lib/utils\";\nimport { Badge } from \"../../Badge\";\nimport { effectiveLayer, layerLabel } from \"./prompt-catalog-model\";\nimport { PromptSourceBadge } from \"./PromptSourceBadge\";\nimport type { PromptCatalogEntry, PromptCatalogLayer } from \"./types\";\n\nexport type PromptLayerStripProps = {\n entry: PromptCatalogEntry;\n selectedOrigin?: string | undefined;\n onSelect: (layer: PromptCatalogLayer) => void;\n};\n\n// PromptLayerStrip shows the config chain lowest → highest precedence, marks\n// the layer whose override runs, and lets the user pick which layer to view or\n// edit. Read-only layers stay selectable so their content can be inspected.\nexport function PromptLayerStrip({\n entry,\n selectedOrigin,\n onSelect,\n}: PromptLayerStripProps) {\n const effective = effectiveLayer(entry);\n if (entry.layers.length === 0) {\n return (\n <p className=\"px-density-4 py-density-2 text-xs text-muted-foreground\">\n No configuration layers for this prompt.\n </p>\n );\n }\n return (\n <div\n role=\"group\"\n aria-label=\"Configuration layers\"\n className=\"flex flex-wrap items-stretch gap-2 px-density-4 py-density-2\"\n >\n {entry.layers.map((layer, index) => {\n const active = layer.origin === selectedOrigin;\n return (\n <button\n key={layer.origin}\n type=\"button\"\n aria-pressed={active}\n title={layer.path}\n onClick={() => onSelect(layer)}\n className={cn(\n \"flex min-w-44 flex-col gap-1 rounded-md border px-3 py-2 text-left text-xs transition\",\n active\n ? \"border-primary bg-primary/5\"\n : \"border-border hover:bg-muted\",\n )}\n >\n <span className=\"flex items-center gap-1.5 font-medium\">\n <span className=\"text-muted-foreground\">{index + 1}.</span>\n <span>{layerLabel(layer.origin)}</span>\n {!layer.editable ? (\n <UiLock\n className=\"text-muted-foreground\"\n aria-label=\"read-only\"\n />\n ) : null}\n </span>\n <span className=\"flex flex-wrap items-center gap-1.5\">\n {layer.source === \"none\" ? (\n <span className=\"text-muted-foreground\">unset</span>\n ) : (\n <PromptSourceBadge source={layer.source} />\n )}\n {layer.fields && layer.fields.length > 0 ? (\n <span className=\"font-mono text-[11px] text-muted-foreground\">\n {layer.fields.join(\", \")}\n </span>\n ) : null}\n {effective?.origin === layer.origin ? (\n <Badge\n variant=\"soft\"\n tone=\"success\"\n size=\"xs\"\n icon={UiCheck}\n clickToCopy={false}\n >\n effective\n </Badge>\n ) : null}\n </span>\n </button>\n );\n })}\n </div>\n );\n}\n"],"names":[],"mappings":";;;;;;;AAgBO,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AACF,GAA0B;AACxB,QAAM,YAAY,eAAe,KAAK;AACtC,MAAI,MAAM,OAAO,WAAW,GAAG;AAC7B,WACE,oBAAC,KAAA,EAAE,WAAU,2DAA0D,UAAA,4CAEvE;AAAA,EAEJ;AACA,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,cAAW;AAAA,MACX,WAAU;AAAA,MAET,UAAA,MAAM,OAAO,IAAI,CAAC,OAAO,UAAU;AAClC,cAAM,SAAS,MAAM,WAAW;AAChC,eACE;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,MAAK;AAAA,YACL,gBAAc;AAAA,YACd,OAAO,MAAM;AAAA,YACb,SAAS,MAAM,SAAS,KAAK;AAAA,YAC7B,WAAW;AAAA,cACT;AAAA,cACA,SACI,gCACA;AAAA,YAAA;AAAA,YAGN,UAAA;AAAA,cAAA,qBAAC,QAAA,EAAK,WAAU,yCACd,UAAA;AAAA,gBAAA,qBAAC,QAAA,EAAK,WAAU,yBAAyB,UAAA;AAAA,kBAAA,QAAQ;AAAA,kBAAE;AAAA,gBAAA,GAAC;AAAA,gBACpD,oBAAC,QAAA,EAAM,UAAA,WAAW,MAAM,MAAM,GAAE;AAAA,gBAC/B,CAAC,MAAM,WACN;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,WAAU;AAAA,oBACV,cAAW;AAAA,kBAAA;AAAA,gBAAA,IAEX;AAAA,cAAA,GACN;AAAA,cACA,qBAAC,QAAA,EAAK,WAAU,uCACb,UAAA;AAAA,gBAAA,MAAM,WAAW,SAChB,oBAAC,QAAA,EAAK,WAAU,yBAAwB,UAAA,QAAA,CAAK,IAE7C,oBAAC,mBAAA,EAAkB,QAAQ,MAAM,QAAQ;AAAA,gBAE1C,MAAM,UAAU,MAAM,OAAO,SAAS,IACrC,oBAAC,QAAA,EAAK,WAAU,+CACb,UAAA,MAAM,OAAO,KAAK,IAAI,GACzB,IACE;AAAA,iBACH,uCAAW,YAAW,MAAM,SAC3B;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,SAAQ;AAAA,oBACR,MAAK;AAAA,oBACL,MAAK;AAAA,oBACL,MAAM;AAAA,oBACN,aAAa;AAAA,oBACd,UAAA;AAAA,kBAAA;AAAA,gBAAA,IAGC;AAAA,cAAA,EAAA,CACN;AAAA,YAAA;AAAA,UAAA;AAAA,UA5CK,MAAM;AAAA,QAAA;AAAA,MA+CjB,CAAC;AAAA,IAAA;AAAA,EAAA;AAGP;"}