@flanksource/clicky-ui 0.3.27 → 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 -10
  119. package/dist/data/FixtureEditor/fixture-frontmatter.cjs.map +1 -1
  120. package/dist/data/FixtureEditor/fixture-frontmatter.d.ts.map +1 -1
  121. package/dist/data/FixtureEditor/fixture-frontmatter.js +8 -10
  122. package/dist/data/FixtureEditor/fixture-frontmatter.js.map +1 -1
  123. package/dist/data/SelectionActionBar.cjs +242 -0
  124. package/dist/data/SelectionActionBar.cjs.map +1 -0
  125. package/dist/data/SelectionActionBar.d.ts +28 -0
  126. package/dist/data/SelectionActionBar.d.ts.map +1 -0
  127. package/dist/data/SelectionActionBar.js +242 -0
  128. package/dist/data/SelectionActionBar.js.map +1 -0
  129. package/dist/data/TaskManager.cjs +34 -12
  130. package/dist/data/TaskManager.cjs.map +1 -1
  131. package/dist/data/TaskManager.d.ts.map +1 -1
  132. package/dist/data/TaskManager.js +34 -12
  133. package/dist/data/TaskManager.js.map +1 -1
  134. package/dist/data/TaskManagerButton.cjs +11 -7
  135. package/dist/data/TaskManagerButton.cjs.map +1 -1
  136. package/dist/data/TaskManagerButton.d.ts.map +1 -1
  137. package/dist/data/TaskManagerButton.js +11 -7
  138. package/dist/data/TaskManagerButton.js.map +1 -1
  139. package/dist/data/TaskProgress.cjs +55 -11
  140. package/dist/data/TaskProgress.cjs.map +1 -1
  141. package/dist/data/TaskProgress.d.ts.map +1 -1
  142. package/dist/data/TaskProgress.js +53 -9
  143. package/dist/data/TaskProgress.js.map +1 -1
  144. package/dist/data/ai/ChatWindow.cjs +2 -4
  145. package/dist/data/ai/ChatWindow.cjs.map +1 -1
  146. package/dist/data/ai/ChatWindow.d.ts.map +1 -1
  147. package/dist/data/ai/ChatWindow.js +2 -4
  148. package/dist/data/ai/ChatWindow.js.map +1 -1
  149. package/dist/data/ai/ChatWindow.runtime.cjs +1 -2
  150. package/dist/data/ai/ChatWindow.runtime.cjs.map +1 -1
  151. package/dist/data/ai/ChatWindow.runtime.d.ts.map +1 -1
  152. package/dist/data/ai/ChatWindow.runtime.js +1 -2
  153. package/dist/data/ai/ChatWindow.runtime.js.map +1 -1
  154. package/dist/data/ai/PromptCatalog/PromptCatalogTable.cjs +262 -0
  155. package/dist/data/ai/PromptCatalog/PromptCatalogTable.cjs.map +1 -0
  156. package/dist/data/ai/PromptCatalog/PromptCatalogTable.d.ts +16 -0
  157. package/dist/data/ai/PromptCatalog/PromptCatalogTable.d.ts.map +1 -0
  158. package/dist/data/ai/PromptCatalog/PromptCatalogTable.js +262 -0
  159. package/dist/data/ai/PromptCatalog/PromptCatalogTable.js.map +1 -0
  160. package/dist/data/ai/PromptCatalog/PromptLayerStrip.cjs +77 -0
  161. package/dist/data/ai/PromptCatalog/PromptLayerStrip.cjs.map +1 -0
  162. package/dist/data/ai/PromptCatalog/PromptLayerStrip.d.ts +8 -0
  163. package/dist/data/ai/PromptCatalog/PromptLayerStrip.d.ts.map +1 -0
  164. package/dist/data/ai/PromptCatalog/PromptLayerStrip.js +77 -0
  165. package/dist/data/ai/PromptCatalog/PromptLayerStrip.js.map +1 -0
  166. package/dist/data/ai/PromptCatalog/PromptPage.cjs +332 -0
  167. package/dist/data/ai/PromptCatalog/PromptPage.cjs.map +1 -0
  168. package/dist/data/ai/PromptCatalog/PromptPage.d.ts +17 -0
  169. package/dist/data/ai/PromptCatalog/PromptPage.d.ts.map +1 -0
  170. package/dist/data/ai/PromptCatalog/PromptPage.js +332 -0
  171. package/dist/data/ai/PromptCatalog/PromptPage.js.map +1 -0
  172. package/dist/data/ai/PromptCatalog/PromptPageEditor.cjs +102 -0
  173. package/dist/data/ai/PromptCatalog/PromptPageEditor.cjs.map +1 -0
  174. package/dist/data/ai/PromptCatalog/PromptPageEditor.d.ts +16 -0
  175. package/dist/data/ai/PromptCatalog/PromptPageEditor.d.ts.map +1 -0
  176. package/dist/data/ai/PromptCatalog/PromptPageEditor.js +102 -0
  177. package/dist/data/ai/PromptCatalog/PromptPageEditor.js.map +1 -0
  178. package/dist/data/ai/PromptCatalog/PromptPageHeader.cjs +102 -0
  179. package/dist/data/ai/PromptCatalog/PromptPageHeader.cjs.map +1 -0
  180. package/dist/data/ai/PromptCatalog/PromptPageHeader.d.ts +10 -0
  181. package/dist/data/ai/PromptCatalog/PromptPageHeader.d.ts.map +1 -0
  182. package/dist/data/ai/PromptCatalog/PromptPageHeader.js +102 -0
  183. package/dist/data/ai/PromptCatalog/PromptPageHeader.js.map +1 -0
  184. package/dist/data/ai/PromptCatalog/PromptPagePreview.cjs +90 -0
  185. package/dist/data/ai/PromptCatalog/PromptPagePreview.cjs.map +1 -0
  186. package/dist/data/ai/PromptCatalog/PromptPagePreview.d.ts +8 -0
  187. package/dist/data/ai/PromptCatalog/PromptPagePreview.d.ts.map +1 -0
  188. package/dist/data/ai/PromptCatalog/PromptPagePreview.js +90 -0
  189. package/dist/data/ai/PromptCatalog/PromptPagePreview.js.map +1 -0
  190. package/dist/data/ai/PromptCatalog/PromptPageSaveBar.cjs +168 -0
  191. package/dist/data/ai/PromptCatalog/PromptPageSaveBar.cjs.map +1 -0
  192. package/dist/data/ai/PromptCatalog/PromptPageSaveBar.d.ts +17 -0
  193. package/dist/data/ai/PromptCatalog/PromptPageSaveBar.d.ts.map +1 -0
  194. package/dist/data/ai/PromptCatalog/PromptPageSaveBar.js +168 -0
  195. package/dist/data/ai/PromptCatalog/PromptPageSaveBar.js.map +1 -0
  196. package/dist/data/ai/PromptCatalog/PromptSourceBadge.cjs +36 -0
  197. package/dist/data/ai/PromptCatalog/PromptSourceBadge.cjs.map +1 -0
  198. package/dist/data/ai/PromptCatalog/PromptSourceBadge.d.ts +7 -0
  199. package/dist/data/ai/PromptCatalog/PromptSourceBadge.d.ts.map +1 -0
  200. package/dist/data/ai/PromptCatalog/PromptSourceBadge.js +36 -0
  201. package/dist/data/ai/PromptCatalog/PromptSourceBadge.js.map +1 -0
  202. package/dist/data/ai/PromptCatalog/index.d.ts +9 -0
  203. package/dist/data/ai/PromptCatalog/index.d.ts.map +1 -0
  204. package/dist/data/ai/PromptCatalog/prompt-catalog-model.cjs +137 -0
  205. package/dist/data/ai/PromptCatalog/prompt-catalog-model.cjs.map +1 -0
  206. package/dist/data/ai/PromptCatalog/prompt-catalog-model.d.ts +28 -0
  207. package/dist/data/ai/PromptCatalog/prompt-catalog-model.d.ts.map +1 -0
  208. package/dist/data/ai/PromptCatalog/prompt-catalog-model.js +137 -0
  209. package/dist/data/ai/PromptCatalog/prompt-catalog-model.js.map +1 -0
  210. package/dist/data/ai/PromptCatalog/prompt-page-model.cjs +114 -0
  211. package/dist/data/ai/PromptCatalog/prompt-page-model.cjs.map +1 -0
  212. package/dist/data/ai/PromptCatalog/prompt-page-model.d.ts +45 -0
  213. package/dist/data/ai/PromptCatalog/prompt-page-model.d.ts.map +1 -0
  214. package/dist/data/ai/PromptCatalog/prompt-page-model.js +114 -0
  215. package/dist/data/ai/PromptCatalog/prompt-page-model.js.map +1 -0
  216. package/dist/data/ai/PromptCatalog/types.d.ts +70 -0
  217. package/dist/data/ai/PromptCatalog/types.d.ts.map +1 -0
  218. package/dist/data/ai/PromptPicker/PromptPicker.cjs +9 -12
  219. package/dist/data/ai/PromptPicker/PromptPicker.cjs.map +1 -1
  220. package/dist/data/ai/PromptPicker/PromptPicker.js +9 -12
  221. package/dist/data/ai/PromptPicker/PromptPicker.js.map +1 -1
  222. package/dist/data/ai/PromptPicker/index.d.ts +1 -1
  223. package/dist/data/ai/PromptPicker/index.d.ts.map +1 -1
  224. package/dist/data/ai/PromptPicker/types.cjs.map +1 -1
  225. package/dist/data/ai/PromptPicker/types.d.ts +9 -0
  226. package/dist/data/ai/PromptPicker/types.d.ts.map +1 -1
  227. package/dist/data/ai/PromptPicker/types.js.map +1 -1
  228. package/dist/data/ai/PromptRunEditor/index.cjs +2 -2
  229. package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
  230. package/dist/data/ai/PromptRunEditor/index.js +3 -3
  231. package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
  232. package/dist/data/ai/PromptRunEditor/model.cjs +0 -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 +0 -1
  237. package/dist/data/ai/PromptRunEditor/model.js.map +1 -1
  238. package/dist/data/ai/RuntimeModePicker.cjs +15 -6
  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 +17 -8
  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 +34 -23
  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 +35 -24
  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 -49
  377. package/dist/data/ai/SpecRuntimeEditor.model.cjs.map +1 -1
  378. package/dist/data/ai/SpecRuntimeEditor.model.d.ts +52 -29
  379. package/dist/data/ai/SpecRuntimeEditor.model.d.ts.map +1 -1
  380. package/dist/data/ai/SpecRuntimeEditor.model.js +33 -48
  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 +13 -3
  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 +14 -4
  481. package/dist/data/chat/Chat.js.map +1 -1
  482. package/dist/data/chat/Chat.runtime.cjs +4 -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 +4 -9
  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 +29 -16
  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 +31 -18
  521. package/dist/data/runtime/RuntimeBar.js.map +1 -1
  522. package/dist/data/runtime/RuntimeBar.model.cjs +10 -20
  523. package/dist/data/runtime/RuntimeBar.model.cjs.map +1 -1
  524. package/dist/data/runtime/RuntimeBar.model.d.ts +2 -2
  525. package/dist/data/runtime/RuntimeBar.model.d.ts.map +1 -1
  526. package/dist/data/runtime/RuntimeBar.model.js +11 -21
  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 +0 -3
  541. package/dist/data/runtime/model-capabilities.cjs.map +1 -1
  542. package/dist/data/runtime/model-capabilities.d.ts +0 -1
  543. package/dist/data/runtime/model-capabilities.d.ts.map +1 -1
  544. package/dist/data/runtime/model-capabilities.js +0 -3
  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 +158 -116
  557. package/dist/data/runtime/runtime-mode.cjs.map +1 -1
  558. package/dist/data/runtime/runtime-mode.d.ts +57 -19
  559. package/dist/data/runtime/runtime-mode.d.ts.map +1 -1
  560. package/dist/data/runtime/runtime-mode.js +158 -116
  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,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const button = require("../../../components/button.cjs");
5
+ const Badge = require("../../Badge.cjs");
6
+ const ErrorDetails = require("../../diagnostics/ErrorDetails.cjs");
7
+ const promptCatalogModel = require("./prompt-catalog-model.cjs");
8
+ const PromptSourceBadge = require("./PromptSourceBadge.cjs");
9
+ const UiArrowLeft = require("../../../icons/components/UiArrowLeft.cjs");
10
+ const UiWarningTriangle = require("../../../icons/components/UiWarningTriangle.cjs");
11
+ function PromptPageHeader({
12
+ entry,
13
+ selectedLayer,
14
+ onBack,
15
+ actions
16
+ }) {
17
+ const effective = promptCatalogModel.effectiveLayer(entry);
18
+ const shadowing = selectedLayer ? promptCatalogModel.layersAbove(entry, selectedLayer) : [];
19
+ return /* @__PURE__ */ jsxRuntime.jsxs("header", { className: "flex flex-col gap-2 border-b border-border px-density-4 py-density-3", children: [
20
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
21
+ onBack ? /* @__PURE__ */ jsxRuntime.jsx(
22
+ button.Button,
23
+ {
24
+ type: "button",
25
+ variant: "ghost",
26
+ size: "icon",
27
+ onClick: onBack,
28
+ "aria-label": "Back to prompts",
29
+ children: /* @__PURE__ */ jsxRuntime.jsx(UiArrowLeft.UiArrowLeft, {})
30
+ }
31
+ ) : null,
32
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
33
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [
34
+ /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-lg font-semibold leading-tight", children: entry.title }),
35
+ /* @__PURE__ */ jsxRuntime.jsx(
36
+ PromptSourceBadge.PromptSourceBadge,
37
+ {
38
+ source: entry.source,
39
+ parseError: entry.parseError
40
+ }
41
+ ),
42
+ /* @__PURE__ */ jsxRuntime.jsx(ErrorDetails.CopyBadge, { label: "id", value: entry.id }),
43
+ entry.configPath && entry.configPath !== entry.id ? /* @__PURE__ */ jsxRuntime.jsx(ErrorDetails.CopyBadge, { label: "config", value: entry.configPath }) : null
44
+ ] }),
45
+ entry.description ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-sm text-muted-foreground", children: entry.description }) : null,
46
+ /* @__PURE__ */ jsxRuntime.jsxs("dl", { className: "mt-2 grid gap-x-6 gap-y-1 text-xs sm:grid-cols-[auto_1fr]", children: [
47
+ /* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-muted-foreground", children: "Used by" }),
48
+ /* @__PURE__ */ jsxRuntime.jsx("dd", { className: "flex flex-wrap gap-1", children: (entry.usedBy ?? []).length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "—" }) : (entry.usedBy ?? []).map((command) => /* @__PURE__ */ jsxRuntime.jsx(
49
+ Badge.Badge,
50
+ {
51
+ variant: "soft",
52
+ tone: "neutral",
53
+ size: "xs",
54
+ className: "font-mono",
55
+ clickToCopy: false,
56
+ children: command
57
+ },
58
+ command
59
+ )) }),
60
+ /* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-muted-foreground", children: "Runs as" }),
61
+ /* @__PURE__ */ jsxRuntime.jsxs(
62
+ "dd",
63
+ {
64
+ className: entry.effective.error ? "text-destructive" : "font-mono",
65
+ children: [
66
+ promptCatalogModel.runtimeSummary(entry.effective),
67
+ entry.effective.model ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "ml-1 font-sans text-muted-foreground", children: [
68
+ "(from ",
69
+ entry.effective.modelSource,
70
+ ")"
71
+ ] }) : null
72
+ ]
73
+ }
74
+ ),
75
+ /* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-muted-foreground", children: "Runs from" }),
76
+ /* @__PURE__ */ jsxRuntime.jsx("dd", { children: effective ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
77
+ promptCatalogModel.layerLabel(effective.origin),
78
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1 font-mono text-muted-foreground", children: effective.filePath ?? effective.path })
79
+ ] }) : "built-in default" })
80
+ ] })
81
+ ] }),
82
+ actions ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: actions }) : null
83
+ ] }),
84
+ shadowing.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
85
+ "div",
86
+ {
87
+ role: "alert",
88
+ 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",
89
+ children: [
90
+ /* @__PURE__ */ jsxRuntime.jsx(UiWarningTriangle.UiWarningTriangle, { className: "shrink-0" }),
91
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
92
+ "A higher layer (",
93
+ shadowing.map((layer) => promptCatalogModel.layerLabel(layer.origin)).join(", "),
94
+ ") overrides this prompt; saving here changes nothing until that override is removed."
95
+ ] })
96
+ ]
97
+ }
98
+ ) : null
99
+ ] });
100
+ }
101
+ exports.PromptPageHeader = PromptPageHeader;
102
+ //# sourceMappingURL=PromptPageHeader.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptPageHeader.cjs","sources":["../../../../src/data/ai/PromptCatalog/PromptPageHeader.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { Button } from \"../../../components/button\";\nimport { UiArrowLeft, UiWarningTriangle } from \"../../../icons\";\nimport { Badge } from \"../../Badge\";\nimport { CopyBadge } from \"../../diagnostics/ErrorDetails\";\nimport {\n effectiveLayer,\n layerLabel,\n layersAbove,\n runtimeSummary,\n} from \"./prompt-catalog-model\";\nimport { PromptSourceBadge } from \"./PromptSourceBadge\";\nimport type { PromptCatalogEntry, PromptCatalogLayer } from \"./types\";\n\nexport type PromptPageHeaderProps = {\n entry: PromptCatalogEntry;\n selectedLayer?: PromptCatalogLayer | undefined;\n onBack?: (() => void) | undefined;\n actions?: ReactNode | undefined;\n};\n\nexport function PromptPageHeader({\n entry,\n selectedLayer,\n onBack,\n actions,\n}: PromptPageHeaderProps) {\n const effective = effectiveLayer(entry);\n const shadowing = selectedLayer ? layersAbove(entry, selectedLayer) : [];\n return (\n <header className=\"flex flex-col gap-2 border-b border-border px-density-4 py-density-3\">\n <div className=\"flex items-start gap-3\">\n {onBack ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon\"\n onClick={onBack}\n aria-label=\"Back to prompts\"\n >\n <UiArrowLeft />\n </Button>\n ) : null}\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex flex-wrap items-center gap-2\">\n <h1 className=\"text-lg font-semibold leading-tight\">\n {entry.title}\n </h1>\n <PromptSourceBadge\n source={entry.source}\n parseError={entry.parseError}\n />\n <CopyBadge label=\"id\" value={entry.id} />\n {entry.configPath && entry.configPath !== entry.id ? (\n <CopyBadge label=\"config\" value={entry.configPath} />\n ) : null}\n </div>\n {entry.description ? (\n <p className=\"mt-1 text-sm text-muted-foreground\">\n {entry.description}\n </p>\n ) : null}\n <dl className=\"mt-2 grid gap-x-6 gap-y-1 text-xs sm:grid-cols-[auto_1fr]\">\n <dt className=\"text-muted-foreground\">Used by</dt>\n <dd className=\"flex flex-wrap gap-1\">\n {(entry.usedBy ?? []).length === 0 ? (\n <span className=\"text-muted-foreground\">—</span>\n ) : (\n (entry.usedBy ?? []).map((command) => (\n <Badge\n key={command}\n variant=\"soft\"\n tone=\"neutral\"\n size=\"xs\"\n className=\"font-mono\"\n clickToCopy={false}\n >\n {command}\n </Badge>\n ))\n )}\n </dd>\n <dt className=\"text-muted-foreground\">Runs as</dt>\n <dd\n className={\n entry.effective.error ? \"text-destructive\" : \"font-mono\"\n }\n >\n {runtimeSummary(entry.effective)}\n {entry.effective.model ? (\n <span className=\"ml-1 font-sans text-muted-foreground\">\n (from {entry.effective.modelSource})\n </span>\n ) : null}\n </dd>\n <dt className=\"text-muted-foreground\">Runs from</dt>\n <dd>\n {effective ? (\n <>\n {layerLabel(effective.origin)}\n <span className=\"ml-1 font-mono text-muted-foreground\">\n {effective.filePath ?? effective.path}\n </span>\n </>\n ) : (\n \"built-in default\"\n )}\n </dd>\n </dl>\n </div>\n {actions ? <div className=\"shrink-0\">{actions}</div> : null}\n </div>\n {shadowing.length > 0 ? (\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>\n A higher layer (\n {shadowing.map((layer) => layerLabel(layer.origin)).join(\", \")})\n overrides this prompt; saving here changes nothing until that\n override is removed.\n </span>\n </div>\n ) : null}\n </header>\n );\n}\n"],"names":["effectiveLayer","layersAbove","jsxs","jsx","Button","UiArrowLeft","PromptSourceBadge","CopyBadge","Badge","runtimeSummary","Fragment","layerLabel","UiWarningTriangle"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { ReactNode } from 'react';
2
+ import { PromptCatalogEntry, PromptCatalogLayer } from './types';
3
+ export type PromptPageHeaderProps = {
4
+ entry: PromptCatalogEntry;
5
+ selectedLayer?: PromptCatalogLayer | undefined;
6
+ onBack?: (() => void) | undefined;
7
+ actions?: ReactNode | undefined;
8
+ };
9
+ export declare function PromptPageHeader({ entry, selectedLayer, onBack, actions, }: PromptPageHeaderProps): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=PromptPageHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptPageHeader.d.ts","sourceRoot":"","sources":["../../../../src/data/ai/PromptCatalog/PromptPageHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAYvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEtE,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,aAAa,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC/C,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CACjC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,aAAa,EACb,MAAM,EACN,OAAO,GACR,EAAE,qBAAqB,2CAsGvB"}
@@ -0,0 +1,102 @@
1
+ import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
+ import { Button } from "../../../components/button.js";
3
+ import { Badge } from "../../Badge.js";
4
+ import { CopyBadge } from "../../diagnostics/ErrorDetails.js";
5
+ import { effectiveLayer, layersAbove, runtimeSummary, layerLabel } from "./prompt-catalog-model.js";
6
+ import { PromptSourceBadge } from "./PromptSourceBadge.js";
7
+ import { UiArrowLeft } from "../../../icons/components/UiArrowLeft.js";
8
+ import { UiWarningTriangle } from "../../../icons/components/UiWarningTriangle.js";
9
+ function PromptPageHeader({
10
+ entry,
11
+ selectedLayer,
12
+ onBack,
13
+ actions
14
+ }) {
15
+ const effective = effectiveLayer(entry);
16
+ const shadowing = selectedLayer ? layersAbove(entry, selectedLayer) : [];
17
+ return /* @__PURE__ */ jsxs("header", { className: "flex flex-col gap-2 border-b border-border px-density-4 py-density-3", children: [
18
+ /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3", children: [
19
+ onBack ? /* @__PURE__ */ jsx(
20
+ Button,
21
+ {
22
+ type: "button",
23
+ variant: "ghost",
24
+ size: "icon",
25
+ onClick: onBack,
26
+ "aria-label": "Back to prompts",
27
+ children: /* @__PURE__ */ jsx(UiArrowLeft, {})
28
+ }
29
+ ) : null,
30
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
31
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [
32
+ /* @__PURE__ */ jsx("h1", { className: "text-lg font-semibold leading-tight", children: entry.title }),
33
+ /* @__PURE__ */ jsx(
34
+ PromptSourceBadge,
35
+ {
36
+ source: entry.source,
37
+ parseError: entry.parseError
38
+ }
39
+ ),
40
+ /* @__PURE__ */ jsx(CopyBadge, { label: "id", value: entry.id }),
41
+ entry.configPath && entry.configPath !== entry.id ? /* @__PURE__ */ jsx(CopyBadge, { label: "config", value: entry.configPath }) : null
42
+ ] }),
43
+ entry.description ? /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-muted-foreground", children: entry.description }) : null,
44
+ /* @__PURE__ */ jsxs("dl", { className: "mt-2 grid gap-x-6 gap-y-1 text-xs sm:grid-cols-[auto_1fr]", children: [
45
+ /* @__PURE__ */ jsx("dt", { className: "text-muted-foreground", children: "Used by" }),
46
+ /* @__PURE__ */ jsx("dd", { className: "flex flex-wrap gap-1", children: (entry.usedBy ?? []).length === 0 ? /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "—" }) : (entry.usedBy ?? []).map((command) => /* @__PURE__ */ jsx(
47
+ Badge,
48
+ {
49
+ variant: "soft",
50
+ tone: "neutral",
51
+ size: "xs",
52
+ className: "font-mono",
53
+ clickToCopy: false,
54
+ children: command
55
+ },
56
+ command
57
+ )) }),
58
+ /* @__PURE__ */ jsx("dt", { className: "text-muted-foreground", children: "Runs as" }),
59
+ /* @__PURE__ */ jsxs(
60
+ "dd",
61
+ {
62
+ className: entry.effective.error ? "text-destructive" : "font-mono",
63
+ children: [
64
+ runtimeSummary(entry.effective),
65
+ entry.effective.model ? /* @__PURE__ */ jsxs("span", { className: "ml-1 font-sans text-muted-foreground", children: [
66
+ "(from ",
67
+ entry.effective.modelSource,
68
+ ")"
69
+ ] }) : null
70
+ ]
71
+ }
72
+ ),
73
+ /* @__PURE__ */ jsx("dt", { className: "text-muted-foreground", children: "Runs from" }),
74
+ /* @__PURE__ */ jsx("dd", { children: effective ? /* @__PURE__ */ jsxs(Fragment, { children: [
75
+ layerLabel(effective.origin),
76
+ /* @__PURE__ */ jsx("span", { className: "ml-1 font-mono text-muted-foreground", children: effective.filePath ?? effective.path })
77
+ ] }) : "built-in default" })
78
+ ] })
79
+ ] }),
80
+ actions ? /* @__PURE__ */ jsx("div", { className: "shrink-0", children: actions }) : null
81
+ ] }),
82
+ shadowing.length > 0 ? /* @__PURE__ */ jsxs(
83
+ "div",
84
+ {
85
+ role: "alert",
86
+ 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",
87
+ children: [
88
+ /* @__PURE__ */ jsx(UiWarningTriangle, { className: "shrink-0" }),
89
+ /* @__PURE__ */ jsxs("span", { children: [
90
+ "A higher layer (",
91
+ shadowing.map((layer) => layerLabel(layer.origin)).join(", "),
92
+ ") overrides this prompt; saving here changes nothing until that override is removed."
93
+ ] })
94
+ ]
95
+ }
96
+ ) : null
97
+ ] });
98
+ }
99
+ export {
100
+ PromptPageHeader
101
+ };
102
+ //# sourceMappingURL=PromptPageHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptPageHeader.js","sources":["../../../../src/data/ai/PromptCatalog/PromptPageHeader.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { Button } from \"../../../components/button\";\nimport { UiArrowLeft, UiWarningTriangle } from \"../../../icons\";\nimport { Badge } from \"../../Badge\";\nimport { CopyBadge } from \"../../diagnostics/ErrorDetails\";\nimport {\n effectiveLayer,\n layerLabel,\n layersAbove,\n runtimeSummary,\n} from \"./prompt-catalog-model\";\nimport { PromptSourceBadge } from \"./PromptSourceBadge\";\nimport type { PromptCatalogEntry, PromptCatalogLayer } from \"./types\";\n\nexport type PromptPageHeaderProps = {\n entry: PromptCatalogEntry;\n selectedLayer?: PromptCatalogLayer | undefined;\n onBack?: (() => void) | undefined;\n actions?: ReactNode | undefined;\n};\n\nexport function PromptPageHeader({\n entry,\n selectedLayer,\n onBack,\n actions,\n}: PromptPageHeaderProps) {\n const effective = effectiveLayer(entry);\n const shadowing = selectedLayer ? layersAbove(entry, selectedLayer) : [];\n return (\n <header className=\"flex flex-col gap-2 border-b border-border px-density-4 py-density-3\">\n <div className=\"flex items-start gap-3\">\n {onBack ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon\"\n onClick={onBack}\n aria-label=\"Back to prompts\"\n >\n <UiArrowLeft />\n </Button>\n ) : null}\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex flex-wrap items-center gap-2\">\n <h1 className=\"text-lg font-semibold leading-tight\">\n {entry.title}\n </h1>\n <PromptSourceBadge\n source={entry.source}\n parseError={entry.parseError}\n />\n <CopyBadge label=\"id\" value={entry.id} />\n {entry.configPath && entry.configPath !== entry.id ? (\n <CopyBadge label=\"config\" value={entry.configPath} />\n ) : null}\n </div>\n {entry.description ? (\n <p className=\"mt-1 text-sm text-muted-foreground\">\n {entry.description}\n </p>\n ) : null}\n <dl className=\"mt-2 grid gap-x-6 gap-y-1 text-xs sm:grid-cols-[auto_1fr]\">\n <dt className=\"text-muted-foreground\">Used by</dt>\n <dd className=\"flex flex-wrap gap-1\">\n {(entry.usedBy ?? []).length === 0 ? (\n <span className=\"text-muted-foreground\">—</span>\n ) : (\n (entry.usedBy ?? []).map((command) => (\n <Badge\n key={command}\n variant=\"soft\"\n tone=\"neutral\"\n size=\"xs\"\n className=\"font-mono\"\n clickToCopy={false}\n >\n {command}\n </Badge>\n ))\n )}\n </dd>\n <dt className=\"text-muted-foreground\">Runs as</dt>\n <dd\n className={\n entry.effective.error ? \"text-destructive\" : \"font-mono\"\n }\n >\n {runtimeSummary(entry.effective)}\n {entry.effective.model ? (\n <span className=\"ml-1 font-sans text-muted-foreground\">\n (from {entry.effective.modelSource})\n </span>\n ) : null}\n </dd>\n <dt className=\"text-muted-foreground\">Runs from</dt>\n <dd>\n {effective ? (\n <>\n {layerLabel(effective.origin)}\n <span className=\"ml-1 font-mono text-muted-foreground\">\n {effective.filePath ?? effective.path}\n </span>\n </>\n ) : (\n \"built-in default\"\n )}\n </dd>\n </dl>\n </div>\n {actions ? <div className=\"shrink-0\">{actions}</div> : null}\n </div>\n {shadowing.length > 0 ? (\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>\n A higher layer (\n {shadowing.map((layer) => layerLabel(layer.origin)).join(\", \")})\n overrides this prompt; saving here changes nothing until that\n override is removed.\n </span>\n </div>\n ) : null}\n </header>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
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 CodeBlock = require("../../CodeBlock.cjs");
7
+ const promptPageModel = require("./prompt-page-model.cjs");
8
+ const UiPlay = require("../../../icons/components/UiPlay.cjs");
9
+ function PromptPagePreview({
10
+ entry,
11
+ render,
12
+ draftRaw
13
+ }) {
14
+ const [variablesText, setVariablesText] = react.useState(
15
+ () => promptPageModel.seedVariables(entry)
16
+ );
17
+ const [result, setResult] = react.useState(null);
18
+ const [error, setError] = react.useState("");
19
+ const [rendering, setRendering] = react.useState(false);
20
+ async function run() {
21
+ const parsed = promptPageModel.parseVariables(variablesText);
22
+ if ("error" in parsed) {
23
+ setError(`variables: ${parsed.error}`);
24
+ return;
25
+ }
26
+ setRendering(true);
27
+ setError("");
28
+ try {
29
+ setResult(await render({ raw: draftRaw, variables: parsed.variables }));
30
+ } catch (cause) {
31
+ setError(promptPageModel.errorMessage(cause, "render failed"));
32
+ } finally {
33
+ setRendering(false);
34
+ }
35
+ }
36
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full min-h-0 flex-col gap-3", children: [
37
+ /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex flex-col gap-1 text-xs font-medium text-muted-foreground", children: [
38
+ "Variables (JSON)",
39
+ /* @__PURE__ */ jsxRuntime.jsx(
40
+ "textarea",
41
+ {
42
+ "aria-label": "Preview variables",
43
+ className: "min-h-[8rem] resize-y rounded-md border border-border bg-background p-2 font-mono text-xs leading-relaxed text-foreground",
44
+ value: variablesText,
45
+ spellCheck: false,
46
+ onChange: (event) => setVariablesText(event.currentTarget.value)
47
+ }
48
+ )
49
+ ] }),
50
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
51
+ /* @__PURE__ */ jsxRuntime.jsxs(
52
+ button.Button,
53
+ {
54
+ type: "button",
55
+ size: "sm",
56
+ onClick: run,
57
+ disabled: rendering,
58
+ loading: rendering,
59
+ children: [
60
+ /* @__PURE__ */ jsxRuntime.jsx(UiPlay.UiPlay, { className: "mr-1" }),
61
+ "Render"
62
+ ]
63
+ }
64
+ ),
65
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground", children: draftRaw !== void 0 ? "Renders the unsaved draft." : "Renders the saved document." }),
66
+ error ? /* @__PURE__ */ jsxRuntime.jsx("span", { role: "alert", className: "text-xs text-destructive", children: error }) : null
67
+ ] }),
68
+ result ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto", children: [
69
+ result.model ? /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-xs text-muted-foreground", children: [
70
+ "model ",
71
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono", children: result.model }),
72
+ result.backend ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
73
+ " ",
74
+ "· backend ",
75
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono", children: result.backend })
76
+ ] }) : null
77
+ ] }) : null,
78
+ result.system ? /* @__PURE__ */ jsxRuntime.jsxs("section", { "aria-label": "Rendered system prompt", children: [
79
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-1 text-xs font-medium text-muted-foreground", children: "System" }),
80
+ /* @__PURE__ */ jsxRuntime.jsx(CodeBlock.CodeBlock, { language: "markdown", source: result.system, copyable: true })
81
+ ] }) : null,
82
+ /* @__PURE__ */ jsxRuntime.jsxs("section", { "aria-label": "Rendered user prompt", children: [
83
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-1 text-xs font-medium text-muted-foreground", children: "User" }),
84
+ /* @__PURE__ */ jsxRuntime.jsx(CodeBlock.CodeBlock, { language: "markdown", source: result.user, copyable: true })
85
+ ] })
86
+ ] }) : null
87
+ ] });
88
+ }
89
+ exports.PromptPagePreview = PromptPagePreview;
90
+ //# sourceMappingURL=PromptPagePreview.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptPagePreview.cjs","sources":["../../../../src/data/ai/PromptCatalog/PromptPagePreview.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { Button } from \"../../../components/button\";\nimport { UiPlay } from \"../../../icons\";\nimport { CodeBlock } from \"../../CodeBlock\";\nimport {\n errorMessage,\n parseVariables,\n seedVariables,\n} from \"./prompt-page-model\";\nimport type {\n PromptCatalogEntry,\n PromptRenderInput,\n PromptRenderResult,\n} from \"./types\";\n\nexport type PromptPagePreviewProps = {\n entry: PromptCatalogEntry;\n render: (input: PromptRenderInput) => Promise<PromptRenderResult>;\n // draftRaw is the unsaved document to render instead of the saved one;\n // undefined renders what is saved.\n draftRaw?: string | undefined;\n};\n\n// PromptPagePreview renders the template with caller-supplied variables and no\n// model call, so an edit can be checked against real inputs before it is\n// trusted — the unsaved draft when there is one.\nexport function PromptPagePreview({\n entry,\n render,\n draftRaw,\n}: PromptPagePreviewProps) {\n const [variablesText, setVariablesText] = useState(() =>\n seedVariables(entry),\n );\n const [result, setResult] = useState<PromptRenderResult | null>(null);\n const [error, setError] = useState(\"\");\n const [rendering, setRendering] = useState(false);\n\n async function run() {\n const parsed = parseVariables(variablesText);\n if (\"error\" in parsed) {\n setError(`variables: ${parsed.error}`);\n return;\n }\n setRendering(true);\n setError(\"\");\n try {\n setResult(await render({ raw: draftRaw, variables: parsed.variables }));\n } catch (cause) {\n setError(errorMessage(cause, \"render failed\"));\n } finally {\n setRendering(false);\n }\n }\n\n return (\n <div className=\"flex h-full min-h-0 flex-col gap-3\">\n <label className=\"flex flex-col gap-1 text-xs font-medium text-muted-foreground\">\n Variables (JSON)\n <textarea\n aria-label=\"Preview variables\"\n className=\"min-h-[8rem] resize-y rounded-md border border-border bg-background p-2 font-mono text-xs leading-relaxed text-foreground\"\n value={variablesText}\n spellCheck={false}\n onChange={(event) => setVariablesText(event.currentTarget.value)}\n />\n </label>\n <div className=\"flex items-center gap-2\">\n <Button\n type=\"button\"\n size=\"sm\"\n onClick={run}\n disabled={rendering}\n loading={rendering}\n >\n <UiPlay className=\"mr-1\" />\n Render\n </Button>\n <span className=\"text-xs text-muted-foreground\">\n {draftRaw !== undefined\n ? \"Renders the unsaved draft.\"\n : \"Renders the saved document.\"}\n </span>\n {error ? (\n <span role=\"alert\" className=\"text-xs text-destructive\">\n {error}\n </span>\n ) : null}\n </div>\n {result ? (\n <div className=\"flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto\">\n {result.model ? (\n <p className=\"text-xs text-muted-foreground\">\n model <span className=\"font-mono\">{result.model}</span>\n {result.backend ? (\n <>\n {\" \"}\n · backend <span className=\"font-mono\">{result.backend}</span>\n </>\n ) : null}\n </p>\n ) : null}\n {result.system ? (\n <section aria-label=\"Rendered system prompt\">\n <h3 className=\"mb-1 text-xs font-medium text-muted-foreground\">\n System\n </h3>\n <CodeBlock language=\"markdown\" source={result.system} copyable />\n </section>\n ) : null}\n <section aria-label=\"Rendered user prompt\">\n <h3 className=\"mb-1 text-xs font-medium text-muted-foreground\">\n User\n </h3>\n <CodeBlock language=\"markdown\" source={result.user} copyable />\n </section>\n </div>\n ) : null}\n </div>\n );\n}\n"],"names":["useState","seedVariables","parseVariables","errorMessage","jsxs","jsx","Button","UiPlay","Fragment","CodeBlock"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { PromptCatalogEntry, PromptRenderInput, PromptRenderResult } from './types';
2
+ export type PromptPagePreviewProps = {
3
+ entry: PromptCatalogEntry;
4
+ render: (input: PromptRenderInput) => Promise<PromptRenderResult>;
5
+ draftRaw?: string | undefined;
6
+ };
7
+ export declare function PromptPagePreview({ entry, render, draftRaw, }: PromptPagePreviewProps): import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=PromptPagePreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptPagePreview.d.ts","sourceRoot":"","sources":["../../../../src/data/ai/PromptCatalog/PromptPagePreview.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,MAAM,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAGlE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,CAAC;AAKF,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,MAAM,EACN,QAAQ,GACT,EAAE,sBAAsB,2CA0FxB"}
@@ -0,0 +1,90 @@
1
+ import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { Button } from "../../../components/button.js";
4
+ import { CodeBlock } from "../../CodeBlock.js";
5
+ import { seedVariables, parseVariables, errorMessage } from "./prompt-page-model.js";
6
+ import { UiPlay } from "../../../icons/components/UiPlay.js";
7
+ function PromptPagePreview({
8
+ entry,
9
+ render,
10
+ draftRaw
11
+ }) {
12
+ const [variablesText, setVariablesText] = useState(
13
+ () => seedVariables(entry)
14
+ );
15
+ const [result, setResult] = useState(null);
16
+ const [error, setError] = useState("");
17
+ const [rendering, setRendering] = useState(false);
18
+ async function run() {
19
+ const parsed = parseVariables(variablesText);
20
+ if ("error" in parsed) {
21
+ setError(`variables: ${parsed.error}`);
22
+ return;
23
+ }
24
+ setRendering(true);
25
+ setError("");
26
+ try {
27
+ setResult(await render({ raw: draftRaw, variables: parsed.variables }));
28
+ } catch (cause) {
29
+ setError(errorMessage(cause, "render failed"));
30
+ } finally {
31
+ setRendering(false);
32
+ }
33
+ }
34
+ return /* @__PURE__ */ jsxs("div", { className: "flex h-full min-h-0 flex-col gap-3", children: [
35
+ /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1 text-xs font-medium text-muted-foreground", children: [
36
+ "Variables (JSON)",
37
+ /* @__PURE__ */ jsx(
38
+ "textarea",
39
+ {
40
+ "aria-label": "Preview variables",
41
+ className: "min-h-[8rem] resize-y rounded-md border border-border bg-background p-2 font-mono text-xs leading-relaxed text-foreground",
42
+ value: variablesText,
43
+ spellCheck: false,
44
+ onChange: (event) => setVariablesText(event.currentTarget.value)
45
+ }
46
+ )
47
+ ] }),
48
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
49
+ /* @__PURE__ */ jsxs(
50
+ Button,
51
+ {
52
+ type: "button",
53
+ size: "sm",
54
+ onClick: run,
55
+ disabled: rendering,
56
+ loading: rendering,
57
+ children: [
58
+ /* @__PURE__ */ jsx(UiPlay, { className: "mr-1" }),
59
+ "Render"
60
+ ]
61
+ }
62
+ ),
63
+ /* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground", children: draftRaw !== void 0 ? "Renders the unsaved draft." : "Renders the saved document." }),
64
+ error ? /* @__PURE__ */ jsx("span", { role: "alert", className: "text-xs text-destructive", children: error }) : null
65
+ ] }),
66
+ result ? /* @__PURE__ */ jsxs("div", { className: "flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto", children: [
67
+ result.model ? /* @__PURE__ */ jsxs("p", { className: "text-xs text-muted-foreground", children: [
68
+ "model ",
69
+ /* @__PURE__ */ jsx("span", { className: "font-mono", children: result.model }),
70
+ result.backend ? /* @__PURE__ */ jsxs(Fragment, { children: [
71
+ " ",
72
+ "· backend ",
73
+ /* @__PURE__ */ jsx("span", { className: "font-mono", children: result.backend })
74
+ ] }) : null
75
+ ] }) : null,
76
+ result.system ? /* @__PURE__ */ jsxs("section", { "aria-label": "Rendered system prompt", children: [
77
+ /* @__PURE__ */ jsx("h3", { className: "mb-1 text-xs font-medium text-muted-foreground", children: "System" }),
78
+ /* @__PURE__ */ jsx(CodeBlock, { language: "markdown", source: result.system, copyable: true })
79
+ ] }) : null,
80
+ /* @__PURE__ */ jsxs("section", { "aria-label": "Rendered user prompt", children: [
81
+ /* @__PURE__ */ jsx("h3", { className: "mb-1 text-xs font-medium text-muted-foreground", children: "User" }),
82
+ /* @__PURE__ */ jsx(CodeBlock, { language: "markdown", source: result.user, copyable: true })
83
+ ] })
84
+ ] }) : null
85
+ ] });
86
+ }
87
+ export {
88
+ PromptPagePreview
89
+ };
90
+ //# sourceMappingURL=PromptPagePreview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptPagePreview.js","sources":["../../../../src/data/ai/PromptCatalog/PromptPagePreview.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { Button } from \"../../../components/button\";\nimport { UiPlay } from \"../../../icons\";\nimport { CodeBlock } from \"../../CodeBlock\";\nimport {\n errorMessage,\n parseVariables,\n seedVariables,\n} from \"./prompt-page-model\";\nimport type {\n PromptCatalogEntry,\n PromptRenderInput,\n PromptRenderResult,\n} from \"./types\";\n\nexport type PromptPagePreviewProps = {\n entry: PromptCatalogEntry;\n render: (input: PromptRenderInput) => Promise<PromptRenderResult>;\n // draftRaw is the unsaved document to render instead of the saved one;\n // undefined renders what is saved.\n draftRaw?: string | undefined;\n};\n\n// PromptPagePreview renders the template with caller-supplied variables and no\n// model call, so an edit can be checked against real inputs before it is\n// trusted — the unsaved draft when there is one.\nexport function PromptPagePreview({\n entry,\n render,\n draftRaw,\n}: PromptPagePreviewProps) {\n const [variablesText, setVariablesText] = useState(() =>\n seedVariables(entry),\n );\n const [result, setResult] = useState<PromptRenderResult | null>(null);\n const [error, setError] = useState(\"\");\n const [rendering, setRendering] = useState(false);\n\n async function run() {\n const parsed = parseVariables(variablesText);\n if (\"error\" in parsed) {\n setError(`variables: ${parsed.error}`);\n return;\n }\n setRendering(true);\n setError(\"\");\n try {\n setResult(await render({ raw: draftRaw, variables: parsed.variables }));\n } catch (cause) {\n setError(errorMessage(cause, \"render failed\"));\n } finally {\n setRendering(false);\n }\n }\n\n return (\n <div className=\"flex h-full min-h-0 flex-col gap-3\">\n <label className=\"flex flex-col gap-1 text-xs font-medium text-muted-foreground\">\n Variables (JSON)\n <textarea\n aria-label=\"Preview variables\"\n className=\"min-h-[8rem] resize-y rounded-md border border-border bg-background p-2 font-mono text-xs leading-relaxed text-foreground\"\n value={variablesText}\n spellCheck={false}\n onChange={(event) => setVariablesText(event.currentTarget.value)}\n />\n </label>\n <div className=\"flex items-center gap-2\">\n <Button\n type=\"button\"\n size=\"sm\"\n onClick={run}\n disabled={rendering}\n loading={rendering}\n >\n <UiPlay className=\"mr-1\" />\n Render\n </Button>\n <span className=\"text-xs text-muted-foreground\">\n {draftRaw !== undefined\n ? \"Renders the unsaved draft.\"\n : \"Renders the saved document.\"}\n </span>\n {error ? (\n <span role=\"alert\" className=\"text-xs text-destructive\">\n {error}\n </span>\n ) : null}\n </div>\n {result ? (\n <div className=\"flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto\">\n {result.model ? (\n <p className=\"text-xs text-muted-foreground\">\n model <span className=\"font-mono\">{result.model}</span>\n {result.backend ? (\n <>\n {\" \"}\n · backend <span className=\"font-mono\">{result.backend}</span>\n </>\n ) : null}\n </p>\n ) : null}\n {result.system ? (\n <section aria-label=\"Rendered system prompt\">\n <h3 className=\"mb-1 text-xs font-medium text-muted-foreground\">\n System\n </h3>\n <CodeBlock language=\"markdown\" source={result.system} copyable />\n </section>\n ) : null}\n <section aria-label=\"Rendered user prompt\">\n <h3 className=\"mb-1 text-xs font-medium text-muted-foreground\">\n User\n </h3>\n <CodeBlock language=\"markdown\" source={result.user} copyable />\n </section>\n </div>\n ) : null}\n </div>\n );\n}\n"],"names":[],"mappings":";;;;;;AA0BO,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACF,GAA2B;AACzB,QAAM,CAAC,eAAe,gBAAgB,IAAI;AAAA,IAAS,MACjD,cAAc,KAAK;AAAA,EAAA;AAErB,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAoC,IAAI;AACpE,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,EAAE;AACrC,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAEhD,iBAAe,MAAM;AACnB,UAAM,SAAS,eAAe,aAAa;AAC3C,QAAI,WAAW,QAAQ;AACrB,eAAS,cAAc,OAAO,KAAK,EAAE;AACrC;AAAA,IACF;AACA,iBAAa,IAAI;AACjB,aAAS,EAAE;AACX,QAAI;AACF,gBAAU,MAAM,OAAO,EAAE,KAAK,UAAU,WAAW,OAAO,UAAA,CAAW,CAAC;AAAA,IACxE,SAAS,OAAO;AACd,eAAS,aAAa,OAAO,eAAe,CAAC;AAAA,IAC/C,UAAA;AACE,mBAAa,KAAK;AAAA,IACpB;AAAA,EACF;AAEA,SACE,qBAAC,OAAA,EAAI,WAAU,sCACb,UAAA;AAAA,IAAA,qBAAC,SAAA,EAAM,WAAU,iEAAgE,UAAA;AAAA,MAAA;AAAA,MAE/E;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,cAAW;AAAA,UACX,WAAU;AAAA,UACV,OAAO;AAAA,UACP,YAAY;AAAA,UACZ,UAAU,CAAC,UAAU,iBAAiB,MAAM,cAAc,KAAK;AAAA,QAAA;AAAA,MAAA;AAAA,IACjE,GACF;AAAA,IACA,qBAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,MAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,MAAK;AAAA,UACL,SAAS;AAAA,UACT,UAAU;AAAA,UACV,SAAS;AAAA,UAET,UAAA;AAAA,YAAA,oBAAC,QAAA,EAAO,WAAU,OAAA,CAAO;AAAA,YAAE;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,0BAG5B,QAAA,EAAK,WAAU,iCACb,UAAA,aAAa,SACV,+BACA,+BACN;AAAA,MACC,4BACE,QAAA,EAAK,MAAK,SAAQ,WAAU,4BAC1B,iBACH,IACE;AAAA,IAAA,GACN;AAAA,IACC,SACC,qBAAC,OAAA,EAAI,WAAU,sDACZ,UAAA;AAAA,MAAA,OAAO,QACN,qBAAC,KAAA,EAAE,WAAU,iCAAgC,UAAA;AAAA,QAAA;AAAA,QACrC,oBAAC,QAAA,EAAK,WAAU,aAAa,iBAAO,OAAM;AAAA,QAC/C,OAAO,UACN,qBAAA,UAAA,EACG,UAAA;AAAA,UAAA;AAAA,UAAI;AAAA,UACK,oBAAC,QAAA,EAAK,WAAU,aAAa,iBAAO,QAAA,CAAQ;AAAA,QAAA,EAAA,CACxD,IACE;AAAA,MAAA,EAAA,CACN,IACE;AAAA,MACH,OAAO,SACN,qBAAC,WAAA,EAAQ,cAAW,0BAClB,UAAA;AAAA,QAAA,oBAAC,MAAA,EAAG,WAAU,kDAAiD,UAAA,UAE/D;AAAA,QACA,oBAAC,aAAU,UAAS,YAAW,QAAQ,OAAO,QAAQ,UAAQ,KAAA,CAAC;AAAA,MAAA,EAAA,CACjE,IACE;AAAA,MACJ,qBAAC,WAAA,EAAQ,cAAW,wBAClB,UAAA;AAAA,QAAA,oBAAC,MAAA,EAAG,WAAU,kDAAiD,UAAA,QAE/D;AAAA,QACA,oBAAC,aAAU,UAAS,YAAW,QAAQ,OAAO,MAAM,UAAQ,KAAA,CAAC;AAAA,MAAA,EAAA,CAC/D;AAAA,IAAA,EAAA,CACF,IACE;AAAA,EAAA,GACN;AAEJ;"}