@jiggai/kitchen 0.3.32 → 0.3.48

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 +144 -5
  489. package/openclaw.plugin.json +1 -1
  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/{3rKUmnGginJhM5-OQ1MPX → bTCL-c1-1vqxgA-ZN8TUy}/_buildManifest.js +0 -0
  569. /package/.next/static/{3rKUmnGginJhM5-OQ1MPX → bTCL-c1-1vqxgA-ZN8TUy}/_clientMiddlewareManifest.json +0 -0
  570. /package/.next/static/{3rKUmnGginJhM5-OQ1MPX → bTCL-c1-1vqxgA-ZN8TUy}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[40317,e=>{"use strict";function t(e){return e instanceof Error?e.message:String(e)}e.s(["errorMessage",()=>t])},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},12057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},59494,e=>{"use strict";function t(){let e=globalThis.__clawkitchen_api;if(!e)throw Error("ClawKitchen: OpenClaw plugin API not available. (This should only happen if Kitchen is started outside the gateway process.)");return e}e.s(["getKitchenApi",()=>t])},5003,e=>{"use strict";var t=e.i(59494),r=e.i(74533);let n=(0,e.i(12057).promisify)(r.execFile);function a(e){return"string"==typeof e.stdout?e.stdout:e.stdout&&"object"==typeof e.stdout&&"toString"in e.stdout?String(e.stdout.toString()):""}function s(e,t){return"string"==typeof e.stderr?e.stderr:e.stderr&&"object"==typeof e.stderr&&"toString"in e.stderr?String(e.stderr.toString()):"string"==typeof e.message?e.message:String(t)}function o(e){let t=e.trim();if(!t)return e;let r=t[0];if("["===r||"{"===r||'"'===r)return e;let n=t.split("\n"),a=n.findIndex(e=>/^\s*[[\{"]/.test(e));if(a>0){let e=n.slice(a).join("\n");try{return JSON.parse(e),e}catch{}}return e}async function i(e,t={}){let{sanitizeStdout:r=!0}=t;try{process.platform;let t=await n("openclaw",e,{timeout:12e4,windowsHide:!0,maxBuffer:0xa00000}),a=String(t.stdout??"");return{ok:!0,exitCode:0,stdout:r?o(a):a,stderr:String(t.stderr??"")}}catch(t){let e="number"==typeof t.code?t.code:1;return{ok:!1,exitCode:e,stdout:a(t),stderr:s(t,t)}}}function l(e){let t=e.trim();if(!t)return null;try{return JSON.parse(t)}catch{}let r=t.split("\n"),n=r.findIndex(e=>/^\s*[[\{]/.test(e));if(n>=0){let e=r.slice(n).join("\n");try{return JSON.parse(e)}catch{}}for(let e=r.length-1;e>=0;e--)if(/^\s*[\]}]/.test(r[e])){for(let t=e;t>=0;t--)if(/^\s*[[\{]/.test(r[t]))try{return JSON.parse(r.slice(t,e+1).join("\n"))}catch{}}return null}async function u(e){return i(e,{sanitizeStdout:!1})}async function d(e){if("cron"===e[0]||"recipes"===e[0]&&"workflows"===e[1]&&["runner-once","runner-tick","worker-tick"].includes(e[2]))return i(e);let r=(0,t.getKitchenApi)();try{let t=await r.runtime.system.runCommandWithTimeout(["openclaw",...e],{timeoutMs:12e4}),n=o(String(t.stdout??"")),a=String(t.stderr??""),s="number"==typeof t.exitCode?t.exitCode:"number"==typeof t.code?t.code:"number"==typeof t.status?t.status:0;if(0!==s)return{ok:!1,exitCode:s,stdout:n,stderr:a};return{ok:!0,exitCode:0,stdout:n,stderr:a}}catch(t){let e="number"==typeof t.code?t.code:1;return{ok:!1,exitCode:e,stdout:a(t),stderr:s(t,t)}}}e.s(["extractJson",()=>l,"runOpenClaw",()=>d,"runOpenClawRaw",()=>u])},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},7367,e=>{"use strict";var t=e.i(12714),r=e.i(60526),n=e.i(50227);async function a(){let e=n.default.join(r.default.homedir(),".openclaw","openclaw.json");return JSON.parse(await t.default.readFile(e,"utf8"))}async function s(){let e=await a(),t=e.agents?.defaults?.workspace;if(!t)throw Error("agents.defaults.workspace is not set in ~/.openclaw/openclaw.json");return t}async function o(){let e=await s();return n.default.join(e,"recipes")}async function i(){let e=await s(),r=n.default.join(e,"goals");try{if((await t.default.stat(r)).isDirectory())return r}catch{}return n.default.join(e,"notes","goals")}async function l(e){let t=r.default.homedir();if(!t)throw Error("Could not resolve home directory");return n.default.join(t,".openclaw",`workspace-${e}`)}function u(e,t){return"main"===t?n.default.resolve(e):n.default.resolve(e,"..",`workspace-${t}`)}function d(e){let t=e.replace(/\\/g,"/");if(!t||t.startsWith("/")||t.includes(".."))throw Error("Invalid file name");return t}async function c(){let e=await a(),t=e.plugins?.installs?.recipes?.installPath||e.plugins?.installs?.recipes?.sourcePath||e.plugins?.load?.paths?.[0];if(!t)throw Error("Could not determine recipes plugin install path from ~/.openclaw/openclaw.json");return n.default.join(t,"recipes","default")}e.s(["assertSafeRelativeFileName",()=>d,"getBuiltinRecipesDir",()=>c,"getTeamWorkspaceDir",()=>l,"getWorkspaceDir",()=>s,"getWorkspaceGoalsDir",()=>i,"getWorkspaceRecipesDir",()=>o,"readOpenClawConfig",()=>a,"teamDirFromBaseWorkspace",()=>u])},85067,e=>{"use strict";var t=e.i(12714),r=e.i(50227),n=e.i(89171),a=e.i(5003);async function s(e){let{stdout:t}=await (0,a.runOpenClaw)(["agents","list","--json"]),r=JSON.parse(t).find(t=>t.id===e);if(!r?.workspace)throw Error(`Agent workspace not found for ${e}`);return r.workspace}var o=e.i(40317),i=e.i(7367);async function l(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({ok:!1,error:"Invalid JSON"},{status:400})}return{body:t&&"object"==typeof t?t:{}}}function u(e){let t=Object.fromEntries(Object.entries(e).filter(([e])=>"ok"!==e));return n.NextResponse.json({ok:!0,...t})}async function d(e){try{return u(await e())}catch(e){return n.NextResponse.json({ok:!1,error:(0,o.errorMessage)(e)},{status:500})}}function c(e,t,r){let a=t.stdout?.trim(),s=t.stderr?.trim();return n.NextResponse.json({ok:!1,error:s||a||`openclaw ${e.join(" ")} failed (exit=${t.exitCode})`,stdout:t.stdout,stderr:t.stderr,...r},{status:500})}async function p(e){if(!e)return n.NextResponse.json({ok:!1,error:"teamId is required"},{status:400});let t=await (0,i.readOpenClawConfig)(),r=String(t.agents?.defaults?.workspace??"").trim();if(!r)return n.NextResponse.json({ok:!1,error:"agents.defaults.workspace not set"},{status:500});let a=(0,i.teamDirFromBaseWorkspace)(r,e);return{teamId:e,teamDir:a}}async function f(e){let{searchParams:t}=new URL(e.url);return p(String(t.get("teamId")??"").trim())}async function g(e,t){let r=await f(e);return r instanceof n.NextResponse?r:t(r)}async function h(e){return p(String(e.teamId??"").trim())}async function m(e){let{searchParams:t}=new URL(e.url);return x(String(t.get("agentId")??"").trim())}async function w(e){return x(String(e.agentId??"").trim())}async function x(e){if(!e)return n.NextResponse.json({ok:!1,error:"agentId is required"},{status:400});try{let t=await s(e);return{agentId:e,ws:t}}catch(e){return n.NextResponse.json({ok:!1,error:(0,o.errorMessage)(e)},{status:404})}}async function y(e,n){return Promise.all(n.map(async n=>{let a=r.default.join(e,n.name);try{let e=await t.default.stat(a);return{name:n.name,required:n.required,rationale:n.rationale,path:a,missing:!1,size:e.size,updatedAtMs:e.mtimeMs}}catch{return{name:n.name,required:n.required,rationale:n.rationale,path:a,missing:!0}}}))}e.s(["getAgentContextFromBody",()=>w,"getAgentContextFromQuery",()=>m,"getTeamContextFromBody",()=>h,"getTeamContextFromQuery",()=>f,"installSkillErrorResponse",()=>c,"jsonOkRest",()=>u,"listWorkspaceFiles",()=>y,"parseJsonBody",()=>l,"withStorageError",()=>d,"withTeamContextFromQuery",()=>g],85067)},11628,e=>{"use strict";var t=e.i(50227);function r(e){let r=e.replace(/\\/g,"/").match(/^(.*\/workspace-([^\/]+))\/roles\/([^\/]+)\/?$/);if(!r)return{kind:"other"};let n=r[1],a=r[2],s=r[3],o=t.default.join(n,"roles",s);return{kind:"teamRole",teamDir:n,teamId:a,roleDir:o,role:s}}e.s(["parseTeamRoleWorkspace",()=>r])},81317,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),s=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),g=e.i(54468),h=e.i(10372),m=e.i(93695);e.i(52474);var w=e.i(220),x=e.i(12714),y=e.i(50227),R=e.i(89171),k=e.i(11628),v=e.i(85067),C=e.i(40317);async function j(e){let t=await (0,v.getAgentContextFromQuery)(e);if(t instanceof R.NextResponse)return t;let{agentId:r,ws:n}=t,a=(0,k.parseTeamRoleWorkspace)(n),s=[y.default.join(n,"skills")];"teamRole"===a.kind&&s.push(y.default.join(a.teamDir,"skills"));let o=new Set,i=[];for(let e of s)try{for(let t of(await x.default.readdir(e,{withFileTypes:!0})))t.isDirectory()&&o.add(t.name)}catch(t){i.push(`${e}: ${(0,C.errorMessage)(t)}`)}return R.NextResponse.json({ok:!0,agentId:r,workspace:n,skillsDirs:s,skills:Array.from(o).sort((e,t)=>e.localeCompare(t)),note:i.length?i.join("; "):void 0})}e.s(["GET",()=>j],93364);var E=e.i(93364);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/agents/skills/route",pathname:"/api/agents/skills",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/agents/skills/route.ts",nextConfigOutput:"standalone",userland:E}),{workAsyncStorage:N,workUnitAsyncStorage:b,serverHooks:A}=S;function O(){return(0,n.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:b})}async function T(e,t,n){S.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/agents/skills/route";x=x.replace(/\/index$/,"")||"/";let y=await S.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:R,params:k,nextConfig:v,parsedUrl:C,isDraftMode:j,prerenderManifest:E,routerServerContext:N,isOnDemandRevalidate:b,revalidateOnlyGenerated:A,resolvedPathname:O,clientReferenceManifest:T,serverActionsManifest:q}=y,P=(0,i.normalizeAppPath)(x),I=!!(E.dynamicRoutes[P]||E.routes[O]),_=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,C,!1):t.end("This page could not be found"),null);if(I&&!j){let e=!!E.routes[O],t=E.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(v.experimental.adapterPath)return await _();throw new m.NoFallbackError}}let D=null;!I||S.isDev||j||(D="/index"===(D=O)?"/":D);let F=!0===S.isDev||!I,M=I&&!F;q&&T&&(0,o.setManifestsSingleton)({page:x,clientReferenceManifest:T,serverActionsManifest:q});let H=e.method||"GET",U=(0,s.getTracer)(),$=U.getActiveScopeSpan(),W={params:k,prerenderManifest:E,renderOpts:{experimental:{authInterrupts:!!v.experimental.authInterrupts},cacheComponents:!!v.cacheComponents,supportsDynamicResponse:F,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:v.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>S.onRequestError(e,t,n,a,N)},sharedContext:{buildId:R}},B=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(B,(0,u.signalFromNodeResponse)(t));try{let o=async e=>S.handle(J,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${H} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${x}`)}),i=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var s,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&b&&A&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(a);e.fetchMetrics=W.renderOpts.fetchMetrics;let l=W.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let u=W.renderOpts.collectedTags;if(!I)return await (0,p.sendResponse)(B,K,s,W.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[h.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,n=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:b})},!1,N),t}},d=await S.handleResponse({req:e,nextConfig:v,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:A,responseGenerator:u,waitUntil:n.waitUntil,isMinimalMode:i});if(!I)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",b?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),j&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&I||m.delete(h.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,g.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(B,K,new Response(d.value.body,{headers:m,status:d.value.status||200})),null};$?await l($):await U.withPropagatedContext(e.headers,()=>U.trace(d.BaseServerSpan.handleRequest,{spanName:`${H} ${x}`,kind:s.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},l))}catch(t){if(t instanceof m.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:b})},!1,N),I)throw t;return await (0,p.sendResponse)(B,K,new Response(null,{status:500})),null}}e.s(["handler",()=>T,"patchFetch",()=>O,"routeModule",()=>S,"serverHooks",()=>A,"workAsyncStorage",()=>N,"workUnitAsyncStorage",()=>b],81317)}];
1
+ module.exports=[40317,e=>{"use strict";function t(e){return e instanceof Error?e.message:String(e)}e.s(["errorMessage",()=>t])},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},12057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},59494,e=>{"use strict";function t(){let e=globalThis.__clawkitchen_api;if(!e)throw Error("ClawKitchen: OpenClaw plugin API not available. (This should only happen if Kitchen is started outside the gateway process.)");return e}e.s(["getKitchenApi",()=>t])},5003,e=>{"use strict";var t=e.i(59494),r=e.i(74533);let n=(0,e.i(12057).promisify)(r.execFile);function a(e){return"string"==typeof e.stdout?e.stdout:e.stdout&&"object"==typeof e.stdout&&"toString"in e.stdout?String(e.stdout.toString()):""}function s(e,t){return"string"==typeof e.stderr?e.stderr:e.stderr&&"object"==typeof e.stderr&&"toString"in e.stderr?String(e.stderr.toString()):"string"==typeof e.message?e.message:String(t)}function o(e){let t=e.trim();if(!t)return e;let r=t[0];if("["===r||"{"===r||'"'===r)return e;let n=t.split("\n"),a=n.findIndex(e=>/^\s*[[\{"]/.test(e));if(a>0){let e=n.slice(a).join("\n");try{return JSON.parse(e),e}catch{}}return e}async function i(e,t={}){let{sanitizeStdout:r=!0}=t;try{process.platform;let t=await n("openclaw",e,{timeout:12e4,windowsHide:!0,maxBuffer:0xa00000}),a=String(t.stdout??"");return{ok:!0,exitCode:0,stdout:r?o(a):a,stderr:String(t.stderr??"")}}catch(t){let e="number"==typeof t.code?t.code:1;return{ok:!1,exitCode:e,stdout:a(t),stderr:s(t,t)}}}function l(e){let t=e.trim();if(!t)return null;try{return JSON.parse(t)}catch{}let r=t.split("\n"),n=r.findIndex(e=>/^\s*[[\{]/.test(e));if(n>=0){let e=r.slice(n).join("\n");try{return JSON.parse(e)}catch{}}for(let e=r.length-1;e>=0;e--)if(/^\s*[\]}]/.test(r[e])){for(let t=e;t>=0;t--)if(/^\s*[[\{]/.test(r[t]))try{return JSON.parse(r.slice(t,e+1).join("\n"))}catch{}}return null}async function u(e){return i(e,{sanitizeStdout:!1})}async function d(e){if("cron"===e[0]||"recipes"===e[0]&&"workflows"===e[1]&&["runner-once","runner-tick","worker-tick"].includes(e[2]))return i(e);let r=(0,t.getKitchenApi)();try{let t=await r.runtime.system.runCommandWithTimeout(["openclaw",...e],{timeoutMs:12e4}),n=o(String(t.stdout??"")),a=String(t.stderr??""),s="number"==typeof t.exitCode?t.exitCode:"number"==typeof t.code?t.code:"number"==typeof t.status?t.status:0;if(0!==s)return{ok:!1,exitCode:s,stdout:n,stderr:a};return{ok:!0,exitCode:0,stdout:n,stderr:a}}catch(t){let e="number"==typeof t.code?t.code:1;return{ok:!1,exitCode:e,stdout:a(t),stderr:s(t,t)}}}e.s(["extractJson",()=>l,"runOpenClaw",()=>d,"runOpenClawRaw",()=>u])},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},7367,e=>{"use strict";var t=e.i(12714),r=e.i(60526),n=e.i(50227);async function a(){let e=n.default.join(r.default.homedir(),".openclaw","openclaw.json");return JSON.parse(await t.default.readFile(e,"utf8"))}async function s(){let e=await a(),t=e.agents?.defaults?.workspace;if(!t)throw Error("agents.defaults.workspace is not set in ~/.openclaw/openclaw.json");return t}async function o(){let e=await s();return n.default.join(e,"recipes")}async function i(){let e=await s(),r=n.default.join(e,"goals");try{if((await t.default.stat(r)).isDirectory())return r}catch{}return n.default.join(e,"notes","goals")}async function l(e){let t=r.default.homedir();if(!t)throw Error("Could not resolve home directory");return n.default.join(t,".openclaw",`workspace-${e}`)}function u(e,t){return"main"===t?n.default.resolve(e):n.default.resolve(e,"..",`workspace-${t}`)}function d(e){let t=e.replace(/\\/g,"/");if(!t||t.startsWith("/")||t.includes(".."))throw Error("Invalid file name");return t}async function c(){let e=await a(),t=e.plugins?.installs?.recipes?.installPath||e.plugins?.installs?.recipes?.sourcePath||e.plugins?.load?.paths?.[0];if(!t)throw Error("Could not determine recipes plugin install path from ~/.openclaw/openclaw.json");return n.default.join(t,"recipes","default")}e.s(["assertSafeRelativeFileName",()=>d,"getBuiltinRecipesDir",()=>c,"getTeamWorkspaceDir",()=>l,"getWorkspaceDir",()=>s,"getWorkspaceGoalsDir",()=>i,"getWorkspaceRecipesDir",()=>o,"readOpenClawConfig",()=>a,"teamDirFromBaseWorkspace",()=>u])},85067,e=>{"use strict";var t=e.i(12714),r=e.i(50227),n=e.i(89171),a=e.i(5003);async function s(e){let{stdout:t}=await (0,a.runOpenClaw)(["agents","list","--json"]),r=JSON.parse(t).find(t=>t.id===e);if(!r?.workspace)throw Error(`Agent workspace not found for ${e}`);return r.workspace}var o=e.i(40317),i=e.i(7367);async function l(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({ok:!1,error:"Invalid JSON"},{status:400})}return{body:t&&"object"==typeof t?t:{}}}function u(e){let t=Object.fromEntries(Object.entries(e).filter(([e])=>"ok"!==e));return n.NextResponse.json({ok:!0,...t})}async function d(e){try{return u(await e())}catch(e){return n.NextResponse.json({ok:!1,error:(0,o.errorMessage)(e)},{status:500})}}function c(e,t,r){let a=t.stdout?.trim(),s=t.stderr?.trim();return n.NextResponse.json({ok:!1,error:s||a||`openclaw ${e.join(" ")} failed (exit=${t.exitCode})`,stdout:t.stdout,stderr:t.stderr,...r},{status:500})}async function p(e){if(!e)return n.NextResponse.json({ok:!1,error:"teamId is required"},{status:400});let t=await (0,i.readOpenClawConfig)(),r=String(t.agents?.defaults?.workspace??"").trim();if(!r)return n.NextResponse.json({ok:!1,error:"agents.defaults.workspace not set"},{status:500});let a=(0,i.teamDirFromBaseWorkspace)(r,e);return{teamId:e,teamDir:a}}async function f(e){let{searchParams:t}=new URL(e.url);return p(String(t.get("teamId")??"").trim())}async function g(e,t){let r=await f(e);return r instanceof n.NextResponse?r:t(r)}async function h(e){return p(String(e.teamId??"").trim())}async function m(e){let{searchParams:t}=new URL(e.url);return x(String(t.get("agentId")??"").trim())}async function w(e){return x(String(e.agentId??"").trim())}async function x(e){if(!e)return n.NextResponse.json({ok:!1,error:"agentId is required"},{status:400});try{let t=await s(e);return{agentId:e,ws:t}}catch(e){return n.NextResponse.json({ok:!1,error:(0,o.errorMessage)(e)},{status:404})}}async function y(e,n){return Promise.all(n.map(async n=>{let a=r.default.join(e,n.name);try{let e=await t.default.stat(a);return{name:n.name,required:n.required,rationale:n.rationale,path:a,missing:!1,size:e.size,updatedAtMs:e.mtimeMs}}catch{return{name:n.name,required:n.required,rationale:n.rationale,path:a,missing:!0}}}))}e.s(["getAgentContextFromBody",()=>w,"getAgentContextFromQuery",()=>m,"getTeamContextFromBody",()=>h,"getTeamContextFromQuery",()=>f,"installSkillErrorResponse",()=>c,"jsonOkRest",()=>u,"listWorkspaceFiles",()=>y,"parseJsonBody",()=>l,"withStorageError",()=>d,"withTeamContextFromQuery",()=>g],85067)},11628,e=>{"use strict";var t=e.i(50227);function r(e){let r=e.replace(/\\/g,"/").match(/^(.*\/workspace-([^\/]+))\/roles\/([^\/]+)\/?$/);if(!r)return{kind:"other"};let n=r[1],a=r[2],s=r[3],o=t.default.join(n,"roles",s);return{kind:"teamRole",teamDir:n,teamId:a,roleDir:o,role:s}}e.s(["parseTeamRoleWorkspace",()=>r])},81317,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),s=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),g=e.i(74838),h=e.i(10372),m=e.i(93695);e.i(52474);var w=e.i(220),x=e.i(12714),y=e.i(50227),R=e.i(89171),k=e.i(11628),v=e.i(85067),C=e.i(40317);async function j(e){let t=await (0,v.getAgentContextFromQuery)(e);if(t instanceof R.NextResponse)return t;let{agentId:r,ws:n}=t,a=(0,k.parseTeamRoleWorkspace)(n),s=[y.default.join(n,"skills")];"teamRole"===a.kind&&s.push(y.default.join(a.teamDir,"skills"));let o=new Set,i=[];for(let e of s)try{for(let t of(await x.default.readdir(e,{withFileTypes:!0})))t.isDirectory()&&o.add(t.name)}catch(t){i.push(`${e}: ${(0,C.errorMessage)(t)}`)}return R.NextResponse.json({ok:!0,agentId:r,workspace:n,skillsDirs:s,skills:Array.from(o).sort((e,t)=>e.localeCompare(t)),note:i.length?i.join("; "):void 0})}e.s(["GET",()=>j],93364);var E=e.i(93364);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/agents/skills/route",pathname:"/api/agents/skills",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/agents/skills/route.ts",nextConfigOutput:"standalone",userland:E}),{workAsyncStorage:N,workUnitAsyncStorage:b,serverHooks:A}=S;function O(){return(0,n.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:b})}async function T(e,t,n){S.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/agents/skills/route";x=x.replace(/\/index$/,"")||"/";let y=await S.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:R,params:k,nextConfig:v,parsedUrl:C,isDraftMode:j,prerenderManifest:E,routerServerContext:N,isOnDemandRevalidate:b,revalidateOnlyGenerated:A,resolvedPathname:O,clientReferenceManifest:T,serverActionsManifest:q}=y,P=(0,i.normalizeAppPath)(x),I=!!(E.dynamicRoutes[P]||E.routes[O]),_=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,C,!1):t.end("This page could not be found"),null);if(I&&!j){let e=!!E.routes[O],t=E.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(v.experimental.adapterPath)return await _();throw new m.NoFallbackError}}let D=null;!I||S.isDev||j||(D="/index"===(D=O)?"/":D);let F=!0===S.isDev||!I,M=I&&!F;q&&T&&(0,o.setManifestsSingleton)({page:x,clientReferenceManifest:T,serverActionsManifest:q});let H=e.method||"GET",U=(0,s.getTracer)(),$=U.getActiveScopeSpan(),W={params:k,prerenderManifest:E,renderOpts:{experimental:{authInterrupts:!!v.experimental.authInterrupts},cacheComponents:!!v.cacheComponents,supportsDynamicResponse:F,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:v.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>S.onRequestError(e,t,n,a,N)},sharedContext:{buildId:R}},B=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(B,(0,u.signalFromNodeResponse)(t));try{let o=async e=>S.handle(J,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${H} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${x}`)}),i=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var s,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&b&&A&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(a);e.fetchMetrics=W.renderOpts.fetchMetrics;let l=W.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let u=W.renderOpts.collectedTags;if(!I)return await (0,p.sendResponse)(B,K,s,W.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[h.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,n=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:b})},!1,N),t}},d=await S.handleResponse({req:e,nextConfig:v,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:A,responseGenerator:u,waitUntil:n.waitUntil,isMinimalMode:i});if(!I)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",b?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),j&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&I||m.delete(h.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,g.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(B,K,new Response(d.value.body,{headers:m,status:d.value.status||200})),null};$?await l($):await U.withPropagatedContext(e.headers,()=>U.trace(d.BaseServerSpan.handleRequest,{spanName:`${H} ${x}`,kind:s.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},l))}catch(t){if(t instanceof m.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:b})},!1,N),I)throw t;return await (0,p.sendResponse)(B,K,new Response(null,{status:500})),null}}e.s(["handler",()=>T,"patchFetch",()=>O,"routeModule",()=>S,"serverHooks",()=>A,"workAsyncStorage",()=>N,"workUnitAsyncStorage",()=>b],81317)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__7e12b9f4._.js.map
@@ -3,6 +3,6 @@ ${a.default.stringify(i).trim()}
3
3
  ---
4
4
 
5
5
  ${(e.body??"").trim()}
6
- `;return await t.default.writeFile(n,s,"utf8"),{frontmatter:i,raw:s}}async function h(e){let{full:r}=await p(e);try{return await t.default.unlink(r),{ok:!0}}catch(e){if("object"==typeof e&&e&&"ENOENT"===e.code)return{ok:!1,reason:"not_found"};throw e}}e.s(["deleteGoal",()=>h,"goalErrorResponse",()=>l,"listGoals",()=>f,"readGoal",()=>g,"writeGoal",()=>m])},73845,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),o=e.i(61916),i=e.i(74677),s=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),g=e.i(54468),m=e.i(10372),h=e.i(93695);e.i(52474);var w=e.i(220),x=e.i(12714),y=e.i(50227),v=e.i(89171);let R="<!-- goal-workflow -->";var k=e.i(25092),b=e.i(7367),E=e.i(40317),S=e.i(5003);async function C(e,{params:t}){try{var r;let{id:e}=await t,n=decodeURIComponent(e),a=await (0,k.readGoal)(n);if(!a)return v.NextResponse.json({error:"Goal not found"},{status:404});let o=(Array.isArray(a.frontmatter.teams)?a.frontmatter.teams.filter(e=>e&&"main"!==e):[])[0];if(!o)return v.NextResponse.json({error:"Goal has no team assigned. Add a team to the goal before promoting."},{status:400});let i=await (0,b.getTeamWorkspaceDir)(o),s=y.default.join(i,"inbox");await x.default.mkdir(s,{recursive:!0});let l=new Date().toISOString(),d=l.replace(/[-:]/g,"").split(".")[0]??l,u=(r=a.frontmatter.title||n,function(e,t=80){let r=String(e??"").toLowerCase().trim(),n=Math.min(r.length,2*t),a="",o=!1;for(let e=0;e<n;e++){let t=r[e];t>="a"&&t<="z"||t>="0"&&t<="9"?(a+=t,o=!1):" "!==t&&"-"!==t&&"_"!==t||o||(a+="-",o=!0)}for(;a.startsWith("-");)a=a.slice(1);for(;a.endsWith("-");)a=a.slice(0,-1);return a.slice(0,t)}(r,80)),c=`${l.slice(0,10)}-${l.slice(11,16).replace(":","")}-goal-${u||n}.md`,p=[`# Inbox — ${o}`,"",`Received: ${l}`,"\n## Request",`Goal: ${a.frontmatter.title} (${n})`,"\n## Proposed work\n- Ticket: (lead to create during scoping)\n- Owner: lead\n\n## Links",`- Goal UI: /goals/${encodeURIComponent(n)}`,`- Goal file: ~/.openclaw/workspace/notes/goals/${n}.md`,"\n## Goal body (snapshot)",a.body?.trim()?a.body.trim():"(empty)",""].join("\n"),f=y.default.join(s,c);await x.default.writeFile(f,p,{encoding:"utf8",flag:"wx"}).catch(async e=>{let t=e&&"object"==typeof e&&"code"in e?String(e.code):"";if("EEXIST"===t){let e=y.default.join(s,c.replace(/\.md$/,`-${d}.md`));await x.default.writeFile(e,p,{encoding:"utf8",flag:"wx"});return}throw e});let g=function(e){if(e.includes(R))return e;let t=["\n## Workflow",R,"- Use **Promote to inbox** to send this goal to the development-team inbox for scoping.\n- When promoted, set goal status to **active**.\n- Track implementation work via tickets (add links/IDs under a **Tickets** section in this goal).\n- When development is complete (all associated tickets marked done), set goal status to **done**.\n\n## Tickets\n- (add ticket links/ids)\n"].join("\n");return(e??"").trim()+t}(a.body??""),m=await (0,k.writeGoal)({id:n,title:a.frontmatter.title,status:"active",tags:a.frontmatter.tags,teams:a.frontmatter.teams,body:g}),h=await (0,b.readOpenClawConfig)(),w=h.tools?.agentToAgent?.enabled===!0,C=h.tools?.agentToAgent?.allow??[],j=`${o}-lead`,A=w&&(C.includes("*")||C.includes(j)),T=!1,O=!1,N=null;if(A){T=!0;try{let e=await (0,S.runOpenClaw)(["agent","--agent",j,"--message",`New goal promoted to ${o} inbox: ${m.frontmatter.title} (${n}). Inbox file: ${f}`,"--timeout","60","--json"]);if(!e.ok)throw Error(e.stderr||`openclaw exit ${e.exitCode}`);O=!0}catch(e){N=(0,E.errorMessage)(e)}}else N=w?`agentToAgent.allow does not include "*" or "${j}"`:"tools.agentToAgent.enabled is false";return v.NextResponse.json({ok:!0,goal:m.frontmatter,inboxPath:f,pingAttempted:T,pingOk:O,pingReason:N})}catch(e){return(0,k.goalErrorResponse)(e)}}e.s(["POST",()=>C],32228);var j=e.i(32228);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/goals/[id]/promote/route",pathname:"/api/goals/[id]/promote",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/goals/[id]/promote/route.ts",nextConfigOutput:"standalone",userland:j}),{workAsyncStorage:T,workUnitAsyncStorage:O,serverHooks:N}=A;function $(){return(0,n.patchFetch)({workAsyncStorage:T,workUnitAsyncStorage:O})}async function I(e,t,n){A.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/goals/[id]/promote/route";x=x.replace(/\/index$/,"")||"/";let y=await A.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:v,params:R,nextConfig:k,parsedUrl:b,isDraftMode:E,prerenderManifest:S,routerServerContext:C,isOnDemandRevalidate:j,revalidateOnlyGenerated:T,resolvedPathname:O,clientReferenceManifest:N,serverActionsManifest:$}=y,I=(0,s.normalizeAppPath)(x),P=!!(S.dynamicRoutes[I]||S.routes[O]),q=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,b,!1):t.end("This page could not be found"),null);if(P&&!E){let e=!!S.routes[O],t=S.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(k.experimental.adapterPath)return await q();throw new h.NoFallbackError}}let _=null;!P||A.isDev||E||(_="/index"===(_=O)?"/":_);let D=!0===A.isDev||!P,U=P&&!D;$&&N&&(0,i.setManifestsSingleton)({page:x,clientReferenceManifest:N,serverActionsManifest:$});let W=e.method||"GET",H=(0,o.getTracer)(),F=H.getActiveScopeSpan(),G={params:R,prerenderManifest:S,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:k.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>A.onRequestError(e,t,n,a,C)},sharedContext:{buildId:v}},M=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),B=d.NextRequestAdapter.fromNodeNextRequest(M,(0,d.signalFromNodeResponse)(t));try{let i=async e=>A.handle(B,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${W} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${W} ${x}`)}),s=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var o,l;let d=async({previousCacheEntry:r})=>{try{if(!s&&j&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await i(a);e.fetchMetrics=G.renderOpts.fetchMetrics;let l=G.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let d=G.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)(M,K,o,G.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(o.headers);d&&(t[m.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,n=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:j})},!1,C),t}},u=await A.handleResponse({req:e,nextConfig:k,cacheKey:_,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:T,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:s});if(!P)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",j?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return s&&P||h.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(M,K,new Response(u.value.body,{headers:h,status:u.value.status||200})),null};F?await l(F):await H.withPropagatedContext(e.headers,()=>H.trace(u.BaseServerSpan.handleRequest,{spanName:`${W} ${x}`,kind:o.SpanKind.SERVER,attributes:{"http.method":W,"http.target":e.url}},l))}catch(t){if(t instanceof h.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:j})},!1,C),P)throw t;return await (0,p.sendResponse)(M,K,new Response(null,{status:500})),null}}e.s(["handler",()=>I,"patchFetch",()=>$,"routeModule",()=>A,"serverHooks",()=>N,"workAsyncStorage",()=>T,"workUnitAsyncStorage",()=>O],73845)}];
6
+ `;return await t.default.writeFile(n,s,"utf8"),{frontmatter:i,raw:s}}async function h(e){let{full:r}=await p(e);try{return await t.default.unlink(r),{ok:!0}}catch(e){if("object"==typeof e&&e&&"ENOENT"===e.code)return{ok:!1,reason:"not_found"};throw e}}e.s(["deleteGoal",()=>h,"goalErrorResponse",()=>l,"listGoals",()=>f,"readGoal",()=>g,"writeGoal",()=>m])},73845,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),o=e.i(61916),i=e.i(74677),s=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),g=e.i(74838),m=e.i(10372),h=e.i(93695);e.i(52474);var w=e.i(220),x=e.i(12714),y=e.i(50227),v=e.i(89171);let R="<!-- goal-workflow -->";var k=e.i(25092),b=e.i(7367),E=e.i(40317),S=e.i(5003);async function C(e,{params:t}){try{var r;let{id:e}=await t,n=decodeURIComponent(e),a=await (0,k.readGoal)(n);if(!a)return v.NextResponse.json({error:"Goal not found"},{status:404});let o=(Array.isArray(a.frontmatter.teams)?a.frontmatter.teams.filter(e=>e&&"main"!==e):[])[0];if(!o)return v.NextResponse.json({error:"Goal has no team assigned. Add a team to the goal before promoting."},{status:400});let i=await (0,b.getTeamWorkspaceDir)(o),s=y.default.join(i,"inbox");await x.default.mkdir(s,{recursive:!0});let l=new Date().toISOString(),d=l.replace(/[-:]/g,"").split(".")[0]??l,u=(r=a.frontmatter.title||n,function(e,t=80){let r=String(e??"").toLowerCase().trim(),n=Math.min(r.length,2*t),a="",o=!1;for(let e=0;e<n;e++){let t=r[e];t>="a"&&t<="z"||t>="0"&&t<="9"?(a+=t,o=!1):" "!==t&&"-"!==t&&"_"!==t||o||(a+="-",o=!0)}for(;a.startsWith("-");)a=a.slice(1);for(;a.endsWith("-");)a=a.slice(0,-1);return a.slice(0,t)}(r,80)),c=`${l.slice(0,10)}-${l.slice(11,16).replace(":","")}-goal-${u||n}.md`,p=[`# Inbox — ${o}`,"",`Received: ${l}`,"\n## Request",`Goal: ${a.frontmatter.title} (${n})`,"\n## Proposed work\n- Ticket: (lead to create during scoping)\n- Owner: lead\n\n## Links",`- Goal UI: /goals/${encodeURIComponent(n)}`,`- Goal file: ~/.openclaw/workspace/notes/goals/${n}.md`,"\n## Goal body (snapshot)",a.body?.trim()?a.body.trim():"(empty)",""].join("\n"),f=y.default.join(s,c);await x.default.writeFile(f,p,{encoding:"utf8",flag:"wx"}).catch(async e=>{let t=e&&"object"==typeof e&&"code"in e?String(e.code):"";if("EEXIST"===t){let e=y.default.join(s,c.replace(/\.md$/,`-${d}.md`));await x.default.writeFile(e,p,{encoding:"utf8",flag:"wx"});return}throw e});let g=function(e){if(e.includes(R))return e;let t=["\n## Workflow",R,"- Use **Promote to inbox** to send this goal to the development-team inbox for scoping.\n- When promoted, set goal status to **active**.\n- Track implementation work via tickets (add links/IDs under a **Tickets** section in this goal).\n- When development is complete (all associated tickets marked done), set goal status to **done**.\n\n## Tickets\n- (add ticket links/ids)\n"].join("\n");return(e??"").trim()+t}(a.body??""),m=await (0,k.writeGoal)({id:n,title:a.frontmatter.title,status:"active",tags:a.frontmatter.tags,teams:a.frontmatter.teams,body:g}),h=await (0,b.readOpenClawConfig)(),w=h.tools?.agentToAgent?.enabled===!0,C=h.tools?.agentToAgent?.allow??[],j=`${o}-lead`,A=w&&(C.includes("*")||C.includes(j)),T=!1,O=!1,N=null;if(A){T=!0;try{let e=await (0,S.runOpenClaw)(["agent","--agent",j,"--message",`New goal promoted to ${o} inbox: ${m.frontmatter.title} (${n}). Inbox file: ${f}`,"--timeout","60","--json"]);if(!e.ok)throw Error(e.stderr||`openclaw exit ${e.exitCode}`);O=!0}catch(e){N=(0,E.errorMessage)(e)}}else N=w?`agentToAgent.allow does not include "*" or "${j}"`:"tools.agentToAgent.enabled is false";return v.NextResponse.json({ok:!0,goal:m.frontmatter,inboxPath:f,pingAttempted:T,pingOk:O,pingReason:N})}catch(e){return(0,k.goalErrorResponse)(e)}}e.s(["POST",()=>C],32228);var j=e.i(32228);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/goals/[id]/promote/route",pathname:"/api/goals/[id]/promote",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/goals/[id]/promote/route.ts",nextConfigOutput:"standalone",userland:j}),{workAsyncStorage:T,workUnitAsyncStorage:O,serverHooks:N}=A;function $(){return(0,n.patchFetch)({workAsyncStorage:T,workUnitAsyncStorage:O})}async function I(e,t,n){A.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/goals/[id]/promote/route";x=x.replace(/\/index$/,"")||"/";let y=await A.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:v,params:R,nextConfig:k,parsedUrl:b,isDraftMode:E,prerenderManifest:S,routerServerContext:C,isOnDemandRevalidate:j,revalidateOnlyGenerated:T,resolvedPathname:O,clientReferenceManifest:N,serverActionsManifest:$}=y,I=(0,s.normalizeAppPath)(x),P=!!(S.dynamicRoutes[I]||S.routes[O]),q=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,b,!1):t.end("This page could not be found"),null);if(P&&!E){let e=!!S.routes[O],t=S.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(k.experimental.adapterPath)return await q();throw new h.NoFallbackError}}let _=null;!P||A.isDev||E||(_="/index"===(_=O)?"/":_);let D=!0===A.isDev||!P,U=P&&!D;$&&N&&(0,i.setManifestsSingleton)({page:x,clientReferenceManifest:N,serverActionsManifest:$});let W=e.method||"GET",H=(0,o.getTracer)(),F=H.getActiveScopeSpan(),G={params:R,prerenderManifest:S,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:k.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>A.onRequestError(e,t,n,a,C)},sharedContext:{buildId:v}},M=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),B=d.NextRequestAdapter.fromNodeNextRequest(M,(0,d.signalFromNodeResponse)(t));try{let i=async e=>A.handle(B,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${W} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${W} ${x}`)}),s=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var o,l;let d=async({previousCacheEntry:r})=>{try{if(!s&&j&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await i(a);e.fetchMetrics=G.renderOpts.fetchMetrics;let l=G.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let d=G.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)(M,K,o,G.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(o.headers);d&&(t[m.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,n=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:j})},!1,C),t}},u=await A.handleResponse({req:e,nextConfig:k,cacheKey:_,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:T,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:s});if(!P)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",j?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return s&&P||h.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(M,K,new Response(u.value.body,{headers:h,status:u.value.status||200})),null};F?await l(F):await H.withPropagatedContext(e.headers,()=>H.trace(u.BaseServerSpan.handleRequest,{spanName:`${W} ${x}`,kind:o.SpanKind.SERVER,attributes:{"http.method":W,"http.target":e.url}},l))}catch(t){if(t instanceof h.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:j})},!1,C),P)throw t;return await (0,p.sendResponse)(M,K,new Response(null,{status:500})),null}}e.s(["handler",()=>I,"patchFetch",()=>$,"routeModule",()=>A,"serverHooks",()=>N,"workAsyncStorage",()=>T,"workUnitAsyncStorage",()=>O],73845)}];
7
7
 
8
8
  //# sourceMappingURL=%5Broot-of-the-server%5D__87875179._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},40317,e=>{"use strict";function t(e){return e instanceof Error?e.message:String(e)}e.s(["errorMessage",()=>t])},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},15877,69279,e=>{"use strict";var t=e.i(66680),r=e.i(12714),n=e.i(50227);function a(){let e=process.env.HOME||process.env.USERPROFILE||"";if(!e)throw Error("Could not resolve home directory (set HOME)");return n.join(e,".openclaw","openclaw.json")}async function s(){let e=a(),n=await r.default.readFile(e,"utf8"),s=t.default.createHash("sha256").update(n).digest("hex"),o=JSON.parse(n);return{path:e,raw:n,hash:s,json:o}}function o(e){return e&&"object"==typeof e?function e(t){if(!t||"object"!=typeof t)return t;if(Array.isArray(t))return t.map(e);let r={};for(let[n,a]of Object.entries(t)){if("botToken"===n||"token"===n||"authToken"===n||n.toLowerCase().includes("secret")){"string"==typeof a&&a?r[n]="__OPENCLAW_REDACTED__":r[n]=a;continue}r[n]=e(a)}return r}(e):{}}async function i({patch:e,note:s}){let o=a(),i=JSON.stringify(e(JSON.parse(await r.default.readFile(o,"utf8"))),null,2)+"\n",l=n.dirname(o),u=n.join(l,`openclaw.json.tmp.${process.pid}.${Date.now()}`);if(await r.default.writeFile(u,i,"utf8"),await r.default.rename(u,o),s)try{let e=n.join(l,"notes");await r.default.mkdir(e,{recursive:!0}),await r.default.appendFile(n.join(e,"kitchen-config.log"),`[${new Date().toISOString()}] ${s}
2
- `,"utf8")}catch{}return{ok:!0,path:o,hash:t.default.createHash("sha256").update(i).digest("hex")}}function l(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}e.s(["patchOpenClawConfigFile",()=>i,"readOpenClawConfigRaw",()=>s,"redactChannels",()=>o],15877),e.s(["isRecord",()=>l],69279)},64937,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),s=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(54468),x=e.i(10372),R=e.i(93695);e.i(52474);var g=e.i(220),w=e.i(89171),v=e.i(40317),y=e.i(15877),m=e.i(69279);async function C(){try{let e=await (0,y.readOpenClawConfigRaw)(),t=(0,m.isRecord)(e.json)?e.json:{},r=(0,m.isRecord)(t.channels)?t.channels:{},n=Array.isArray(t.bindings)?t.bindings:[];return w.NextResponse.json({ok:!0,hash:e.hash,channels:(0,y.redactChannels)(r),bindings:n})}catch(t){let e=(0,v.errorMessage)(t);return w.NextResponse.json({ok:!1,error:e},{status:500})}}async function E(e){try{let t=await e.json(),r=String(t?.provider??"").trim();if(!r)return w.NextResponse.json({ok:!1,error:"provider is required"},{status:400});let n=(0,m.isRecord)(t?.config)?t.config:null;if(!n)return w.NextResponse.json({ok:!1,error:"config must be an object"},{status:400});if("telegram"===r&&!String(n.botToken??"").trim())return w.NextResponse.json({ok:!1,error:"telegram.botToken is required"},{status:400});return await (0,y.patchOpenClawConfigFile)({note:`ClawKitchen Channels upsert: ${r}`,patch:e=>{let t={...e},a=(0,m.isRecord)(t.channels)?t.channels:{};return t.channels={...a,[r]:n},t}}),w.NextResponse.json({ok:!0,restartRequired:!0,restartHint:"Restart OpenClaw Gateway to apply channel config changes."})}catch(t){let e=(0,v.errorMessage)(t);return w.NextResponse.json({ok:!1,error:e},{status:500})}}async function j(e){try{let t=await e.json(),r=String(t?.provider??"").trim();if(!r)return w.NextResponse.json({ok:!1,error:"provider is required"},{status:400});if(String(t?.confirm??"").trim()!=r)return w.NextResponse.json({ok:!1,error:`Typed confirmation required. Set confirm="${r}" to delete.`},{status:400});return await (0,y.patchOpenClawConfigFile)({note:`ClawKitchen Channels delete: ${r}`,patch:e=>{let t={...e},n={...(0,m.isRecord)(t.channels)?t.channels:{}};return delete n[r],t.channels=n,t}}),w.NextResponse.json({ok:!0,restartRequired:!0,restartHint:"Restart OpenClaw Gateway to apply channel config changes."})}catch(t){let e=(0,v.errorMessage)(t);return w.NextResponse.json({ok:!1,error:e},{status:500})}}e.s(["DELETE",()=>j,"GET",()=>C,"PUT",()=>E],23334);var b=e.i(23334);let k=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/channels/bindings/route",pathname:"/api/channels/bindings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/channels/bindings/route.ts",nextConfigOutput:"standalone",userland:b}),{workAsyncStorage:N,workUnitAsyncStorage:A,serverHooks:O}=k;function T(){return(0,n.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:A})}async function S(e,t,n){k.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/channels/bindings/route";w=w.replace(/\/index$/,"")||"/";let v=await k.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:y,params:m,nextConfig:C,parsedUrl:E,isDraftMode:j,prerenderManifest:b,routerServerContext:N,isOnDemandRevalidate:A,revalidateOnlyGenerated:O,resolvedPathname:T,clientReferenceManifest:S,serverActionsManifest:q}=v,P=(0,i.normalizeAppPath)(w),_=!!(b.dynamicRoutes[P]||b.routes[T]),H=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,E,!1):t.end("This page could not be found"),null);if(_&&!j){let e=!!b.routes[T],t=b.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(C.experimental.adapterPath)return await H();throw new R.NoFallbackError}}let D=null;!_||k.isDev||j||(D="/index"===(D=T)?"/":D);let M=!0===k.isDev||!_,U=_&&!M;q&&S&&(0,o.setManifestsSingleton)({page:w,clientReferenceManifest:S,serverActionsManifest:q});let I=e.method||"GET",F=(0,s.getTracer)(),$=F.getActiveScopeSpan(),K={params:m,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:M,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:C.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>k.onRequestError(e,t,n,a,N)},sharedContext:{buildId:y}},L=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),B=u.NextRequestAdapter.fromNodeNextRequest(L,(0,u.signalFromNodeResponse)(t));try{let o=async e=>k.handle(B,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${I} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${I} ${w}`)}),i=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var s,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&A&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(a);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let u=K.renderOpts.collectedTags;if(!_)return await (0,p.sendResponse)(L,G,s,K.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[x.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,n=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,N),t}},d=await k.handleResponse({req:e,nextConfig:C,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:O,responseGenerator:u,waitUntil:n.waitUntil,isMinimalMode:i});if(!_)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",A?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),j&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let R=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&_||R.delete(x.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||R.get("Cache-Control")||R.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(L,G,new Response(d.value.body,{headers:R,status:d.value.status||200})),null};$?await l($):await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${I} ${w}`,kind:s.SpanKind.SERVER,attributes:{"http.method":I,"http.target":e.url}},l))}catch(t){if(t instanceof R.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,N),_)throw t;return await (0,p.sendResponse)(L,G,new Response(null,{status:500})),null}}e.s(["handler",()=>S,"patchFetch",()=>T,"routeModule",()=>k,"serverHooks",()=>O,"workAsyncStorage",()=>N,"workUnitAsyncStorage",()=>A],64937)}];
1
+ module.exports=[50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},40317,e=>{"use strict";function t(e){return e instanceof Error?e.message:String(e)}e.s(["errorMessage",()=>t])},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},15877,69279,e=>{"use strict";var t=e.i(66680),r=e.i(12714),n=e.i(50227);function a(){let e=process.env.HOME||process.env.USERPROFILE||"";if(!e)throw Error("Could not resolve home directory (set HOME)");return n.join(e,".openclaw","openclaw.json")}async function s(){let e=a(),n=await r.default.readFile(e,"utf8"),s=t.default.createHash("sha256").update(n).digest("hex"),o=JSON.parse(n);return{path:e,raw:n,hash:s,json:o}}function o(e){return e&&"object"==typeof e?function e(t){if(!t||"object"!=typeof t)return t;if(Array.isArray(t))return t.map(e);let r={};for(let[n,a]of Object.entries(t)){if("botToken"===n||"token"===n||"authToken"===n||n.toLowerCase().includes("secret")){"string"==typeof a&&a?r[n]="__OPENCLAW_REDACTED__":r[n]=a;continue}r[n]=e(a)}return r}(e):{}}async function i({patch:e,note:s}){let o=a(),i=JSON.stringify(e(JSON.parse(await r.default.readFile(o,"utf8"))),null,2)+"\n",l=n.dirname(o),u=n.join(l,`openclaw.json.tmp.${process.pid}.${Date.now()}`);if(await r.default.writeFile(u,i,"utf8"),await r.default.rename(u,o),s)try{let e=n.join(l,"notes");await r.default.mkdir(e,{recursive:!0}),await r.default.appendFile(n.join(e,"kitchen-config.log"),`[${new Date().toISOString()}] ${s}
2
+ `,"utf8")}catch{}return{ok:!0,path:o,hash:t.default.createHash("sha256").update(i).digest("hex")}}function l(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}e.s(["patchOpenClawConfigFile",()=>i,"readOpenClawConfigRaw",()=>s,"redactChannels",()=>o],15877),e.s(["isRecord",()=>l],69279)},64937,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),s=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(74838),x=e.i(10372),R=e.i(93695);e.i(52474);var g=e.i(220),w=e.i(89171),v=e.i(40317),y=e.i(15877),m=e.i(69279);async function C(){try{let e=await (0,y.readOpenClawConfigRaw)(),t=(0,m.isRecord)(e.json)?e.json:{},r=(0,m.isRecord)(t.channels)?t.channels:{},n=Array.isArray(t.bindings)?t.bindings:[];return w.NextResponse.json({ok:!0,hash:e.hash,channels:(0,y.redactChannels)(r),bindings:n})}catch(t){let e=(0,v.errorMessage)(t);return w.NextResponse.json({ok:!1,error:e},{status:500})}}async function E(e){try{let t=await e.json(),r=String(t?.provider??"").trim();if(!r)return w.NextResponse.json({ok:!1,error:"provider is required"},{status:400});let n=(0,m.isRecord)(t?.config)?t.config:null;if(!n)return w.NextResponse.json({ok:!1,error:"config must be an object"},{status:400});if("telegram"===r&&!String(n.botToken??"").trim())return w.NextResponse.json({ok:!1,error:"telegram.botToken is required"},{status:400});return await (0,y.patchOpenClawConfigFile)({note:`ClawKitchen Channels upsert: ${r}`,patch:e=>{let t={...e},a=(0,m.isRecord)(t.channels)?t.channels:{};return t.channels={...a,[r]:n},t}}),w.NextResponse.json({ok:!0,restartRequired:!0,restartHint:"Restart OpenClaw Gateway to apply channel config changes."})}catch(t){let e=(0,v.errorMessage)(t);return w.NextResponse.json({ok:!1,error:e},{status:500})}}async function j(e){try{let t=await e.json(),r=String(t?.provider??"").trim();if(!r)return w.NextResponse.json({ok:!1,error:"provider is required"},{status:400});if(String(t?.confirm??"").trim()!=r)return w.NextResponse.json({ok:!1,error:`Typed confirmation required. Set confirm="${r}" to delete.`},{status:400});return await (0,y.patchOpenClawConfigFile)({note:`ClawKitchen Channels delete: ${r}`,patch:e=>{let t={...e},n={...(0,m.isRecord)(t.channels)?t.channels:{}};return delete n[r],t.channels=n,t}}),w.NextResponse.json({ok:!0,restartRequired:!0,restartHint:"Restart OpenClaw Gateway to apply channel config changes."})}catch(t){let e=(0,v.errorMessage)(t);return w.NextResponse.json({ok:!1,error:e},{status:500})}}e.s(["DELETE",()=>j,"GET",()=>C,"PUT",()=>E],23334);var b=e.i(23334);let k=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/channels/bindings/route",pathname:"/api/channels/bindings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/channels/bindings/route.ts",nextConfigOutput:"standalone",userland:b}),{workAsyncStorage:N,workUnitAsyncStorage:A,serverHooks:O}=k;function T(){return(0,n.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:A})}async function S(e,t,n){k.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/channels/bindings/route";w=w.replace(/\/index$/,"")||"/";let v=await k.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:y,params:m,nextConfig:C,parsedUrl:E,isDraftMode:j,prerenderManifest:b,routerServerContext:N,isOnDemandRevalidate:A,revalidateOnlyGenerated:O,resolvedPathname:T,clientReferenceManifest:S,serverActionsManifest:q}=v,P=(0,i.normalizeAppPath)(w),_=!!(b.dynamicRoutes[P]||b.routes[T]),H=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,E,!1):t.end("This page could not be found"),null);if(_&&!j){let e=!!b.routes[T],t=b.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(C.experimental.adapterPath)return await H();throw new R.NoFallbackError}}let D=null;!_||k.isDev||j||(D="/index"===(D=T)?"/":D);let M=!0===k.isDev||!_,U=_&&!M;q&&S&&(0,o.setManifestsSingleton)({page:w,clientReferenceManifest:S,serverActionsManifest:q});let I=e.method||"GET",F=(0,s.getTracer)(),$=F.getActiveScopeSpan(),K={params:m,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:M,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:C.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>k.onRequestError(e,t,n,a,N)},sharedContext:{buildId:y}},L=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),B=u.NextRequestAdapter.fromNodeNextRequest(L,(0,u.signalFromNodeResponse)(t));try{let o=async e=>k.handle(B,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${I} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${I} ${w}`)}),i=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var s,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&A&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(a);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let u=K.renderOpts.collectedTags;if(!_)return await (0,p.sendResponse)(L,G,s,K.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[x.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,n=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,N),t}},d=await k.handleResponse({req:e,nextConfig:C,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:O,responseGenerator:u,waitUntil:n.waitUntil,isMinimalMode:i});if(!_)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",A?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),j&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let R=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&_||R.delete(x.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||R.get("Cache-Control")||R.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(L,G,new Response(d.value.body,{headers:R,status:d.value.status||200})),null};$?await l($):await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${I} ${w}`,kind:s.SpanKind.SERVER,attributes:{"http.method":I,"http.target":e.url}},l))}catch(t){if(t instanceof R.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,N),_)throw t;return await (0,p.sendResponse)(L,G,new Response(null,{status:500})),null}}e.s(["handler",()=>S,"patchFetch",()=>T,"routeModule",()=>k,"serverHooks",()=>O,"workAsyncStorage",()=>N,"workUnitAsyncStorage",()=>A],64937)}];
3
3
 
4
- //# sourceMappingURL=%5Broot-of-the-server%5D__17124952._.js.map
4
+ //# sourceMappingURL=%5Broot-of-the-server%5D__89f2190c._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},7367,e=>{"use strict";var t=e.i(12714),r=e.i(60526),a=e.i(50227);async function n(){let e=a.default.join(r.default.homedir(),".openclaw","openclaw.json");return JSON.parse(await t.default.readFile(e,"utf8"))}async function i(){let e=await n(),t=e.agents?.defaults?.workspace;if(!t)throw Error("agents.defaults.workspace is not set in ~/.openclaw/openclaw.json");return t}async function s(){let e=await i();return a.default.join(e,"recipes")}async function o(){let e=await i(),r=a.default.join(e,"goals");try{if((await t.default.stat(r)).isDirectory())return r}catch{}return a.default.join(e,"notes","goals")}async function l(e){let t=r.default.homedir();if(!t)throw Error("Could not resolve home directory");return a.default.join(t,".openclaw",`workspace-${e}`)}function u(e,t){return"main"===t?a.default.resolve(e):a.default.resolve(e,"..",`workspace-${t}`)}function d(e){let t=e.replace(/\\/g,"/");if(!t||t.startsWith("/")||t.includes(".."))throw Error("Invalid file name");return t}async function c(){let e=await n(),t=e.plugins?.installs?.recipes?.installPath||e.plugins?.installs?.recipes?.sourcePath||e.plugins?.load?.paths?.[0];if(!t)throw Error("Could not determine recipes plugin install path from ~/.openclaw/openclaw.json");return a.default.join(t,"recipes","default")}e.s(["assertSafeRelativeFileName",()=>d,"getBuiltinRecipesDir",()=>c,"getTeamWorkspaceDir",()=>l,"getWorkspaceDir",()=>i,"getWorkspaceGoalsDir",()=>o,"getWorkspaceRecipesDir",()=>s,"readOpenClawConfig",()=>n,"teamDirFromBaseWorkspace",()=>u])},26837,e=>{"use strict";var t=e.i(12714),r=e.i(60526),a=e.i(50227);function n(e){return e.includes("/")||e.includes("\\")}function i(e){if(!/^[a-z0-9][a-z0-9-]{1,63}$/.test(e))throw Error(`Invalid teamId "${e}"`);return a.default.join(r.default.homedir(),".openclaw",`workspace-${e}`)}function s(e){if(e)return i(e);let t=process.env.CK_TEAM_ID;if(!t&&!process.env.CK_TEAM_WORKSPACE_DIR)throw Error("No team specified. Pass a teamId or set CK_TEAM_ID / CK_TEAM_WORKSPACE_DIR.");return process.env.CK_TEAM_WORKSPACE_DIR??i(t)}function o(e,t){let r=n(t)?t:i(t);return a.default.join(r,{backlog:"work/backlog","in-progress":"work/in-progress",testing:"work/testing",done:"work/done"}[e])}async function l(e){let r,i=n(e)?"workspace"===(r=a.default.basename(e))?"main":r.startsWith("workspace-")?r.slice(10):r:e,s=[];for(let r of["backlog","in-progress","testing","done"]){let n=[];try{n=await t.default.readdir(o(r,e))}catch{n=[]}for(let l of n){if(!l.endsWith(".md"))continue;let n=function(e){let t=e.match(/^(\d{4})-/);return t?Number(t[1]):null}(l);if(null==n)continue;let u=a.default.join(o(r,e),l),[d,c]=await Promise.all([t.default.readFile(u,"utf8"),t.default.stat(u)]),p=function(e){let t=e.split("\n")[0]??"",r=t.startsWith("# ")?t.slice(2).trim():"",a=r.indexOf(" ");if(a>0){let e=r.slice(a+1).trim();if(e)return e}let n=r.replace(/^\d{4}-/,"").replace(/[-_]+/g," ").replace(/\s+/g," ").trim(),i=new Set(["api","cli","ui","ux","gpu","cpu","npm","pr","ci","cd","json","yaml","md"]),s=n?n.split(" ").filter(Boolean).map(e=>{let t=e.toLowerCase();return i.has(t)?e.toUpperCase():t.startsWith("v")&&/^\d/.test(t.slice(1))||/^[\d.]+$/.test(e)?e:e.slice(0,1).toUpperCase()+e.slice(1)}).join(" "):"";return s||r||"(untitled)"}(d),f=function(e,t){let r=RegExp(`^${t}:\\s*(.*)$`,"mi"),a=e.match(r);return a?.[1]?.trim()||null}(d,"Owner"),m=c.mtime.toISOString(),w=(Date.now()-c.mtimeMs)/36e5;s.push({teamId:i,number:n,id:l.replace(/\.md$/,""),title:p,owner:f,stage:r,file:u,updatedAt:m,ageHours:w})}}return s.sort((e,t)=>e.number-t.number),s}async function u(e,t){let r=await l(t),a=e.trim(),n=a.match(/^\d+$/)?r.find(e=>e.number===Number(a)):null;return r.find(e=>e.id===a)??n??null}async function d(e,t){return u(t,e)}async function c(e,r){let a=await u(r,e);return a?{teamId:a.teamId,id:a.id,file:a.file,markdown:await t.default.readFile(a.file,"utf8"),owner:a.owner,stage:a.stage}:null}e.s(["getTeamWorkspaceDir",()=>s,"getTicketByIdOrNumber",()=>u,"getTicketMarkdown",()=>c,"listTickets",()=>l,"resolveTicket",()=>d,"stageDir",()=>o,"teamWorkspace",()=>i])},40160,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),i=e.i(61916),s=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),m=e.i(54468),w=e.i(10372),g=e.i(93695);e.i(52474);var h=e.i(220),x=e.i(12714),R=e.i(50227),v=e.i(89171),k=e.i(26837),y=e.i(7367);async function E(e){let t=R.default.join(e,"shared-context","ticket-flow.json");try{let e=await x.default.readFile(t,"utf8"),r=JSON.parse(e);if(!r||"object"!=typeof r)return null;return r}catch{return null}}async function C(e){let t=await E(e.teamDir);if(!t)return e.currentStage;let r=(e.assignee??"").trim();return r&&t.laneByOwner&&"string"==typeof t.laneByOwner[r]?t.laneByOwner[r]:t.defaultLane?t.defaultLane:e.currentStage}function b(e,t,r){let a=RegExp(`^${t}:\\s*.*$`,"mi");if(a.test(e))return e.replace(a,`${t}: ${r}`);let n=e.split("\n"),i=n.findIndex(e=>e.startsWith("# "));return n.splice(i>=0?i+1:0,0,`${t}: ${r}`),n.join("\n")}async function j(e){await x.default.mkdir(e,{recursive:!0})}async function T(e,{params:t}){let{teamId:r}=await t,a=await e.json().catch(()=>null);if(!a?.ticket||!a?.assignee)return v.NextResponse.json({error:"Missing ticket or assignee"},{status:400});let n=await (0,y.getWorkspaceDir)(),i=(0,y.teamDirFromBaseWorkspace)(n,r),s=await (0,k.getTicketByIdOrNumber)(a.ticket,i);if(!s)return v.NextResponse.json({error:"Ticket not found"},{status:404});let o=a.assignee.trim(),l=await C({teamDir:i,assignee:o,currentStage:s.stage}),u=b(await x.default.readFile(s.file,"utf8"),"Owner",o);u=b(u,"Status",l);let d=R.default.basename(s.file),c=R.default.join((0,k.stageDir)(l,i),d);await j((0,k.stageDir)(l,i)),s.file!==c&&await x.default.rename(s.file,c),await x.default.writeFile(c,u,"utf8");let p=(await (0,k.listTickets)(i)).find(e=>e.number===s.number);return v.NextResponse.json({ok:!0,ticket:p??null})}e.s(["POST",()=>T,"dynamic",0,"force-dynamic"],99872);var A=e.i(99872);let O=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/teams/[teamId]/tickets/assign/route",pathname:"/api/teams/[teamId]/tickets/assign",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/teams/[teamId]/tickets/assign/route.ts",nextConfigOutput:"standalone",userland:A}),{workAsyncStorage:I,workUnitAsyncStorage:N,serverHooks:_}=O;function D(){return(0,a.patchFetch)({workAsyncStorage:I,workUnitAsyncStorage:N})}async function S(e,t,a){O.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/teams/[teamId]/tickets/assign/route";x=x.replace(/\/index$/,"")||"/";let R=await O.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,params:k,nextConfig:y,parsedUrl:E,isDraftMode:C,prerenderManifest:b,routerServerContext:j,isOnDemandRevalidate:T,revalidateOnlyGenerated:A,resolvedPathname:I,clientReferenceManifest:N,serverActionsManifest:_}=R,D=(0,o.normalizeAppPath)(x),S=!!(b.dynamicRoutes[D]||b.routes[I]),P=async()=>((null==j?void 0:j.render404)?await j.render404(e,t,E,!1):t.end("This page could not be found"),null);if(S&&!C){let e=!!b.routes[I],t=b.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await P();throw new g.NoFallbackError}}let $=null;!S||O.isDev||C||($="/index"===($=I)?"/":$);let q=!0===O.isDev||!S,M=S&&!q;_&&N&&(0,s.setManifestsSingleton)({page:x,clientReferenceManifest:N,serverActionsManifest:_});let W=e.method||"GET",U=(0,i.getTracer)(),F=U.getActiveScopeSpan(),H={params:k,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:q,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>O.onRequestError(e,t,a,n,j)},sharedContext:{buildId:v}},K=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),L=u.NextRequestAdapter.fromNodeNextRequest(K,(0,u.signalFromNodeResponse)(t));try{let s=async e=>O.handle(L,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${W} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${W} ${x}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var i,l;let u=async({previousCacheEntry:r})=>{try{if(!o&&T&&A&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await s(n);e.fetchMetrics=H.renderOpts.fetchMetrics;let l=H.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let u=H.renderOpts.collectedTags;if(!S)return await (0,p.sendResponse)(K,B,i,H.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(i.headers);u&&(t[w.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,a=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:H.renderOpts.collectedExpire;return{value:{kind:h.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await O.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:T})},!1,j),t}},d=await O.handleResponse({req:e,nextConfig:y,cacheKey:$,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:A,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:o});if(!S)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==h.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",T?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return o&&S||g.delete(w.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,m.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(K,B,new Response(d.value.body,{headers:g,status:d.value.status||200})),null};F?await l(F):await U.withPropagatedContext(e.headers,()=>U.trace(d.BaseServerSpan.handleRequest,{spanName:`${W} ${x}`,kind:i.SpanKind.SERVER,attributes:{"http.method":W,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await O.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:T})},!1,j),S)throw t;return await (0,p.sendResponse)(K,B,new Response(null,{status:500})),null}}e.s(["handler",()=>S,"patchFetch",()=>D,"routeModule",()=>O,"serverHooks",()=>_,"workAsyncStorage",()=>I,"workUnitAsyncStorage",()=>N],40160)}];
1
+ module.exports=[70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},7367,e=>{"use strict";var t=e.i(12714),r=e.i(60526),a=e.i(50227);async function n(){let e=a.default.join(r.default.homedir(),".openclaw","openclaw.json");return JSON.parse(await t.default.readFile(e,"utf8"))}async function i(){let e=await n(),t=e.agents?.defaults?.workspace;if(!t)throw Error("agents.defaults.workspace is not set in ~/.openclaw/openclaw.json");return t}async function s(){let e=await i();return a.default.join(e,"recipes")}async function o(){let e=await i(),r=a.default.join(e,"goals");try{if((await t.default.stat(r)).isDirectory())return r}catch{}return a.default.join(e,"notes","goals")}async function l(e){let t=r.default.homedir();if(!t)throw Error("Could not resolve home directory");return a.default.join(t,".openclaw",`workspace-${e}`)}function u(e,t){return"main"===t?a.default.resolve(e):a.default.resolve(e,"..",`workspace-${t}`)}function d(e){let t=e.replace(/\\/g,"/");if(!t||t.startsWith("/")||t.includes(".."))throw Error("Invalid file name");return t}async function c(){let e=await n(),t=e.plugins?.installs?.recipes?.installPath||e.plugins?.installs?.recipes?.sourcePath||e.plugins?.load?.paths?.[0];if(!t)throw Error("Could not determine recipes plugin install path from ~/.openclaw/openclaw.json");return a.default.join(t,"recipes","default")}e.s(["assertSafeRelativeFileName",()=>d,"getBuiltinRecipesDir",()=>c,"getTeamWorkspaceDir",()=>l,"getWorkspaceDir",()=>i,"getWorkspaceGoalsDir",()=>o,"getWorkspaceRecipesDir",()=>s,"readOpenClawConfig",()=>n,"teamDirFromBaseWorkspace",()=>u])},26837,e=>{"use strict";var t=e.i(12714),r=e.i(60526),a=e.i(50227);function n(e){return e.includes("/")||e.includes("\\")}function i(e){if(!/^[a-z0-9][a-z0-9-]{1,63}$/.test(e))throw Error(`Invalid teamId "${e}"`);return a.default.join(r.default.homedir(),".openclaw",`workspace-${e}`)}function s(e){if(e)return i(e);let t=process.env.CK_TEAM_ID;if(!t&&!process.env.CK_TEAM_WORKSPACE_DIR)throw Error("No team specified. Pass a teamId or set CK_TEAM_ID / CK_TEAM_WORKSPACE_DIR.");return process.env.CK_TEAM_WORKSPACE_DIR??i(t)}function o(e,t){let r=n(t)?t:i(t);return a.default.join(r,{backlog:"work/backlog","in-progress":"work/in-progress",testing:"work/testing",done:"work/done"}[e])}async function l(e){let r,i=n(e)?"workspace"===(r=a.default.basename(e))?"main":r.startsWith("workspace-")?r.slice(10):r:e,s=[];for(let r of["backlog","in-progress","testing","done"]){let n=[];try{n=await t.default.readdir(o(r,e))}catch{n=[]}for(let l of n){if(!l.endsWith(".md"))continue;let n=function(e){let t=e.match(/^(\d{4})-/);return t?Number(t[1]):null}(l);if(null==n)continue;let u=a.default.join(o(r,e),l),[d,c]=await Promise.all([t.default.readFile(u,"utf8"),t.default.stat(u)]),p=function(e){let t=e.split("\n")[0]??"",r=t.startsWith("# ")?t.slice(2).trim():"",a=r.indexOf(" ");if(a>0){let e=r.slice(a+1).trim();if(e)return e}let n=r.replace(/^\d{4}-/,"").replace(/[-_]+/g," ").replace(/\s+/g," ").trim(),i=new Set(["api","cli","ui","ux","gpu","cpu","npm","pr","ci","cd","json","yaml","md"]),s=n?n.split(" ").filter(Boolean).map(e=>{let t=e.toLowerCase();return i.has(t)?e.toUpperCase():t.startsWith("v")&&/^\d/.test(t.slice(1))||/^[\d.]+$/.test(e)?e:e.slice(0,1).toUpperCase()+e.slice(1)}).join(" "):"";return s||r||"(untitled)"}(d),f=function(e,t){let r=RegExp(`^${t}:\\s*(.*)$`,"mi"),a=e.match(r);return a?.[1]?.trim()||null}(d,"Owner"),m=c.mtime.toISOString(),w=(Date.now()-c.mtimeMs)/36e5;s.push({teamId:i,number:n,id:l.replace(/\.md$/,""),title:p,owner:f,stage:r,file:u,updatedAt:m,ageHours:w})}}return s.sort((e,t)=>e.number-t.number),s}async function u(e,t){let r=await l(t),a=e.trim(),n=a.match(/^\d+$/)?r.find(e=>e.number===Number(a)):null;return r.find(e=>e.id===a)??n??null}async function d(e,t){return u(t,e)}async function c(e,r){let a=await u(r,e);return a?{teamId:a.teamId,id:a.id,file:a.file,markdown:await t.default.readFile(a.file,"utf8"),owner:a.owner,stage:a.stage}:null}e.s(["getTeamWorkspaceDir",()=>s,"getTicketByIdOrNumber",()=>u,"getTicketMarkdown",()=>c,"listTickets",()=>l,"resolveTicket",()=>d,"stageDir",()=>o,"teamWorkspace",()=>i])},40160,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),i=e.i(61916),s=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),m=e.i(74838),w=e.i(10372),g=e.i(93695);e.i(52474);var h=e.i(220),x=e.i(12714),R=e.i(50227),v=e.i(89171),k=e.i(26837),y=e.i(7367);async function E(e){let t=R.default.join(e,"shared-context","ticket-flow.json");try{let e=await x.default.readFile(t,"utf8"),r=JSON.parse(e);if(!r||"object"!=typeof r)return null;return r}catch{return null}}async function C(e){let t=await E(e.teamDir);if(!t)return e.currentStage;let r=(e.assignee??"").trim();return r&&t.laneByOwner&&"string"==typeof t.laneByOwner[r]?t.laneByOwner[r]:t.defaultLane?t.defaultLane:e.currentStage}function b(e,t,r){let a=RegExp(`^${t}:\\s*.*$`,"mi");if(a.test(e))return e.replace(a,`${t}: ${r}`);let n=e.split("\n"),i=n.findIndex(e=>e.startsWith("# "));return n.splice(i>=0?i+1:0,0,`${t}: ${r}`),n.join("\n")}async function j(e){await x.default.mkdir(e,{recursive:!0})}async function T(e,{params:t}){let{teamId:r}=await t,a=await e.json().catch(()=>null);if(!a?.ticket||!a?.assignee)return v.NextResponse.json({error:"Missing ticket or assignee"},{status:400});let n=await (0,y.getWorkspaceDir)(),i=(0,y.teamDirFromBaseWorkspace)(n,r),s=await (0,k.getTicketByIdOrNumber)(a.ticket,i);if(!s)return v.NextResponse.json({error:"Ticket not found"},{status:404});let o=a.assignee.trim(),l=await C({teamDir:i,assignee:o,currentStage:s.stage}),u=b(await x.default.readFile(s.file,"utf8"),"Owner",o);u=b(u,"Status",l);let d=R.default.basename(s.file),c=R.default.join((0,k.stageDir)(l,i),d);await j((0,k.stageDir)(l,i)),s.file!==c&&await x.default.rename(s.file,c),await x.default.writeFile(c,u,"utf8");let p=(await (0,k.listTickets)(i)).find(e=>e.number===s.number);return v.NextResponse.json({ok:!0,ticket:p??null})}e.s(["POST",()=>T,"dynamic",0,"force-dynamic"],99872);var A=e.i(99872);let O=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/teams/[teamId]/tickets/assign/route",pathname:"/api/teams/[teamId]/tickets/assign",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/teams/[teamId]/tickets/assign/route.ts",nextConfigOutput:"standalone",userland:A}),{workAsyncStorage:I,workUnitAsyncStorage:N,serverHooks:_}=O;function D(){return(0,a.patchFetch)({workAsyncStorage:I,workUnitAsyncStorage:N})}async function S(e,t,a){O.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/teams/[teamId]/tickets/assign/route";x=x.replace(/\/index$/,"")||"/";let R=await O.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,params:k,nextConfig:y,parsedUrl:E,isDraftMode:C,prerenderManifest:b,routerServerContext:j,isOnDemandRevalidate:T,revalidateOnlyGenerated:A,resolvedPathname:I,clientReferenceManifest:N,serverActionsManifest:_}=R,D=(0,o.normalizeAppPath)(x),S=!!(b.dynamicRoutes[D]||b.routes[I]),P=async()=>((null==j?void 0:j.render404)?await j.render404(e,t,E,!1):t.end("This page could not be found"),null);if(S&&!C){let e=!!b.routes[I],t=b.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await P();throw new g.NoFallbackError}}let $=null;!S||O.isDev||C||($="/index"===($=I)?"/":$);let q=!0===O.isDev||!S,M=S&&!q;_&&N&&(0,s.setManifestsSingleton)({page:x,clientReferenceManifest:N,serverActionsManifest:_});let W=e.method||"GET",U=(0,i.getTracer)(),F=U.getActiveScopeSpan(),H={params:k,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:q,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>O.onRequestError(e,t,a,n,j)},sharedContext:{buildId:v}},K=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),L=u.NextRequestAdapter.fromNodeNextRequest(K,(0,u.signalFromNodeResponse)(t));try{let s=async e=>O.handle(L,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${W} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${W} ${x}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var i,l;let u=async({previousCacheEntry:r})=>{try{if(!o&&T&&A&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await s(n);e.fetchMetrics=H.renderOpts.fetchMetrics;let l=H.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let u=H.renderOpts.collectedTags;if(!S)return await (0,p.sendResponse)(K,B,i,H.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(i.headers);u&&(t[w.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,a=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:H.renderOpts.collectedExpire;return{value:{kind:h.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await O.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:T})},!1,j),t}},d=await O.handleResponse({req:e,nextConfig:y,cacheKey:$,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:A,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:o});if(!S)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==h.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",T?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return o&&S||g.delete(w.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,m.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(K,B,new Response(d.value.body,{headers:g,status:d.value.status||200})),null};F?await l(F):await U.withPropagatedContext(e.headers,()=>U.trace(d.BaseServerSpan.handleRequest,{spanName:`${W} ${x}`,kind:i.SpanKind.SERVER,attributes:{"http.method":W,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await O.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:T})},!1,j),S)throw t;return await (0,p.sendResponse)(K,B,new Response(null,{status:500})),null}}e.s(["handler",()=>S,"patchFetch",()=>D,"routeModule",()=>O,"serverHooks",()=>_,"workAsyncStorage",()=>I,"workUnitAsyncStorage",()=>N],40160)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__8f8e110f._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[40317,e=>{"use strict";function t(e){return e instanceof Error?e.message:String(e)}e.s(["errorMessage",()=>t])},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},12057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},59494,e=>{"use strict";function t(){let e=globalThis.__clawkitchen_api;if(!e)throw Error("ClawKitchen: OpenClaw plugin API not available. (This should only happen if Kitchen is started outside the gateway process.)");return e}e.s(["getKitchenApi",()=>t])},5003,e=>{"use strict";var t=e.i(59494),r=e.i(74533);let n=(0,e.i(12057).promisify)(r.execFile);function a(e){return"string"==typeof e.stdout?e.stdout:e.stdout&&"object"==typeof e.stdout&&"toString"in e.stdout?String(e.stdout.toString()):""}function o(e,t){return"string"==typeof e.stderr?e.stderr:e.stderr&&"object"==typeof e.stderr&&"toString"in e.stderr?String(e.stderr.toString()):"string"==typeof e.message?e.message:String(t)}function i(e){let t=e.trim();if(!t)return e;let r=t[0];if("["===r||"{"===r||'"'===r)return e;let n=t.split("\n"),a=n.findIndex(e=>/^\s*[[\{"]/.test(e));if(a>0){let e=n.slice(a).join("\n");try{return JSON.parse(e),e}catch{}}return e}async function s(e,t={}){let{sanitizeStdout:r=!0}=t;try{process.platform;let t=await n("openclaw",e,{timeout:12e4,windowsHide:!0,maxBuffer:0xa00000}),a=String(t.stdout??"");return{ok:!0,exitCode:0,stdout:r?i(a):a,stderr:String(t.stderr??"")}}catch(t){let e="number"==typeof t.code?t.code:1;return{ok:!1,exitCode:e,stdout:a(t),stderr:o(t,t)}}}function l(e){let t=e.trim();if(!t)return null;try{return JSON.parse(t)}catch{}let r=t.split("\n"),n=r.findIndex(e=>/^\s*[[\{]/.test(e));if(n>=0){let e=r.slice(n).join("\n");try{return JSON.parse(e)}catch{}}for(let e=r.length-1;e>=0;e--)if(/^\s*[\]}]/.test(r[e])){for(let t=e;t>=0;t--)if(/^\s*[[\{]/.test(r[t]))try{return JSON.parse(r.slice(t,e+1).join("\n"))}catch{}}return null}async function d(e){return s(e,{sanitizeStdout:!1})}async function u(e){if("cron"===e[0]||"recipes"===e[0]&&"workflows"===e[1]&&["runner-once","runner-tick","worker-tick"].includes(e[2]))return s(e);let r=(0,t.getKitchenApi)();try{let t=await r.runtime.system.runCommandWithTimeout(["openclaw",...e],{timeoutMs:12e4}),n=i(String(t.stdout??"")),a=String(t.stderr??""),o="number"==typeof t.exitCode?t.exitCode:"number"==typeof t.code?t.code:"number"==typeof t.status?t.status:0;if(0!==o)return{ok:!1,exitCode:o,stdout:n,stderr:a};return{ok:!0,exitCode:0,stdout:n,stderr:a}}catch(t){let e="number"==typeof t.code?t.code:1;return{ok:!1,exitCode:e,stdout:a(t),stderr:o(t,t)}}}e.s(["extractJson",()=>l,"runOpenClaw",()=>u,"runOpenClawRaw",()=>d])},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},7367,e=>{"use strict";var t=e.i(12714),r=e.i(60526),n=e.i(50227);async function a(){let e=n.default.join(r.default.homedir(),".openclaw","openclaw.json");return JSON.parse(await t.default.readFile(e,"utf8"))}async function o(){let e=await a(),t=e.agents?.defaults?.workspace;if(!t)throw Error("agents.defaults.workspace is not set in ~/.openclaw/openclaw.json");return t}async function i(){let e=await o();return n.default.join(e,"recipes")}async function s(){let e=await o(),r=n.default.join(e,"goals");try{if((await t.default.stat(r)).isDirectory())return r}catch{}return n.default.join(e,"notes","goals")}async function l(e){let t=r.default.homedir();if(!t)throw Error("Could not resolve home directory");return n.default.join(t,".openclaw",`workspace-${e}`)}function d(e,t){return"main"===t?n.default.resolve(e):n.default.resolve(e,"..",`workspace-${t}`)}function u(e){let t=e.replace(/\\/g,"/");if(!t||t.startsWith("/")||t.includes(".."))throw Error("Invalid file name");return t}async function c(){let e=await a(),t=e.plugins?.installs?.recipes?.installPath||e.plugins?.installs?.recipes?.sourcePath||e.plugins?.load?.paths?.[0];if(!t)throw Error("Could not determine recipes plugin install path from ~/.openclaw/openclaw.json");return n.default.join(t,"recipes","default")}e.s(["assertSafeRelativeFileName",()=>u,"getBuiltinRecipesDir",()=>c,"getTeamWorkspaceDir",()=>l,"getWorkspaceDir",()=>o,"getWorkspaceGoalsDir",()=>s,"getWorkspaceRecipesDir",()=>i,"readOpenClawConfig",()=>a,"teamDirFromBaseWorkspace",()=>d])},85067,e=>{"use strict";var t=e.i(12714),r=e.i(50227),n=e.i(89171),a=e.i(5003);async function o(e){let{stdout:t}=await (0,a.runOpenClaw)(["agents","list","--json"]),r=JSON.parse(t).find(t=>t.id===e);if(!r?.workspace)throw Error(`Agent workspace not found for ${e}`);return r.workspace}var i=e.i(40317),s=e.i(7367);async function l(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({ok:!1,error:"Invalid JSON"},{status:400})}return{body:t&&"object"==typeof t?t:{}}}function d(e){let t=Object.fromEntries(Object.entries(e).filter(([e])=>"ok"!==e));return n.NextResponse.json({ok:!0,...t})}async function u(e){try{return d(await e())}catch(e){return n.NextResponse.json({ok:!1,error:(0,i.errorMessage)(e)},{status:500})}}function c(e,t,r){let a=t.stdout?.trim(),o=t.stderr?.trim();return n.NextResponse.json({ok:!1,error:o||a||`openclaw ${e.join(" ")} failed (exit=${t.exitCode})`,stdout:t.stdout,stderr:t.stderr,...r},{status:500})}async function p(e){if(!e)return n.NextResponse.json({ok:!1,error:"teamId is required"},{status:400});let t=await (0,s.readOpenClawConfig)(),r=String(t.agents?.defaults?.workspace??"").trim();if(!r)return n.NextResponse.json({ok:!1,error:"agents.defaults.workspace not set"},{status:500});let a=(0,s.teamDirFromBaseWorkspace)(r,e);return{teamId:e,teamDir:a}}async function f(e){let{searchParams:t}=new URL(e.url);return p(String(t.get("teamId")??"").trim())}async function m(e,t){let r=await f(e);return r instanceof n.NextResponse?r:t(r)}async function g(e){return p(String(e.teamId??"").trim())}async function w(e){let{searchParams:t}=new URL(e.url);return y(String(t.get("agentId")??"").trim())}async function h(e){return y(String(e.agentId??"").trim())}async function y(e){if(!e)return n.NextResponse.json({ok:!1,error:"agentId is required"},{status:400});try{let t=await o(e);return{agentId:e,ws:t}}catch(e){return n.NextResponse.json({ok:!1,error:(0,i.errorMessage)(e)},{status:404})}}async function k(e,n){return Promise.all(n.map(async n=>{let a=r.default.join(e,n.name);try{let e=await t.default.stat(a);return{name:n.name,required:n.required,rationale:n.rationale,path:a,missing:!1,size:e.size,updatedAtMs:e.mtimeMs}}catch{return{name:n.name,required:n.required,rationale:n.rationale,path:a,missing:!0}}}))}e.s(["getAgentContextFromBody",()=>h,"getAgentContextFromQuery",()=>w,"getTeamContextFromBody",()=>g,"getTeamContextFromQuery",()=>f,"installSkillErrorResponse",()=>c,"jsonOkRest",()=>d,"listWorkspaceFiles",()=>k,"parseJsonBody",()=>l,"withStorageError",()=>u,"withTeamContextFromQuery",()=>m],85067)},56995,63715,e=>{"use strict";var t=e.i(12714),r=e.i(50227),n=e.i(7367);async function a(e,r,n=!1){try{let a=(await t.default.readdir(e,{withFileTypes:!0})).filter(e=>e.isFile()&&e.name.endsWith(r)).map(e=>e.name).sort();return n&&(a=a.reverse()),{ok:!0,dir:e,files:a}}catch(t){if(t&&"object"==typeof t&&"ENOENT"===t.code)return{ok:!0,dir:e,files:[]};throw t}}e.s(["readdirFiles",()=>a],63715);let o=r.default.join("shared-context","workflows");function i(e){return`${e}.workflow.json`}function s(e){let t=String(e??"").trim();if(!t)throw Error("workflow id is required");if(!/^[a-z0-9][a-z0-9-]{0,62}$/.test(t))throw Error("Invalid workflow id. Use lowercase letters, numbers, and dashes (max 63 chars), e.g. marketing-cadence-v1");return t}async function l(e){let t=await (0,n.getTeamWorkspaceDir)(e);return r.default.join(t,o)}async function d(e){return a(await l(e),".workflow.json")}async function u(e,n){let a=s(n),o=await l(e),d=r.default.join(o,i(a)),u=JSON.parse(await t.default.readFile(d,"utf8"));return{ok:!0,path:d,workflow:u}}async function c(e,n){let a=s(n.id),o=await l(e);await t.default.mkdir(o,{recursive:!0});let d=r.default.join(o,i(a)),u={...n,schema:"clawkitchen.workflow.v1",id:a};return await t.default.writeFile(d,JSON.stringify(u,null,2)+"\n","utf8"),{ok:!0,path:d}}async function p(e,n){let a=s(n),o=await l(e),d=r.default.join(o,i(a));try{await t.default.unlink(d)}catch(e){if(e&&"object"==typeof e&&"ENOENT"===e.code)return{ok:!0,path:d,existed:!1};throw e}return{ok:!0,path:d,existed:!0}}e.s(["assertSafeWorkflowId",()=>s,"deleteWorkflow",()=>p,"listWorkflows",()=>d,"readWorkflow",()=>u,"writeWorkflow",()=>c],56995)},17601,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),o=e.i(61916),i=e.i(74677),s=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),m=e.i(54468),g=e.i(10372),w=e.i(93695);e.i(52474);var h=e.i(220),y=e.i(12714),k=e.i(50227),x=e.i(89171),v=e.i(85067),R=e.i(40317),_=e.i(7367),S=e.i(56995);async function j(e){try{return await y.default.access(e),!0}catch{return!1}}async function b(e,t){await j(e)||(await y.default.mkdir(k.default.dirname(e),{recursive:!0}),await y.default.writeFile(e,t,"utf8"))}async function N(e){let t=await (0,v.parseJsonBody)(e);if(t instanceof x.NextResponse)return t;let{body:r}=t,n=String(r.teamId??"").trim(),a=String(r.templateId??"").trim();if(!n)return x.NextResponse.json({ok:!1,error:"teamId is required"},{status:400});if(!a)return x.NextResponse.json({ok:!1,error:"templateId is required"},{status:400});try{var o;let e,t,r;if("marketing-cadence-v1"!==a)return x.NextResponse.json({ok:!1,error:`Unknown templateId: ${a}`},{status:400});let i=await (0,S.listWorkflows)(n),s=new Set(i.files.map(e=>"string"==typeof e&&e.endsWith(".workflow.json")?e.slice(0,-14):null).filter(e=>!!e)),l=(o={id:function(e,t){if(!t.has(e))return e;for(let r=2;r<1e3;r++){let n=`${e}-${r}`;if(!t.has(n))return n}return`${e}-${Date.now()}`}("marketing-cadence-v1",s),approvalProvider:"telegram",approvalTarget:""},e=String(o?.id??"marketing-cadence-v1").trim()||"marketing-cadence-v1",t=String(o?.approvalProvider??"telegram").trim()||"telegram",r=String(o?.approvalTarget??"").trim(),{schema:"clawkitchen.workflow.v1",id:e,name:"Marketing Cadence (v1)",version:1,timezone:"America/New_York",triggers:[{kind:"cron",id:"t-weekdays-9",name:"Weekdays 09:00",enabled:!0,expr:"0 9 * * 1-5",tz:"America/New_York"}],meta:{templateId:"marketing-cadence-v1",approvalProvider:t,approvalTarget:r,writeback:{postLogPath:"shared-context/marketing/POST_LOG.md",learningsJsonlPath:"shared-context/memory/marketing_learnings.jsonl"},platforms:["x","instagram","tiktok","youtube"],approvalBindingId:"marketing-approval"},nodes:[{id:"start",type:"start",name:"Start",x:60,y:120,config:{}},{id:"research",type:"llm",name:"Research + idea",x:300,y:80,config:{agentId:"marketing-research",promptTemplate:"Do competitive + trend research. Produce: 5 angles + supporting bullets. Output JSON: {angles:[...], sources:[...]}"}},{id:"draft_assets",type:"llm",name:"Draft platform assets",x:560,y:80,config:{agentId:"marketing-writer",promptTemplate:"Using the research output, draft platform-specific variants applying proven viral psychology:\n\n**EMOTIONAL TRIGGER (REQUIRED):** Every post must trigger one of these emotions:\n- NSFW (\"That's crazy!\") - shocking/surprising\n- LOL (\"That's funny!\") - humor/entertainment\n- OHHH (\"Now I get it!\") - aha moments/simplification\n- WOW (\"That's amazing!\") - success stories\n- FINALLY (\"Someone said it!\") - validating opinions\n- WTF (\"That pisses me off!\") - frustration with status quo\n\n**IDENTITY TARGETING:** Use 'There are two types of...' or 'This is for founders who...'\n**US vs THEM:** Position against inefficient alternatives (not competitors)\n\nState which emotion you're targeting and why.\n\nAlso include an `image_brief` field: a concise (under 1000 chars) visual concept description for DALL-E image generation. Describe the scene, composition, color palette, and mood — NO text/words in the image. This should capture the emotional hook visually without repeating the copy.\n\nOutput JSON: {emotion:'OHHH',image_brief:'A split-screen illustration showing...',platforms:{x:{hook,body},instagram:{hook,body,assetNotes},tiktok:{hook,script,assetNotes},youtube:{hook,script,assetNotes}}}"}},{id:"generate_image",type:"media-image",name:"Design image concept",x:670,y:320,config:{mediaType:"image",provider:"skill-openai-image-gen",prompt:"{{draft_assets.image_brief}}",promptTemplate:"{{draft_assets.image_brief}}",outputPath:"node-outputs/generated_image.png"}},{id:"qc_brand",type:"llm",name:"QC / brand consistency",x:820,y:80,config:{agentId:"brand-qc",promptTemplate:'Review drafts for consistency and note the image concept for visual alignment. Apply corrections. Always mention @ClawRecipes and how it applies to the post. Remove any hashtags if present.\n\nImage concept from designer:\n{{generate_image.output}}\n\nEnsure the copy and visual concept work together effectively. No posting without approval. Output JSON: {platforms:{...}, image_concept: "brief description of planned visual", notes:[...]}'}},{id:"post_preview",type:"tool",name:"Post preview (dry run)",x:1080,y:220,config:{tool:"marketing.post_all",args:{platforms:["x","instagram","tiktok","youtube"],draftsFromNode:"qc_brand",dryRun:!0}}},{id:"approval",type:"human_approval",name:"Human approval",x:1080,y:80,config:{provider:t,target:r||"(set in UI)",messageTemplate:"{{workflow.name}} — Approval needed\nRun: {{run.id}}\n\n{{packet.note}}",approvalBindingId:"marketing-approval"}},{id:"post_to_platforms",type:"tool",name:"Post (after approval)",x:1340,y:80,config:{tool:"marketing.post_all",args:{platforms:["x","instagram","tiktok","youtube"],draftsFromNode:"qc_brand"}}},{id:"write_post_log",type:"tool",name:"Append POST_LOG.md",x:1600,y:60,config:{tool:"fs.append",args:{path:"shared-context/marketing/POST_LOG.md",content:"- {{date}} {{platforms}} posted. Run={{run.id}}\\n"}}},{id:"write_learnings",type:"tool",name:"Append marketing_learnings.jsonl",x:1600,y:140,config:{tool:"fs.append",args:{path:"shared-context/memory/marketing_learnings.jsonl",content:'{"ts":"{{date}}","runId":"{{run.id}}","notes":{{qc_brand.notes_json}}}\\n'}}},{id:"update_ticket",type:"llm",name:"Update ticket with details",x:1860,y:100,config:{promptTemplate:"A marketing cadence workflow run just completed. Update the associated ticket with all run details.\n\nWorkflow: {{workflow.name}}\nRun ID: {{run.id}}\nDate: {{date}}\n\nResearch output:\n{{research.output}}\n\nDraft assets:\n{{draft_assets.output}}\n\nGenerated image:\n{{generate_image.output}}\n\nQC/Brand review:\n{{qc_brand.output}}\n\nPosting results:\n{{post_to_platforms.output}}\n\nWrite a clear, dated summary under ## Comments in the ticket capturing:\n- What was researched and which angle was chosen\n- What image was generated and its visual concept\n- What platforms were posted to\n- The final approved copy and image\n- Any QC notes or corrections made\n- Links to posted content if available\n\nThen move the ticket to work/done/."}},{id:"end",type:"end",name:"End",x:2120,y:120,config:{}}],edges:[{id:"e-start-research",from:"start",to:"research"},{id:"e-research-draft",from:"research",to:"draft_assets"},{id:"e-draft-image",from:"draft_assets",to:"generate_image"},{id:"e-image-qc",from:"generate_image",to:"qc_brand"},{id:"e-qc-preview",from:"qc_brand",to:"post_preview"},{id:"e-preview-approval",from:"post_preview",to:"approval"},{id:"e-approval-post",from:"approval",to:"post_to_platforms"},{id:"e-post-log",from:"post_to_platforms",to:"write_post_log"},{id:"e-post-learnings",from:"post_to_platforms",to:"write_learnings"},{id:"e-log-ticket",from:"write_post_log",to:"update_ticket"},{id:"e-learnings-ticket",from:"write_learnings",to:"update_ticket"},{id:"e-ticket-end",from:"update_ticket",to:"end"}]}),d=await (0,S.writeWorkflow)(n,l),u=await (0,_.getTeamWorkspaceDir)(n);return await b(k.default.join(u,"shared-context","marketing","POST_LOG.md"),""),await b(k.default.join(u,"shared-context","memory","marketing_learnings.jsonl"),""),(0,v.jsonOkRest)({...d,workflowId:l.id,templateId:a})}catch(e){return x.NextResponse.json({ok:!1,error:(0,R.errorMessage)(e)},{status:500})}}e.s(["POST",()=>N],58460);var E=e.i(58460);let T=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/teams/workflow-templates/route",pathname:"/api/teams/workflow-templates",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/teams/workflow-templates/route.ts",nextConfigOutput:"standalone",userland:E}),{workAsyncStorage:O,workUnitAsyncStorage:C,serverHooks:I}=T;function A(){return(0,n.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:C})}async function q(e,t,n){T.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/teams/workflow-templates/route";y=y.replace(/\/index$/,"")||"/";let k=await T.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!k)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:x,params:v,nextConfig:R,parsedUrl:_,isDraftMode:S,prerenderManifest:j,routerServerContext:b,isOnDemandRevalidate:N,revalidateOnlyGenerated:E,resolvedPathname:O,clientReferenceManifest:C,serverActionsManifest:I}=k,A=(0,s.normalizeAppPath)(y),q=!!(j.dynamicRoutes[A]||j.routes[O]),P=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,_,!1):t.end("This page could not be found"),null);if(q&&!S){let e=!!j.routes[O],t=j.dynamicRoutes[A];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await P();throw new w.NoFallbackError}}let D=null;!q||T.isDev||S||(D="/index"===(D=O)?"/":D);let W=!0===T.isDev||!q,F=q&&!W;I&&C&&(0,i.setManifestsSingleton)({page:y,clientReferenceManifest:C,serverActionsManifest:I});let U=e.method||"GET",H=(0,o.getTracer)(),M=H.getActiveScopeSpan(),$={params:v,prerenderManifest:j,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:W,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>T.onRequestError(e,t,n,a,b)},sharedContext:{buildId:x}},L=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),J=d.NextRequestAdapter.fromNodeNextRequest(L,(0,d.signalFromNodeResponse)(t));try{let i=async e=>T.handle(J,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${y}`)}),s=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var o,l;let d=async({previousCacheEntry:r})=>{try{if(!s&&N&&E&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await i(a);e.fetchMetrics=$.renderOpts.fetchMetrics;let l=$.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let d=$.renderOpts.collectedTags;if(!q)return await (0,p.sendResponse)(L,B,o,$.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(o.headers);d&&(t[g.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,n=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:h.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await T.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:N})},!1,b),t}},u=await T.handleResponse({req:e,nextConfig:R,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:j,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:E,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:s});if(!q)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==h.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",N?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let w=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return s&&q||w.delete(g.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||w.get("Cache-Control")||w.set("Cache-Control",(0,m.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(L,B,new Response(u.value.body,{headers:w,status:u.value.status||200})),null};M?await l(M):await H.withPropagatedContext(e.headers,()=>H.trace(u.BaseServerSpan.handleRequest,{spanName:`${U} ${y}`,kind:o.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l))}catch(t){if(t instanceof w.NoFallbackError||await T.onRequestError(e,t,{routerKind:"App Router",routePath:A,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:N})},!1,b),q)throw t;return await (0,p.sendResponse)(L,B,new Response(null,{status:500})),null}}e.s(["handler",()=>q,"patchFetch",()=>A,"routeModule",()=>T,"serverHooks",()=>I,"workAsyncStorage",()=>O,"workUnitAsyncStorage",()=>C],17601)}];
1
+ module.exports=[40317,e=>{"use strict";function t(e){return e instanceof Error?e.message:String(e)}e.s(["errorMessage",()=>t])},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},12057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},59494,e=>{"use strict";function t(){let e=globalThis.__clawkitchen_api;if(!e)throw Error("ClawKitchen: OpenClaw plugin API not available. (This should only happen if Kitchen is started outside the gateway process.)");return e}e.s(["getKitchenApi",()=>t])},5003,e=>{"use strict";var t=e.i(59494),r=e.i(74533);let n=(0,e.i(12057).promisify)(r.execFile);function a(e){return"string"==typeof e.stdout?e.stdout:e.stdout&&"object"==typeof e.stdout&&"toString"in e.stdout?String(e.stdout.toString()):""}function o(e,t){return"string"==typeof e.stderr?e.stderr:e.stderr&&"object"==typeof e.stderr&&"toString"in e.stderr?String(e.stderr.toString()):"string"==typeof e.message?e.message:String(t)}function i(e){let t=e.trim();if(!t)return e;let r=t[0];if("["===r||"{"===r||'"'===r)return e;let n=t.split("\n"),a=n.findIndex(e=>/^\s*[[\{"]/.test(e));if(a>0){let e=n.slice(a).join("\n");try{return JSON.parse(e),e}catch{}}return e}async function s(e,t={}){let{sanitizeStdout:r=!0}=t;try{process.platform;let t=await n("openclaw",e,{timeout:12e4,windowsHide:!0,maxBuffer:0xa00000}),a=String(t.stdout??"");return{ok:!0,exitCode:0,stdout:r?i(a):a,stderr:String(t.stderr??"")}}catch(t){let e="number"==typeof t.code?t.code:1;return{ok:!1,exitCode:e,stdout:a(t),stderr:o(t,t)}}}function l(e){let t=e.trim();if(!t)return null;try{return JSON.parse(t)}catch{}let r=t.split("\n"),n=r.findIndex(e=>/^\s*[[\{]/.test(e));if(n>=0){let e=r.slice(n).join("\n");try{return JSON.parse(e)}catch{}}for(let e=r.length-1;e>=0;e--)if(/^\s*[\]}]/.test(r[e])){for(let t=e;t>=0;t--)if(/^\s*[[\{]/.test(r[t]))try{return JSON.parse(r.slice(t,e+1).join("\n"))}catch{}}return null}async function d(e){return s(e,{sanitizeStdout:!1})}async function u(e){if("cron"===e[0]||"recipes"===e[0]&&"workflows"===e[1]&&["runner-once","runner-tick","worker-tick"].includes(e[2]))return s(e);let r=(0,t.getKitchenApi)();try{let t=await r.runtime.system.runCommandWithTimeout(["openclaw",...e],{timeoutMs:12e4}),n=i(String(t.stdout??"")),a=String(t.stderr??""),o="number"==typeof t.exitCode?t.exitCode:"number"==typeof t.code?t.code:"number"==typeof t.status?t.status:0;if(0!==o)return{ok:!1,exitCode:o,stdout:n,stderr:a};return{ok:!0,exitCode:0,stdout:n,stderr:a}}catch(t){let e="number"==typeof t.code?t.code:1;return{ok:!1,exitCode:e,stdout:a(t),stderr:o(t,t)}}}e.s(["extractJson",()=>l,"runOpenClaw",()=>u,"runOpenClawRaw",()=>d])},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},7367,e=>{"use strict";var t=e.i(12714),r=e.i(60526),n=e.i(50227);async function a(){let e=n.default.join(r.default.homedir(),".openclaw","openclaw.json");return JSON.parse(await t.default.readFile(e,"utf8"))}async function o(){let e=await a(),t=e.agents?.defaults?.workspace;if(!t)throw Error("agents.defaults.workspace is not set in ~/.openclaw/openclaw.json");return t}async function i(){let e=await o();return n.default.join(e,"recipes")}async function s(){let e=await o(),r=n.default.join(e,"goals");try{if((await t.default.stat(r)).isDirectory())return r}catch{}return n.default.join(e,"notes","goals")}async function l(e){let t=r.default.homedir();if(!t)throw Error("Could not resolve home directory");return n.default.join(t,".openclaw",`workspace-${e}`)}function d(e,t){return"main"===t?n.default.resolve(e):n.default.resolve(e,"..",`workspace-${t}`)}function u(e){let t=e.replace(/\\/g,"/");if(!t||t.startsWith("/")||t.includes(".."))throw Error("Invalid file name");return t}async function c(){let e=await a(),t=e.plugins?.installs?.recipes?.installPath||e.plugins?.installs?.recipes?.sourcePath||e.plugins?.load?.paths?.[0];if(!t)throw Error("Could not determine recipes plugin install path from ~/.openclaw/openclaw.json");return n.default.join(t,"recipes","default")}e.s(["assertSafeRelativeFileName",()=>u,"getBuiltinRecipesDir",()=>c,"getTeamWorkspaceDir",()=>l,"getWorkspaceDir",()=>o,"getWorkspaceGoalsDir",()=>s,"getWorkspaceRecipesDir",()=>i,"readOpenClawConfig",()=>a,"teamDirFromBaseWorkspace",()=>d])},85067,e=>{"use strict";var t=e.i(12714),r=e.i(50227),n=e.i(89171),a=e.i(5003);async function o(e){let{stdout:t}=await (0,a.runOpenClaw)(["agents","list","--json"]),r=JSON.parse(t).find(t=>t.id===e);if(!r?.workspace)throw Error(`Agent workspace not found for ${e}`);return r.workspace}var i=e.i(40317),s=e.i(7367);async function l(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({ok:!1,error:"Invalid JSON"},{status:400})}return{body:t&&"object"==typeof t?t:{}}}function d(e){let t=Object.fromEntries(Object.entries(e).filter(([e])=>"ok"!==e));return n.NextResponse.json({ok:!0,...t})}async function u(e){try{return d(await e())}catch(e){return n.NextResponse.json({ok:!1,error:(0,i.errorMessage)(e)},{status:500})}}function c(e,t,r){let a=t.stdout?.trim(),o=t.stderr?.trim();return n.NextResponse.json({ok:!1,error:o||a||`openclaw ${e.join(" ")} failed (exit=${t.exitCode})`,stdout:t.stdout,stderr:t.stderr,...r},{status:500})}async function p(e){if(!e)return n.NextResponse.json({ok:!1,error:"teamId is required"},{status:400});let t=await (0,s.readOpenClawConfig)(),r=String(t.agents?.defaults?.workspace??"").trim();if(!r)return n.NextResponse.json({ok:!1,error:"agents.defaults.workspace not set"},{status:500});let a=(0,s.teamDirFromBaseWorkspace)(r,e);return{teamId:e,teamDir:a}}async function f(e){let{searchParams:t}=new URL(e.url);return p(String(t.get("teamId")??"").trim())}async function m(e,t){let r=await f(e);return r instanceof n.NextResponse?r:t(r)}async function g(e){return p(String(e.teamId??"").trim())}async function w(e){let{searchParams:t}=new URL(e.url);return y(String(t.get("agentId")??"").trim())}async function h(e){return y(String(e.agentId??"").trim())}async function y(e){if(!e)return n.NextResponse.json({ok:!1,error:"agentId is required"},{status:400});try{let t=await o(e);return{agentId:e,ws:t}}catch(e){return n.NextResponse.json({ok:!1,error:(0,i.errorMessage)(e)},{status:404})}}async function k(e,n){return Promise.all(n.map(async n=>{let a=r.default.join(e,n.name);try{let e=await t.default.stat(a);return{name:n.name,required:n.required,rationale:n.rationale,path:a,missing:!1,size:e.size,updatedAtMs:e.mtimeMs}}catch{return{name:n.name,required:n.required,rationale:n.rationale,path:a,missing:!0}}}))}e.s(["getAgentContextFromBody",()=>h,"getAgentContextFromQuery",()=>w,"getTeamContextFromBody",()=>g,"getTeamContextFromQuery",()=>f,"installSkillErrorResponse",()=>c,"jsonOkRest",()=>d,"listWorkspaceFiles",()=>k,"parseJsonBody",()=>l,"withStorageError",()=>u,"withTeamContextFromQuery",()=>m],85067)},56995,63715,e=>{"use strict";var t=e.i(12714),r=e.i(50227),n=e.i(7367);async function a(e,r,n=!1){try{let a=(await t.default.readdir(e,{withFileTypes:!0})).filter(e=>e.isFile()&&e.name.endsWith(r)).map(e=>e.name).sort();return n&&(a=a.reverse()),{ok:!0,dir:e,files:a}}catch(t){if(t&&"object"==typeof t&&"ENOENT"===t.code)return{ok:!0,dir:e,files:[]};throw t}}e.s(["readdirFiles",()=>a],63715);let o=r.default.join("shared-context","workflows");function i(e){return`${e}.workflow.json`}function s(e){let t=String(e??"").trim();if(!t)throw Error("workflow id is required");if(!/^[a-z0-9][a-z0-9-]{0,62}$/.test(t))throw Error("Invalid workflow id. Use lowercase letters, numbers, and dashes (max 63 chars), e.g. marketing-cadence-v1");return t}async function l(e){let t=await (0,n.getTeamWorkspaceDir)(e);return r.default.join(t,o)}async function d(e){return a(await l(e),".workflow.json")}async function u(e,n){let a=s(n),o=await l(e),d=r.default.join(o,i(a)),u=JSON.parse(await t.default.readFile(d,"utf8"));return{ok:!0,path:d,workflow:u}}async function c(e,n){let a=s(n.id),o=await l(e);await t.default.mkdir(o,{recursive:!0});let d=r.default.join(o,i(a)),u={...n,schema:"clawkitchen.workflow.v1",id:a};return await t.default.writeFile(d,JSON.stringify(u,null,2)+"\n","utf8"),{ok:!0,path:d}}async function p(e,n){let a=s(n),o=await l(e),d=r.default.join(o,i(a));try{await t.default.unlink(d)}catch(e){if(e&&"object"==typeof e&&"ENOENT"===e.code)return{ok:!0,path:d,existed:!1};throw e}return{ok:!0,path:d,existed:!0}}e.s(["assertSafeWorkflowId",()=>s,"deleteWorkflow",()=>p,"listWorkflows",()=>d,"readWorkflow",()=>u,"writeWorkflow",()=>c],56995)},17601,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),o=e.i(61916),i=e.i(74677),s=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),m=e.i(74838),g=e.i(10372),w=e.i(93695);e.i(52474);var h=e.i(220),y=e.i(12714),k=e.i(50227),x=e.i(89171),v=e.i(85067),R=e.i(40317),_=e.i(7367),S=e.i(56995);async function j(e){try{return await y.default.access(e),!0}catch{return!1}}async function b(e,t){await j(e)||(await y.default.mkdir(k.default.dirname(e),{recursive:!0}),await y.default.writeFile(e,t,"utf8"))}async function N(e){let t=await (0,v.parseJsonBody)(e);if(t instanceof x.NextResponse)return t;let{body:r}=t,n=String(r.teamId??"").trim(),a=String(r.templateId??"").trim();if(!n)return x.NextResponse.json({ok:!1,error:"teamId is required"},{status:400});if(!a)return x.NextResponse.json({ok:!1,error:"templateId is required"},{status:400});try{var o;let e,t,r;if("marketing-cadence-v1"!==a)return x.NextResponse.json({ok:!1,error:`Unknown templateId: ${a}`},{status:400});let i=await (0,S.listWorkflows)(n),s=new Set(i.files.map(e=>"string"==typeof e&&e.endsWith(".workflow.json")?e.slice(0,-14):null).filter(e=>!!e)),l=(o={id:function(e,t){if(!t.has(e))return e;for(let r=2;r<1e3;r++){let n=`${e}-${r}`;if(!t.has(n))return n}return`${e}-${Date.now()}`}("marketing-cadence-v1",s),approvalProvider:"telegram",approvalTarget:""},e=String(o?.id??"marketing-cadence-v1").trim()||"marketing-cadence-v1",t=String(o?.approvalProvider??"telegram").trim()||"telegram",r=String(o?.approvalTarget??"").trim(),{schema:"clawkitchen.workflow.v1",id:e,name:"Marketing Cadence (v1)",version:1,timezone:"America/New_York",triggers:[{kind:"cron",id:"t-weekdays-9",name:"Weekdays 09:00",enabled:!0,expr:"0 9 * * 1-5",tz:"America/New_York"}],meta:{templateId:"marketing-cadence-v1",approvalProvider:t,approvalTarget:r,writeback:{postLogPath:"shared-context/marketing/POST_LOG.md",learningsJsonlPath:"shared-context/memory/marketing_learnings.jsonl"},platforms:["x","instagram","tiktok","youtube"],approvalBindingId:"marketing-approval"},nodes:[{id:"start",type:"start",name:"Start",x:60,y:120,config:{}},{id:"research",type:"llm",name:"Research + idea",x:300,y:80,config:{agentId:"marketing-research",promptTemplate:"Do competitive + trend research. Produce: 5 angles + supporting bullets. Output JSON: {angles:[...], sources:[...]}"}},{id:"draft_assets",type:"llm",name:"Draft platform assets",x:560,y:80,config:{agentId:"marketing-writer",promptTemplate:"Using the research output, draft platform-specific variants applying proven viral psychology:\n\n**EMOTIONAL TRIGGER (REQUIRED):** Every post must trigger one of these emotions:\n- NSFW (\"That's crazy!\") - shocking/surprising\n- LOL (\"That's funny!\") - humor/entertainment\n- OHHH (\"Now I get it!\") - aha moments/simplification\n- WOW (\"That's amazing!\") - success stories\n- FINALLY (\"Someone said it!\") - validating opinions\n- WTF (\"That pisses me off!\") - frustration with status quo\n\n**IDENTITY TARGETING:** Use 'There are two types of...' or 'This is for founders who...'\n**US vs THEM:** Position against inefficient alternatives (not competitors)\n\nState which emotion you're targeting and why.\n\nAlso include an `image_brief` field: a concise (under 1000 chars) visual concept description for DALL-E image generation. Describe the scene, composition, color palette, and mood — NO text/words in the image. This should capture the emotional hook visually without repeating the copy.\n\nOutput JSON: {emotion:'OHHH',image_brief:'A split-screen illustration showing...',platforms:{x:{hook,body},instagram:{hook,body,assetNotes},tiktok:{hook,script,assetNotes},youtube:{hook,script,assetNotes}}}"}},{id:"generate_image",type:"media-image",name:"Design image concept",x:670,y:320,config:{mediaType:"image",provider:"skill-openai-image-gen",prompt:"{{draft_assets.image_brief}}",promptTemplate:"{{draft_assets.image_brief}}",outputPath:"node-outputs/generated_image.png",agentId:"marketing-designer"}},{id:"qc_brand",type:"llm",name:"QC / brand consistency",x:820,y:80,config:{agentId:"brand-qc",promptTemplate:'Review drafts for consistency and note the image concept for visual alignment. Apply corrections. Always mention @ClawRecipes and how it applies to the post. Remove any hashtags if present.\n\nImage concept from designer:\n{{generate_image.output}}\n\nEnsure the copy and visual concept work together effectively. No posting without approval. Output JSON: {platforms:{...}, image_concept: "brief description of planned visual", notes:[...]}'}},{id:"post_preview",type:"tool",name:"Post preview (dry run)",x:1080,y:220,config:{tool:"marketing.post_all",args:{platforms:["x","instagram","tiktok","youtube"],draftsFromNode:"qc_brand",dryRun:!0},agentId:"marketing-lead"}},{id:"approval",type:"human_approval",name:"Human approval",x:1080,y:80,config:{provider:t,target:r||"(set in UI)",messageTemplate:"{{workflow.name}} — Approval needed\nRun: {{run.id}}\n\n{{packet.note}}",approvalBindingId:"marketing-approval"}},{id:"post_to_platforms",type:"tool",name:"Post (after approval)",x:1340,y:80,config:{tool:"marketing.post_all",args:{platforms:["x","instagram","tiktok","youtube"],draftsFromNode:"qc_brand"},agentId:"marketing-lead"}},{id:"write_post_log",type:"tool",name:"Append POST_LOG.md",x:1600,y:60,config:{tool:"fs.append",args:{path:"shared-context/marketing/POST_LOG.md",content:"- {{date}} {{platforms}} posted. Run={{run.id}}\\n"},agentId:"marketing-lead"}},{id:"write_learnings",type:"tool",name:"Append marketing_learnings.jsonl",x:1600,y:140,config:{tool:"fs.append",args:{path:"shared-context/memory/marketing_learnings.jsonl",content:'{"ts":"{{date}}","runId":"{{run.id}}","notes":{{qc_brand.notes_json}}}\\n'},agentId:"marketing-lead"}},{id:"update_ticket",type:"llm",name:"Update ticket with details",x:1860,y:100,config:{agentId:"marketing-lead",promptTemplate:"A marketing cadence workflow run just completed. Update the associated ticket with all run details.\n\nWorkflow: {{workflow.name}}\nRun ID: {{run.id}}\nDate: {{date}}\n\nResearch output:\n{{research.output}}\n\nDraft assets:\n{{draft_assets.output}}\n\nGenerated image:\n{{generate_image.output}}\n\nQC/Brand review:\n{{qc_brand.output}}\n\nPosting results:\n{{post_to_platforms.output}}\n\nWrite a clear, dated summary under ## Comments in the ticket capturing:\n- What was researched and which angle was chosen\n- What image was generated and its visual concept\n- What platforms were posted to\n- The final approved copy and image\n- Any QC notes or corrections made\n- Links to posted content if available\n\nThen move the ticket to work/done/."}},{id:"end",type:"end",name:"End",x:2120,y:120,config:{}}],edges:[{id:"e-start-research",from:"start",to:"research"},{id:"e-research-draft",from:"research",to:"draft_assets"},{id:"e-draft-image",from:"draft_assets",to:"generate_image"},{id:"e-image-qc",from:"generate_image",to:"qc_brand"},{id:"e-qc-preview",from:"qc_brand",to:"post_preview"},{id:"e-preview-approval",from:"post_preview",to:"approval"},{id:"e-approval-post",from:"approval",to:"post_to_platforms"},{id:"e-post-log",from:"post_to_platforms",to:"write_post_log"},{id:"e-post-learnings",from:"post_to_platforms",to:"write_learnings"},{id:"e-log-ticket",from:"write_post_log",to:"update_ticket"},{id:"e-learnings-ticket",from:"write_learnings",to:"update_ticket"},{id:"e-ticket-end",from:"update_ticket",to:"end"}]}),d=await (0,S.writeWorkflow)(n,l),u=await (0,_.getTeamWorkspaceDir)(n);return await b(k.default.join(u,"shared-context","marketing","POST_LOG.md"),""),await b(k.default.join(u,"shared-context","memory","marketing_learnings.jsonl"),""),(0,v.jsonOkRest)({...d,workflowId:l.id,templateId:a})}catch(e){return x.NextResponse.json({ok:!1,error:(0,R.errorMessage)(e)},{status:500})}}e.s(["POST",()=>N],58460);var E=e.i(58460);let T=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/teams/workflow-templates/route",pathname:"/api/teams/workflow-templates",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/teams/workflow-templates/route.ts",nextConfigOutput:"standalone",userland:E}),{workAsyncStorage:O,workUnitAsyncStorage:C,serverHooks:I}=T;function A(){return(0,n.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:C})}async function q(e,t,n){T.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/teams/workflow-templates/route";y=y.replace(/\/index$/,"")||"/";let k=await T.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!k)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:x,params:v,nextConfig:R,parsedUrl:_,isDraftMode:S,prerenderManifest:j,routerServerContext:b,isOnDemandRevalidate:N,revalidateOnlyGenerated:E,resolvedPathname:O,clientReferenceManifest:C,serverActionsManifest:I}=k,A=(0,s.normalizeAppPath)(y),q=!!(j.dynamicRoutes[A]||j.routes[O]),P=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,_,!1):t.end("This page could not be found"),null);if(q&&!S){let e=!!j.routes[O],t=j.dynamicRoutes[A];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await P();throw new w.NoFallbackError}}let D=null;!q||T.isDev||S||(D="/index"===(D=O)?"/":D);let W=!0===T.isDev||!q,F=q&&!W;I&&C&&(0,i.setManifestsSingleton)({page:y,clientReferenceManifest:C,serverActionsManifest:I});let U=e.method||"GET",H=(0,o.getTracer)(),M=H.getActiveScopeSpan(),$={params:v,prerenderManifest:j,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:W,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>T.onRequestError(e,t,n,a,b)},sharedContext:{buildId:x}},L=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),J=d.NextRequestAdapter.fromNodeNextRequest(L,(0,d.signalFromNodeResponse)(t));try{let i=async e=>T.handle(J,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${y}`)}),s=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var o,l;let d=async({previousCacheEntry:r})=>{try{if(!s&&N&&E&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await i(a);e.fetchMetrics=$.renderOpts.fetchMetrics;let l=$.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let d=$.renderOpts.collectedTags;if(!q)return await (0,p.sendResponse)(L,B,o,$.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(o.headers);d&&(t[g.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,n=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:h.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await T.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:N})},!1,b),t}},u=await T.handleResponse({req:e,nextConfig:R,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:j,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:E,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:s});if(!q)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==h.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",N?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let w=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return s&&q||w.delete(g.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||w.get("Cache-Control")||w.set("Cache-Control",(0,m.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(L,B,new Response(u.value.body,{headers:w,status:u.value.status||200})),null};M?await l(M):await H.withPropagatedContext(e.headers,()=>H.trace(u.BaseServerSpan.handleRequest,{spanName:`${U} ${y}`,kind:o.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l))}catch(t){if(t instanceof w.NoFallbackError||await T.onRequestError(e,t,{routerKind:"App Router",routePath:A,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:N})},!1,b),q)throw t;return await (0,p.sendResponse)(L,B,new Response(null,{status:500})),null}}e.s(["handler",()=>q,"patchFetch",()=>A,"routeModule",()=>T,"serverHooks",()=>I,"workAsyncStorage",()=>O,"workUnitAsyncStorage",()=>C],17601)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__91d0cce1._.js.map