@jiggai/kitchen 0.3.33 → 0.4.0

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 (570) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +4 -0
  3. package/.next/build-manifest.json +5 -5
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/required-server-files.js +4 -4
  6. package/.next/required-server-files.json +4 -4
  7. package/.next/routes-manifest.json +24 -0
  8. package/.next/server/app/_global-error/page/build-manifest.json +3 -3
  9. package/.next/server/app/_global-error/page.js +2 -2
  10. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  11. package/.next/server/app/_global-error.html +2 -2
  12. package/.next/server/app/_global-error.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  17. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  18. package/.next/server/app/_not-found/page/build-manifest.json +3 -3
  19. package/.next/server/app/_not-found/page.js +2 -2
  20. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  21. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  22. package/.next/server/app/_not-found.html +1 -1
  23. package/.next/server/app/_not-found.rsc +5 -5
  24. package/.next/server/app/_not-found.segments/_full.segment.rsc +5 -5
  25. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  26. package/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  27. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  28. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  29. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  30. package/.next/server/app/agents/[agentId]/page/build-manifest.json +3 -3
  31. package/.next/server/app/agents/[agentId]/page.js +2 -2
  32. package/.next/server/app/agents/[agentId]/page.js.nft.json +1 -1
  33. package/.next/server/app/agents/[agentId]/page_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/agents/[id]/route.js +1 -1
  35. package/.next/server/app/api/agents/[id]/route.js.nft.json +1 -1
  36. package/.next/server/app/api/agents/add/route.js.nft.json +1 -1
  37. package/.next/server/app/api/agents/file/route.js.nft.json +1 -1
  38. package/.next/server/app/api/agents/files/route.js.nft.json +1 -1
  39. package/.next/server/app/api/agents/route.js +1 -1
  40. package/.next/server/app/api/agents/route.js.nft.json +1 -1
  41. package/.next/server/app/api/agents/skills/install/route.js.nft.json +1 -1
  42. package/.next/server/app/api/agents/skills/route.js.nft.json +1 -1
  43. package/.next/server/app/api/agents/update/route.js.nft.json +1 -1
  44. package/.next/server/app/api/channels/bindings/route.js +1 -1
  45. package/.next/server/app/api/channels/bindings/route.js.nft.json +1 -1
  46. package/.next/server/app/api/cron/bulk/route/app-paths-manifest.json +3 -0
  47. package/.next/server/app/api/cron/bulk/route/build-manifest.json +11 -0
  48. package/.next/server/app/api/cron/bulk/route/server-reference-manifest.json +4 -0
  49. package/.next/server/app/api/cron/bulk/route.js +6 -0
  50. package/.next/server/app/api/cron/bulk/route.js.map +5 -0
  51. package/.next/server/app/api/cron/bulk/route.js.nft.json +1 -0
  52. package/.next/server/app/api/cron/bulk/route_client-reference-manifest.js +2 -0
  53. package/.next/server/app/api/cron/delete/route.js.nft.json +1 -1
  54. package/.next/server/app/api/cron/jobs/route.js.nft.json +1 -1
  55. package/.next/server/app/api/cron/recipe-installed/route.js.nft.json +1 -1
  56. package/.next/server/app/api/cron/worker/route.js +2 -1
  57. package/.next/server/app/api/cron/worker/route.js.nft.json +1 -1
  58. package/.next/server/app/api/goals/[id]/promote/route.js.nft.json +1 -1
  59. package/.next/server/app/api/goals/[id]/route.js.nft.json +1 -1
  60. package/.next/server/app/api/goals/route.js.nft.json +1 -1
  61. package/.next/server/app/api/ids/check/route.js.nft.json +1 -1
  62. package/.next/server/app/api/manifest/route/app-paths-manifest.json +3 -0
  63. package/.next/server/app/api/manifest/route/build-manifest.json +11 -0
  64. package/.next/server/app/api/manifest/route/server-reference-manifest.json +4 -0
  65. package/.next/server/app/api/manifest/route.js +6 -0
  66. package/.next/server/app/api/manifest/route.js.map +5 -0
  67. package/.next/server/app/api/manifest/route.js.nft.json +1 -0
  68. package/.next/server/app/api/manifest/route_client-reference-manifest.js +2 -0
  69. package/.next/server/app/api/marketplace/recipes/[slug]/route.js +1 -1
  70. package/.next/server/app/api/marketplace/recipes/[slug]/route.js.nft.json +1 -1
  71. package/.next/server/app/api/marketplace/recipes/route.js +1 -1
  72. package/.next/server/app/api/marketplace/recipes/route.js.nft.json +1 -1
  73. package/.next/server/app/api/plugins/[pluginId]/[...path]/route.js +2 -2
  74. package/.next/server/app/api/plugins/[pluginId]/[...path]/route.js.nft.json +1 -1
  75. package/.next/server/app/api/plugins/[pluginId]/tabs/[tabId]/route.js +1 -1
  76. package/.next/server/app/api/plugins/[pluginId]/tabs/[tabId]/route.js.nft.json +1 -1
  77. package/.next/server/app/api/plugins/route.js +1 -1
  78. package/.next/server/app/api/plugins/route.js.nft.json +1 -1
  79. package/.next/server/app/api/plugins/test/route.js +1 -1
  80. package/.next/server/app/api/plugins/test/route.js.nft.json +1 -1
  81. package/.next/server/app/api/recipes/[id]/route.js.nft.json +1 -1
  82. package/.next/server/app/api/recipes/clone/route.js.nft.json +1 -1
  83. package/.next/server/app/api/recipes/custom-team/route.js.nft.json +1 -1
  84. package/.next/server/app/api/recipes/delete/route.js.nft.json +1 -1
  85. package/.next/server/app/api/recipes/local-agent-catalog/route.js.nft.json +1 -1
  86. package/.next/server/app/api/recipes/route.js +1 -1
  87. package/.next/server/app/api/recipes/route.js.nft.json +1 -1
  88. package/.next/server/app/api/recipes/team-agents/route.js.nft.json +1 -1
  89. package/.next/server/app/api/scaffold/route.js.nft.json +1 -1
  90. package/.next/server/app/api/settings/cron-installation/route.js.nft.json +1 -1
  91. package/.next/server/app/api/settings/model-options/route.js +1 -1
  92. package/.next/server/app/api/settings/model-options/route.js.nft.json +1 -1
  93. package/.next/server/app/api/swarms/start/route.js +1 -1
  94. package/.next/server/app/api/swarms/start/route.js.nft.json +1 -1
  95. package/.next/server/app/api/swarms/status/route.js +1 -1
  96. package/.next/server/app/api/swarms/status/route.js.nft.json +1 -1
  97. package/.next/server/app/api/teams/[teamId]/media-providers/route.js +1 -1
  98. package/.next/server/app/api/teams/[teamId]/media-providers/route.js.nft.json +1 -1
  99. package/.next/server/app/api/teams/[teamId]/tickets/assign/route.js.nft.json +1 -1
  100. package/.next/server/app/api/teams/[teamId]/tickets/assignees/route.js.nft.json +1 -1
  101. package/.next/server/app/api/teams/[teamId]/tickets/comment/route.js.nft.json +1 -1
  102. package/.next/server/app/api/teams/[teamId]/tickets/delete/route.js.nft.json +1 -1
  103. package/.next/server/app/api/teams/[teamId]/tickets/move/route.js.nft.json +1 -1
  104. package/.next/server/app/api/teams/[teamId]/tickets/move-to-goals/route.js.nft.json +1 -1
  105. package/.next/server/app/api/teams/file/route.js.nft.json +1 -1
  106. package/.next/server/app/api/teams/files/route.js.nft.json +1 -1
  107. package/.next/server/app/api/teams/list/route/app-paths-manifest.json +3 -0
  108. package/.next/server/app/api/teams/list/route/build-manifest.json +11 -0
  109. package/.next/server/app/api/teams/list/route/server-reference-manifest.json +4 -0
  110. package/.next/server/app/api/teams/list/route.js +6 -0
  111. package/.next/server/app/api/teams/list/route.js.map +5 -0
  112. package/.next/server/app/api/teams/list/route.js.nft.json +1 -0
  113. package/.next/server/app/api/teams/list/route_client-reference-manifest.js +2 -0
  114. package/.next/server/app/api/teams/memory/route.js.nft.json +1 -1
  115. package/.next/server/app/api/teams/meta/route.js.nft.json +1 -1
  116. package/.next/server/app/api/teams/orchestrator/route.js +1 -1
  117. package/.next/server/app/api/teams/orchestrator/route.js.nft.json +1 -1
  118. package/.next/server/app/api/teams/remove-team/route.js.nft.json +1 -1
  119. package/.next/server/app/api/teams/skills/install/route.js.nft.json +1 -1
  120. package/.next/server/app/api/teams/skills/route.js.nft.json +1 -1
  121. package/.next/server/app/api/teams/workflow-deliverables/file/route.js +1 -1
  122. package/.next/server/app/api/teams/workflow-deliverables/file/route.js.nft.json +1 -1
  123. package/.next/server/app/api/teams/workflow-deliverables/route.js.nft.json +1 -1
  124. package/.next/server/app/api/teams/workflow-runs/route.js.nft.json +1 -1
  125. package/.next/server/app/api/teams/workflow-templates/route.js.nft.json +1 -1
  126. package/.next/server/app/api/teams/workflow-triggers/route/app-paths-manifest.json +3 -0
  127. package/.next/server/app/api/teams/workflow-triggers/route/build-manifest.json +11 -0
  128. package/.next/server/app/api/teams/workflow-triggers/route/server-reference-manifest.json +4 -0
  129. package/.next/server/app/api/teams/workflow-triggers/route.js +6 -0
  130. package/.next/server/app/api/teams/workflow-triggers/route.js.map +5 -0
  131. package/.next/server/app/api/teams/workflow-triggers/route.js.nft.json +1 -0
  132. package/.next/server/app/api/teams/workflow-triggers/route_client-reference-manifest.js +2 -0
  133. package/.next/server/app/api/teams/workflows/route.js.nft.json +1 -1
  134. package/.next/server/app/api/tickets/assign/route.js.nft.json +1 -1
  135. package/.next/server/app/api/tickets/assignees/route.js.nft.json +1 -1
  136. package/.next/server/app/api/tickets/move/route.js.nft.json +1 -1
  137. package/.next/server/app/channels/page/build-manifest.json +3 -3
  138. package/.next/server/app/channels/page.js +2 -2
  139. package/.next/server/app/channels/page.js.nft.json +1 -1
  140. package/.next/server/app/channels/page_client-reference-manifest.js +1 -1
  141. package/.next/server/app/channels.html +2 -2
  142. package/.next/server/app/channels.rsc +6 -6
  143. package/.next/server/app/channels.segments/_full.segment.rsc +6 -6
  144. package/.next/server/app/channels.segments/_head.segment.rsc +1 -1
  145. package/.next/server/app/channels.segments/_index.segment.rsc +3 -3
  146. package/.next/server/app/channels.segments/_tree.segment.rsc +2 -2
  147. package/.next/server/app/channels.segments/channels/__PAGE__.segment.rsc +2 -2
  148. package/.next/server/app/channels.segments/channels.segment.rsc +1 -1
  149. package/.next/server/app/cron-jobs/page/build-manifest.json +3 -3
  150. package/.next/server/app/cron-jobs/page.js +2 -2
  151. package/.next/server/app/cron-jobs/page.js.nft.json +1 -1
  152. package/.next/server/app/cron-jobs/page_client-reference-manifest.js +1 -1
  153. package/.next/server/app/goals/[id]/page/build-manifest.json +3 -3
  154. package/.next/server/app/goals/[id]/page.js +2 -2
  155. package/.next/server/app/goals/[id]/page.js.nft.json +1 -1
  156. package/.next/server/app/goals/[id]/page_client-reference-manifest.js +1 -1
  157. package/.next/server/app/goals/new/page/build-manifest.json +3 -3
  158. package/.next/server/app/goals/new/page.js +2 -2
  159. package/.next/server/app/goals/new/page.js.nft.json +1 -1
  160. package/.next/server/app/goals/new/page_client-reference-manifest.js +1 -1
  161. package/.next/server/app/goals/new.html +2 -2
  162. package/.next/server/app/goals/new.rsc +6 -6
  163. package/.next/server/app/goals/new.segments/_full.segment.rsc +6 -6
  164. package/.next/server/app/goals/new.segments/_head.segment.rsc +1 -1
  165. package/.next/server/app/goals/new.segments/_index.segment.rsc +3 -3
  166. package/.next/server/app/goals/new.segments/_tree.segment.rsc +2 -2
  167. package/.next/server/app/goals/new.segments/goals/new/__PAGE__.segment.rsc +2 -2
  168. package/.next/server/app/goals/new.segments/goals/new.segment.rsc +1 -1
  169. package/.next/server/app/goals/new.segments/goals.segment.rsc +1 -1
  170. package/.next/server/app/goals/page/build-manifest.json +3 -3
  171. package/.next/server/app/goals/page.js +2 -2
  172. package/.next/server/app/goals/page.js.nft.json +1 -1
  173. package/.next/server/app/goals/page_client-reference-manifest.js +1 -1
  174. package/.next/server/app/goals.html +1 -1
  175. package/.next/server/app/goals.rsc +6 -6
  176. package/.next/server/app/goals.segments/_full.segment.rsc +6 -6
  177. package/.next/server/app/goals.segments/_head.segment.rsc +1 -1
  178. package/.next/server/app/goals.segments/_index.segment.rsc +3 -3
  179. package/.next/server/app/goals.segments/_tree.segment.rsc +2 -2
  180. package/.next/server/app/goals.segments/goals/__PAGE__.segment.rsc +2 -2
  181. package/.next/server/app/goals.segments/goals.segment.rsc +1 -1
  182. package/.next/server/app/page/build-manifest.json +3 -3
  183. package/.next/server/app/page.js +4 -4
  184. package/.next/server/app/page.js.nft.json +1 -1
  185. package/.next/server/app/page_client-reference-manifest.js +1 -1
  186. package/.next/server/app/recipes/[id]/page/build-manifest.json +3 -3
  187. package/.next/server/app/recipes/[id]/page.js +4 -4
  188. package/.next/server/app/recipes/[id]/page.js.nft.json +1 -1
  189. package/.next/server/app/recipes/[id]/page_client-reference-manifest.js +1 -1
  190. package/.next/server/app/recipes/page/build-manifest.json +3 -3
  191. package/.next/server/app/recipes/page.js +4 -4
  192. package/.next/server/app/recipes/page.js.nft.json +1 -1
  193. package/.next/server/app/recipes/page_client-reference-manifest.js +1 -1
  194. package/.next/server/app/runs/page/build-manifest.json +3 -3
  195. package/.next/server/app/runs/page.js +5 -7
  196. package/.next/server/app/runs/page.js.nft.json +1 -1
  197. package/.next/server/app/runs/page_client-reference-manifest.js +1 -1
  198. package/.next/server/app/settings/page/build-manifest.json +3 -3
  199. package/.next/server/app/settings/page.js +2 -2
  200. package/.next/server/app/settings/page.js.nft.json +1 -1
  201. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  202. package/.next/server/app/settings.html +1 -1
  203. package/.next/server/app/settings.rsc +6 -6
  204. package/.next/server/app/settings.segments/_full.segment.rsc +6 -6
  205. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  206. package/.next/server/app/settings.segments/_index.segment.rsc +3 -3
  207. package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  208. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  209. package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  210. package/.next/server/app/teams/[teamId]/deliverables/page/build-manifest.json +3 -3
  211. package/.next/server/app/teams/[teamId]/deliverables/page.js +5 -5
  212. package/.next/server/app/teams/[teamId]/deliverables/page.js.nft.json +1 -1
  213. package/.next/server/app/teams/[teamId]/deliverables/page_client-reference-manifest.js +1 -1
  214. package/.next/server/app/teams/[teamId]/page/build-manifest.json +3 -3
  215. package/.next/server/app/teams/[teamId]/page.js +5 -6
  216. package/.next/server/app/teams/[teamId]/page.js.nft.json +1 -1
  217. package/.next/server/app/teams/[teamId]/page_client-reference-manifest.js +1 -1
  218. package/.next/server/app/teams/[teamId]/runs/[workflowId]/[runId]/page/build-manifest.json +3 -3
  219. package/.next/server/app/teams/[teamId]/runs/[workflowId]/[runId]/page.js +5 -6
  220. package/.next/server/app/teams/[teamId]/runs/[workflowId]/[runId]/page.js.nft.json +1 -1
  221. package/.next/server/app/teams/[teamId]/runs/[workflowId]/[runId]/page_client-reference-manifest.js +1 -1
  222. package/.next/server/app/teams/[teamId]/runs/page/build-manifest.json +3 -3
  223. package/.next/server/app/teams/[teamId]/runs/page.js +2 -2
  224. package/.next/server/app/teams/[teamId]/runs/page.js.nft.json +1 -1
  225. package/.next/server/app/teams/[teamId]/runs/page_client-reference-manifest.js +1 -1
  226. package/.next/server/app/teams/[teamId]/tickets/[ticket]/page/build-manifest.json +3 -3
  227. package/.next/server/app/teams/[teamId]/tickets/[ticket]/page.js +2 -2
  228. package/.next/server/app/teams/[teamId]/tickets/[ticket]/page.js.nft.json +1 -1
  229. package/.next/server/app/teams/[teamId]/tickets/[ticket]/page_client-reference-manifest.js +1 -1
  230. package/.next/server/app/teams/[teamId]/tickets/page/build-manifest.json +3 -3
  231. package/.next/server/app/teams/[teamId]/tickets/page.js +2 -2
  232. package/.next/server/app/teams/[teamId]/tickets/page.js.nft.json +1 -1
  233. package/.next/server/app/teams/[teamId]/tickets/page_client-reference-manifest.js +1 -1
  234. package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page/build-manifest.json +3 -3
  235. package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page.js +5 -5
  236. package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page.js.nft.json +1 -1
  237. package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page_client-reference-manifest.js +1 -1
  238. package/.next/server/app/teams/[teamId]/workflows/page/build-manifest.json +3 -3
  239. package/.next/server/app/teams/[teamId]/workflows/page.js +5 -5
  240. package/.next/server/app/teams/[teamId]/workflows/page.js.nft.json +1 -1
  241. package/.next/server/app/teams/[teamId]/workflows/page_client-reference-manifest.js +1 -1
  242. package/.next/server/app/tickets/[ticket]/page/build-manifest.json +3 -3
  243. package/.next/server/app/tickets/[ticket]/page.js +2 -2
  244. package/.next/server/app/tickets/[ticket]/page.js.nft.json +1 -1
  245. package/.next/server/app/tickets/[ticket]/page_client-reference-manifest.js +1 -1
  246. package/.next/server/app/tickets/page/build-manifest.json +3 -3
  247. package/.next/server/app/tickets/page.js +2 -2
  248. package/.next/server/app/tickets/page.js.nft.json +1 -1
  249. package/.next/server/app/tickets/page_client-reference-manifest.js +1 -1
  250. package/.next/server/app-paths-manifest.json +4 -0
  251. package/.next/server/chunks/[externals]_node:fs_ddf6f167._.js +3 -0
  252. package/.next/server/chunks/[externals]_node:fs_ddf6f167._.js.map +1 -0
  253. package/.next/server/chunks/[root-of-the-server]__00a30f40._.js +1 -1
  254. package/.next/server/chunks/[root-of-the-server]__03c5f2a6._.js +3 -0
  255. package/.next/server/chunks/[root-of-the-server]__03c5f2a6._.js.map +1 -0
  256. package/.next/server/chunks/[root-of-the-server]__04f289da._.js +1 -1
  257. package/.next/server/chunks/[root-of-the-server]__08b4c8f2._.js +1 -1
  258. package/.next/server/chunks/[root-of-the-server]__0b2c557c._.js +3 -0
  259. package/.next/server/chunks/[root-of-the-server]__0b2c557c._.js.map +1 -0
  260. package/.next/server/chunks/[root-of-the-server]__0f55461f._.js +1 -1
  261. package/.next/server/chunks/[root-of-the-server]__1311d7a3._.js +1 -1
  262. package/.next/server/chunks/[root-of-the-server]__1480ffda._.js +1 -1
  263. package/.next/server/chunks/{[root-of-the-server]__be5f57b2._.js → [root-of-the-server]__17fa6089._.js} +2 -2
  264. package/.next/server/chunks/[root-of-the-server]__1873f417._.js +1 -1
  265. package/.next/server/chunks/[root-of-the-server]__1d4f6506._.js +3 -0
  266. package/.next/server/chunks/[root-of-the-server]__1d4f6506._.js.map +1 -0
  267. package/.next/server/chunks/[root-of-the-server]__1f18c0c4._.js +3 -0
  268. package/.next/server/chunks/[root-of-the-server]__1f18c0c4._.js.map +1 -0
  269. package/.next/server/chunks/[root-of-the-server]__1f1e62ac._.js +1 -1
  270. package/.next/server/chunks/[root-of-the-server]__20b1f42d._.js +1 -1
  271. package/.next/server/chunks/[root-of-the-server]__21ad9eeb._.js +1 -1
  272. package/.next/server/chunks/[root-of-the-server]__2c207e60._.js +1 -1
  273. package/.next/server/chunks/[root-of-the-server]__2dd1afff._.js +1 -1
  274. package/.next/server/chunks/[root-of-the-server]__3021a250._.js +1 -1
  275. package/.next/server/chunks/[root-of-the-server]__30cd38e9._.js +1 -1
  276. package/.next/server/chunks/[root-of-the-server]__392e585d._.js +2 -2
  277. package/.next/server/chunks/[root-of-the-server]__3bfad714._.js +1 -1
  278. package/.next/server/chunks/[root-of-the-server]__3d15e850._.js +1 -1
  279. package/.next/server/chunks/[root-of-the-server]__3f648b9b._.js +1 -1
  280. package/.next/server/chunks/[root-of-the-server]__482575d2._.js +1 -1
  281. package/.next/server/chunks/[root-of-the-server]__4898071c._.js +4 -4
  282. package/.next/server/chunks/[root-of-the-server]__497e7a9d._.js +22 -0
  283. package/.next/server/chunks/[root-of-the-server]__497e7a9d._.js.map +1 -0
  284. package/.next/server/chunks/[root-of-the-server]__4ee12514._.js +1 -1
  285. package/.next/server/chunks/[root-of-the-server]__55defc7c._.js +1 -1
  286. package/.next/server/chunks/{[root-of-the-server]__74b80ca4._.js → [root-of-the-server]__5792c29e._.js} +2 -2
  287. package/.next/server/chunks/[root-of-the-server]__5aa1dc93._.js +1 -1
  288. package/.next/server/chunks/[root-of-the-server]__5c5990a6._.js +1 -1
  289. package/.next/server/chunks/[root-of-the-server]__603cb0fa._.js +1 -1
  290. package/.next/server/chunks/[root-of-the-server]__6131b7e2._.js +1 -1
  291. package/.next/server/chunks/[root-of-the-server]__6131b7e2._.js.map +1 -1
  292. package/.next/server/chunks/[root-of-the-server]__636919a0._.js +1 -1
  293. package/.next/server/chunks/[root-of-the-server]__653d42f0._.js +3 -0
  294. package/.next/server/chunks/[root-of-the-server]__653d42f0._.js.map +1 -0
  295. package/.next/server/chunks/[root-of-the-server]__663e79ff._.js +1 -1
  296. package/.next/server/chunks/{[root-of-the-server]__0883634a._.js → [root-of-the-server]__68a21bb1._.js} +2 -2
  297. package/.next/server/chunks/{[root-of-the-server]__0883634a._.js.map → [root-of-the-server]__68a21bb1._.js.map} +1 -1
  298. package/.next/server/chunks/[root-of-the-server]__69c065ce._.js +1 -1
  299. package/.next/server/chunks/[root-of-the-server]__6e463e5f._.js +3 -0
  300. package/.next/server/chunks/[root-of-the-server]__6e463e5f._.js.map +1 -0
  301. package/.next/server/chunks/{[root-of-the-server]__c1b0d50e._.js → [root-of-the-server]__7194dfe2._.js} +3 -3
  302. package/.next/server/chunks/{[root-of-the-server]__f45ceefb._.js → [root-of-the-server]__7347e39f._.js} +2 -2
  303. package/.next/server/chunks/{[root-of-the-server]__f45ceefb._.js.map → [root-of-the-server]__7347e39f._.js.map} +1 -1
  304. package/.next/server/chunks/[root-of-the-server]__74e2a9ba._.js +1 -1
  305. package/.next/server/chunks/[root-of-the-server]__7bdf9f6e._.js +1 -1
  306. package/.next/server/chunks/[root-of-the-server]__7bdf9f6e._.js.map +1 -1
  307. package/.next/server/chunks/[root-of-the-server]__7e12b9f4._.js +1 -1
  308. package/.next/server/chunks/[root-of-the-server]__87875179._.js +1 -1
  309. package/.next/server/chunks/{[root-of-the-server]__17124952._.js → [root-of-the-server]__89f2190c._.js} +3 -3
  310. package/.next/server/chunks/[root-of-the-server]__8f8e110f._.js +1 -1
  311. package/.next/server/chunks/[root-of-the-server]__91d0cce1._.js +1 -1
  312. package/.next/server/chunks/[root-of-the-server]__91d0cce1._.js.map +1 -1
  313. package/.next/server/chunks/[root-of-the-server]__937b40e2._.js +3 -0
  314. package/.next/server/chunks/[root-of-the-server]__937b40e2._.js.map +1 -0
  315. package/.next/server/chunks/[root-of-the-server]__9853b72d._.js +1 -1
  316. package/.next/server/chunks/[root-of-the-server]__9dba20b3._.js +1 -1
  317. package/.next/server/chunks/[root-of-the-server]__9e96d37b._.js +1 -1
  318. package/.next/server/chunks/[root-of-the-server]__aba68368._.js +1 -1
  319. package/.next/server/chunks/[root-of-the-server]__aed4e4f2._.js +1 -1
  320. package/.next/server/chunks/[root-of-the-server]__b6cff26d._.js +1 -1
  321. package/.next/server/chunks/{[root-of-the-server]__0bea0f71._.js → [root-of-the-server]__b986660c._.js} +2 -2
  322. package/.next/server/chunks/{[root-of-the-server]__0bea0f71._.js.map → [root-of-the-server]__b986660c._.js.map} +1 -1
  323. package/.next/server/chunks/{[root-of-the-server]__343776df._.js → [root-of-the-server]__bbed0e46._.js} +2 -2
  324. package/.next/server/chunks/[root-of-the-server]__c15c5141._.js +1 -1
  325. package/.next/server/chunks/[root-of-the-server]__c50e4bc4._.js +1 -1
  326. package/.next/server/chunks/[root-of-the-server]__cc0860cb._.js +1 -1
  327. package/.next/server/chunks/[root-of-the-server]__cc3ea05b._.js +3 -0
  328. package/.next/server/chunks/[root-of-the-server]__cc3ea05b._.js.map +1 -0
  329. package/.next/server/chunks/[root-of-the-server]__d302afb4._.js +1 -1
  330. package/.next/server/chunks/[root-of-the-server]__d4a8660e._.js +1 -1
  331. package/.next/server/chunks/[root-of-the-server]__e1432bba._.js +3 -0
  332. package/.next/server/chunks/[root-of-the-server]__e1432bba._.js.map +1 -0
  333. package/.next/server/chunks/[root-of-the-server]__e478ef0d._.js +1 -1
  334. package/.next/server/chunks/[root-of-the-server]__e9acbabd._.js +1 -1
  335. package/.next/server/chunks/[root-of-the-server]__e9d9d570._.js +1 -1
  336. package/.next/server/chunks/[root-of-the-server]__f408c708._.js +2 -2
  337. package/.next/server/chunks/[root-of-the-server]__f4cbadf7._.js +1 -1
  338. package/.next/server/chunks/[root-of-the-server]__f5cd81f1._.js +1 -1
  339. package/.next/server/chunks/[root-of-the-server]__f85b5a70._.js +3 -0
  340. package/.next/server/chunks/[root-of-the-server]__f85b5a70._.js.map +1 -0
  341. package/.next/server/chunks/[root-of-the-server]__f994dc62._.js +1 -1
  342. package/.next/server/chunks/[root-of-the-server]__fb22e719._.js +3 -0
  343. package/.next/server/chunks/[root-of-the-server]__fb22e719._.js.map +1 -0
  344. package/.next/server/chunks/_next-internal_server_app_api_cron_bulk_route_actions_30f8adb9.js +3 -0
  345. package/.next/server/chunks/_next-internal_server_app_api_cron_bulk_route_actions_30f8adb9.js.map +1 -0
  346. package/.next/server/chunks/_next-internal_server_app_api_manifest_route_actions_7f7622ff.js +3 -0
  347. package/.next/server/chunks/_next-internal_server_app_api_manifest_route_actions_7f7622ff.js.map +1 -0
  348. package/.next/server/chunks/_next-internal_server_app_api_teams_list_route_actions_5aa8c937.js +3 -0
  349. package/.next/server/chunks/_next-internal_server_app_api_teams_list_route_actions_5aa8c937.js.map +1 -0
  350. package/.next/server/chunks/_next-internal_server_app_api_teams_workflow-triggers_route_actions_e86e3b38.js +3 -0
  351. package/.next/server/chunks/_next-internal_server_app_api_teams_workflow-triggers_route_actions_e86e3b38.js.map +1 -0
  352. package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_1fe98a49.js +1 -1
  353. package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_1fe98a49.js.map +1 -1
  354. package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_3a1b29e4.js +1 -1
  355. package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_cb6ddb24.js +13 -0
  356. package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_cb6ddb24.js.map +1 -0
  357. package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_f5680d9e.js +1 -1
  358. package/.next/server/chunks/node_modules_yaml_dist_49c13b35._.js +1 -1
  359. package/.next/server/chunks/node_modules_yaml_dist_49c13b35._.js.map +1 -1
  360. package/.next/server/chunks/ssr/[root-of-the-server]__195421b7._.js +2 -2
  361. package/.next/server/chunks/ssr/[root-of-the-server]__195421b7._.js.map +1 -1
  362. package/.next/server/chunks/ssr/[root-of-the-server]__2a657095._.js +3 -0
  363. package/.next/server/chunks/ssr/[root-of-the-server]__2a657095._.js.map +1 -0
  364. package/.next/server/chunks/ssr/[root-of-the-server]__3b880807._.js +1 -1
  365. package/.next/server/chunks/ssr/[root-of-the-server]__3b880807._.js.map +1 -1
  366. package/.next/server/chunks/ssr/[root-of-the-server]__3f55f975._.js +3 -0
  367. package/.next/server/chunks/ssr/[root-of-the-server]__3f55f975._.js.map +1 -0
  368. package/.next/server/chunks/ssr/[root-of-the-server]__471bc2e7._.js +1 -1
  369. package/.next/server/chunks/ssr/[root-of-the-server]__471bc2e7._.js.map +1 -1
  370. package/.next/server/chunks/ssr/[root-of-the-server]__4d24c088._.js +3 -0
  371. package/.next/server/chunks/ssr/[root-of-the-server]__4d24c088._.js.map +1 -0
  372. package/.next/server/chunks/ssr/[root-of-the-server]__6390ce9c._.js +3 -0
  373. package/.next/server/chunks/ssr/[root-of-the-server]__6390ce9c._.js.map +1 -0
  374. package/.next/server/chunks/ssr/[root-of-the-server]__7b8cdea5._.js +3 -0
  375. package/.next/server/chunks/ssr/[root-of-the-server]__7b8cdea5._.js.map +1 -0
  376. package/.next/server/chunks/ssr/[root-of-the-server]__7d21617d._.js +3 -0
  377. package/.next/server/chunks/ssr/[root-of-the-server]__7d21617d._.js.map +1 -0
  378. package/.next/server/chunks/ssr/[root-of-the-server]__8135c9d5._.js +3 -0
  379. package/.next/server/chunks/ssr/[root-of-the-server]__8135c9d5._.js.map +1 -0
  380. package/.next/server/chunks/ssr/{node_modules_next_dist_1038a5b9._.js → [root-of-the-server]__8e8f535b._.js} +2 -2
  381. package/.next/server/chunks/ssr/{node_modules_next_dist_1038a5b9._.js.map → [root-of-the-server]__8e8f535b._.js.map} +1 -1
  382. package/.next/server/chunks/ssr/[root-of-the-server]__92524828._.js +1 -1
  383. package/.next/server/chunks/ssr/[root-of-the-server]__92524828._.js.map +1 -1
  384. package/.next/server/chunks/ssr/[root-of-the-server]__997aa62c._.js +1 -1
  385. package/.next/server/chunks/ssr/[root-of-the-server]__997aa62c._.js.map +1 -1
  386. package/.next/server/chunks/ssr/[root-of-the-server]__9db1df87._.js +3 -0
  387. package/.next/server/chunks/ssr/[root-of-the-server]__9db1df87._.js.map +1 -0
  388. package/.next/server/chunks/ssr/[root-of-the-server]__9e1ab064._.js +1 -1
  389. package/.next/server/chunks/ssr/[root-of-the-server]__9e1ab064._.js.map +1 -1
  390. package/.next/server/chunks/ssr/[root-of-the-server]__a2e3966f._.js +3 -0
  391. package/.next/server/chunks/ssr/[root-of-the-server]__a2e3966f._.js.map +1 -0
  392. package/.next/server/chunks/ssr/[root-of-the-server]__af792402._.js +1 -1
  393. package/.next/server/chunks/ssr/[root-of-the-server]__af792402._.js.map +1 -1
  394. package/.next/server/chunks/ssr/[root-of-the-server]__b5f65083._.js +1 -1
  395. package/.next/server/chunks/ssr/[root-of-the-server]__b5f65083._.js.map +1 -1
  396. package/.next/server/chunks/ssr/[root-of-the-server]__becf14db._.js +3 -0
  397. package/.next/server/chunks/ssr/[root-of-the-server]__becf14db._.js.map +1 -0
  398. package/.next/server/chunks/ssr/[root-of-the-server]__c106a298._.js +3 -0
  399. package/.next/server/chunks/ssr/[root-of-the-server]__c106a298._.js.map +1 -0
  400. package/.next/server/chunks/ssr/[root-of-the-server]__cb91405c._.js +3 -0
  401. package/.next/server/chunks/ssr/[root-of-the-server]__cb91405c._.js.map +1 -0
  402. package/.next/server/chunks/ssr/[root-of-the-server]__f59c3144._.js +3 -0
  403. package/.next/server/chunks/ssr/[root-of-the-server]__f59c3144._.js.map +1 -0
  404. package/.next/server/chunks/ssr/[root-of-the-server]__fbe5ff69._.js +1 -1
  405. package/.next/server/chunks/ssr/[root-of-the-server]__fbe5ff69._.js.map +1 -1
  406. package/.next/server/chunks/ssr/_1ee3bd7b._.js +1 -1
  407. package/.next/server/chunks/ssr/_1ee3bd7b._.js.map +1 -1
  408. package/.next/server/chunks/ssr/{_deb7a691._.js → _2ab986a4._.js} +2 -2
  409. package/.next/server/chunks/ssr/_2ab986a4._.js.map +1 -0
  410. package/.next/server/chunks/ssr/_2d8d7232._.js +1 -1
  411. package/.next/server/chunks/ssr/_2d8d7232._.js.map +1 -1
  412. package/.next/server/chunks/ssr/_43a80c61._.js +1 -1
  413. package/.next/server/chunks/ssr/_43a80c61._.js.map +1 -1
  414. package/.next/server/chunks/ssr/_641f29bc._.js +3 -0
  415. package/.next/server/chunks/ssr/_641f29bc._.js.map +1 -0
  416. package/.next/server/chunks/ssr/_ac993243._.js +3 -0
  417. package/.next/server/chunks/ssr/_ac993243._.js.map +1 -0
  418. package/.next/server/chunks/ssr/_f636ce67._.js +3 -0
  419. package/.next/server/chunks/ssr/_f636ce67._.js.map +1 -0
  420. package/.next/server/chunks/ssr/b1a17_app_teams_[teamId]_workflows_[workflowId]_workflows-editor-client_tsx_5e714aa2._.js +7 -1
  421. package/.next/server/chunks/ssr/b1a17_app_teams_[teamId]_workflows_[workflowId]_workflows-editor-client_tsx_5e714aa2._.js.map +1 -1
  422. package/.next/server/chunks/ssr/{_7f9e89d2._.js → node_modules_next_10fb6ad9._.js} +3 -3
  423. package/.next/server/chunks/ssr/node_modules_next_10fb6ad9._.js.map +1 -0
  424. package/.next/server/chunks/ssr/node_modules_next_dist_25a30daf._.js +1 -1
  425. package/.next/server/chunks/ssr/node_modules_next_dist_compiled_bc6b8ddf._.js +1 -1
  426. package/.next/server/chunks/ssr/node_modules_yaml_dist_18db9ed7._.js +2 -2
  427. package/.next/server/chunks/ssr/src_13139e3d._.js +1 -1
  428. package/.next/server/chunks/ssr/src_13139e3d._.js.map +1 -1
  429. package/.next/server/chunks/ssr/src_2a73b867._.js +1 -1
  430. package/.next/server/chunks/ssr/src_2a73b867._.js.map +1 -1
  431. package/.next/server/chunks/ssr/src_2dbb3b7f._.js +1 -1
  432. package/.next/server/chunks/ssr/src_2dbb3b7f._.js.map +1 -1
  433. package/.next/server/chunks/ssr/src_417bc4a6._.js +1 -1
  434. package/.next/server/chunks/ssr/src_417bc4a6._.js.map +1 -1
  435. package/.next/server/chunks/ssr/src_59477309._.js +1 -1
  436. package/.next/server/chunks/ssr/src_59477309._.js.map +1 -1
  437. package/.next/server/chunks/ssr/src_79d55c05._.js +1 -1
  438. package/.next/server/chunks/ssr/src_79d55c05._.js.map +1 -1
  439. package/.next/server/chunks/ssr/src_app_HomeClient_tsx_f9f7568d._.js +1 -1
  440. package/.next/server/chunks/ssr/src_app_HomeClient_tsx_f9f7568d._.js.map +1 -1
  441. package/.next/server/chunks/ssr/src_app_agents_[agentId]_agent-editor_tsx_f85bbe65._.js +1 -1
  442. package/.next/server/chunks/ssr/src_app_agents_[agentId]_agent-editor_tsx_f85bbe65._.js.map +1 -1
  443. package/.next/server/chunks/ssr/src_app_cron-jobs_cron-jobs-client_tsx_ec91a73d._.js +1 -1
  444. package/.next/server/chunks/ssr/src_app_cron-jobs_cron-jobs-client_tsx_ec91a73d._.js.map +1 -1
  445. package/.next/server/chunks/ssr/src_app_recipes_[id]_RecipeEditor_index_tsx_98393217._.js +1 -1
  446. package/.next/server/chunks/ssr/src_app_recipes_[id]_RecipeEditor_index_tsx_98393217._.js.map +1 -1
  447. package/.next/server/chunks/ssr/src_app_recipes_recipes-client_tsx_8ed3ca94._.js +1 -1
  448. package/.next/server/chunks/ssr/src_app_recipes_recipes-client_tsx_8ed3ca94._.js.map +1 -1
  449. package/.next/server/chunks/ssr/src_app_teams_[teamId]_runs_[workflowId]_[runId]_run-detail-client_tsx_56f0cbd7._.js +3 -0
  450. package/.next/server/chunks/ssr/src_app_teams_[teamId]_runs_[workflowId]_[runId]_run-detail-client_tsx_56f0cbd7._.js.map +1 -0
  451. package/.next/server/chunks/ssr/src_app_teams_[teamId]_workflows_workflows-client_tsx_12742cc9._.js +1 -1
  452. package/.next/server/chunks/ssr/src_app_teams_[teamId]_workflows_workflows-client_tsx_12742cc9._.js.map +1 -1
  453. package/.next/server/chunks/ssr/src_app_tickets_TicketsBoardClient_tsx_5e156ef3._.js +1 -1
  454. package/.next/server/chunks/ssr/src_app_tickets_TicketsBoardClient_tsx_5e156ef3._.js.map +1 -1
  455. package/.next/server/middleware-build-manifest.js +3 -3
  456. package/.next/server/pages/404.html +1 -1
  457. package/.next/server/pages/500.html +2 -2
  458. package/.next/server/server-reference-manifest.js +1 -1
  459. package/.next/server/server-reference-manifest.json +1 -1
  460. package/.next/static/chunks/001f840e2d5598af.js +10 -0
  461. package/.next/static/chunks/212477db59154fa7.js +3 -0
  462. package/.next/static/chunks/242fee5849d79d1b.js +1 -0
  463. package/.next/static/chunks/26d8587a145bded7.js +1 -0
  464. package/.next/static/chunks/{b83c1ca03c3b8c6d.js → 372ac1d07db9969a.js} +1 -1
  465. package/.next/static/chunks/4a0d27f3023676a5.js +1 -0
  466. package/.next/static/chunks/4ad57cfc54e20abd.js +1 -0
  467. package/.next/static/chunks/4e8866ad8f1f6b2b.js +1 -0
  468. package/.next/static/chunks/7d9e7a36b92578fd.js +1 -0
  469. package/.next/static/chunks/87f63f654bc046a2.js +3 -0
  470. package/.next/static/chunks/8aac543d98940eb3.js +2 -0
  471. package/.next/static/chunks/8acd42df55d57556.js +1 -0
  472. package/.next/static/chunks/95b7564f2360e762.js +1 -0
  473. package/.next/static/chunks/9801fc48f532d076.js +1 -0
  474. package/.next/static/chunks/{d6e1b7307a9274ce.js → 9c627cb11f73ac4c.js} +1 -1
  475. package/.next/static/chunks/ad652e4b50e1fb17.js +1 -0
  476. package/.next/static/chunks/aff32612e6b9d901.js +1 -0
  477. package/.next/static/chunks/c6c561355e97baa8.js +7 -0
  478. package/.next/static/chunks/d4c855575c079ffc.js +3 -0
  479. package/.next/static/chunks/d593ea5e91e81b45.js +1 -0
  480. package/.next/static/chunks/{87879d67a1601ee0.js → e0984ec981f01c0d.js} +1 -1
  481. package/.next/static/chunks/f5039461b97678c7.js +1 -0
  482. package/.next/static/chunks/f51763a2aea0a4b6.js +1 -0
  483. package/.next/static/chunks/f7f157ba542e1ae5.js +1 -0
  484. package/.next/static/chunks/fb008837ba324b34.css +3 -0
  485. package/.next/static/chunks/{turbopack-dbf3078dbf5863bd.js → turbopack-bdd9478663f034d6.js} +1 -1
  486. package/LICENSE +192 -0
  487. package/README.md +19 -5
  488. package/openclaw/index.ts +154 -5
  489. package/openclaw.plugin.json +2 -8
  490. package/package.json +5 -2
  491. package/.next/server/chunks/[root-of-the-server]__18423bab._.js +0 -3
  492. package/.next/server/chunks/[root-of-the-server]__18423bab._.js.map +0 -1
  493. package/.next/server/chunks/[root-of-the-server]__35ec765d._.js +0 -13
  494. package/.next/server/chunks/[root-of-the-server]__35ec765d._.js.map +0 -1
  495. package/.next/server/chunks/[root-of-the-server]__3c92e5aa._.js +0 -3
  496. package/.next/server/chunks/[root-of-the-server]__3c92e5aa._.js.map +0 -1
  497. package/.next/server/chunks/[root-of-the-server]__813dd669._.js +0 -3
  498. package/.next/server/chunks/[root-of-the-server]__813dd669._.js.map +0 -1
  499. package/.next/server/chunks/[root-of-the-server]__b457b884._.js +0 -22
  500. package/.next/server/chunks/[root-of-the-server]__b457b884._.js.map +0 -1
  501. package/.next/server/chunks/[root-of-the-server]__c5e88cbb._.js +0 -3
  502. package/.next/server/chunks/[root-of-the-server]__c5e88cbb._.js.map +0 -1
  503. package/.next/server/chunks/[root-of-the-server]__da7df58d._.js +0 -3
  504. package/.next/server/chunks/[root-of-the-server]__da7df58d._.js.map +0 -1
  505. package/.next/server/chunks/ssr/[root-of-the-server]__0a5cb3ca._.js +0 -3
  506. package/.next/server/chunks/ssr/[root-of-the-server]__0a5cb3ca._.js.map +0 -1
  507. package/.next/server/chunks/ssr/[root-of-the-server]__177cec74._.js +0 -3
  508. package/.next/server/chunks/ssr/[root-of-the-server]__177cec74._.js.map +0 -1
  509. package/.next/server/chunks/ssr/[root-of-the-server]__4981f370._.js +0 -3
  510. package/.next/server/chunks/ssr/[root-of-the-server]__4981f370._.js.map +0 -1
  511. package/.next/server/chunks/ssr/[root-of-the-server]__51e26a01._.js +0 -3
  512. package/.next/server/chunks/ssr/[root-of-the-server]__51e26a01._.js.map +0 -1
  513. package/.next/server/chunks/ssr/[root-of-the-server]__6b6b7595._.js +0 -3
  514. package/.next/server/chunks/ssr/[root-of-the-server]__6b6b7595._.js.map +0 -1
  515. package/.next/server/chunks/ssr/[root-of-the-server]__8f9585b9._.js +0 -3
  516. package/.next/server/chunks/ssr/[root-of-the-server]__8f9585b9._.js.map +0 -1
  517. package/.next/server/chunks/ssr/[root-of-the-server]__9e400864._.js +0 -3
  518. package/.next/server/chunks/ssr/[root-of-the-server]__9e400864._.js.map +0 -1
  519. package/.next/server/chunks/ssr/[root-of-the-server]__a6348eaa._.js +0 -3
  520. package/.next/server/chunks/ssr/[root-of-the-server]__a6348eaa._.js.map +0 -1
  521. package/.next/server/chunks/ssr/[root-of-the-server]__ad4e8478._.js +0 -3
  522. package/.next/server/chunks/ssr/[root-of-the-server]__ad4e8478._.js.map +0 -1
  523. package/.next/server/chunks/ssr/[root-of-the-server]__b5aa14b8._.js +0 -3
  524. package/.next/server/chunks/ssr/[root-of-the-server]__b5aa14b8._.js.map +0 -1
  525. package/.next/server/chunks/ssr/[root-of-the-server]__b8998a21._.js +0 -3
  526. package/.next/server/chunks/ssr/[root-of-the-server]__b8998a21._.js.map +0 -1
  527. package/.next/server/chunks/ssr/[root-of-the-server]__e9bd9b71._.js +0 -3
  528. package/.next/server/chunks/ssr/[root-of-the-server]__e9bd9b71._.js.map +0 -1
  529. package/.next/server/chunks/ssr/_32beff4b._.js +0 -3
  530. package/.next/server/chunks/ssr/_32beff4b._.js.map +0 -1
  531. package/.next/server/chunks/ssr/_7f9e89d2._.js.map +0 -1
  532. package/.next/server/chunks/ssr/_8538617d._.js +0 -3
  533. package/.next/server/chunks/ssr/_8538617d._.js.map +0 -1
  534. package/.next/server/chunks/ssr/_a506fcf8._.js +0 -3
  535. package/.next/server/chunks/ssr/_a506fcf8._.js.map +0 -1
  536. package/.next/server/chunks/ssr/_deb7a691._.js.map +0 -1
  537. package/.next/server/chunks/ssr/d4b1c_modules_next_dist_server_route-modules_app-page_vendored_ssr_react-dom_6ef9314a.js +0 -3
  538. package/.next/server/chunks/ssr/d4b1c_modules_next_dist_server_route-modules_app-page_vendored_ssr_react-dom_6ef9314a.js.map +0 -1
  539. package/.next/server/chunks/ssr/src_app_21685f67._.js +0 -3
  540. package/.next/server/chunks/ssr/src_app_21685f67._.js.map +0 -1
  541. package/.next/static/chunks/0edab8a24d59a626.js +0 -2
  542. package/.next/static/chunks/410dc851d0e3033d.js +0 -1
  543. package/.next/static/chunks/4e38b3f280ced64c.js +0 -1
  544. package/.next/static/chunks/4f2b8a07ace7e02b.js +0 -1
  545. package/.next/static/chunks/57ad5290f7e92ffd.css +0 -3
  546. package/.next/static/chunks/8a919077b73862da.js +0 -1
  547. package/.next/static/chunks/9906444fb1191bb4.js +0 -1
  548. package/.next/static/chunks/a625725b4cd85ea3.js +0 -1
  549. package/.next/static/chunks/ac32974713c57cb3.js +0 -1
  550. package/.next/static/chunks/bdb7ebd88ea13111.js +0 -1
  551. package/.next/static/chunks/bfcfbe145220d365.js +0 -1
  552. package/.next/static/chunks/c0d9f53d91cc65c5.js +0 -10
  553. package/.next/static/chunks/c0e2f959abc4cc13.js +0 -1
  554. package/.next/static/chunks/c822e53f79a492c7.js +0 -1
  555. package/.next/static/chunks/ce6b2024d13b4333.js +0 -1
  556. package/.next/static/chunks/d13249af74d111cf.js +0 -3
  557. package/.next/static/chunks/d16f64ca3a8ed208.js +0 -1
  558. package/.next/static/chunks/d7541a171116ec9c.js +0 -1
  559. package/.next/static/chunks/e03137fd069b1514.js +0 -1
  560. package/.next/static/chunks/e10faa9296c8b246.js +0 -1
  561. package/.next/static/chunks/ec24877f7b7f82c5.js +0 -3
  562. package/.next/static/chunks/ff3bbb5df40b2cc4.js +0 -1
  563. /package/.next/server/chunks/{[root-of-the-server]__be5f57b2._.js.map → [root-of-the-server]__17fa6089._.js.map} +0 -0
  564. /package/.next/server/chunks/{[root-of-the-server]__74b80ca4._.js.map → [root-of-the-server]__5792c29e._.js.map} +0 -0
  565. /package/.next/server/chunks/{[root-of-the-server]__c1b0d50e._.js.map → [root-of-the-server]__7194dfe2._.js.map} +0 -0
  566. /package/.next/server/chunks/{[root-of-the-server]__17124952._.js.map → [root-of-the-server]__89f2190c._.js.map} +0 -0
  567. /package/.next/server/chunks/{[root-of-the-server]__343776df._.js.map → [root-of-the-server]__bbed0e46._.js.map} +0 -0
  568. /package/.next/static/{F0PhVXEIb3LrF9XQem5EQ → QPNWZUPFu-1zEy4dGcXv5}/_buildManifest.js +0 -0
  569. /package/.next/static/{F0PhVXEIb3LrF9XQem5EQ → QPNWZUPFu-1zEy4dGcXv5}/_clientMiddlewareManifest.json +0 -0
  570. /package/.next/static/{F0PhVXEIb3LrF9XQem5EQ → QPNWZUPFu-1zEy4dGcXv5}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,87090,e=>{"use strict";var t=e.i(18050),r=e.i(71645),a=e.i(22016),i=e.i(18566),s=e.i(44355);function o(e){let t=new Set;for(let r of e)t.add(r);return t.size}let n={"media-image":{type:"tool",tool:"media.generate",label:"Generate Image",description:"Generate images using AI providers (DALL-E, Skills, etc.)",icon:"🎨",color:"#9333EA",category:"media",defaultConfig:{mediaType:"image",provider:"auto",prompt:"",size:"1024x1024",quality:"standard",style:"natural",outputPath:"shared-context/media/{{run.id}}_{{node.id}}.png"}},"media-video":{type:"tool",tool:"media.generate",label:"Generate Video",description:"Generate videos using AI providers",icon:"🎬",color:"#DC2626",category:"media",defaultConfig:{mediaType:"video",provider:"auto",prompt:"",duration:"5s",outputPath:"shared-context/media/{{run.id}}_{{node.id}}.mp4"}}},l=["{{run.id}}","{{workflow.name}}","{{workflow.id}}","{{date}}"],d={"social-media":"Professional social media image for: {{content}}","blog-header":"Blog header image representing: {{title}}","product-shot":"Product photography style image of: {{product}}",illustration:"Clean vector illustration of: {{concept}}",marketing:"Marketing banner image for: {{campaign}}"};function c({config:e,onChange:a,teamId:i,workflowNodeIds:s,workflowEdges:o,currentNodeId:n}){let[c,x]=(0,r.useState)([]),[m,p]=(0,r.useState)(!0),[u,h]=(0,r.useState)([]);(0,r.useEffect)(()=>{!async function(){try{let e=await fetch(`/api/teams/${i}/media-providers`);if(e.ok){let t=await e.json();x(t)}}catch(e){console.error("Failed to load media providers:",e)}finally{p(!1)}}()},[i]),(0,r.useEffect)(()=>{let t;h((t=[],e.prompt?.trim()||t.push("Prompt is required"),"image"===e.mediaType&&e.size&&!["256x256","512x512","1024x1024","1792x1024","1024x1792"].includes(e.size)&&t.push("Invalid image size"),"video"===e.mediaType&&e.duration&&!e.duration.match(/^\d+s?$/)&&t.push('Invalid video duration format (e.g., "5s")'),t))},[e]);let g=t=>{a({...e,...t})},v=c.filter(e=>e.available),k=c.find(t=>t.id===e.provider);return(0,t.jsxs)("div",{className:"space-y-3",children:[m&&(0,t.jsxs)("div",{className:"flex items-center gap-2 text-[10px] text-[color:var(--ck-text-tertiary)]",children:[(0,t.jsx)("div",{className:"animate-spin w-3 h-3 border border-[color:var(--ck-border-subtle)] border-t-transparent rounded-full"}),"Detecting providers..."]}),!m&&0===v.length&&c.length>0&&(0,t.jsx)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-amber-400/30 bg-amber-500/10 p-2 text-xs text-amber-50",children:(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("div",{className:"font-medium",children:"⚠️ Media providers detected but not available"}),(0,t.jsx)("div",{children:(0,t.jsx)("strong",{children:"Common Issues:"})}),c.some(e=>e.error?.includes("API key"))&&(0,t.jsx)("div",{children:"• Missing API keys - Check provider selection below for specific requirements"}),c.some(e=>e.error?.includes("not running"))&&(0,t.jsx)("div",{children:"• Local services not running - Start Stable Diffusion, ComfyUI, etc."}),(0,t.jsxs)("div",{children:["• ",(0,t.jsx)("a",{href:"https://docs.openclaw.ai/nodes/images",target:"_blank",rel:"noopener",className:"text-amber-100 underline hover:text-amber-50",children:"Setup troubleshooting →"})]})]})}),!m&&0===c.length&&(0,t.jsx)("div",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/20 p-3",children:(0,t.jsxs)("div",{className:"text-xs text-[color:var(--ck-text-secondary)] space-y-2",children:[(0,t.jsx)("p",{className:"font-medium text-[color:var(--ck-text-primary)]",children:"⚠️ No media generation providers detected"}),(0,t.jsxs)("div",{className:"space-y-1 text-[color:var(--ck-text-tertiary)]",children:[(0,t.jsx)("p",{children:(0,t.jsx)("strong",{children:"Setup Options:"})}),(0,t.jsxs)("p",{children:["• ",(0,t.jsx)("a",{href:"https://docs.openclaw.ai/nodes/images",target:"_blank",rel:"noopener",className:"text-blue-400 hover:text-blue-300 hover:underline",children:"Configure image generation models →"})]}),(0,t.jsxs)("p",{children:["• ",(0,t.jsx)("a",{href:"https://clawhub.ai/skills?q=image",target:"_blank",rel:"noopener",className:"text-blue-400 hover:text-blue-300 hover:underline",children:"Install image generation skills →"})]}),(0,t.jsxs)("p",{children:["• ",(0,t.jsx)("a",{href:"https://docs.openclaw.ai/setup/providers#openai",target:"_blank",rel:"noopener",className:"text-blue-400 hover:text-blue-300 hover:underline",children:"Add OpenAI API key for DALL-E →"})]})]})]})}),!m&&c.length>0&&(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"provider"}),(0,t.jsxs)("select",{value:e.provider,onChange:e=>g({provider:e.target.value}),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,t.jsx)("option",{value:"auto",children:"Auto-detect (recommended)"}),c.map(e=>(0,t.jsxs)("option",{value:e.id,children:[e.name,e.available?e.models&&e.models.length>0?` (${e.models.join(", ")})`:" ✓":" ⚠️"]},e.id))]}),k&&(0,t.jsxs)("div",{className:"mt-1 space-y-1",children:[(0,t.jsxs)("div",{className:"text-[10px] text-[color:var(--ck-text-tertiary)]",children:["Supports: ",k.supportedTypes.join(", "),k.models&&k.models.length>0&&(0,t.jsxs)("span",{className:"ml-2",children:["• Models: ",k.models.join(", ")]})]}),k.error&&(0,t.jsxs)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-red-400/30 bg-red-500/10 p-2 text-xs text-red-100",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"font-medium",children:"⚠️ Setup Required:"})," ",k.error]}),"openai"===k.id&&k.error.includes("OPENAI_API_KEY")&&(0,t.jsxs)("div",{className:"mt-1",children:["Add your OpenAI API key to environment variables or OpenClaw config."," ",(0,t.jsx)("a",{href:"https://docs.openclaw.ai/setup/providers#openai",target:"_blank",rel:"noopener",className:"text-red-200 underline hover:text-red-100",children:"Setup guide →"})]}),"skills"===k.id&&k.error.includes("API keys")&&(0,t.jsxs)("div",{className:"mt-1",children:["Skills require API keys (OPENAI_API_KEY, EVOLINK_API_KEY)."," ",(0,t.jsx)("a",{href:"https://clawhub.ai/skills?q=image",target:"_blank",rel:"noopener",className:"text-red-200 underline hover:text-red-100",children:"Browse skills →"})]}),k.id.startsWith("http-")&&(0,t.jsxs)("div",{className:"mt-1",children:["Start the local service or configure a different endpoint."," ",(0,t.jsx)("a",{href:"https://docs.openclaw.ai/nodes/images#local-endpoints",target:"_blank",rel:"noopener",className:"text-red-200 underline hover:text-red-100",children:"Local setup →"})]})]})]})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"prompt"}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("textarea",{value:e.prompt,onChange:e=>g({prompt:e.target.value}),placeholder:"Describe the image or video you want to generate...",rows:3,className:"mt-1 w-full resize-none rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2 text-xs text-[color:var(--ck-text-primary)]"}),(0,t.jsx)("div",{className:"absolute top-1 right-1",children:(0,t.jsxs)("select",{onChange:t=>{t.target.value&&(g({prompt:e.prompt+(e.prompt?" ":"")+t.target.value}),t.target.value="")},className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/30 px-1 py-0.5 text-[10px] text-[color:var(--ck-text-secondary)]",children:[(0,t.jsx)("option",{value:"",children:"+ Variables"}),(function(e,t,r){let a=new Set,i=[r];for(;i.length>0;){let e=i.shift();for(let r of t)r.to!==e||a.has(r.from)||(a.add(r.from),i.push(r.from))}return[...e.filter(e=>a.has(e)&&"start"!==e&&"end"!==e).map(e=>`{{${e}.output}}`),...l]})(s??[],o??[],n??"").map(e=>(0,t.jsx)("option",{value:e,children:e},e))]})})]}),(0,t.jsx)("div",{className:"mt-1 flex gap-1 flex-wrap",children:Object.entries(d).map(([e,r])=>(0,t.jsx)("button",{onClick:()=>g({prompt:r}),className:"rounded-[var(--ck-radius-sm)] bg-black/20 px-2 py-0.5 text-[9px] text-[color:var(--ck-text-tertiary)] hover:bg-black/30",type:"button",children:e},e))}),(0,t.jsx)("div",{className:"mt-1 text-[10px] text-[color:var(--ck-text-tertiary)]",children:"Use template variables for dynamic content. Quick templates available above."})]}),"image"===e.mediaType&&(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"size"}),(0,t.jsxs)("select",{value:e.size||"1024x1024",onChange:e=>g({size:e.target.value}),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,t.jsx)("option",{value:"1024x1024",children:"Square (1024×1024)"}),(0,t.jsx)("option",{value:"1792x1024",children:"Landscape (1792×1024)"}),(0,t.jsx)("option",{value:"1024x1792",children:"Portrait (1024×1792)"}),(0,t.jsx)("option",{value:"512x512",children:"Small Square (512×512)"})]})]}),k?.id==="openai"&&(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"quality"}),(0,t.jsxs)("select",{value:e.quality||"standard",onChange:e=>g({quality:e.target.value}),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,t.jsx)("option",{value:"standard",children:"Standard"}),(0,t.jsx)("option",{value:"hd",children:"HD (higher cost)"})]})]})]}),k?.id==="openai"&&"image"===e.mediaType&&(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"style"}),(0,t.jsxs)("select",{value:e.style||"natural",onChange:e=>g({style:e.target.value}),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,t.jsx)("option",{value:"natural",children:"Natural"}),(0,t.jsx)("option",{value:"vivid",children:"Vivid"})]})]}),"video"===e.mediaType&&(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"duration"}),(0,t.jsx)("input",{type:"text",value:e.duration||"5s",onChange:e=>g({duration:e.target.value}),placeholder:"e.g., 5s, 10s",className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]"}),(0,t.jsx)("div",{className:"mt-1 text-[10px] text-[color:var(--ck-text-tertiary)]",children:'Duration in seconds (e.g., "5s", "10s")'})]}),u.length>0&&(0,t.jsxs)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-red-400/30 bg-red-500/10 p-2 text-xs text-red-100",children:[(0,t.jsx)("div",{className:"font-medium mb-1",children:"Configuration Issues:"}),(0,t.jsx)("div",{className:"space-y-0.5",children:u.map((e,r)=>(0,t.jsxs)("div",{children:["• ",e]},r))})]})]})}function x(e,t){return`ck-wf-draft:${e}:${t}`}function m({teamId:e,workflowId:l,draft:d,llmTaskEnabled:m}){let p,u,h,g,v,k,b,f,y,j=(0,i.useRouter)(),[w,N]=(0,r.useState)("canvas"),[S,C]=(0,r.useState)(!1),[I,A]=(0,r.useState)({kind:"loading"}),[T,L]=(0,r.useState)(""),$=(0,r.useRef)(null),[M,E]=(0,r.useState)(!1),[O,_]=(0,r.useState)(1),P=(0,r.useRef)(null),[B,z]=(0,r.useState)(""),[R,W]=(0,r.useState)(null),[D,U]=(0,r.useState)({kind:"select"}),[q,J]=(0,r.useState)(""),[F,V]=(0,r.useState)([]),[K,Y]=(0,r.useState)(""),[Z,G]=(0,r.useState)([]),[H,X]=(0,r.useState)(""),[Q,ee]=(0,r.useState)([]),[et,er]=(0,r.useState)(""),ea=(0,r.useMemo)(()=>/Tool not available:\s*gateway/i.test(String(H||"")),[H]),[ei,es]=(0,r.useState)([]),[eo,en]=(0,r.useState)(!1),[el,ed]=(0,r.useState)(""),[ec,ex]=(0,r.useState)(""),[em,ep]=(0,r.useState)(!1),[eu,eh]=(0,r.useState)(""),[eg,ev]=(0,r.useState)({}),[ek,eb]=(0,r.useState)(!1),[ef,ey]=(0,r.useState)(!1),[ej,ew]=(0,r.useState)(""),[eN,eS]=(0,r.useState)(""),[eC,eI]=(0,r.useState)(""),[eA,eT]=(0,r.useState)("llm"),[eL,e$]=(0,r.useState)(""),[eM,eE]=(0,r.useState)(""),[eO,e_]=(0,r.useState)("");function eP(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function eB(e){if(!eP(e))return null;let t=eP(e.match)?e.match:null;if(!t)return null;let r=String(t.channel??"").trim();if(!r)return null;let a=String(e.agentId??"").trim(),i=String(t.accountId??"").trim(),s=eP(t.peer)?t.peer:null,o=s?String(s.kind??"").trim():"",n=s?String(s.id??"").trim():"",l=n||i;if(!l)return null;let d=a||(i?`${r}:account:${i}`:`${r}:${o}:${n}`),c=[r];return a&&c.push(a),i&&c.push(`account:${i}`),o&&n&&c.push(`${o}:${n}`),{id:d,label:c.join(" · "),channel:r,target:l}}(0,r.useEffect)(()=>{(async()=>{try{if(d){let t=sessionStorage.getItem(x(e,l));if(t)return void A({kind:"ready",jsonText:t});let r=JSON.stringify({schema:"clawkitchen.workflow.v1",id:l,name:"New workflow",timezone:"UTC",nodes:[{id:"start",type:"start",name:"start",x:80,y:80,config:{}},{id:"end",type:"end",name:"end",x:520,y:80,config:{}}],edges:[{id:"e1",from:"start",to:"end"}]},null,2)+"\n";A({kind:"ready",jsonText:r});try{sessionStorage.setItem(x(e,l),r)}catch{}return}let t=await fetch(`/api/teams/workflows?teamId=${encodeURIComponent(e)}&id=${encodeURIComponent(l)}`,{cache:"no-store"}),r=await t.json();if(!t.ok||!r.ok)throw Error(r.error||"Failed to load workflow");A({kind:"ready",jsonText:JSON.stringify(r.workflow,null,2)+"\n"})}catch(e){A({kind:"error",error:e instanceof Error?e.message:String(e)})}})()},[e,l,d]),(0,r.useEffect)(()=>{(async()=>{Y("");try{let t=await fetch("/api/agents",{cache:"no-store"}),r=await t.json();if(!t.ok)throw Error(r.error||r.message||"Failed to load agents");let a=(Array.isArray(r.agents)?r.agents:[]).map(e=>({id:String(e.id??"").trim(),identityName:"string"==typeof e.identityName?e.identityName:void 0})).filter(t=>t.id&&t.id.startsWith(`${e}-`));V(a)}catch(e){Y(e instanceof Error?e.message:String(e)),V([])}})()},[e]),(0,r.useEffect)(()=>{(async()=>{X("");try{let e=await fetch("/api/channels/bindings",{cache:"no-store"}),t=await e.json();if(!e.ok||!1===t.ok)throw Error(t.error||"Failed to load bindings");let r=(Array.isArray(t.bindings)?t.bindings:[]).map(eB).filter(Boolean);G(r)}catch(e){X(e instanceof Error?e.message:String(e)),G([])}})()},[]),(0,r.useEffect)(()=>{(async()=>{er("");try{let e=await fetch("/api/settings/model-options",{cache:"no-store"}),t=await e.json();if(!e.ok||!1===t.ok)throw Error(t.error||"Failed to load model options");let r=Array.isArray(t.models)?Array.from(new Set(t.models.map(e=>String(e??"").trim()).filter(Boolean))):[];ee(r)}catch(e){er(e instanceof Error?e.message:String(e)),ee([])}})()},[]);let ez=(0,r.useCallback)(async()=>{eh(""),ep(!0);try{let e=await fetch("/api/cron/jobs",{cache:"no-store"}),t=await e.json();if(!e.ok||!1===t.ok)throw Error(t.error||"Failed to load cron jobs");let r=Array.isArray(t.jobs)?t.jobs:[],a={};for(let e of r){if(!e||!e.enabled)continue;let t=String(e.name??""),r=String(e.payload?.message??"");if(!(t.startsWith("workflow-worker:")||r.includes("worker-tick")))continue;let i=t.match(/^workflow-worker:[^:]+:(.+)$/);if(i?.[1]){a[i[1]]=!0;continue}let s=r.match(/--agent-id\s+(\S+)/);if(s?.[1]){a[s[1]]=!0;continue}let o=String(e.agentId??"").trim();o&&"main"!==o&&(a[o]=!0)}return ev(a),a}catch(e){return eh(e instanceof Error?e.message:String(e)),ev({}),{}}finally{ep(!1)}},[]);(0,r.useEffect)(()=>{ez()},[ez]);let eR=(0,r.useMemo)(()=>{if("ready"!==I.kind)return{wf:null,err:""};try{return{wf:JSON.parse(I.jsonText),err:""}}catch(e){return{wf:null,err:e instanceof Error?e.message:String(e)}}},[I]),eW=(0,r.useMemo)(()=>eR.wf?function(e){let t=[],r=[];"clawkitchen.workflow.v1"!==e.schema&&t.push(`schema must be clawkitchen.workflow.v1 (got ${String(e.schema)})`),String(e.id||"").trim()||t.push("id is required"),String(e.name||"").trim()||t.push("name is required");let a=Array.isArray(e.nodes)?e.nodes:[],i=Array.isArray(e.edges)?e.edges:[],s=Array.isArray(e.triggers)?e.triggers:[],n=a.map(e=>String(e?.id??"").trim()).filter(Boolean);n.length!==a.length&&t.push("all nodes must have a non-empty id"),o(n)!==n.length&&t.push("node ids must be unique");let l=i.map(e=>String(e?.id??"").trim()).filter(Boolean);l.length!==i.length&&t.push("all edges must have a non-empty id"),o(l)!==l.length&&t.push("edge ids must be unique");let d=new Set(n);for(let e of i){let r=String(e?.from??"").trim(),a=String(e?.to??"").trim();if(!r||!a){t.push(`edge ${String(e?.id??"(missing id)")} must have from/to`);continue}d.has(r)||t.push(`edge ${String(e.id)} references missing from node: ${r}`),d.has(a)||t.push(`edge ${String(e.id)} references missing to node: ${a}`)}let c=a.filter(e=>"start"===e.type),x=a.filter(e=>"end"===e.type);for(let e of(c.length||r.push("no start node found"),c.length>1&&r.push("multiple start nodes found (MVP supports this, but execution semantics may be ambiguous)"),x.length||r.push("no end node found"),s))if("cron"===e.kind){(String(e.id||"").trim()||t.push("cron trigger missing id"),String(e.expr||"").trim())?5!==String(e.expr||"").trim().split(/\s+/).filter(Boolean).length&&r.push(`cron trigger ${String(e.id)} expr is not 5-field: ${String(e.expr)}`):t.push(`cron trigger ${String(e.id||"(missing id)")} missing expr`);let a=e.tz?String(e.tz).trim():"";a&&"UTC"!==a&&!a.includes("/")&&r.push(`cron trigger ${String(e.id)} tz doesn't look like an IANA timezone: ${String(e.tz)}`)}let m=e.meta&&"object"==typeof e.meta&&!Array.isArray(e.meta)?e.meta:{},p=String(m.approvalTarget??"").trim();for(let e of a){if("human_approval"!==e.type)continue;let t=e.config&&"object"==typeof e.config&&!Array.isArray(e.config)?e.config:{},a=String(t.target??t.chatId??"").trim(),i=String(t.provider??t.channel??"").trim();a||p||r.push(`human_approval node ${String(e.id)} has no target (set node.config.target or workflow.meta.approvalTarget)`),!a||i||String(m.approvalProvider??"").trim()||r.push(`human_approval node ${String(e.id)} has a target but no provider (set node.config.provider or workflow.meta.approvalProvider)`)}return{errors:t,warnings:r}}(eR.wf):{errors:[],warnings:[]},[eR.wf]),eD=(0,r.useMemo)(()=>{let e=eR.wf;if(!e)return{missingAgentOnNodeIds:[],requiredAgentIds:[],agentIdsMissingCron:[],ok:!0};let t=(e.nodes??[]).filter(e=>"start"!==e.type&&"end"!==e.type&&"human_approval"!==e.type),r=t.filter(e=>!String((e.config&&"object"==typeof e.config&&!Array.isArray(e.config)?e.config:{}).agentId??"").trim()).map(e=>e.id),a=Array.from(new Set(t.map(e=>String((e.config&&"object"==typeof e.config&&!Array.isArray(e.config)?e.config:{}).agentId??"").trim()).filter(Boolean))),i=a.filter(e=>!eg[e]),s=0===r.length&&0===i.length;return{missingAgentOnNodeIds:r,requiredAgentIds:a,agentIdsMissingCron:i,ok:s}},[eR.wf,eg]);function eU(t){let r=JSON.stringify(t,null,2)+"\n";if(A({kind:"ready",jsonText:r}),d)try{sessionStorage.setItem(x(e,l),r)}catch{}}async function eq(){if("ready"===I.kind&&eR.wf&&!eR.err&&!eW.errors.length){C(!0),L("");try{let t=await fetch("/api/teams/workflows",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({teamId:e,workflow:eR.wf})}),r=await t.json();if(!t.ok||!r.ok)throw Error(r.error||"Failed to save workflow");try{sessionStorage.removeItem(x(e,l))}catch{}}catch(e){L(e instanceof Error?e.message:String(e))}finally{C(!1)}}}if("loading"===I.kind)return(0,t.jsx)("div",{className:"ck-glass w-full p-6",children:"Loading…"});if("error"===I.kind)return(0,t.jsx)("div",{className:"ck-glass w-full p-6",children:I.error});let eJ=!1===m?(0,t.jsxs)("div",{className:"mx-3 mb-3 rounded-[var(--ck-radius-sm)] border border-amber-500/30 bg-amber-500/10 p-3 text-sm",children:[(0,t.jsx)("div",{className:"font-medium text-amber-200",children:"LLM support is not enabled"}),(0,t.jsxs)("div",{className:"mt-1 text-[color:var(--ck-text-secondary)]",children:["Workflow LLM nodes require the optional built-in ",(0,t.jsx)("code",{className:"px-1",children:"llm-task"})," plugin."]}),(0,t.jsxs)("div",{className:"mt-2 text-[color:var(--ck-text-secondary)]",children:["Enable it with: ",(0,t.jsx)("code",{className:"px-1",children:"openclaw plugins enable llm-task"})," then run"," ",(0,t.jsx)("code",{className:"px-1",children:"openclaw gateway restart"}),"."]})]}):null;return(0,t.jsxs)("div",{className:"flex h-full min-h-0 w-full flex-1 flex-col",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 px-3 py-3",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,t.jsx)("a",{href:`/teams/${encodeURIComponent(e)}?tab=workflows`,className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10",children:"Back"}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsxs)("div",{className:"truncate text-base font-medium text-[color:var(--ck-text-primary)]",children:[l,".workflow.json"]}),(0,t.jsxs)("div",{className:"mt-0.5 text-sm text-[color:var(--ck-text-tertiary)]",children:["Team: ",e]})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsxs)("div",{className:"flex overflow-hidden rounded-[var(--ck-radius-sm)] border border-white/10",children:[(0,t.jsx)("button",{type:"button",onClick:()=>N("canvas"),className:"canvas"===w?"bg-white/10 px-3 py-2 text-xs font-medium text-[color:var(--ck-text-primary)]":"bg-transparent px-3 py-2 text-xs font-medium text-[color:var(--ck-text-secondary)] hover:bg-white/5",children:"Canvas"}),(0,t.jsx)("button",{type:"button",onClick:()=>N("json"),className:"json"===w?"bg-white/10 px-3 py-2 text-xs font-medium text-[color:var(--ck-text-primary)]":"bg-transparent px-3 py-2 text-xs font-medium text-[color:var(--ck-text-secondary)] hover:bg-white/5",children:"JSON"})]}),(0,t.jsx)("input",{ref:$,type:"file",accept:"application/json,.json",className:"hidden",onChange:async t=>{let r=t.target.files?.[0];if(t.target.value="",r){L("");try{let t=await r.text(),a=JSON.parse(t);if(A({kind:"ready",jsonText:JSON.stringify(a,null,2)+"\n"}),d)try{sessionStorage.setItem(x(e,l),JSON.stringify(a,null,2)+"\n")}catch{}}catch(e){L(e instanceof Error?e.message:String(e))}}}}),(0,t.jsx)("button",{type:"button",disabled:S,onClick:()=>$.current?.click(),className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)] shadow-[var(--ck-shadow-1)] hover:bg-white/10 disabled:opacity-50",children:"Import"}),(0,t.jsx)("button",{type:"button",disabled:!eR.wf||!!eR.err||eW.errors.length>0,onClick:function(){if(!eR.wf||eR.err||eW.errors.length)return;let e=`${eR.wf.id||l}.workflow.json`,t=new Blob([JSON.stringify(eR.wf,null,2)+"\n"],{type:"application/json"}),r=URL.createObjectURL(t),a=document.createElement("a");a.href=r,a.download=e,document.body.appendChild(a),a.click(),a.remove(),URL.revokeObjectURL(r)},className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)] shadow-[var(--ck-shadow-1)] hover:bg-white/10 disabled:opacity-50",children:"Export"}),(0,t.jsx)("button",{type:"button",disabled:S||!eR.wf||!!eR.err||eW.errors.length>0,onClick:eq,className:"rounded-[var(--ck-radius-sm)] bg-[var(--ck-accent-red)] px-3 py-2 text-sm font-medium text-white shadow-[var(--ck-shadow-1)] disabled:opacity-50",children:S?"Saving…":"Save"})]})]}),eJ,eR.err?(0,t.jsxs)("div",{className:"mt-3 rounded-[var(--ck-radius-sm)] border border-yellow-400/30 bg-yellow-500/10 p-3 text-sm text-yellow-100",children:["JSON parse error: ",eR.err]}):null,!eR.err&&eW.errors.length?(0,t.jsxs)("div",{className:"mt-3 rounded-[var(--ck-radius-sm)] border border-red-400/30 bg-red-500/10 p-3 text-sm text-red-100",children:[(0,t.jsx)("div",{className:"font-medium",children:"Workflow validation errors"}),(0,t.jsx)("ul",{className:"mt-2 list-disc space-y-1 pl-5",children:eW.errors.map(e=>(0,t.jsx)("li",{children:e},e))})]}):null,eR.err||eW.errors.length||!eW.warnings.length?null:(0,t.jsxs)("div",{className:"mt-3 rounded-[var(--ck-radius-sm)] border border-yellow-400/30 bg-yellow-500/10 p-3 text-sm text-yellow-100",children:[(0,t.jsx)("div",{className:"font-medium",children:"Workflow validation warnings"}),(0,t.jsx)("ul",{className:"mt-2 list-disc space-y-1 pl-5",children:eW.warnings.map(e=>(0,t.jsx)("li",{children:e},e))})]}),T?(0,t.jsx)("div",{className:"mt-3 rounded-[var(--ck-radius-sm)] border border-red-400/30 bg-red-500/10 p-3 text-sm text-red-100",children:T}):null,(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 gap-0",children:["json"===w?(0,t.jsx)("textarea",{value:I.jsonText,onChange:t=>{let r=t.target.value;if(A({kind:"ready",jsonText:r}),d)try{sessionStorage.setItem(x(e,l),r)}catch{}},className:"h-full min-h-0 w-full flex-1 resize-none rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/20 p-3 font-mono text-xs text-[color:var(--ck-text-primary)]"}):(0,t.jsx)("div",{ref:P,className:"relative h-full min-h-0 w-full flex-1 overflow-auto bg-black/20",onWheel:e=>{if(!e.ctrlKey&&!e.metaKey)return;e.preventDefault();let t=e.deltaY>0?-1:1;_(e=>Math.max(.5,Math.min(2.5,Math.round((e+.1*t)*10)/10)))},onClick:e=>{if("add-node"!==D.kind)return;let t=eR.wf;if(!t)return;let r=P.current;if(!r)return;let a=e.target;if(a&&a.closest("[data-wf-node='1']"))return;let i=r.getBoundingClientRect(),s=(e.clientX-i.left+r.scrollLeft)/O,o=(e.clientY-i.top+r.scrollTop)/O,l=D.nodeType.replace(/[^a-z0-9_\-]/gi,"_"),d=new Set(t.nodes.map(e=>e.id)),c=1,x=`${l}_${c}`;for(;d.has(x);)c++,x=`${l}_${c}`;let m=Math.max(0,s-90),p=Math.max(0,o-24),u=D.nodeType in n?{...n[D.nodeType].defaultConfig}:{},h={id:x,type:D.nodeType,name:x,x:m,y:p,config:u};eU({...t,nodes:[...t.nodes,h]}),z(x),U({kind:"select"})},children:(0,t.jsxs)("div",{className:"relative",style:{width:2200*O,height:1200*O},children:[(0,t.jsxs)("div",{className:M?"absolute left-3 top-3 z-20 w-[44px] overflow-hidden rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/40 p-2 backdrop-blur":"absolute left-3 top-3 z-20 w-[260px] rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/40 p-2 backdrop-blur",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)("div",{className:M?"hidden":"text-[10px] font-medium uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"Tools"}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("div",{className:M?"hidden":"flex items-center gap-1",children:[(0,t.jsx)("button",{type:"button",onClick:()=>_(e=>Math.max(.5,Math.round((e-.1)*10)/10)),className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] text-[color:var(--ck-text-secondary)] hover:bg-white/10",title:"Zoom out (Ctrl/Cmd+wheel)",children:"-"}),(0,t.jsxs)("div",{className:"min-w-[42px] text-center text-[10px] text-[color:var(--ck-text-tertiary)]",children:[Math.round(100*O),"%"]}),(0,t.jsx)("button",{type:"button",onClick:()=>_(e=>Math.min(2.5,Math.round((e+.1)*10)/10)),className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] text-[color:var(--ck-text-secondary)] hover:bg-white/10",title:"Zoom in (Ctrl/Cmd+wheel)",children:"+"})]}),(0,t.jsx)("button",{type:"button",onClick:()=>E(e=>!e),className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] text-[color:var(--ck-text-secondary)] hover:bg-white/10",title:M?"Expand":"Collapse",children:M?">":"<"})]})]}),M?(0,t.jsx)("div",{className:"mt-2 flex flex-col items-center gap-2",children:[{key:"select",label:"Select",active:"select"===D.kind,onClick:()=>{U({kind:"select"}),J("")},icon:(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M5 4l7 16 2-7 7-2L5 4Z",stroke:"currentColor",strokeWidth:"1.6",strokeLinejoin:"round"})})},{key:"connect",label:"Connect",active:"connect"===D.kind,onClick:()=>{U(e=>"connect"===e.kind?{kind:"select"}:{kind:"connect"}),J("")},icon:(0,t.jsxs)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:[(0,t.jsx)("path",{d:"M10 13a5 5 0 0 1 0-7l1.2-1.2a5 5 0 0 1 7 7L17 12",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),(0,t.jsx)("path",{d:"M14 11a5 5 0 0 1 0 7L12.8 19.2a5 5 0 1 1-7-7L7 12",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"})]})},{key:"llm",label:"LLM",active:"add-node"===D.kind&&"llm"===D.nodeType,onClick:()=>{U({kind:"add-node",nodeType:"llm"}),J("")},icon:(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M12 2l1.5 6.5L20 10l-6.5 1.5L12 18l-1.5-6.5L4 10l6.5-1.5L12 2Z",stroke:"currentColor",strokeWidth:"1.6",strokeLinejoin:"round"})})},{key:"tool",label:"Tool",active:"add-node"===D.kind&&"tool"===D.nodeType,onClick:()=>{U({kind:"add-node",nodeType:"tool"}),J("")},icon:(0,t.jsxs)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:[(0,t.jsx)("path",{d:"M14.5 7.5l2 2-8.5 8.5H6v-2l8.5-8.5Z",stroke:"currentColor",strokeWidth:"1.6",strokeLinejoin:"round"}),(0,t.jsx)("path",{d:"M12 6a4 4 0 0 0-5 5l3-3 2 2 3-3A4 4 0 0 0 12 6Z",stroke:"currentColor",strokeWidth:"1.6",strokeLinejoin:"round"})]})},{key:"condition",label:"If",active:"add-node"===D.kind&&"condition"===D.nodeType,onClick:()=>{U({kind:"add-node",nodeType:"condition"}),J("")},icon:(0,t.jsxs)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:[(0,t.jsx)("path",{d:"M7 4v7a3 3 0 0 0 3 3h7",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),(0,t.jsx)("path",{d:"M17 10l3 3-3 3",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})]})},{key:"delay",label:"Delay",active:"add-node"===D.kind&&"delay"===D.nodeType,onClick:()=>{U({kind:"add-node",nodeType:"delay"}),J("")},icon:(0,t.jsxs)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:[(0,t.jsx)("path",{d:"M12 7v5l3 2",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"}),(0,t.jsx)("path",{d:"M21 12a9 9 0 1 1-9-9",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"})]})},{key:"approval",label:"Approval",active:"add-node"===D.kind&&"human_approval"===D.nodeType,onClick:()=>{U({kind:"add-node",nodeType:"human_approval"}),J("")},icon:(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M20 6 9 17l-5-5",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})})},{key:"end",label:"End",active:"add-node"===D.kind&&"end"===D.nodeType,onClick:()=>{U({kind:"add-node",nodeType:"end"}),J("")},icon:(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M7 7h10v10H7V7Z",stroke:"currentColor",strokeWidth:"1.6",strokeLinejoin:"round"})})},{key:"media-image",label:"Image",active:"add-node"===D.kind&&"media-image"===D.nodeType,onClick:()=>{U({kind:"add-node",nodeType:"media-image"}),J("")},icon:(0,t.jsxs)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:[(0,t.jsx)("path",{d:"M14.5 4h-5L7 6.5 4.5 9v6L7 17.5 9.5 20h5L17 17.5 19.5 15V9L17 6.5 14.5 4Z",stroke:"currentColor",strokeWidth:"1.6",strokeLinejoin:"round"}),(0,t.jsx)("path",{d:"M9 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z",fill:"currentColor"}),(0,t.jsx)("path",{d:"m4.5 15 3.5-3.5L11 14l3.5-3.5 4 4",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})]})},{key:"media-video",label:"Video",active:"add-node"===D.kind&&"media-video"===D.nodeType,onClick:()=>{U({kind:"add-node",nodeType:"media-video"}),J("")},icon:(0,t.jsxs)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:[(0,t.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"}),(0,t.jsx)("path",{d:"M14 2v6h6",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"}),(0,t.jsx)("path",{d:"M10 12l4.5 2.5-4.5 2.5v-5z",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})]})}].map(e=>(0,t.jsx)("button",{type:"button",onClick:e.onClick,className:e.active?"flex h-8 w-8 items-center justify-center rounded-[var(--ck-radius-sm)] bg-white/10 text-[color:var(--ck-text-primary)]":"flex h-8 w-8 items-center justify-center rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 text-[color:var(--ck-text-secondary)] hover:bg-white/10",title:e.label,"aria-label":e.label,children:e.icon},e.key))}):(0,t.jsxs)("div",{className:"mt-2 grid grid-cols-2 gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:()=>{U({kind:"select"}),J("")},className:"select"===D.kind?"rounded-[var(--ck-radius-sm)] bg-white/10 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]":"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-xs text-[color:var(--ck-text-secondary)] hover:bg-white/10",children:"Select"}),(0,t.jsx)("button",{type:"button",onClick:()=>{U({kind:"connect"}),J("")},className:"connect"===D.kind?"rounded-[var(--ck-radius-sm)] bg-white/10 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]":"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-xs text-[color:var(--ck-text-secondary)] hover:bg-white/10",title:"Click a node, then click another node to create an edge",children:"Connect"}),[{t:"llm",label:"LLM"},{t:"tool",label:"Tool"},{t:"condition",label:"If"},{t:"delay",label:"Delay"},{t:"human_approval",label:"Approve"},{t:"media-image",label:"🎨 Image"},{t:"media-video",label:"🎬 Video"},{t:"end",label:"End"}].map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>{U({kind:"add-node",nodeType:e.t}),J("")},className:"add-node"===D.kind&&D.nodeType===e.t?"rounded-[var(--ck-radius-sm)] bg-white/10 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]":"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-xs text-[color:var(--ck-text-secondary)] hover:bg-white/10",title:"Select tool, then click on the canvas to place",children:["+ ",e.label]},e.t))]}),!M&&"connect"===D.kind&&q?(0,t.jsxs)("div",{className:"mt-2 text-xs text-[color:var(--ck-text-secondary)]",children:["Connecting from: ",(0,t.jsx)("span",{className:"font-mono",children:q})]}):null,M||"add-node"!==D.kind?null:(0,t.jsxs)("div",{className:"mt-2 text-xs text-[color:var(--ck-text-secondary)]",children:["Click on the canvas to place a ",(0,t.jsx)("span",{className:"font-mono",children:D.nodeType})," node."]}),(0,t.jsxs)("div",{className:"mt-3 border-t border-white/10 pt-3",children:[(0,t.jsxs)("div",{className:M?"hidden":"flex items-center justify-between gap-2",children:[(0,t.jsx)("div",{className:"text-[10px] font-medium uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"Agents"}),(0,t.jsx)("div",{className:"text-[10px] text-[color:var(--ck-text-tertiary)]",children:"drag → node"})]}),M?(0,t.jsx)("button",{type:"button",onClick:()=>E(!1),className:"mt-2 flex h-8 w-8 items-center justify-center rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 text-[color:var(--ck-text-secondary)] hover:bg-white/10",title:"Expand to see agents","aria-label":"Expand to see agents",children:(0,t.jsxs)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:[(0,t.jsx)("path",{d:"M16 11a4 4 0 1 0-8 0",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),(0,t.jsx)("path",{d:"M4 20a8 8 0 0 1 16 0",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"})]})}):(0,t.jsxs)(t.Fragment,{children:[K?(0,t.jsx)("div",{className:"mt-1 text-[11px] text-red-200",children:K}):null,(0,t.jsx)("div",{className:"mt-2 max-h-[140px] space-y-1 overflow-auto",children:F.length?F.map(r=>(0,t.jsx)("div",{draggable:!0,onDragStart:e=>{e.dataTransfer.setData("text/plain",r.id),e.dataTransfer.effectAllowed="copy"},className:"cursor-grab rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-xs text-[color:var(--ck-text-secondary)] hover:bg-white/10",title:r.id,children:r.identityName?r.identityName:r.id.replace(`${e}-`,"")},r.id)):(0,t.jsx)("div",{className:"text-xs text-[color:var(--ck-text-tertiary)]",children:"No team agents found."})})]})]})]}),(0,t.jsxs)("div",{className:"relative h-[1200px] w-[2200px]",style:{transform:`scale(${O})`,transformOrigin:"0 0"},children:[(0,t.jsx)("svg",{className:"pointer-events-none absolute inset-0 -z-10",width:2200,height:1200,style:{overflow:"visible"},children:(eR.wf?.edges??[]).map(e=>{let r=eR.wf;if(!r)return null;let a=r.nodes.find(t=>t.id===e.from),i=r.nodes.find(t=>t.id===e.to);if(!a||!i)return null;let s=("number"==typeof a.x?a.x:80)+90,o=("number"==typeof a.y?a.y:80)+24,n=("number"==typeof i.x?i.x:80)+90,l=("number"==typeof i.y?i.y:80)+24;return(0,t.jsx)("line",{x1:s,y1:o,x2:n,y2:l,stroke:"rgba(255,255,255,0.35)",strokeWidth:3},e.id)})}),(eR.wf?.nodes??[]).map((r,a)=>{let i="number"==typeof r.x?r.x:80+220*a,s="number"==typeof r.y?r.y:80,o=B===r.id;return(0,t.jsxs)("div",{role:"button",tabIndex:0,"data-wf-node":"1",draggable:"select"===D.kind||"connect"===D.kind,onDragStart:e=>{"select"===D.kind&&e.dataTransfer.setData("text/plain","")},onDragOver:e=>{e.dataTransfer.types.includes("text/plain")&&e.preventDefault()},onDrop:e=>{let t=eR.wf;if(!t)return;e.preventDefault(),e.stopPropagation();let a=String(e.dataTransfer.getData("text/plain")||"").trim();if(!a)return;let i=t.nodes.map(e=>{if(e.id!==r.id)return e;let t=e.config&&"object"==typeof e.config&&!Array.isArray(e.config)?e.config:{};return{...e,config:{...t,agentId:a}}});eU({...t,nodes:i}),z(r.id)},onClick:e=>{e.stopPropagation();let t=eR.wf;if("connect"===D.kind){if(!t)return;if(!q){J(r.id),z(r.id);return}let e=r.id;if(J(""),!q||!e||q===e||(t.edges??[]).some(t=>t.from===q&&t.to===e))return;let a=`e${Date.now()}`;eU({...t,edges:[...t.edges??[],{id:a,from:q,to:e}]}),U({kind:"select"});return}z(r.id)},onPointerDown:e=>{if("add-node"===D.kind||0!==e.button)return;let t=P.current;if(!t)return;let a=t.getBoundingClientRect();z(r.id);try{e.currentTarget.setPointerCapture(e.pointerId)}catch{}e.preventDefault();let o=(e.clientX-a.left+t.scrollLeft)/O,n=(e.clientY-a.top+t.scrollTop)/O;W({nodeId:r.id,dx:o-i,dy:n-s})},onPointerUp:e=>{try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}W(null)},onPointerMove:e=>{if(!R||R.nodeId!==r.id)return;let t=eR.wf;if(!t)return;let a=P.current;if(!a)return;let i=a.getBoundingClientRect(),s=(e.clientX-i.left+a.scrollLeft)/O,o=(e.clientY-i.top+a.scrollTop)/O,n=s-R.dx,l=o-R.dy,d=t.nodes.map(e=>e.id===r.id?{...e,x:n,y:l}:e);A({kind:"ready",jsonText:JSON.stringify({...t,nodes:d},null,2)+"\n"})},className:o?"absolute z-10 cursor-grab rounded-[var(--ck-radius-sm)] border border-white/25 bg-white/10 px-3 py-2 text-xs text-[color:var(--ck-text-primary)] shadow-[var(--ck-shadow-1)]":"absolute z-10 cursor-grab rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-3 py-2 text-xs text-[color:var(--ck-text-secondary)] hover:bg-white/10",style:{left:i,top:s,width:180},children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[r.type in n&&(0,t.jsx)("span",{className:"text-lg",children:"media-image"===r.type?"🎨":"🎬"}),(0,t.jsx)("div",{className:"font-medium text-[color:var(--ck-text-primary)]",children:r.name||r.id})]}),(0,t.jsx)("div",{className:"mt-0.5 text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:r.type}),(()=>{let a=r.config&&"object"==typeof r.config&&!Array.isArray(r.config)?r.config:null;if(r.type in n&&a){let e=String(a.prompt??"").trim(),r=String(a.provider??"auto");return(0,t.jsxs)("div",{className:"mt-1 space-y-0.5",children:[e&&(0,t.jsxs)("div",{className:"text-[10px] text-[color:var(--ck-text-secondary)] truncate",title:e,children:['"',e.length>40?e.substring(0,40)+"...":e,'"']}),(0,t.jsxs)("div",{className:"text-[10px] text-[color:var(--ck-text-tertiary)]",children:["Provider: ",r]})]})}let i=a?String(a.agentId??"").trim():"";if(!i)return null;let s=i.replace(`${e}-`,"");return(0,t.jsxs)("div",{className:"mt-1 text-[10px] text-[color:var(--ck-text-secondary)]",children:["Agent: ",s]})})()]},r.id)}),(()=>{let r=eR.wf;if(!r||!B)return null;let a=r.nodes.find(e=>e.id===B);if(!a)return null;let i="number"==typeof a.x?a.x:80,s="number"==typeof a.y?a.y:80,o=a.config&&"object"==typeof a.config&&!Array.isArray(a.config)?a.config:{},l=String(o.agentId??"").trim(),d=String(o.model??"").trim();return(0,t.jsxs)("div",{className:"absolute z-10 w-[320px] rounded-[var(--ck-radius-sm)] border border-white/15 bg-black/60 p-3 shadow-[var(--ck-shadow-1)] backdrop-blur",style:{left:i+200,top:s},children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)("div",{className:"text-xs font-medium text-[color:var(--ck-text-primary)]",children:a.name||a.id}),(0,t.jsx)("button",{type:"button",onClick:()=>z(""),className:"text-[10px] text-[color:var(--ck-text-tertiary)] hover:text-[color:var(--ck-text-primary)]",children:"Close"})]}),(0,t.jsxs)("div",{className:"mt-2 space-y-2",children:[(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"name"}),(0,t.jsx)("input",{value:String(a.name??""),onChange:e=>{let t=e.target.value;eU({...r,nodes:r.nodes.map(e=>e.id===a.id?{...e,name:t}:e)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/30 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"Optional"})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"type"}),(0,t.jsxs)("select",{value:a.type,onChange:e=>{let t=e.target.value;eU({...r,nodes:r.nodes.map(e=>e.id===a.id?{...e,type:t}:e)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/30 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,t.jsx)("option",{value:"start",children:"start"}),(0,t.jsx)("option",{value:"end",children:"end"}),(0,t.jsx)("option",{value:"llm",children:"llm"}),(0,t.jsx)("option",{value:"tool",children:"tool"}),(0,t.jsx)("option",{value:"condition",children:"condition"}),(0,t.jsx)("option",{value:"delay",children:"delay"}),(0,t.jsx)("option",{value:"human_approval",children:"human_approval"}),(0,t.jsx)("option",{value:"media-image",children:"media-image"}),(0,t.jsx)("option",{value:"media-video",children:"media-video"})]})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"agentId"}),(0,t.jsx)("input",{value:l,onChange:e=>{let t=String(e.target.value||"").trim(),i={...o,...t?{agentId:t}:{}};t||delete i.agentId,eU({...r,nodes:r.nodes.map(e=>e.id===a.id?{...e,config:i}:e)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/30 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"(drag an agent onto the node or type)"})]}),"llm"===a.type?(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"model"}),(0,t.jsxs)("select",{value:d,onChange:e=>{let t=String(e.target.value||"").trim(),i={...o,...t?{model:t}:{}};t||delete i.model,eU({...r,nodes:r.nodes.map(e=>e.id===a.id?{...e,config:i}:e)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/30 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,t.jsx)("option",{value:"",children:"Default (inherit global)"}),Q.map(e=>(0,t.jsx)("option",{value:e,children:e},e))]}),et?(0,t.jsxs)("div",{className:"mt-1 text-[10px] text-amber-300",children:["Could not load model list: ",et]}):null]}):null,"human_approval"===a.type?(0,t.jsxs)("div",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/20 p-2",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"approval config"}),(0,t.jsxs)("div",{className:"mt-2 space-y-2",children:[(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"provider"}),(0,t.jsx)("input",{value:String(o.provider??""),onChange:e=>{let t=String(e.target.value||"").trim(),i={...o,...t?{provider:t}:{}};t||delete i.provider,eU({...r,nodes:r.nodes.map(e=>e.id===a.id?{...e,config:i}:e)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"telegram"})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"target"}),(0,t.jsx)("input",{value:String(o.target??""),onChange:e=>{let t=String(e.target.value||"").trim(),i={...o,...t?{target:t}:{}};t||delete i.target,eU({...r,nodes:r.nodes.map(e=>e.id===a.id?{...e,config:i}:e)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"(e.g. Telegram chat id)"}),(0,t.jsx)("div",{className:"mt-1 text-[10px] text-[color:var(--ck-text-tertiary)]",children:"Overrides workflow-level default when set."})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"messageTemplate (optional)"}),(0,t.jsx)("textarea",{value:String(o.messageTemplate??""),onChange:e=>{let t=String(e.target.value||""),i={...o,...t.trim()?{messageTemplate:t}:{}};t.trim()||delete i.messageTemplate,eU({...r,nodes:r.nodes.map(e=>e.id===a.id?{...e,config:i}:e)})},className:"mt-1 h-[70px] w-full resize-none rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2 font-mono text-[10px] text-[color:var(--ck-text-primary)]",placeholder:"Approval needed for {{workflowName}} (run {{runId}})",spellCheck:!1}),(0,t.jsxs)("div",{className:"mt-1 text-[10px] text-[color:var(--ck-text-tertiary)]",children:["Vars: ","{{workflowName}}",", ","{{workflowId}}",", ","{{runId}}",", ","{{nodeId}}"]})]})]})]}):null,a.type in n?(0,t.jsxs)("div",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/20 p-2",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"Media Generation"}),(0,t.jsx)("div",{className:"mt-2",children:(0,t.jsx)(c,{config:{mediaType:"image",provider:"auto",prompt:"",...a.config||{}},onChange:e=>{eU({...r,nodes:r.nodes.map(t=>t.id===a.id?{...t,config:e}:t)})},teamId:e,workflowNodeIds:r.nodes.map(e=>e.id),workflowEdges:(r.edges??[]).map(e=>({from:e.from,to:e.to})),currentNodeId:a.id})})]}):null,(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"config (json)"}),(0,t.jsx)("textarea",{value:JSON.stringify(o,null,2),onChange:e=>{try{let t=JSON.parse(e.target.value);if(!t||"object"!=typeof t||Array.isArray(t))return;eU({...r,nodes:r.nodes.map(e=>e.id===a.id?{...e,config:t}:e)})}catch{}},className:"mt-1 h-[140px] w-full resize-none rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/30 p-2 font-mono text-[10px] text-[color:var(--ck-text-primary)]",spellCheck:!1}),(0,t.jsx)("div",{className:"mt-1 text-[10px] text-[color:var(--ck-text-tertiary)]",children:"(Edits apply when JSON is valid.)"})]})]})]})})()]})]})}),(0,t.jsx)("div",{className:"w-[380px] shrink-0 overflow-auto p-3 text-sm",children:(0,t.jsx)("div",{className:"space-y-3",children:eR.wf?(h=String((u=eR.wf).timezone??"").trim()||"UTC",g=u.triggers??[],k=String((v=u.meta&&"object"==typeof u.meta&&!Array.isArray(u.meta)?u.meta:{}).approvalBindingId??"").trim(),b=String(v.approvalProvider??"telegram").trim()||"telegram",f=String(v.approvalTarget??"").trim(),y=[{label:"(no preset)",expr:""},{label:"Weekdays 09:00 local",expr:"0 9 * * 1-5"},{label:"Mon/Wed/Fri 09:00 local",expr:"0 9 * * 1,3,5"},{label:"Daily 08:00 local",expr:"0 8 * * *"},{label:"Daily 12:00 local",expr:"0 12 * * *"},{label:"Mon 09:30 local",expr:"30 9 * * 1"}],(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("details",{open:!0,className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/15",children:[(0,t.jsx)("summary",{className:"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]",children:"Workflow"}),(0,t.jsx)("div",{className:"px-3 pb-3",children:(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[11px] font-medium text-[color:var(--ck-text-tertiary)]",children:"Timezone"}),(0,t.jsx)("input",{value:h,onChange:e=>{let t=String(e.target.value||"").trim()||"UTC";eU({...u,timezone:t})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-sm text-[color:var(--ck-text-primary)]",placeholder:"America/New_York"})]})})]}),(0,t.jsxs)("details",{open:!0,className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/15",children:[(0,t.jsx)("summary",{className:"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]",children:"Approval Channel"}),(0,t.jsxs)("div",{className:"px-3 pb-3 space-y-2",children:[(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"binding (recommended)"}),(0,t.jsxs)("select",{value:k,onChange:e=>{let t=String(e.target.value||"").trim(),r=Z.find(e=>e.id===t);r?eU({...u,meta:{...v,approvalBindingId:r.id,approvalProvider:r.channel,approvalTarget:r.target},nodes:u.nodes.map(e=>"human_approval"===e.type?{...e,config:{...e.config&&"object"==typeof e.config&&!Array.isArray(e.config)?e.config:{},approvalBindingId:r.id,provider:r.channel,target:r.target}}:e)}):eU({...u,meta:{...v,approvalBindingId:""},nodes:u.nodes.map(e=>"human_approval"===e.type?{...e,config:{...e.config&&"object"==typeof e.config&&!Array.isArray(e.config)?e.config:{},approvalBindingId:""}}:e)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,t.jsx)("option",{value:"",children:"(manual)"}),Z.map(e=>(0,t.jsx)("option",{value:e.id,children:e.label},e.id))]}),ea?(0,t.jsxs)("div",{className:"mt-1 text-[10px] text-yellow-200",children:["Kitchen looks out of date. Run ",(0,t.jsx)("code",{className:"font-mono",children:"openclaw plugins update"})," then",(0,t.jsx)("code",{className:"ml-1 font-mono",children:"openclaw gateway restart"}),"."]}):null,H?(0,t.jsxs)("div",{className:"mt-1 text-[10px] text-red-200",children:["Failed to load bindings: ",H]}):null,(0,t.jsx)("div",{className:"mt-1 text-[10px] text-[color:var(--ck-text-tertiary)]",children:"Uses your existing OpenClaw bindings (recommended). Manual provider/target is an advanced override."})]}),(0,t.jsxs)("details",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/10",children:[(0,t.jsx)("summary",{className:"cursor-pointer list-none px-2 py-1 text-[11px] font-medium text-[color:var(--ck-text-secondary)]",children:"Advanced: manual override"}),(0,t.jsxs)("div",{className:"px-2 pb-2 pt-1 space-y-2",children:[(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"provider"}),(0,t.jsx)("input",{value:b,onChange:e=>{let t=String(e.target.value||"").trim()||"telegram";eU({...u,meta:{...v,approvalBindingId:"",approvalProvider:t},nodes:u.nodes.map(e=>"human_approval"===e.type?{...e,config:{...e.config&&"object"==typeof e.config&&!Array.isArray(e.config)?e.config:{},approvalBindingId:"",provider:t}}:e)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"telegram"})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"target"}),(0,t.jsx)("input",{value:f,onChange:e=>{let t=String(e.target.value||"").trim();eU({...u,meta:{...v,approvalBindingId:"",approvalTarget:t},nodes:u.nodes.map(e=>"human_approval"===e.type?{...e,config:{...e.config&&"object"==typeof e.config&&!Array.isArray(e.config)?e.config:{},approvalBindingId:"",target:t}}:e)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"(e.g. Telegram chat id)"})]})]})]})]})]}),(0,t.jsxs)("details",{open:!0,className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/15",children:[(0,t.jsx)("summary",{className:"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]",children:"Node inspector"}),(0,t.jsxs)("div",{className:"px-3 pb-3",children:[(0,t.jsx)("div",{className:"flex items-center justify-between gap-2",children:B?(0,t.jsx)("button",{type:"button",onClick:()=>{let e=u.nodes.filter(e=>e.id!==B),t=(u.edges??[]).filter(e=>e.from!==B&&e.to!==B);eU({...u,nodes:e,edges:t}),z("")},className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] font-medium text-red-100 hover:bg-white/10",children:"Delete node"}):null}),B?(p=u.nodes.find(e=>e.id===B))?(0,t.jsxs)("div",{className:"mt-3 space-y-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"id"}),(0,t.jsx)("div",{className:"mt-1 rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:p.id})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"name"}),(0,t.jsx)("input",{value:String(p.name??""),onChange:e=>{let t=e.target.value;eU({...u,nodes:u.nodes.map(e=>e.id===p.id?{...e,name:t}:e)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"Optional"})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"type"}),(0,t.jsxs)("select",{value:p.type,onChange:e=>{let t=e.target.value;eU({...u,nodes:u.nodes.map(e=>e.id===p.id?{...e,type:t}:e)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,t.jsx)("option",{value:"start",children:"start"}),(0,t.jsx)("option",{value:"end",children:"end"}),(0,t.jsx)("option",{value:"llm",children:"llm"}),(0,t.jsx)("option",{value:"tool",children:"tool"}),(0,t.jsx)("option",{value:"condition",children:"condition"}),(0,t.jsx)("option",{value:"delay",children:"delay"}),(0,t.jsx)("option",{value:"human_approval",children:"human_approval"}),(0,t.jsx)("option",{value:"media-image",children:"media-image"}),(0,t.jsx)("option",{value:"media-video",children:"media-video"})]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"x"}),(0,t.jsx)("input",{type:"number",value:"number"==typeof p.x?p.x:0,onChange:e=>{let t=Number(e.target.value);eU({...u,nodes:u.nodes.map(e=>e.id===p.id?{...e,x:t}:e)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]"})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"y"}),(0,t.jsx)("input",{type:"number",value:"number"==typeof p.y?p.y:0,onChange:e=>{let t=Number(e.target.value);eU({...u,nodes:u.nodes.map(e=>e.id===p.id?{...e,y:t}:e)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]"})]})]}),p.type in n?(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"Media Generation"}),(0,t.jsx)("div",{className:"mt-1",children:(0,t.jsx)(c,{config:{mediaType:"image",provider:"auto",prompt:"",...p.config||{}},onChange:e=>{eU({...u,nodes:u.nodes.map(t=>t.id===p.id?{...t,config:e}:t)})},teamId:e,workflowNodeIds:u.nodes.map(e=>e.id),workflowEdges:(u.edges??[]).map(e=>({from:e.from,to:e.to})),currentNodeId:p.id})})]}):(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"config"}),(0,t.jsx)("pre",{className:"mt-1 max-h-[200px] overflow-auto rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2 text-[10px] text-[color:var(--ck-text-secondary)]",children:JSON.stringify(p.config??{},null,2)})]})]}):(0,t.jsx)("div",{className:"mt-2 text-sm text-[color:var(--ck-text-secondary)]",children:"No node selected."}):(0,t.jsx)("div",{className:"mt-2 text-sm text-[color:var(--ck-text-secondary)]",children:"Select a node."})]})]}),(0,t.jsxs)("details",{open:!0,className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/15",children:[(0,t.jsx)("summary",{className:"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]",children:"Triggers"}),(0,t.jsxs)("div",{className:"px-3 pb-3",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"triggers"}),(0,t.jsx)("button",{type:"button",onClick:()=>{let e=`t${Date.now()}`;eU({...u,triggers:[...g,{kind:"cron",id:e,name:"New trigger",enabled:!0,expr:"0 9 * * 1-5",tz:h}]})},className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10",children:"+ Add"})]}),(0,t.jsx)("div",{className:"mt-2 space-y-2",children:g.length?g.map((e,r)=>{let a=e.kind,i=String(e.id??""),s=String(e.name??""),o=!!e.enabled,n=String(e.expr??""),l=String(e.tz??h),d=n.trim().split(/\s+/).filter(Boolean),c=!n.trim()||5===d.length;return(0,t.jsxs)("div",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)("div",{className:"text-xs text-[color:var(--ck-text-primary)]",children:s||i||`trigger-${r+1}`}),(0,t.jsx)("button",{type:"button",onClick:()=>eU({...u,triggers:g.filter((e,t)=>t!==r)}),className:"text-[10px] text-[color:var(--ck-text-tertiary)] hover:text-[color:var(--ck-text-primary)]",children:"Remove"})]}),"cron"===a?null:(0,t.jsxs)("div",{className:"mt-1 text-xs text-[color:var(--ck-text-secondary)]",children:["Unsupported trigger kind: ",String(a)]}),(0,t.jsxs)("div",{className:"mt-2 grid grid-cols-1 gap-2",children:[(0,t.jsxs)("label",{className:"flex items-center gap-2 text-xs text-[color:var(--ck-text-secondary)]",children:[(0,t.jsx)("input",{type:"checkbox",checked:o,onChange:e=>{let t=e.target.checked;eU({...u,triggers:g.map((e,a)=>a===r&&"cron"===e.kind?{...e,enabled:t}:e)})}}),"Enabled"]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"name"}),(0,t.jsx)("input",{value:s,onChange:e=>{let t=e.target.value;eU({...u,triggers:g.map((e,a)=>a===r&&"cron"===e.kind?{...e,name:t}:e)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"Content cadence"})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"schedule (cron)"}),(0,t.jsx)("input",{value:n,onChange:e=>{let t=e.target.value;eU({...u,triggers:g.map((e,a)=>a===r&&"cron"===e.kind?{...e,expr:t}:e)})},className:c?"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 font-mono text-[11px] text-[color:var(--ck-text-primary)]":"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-red-400/50 bg-black/25 px-2 py-1 font-mono text-[11px] text-[color:var(--ck-text-primary)]",placeholder:"0 9 * * 1,3,5"}),c?null:(0,t.jsxs)("div",{className:"mt-1 text-[10px] text-red-200",children:["Cron should be 5 fields (min hour dom month dow). You entered ",d.length,"."]}),(0,t.jsxs)("div",{className:"mt-1 grid grid-cols-1 gap-1",children:[(0,t.jsx)("select",{value:y.some(e=>e.expr===n)?n:"",onChange:e=>{let t=e.target.value;eU({...u,triggers:g.map((e,a)=>a===r&&"cron"===e.kind?{...e,expr:t}:e)})},className:"w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-[11px] text-[color:var(--ck-text-secondary)]",children:y.map(e=>(0,t.jsx)("option",{value:e.expr,children:e.label},e.label))}),(0,t.jsx)("div",{className:"text-[10px] text-[color:var(--ck-text-tertiary)]",children:"Presets set the cron; edit freely for advanced schedules."})]})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"timezone override"}),(0,t.jsx)("input",{value:l,onChange:e=>{let t=String(e.target.value||"").trim()||h;eU({...u,triggers:g.map((e,a)=>a===r&&"cron"===e.kind?{...e,tz:t}:e)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:h})]})]})]},`${i}-${r}`)}):(0,t.jsx)("div",{className:"text-xs text-[color:var(--ck-text-secondary)]",children:"No triggers yet."})})]})]}),(0,t.jsxs)("details",{open:!0,className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/15",children:[(0,t.jsx)("summary",{className:"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]",children:"Runs"}),(0,t.jsxs)("div",{className:"px-3 pb-3",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("div",{className:"text-xs font-medium text-[color:var(--ck-text-secondary)]",children:"Runs (history)"}),(0,t.jsx)(a.default,{href:`/teams/${encodeURIComponent(e)}/runs`,className:"text-[10px] font-medium text-[color:var(--ck-text-tertiary)] hover:text-[color:var(--ck-text-secondary)] hover:underline",children:"View all →"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("button",{type:"button",disabled:S,onClick:async()=>{let t=String(u.id??"").trim();if(t){ed(""),en(!0);try{let r=await fetch("/api/teams/workflow-runs",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({teamId:e,workflowId:t,mode:"enqueue"})}),a=await r.json();if(!r.ok||!a.ok)throw Error(a.error||"Failed to enqueue run");let i=await fetch(`/api/teams/workflow-runs?teamId=${encodeURIComponent(e)}&workflowId=${encodeURIComponent(t)}`,{cache:"no-store"}),s=await i.json();if(!i.ok||!s.ok)throw Error(s.error||"Failed to refresh runs");let o=(Array.isArray(s.files)?s.files:[]).map(e=>String(e??"").trim()).filter(e=>!!e);es(o)}catch(e){ed(e instanceof Error?e.message:String(e))}finally{en(!1)}}},className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10 disabled:opacity-50",children:"+ Queue run"}),(0,t.jsx)("button",{type:"button",disabled:S||em||!eD.ok,onClick:async()=>{let t=String(u.id??"").trim();if(t){if(eD.missingAgentOnNodeIds.length)return void ed("All nodes must be assigned to an agent.");if(eD.agentIdsMissingCron.length){ey(!0),ew("");try{let t=await fetch("/api/cron/worker",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"reconcile",teamId:e})}),r=await t.json();if(!t.ok||!1===r.ok)throw Error(r.error||"Failed to reconcile worker crons");let a=await ez(),i=eD.requiredAgentIds.filter(e=>!a[e]);if(i.length)return void ed(`Cron not set up for: ${i.join(", ")}`)}catch(e){ed(e instanceof Error?e.message:String(e));return}finally{ey(!1)}}ed(""),en(!0);try{let r=await fetch("/api/teams/workflow-runs",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({teamId:e,workflowId:t,mode:"run_now"})}),a=await r.json();if(!r.ok||!a.ok)throw Error(a.error||"Failed to create run");let i=String(a.runId??"").trim();if(i)return void j.push(`/teams/${e}/runs/${l}/${i}`);let s=await fetch(`/api/teams/workflow-runs?teamId=${encodeURIComponent(e)}&workflowId=${encodeURIComponent(t)}`,{cache:"no-store"}),o=await s.json();if(!s.ok||!o.ok)throw Error(o.error||"Failed to refresh runs");let n=(Array.isArray(o.files)?o.files:[]).map(e=>String(e??"").trim()).filter(e=>!!e);es(n)}catch(e){ed(e instanceof Error?e.message:String(e))}finally{en(!1)}}},className:"rounded-[var(--ck-radius-sm)] border border-emerald-400/30 bg-emerald-500/10 px-2 py-1 text-[10px] font-medium text-emerald-50 hover:bg-emerald-500/15 disabled:opacity-50",title:"Enqueue a run for the workflow runner (Kitchen does not execute nodes)",children:"+ Run now"}),eu?(0,t.jsx)("div",{className:"ml-2 text-[10px] text-amber-100/90",title:eu,children:"Cron check unavailable"}):null]})]}),eD.missingAgentOnNodeIds.length?(0,t.jsxs)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-red-400/30 bg-red-500/10 p-2 text-xs text-red-100",children:["All nodes must be assigned to an agent. Missing agentId on: ",eD.missingAgentOnNodeIds.join(", ")]}):eD.agentIdsMissingCron.length?(0,t.jsxs)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-amber-400/30 bg-amber-500/10 p-2 text-xs text-amber-50",children:[(0,t.jsxs)("div",{children:["Cron not set up for: ",eD.agentIdsMissingCron.join(", ")]}),(0,t.jsxs)("div",{className:"mt-2 flex items-center gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:()=>{ew(""),eb(!0)},className:"rounded-[var(--ck-radius-sm)] border border-amber-300/30 bg-amber-500/10 px-2 py-1 text-[10px] font-medium text-amber-50 hover:bg-amber-500/15",children:"Install worker cron(s)"}),(0,t.jsx)("button",{type:"button",onClick:()=>void ez(),className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10",children:"Re-check"})]})]}):null,(0,t.jsx)(s.ConfirmationModal,{open:ek,title:"Install worker cron jobs?",busy:ef,error:ej||void 0,confirmLabel:"Install",onClose:()=>{ef||eb(!1)},onConfirm:async()=>{ey(!0),ew("");try{let t=await fetch("/api/cron/worker",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"reconcile",teamId:e})}),r=await t.json();if(!t.ok||!1===r.ok)throw Error(r.error||"Failed to install worker crons");await ez(),eb(!1)}catch(e){ew(e instanceof Error?e.message:String(e))}finally{ey(!1)}},children:(0,t.jsxs)("div",{className:"text-sm text-[color:var(--ck-text-secondary)]",children:["Kitchen will install (or enable) worker cron jobs for the following agents so this workflow can drain:",(0,t.jsx)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2 font-mono text-[11px] text-[color:var(--ck-text-primary)]",children:eD.agentIdsMissingCron.join(", ")}),(0,t.jsxs)("div",{className:"mt-2 text-xs text-[color:var(--ck-text-tertiary)]",children:["Cron cadence: every 5 minutes. The worker runs: ",(0,t.jsx)("span",{className:"font-mono",children:"openclaw recipes workflows worker-tick"}),"."]})]})}),el?(0,t.jsx)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-red-400/30 bg-red-500/10 p-2 text-xs text-red-100",children:el}):null,(0,t.jsx)("div",{className:"mt-2 space-y-1",children:eo?(0,t.jsx)("div",{className:"text-xs text-[color:var(--ck-text-secondary)]",children:"Serving up hot…"}):ei.length?ei.slice(0,8).map(r=>{let i=String(u.id??"").trim(),s=String(r).replace(/\.run\.json$/i,""),o=ec===s,n=i?`/teams/${encodeURIComponent(e)}/runs/${encodeURIComponent(i)}/${encodeURIComponent(s)}`:"#";return(0,t.jsx)(a.default,{href:n,onClick:()=>ex(s),className:o?"block w-full rounded-[var(--ck-radius-sm)] bg-white/10 px-2 py-1 text-left text-[11px] font-mono text-[color:var(--ck-text-primary)]":"block w-full rounded-[var(--ck-radius-sm)] px-2 py-1 text-left text-[11px] font-mono text-[color:var(--ck-text-secondary)] hover:bg-white/5",title:"Open run detail",children:s},r)}):(0,t.jsx)("div",{className:"text-xs text-[color:var(--ck-text-secondary)]",children:"No runs yet."})}),(0,t.jsxs)("details",{open:!0,className:"mt-3 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/10",children:[(0,t.jsx)("summary",{className:"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]",children:"Nodes"}),(0,t.jsxs)("div",{className:"px-3 pb-3",children:[(0,t.jsx)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2",children:(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-2",children:[(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"id"}),(0,t.jsx)("input",{value:eN,onChange:e=>eS(e.target.value),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"e.g. draft_assets"})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"name (optional)"}),(0,t.jsx)("input",{value:eC,onChange:e=>eI(e.target.value),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"Human-friendly label"})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"type"}),(0,t.jsxs)("select",{value:eA,onChange:e=>eT(e.target.value),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,t.jsx)("option",{value:"start",children:"start"}),(0,t.jsx)("option",{value:"end",children:"end"}),(0,t.jsx)("option",{value:"llm",children:"llm"}),(0,t.jsx)("option",{value:"tool",children:"tool"}),(0,t.jsx)("option",{value:"condition",children:"condition"}),(0,t.jsx)("option",{value:"delay",children:"delay"}),(0,t.jsx)("option",{value:"human_approval",children:"human_approval"}),(0,t.jsx)("option",{value:"media-image",children:"media-image"}),(0,t.jsx)("option",{value:"media-video",children:"media-video"})]})]}),(0,t.jsx)("button",{type:"button",onClick:()=>{let e=String(eN||"").trim().replace(/[^a-z0-9_\-]/gi,"_");if(!e||u.nodes.some(t=>t.id===e))return;let t=u.nodes.reduce((e,t)=>"number"==typeof t.x?Math.max(e,t.x):e,80),r={id:e,type:eA,name:String(eC||"").trim()||e,x:t+220,y:80};eU({...u,nodes:[...u.nodes,r]}),z(e),eS(""),eI("")},className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[11px] font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10",children:"+ Add node"})]})}),(0,t.jsx)("div",{className:"mt-2 space-y-1",children:u.nodes.map(e=>{let r=B===e.id;return(0,t.jsxs)("button",{type:"button",onClick:()=>z(e.id),className:r?"w-full rounded-[var(--ck-radius-sm)] bg-white/10 px-2 py-1 text-left text-[11px] text-[color:var(--ck-text-primary)]":"w-full rounded-[var(--ck-radius-sm)] px-2 py-1 text-left text-[11px] text-[color:var(--ck-text-secondary)] hover:bg-white/5",children:[(0,t.jsx)("span",{className:"font-mono",children:e.id}),(0,t.jsx)("span",{className:"ml-2 text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:e.type})]},e.id)})})]})]}),(0,t.jsxs)("details",{open:!0,className:"mt-3 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/10",children:[(0,t.jsx)("summary",{className:"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]",children:"Edges"}),(0,t.jsxs)("div",{className:"px-3 pb-3",children:[(0,t.jsx)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2",children:(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-2",children:[(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"from"}),(0,t.jsxs)("select",{value:eL,onChange:e=>e$(e.target.value),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,t.jsx)("option",{value:"",children:"(select)"}),u.nodes.map(e=>(0,t.jsx)("option",{value:e.id,children:e.id},e.id))]})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"to"}),(0,t.jsxs)("select",{value:eM,onChange:e=>eE(e.target.value),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,t.jsx)("option",{value:"",children:"(select)"}),u.nodes.map(e=>(0,t.jsx)("option",{value:e.id,children:e.id},e.id))]})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"label (optional)"}),(0,t.jsx)("input",{value:eO,onChange:e=>e_(e.target.value),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"e.g. approve"})]}),(0,t.jsx)("button",{type:"button",onClick:()=>{let e=String(eL||"").trim(),t=String(eM||"").trim();if(!e||!t||e===t)return;let r={id:`e${Date.now()}`,from:e,to:t,...String(eO||"").trim()?{label:String(eO).trim()}:{}};eU({...u,edges:[...u.edges??[],r]}),e_("")},className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[11px] font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10",children:"+ Add edge"})]})}),(0,t.jsx)("div",{className:"mt-2 space-y-2",children:(u.edges??[]).length?(u.edges??[]).map(e=>(0,t.jsx)("div",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2",children:(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsxs)("div",{className:"text-[11px] text-[color:var(--ck-text-secondary)]",children:[(0,t.jsx)("span",{className:"font-mono",children:e.from})," → ",(0,t.jsx)("span",{className:"font-mono",children:e.to}),e.label?(0,t.jsxs)("span",{className:"ml-2 text-[10px] text-[color:var(--ck-text-tertiary)]",children:["(",e.label,")"]}):null]}),(0,t.jsx)("button",{type:"button",onClick:()=>eU({...u,edges:(u.edges??[]).filter(t=>t.id!==e.id)}),className:"text-[10px] text-[color:var(--ck-text-tertiary)] hover:text-[color:var(--ck-text-primary)]",children:"Remove"})]})},e.id)):(0,t.jsx)("div",{className:"text-xs text-[color:var(--ck-text-secondary)]",children:"No edges yet."})})]})]})]})]})]})):null})})]})]})}e.s(["default",()=>m],87090)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,82310,e=>{"use strict";function t(e){return e instanceof Error?e.message:String(e)}e.s(["errorMessage",()=>t])},92140,e=>{"use strict";var t=e.i(18050),r=e.i(71645),s=e.i(22016),a=e.i(18566),o=e.i(42771),i=e.i(82310);function n(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function l({teamId:e,llmTaskEnabled:l}){let d=(0,a.useRouter)(),[c,m]=(0,r.useState)([]),[x,p]=(0,r.useState)(!0),[u,h]=(0,r.useState)(!1),[f,v]=(0,r.useState)(""),[w,y]=(0,r.useState)(""),[b,k]=(0,r.useState)({}),[j,g]=(0,r.useState)({}),[N,S]=(0,r.useState)(""),[I,A]=(0,r.useState)(""),[C,R]=(0,r.useState)(null),[U,$]=(0,r.useState)(""),[E,M]=(0,r.useState)(""),[q,J]=(0,r.useState)(!1),O=(0,r.useCallback)(async t=>{let r=!!t?.quiet;v(""),r||p(!0);try{let t=await (0,o.fetchJson)(`/api/teams/workflows?teamId=${encodeURIComponent(e)}`,{cache:"no-store"});if(!t.ok)throw Error("Failed to load workflows");let r=(Array.isArray(t.files)?t.files:[]).map(e=>e.endsWith(".workflow.json")?e.slice(0,-14):null).filter(e=>!!e);m(r.map(e=>({id:e,name:e})))}catch(e){v((0,i.errorMessage)(e))}finally{r||p(!1)}},[e]);async function T(){h(!0);try{await O({quiet:!0})}finally{h(!1)}}async function B(t){if(confirm(`Delete workflow “${t}”? This removes the .workflow.json file from the team workspace.`)){v("");try{let r=await (0,o.fetchJson)(`/api/teams/workflows?teamId=${encodeURIComponent(e)}&id=${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw Error(r.error||"Failed to delete workflow");await O({quiet:!0}),w===t&&(y(""),S(""),R(null))}catch(e){v((0,i.errorMessage)(e))}}}async function L(t){g(e=>({...e,[t]:!0})),$("");try{let r=await (0,o.fetchJson)(`/api/teams/workflow-runs?teamId=${encodeURIComponent(e)}&workflowId=${encodeURIComponent(t)}`,{cache:"no-store"});if(!r.ok)throw Error(r.error||"Failed to load runs");let s=Array.isArray(r.runIds)?r.runIds.map(e=>String(e||"").trim()).filter(Boolean):Array.isArray(r.files)?r.files.map(e=>"string"==typeof e&&e.endsWith(".run.json")?e.slice(0,-9):null).filter(e=>!!e):[];k(e=>({...e,[t]:s}))}catch(e){$((0,i.errorMessage)(e)),k(e=>({...e,[t]:[]}))}finally{g(e=>({...e,[t]:!1}))}}async function F(t,r){A(t),S(r),R(null),$(""),M("");try{let s=await (0,o.fetchJson)(`/api/teams/workflow-runs?teamId=${encodeURIComponent(e)}&workflowId=${encodeURIComponent(t)}&runId=${encodeURIComponent(r)}`,{cache:"no-store"});if(!s.ok)throw Error(s.error||"Failed to load run");let a=n(s.run)?s.run:null;if(!a)throw Error("Invalid run format");R({id:String(a.id??r),status:"string"==typeof a.status?a.status:void 0,startedAt:"string"==typeof a.startedAt?a.startedAt:void 0,finishedAt:"string"==typeof a.finishedAt?String(a.finishedAt):void 0,meta:a.meta,memoryUsed:a.memoryUsed,approval:a.approval,raw:a})}catch(e){$((0,i.errorMessage)(e)),R(null)}}async function D(t){if(confirm(`Add workflow from template “${t}”?`)){v("");try{let r=await (0,o.fetchJson)("/api/teams/workflow-templates",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({teamId:e,templateId:t})});if(!r.ok)throw Error(r.error||"Failed to apply template");let s=String(r.workflowId??"").trim();if(!s)throw Error("Template applied but workflowId missing");await O({quiet:!0}),d.push(`/teams/${encodeURIComponent(e)}/workflows/${encodeURIComponent(s)}`)}catch(e){v((0,i.errorMessage)(e))}}}(0,r.useEffect)(()=>{O()},[O]);let P=(0,r.useMemo)(()=>{if(!C)return[];let e=C.memoryUsed??(n(C.meta)?C.meta.memoryUsed:void 0);return Array.isArray(e)?e.map(e=>n(e)?e:null).filter(Boolean).map(e=>({ts:String(e.ts??"").trim(),author:String(e.author??"").trim(),type:String(e.type??"").trim(),content:String(e.content??"").trim(),source:e.source})).filter(e=>e.ts&&e.author&&e.type&&e.content):[]},[C]);if(x)return(0,t.jsx)("div",{className:"ck-glass p-4",children:"Loading workflows…"});let W=!1===l?(0,t.jsxs)("div",{className:"rounded-[var(--ck-radius-sm)] border border-amber-500/30 bg-amber-500/10 p-4 text-sm",children:[(0,t.jsx)("div",{className:"font-medium text-amber-200",children:"LLM support is not enabled"}),(0,t.jsxs)("div",{className:"mt-1 text-[color:var(--ck-text-secondary)]",children:["Workflow LLM nodes require the optional built-in ",(0,t.jsx)("code",{className:"px-1",children:"llm-task"})," plugin."]}),(0,t.jsxs)("div",{className:"mt-2 text-[color:var(--ck-text-secondary)]",children:["Enable it with: ",(0,t.jsx)("code",{className:"px-1",children:"openclaw plugins enable llm-task"})," then run"," ",(0,t.jsx)("code",{className:"px-1",children:"openclaw gateway restart"}),"."]}),(0,t.jsx)("div",{className:"mt-2 text-xs text-[color:var(--ck-text-tertiary)]",children:"If you’re doing a non-interactive install, keep this command in your setup docs as a fallback."})]}):null;return(0,t.jsxs)("div",{className:"ck-glass p-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Workflows (file-first)"}),(0,t.jsxs)("p",{className:"mt-1 text-sm text-[color:var(--ck-text-secondary)]",children:["Stored in ",(0,t.jsx)("code",{children:"shared-context/workflows/<id>.workflow.json"})," inside the team workspace."]}),W,(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap items-center justify-start gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:()=>{let t=`new-${Date.now()}`;d.push(`/teams/${encodeURIComponent(e)}/workflows/${encodeURIComponent(t)}?draft=1`)},className:"rounded-[var(--ck-radius-sm)] bg-[var(--ck-accent-red)] px-3 py-2 text-sm font-medium text-white shadow-[var(--ck-shadow-1)]",children:"Add workflow"}),(0,t.jsx)("button",{type:"button",onClick:()=>void D("marketing-cadence-v1"),className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10",children:"Add example template"}),(0,t.jsx)("button",{type:"button",onClick:T,disabled:u,className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10 disabled:opacity-60",children:u?"Refreshing…":"Refresh"})]})]}),f?(0,t.jsx)("div",{className:"mt-4 rounded-[var(--ck-radius-sm)] border border-red-400/30 bg-red-500/10 p-4 text-sm text-red-100",children:f}):null,0===c.length?(0,t.jsx)("p",{className:"mt-4 text-sm text-[color:var(--ck-text-secondary)]",children:"No workflows yet."}):(0,t.jsx)("ul",{className:"mt-4 divide-y divide-white/10 overflow-hidden rounded-[var(--ck-radius-sm)] border border-white/10",children:c.map(r=>{let a=w===r.id,o=b[r.id]??[],l=!!j[r.id];return(0,t.jsxs)("li",{className:"bg-white/5",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3 px-4 py-3",children:[(0,t.jsxs)("button",{type:"button",onClick:async()=>{let e=a?"":r.id;y(e),S(""),R(null),$(""),e&&await L(e)},className:"min-w-0 flex-1 text-left",children:[(0,t.jsx)("div",{className:"truncate text-sm font-medium text-[color:var(--ck-text-primary)]",children:r.name||r.id}),(0,t.jsx)("div",{className:"truncate text-xs text-[color:var(--ck-text-tertiary)]",children:r.id}),(0,t.jsxs)("div",{className:"mt-1 text-[10px] text-[color:var(--ck-text-tertiary)]",children:["Click to ",a?"collapse":"expand"," run details"]})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,t.jsx)(s.default,{href:`/teams/${encodeURIComponent(e)}/workflows/${encodeURIComponent(r.id)}`,className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-3 py-1.5 text-sm font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10",children:"Edit"}),(0,t.jsx)("button",{type:"button",onClick:()=>void B(r.id),className:"rounded-[var(--ck-radius-sm)] border border-[color:rgba(255,59,48,0.45)] bg-[color:rgba(255,59,48,0.08)] px-3 py-1.5 text-sm font-medium text-[color:var(--ck-accent-red)] transition-colors hover:bg-[color:rgba(255,59,48,0.12)]",children:"Delete"})]})]}),a?(0,t.jsxs)("div",{className:"border-t border-white/10 bg-black/20 px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,t.jsx)("div",{className:"text-xs font-medium text-[color:var(--ck-text-secondary)]",children:"Runs"}),(0,t.jsx)("button",{type:"button",disabled:l,onClick:()=>void L(r.id),className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[11px] font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10 disabled:opacity-60",children:l?"Loading…":"Refresh runs"})]}),U?(0,t.jsx)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-red-400/30 bg-red-500/10 p-2 text-xs text-red-100",children:U}):null,(0,t.jsxs)("div",{className:"mt-2 grid grid-cols-1 gap-3 lg:grid-cols-2",children:[(0,t.jsx)("div",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/20 p-2",children:o.length?(0,t.jsx)("div",{className:"space-y-1",children:o.slice(0,8).map(e=>{let s=N===e;return(0,t.jsx)("button",{type:"button",onClick:()=>void F(r.id,e),className:s?"w-full rounded-[var(--ck-radius-sm)] bg-white/10 px-2 py-1 text-left text-[11px] text-[color:var(--ck-text-primary)]":"w-full rounded-[var(--ck-radius-sm)] px-2 py-1 text-left text-[11px] text-[color:var(--ck-text-secondary)] hover:bg-white/5",children:(0,t.jsx)("span",{className:"font-mono",children:e})},e)})}):(0,t.jsx)("div",{className:"text-xs text-[color:var(--ck-text-tertiary)]",children:"No runs yet."})}),(0,t.jsx)("div",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/20 p-3",children:C?(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-xs font-medium text-[color:var(--ck-text-secondary)]",children:"Run detail"}),(0,t.jsxs)("div",{className:"mt-1 text-[11px] text-[color:var(--ck-text-tertiary)]",children:[(0,t.jsx)("span",{className:"font-mono",children:C.id}),C.status?(0,t.jsxs)("span",{children:[" • ",C.status]}):null]})]}),(0,t.jsxs)("div",{className:"border-t border-white/10 pt-3",children:[(0,t.jsx)("div",{className:"text-xs font-medium text-[color:var(--ck-text-secondary)]",children:"Approval"}),(()=>{let r=C.approval;if(!n(r))return(0,t.jsx)("div",{className:"mt-2 text-xs text-[color:var(--ck-text-tertiary)]",children:"(No approval info recorded.)"});let s=String(r.state??"").trim(),a="string"==typeof r.requestedAt?r.requestedAt:"",o="string"==typeof r.decidedAt?r.decidedAt:"",l="string"==typeof r.decidedBy?r.decidedBy:"",d="string"==typeof r.note?r.note:"",c=n(r.outbound)?r.outbound:null,m="pending"===s||"waiting_for_approval"===C.status;return(0,t.jsxs)("div",{className:"mt-2 space-y-2",children:[(0,t.jsxs)("div",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2 text-[11px] text-[color:var(--ck-text-secondary)]",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"font-mono",children:"state"}),": ",(0,t.jsx)("span",{className:"font-mono text-[color:var(--ck-text-primary)]",children:s||"(unknown)"})]}),a?(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"font-mono",children:"requestedAt"}),": ",(0,t.jsx)("span",{className:"font-mono",children:a})]}):null,o?(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"font-mono",children:"decidedAt"}),": ",(0,t.jsx)("span",{className:"font-mono",children:o})]}):null,l?(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"font-mono",children:"decidedBy"}),": ",(0,t.jsx)("span",{className:"font-mono",children:l})]}):null,d?(0,t.jsx)("div",{className:"mt-1 whitespace-pre-wrap text-xs text-[color:var(--ck-text-primary)]",children:d}):null,c?(0,t.jsxs)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/30 p-2 text-[10px]",children:[(0,t.jsx)("div",{className:"text-[color:var(--ck-text-tertiary)]",children:"Outbound"}),(0,t.jsx)("pre",{className:"mt-1 overflow-auto whitespace-pre-wrap",children:JSON.stringify(c,null,2)})]}):null]}),m?(0,t.jsxs)("div",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/20 p-2",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"approval note (optional)"}),(0,t.jsx)("textarea",{value:E,onChange:e=>M(e.target.value),rows:3,className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"e.g. Ship it / please tweak hook"}),(0,t.jsx)("div",{className:"mt-2 flex flex-wrap gap-2",children:[{action:"approve",label:"Approve"},{action:"request_changes",label:"Request changes"},{action:"cancel",label:"Cancel"}].map(r=>(0,t.jsx)("button",{type:"button",disabled:q,onClick:async()=>{if(I&&N&&confirm(`${r.label} run ${N}?`)){J(!0),$("");try{let t=await fetch("/api/teams/workflow-runs",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({teamId:e,workflowId:I,runId:N,action:r.action,note:E||void 0,decidedBy:"ClawKitchen UI"})}),s=await t.json();if(!t.ok||!s.ok)throw Error(s.error||"Failed to apply approval action");await F(I,N)}catch(e){$((0,i.errorMessage)(e))}finally{J(!1)}}},className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[11px] font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10 disabled:opacity-60",children:r.label},r.action))})]}):null]})})()]}),(0,t.jsxs)("div",{className:"border-t border-white/10 pt-3",children:[(0,t.jsx)("div",{className:"text-xs font-medium text-[color:var(--ck-text-secondary)]",children:"Memory used in this run"}),P.length?(0,t.jsx)("div",{className:"mt-2 space-y-2",children:P.slice(0,20).map((e,r)=>(0,t.jsxs)("div",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2",children:[(0,t.jsxs)("div",{className:"text-[10px] text-[color:var(--ck-text-tertiary)]",children:[(0,t.jsx)("span",{className:"font-mono",children:e.ts})," • ",(0,t.jsx)("span",{className:"font-mono",children:e.type})," • ",(0,t.jsx)("span",{className:"font-mono",children:e.author})]}),(0,t.jsx)("div",{className:"mt-1 whitespace-pre-wrap text-xs text-[color:var(--ck-text-primary)]",children:e.content}),void 0!==e.source?(0,t.jsx)("pre",{className:"mt-2 overflow-auto rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/30 p-2 text-[10px] text-[color:var(--ck-text-secondary)]",children:JSON.stringify(e.source,null,2)}):null]},`${e.ts}-${r}`))}):(0,t.jsxs)("div",{className:"mt-2 text-xs text-[color:var(--ck-text-tertiary)]",children:["(None recorded yet.)",(0,t.jsxs)("div",{className:"mt-1",children:["Next step: have the workflow runner write an explicit ",(0,t.jsx)("span",{className:"font-mono",children:"memoryUsed[]"})," list into the run file."]})]})]})]}):N?(0,t.jsx)("div",{className:"text-xs text-[color:var(--ck-text-secondary)]",children:"Loading run…"}):(0,t.jsx)("div",{className:"text-xs text-[color:var(--ck-text-tertiary)]",children:"Select a run to see details."})})]})]}):null]},r.id)})})]})}e.s(["default",()=>l])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,82310,e=>{"use strict";function t(e){return e instanceof Error?e.message:String(e)}e.s(["errorMessage",()=>t])},92236,e=>{"use strict";async function t(e){let t=await fetch("/api/scaffold",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({...e,applyConfig:!0,overwrite:!1})}),r=await t.json();return{res:t,json:r}}e.s(["fetchScaffold",()=>t])},35244,e=>{"use strict";var t=e.i(18050),r=e.i(71645),s=e.i(18566),a=e.i(82310),c=e.i(42771),n=e.i(92236);e.i(22258);var l=e.i(94988);function i(e){if(0!==e.indexOf("---\n"))return{fm:null};let t=e.indexOf("\n---\n",4);if(-1===t)return{fm:null};let r=e.slice(4,t);try{let e=(0,l.parse)(r);if(!e||"object"!=typeof e)return{fm:null};return{fm:e}}catch(e){return{fm:null,error:(0,a.errorMessage)(e)}}}function o(e,t){let r=t?e.split(".").slice(1).join("."):e;switch(r){case"soul":return"SOUL.md";case"agents":return"AGENTS.md";case"tools":return"TOOLS.md";case"identity":return"IDENTITY.md";case"install":return"INSTALL.md";case"status":return"STATUS.md";default:return r?`${r.toUpperCase()}`:e}}function d(e,t){return e&&t&&e.templates?[...new Set(Object.keys(e.templates).filter(e=>e.startsWith(`${t}.`)).map(e=>o(e,!0)))]:[]}function m({title:e,description:r,buttonLabel:s,onButtonClick:a,error:c,children:n}){return(0,t.jsxs)("div",{className:"ck-glass-strong p-4",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-sm font-medium text-[color:var(--ck-text-primary)]",children:e}),(0,t.jsx)("div",{className:"mt-1 text-xs text-[color:var(--ck-text-tertiary)]",children:r})]}),(0,t.jsx)("button",{type:"button",onClick:a,className:"shrink-0 rounded-[var(--ck-radius-sm)] bg-[var(--ck-accent-red)] px-3 py-2 text-sm font-medium text-white shadow-[var(--ck-shadow-1)] transition-colors hover:bg-[var(--ck-accent-red-hover)] active:bg-[var(--ck-accent-red-active)]",children:s})]}),c?(0,t.jsxs)("div",{className:"mt-4 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/20 p-3 text-xs text-[color:var(--ck-text-primary)]",children:["Frontmatter parse error: ",c]}):null,n]})}function x({fm:e,recipe:r}){return(0,t.jsxs)("div",{className:"mt-4 space-y-3",children:[(0,t.jsxs)("details",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/15 p-3",open:!0,children:[(0,t.jsx)("summary",{className:"cursor-pointer text-sm font-medium text-[color:var(--ck-text-primary)]",children:"Recipe information"}),(0,t.jsxs)("div",{className:"mt-2 space-y-1 text-xs text-[color:var(--ck-text-secondary)]",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-[color:var(--ck-text-tertiary)]",children:"Recipe id:"})," ",e?.id??r.id]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-[color:var(--ck-text-tertiary)]",children:"Version:"})," ",e?.version??"(unknown)"]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-[color:var(--ck-text-tertiary)]",children:"Team id:"})," ",e?.team?.teamId??"(not set)"]}),e?.description?(0,t.jsx)("div",{className:"whitespace-pre-wrap",children:e.description}):null]})]}),(0,t.jsx)(u,{fm:e}),(0,t.jsx)(h,{fm:e})]})}function u({fm:e}){return(0,t.jsxs)("details",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/15 p-3",children:[(0,t.jsxs)("summary",{className:"cursor-pointer text-sm font-medium text-[color:var(--ck-text-primary)]",children:["Agents (",e?.agents?.length??0,")"]}),(0,t.jsxs)("div",{className:"mt-2 space-y-2",children:[(e?.agents??[]).map((r,s)=>(0,t.jsxs)("details",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/20 p-3",children:[(0,t.jsxs)("summary",{className:"cursor-pointer text-sm text-[color:var(--ck-text-primary)]",children:[(0,t.jsx)("span",{className:"font-medium",children:r.name??r.role??"(unnamed)"}),r.role?(0,t.jsxs)("span",{className:"text-[color:var(--ck-text-tertiary)]",children:[" — ",r.role]}):null]}),(0,t.jsxs)("div",{className:"mt-2 space-y-1 text-xs text-[color:var(--ck-text-secondary)]",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-[color:var(--ck-text-tertiary)]",children:"Role:"})," ",r.role??"(none)"]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-[color:var(--ck-text-tertiary)]",children:"Tools profile:"})," ",r.tools?.profile??"(default)"]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-[color:var(--ck-text-tertiary)]",children:"Allow:"})," ",(r.tools?.allow??[]).length?(r.tools?.allow??[]).join(", "):"(none)"]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-[color:var(--ck-text-tertiary)]",children:"Deny:"})," ",(r.tools?.deny??[]).length?(r.tools?.deny??[]).join(", "):"(none)"]}),(0,t.jsxs)("div",{className:"pt-1",children:[(0,t.jsx)("span",{className:"text-[color:var(--ck-text-tertiary)]",children:"Expected files:"})," ",d(e,r.role).length?d(e,r.role).join(", "):"(not listed)"]})]})]},`${r.role??"agent"}:${s}`)),e?.agents&&0!==e.agents.length?null:(0,t.jsx)("div",{className:"text-xs text-[color:var(--ck-text-tertiary)]",children:"(No agents listed in frontmatter)"})]})]})}function h({fm:e}){return(0,t.jsxs)("details",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/15 p-3",children:[(0,t.jsxs)("summary",{className:"cursor-pointer text-sm font-medium text-[color:var(--ck-text-primary)]",children:["Cron jobs (",e?.cronJobs?.length??0,")"]}),(0,t.jsxs)("div",{className:"mt-2 space-y-2",children:[(e?.cronJobs??[]).map((e,r)=>(0,t.jsxs)("details",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/20 p-3",children:[(0,t.jsxs)("summary",{className:"cursor-pointer text-sm text-[color:var(--ck-text-primary)]",children:[(0,t.jsx)("span",{className:"font-medium",children:e.name??e.id??"(unnamed)"}),e.schedule?(0,t.jsxs)("span",{className:"text-[color:var(--ck-text-tertiary)]",children:[" — ",e.schedule]}):null]}),(0,t.jsxs)("div",{className:"mt-2 space-y-1 text-xs text-[color:var(--ck-text-secondary)]",children:[e.agentId?(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-[color:var(--ck-text-tertiary)]",children:"Agent:"})," ",e.agentId]}):null,e.channel?(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-[color:var(--ck-text-tertiary)]",children:"Channel:"})," ",e.channel]}):null,"boolean"==typeof e.enabledByDefault?(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-[color:var(--ck-text-tertiary)]",children:"Enabled by default:"})," ",e.enabledByDefault?"yes":"no"]}):null,e.message?(0,t.jsx)("div",{className:"mt-2 whitespace-pre-wrap rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2 text-[11px] text-[color:var(--ck-text-primary)]",children:e.message}):null]})]},`${e.id??"cron"}:${r}`)),e?.cronJobs&&0!==e.cronJobs.length?null:(0,t.jsx)("div",{className:"text-xs text-[color:var(--ck-text-tertiary)]",children:"(No cron jobs listed in frontmatter)"})]})]})}function p({recipe:e,fm:r,fmErr:s,onOpenCreateTeam:a}){return(0,t.jsx)(m,{title:"Team recipe",description:(0,t.jsxs)(t.Fragment,{children:["Create a team from this recipe. Creating a Team runs ",(0,t.jsx)("code",{children:"openclaw recipes scaffold-team"})," with"," ",(0,t.jsx)("code",{children:"--apply-config"}),"."]}),buttonLabel:"Create Team",onButtonClick:a,error:s,children:(0,t.jsx)(x,{fm:r,recipe:e})})}function v({recipe:e,afm:r,afmErr:s,onOpenCreateAgent:a}){return(0,t.jsx)(m,{title:"Agent recipe",description:(0,t.jsxs)(t.Fragment,{children:["Create an agent from this recipe. Creating an Agent runs ",(0,t.jsx)("code",{children:"openclaw recipes scaffold"})," with"," ",(0,t.jsx)("code",{children:"--apply-config"}),"."]}),buttonLabel:"Create Agent",onButtonClick:a,error:s,children:(0,t.jsxs)("div",{className:"mt-4 space-y-3",children:[(0,t.jsxs)("details",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/15 p-3",open:!0,children:[(0,t.jsx)("summary",{className:"cursor-pointer text-sm font-medium text-[color:var(--ck-text-primary)]",children:"Recipe information"}),(0,t.jsxs)("div",{className:"mt-2 space-y-1 text-xs text-[color:var(--ck-text-secondary)]",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-[color:var(--ck-text-tertiary)]",children:"Recipe id:"})," ",r?.id??e.id]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-[color:var(--ck-text-tertiary)]",children:"Version:"})," ",r?.version??"(unknown)"]}),r?.description?(0,t.jsx)("div",{className:"whitespace-pre-wrap",children:r.description}):null]})]}),(0,t.jsxs)("details",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/15 p-3",children:[(0,t.jsxs)("summary",{className:"cursor-pointer text-sm font-medium text-[color:var(--ck-text-primary)]",children:["Files (",Object.keys(r?.templates??{}).length,")"]}),(0,t.jsx)("div",{className:"mt-2 space-y-1 text-xs text-[color:var(--ck-text-secondary)]",children:Object.keys(r?.templates??{}).length?(0,t.jsx)("ul",{className:"list-disc space-y-1 pl-5",children:Object.keys(r?.templates??{}).map(e=>(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"font-mono text-[11px]",children:e}),(0,t.jsx)("span",{className:"text-[color:var(--ck-text-tertiary)]",children:" → "}),(0,t.jsx)("span",{className:"font-mono text-[11px]",children:o(e)})]},e))}):(0,t.jsx)("div",{className:"text-[color:var(--ck-text-tertiary)]",children:"(No templates listed in frontmatter)"})})]})]})})}function j({open:e,title:r,recipeId:s,children:a,error:c,busy:n,onClose:l,onConfirm:i,confirmLabel:o}){return e?(0,t.jsx)("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-black/60 p-4",role:"dialog","aria-modal":"true",children:(0,t.jsxs)("div",{className:"ck-glass w-full max-w-lg p-5",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"truncate text-lg font-semibold tracking-tight",children:r}),(0,t.jsxs)("div",{className:"mt-1 text-xs text-[color:var(--ck-text-secondary)]",children:["From recipe: ",s]})]}),(0,t.jsx)("button",{type:"button",onClick:()=>n?void 0:l(),className:"rounded-[var(--ck-radius-sm)] px-2 py-1 text-sm text-[color:var(--ck-text-secondary)] hover:text-[color:var(--ck-text-primary)]",children:"Close"})]}),(0,t.jsxs)("div",{className:"mt-4 space-y-3",children:[a,c?(0,t.jsx)("div",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/20 p-3 text-sm",children:c}):null,(0,t.jsxs)("div",{className:"flex justify-end gap-2 pt-2",children:[(0,t.jsx)("button",{type:"button",disabled:n,onClick:l,className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)] transition-colors hover:bg-white/10 disabled:opacity-50",children:"Cancel"}),(0,t.jsx)("button",{type:"button",disabled:n,onClick:i,className:"rounded-[var(--ck-radius-sm)] bg-[var(--ck-accent-red)] px-3 py-2 text-sm font-medium text-white shadow-[var(--ck-shadow-1)] transition-colors hover:bg-[var(--ck-accent-red-hover)] active:bg-[var(--ck-accent-red-active)] disabled:opacity-50",children:n?"Creating":o})]})]})]})}):null}function f({recipeId:e}){let l=(0,s.useRouter)(),[o,d]=(0,r.useState)(!0),[m,x]=(0,r.useState)(!1),[u,h]=(0,r.useState)(null),[f,k]=(0,r.useState)(""),[b,y]=(0,r.useState)(""),[g,N]=(0,r.useState)(null),[w,C]=(0,r.useState)(""),[S,T]=(0,r.useState)(""),[A,I]=(0,r.useState)("no"),[O,$]=(0,r.useState)(!1),[R,E]=(0,r.useState)("");(0,r.useEffect)(()=>{(async()=>{d(!0),y("");try{let t=(await (0,c.fetchJson)(`/api/recipes/${encodeURIComponent(e)}`,{cache:"no-store"})).recipe;h(t),k(t.content)}catch(e){y((0,a.errorMessage)(e))}finally{d(!1)}})()},[e]);let U=(0,r.useMemo)(()=>!!u&&null!==u.filePath,[u]),L=(0,r.useMemo)(()=>u&&"team"===u.kind?i(f):{fm:null,error:void 0},[u,f]),J=(0,r.useMemo)(()=>u&&"agent"===u.kind?i(f):{fm:null,error:void 0},[u,f]);async function M(){x(!0),y("");try{let t=await (0,c.fetchJson)(`/api/recipes/${encodeURIComponent(e)}`,{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({content:f})});y(`Saved to ${t.filePath}`)}catch(e){y((0,a.errorMessage)(e))}finally{x(!1)}}async function P(){if(!u||!g)return;let e=function(e,t,r){if(!e)return null;let s=t.trim(),a="team"===r?"Team id":"Agent id";return s?s===e.id?`${a} cannot be the same as the recipe id (${e.id}). Choose a new ${r} id.`:null:`${a} is required.`}(u,w,g);if(e)return void E(e);let t=w.trim();$(!0),E("");try{if("team"===g){let{res:e,json:r}=await (0,n.fetchScaffold)({kind:"team",recipeId:u.id,teamId:t,cronInstallChoice:A});if(!e.ok)throw Error(r.error||"Create Team failed");N(null),l.push(`/teams/${encodeURIComponent(t)}`)}else{let{res:e,json:r}=await (0,n.fetchScaffold)({kind:"agent",recipeId:u.id,agentId:t,name:S.trim()||void 0});if(!e.ok)throw Error(r.error||"Create Agent failed");N(null),l.push(`/agents/${encodeURIComponent(t)}`)}l.refresh()}catch(e){E((0,a.errorMessage)(e))}finally{$(!1)}}if(o)return(0,t.jsx)("div",{className:"ck-glass mx-auto max-w-4xl p-6",children:"Loading"});if(!u)return(0,t.jsx)("div",{className:"ck-glass mx-auto max-w-4xl p-6",children:"Not found."});let F="team"===u.kind?L.fm:null,B="team"===u.kind?L.error:void 0,D="agent"===u.kind?J.fm:null,K="agent"===u.kind?J.error:void 0;return(0,t.jsxs)("div",{className:"ck-glass mx-auto max-w-6xl p-6 sm:p-8",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between sm:gap-6",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h1",{className:"truncate text-2xl font-semibold tracking-tight",children:u.name}),(0,t.jsxs)("div",{className:"mt-1 text-xs text-[color:var(--ck-text-secondary)]",children:[u.id," • ",u.kind," • ",u.source]}),(0,t.jsxs)("div",{className:"mt-1 text-xs text-[color:var(--ck-text-tertiary)]",children:["Path: ",u.filePath??"(unknown / not writable)"]})]}),(0,t.jsx)("div",{className:"flex gap-2",children:(0,t.jsx)("button",{disabled:!U||m,onClick:M,className:"rounded-[var(--ck-radius-sm)] bg-[var(--ck-accent-red)] px-3 py-2 text-sm font-medium text-white shadow-[var(--ck-shadow-1)] transition-colors hover:bg-[var(--ck-accent-red-hover)] active:bg-[var(--ck-accent-red-active)] disabled:opacity-50",children:m?"Saving":"Save"})})]}),b?(0,t.jsx)("div",{className:"mt-4 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/20 p-3 text-sm text-[color:var(--ck-text-primary)]",children:b}):null,(0,t.jsxs)("div",{className:"mt-6 grid grid-cols-1 gap-4 lg:grid-cols-2",children:[(0,t.jsxs)("div",{className:"ck-glass-strong p-4",children:[(0,t.jsx)("div",{className:"text-sm font-medium text-[color:var(--ck-text-primary)]",children:"Recipe markdown"}),(0,t.jsx)("textarea",{value:f,onChange:e=>k(e.target.value),className:"mt-2 h-[70vh] w-full resize-none rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-3 font-mono text-xs text-[color:var(--ck-text-primary)] placeholder:text-[color:var(--ck-text-tertiary)]",spellCheck:!1})]}),"team"===u.kind?(0,t.jsx)(p,{recipe:u,fm:F,fmErr:B,onOpenCreateTeam:function(){E(""),C(""),I("no"),N("team")}}):(0,t.jsx)(v,{recipe:u,afm:D,afmErr:K,onOpenCreateAgent:function(){E(""),C(""),T((J.fm?.name||u?.name||"").trim()),N("agent")}})]}),(0,t.jsx)(j,{open:null!==g,title:"team"===g?"Create Team":"Create Agent",recipeId:u.id,busy:O,error:R||void 0,onClose:()=>N(null),onConfirm:P,confirmLabel:"team"===g?"Create Team":"Create Agent",children:"team"===g?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-xs font-medium text-[color:var(--ck-text-secondary)]",children:"Team id"}),(0,t.jsx)("input",{value:w,onChange:e=>C(e.target.value),placeholder:"e.g. acme",className:"mt-2 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-3 py-2 text-sm text-[color:var(--ck-text-primary)]",disabled:O})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-xs font-medium text-[color:var(--ck-text-secondary)]",children:"Install cron jobs"}),(0,t.jsxs)("select",{value:A,onChange:e=>I(e.target.value),className:"mt-2 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-3 py-2 text-sm text-[color:var(--ck-text-primary)]",disabled:O,children:[(0,t.jsx)("option",{value:"no",children:"No (recommended)"}),(0,t.jsx)("option",{value:"yes",children:"Yes"})]}),(0,t.jsx)("div",{className:"mt-1 text-xs text-[color:var(--ck-text-tertiary)]",children:"Kitchen scaffolds non-interactively; this controls the one-time cron install choice for this run."})]})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-xs font-medium text-[color:var(--ck-text-secondary)]",children:"Agent id"}),(0,t.jsx)("input",{value:w,onChange:e=>C(e.target.value),placeholder:"e.g. larry",className:"mt-2 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-3 py-2 text-sm text-[color:var(--ck-text-primary)]",disabled:O})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"text-xs font-medium text-[color:var(--ck-text-secondary)]",children:"Name (optional)"}),(0,t.jsx)("input",{value:S,onChange:e=>T(e.target.value),placeholder:"e.g. Larry",className:"mt-2 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-3 py-2 text-sm text-[color:var(--ck-text-primary)]",disabled:O})]})]})}),(0,t.jsxs)("p",{className:"mt-6 text-xs text-[color:var(--ck-text-tertiary)]",children:["This page edits the recipe markdown and previews what will be created when you click"," ","team"===u.kind?"Create Team":"Create Agent","."]})]})}e.s(["default",()=>f],35244)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,75198,e=>{"use strict";var r=e.i(18050),t=e.i(22016),a=e.i(71645),s=e.i(18566);function l({teamId:e,initialRuns:l,workflows:o}){let c=(0,s.useRouter)(),[d,n]=(0,a.useState)(""),[i,x]=(0,a.useState)(""),[m,u]=(0,a.useState)(""),p=(0,a.useMemo)(()=>{let e=m.trim().toLowerCase();return l.filter(r=>{if(d&&r.workflowId!==d||i&&String(r.status??"")!==i)return!1;if(!e)return!0;let t=o[r.workflowId]?.name??"";return r.runId.toLowerCase().includes(e)||r.workflowId.toLowerCase().includes(e)||t.toLowerCase().includes(e)})},[l,m,i,d,o]),h=(0,a.useMemo)(()=>Array.from(new Set(l.map(e=>e.workflowId).filter(Boolean))).sort(),[l]);return(0,r.jsxs)("div",{className:"rounded-[var(--ck-radius-lg)] border border-white/10 bg-black/10 p-4",children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-end justify-between gap-3",children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-end gap-3",children:[(0,r.jsxs)("label",{className:"block",children:[(0,r.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"workflow"}),(0,r.jsxs)("select",{value:d,onChange:e=>n((e.target.value||"").trim()),className:"mt-1 w-64 max-w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-2 text-sm text-[color:var(--ck-text-primary)]",children:[(0,r.jsx)("option",{value:"",children:"All workflows"}),h.map(e=>(0,r.jsx)("option",{value:e,children:o[e]?.name?`${o[e]?.name} (${e})`:e},e))]})]}),(0,r.jsxs)("label",{className:"block",children:[(0,r.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"status"}),(0,r.jsxs)("select",{value:i,onChange:e=>x((e.target.value||"").trim()),className:"mt-1 w-56 max-w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-2 text-sm text-[color:var(--ck-text-primary)]",children:[(0,r.jsx)("option",{value:"",children:"All"}),(0,r.jsx)("option",{value:"running",children:"running"}),(0,r.jsx)("option",{value:"waiting_for_approval",children:"waiting_for_approval"}),(0,r.jsx)("option",{value:"success",children:"success"}),(0,r.jsx)("option",{value:"error",children:"error"}),(0,r.jsx)("option",{value:"canceled",children:"canceled"})]})]}),(0,r.jsxs)("label",{className:"block",children:[(0,r.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"search"}),(0,r.jsx)("input",{value:m,onChange:e=>u(e.target.value),placeholder:"run id / workflow / name",className:"mt-1 w-72 max-w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-2 text-sm text-[color:var(--ck-text-primary)]"})]})]}),(0,r.jsx)("div",{className:"flex items-center gap-2",children:(0,r.jsx)("button",{type:"button",onClick:()=>c.refresh(),className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10",children:"Refresh"})})]}),(0,r.jsx)("div",{className:"mt-4 overflow-x-auto",children:(0,r.jsxs)("table",{className:"min-w-full border-separate border-spacing-0",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{className:"text-left text-xs uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:[(0,r.jsx)("th",{className:"border-b border-white/10 px-2 py-2",children:"workflow"}),(0,r.jsx)("th",{className:"border-b border-white/10 px-2 py-2",children:"status"}),(0,r.jsx)("th",{className:"border-b border-white/10 px-2 py-2",children:"updated"}),(0,r.jsx)("th",{className:"border-b border-white/10 px-2 py-2",children:"run"})]})}),(0,r.jsx)("tbody",{children:p.length?p.map(a=>{let s=o[a.workflowId],l=s?.name?s.name:a.workflowId;return(0,r.jsxs)("tr",{className:"text-sm",children:[(0,r.jsxs)("td",{className:"border-b border-white/5 px-2 py-2",children:[(0,r.jsx)("div",{className:"text-[color:var(--ck-text-primary)]",children:l}),(0,r.jsx)("div",{className:"text-xs text-[color:var(--ck-text-tertiary)] font-mono",children:a.workflowId})]}),(0,r.jsx)("td",{className:"border-b border-white/5 px-2 py-2",children:(0,r.jsx)("span",{className:"rounded-full border border-white/10 bg-white/5 px-2 py-1 text-xs text-[color:var(--ck-text-secondary)]",children:a.status??"(unknown)"})}),(0,r.jsx)("td",{className:"border-b border-white/5 px-2 py-2 text-xs text-[color:var(--ck-text-secondary)]",children:function(e){if(!e)return"";try{return new Date(e).toLocaleString()}catch{return e}}(a.updatedAt||a.endedAt||a.startedAt)}),(0,r.jsx)("td",{className:"border-b border-white/5 px-2 py-2",children:(0,r.jsx)(t.default,{href:`/teams/${encodeURIComponent(e)}/runs/${encodeURIComponent(a.workflowId)}/${encodeURIComponent(a.runId)}`,className:"font-mono text-sm text-[color:var(--ck-text-primary)] hover:underline",children:a.runId})})]},`${a.workflowId}:${a.runId}`)}):(0,r.jsx)("tr",{children:(0,r.jsx)("td",{colSpan:4,className:"px-2 py-6 text-sm text-[color:var(--ck-text-secondary)]",children:"No runs found."})})})]})}),(0,r.jsxs)("div",{className:"mt-3 text-xs text-[color:var(--ck-text-tertiary)]",children:["Showing ",p.length," of ",l.length,"."]})]})}e.s(["default",()=>l])},96624,e=>{"use strict";var r=e.i(18050),t=e.i(22016),a=e.i(71645),s=e.i(18566);function l({rows:e}){let l=(0,s.useRouter)(),[o,c]=(0,a.useState)(""),[d,n]=(0,a.useState)(""),[i,x]=(0,a.useState)(""),[m,u]=(0,a.useState)(""),p=(0,a.useMemo)(()=>Array.from(new Set(e.map(e=>e.teamId))).sort(),[e]),h=(0,a.useMemo)(()=>Array.from(new Set((o?e.filter(e=>e.teamId===o):e).map(e=>e.workflowId))).sort(),[e,o]),w=(0,a.useMemo)(()=>{let r=m.trim().toLowerCase();return e.filter(e=>(!o||e.teamId===o)&&(!d||e.workflowId===d)&&(!i||String(e.status??"")===i)&&(!r||[e.teamId,e.teamName??"",e.workflowId,e.workflowName??"",e.runId].some(e=>e.toLowerCase().includes(r))))},[m,e,i,o,d]);return(0,r.jsxs)("div",{className:"rounded-[var(--ck-radius-lg)] border border-white/10 bg-black/10 p-4",children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-end justify-between gap-3",children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-end gap-3",children:[(0,r.jsxs)("label",{className:"block",children:[(0,r.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"team"}),(0,r.jsxs)("select",{value:o,onChange:e=>{c((e.target.value||"").trim()),n("")},className:"mt-1 w-64 max-w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-2 text-sm text-[color:var(--ck-text-primary)]",children:[(0,r.jsx)("option",{value:"",children:"All teams"}),p.map(e=>(0,r.jsx)("option",{value:e,children:e},e))]})]}),(0,r.jsxs)("label",{className:"block",children:[(0,r.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"workflow"}),(0,r.jsxs)("select",{value:d,onChange:e=>n((e.target.value||"").trim()),className:"mt-1 w-64 max-w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-2 text-sm text-[color:var(--ck-text-primary)]",children:[(0,r.jsx)("option",{value:"",children:"All workflows"}),h.map(e=>(0,r.jsx)("option",{value:e,children:e},e))]})]}),(0,r.jsxs)("label",{className:"block",children:[(0,r.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"status"}),(0,r.jsxs)("select",{value:i,onChange:e=>x((e.target.value||"").trim()),className:"mt-1 w-56 max-w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-2 text-sm text-[color:var(--ck-text-primary)]",children:[(0,r.jsx)("option",{value:"",children:"All"}),(0,r.jsx)("option",{value:"running",children:"running"}),(0,r.jsx)("option",{value:"waiting_for_approval",children:"waiting_for_approval"}),(0,r.jsx)("option",{value:"success",children:"success"}),(0,r.jsx)("option",{value:"error",children:"error"}),(0,r.jsx)("option",{value:"canceled",children:"canceled"}),(0,r.jsx)("option",{value:"completed",children:"completed"}),(0,r.jsx)("option",{value:"queued",children:"queued"}),(0,r.jsx)("option",{value:"waiting_workers",children:"waiting_workers"})]})]}),(0,r.jsxs)("label",{className:"block",children:[(0,r.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"search"}),(0,r.jsx)("input",{value:m,onChange:e=>u(e.target.value),placeholder:"team / workflow / run id",className:"mt-1 w-72 max-w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-2 text-sm text-[color:var(--ck-text-primary)]"})]})]}),(0,r.jsx)("div",{className:"flex items-center gap-2",children:(0,r.jsx)("button",{type:"button",onClick:()=>l.refresh(),className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10",children:"Refresh"})})]}),(0,r.jsx)("div",{className:"mt-4 overflow-x-auto",children:(0,r.jsxs)("table",{className:"min-w-full border-separate border-spacing-0",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{className:"text-left text-xs uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:[(0,r.jsx)("th",{className:"border-b border-white/10 px-2 py-2",children:"team"}),(0,r.jsx)("th",{className:"border-b border-white/10 px-2 py-2",children:"workflow"}),(0,r.jsx)("th",{className:"border-b border-white/10 px-2 py-2",children:"status"}),(0,r.jsx)("th",{className:"border-b border-white/10 px-2 py-2",children:"updated"}),(0,r.jsx)("th",{className:"border-b border-white/10 px-2 py-2",children:"run"})]})}),(0,r.jsx)("tbody",{children:w.length?w.map(e=>(0,r.jsxs)("tr",{className:"text-sm",children:[(0,r.jsxs)("td",{className:"border-b border-white/5 px-2 py-2",children:[(0,r.jsx)("div",{className:"text-[color:var(--ck-text-primary)]",children:e.teamName||e.teamId}),(0,r.jsx)("div",{className:"text-xs text-[color:var(--ck-text-tertiary)] font-mono",children:e.teamId})]}),(0,r.jsxs)("td",{className:"border-b border-white/5 px-2 py-2",children:[(0,r.jsx)("div",{className:"text-[color:var(--ck-text-primary)]",children:e.workflowName||e.workflowId}),(0,r.jsx)("div",{className:"text-xs text-[color:var(--ck-text-tertiary)] font-mono",children:e.workflowId})]}),(0,r.jsx)("td",{className:"border-b border-white/5 px-2 py-2",children:(0,r.jsx)("span",{className:"rounded-full border border-white/10 bg-white/5 px-2 py-1 text-xs text-[color:var(--ck-text-secondary)]",children:e.status??"(unknown)"})}),(0,r.jsx)("td",{className:"border-b border-white/5 px-2 py-2 text-xs text-[color:var(--ck-text-secondary)]",children:function(e){if(!e)return"";try{return new Date(e).toLocaleString()}catch{return e}}(e.updatedAt||e.endedAt||e.startedAt)}),(0,r.jsx)("td",{className:"border-b border-white/5 px-2 py-2",children:(0,r.jsx)(t.default,{href:`/teams/${encodeURIComponent(e.teamId)}/runs/${encodeURIComponent(e.workflowId)}/${encodeURIComponent(e.runId)}`,className:"font-mono text-sm text-[color:var(--ck-text-primary)] hover:underline",children:e.runId})})]},`${e.teamId}:${e.workflowId}:${e.runId}`)):(0,r.jsx)("tr",{children:(0,r.jsx)("td",{colSpan:5,className:"px-2 py-6 text-sm text-[color:var(--ck-text-secondary)]",children:"No runs found."})})})]})}),(0,r.jsxs)("div",{className:"mt-3 text-xs text-[color:var(--ck-text-tertiary)]",children:["Showing ",w.length," of ",e.length,"."]})]})}e.s(["default",()=>l])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,44355,e=>{"use strict";var t=e.i(18050),r=e.i(74080);function s({open:e,onClose:s,title:a,children:d,error:o,confirmLabel:i,confirmBusyLabel:l,onConfirm:n,confirmDisabled:c,busy:x,confirmButtonClassName:m}){if(!e)return null;let u=x??!1,h=u&&l?l:i,p="confirmation-modal-title";return(0,r.createPortal)((0,t.jsxs)("div",{className:"fixed inset-0 z-[200]",children:[(0,t.jsx)("div",{className:"fixed inset-0 bg-black/60",onClick:s,"aria-hidden":"true"}),(0,t.jsx)("div",{className:"fixed inset-0 overflow-y-auto",role:"dialog","aria-modal":"true","aria-labelledby":p,children:(0,t.jsx)("div",{className:"flex min-h-full items-center justify-center p-4",children:(0,t.jsxs)("div",{className:"w-full max-w-lg rounded-2xl border border-white/10 bg-[color:var(--ck-bg-glass-strong)] p-5 shadow-[var(--ck-shadow-2)]",children:[(0,t.jsx)("h2",{id:p,className:"text-lg font-semibold text-[color:var(--ck-text-primary)]",children:a}),d,o?(0,t.jsx)("div",{className:"mt-4 rounded-[var(--ck-radius-sm)] border border-red-400/30 bg-red-500/10 p-3 text-sm text-red-100",children:o}):null,(0,t.jsxs)("div",{className:"mt-6 flex items-center justify-end gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:s,className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10",children:"Cancel"}),(0,t.jsx)("button",{type:"button",disabled:(c??!1)||u,onClick:n,className:m??"rounded-[var(--ck-radius-sm)] bg-[var(--ck-accent-red)] px-3 py-2 text-sm font-medium text-white shadow-[var(--ck-shadow-1)] transition-colors hover:bg-[var(--ck-accent-red-hover)] disabled:opacity-50",children:h})]})]})})})]}),document.body)}e.s(["ConfirmationModal",()=>s])},94333,e=>{"use strict";var t=e.i(18050),r=e.i(71645),s=e.i(18566),a=e.i(42771),d=e.i(44355);function o(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}function i(e){return"success"===e?"border-emerald-400/30 bg-emerald-500/10 text-emerald-50":"error"===e?"border-red-400/30 bg-red-500/10 text-red-50":"running"===e?"border-sky-400/30 bg-sky-500/10 text-sky-50":"waiting_for_approval"===e?"border-amber-400/30 bg-amber-500/10 text-amber-50":"canceled"===e?"border-gray-400/30 bg-gray-500/10 text-gray-50":"border-white/10 bg-white/5 text-[color:var(--ck-text-secondary)]"}function l({run:e,teamId:l,workflowId:n}){let c=(0,s.useRouter)(),x=Array.isArray(e.nodes)?e.nodes:[],[m,u]=(0,r.useState)(0),[h,p]=(0,r.useState)(!1),[b,v]=(0,r.useState)(!1),[f,y]=(0,r.useState)(!1),[j,g]=(0,r.useState)(""),k=(0,r.useMemo)(()=>x.length?x[Math.min(Math.max(0,m),x.length-1)]:void 0,[x,m]),N=["running","waiting_for_approval"].includes(e.status),w=async()=>{try{y(!0),g("");let t=await (0,a.fetchJson)("/api/teams/workflow-runs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({teamId:l,workflowId:n,runId:e.id,action:"stop"})});if(!t.ok)throw Error(t.error||"Failed to stop run");c.refresh()}catch(e){g(String(e))}finally{y(!1),v(!1)}},C=async()=>{try{y(!0),g("");let t=await (0,a.fetchJson)("/api/teams/workflow-runs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({teamId:l,workflowId:n,runId:e.id,action:"delete"})});if(!t.ok)throw Error(t.error||"Failed to delete run");c.push(`/teams/${encodeURIComponent(l)}/runs`)}catch(e){g(String(e))}finally{y(!1),p(!1)}};return(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-4 lg:grid-cols-3",children:[(0,t.jsxs)("div",{className:"lg:col-span-1 rounded-[var(--ck-radius-lg)] border border-white/10 bg-black/10 p-4",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-xs uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"run status"}),(0,t.jsx)("div",{className:`mt-2 inline-flex items-center rounded-full border px-2 py-1 text-xs ${i(e.status)}`,children:e.status}),(0,t.jsxs)("div",{className:"mt-2 text-xs text-[color:var(--ck-text-tertiary)]",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"font-medium",children:"started:"})," ",e.startedAt]}),e.endedAt?(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"font-medium",children:"ended:"})," ",e.endedAt]}):null]})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[N&&(0,t.jsx)("button",{type:"button",onClick:()=>v(!0),disabled:f,className:"rounded-[var(--ck-radius-sm)] border border-amber-500/50 bg-amber-500/10 px-3 py-1.5 text-xs font-medium text-amber-100 hover:bg-amber-500/20 disabled:opacity-50",children:"Stop Run"}),(0,t.jsx)("button",{type:"button",onClick:()=>p(!0),disabled:f,className:"rounded-[var(--ck-radius-sm)] border border-red-500/50 bg-red-500/10 px-3 py-1.5 text-xs font-medium text-red-100 hover:bg-red-500/20 disabled:opacity-50",children:"Delete Run"})]})]}),(0,t.jsxs)("div",{className:"mt-4",children:[(0,t.jsx)("div",{className:"text-xs uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"timeline"}),(0,t.jsx)("div",{className:"mt-2 space-y-1",children:x.length?x.map((e,r)=>{let s=r===m;return(0,t.jsxs)("button",{type:"button",onClick:()=>u(r),className:s?"w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/10 px-2 py-2 text-left":"w-full rounded-[var(--ck-radius-sm)] px-2 py-2 text-left hover:bg-white/5",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsx)("div",{className:"font-mono text-xs text-[color:var(--ck-text-primary)]",children:e.nodeId}),(0,t.jsx)("div",{className:"text-[10px] text-[color:var(--ck-text-tertiary)]",children:e.status})]}),e.startedAt||e.endedAt?(0,t.jsxs)("div",{className:"mt-1 text-[10px] text-[color:var(--ck-text-tertiary)]",children:[e.startedAt?`start: ${e.startedAt}`:"",e.startedAt&&e.endedAt?" · ":"",e.endedAt?`end: ${e.endedAt}`:""]}):null]},`${r}:${e.nodeId}`)}):(0,t.jsx)("div",{className:"text-sm text-[color:var(--ck-text-secondary)]",children:"No node results recorded yet."})})]}),e.approval?(0,t.jsxs)("div",{className:"mt-4 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/10 p-3",children:[(0,t.jsx)("div",{className:"text-xs uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"approval"}),(0,t.jsxs)("div",{className:"mt-2 text-xs text-[color:var(--ck-text-secondary)]",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"font-medium",children:"node:"})," ",(0,t.jsx)("span",{className:"font-mono",children:e.approval.nodeId})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"font-medium",children:"state:"})," ",e.approval.state]}),e.approval.note?(0,t.jsx)("div",{className:"mt-2 rounded border border-white/10 bg-black/20 p-2 text-[11px]",children:e.approval.note}):null]})]}):null]}),(0,t.jsxs)("div",{className:"lg:col-span-2 rounded-[var(--ck-radius-lg)] border border-white/10 bg-black/10 p-4",children:[(0,t.jsx)("div",{className:"text-xs uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"node output / error"}),k?(0,t.jsxs)("div",{className:"mt-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,t.jsx)("div",{className:"font-mono text-sm text-[color:var(--ck-text-primary)]",children:k.nodeId}),(0,t.jsx)("div",{className:`rounded-full border px-2 py-1 text-xs ${i(k.status)}`,children:k.status})]}),k.error?(0,t.jsxs)("div",{className:"mt-3 rounded-[var(--ck-radius-sm)] border border-red-400/30 bg-red-500/10 p-3",children:[(0,t.jsx)("div",{className:"text-xs font-semibold text-red-50",children:"Error"}),(0,t.jsx)("pre",{className:"mt-2 overflow-auto text-xs text-red-50",children:o(k.error)})]}):null,(0,t.jsxs)("div",{className:"mt-3 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/20 p-3",children:[(0,t.jsx)("div",{className:"text-xs font-semibold text-[color:var(--ck-text-secondary)]",children:"Output"}),void 0===k.output||null===k.output?(0,t.jsx)("div",{className:"mt-2 text-xs text-[color:var(--ck-text-tertiary)]",children:"(no output)"}):(0,t.jsx)("pre",{className:"mt-2 max-h-[60vh] overflow-auto text-xs text-[color:var(--ck-text-primary)]",children:o(k.output)})]})]}):(0,t.jsx)("div",{className:"mt-3 text-sm text-[color:var(--ck-text-secondary)]",children:"Select a node to view its output."}),(0,t.jsxs)("details",{className:"mt-4 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/10 p-3",children:[(0,t.jsx)("summary",{className:"cursor-pointer text-sm font-medium text-[color:var(--ck-text-secondary)]",children:"Raw run file"}),(0,t.jsx)("pre",{className:"mt-3 overflow-auto text-xs text-[color:var(--ck-text-primary)]",children:o(e)})]})]}),(0,t.jsx)(d.ConfirmationModal,{open:b,onClose:()=>{v(!1),g("")},title:"Stop Workflow Run",confirmLabel:"Stop Run",confirmBusyLabel:"Stopping...",onConfirm:w,busy:f,error:j,confirmButtonClassName:"rounded-[var(--ck-radius-sm)] bg-amber-600 px-3 py-2 text-sm font-medium text-white shadow-[var(--ck-shadow-1)] transition-colors hover:bg-amber-700 disabled:opacity-50",children:(0,t.jsxs)("div",{className:"mt-3 text-sm text-[color:var(--ck-text-secondary)]",children:[(0,t.jsxs)("p",{children:["This will cancel the workflow run and set its status to ",(0,t.jsx)("code",{className:"bg-white/10 px-1 rounded",children:"canceled"}),"."]}),(0,t.jsx)("p",{className:"mt-2",children:"The run data will be preserved but execution will stop."})]})}),(0,t.jsx)(d.ConfirmationModal,{open:h,onClose:()=>{p(!1),g("")},title:"Delete Workflow Run",confirmLabel:"Delete Run",confirmBusyLabel:"Deleting...",onConfirm:C,busy:f,error:j,children:(0,t.jsxs)("div",{className:"mt-3 text-sm text-[color:var(--ck-text-secondary)]",children:[(0,t.jsx)("p",{children:"This will permanently delete the workflow run and all its data."}),(0,t.jsx)("p",{className:"mt-2 font-medium text-[color:var(--ck-text-primary)]",children:"This action cannot be undone."}),(0,t.jsx)("div",{className:"mt-3 rounded border border-white/10 bg-black/20 p-2 text-xs",children:(0,t.jsx)("span",{className:"font-mono",children:e.id})})]})})]})}e.s(["default",()=>l])}]);