@burdenoff/microfe-vibecontrols 2026.601.12 → 2026.601.13

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 (286) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +5 -2
  2. package/dist/components/actions/ActionForm.js +270 -255
  3. package/dist/components/actions/ActionForm.js.map +1 -1
  4. package/dist/components/actions/RemoteExecutionEnableNotice.js +85 -0
  5. package/dist/components/actions/RemoteExecutionEnableNotice.js.map +1 -0
  6. package/dist/components/agents/AgentConnectionRecovery.js +123 -0
  7. package/dist/components/agents/AgentConnectionRecovery.js.map +1 -0
  8. package/dist/components/agents/RemoteTaskPermissionsCard.js +37 -36
  9. package/dist/components/agents/RemoteTaskPermissionsCard.js.map +1 -1
  10. package/dist/components/graph/MeshAgentNode.js +74 -0
  11. package/dist/components/graph/MeshAgentNode.js.map +1 -0
  12. package/dist/components/graph/MeshDeployWizard.js +393 -0
  13. package/dist/components/graph/MeshDeployWizard.js.map +1 -0
  14. package/dist/components/graph/MeshGraphView.js +190 -0
  15. package/dist/components/graph/MeshGraphView.js.map +1 -0
  16. package/dist/components/graph/MeshNodeActions.js +70 -0
  17. package/dist/components/graph/MeshNodeActions.js.map +1 -0
  18. package/dist/components/graph/MeshRequestPanel.js +240 -0
  19. package/dist/components/graph/MeshRequestPanel.js.map +1 -0
  20. package/dist/components/graph/meshTypes.js +11 -0
  21. package/dist/components/graph/meshTypes.js.map +1 -0
  22. package/dist/components/graph/nodeIcons.js +31 -0
  23. package/dist/components/graph/nodeIcons.js.map +1 -0
  24. package/dist/components/shared/EnableRemoteTaskDialog.js +48 -0
  25. package/dist/components/shared/EnableRemoteTaskDialog.js.map +1 -0
  26. package/dist/components/shared/index.js +1 -0
  27. package/dist/generated/wspace-operations.js +1896 -1649
  28. package/dist/generated/wspace-operations.js.map +1 -1
  29. package/dist/generated/wspace-types.js +14 -12
  30. package/dist/generated/wspace-types.js.map +1 -1
  31. package/dist/index.js +10 -10
  32. package/dist/node_modules/dagre/index.js +24 -0
  33. package/dist/node_modules/dagre/index.js.map +1 -0
  34. package/dist/node_modules/dagre/lib/acyclic.js +47 -0
  35. package/dist/node_modules/dagre/lib/acyclic.js.map +1 -0
  36. package/dist/node_modules/dagre/lib/add-border-segments.js +32 -0
  37. package/dist/node_modules/dagre/lib/add-border-segments.js.map +1 -0
  38. package/dist/node_modules/dagre/lib/coordinate-system.js +57 -0
  39. package/dist/node_modules/dagre/lib/coordinate-system.js.map +1 -0
  40. package/dist/node_modules/dagre/lib/data/list.js +30 -0
  41. package/dist/node_modules/dagre/lib/data/list.js.map +1 -0
  42. package/dist/node_modules/dagre/lib/debug.js +31 -0
  43. package/dist/node_modules/dagre/lib/debug.js.map +1 -0
  44. package/dist/node_modules/dagre/lib/graphlib.js +15 -0
  45. package/dist/node_modules/dagre/lib/graphlib.js.map +1 -0
  46. package/dist/node_modules/dagre/lib/greedy-fas.js +74 -0
  47. package/dist/node_modules/dagre/lib/greedy-fas.js.map +1 -0
  48. package/dist/node_modules/dagre/lib/layout.js +305 -0
  49. package/dist/node_modules/dagre/lib/layout.js.map +1 -0
  50. package/dist/node_modules/dagre/lib/lodash.js +67 -0
  51. package/dist/node_modules/dagre/lib/lodash.js.map +1 -0
  52. package/dist/node_modules/dagre/lib/nesting-graph.js +76 -0
  53. package/dist/node_modules/dagre/lib/nesting-graph.js.map +1 -0
  54. package/dist/node_modules/dagre/lib/normalize.js +45 -0
  55. package/dist/node_modules/dagre/lib/normalize.js.map +1 -0
  56. package/dist/node_modules/dagre/lib/order/add-subgraph-constraints.js +24 -0
  57. package/dist/node_modules/dagre/lib/order/add-subgraph-constraints.js.map +1 -0
  58. package/dist/node_modules/dagre/lib/order/barycenter.js +34 -0
  59. package/dist/node_modules/dagre/lib/order/barycenter.js.map +1 -0
  60. package/dist/node_modules/dagre/lib/order/build-layer-graph.js +32 -0
  61. package/dist/node_modules/dagre/lib/order/build-layer-graph.js.map +1 -0
  62. package/dist/node_modules/dagre/lib/order/cross-count.js +39 -0
  63. package/dist/node_modules/dagre/lib/order/cross-count.js.map +1 -0
  64. package/dist/node_modules/dagre/lib/order/index.js +50 -0
  65. package/dist/node_modules/dagre/lib/order/index.js.map +1 -0
  66. package/dist/node_modules/dagre/lib/order/init-order.js +28 -0
  67. package/dist/node_modules/dagre/lib/order/init-order.js.map +1 -0
  68. package/dist/node_modules/dagre/lib/order/resolve-conflicts.js +61 -0
  69. package/dist/node_modules/dagre/lib/order/resolve-conflicts.js.map +1 -0
  70. package/dist/node_modules/dagre/lib/order/sort-subgraph.js +50 -0
  71. package/dist/node_modules/dagre/lib/order/sort-subgraph.js.map +1 -0
  72. package/dist/node_modules/dagre/lib/order/sort.js +34 -0
  73. package/dist/node_modules/dagre/lib/order/sort.js.map +1 -0
  74. package/dist/node_modules/dagre/lib/parent-dummy-chains.js +50 -0
  75. package/dist/node_modules/dagre/lib/parent-dummy-chains.js.map +1 -0
  76. package/dist/node_modules/dagre/lib/position/bk.js +212 -0
  77. package/dist/node_modules/dagre/lib/position/bk.js.map +1 -0
  78. package/dist/node_modules/dagre/lib/position/index.js +30 -0
  79. package/dist/node_modules/dagre/lib/position/index.js.map +1 -0
  80. package/dist/node_modules/dagre/lib/rank/feasible-tree.js +39 -0
  81. package/dist/node_modules/dagre/lib/rank/feasible-tree.js.map +1 -0
  82. package/dist/node_modules/dagre/lib/rank/index.js +35 -0
  83. package/dist/node_modules/dagre/lib/rank/index.js.map +1 -0
  84. package/dist/node_modules/dagre/lib/rank/network-simplex.js +90 -0
  85. package/dist/node_modules/dagre/lib/rank/network-simplex.js.map +1 -0
  86. package/dist/node_modules/dagre/lib/rank/util.js +31 -0
  87. package/dist/node_modules/dagre/lib/rank/util.js.map +1 -0
  88. package/dist/node_modules/dagre/lib/util.js +151 -0
  89. package/dist/node_modules/dagre/lib/util.js.map +1 -0
  90. package/dist/node_modules/dagre/lib/version.js +10 -0
  91. package/dist/node_modules/dagre/lib/version.js.map +1 -0
  92. package/dist/node_modules/graphlib/index.js +19 -0
  93. package/dist/node_modules/graphlib/index.js.map +1 -0
  94. package/dist/node_modules/graphlib/lib/alg/components.js +21 -0
  95. package/dist/node_modules/graphlib/lib/alg/components.js.map +1 -0
  96. package/dist/node_modules/graphlib/lib/alg/dfs.js +25 -0
  97. package/dist/node_modules/graphlib/lib/alg/dfs.js.map +1 -0
  98. package/dist/node_modules/graphlib/lib/alg/dijkstra-all.js +18 -0
  99. package/dist/node_modules/graphlib/lib/alg/dijkstra-all.js.map +1 -0
  100. package/dist/node_modules/graphlib/lib/alg/dijkstra.js +31 -0
  101. package/dist/node_modules/graphlib/lib/alg/dijkstra.js.map +1 -0
  102. package/dist/node_modules/graphlib/lib/alg/find-cycles.js +18 -0
  103. package/dist/node_modules/graphlib/lib/alg/find-cycles.js.map +1 -0
  104. package/dist/node_modules/graphlib/lib/alg/floyd-warshall.js +41 -0
  105. package/dist/node_modules/graphlib/lib/alg/floyd-warshall.js.map +1 -0
  106. package/dist/node_modules/graphlib/lib/alg/index.js +33 -0
  107. package/dist/node_modules/graphlib/lib/alg/index.js.map +1 -0
  108. package/dist/node_modules/graphlib/lib/alg/is-acyclic.js +21 -0
  109. package/dist/node_modules/graphlib/lib/alg/is-acyclic.js.map +1 -0
  110. package/dist/node_modules/graphlib/lib/alg/postorder.js +15 -0
  111. package/dist/node_modules/graphlib/lib/alg/postorder.js.map +1 -0
  112. package/dist/node_modules/graphlib/lib/alg/preorder.js +15 -0
  113. package/dist/node_modules/graphlib/lib/alg/preorder.js.map +1 -0
  114. package/dist/node_modules/graphlib/lib/alg/prim.js +35 -0
  115. package/dist/node_modules/graphlib/lib/alg/prim.js.map +1 -0
  116. package/dist/node_modules/graphlib/lib/alg/tarjan.js +34 -0
  117. package/dist/node_modules/graphlib/lib/alg/tarjan.js.map +1 -0
  118. package/dist/node_modules/graphlib/lib/alg/topsort.js +23 -0
  119. package/dist/node_modules/graphlib/lib/alg/topsort.js.map +1 -0
  120. package/dist/node_modules/graphlib/lib/data/priority-queue.js +56 -0
  121. package/dist/node_modules/graphlib/lib/data/priority-queue.js.map +1 -0
  122. package/dist/node_modules/graphlib/lib/graph.js +196 -0
  123. package/dist/node_modules/graphlib/lib/graph.js.map +1 -0
  124. package/dist/node_modules/graphlib/lib/index.js +15 -0
  125. package/dist/node_modules/graphlib/lib/index.js.map +1 -0
  126. package/dist/node_modules/graphlib/lib/json.js +55 -0
  127. package/dist/node_modules/graphlib/lib/json.js.map +1 -0
  128. package/dist/node_modules/graphlib/lib/lodash.js +47 -0
  129. package/dist/node_modules/graphlib/lib/lodash.js.map +1 -0
  130. package/dist/node_modules/graphlib/lib/version.js +10 -0
  131. package/dist/node_modules/graphlib/lib/version.js.map +1 -0
  132. package/dist/node_modules/lodash/_arrayEach.js +14 -0
  133. package/dist/node_modules/lodash/_arrayEach.js.map +1 -0
  134. package/dist/node_modules/lodash/_arrayReduce.js +15 -0
  135. package/dist/node_modules/lodash/_arrayReduce.js.map +1 -0
  136. package/dist/node_modules/lodash/_asciiSize.js +11 -0
  137. package/dist/node_modules/lodash/_asciiSize.js.map +1 -0
  138. package/dist/node_modules/lodash/_assignMergeValue.js +16 -0
  139. package/dist/node_modules/lodash/_assignMergeValue.js.map +1 -0
  140. package/dist/node_modules/lodash/_assignValue.js +17 -0
  141. package/dist/node_modules/lodash/_assignValue.js.map +1 -0
  142. package/dist/node_modules/lodash/_baseAssign.js +16 -0
  143. package/dist/node_modules/lodash/_baseAssign.js.map +1 -0
  144. package/dist/node_modules/lodash/_baseAssignIn.js +16 -0
  145. package/dist/node_modules/lodash/_baseAssignIn.js.map +1 -0
  146. package/dist/node_modules/lodash/_baseClone.js +64 -0
  147. package/dist/node_modules/lodash/_baseClone.js.map +1 -0
  148. package/dist/node_modules/lodash/_baseCreate.js +21 -0
  149. package/dist/node_modules/lodash/_baseCreate.js.map +1 -0
  150. package/dist/node_modules/lodash/_baseFilter.js +18 -0
  151. package/dist/node_modules/lodash/_baseFilter.js.map +1 -0
  152. package/dist/node_modules/lodash/_baseHas.js +14 -0
  153. package/dist/node_modules/lodash/_baseHas.js.map +1 -0
  154. package/dist/node_modules/lodash/_baseIsMap.js +16 -0
  155. package/dist/node_modules/lodash/_baseIsMap.js.map +1 -0
  156. package/dist/node_modules/lodash/_baseIsSet.js +16 -0
  157. package/dist/node_modules/lodash/_baseIsSet.js.map +1 -0
  158. package/dist/node_modules/lodash/_baseKeysIn.js +20 -0
  159. package/dist/node_modules/lodash/_baseKeysIn.js.map +1 -0
  160. package/dist/node_modules/lodash/_baseMerge.js +27 -0
  161. package/dist/node_modules/lodash/_baseMerge.js.map +1 -0
  162. package/dist/node_modules/lodash/_baseMergeDeep.js +39 -0
  163. package/dist/node_modules/lodash/_baseMergeDeep.js.map +1 -0
  164. package/dist/node_modules/lodash/_basePick.js +18 -0
  165. package/dist/node_modules/lodash/_basePick.js.map +1 -0
  166. package/dist/node_modules/lodash/_basePickBy.js +21 -0
  167. package/dist/node_modules/lodash/_basePickBy.js.map +1 -0
  168. package/dist/node_modules/lodash/_baseReduce.js +15 -0
  169. package/dist/node_modules/lodash/_baseReduce.js.map +1 -0
  170. package/dist/node_modules/lodash/_baseSet.js +30 -0
  171. package/dist/node_modules/lodash/_baseSet.js.map +1 -0
  172. package/dist/node_modules/lodash/_baseValues.js +17 -0
  173. package/dist/node_modules/lodash/_baseValues.js.map +1 -0
  174. package/dist/node_modules/lodash/_baseZipObject.js +17 -0
  175. package/dist/node_modules/lodash/_baseZipObject.js.map +1 -0
  176. package/dist/node_modules/lodash/_castFunction.js +15 -0
  177. package/dist/node_modules/lodash/_castFunction.js.map +1 -0
  178. package/dist/node_modules/lodash/_cloneArrayBuffer.js +16 -0
  179. package/dist/node_modules/lodash/_cloneArrayBuffer.js.map +1 -0
  180. package/dist/node_modules/lodash/_cloneBuffer.js +17 -0
  181. package/dist/node_modules/lodash/_cloneBuffer.js.map +1 -0
  182. package/dist/node_modules/lodash/_cloneDataView.js +16 -0
  183. package/dist/node_modules/lodash/_cloneDataView.js.map +1 -0
  184. package/dist/node_modules/lodash/_cloneRegExp.js +15 -0
  185. package/dist/node_modules/lodash/_cloneRegExp.js.map +1 -0
  186. package/dist/node_modules/lodash/_cloneSymbol.js +15 -0
  187. package/dist/node_modules/lodash/_cloneSymbol.js.map +1 -0
  188. package/dist/node_modules/lodash/_cloneTypedArray.js +16 -0
  189. package/dist/node_modules/lodash/_cloneTypedArray.js.map +1 -0
  190. package/dist/node_modules/lodash/_copyArray.js +15 -0
  191. package/dist/node_modules/lodash/_copyArray.js.map +1 -0
  192. package/dist/node_modules/lodash/_copyObject.js +22 -0
  193. package/dist/node_modules/lodash/_copyObject.js.map +1 -0
  194. package/dist/node_modules/lodash/_copySymbols.js +16 -0
  195. package/dist/node_modules/lodash/_copySymbols.js.map +1 -0
  196. package/dist/node_modules/lodash/_copySymbolsIn.js +16 -0
  197. package/dist/node_modules/lodash/_copySymbolsIn.js.map +1 -0
  198. package/dist/node_modules/lodash/_createAssigner.js +23 -0
  199. package/dist/node_modules/lodash/_createAssigner.js.map +1 -0
  200. package/dist/node_modules/lodash/_flatRest.js +17 -0
  201. package/dist/node_modules/lodash/_flatRest.js.map +1 -0
  202. package/dist/node_modules/lodash/_getAllKeysIn.js +17 -0
  203. package/dist/node_modules/lodash/_getAllKeysIn.js.map +1 -0
  204. package/dist/node_modules/lodash/_getSymbolsIn.js +18 -0
  205. package/dist/node_modules/lodash/_getSymbolsIn.js.map +1 -0
  206. package/dist/node_modules/lodash/_initCloneArray.js +15 -0
  207. package/dist/node_modules/lodash/_initCloneArray.js.map +1 -0
  208. package/dist/node_modules/lodash/_initCloneByTag.js +40 -0
  209. package/dist/node_modules/lodash/_initCloneByTag.js.map +1 -0
  210. package/dist/node_modules/lodash/_initCloneObject.js +17 -0
  211. package/dist/node_modules/lodash/_initCloneObject.js.map +1 -0
  212. package/dist/node_modules/lodash/_nativeKeysIn.js +15 -0
  213. package/dist/node_modules/lodash/_nativeKeysIn.js.map +1 -0
  214. package/dist/node_modules/lodash/_safeGet.js +13 -0
  215. package/dist/node_modules/lodash/_safeGet.js.map +1 -0
  216. package/dist/node_modules/lodash/_stringSize.js +17 -0
  217. package/dist/node_modules/lodash/_stringSize.js.map +1 -0
  218. package/dist/node_modules/lodash/_unicodeSize.js +25 -0
  219. package/dist/node_modules/lodash/_unicodeSize.js.map +1 -0
  220. package/dist/node_modules/lodash/clone.js +15 -0
  221. package/dist/node_modules/lodash/clone.js.map +1 -0
  222. package/dist/node_modules/lodash/cloneDeep.js +15 -0
  223. package/dist/node_modules/lodash/cloneDeep.js.map +1 -0
  224. package/dist/node_modules/lodash/defaults.js +23 -0
  225. package/dist/node_modules/lodash/defaults.js.map +1 -0
  226. package/dist/node_modules/lodash/each.js +11 -0
  227. package/dist/node_modules/lodash/each.js.map +1 -0
  228. package/dist/node_modules/lodash/filter.js +18 -0
  229. package/dist/node_modules/lodash/filter.js.map +1 -0
  230. package/dist/node_modules/lodash/flatten.js +15 -0
  231. package/dist/node_modules/lodash/flatten.js.map +1 -0
  232. package/dist/node_modules/lodash/forEach.js +18 -0
  233. package/dist/node_modules/lodash/forEach.js.map +1 -0
  234. package/dist/node_modules/lodash/forIn.js +17 -0
  235. package/dist/node_modules/lodash/forIn.js.map +1 -0
  236. package/dist/node_modules/lodash/has.js +16 -0
  237. package/dist/node_modules/lodash/has.js.map +1 -0
  238. package/dist/node_modules/lodash/isArrayLikeObject.js +16 -0
  239. package/dist/node_modules/lodash/isArrayLikeObject.js.map +1 -0
  240. package/dist/node_modules/lodash/isEmpty.js +28 -0
  241. package/dist/node_modules/lodash/isEmpty.js.map +1 -0
  242. package/dist/node_modules/lodash/isMap.js +14 -0
  243. package/dist/node_modules/lodash/isMap.js.map +1 -0
  244. package/dist/node_modules/lodash/isSet.js +14 -0
  245. package/dist/node_modules/lodash/isSet.js.map +1 -0
  246. package/dist/node_modules/lodash/isUndefined.js +13 -0
  247. package/dist/node_modules/lodash/isUndefined.js.map +1 -0
  248. package/dist/node_modules/lodash/keysIn.js +17 -0
  249. package/dist/node_modules/lodash/keysIn.js.map +1 -0
  250. package/dist/node_modules/lodash/merge.js +15 -0
  251. package/dist/node_modules/lodash/merge.js.map +1 -0
  252. package/dist/node_modules/lodash/pick.js +15 -0
  253. package/dist/node_modules/lodash/pick.js.map +1 -0
  254. package/dist/node_modules/lodash/reduce.js +20 -0
  255. package/dist/node_modules/lodash/reduce.js.map +1 -0
  256. package/dist/node_modules/lodash/size.js +22 -0
  257. package/dist/node_modules/lodash/size.js.map +1 -0
  258. package/dist/node_modules/lodash/toPlainObject.js +16 -0
  259. package/dist/node_modules/lodash/toPlainObject.js.map +1 -0
  260. package/dist/node_modules/lodash/transform.js +31 -0
  261. package/dist/node_modules/lodash/transform.js.map +1 -0
  262. package/dist/node_modules/lodash/union.js +17 -0
  263. package/dist/node_modules/lodash/union.js.map +1 -0
  264. package/dist/node_modules/lodash/uniqueId.js +16 -0
  265. package/dist/node_modules/lodash/uniqueId.js.map +1 -0
  266. package/dist/node_modules/lodash/values.js +16 -0
  267. package/dist/node_modules/lodash/values.js.map +1 -0
  268. package/dist/node_modules/lodash/zipObject.js +16 -0
  269. package/dist/node_modules/lodash/zipObject.js.map +1 -0
  270. package/dist/pages/ActionsPage.js +269 -230
  271. package/dist/pages/ActionsPage.js.map +1 -1
  272. package/dist/pages/AgentDetailsPage.js +442 -436
  273. package/dist/pages/AgentDetailsPage.js.map +1 -1
  274. package/dist/pages/AgentGraphPage.js +251 -118
  275. package/dist/pages/AgentGraphPage.js.map +1 -1
  276. package/dist/pages/VibeDeckPage.js +268 -224
  277. package/dist/pages/VibeDeckPage.js.map +1 -1
  278. package/dist/services/agentRemoteTaskGates.js +29 -0
  279. package/dist/services/agentRemoteTaskGates.js.map +1 -0
  280. package/package.json +3 -1
  281. package/dist/components/graph/AgentGraphView.js +0 -237
  282. package/dist/components/graph/AgentGraphView.js.map +0 -1
  283. package/dist/components/graph/AgentNode.js +0 -54
  284. package/dist/components/graph/AgentNode.js.map +0 -1
  285. package/dist/components/graph/TargetNode.js +0 -76
  286. package/dist/components/graph/TargetNode.js.map +0 -1
@@ -10,58 +10,61 @@ import { ErrorState as me } from "../components/shared/ErrorState.js";
10
10
  import { EntityTagPicker as he } from "../components/shared/EntityTagPicker.js";
11
11
  import { useDraftEntityTags as ge } from "../hooks/useDraftEntityTags.js";
12
12
  import { EmptyState as _e } from "../components/shared/EmptyState.js";
13
- import { LINK_TO_VIBE_DEFAULT as ve, LinkToVibePanel as ye, linkToVibeInput as be } from "../components/shared/LinkToVibePanel.js";
14
- import { GetHelpButton as xe } from "../components/shared/GetHelpButton.js";
15
- import { SelectionCheckbox as Se } from "../components/shared/SelectionCheckbox.js";
13
+ import { EnableRemoteTaskDialog as ve } from "../components/shared/EnableRemoteTaskDialog.js";
14
+ import { LINK_TO_VIBE_DEFAULT as ye, LinkToVibePanel as be, linkToVibeInput as xe } from "../components/shared/LinkToVibePanel.js";
15
+ import { GetHelpButton as Se } from "../components/shared/GetHelpButton.js";
16
+ import { SelectionCheckbox as Ce } from "../components/shared/SelectionCheckbox.js";
17
+ import { useActiveAgentProfile as we } from "../hooks/useActiveAgentProfile.js";
16
18
  import "../components/shared/index.js";
17
- import { isNative as Ce, nativeNotify as we } from "../utils/nativeBridge.js";
19
+ import { isNative as Te, nativeNotify as Ee } from "../utils/nativeBridge.js";
20
+ import { enableRemoteTaskExecution as De, isRemoteTaskDeniedError as Oe } from "../services/agentRemoteTaskGates.js";
18
21
  import { VIBE_PERMISSIONS as c } from "../constants/permissions.js";
19
- import { VibeDeckGrid as Te } from "../components/vibedeck/VibeDeckGrid.js";
20
- import { VibeDeckSwitcher as Ee } from "../components/vibedeck/VibeDeckSwitcher.js";
21
- import { VibeDeckForm as De } from "../components/vibedeck/VibeDeckForm.js";
22
- import { VibeDeckButtonForm as Oe } from "../components/vibedeck/VibeDeckButtonForm.js";
23
- import { VibeDeckShareDialog as ke } from "../components/vibedeck/VibeDeckShareDialog.js";
24
- import { VibeDeckExecutionLog as Ae } from "../components/vibedeck/VibeDeckExecutionLog.js";
22
+ import { VibeDeckGrid as ke } from "../components/vibedeck/VibeDeckGrid.js";
23
+ import { VibeDeckSwitcher as Ae } from "../components/vibedeck/VibeDeckSwitcher.js";
24
+ import { VibeDeckForm as je } from "../components/vibedeck/VibeDeckForm.js";
25
+ import { VibeDeckButtonForm as Me } from "../components/vibedeck/VibeDeckButtonForm.js";
26
+ import { VibeDeckShareDialog as Ne } from "../components/vibedeck/VibeDeckShareDialog.js";
27
+ import { VibeDeckExecutionLog as Pe } from "../components/vibedeck/VibeDeckExecutionLog.js";
25
28
  import "../components/vibedeck/index.js";
26
- import { useCallback as l, useEffect as je, useMemo as Me, useRef as Ne, useState as u } from "react";
27
- import { useI18n as Pe } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
28
- import { Copy as Fe, Eye as Ie, Pencil as Le, Play as Re, RefreshCw as ze, Share2 as Be, Star as Ve, Trash2 as He } from "lucide-react";
29
- import { usePermissions as Ue } from "@burdenoff/fe-libs/shared/providers/shell";
30
- import { AnimatePresence as We } from "framer-motion";
29
+ import { useCallback as l, useEffect as Fe, useMemo as Ie, useRef as Le, useState as u } from "react";
30
+ import { useI18n as Re } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
31
+ import { Copy as ze, Eye as Be, Pencil as Ve, Play as He, RefreshCw as Ue, Share2 as We, Star as Ge, Trash2 as Ke } from "lucide-react";
32
+ import { usePermissions as qe } from "@burdenoff/fe-libs/shared/providers/shell";
33
+ import { AnimatePresence as Je } from "framer-motion";
31
34
  import { jsx as d, jsxs as f } from "react/jsx-runtime";
32
- import { useEventBus as Ge } from "@burdenoff/fe-libs/shared/events";
33
- import { AccessDenied as Ke } from "@burdenoff/fe-libs/shared/components";
35
+ import { useEventBus as Ye } from "@burdenoff/fe-libs/shared/events";
36
+ import { AccessDenied as Xe } from "@burdenoff/fe-libs/shared/components";
34
37
  import { MotionPage as p } from "@burdenoff/fe-libs/shared/motion";
35
38
  //#region src/pages/VibeDeckPage.tsx
36
- function qe() {
37
- let qe = de(), { workspaceId: m } = ue(), h = Ge(), { hasPermission: g, isLoading: Je, permissions: _ } = Ue(), v = ((e) => (t, n) => {
39
+ function Ze() {
40
+ let Ze = de(), { workspaceId: m } = ue(), h = Ye(), { hasPermission: g, isLoading: Qe, permissions: _ } = qe(), v = ((e) => (t, n) => {
38
41
  let r = e.t(t);
39
42
  return r === t ? n : r;
40
- })(Pe()), y = (Array.isArray(_) ? _ : _?.permissionStrings)?.some?.((e) => e.startsWith("vibedeck:")), Ye = y ? g(c.VIBEDECK_LIST) : !0, Xe = y ? g(c.VIBEDECK_CREATE) : !0, Ze = y ? g(c.VIBEDECK_UPDATE) : !0, Qe = y ? g(c.VIBEDECK_DELETE) : !0, $e = y ? g(c.VIBEDECK_EXECUTE) : !0, et = Je, { activeVibeDeckId: b, setActiveVibeDeckId: x, vibeDeckMode: tt, setVibeDeckMode: nt } = fe(), S = tt === "preview", rt = S ? !1 : Xe, it = S ? !1 : Ze, at = S ? !1 : Qe, [C, w] = u({ type: "none" }), [ot, st] = u(null), [T, ct] = u(/* @__PURE__ */ new Set()), [E, D] = u(/* @__PURE__ */ new Set()), [lt, O] = u(null), [ut, k] = u(null), [A, j] = u(null), [dt, ft] = u([]), M = Ne(/* @__PURE__ */ new Map()), [pt, mt] = u(ve), [ht, gt] = u([]), [_t, vt] = u(!0), [yt, bt] = u(/* @__PURE__ */ new Map()), [xt, St] = u(null), N = Ne(/* @__PURE__ */ new Map());
41
- je(() => {
43
+ })(Re()), y = (Array.isArray(_) ? _ : _?.permissionStrings)?.some?.((e) => e.startsWith("vibedeck:")), $e = y ? g(c.VIBEDECK_LIST) : !0, et = y ? g(c.VIBEDECK_CREATE) : !0, tt = y ? g(c.VIBEDECK_UPDATE) : !0, nt = y ? g(c.VIBEDECK_DELETE) : !0, rt = y ? g(c.VIBEDECK_EXECUTE) : !0, it = Qe, { activeVibeDeckId: b, setActiveVibeDeckId: x, vibeDeckMode: at, setVibeDeckMode: ot } = fe(), S = at === "preview", st = S ? !1 : et, ct = S ? !1 : tt, lt = S ? !1 : nt, [C, w] = u({ type: "none" }), [ut, dt] = u(null), [T, ft] = u(/* @__PURE__ */ new Set()), [E, D] = u(/* @__PURE__ */ new Set()), [pt, mt] = u(null), [ht, O] = u(null), [k, A] = u(null), [gt, _t] = u([]), j = Le(/* @__PURE__ */ new Map()), [vt, yt] = u(ye), [bt, xt] = u([]), [St, Ct] = u(!0), [wt, Tt] = u(/* @__PURE__ */ new Map()), [Et, Dt] = u(null), [M, Ot] = u(null), [kt, At] = u(!1), { profiles: jt } = we(M?.agentId ?? null), Mt = jt.find((e) => e.isDefault)?.name ?? "default", N = Le(/* @__PURE__ */ new Map());
44
+ Fe(() => {
42
45
  let e = N.current;
43
46
  return () => {
44
47
  for (let t of e.values()) clearTimeout(t);
45
48
  };
46
49
  }, []);
47
- let Ct = l((e) => {
50
+ let Nt = l((e) => {
48
51
  let t = `${Date.now()}-${Math.random().toString(36).slice(2, 8)}`, n = {
49
52
  ...e,
50
53
  id: t
51
54
  };
52
- return gt((e) => [...e.slice(-49), n]), t;
55
+ return xt((e) => [...e.slice(-49), n]), t;
53
56
  }, []), P = l((e, t) => {
54
- gt((n) => n.map((n) => n.id === e ? {
57
+ xt((n) => n.map((n) => n.id === e ? {
55
58
  ...n,
56
59
  ...t
57
60
  } : n));
58
61
  }, []), F = l((e, t) => {
59
- if (bt((n) => {
62
+ if (Tt((n) => {
60
63
  let r = new Map(n);
61
64
  return r.set(e, t), r;
62
65
  }), t === "success" || t === "error") {
63
66
  let n = setTimeout(() => {
64
- bt((n) => {
67
+ Tt((n) => {
65
68
  let r = new Map(n);
66
69
  return r.get(e) === t && r.delete(e), r;
67
70
  }), N.current.delete(e);
@@ -69,65 +72,65 @@ function qe() {
69
72
  r && clearTimeout(r), N.current.set(e, n);
70
73
  }
71
74
  }, []);
72
- je(() => {
73
- let e = M.current;
75
+ Fe(() => {
76
+ let e = j.current;
74
77
  return () => {
75
78
  for (let t of e.values()) clearTimeout(t);
76
79
  };
77
80
  }, []);
78
81
  let I = l((e, t, n, r) => {
79
82
  let i = Date.now() + Math.random();
80
- ft((r) => [...r, {
83
+ _t((r) => [...r, {
81
84
  message: e,
82
85
  variant: t,
83
86
  detail: n,
84
87
  id: i
85
88
  }]);
86
89
  let ee = setTimeout(() => {
87
- ft((e) => e.filter((e) => e.id !== i)), M.current.delete(i);
90
+ _t((e) => e.filter((e) => e.id !== i)), j.current.delete(i);
88
91
  }, r ?? (t === "success" ? 1e4 : 3e4));
89
- M.current.set(i, ee);
90
- }, []), wt = l((e) => {
91
- ft((t) => t.filter((t) => t.id !== e));
92
- let t = M.current.get(e);
93
- t && (clearTimeout(t), M.current.delete(e));
92
+ j.current.set(i, ee);
93
+ }, []), Pt = l((e) => {
94
+ _t((t) => t.filter((t) => t.id !== e));
95
+ let t = j.current.get(e);
96
+ t && (clearTimeout(t), j.current.delete(e));
94
97
  }, []), L = l((e, t) => {
95
- le(), St({
98
+ le(), Dt({
96
99
  title: e,
97
100
  message: t
98
101
  });
99
- }, []), { data: Tt, loading: Et, error: Dt, refetch: R } = re({
102
+ }, []), { data: Ft, loading: It, error: Lt, refetch: R } = re({
100
103
  variables: { pagination: { limit: 50 } },
101
- skip: et
102
- }), z = Me(() => Tt?.vibeDecks?.items || [], [Tt]), B = b || z.find((e) => e.isDefault)?.id || z[0]?.id || null, { data: Ot, loading: kt, refetch: At } = te({
104
+ skip: it
105
+ }), z = Ie(() => Ft?.vibeDecks?.items || [], [Ft]), B = b || z.find((e) => e.isDefault)?.id || z[0]?.id || null, { data: Rt, loading: zt, refetch: Bt } = te({
103
106
  variables: { id: B },
104
- skip: !B || et
105
- }), V = Ot?.vibeDeck, H = Me(() => z.filter((e) => T.has(e.id)), [z, T]), U = Me(() => V?.buttons?.filter((e) => E.has(e.id)) ?? [], [V?.buttons, E]), jt = z.length > 0 && z.every((e) => T.has(e.id)), Mt = z.some((e) => T.has(e.id)) && !jt, Nt = (V?.buttons?.length ?? 0) > 0 && (V?.buttons ?? []).every((e) => E.has(e.id)), Pt = (V?.buttons ?? []).some((e) => E.has(e.id)) && !Nt, { data: Ft } = ne({
107
+ skip: !B || it
108
+ }), V = Rt?.vibeDeck, H = Ie(() => z.filter((e) => T.has(e.id)), [z, T]), U = Ie(() => V?.buttons?.filter((e) => E.has(e.id)) ?? [], [V?.buttons, E]), Vt = z.length > 0 && z.every((e) => T.has(e.id)), Ht = z.some((e) => T.has(e.id)) && !Vt, Ut = (V?.buttons?.length ?? 0) > 0 && (V?.buttons ?? []).every((e) => E.has(e.id)), Wt = (V?.buttons ?? []).some((e) => E.has(e.id)) && !Ut, { data: Gt } = ne({
106
109
  variables: { pagination: { limit: 100 } },
107
110
  fetchPolicy: "cache-and-network",
108
- skip: et
109
- }), It = (Ft?.vibecontrolsAgents ?? []).map((e) => ({
111
+ skip: it
112
+ }), Kt = (Gt?.vibecontrolsAgents ?? []).map((e) => ({
110
113
  id: e.id,
111
114
  name: e.name,
112
115
  isActive: e.isActive
113
- })), [Lt, { loading: Rt }] = t({ refetchQueries: ["ListVibeDecks"] }), { setDraftTagIds: zt, flushTags: Bt } = ge("VIBECONTROLS_VIBEDECK"), [Vt, { loading: Ht }] = se({ refetchQueries: ["ListVibeDecks", "GetVibeDeck"] }), [W] = r({ refetchQueries: ["ListVibeDecks"] }), [G] = ae({ refetchQueries: ["ListVibeDecks", "GetVibeDeck"] }), [K] = i({ refetchQueries: ["ListVibeDecks"] }), [Ut, { loading: Wt }] = e({ refetchQueries: ["GetVibeDeck"] }), [Gt, { loading: Kt }] = oe({ refetchQueries: ["GetVibeDeck"] }), [q] = n({ refetchQueries: ["GetVibeDeck"] }), [qt] = ie({ refetchQueries: ["GetVibeDeck"] }), [J] = ee();
114
- je(() => {
116
+ })), [qt, { loading: Jt }] = t({ refetchQueries: ["ListVibeDecks"] }), { setDraftTagIds: Yt, flushTags: Xt } = ge("VIBECONTROLS_VIBEDECK"), [Zt, { loading: Qt }] = se({ refetchQueries: ["ListVibeDecks", "GetVibeDeck"] }), [W] = r({ refetchQueries: ["ListVibeDecks"] }), [G] = ae({ refetchQueries: ["ListVibeDecks", "GetVibeDeck"] }), [K] = i({ refetchQueries: ["ListVibeDecks"] }), [$t, { loading: en }] = e({ refetchQueries: ["GetVibeDeck"] }), [tn, { loading: nn }] = oe({ refetchQueries: ["GetVibeDeck"] }), [q] = n({ refetchQueries: ["GetVibeDeck"] }), [rn] = ie({ refetchQueries: ["GetVibeDeck"] }), [J] = ee();
117
+ Fe(() => {
115
118
  D(/* @__PURE__ */ new Set());
116
119
  }, [B]);
117
- let Jt = l((e, t) => {
118
- ct((n) => {
120
+ let an = l((e, t) => {
121
+ ft((n) => {
119
122
  let r = new Set(n);
120
123
  return t ? r.add(e) : r.delete(e), r;
121
124
  });
122
- }, []), Yt = l((e) => {
123
- ct((t) => {
125
+ }, []), on = l((e) => {
126
+ ft((t) => {
124
127
  let n = new Set(t);
125
128
  return z.forEach((t) => {
126
129
  e ? n.add(t.id) : n.delete(t.id);
127
130
  }), n;
128
131
  });
129
132
  }, [z]), Y = l(() => {
130
- ct(/* @__PURE__ */ new Set());
133
+ ft(/* @__PURE__ */ new Set());
131
134
  }, []);
132
135
  l((e, t) => {
133
136
  D((n) => {
@@ -135,7 +138,7 @@ function qe() {
135
138
  return t ? r.add(e) : r.delete(e), r;
136
139
  });
137
140
  }, []);
138
- let Xt = l((e) => {
141
+ let sn = l((e) => {
139
142
  D((t) => {
140
143
  let n = new Set(t);
141
144
  return (V?.buttons ?? []).forEach((t) => {
@@ -144,17 +147,17 @@ function qe() {
144
147
  });
145
148
  }, [V?.buttons]), X = l(() => {
146
149
  D(/* @__PURE__ */ new Set());
147
- }, []), Zt = l(async (e) => {
150
+ }, []), cn = l(async (e) => {
148
151
  try {
149
- let t = (await Lt({ variables: { input: {
152
+ let t = (await qt({ variables: { input: {
150
153
  name: e.name,
151
154
  description: e.description || null,
152
155
  colorTheme: e.colorTheme || null,
153
156
  gridColumns: e.gridColumns,
154
157
  gridRows: e.gridRows,
155
- ...be(pt)
158
+ ...xe(vt)
156
159
  } } })).data?.createVibeDeck?.id;
157
- w({ type: "none" }), I("Deck created", "success"), mt(ve), t && await Bt(t);
160
+ w({ type: "none" }), I("Deck created", "success"), yt(ye), t && await Xt(t);
158
161
  } catch (e) {
159
162
  if (o(e)) {
160
163
  w({ type: "none" }), L("Vibe Deck Quota Reached", "You have reached the Vibe Deck limit for your current plan. Upgrade to create more decks.");
@@ -163,14 +166,14 @@ function qe() {
163
166
  I(e instanceof Error ? e.message : "Failed to create deck", "error");
164
167
  }
165
168
  }, [
166
- Lt,
167
- Bt,
169
+ qt,
170
+ Xt,
168
171
  L,
169
172
  I,
170
- pt
171
- ]), Qt = l(async (e) => {
173
+ vt
174
+ ]), ln = l(async (e) => {
172
175
  if (C.type === "editDeck") try {
173
- await Vt({ variables: {
176
+ await Zt({ variables: {
174
177
  id: C.deckId,
175
178
  input: {
176
179
  name: e.name,
@@ -184,14 +187,14 @@ function qe() {
184
187
  I(e instanceof Error ? e.message : "Failed to update deck", "error");
185
188
  }
186
189
  }, [
187
- Vt,
190
+ Zt,
188
191
  C,
189
192
  I
190
- ]), $t = l(async () => {
193
+ ]), un = l(async () => {
191
194
  if (C.type === "confirmDelete") try {
192
- C.target === "deck" ? (await W({ variables: { id: C.id } }), b === C.id && x(null), I("Deck deleted", "success")) : (await q({ variables: { id: C.id } }), I("Button deleted", "success")), w({ type: "none" }), Ce() && we("success");
195
+ C.target === "deck" ? (await W({ variables: { id: C.id } }), b === C.id && x(null), I("Deck deleted", "success")) : (await q({ variables: { id: C.id } }), I("Button deleted", "success")), w({ type: "none" }), Te() && Ee("success");
193
196
  } catch (e) {
194
- I(e instanceof Error ? e.message : "Failed to delete", "error"), Ce() && we("error");
197
+ I(e instanceof Error ? e.message : "Failed to delete", "error"), Te() && Ee("error");
195
198
  }
196
199
  }, [
197
200
  C,
@@ -200,29 +203,41 @@ function qe() {
200
203
  b,
201
204
  x,
202
205
  I
203
- ]), Z = l(async (e) => {
204
- let t = V?.buttons?.find((t) => t.id === e);
205
- if (!t || !t.action) return;
206
- let n = t.action, r = Ct({
206
+ ]), Z = l(async (e, t = !0) => {
207
+ let n = V?.buttons?.find((t) => t.id === e);
208
+ if (!n || !n.action) return;
209
+ let r = n.action, i = Nt({
207
210
  buttonId: e,
208
- buttonLabel: t.label,
209
- actionType: n.actionType,
210
- command: n.actionType === "WEBHOOK" ? `POST ${n.webhookUrl || ""}` : n.command || void 0,
211
+ buttonLabel: n.label,
212
+ actionType: r.actionType,
213
+ command: r.actionType === "WEBHOOK" ? `POST ${r.webhookUrl || ""}` : r.command || void 0,
211
214
  status: "running",
212
215
  startedAt: /* @__PURE__ */ new Date()
213
216
  });
214
- st(e), F(e, "executing");
217
+ dt(e), F(e, "executing");
215
218
  try {
216
- let t = (await J({ variables: { id: e } })).data?.executeVibeDeckButton;
217
- if (t) {
218
- let n = t.status === "success";
219
- F(e, n ? "success" : "error"), P(r, {
220
- status: n ? "success" : "error",
221
- output: t.output,
222
- exitCode: t.exitCode,
223
- webhookStatusCode: t.webhookStatusCode,
219
+ let n = (await J({ variables: { id: e } })).data?.executeVibeDeckButton;
220
+ if (n && Oe(n) && n.agentId) {
221
+ F(e, "error"), P(i, {
222
+ status: "error",
223
+ error: t ? "Remote task execution is disabled on this agent." : "Remote execution still blocked after enabling — check the agent’s Security settings.",
224
+ output: n.output,
224
225
  completedAt: /* @__PURE__ */ new Date()
225
- }), n && h.emitCustom("vibecontrols.vibedeck.button_executed", {
226
+ }), t && Ot({
227
+ buttonId: e,
228
+ agentId: n.agentId
229
+ });
230
+ return;
231
+ }
232
+ if (n) {
233
+ let t = n.status === "success";
234
+ F(e, t ? "success" : "error"), P(i, {
235
+ status: t ? "success" : "error",
236
+ output: n.output,
237
+ exitCode: n.exitCode,
238
+ webhookStatusCode: n.webhookStatusCode,
239
+ completedAt: /* @__PURE__ */ new Date()
240
+ }), t && h.emitCustom("vibecontrols.vibedeck.button_executed", {
226
241
  workspaceId: m ?? void 0,
227
242
  buttonId: e,
228
243
  deckId: B ?? void 0
@@ -230,7 +245,7 @@ function qe() {
230
245
  }
231
246
  } catch (t) {
232
247
  if (o(t)) {
233
- F(e, "error"), P(r, {
248
+ F(e, "error"), P(i, {
234
249
  status: "error",
235
250
  error: "Usage quota exhausted",
236
251
  completedAt: /* @__PURE__ */ new Date()
@@ -238,25 +253,47 @@ function qe() {
238
253
  return;
239
254
  }
240
255
  let n = t instanceof Error ? t.message : "Execution failed";
241
- F(e, "error"), P(r, {
256
+ F(e, "error"), P(i, {
242
257
  status: "error",
243
258
  error: n,
244
259
  completedAt: /* @__PURE__ */ new Date()
245
260
  });
246
261
  } finally {
247
- st(null);
262
+ dt(null);
248
263
  }
249
264
  }, [
250
265
  V,
251
266
  J,
252
- Ct,
267
+ Nt,
253
268
  P,
254
269
  F,
255
270
  L,
256
271
  h,
257
272
  m,
258
273
  B
259
- ]), en = l(async (e) => {
274
+ ]), dn = l(async ({ shell: e, file: t }) => {
275
+ if (!M) return;
276
+ let { buttonId: n, agentId: r } = M;
277
+ At(!0);
278
+ try {
279
+ await De({
280
+ id: r,
281
+ profile: Mt
282
+ }, {
283
+ shell: e,
284
+ file: t
285
+ }), Ot(null), await Z(n, !1);
286
+ } catch (e) {
287
+ I(e instanceof Error ? e.message : "Failed to enable remote execution", "error");
288
+ } finally {
289
+ At(!1);
290
+ }
291
+ }, [
292
+ M,
293
+ Mt,
294
+ Z,
295
+ I
296
+ ]), fn = l(async (e) => {
260
297
  let t = V?.buttons?.find((t) => t.id === e);
261
298
  if (t) {
262
299
  if (h.emitCustom("vibecontrols.vibedeck.button_executed_clicked", {
@@ -281,13 +318,13 @@ function qe() {
281
318
  h,
282
319
  m,
283
320
  B
284
- ]), tn = l(async () => {
321
+ ]), pn = l(async () => {
285
322
  if (C.type !== "confirmExecute") return;
286
323
  let e = C.buttonId;
287
324
  w({ type: "none" }), await Z(e);
288
- }, [C, Z]), nn = l(async (e) => {
325
+ }, [C, Z]), mn = l(async (e) => {
289
326
  if (!(C.type !== "createButton" || !B)) try {
290
- await Ut({ variables: { input: {
327
+ await $t({ variables: { input: {
291
328
  vibeDeckId: B,
292
329
  label: e.label,
293
330
  actionId: e.actionId,
@@ -305,12 +342,12 @@ function qe() {
305
342
  }
306
343
  }, [
307
344
  C,
308
- Ut,
345
+ $t,
309
346
  B,
310
347
  I
311
- ]), rn = l(async (e) => {
348
+ ]), hn = l(async (e) => {
312
349
  if (C.type === "editButton") try {
313
- await Gt({ variables: {
350
+ await tn({ variables: {
314
351
  id: C.buttonId,
315
352
  input: {
316
353
  label: e.label,
@@ -328,11 +365,11 @@ function qe() {
328
365
  }
329
366
  }, [
330
367
  C,
331
- Gt,
368
+ tn,
332
369
  I
333
- ]), an = l(async (e, t, n) => {
370
+ ]), gn = l(async (e, t, n) => {
334
371
  try {
335
- await qt({ variables: {
372
+ await rn({ variables: {
336
373
  id: e,
337
374
  input: {
338
375
  row: t,
@@ -342,7 +379,7 @@ function qe() {
342
379
  } catch (e) {
343
380
  I(e instanceof Error ? e.message : "Failed to move button", "error");
344
381
  }
345
- }, [qt, I]), on = l(async (e) => {
382
+ }, [rn, I]), _n = l(async (e) => {
346
383
  let t = z.find((t) => t.id === e);
347
384
  if (t) try {
348
385
  await K({ variables: {
@@ -361,21 +398,21 @@ function qe() {
361
398
  K,
362
399
  L,
363
400
  I
364
- ]), sn = l(async (e) => {
401
+ ]), vn = l(async (e) => {
365
402
  try {
366
403
  await G({ variables: { id: e } }), I("Default deck set", "success");
367
404
  } catch (e) {
368
405
  I(e instanceof Error ? e.message : "Failed to set default", "error");
369
406
  }
370
- }, [G, I]), cn = l(async () => {
407
+ }, [G, I]), yn = l(async () => {
371
408
  if (H.length === 1) {
372
- j("setDefaultDeck");
409
+ A("setDefaultDeck");
373
410
  try {
374
411
  await G({ variables: { id: H[0].id } }), I("Default deck set", "success"), Y(), await R();
375
412
  } catch (e) {
376
413
  I(e instanceof Error ? e.message : "Failed to set default deck", "error");
377
414
  } finally {
378
- j(null);
415
+ A(null);
379
416
  }
380
417
  }
381
418
  }, [
@@ -384,9 +421,9 @@ function qe() {
384
421
  I,
385
422
  Y,
386
423
  R
387
- ]), ln = l(async () => {
424
+ ]), bn = l(async () => {
388
425
  if (H.length !== 0) {
389
- j("duplicateDeck");
426
+ A("duplicateDeck");
390
427
  try {
391
428
  let e = await Promise.allSettled(H.map((e) => K({ variables: {
392
429
  id: e.id,
@@ -405,7 +442,7 @@ function qe() {
405
442
  }
406
443
  I(e instanceof Error ? e.message : "Failed to duplicate decks", "error");
407
444
  } finally {
408
- j(null);
445
+ A(null);
409
446
  }
410
447
  }
411
448
  }, [
@@ -415,16 +452,16 @@ function qe() {
415
452
  I,
416
453
  Y,
417
454
  R
418
- ]), un = l(async () => {
455
+ ]), xn = l(async () => {
419
456
  if (H.length !== 0) {
420
- j("deleteDeck");
457
+ A("deleteDeck");
421
458
  try {
422
459
  let e = await Promise.allSettled(H.map((e) => W({ variables: { id: e.id } }))), t = e.filter((e) => e.status === "fulfilled").length, n = e.length - t;
423
- H.some((e) => e.id === b) && x(null), I(`Deleted ${t} deck${t === 1 ? "" : "s"}${n > 0 ? ` • ${n} failed` : ""}`, n > 0 ? "error" : "success"), Y(), O(null), await R();
460
+ H.some((e) => e.id === b) && x(null), I(`Deleted ${t} deck${t === 1 ? "" : "s"}${n > 0 ? ` • ${n} failed` : ""}`, n > 0 ? "error" : "success"), Y(), mt(null), await R();
424
461
  } catch (e) {
425
462
  I(e instanceof Error ? e.message : "Failed to delete decks", "error");
426
463
  } finally {
427
- j(null);
464
+ A(null);
428
465
  }
429
466
  }
430
467
  }, [
@@ -435,25 +472,25 @@ function qe() {
435
472
  I,
436
473
  Y,
437
474
  R
438
- ]), dn = l(async () => {
475
+ ]), Sn = l(async () => {
439
476
  if (U.length === 0) return;
440
- j("executeButton");
477
+ A("executeButton");
441
478
  let e = 0, t = 0;
442
479
  try {
443
480
  for (let n of U) try {
444
481
  (await J({ variables: { id: n.id } })).data?.executeVibeDeckButton?.status === "success" ? e += 1 : t += 1;
445
482
  } catch (e) {
446
483
  if (o(e)) {
447
- k(null), L("Execution Quota Reached", "You have used the execution quota for your current plan. Upgrade to continue running Vibe Deck actions.");
484
+ O(null), L("Execution Quota Reached", "You have used the execution quota for your current plan. Upgrade to continue running Vibe Deck actions.");
448
485
  return;
449
486
  }
450
487
  t += 1;
451
488
  }
452
- I(`Executed ${e} button${e === 1 ? "" : "s"}${t > 0 ? ` • ${t} failed` : ""}`, t > 0 ? "error" : "success"), X(), k(null);
489
+ I(`Executed ${e} button${e === 1 ? "" : "s"}${t > 0 ? ` • ${t} failed` : ""}`, t > 0 ? "error" : "success"), X(), O(null);
453
490
  } catch (e) {
454
491
  I(e instanceof Error ? e.message : "Failed to execute buttons", "error");
455
492
  } finally {
456
- j(null);
493
+ A(null);
457
494
  }
458
495
  }, [
459
496
  U,
@@ -461,16 +498,16 @@ function qe() {
461
498
  L,
462
499
  I,
463
500
  X
464
- ]), fn = l(async () => {
501
+ ]), Cn = l(async () => {
465
502
  if (U.length !== 0) {
466
- j("deleteButton");
503
+ A("deleteButton");
467
504
  try {
468
505
  let e = await Promise.allSettled(U.map((e) => q({ variables: { id: e.id } }))), t = e.filter((e) => e.status === "fulfilled").length, n = e.length - t;
469
- I(`Deleted ${t} button${t === 1 ? "" : "s"}${n > 0 ? ` • ${n} failed` : ""}`, n > 0 ? "error" : "success"), X(), k(null), await At();
506
+ I(`Deleted ${t} button${t === 1 ? "" : "s"}${n > 0 ? ` • ${n} failed` : ""}`, n > 0 ? "error" : "success"), X(), O(null), await Bt();
470
507
  } catch (e) {
471
508
  I(e instanceof Error ? e.message : "Failed to delete buttons", "error");
472
509
  } finally {
473
- j(null);
510
+ A(null);
474
511
  }
475
512
  }
476
513
  }, [
@@ -478,13 +515,13 @@ function qe() {
478
515
  q,
479
516
  I,
480
517
  X,
481
- At
518
+ Bt
482
519
  ]);
483
- if (Je) return /* @__PURE__ */ d(p, { children: /* @__PURE__ */ d(s, { message: "Loading permissions..." }) });
484
- if (_ && (_.permissionStrings?.length ?? 0) > 0 && !Ye) return /* @__PURE__ */ d(p, { children: /* @__PURE__ */ d(Ke, {}) });
485
- if (Et) return /* @__PURE__ */ d(p, { children: /* @__PURE__ */ d(s, { message: "Loading Vibe Decks..." }) });
486
- if (Dt) return /* @__PURE__ */ d(p, { children: /* @__PURE__ */ d(me, {
487
- message: Dt.message,
520
+ if (Qe) return /* @__PURE__ */ d(p, { children: /* @__PURE__ */ d(s, { message: "Loading permissions..." }) });
521
+ if (_ && (_.permissionStrings?.length ?? 0) > 0 && !$e) return /* @__PURE__ */ d(p, { children: /* @__PURE__ */ d(Xe, {}) });
522
+ if (It) return /* @__PURE__ */ d(p, { children: /* @__PURE__ */ d(s, { message: "Loading Vibe Decks..." }) });
523
+ if (Lt) return /* @__PURE__ */ d(p, { children: /* @__PURE__ */ d(me, {
524
+ message: Lt.message,
488
525
  onRetry: () => R()
489
526
  }) });
490
527
  let Q = C.type === "editButton" ? V?.buttons?.find((e) => e.id === C.buttonId) : null, $ = C.type === "editDeck" ? z.find((e) => e.id === C.deckId) : null;
@@ -502,18 +539,18 @@ function qe() {
502
539
  className: "flex items-center rounded-lg border border-border-default bg-bg-secondary p-0.5",
503
540
  children: [/* @__PURE__ */ f("button", {
504
541
  type: "button",
505
- onClick: () => nt("preview"),
542
+ onClick: () => ot("preview"),
506
543
  className: `flex items-center gap-1.5 px-3 py-1.5 rounded-md text-sm font-medium transition-all ${S ? "bg-action-primary-bg text-action-primary-text shadow-sm" : "text-text-tertiary hover:text-text-primary"}`,
507
544
  title: S ? "Preview mode — execute only" : "Switch to Preview mode",
508
545
  "aria-pressed": S,
509
- children: [/* @__PURE__ */ d(Ie, { size: 14 }), "Preview"]
546
+ children: [/* @__PURE__ */ d(Be, { size: 14 }), "Preview"]
510
547
  }), /* @__PURE__ */ f("button", {
511
548
  type: "button",
512
- onClick: () => nt("edit"),
549
+ onClick: () => ot("edit"),
513
550
  className: `flex items-center gap-1.5 px-3 py-1.5 rounded-md text-sm font-medium transition-all ${S ? "text-text-tertiary hover:text-text-primary" : "bg-action-primary-bg text-action-primary-text shadow-sm"}`,
514
551
  title: S ? "Switch to Edit mode" : "Edit mode — full editing",
515
552
  "aria-pressed": !S,
516
- children: [/* @__PURE__ */ d(Le, { size: 14 }), "Edit"]
553
+ children: [/* @__PURE__ */ d(Ve, { size: 14 }), "Edit"]
517
554
  })]
518
555
  }),
519
556
  B && V && /* @__PURE__ */ d("button", {
@@ -525,16 +562,16 @@ function qe() {
525
562
  }),
526
563
  className: "p-2 rounded-lg hover:bg-bg-tertiary text-text-tertiary hover:text-text-primary transition-colors",
527
564
  title: "Share deck",
528
- children: /* @__PURE__ */ d(Be, { size: 16 })
565
+ children: /* @__PURE__ */ d(We, { size: 16 })
529
566
  }),
530
567
  /* @__PURE__ */ d("button", {
531
568
  type: "button",
532
569
  onClick: () => {
533
- R(), B && At();
570
+ R(), B && Bt();
534
571
  },
535
572
  className: "p-2 rounded-lg hover:bg-bg-tertiary text-text-tertiary hover:text-text-primary transition-colors",
536
573
  title: "Refresh",
537
- children: /* @__PURE__ */ d(ze, { size: 16 })
574
+ children: /* @__PURE__ */ d(Ue, { size: 16 })
538
575
  })
539
576
  ]
540
577
  })
@@ -547,10 +584,10 @@ function qe() {
547
584
  className: "flex flex-wrap items-center gap-3",
548
585
  children: [/* @__PURE__ */ f("div", {
549
586
  className: "flex items-center gap-2",
550
- children: [/* @__PURE__ */ d(Se, {
551
- checked: jt,
552
- indeterminate: Mt,
553
- onChange: Yt,
587
+ children: [/* @__PURE__ */ d(Ce, {
588
+ checked: Vt,
589
+ indeterminate: Ht,
590
+ onChange: on,
554
591
  ariaLabel: "Select all vibe decks"
555
592
  }), /* @__PURE__ */ d("span", {
556
593
  className: "text-sm font-medium text-text-primary",
@@ -571,23 +608,23 @@ function qe() {
571
608
  }),
572
609
  /* @__PURE__ */ d("button", {
573
610
  type: "button",
574
- onClick: cn,
575
- disabled: H.length !== 1 || H[0]?.isDefault || A !== null,
611
+ onClick: yn,
612
+ disabled: H.length !== 1 || H[0]?.isDefault || k !== null,
576
613
  className: "rounded-md border border-status-warning-border px-3 py-2 text-sm font-medium text-status-warning-text hover:bg-status-warning-bg-subtle disabled:cursor-not-allowed disabled:opacity-50",
577
614
  children: /* @__PURE__ */ f("span", {
578
615
  className: "inline-flex items-center gap-2",
579
- children: [/* @__PURE__ */ d(Ve, { size: 14 }), "Set Selected Default"]
616
+ children: [/* @__PURE__ */ d(Ge, { size: 14 }), "Set Selected Default"]
580
617
  })
581
618
  }),
582
619
  /* @__PURE__ */ d("button", {
583
620
  type: "button",
584
- onClick: ln,
585
- disabled: H.length === 0 || A !== null,
621
+ onClick: bn,
622
+ disabled: H.length === 0 || k !== null,
586
623
  className: "rounded-md border border-border-default px-3 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken disabled:cursor-not-allowed disabled:opacity-50",
587
624
  children: /* @__PURE__ */ f("span", {
588
625
  className: "inline-flex items-center gap-2",
589
626
  children: [
590
- /* @__PURE__ */ d(Fe, { size: 14 }),
627
+ /* @__PURE__ */ d(ze, { size: 14 }),
591
628
  "Duplicate Selected",
592
629
  H.length > 0 ? ` (${H.length})` : ""
593
630
  ]
@@ -595,13 +632,13 @@ function qe() {
595
632
  }),
596
633
  /* @__PURE__ */ d("button", {
597
634
  type: "button",
598
- onClick: () => O("delete"),
599
- disabled: H.length === 0 || A !== null,
635
+ onClick: () => mt("delete"),
636
+ disabled: H.length === 0 || k !== null,
600
637
  className: "rounded-md border border-status-error-border px-3 py-2 text-sm font-medium text-status-error-text hover:bg-status-error-bg disabled:cursor-not-allowed disabled:opacity-50",
601
638
  children: /* @__PURE__ */ f("span", {
602
639
  className: "inline-flex items-center gap-2",
603
640
  children: [
604
- /* @__PURE__ */ d(He, { size: 14 }),
641
+ /* @__PURE__ */ d(Ke, { size: 14 }),
605
642
  "Delete Selected",
606
643
  H.length > 0 ? ` (${H.length})` : ""
607
644
  ]
@@ -613,7 +650,7 @@ function qe() {
613
650
  }),
614
651
  /* @__PURE__ */ d("div", {
615
652
  "data-tour": "vibedeck-switcher",
616
- children: /* @__PURE__ */ d(Ee, {
653
+ children: /* @__PURE__ */ d(Ae, {
617
654
  decks: z.map((e) => ({
618
655
  id: e.id,
619
656
  name: e.name,
@@ -624,10 +661,10 @@ function qe() {
624
661
  activeDeckId: B,
625
662
  selectedDeckIds: T,
626
663
  onSelectDeck: (e) => x(e),
627
- onToggleSelectDeck: Jt,
664
+ onToggleSelectDeck: an,
628
665
  onCreateDeck: () => w({ type: "createDeck" }),
629
- onSetDefault: sn,
630
- onDuplicate: (e) => on(e),
666
+ onSetDefault: vn,
667
+ onDuplicate: (e) => _n(e),
631
668
  onDelete: (e) => {
632
669
  w({
633
670
  type: "confirmDelete",
@@ -648,26 +685,26 @@ function qe() {
648
685
  deckName: t.name
649
686
  });
650
687
  },
651
- canCreate: Xe,
652
- canUpdate: it,
653
- canDelete: at
688
+ canCreate: et,
689
+ canUpdate: ct,
690
+ canDelete: lt
654
691
  })
655
692
  }),
656
- /* @__PURE__ */ f(We, {
693
+ /* @__PURE__ */ f(Je, {
657
694
  mode: "wait",
658
- children: [!V && !kt && z.length === 0 && /* @__PURE__ */ d(_e, {
695
+ children: [!V && !zt && z.length === 0 && /* @__PURE__ */ d(_e, {
659
696
  title: "No Vibe Decks yet",
660
697
  description: "Create your first Vibe Deck to start organizing your commands and webhooks",
661
698
  action: /* @__PURE__ */ f("div", {
662
699
  className: "flex items-center gap-2",
663
- children: [Xe && /* @__PURE__ */ d("button", {
700
+ children: [et && /* @__PURE__ */ d("button", {
664
701
  type: "button",
665
702
  onClick: () => w({ type: "createDeck" }),
666
703
  className: "px-4 py-2 rounded-lg bg-action-primary-bg text-action-primary-text hover:opacity-90 text-sm font-medium",
667
704
  children: "Create Vibe Deck"
668
- }), /* @__PURE__ */ d(xe, { prompt: "What is a VibeDeck and how do I use it to organise controls?" })]
705
+ }), /* @__PURE__ */ d(Se, { prompt: "What is a VibeDeck and how do I use it to organise controls?" })]
669
706
  })
670
- }), kt && /* @__PURE__ */ d(s, { message: "Loading deck..." })]
707
+ }), zt && /* @__PURE__ */ d(s, { message: "Loading deck..." })]
671
708
  }),
672
709
  V && /* @__PURE__ */ f("div", {
673
710
  className: "space-y-4",
@@ -679,10 +716,10 @@ function qe() {
679
716
  className: "flex flex-wrap items-center gap-3",
680
717
  children: [/* @__PURE__ */ f("div", {
681
718
  className: "flex items-center gap-2",
682
- children: [/* @__PURE__ */ d(Se, {
683
- checked: Nt,
684
- indeterminate: Pt,
685
- onChange: Xt,
719
+ children: [/* @__PURE__ */ d(Ce, {
720
+ checked: Ut,
721
+ indeterminate: Wt,
722
+ onChange: sn,
686
723
  ariaLabel: "Select all buttons in active deck"
687
724
  }), /* @__PURE__ */ d("span", {
688
725
  className: "text-sm font-medium text-text-primary",
@@ -703,13 +740,13 @@ function qe() {
703
740
  }),
704
741
  /* @__PURE__ */ d("button", {
705
742
  type: "button",
706
- onClick: () => k("execute"),
707
- disabled: U.length === 0 || A !== null,
743
+ onClick: () => O("execute"),
744
+ disabled: U.length === 0 || k !== null,
708
745
  className: "rounded-md border border-status-success-border px-3 py-2 text-sm font-medium text-status-success-text hover:bg-status-success-bg disabled:cursor-not-allowed disabled:opacity-50",
709
746
  children: /* @__PURE__ */ f("span", {
710
747
  className: "inline-flex items-center gap-2",
711
748
  children: [
712
- /* @__PURE__ */ d(Re, { size: 14 }),
749
+ /* @__PURE__ */ d(He, { size: 14 }),
713
750
  "Execute Selected",
714
751
  U.length > 0 ? ` (${U.length})` : ""
715
752
  ]
@@ -717,13 +754,13 @@ function qe() {
717
754
  }),
718
755
  /* @__PURE__ */ d("button", {
719
756
  type: "button",
720
- onClick: () => k("delete"),
721
- disabled: U.length === 0 || A !== null,
757
+ onClick: () => O("delete"),
758
+ disabled: U.length === 0 || k !== null,
722
759
  className: "rounded-md border border-status-error-border px-3 py-2 text-sm font-medium text-status-error-text hover:bg-status-error-bg disabled:cursor-not-allowed disabled:opacity-50",
723
760
  children: /* @__PURE__ */ f("span", {
724
761
  className: "inline-flex items-center gap-2",
725
762
  children: [
726
- /* @__PURE__ */ d(He, { size: 14 }),
763
+ /* @__PURE__ */ d(Ke, { size: 14 }),
727
764
  "Delete Selected",
728
765
  U.length > 0 ? ` (${U.length})` : ""
729
766
  ]
@@ -735,7 +772,7 @@ function qe() {
735
772
  }), /* @__PURE__ */ f("div", {
736
773
  "data-tour": "vibedeck-grid",
737
774
  className: "relative",
738
- children: [/* @__PURE__ */ d(Te, {
775
+ children: [/* @__PURE__ */ d(ke, {
739
776
  gridColumns: V.gridColumns,
740
777
  gridRows: V.gridRows,
741
778
  buttons: (V.buttons || []).map((e) => ({
@@ -762,7 +799,7 @@ function qe() {
762
799
  rowSpan: e.rowSpan,
763
800
  colSpan: e.colSpan
764
801
  })),
765
- onExecuteButton: en,
802
+ onExecuteButton: fn,
766
803
  onEditButton: (e) => w({
767
804
  type: "editButton",
768
805
  buttonId: e
@@ -776,17 +813,17 @@ function qe() {
776
813
  name: t?.label || "this button"
777
814
  });
778
815
  },
779
- onDropButton: an,
816
+ onDropButton: gn,
780
817
  onAddButton: (e, t) => w({
781
818
  type: "createButton",
782
819
  row: e,
783
820
  column: t
784
821
  }),
785
- executingButtonId: ot,
786
- canCreate: rt,
787
- canUpdate: it,
788
- canDelete: at,
789
- canExecute: $e,
822
+ executingButtonId: ut,
823
+ canCreate: st,
824
+ canUpdate: ct,
825
+ canDelete: lt,
826
+ canExecute: rt,
790
827
  previewMode: S
791
828
  }), (V.buttons?.length ?? 0) === 0 && S && /* @__PURE__ */ d("div", {
792
829
  className: "absolute inset-0 flex items-center justify-center pointer-events-none",
@@ -801,9 +838,9 @@ function qe() {
801
838
  className: "text-sm text-text-secondary mt-2",
802
839
  children: v("vibeDeck.emptyDeckDescription", "Switch to Edit mode to add buttons.")
803
840
  }),
804
- Ze && /* @__PURE__ */ d("button", {
841
+ tt && /* @__PURE__ */ d("button", {
805
842
  type: "button",
806
- onClick: () => nt("edit"),
843
+ onClick: () => ot("edit"),
807
844
  className: "mt-4 inline-flex items-center gap-2 px-4 py-2 rounded-md bg-action-primary-bg text-action-primary-text text-sm font-medium hover:opacity-90 transition-opacity",
808
845
  children: v("vibeDeck.editDeck", "Edit deck")
809
846
  })
@@ -812,25 +849,25 @@ function qe() {
812
849
  })]
813
850
  })]
814
851
  }),
815
- ht.length > 0 && /* @__PURE__ */ d("div", {
852
+ bt.length > 0 && /* @__PURE__ */ d("div", {
816
853
  "data-tour": "vibedeck-execution-log",
817
- children: /* @__PURE__ */ d(Ae, {
818
- entries: ht,
819
- expanded: _t,
820
- onToggleExpanded: () => vt((e) => !e),
821
- onClear: () => gt([])
854
+ children: /* @__PURE__ */ d(Pe, {
855
+ entries: bt,
856
+ expanded: St,
857
+ onToggleExpanded: () => Ct((e) => !e),
858
+ onClear: () => xt([])
822
859
  })
823
860
  }),
824
- /* @__PURE__ */ d(We, { children: dt.length > 0 && /* @__PURE__ */ d("div", {
861
+ /* @__PURE__ */ d(Je, { children: gt.length > 0 && /* @__PURE__ */ d("div", {
825
862
  className: "fixed bottom-4 left-4 right-4 sm:left-auto sm:bottom-6 sm:right-6 z-50 flex flex-col gap-2 max-w-[calc(100vw-2rem)] sm:max-w-md",
826
- children: dt.slice(-3).map((e) => /* @__PURE__ */ f("div", {
863
+ children: gt.slice(-3).map((e) => /* @__PURE__ */ f("div", {
827
864
  role: "button",
828
865
  tabIndex: 0,
829
866
  onKeyDown: (t) => {
830
- (t.key === "Enter" || t.key === " ") && (t.preventDefault(), wt(e.id));
867
+ (t.key === "Enter" || t.key === " ") && (t.preventDefault(), Pt(e.id));
831
868
  },
832
869
  className: `p-4 rounded-xl shadow-lg border cursor-pointer ${e.variant === "success" ? "bg-status-success-bg/10 border-status-success-border/30 text-status-success-text" : "bg-status-error-bg/10 border-status-error-border/30 text-status-error-text"}`,
833
- onClick: () => wt(e.id),
870
+ onClick: () => Pt(e.id),
834
871
  children: [/* @__PURE__ */ d("div", {
835
872
  className: "font-medium text-sm",
836
873
  children: e.message
@@ -840,13 +877,13 @@ function qe() {
840
877
  })]
841
878
  }, e.id))
842
879
  }) }),
843
- C.type === "createDeck" && /* @__PURE__ */ d(De, {
880
+ C.type === "createDeck" && /* @__PURE__ */ d(je, {
844
881
  title: "Create Vibe Deck",
845
- onSubmit: Zt,
882
+ onSubmit: cn,
846
883
  onCancel: () => {
847
- w({ type: "none" }), mt(ve);
884
+ w({ type: "none" }), yt(ye);
848
885
  },
849
- isLoading: Rt,
886
+ isLoading: Jt,
850
887
  extraSection: /* @__PURE__ */ f("div", {
851
888
  className: "space-y-4",
852
889
  children: [/* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("h3", {
@@ -854,14 +891,14 @@ function qe() {
854
891
  children: v("vibeDeck.tags", "Tags")
855
892
  }), /* @__PURE__ */ d(he, {
856
893
  entityType: "VIBECONTROLS_VIBEDECK",
857
- onDraftChange: zt
858
- })] }), /* @__PURE__ */ d(ye, {
859
- value: pt,
860
- onChange: mt
894
+ onDraftChange: Yt
895
+ })] }), /* @__PURE__ */ d(be, {
896
+ value: vt,
897
+ onChange: yt
861
898
  })]
862
899
  })
863
900
  }),
864
- C.type === "editDeck" && $ && /* @__PURE__ */ d(De, {
901
+ C.type === "editDeck" && $ && /* @__PURE__ */ d(je, {
865
902
  title: "Edit Vibe Deck",
866
903
  initialData: {
867
904
  name: $.name,
@@ -870,9 +907,9 @@ function qe() {
870
907
  gridColumns: $.gridColumns,
871
908
  gridRows: $.gridRows
872
909
  },
873
- onSubmit: Qt,
910
+ onSubmit: ln,
874
911
  onCancel: () => w({ type: "none" }),
875
- isLoading: Ht,
912
+ isLoading: Qt,
876
913
  extraSection: /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("h3", {
877
914
  className: "text-sm font-medium text-text-secondary mb-2",
878
915
  children: v("vibeDeck.tags", "Tags")
@@ -881,18 +918,18 @@ function qe() {
881
918
  entityId: $.id
882
919
  })] })
883
920
  }),
884
- C.type === "createButton" && /* @__PURE__ */ d(Oe, {
921
+ C.type === "createButton" && /* @__PURE__ */ d(Me, {
885
922
  title: "Add Button",
886
- agents: It,
887
- onSubmit: nn,
923
+ agents: Kt,
924
+ onSubmit: mn,
888
925
  onCancel: () => w({ type: "none" }),
889
- isLoading: Wt,
926
+ isLoading: en,
890
927
  gridColumns: V?.gridColumns,
891
928
  gridRows: V?.gridRows,
892
929
  buttonRow: C.row,
893
930
  buttonColumn: C.column
894
931
  }),
895
- C.type === "editButton" && Q && /* @__PURE__ */ d(Oe, {
932
+ C.type === "editButton" && Q && /* @__PURE__ */ d(Me, {
896
933
  title: "Edit Button",
897
934
  initialData: {
898
935
  label: Q.label,
@@ -904,10 +941,10 @@ function qe() {
904
941
  rowSpan: Q.rowSpan,
905
942
  colSpan: Q.colSpan
906
943
  },
907
- agents: It,
908
- onSubmit: rn,
944
+ agents: Kt,
945
+ onSubmit: hn,
909
946
  onCancel: () => w({ type: "none" }),
910
- isLoading: Kt,
947
+ isLoading: nn,
911
948
  gridColumns: V?.gridColumns,
912
949
  gridRows: V?.gridRows,
913
950
  buttonRow: Q.row,
@@ -919,7 +956,7 @@ function qe() {
919
956
  message: `Are you sure you want to delete "${C.name}"?${C.target === "deck" ? " All buttons in this deck will also be deleted." : ""}`,
920
957
  confirmLabel: "Delete",
921
958
  variant: "danger",
922
- onConfirm: $t,
959
+ onConfirm: un,
923
960
  onClose: () => w({ type: "none" })
924
961
  }),
925
962
  C.type === "confirmExecute" && /* @__PURE__ */ d(a, {
@@ -928,57 +965,64 @@ function qe() {
928
965
  message: `Are you sure you want to execute this action?\n\n${C.detail}`,
929
966
  confirmLabel: "Execute",
930
967
  variant: "warning",
931
- onConfirm: tn,
968
+ onConfirm: pn,
932
969
  onClose: () => w({ type: "none" })
933
970
  }),
934
971
  /* @__PURE__ */ d(a, {
935
- isOpen: lt === "delete",
972
+ isOpen: pt === "delete",
936
973
  title: "Delete Vibe Decks",
937
974
  message: `Are you sure you want to delete ${H.length} selected deck${H.length === 1 ? "" : "s"}? All buttons in those decks will also be deleted.`,
938
975
  confirmLabel: "Delete Decks",
939
976
  variant: "danger",
940
- onConfirm: un,
941
- onClose: () => O(null),
942
- isLoading: A === "deleteDeck"
977
+ onConfirm: xn,
978
+ onClose: () => mt(null),
979
+ isLoading: k === "deleteDeck"
943
980
  }),
944
981
  /* @__PURE__ */ d(a, {
945
- isOpen: ut === "execute",
982
+ isOpen: ht === "execute",
946
983
  title: "Execute Vibe Deck Buttons",
947
984
  message: `Execute ${U.length} selected button${U.length === 1 ? "" : "s"}? This may trigger commands, scripts, or webhooks immediately.`,
948
985
  confirmLabel: "Execute Buttons",
949
986
  variant: "warning",
950
- onConfirm: dn,
951
- onClose: () => k(null),
952
- isLoading: A === "executeButton"
987
+ onConfirm: Sn,
988
+ onClose: () => O(null),
989
+ isLoading: k === "executeButton"
953
990
  }),
954
991
  /* @__PURE__ */ d(a, {
955
- isOpen: ut === "delete",
992
+ isOpen: ht === "delete",
956
993
  title: "Delete Vibe Deck Buttons",
957
994
  message: `Delete ${U.length} selected button${U.length === 1 ? "" : "s"}? This cannot be undone.`,
958
995
  confirmLabel: "Delete Buttons",
959
996
  variant: "danger",
960
- onConfirm: fn,
961
- onClose: () => k(null),
962
- isLoading: A === "deleteButton"
997
+ onConfirm: Cn,
998
+ onClose: () => O(null),
999
+ isLoading: k === "deleteButton"
963
1000
  }),
964
- C.type === "shareDeck" && /* @__PURE__ */ d(ke, {
1001
+ C.type === "shareDeck" && /* @__PURE__ */ d(Ne, {
965
1002
  vibeDeckId: C.deckId,
966
1003
  vibeDeckName: C.deckName,
967
1004
  onClose: () => w({ type: "none" })
968
1005
  }),
969
1006
  /* @__PURE__ */ d(ce, {
970
- isOpen: xt !== null,
971
- onClose: () => St(null),
1007
+ isOpen: Et !== null,
1008
+ onClose: () => Dt(null),
972
1009
  onConfirm: () => {
973
- St(null), qe("/billing/plans");
1010
+ Dt(null), Ze("/billing/plans");
974
1011
  },
975
- title: xt?.title || "Quota Reached",
976
- message: xt?.message || "Upgrade your plan to continue."
1012
+ title: Et?.title || "Quota Reached",
1013
+ message: Et?.message || "Upgrade your plan to continue."
1014
+ }),
1015
+ /* @__PURE__ */ d(ve, {
1016
+ isOpen: M !== null,
1017
+ agentName: M ? Kt.find((e) => e.id === M.agentId)?.name : void 0,
1018
+ isLoading: kt,
1019
+ onClose: () => Ot(null),
1020
+ onConfirm: dn
977
1021
  })
978
1022
  ]
979
1023
  });
980
1024
  }
981
1025
  //#endregion
982
- export { qe as VibeDeckPage };
1026
+ export { Ze as VibeDeckPage };
983
1027
 
984
1028
  //# sourceMappingURL=VibeDeckPage.js.map