@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,168 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const react = require("react");
5
+ const button = require("../../../components/button.cjs");
6
+ const SegmentedControl = require("../../../components/SegmentedControl.cjs");
7
+ const UiWarningTriangle = require("../../../icons/components/UiWarningTriangle.cjs");
8
+ const UiRefresh = require("../../../icons/components/UiRefresh.cjs");
9
+ const UiSave = require("../../../icons/components/UiSave.cjs");
10
+ const SOURCE_OPTIONS = [
11
+ {
12
+ id: "inline",
13
+ label: "Inline",
14
+ title: "Store the spec in this layer's config"
15
+ },
16
+ {
17
+ id: "file",
18
+ label: "File",
19
+ title: "Store the whole document in a .prompt file"
20
+ }
21
+ ];
22
+ function PromptPageSaveBar({
23
+ source,
24
+ onSourceChange,
25
+ path,
26
+ onPathChange,
27
+ dirty,
28
+ saving,
29
+ canRemove,
30
+ error,
31
+ conflict,
32
+ onSave,
33
+ onRemove,
34
+ onReload
35
+ }) {
36
+ const [confirmingRemove, setConfirmingRemove] = react.useState(false);
37
+ const pathMissing = source === "file" && path.trim() === "";
38
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-2 border-t border-border px-density-4 py-density-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto flex w-full max-w-[820px] flex-col gap-2", children: [
39
+ conflict ? /* @__PURE__ */ jsxRuntime.jsxs(
40
+ "div",
41
+ {
42
+ role: "alert",
43
+ className: "flex items-center gap-2 rounded-md border border-amber-300 bg-amber-500/10 px-3 py-2 text-xs text-amber-800 dark:border-amber-500/40 dark:text-amber-300",
44
+ children: [
45
+ /* @__PURE__ */ jsxRuntime.jsx(UiWarningTriangle.UiWarningTriangle, { className: "shrink-0" }),
46
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 flex-1", children: "This layer changed since it was loaded. Reload to see the current document; your draft will be discarded." }),
47
+ /* @__PURE__ */ jsxRuntime.jsxs(
48
+ button.Button,
49
+ {
50
+ type: "button",
51
+ size: "sm",
52
+ variant: "outline",
53
+ onClick: onReload,
54
+ disabled: saving,
55
+ children: [
56
+ /* @__PURE__ */ jsxRuntime.jsx(UiRefresh.UiRefresh, { className: "mr-1" }),
57
+ "Reload"
58
+ ]
59
+ }
60
+ )
61
+ ]
62
+ }
63
+ ) : error ? /* @__PURE__ */ jsxRuntime.jsx(
64
+ "p",
65
+ {
66
+ role: "alert",
67
+ className: "whitespace-pre-wrap text-xs text-destructive",
68
+ children: error
69
+ }
70
+ ) : null,
71
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [
72
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-muted-foreground", children: "Save to" }),
73
+ /* @__PURE__ */ jsxRuntime.jsx(
74
+ SegmentedControl.SegmentedControl,
75
+ {
76
+ size: "sm",
77
+ value: source,
78
+ options: SOURCE_OPTIONS,
79
+ onChange: onSourceChange,
80
+ "aria-label": "Save location"
81
+ }
82
+ ),
83
+ source === "file" ? /* @__PURE__ */ jsxRuntime.jsx(
84
+ "input",
85
+ {
86
+ type: "text",
87
+ "aria-label": "Prompt file path",
88
+ className: "min-w-64 flex-1 rounded-md border border-border bg-background p-1.5 font-mono text-xs",
89
+ value: path,
90
+ placeholder: ".gavel/prompts/my-prompt.prompt",
91
+ spellCheck: false,
92
+ onChange: (event) => onPathChange(event.currentTarget.value)
93
+ }
94
+ ) : null,
95
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ml-auto flex items-center gap-2", children: [
96
+ canRemove && !confirmingRemove ? /* @__PURE__ */ jsxRuntime.jsx(
97
+ button.Button,
98
+ {
99
+ type: "button",
100
+ variant: "ghost",
101
+ size: "sm",
102
+ onClick: () => setConfirmingRemove(true),
103
+ disabled: saving,
104
+ children: "Remove override from this layer"
105
+ }
106
+ ) : null,
107
+ confirmingRemove ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1 text-xs", children: [
108
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "Remove this layer's override?" }),
109
+ /* @__PURE__ */ jsxRuntime.jsx(
110
+ button.Button,
111
+ {
112
+ type: "button",
113
+ variant: "destructive",
114
+ size: "sm",
115
+ onClick: () => {
116
+ setConfirmingRemove(false);
117
+ onRemove();
118
+ },
119
+ disabled: saving,
120
+ children: "Remove"
121
+ }
122
+ ),
123
+ /* @__PURE__ */ jsxRuntime.jsx(
124
+ button.Button,
125
+ {
126
+ type: "button",
127
+ variant: "ghost",
128
+ size: "sm",
129
+ onClick: () => setConfirmingRemove(false),
130
+ disabled: saving,
131
+ children: "Keep"
132
+ }
133
+ )
134
+ ] }) : null,
135
+ /* @__PURE__ */ jsxRuntime.jsxs(
136
+ button.Button,
137
+ {
138
+ type: "button",
139
+ variant: "ghost",
140
+ size: "sm",
141
+ onClick: onReload,
142
+ disabled: saving,
143
+ children: [
144
+ /* @__PURE__ */ jsxRuntime.jsx(UiRefresh.UiRefresh, { className: "mr-1" }),
145
+ "Reload"
146
+ ]
147
+ }
148
+ ),
149
+ /* @__PURE__ */ jsxRuntime.jsxs(
150
+ button.Button,
151
+ {
152
+ type: "button",
153
+ size: "sm",
154
+ onClick: onSave,
155
+ disabled: saving || !dirty || pathMissing,
156
+ loading: saving,
157
+ children: [
158
+ /* @__PURE__ */ jsxRuntime.jsx(UiSave.UiSave, { className: "mr-1" }),
159
+ saving ? "Saving…" : "Save"
160
+ ]
161
+ }
162
+ )
163
+ ] })
164
+ ] })
165
+ ] }) });
166
+ }
167
+ exports.PromptPageSaveBar = PromptPageSaveBar;
168
+ //# sourceMappingURL=PromptPageSaveBar.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptPageSaveBar.cjs","sources":["../../../../src/data/ai/PromptCatalog/PromptPageSaveBar.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { Button } from \"../../../components/button\";\nimport {\n SegmentedControl,\n type SegmentedOption,\n} from \"../../../components/SegmentedControl\";\nimport { UiRefresh, UiSave, UiWarningTriangle } from \"../../../icons\";\nimport type { PromptSaveSource } from \"./prompt-page-model\";\n\nconst SOURCE_OPTIONS: SegmentedOption<PromptSaveSource>[] = [\n {\n id: \"inline\",\n label: \"Inline\",\n title: \"Store the spec in this layer's config\",\n },\n {\n id: \"file\",\n label: \"File\",\n title: \"Store the whole document in a .prompt file\",\n },\n];\n\nexport type PromptPageSaveBarProps = {\n source: PromptSaveSource;\n onSourceChange: (source: PromptSaveSource) => void;\n path: string;\n onPathChange: (path: string) => void;\n dirty: boolean;\n saving: boolean;\n canRemove: boolean;\n error?: string | undefined;\n conflict: boolean;\n onSave: () => void;\n onRemove: () => void;\n onReload: () => void;\n};\n\n// PromptPageSaveBar holds the destination choice, the save/remove/reload\n// actions and their errors. A stale-base rejection is a conflict, not a\n// failure: it names the fix (reload) instead of inviting a retry that would\n// hit the same wall.\nexport function PromptPageSaveBar({\n source,\n onSourceChange,\n path,\n onPathChange,\n dirty,\n saving,\n canRemove,\n error,\n conflict,\n onSave,\n onRemove,\n onReload,\n}: PromptPageSaveBarProps) {\n const [confirmingRemove, setConfirmingRemove] = useState(false);\n const pathMissing = source === \"file\" && path.trim() === \"\";\n\n return (\n <div className=\"flex flex-col gap-2 border-t border-border px-density-4 py-density-3\">\n <div className=\"mx-auto flex w-full max-w-[820px] flex-col gap-2\">\n {conflict ? (\n <div\n role=\"alert\"\n className=\"flex items-center gap-2 rounded-md border border-amber-300 bg-amber-500/10 px-3 py-2 text-xs text-amber-800 dark:border-amber-500/40 dark:text-amber-300\"\n >\n <UiWarningTriangle className=\"shrink-0\" />\n <span className=\"min-w-0 flex-1\">\n This layer changed since it was loaded. Reload to see the current\n document; your draft will be discarded.\n </span>\n <Button\n type=\"button\"\n size=\"sm\"\n variant=\"outline\"\n onClick={onReload}\n disabled={saving}\n >\n <UiRefresh className=\"mr-1\" />\n Reload\n </Button>\n </div>\n ) : error ? (\n <p\n role=\"alert\"\n className=\"whitespace-pre-wrap text-xs text-destructive\"\n >\n {error}\n </p>\n ) : null}\n <div className=\"flex flex-wrap items-center gap-2\">\n <span className=\"text-xs font-medium text-muted-foreground\">\n Save to\n </span>\n <SegmentedControl\n size=\"sm\"\n value={source}\n options={SOURCE_OPTIONS}\n onChange={onSourceChange}\n aria-label=\"Save location\"\n />\n {source === \"file\" ? (\n <input\n type=\"text\"\n aria-label=\"Prompt file path\"\n className=\"min-w-64 flex-1 rounded-md border border-border bg-background p-1.5 font-mono text-xs\"\n value={path}\n placeholder=\".gavel/prompts/my-prompt.prompt\"\n spellCheck={false}\n onChange={(event) => onPathChange(event.currentTarget.value)}\n />\n ) : null}\n <div className=\"ml-auto flex items-center gap-2\">\n {canRemove && !confirmingRemove ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => setConfirmingRemove(true)}\n disabled={saving}\n >\n Remove override from this layer\n </Button>\n ) : null}\n {confirmingRemove ? (\n <span className=\"flex items-center gap-1 text-xs\">\n <span className=\"text-muted-foreground\">\n Remove this layer&apos;s override?\n </span>\n <Button\n type=\"button\"\n variant=\"destructive\"\n size=\"sm\"\n onClick={() => {\n setConfirmingRemove(false);\n onRemove();\n }}\n disabled={saving}\n >\n Remove\n </Button>\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => setConfirmingRemove(false)}\n disabled={saving}\n >\n Keep\n </Button>\n </span>\n ) : null}\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n onClick={onReload}\n disabled={saving}\n >\n <UiRefresh className=\"mr-1\" />\n Reload\n </Button>\n <Button\n type=\"button\"\n size=\"sm\"\n onClick={onSave}\n disabled={saving || !dirty || pathMissing}\n loading={saving}\n >\n <UiSave className=\"mr-1\" />\n {saving ? \"Saving…\" : \"Save\"}\n </Button>\n </div>\n </div>\n </div>\n </div>\n );\n}\n"],"names":["useState","jsxs","jsx","UiWarningTriangle","Button","UiRefresh","SegmentedControl","UiSave"],"mappings":";;;;;;;;;AASA,MAAM,iBAAsD;AAAA,EAC1D;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,OAAO;AAAA,EAAA;AAAA,EAET;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,OAAO;AAAA,EAAA;AAEX;AAqBO,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA2B;AACzB,QAAM,CAAC,kBAAkB,mBAAmB,IAAIA,MAAAA,SAAS,KAAK;AAC9D,QAAM,cAAc,WAAW,UAAU,KAAK,WAAW;AAEzD,wCACG,OAAA,EAAI,WAAU,wEACb,UAAAC,2BAAAA,KAAC,OAAA,EAAI,WAAU,oDACZ,UAAA;AAAA,IAAA,WACCA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,WAAU;AAAA,QAEV,UAAA;AAAA,UAAAC,2BAAAA,IAACC,kBAAAA,mBAAA,EAAkB,WAAU,WAAA,CAAW;AAAA,UACxCD,2BAAAA,IAAC,QAAA,EAAK,WAAU,kBAAiB,UAAA,6GAGjC;AAAA,UACAD,2BAAAA;AAAAA,YAACG,OAAAA;AAAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,MAAK;AAAA,cACL,SAAQ;AAAA,cACR,SAAS;AAAA,cACT,UAAU;AAAA,cAEV,UAAA;AAAA,gBAAAF,2BAAAA,IAACG,UAAAA,WAAA,EAAU,WAAU,OAAA,CAAO;AAAA,gBAAE;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAEhC;AAAA,MAAA;AAAA,IAAA,IAEA,QACFH,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,WAAU;AAAA,QAET,UAAA;AAAA,MAAA;AAAA,IAAA,IAED;AAAA,IACJD,2BAAAA,KAAC,OAAA,EAAI,WAAU,qCACb,UAAA;AAAA,MAAAC,2BAAAA,IAAC,QAAA,EAAK,WAAU,6CAA4C,UAAA,WAE5D;AAAA,MACAA,2BAAAA;AAAAA,QAACI,iBAAAA;AAAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,OAAO;AAAA,UACP,SAAS;AAAA,UACT,UAAU;AAAA,UACV,cAAW;AAAA,QAAA;AAAA,MAAA;AAAA,MAEZ,WAAW,SACVJ,2BAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,cAAW;AAAA,UACX,WAAU;AAAA,UACV,OAAO;AAAA,UACP,aAAY;AAAA,UACZ,YAAY;AAAA,UACZ,UAAU,CAAC,UAAU,aAAa,MAAM,cAAc,KAAK;AAAA,QAAA;AAAA,MAAA,IAE3D;AAAA,MACJD,2BAAAA,KAAC,OAAA,EAAI,WAAU,mCACZ,UAAA;AAAA,QAAA,aAAa,CAAC,mBACbC,2BAAAA;AAAAA,UAACE,OAAAA;AAAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,SAAS,MAAM,oBAAoB,IAAI;AAAA,YACvC,UAAU;AAAA,YACX,UAAA;AAAA,UAAA;AAAA,QAAA,IAGC;AAAA,QACH,mBACCH,2BAAAA,KAAC,QAAA,EAAK,WAAU,mCACd,UAAA;AAAA,UAAAC,2BAAAA,IAAC,QAAA,EAAK,WAAU,yBAAwB,UAAA,iCAExC;AAAA,UACAA,2BAAAA;AAAAA,YAACE,OAAAA;AAAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAQ;AAAA,cACR,MAAK;AAAA,cACL,SAAS,MAAM;AACb,oCAAoB,KAAK;AACzB,yBAAA;AAAA,cACF;AAAA,cACA,UAAU;AAAA,cACX,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAGDF,2BAAAA;AAAAA,YAACE,OAAAA;AAAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAQ;AAAA,cACR,MAAK;AAAA,cACL,SAAS,MAAM,oBAAoB,KAAK;AAAA,cACxC,UAAU;AAAA,cACX,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAED,EAAA,CACF,IACE;AAAA,QACJH,2BAAAA;AAAAA,UAACG,OAAAA;AAAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,SAAS;AAAA,YACT,UAAU;AAAA,YAEV,UAAA;AAAA,cAAAF,2BAAAA,IAACG,UAAAA,WAAA,EAAU,WAAU,OAAA,CAAO;AAAA,cAAE;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAGhCJ,2BAAAA;AAAAA,UAACG,OAAAA;AAAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,MAAK;AAAA,YACL,SAAS;AAAA,YACT,UAAU,UAAU,CAAC,SAAS;AAAA,YAC9B,SAAS;AAAA,YAET,UAAA;AAAA,cAAAF,2BAAAA,IAACK,OAAAA,QAAA,EAAO,WAAU,OAAA,CAAO;AAAA,cACxB,SAAS,YAAY;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACxB,EAAA,CACF;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ;;"}
@@ -0,0 +1,17 @@
1
+ import { PromptSaveSource } from './prompt-page-model';
2
+ export type PromptPageSaveBarProps = {
3
+ source: PromptSaveSource;
4
+ onSourceChange: (source: PromptSaveSource) => void;
5
+ path: string;
6
+ onPathChange: (path: string) => void;
7
+ dirty: boolean;
8
+ saving: boolean;
9
+ canRemove: boolean;
10
+ error?: string | undefined;
11
+ conflict: boolean;
12
+ onSave: () => void;
13
+ onRemove: () => void;
14
+ onReload: () => void;
15
+ };
16
+ export declare function PromptPageSaveBar({ source, onSourceChange, path, onPathChange, dirty, saving, canRemove, error, conflict, onSave, onRemove, onReload, }: PromptPageSaveBarProps): import("react/jsx-runtime").JSX.Element;
17
+ //# sourceMappingURL=PromptPageSaveBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptPageSaveBar.d.ts","sourceRoot":"","sources":["../../../../src/data/ai/PromptCatalog/PromptPageSaveBar.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAe5D,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,gBAAgB,CAAC;IACzB,cAAc,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAMF,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,cAAc,EACd,IAAI,EACJ,YAAY,EACZ,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,QAAQ,GACT,EAAE,sBAAsB,2CA2HxB"}
@@ -0,0 +1,168 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { Button } from "../../../components/button.js";
4
+ import { SegmentedControl } from "../../../components/SegmentedControl.js";
5
+ import { UiWarningTriangle } from "../../../icons/components/UiWarningTriangle.js";
6
+ import { UiRefresh } from "../../../icons/components/UiRefresh.js";
7
+ import { UiSave } from "../../../icons/components/UiSave.js";
8
+ const SOURCE_OPTIONS = [
9
+ {
10
+ id: "inline",
11
+ label: "Inline",
12
+ title: "Store the spec in this layer's config"
13
+ },
14
+ {
15
+ id: "file",
16
+ label: "File",
17
+ title: "Store the whole document in a .prompt file"
18
+ }
19
+ ];
20
+ function PromptPageSaveBar({
21
+ source,
22
+ onSourceChange,
23
+ path,
24
+ onPathChange,
25
+ dirty,
26
+ saving,
27
+ canRemove,
28
+ error,
29
+ conflict,
30
+ onSave,
31
+ onRemove,
32
+ onReload
33
+ }) {
34
+ const [confirmingRemove, setConfirmingRemove] = useState(false);
35
+ const pathMissing = source === "file" && path.trim() === "";
36
+ return /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-2 border-t border-border px-density-4 py-density-3", children: /* @__PURE__ */ jsxs("div", { className: "mx-auto flex w-full max-w-[820px] flex-col gap-2", children: [
37
+ conflict ? /* @__PURE__ */ jsxs(
38
+ "div",
39
+ {
40
+ role: "alert",
41
+ className: "flex items-center gap-2 rounded-md border border-amber-300 bg-amber-500/10 px-3 py-2 text-xs text-amber-800 dark:border-amber-500/40 dark:text-amber-300",
42
+ children: [
43
+ /* @__PURE__ */ jsx(UiWarningTriangle, { className: "shrink-0" }),
44
+ /* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1", children: "This layer changed since it was loaded. Reload to see the current document; your draft will be discarded." }),
45
+ /* @__PURE__ */ jsxs(
46
+ Button,
47
+ {
48
+ type: "button",
49
+ size: "sm",
50
+ variant: "outline",
51
+ onClick: onReload,
52
+ disabled: saving,
53
+ children: [
54
+ /* @__PURE__ */ jsx(UiRefresh, { className: "mr-1" }),
55
+ "Reload"
56
+ ]
57
+ }
58
+ )
59
+ ]
60
+ }
61
+ ) : error ? /* @__PURE__ */ jsx(
62
+ "p",
63
+ {
64
+ role: "alert",
65
+ className: "whitespace-pre-wrap text-xs text-destructive",
66
+ children: error
67
+ }
68
+ ) : null,
69
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [
70
+ /* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-muted-foreground", children: "Save to" }),
71
+ /* @__PURE__ */ jsx(
72
+ SegmentedControl,
73
+ {
74
+ size: "sm",
75
+ value: source,
76
+ options: SOURCE_OPTIONS,
77
+ onChange: onSourceChange,
78
+ "aria-label": "Save location"
79
+ }
80
+ ),
81
+ source === "file" ? /* @__PURE__ */ jsx(
82
+ "input",
83
+ {
84
+ type: "text",
85
+ "aria-label": "Prompt file path",
86
+ className: "min-w-64 flex-1 rounded-md border border-border bg-background p-1.5 font-mono text-xs",
87
+ value: path,
88
+ placeholder: ".gavel/prompts/my-prompt.prompt",
89
+ spellCheck: false,
90
+ onChange: (event) => onPathChange(event.currentTarget.value)
91
+ }
92
+ ) : null,
93
+ /* @__PURE__ */ jsxs("div", { className: "ml-auto flex items-center gap-2", children: [
94
+ canRemove && !confirmingRemove ? /* @__PURE__ */ jsx(
95
+ Button,
96
+ {
97
+ type: "button",
98
+ variant: "ghost",
99
+ size: "sm",
100
+ onClick: () => setConfirmingRemove(true),
101
+ disabled: saving,
102
+ children: "Remove override from this layer"
103
+ }
104
+ ) : null,
105
+ confirmingRemove ? /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1 text-xs", children: [
106
+ /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "Remove this layer's override?" }),
107
+ /* @__PURE__ */ jsx(
108
+ Button,
109
+ {
110
+ type: "button",
111
+ variant: "destructive",
112
+ size: "sm",
113
+ onClick: () => {
114
+ setConfirmingRemove(false);
115
+ onRemove();
116
+ },
117
+ disabled: saving,
118
+ children: "Remove"
119
+ }
120
+ ),
121
+ /* @__PURE__ */ jsx(
122
+ Button,
123
+ {
124
+ type: "button",
125
+ variant: "ghost",
126
+ size: "sm",
127
+ onClick: () => setConfirmingRemove(false),
128
+ disabled: saving,
129
+ children: "Keep"
130
+ }
131
+ )
132
+ ] }) : null,
133
+ /* @__PURE__ */ jsxs(
134
+ Button,
135
+ {
136
+ type: "button",
137
+ variant: "ghost",
138
+ size: "sm",
139
+ onClick: onReload,
140
+ disabled: saving,
141
+ children: [
142
+ /* @__PURE__ */ jsx(UiRefresh, { className: "mr-1" }),
143
+ "Reload"
144
+ ]
145
+ }
146
+ ),
147
+ /* @__PURE__ */ jsxs(
148
+ Button,
149
+ {
150
+ type: "button",
151
+ size: "sm",
152
+ onClick: onSave,
153
+ disabled: saving || !dirty || pathMissing,
154
+ loading: saving,
155
+ children: [
156
+ /* @__PURE__ */ jsx(UiSave, { className: "mr-1" }),
157
+ saving ? "Saving…" : "Save"
158
+ ]
159
+ }
160
+ )
161
+ ] })
162
+ ] })
163
+ ] }) });
164
+ }
165
+ export {
166
+ PromptPageSaveBar
167
+ };
168
+ //# sourceMappingURL=PromptPageSaveBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptPageSaveBar.js","sources":["../../../../src/data/ai/PromptCatalog/PromptPageSaveBar.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { Button } from \"../../../components/button\";\nimport {\n SegmentedControl,\n type SegmentedOption,\n} from \"../../../components/SegmentedControl\";\nimport { UiRefresh, UiSave, UiWarningTriangle } from \"../../../icons\";\nimport type { PromptSaveSource } from \"./prompt-page-model\";\n\nconst SOURCE_OPTIONS: SegmentedOption<PromptSaveSource>[] = [\n {\n id: \"inline\",\n label: \"Inline\",\n title: \"Store the spec in this layer's config\",\n },\n {\n id: \"file\",\n label: \"File\",\n title: \"Store the whole document in a .prompt file\",\n },\n];\n\nexport type PromptPageSaveBarProps = {\n source: PromptSaveSource;\n onSourceChange: (source: PromptSaveSource) => void;\n path: string;\n onPathChange: (path: string) => void;\n dirty: boolean;\n saving: boolean;\n canRemove: boolean;\n error?: string | undefined;\n conflict: boolean;\n onSave: () => void;\n onRemove: () => void;\n onReload: () => void;\n};\n\n// PromptPageSaveBar holds the destination choice, the save/remove/reload\n// actions and their errors. A stale-base rejection is a conflict, not a\n// failure: it names the fix (reload) instead of inviting a retry that would\n// hit the same wall.\nexport function PromptPageSaveBar({\n source,\n onSourceChange,\n path,\n onPathChange,\n dirty,\n saving,\n canRemove,\n error,\n conflict,\n onSave,\n onRemove,\n onReload,\n}: PromptPageSaveBarProps) {\n const [confirmingRemove, setConfirmingRemove] = useState(false);\n const pathMissing = source === \"file\" && path.trim() === \"\";\n\n return (\n <div className=\"flex flex-col gap-2 border-t border-border px-density-4 py-density-3\">\n <div className=\"mx-auto flex w-full max-w-[820px] flex-col gap-2\">\n {conflict ? (\n <div\n role=\"alert\"\n className=\"flex items-center gap-2 rounded-md border border-amber-300 bg-amber-500/10 px-3 py-2 text-xs text-amber-800 dark:border-amber-500/40 dark:text-amber-300\"\n >\n <UiWarningTriangle className=\"shrink-0\" />\n <span className=\"min-w-0 flex-1\">\n This layer changed since it was loaded. Reload to see the current\n document; your draft will be discarded.\n </span>\n <Button\n type=\"button\"\n size=\"sm\"\n variant=\"outline\"\n onClick={onReload}\n disabled={saving}\n >\n <UiRefresh className=\"mr-1\" />\n Reload\n </Button>\n </div>\n ) : error ? (\n <p\n role=\"alert\"\n className=\"whitespace-pre-wrap text-xs text-destructive\"\n >\n {error}\n </p>\n ) : null}\n <div className=\"flex flex-wrap items-center gap-2\">\n <span className=\"text-xs font-medium text-muted-foreground\">\n Save to\n </span>\n <SegmentedControl\n size=\"sm\"\n value={source}\n options={SOURCE_OPTIONS}\n onChange={onSourceChange}\n aria-label=\"Save location\"\n />\n {source === \"file\" ? (\n <input\n type=\"text\"\n aria-label=\"Prompt file path\"\n className=\"min-w-64 flex-1 rounded-md border border-border bg-background p-1.5 font-mono text-xs\"\n value={path}\n placeholder=\".gavel/prompts/my-prompt.prompt\"\n spellCheck={false}\n onChange={(event) => onPathChange(event.currentTarget.value)}\n />\n ) : null}\n <div className=\"ml-auto flex items-center gap-2\">\n {canRemove && !confirmingRemove ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => setConfirmingRemove(true)}\n disabled={saving}\n >\n Remove override from this layer\n </Button>\n ) : null}\n {confirmingRemove ? (\n <span className=\"flex items-center gap-1 text-xs\">\n <span className=\"text-muted-foreground\">\n Remove this layer&apos;s override?\n </span>\n <Button\n type=\"button\"\n variant=\"destructive\"\n size=\"sm\"\n onClick={() => {\n setConfirmingRemove(false);\n onRemove();\n }}\n disabled={saving}\n >\n Remove\n </Button>\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => setConfirmingRemove(false)}\n disabled={saving}\n >\n Keep\n </Button>\n </span>\n ) : null}\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n onClick={onReload}\n disabled={saving}\n >\n <UiRefresh className=\"mr-1\" />\n Reload\n </Button>\n <Button\n type=\"button\"\n size=\"sm\"\n onClick={onSave}\n disabled={saving || !dirty || pathMissing}\n loading={saving}\n >\n <UiSave className=\"mr-1\" />\n {saving ? \"Saving…\" : \"Save\"}\n </Button>\n </div>\n </div>\n </div>\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const Badge = require("../../Badge.cjs");
5
+ const promptCatalogModel = require("./prompt-catalog-model.cjs");
6
+ const UiWarningTriangle = require("../../../icons/components/UiWarningTriangle.cjs");
7
+ function PromptSourceBadge({
8
+ source,
9
+ parseError
10
+ }) {
11
+ if (parseError) {
12
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { title: parseError, children: /* @__PURE__ */ jsxRuntime.jsx(
13
+ Badge.Badge,
14
+ {
15
+ variant: "soft",
16
+ tone: "danger",
17
+ size: "xs",
18
+ clickToCopy: false,
19
+ icon: UiWarningTriangle.UiWarningTriangle,
20
+ children: "Parse error"
21
+ }
22
+ ) });
23
+ }
24
+ return /* @__PURE__ */ jsxRuntime.jsx(
25
+ Badge.Badge,
26
+ {
27
+ variant: "soft",
28
+ tone: promptCatalogModel.sourceTone(source),
29
+ size: "xs",
30
+ clickToCopy: false,
31
+ children: promptCatalogModel.sourceLabel(source)
32
+ }
33
+ );
34
+ }
35
+ exports.PromptSourceBadge = PromptSourceBadge;
36
+ //# sourceMappingURL=PromptSourceBadge.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptSourceBadge.cjs","sources":["../../../../src/data/ai/PromptCatalog/PromptSourceBadge.tsx"],"sourcesContent":["import { UiWarningTriangle } from \"../../../icons\";\nimport { Badge } from \"../../Badge\";\nimport { sourceLabel, sourceTone } from \"./prompt-catalog-model\";\nimport type { PromptCatalogSource } from \"./types\";\n\nexport type PromptSourceBadgeProps = {\n source: PromptCatalogSource | \"default\";\n parseError?: string | undefined;\n};\n\nexport function PromptSourceBadge({\n source,\n parseError,\n}: PromptSourceBadgeProps) {\n if (parseError) {\n return (\n <span title={parseError}>\n <Badge\n variant=\"soft\"\n tone=\"danger\"\n size=\"xs\"\n clickToCopy={false}\n icon={UiWarningTriangle}\n >\n Parse error\n </Badge>\n </span>\n );\n }\n return (\n <Badge\n variant=\"soft\"\n tone={sourceTone(source)}\n size=\"xs\"\n clickToCopy={false}\n >\n {sourceLabel(source)}\n </Badge>\n );\n}\n"],"names":["jsx","Badge","UiWarningTriangle","sourceTone"],"mappings":";;;;;;AAUO,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AACF,GAA2B;AACzB,MAAI,YAAY;AACd,WACEA,2BAAAA,IAAC,QAAA,EAAK,OAAO,YACX,UAAAA,2BAAAA;AAAAA,MAACC,MAAAA;AAAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,MAAK;AAAA,QACL,aAAa;AAAA,QACb,MAAMC,kBAAAA;AAAAA,QACP,UAAA;AAAA,MAAA;AAAA,IAAA,GAGH;AAAA,EAEJ;AACA,SACEF,2BAAAA;AAAAA,IAACC,MAAAA;AAAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAME,mBAAAA,WAAW,MAAM;AAAA,MACvB,MAAK;AAAA,MACL,aAAa;AAAA,MAEZ,yCAAY,MAAM;AAAA,IAAA;AAAA,EAAA;AAGzB;;"}
@@ -0,0 +1,7 @@
1
+ import { PromptCatalogSource } from './types';
2
+ export type PromptSourceBadgeProps = {
3
+ source: PromptCatalogSource | "default";
4
+ parseError?: string | undefined;
5
+ };
6
+ export declare function PromptSourceBadge({ source, parseError, }: PromptSourceBadgeProps): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=PromptSourceBadge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptSourceBadge.d.ts","sourceRoot":"","sources":["../../../../src/data/ai/PromptCatalog/PromptSourceBadge.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,UAAU,GACX,EAAE,sBAAsB,2CA0BxB"}
@@ -0,0 +1,36 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { Badge } from "../../Badge.js";
3
+ import { sourceLabel, sourceTone } from "./prompt-catalog-model.js";
4
+ import { UiWarningTriangle } from "../../../icons/components/UiWarningTriangle.js";
5
+ function PromptSourceBadge({
6
+ source,
7
+ parseError
8
+ }) {
9
+ if (parseError) {
10
+ return /* @__PURE__ */ jsx("span", { title: parseError, children: /* @__PURE__ */ jsx(
11
+ Badge,
12
+ {
13
+ variant: "soft",
14
+ tone: "danger",
15
+ size: "xs",
16
+ clickToCopy: false,
17
+ icon: UiWarningTriangle,
18
+ children: "Parse error"
19
+ }
20
+ ) });
21
+ }
22
+ return /* @__PURE__ */ jsx(
23
+ Badge,
24
+ {
25
+ variant: "soft",
26
+ tone: sourceTone(source),
27
+ size: "xs",
28
+ clickToCopy: false,
29
+ children: sourceLabel(source)
30
+ }
31
+ );
32
+ }
33
+ export {
34
+ PromptSourceBadge
35
+ };
36
+ //# sourceMappingURL=PromptSourceBadge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptSourceBadge.js","sources":["../../../../src/data/ai/PromptCatalog/PromptSourceBadge.tsx"],"sourcesContent":["import { UiWarningTriangle } from \"../../../icons\";\nimport { Badge } from \"../../Badge\";\nimport { sourceLabel, sourceTone } from \"./prompt-catalog-model\";\nimport type { PromptCatalogSource } from \"./types\";\n\nexport type PromptSourceBadgeProps = {\n source: PromptCatalogSource | \"default\";\n parseError?: string | undefined;\n};\n\nexport function PromptSourceBadge({\n source,\n parseError,\n}: PromptSourceBadgeProps) {\n if (parseError) {\n return (\n <span title={parseError}>\n <Badge\n variant=\"soft\"\n tone=\"danger\"\n size=\"xs\"\n clickToCopy={false}\n icon={UiWarningTriangle}\n >\n Parse error\n </Badge>\n </span>\n );\n }\n return (\n <Badge\n variant=\"soft\"\n tone={sourceTone(source)}\n size=\"xs\"\n clickToCopy={false}\n >\n {sourceLabel(source)}\n </Badge>\n );\n}\n"],"names":[],"mappings":";;;;AAUO,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AACF,GAA2B;AACzB,MAAI,YAAY;AACd,WACE,oBAAC,QAAA,EAAK,OAAO,YACX,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,MAAK;AAAA,QACL,aAAa;AAAA,QACb,MAAM;AAAA,QACP,UAAA;AAAA,MAAA;AAAA,IAAA,GAGH;AAAA,EAEJ;AACA,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAM,WAAW,MAAM;AAAA,MACvB,MAAK;AAAA,MACL,aAAa;AAAA,MAEZ,sBAAY,MAAM;AAAA,IAAA;AAAA,EAAA;AAGzB;"}
@@ -0,0 +1,9 @@
1
+ export { PromptCatalogTable, type PromptCatalogTableProps, } from './PromptCatalogTable';
2
+ export { PromptPage, type PromptPageProps } from './PromptPage';
3
+ export { PromptPageHeader, type PromptPageHeaderProps, } from './PromptPageHeader';
4
+ export { PromptLayerStrip, type PromptLayerStripProps, } from './PromptLayerStrip';
5
+ export { PromptSourceBadge, type PromptSourceBadgeProps, } from './PromptSourceBadge';
6
+ export { catalogFilterOptions, defaultEditLayer, effectiveLayer, entryMatches, layerLabel, layersAbove, previewText, provenanceSummary, runtimeSummary, sourceLabel, sourceTone, type PromptCatalogFilter, type PromptCatalogFilterOptions, type SourceTone, } from './prompt-catalog-model';
7
+ export { buildSavePayload, defaultFilePath, draftFor, draftRaw, isConflictError, isDraftDirty, type PromptDraft, type PromptEditMode, type PromptSaveSource, } from './prompt-page-model';
8
+ export type { PromptCatalogEntry, PromptCatalogFilterState, PromptCatalogLayer, PromptCatalogRuntime, PromptCatalogSource, PromptPageAdapter, PromptPageTab, PromptRenderInput, PromptRenderResult, } from './types';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/data/ai/PromptCatalog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EACL,gBAAgB,EAChB,KAAK,qBAAqB,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,gBAAgB,EAChB,KAAK,qBAAqB,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,UAAU,EACV,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,UAAU,GAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,gBAAgB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const LAYER_LABELS = {
4
+ "user-home": "Home (~/.gavel.yaml)",
5
+ "git-root": "Repository root",
6
+ "target-directory": "Project directory"
7
+ };
8
+ function layerLabel(origin) {
9
+ return LAYER_LABELS[origin] ?? origin;
10
+ }
11
+ function effectiveLayer(entry) {
12
+ for (let i = entry.layers.length - 1; i >= 0; i -= 1) {
13
+ const layer = entry.layers[i];
14
+ if (layer && layer.source !== "none") return layer;
15
+ }
16
+ return void 0;
17
+ }
18
+ function defaultEditLayer(entry) {
19
+ const effective = effectiveLayer(entry);
20
+ if (effective == null ? void 0 : effective.editable) return effective;
21
+ for (let i = entry.layers.length - 1; i >= 0; i -= 1) {
22
+ const layer = entry.layers[i];
23
+ if (layer == null ? void 0 : layer.editable) return layer;
24
+ }
25
+ return void 0;
26
+ }
27
+ function layersAbove(entry, layer) {
28
+ const index = entry.layers.findIndex(
29
+ (candidate) => candidate.origin === layer.origin
30
+ );
31
+ if (index < 0) return [];
32
+ return entry.layers.slice(index + 1).filter((candidate) => candidate.source !== "none");
33
+ }
34
+ function sourceTone(source) {
35
+ switch (source) {
36
+ case "inline":
37
+ return "info";
38
+ case "file":
39
+ return "success";
40
+ case "none":
41
+ return "warning";
42
+ default:
43
+ return "neutral";
44
+ }
45
+ }
46
+ function sourceLabel(source) {
47
+ switch (source) {
48
+ case "builtin":
49
+ case "default":
50
+ return "Built-in";
51
+ case "inline":
52
+ return "Inline";
53
+ case "file":
54
+ return "File";
55
+ default:
56
+ return "Unset";
57
+ }
58
+ }
59
+ function runtimeSummary(runtime) {
60
+ if (runtime.error) return runtime.error;
61
+ if (!runtime.model) return `inherited at run time (${runtime.modelSource})`;
62
+ return [runtime.model, runtime.backend, runtime.effort].filter(Boolean).join(" · ");
63
+ }
64
+ function provenanceSummary(entry) {
65
+ const provenance = entry.provenance ?? {};
66
+ const overridden = Object.entries(provenance).filter(
67
+ ([, origin]) => !["prompt default", "ai base", "runtime"].includes(origin)
68
+ );
69
+ if (overridden.length === 0) return "";
70
+ return overridden.map(([field, origin]) => `${field} ← ${layerLabel(origin)}`).join("; ");
71
+ }
72
+ function catalogFilterOptions(entries) {
73
+ const owners = /* @__PURE__ */ new Set();
74
+ const sources = /* @__PURE__ */ new Set();
75
+ const commands = /* @__PURE__ */ new Set();
76
+ const models = /* @__PURE__ */ new Set();
77
+ for (const entry of entries) {
78
+ owners.add(entry.owner);
79
+ sources.add(entry.source);
80
+ for (const command of entry.usedBy ?? []) commands.add(command);
81
+ if (entry.effective.model) models.add(entry.effective.model);
82
+ }
83
+ const sorted = (values) => [...values].sort((a, b) => a.localeCompare(b));
84
+ return {
85
+ owners: sorted(owners),
86
+ sources: [...sources].sort(),
87
+ commands: sorted(commands),
88
+ models: sorted(models)
89
+ };
90
+ }
91
+ function matchesAny(values, selected) {
92
+ if (!selected || selected.length === 0) return true;
93
+ return (values ?? []).some((value) => selected.includes(value));
94
+ }
95
+ function entryMatches(entry, filter) {
96
+ var _a;
97
+ const query = (_a = filter.query) == null ? void 0 : _a.trim().toLowerCase();
98
+ if (query) {
99
+ const haystack = [
100
+ entry.id,
101
+ entry.title,
102
+ entry.description ?? "",
103
+ entry.configPath ?? "",
104
+ ...entry.usedBy ?? [],
105
+ entry.body ?? ""
106
+ ].join("\n").toLowerCase();
107
+ if (!haystack.includes(query)) return false;
108
+ }
109
+ if (!matchesAny([entry.owner], filter.owners)) return false;
110
+ if (!matchesAny([entry.source], filter.sources)) return false;
111
+ if (!matchesAny(entry.usedBy, filter.commands)) return false;
112
+ if (!matchesAny(
113
+ entry.effective.model ? [entry.effective.model] : [],
114
+ filter.models
115
+ ))
116
+ return false;
117
+ if (filter.overriddenOnly && entry.source !== "inline" && entry.source !== "file")
118
+ return false;
119
+ return true;
120
+ }
121
+ function previewText(body, maxLength = 140) {
122
+ const line = (body ?? "").split("\n").map((part) => part.trim()).find((part) => part.length > 0 && !part.startsWith("{{"));
123
+ if (!line) return "";
124
+ return line.length > maxLength ? `${line.slice(0, maxLength - 1)}…` : line;
125
+ }
126
+ exports.catalogFilterOptions = catalogFilterOptions;
127
+ exports.defaultEditLayer = defaultEditLayer;
128
+ exports.effectiveLayer = effectiveLayer;
129
+ exports.entryMatches = entryMatches;
130
+ exports.layerLabel = layerLabel;
131
+ exports.layersAbove = layersAbove;
132
+ exports.previewText = previewText;
133
+ exports.provenanceSummary = provenanceSummary;
134
+ exports.runtimeSummary = runtimeSummary;
135
+ exports.sourceLabel = sourceLabel;
136
+ exports.sourceTone = sourceTone;
137
+ //# sourceMappingURL=prompt-catalog-model.cjs.map