@flanksource/clicky-ui 0.3.41 → 0.3.42

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 (472) hide show
  1. package/dist/ai.cjs +4 -0
  2. package/dist/ai.cjs.map +1 -1
  3. package/dist/ai.js +4 -0
  4. package/dist/ai.js.map +1 -1
  5. package/dist/comments/CommentCard.cjs +3 -1
  6. package/dist/comments/CommentCard.cjs.map +1 -1
  7. package/dist/comments/CommentCard.d.ts.map +1 -1
  8. package/dist/comments/CommentCard.js +4 -2
  9. package/dist/comments/CommentCard.js.map +1 -1
  10. package/dist/comments/CommentCardParts.cjs +16 -0
  11. package/dist/comments/CommentCardParts.cjs.map +1 -1
  12. package/dist/comments/CommentCardParts.d.ts +4 -1
  13. package/dist/comments/CommentCardParts.d.ts.map +1 -1
  14. package/dist/comments/CommentCardParts.js +16 -0
  15. package/dist/comments/CommentCardParts.js.map +1 -1
  16. package/dist/comments/comment-types.cjs.map +1 -1
  17. package/dist/comments/comment-types.d.ts +4 -0
  18. package/dist/comments/comment-types.d.ts.map +1 -1
  19. package/dist/comments/comment-types.js.map +1 -1
  20. package/dist/components/Combobox.cjs +54 -8
  21. package/dist/components/Combobox.cjs.map +1 -1
  22. package/dist/components/Combobox.d.ts.map +1 -1
  23. package/dist/components/Combobox.js +56 -10
  24. package/dist/components/Combobox.js.map +1 -1
  25. package/dist/components/ComboboxMenu.cjs +139 -113
  26. package/dist/components/ComboboxMenu.cjs.map +1 -1
  27. package/dist/components/ComboboxMenu.d.ts +3 -1
  28. package/dist/components/ComboboxMenu.d.ts.map +1 -1
  29. package/dist/components/ComboboxMenu.js +139 -113
  30. package/dist/components/ComboboxMenu.js.map +1 -1
  31. package/dist/components/ComboboxMenuTrigger.cjs +87 -0
  32. package/dist/components/ComboboxMenuTrigger.cjs.map +1 -0
  33. package/dist/components/ComboboxMenuTrigger.d.ts +23 -0
  34. package/dist/components/ComboboxMenuTrigger.d.ts.map +1 -0
  35. package/dist/components/ComboboxMenuTrigger.js +87 -0
  36. package/dist/components/ComboboxMenuTrigger.js.map +1 -0
  37. package/dist/components/JsonSchemaForm.cjs +30 -7
  38. package/dist/components/JsonSchemaForm.cjs.map +1 -1
  39. package/dist/components/JsonSchemaForm.d.ts.map +1 -1
  40. package/dist/components/JsonSchemaForm.js +30 -7
  41. package/dist/components/JsonSchemaForm.js.map +1 -1
  42. package/dist/components/SegmentedControl.cjs +20 -3
  43. package/dist/components/SegmentedControl.cjs.map +1 -1
  44. package/dist/components/SegmentedControl.d.ts +11 -0
  45. package/dist/components/SegmentedControl.d.ts.map +1 -1
  46. package/dist/components/SegmentedControl.js +21 -4
  47. package/dist/components/SegmentedControl.js.map +1 -1
  48. package/dist/components/combobox-types.d.ts +8 -0
  49. package/dist/components/combobox-types.d.ts.map +1 -1
  50. package/dist/components/json-schema-form-debug-badge.cjs +108 -0
  51. package/dist/components/json-schema-form-debug-badge.cjs.map +1 -0
  52. package/dist/components/json-schema-form-debug-badge.d.ts +10 -0
  53. package/dist/components/json-schema-form-debug-badge.d.ts.map +1 -0
  54. package/dist/components/json-schema-form-debug-badge.js +108 -0
  55. package/dist/components/json-schema-form-debug-badge.js.map +1 -0
  56. package/dist/components/json-schema-form-debug-glyph-map.cjs +129 -0
  57. package/dist/components/json-schema-form-debug-glyph-map.cjs.map +1 -0
  58. package/dist/components/json-schema-form-debug-glyph-map.d.ts +20 -0
  59. package/dist/components/json-schema-form-debug-glyph-map.d.ts.map +1 -0
  60. package/dist/components/json-schema-form-debug-glyph-map.js +129 -0
  61. package/dist/components/json-schema-form-debug-glyph-map.js.map +1 -0
  62. package/dist/components/json-schema-form-debug-glyph.cjs +13 -0
  63. package/dist/components/json-schema-form-debug-glyph.cjs.map +1 -0
  64. package/dist/components/json-schema-form-debug-glyph.d.ts +6 -0
  65. package/dist/components/json-schema-form-debug-glyph.d.ts.map +1 -0
  66. package/dist/components/json-schema-form-debug-glyph.js +13 -0
  67. package/dist/components/json-schema-form-debug-glyph.js.map +1 -0
  68. package/dist/components/json-schema-form-debug-groups.cjs +56 -0
  69. package/dist/components/json-schema-form-debug-groups.cjs.map +1 -0
  70. package/dist/components/json-schema-form-debug-groups.d.ts +8 -0
  71. package/dist/components/json-schema-form-debug-groups.d.ts.map +1 -0
  72. package/dist/components/json-schema-form-debug-groups.js +56 -0
  73. package/dist/components/json-schema-form-debug-groups.js.map +1 -0
  74. package/dist/components/json-schema-form-debug-keywords.cjs +159 -0
  75. package/dist/components/json-schema-form-debug-keywords.cjs.map +1 -0
  76. package/dist/components/json-schema-form-debug-keywords.d.ts +6 -0
  77. package/dist/components/json-schema-form-debug-keywords.d.ts.map +1 -0
  78. package/dist/components/json-schema-form-debug-keywords.js +159 -0
  79. package/dist/components/json-schema-form-debug-keywords.js.map +1 -0
  80. package/dist/components/json-schema-form-debug-listeners.cjs +102 -0
  81. package/dist/components/json-schema-form-debug-listeners.cjs.map +1 -0
  82. package/dist/components/json-schema-form-debug-listeners.d.ts +6 -0
  83. package/dist/components/json-schema-form-debug-listeners.d.ts.map +1 -0
  84. package/dist/components/json-schema-form-debug-listeners.js +102 -0
  85. package/dist/components/json-schema-form-debug-listeners.js.map +1 -0
  86. package/dist/components/json-schema-form-debug.cjs +31 -0
  87. package/dist/components/json-schema-form-debug.cjs.map +1 -0
  88. package/dist/components/json-schema-form-debug.d.ts +11 -0
  89. package/dist/components/json-schema-form-debug.d.ts.map +1 -0
  90. package/dist/components/json-schema-form-debug.js +31 -0
  91. package/dist/components/json-schema-form-debug.js.map +1 -0
  92. package/dist/components/json-schema-form-enum-choice.cjs +114 -0
  93. package/dist/components/json-schema-form-enum-choice.cjs.map +1 -0
  94. package/dist/components/json-schema-form-enum-choice.d.ts +14 -0
  95. package/dist/components/json-schema-form-enum-choice.d.ts.map +1 -0
  96. package/dist/components/json-schema-form-enum-choice.js +114 -0
  97. package/dist/components/json-schema-form-enum-choice.js.map +1 -0
  98. package/dist/components/json-schema-form-fields.cjs +3 -93
  99. package/dist/components/json-schema-form-fields.cjs.map +1 -1
  100. package/dist/components/json-schema-form-fields.d.ts.map +1 -1
  101. package/dist/components/json-schema-form-fields.js +1 -91
  102. package/dist/components/json-schema-form-fields.js.map +1 -1
  103. package/dist/components/json-schema-form-listeners.cjs +7 -1
  104. package/dist/components/json-schema-form-listeners.cjs.map +1 -1
  105. package/dist/components/json-schema-form-listeners.d.ts.map +1 -1
  106. package/dist/components/json-schema-form-listeners.js +7 -1
  107. package/dist/components/json-schema-form-listeners.js.map +1 -1
  108. package/dist/components/json-schema-form-preferences.cjs +1 -0
  109. package/dist/components/json-schema-form-preferences.cjs.map +1 -1
  110. package/dist/components/json-schema-form-preferences.d.ts +1 -0
  111. package/dist/components/json-schema-form-preferences.d.ts.map +1 -1
  112. package/dist/components/json-schema-form-preferences.js +1 -0
  113. package/dist/components/json-schema-form-preferences.js.map +1 -1
  114. package/dist/components/json-schema-form-render.cjs +21 -5
  115. package/dist/components/json-schema-form-render.cjs.map +1 -1
  116. package/dist/components/json-schema-form-render.d.ts.map +1 -1
  117. package/dist/components/json-schema-form-render.js +21 -5
  118. package/dist/components/json-schema-form-render.js.map +1 -1
  119. package/dist/components/json-schema-form-runtime-types.d.ts +1 -0
  120. package/dist/components/json-schema-form-runtime-types.d.ts.map +1 -1
  121. package/dist/components/json-schema-form-tone.cjs +12 -0
  122. package/dist/components/json-schema-form-tone.cjs.map +1 -1
  123. package/dist/components/json-schema-form-tone.js +12 -0
  124. package/dist/components/json-schema-form-tone.js.map +1 -1
  125. package/dist/components/json-schema-form-types.d.ts +1 -0
  126. package/dist/components/json-schema-form-types.d.ts.map +1 -1
  127. package/dist/data/GraphDiagram.cjs +125 -138
  128. package/dist/data/GraphDiagram.cjs.map +1 -1
  129. package/dist/data/GraphDiagram.d.ts +30 -23
  130. package/dist/data/GraphDiagram.d.ts.map +1 -1
  131. package/dist/data/GraphDiagram.js +128 -141
  132. package/dist/data/GraphDiagram.js.map +1 -1
  133. package/dist/data/GraphDiagramEdges.cjs +208 -0
  134. package/dist/data/GraphDiagramEdges.cjs.map +1 -0
  135. package/dist/data/GraphDiagramEdges.d.ts +40 -0
  136. package/dist/data/GraphDiagramEdges.d.ts.map +1 -0
  137. package/dist/data/GraphDiagramEdges.js +208 -0
  138. package/dist/data/GraphDiagramEdges.js.map +1 -0
  139. package/dist/data/GraphDiagramNodes.cjs +142 -0
  140. package/dist/data/GraphDiagramNodes.cjs.map +1 -0
  141. package/dist/data/GraphDiagramNodes.d.ts +22 -0
  142. package/dist/data/GraphDiagramNodes.d.ts.map +1 -0
  143. package/dist/data/GraphDiagramNodes.js +142 -0
  144. package/dist/data/GraphDiagramNodes.js.map +1 -0
  145. package/dist/data/ai/PromptRunEditor/RuntimeRows.cjs +8 -3
  146. package/dist/data/ai/PromptRunEditor/RuntimeRows.cjs.map +1 -1
  147. package/dist/data/ai/PromptRunEditor/RuntimeRows.d.ts.map +1 -1
  148. package/dist/data/ai/PromptRunEditor/RuntimeRows.js +8 -3
  149. package/dist/data/ai/PromptRunEditor/RuntimeRows.js.map +1 -1
  150. package/dist/data/ai/PromptRunEditor/index.cjs +37 -43
  151. package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
  152. package/dist/data/ai/PromptRunEditor/index.d.ts +3 -1
  153. package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
  154. package/dist/data/ai/PromptRunEditor/index.js +38 -44
  155. package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
  156. package/dist/data/ai/PromptRunEditor/runtimeActions.cjs +16 -5
  157. package/dist/data/ai/PromptRunEditor/runtimeActions.cjs.map +1 -1
  158. package/dist/data/ai/PromptRunEditor/runtimeActions.d.ts +4 -1
  159. package/dist/data/ai/PromptRunEditor/runtimeActions.d.ts.map +1 -1
  160. package/dist/data/ai/PromptRunEditor/runtimeActions.js +17 -6
  161. package/dist/data/ai/PromptRunEditor/runtimeActions.js.map +1 -1
  162. package/dist/data/ai/SessionInspector.approvals-model.cjs +12 -0
  163. package/dist/data/ai/SessionInspector.approvals-model.cjs.map +1 -1
  164. package/dist/data/ai/SessionInspector.approvals-model.d.ts +11 -2
  165. package/dist/data/ai/SessionInspector.approvals-model.d.ts.map +1 -1
  166. package/dist/data/ai/SessionInspector.approvals-model.js +12 -0
  167. package/dist/data/ai/SessionInspector.approvals-model.js.map +1 -1
  168. package/dist/data/ai/SessionInspector.approvals.cjs +25 -1
  169. package/dist/data/ai/SessionInspector.approvals.cjs.map +1 -1
  170. package/dist/data/ai/SessionInspector.approvals.d.ts.map +1 -1
  171. package/dist/data/ai/SessionInspector.approvals.js +26 -2
  172. package/dist/data/ai/SessionInspector.approvals.js.map +1 -1
  173. package/dist/data/ai/SessionInspector.summary.cjs +9 -3
  174. package/dist/data/ai/SessionInspector.summary.cjs.map +1 -1
  175. package/dist/data/ai/SessionInspector.summary.d.ts.map +1 -1
  176. package/dist/data/ai/SessionInspector.summary.js +9 -3
  177. package/dist/data/ai/SessionInspector.summary.js.map +1 -1
  178. package/dist/data/ai/SessionInspector.transcript.cjs +4 -0
  179. package/dist/data/ai/SessionInspector.transcript.cjs.map +1 -1
  180. package/dist/data/ai/SessionInspector.transcript.d.ts.map +1 -1
  181. package/dist/data/ai/SessionInspector.transcript.js +4 -0
  182. package/dist/data/ai/SessionInspector.transcript.js.map +1 -1
  183. package/dist/data/ai/SessionViewer.approval-body.cjs +146 -0
  184. package/dist/data/ai/SessionViewer.approval-body.cjs.map +1 -0
  185. package/dist/data/ai/SessionViewer.approval-body.d.ts +11 -0
  186. package/dist/data/ai/SessionViewer.approval-body.d.ts.map +1 -0
  187. package/dist/data/ai/SessionViewer.approval-body.js +146 -0
  188. package/dist/data/ai/SessionViewer.approval-body.js.map +1 -0
  189. package/dist/data/ai/SessionViewer.approval-forms.cjs +150 -0
  190. package/dist/data/ai/SessionViewer.approval-forms.cjs.map +1 -0
  191. package/dist/data/ai/SessionViewer.approval-forms.d.ts +23 -0
  192. package/dist/data/ai/SessionViewer.approval-forms.d.ts.map +1 -0
  193. package/dist/data/ai/SessionViewer.approval-forms.js +150 -0
  194. package/dist/data/ai/SessionViewer.approval-forms.js.map +1 -0
  195. package/dist/data/ai/SessionViewer.cjs +57 -20
  196. package/dist/data/ai/SessionViewer.cjs.map +1 -1
  197. package/dist/data/ai/SessionViewer.d.ts +13 -3
  198. package/dist/data/ai/SessionViewer.d.ts.map +1 -1
  199. package/dist/data/ai/SessionViewer.decision-controls.cjs +313 -0
  200. package/dist/data/ai/SessionViewer.decision-controls.cjs.map +1 -0
  201. package/dist/data/ai/SessionViewer.decision-controls.d.ts +43 -0
  202. package/dist/data/ai/SessionViewer.decision-controls.d.ts.map +1 -0
  203. package/dist/data/ai/SessionViewer.decision-controls.js +313 -0
  204. package/dist/data/ai/SessionViewer.decision-controls.js.map +1 -0
  205. package/dist/data/ai/SessionViewer.decision.cjs +21 -0
  206. package/dist/data/ai/SessionViewer.decision.cjs.map +1 -0
  207. package/dist/data/ai/SessionViewer.decision.d.ts +12 -0
  208. package/dist/data/ai/SessionViewer.decision.d.ts.map +1 -0
  209. package/dist/data/ai/SessionViewer.decision.js +21 -0
  210. package/dist/data/ai/SessionViewer.decision.js.map +1 -0
  211. package/dist/data/ai/SessionViewer.input.cjs +14 -0
  212. package/dist/data/ai/SessionViewer.input.cjs.map +1 -1
  213. package/dist/data/ai/SessionViewer.input.d.ts +5 -0
  214. package/dist/data/ai/SessionViewer.input.d.ts.map +1 -1
  215. package/dist/data/ai/SessionViewer.input.js +14 -0
  216. package/dist/data/ai/SessionViewer.input.js.map +1 -1
  217. package/dist/data/ai/SessionViewer.js +58 -21
  218. package/dist/data/ai/SessionViewer.js.map +1 -1
  219. package/dist/data/ai/SessionViewer.model.cjs.map +1 -1
  220. package/dist/data/ai/SessionViewer.model.d.ts +4 -0
  221. package/dist/data/ai/SessionViewer.model.d.ts.map +1 -1
  222. package/dist/data/ai/SessionViewer.model.js.map +1 -1
  223. package/dist/data/ai/SessionViewer.rows.cjs +6 -3
  224. package/dist/data/ai/SessionViewer.rows.cjs.map +1 -1
  225. package/dist/data/ai/SessionViewer.rows.d.ts +2 -1
  226. package/dist/data/ai/SessionViewer.rows.d.ts.map +1 -1
  227. package/dist/data/ai/SessionViewer.rows.js +6 -3
  228. package/dist/data/ai/SessionViewer.rows.js.map +1 -1
  229. package/dist/data/ai/SessionViewer.tool-row.cjs +29 -237
  230. package/dist/data/ai/SessionViewer.tool-row.cjs.map +1 -1
  231. package/dist/data/ai/SessionViewer.tool-row.d.ts.map +1 -1
  232. package/dist/data/ai/SessionViewer.tool-row.js +27 -235
  233. package/dist/data/ai/SessionViewer.tool-row.js.map +1 -1
  234. package/dist/data/ai/SessionViewer.unified.d.ts +4 -0
  235. package/dist/data/ai/SessionViewer.unified.d.ts.map +1 -1
  236. package/dist/data/ai/SessionViewerMenu.cjs +8 -2
  237. package/dist/data/ai/SessionViewerMenu.cjs.map +1 -1
  238. package/dist/data/ai/SessionViewerMenu.d.ts +4 -1
  239. package/dist/data/ai/SessionViewerMenu.d.ts.map +1 -1
  240. package/dist/data/ai/SessionViewerMenu.js +8 -2
  241. package/dist/data/ai/SessionViewerMenu.js.map +1 -1
  242. package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs +28 -17
  243. package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs.map +1 -1
  244. package/dist/data/ai/SpecRuntimeEditor/CommitSection.d.ts +10 -2
  245. package/dist/data/ai/SpecRuntimeEditor/CommitSection.d.ts.map +1 -1
  246. package/dist/data/ai/SpecRuntimeEditor/CommitSection.js +29 -18
  247. package/dist/data/ai/SpecRuntimeEditor/CommitSection.js.map +1 -1
  248. package/dist/data/ai/SpecRuntimeEditor/index.cjs +9 -1
  249. package/dist/data/ai/SpecRuntimeEditor/index.cjs.map +1 -1
  250. package/dist/data/ai/SpecRuntimeEditor/index.d.ts +9 -2
  251. package/dist/data/ai/SpecRuntimeEditor/index.d.ts.map +1 -1
  252. package/dist/data/ai/SpecRuntimeEditor/index.js +9 -1
  253. package/dist/data/ai/SpecRuntimeEditor/index.js.map +1 -1
  254. package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.cjs +1 -1
  255. package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.js +1 -1
  256. package/dist/data/ai/SpecRuntimeEditor/summaries.cjs.map +1 -1
  257. package/dist/data/ai/SpecRuntimeEditor/summaries.d.ts +8 -2
  258. package/dist/data/ai/SpecRuntimeEditor/summaries.d.ts.map +1 -1
  259. package/dist/data/ai/SpecRuntimeEditor/summaries.js.map +1 -1
  260. package/dist/data/ai/SpecRuntimeEditor/update.cjs +14 -6
  261. package/dist/data/ai/SpecRuntimeEditor/update.cjs.map +1 -1
  262. package/dist/data/ai/SpecRuntimeEditor/update.d.ts +1 -0
  263. package/dist/data/ai/SpecRuntimeEditor/update.d.ts.map +1 -1
  264. package/dist/data/ai/SpecRuntimeEditor/update.js +14 -6
  265. package/dist/data/ai/SpecRuntimeEditor/update.js.map +1 -1
  266. package/dist/data/ai/approval-request.cjs +75 -0
  267. package/dist/data/ai/approval-request.cjs.map +1 -0
  268. package/dist/data/ai/approval-request.d.ts +155 -0
  269. package/dist/data/ai/approval-request.d.ts.map +1 -0
  270. package/dist/data/ai/approval-request.js +75 -0
  271. package/dist/data/ai/approval-request.js.map +1 -0
  272. package/dist/data/ai/index.d.ts +3 -0
  273. package/dist/data/ai/index.d.ts.map +1 -1
  274. package/dist/data/ai/runtime-preset-menu/SavePresetDialog.cjs +125 -0
  275. package/dist/data/ai/runtime-preset-menu/SavePresetDialog.cjs.map +1 -0
  276. package/dist/data/ai/runtime-preset-menu/SavePresetDialog.d.ts +11 -0
  277. package/dist/data/ai/runtime-preset-menu/SavePresetDialog.d.ts.map +1 -0
  278. package/dist/data/ai/runtime-preset-menu/SavePresetDialog.js +125 -0
  279. package/dist/data/ai/runtime-preset-menu/SavePresetDialog.js.map +1 -0
  280. package/dist/data/ai/runtime-preset-menu/index.d.ts +3 -0
  281. package/dist/data/ai/runtime-preset-menu/index.d.ts.map +1 -0
  282. package/dist/data/ai/runtime-preset-menu/model.cjs +73 -0
  283. package/dist/data/ai/runtime-preset-menu/model.cjs.map +1 -0
  284. package/dist/data/ai/runtime-preset-menu/model.d.ts +13 -0
  285. package/dist/data/ai/runtime-preset-menu/model.d.ts.map +1 -0
  286. package/dist/data/ai/runtime-preset-menu/model.js +73 -0
  287. package/dist/data/ai/runtime-preset-menu/model.js.map +1 -0
  288. package/dist/data/ai/runtime-preset-menu/use-runtime-preset-menu.cjs +149 -0
  289. package/dist/data/ai/runtime-preset-menu/use-runtime-preset-menu.cjs.map +1 -0
  290. package/dist/data/ai/runtime-preset-menu/use-runtime-preset-menu.d.ts +15 -0
  291. package/dist/data/ai/runtime-preset-menu/use-runtime-preset-menu.d.ts.map +1 -0
  292. package/dist/data/ai/runtime-preset-menu/use-runtime-preset-menu.js +149 -0
  293. package/dist/data/ai/runtime-preset-menu/use-runtime-preset-menu.js.map +1 -0
  294. package/dist/data/ai/runtime-spec-fields.cjs +166 -0
  295. package/dist/data/ai/runtime-spec-fields.cjs.map +1 -0
  296. package/dist/data/ai/runtime-spec-fields.d.ts +13 -0
  297. package/dist/data/ai/runtime-spec-fields.d.ts.map +1 -0
  298. package/dist/data/ai/runtime-spec-fields.js +166 -0
  299. package/dist/data/ai/runtime-spec-fields.js.map +1 -0
  300. package/dist/data/ai/session-categories.cjs +4 -0
  301. package/dist/data/ai/session-categories.cjs.map +1 -1
  302. package/dist/data/ai/session-categories.d.ts +1 -0
  303. package/dist/data/ai/session-categories.d.ts.map +1 -1
  304. package/dist/data/ai/session-categories.js +4 -0
  305. package/dist/data/ai/session-categories.js.map +1 -1
  306. package/dist/data/ai/use-session-scroll.cjs +49 -21
  307. package/dist/data/ai/use-session-scroll.cjs.map +1 -1
  308. package/dist/data/ai/use-session-scroll.d.ts +2 -0
  309. package/dist/data/ai/use-session-scroll.d.ts.map +1 -1
  310. package/dist/data/ai/use-session-scroll.js +49 -21
  311. package/dist/data/ai/use-session-scroll.js.map +1 -1
  312. package/dist/data/chat/Chat.runtime.cjs +1 -1
  313. package/dist/data/chat/Chat.runtime.cjs.map +1 -1
  314. package/dist/data/chat/Chat.runtime.d.ts.map +1 -1
  315. package/dist/data/chat/Chat.runtime.js +1 -1
  316. package/dist/data/chat/Chat.runtime.js.map +1 -1
  317. package/dist/data/graph-columns-layout.cjs +216 -0
  318. package/dist/data/graph-columns-layout.cjs.map +1 -0
  319. package/dist/data/graph-columns-layout.d.ts +56 -0
  320. package/dist/data/graph-columns-layout.d.ts.map +1 -0
  321. package/dist/data/graph-columns-layout.js +216 -0
  322. package/dist/data/graph-columns-layout.js.map +1 -0
  323. package/dist/data/graph-diagram-model.cjs +73 -0
  324. package/dist/data/graph-diagram-model.cjs.map +1 -0
  325. package/dist/data/graph-diagram-model.d.ts +90 -0
  326. package/dist/data/graph-diagram-model.d.ts.map +1 -0
  327. package/dist/data/graph-diagram-model.js +73 -0
  328. package/dist/data/graph-diagram-model.js.map +1 -0
  329. package/dist/data/graph-edge-routing.cjs +235 -0
  330. package/dist/data/graph-edge-routing.cjs.map +1 -0
  331. package/dist/data/graph-edge-routing.d.ts +73 -0
  332. package/dist/data/graph-edge-routing.d.ts.map +1 -0
  333. package/dist/data/graph-edge-routing.js +235 -0
  334. package/dist/data/graph-edge-routing.js.map +1 -0
  335. package/dist/data/graph-layout.cjs +0 -82
  336. package/dist/data/graph-layout.cjs.map +1 -1
  337. package/dist/data/graph-layout.d.ts +1 -28
  338. package/dist/data/graph-layout.d.ts.map +1 -1
  339. package/dist/data/graph-layout.js +1 -83
  340. package/dist/data/graph-layout.js.map +1 -1
  341. package/dist/data/har/HarPanel.cjs +129 -33
  342. package/dist/data/har/HarPanel.cjs.map +1 -1
  343. package/dist/data/har/HarPanel.d.ts +13 -1
  344. package/dist/data/har/HarPanel.d.ts.map +1 -1
  345. package/dist/data/har/HarPanel.js +130 -34
  346. package/dist/data/har/HarPanel.js.map +1 -1
  347. package/dist/data/har/fixtures.d.ts +12 -0
  348. package/dist/data/har/fixtures.d.ts.map +1 -1
  349. package/dist/data/har/types.d.ts +12 -0
  350. package/dist/data/har/types.d.ts.map +1 -1
  351. package/dist/data/runtime/RuntimeBar.cjs +67 -84
  352. package/dist/data/runtime/RuntimeBar.cjs.map +1 -1
  353. package/dist/data/runtime/RuntimeBar.d.ts +4 -5
  354. package/dist/data/runtime/RuntimeBar.d.ts.map +1 -1
  355. package/dist/data/runtime/RuntimeBar.fields.cjs +170 -0
  356. package/dist/data/runtime/RuntimeBar.fields.cjs.map +1 -0
  357. package/dist/data/runtime/RuntimeBar.fields.d.ts +16 -0
  358. package/dist/data/runtime/RuntimeBar.fields.d.ts.map +1 -0
  359. package/dist/data/runtime/RuntimeBar.fields.js +170 -0
  360. package/dist/data/runtime/RuntimeBar.fields.js.map +1 -0
  361. package/dist/data/runtime/RuntimeBar.js +70 -87
  362. package/dist/data/runtime/RuntimeBar.js.map +1 -1
  363. package/dist/data/runtime/RuntimeBar.selection.cjs +56 -0
  364. package/dist/data/runtime/RuntimeBar.selection.cjs.map +1 -0
  365. package/dist/data/runtime/RuntimeBar.selection.d.ts +20 -0
  366. package/dist/data/runtime/RuntimeBar.selection.d.ts.map +1 -0
  367. package/dist/data/runtime/RuntimeBar.selection.js +56 -0
  368. package/dist/data/runtime/RuntimeBar.selection.js.map +1 -0
  369. package/dist/data/runtime/RuntimeBarActions.cjs +10 -6
  370. package/dist/data/runtime/RuntimeBarActions.cjs.map +1 -1
  371. package/dist/data/runtime/RuntimeBarActions.d.ts +8 -1
  372. package/dist/data/runtime/RuntimeBarActions.d.ts.map +1 -1
  373. package/dist/data/runtime/RuntimeBarActions.js +10 -6
  374. package/dist/data/runtime/RuntimeBarActions.js.map +1 -1
  375. package/dist/data/runtime/RuntimeBarIdentity.cjs +166 -0
  376. package/dist/data/runtime/RuntimeBarIdentity.cjs.map +1 -0
  377. package/dist/data/runtime/RuntimeBarIdentity.d.ts +25 -0
  378. package/dist/data/runtime/RuntimeBarIdentity.d.ts.map +1 -0
  379. package/dist/data/runtime/RuntimeBarIdentity.js +166 -0
  380. package/dist/data/runtime/RuntimeBarIdentity.js.map +1 -0
  381. package/dist/data/runtime/RuntimeBarLayout.cjs +95 -0
  382. package/dist/data/runtime/RuntimeBarLayout.cjs.map +1 -0
  383. package/dist/data/runtime/RuntimeBarLayout.d.ts +9 -0
  384. package/dist/data/runtime/RuntimeBarLayout.d.ts.map +1 -0
  385. package/dist/data/runtime/RuntimeBarLayout.js +95 -0
  386. package/dist/data/runtime/RuntimeBarLayout.js.map +1 -0
  387. package/dist/data/runtime/RuntimeBarSegment.cjs +25 -14
  388. package/dist/data/runtime/RuntimeBarSegment.cjs.map +1 -1
  389. package/dist/data/runtime/RuntimeBarSegment.d.ts +4 -0
  390. package/dist/data/runtime/RuntimeBarSegment.d.ts.map +1 -1
  391. package/dist/data/runtime/RuntimeBarSegment.js +25 -14
  392. package/dist/data/runtime/RuntimeBarSegment.js.map +1 -1
  393. package/dist/data/runtime/RuntimeLimitInput.cjs +41 -0
  394. package/dist/data/runtime/RuntimeLimitInput.cjs.map +1 -0
  395. package/dist/data/runtime/RuntimeLimitInput.d.ts +9 -0
  396. package/dist/data/runtime/RuntimeLimitInput.d.ts.map +1 -0
  397. package/dist/data/runtime/RuntimeLimitInput.js +41 -0
  398. package/dist/data/runtime/RuntimeLimitInput.js.map +1 -0
  399. package/dist/data/runtime/use-runtime-bar-overflow.cjs +70 -0
  400. package/dist/data/runtime/use-runtime-bar-overflow.cjs.map +1 -0
  401. package/dist/data/runtime/use-runtime-bar-overflow.d.ts +13 -0
  402. package/dist/data/runtime/use-runtime-bar-overflow.d.ts.map +1 -0
  403. package/dist/data/runtime/use-runtime-bar-overflow.js +70 -0
  404. package/dist/data/runtime/use-runtime-bar-overflow.js.map +1 -0
  405. package/dist/data/use-edge-focus.cjs +20 -0
  406. package/dist/data/use-edge-focus.cjs.map +1 -0
  407. package/dist/data/use-edge-focus.d.ts +23 -0
  408. package/dist/data/use-edge-focus.d.ts.map +1 -0
  409. package/dist/data/use-edge-focus.js +20 -0
  410. package/dist/data/use-edge-focus.js.map +1 -0
  411. package/dist/data/use-pan-zoom.cjs +159 -0
  412. package/dist/data/use-pan-zoom.cjs.map +1 -0
  413. package/dist/data/use-pan-zoom.d.ts +79 -0
  414. package/dist/data/use-pan-zoom.d.ts.map +1 -0
  415. package/dist/data/use-pan-zoom.js +159 -0
  416. package/dist/data/use-pan-zoom.js.map +1 -0
  417. package/dist/data/version-info.cjs +3 -3
  418. package/dist/data/version-info.js +3 -3
  419. package/dist/data.cjs +5 -1
  420. package/dist/data.cjs.map +1 -1
  421. package/dist/data.d.ts +4 -3
  422. package/dist/data.d.ts.map +1 -1
  423. package/dist/data.js +6 -2
  424. package/dist/data.js.map +1 -1
  425. package/dist/index.cjs +5 -1
  426. package/dist/index.cjs.map +1 -1
  427. package/dist/index.js +6 -2
  428. package/dist/index.js.map +1 -1
  429. package/dist/overlay/DropdownMenu.cjs +1 -0
  430. package/dist/overlay/DropdownMenu.cjs.map +1 -1
  431. package/dist/overlay/DropdownMenu.d.ts +4 -0
  432. package/dist/overlay/DropdownMenu.d.ts.map +1 -1
  433. package/dist/overlay/DropdownMenu.js +1 -0
  434. package/dist/overlay/DropdownMenu.js.map +1 -1
  435. package/dist/overlay/DropdownMenuSubmenu.cjs +31 -15
  436. package/dist/overlay/DropdownMenuSubmenu.cjs.map +1 -1
  437. package/dist/overlay/DropdownMenuSubmenu.d.ts.map +1 -1
  438. package/dist/overlay/DropdownMenuSubmenu.js +31 -15
  439. package/dist/overlay/DropdownMenuSubmenu.js.map +1 -1
  440. package/dist/rpc/OperationCatalog.cjs +3 -1
  441. package/dist/rpc/OperationCatalog.cjs.map +1 -1
  442. package/dist/rpc/OperationCatalog.d.ts +3 -1
  443. package/dist/rpc/OperationCatalog.d.ts.map +1 -1
  444. package/dist/rpc/OperationCatalog.js +3 -1
  445. package/dist/rpc/OperationCatalog.js.map +1 -1
  446. package/dist/rpc/useOperationPages.cjs +6 -1
  447. package/dist/rpc/useOperationPages.cjs.map +1 -1
  448. package/dist/rpc/useOperationPages.d.ts +3 -1
  449. package/dist/rpc/useOperationPages.d.ts.map +1 -1
  450. package/dist/rpc/useOperationPages.js +6 -1
  451. package/dist/rpc/useOperationPages.js.map +1 -1
  452. package/dist/styles.css +1 -1
  453. package/package.json +1 -1
  454. package/schemas/json-schema-form.schema.json +5 -0
  455. package/dist/data/runtime/RuntimeBarCombo.cjs +0 -423
  456. package/dist/data/runtime/RuntimeBarCombo.cjs.map +0 -1
  457. package/dist/data/runtime/RuntimeBarCombo.d.ts +0 -33
  458. package/dist/data/runtime/RuntimeBarCombo.d.ts.map +0 -1
  459. package/dist/data/runtime/RuntimeBarCombo.js +0 -423
  460. package/dist/data/runtime/RuntimeBarCombo.js.map +0 -1
  461. package/dist/data/runtime/RuntimeBarLimits.cjs +0 -262
  462. package/dist/data/runtime/RuntimeBarLimits.cjs.map +0 -1
  463. package/dist/data/runtime/RuntimeBarLimits.d.ts +0 -17
  464. package/dist/data/runtime/RuntimeBarLimits.d.ts.map +0 -1
  465. package/dist/data/runtime/RuntimeBarLimits.js +0 -262
  466. package/dist/data/runtime/RuntimeBarLimits.js.map +0 -1
  467. package/dist/data/runtime/RuntimeBarSegments.cjs +0 -346
  468. package/dist/data/runtime/RuntimeBarSegments.cjs.map +0 -1
  469. package/dist/data/runtime/RuntimeBarSegments.d.ts +0 -37
  470. package/dist/data/runtime/RuntimeBarSegments.d.ts.map +0 -1
  471. package/dist/data/runtime/RuntimeBarSegments.js +0 -346
  472. package/dist/data/runtime/RuntimeBarSegments.js.map +0 -1
@@ -0,0 +1,149 @@
1
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
+ import { useState, useRef } from "react";
3
+ import { newPresetRecord, presetForRef } from "../../../lib/runtime-profile-model.js";
4
+ import { Modal } from "../../../overlay/Modal.js";
5
+ import { assertRuntimePresetSpec } from "../runtime-profile.js";
6
+ import { presetsField } from "../PromptRunEditor/runtimeActions.js";
7
+ import { OrderedPresetSelect } from "../runtime-profiles/OrderedPresetSelect.js";
8
+ import { runtimeBarPresetSpec, withRuntimePresetSelection } from "./model.js";
9
+ import { SavePresetDialog } from "./SavePresetDialog.js";
10
+ import { UiLayers } from "../../../icons/components/UiLayers.js";
11
+ import { UiSave } from "../../../icons/components/UiSave.js";
12
+ function useRuntimePresetMenu(options) {
13
+ const [ordering, setOrdering] = useState(false);
14
+ const [draft, setDraft] = useState();
15
+ const [created, setCreated] = useState([]);
16
+ const [saving, setSaving] = useState(false);
17
+ const [error, setError] = useState();
18
+ const pending = useRef(false);
19
+ const latest = useRef(options);
20
+ latest.current = options;
21
+ const catalog = [
22
+ ...options.presets,
23
+ ...created.filter(
24
+ (preset) => !options.presets.some((entry) => entry.id === preset.id)
25
+ )
26
+ ];
27
+ const select = (selected) => options.onChange(
28
+ withRuntimePresetSelection({
29
+ value: options.value,
30
+ selected,
31
+ catalog
32
+ })
33
+ );
34
+ const field = presetsField({
35
+ presets: catalog,
36
+ value: options.value.presets,
37
+ onChange: select,
38
+ onReorder: () => setOrdering(true)
39
+ });
40
+ const save = async (next) => {
41
+ if (pending.current) return;
42
+ pending.current = true;
43
+ setSaving(true);
44
+ setError(void 0);
45
+ try {
46
+ if (!options.onCreatePreset)
47
+ throw new Error("Saving presets is unavailable");
48
+ const saved = await options.onCreatePreset(next);
49
+ if (!saved.id.trim() || !saved.name.trim())
50
+ throw new Error("Saved preset must have an id and name");
51
+ assertRuntimePresetSpec(saved.spec, "saved preset spec");
52
+ setCreated((records) => [
53
+ ...records.filter((preset) => preset.id !== saved.id),
54
+ saved
55
+ ]);
56
+ const current = latest.current.value;
57
+ const alreadySelected = current.presets.some(
58
+ (ref) => {
59
+ var _a;
60
+ return ref === saved.id || ((_a = presetForRef(ref, [...catalog, saved])) == null ? void 0 : _a.id) === saved.id;
61
+ }
62
+ );
63
+ latest.current.onChange({
64
+ ...current,
65
+ presets: alreadySelected ? current.presets : [...current.presets, saved.id]
66
+ });
67
+ setDraft(void 0);
68
+ } catch (cause) {
69
+ setError(cause instanceof Error ? cause.message : String(cause));
70
+ } finally {
71
+ pending.current = false;
72
+ setSaving(false);
73
+ }
74
+ };
75
+ const menu = [
76
+ {
77
+ label: "Presets",
78
+ icon: UiLayers,
79
+ iconClassName: "text-muted-foreground",
80
+ children: field.items.length > 0 ? field.items : [
81
+ {
82
+ label: "No presets yet",
83
+ disabled: true,
84
+ onSelect: () => {
85
+ }
86
+ }
87
+ ],
88
+ onSelect: () => {
89
+ }
90
+ }
91
+ ];
92
+ if (options.onCreatePreset)
93
+ menu.push({
94
+ label: "Save as preset…",
95
+ icon: UiSave,
96
+ iconClassName: "text-muted-foreground",
97
+ onSelect: () => {
98
+ setError(void 0);
99
+ setDraft({
100
+ ...newPresetRecord(catalog, crypto.randomUUID()),
101
+ spec: runtimeBarPresetSpec(options.value.spec)
102
+ });
103
+ }
104
+ });
105
+ return {
106
+ menu,
107
+ dialogs: /* @__PURE__ */ jsxs(Fragment, { children: [
108
+ /* @__PURE__ */ jsx(
109
+ Modal,
110
+ {
111
+ open: ordering,
112
+ onClose: () => setOrdering(false),
113
+ title: "Presets",
114
+ size: "lg",
115
+ closeOnEsc: true,
116
+ children: /* @__PURE__ */ jsx(
117
+ OrderedPresetSelect,
118
+ {
119
+ presets: catalog,
120
+ value: options.value.presets,
121
+ onChange: select
122
+ }
123
+ )
124
+ }
125
+ ),
126
+ draft && /* @__PURE__ */ jsx(
127
+ SavePresetDialog,
128
+ {
129
+ draft,
130
+ catalog,
131
+ saving,
132
+ error,
133
+ onChange: (next) => {
134
+ setDraft(next);
135
+ setError(void 0);
136
+ },
137
+ onSave: (next) => void save(next),
138
+ onClose: () => {
139
+ if (!pending.current) setDraft(void 0);
140
+ }
141
+ }
142
+ )
143
+ ] })
144
+ };
145
+ }
146
+ export {
147
+ useRuntimePresetMenu
148
+ };
149
+ //# sourceMappingURL=use-runtime-preset-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-runtime-preset-menu.js","sources":["../../../../src/data/ai/runtime-preset-menu/use-runtime-preset-menu.tsx"],"sourcesContent":["import { useRef, useState, type ReactNode } from \"react\";\nimport { UiLayers, UiSave } from \"../../../icons\";\nimport {\n newPresetRecord,\n presetForRef,\n} from \"../../../lib/runtime-profile-model\";\nimport { Modal } from \"../../../overlay/Modal\";\nimport type { DropdownMenuItem } from \"../../../overlay/DropdownMenu\";\nimport {\n assertRuntimePresetSpec,\n type RuntimePreset,\n} from \"../runtime-profile\";\nimport { presetsField } from \"../PromptRunEditor/runtimeActions\";\nimport { OrderedPresetSelect } from \"../runtime-profiles/OrderedPresetSelect\";\nimport {\n runtimeBarPresetSpec,\n withRuntimePresetSelection,\n type RuntimePresetMenuValue,\n} from \"./model\";\nimport { SavePresetDialog } from \"./SavePresetDialog\";\n\nexport type RuntimePresetMenuOptions = {\n value: RuntimePresetMenuValue;\n onChange: (next: RuntimePresetMenuValue) => void;\n presets: RuntimePreset[];\n onCreatePreset?:\n | ((draft: RuntimePreset) => Promise<RuntimePreset>)\n | undefined;\n};\n\nexport function useRuntimePresetMenu(options: RuntimePresetMenuOptions): {\n menu: DropdownMenuItem[];\n dialogs: ReactNode;\n} {\n const [ordering, setOrdering] = useState(false);\n const [draft, setDraft] = useState<RuntimePreset>();\n const [created, setCreated] = useState<RuntimePreset[]>([]);\n const [saving, setSaving] = useState(false);\n const [error, setError] = useState<string>();\n const pending = useRef(false);\n const latest = useRef(options);\n latest.current = options;\n const catalog = [\n ...options.presets,\n ...created.filter(\n (preset) => !options.presets.some((entry) => entry.id === preset.id),\n ),\n ];\n const select = (selected: string[]) =>\n options.onChange(\n withRuntimePresetSelection({\n value: options.value,\n selected,\n catalog,\n }),\n );\n const field = presetsField({\n presets: catalog,\n value: options.value.presets,\n onChange: select,\n onReorder: () => setOrdering(true),\n });\n const save = async (next: RuntimePreset) => {\n if (pending.current) return;\n pending.current = true;\n setSaving(true);\n setError(undefined);\n try {\n if (!options.onCreatePreset)\n throw new Error(\"Saving presets is unavailable\");\n const saved = await options.onCreatePreset(next);\n if (!saved.id.trim() || !saved.name.trim())\n throw new Error(\"Saved preset must have an id and name\");\n assertRuntimePresetSpec(saved.spec, \"saved preset spec\");\n setCreated((records) => [\n ...records.filter((preset) => preset.id !== saved.id),\n saved,\n ]);\n const current = latest.current.value;\n const alreadySelected = current.presets.some(\n (ref) =>\n ref === saved.id ||\n presetForRef(ref, [...catalog, saved])?.id === saved.id,\n );\n latest.current.onChange({\n ...current,\n presets: alreadySelected\n ? current.presets\n : [...current.presets, saved.id],\n });\n setDraft(undefined);\n } catch (cause) {\n setError(cause instanceof Error ? cause.message : String(cause));\n } finally {\n pending.current = false;\n setSaving(false);\n }\n };\n const menu: DropdownMenuItem[] = [\n {\n label: \"Presets\",\n icon: UiLayers,\n iconClassName: \"text-muted-foreground\",\n children:\n field.items.length > 0\n ? field.items\n : [\n {\n label: \"No presets yet\",\n disabled: true,\n onSelect: () => {},\n },\n ],\n onSelect: () => {},\n },\n ];\n if (options.onCreatePreset)\n menu.push({\n label: \"Save as preset…\",\n icon: UiSave,\n iconClassName: \"text-muted-foreground\",\n onSelect: () => {\n setError(undefined);\n setDraft({\n ...newPresetRecord(catalog, crypto.randomUUID()),\n spec: runtimeBarPresetSpec(options.value.spec),\n });\n },\n });\n return {\n menu,\n dialogs: (\n <>\n <Modal\n open={ordering}\n onClose={() => setOrdering(false)}\n title=\"Presets\"\n size=\"lg\"\n closeOnEsc\n >\n <OrderedPresetSelect\n presets={catalog}\n value={options.value.presets}\n onChange={select}\n />\n </Modal>\n {draft && (\n <SavePresetDialog\n draft={draft}\n catalog={catalog}\n saving={saving}\n error={error}\n onChange={(next) => {\n setDraft(next);\n setError(undefined);\n }}\n onSave={(next) => void save(next)}\n onClose={() => {\n if (!pending.current) setDraft(undefined);\n }}\n />\n )}\n </>\n ),\n };\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const InputField = require("../../components/InputField.cjs");
5
+ const Icon = require("../Icon.cjs");
6
+ const RuntimeBarSegment = require("../runtime/RuntimeBarSegment.cjs");
7
+ const unspecified = require("../runtime/unspecified.cjs");
8
+ const runtimeActions = require("./PromptRunEditor/runtimeActions.cjs");
9
+ const update = require("./SpecRuntimeEditor/update.cjs");
10
+ const UiGitBranch = require("../../icons/components/UiGitBranch.cjs");
11
+ const UiGitCommit = require("../../icons/components/UiGitCommit.cjs");
12
+ const SOURCE_OPTIONS = [
13
+ { value: "new", label: "New worktree" },
14
+ { value: "existing", label: "Existing worktree" },
15
+ { value: "none", label: "HEAD" }
16
+ ];
17
+ const COMMIT_OPTIONS = [
18
+ { value: "none", label: "Never" },
19
+ { value: "turn", label: "Every turn" },
20
+ { value: "agent", label: "After the loop" },
21
+ { value: "run", label: "End of run" }
22
+ ];
23
+ function runtimeSpecFields({
24
+ value,
25
+ onChange,
26
+ families,
27
+ models = [],
28
+ effectiveMode,
29
+ effectiveModel
30
+ }) {
31
+ const permission = runtimeActions.permissionField({
32
+ spec: value,
33
+ families,
34
+ models,
35
+ effectiveMode,
36
+ effectiveModel,
37
+ onChange
38
+ });
39
+ return [
40
+ ...permission ? [{ ...permission, label: "Permission mode" }] : [],
41
+ sourceField({ value, onChange }),
42
+ commitField({ value, onChange })
43
+ ];
44
+ }
45
+ function sourceField({
46
+ value,
47
+ onChange
48
+ }) {
49
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
50
+ const mode = (_c = (_b = (_a = value.setup) == null ? void 0 : _a.checkout) == null ? void 0 : _b.worktree) == null ? void 0 : _c.mode;
51
+ const label = ((_d = SOURCE_OPTIONS.find((option) => option.value === mode)) == null ? void 0 : _d.label) ?? unspecified.UNSPECIFIED_LABEL;
52
+ return {
53
+ id: "setup.checkout.worktree.mode",
54
+ label: "Source",
55
+ title: `Source — ${label}`,
56
+ icon: UiGitBranch.UiGitBranch,
57
+ isSet: Boolean(mode),
58
+ caption: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
59
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: RuntimeBarSegment.SEGMENT_KEY_CLASS, children: "Source" }),
60
+ /* @__PURE__ */ jsxRuntime.jsx(
61
+ Icon.Icon,
62
+ {
63
+ icon: UiGitBranch.UiGitBranch,
64
+ className: "size-4 shrink-0 text-muted-foreground"
65
+ }
66
+ ),
67
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: RuntimeBarSegment.SEGMENT_CAPTION_CLASS, children: label })
68
+ ] }),
69
+ ...mode === "existing" || mode === "new" ? {
70
+ header: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-1", children: [
71
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: RuntimeBarSegment.SEGMENT_KEY_CLASS, children: "Worktree path" }),
72
+ /* @__PURE__ */ jsxRuntime.jsx(
73
+ InputField.InputField,
74
+ {
75
+ "aria-label": "Worktree path",
76
+ value: ((_g = (_f = (_e = value.setup) == null ? void 0 : _e.checkout) == null ? void 0 : _f.worktree) == null ? void 0 : _g.path) ?? "",
77
+ invalid: mode === "existing" && !((_k = (_j = (_i = (_h = value.setup) == null ? void 0 : _h.checkout) == null ? void 0 : _i.worktree) == null ? void 0 : _j.path) == null ? void 0 : _k.trim()),
78
+ onChange: (path) => onChange(update.withWorktree(value, { path })),
79
+ inputClassName: "font-mono text-xs"
80
+ }
81
+ )
82
+ ] })
83
+ } : {},
84
+ items: [
85
+ {
86
+ label: /* @__PURE__ */ jsxRuntime.jsx(
87
+ RuntimeBarSegment.SegmentItemLabel,
88
+ {
89
+ text: unspecified.UNSPECIFIED_LABEL,
90
+ hint: unspecified.unspecifiedHint(),
91
+ selected: !mode
92
+ }
93
+ ),
94
+ onSelect: () => onChange(update.withWorktree(value, { mode: "" }))
95
+ },
96
+ ...SOURCE_OPTIONS.map((option) => ({
97
+ label: /* @__PURE__ */ jsxRuntime.jsx(
98
+ RuntimeBarSegment.SegmentItemLabel,
99
+ {
100
+ text: option.label,
101
+ selected: mode === option.value
102
+ }
103
+ ),
104
+ onSelect: () => onChange(update.withWorktreeMode(value, option.value))
105
+ }))
106
+ ]
107
+ };
108
+ }
109
+ function commitField({
110
+ value,
111
+ onChange
112
+ }) {
113
+ var _a;
114
+ const isSet = ((_a = value.workflow) == null ? void 0 : _a.commits) !== void 0;
115
+ const phase = update.commitPhase(value);
116
+ const label = isSet ? COMMIT_OPTIONS.find((option) => option.value === phase).label : unspecified.UNSPECIFIED_LABEL;
117
+ return {
118
+ id: "workflow.commits",
119
+ label: "Commit",
120
+ title: `Commit — ${label}`,
121
+ icon: UiGitCommit.UiGitCommit,
122
+ isSet,
123
+ caption: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
124
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: RuntimeBarSegment.SEGMENT_KEY_CLASS, children: "Commit" }),
125
+ /* @__PURE__ */ jsxRuntime.jsx(
126
+ Icon.Icon,
127
+ {
128
+ icon: UiGitCommit.UiGitCommit,
129
+ className: "size-4 shrink-0 text-muted-foreground"
130
+ }
131
+ ),
132
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: RuntimeBarSegment.SEGMENT_CAPTION_CLASS, children: label })
133
+ ] }),
134
+ items: [
135
+ {
136
+ label: /* @__PURE__ */ jsxRuntime.jsx(
137
+ RuntimeBarSegment.SegmentItemLabel,
138
+ {
139
+ text: unspecified.UNSPECIFIED_LABEL,
140
+ hint: unspecified.unspecifiedHint(),
141
+ selected: !isSet
142
+ }
143
+ ),
144
+ onSelect: () => {
145
+ const workflow = { ...value.workflow };
146
+ delete workflow.commits;
147
+ const next = { ...value, workflow };
148
+ if (Object.keys(workflow).length === 0) delete next.workflow;
149
+ onChange(next);
150
+ }
151
+ },
152
+ ...COMMIT_OPTIONS.map((option) => ({
153
+ label: /* @__PURE__ */ jsxRuntime.jsx(
154
+ RuntimeBarSegment.SegmentItemLabel,
155
+ {
156
+ text: option.label,
157
+ selected: isSet && phase === option.value
158
+ }
159
+ ),
160
+ onSelect: () => onChange(update.withCommitPhase(value, option.value))
161
+ }))
162
+ ]
163
+ };
164
+ }
165
+ exports.runtimeSpecFields = runtimeSpecFields;
166
+ //# sourceMappingURL=runtime-spec-fields.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-spec-fields.cjs","sources":["../../../src/data/ai/runtime-spec-fields.tsx"],"sourcesContent":["import { InputField } from \"../../components/InputField\";\nimport { UiGitBranch, UiGitCommit } from \"../../icons\";\nimport { Icon } from \"../Icon\";\nimport type { ChatModel } from \"../chat/types\";\nimport type { RuntimeBarAction } from \"../runtime/RuntimeBarActions\";\nimport {\n SEGMENT_CAPTION_CLASS,\n SEGMENT_KEY_CLASS,\n SegmentItemLabel,\n} from \"../runtime/RuntimeBarSegment\";\nimport type { SpecRuntimeFamily } from \"../runtime/runtime-mode\";\nimport { UNSPECIFIED_LABEL, unspecifiedHint } from \"../runtime/unspecified\";\nimport { permissionField } from \"./PromptRunEditor/runtimeActions\";\nimport type {\n AISpecRuntimeValue,\n SpecCommitPhase,\n SpecWorktreeMode,\n} from \"./SpecRuntimeEditor.model\";\nimport {\n commitPhase,\n withCommitPhase,\n withWorktree,\n withWorktreeMode,\n} from \"./SpecRuntimeEditor/update\";\n\nconst SOURCE_OPTIONS: { value: SpecWorktreeMode; label: string }[] = [\n { value: \"new\", label: \"New worktree\" },\n { value: \"existing\", label: \"Existing worktree\" },\n { value: \"none\", label: \"HEAD\" },\n];\nconst COMMIT_OPTIONS: { value: SpecCommitPhase | \"none\"; label: string }[] = [\n { value: \"none\", label: \"Never\" },\n { value: \"turn\", label: \"Every turn\" },\n { value: \"agent\", label: \"After the loop\" },\n { value: \"run\", label: \"End of run\" },\n];\n\nexport function runtimeSpecFields({\n value,\n onChange,\n families,\n models = [],\n effectiveMode,\n effectiveModel,\n}: {\n value: AISpecRuntimeValue;\n onChange: (next: AISpecRuntimeValue) => void;\n families: SpecRuntimeFamily[];\n models?: ChatModel[];\n effectiveMode?: string | undefined;\n effectiveModel?: string | undefined;\n}): RuntimeBarAction[] {\n const permission = permissionField({\n spec: value,\n families,\n models,\n effectiveMode,\n effectiveModel,\n onChange,\n });\n return [\n ...(permission ? [{ ...permission, label: \"Permission mode\" }] : []),\n sourceField({ value, onChange }),\n commitField({ value, onChange }),\n ];\n}\n\nfunction sourceField({\n value,\n onChange,\n}: {\n value: AISpecRuntimeValue;\n onChange: (next: AISpecRuntimeValue) => void;\n}): RuntimeBarAction {\n const mode = value.setup?.checkout?.worktree?.mode;\n const label =\n SOURCE_OPTIONS.find((option) => option.value === mode)?.label ??\n UNSPECIFIED_LABEL;\n return {\n id: \"setup.checkout.worktree.mode\",\n label: \"Source\",\n title: `Source — ${label}`,\n icon: UiGitBranch,\n isSet: Boolean(mode),\n caption: (\n <>\n <span className={SEGMENT_KEY_CLASS}>Source</span>\n <Icon\n icon={UiGitBranch}\n className=\"size-4 shrink-0 text-muted-foreground\"\n />\n <span className={SEGMENT_CAPTION_CLASS}>{label}</span>\n </>\n ),\n ...(mode === \"existing\" || mode === \"new\"\n ? {\n header: (\n <div className=\"grid gap-1\">\n <span className={SEGMENT_KEY_CLASS}>Worktree path</span>\n <InputField\n aria-label=\"Worktree path\"\n value={value.setup?.checkout?.worktree?.path ?? \"\"}\n invalid={\n mode === \"existing\" &&\n !value.setup?.checkout?.worktree?.path?.trim()\n }\n onChange={(path) => onChange(withWorktree(value, { path }))}\n inputClassName=\"font-mono text-xs\"\n />\n </div>\n ),\n }\n : {}),\n items: [\n {\n label: (\n <SegmentItemLabel\n text={UNSPECIFIED_LABEL}\n hint={unspecifiedHint()}\n selected={!mode}\n />\n ),\n onSelect: () => onChange(withWorktree(value, { mode: \"\" })),\n },\n ...SOURCE_OPTIONS.map((option) => ({\n label: (\n <SegmentItemLabel\n text={option.label}\n selected={mode === option.value}\n />\n ),\n onSelect: () => onChange(withWorktreeMode(value, option.value)),\n })),\n ],\n };\n}\n\nfunction commitField({\n value,\n onChange,\n}: {\n value: AISpecRuntimeValue;\n onChange: (next: AISpecRuntimeValue) => void;\n}): RuntimeBarAction {\n const isSet = value.workflow?.commits !== undefined;\n const phase = commitPhase(value);\n const label = isSet\n ? COMMIT_OPTIONS.find((option) => option.value === phase)!.label\n : UNSPECIFIED_LABEL;\n return {\n id: \"workflow.commits\",\n label: \"Commit\",\n title: `Commit — ${label}`,\n icon: UiGitCommit,\n isSet,\n caption: (\n <>\n <span className={SEGMENT_KEY_CLASS}>Commit</span>\n <Icon\n icon={UiGitCommit}\n className=\"size-4 shrink-0 text-muted-foreground\"\n />\n <span className={SEGMENT_CAPTION_CLASS}>{label}</span>\n </>\n ),\n items: [\n {\n label: (\n <SegmentItemLabel\n text={UNSPECIFIED_LABEL}\n hint={unspecifiedHint()}\n selected={!isSet}\n />\n ),\n onSelect: () => {\n const workflow = { ...value.workflow };\n delete workflow.commits;\n const next: AISpecRuntimeValue = { ...value, workflow };\n if (Object.keys(workflow).length === 0) delete next.workflow;\n onChange(next);\n },\n },\n ...COMMIT_OPTIONS.map((option) => ({\n label: (\n <SegmentItemLabel\n text={option.label}\n selected={isSet && phase === option.value}\n />\n ),\n onSelect: () => onChange(withCommitPhase(value, option.value)),\n })),\n ],\n };\n}\n"],"names":["permissionField","UNSPECIFIED_LABEL","UiGitBranch","jsxs","Fragment","jsx","SEGMENT_KEY_CLASS","Icon","SEGMENT_CAPTION_CLASS","InputField","withWorktree","SegmentItemLabel","unspecifiedHint","withWorktreeMode","commitPhase","UiGitCommit","withCommitPhase"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { ChatModel } from '../chat/types.js';
2
+ import { RuntimeBarAction } from '../runtime/RuntimeBarActions.js';
3
+ import { SpecRuntimeFamily } from '../runtime/runtime-mode.js';
4
+ import { AISpecRuntimeValue } from './SpecRuntimeEditor.model.js';
5
+ export declare function runtimeSpecFields({ value, onChange, families, models, effectiveMode, effectiveModel, }: {
6
+ value: AISpecRuntimeValue;
7
+ onChange: (next: AISpecRuntimeValue) => void;
8
+ families: SpecRuntimeFamily[];
9
+ models?: ChatModel[];
10
+ effectiveMode?: string | undefined;
11
+ effectiveModel?: string | undefined;
12
+ }): RuntimeBarAction[];
13
+ //# sourceMappingURL=runtime-spec-fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-spec-fields.d.ts","sourceRoot":"","sources":["../../../src/data/ai/runtime-spec-fields.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAMrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,OAAO,KAAK,EACV,kBAAkB,EAGnB,MAAM,2BAA2B,CAAC;AAoBnC,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,MAAW,EACX,aAAa,EACb,cAAc,GACf,EAAE;IACD,KAAK,EAAE,kBAAkB,CAAC;IAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC7C,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC,GAAG,gBAAgB,EAAE,CAcrB"}
@@ -0,0 +1,166 @@
1
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
+ import { InputField } from "../../components/InputField.js";
3
+ import { Icon } from "../Icon.js";
4
+ import { SegmentItemLabel, SEGMENT_KEY_CLASS, SEGMENT_CAPTION_CLASS } from "../runtime/RuntimeBarSegment.js";
5
+ import { UNSPECIFIED_LABEL, unspecifiedHint } from "../runtime/unspecified.js";
6
+ import { permissionField } from "./PromptRunEditor/runtimeActions.js";
7
+ import { withWorktree, withWorktreeMode, commitPhase, withCommitPhase } from "./SpecRuntimeEditor/update.js";
8
+ import { UiGitBranch } from "../../icons/components/UiGitBranch.js";
9
+ import { UiGitCommit } from "../../icons/components/UiGitCommit.js";
10
+ const SOURCE_OPTIONS = [
11
+ { value: "new", label: "New worktree" },
12
+ { value: "existing", label: "Existing worktree" },
13
+ { value: "none", label: "HEAD" }
14
+ ];
15
+ const COMMIT_OPTIONS = [
16
+ { value: "none", label: "Never" },
17
+ { value: "turn", label: "Every turn" },
18
+ { value: "agent", label: "After the loop" },
19
+ { value: "run", label: "End of run" }
20
+ ];
21
+ function runtimeSpecFields({
22
+ value,
23
+ onChange,
24
+ families,
25
+ models = [],
26
+ effectiveMode,
27
+ effectiveModel
28
+ }) {
29
+ const permission = permissionField({
30
+ spec: value,
31
+ families,
32
+ models,
33
+ effectiveMode,
34
+ effectiveModel,
35
+ onChange
36
+ });
37
+ return [
38
+ ...permission ? [{ ...permission, label: "Permission mode" }] : [],
39
+ sourceField({ value, onChange }),
40
+ commitField({ value, onChange })
41
+ ];
42
+ }
43
+ function sourceField({
44
+ value,
45
+ onChange
46
+ }) {
47
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
48
+ const mode = (_c = (_b = (_a = value.setup) == null ? void 0 : _a.checkout) == null ? void 0 : _b.worktree) == null ? void 0 : _c.mode;
49
+ const label = ((_d = SOURCE_OPTIONS.find((option) => option.value === mode)) == null ? void 0 : _d.label) ?? UNSPECIFIED_LABEL;
50
+ return {
51
+ id: "setup.checkout.worktree.mode",
52
+ label: "Source",
53
+ title: `Source — ${label}`,
54
+ icon: UiGitBranch,
55
+ isSet: Boolean(mode),
56
+ caption: /* @__PURE__ */ jsxs(Fragment, { children: [
57
+ /* @__PURE__ */ jsx("span", { className: SEGMENT_KEY_CLASS, children: "Source" }),
58
+ /* @__PURE__ */ jsx(
59
+ Icon,
60
+ {
61
+ icon: UiGitBranch,
62
+ className: "size-4 shrink-0 text-muted-foreground"
63
+ }
64
+ ),
65
+ /* @__PURE__ */ jsx("span", { className: SEGMENT_CAPTION_CLASS, children: label })
66
+ ] }),
67
+ ...mode === "existing" || mode === "new" ? {
68
+ header: /* @__PURE__ */ jsxs("div", { className: "grid gap-1", children: [
69
+ /* @__PURE__ */ jsx("span", { className: SEGMENT_KEY_CLASS, children: "Worktree path" }),
70
+ /* @__PURE__ */ jsx(
71
+ InputField,
72
+ {
73
+ "aria-label": "Worktree path",
74
+ value: ((_g = (_f = (_e = value.setup) == null ? void 0 : _e.checkout) == null ? void 0 : _f.worktree) == null ? void 0 : _g.path) ?? "",
75
+ invalid: mode === "existing" && !((_k = (_j = (_i = (_h = value.setup) == null ? void 0 : _h.checkout) == null ? void 0 : _i.worktree) == null ? void 0 : _j.path) == null ? void 0 : _k.trim()),
76
+ onChange: (path) => onChange(withWorktree(value, { path })),
77
+ inputClassName: "font-mono text-xs"
78
+ }
79
+ )
80
+ ] })
81
+ } : {},
82
+ items: [
83
+ {
84
+ label: /* @__PURE__ */ jsx(
85
+ SegmentItemLabel,
86
+ {
87
+ text: UNSPECIFIED_LABEL,
88
+ hint: unspecifiedHint(),
89
+ selected: !mode
90
+ }
91
+ ),
92
+ onSelect: () => onChange(withWorktree(value, { mode: "" }))
93
+ },
94
+ ...SOURCE_OPTIONS.map((option) => ({
95
+ label: /* @__PURE__ */ jsx(
96
+ SegmentItemLabel,
97
+ {
98
+ text: option.label,
99
+ selected: mode === option.value
100
+ }
101
+ ),
102
+ onSelect: () => onChange(withWorktreeMode(value, option.value))
103
+ }))
104
+ ]
105
+ };
106
+ }
107
+ function commitField({
108
+ value,
109
+ onChange
110
+ }) {
111
+ var _a;
112
+ const isSet = ((_a = value.workflow) == null ? void 0 : _a.commits) !== void 0;
113
+ const phase = commitPhase(value);
114
+ const label = isSet ? COMMIT_OPTIONS.find((option) => option.value === phase).label : UNSPECIFIED_LABEL;
115
+ return {
116
+ id: "workflow.commits",
117
+ label: "Commit",
118
+ title: `Commit — ${label}`,
119
+ icon: UiGitCommit,
120
+ isSet,
121
+ caption: /* @__PURE__ */ jsxs(Fragment, { children: [
122
+ /* @__PURE__ */ jsx("span", { className: SEGMENT_KEY_CLASS, children: "Commit" }),
123
+ /* @__PURE__ */ jsx(
124
+ Icon,
125
+ {
126
+ icon: UiGitCommit,
127
+ className: "size-4 shrink-0 text-muted-foreground"
128
+ }
129
+ ),
130
+ /* @__PURE__ */ jsx("span", { className: SEGMENT_CAPTION_CLASS, children: label })
131
+ ] }),
132
+ items: [
133
+ {
134
+ label: /* @__PURE__ */ jsx(
135
+ SegmentItemLabel,
136
+ {
137
+ text: UNSPECIFIED_LABEL,
138
+ hint: unspecifiedHint(),
139
+ selected: !isSet
140
+ }
141
+ ),
142
+ onSelect: () => {
143
+ const workflow = { ...value.workflow };
144
+ delete workflow.commits;
145
+ const next = { ...value, workflow };
146
+ if (Object.keys(workflow).length === 0) delete next.workflow;
147
+ onChange(next);
148
+ }
149
+ },
150
+ ...COMMIT_OPTIONS.map((option) => ({
151
+ label: /* @__PURE__ */ jsx(
152
+ SegmentItemLabel,
153
+ {
154
+ text: option.label,
155
+ selected: isSet && phase === option.value
156
+ }
157
+ ),
158
+ onSelect: () => onChange(withCommitPhase(value, option.value))
159
+ }))
160
+ ]
161
+ };
162
+ }
163
+ export {
164
+ runtimeSpecFields
165
+ };
166
+ //# sourceMappingURL=runtime-spec-fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-spec-fields.js","sources":["../../../src/data/ai/runtime-spec-fields.tsx"],"sourcesContent":["import { InputField } from \"../../components/InputField\";\nimport { UiGitBranch, UiGitCommit } from \"../../icons\";\nimport { Icon } from \"../Icon\";\nimport type { ChatModel } from \"../chat/types\";\nimport type { RuntimeBarAction } from \"../runtime/RuntimeBarActions\";\nimport {\n SEGMENT_CAPTION_CLASS,\n SEGMENT_KEY_CLASS,\n SegmentItemLabel,\n} from \"../runtime/RuntimeBarSegment\";\nimport type { SpecRuntimeFamily } from \"../runtime/runtime-mode\";\nimport { UNSPECIFIED_LABEL, unspecifiedHint } from \"../runtime/unspecified\";\nimport { permissionField } from \"./PromptRunEditor/runtimeActions\";\nimport type {\n AISpecRuntimeValue,\n SpecCommitPhase,\n SpecWorktreeMode,\n} from \"./SpecRuntimeEditor.model\";\nimport {\n commitPhase,\n withCommitPhase,\n withWorktree,\n withWorktreeMode,\n} from \"./SpecRuntimeEditor/update\";\n\nconst SOURCE_OPTIONS: { value: SpecWorktreeMode; label: string }[] = [\n { value: \"new\", label: \"New worktree\" },\n { value: \"existing\", label: \"Existing worktree\" },\n { value: \"none\", label: \"HEAD\" },\n];\nconst COMMIT_OPTIONS: { value: SpecCommitPhase | \"none\"; label: string }[] = [\n { value: \"none\", label: \"Never\" },\n { value: \"turn\", label: \"Every turn\" },\n { value: \"agent\", label: \"After the loop\" },\n { value: \"run\", label: \"End of run\" },\n];\n\nexport function runtimeSpecFields({\n value,\n onChange,\n families,\n models = [],\n effectiveMode,\n effectiveModel,\n}: {\n value: AISpecRuntimeValue;\n onChange: (next: AISpecRuntimeValue) => void;\n families: SpecRuntimeFamily[];\n models?: ChatModel[];\n effectiveMode?: string | undefined;\n effectiveModel?: string | undefined;\n}): RuntimeBarAction[] {\n const permission = permissionField({\n spec: value,\n families,\n models,\n effectiveMode,\n effectiveModel,\n onChange,\n });\n return [\n ...(permission ? [{ ...permission, label: \"Permission mode\" }] : []),\n sourceField({ value, onChange }),\n commitField({ value, onChange }),\n ];\n}\n\nfunction sourceField({\n value,\n onChange,\n}: {\n value: AISpecRuntimeValue;\n onChange: (next: AISpecRuntimeValue) => void;\n}): RuntimeBarAction {\n const mode = value.setup?.checkout?.worktree?.mode;\n const label =\n SOURCE_OPTIONS.find((option) => option.value === mode)?.label ??\n UNSPECIFIED_LABEL;\n return {\n id: \"setup.checkout.worktree.mode\",\n label: \"Source\",\n title: `Source — ${label}`,\n icon: UiGitBranch,\n isSet: Boolean(mode),\n caption: (\n <>\n <span className={SEGMENT_KEY_CLASS}>Source</span>\n <Icon\n icon={UiGitBranch}\n className=\"size-4 shrink-0 text-muted-foreground\"\n />\n <span className={SEGMENT_CAPTION_CLASS}>{label}</span>\n </>\n ),\n ...(mode === \"existing\" || mode === \"new\"\n ? {\n header: (\n <div className=\"grid gap-1\">\n <span className={SEGMENT_KEY_CLASS}>Worktree path</span>\n <InputField\n aria-label=\"Worktree path\"\n value={value.setup?.checkout?.worktree?.path ?? \"\"}\n invalid={\n mode === \"existing\" &&\n !value.setup?.checkout?.worktree?.path?.trim()\n }\n onChange={(path) => onChange(withWorktree(value, { path }))}\n inputClassName=\"font-mono text-xs\"\n />\n </div>\n ),\n }\n : {}),\n items: [\n {\n label: (\n <SegmentItemLabel\n text={UNSPECIFIED_LABEL}\n hint={unspecifiedHint()}\n selected={!mode}\n />\n ),\n onSelect: () => onChange(withWorktree(value, { mode: \"\" })),\n },\n ...SOURCE_OPTIONS.map((option) => ({\n label: (\n <SegmentItemLabel\n text={option.label}\n selected={mode === option.value}\n />\n ),\n onSelect: () => onChange(withWorktreeMode(value, option.value)),\n })),\n ],\n };\n}\n\nfunction commitField({\n value,\n onChange,\n}: {\n value: AISpecRuntimeValue;\n onChange: (next: AISpecRuntimeValue) => void;\n}): RuntimeBarAction {\n const isSet = value.workflow?.commits !== undefined;\n const phase = commitPhase(value);\n const label = isSet\n ? COMMIT_OPTIONS.find((option) => option.value === phase)!.label\n : UNSPECIFIED_LABEL;\n return {\n id: \"workflow.commits\",\n label: \"Commit\",\n title: `Commit — ${label}`,\n icon: UiGitCommit,\n isSet,\n caption: (\n <>\n <span className={SEGMENT_KEY_CLASS}>Commit</span>\n <Icon\n icon={UiGitCommit}\n className=\"size-4 shrink-0 text-muted-foreground\"\n />\n <span className={SEGMENT_CAPTION_CLASS}>{label}</span>\n </>\n ),\n items: [\n {\n label: (\n <SegmentItemLabel\n text={UNSPECIFIED_LABEL}\n hint={unspecifiedHint()}\n selected={!isSet}\n />\n ),\n onSelect: () => {\n const workflow = { ...value.workflow };\n delete workflow.commits;\n const next: AISpecRuntimeValue = { ...value, workflow };\n if (Object.keys(workflow).length === 0) delete next.workflow;\n onChange(next);\n },\n },\n ...COMMIT_OPTIONS.map((option) => ({\n label: (\n <SegmentItemLabel\n text={option.label}\n selected={isSet && phase === option.value}\n />\n ),\n onSelect: () => onChange(withCommitPhase(value, option.value)),\n })),\n ],\n };\n}\n"],"names":[],"mappings":"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"}
@@ -214,6 +214,9 @@ function eventCategory(event) {
214
214
  if (event.kind !== "tool") return null;
215
215
  return classifyToolCategory(event.tool ?? "", event.toolInput);
216
216
  }
217
+ function isEncryptedReasoning(event) {
218
+ return event.kind === "thinking" && /^\d+ encrypted reasoning records? (?:at|over) \S/.test(event.text ?? "");
219
+ }
217
220
  function isEventVisible(event, v) {
218
221
  if (event.pending) return true;
219
222
  if (event.kind === "thinking") return v.showThinking;
@@ -249,5 +252,6 @@ exports.classifyCommand = classifyCommand;
249
252
  exports.classifyToolCategory = classifyToolCategory;
250
253
  exports.collectSessionFilters = collectSessionFilters;
251
254
  exports.eventCategory = eventCategory;
255
+ exports.isEncryptedReasoning = isEncryptedReasoning;
252
256
  exports.isEventVisible = isEventVisible;
253
257
  //# sourceMappingURL=session-categories.cjs.map