@jiggai/kitchen 0.3.28 → 0.3.29

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 (582) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +10 -0
  3. package/.next/build-manifest.json +5 -5
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/routes-manifest.json +70 -0
  6. package/.next/server/app/_global-error/page/build-manifest.json +3 -3
  7. package/.next/server/app/_global-error/page.js +2 -2
  8. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  9. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/_global-error.html +2 -2
  11. package/.next/server/app/_global-error.rsc +8 -8
  12. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  13. package/.next/server/app/_global-error.segments/_full.segment.rsc +8 -8
  14. package/.next/server/app/_global-error.segments/_head.segment.rsc +4 -4
  15. package/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  16. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/.next/server/app/_not-found/page/build-manifest.json +3 -3
  18. package/.next/server/app/_not-found/page.js +2 -2
  19. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  20. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  21. package/.next/server/app/_not-found.html +1 -1
  22. package/.next/server/app/_not-found.rsc +11 -11
  23. package/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
  24. package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  25. package/.next/server/app/_not-found.segments/_index.segment.rsc +5 -5
  26. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  27. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  28. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  29. package/.next/server/app/agents/[agentId]/page/build-manifest.json +3 -3
  30. package/.next/server/app/agents/[agentId]/page.js +2 -2
  31. package/.next/server/app/agents/[agentId]/page.js.nft.json +1 -1
  32. package/.next/server/app/agents/[agentId]/page_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/agents/[id]/route.js +1 -1
  34. package/.next/server/app/api/agents/[id]/route.js.nft.json +1 -1
  35. package/.next/server/app/api/agents/add/route.js +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 +1 -1
  38. package/.next/server/app/api/agents/file/route.js.nft.json +1 -1
  39. package/.next/server/app/api/agents/files/route.js +1 -1
  40. package/.next/server/app/api/agents/files/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 +1 -1
  43. package/.next/server/app/api/agents/skills/route.js.nft.json +1 -1
  44. package/.next/server/app/api/agents/update/route.js +1 -1
  45. package/.next/server/app/api/agents/update/route.js.nft.json +1 -1
  46. package/.next/server/app/api/channels/bindings/route.js +1 -1
  47. package/.next/server/app/api/channels/bindings/route.js.nft.json +1 -1
  48. package/.next/server/app/api/cron/add/route/app-paths-manifest.json +3 -0
  49. package/.next/server/app/api/cron/add/route/build-manifest.json +11 -0
  50. package/.next/server/app/api/cron/add/route/server-reference-manifest.json +4 -0
  51. package/.next/server/app/api/cron/add/route.js +6 -0
  52. package/.next/server/app/api/cron/add/route.js.map +5 -0
  53. package/.next/server/app/api/cron/add/route.js.nft.json +1 -0
  54. package/.next/server/app/api/cron/add/route_client-reference-manifest.js +2 -0
  55. package/.next/server/app/api/cron/delete/route.js +1 -1
  56. package/.next/server/app/api/cron/delete/route.js.nft.json +1 -1
  57. package/.next/server/app/api/cron/edit/route/app-paths-manifest.json +3 -0
  58. package/.next/server/app/api/cron/edit/route/build-manifest.json +11 -0
  59. package/.next/server/app/api/cron/edit/route/server-reference-manifest.json +4 -0
  60. package/.next/server/app/api/cron/edit/route.js +6 -0
  61. package/.next/server/app/api/cron/edit/route.js.map +5 -0
  62. package/.next/server/app/api/cron/edit/route.js.nft.json +1 -0
  63. package/.next/server/app/api/cron/edit/route_client-reference-manifest.js +2 -0
  64. package/.next/server/app/api/cron/jobs/route.js.nft.json +1 -1
  65. package/.next/server/app/api/cron/recipe-installed/route.js +1 -1
  66. package/.next/server/app/api/cron/recipe-installed/route.js.nft.json +1 -1
  67. package/.next/server/app/api/cron/worker/route.js +1 -1
  68. package/.next/server/app/api/cron/worker/route.js.nft.json +1 -1
  69. package/.next/server/app/api/goals/[id]/promote/route.js +1 -1
  70. package/.next/server/app/api/goals/[id]/promote/route.js.nft.json +1 -1
  71. package/.next/server/app/api/goals/[id]/route.js +1 -1
  72. package/.next/server/app/api/goals/[id]/route.js.nft.json +1 -1
  73. package/.next/server/app/api/goals/route.js +1 -1
  74. package/.next/server/app/api/goals/route.js.nft.json +1 -1
  75. package/.next/server/app/api/ids/check/route.js +1 -1
  76. package/.next/server/app/api/ids/check/route.js.nft.json +1 -1
  77. package/.next/server/app/api/marketplace/recipes/[slug]/route.js +1 -1
  78. package/.next/server/app/api/marketplace/recipes/[slug]/route.js.nft.json +1 -1
  79. package/.next/server/app/api/marketplace/recipes/route.js +1 -1
  80. package/.next/server/app/api/marketplace/recipes/route.js.nft.json +1 -1
  81. package/.next/server/app/api/plugins/[pluginId]/[...path]/route/app-paths-manifest.json +3 -0
  82. package/.next/server/app/api/plugins/[pluginId]/[...path]/route/build-manifest.json +11 -0
  83. package/.next/server/app/api/plugins/[pluginId]/[...path]/route/server-reference-manifest.json +4 -0
  84. package/.next/server/app/api/plugins/[pluginId]/[...path]/route.js +7 -0
  85. package/.next/server/app/api/plugins/[pluginId]/[...path]/route.js.map +5 -0
  86. package/.next/server/app/api/plugins/[pluginId]/[...path]/route.js.nft.json +1 -0
  87. package/.next/server/app/api/plugins/[pluginId]/[...path]/route_client-reference-manifest.js +2 -0
  88. package/.next/server/app/api/plugins/[pluginId]/tabs/[tabId]/route/app-paths-manifest.json +3 -0
  89. package/.next/server/app/api/plugins/[pluginId]/tabs/[tabId]/route/build-manifest.json +11 -0
  90. package/.next/server/app/api/plugins/[pluginId]/tabs/[tabId]/route/server-reference-manifest.json +4 -0
  91. package/.next/server/app/api/plugins/[pluginId]/tabs/[tabId]/route.js +7 -0
  92. package/.next/server/app/api/plugins/[pluginId]/tabs/[tabId]/route.js.map +5 -0
  93. package/.next/server/app/api/plugins/[pluginId]/tabs/[tabId]/route.js.nft.json +1 -0
  94. package/.next/server/app/api/plugins/[pluginId]/tabs/[tabId]/route_client-reference-manifest.js +2 -0
  95. package/.next/server/app/api/plugins/route/app-paths-manifest.json +3 -0
  96. package/.next/server/app/api/plugins/route/build-manifest.json +11 -0
  97. package/.next/server/app/api/plugins/route/server-reference-manifest.json +4 -0
  98. package/.next/server/app/api/plugins/route.js +7 -0
  99. package/.next/server/app/api/plugins/route.js.map +5 -0
  100. package/.next/server/app/api/plugins/route.js.nft.json +1 -0
  101. package/.next/server/app/api/plugins/route_client-reference-manifest.js +2 -0
  102. package/.next/server/app/api/plugins/test/route/app-paths-manifest.json +3 -0
  103. package/.next/server/app/api/plugins/test/route/build-manifest.json +11 -0
  104. package/.next/server/app/api/plugins/test/route/server-reference-manifest.json +4 -0
  105. package/.next/server/app/api/plugins/test/route.js +7 -0
  106. package/.next/server/app/api/plugins/test/route.js.map +5 -0
  107. package/.next/server/app/api/plugins/test/route.js.nft.json +1 -0
  108. package/.next/server/app/api/plugins/test/route_client-reference-manifest.js +2 -0
  109. package/.next/server/app/api/recipes/[id]/route.js +1 -1
  110. package/.next/server/app/api/recipes/[id]/route.js.nft.json +1 -1
  111. package/.next/server/app/api/recipes/clone/route.js +1 -1
  112. package/.next/server/app/api/recipes/clone/route.js.nft.json +1 -1
  113. package/.next/server/app/api/recipes/custom-team/route.js +1 -1
  114. package/.next/server/app/api/recipes/custom-team/route.js.nft.json +1 -1
  115. package/.next/server/app/api/recipes/delete/route.js.nft.json +1 -1
  116. package/.next/server/app/api/recipes/local-agent-catalog/route.js +1 -1
  117. package/.next/server/app/api/recipes/local-agent-catalog/route.js.nft.json +1 -1
  118. package/.next/server/app/api/recipes/team-agents/route.js +1 -1
  119. package/.next/server/app/api/recipes/team-agents/route.js.nft.json +1 -1
  120. package/.next/server/app/api/scaffold/route.js +1 -1
  121. package/.next/server/app/api/scaffold/route.js.nft.json +1 -1
  122. package/.next/server/app/api/settings/cron-installation/route.js +1 -1
  123. package/.next/server/app/api/settings/cron-installation/route.js.nft.json +1 -1
  124. package/.next/server/app/api/skills/available/route.js +1 -1
  125. package/.next/server/app/api/skills/available/route.js.nft.json +1 -1
  126. package/.next/server/app/api/swarms/start/route.js +3 -3
  127. package/.next/server/app/api/swarms/start/route.js.nft.json +1 -1
  128. package/.next/server/app/api/swarms/status/route.js +1 -1
  129. package/.next/server/app/api/swarms/status/route.js.nft.json +1 -1
  130. package/.next/server/app/api/teams/[teamId]/media-providers/route/app-paths-manifest.json +3 -0
  131. package/.next/server/app/api/teams/[teamId]/media-providers/route/build-manifest.json +11 -0
  132. package/.next/server/app/api/teams/[teamId]/media-providers/route/server-reference-manifest.json +4 -0
  133. package/.next/server/app/api/teams/[teamId]/media-providers/route.js +6 -0
  134. package/.next/server/app/api/teams/[teamId]/media-providers/route.js.map +5 -0
  135. package/.next/server/app/api/teams/[teamId]/media-providers/route.js.nft.json +1 -0
  136. package/.next/server/app/api/teams/[teamId]/media-providers/route_client-reference-manifest.js +2 -0
  137. package/.next/server/app/api/teams/[teamId]/tickets/assign/route.js +1 -1
  138. package/.next/server/app/api/teams/[teamId]/tickets/assign/route.js.nft.json +1 -1
  139. package/.next/server/app/api/teams/[teamId]/tickets/assignees/route.js +3 -3
  140. package/.next/server/app/api/teams/[teamId]/tickets/assignees/route.js.nft.json +1 -1
  141. package/.next/server/app/api/teams/[teamId]/tickets/comment/route.js +1 -1
  142. package/.next/server/app/api/teams/[teamId]/tickets/comment/route.js.nft.json +1 -1
  143. package/.next/server/app/api/teams/[teamId]/tickets/delete/route.js +1 -1
  144. package/.next/server/app/api/teams/[teamId]/tickets/delete/route.js.nft.json +1 -1
  145. package/.next/server/app/api/teams/[teamId]/tickets/move/route.js +1 -1
  146. package/.next/server/app/api/teams/[teamId]/tickets/move/route.js.nft.json +1 -1
  147. package/.next/server/app/api/teams/[teamId]/tickets/move-to-goals/route.js +1 -1
  148. package/.next/server/app/api/teams/[teamId]/tickets/move-to-goals/route.js.nft.json +1 -1
  149. package/.next/server/app/api/teams/file/route.js +1 -1
  150. package/.next/server/app/api/teams/file/route.js.nft.json +1 -1
  151. package/.next/server/app/api/teams/files/route.js +1 -1
  152. package/.next/server/app/api/teams/files/route.js.nft.json +1 -1
  153. package/.next/server/app/api/teams/memory/route.js +2 -1
  154. package/.next/server/app/api/teams/memory/route.js.nft.json +1 -1
  155. package/.next/server/app/api/teams/meta/route.js +1 -1
  156. package/.next/server/app/api/teams/meta/route.js.nft.json +1 -1
  157. package/.next/server/app/api/teams/orchestrator/install/route.js +1 -1
  158. package/.next/server/app/api/teams/orchestrator/install/route.js.nft.json +1 -1
  159. package/.next/server/app/api/teams/orchestrator/route.js +1 -1
  160. package/.next/server/app/api/teams/orchestrator/route.js.nft.json +1 -1
  161. package/.next/server/app/api/teams/remove-team/route.js +1 -1
  162. package/.next/server/app/api/teams/remove-team/route.js.nft.json +1 -1
  163. package/.next/server/app/api/teams/skills/install/route.js +1 -1
  164. package/.next/server/app/api/teams/skills/install/route.js.nft.json +1 -1
  165. package/.next/server/app/api/teams/skills/route.js +1 -1
  166. package/.next/server/app/api/teams/skills/route.js.nft.json +1 -1
  167. package/.next/server/app/api/teams/workflow-deliverables/file/route/app-paths-manifest.json +3 -0
  168. package/.next/server/app/api/teams/workflow-deliverables/file/route/build-manifest.json +11 -0
  169. package/.next/server/app/api/teams/workflow-deliverables/file/route/server-reference-manifest.json +4 -0
  170. package/.next/server/app/api/teams/workflow-deliverables/file/route.js +6 -0
  171. package/.next/server/app/api/teams/workflow-deliverables/file/route.js.map +5 -0
  172. package/.next/server/app/api/teams/workflow-deliverables/file/route.js.nft.json +1 -0
  173. package/.next/server/app/api/teams/workflow-deliverables/file/route_client-reference-manifest.js +2 -0
  174. package/.next/server/app/api/teams/workflow-deliverables/route/app-paths-manifest.json +3 -0
  175. package/.next/server/app/api/teams/workflow-deliverables/route/build-manifest.json +11 -0
  176. package/.next/server/app/api/teams/workflow-deliverables/route/server-reference-manifest.json +4 -0
  177. package/.next/server/app/api/teams/workflow-deliverables/route.js +6 -0
  178. package/.next/server/app/api/teams/workflow-deliverables/route.js.map +5 -0
  179. package/.next/server/app/api/teams/workflow-deliverables/route.js.nft.json +1 -0
  180. package/.next/server/app/api/teams/workflow-deliverables/route_client-reference-manifest.js +2 -0
  181. package/.next/server/app/api/teams/workflow-runs/route.js +1 -1
  182. package/.next/server/app/api/teams/workflow-runs/route.js.nft.json +1 -1
  183. package/.next/server/app/api/teams/workflow-templates/route.js +1 -1
  184. package/.next/server/app/api/teams/workflow-templates/route.js.nft.json +1 -1
  185. package/.next/server/app/api/teams/workflows/route.js +1 -1
  186. package/.next/server/app/api/teams/workflows/route.js.nft.json +1 -1
  187. package/.next/server/app/api/tickets/assign/route.js +1 -1
  188. package/.next/server/app/api/tickets/assign/route.js.nft.json +1 -1
  189. package/.next/server/app/api/tickets/assignees/route.js +1 -1
  190. package/.next/server/app/api/tickets/assignees/route.js.nft.json +1 -1
  191. package/.next/server/app/api/tickets/move/route.js +1 -1
  192. package/.next/server/app/api/tickets/move/route.js.nft.json +1 -1
  193. package/.next/server/app/channels/page/build-manifest.json +3 -3
  194. package/.next/server/app/channels/page.js +2 -2
  195. package/.next/server/app/channels/page.js.nft.json +1 -1
  196. package/.next/server/app/channels/page_client-reference-manifest.js +1 -1
  197. package/.next/server/app/channels.html +2 -2
  198. package/.next/server/app/channels.rsc +12 -12
  199. package/.next/server/app/channels.segments/_full.segment.rsc +12 -12
  200. package/.next/server/app/channels.segments/_head.segment.rsc +4 -4
  201. package/.next/server/app/channels.segments/_index.segment.rsc +5 -5
  202. package/.next/server/app/channels.segments/_tree.segment.rsc +2 -2
  203. package/.next/server/app/channels.segments/channels/__PAGE__.segment.rsc +3 -3
  204. package/.next/server/app/channels.segments/channels.segment.rsc +3 -3
  205. package/.next/server/app/cron-jobs/page/build-manifest.json +3 -3
  206. package/.next/server/app/cron-jobs/page.js +2 -2
  207. package/.next/server/app/cron-jobs/page.js.nft.json +1 -1
  208. package/.next/server/app/cron-jobs/page_client-reference-manifest.js +1 -1
  209. package/.next/server/app/goals/[id]/page/build-manifest.json +3 -3
  210. package/.next/server/app/goals/[id]/page.js +2 -2
  211. package/.next/server/app/goals/[id]/page.js.nft.json +1 -1
  212. package/.next/server/app/goals/[id]/page_client-reference-manifest.js +1 -1
  213. package/.next/server/app/goals/new/page/build-manifest.json +3 -3
  214. package/.next/server/app/goals/new/page.js +2 -2
  215. package/.next/server/app/goals/new/page.js.nft.json +1 -1
  216. package/.next/server/app/goals/new/page_client-reference-manifest.js +1 -1
  217. package/.next/server/app/goals/new.html +2 -2
  218. package/.next/server/app/goals/new.rsc +13 -13
  219. package/.next/server/app/goals/new.segments/_full.segment.rsc +13 -13
  220. package/.next/server/app/goals/new.segments/_head.segment.rsc +4 -4
  221. package/.next/server/app/goals/new.segments/_index.segment.rsc +5 -5
  222. package/.next/server/app/goals/new.segments/_tree.segment.rsc +2 -2
  223. package/.next/server/app/goals/new.segments/goals/new/__PAGE__.segment.rsc +4 -4
  224. package/.next/server/app/goals/new.segments/goals/new.segment.rsc +3 -3
  225. package/.next/server/app/goals/new.segments/goals.segment.rsc +3 -3
  226. package/.next/server/app/goals/page/build-manifest.json +3 -3
  227. package/.next/server/app/goals/page.js +2 -2
  228. package/.next/server/app/goals/page.js.nft.json +1 -1
  229. package/.next/server/app/goals/page_client-reference-manifest.js +1 -1
  230. package/.next/server/app/goals.html +1 -1
  231. package/.next/server/app/goals.rsc +12 -12
  232. package/.next/server/app/goals.segments/_full.segment.rsc +12 -12
  233. package/.next/server/app/goals.segments/_head.segment.rsc +4 -4
  234. package/.next/server/app/goals.segments/_index.segment.rsc +5 -5
  235. package/.next/server/app/goals.segments/_tree.segment.rsc +2 -2
  236. package/.next/server/app/goals.segments/goals/__PAGE__.segment.rsc +3 -3
  237. package/.next/server/app/goals.segments/goals.segment.rsc +3 -3
  238. package/.next/server/app/page/build-manifest.json +3 -3
  239. package/.next/server/app/page.js +4 -4
  240. package/.next/server/app/page.js.nft.json +1 -1
  241. package/.next/server/app/page_client-reference-manifest.js +1 -1
  242. package/.next/server/app/recipes/[id]/page/build-manifest.json +3 -3
  243. package/.next/server/app/recipes/[id]/page.js +4 -4
  244. package/.next/server/app/recipes/[id]/page.js.nft.json +1 -1
  245. package/.next/server/app/recipes/[id]/page_client-reference-manifest.js +1 -1
  246. package/.next/server/app/recipes/page/build-manifest.json +3 -3
  247. package/.next/server/app/recipes/page.js +2 -2
  248. package/.next/server/app/recipes/page.js.nft.json +1 -1
  249. package/.next/server/app/recipes/page_client-reference-manifest.js +1 -1
  250. package/.next/server/app/runs/page/build-manifest.json +3 -3
  251. package/.next/server/app/runs/page.js +6 -5
  252. package/.next/server/app/runs/page.js.nft.json +1 -1
  253. package/.next/server/app/runs/page_client-reference-manifest.js +1 -1
  254. package/.next/server/app/settings/page/build-manifest.json +3 -3
  255. package/.next/server/app/settings/page.js +2 -2
  256. package/.next/server/app/settings/page.js.nft.json +1 -1
  257. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  258. package/.next/server/app/settings.html +1 -1
  259. package/.next/server/app/settings.rsc +12 -12
  260. package/.next/server/app/settings.segments/_full.segment.rsc +12 -12
  261. package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  262. package/.next/server/app/settings.segments/_index.segment.rsc +5 -5
  263. package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  264. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +3 -3
  265. package/.next/server/app/settings.segments/settings.segment.rsc +3 -3
  266. package/.next/server/app/teams/[teamId]/deliverables/page/app-paths-manifest.json +3 -0
  267. package/.next/server/app/teams/[teamId]/deliverables/page/build-manifest.json +17 -0
  268. package/.next/server/app/teams/[teamId]/deliverables/page/next-font-manifest.json +11 -0
  269. package/.next/server/app/teams/[teamId]/deliverables/page/react-loadable-manifest.json +1 -0
  270. package/.next/server/app/teams/[teamId]/deliverables/page/server-reference-manifest.json +4 -0
  271. package/.next/server/app/teams/[teamId]/deliverables/page.js +21 -0
  272. package/.next/server/app/teams/[teamId]/deliverables/page.js.map +5 -0
  273. package/.next/server/app/teams/[teamId]/deliverables/page.js.nft.json +1 -0
  274. package/.next/server/app/teams/[teamId]/deliverables/page_client-reference-manifest.js +2 -0
  275. package/.next/server/app/teams/[teamId]/page/build-manifest.json +3 -3
  276. package/.next/server/app/teams/[teamId]/page.js +4 -4
  277. package/.next/server/app/teams/[teamId]/page.js.nft.json +1 -1
  278. package/.next/server/app/teams/[teamId]/page_client-reference-manifest.js +1 -1
  279. package/.next/server/app/teams/[teamId]/runs/[workflowId]/[runId]/page/build-manifest.json +3 -3
  280. package/.next/server/app/teams/[teamId]/runs/[workflowId]/[runId]/page.js +6 -5
  281. package/.next/server/app/teams/[teamId]/runs/[workflowId]/[runId]/page.js.nft.json +1 -1
  282. package/.next/server/app/teams/[teamId]/runs/[workflowId]/[runId]/page_client-reference-manifest.js +1 -1
  283. package/.next/server/app/teams/[teamId]/runs/page/build-manifest.json +3 -3
  284. package/.next/server/app/teams/[teamId]/runs/page.js +2 -2
  285. package/.next/server/app/teams/[teamId]/runs/page.js.nft.json +1 -1
  286. package/.next/server/app/teams/[teamId]/runs/page_client-reference-manifest.js +1 -1
  287. package/.next/server/app/teams/[teamId]/tickets/[ticket]/page/build-manifest.json +3 -3
  288. package/.next/server/app/teams/[teamId]/tickets/[ticket]/page.js +3 -3
  289. package/.next/server/app/teams/[teamId]/tickets/[ticket]/page.js.nft.json +1 -1
  290. package/.next/server/app/teams/[teamId]/tickets/[ticket]/page_client-reference-manifest.js +1 -1
  291. package/.next/server/app/teams/[teamId]/tickets/page/build-manifest.json +3 -3
  292. package/.next/server/app/teams/[teamId]/tickets/page.js +3 -3
  293. package/.next/server/app/teams/[teamId]/tickets/page.js.nft.json +1 -1
  294. package/.next/server/app/teams/[teamId]/tickets/page_client-reference-manifest.js +1 -1
  295. package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page/build-manifest.json +3 -3
  296. package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page.js +2 -2
  297. package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page.js.nft.json +1 -1
  298. package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page_client-reference-manifest.js +1 -1
  299. package/.next/server/app/teams/[teamId]/workflows/page/build-manifest.json +3 -3
  300. package/.next/server/app/teams/[teamId]/workflows/page.js +4 -4
  301. package/.next/server/app/teams/[teamId]/workflows/page.js.nft.json +1 -1
  302. package/.next/server/app/teams/[teamId]/workflows/page_client-reference-manifest.js +1 -1
  303. package/.next/server/app/tickets/[ticket]/page/build-manifest.json +3 -3
  304. package/.next/server/app/tickets/[ticket]/page.js +3 -3
  305. package/.next/server/app/tickets/[ticket]/page.js.nft.json +1 -1
  306. package/.next/server/app/tickets/[ticket]/page_client-reference-manifest.js +1 -1
  307. package/.next/server/app/tickets/page/build-manifest.json +3 -3
  308. package/.next/server/app/tickets/page.js +3 -3
  309. package/.next/server/app/tickets/page.js.nft.json +1 -1
  310. package/.next/server/app/tickets/page_client-reference-manifest.js +1 -1
  311. package/.next/server/app-paths-manifest.json +10 -0
  312. package/.next/server/chunks/{[root-of-the-server]__50fe6ff8._.js → [root-of-the-server]__00a30f40._.js} +2 -2
  313. package/.next/server/chunks/[root-of-the-server]__04f289da._.js +1 -1
  314. package/.next/server/chunks/{[root-of-the-server]__26c618a3._.js → [root-of-the-server]__0883634a._.js} +2 -2
  315. package/.next/server/chunks/[root-of-the-server]__08b4c8f2._.js +1 -1
  316. package/.next/server/chunks/{[root-of-the-server]__fef7183d._.js → [root-of-the-server]__0f55461f._.js} +2 -2
  317. package/.next/server/chunks/[root-of-the-server]__1311d7a3._.js +1 -1
  318. package/.next/server/chunks/{[root-of-the-server]__e063a986._.js → [root-of-the-server]__1480ffda._.js} +2 -2
  319. package/.next/server/chunks/[root-of-the-server]__18423bab._.js +1 -1
  320. package/.next/server/chunks/{[root-of-the-server]__0c4fc3d3._.js → [root-of-the-server]__1873f417._.js} +2 -2
  321. package/.next/server/chunks/{[root-of-the-server]__05f5e243._.js → [root-of-the-server]__1f1e62ac._.js} +2 -2
  322. package/.next/server/chunks/{[root-of-the-server]__864a08dd._.js → [root-of-the-server]__20b1f42d._.js} +2 -2
  323. package/.next/server/chunks/[root-of-the-server]__21ad9eeb._.js +3 -0
  324. package/.next/server/chunks/[root-of-the-server]__21ad9eeb._.js.map +1 -0
  325. package/.next/server/chunks/{[root-of-the-server]__9d0ea07b._.js → [root-of-the-server]__2c207e60._.js} +2 -2
  326. package/.next/server/chunks/{[root-of-the-server]__69be1758._.js → [root-of-the-server]__2dd1afff._.js} +2 -2
  327. package/.next/server/chunks/{[root-of-the-server]__1c6c2e43._.js → [root-of-the-server]__3021a250._.js} +2 -2
  328. package/.next/server/chunks/[root-of-the-server]__30cd38e9._.js +1 -1
  329. package/.next/server/chunks/{[root-of-the-server]__4079fa2b._.js → [root-of-the-server]__343776df._.js} +2 -2
  330. package/.next/server/chunks/{[root-of-the-server]__63715de8._.js → [root-of-the-server]__3452dc06._.js} +2 -2
  331. package/.next/server/chunks/[root-of-the-server]__35ec765d._.js +13 -0
  332. package/.next/server/chunks/[root-of-the-server]__35ec765d._.js.map +1 -0
  333. package/.next/server/chunks/[root-of-the-server]__392e585d._.js +2 -2
  334. package/.next/server/chunks/[root-of-the-server]__3b2d0020._.js +3 -0
  335. package/.next/server/chunks/[root-of-the-server]__3b2d0020._.js.map +1 -0
  336. package/.next/server/chunks/{[root-of-the-server]__bccfb2c0._.js → [root-of-the-server]__3bfad714._.js} +2 -2
  337. package/.next/server/chunks/[root-of-the-server]__3c92e5aa._.js +3 -0
  338. package/.next/server/chunks/[root-of-the-server]__3c92e5aa._.js.map +1 -0
  339. package/.next/server/chunks/{[root-of-the-server]__7bf889c1._.js → [root-of-the-server]__3d15e850._.js} +2 -2
  340. package/.next/server/chunks/{[root-of-the-server]__a74a32d5._.js → [root-of-the-server]__3f648b9b._.js} +2 -2
  341. package/.next/server/chunks/{[root-of-the-server]__89605574._.js → [root-of-the-server]__482575d2._.js} +2 -2
  342. package/.next/server/chunks/[root-of-the-server]__4898071c._.js +4 -4
  343. package/.next/server/chunks/{[root-of-the-server]__bbdb6dcb._.js → [root-of-the-server]__4ee12514._.js} +2 -2
  344. package/.next/server/chunks/[root-of-the-server]__55defc7c._.js +3 -0
  345. package/.next/server/chunks/[root-of-the-server]__55defc7c._.js.map +1 -0
  346. package/.next/server/chunks/{[root-of-the-server]__698cf062._.js → [root-of-the-server]__5aa1dc93._.js} +2 -2
  347. package/.next/server/chunks/{[root-of-the-server]__b002764e._.js → [root-of-the-server]__5c5990a6._.js} +2 -2
  348. package/.next/server/chunks/[root-of-the-server]__5d47b90b._.js +3 -0
  349. package/.next/server/chunks/[root-of-the-server]__5d47b90b._.js.map +1 -0
  350. package/.next/server/chunks/{[root-of-the-server]__7a331e51._.js → [root-of-the-server]__603cb0fa._.js} +3 -3
  351. package/.next/server/chunks/[root-of-the-server]__6131b7e2._.js +3 -0
  352. package/.next/server/chunks/[root-of-the-server]__6131b7e2._.js.map +1 -0
  353. package/.next/server/chunks/{[root-of-the-server]__d924e5ac._.js → [root-of-the-server]__636919a0._.js} +2 -2
  354. package/.next/server/chunks/{[root-of-the-server]__453333f5._.js → [root-of-the-server]__663e79ff._.js} +2 -2
  355. package/.next/server/chunks/[root-of-the-server]__69c065ce._.js +3 -0
  356. package/.next/server/chunks/[root-of-the-server]__69c065ce._.js.map +1 -0
  357. package/.next/server/chunks/{[root-of-the-server]__c63a9f28._.js → [root-of-the-server]__74b80ca4._.js} +2 -2
  358. package/.next/server/chunks/{[root-of-the-server]__6f4e90a0._.js → [root-of-the-server]__74e2a9ba._.js} +2 -2
  359. package/.next/server/chunks/{[root-of-the-server]__51198e25._.js → [root-of-the-server]__7e12b9f4._.js} +2 -2
  360. package/.next/server/chunks/[root-of-the-server]__813dd669._.js +3 -0
  361. package/.next/server/chunks/[root-of-the-server]__813dd669._.js.map +1 -0
  362. package/.next/server/chunks/{[root-of-the-server]__5ceff0f3._.js → [root-of-the-server]__87875179._.js} +3 -3
  363. package/.next/server/chunks/{[root-of-the-server]__5ea38a67._.js → [root-of-the-server]__8f8e110f._.js} +2 -2
  364. package/.next/server/chunks/{[root-of-the-server]__7459129e._.js → [root-of-the-server]__91d0cce1._.js} +2 -2
  365. package/.next/server/chunks/{[root-of-the-server]__e40409a2._.js → [root-of-the-server]__9853b72d._.js} +2 -2
  366. package/.next/server/chunks/{[root-of-the-server]__95ddb81a._.js → [root-of-the-server]__9dba20b3._.js} +2 -2
  367. package/.next/server/chunks/{[root-of-the-server]__ff69832c._.js → [root-of-the-server]__9e96d37b._.js} +2 -2
  368. package/.next/server/chunks/{[root-of-the-server]__8e27e9f7._.js → [root-of-the-server]__aba68368._.js} +3 -3
  369. package/.next/server/chunks/{[root-of-the-server]__3fdbc43e._.js → [root-of-the-server]__aed4e4f2._.js} +2 -2
  370. package/.next/server/chunks/[root-of-the-server]__b457b884._.js +22 -0
  371. package/.next/server/chunks/[root-of-the-server]__b457b884._.js.map +1 -0
  372. package/.next/server/chunks/{[root-of-the-server]__99b12bcb._.js → [root-of-the-server]__b6cff26d._.js} +2 -2
  373. package/.next/server/chunks/{[root-of-the-server]__150bf0bf._.js → [root-of-the-server]__bb52fdc9._.js} +2 -2
  374. package/.next/server/chunks/{[root-of-the-server]__bf608f29._.js → [root-of-the-server]__be5f57b2._.js} +2 -2
  375. package/.next/server/chunks/[root-of-the-server]__c15c5141._.js +3 -0
  376. package/.next/server/chunks/[root-of-the-server]__c15c5141._.js.map +1 -0
  377. package/.next/server/chunks/{[root-of-the-server]__542a081b._.js → [root-of-the-server]__c50e4bc4._.js} +2 -2
  378. package/.next/server/chunks/[root-of-the-server]__c5e88cbb._.js +1 -1
  379. package/.next/server/chunks/{[root-of-the-server]__b64936a3._.js → [root-of-the-server]__cc0860cb._.js} +2 -2
  380. package/.next/server/chunks/{[root-of-the-server]__8ea22d0a._.js → [root-of-the-server]__d302afb4._.js} +2 -2
  381. package/.next/server/chunks/{[root-of-the-server]__01863a8b._.js → [root-of-the-server]__d4a8660e._.js} +2 -2
  382. package/.next/server/chunks/[root-of-the-server]__da7df58d._.js +3 -0
  383. package/.next/server/chunks/[root-of-the-server]__da7df58d._.js.map +1 -0
  384. package/.next/server/chunks/[root-of-the-server]__e478ef0d._.js +1 -1
  385. package/.next/server/chunks/{[root-of-the-server]__6caa8f2d._.js → [root-of-the-server]__e9acbabd._.js} +2 -2
  386. package/.next/server/chunks/{[root-of-the-server]__47eb3111._.js → [root-of-the-server]__e9d9d570._.js} +2 -2
  387. package/.next/server/chunks/[root-of-the-server]__f408c708._.js +2 -2
  388. package/.next/server/chunks/{[root-of-the-server]__59a6cf09._.js → [root-of-the-server]__f45ceefb._.js} +2 -2
  389. package/.next/server/chunks/[root-of-the-server]__f4cbadf7._.js +1 -1
  390. package/.next/server/chunks/[root-of-the-server]__f5cd81f1._.js +3 -0
  391. package/.next/server/chunks/[root-of-the-server]__f5cd81f1._.js.map +1 -0
  392. package/.next/server/chunks/{[root-of-the-server]__3cfdf0b3._.js → [root-of-the-server]__f994dc62._.js} +2 -2
  393. package/.next/server/chunks/_next-internal_server_app_api_cron_add_route_actions_f9053a93.js +3 -0
  394. package/.next/server/chunks/_next-internal_server_app_api_cron_add_route_actions_f9053a93.js.map +1 -0
  395. package/.next/server/chunks/_next-internal_server_app_api_cron_edit_route_actions_3b551424.js +3 -0
  396. package/.next/server/chunks/_next-internal_server_app_api_cron_edit_route_actions_3b551424.js.map +1 -0
  397. package/.next/server/chunks/_next-internal_server_app_api_plugins_route_actions_0aabd6b3.js +3 -0
  398. package/.next/server/chunks/_next-internal_server_app_api_plugins_route_actions_0aabd6b3.js.map +1 -0
  399. package/.next/server/chunks/_next-internal_server_app_api_plugins_test_route_actions_8babbe5c.js +3 -0
  400. package/.next/server/chunks/_next-internal_server_app_api_plugins_test_route_actions_8babbe5c.js.map +1 -0
  401. package/.next/server/chunks/_next-internal_server_app_api_teams_workflow-deliverables_route_actions_9de4298b.js +3 -0
  402. package/.next/server/chunks/_next-internal_server_app_api_teams_workflow-deliverables_route_actions_9de4298b.js.map +1 -0
  403. package/.next/server/chunks/ce889_server_app_api_plugins_[pluginId]_[___path]_route_actions_471be8ce.js +3 -0
  404. package/.next/server/chunks/ce889_server_app_api_plugins_[pluginId]_[___path]_route_actions_471be8ce.js.map +1 -0
  405. package/.next/server/chunks/ce889_server_app_api_plugins_[pluginId]_tabs_[tabId]_route_actions_9420efec.js +3 -0
  406. package/.next/server/chunks/ce889_server_app_api_plugins_[pluginId]_tabs_[tabId]_route_actions_9420efec.js.map +1 -0
  407. package/.next/server/chunks/ce889_server_app_api_teams_[teamId]_media-providers_route_actions_1ea823f1.js +3 -0
  408. package/.next/server/chunks/ce889_server_app_api_teams_[teamId]_media-providers_route_actions_1ea823f1.js.map +1 -0
  409. package/.next/server/chunks/ce889_server_app_api_teams_workflow-deliverables_file_route_actions_332fd6ea.js +3 -0
  410. package/.next/server/chunks/ce889_server_app_api_teams_workflow-deliverables_file_route_actions_332fd6ea.js.map +1 -0
  411. package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_1fe98a49.js +1 -1
  412. package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_1fe98a49.js.map +1 -1
  413. package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_3a1b29e4.js +3 -0
  414. package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_3a1b29e4.js.map +1 -0
  415. package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_f5680d9e.js +1 -1
  416. package/.next/server/chunks/node_modules_yaml_dist_49c13b35._.js +4 -4
  417. package/.next/server/chunks/node_modules_yaml_dist_49c13b35._.js.map +1 -1
  418. package/.next/server/chunks/ssr/[root-of-the-server]__0a5cb3ca._.js +3 -0
  419. package/.next/server/chunks/ssr/[root-of-the-server]__0a5cb3ca._.js.map +1 -0
  420. package/.next/server/chunks/ssr/[root-of-the-server]__177cec74._.js +3 -0
  421. package/.next/server/chunks/ssr/[root-of-the-server]__177cec74._.js.map +1 -0
  422. package/.next/server/chunks/ssr/[root-of-the-server]__195421b7._.js +12 -0
  423. package/.next/server/chunks/ssr/[root-of-the-server]__195421b7._.js.map +1 -0
  424. package/.next/server/chunks/ssr/{[root-of-the-server]__17b046ea._.js → [root-of-the-server]__388bae11._.js} +2 -2
  425. package/.next/server/chunks/ssr/[root-of-the-server]__3b880807._.js +1 -1
  426. package/.next/server/chunks/ssr/[root-of-the-server]__3b880807._.js.map +1 -1
  427. package/.next/server/chunks/ssr/[root-of-the-server]__51e26a01._.js +3 -0
  428. package/.next/server/chunks/ssr/{[root-of-the-server]__4c66998a._.js.map → [root-of-the-server]__51e26a01._.js.map} +1 -1
  429. package/.next/server/chunks/ssr/[root-of-the-server]__6b6b7595._.js +3 -0
  430. package/.next/server/chunks/ssr/[root-of-the-server]__6b6b7595._.js.map +1 -0
  431. package/.next/server/chunks/ssr/{[root-of-the-server]__2db9d262._.js → [root-of-the-server]__8f9585b9._.js} +2 -2
  432. package/.next/server/chunks/ssr/{[root-of-the-server]__2db9d262._.js.map → [root-of-the-server]__8f9585b9._.js.map} +1 -1
  433. package/.next/server/chunks/ssr/{[root-of-the-server]__9a7d79aa._.js → [root-of-the-server]__997aa62c._.js} +2 -2
  434. package/.next/server/chunks/ssr/{[root-of-the-server]__0df430db._.js → [root-of-the-server]__9e400864._.js} +2 -2
  435. package/.next/server/chunks/ssr/{[root-of-the-server]__8a588fad._.js → [root-of-the-server]__a6348eaa._.js} +2 -2
  436. package/.next/server/chunks/ssr/{[root-of-the-server]__49281b4c._.js → [root-of-the-server]__af792402._.js} +2 -2
  437. package/.next/server/chunks/ssr/{[root-of-the-server]__68c20e8e._.js → [root-of-the-server]__b5aa14b8._.js} +2 -2
  438. package/.next/server/chunks/ssr/{[root-of-the-server]__68c20e8e._.js.map → [root-of-the-server]__b5aa14b8._.js.map} +1 -1
  439. package/.next/server/chunks/ssr/{[root-of-the-server]__8756d76d._.js → [root-of-the-server]__b8998a21._.js} +2 -2
  440. package/.next/server/chunks/ssr/{[root-of-the-server]__c777e326._.js → [root-of-the-server]__df23886e._.js} +2 -2
  441. package/.next/server/chunks/ssr/{[root-of-the-server]__02e6ccaa._.js → [root-of-the-server]__e9bd9b71._.js} +2 -2
  442. package/.next/server/chunks/ssr/_018dfe6b._.js +2 -2
  443. package/.next/server/chunks/ssr/_2d8d7232._.js +3 -0
  444. package/.next/server/chunks/ssr/_2d8d7232._.js.map +1 -0
  445. package/.next/server/chunks/ssr/_8538617d._.js +3 -0
  446. package/.next/server/chunks/ssr/_8538617d._.js.map +1 -0
  447. package/.next/server/chunks/ssr/_a506fcf8._.js +3 -0
  448. package/.next/server/chunks/ssr/_a506fcf8._.js.map +1 -0
  449. package/.next/server/chunks/ssr/_deb7a691._.js +5 -0
  450. package/.next/server/chunks/ssr/_deb7a691._.js.map +1 -0
  451. package/.next/server/chunks/ssr/_ec0b0b83._.js +4 -0
  452. package/.next/server/chunks/ssr/_ec0b0b83._.js.map +1 -0
  453. package/.next/server/chunks/ssr/_next-internal_server_app_teams_[teamId]_deliverables_page_actions_f44ae7c7.js +3 -0
  454. package/.next/server/chunks/ssr/_next-internal_server_app_teams_[teamId]_deliverables_page_actions_f44ae7c7.js.map +1 -0
  455. package/.next/server/chunks/ssr/b1a17_app_teams_[teamId]_workflows_[workflowId]_workflows-editor-client_tsx_5e714aa2._.js +1 -1
  456. package/.next/server/chunks/ssr/b1a17_app_teams_[teamId]_workflows_[workflowId]_workflows-editor-client_tsx_5e714aa2._.js.map +1 -1
  457. package/.next/server/chunks/ssr/d4b1c_modules_next_dist_server_route-modules_app-page_vendored_ssr_react-dom_6ef9314a.js +3 -0
  458. package/.next/server/chunks/ssr/d4b1c_modules_next_dist_server_route-modules_app-page_vendored_ssr_react-dom_6ef9314a.js.map +1 -0
  459. package/.next/server/chunks/ssr/node_modules_next_dist_1038a5b9._.js +10 -0
  460. package/.next/server/chunks/ssr/{[root-of-the-server]__4fd003c7._.js.map → node_modules_next_dist_1038a5b9._.js.map} +1 -1
  461. package/.next/server/chunks/ssr/node_modules_next_dist_25a30daf._.js +1 -1
  462. package/.next/server/chunks/ssr/node_modules_next_dist_25a30daf._.js.map +1 -1
  463. package/.next/server/chunks/ssr/node_modules_yaml_dist_18db9ed7._.js +2 -2
  464. package/.next/server/chunks/ssr/src_app_cron-jobs_cron-jobs-client_tsx_ec91a73d._.js +3 -0
  465. package/.next/server/chunks/ssr/src_app_cron-jobs_cron-jobs-client_tsx_ec91a73d._.js.map +1 -0
  466. package/.next/server/middleware-build-manifest.js +3 -3
  467. package/.next/server/next-font-manifest.js +1 -1
  468. package/.next/server/next-font-manifest.json +4 -0
  469. package/.next/server/pages/404.html +1 -1
  470. package/.next/server/pages/500.html +2 -2
  471. package/.next/server/server-reference-manifest.js +1 -1
  472. package/.next/server/server-reference-manifest.json +1 -1
  473. package/.next/static/chunks/{d2be314c3ece3fbe.js → 0bd6498bda341889.js} +1 -1
  474. package/.next/static/chunks/{c27f767f683b017a.js → 410dc851d0e3033d.js} +1 -1
  475. package/.next/static/chunks/{2ad8e6acac0ede2c.js → 4e38b3f280ced64c.js} +1 -1
  476. package/.next/static/chunks/{236ef28eb649c432.js → 4f2b8a07ace7e02b.js} +1 -1
  477. package/.next/static/chunks/79b7c8c80713887a.js +1 -0
  478. package/.next/static/chunks/{e854e56ea8cb6236.js → 87879d67a1601ee0.js} +1 -1
  479. package/.next/static/chunks/{43d0024279c6160e.js → a625725b4cd85ea3.js} +1 -1
  480. package/.next/static/chunks/{3e1fe6be993c61fb.js → ac32974713c57cb3.js} +1 -1
  481. package/.next/static/chunks/{f2f58a7e93290fbb.js → aebc3b6d791f68d2.js} +1 -1
  482. package/.next/static/chunks/b3bca877b0f5b4e9.css +3 -0
  483. package/.next/static/chunks/{e083bcf4a197beae.js → b83c1ca03c3b8c6d.js} +1 -1
  484. package/.next/static/chunks/{e7bbb90aada90fdf.js → bdb7ebd88ea13111.js} +1 -1
  485. package/.next/static/chunks/bfcfbe145220d365.js +1 -0
  486. package/.next/static/chunks/c0d9f53d91cc65c5.js +10 -0
  487. package/.next/static/chunks/{36aff6bd42d53c8b.js → c0e2f959abc4cc13.js} +1 -1
  488. package/.next/static/chunks/c411f6e912e3c3a1.js +1 -0
  489. package/.next/static/chunks/{62e0c437eb8fc2da.js → c822e53f79a492c7.js} +1 -1
  490. package/.next/static/chunks/{fd0cb4d03fd17cf6.js → ce6b2024d13b4333.js} +1 -1
  491. package/.next/static/chunks/d13249af74d111cf.js +3 -0
  492. package/.next/static/chunks/{4a6dcf80b293d7a4.js → d16f64ca3a8ed208.js} +1 -1
  493. package/.next/static/chunks/{c84580993f22c17a.js → d6e1b7307a9274ce.js} +1 -1
  494. package/.next/static/chunks/d7541a171116ec9c.js +1 -0
  495. package/.next/static/chunks/{93719e85369dd453.js → e03137fd069b1514.js} +1 -1
  496. package/.next/static/chunks/{db4da5ee45033817.js → e10faa9296c8b246.js} +1 -1
  497. package/.next/static/chunks/ec24877f7b7f82c5.js +3 -0
  498. package/.next/static/chunks/{f179280598d329b2.js → ff3bbb5df40b2cc4.js} +1 -1
  499. package/.next/static/chunks/{turbopack-0236a74c4f471967.js → turbopack-dbf3078dbf5863bd.js} +1 -1
  500. package/openclaw.plugin.json +1 -1
  501. package/package.json +8 -2
  502. package/tsconfig.json +2 -1
  503. package/.next/server/chunks/[root-of-the-server]__502825d0._.js +0 -13
  504. package/.next/server/chunks/[root-of-the-server]__502825d0._.js.map +0 -1
  505. package/.next/server/chunks/[root-of-the-server]__69c45937._.js +0 -3
  506. package/.next/server/chunks/[root-of-the-server]__69c45937._.js.map +0 -1
  507. package/.next/server/chunks/[root-of-the-server]__a49c534d._.js +0 -3
  508. package/.next/server/chunks/[root-of-the-server]__a49c534d._.js.map +0 -1
  509. package/.next/server/chunks/ssr/[root-of-the-server]__162d7d9d._.js +0 -3
  510. package/.next/server/chunks/ssr/[root-of-the-server]__162d7d9d._.js.map +0 -1
  511. package/.next/server/chunks/ssr/[root-of-the-server]__255506f2._.js +0 -3
  512. package/.next/server/chunks/ssr/[root-of-the-server]__255506f2._.js.map +0 -1
  513. package/.next/server/chunks/ssr/[root-of-the-server]__4c66998a._.js +0 -3
  514. package/.next/server/chunks/ssr/[root-of-the-server]__4fd003c7._.js +0 -10
  515. package/.next/server/chunks/ssr/_d9520bea._.js +0 -3
  516. package/.next/server/chunks/ssr/_d9520bea._.js.map +0 -1
  517. package/.next/server/chunks/ssr/src_app_teams_[teamId]_runs_[workflowId]_[runId]_run-detail-client_tsx_56f0cbd7._.js +0 -3
  518. package/.next/server/chunks/ssr/src_app_teams_[teamId]_runs_[workflowId]_[runId]_run-detail-client_tsx_56f0cbd7._.js.map +0 -1
  519. package/.next/server/chunks/ssr/src_app_teams_[teamId]_team-editor_index_tsx_e68e9cbc._.js +0 -12
  520. package/.next/server/chunks/ssr/src_app_teams_[teamId]_team-editor_index_tsx_e68e9cbc._.js.map +0 -1
  521. package/.next/static/chunks/33959503ed1ef5fe.css +0 -3
  522. package/.next/static/chunks/474635d658546626.js +0 -1
  523. package/.next/static/chunks/4d4876ec71727e38.js +0 -1
  524. package/.next/static/chunks/579cd9be685abc65.js +0 -1
  525. package/.next/static/chunks/5e3b1d0f61a651bf.js +0 -1
  526. package/.next/static/chunks/a719c5f36ffeec2a.js +0 -10
  527. package/.next/static/chunks/ca07f0194f384207.js +0 -1
  528. /package/.next/server/chunks/{[root-of-the-server]__50fe6ff8._.js.map → [root-of-the-server]__00a30f40._.js.map} +0 -0
  529. /package/.next/server/chunks/{[root-of-the-server]__26c618a3._.js.map → [root-of-the-server]__0883634a._.js.map} +0 -0
  530. /package/.next/server/chunks/{[root-of-the-server]__fef7183d._.js.map → [root-of-the-server]__0f55461f._.js.map} +0 -0
  531. /package/.next/server/chunks/{[root-of-the-server]__e063a986._.js.map → [root-of-the-server]__1480ffda._.js.map} +0 -0
  532. /package/.next/server/chunks/{[root-of-the-server]__0c4fc3d3._.js.map → [root-of-the-server]__1873f417._.js.map} +0 -0
  533. /package/.next/server/chunks/{[root-of-the-server]__05f5e243._.js.map → [root-of-the-server]__1f1e62ac._.js.map} +0 -0
  534. /package/.next/server/chunks/{[root-of-the-server]__864a08dd._.js.map → [root-of-the-server]__20b1f42d._.js.map} +0 -0
  535. /package/.next/server/chunks/{[root-of-the-server]__9d0ea07b._.js.map → [root-of-the-server]__2c207e60._.js.map} +0 -0
  536. /package/.next/server/chunks/{[root-of-the-server]__69be1758._.js.map → [root-of-the-server]__2dd1afff._.js.map} +0 -0
  537. /package/.next/server/chunks/{[root-of-the-server]__1c6c2e43._.js.map → [root-of-the-server]__3021a250._.js.map} +0 -0
  538. /package/.next/server/chunks/{[root-of-the-server]__4079fa2b._.js.map → [root-of-the-server]__343776df._.js.map} +0 -0
  539. /package/.next/server/chunks/{[root-of-the-server]__63715de8._.js.map → [root-of-the-server]__3452dc06._.js.map} +0 -0
  540. /package/.next/server/chunks/{[root-of-the-server]__bccfb2c0._.js.map → [root-of-the-server]__3bfad714._.js.map} +0 -0
  541. /package/.next/server/chunks/{[root-of-the-server]__7bf889c1._.js.map → [root-of-the-server]__3d15e850._.js.map} +0 -0
  542. /package/.next/server/chunks/{[root-of-the-server]__a74a32d5._.js.map → [root-of-the-server]__3f648b9b._.js.map} +0 -0
  543. /package/.next/server/chunks/{[root-of-the-server]__89605574._.js.map → [root-of-the-server]__482575d2._.js.map} +0 -0
  544. /package/.next/server/chunks/{[root-of-the-server]__bbdb6dcb._.js.map → [root-of-the-server]__4ee12514._.js.map} +0 -0
  545. /package/.next/server/chunks/{[root-of-the-server]__698cf062._.js.map → [root-of-the-server]__5aa1dc93._.js.map} +0 -0
  546. /package/.next/server/chunks/{[root-of-the-server]__b002764e._.js.map → [root-of-the-server]__5c5990a6._.js.map} +0 -0
  547. /package/.next/server/chunks/{[root-of-the-server]__7a331e51._.js.map → [root-of-the-server]__603cb0fa._.js.map} +0 -0
  548. /package/.next/server/chunks/{[root-of-the-server]__d924e5ac._.js.map → [root-of-the-server]__636919a0._.js.map} +0 -0
  549. /package/.next/server/chunks/{[root-of-the-server]__453333f5._.js.map → [root-of-the-server]__663e79ff._.js.map} +0 -0
  550. /package/.next/server/chunks/{[root-of-the-server]__c63a9f28._.js.map → [root-of-the-server]__74b80ca4._.js.map} +0 -0
  551. /package/.next/server/chunks/{[root-of-the-server]__6f4e90a0._.js.map → [root-of-the-server]__74e2a9ba._.js.map} +0 -0
  552. /package/.next/server/chunks/{[root-of-the-server]__51198e25._.js.map → [root-of-the-server]__7e12b9f4._.js.map} +0 -0
  553. /package/.next/server/chunks/{[root-of-the-server]__5ceff0f3._.js.map → [root-of-the-server]__87875179._.js.map} +0 -0
  554. /package/.next/server/chunks/{[root-of-the-server]__5ea38a67._.js.map → [root-of-the-server]__8f8e110f._.js.map} +0 -0
  555. /package/.next/server/chunks/{[root-of-the-server]__7459129e._.js.map → [root-of-the-server]__91d0cce1._.js.map} +0 -0
  556. /package/.next/server/chunks/{[root-of-the-server]__e40409a2._.js.map → [root-of-the-server]__9853b72d._.js.map} +0 -0
  557. /package/.next/server/chunks/{[root-of-the-server]__95ddb81a._.js.map → [root-of-the-server]__9dba20b3._.js.map} +0 -0
  558. /package/.next/server/chunks/{[root-of-the-server]__ff69832c._.js.map → [root-of-the-server]__9e96d37b._.js.map} +0 -0
  559. /package/.next/server/chunks/{[root-of-the-server]__8e27e9f7._.js.map → [root-of-the-server]__aba68368._.js.map} +0 -0
  560. /package/.next/server/chunks/{[root-of-the-server]__3fdbc43e._.js.map → [root-of-the-server]__aed4e4f2._.js.map} +0 -0
  561. /package/.next/server/chunks/{[root-of-the-server]__99b12bcb._.js.map → [root-of-the-server]__b6cff26d._.js.map} +0 -0
  562. /package/.next/server/chunks/{[root-of-the-server]__150bf0bf._.js.map → [root-of-the-server]__bb52fdc9._.js.map} +0 -0
  563. /package/.next/server/chunks/{[root-of-the-server]__bf608f29._.js.map → [root-of-the-server]__be5f57b2._.js.map} +0 -0
  564. /package/.next/server/chunks/{[root-of-the-server]__542a081b._.js.map → [root-of-the-server]__c50e4bc4._.js.map} +0 -0
  565. /package/.next/server/chunks/{[root-of-the-server]__b64936a3._.js.map → [root-of-the-server]__cc0860cb._.js.map} +0 -0
  566. /package/.next/server/chunks/{[root-of-the-server]__8ea22d0a._.js.map → [root-of-the-server]__d302afb4._.js.map} +0 -0
  567. /package/.next/server/chunks/{[root-of-the-server]__01863a8b._.js.map → [root-of-the-server]__d4a8660e._.js.map} +0 -0
  568. /package/.next/server/chunks/{[root-of-the-server]__6caa8f2d._.js.map → [root-of-the-server]__e9acbabd._.js.map} +0 -0
  569. /package/.next/server/chunks/{[root-of-the-server]__47eb3111._.js.map → [root-of-the-server]__e9d9d570._.js.map} +0 -0
  570. /package/.next/server/chunks/{[root-of-the-server]__59a6cf09._.js.map → [root-of-the-server]__f45ceefb._.js.map} +0 -0
  571. /package/.next/server/chunks/{[root-of-the-server]__3cfdf0b3._.js.map → [root-of-the-server]__f994dc62._.js.map} +0 -0
  572. /package/.next/server/chunks/ssr/{[root-of-the-server]__17b046ea._.js.map → [root-of-the-server]__388bae11._.js.map} +0 -0
  573. /package/.next/server/chunks/ssr/{[root-of-the-server]__9a7d79aa._.js.map → [root-of-the-server]__997aa62c._.js.map} +0 -0
  574. /package/.next/server/chunks/ssr/{[root-of-the-server]__0df430db._.js.map → [root-of-the-server]__9e400864._.js.map} +0 -0
  575. /package/.next/server/chunks/ssr/{[root-of-the-server]__8a588fad._.js.map → [root-of-the-server]__a6348eaa._.js.map} +0 -0
  576. /package/.next/server/chunks/ssr/{[root-of-the-server]__49281b4c._.js.map → [root-of-the-server]__af792402._.js.map} +0 -0
  577. /package/.next/server/chunks/ssr/{[root-of-the-server]__8756d76d._.js.map → [root-of-the-server]__b8998a21._.js.map} +0 -0
  578. /package/.next/server/chunks/ssr/{[root-of-the-server]__c777e326._.js.map → [root-of-the-server]__df23886e._.js.map} +0 -0
  579. /package/.next/server/chunks/ssr/{[root-of-the-server]__02e6ccaa._.js.map → [root-of-the-server]__e9bd9b71._.js.map} +0 -0
  580. /package/.next/static/{xL1Ph-1X9rdYxDgzULIJA → kWLUtSfI8C26lIp4FvoAU}/_buildManifest.js +0 -0
  581. /package/.next/static/{xL1Ph-1X9rdYxDgzULIJA → kWLUtSfI8C26lIp4FvoAU}/_clientMiddlewareManifest.json +0 -0
  582. /package/.next/static/{xL1Ph-1X9rdYxDgzULIJA → kWLUtSfI8C26lIp4FvoAU}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/next/dist/esm/build/templates/app-route.js","../../../src/app/api/teams/%5BteamId%5D/media-providers/route.ts"],"sourcesContent":["import { AppRouteRouteModule } from \"next/dist/esm/server/route-modules/app-route/module.compiled\";\nimport { RouteKind } from \"next/dist/esm/server/route-kind\";\nimport { patchFetch as _patchFetch } from \"next/dist/esm/server/lib/patch-fetch\";\nimport { addRequestMeta, getRequestMeta } from \"next/dist/esm/server/request-meta\";\nimport { getTracer, SpanKind } from \"next/dist/esm/server/lib/trace/tracer\";\nimport { setManifestsSingleton } from \"next/dist/esm/server/app-render/manifests-singleton\";\nimport { normalizeAppPath } from \"next/dist/esm/shared/lib/router/utils/app-paths\";\nimport { NodeNextRequest, NodeNextResponse } from \"next/dist/esm/server/base-http/node\";\nimport { NextRequestAdapter, signalFromNodeResponse } from \"next/dist/esm/server/web/spec-extension/adapters/next-request\";\nimport { BaseServerSpan } from \"next/dist/esm/server/lib/trace/constants\";\nimport { getRevalidateReason } from \"next/dist/esm/server/instrumentation/utils\";\nimport { sendResponse } from \"next/dist/esm/server/send-response\";\nimport { fromNodeOutgoingHttpHeaders, toNodeOutgoingHttpHeaders } from \"next/dist/esm/server/web/utils\";\nimport { getCacheControlHeader } from \"next/dist/esm/server/lib/cache-control\";\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from \"next/dist/esm/lib/constants\";\nimport { NoFallbackError } from \"next/dist/esm/shared/lib/no-fallback-error.external\";\nimport { CachedRouteKind } from \"next/dist/esm/server/response-cache\";\nimport * as userland from \"INNER_APP_ROUTE\";\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\nconst nextConfigOutput = \"standalone\"\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: \"/api/teams/[teamId]/media-providers/route\",\n pathname: \"/api/teams/[teamId]/media-providers\",\n filename: \"route\",\n bundlePath: \"\"\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: \"[project]/src/app/api/teams/[teamId]/media-providers/route.ts\",\n nextConfigOutput,\n userland\n});\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule;\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage\n });\n}\nexport { routeModule, workAsyncStorage, workUnitAsyncStorage, serverHooks, patchFetch, };\nexport async function handler(req, res, ctx) {\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint());\n }\n let srcPage = \"/api/teams/[teamId]/media-providers/route\";\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/';\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/';\n }\n const multiZoneDraftMode = process.env.__NEXT_MULTI_ZONE_DRAFT_MODE;\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return null;\n }\n const { buildId, params, nextConfig, parsedUrl, isDraftMode, prerenderManifest, routerServerContext, isOnDemandRevalidate, revalidateOnlyGenerated, resolvedPathname, clientReferenceManifest, serverActionsManifest } = prepareResult;\n const normalizedSrcPage = normalizeAppPath(srcPage);\n let isIsr = Boolean(prerenderManifest.dynamicRoutes[normalizedSrcPage] || prerenderManifest.routes[resolvedPathname]);\n const render404 = async ()=>{\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext == null ? void 0 : routerServerContext.render404) {\n await routerServerContext.render404(req, res, parsedUrl, false);\n } else {\n res.end('This page could not be found');\n }\n return null;\n };\n if (isIsr && !isDraftMode) {\n const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname]);\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage];\n if (prerenderInfo) {\n if (prerenderInfo.fallback === false && !isPrerendered) {\n if (nextConfig.experimental.adapterPath) {\n return await render404();\n }\n throw new NoFallbackError();\n }\n }\n }\n let cacheKey = null;\n if (isIsr && !routeModule.isDev && !isDraftMode) {\n cacheKey = resolvedPathname;\n // ensure /index and / is normalized to one key\n cacheKey = cacheKey === '/index' ? '/' : cacheKey;\n }\n const supportsDynamicResponse = // If we're in development, we always support dynamic HTML\n routeModule.isDev === true || // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr;\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse;\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest\n });\n }\n const method = req.method || 'GET';\n const tracer = getTracer();\n const activeSpan = tracer.getActiveScopeSpan();\n const context = {\n params,\n prerenderManifest,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts)\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n supportsDynamicResponse,\n incrementalCache: getRequestMeta(req, 'incrementalCache'),\n cacheLifeProfiles: nextConfig.cacheLife,\n waitUntil: ctx.waitUntil,\n onClose: (cb)=>{\n res.on('close', cb);\n },\n onAfterTaskError: undefined,\n onInstrumentationRequestError: (error, _request, errorContext, silenceLog)=>routeModule.onRequestError(req, error, errorContext, silenceLog, routerServerContext)\n },\n sharedContext: {\n buildId\n }\n };\n const nodeNextReq = new NodeNextRequest(req);\n const nodeNextRes = new NodeNextResponse(res);\n const nextReq = NextRequestAdapter.fromNodeNextRequest(nodeNextReq, signalFromNodeResponse(res));\n try {\n const invokeRouteModule = async (span)=>{\n return routeModule.handle(nextReq, context).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\n });\n const rootSpanAttributes = tracer.getRootSpanAttributes();\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return;\n }\n if (rootSpanAttributes.get('next.span_type') !== BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\n } else {\n span.updateName(`${method} ${srcPage}`);\n }\n });\n };\n const isMinimalMode = Boolean(process.env.MINIMAL_MODE || getRequestMeta(req, 'minimalMode'));\n const handleResponse = async (currentSpan)=>{\n var _cacheEntry_value;\n const responseGenerator = async ({ previousCacheEntry })=>{\n try {\n if (!isMinimalMode && isOnDemandRevalidate && revalidateOnlyGenerated && !previousCacheEntry) {\n res.statusCode = 404;\n // on-demand revalidate always sets this header\n res.setHeader('x-nextjs-cache', 'REVALIDATED');\n res.end('This page could not be found');\n return null;\n }\n const response = await invokeRouteModule(currentSpan);\n req.fetchMetrics = context.renderOpts.fetchMetrics;\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil;\n // Attempt using provided waitUntil if available\n // if it's not we fallback to sendResponse's handling\n if (pendingWaitUntil) {\n if (ctx.waitUntil) {\n ctx.waitUntil(pendingWaitUntil);\n pendingWaitUntil = undefined;\n }\n }\n const cacheTags = context.renderOpts.collectedTags;\n // If the request is for a static response, we can cache it so long\n // as it's not edge.\n if (isIsr) {\n const blob = await response.blob();\n // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers);\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags;\n }\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type;\n }\n const revalidate = typeof context.renderOpts.collectedRevalidate === 'undefined' || context.renderOpts.collectedRevalidate >= INFINITE_CACHE ? false : context.renderOpts.collectedRevalidate;\n const expire = typeof context.renderOpts.collectedExpire === 'undefined' || context.renderOpts.collectedExpire >= INFINITE_CACHE ? undefined : context.renderOpts.collectedExpire;\n // Create the cache entry for the response.\n const cacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers\n },\n cacheControl: {\n revalidate,\n expire\n }\n };\n return cacheEntry;\n } else {\n // send response without caching if not ISR\n await sendResponse(nodeNextReq, nodeNextRes, response, context.renderOpts.pendingWaitUntil);\n return null;\n }\n } catch (err) {\n // if this is a background revalidate we need to report\n // the request error here as it won't be bubbled\n if (previousCacheEntry == null ? void 0 : previousCacheEntry.isStale) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n throw err;\n }\n };\n const cacheEntry = await routeModule.handleResponse({\n req,\n nextConfig,\n cacheKey,\n routeKind: RouteKind.APP_ROUTE,\n isFallback: false,\n prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode\n });\n // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return null;\n }\n if ((cacheEntry == null ? void 0 : (_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== CachedRouteKind.APP_ROUTE) {\n var _cacheEntry_value1;\n throw Object.defineProperty(new Error(`Invariant: app-route received invalid cache entry ${cacheEntry == null ? void 0 : (_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind}`), \"__NEXT_ERROR_CODE\", {\n value: \"E701\",\n enumerable: false,\n configurable: true\n });\n }\n if (!isMinimalMode) {\n res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT');\n }\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');\n }\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers);\n if (!(isMinimalMode && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER);\n }\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (cacheEntry.cacheControl && !res.getHeader('Cache-Control') && !headers.get('Cache-Control')) {\n headers.set('Cache-Control', getCacheControlHeader(cacheEntry.cacheControl));\n }\n await sendResponse(nodeNextReq, nodeNextRes, // @ts-expect-error - Argument of type 'Buffer<ArrayBufferLike>' is not assignable to parameter of type 'BodyInit | null | undefined'.\n new Response(cacheEntry.value.body, {\n headers,\n status: cacheEntry.value.status || 200\n }));\n return null;\n };\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (activeSpan) {\n await handleResponse(activeSpan);\n } else {\n await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(BaseServerSpan.handleRequest, {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, handleResponse));\n }\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n // rethrow so that we can handle serving error page\n // If this is during static generation, throw the error again.\n if (isIsr) throw err;\n // Otherwise, send a 500 response.\n await sendResponse(nodeNextReq, nodeNextRes, new Response(null, {\n status: 500\n }));\n return null;\n }\n}\n\n//# sourceMappingURL=app-route.js.map\n","import { NextRequest, NextResponse } from 'next/server';\nimport { exec } from 'child_process';\nimport { promisify } from 'util';\nimport fs from 'fs/promises';\nimport path from 'path';\n\nconst execAsync = promisify(exec);\n\nexport interface MediaProvider {\n id: string;\n name: string;\n supportedTypes: ('image' | 'video')[];\n available: boolean;\n models?: string[];\n error?: string;\n priority?: number;\n}\n\n/**\n * GET /api/teams/[teamId]/media-providers\n * \n * Detects available media generation providers by:\n * 1. Checking for API keys (OPENAI_API_KEY, etc.)\n * 2. Scanning installed skills for media generation capabilities\n * 3. Testing local endpoints (Stable Diffusion, ComfyUI, etc.)\n * 4. Returning prioritized list of providers\n */\nexport async function GET(\n _request: NextRequest,\n { params }: { params: Promise<{ teamId: string }> }\n): Promise<NextResponse<MediaProvider[] | { error: string }>> {\n try {\n await params; // Await the params (required by Next.js 15+)\n const providers: MediaProvider[] = [];\n\n // 1. Check OpenAI Provider\n const openaiProviders = await checkOpenAIProvider();\n providers.push(...openaiProviders);\n\n // 2. Check Skill-based Providers\n const skillProviders = await checkSkillProviders();\n providers.push(...skillProviders);\n\n // 3. Check HTTP/Local Providers\n const httpProviders = await checkHTTPProviders();\n providers.push(...httpProviders);\n\n // Sort by priority (available providers first, then by priority score)\n providers.sort((a, b) => {\n if (a.available && !b.available) return -1;\n if (!a.available && b.available) return 1;\n return (b.priority || 0) - (a.priority || 0);\n });\n\n return NextResponse.json(providers);\n } catch (error) {\n console.error('Failed to detect media providers:', error);\n return NextResponse.json(\n { error: 'Failed to detect media providers' },\n { status: 500 }\n );\n }\n}\n\nasync function checkOpenAIProvider(): Promise<MediaProvider[]> {\n const providers: MediaProvider[] = [];\n \n try {\n // Read OpenClaw config to get models\n const configPath = path.join(process.env.HOME || '/home/control', '.openclaw', 'openclaw.json');\n const configData = await fs.readFile(configPath, 'utf-8');\n const config = JSON.parse(configData);\n \n // Extract models from config\n const fallbackModels = config.agents?.defaults?.model?.fallbacks || [];\n const primaryModel = config.agents?.defaults?.model?.primary;\n const allModels = [primaryModel, ...fallbackModels].filter(Boolean);\n \n // Group models by provider\n const modelsByProvider: Record<string, string[]> = {};\n allModels.forEach((model: string) => {\n if (typeof model === 'string' && model.includes('/')) {\n const [provider, modelName] = model.split('/');\n if (!modelsByProvider[provider]) {\n modelsByProvider[provider] = [];\n }\n modelsByProvider[provider].push(modelName);\n }\n });\n \n // Check OpenAI models (supports image generation)\n if (modelsByProvider['openai'] || modelsByProvider['openai-codex']) {\n const openaiModels = [...(modelsByProvider['openai'] || []), ...(modelsByProvider['openai-codex'] || [])];\n const hasApiKey = !!process.env.OPENAI_API_KEY;\n \n providers.push({\n id: 'openai-models',\n name: 'OpenAI Models (Image Generation)',\n supportedTypes: ['image'],\n available: hasApiKey,\n models: openaiModels,\n error: hasApiKey ? undefined : 'OPENAI_API_KEY not configured',\n priority: 100\n });\n }\n \n // Check for DALL-E specifically\n const hasApiKey = !!process.env.OPENAI_API_KEY;\n providers.push({\n id: 'dalle',\n name: 'OpenAI DALL-E',\n supportedTypes: ['image'],\n available: hasApiKey,\n models: ['dall-e-2', 'dall-e-3'],\n error: hasApiKey ? undefined : 'OPENAI_API_KEY not configured',\n priority: 90\n });\n \n } catch (error) {\n console.warn('Failed to read OpenClaw config:', error);\n \n // Fallback OpenAI provider\n const hasApiKey = !!process.env.OPENAI_API_KEY;\n providers.push({\n id: 'openai-fallback',\n name: 'OpenAI DALL-E (fallback)',\n supportedTypes: ['image'],\n available: hasApiKey,\n models: ['dall-e-3'],\n error: hasApiKey ? undefined : 'OPENAI_API_KEY not configured',\n priority: 80\n });\n }\n \n return providers;\n}\n\nasync function checkSkillProviders(): Promise<MediaProvider[]> {\n const providers: MediaProvider[] = [];\n \n try {\n // Scan multiple skills directories\n const skillsDirs = [\n path.join(process.env.HOME || '/home/control', '.openclaw/workspace/skills'),\n path.join(process.env.HOME || '/home/control', '.openclaw/skills')\n ];\n \n const allSkills: { name: string; description: string; hasMedia: boolean; supportedTypes: string[]; available: boolean; error?: string }[] = [];\n \n for (const skillsDir of skillsDirs) {\n try {\n const skillDirs = await fs.readdir(skillsDir);\n \n for (const skillDir of skillDirs) {\n try {\n const skillPath = path.join(skillsDir, skillDir);\n const skillMd = await fs.readFile(path.join(skillPath, 'SKILL.md'), 'utf-8');\n \n // Extract skill name and description\n let skillName = skillDir.replace(/-/g, ' ');\n let description = '';\n \n // Parse frontmatter or description\n const nameMatch = skillMd.match(/^name:\\s*(.+)$/m);\n if (nameMatch) skillName = nameMatch[1];\n \n const descMatch = skillMd.match(/^description:\\s*(.+)$/m);\n if (descMatch) description = descMatch[1].replace(/\"/g, '');\n \n // Check for media generation capabilities\n const hasImageGen = /\\b(image|picture|photo|visual|media|video|audio)\\b.*\\b(generat|creat|make|produc)\\b/i.test(skillMd) ||\n /\\b(generat|creat|make|produc)\\b.*\\b(image|picture|photo|visual|media|video|audio)\\b/i.test(skillMd) ||\n /dall.?e|stable.?diffusion|midjourney|cellcog|any.?to.?any/i.test(skillMd);\n \n if (hasImageGen) {\n const supportedTypes: string[] = [];\n if (/\\b(image|picture|photo|visual)\\b/i.test(skillMd)) supportedTypes.push('image');\n if (/\\bvideo\\b/i.test(skillMd)) supportedTypes.push('video');\n if (/\\baudio\\b/i.test(skillMd)) supportedTypes.push('audio');\n if (supportedTypes.length === 0) supportedTypes.push('image'); // default\n \n // Check for API key requirements\n let available = true;\n let error: string | undefined;\n \n if (skillMd.includes('OPENAI_API_KEY') && !process.env.OPENAI_API_KEY) {\n available = false;\n error = 'OPENAI_API_KEY required';\n }\n if (skillMd.includes('CELLCOG_API_KEY') && !process.env.CELLCOG_API_KEY) {\n available = false;\n error = 'CELLCOG_API_KEY required';\n }\n if (skillMd.includes('EVOLINK_API_KEY') && !process.env.EVOLINK_API_KEY) {\n available = false;\n error = 'EVOLINK_API_KEY required';\n }\n \n allSkills.push({\n name: skillName,\n description: description || `${skillName} skill`,\n hasMedia: true,\n supportedTypes,\n available,\n error\n });\n }\n } catch {\n // Skip invalid skills\n }\n }\n } catch {\n // Skills directory doesn't exist or is inaccessible\n }\n }\n \n // Create providers from detected skills\n allSkills.forEach((skill, index) => {\n providers.push({\n id: `skill-${skill.name.toLowerCase().replace(/\\s+/g, '-')}`,\n name: skill.name,\n supportedTypes: skill.supportedTypes as ('image' | 'video')[],\n available: skill.available,\n error: skill.error,\n priority: 70 + index // Give different priorities to different skills\n });\n });\n \n // Add fallback skill provider entry if no skills found\n if (providers.length === 0) {\n providers.push({\n id: 'skills-empty',\n name: 'OpenClaw Skills',\n supportedTypes: ['image'],\n available: false,\n error: 'No media generation skills installed',\n priority: 60\n });\n }\n \n } catch (error) {\n console.warn('Skill detection failed:', error);\n }\n \n return providers;\n}\n\nasync function checkHTTPProviders(): Promise<MediaProvider[]> {\n const providers: MediaProvider[] = [];\n \n // Check common local endpoints\n const endpoints = [\n { \n url: 'http://localhost:7860',\n name: 'Stable Diffusion WebUI',\n priority: 90\n },\n { \n url: 'http://localhost:8188', \n name: 'ComfyUI',\n priority: 85\n }\n ];\n \n for (const endpoint of endpoints) {\n try {\n // Quick health check with timeout\n const response = await fetch(`${endpoint.url}/`, { \n method: 'HEAD',\n signal: AbortSignal.timeout(2000)\n });\n \n providers.push({\n id: `http-${endpoint.url.replace(/[^\\w]/g, '-')}`,\n name: endpoint.name,\n supportedTypes: ['image'],\n available: response.ok,\n priority: endpoint.priority\n });\n } catch {\n providers.push({\n id: `http-${endpoint.url.replace(/[^\\w]/g, '-')}`,\n name: endpoint.name,\n supportedTypes: ['image'],\n available: false,\n error: `${endpoint.name} not running`,\n priority: endpoint.priority\n });\n }\n }\n \n return providers;\n}"],"names":[],"mappings":"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","ignoreList":[0]}
@@ -1,8 +1,8 @@
1
- module.exports=[5365,(e,t,r)=>{t.exports=e.x("process",()=>require("process"))},874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},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])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"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},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])},25092,e=>{"use strict";var t=e.i(12714),r=e.i(50227),n=e.i(89171),a=e.i(23008),o=e.i(40317),i=e.i(7367);let s=/^[a-z0-9][a-z0-9-]{1,63}$/;function l(e){let t=(0,o.errorMessage)(e),r=/Invalid goal id|Path traversal/.test(t)?400:500;return n.NextResponse.json({error:t},{status:r})}function d(e){if(e.startsWith("---\n")){let t=e.indexOf("\n---\n",4);if(-1!==t){let r=e.slice(4,t+1),n=e.slice(t+5);return{fm:a.default.parse(r)??{},body:n}}}return{fm:{},body:e}}function u(e,t,r){let n=new Date().toISOString(),a=e&&"object"==typeof e?e:{},o=String(a.id??t).trim(),i=String(a.title??r??o).trim()||o,s=String(a.status??"planned").trim(),l=Array.isArray(a.tags)?a.tags.map(String):[];return{id:o,title:i,status:"active"===s||"done"===s?s:"planned",tags:l,teams:Array.isArray(a.teams)?a.teams.map(String):[],updatedAt:String(a.updatedAt??n)}}async function c(){let e=await (0,i.getWorkspaceGoalsDir)();return await t.default.mkdir(e,{recursive:!0}),e}async function p(e){if(!s.test(e))throw Error(`Invalid goal id "${e}". Use 2-64 chars: lowercase letters, numbers, hyphens. Example: "increase-trial-activation".`);let t=await c(),n=r.default.join(t,`${e}.md`),a=r.default.resolve(t)+r.default.sep;if(!r.default.resolve(n).startsWith(a))throw Error("Path traversal rejected");return{root:t,full:n}}async function f(){let e=await c(),n=(await t.default.readdir(e)).filter(e=>e.endsWith(".md")),a=[];for(let o of n){let n=r.default.join(e,o),i=await t.default.readFile(n,"utf8"),s=o.replace(/\.md$/,""),{fm:l}=d(i),c=u(l,s,s);a.push({...c,filename:o})}let o={active:0,planned:1,done:2};return a.sort((e,t)=>{let r=o[e.status],n=o[t.status];return r!==n?r-n:String(t.updatedAt).localeCompare(String(e.updatedAt))}),a}async function g(e){let{full:r}=await p(e);try{let n=await t.default.readFile(r,"utf8"),{fm:a,body:o}=d(n),i=a&&"object"==typeof a?a:{};return{frontmatter:u(a,e,String(i.title??e)),body:o,raw:n}}catch(e){if("object"==typeof e&&e&&"ENOENT"===e.code)return null;throw e}}async function m(e){let{id:r}=e,{full:n}=await p(r),o=new Date().toISOString(),i={id:r,title:e.title,status:e.status??"planned",tags:e.tags??[],teams:e.teams??[],updatedAt:o},s=`---
1
+ module.exports=[5365,(e,t,r)=>{t.exports=e.x("process",()=>require("process"))},874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},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])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])},25092,e=>{"use strict";var t=e.i(12714),r=e.i(50227),n=e.i(89171),a=e.i(23008),o=e.i(40317),i=e.i(7367);let s=/^[a-z0-9][a-z0-9-]{1,63}$/;function l(e){let t=(0,o.errorMessage)(e),r=/Invalid goal id|Path traversal/.test(t)?400:500;return n.NextResponse.json({error:t},{status:r})}function d(e){if(e.startsWith("---\n")){let t=e.indexOf("\n---\n",4);if(-1!==t){let r=e.slice(4,t+1),n=e.slice(t+5);return{fm:a.default.parse(r)??{},body:n}}}return{fm:{},body:e}}function u(e,t,r){let n=new Date().toISOString(),a=e&&"object"==typeof e?e:{},o=String(a.id??t).trim(),i=String(a.title??r??o).trim()||o,s=String(a.status??"planned").trim(),l=Array.isArray(a.tags)?a.tags.map(String):[];return{id:o,title:i,status:"active"===s||"done"===s?s:"planned",tags:l,teams:Array.isArray(a.teams)?a.teams.map(String):[],updatedAt:String(a.updatedAt??n)}}async function c(){let e=await (0,i.getWorkspaceGoalsDir)();return await t.default.mkdir(e,{recursive:!0}),e}async function p(e){if(!s.test(e))throw Error(`Invalid goal id "${e}". Use 2-64 chars: lowercase letters, numbers, hyphens. Example: "increase-trial-activation".`);let t=await c(),n=r.default.join(t,`${e}.md`),a=r.default.resolve(t)+r.default.sep;if(!r.default.resolve(n).startsWith(a))throw Error("Path traversal rejected");return{root:t,full:n}}async function f(){let e=await c(),n=(await t.default.readdir(e)).filter(e=>e.endsWith(".md")),a=[];for(let o of n){let n=r.default.join(e,o),i=await t.default.readFile(n,"utf8"),s=o.replace(/\.md$/,""),{fm:l}=d(i),c=u(l,s,s);a.push({...c,filename:o})}let o={active:0,planned:1,done:2};return a.sort((e,t)=>{let r=o[e.status],n=o[t.status];return r!==n?r-n:String(t.updatedAt).localeCompare(String(e.updatedAt))}),a}async function g(e){let{full:r}=await p(e);try{let n=await t.default.readFile(r,"utf8"),{fm:a,body:o}=d(n),i=a&&"object"==typeof a?a:{};return{frontmatter:u(a,e,String(i.title??e)),body:o,raw:n}}catch(e){if("object"==typeof e&&e&&"ENOENT"===e.code)return null;throw e}}async function m(e){let{id:r}=e,{full:n}=await p(r),o=new Date().toISOString(),i={id:r,title:e.title,status:e.status??"planned",tags:e.tags??[],teams:e.teams??[],updatedAt:o},s=`---
2
2
  ${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(26937),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(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)}];
7
7
 
8
- //# sourceMappingURL=%5Broot-of-the-server%5D__5ceff0f3._.js.map
8
+ //# sourceMappingURL=%5Broot-of-the-server%5D__87875179._.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"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},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(26937),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(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)}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__5ea38a67._.js.map
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 s(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?s(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 i(e,{sanitizeStdout:!1})}async function u(e){if("cron"===e[0])return i(e);let r=(0,t.getKitchenApi)();try{let t=await r.runtime.system.runCommandWithTimeout(["openclaw",...e],{timeoutMs:12e4}),n=s(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"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},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 s(){let e=await o();return n.default.join(e,"recipes")}async function i(){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",()=>i,"getWorkspaceRecipesDir",()=>s,"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 s=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 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,s.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,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 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,s.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 s(e){return`${e}.workflow.json`}function i(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=i(n),o=await l(e),d=r.default.join(o,s(a)),u=JSON.parse(await t.default.readFile(d,"utf8"));return{ok:!0,path:d,workflow:u}}async function c(e,n){let a=i(n.id),o=await l(e);await t.default.mkdir(o,{recursive:!0});let d=r.default.join(o,s(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=i(n),o=await l(e),d=r.default.join(o,s(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",()=>i,"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),s=e.i(74677),i=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(26937),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),j=e.i(7367),S=e.i(56995);async function _(e){try{return await y.default.access(e),!0}catch{return!1}}async function b(e,t){await _(e)||(await y.default.mkdir(k.default.dirname(e),{recursive:!0}),await y.default.writeFile(e,t,"utf8"))}async function C(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 s=await (0,S.listWorkflows)(n),i=new Set(s.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",i),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"]},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 for X/Instagram/TikTok/YouTube. Output JSON: {platforms:{x:{hook,body},instagram:{hook,body,assetNotes},tiktok:{hook,script,assetNotes},youtube:{hook,script,assetNotes}}}"}},{id:"qc_brand",type:"llm",name:"QC / brand consistency",x:820,y:80,config:{agentId:"brand-qc",promptTemplate:"Review drafts for consistency. Apply corrections. Ensure: mention ClawRecipes before OpenClaw; no posting without approval. Output JSON: {platforms:{...}, notes:[...]}"}},{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}}"}},{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:"end",type:"end",name:"End",x:1860,y:120,config:{}}],edges:[{id:"e-start-research",from:"start",to:"research"},{id:"e-research-draft",from:"research",to:"draft_assets"},{id:"e-draft-qc",from:"draft_assets",to:"qc_brand"},{id:"e-qc-approval",from:"qc_brand",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-end",from:"write_post_log",to:"end"},{id:"e-learnings-end",from:"write_learnings",to:"end"}]}),d=await (0,S.writeWorkflow)(n,l),u=await (0,j.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",()=>C],58460);var N=e.i(58460);let E=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:N}),{workAsyncStorage:O,workUnitAsyncStorage:T,serverHooks:q}=E;function A(){return(0,n.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:T})}async function I(e,t,n){E.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/teams/workflow-templates/route";y=y.replace(/\/index$/,"")||"/";let k=await E.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:j,isDraftMode:S,prerenderManifest:_,routerServerContext:b,isOnDemandRevalidate:C,revalidateOnlyGenerated:N,resolvedPathname:O,clientReferenceManifest:T,serverActionsManifest:q}=k,A=(0,i.normalizeAppPath)(y),I=!!(_.dynamicRoutes[A]||_.routes[O]),P=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,j,!1):t.end("This page could not be found"),null);if(I&&!S){let e=!!_.routes[O],t=_.dynamicRoutes[A];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await P();throw new w.NoFallbackError}}let D=null;!I||E.isDev||S||(D="/index"===(D=O)?"/":D);let F=!0===E.isDev||!I,W=I&&!F;q&&T&&(0,s.setManifestsSingleton)({page:y,clientReferenceManifest:T,serverActionsManifest:q});let U=e.method||"GET",$=(0,o.getTracer)(),M=$.getActiveScopeSpan(),H={params:v,prerenderManifest:_,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:F,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)=>E.onRequestError(e,t,n,a,b)},sharedContext:{buildId:x}},J=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),K=d.NextRequestAdapter.fromNodeNextRequest(J,(0,d.signalFromNodeResponse)(t));try{let s=async e=>E.handle(K,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.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}`)}),i=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var o,l;let d=async({previousCacheEntry:r})=>{try{if(!i&&C&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await s(a);e.fetchMetrics=H.renderOpts.fetchMetrics;let l=H.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let d=H.renderOpts.collectedTags;if(!I)return await (0,p.sendResponse)(J,B,o,H.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!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,n=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:H.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 E.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:W,isOnDemandRevalidate:C})},!1,b),t}},u=await E.handleResponse({req:e,nextConfig:R,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:N,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:i});if(!I)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});i||t.setHeader("x-nextjs-cache",C?"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 i&&I||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)(J,B,new Response(u.value.body,{headers:w,status:u.value.status||200})),null};M?await l(M):await $.withPropagatedContext(e.headers,()=>$.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 E.onRequestError(e,t,{routerKind:"App Router",routePath:A,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:W,isOnDemandRevalidate:C})},!1,b),I)throw t;return await (0,p.sendResponse)(J,B,new Response(null,{status:500})),null}}e.s(["handler",()=>I,"patchFetch",()=>A,"routeModule",()=>E,"serverHooks",()=>q,"workAsyncStorage",()=>O,"workUnitAsyncStorage",()=>T],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 s(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?s(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 i(e,{sanitizeStdout:!1})}async function u(e){if("cron"===e[0])return i(e);let r=(0,t.getKitchenApi)();try{let t=await r.runtime.system.runCommandWithTimeout(["openclaw",...e],{timeoutMs:12e4}),n=s(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 s(){let e=await o();return n.default.join(e,"recipes")}async function i(){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",()=>i,"getWorkspaceRecipesDir",()=>s,"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 s=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 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,s.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,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 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,s.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 s(e){return`${e}.workflow.json`}function i(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=i(n),o=await l(e),d=r.default.join(o,s(a)),u=JSON.parse(await t.default.readFile(d,"utf8"));return{ok:!0,path:d,workflow:u}}async function c(e,n){let a=i(n.id),o=await l(e);await t.default.mkdir(o,{recursive:!0});let d=r.default.join(o,s(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=i(n),o=await l(e),d=r.default.join(o,s(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",()=>i,"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),s=e.i(74677),i=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),j=e.i(7367),S=e.i(56995);async function _(e){try{return await y.default.access(e),!0}catch{return!1}}async function b(e,t){await _(e)||(await y.default.mkdir(k.default.dirname(e),{recursive:!0}),await y.default.writeFile(e,t,"utf8"))}async function C(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 s=await (0,S.listWorkflows)(n),i=new Set(s.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",i),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"]},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 for X/Instagram/TikTok/YouTube. Output JSON: {platforms:{x:{hook,body},instagram:{hook,body,assetNotes},tiktok:{hook,script,assetNotes},youtube:{hook,script,assetNotes}}}"}},{id:"qc_brand",type:"llm",name:"QC / brand consistency",x:820,y:80,config:{agentId:"brand-qc",promptTemplate:"Review drafts for consistency. Apply corrections. Ensure: mention ClawRecipes before OpenClaw; no posting without approval. Output JSON: {platforms:{...}, notes:[...]}"}},{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}}"}},{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:"end",type:"end",name:"End",x:1860,y:120,config:{}}],edges:[{id:"e-start-research",from:"start",to:"research"},{id:"e-research-draft",from:"research",to:"draft_assets"},{id:"e-draft-qc",from:"draft_assets",to:"qc_brand"},{id:"e-qc-approval",from:"qc_brand",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-end",from:"write_post_log",to:"end"},{id:"e-learnings-end",from:"write_learnings",to:"end"}]}),d=await (0,S.writeWorkflow)(n,l),u=await (0,j.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",()=>C],58460);var N=e.i(58460);let E=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:N}),{workAsyncStorage:O,workUnitAsyncStorage:T,serverHooks:q}=E;function A(){return(0,n.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:T})}async function I(e,t,n){E.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/teams/workflow-templates/route";y=y.replace(/\/index$/,"")||"/";let k=await E.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:j,isDraftMode:S,prerenderManifest:_,routerServerContext:b,isOnDemandRevalidate:C,revalidateOnlyGenerated:N,resolvedPathname:O,clientReferenceManifest:T,serverActionsManifest:q}=k,A=(0,i.normalizeAppPath)(y),I=!!(_.dynamicRoutes[A]||_.routes[O]),P=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,j,!1):t.end("This page could not be found"),null);if(I&&!S){let e=!!_.routes[O],t=_.dynamicRoutes[A];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await P();throw new w.NoFallbackError}}let D=null;!I||E.isDev||S||(D="/index"===(D=O)?"/":D);let F=!0===E.isDev||!I,W=I&&!F;q&&T&&(0,s.setManifestsSingleton)({page:y,clientReferenceManifest:T,serverActionsManifest:q});let U=e.method||"GET",$=(0,o.getTracer)(),M=$.getActiveScopeSpan(),H={params:v,prerenderManifest:_,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:F,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)=>E.onRequestError(e,t,n,a,b)},sharedContext:{buildId:x}},J=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),K=d.NextRequestAdapter.fromNodeNextRequest(J,(0,d.signalFromNodeResponse)(t));try{let s=async e=>E.handle(K,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.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}`)}),i=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var o,l;let d=async({previousCacheEntry:r})=>{try{if(!i&&C&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await s(a);e.fetchMetrics=H.renderOpts.fetchMetrics;let l=H.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let d=H.renderOpts.collectedTags;if(!I)return await (0,p.sendResponse)(J,B,o,H.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!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,n=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:H.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 E.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:W,isOnDemandRevalidate:C})},!1,b),t}},u=await E.handleResponse({req:e,nextConfig:R,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:N,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:i});if(!I)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});i||t.setHeader("x-nextjs-cache",C?"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 i&&I||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)(J,B,new Response(u.value.body,{headers:w,status:u.value.status||200})),null};M?await l(M):await $.withPropagatedContext(e.headers,()=>$.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 E.onRequestError(e,t,{routerKind:"App Router",routePath:A,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:W,isOnDemandRevalidate:C})},!1,b),I)throw t;return await (0,p.sendResponse)(J,B,new Response(null,{status:500})),null}}e.s(["handler",()=>I,"patchFetch",()=>A,"routeModule",()=>E,"serverHooks",()=>q,"workAsyncStorage",()=>O,"workUnitAsyncStorage",()=>T],17601)}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__7459129e._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__91d0cce1._.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"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},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),s=e.i(50227);async function a(){let e=s.default.join(r.default.homedir(),".openclaw","openclaw.json");return JSON.parse(await t.default.readFile(e,"utf8"))}async function n(){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 n();return s.default.join(e,"recipes")}async function i(){let e=await n(),r=s.default.join(e,"goals");try{if((await t.default.stat(r)).isDirectory())return r}catch{}return s.default.join(e,"notes","goals")}async function l(e){let t=r.default.homedir();if(!t)throw Error("Could not resolve home directory");return s.default.join(t,".openclaw",`workspace-${e}`)}function u(e,t){return"main"===t?s.default.resolve(e):s.default.resolve(e,"..",`workspace-${t}`)}function p(e){let t=e.replace(/\\/g,"/");if(!t||t.startsWith("/")||t.includes(".."))throw Error("Invalid file name");return t}async function d(){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 s.default.join(t,"recipes","default")}e.s(["assertSafeRelativeFileName",()=>p,"getBuiltinRecipesDir",()=>d,"getTeamWorkspaceDir",()=>l,"getWorkspaceDir",()=>n,"getWorkspaceGoalsDir",()=>i,"getWorkspaceRecipesDir",()=>o,"readOpenClawConfig",()=>a,"teamDirFromBaseWorkspace",()=>u])},70820,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),a=e.i(59756),n=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),p=e.i(95169),d=e.i(47587),c=e.i(66012),h=e.i(70101),m=e.i(26937),f=e.i(10372),x=e.i(93695);e.i(52474);var g=e.i(220),w=e.i(12714),R=e.i(50227),y=e.i(89171),v=e.i(7367);function E(e){return/^[a-z0-9][a-z0-9_-]{1,62}$/.test(e)}function N(e){let t=e.replace(/\r\n/g,"\n").trimEnd();return t?/^[A-Za-z0-9 _.,:;()\[\]{}\-+/@]+$/.test(t)&&!/[:#\n]/.test(t)?t:JSON.stringify(t):'""'}async function k(e){let t=await e.json(),r=!!t.dryRun,s=String(t.recipeId??t.teamId??"").trim(),a=String(t.teamId??s).trim(),n="string"==typeof t.name?t.name.trim():"",o="string"==typeof t.description?t.description.trim():"",i=Array.isArray(t.roles)?t.roles:[];if(!s)return y.NextResponse.json({ok:!1,error:"recipeId is required"},{status:400});if(!a)return y.NextResponse.json({ok:!1,error:"teamId is required"},{status:400});if(!E(s))return y.NextResponse.json({ok:!1,error:"Invalid recipeId. Use lowercase letters/numbers with - or _ (2-63 chars)."},{status:400});if(!E(a))return y.NextResponse.json({ok:!1,error:"Invalid teamId. Use lowercase letters/numbers with - or _ (2-63 chars)."},{status:400});if(!a.endsWith("-team"))return y.NextResponse.json({ok:!1,error:"teamId must end with -team"},{status:400});if(i.length<1)return y.NextResponse.json({ok:!1,error:"Select at least one role/agent"},{status:400});let l=i.map(e=>({roleId:String(e.roleId??"").trim(),displayName:"string"==typeof e.displayName?e.displayName.trim():""})).filter(e=>e.roleId);if(l.length<1)return y.NextResponse.json({ok:!1,error:"Each selected agent must have a roleId"},{status:400});let u=new Set;for(let e of l){if(!E(e.roleId))return y.NextResponse.json({ok:!1,error:`Invalid roleId: ${e.roleId}. Use lowercase letters/numbers with - or _.`},{status:400});if(u.has(e.roleId))return y.NextResponse.json({ok:!1,error:`Duplicate roleId: ${e.roleId}`},{status:400});u.add(e.roleId)}let p=await (0,v.getWorkspaceRecipesDir)(),d=R.default.join(p,`${s}.md`);try{return await w.default.access(d),y.NextResponse.json({ok:!1,error:`Recipe already exists: ${s}`},{status:409})}catch{}let c=[];for(let e of(c.push("---"),c.push(`id: ${s}`),c.push(`name: ${N(n||s)}`),c.push("version: 0.1.0"),o&&c.push(`description: ${N(o)}`),c.push("kind: team"),c.push("requiredSkills: []"),c.push("team:"),c.push(` teamId: ${a}`),c.push("agents:"),l))c.push(` - role: ${e.roleId}`),e.displayName&&c.push(` name: ${N(e.displayName)}`),c.push(" tools:"),c.push(" profile: coding"),c.push(" allow:"),c.push(" - group:fs"),c.push(" - group:web"),c.push(" - group:runtime"),c.push(" deny:"),c.push(" - exec");for(let e of(c.push("templates:"),l)){let t=e.roleId;c.push(` ${t}.soul: |`),c.push(" # SOUL.md"),c.push(" "),c.push(` Role: ${t}`),c.push(" "),c.push(` ${t}.agents: |`),c.push(" # AGENTS.md"),c.push(" "),c.push(` You are the ${t} role in team ${a}.`),c.push(" "),c.push(` ${t}.tools: |`),c.push(" # TOOLS.md"),c.push(" "),c.push(" - (empty)"),c.push(" "),c.push(` ${t}.status: |`),c.push(" # STATUS.md"),c.push(" "),c.push(" - (empty)"),c.push(" "),c.push(` ${t}.notes: |`),c.push(" # NOTES.md"),c.push(" "),c.push(" - (empty)"),c.push("")}c.push("files:"),c.push(" - path: SOUL.md"),c.push(" template: soul"),c.push(" mode: createOnly"),c.push(" - path: AGENTS.md"),c.push(" template: agents"),c.push(" mode: createOnly"),c.push(" - path: TOOLS.md"),c.push(" template: tools"),c.push(" mode: createOnly"),c.push(" - path: STATUS.md"),c.push(" template: status"),c.push(" mode: createOnly"),c.push(" - path: NOTES.md"),c.push(" template: notes"),c.push(" mode: createOnly"),c.push("---"),c.push(""),c.push("# Custom team recipe"),c.push(""),c.push("Generated by ClawKitchen Custom Team Builder."),c.push("");let h=c.join("\n");return r?y.NextResponse.json({ok:!0,dryRun:!0,recipeId:s,teamId:a,filePath:d,md:h}):(await w.default.writeFile(d,h,"utf8"),y.NextResponse.json({ok:!0,recipeId:s,teamId:a,filePath:d}))}e.s(["POST",()=>k],65231);var C=e.i(65231);let j=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/recipes/custom-team/route",pathname:"/api/recipes/custom-team",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/recipes/custom-team/route.ts",nextConfigOutput:"standalone",userland:C}),{workAsyncStorage:I,workUnitAsyncStorage:S,serverHooks:O}=j;function T(){return(0,s.patchFetch)({workAsyncStorage:I,workUnitAsyncStorage:S})}async function A(e,t,s){j.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/recipes/custom-team/route";w=w.replace(/\/index$/,"")||"/";let R=await j.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:y,params:v,nextConfig:E,parsedUrl:N,isDraftMode:k,prerenderManifest:C,routerServerContext:I,isOnDemandRevalidate:S,revalidateOnlyGenerated:O,resolvedPathname:T,clientReferenceManifest:A,serverActionsManifest:b}=R,$=(0,i.normalizeAppPath)(w),q=!!(C.dynamicRoutes[$]||C.routes[T]),P=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,N,!1):t.end("This page could not be found"),null);if(q&&!k){let e=!!C.routes[T],t=C.dynamicRoutes[$];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await P();throw new x.NoFallbackError}}let _=null;!q||j.isDev||k||(_="/index"===(_=T)?"/":_);let U=!0===j.isDev||!q,D=q&&!U;b&&A&&(0,o.setManifestsSingleton)({page:w,clientReferenceManifest:A,serverActionsManifest:b});let H=e.method||"GET",F=(0,n.getTracer)(),M=F.getActiveScopeSpan(),W={params:v,prerenderManifest:C,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>j.onRequestError(e,t,s,a,I)},sharedContext:{buildId:y}},K=new l.NodeNextRequest(e),L=new l.NodeNextResponse(t),B=u.NextRequestAdapter.fromNodeNextRequest(K,(0,u.signalFromNodeResponse)(t));try{let o=async e=>j.handle(B,W).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")!==p.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 s=r.get("next.route");if(s){let t=`${H} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${w}`)}),i=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var n,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&S&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await o(a);e.fetchMetrics=W.renderOpts.fetchMetrics;let l=W.renderOpts.pendingWaitUntil;l&&s.waitUntil&&(s.waitUntil(l),l=void 0);let u=W.renderOpts.collectedTags;if(!q)return await (0,c.sendResponse)(K,L,n,W.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);u&&(t[f.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>=f.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,s=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await j.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:S})},!1,I),t}},p=await j.handleResponse({req:e,nextConfig:E,cacheKey:_,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:O,responseGenerator:u,waitUntil:s.waitUntil,isMinimalMode:i});if(!q)return null;if((null==p||null==(n=p.value)?void 0:n.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(l=p.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",S?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let x=(0,h.fromNodeOutgoingHttpHeaders)(p.value.headers);return i&&q||x.delete(f.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||x.get("Cache-Control")||x.set("Cache-Control",(0,m.getCacheControlHeader)(p.cacheControl)),await (0,c.sendResponse)(K,L,new Response(p.value.body,{headers:x,status:p.value.status||200})),null};M?await l(M):await F.withPropagatedContext(e.headers,()=>F.trace(p.BaseServerSpan.handleRequest,{spanName:`${H} ${w}`,kind:n.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},l))}catch(t){if(t instanceof x.NoFallbackError||await j.onRequestError(e,t,{routerKind:"App Router",routePath:$,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:S})},!1,I),q)throw t;return await (0,c.sendResponse)(K,L,new Response(null,{status:500})),null}}e.s(["handler",()=>A,"patchFetch",()=>T,"routeModule",()=>j,"serverHooks",()=>O,"workAsyncStorage",()=>I,"workUnitAsyncStorage",()=>S],70820)}];
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),s=e.i(50227);async function a(){let e=s.default.join(r.default.homedir(),".openclaw","openclaw.json");return JSON.parse(await t.default.readFile(e,"utf8"))}async function n(){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 n();return s.default.join(e,"recipes")}async function i(){let e=await n(),r=s.default.join(e,"goals");try{if((await t.default.stat(r)).isDirectory())return r}catch{}return s.default.join(e,"notes","goals")}async function l(e){let t=r.default.homedir();if(!t)throw Error("Could not resolve home directory");return s.default.join(t,".openclaw",`workspace-${e}`)}function u(e,t){return"main"===t?s.default.resolve(e):s.default.resolve(e,"..",`workspace-${t}`)}function p(e){let t=e.replace(/\\/g,"/");if(!t||t.startsWith("/")||t.includes(".."))throw Error("Invalid file name");return t}async function d(){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 s.default.join(t,"recipes","default")}e.s(["assertSafeRelativeFileName",()=>p,"getBuiltinRecipesDir",()=>d,"getTeamWorkspaceDir",()=>l,"getWorkspaceDir",()=>n,"getWorkspaceGoalsDir",()=>i,"getWorkspaceRecipesDir",()=>o,"readOpenClawConfig",()=>a,"teamDirFromBaseWorkspace",()=>u])},70820,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),a=e.i(59756),n=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),p=e.i(95169),d=e.i(47587),c=e.i(66012),h=e.i(70101),m=e.i(54468),f=e.i(10372),x=e.i(93695);e.i(52474);var g=e.i(220),w=e.i(12714),R=e.i(50227),y=e.i(89171),v=e.i(7367);function E(e){return/^[a-z0-9][a-z0-9_-]{1,62}$/.test(e)}function N(e){let t=e.replace(/\r\n/g,"\n").trimEnd();return t?/^[A-Za-z0-9 _.,:;()\[\]{}\-+/@]+$/.test(t)&&!/[:#\n]/.test(t)?t:JSON.stringify(t):'""'}async function k(e){let t=await e.json(),r=!!t.dryRun,s=String(t.recipeId??t.teamId??"").trim(),a=String(t.teamId??s).trim(),n="string"==typeof t.name?t.name.trim():"",o="string"==typeof t.description?t.description.trim():"",i=Array.isArray(t.roles)?t.roles:[];if(!s)return y.NextResponse.json({ok:!1,error:"recipeId is required"},{status:400});if(!a)return y.NextResponse.json({ok:!1,error:"teamId is required"},{status:400});if(!E(s))return y.NextResponse.json({ok:!1,error:"Invalid recipeId. Use lowercase letters/numbers with - or _ (2-63 chars)."},{status:400});if(!E(a))return y.NextResponse.json({ok:!1,error:"Invalid teamId. Use lowercase letters/numbers with - or _ (2-63 chars)."},{status:400});if(!a.endsWith("-team"))return y.NextResponse.json({ok:!1,error:"teamId must end with -team"},{status:400});if(i.length<1)return y.NextResponse.json({ok:!1,error:"Select at least one role/agent"},{status:400});let l=i.map(e=>({roleId:String(e.roleId??"").trim(),displayName:"string"==typeof e.displayName?e.displayName.trim():""})).filter(e=>e.roleId);if(l.length<1)return y.NextResponse.json({ok:!1,error:"Each selected agent must have a roleId"},{status:400});let u=new Set;for(let e of l){if(!E(e.roleId))return y.NextResponse.json({ok:!1,error:`Invalid roleId: ${e.roleId}. Use lowercase letters/numbers with - or _.`},{status:400});if(u.has(e.roleId))return y.NextResponse.json({ok:!1,error:`Duplicate roleId: ${e.roleId}`},{status:400});u.add(e.roleId)}let p=await (0,v.getWorkspaceRecipesDir)(),d=R.default.join(p,`${s}.md`);try{return await w.default.access(d),y.NextResponse.json({ok:!1,error:`Recipe already exists: ${s}`},{status:409})}catch{}let c=[];for(let e of(c.push("---"),c.push(`id: ${s}`),c.push(`name: ${N(n||s)}`),c.push("version: 0.1.0"),o&&c.push(`description: ${N(o)}`),c.push("kind: team"),c.push("requiredSkills: []"),c.push("team:"),c.push(` teamId: ${a}`),c.push("agents:"),l))c.push(` - role: ${e.roleId}`),e.displayName&&c.push(` name: ${N(e.displayName)}`),c.push(" tools:"),c.push(" profile: coding"),c.push(" allow:"),c.push(" - group:fs"),c.push(" - group:web"),c.push(" - group:runtime"),c.push(" deny:"),c.push(" - exec");for(let e of(c.push("templates:"),l)){let t=e.roleId;c.push(` ${t}.soul: |`),c.push(" # SOUL.md"),c.push(" "),c.push(` Role: ${t}`),c.push(" "),c.push(` ${t}.agents: |`),c.push(" # AGENTS.md"),c.push(" "),c.push(` You are the ${t} role in team ${a}.`),c.push(" "),c.push(` ${t}.tools: |`),c.push(" # TOOLS.md"),c.push(" "),c.push(" - (empty)"),c.push(" "),c.push(` ${t}.status: |`),c.push(" # STATUS.md"),c.push(" "),c.push(" - (empty)"),c.push(" "),c.push(` ${t}.notes: |`),c.push(" # NOTES.md"),c.push(" "),c.push(" - (empty)"),c.push("")}c.push("files:"),c.push(" - path: SOUL.md"),c.push(" template: soul"),c.push(" mode: createOnly"),c.push(" - path: AGENTS.md"),c.push(" template: agents"),c.push(" mode: createOnly"),c.push(" - path: TOOLS.md"),c.push(" template: tools"),c.push(" mode: createOnly"),c.push(" - path: STATUS.md"),c.push(" template: status"),c.push(" mode: createOnly"),c.push(" - path: NOTES.md"),c.push(" template: notes"),c.push(" mode: createOnly"),c.push("---"),c.push(""),c.push("# Custom team recipe"),c.push(""),c.push("Generated by ClawKitchen Custom Team Builder."),c.push("");let h=c.join("\n");return r?y.NextResponse.json({ok:!0,dryRun:!0,recipeId:s,teamId:a,filePath:d,md:h}):(await w.default.writeFile(d,h,"utf8"),y.NextResponse.json({ok:!0,recipeId:s,teamId:a,filePath:d}))}e.s(["POST",()=>k],65231);var C=e.i(65231);let j=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/recipes/custom-team/route",pathname:"/api/recipes/custom-team",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/recipes/custom-team/route.ts",nextConfigOutput:"standalone",userland:C}),{workAsyncStorage:I,workUnitAsyncStorage:S,serverHooks:O}=j;function T(){return(0,s.patchFetch)({workAsyncStorage:I,workUnitAsyncStorage:S})}async function A(e,t,s){j.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/recipes/custom-team/route";w=w.replace(/\/index$/,"")||"/";let R=await j.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:y,params:v,nextConfig:E,parsedUrl:N,isDraftMode:k,prerenderManifest:C,routerServerContext:I,isOnDemandRevalidate:S,revalidateOnlyGenerated:O,resolvedPathname:T,clientReferenceManifest:A,serverActionsManifest:b}=R,$=(0,i.normalizeAppPath)(w),q=!!(C.dynamicRoutes[$]||C.routes[T]),P=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,N,!1):t.end("This page could not be found"),null);if(q&&!k){let e=!!C.routes[T],t=C.dynamicRoutes[$];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await P();throw new x.NoFallbackError}}let _=null;!q||j.isDev||k||(_="/index"===(_=T)?"/":_);let U=!0===j.isDev||!q,D=q&&!U;b&&A&&(0,o.setManifestsSingleton)({page:w,clientReferenceManifest:A,serverActionsManifest:b});let H=e.method||"GET",F=(0,n.getTracer)(),M=F.getActiveScopeSpan(),W={params:v,prerenderManifest:C,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>j.onRequestError(e,t,s,a,I)},sharedContext:{buildId:y}},K=new l.NodeNextRequest(e),L=new l.NodeNextResponse(t),B=u.NextRequestAdapter.fromNodeNextRequest(K,(0,u.signalFromNodeResponse)(t));try{let o=async e=>j.handle(B,W).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")!==p.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 s=r.get("next.route");if(s){let t=`${H} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${w}`)}),i=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var n,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&S&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await o(a);e.fetchMetrics=W.renderOpts.fetchMetrics;let l=W.renderOpts.pendingWaitUntil;l&&s.waitUntil&&(s.waitUntil(l),l=void 0);let u=W.renderOpts.collectedTags;if(!q)return await (0,c.sendResponse)(K,L,n,W.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);u&&(t[f.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>=f.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,s=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await j.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:S})},!1,I),t}},p=await j.handleResponse({req:e,nextConfig:E,cacheKey:_,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:O,responseGenerator:u,waitUntil:s.waitUntil,isMinimalMode:i});if(!q)return null;if((null==p||null==(n=p.value)?void 0:n.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(l=p.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",S?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let x=(0,h.fromNodeOutgoingHttpHeaders)(p.value.headers);return i&&q||x.delete(f.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||x.get("Cache-Control")||x.set("Cache-Control",(0,m.getCacheControlHeader)(p.cacheControl)),await (0,c.sendResponse)(K,L,new Response(p.value.body,{headers:x,status:p.value.status||200})),null};M?await l(M):await F.withPropagatedContext(e.headers,()=>F.trace(p.BaseServerSpan.handleRequest,{spanName:`${H} ${w}`,kind:n.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},l))}catch(t){if(t instanceof x.NoFallbackError||await j.onRequestError(e,t,{routerKind:"App Router",routePath:$,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:S})},!1,I),q)throw t;return await (0,c.sendResponse)(K,L,new Response(null,{status:500})),null}}e.s(["handler",()=>A,"patchFetch",()=>T,"routeModule",()=>j,"serverHooks",()=>O,"workAsyncStorage",()=>I,"workUnitAsyncStorage",()=>S],70820)}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__e40409a2._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__9853b72d._.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"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},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 o(){let e=await i();return a.default.join(e,"recipes")}async function s(){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 d(e,t){return"main"===t?a.default.resolve(e):a.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 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",()=>u,"getBuiltinRecipesDir",()=>c,"getTeamWorkspaceDir",()=>l,"getWorkspaceDir",()=>i,"getWorkspaceGoalsDir",()=>s,"getWorkspaceRecipesDir",()=>o,"readOpenClawConfig",()=>n,"teamDirFromBaseWorkspace",()=>d])},5365,(e,t,r)=>{t.exports=e.x("process",()=>require("process"))},874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},93518,e=>{"use strict";function t(e){if(!e.startsWith("---\n"))throw Error("Recipe markdown must start with YAML frontmatter (---)");let t=e.indexOf("\n---\n",4);if(-1===t)throw Error("Recipe frontmatter not terminated (---)");return{yamlText:e.slice(4,t+1),rest:e.slice(t+5)}}function r(e){let t=e.trim();if(!t)throw Error("role is required");if(!/^[a-z][a-z0-9-]{0,62}$/i.test(t))throw Error("role must be alphanumeric/dash");return t}e.s(["normalizeRole",()=>r,"splitRecipeFrontmatter",()=>t])},35154,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),i=e.i(61916),o=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),h=e.i(26937),m=e.i(10372),w=e.i(93695);e.i(52474);var g=e.i(220),x=e.i(12714),R=e.i(50227),v=e.i(89171),y=e.i(23008),E=e.i(7367),k=e.i(93518);let C=null;async function j(){let e=await (0,E.getWorkspaceRecipesDir)(),t=await (0,E.getBuiltinRecipesDir)();async function r(e){try{return(await x.default.readdir(e,{withFileTypes:!0})).filter(e=>e.isFile()&&e.name.endsWith(".md")).map(e=>e.name)}catch{return[]}}let a=await r(e),n=await r(t),i=new Map;for(let e of n)i.set(R.default.basename(e,".md"),R.default.join(t,e));for(let t of a)i.set(R.default.basename(t,".md"),R.default.join(e,t));return Array.from(i.entries()).map(([e,t])=>({id:e,filePath:t})).sort((e,t)=>e.id.localeCompare(t.id))}async function b(){let e=R.default.resolve(await (0,E.getWorkspaceRecipesDir)(),".."),t=[];try{t=await x.default.readdir(e,{withFileTypes:!0})}catch{return new Set}let r=new Set;for(let a of t){if(!a.isDirectory()||!a.name.startsWith("workspace-"))continue;let t=R.default.join(e,a.name),n=R.default.join(t,"team.json");try{let e=await x.default.readFile(n,"utf8"),t=JSON.parse(e),a=String(t?.recipeId??"").trim();a&&r.add(a)}catch{}}return r}async function A(){let e=Date.now();if(C&&e-C.ts<3e5)return v.NextResponse.json({ok:!0,items:C.items,cached:!0});let t=await j(),r=[];for(let e of t){let t="";try{t=await x.default.readFile(e.filePath,"utf8")}catch{continue}r.push(...function(e,t){let r;try{r=function(e){let t=e.indexOf("---\n");if(-1===t)throw Error("Recipe markdown must include YAML frontmatter (---)");let r=e.slice(t),{yamlText:a}=(0,k.splitRecipeFrontmatter)(r);return y.default.parse(a)}(t)}catch{return[]}let a=r&&"object"==typeof r?r:{},n=String(a.kind??"").trim(),i=String(a.name??e).trim()||e,o=[];if("team"===n)for(let t of Array.isArray(a.agents)?a.agents:[]){let r=t&&"object"==typeof t?t:{},a=String(r.role??"").trim();if(!a)continue;let n=r.name?String(r.name).trim():"";o.push({kind:"team-role",recipeId:e,recipeName:i,roleId:a,roleName:n||void 0})}if("agent"===n){let t=a.description?String(a.description).trim():"";o.push({kind:"single-agent",recipeId:e,recipeName:i,description:t||void 0})}return o}(e.id,t))}let a=function(e,t){let r=new Set,a=new Map;for(let n of e){if("single-agent"===n.kind){let e=n.recipeId;if(r.has(e))continue;r.add(e);continue}let e=a.get(n.roleId);if(!e){a.set(n.roleId,n);continue}let i=t.has(e.recipeId),o=t.has(n.recipeId);(!i||o)&&!i&&o&&a.set(n.roleId,n)}let n=[];for(let t of e)if("single-agent"===t.kind){if(!r.has(t.recipeId))continue;r.delete(t.recipeId),n.push(t)}for(let e of a.values())n.push(e);return n}(r,await b());return a.sort((e,t)=>{if(e.kind!==t.kind)return"team-role"===e.kind?-1:1;let r=e.recipeId.localeCompare(t.recipeId);return r||("team-role"===e.kind&&"team-role"===t.kind?e.roleId.localeCompare(t.roleId):0)}),C={ts:e,items:a},v.NextResponse.json({ok:!0,items:a,cached:!1})}e.s(["GET",()=>A,"dynamic",0,"force-dynamic"],9557);var S=e.i(9557);let I=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/recipes/local-agent-catalog/route",pathname:"/api/recipes/local-agent-catalog",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/recipes/local-agent-catalog/route.ts",nextConfigOutput:"standalone",userland:S}),{workAsyncStorage:N,workUnitAsyncStorage:T,serverHooks:q}=I;function O(){return(0,a.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:T})}async function P(e,t,a){I.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/recipes/local-agent-catalog/route";x=x.replace(/\/index$/,"")||"/";let R=await I.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:y,nextConfig:E,parsedUrl:k,isDraftMode:C,prerenderManifest:j,routerServerContext:b,isOnDemandRevalidate:A,revalidateOnlyGenerated:S,resolvedPathname:N,clientReferenceManifest:T,serverActionsManifest:q}=R,O=(0,s.normalizeAppPath)(x),P=!!(j.dynamicRoutes[O]||j.routes[N]),D=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,k,!1):t.end("This page could not be found"),null);if(P&&!C){let e=!!j.routes[N],t=j.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await D();throw new w.NoFallbackError}}let _=null;!P||I.isDev||C||(_="/index"===(_=N)?"/":_);let F=!0===I.isDev||!P,H=P&&!F;q&&T&&(0,o.setManifestsSingleton)({page:x,clientReferenceManifest:T,serverActionsManifest:q});let M=e.method||"GET",U=(0,i.getTracer)(),W=U.getActiveScopeSpan(),$={params:y,prerenderManifest:j,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:F,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>I.onRequestError(e,t,a,n,b)},sharedContext:{buildId:v}},B=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),L=d.NextRequestAdapter.fromNodeNextRequest(B,(0,d.signalFromNodeResponse)(t));try{let o=async e=>I.handle(L,$).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")!==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 a=r.get("next.route");if(a){let t=`${M} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${x}`)}),s=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var i,l;let d=async({previousCacheEntry:r})=>{try{if(!s&&A&&S&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await o(n);e.fetchMetrics=$.renderOpts.fetchMetrics;let l=$.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=$.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)(B,K,i,$.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(i.headers);d&&(t[m.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,a=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:g.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 I.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,b),t}},u=await I.handleResponse({req:e,nextConfig:E,cacheKey:_,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:j,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:S,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:s});if(!P)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==g.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",A?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let w=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return s&&P||w.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||w.get("Cache-Control")||w.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(B,K,new Response(u.value.body,{headers:w,status:u.value.status||200})),null};W?await l(W):await U.withPropagatedContext(e.headers,()=>U.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${x}`,kind:i.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof w.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,b),P)throw t;return await (0,p.sendResponse)(B,K,new Response(null,{status:500})),null}}e.s(["handler",()=>P,"patchFetch",()=>O,"routeModule",()=>I,"serverHooks",()=>q,"workAsyncStorage",()=>N,"workUnitAsyncStorage",()=>T],35154)}];
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 o(){let e=await i();return a.default.join(e,"recipes")}async function s(){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 d(e,t){return"main"===t?a.default.resolve(e):a.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 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",()=>u,"getBuiltinRecipesDir",()=>c,"getTeamWorkspaceDir",()=>l,"getWorkspaceDir",()=>i,"getWorkspaceGoalsDir",()=>s,"getWorkspaceRecipesDir",()=>o,"readOpenClawConfig",()=>n,"teamDirFromBaseWorkspace",()=>d])},5365,(e,t,r)=>{t.exports=e.x("process",()=>require("process"))},874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},93518,e=>{"use strict";function t(e){if(!e.startsWith("---\n"))throw Error("Recipe markdown must start with YAML frontmatter (---)");let t=e.indexOf("\n---\n",4);if(-1===t)throw Error("Recipe frontmatter not terminated (---)");return{yamlText:e.slice(4,t+1),rest:e.slice(t+5)}}function r(e){let t=e.trim();if(!t)throw Error("role is required");if(!/^[a-z][a-z0-9-]{0,62}$/i.test(t))throw Error("role must be alphanumeric/dash");return t}e.s(["normalizeRole",()=>r,"splitRecipeFrontmatter",()=>t])},35154,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),i=e.i(61916),o=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),h=e.i(54468),m=e.i(10372),w=e.i(93695);e.i(52474);var g=e.i(220),x=e.i(12714),R=e.i(50227),v=e.i(89171),y=e.i(23008),E=e.i(7367),k=e.i(93518);let C=null;async function j(){let e=await (0,E.getWorkspaceRecipesDir)(),t=await (0,E.getBuiltinRecipesDir)();async function r(e){try{return(await x.default.readdir(e,{withFileTypes:!0})).filter(e=>e.isFile()&&e.name.endsWith(".md")).map(e=>e.name)}catch{return[]}}let a=await r(e),n=await r(t),i=new Map;for(let e of n)i.set(R.default.basename(e,".md"),R.default.join(t,e));for(let t of a)i.set(R.default.basename(t,".md"),R.default.join(e,t));return Array.from(i.entries()).map(([e,t])=>({id:e,filePath:t})).sort((e,t)=>e.id.localeCompare(t.id))}async function b(){let e=R.default.resolve(await (0,E.getWorkspaceRecipesDir)(),".."),t=[];try{t=await x.default.readdir(e,{withFileTypes:!0})}catch{return new Set}let r=new Set;for(let a of t){if(!a.isDirectory()||!a.name.startsWith("workspace-"))continue;let t=R.default.join(e,a.name),n=R.default.join(t,"team.json");try{let e=await x.default.readFile(n,"utf8"),t=JSON.parse(e),a=String(t?.recipeId??"").trim();a&&r.add(a)}catch{}}return r}async function A(){let e=Date.now();if(C&&e-C.ts<3e5)return v.NextResponse.json({ok:!0,items:C.items,cached:!0});let t=await j(),r=[];for(let e of t){let t="";try{t=await x.default.readFile(e.filePath,"utf8")}catch{continue}r.push(...function(e,t){let r;try{r=function(e){let t=e.indexOf("---\n");if(-1===t)throw Error("Recipe markdown must include YAML frontmatter (---)");let r=e.slice(t),{yamlText:a}=(0,k.splitRecipeFrontmatter)(r);return y.default.parse(a)}(t)}catch{return[]}let a=r&&"object"==typeof r?r:{},n=String(a.kind??"").trim(),i=String(a.name??e).trim()||e,o=[];if("team"===n)for(let t of Array.isArray(a.agents)?a.agents:[]){let r=t&&"object"==typeof t?t:{},a=String(r.role??"").trim();if(!a)continue;let n=r.name?String(r.name).trim():"";o.push({kind:"team-role",recipeId:e,recipeName:i,roleId:a,roleName:n||void 0})}if("agent"===n){let t=a.description?String(a.description).trim():"";o.push({kind:"single-agent",recipeId:e,recipeName:i,description:t||void 0})}return o}(e.id,t))}let a=function(e,t){let r=new Set,a=new Map;for(let n of e){if("single-agent"===n.kind){let e=n.recipeId;if(r.has(e))continue;r.add(e);continue}let e=a.get(n.roleId);if(!e){a.set(n.roleId,n);continue}let i=t.has(e.recipeId),o=t.has(n.recipeId);(!i||o)&&!i&&o&&a.set(n.roleId,n)}let n=[];for(let t of e)if("single-agent"===t.kind){if(!r.has(t.recipeId))continue;r.delete(t.recipeId),n.push(t)}for(let e of a.values())n.push(e);return n}(r,await b());return a.sort((e,t)=>{if(e.kind!==t.kind)return"team-role"===e.kind?-1:1;let r=e.recipeId.localeCompare(t.recipeId);return r||("team-role"===e.kind&&"team-role"===t.kind?e.roleId.localeCompare(t.roleId):0)}),C={ts:e,items:a},v.NextResponse.json({ok:!0,items:a,cached:!1})}e.s(["GET",()=>A,"dynamic",0,"force-dynamic"],9557);var S=e.i(9557);let I=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/recipes/local-agent-catalog/route",pathname:"/api/recipes/local-agent-catalog",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/recipes/local-agent-catalog/route.ts",nextConfigOutput:"standalone",userland:S}),{workAsyncStorage:N,workUnitAsyncStorage:T,serverHooks:q}=I;function O(){return(0,a.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:T})}async function P(e,t,a){I.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/recipes/local-agent-catalog/route";x=x.replace(/\/index$/,"")||"/";let R=await I.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:y,nextConfig:E,parsedUrl:k,isDraftMode:C,prerenderManifest:j,routerServerContext:b,isOnDemandRevalidate:A,revalidateOnlyGenerated:S,resolvedPathname:N,clientReferenceManifest:T,serverActionsManifest:q}=R,O=(0,s.normalizeAppPath)(x),P=!!(j.dynamicRoutes[O]||j.routes[N]),D=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,k,!1):t.end("This page could not be found"),null);if(P&&!C){let e=!!j.routes[N],t=j.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await D();throw new w.NoFallbackError}}let _=null;!P||I.isDev||C||(_="/index"===(_=N)?"/":_);let F=!0===I.isDev||!P,H=P&&!F;q&&T&&(0,o.setManifestsSingleton)({page:x,clientReferenceManifest:T,serverActionsManifest:q});let M=e.method||"GET",U=(0,i.getTracer)(),W=U.getActiveScopeSpan(),$={params:y,prerenderManifest:j,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:F,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>I.onRequestError(e,t,a,n,b)},sharedContext:{buildId:v}},B=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),L=d.NextRequestAdapter.fromNodeNextRequest(B,(0,d.signalFromNodeResponse)(t));try{let o=async e=>I.handle(L,$).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")!==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 a=r.get("next.route");if(a){let t=`${M} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${x}`)}),s=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var i,l;let d=async({previousCacheEntry:r})=>{try{if(!s&&A&&S&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await o(n);e.fetchMetrics=$.renderOpts.fetchMetrics;let l=$.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=$.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)(B,K,i,$.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(i.headers);d&&(t[m.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,a=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:g.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 I.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,b),t}},u=await I.handleResponse({req:e,nextConfig:E,cacheKey:_,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:j,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:S,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:s});if(!P)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==g.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",A?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let w=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return s&&P||w.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||w.get("Cache-Control")||w.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(B,K,new Response(u.value.body,{headers:w,status:u.value.status||200})),null};W?await l(W):await U.withPropagatedContext(e.headers,()=>U.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${x}`,kind:i.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof w.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,b),P)throw t;return await (0,p.sendResponse)(B,K,new Response(null,{status:500})),null}}e.s(["handler",()=>P,"patchFetch",()=>O,"routeModule",()=>I,"serverHooks",()=>q,"workAsyncStorage",()=>N,"workUnitAsyncStorage",()=>T],35154)}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__95ddb81a._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__9dba20b3._.js.map