@jiggai/kitchen 0.5.11 → 0.5.12

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 (186) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +2 -2
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/server/app/_global-error.html +2 -2
  5. package/.next/server/app/_global-error.rsc +1 -1
  6. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/.next/server/app/_not-found.html +1 -1
  12. package/.next/server/app/_not-found.rsc +2 -2
  13. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  14. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  15. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  16. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  17. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  18. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  19. package/.next/server/app/api/cron/add/route.js +1 -1
  20. package/.next/server/app/api/cron/add/route.js.nft.json +1 -1
  21. package/.next/server/app/api/cron/bulk/route.js +1 -1
  22. package/.next/server/app/api/cron/bulk/route.js.nft.json +1 -1
  23. package/.next/server/app/api/cron/delete/route.js +1 -1
  24. package/.next/server/app/api/cron/delete/route.js.nft.json +1 -1
  25. package/.next/server/app/api/cron/edit/route.js +1 -1
  26. package/.next/server/app/api/cron/edit/route.js.nft.json +1 -1
  27. package/.next/server/app/api/cron/job/route.js +1 -1
  28. package/.next/server/app/api/cron/job/route.js.nft.json +1 -1
  29. package/.next/server/app/api/cron/jobs/route.js +1 -1
  30. package/.next/server/app/api/cron/jobs/route.js.nft.json +1 -1
  31. package/.next/server/app/api/cron/recipe-installed/route.js +1 -1
  32. package/.next/server/app/api/cron/recipe-installed/route.js.nft.json +1 -1
  33. package/.next/server/app/api/cron/worker/route.js +1 -1
  34. package/.next/server/app/api/cron/worker/route.js.nft.json +1 -1
  35. package/.next/server/app/api/goals/[id]/promote/route.js.nft.json +1 -1
  36. package/.next/server/app/api/goals/[id]/route.js.nft.json +1 -1
  37. package/.next/server/app/api/goals/route.js.nft.json +1 -1
  38. package/.next/server/app/api/plugins/[pluginId]/[...path]/route.js.nft.json +1 -1
  39. package/.next/server/app/api/plugins/[pluginId]/tabs/[tabId]/route.js.nft.json +1 -1
  40. package/.next/server/app/api/plugins/route.js.nft.json +1 -1
  41. package/.next/server/app/api/plugins/test/route.js.nft.json +1 -1
  42. package/.next/server/app/api/recipes/[id]/route.js +1 -1
  43. package/.next/server/app/api/recipes/[id]/route.js.nft.json +1 -1
  44. package/.next/server/app/api/recipes/delete/route.js +1 -1
  45. package/.next/server/app/api/recipes/delete/route.js.nft.json +1 -1
  46. package/.next/server/app/api/teams/[teamId]/tickets/assign/route.js.nft.json +1 -1
  47. package/.next/server/app/api/teams/[teamId]/tickets/comment/route.js.nft.json +1 -1
  48. package/.next/server/app/api/teams/[teamId]/tickets/delete/route.js.nft.json +1 -1
  49. package/.next/server/app/api/teams/[teamId]/tickets/move/route.js.nft.json +1 -1
  50. package/.next/server/app/api/teams/[teamId]/tickets/move-to-goals/route.js.nft.json +1 -1
  51. package/.next/server/app/api/teams/orchestrator/route.js.nft.json +1 -1
  52. package/.next/server/app/api/teams/plugins/route.js.nft.json +1 -1
  53. package/.next/server/app/api/teams/remove-team/route.js +1 -1
  54. package/.next/server/app/api/teams/remove-team/route.js.nft.json +1 -1
  55. package/.next/server/app/api/tickets/assign/route.js.nft.json +1 -1
  56. package/.next/server/app/api/tickets/assignees/route.js.nft.json +1 -1
  57. package/.next/server/app/api/tickets/move/route.js.nft.json +1 -1
  58. package/.next/server/app/channels.html +2 -2
  59. package/.next/server/app/channels.rsc +2 -2
  60. package/.next/server/app/channels.segments/_full.segment.rsc +2 -2
  61. package/.next/server/app/channels.segments/_head.segment.rsc +1 -1
  62. package/.next/server/app/channels.segments/_index.segment.rsc +1 -1
  63. package/.next/server/app/channels.segments/_tree.segment.rsc +1 -1
  64. package/.next/server/app/channels.segments/channels/__PAGE__.segment.rsc +1 -1
  65. package/.next/server/app/channels.segments/channels.segment.rsc +1 -1
  66. package/.next/server/app/goals/new.html +2 -2
  67. package/.next/server/app/goals/new.rsc +2 -2
  68. package/.next/server/app/goals/new.segments/_full.segment.rsc +2 -2
  69. package/.next/server/app/goals/new.segments/_head.segment.rsc +1 -1
  70. package/.next/server/app/goals/new.segments/_index.segment.rsc +1 -1
  71. package/.next/server/app/goals/new.segments/_tree.segment.rsc +1 -1
  72. package/.next/server/app/goals/new.segments/goals/new/__PAGE__.segment.rsc +1 -1
  73. package/.next/server/app/goals/new.segments/goals/new.segment.rsc +1 -1
  74. package/.next/server/app/goals/new.segments/goals.segment.rsc +1 -1
  75. package/.next/server/app/goals.html +1 -1
  76. package/.next/server/app/goals.rsc +2 -2
  77. package/.next/server/app/goals.segments/_full.segment.rsc +2 -2
  78. package/.next/server/app/goals.segments/_head.segment.rsc +1 -1
  79. package/.next/server/app/goals.segments/_index.segment.rsc +1 -1
  80. package/.next/server/app/goals.segments/_tree.segment.rsc +1 -1
  81. package/.next/server/app/goals.segments/goals/__PAGE__.segment.rsc +1 -1
  82. package/.next/server/app/goals.segments/goals.segment.rsc +1 -1
  83. package/.next/server/app/page.js +3 -3
  84. package/.next/server/app/page.js.nft.json +1 -1
  85. package/.next/server/app/recipes/[id]/page.js +1 -1
  86. package/.next/server/app/recipes/[id]/page.js.nft.json +1 -1
  87. package/.next/server/app/settings.html +1 -1
  88. package/.next/server/app/settings.rsc +2 -2
  89. package/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  90. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  91. package/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  92. package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  93. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  94. package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  95. package/.next/server/app/teams/[teamId]/deliverables/page.js +2 -2
  96. package/.next/server/app/teams/[teamId]/deliverables/page.js.nft.json +1 -1
  97. package/.next/server/app/teams/[teamId]/runs/[workflowId]/[runId]/page.js +2 -2
  98. package/.next/server/app/teams/[teamId]/runs/[workflowId]/[runId]/page.js.nft.json +1 -1
  99. package/.next/server/app/teams/[teamId]/tickets/[ticket]/page.js.nft.json +1 -1
  100. package/.next/server/app/teams/[teamId]/tickets/page.js.nft.json +1 -1
  101. package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page.js +1 -1
  102. package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page.js.nft.json +1 -1
  103. package/.next/server/app/teams/[teamId]/workflows/page.js +3 -3
  104. package/.next/server/app/teams/[teamId]/workflows/page.js.nft.json +1 -1
  105. package/.next/server/app/tickets/[ticket]/page.js.nft.json +1 -1
  106. package/.next/server/app/tickets/page.js.nft.json +1 -1
  107. package/.next/server/chunks/[root-of-the-server]__1331482c._.js +3 -0
  108. package/.next/server/chunks/[root-of-the-server]__1331482c._.js.map +1 -0
  109. package/.next/server/chunks/[root-of-the-server]__24d25a8c._.js +3 -0
  110. package/.next/server/chunks/[root-of-the-server]__24d25a8c._.js.map +1 -0
  111. package/.next/server/chunks/[root-of-the-server]__3d9c4025._.js +3 -0
  112. package/.next/server/chunks/[root-of-the-server]__3d9c4025._.js.map +1 -0
  113. package/.next/server/chunks/[root-of-the-server]__83753ef0._.js +3 -0
  114. package/.next/server/chunks/[root-of-the-server]__83753ef0._.js.map +1 -0
  115. package/.next/server/chunks/[root-of-the-server]__8799df50._.js +3 -0
  116. package/.next/server/chunks/[root-of-the-server]__8799df50._.js.map +1 -0
  117. package/.next/server/chunks/[root-of-the-server]__a90f7cdc._.js +3 -0
  118. package/.next/server/chunks/[root-of-the-server]__a90f7cdc._.js.map +1 -0
  119. package/.next/server/chunks/[root-of-the-server]__afde9f7c._.js +3 -0
  120. package/.next/server/chunks/[root-of-the-server]__afde9f7c._.js.map +1 -0
  121. package/.next/server/chunks/[root-of-the-server]__e3431817._.js +3 -0
  122. package/.next/server/chunks/[root-of-the-server]__e3431817._.js.map +1 -0
  123. package/.next/server/chunks/[root-of-the-server]__e6ecca08._.js +3 -0
  124. package/.next/server/chunks/[root-of-the-server]__e6ecca08._.js.map +1 -0
  125. package/.next/server/chunks/{[root-of-the-server]__d0634ad4._.js → [root-of-the-server]__fc511c8f._.js} +2 -2
  126. package/.next/server/chunks/[root-of-the-server]__fc511c8f._.js.map +1 -0
  127. package/.next/server/chunks/[root-of-the-server]__fcde644b._.js +3 -0
  128. package/.next/server/chunks/[root-of-the-server]__fcde644b._.js.map +1 -0
  129. package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_cb6ddb24.js +2 -2
  130. package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_cb6ddb24.js.map +1 -1
  131. package/.next/server/chunks/ssr/{[root-of-the-server]__becf14db._.js → [root-of-the-server]__0a8db855._.js} +2 -2
  132. package/.next/server/chunks/ssr/[root-of-the-server]__0a8db855._.js.map +1 -0
  133. package/.next/server/chunks/ssr/{[root-of-the-server]__4d24c088._.js → [root-of-the-server]__18154c9e._.js} +2 -2
  134. package/.next/server/chunks/ssr/[root-of-the-server]__18154c9e._.js.map +1 -0
  135. package/.next/server/chunks/ssr/[root-of-the-server]__3b880807._.js +1 -1
  136. package/.next/server/chunks/ssr/[root-of-the-server]__3b880807._.js.map +1 -1
  137. package/.next/server/chunks/ssr/[root-of-the-server]__52cb8e0e._.js +3 -0
  138. package/.next/server/chunks/ssr/[root-of-the-server]__52cb8e0e._.js.map +1 -0
  139. package/.next/server/chunks/ssr/[root-of-the-server]__7c14561e._.js +3 -0
  140. package/.next/server/chunks/ssr/[root-of-the-server]__7c14561e._.js.map +1 -0
  141. package/.next/server/chunks/ssr/[root-of-the-server]__c97fe9e9._.js +3 -0
  142. package/.next/server/chunks/ssr/[root-of-the-server]__c97fe9e9._.js.map +1 -0
  143. package/.next/server/chunks/ssr/[root-of-the-server]__e9faef37._.js +3 -0
  144. package/.next/server/chunks/ssr/[root-of-the-server]__e9faef37._.js.map +1 -0
  145. package/.next/server/chunks/ssr/_018dfe6b._.js +1 -1
  146. package/.next/server/chunks/ssr/_018dfe6b._.js.map +1 -1
  147. package/.next/server/pages/404.html +1 -1
  148. package/.next/server/pages/500.html +2 -2
  149. package/.next/server/server-reference-manifest.js +1 -1
  150. package/.next/server/server-reference-manifest.json +1 -1
  151. package/openclaw.plugin.json +1 -1
  152. package/package.json +1 -1
  153. package/.next/server/chunks/[root-of-the-server]__2705b289._.js +0 -3
  154. package/.next/server/chunks/[root-of-the-server]__2705b289._.js.map +0 -1
  155. package/.next/server/chunks/[root-of-the-server]__28a2e162._.js +0 -3
  156. package/.next/server/chunks/[root-of-the-server]__28a2e162._.js.map +0 -1
  157. package/.next/server/chunks/[root-of-the-server]__30cd38e9._.js +0 -3
  158. package/.next/server/chunks/[root-of-the-server]__30cd38e9._.js.map +0 -1
  159. package/.next/server/chunks/[root-of-the-server]__55defc7c._.js +0 -3
  160. package/.next/server/chunks/[root-of-the-server]__55defc7c._.js.map +0 -1
  161. package/.next/server/chunks/[root-of-the-server]__69c065ce._.js +0 -3
  162. package/.next/server/chunks/[root-of-the-server]__69c065ce._.js.map +0 -1
  163. package/.next/server/chunks/[root-of-the-server]__6b759340._.js +0 -3
  164. package/.next/server/chunks/[root-of-the-server]__6b759340._.js.map +0 -1
  165. package/.next/server/chunks/[root-of-the-server]__70a062f7._.js +0 -3
  166. package/.next/server/chunks/[root-of-the-server]__70a062f7._.js.map +0 -1
  167. package/.next/server/chunks/[root-of-the-server]__783b6b5b._.js +0 -3
  168. package/.next/server/chunks/[root-of-the-server]__783b6b5b._.js.map +0 -1
  169. package/.next/server/chunks/[root-of-the-server]__9f73c31b._.js +0 -3
  170. package/.next/server/chunks/[root-of-the-server]__9f73c31b._.js.map +0 -1
  171. package/.next/server/chunks/[root-of-the-server]__d0634ad4._.js.map +0 -1
  172. package/.next/server/chunks/[root-of-the-server]__f3e3dd8e._.js +0 -3
  173. package/.next/server/chunks/[root-of-the-server]__f3e3dd8e._.js.map +0 -1
  174. package/.next/server/chunks/ssr/[root-of-the-server]__3f55f975._.js +0 -3
  175. package/.next/server/chunks/ssr/[root-of-the-server]__3f55f975._.js.map +0 -1
  176. package/.next/server/chunks/ssr/[root-of-the-server]__4d24c088._.js.map +0 -1
  177. package/.next/server/chunks/ssr/[root-of-the-server]__6390ce9c._.js +0 -3
  178. package/.next/server/chunks/ssr/[root-of-the-server]__6390ce9c._.js.map +0 -1
  179. package/.next/server/chunks/ssr/[root-of-the-server]__a2e3966f._.js +0 -3
  180. package/.next/server/chunks/ssr/[root-of-the-server]__a2e3966f._.js.map +0 -1
  181. package/.next/server/chunks/ssr/[root-of-the-server]__becf14db._.js.map +0 -1
  182. package/.next/server/chunks/ssr/[root-of-the-server]__f59c3144._.js +0 -3
  183. package/.next/server/chunks/ssr/[root-of-the-server]__f59c3144._.js.map +0 -1
  184. /package/.next/static/{LRt6kweldrLHTF1HgLgu2 → p8YaBY0FwA86zQelkOQ-m}/_buildManifest.js +0 -0
  185. /package/.next/static/{LRt6kweldrLHTF1HgLgu2 → p8YaBY0FwA86zQelkOQ-m}/_clientMiddlewareManifest.json +0 -0
  186. /package/.next/static/{LRt6kweldrLHTF1HgLgu2 → p8YaBY0FwA86zQelkOQ-m}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../CODE_QUALITY_REVIEW.md","../../../../../LICENSE","../../../../../README.md","../../../../../docs/AGENTS.md","../../../../../docs/CHANNELS.md","../../../../../docs/CRON_JOBS.md","../../../../../docs/EXAMPLES.md","../../../../../docs/GOALS.md","../../../../../docs/INSTALL_AND_ACCESS.md","../../../../../docs/MEDIA_GENERATION.md","../../../../../docs/ORCHESTRATOR.md","../../../../../docs/PRODUCT_TOUR.md","../../../../../docs/QA_AUTH.md","../../../../../docs/README.md","../../../../../docs/RECIPES_AND_SCAFFOLDING.md","../../../../../docs/RUNS.md","../../../../../docs/SETTINGS.md","../../../../../docs/TEAMS.md","../../../../../docs/TEAM_MEMORY.md","../../../../../docs/TICKETS.md","../../../../../docs/TROUBLESHOOTING.md","../../../../../docs/WORKFLOWS.md","../../../../../docs/WORKFLOWS_OLD.md","../../../../../docs/WORKFLOW_VISUAL_EDITOR.md","../../../../../eslint.config.mjs","../../../../../marketplace/registry.json","../../../../../next.config.ts","../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js","../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../node_modules/next/dist/lib/constants.js","../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../node_modules/next/dist/lib/is-error.js","../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../node_modules/next/package.json","../../../../../openclaw.plugin.json","../../../../../openclaw/index.ts","../../../../../package-lock.json","../../../../../package.json","../../../../../postcss.config.mjs","../../../../../public/android-chrome-192x192.png","../../../../../public/android-chrome-512x512.png","../../../../../public/apple-touch-icon.png","../../../../../public/chef.jpg","../../../../../public/favicon-16x16.png","../../../../../public/favicon-32x32.png","../../../../../public/favicon.ico","../../../../../public/file.svg","../../../../../public/globe.svg","../../../../../public/images/clawkitchen/home.png","../../../../../public/images/clawkitchen/recipes.png","../../../../../public/images/clawkitchen/runs.png","../../../../../public/images/clawkitchen/team.png","../../../../../public/images/clawkitchen/tickets.png","../../../../../public/images/clawkitchen/workflows.png","../../../../../public/next.svg","../../../../../public/vercel.svg","../../../../../public/window.svg","../../../../../scripts/check-openclaw-plugin-version.mjs","../../../../../scripts/ci/require-tests-for-lib-changes.sh","../../../../../scripts/copy-standalone-static.mjs","../../../../../scripts/goals-smoke.mjs","../../../../../scripts/refactor-report.mjs","../../../../../scripts/sync-openclaw-plugin-version.mjs","../../../../../src/app/HomeClient.tsx","../../../../../src/app/agents/[agentId]/agent-editor-tabs.tsx","../../../../../src/app/agents/[agentId]/agent-editor.tsx","../../../../../src/app/agents/[agentId]/page.tsx","../../../../../src/app/api/agents/[id]/route.ts","../../../../../src/app/api/agents/add/route.ts","../../../../../src/app/api/agents/file/route.ts","../../../../../src/app/api/agents/files/route.ts","../../../../../src/app/api/agents/identity/route.ts","../../../../../src/app/api/agents/route.ts","../../../../../src/app/api/agents/skills/install/route.ts","../../../../../src/app/api/agents/skills/route.ts","../../../../../src/app/api/agents/update/route.ts","../../../../../src/app/api/channels/bindings/route.ts","../../../../../src/app/api/cron/add/route.ts","../../../../../src/app/api/cron/bulk/route.ts","../../../../../src/app/api/cron/delete/route.ts","../../../../../src/app/api/cron/edit/route.ts","../../../../../src/app/api/cron/helpers.ts","../../../../../src/app/api/cron/job/route.ts","../../../../../src/app/api/cron/jobs/route.ts","../../../../../src/app/api/cron/recipe-installed/route.ts","../../../../../src/app/api/cron/worker/route.ts","../../../../../src/app/api/gateway/restart/route.ts","../../../../../src/app/api/goals/[id]/promote/route.ts","../../../../../src/app/api/goals/[id]/route.ts","../../../../../src/app/api/goals/route.ts","../../../../../src/app/api/ids/check/route.ts","../../../../../src/app/api/manifest/route.ts","../../../../../src/app/api/marketplace/recipes/[slug]/route.ts","../../../../../src/app/api/marketplace/recipes/route.ts","../../../../../src/app/api/plugins/[pluginId]/[...path]/route.ts","../../../../../src/app/api/plugins/[pluginId]/tabs/[tabId]/route.ts","../../../../../src/app/api/plugins/route.ts","../../../../../src/app/api/plugins/test/route.ts","../../../../../src/app/api/recipes/[id]/route.ts","../../../../../src/app/api/recipes/clone/route.ts","../../../../../src/app/api/recipes/custom-team/route.ts","../../../../../src/app/api/recipes/delete/helpers.ts","../../../../../src/app/api/recipes/delete/route.ts","../../../../../src/app/api/recipes/local-agent-catalog/route.ts","../../../../../src/app/api/recipes/route.ts","../../../../../src/app/api/recipes/team-agents/helpers.ts","../../../../../src/app/api/recipes/team-agents/route.ts","../../../../../src/app/api/scaffold/helpers.ts","../../../../../src/app/api/scaffold/route.ts","../../../../../src/app/api/settings/cron-installation/route.ts","../../../../../src/app/api/settings/model-options/route.ts","../../../../../src/app/api/skills/available/route.ts","../../../../../src/app/api/swarms/start/route.ts","../../../../../src/app/api/swarms/status/route.ts","../../../../../src/app/api/teams/[teamId]/media-providers/route.ts","../../../../../src/app/api/teams/[teamId]/tickets/assign/route.ts","../../../../../src/app/api/teams/[teamId]/tickets/assignees/route.ts","../../../../../src/app/api/teams/[teamId]/tickets/comment/route.ts","../../../../../src/app/api/teams/[teamId]/tickets/delete/route.ts","../../../../../src/app/api/teams/[teamId]/tickets/move-to-goals/route.ts","../../../../../src/app/api/teams/[teamId]/tickets/move/route.test.ts","../../../../../src/app/api/teams/[teamId]/tickets/move/route.ts","../../../../../src/app/api/teams/file/route.ts","../../../../../src/app/api/teams/files/route.ts","../../../../../src/app/api/teams/list/route.ts","../../../../../src/app/api/teams/memory/route.ts","../../../../../src/app/api/teams/meta/route.ts","../../../../../src/app/api/teams/orchestrator/install/route.ts","../../../../../src/app/api/teams/orchestrator/route.ts","../../../../../src/app/api/teams/plugins/route.ts","../../../../../src/app/api/teams/remove-team/route.ts","../../../../../src/app/api/teams/skills/install/route.ts","../../../../../src/app/api/teams/skills/route.ts","../../../../../src/app/api/teams/workflow-deliverables/file/route.ts","../../../../../src/app/api/teams/workflow-deliverables/route.ts","../../../../../src/app/api/teams/workflow-runs/route.test.ts","../../../../../src/app/api/teams/workflow-runs/route.ts","../../../../../src/app/api/teams/workflow-templates/route.ts","../../../../../src/app/api/teams/workflow-triggers/route.ts","../../../../../src/app/api/teams/workflows/route.ts","../../../../../src/app/api/tickets/assign/route.ts","../../../../../src/app/api/tickets/assignees/route.ts","../../../../../src/app/api/tickets/move/route.ts","../../../../../src/app/channels/channels-client.tsx","../../../../../src/app/channels/page.tsx","../../../../../src/app/cron-jobs/cron-jobs-client.tsx","../../../../../src/app/cron-jobs/page.tsx","../../../../../src/app/favicon.ico","../../../../../src/app/global-error.tsx","../../../../../src/app/globals.css","../../../../../src/app/goals/[id]/goal-editor.tsx","../../../../../src/app/goals/[id]/page.tsx","../../../../../src/app/goals/goals-client.tsx","../../../../../src/app/goals/new/page.tsx","../../../../../src/app/goals/page.tsx","../../../../../src/app/layout.tsx","../../../../../src/app/manifest.ts","../../../../../src/app/not-found.tsx","../../../../../src/app/page.tsx","../../../../../src/app/recipes/CreateAgentModal.tsx","../../../../../src/app/recipes/CreateCustomTeamModal.tsx","../../../../../src/app/recipes/CreateModalShell.tsx","../../../../../src/app/recipes/CreateTeamModal.tsx","../../../../../src/app/recipes/[id]/RecipeEditor/RecipeEditorCreateModal.tsx","../../../../../src/app/recipes/[id]/RecipeEditor/RecipeEditorPanel.tsx","../../../../../src/app/recipes/[id]/RecipeEditor/index.tsx","../../../../../src/app/recipes/[id]/RecipeEditor/recipe-editor-utils.ts","../../../../../src/app/recipes/[id]/RecipeEditor/types.ts","../../../../../src/app/recipes/[id]/page.tsx","../../../../../src/app/recipes/page.tsx","../../../../../src/app/recipes/recipes-client.tsx","../../../../../src/app/runs/AllRunsClient.tsx","../../../../../src/app/runs/page.tsx","../../../../../src/app/settings/page.tsx","../../../../../src/app/settings/settings-client.tsx","../../../../../src/app/teams/[teamId]/CloneTeamModal.tsx","../../../../../src/app/teams/[teamId]/OrchestratorPanel.tsx","../../../../../src/app/teams/[teamId]/OrchestratorSetupModal.tsx","../../../../../src/app/teams/[teamId]/PublishChangesModal.tsx","../../../../../src/app/teams/[teamId]/deliverables/deliverables-client.tsx","../../../../../src/app/teams/[teamId]/deliverables/page.tsx","../../../../../src/app/teams/[teamId]/page.tsx","../../../../../src/app/teams/[teamId]/runs/[workflowId]/[runId]/page.tsx","../../../../../src/app/teams/[teamId]/runs/[workflowId]/[runId]/run-detail-client.tsx","../../../../../src/app/teams/[teamId]/runs/page.tsx","../../../../../src/app/teams/[teamId]/runs/runs-client.tsx","../../../../../src/app/teams/[teamId]/team-editor/DeliverablesTab.tsx","../../../../../src/app/teams/[teamId]/team-editor/TeamAgentsTab.tsx","../../../../../src/app/teams/[teamId]/team-editor/TeamCronTab.tsx","../../../../../src/app/teams/[teamId]/team-editor/TeamFilesTab.tsx","../../../../../src/app/teams/[teamId]/team-editor/TeamMemoryTab.tsx","../../../../../src/app/teams/[teamId]/team-editor/TeamRecipeTab.tsx","../../../../../src/app/teams/[teamId]/team-editor/TeamSkillsTab.tsx","../../../../../src/app/teams/[teamId]/team-editor/index.tsx","../../../../../src/app/teams/[teamId]/team-editor/team-editor-data.ts","../../../../../src/app/teams/[teamId]/team-editor/team-editor-utils.ts","../../../../../src/app/teams/[teamId]/team-editor/types.ts","../../../../../src/app/teams/[teamId]/tickets/[ticket]/page.tsx","../../../../../src/app/teams/[teamId]/tickets/page.tsx","../../../../../src/app/teams/[teamId]/workflows/[workflowId]/WorkflowCanvas.tsx","../../../../../src/app/teams/[teamId]/workflows/[workflowId]/page.tsx","../../../../../src/app/teams/[teamId]/workflows/[workflowId]/workflows-editor-client.tsx","../../../../../src/app/teams/[teamId]/workflows/page.tsx","../../../../../src/app/teams/[teamId]/workflows/workflows-client.tsx","../../../../../src/app/tickets/TicketDetailClient.tsx","../../../../../src/app/tickets/TicketsBoardClient.tsx","../../../../../src/app/tickets/[ticket]/TicketAssignControl.tsx","../../../../../src/app/tickets/[ticket]/page.tsx","../../../../../src/app/tickets/page.tsx","../../../../../src/components/AppShell.tsx","../../../../../src/components/ConfirmationModal.tsx","../../../../../src/components/CreateCronJobModal.tsx","../../../../../src/components/CronJobForm.tsx","../../../../../src/components/DeleteEntityModal.tsx","../../../../../src/components/DeliverablePreviewPanel.tsx","../../../../../src/components/EditCronJobModal.tsx","../../../../../src/components/ErrorBoundary.tsx","../../../../../src/components/FileListWithOptionalToggle.tsx","../../../../../src/components/GoalFormFields.tsx","../../../../../src/components/Modal.tsx","../../../../../src/components/PluginTabs.tsx","../../../../../src/components/RunDeliverables.tsx","../../../../../src/components/RunLoadingOverlay.tsx","../../../../../src/components/ScaffoldOverlay.tsx","../../../../../src/components/ThemeToggle.tsx","../../../../../src/components/ToastProvider.tsx","../../../../../src/components/delete-modals.tsx","../../../../../src/components/icons.tsx","../../../../../src/components/media/MediaGenerationConfig.tsx","../../../../../src/hooks/useCronJobForm.ts","../../../../../src/hooks/useRunSelection.ts","../../../../../src/lib/agent-workspace.ts","../../../../../src/lib/agents.ts","../../../../../src/lib/api-route-helpers.ts","../../../../../src/lib/app-info.ts","../../../../../src/lib/cron-job-utils.ts","../../../../../src/lib/cron.ts","../../../../../src/lib/editor-utils.ts","../../../../../src/lib/errors.ts","../../../../../src/lib/exec.ts","../../../../../src/lib/fetch-json.ts","../../../../../src/lib/gateway.ts","../../../../../src/lib/goal-promote.ts","../../../../../src/lib/goals-client.ts","../../../../../src/lib/goals.ts","../../../../../src/lib/json.ts","../../../../../src/lib/kitchen-api.ts","../../../../../src/lib/kitchen-plugins.ts","../../../../../src/lib/manifest.ts","../../../../../src/lib/marketplace.ts","../../../../../src/lib/media-file-utils.ts","../../../../../src/lib/openclaw-config.ts","../../../../../src/lib/openclaw.ts","../../../../../src/lib/paths.ts","../../../../../src/lib/plugins.ts","../../../../../src/lib/poll.ts","../../../../../src/lib/recipe-clone.ts","../../../../../src/lib/recipe-team-agents.ts","../../../../../src/lib/recipes.ts","../../../../../src/lib/scaffold-client.ts","../../../../../src/lib/scaffold.ts","../../../../../src/lib/selected-team.ts","../../../../../src/lib/slugify.ts","../../../../../src/lib/spec-hash-utils.ts","../../../../../src/lib/swarms.ts","../../../../../src/lib/team-plugins.ts","../../../../../src/lib/teams.ts","../../../../../src/lib/ticket-comments.ts","../../../../../src/lib/tickets.ts","../../../../../src/lib/type-guards.ts","../../../../../src/lib/use-slugified-id.ts","../../../../../src/lib/workflows/README.md","../../../../../src/lib/workflows/api-handlers.ts","../../../../../src/lib/workflows/media-nodes.ts","../../../../../src/lib/workflows/readdir.ts","../../../../../src/lib/workflows/runs-storage.ts","../../../../../src/lib/workflows/runs-types.ts","../../../../../src/lib/workflows/storage.ts","../../../../../src/lib/workflows/templates/index.ts","../../../../../src/lib/workflows/templates/marketing-cadence-v1.ts","../../../../../src/lib/workflows/types.ts","../../../../../src/lib/workflows/validate.ts","../../../../../src/proxy.ts","../../../../../src/test-utils/react-act-polyfill.ts","../../../../../tsconfig.json","../../../../../vitest.config.ts","../../../chunks/ssr/[root-of-the-server]__0d4cb2ba._.js","../../../chunks/ssr/[root-of-the-server]__3b880807._.js","../../../chunks/ssr/[root-of-the-server]__471bc2e7._.js","../../../chunks/ssr/[root-of-the-server]__8e8f535b._.js","../../../chunks/ssr/[root-of-the-server]__9e1ab064._.js","../../../chunks/ssr/[root-of-the-server]__ac3862d0._.js","../../../chunks/ssr/[root-of-the-server]__af792402._.js","../../../chunks/ssr/[turbopack]_runtime.js","../../../chunks/ssr/_0efddc1b._.js","../../../chunks/ssr/_5cc24343._.js","../../../chunks/ssr/_next-internal_server_app_tickets_[ticket]_page_actions_90392705.js","../../../chunks/ssr/node_modules_ea845e5f._.js","../../../chunks/ssr/node_modules_next_920e7746._.js","../../../chunks/ssr/node_modules_next_dist_22f8d72f._.js","../../../chunks/ssr/node_modules_next_dist_25a30daf._.js","../../../chunks/ssr/node_modules_next_dist_client_components_2fffaa3a._.js","../../../chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_15817684.js","../../../chunks/ssr/node_modules_next_dist_compiled_bc6b8ddf._.js","../../../chunks/ssr/node_modules_next_dist_esm_eedfc1fd._.js","../../../chunks/ssr/src_59477309._.js","../../../chunks/ssr/src_app_5b2047f8._.js","../../../chunks/ssr/src_app_global-error_tsx_aa661ba4._.js","../../../chunks/ssr/src_app_not-found_tsx_3f23d179._.js","./page/react-loadable-manifest.json","./page_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../../CODE_QUALITY_REVIEW.md","../../../../../LICENSE","../../../../../README.md","../../../../../docs/AGENTS.md","../../../../../docs/CHANNELS.md","../../../../../docs/CRON_JOBS.md","../../../../../docs/EXAMPLES.md","../../../../../docs/GOALS.md","../../../../../docs/INSTALL_AND_ACCESS.md","../../../../../docs/MEDIA_GENERATION.md","../../../../../docs/ORCHESTRATOR.md","../../../../../docs/PRODUCT_TOUR.md","../../../../../docs/QA_AUTH.md","../../../../../docs/README.md","../../../../../docs/RECIPES_AND_SCAFFOLDING.md","../../../../../docs/RUNS.md","../../../../../docs/SETTINGS.md","../../../../../docs/TEAMS.md","../../../../../docs/TEAM_MEMORY.md","../../../../../docs/TICKETS.md","../../../../../docs/TROUBLESHOOTING.md","../../../../../docs/WORKFLOWS.md","../../../../../docs/WORKFLOWS_OLD.md","../../../../../docs/WORKFLOW_VISUAL_EDITOR.md","../../../../../eslint.config.mjs","../../../../../marketplace/registry.json","../../../../../next.config.ts","../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js","../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../node_modules/next/dist/lib/constants.js","../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../node_modules/next/dist/lib/is-error.js","../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../node_modules/next/package.json","../../../../../openclaw.plugin.json","../../../../../openclaw/index.ts","../../../../../package-lock.json","../../../../../package.json","../../../../../postcss.config.mjs","../../../../../public/android-chrome-192x192.png","../../../../../public/android-chrome-512x512.png","../../../../../public/apple-touch-icon.png","../../../../../public/chef.jpg","../../../../../public/favicon-16x16.png","../../../../../public/favicon-32x32.png","../../../../../public/favicon.ico","../../../../../public/file.svg","../../../../../public/globe.svg","../../../../../public/images/clawkitchen/home.png","../../../../../public/images/clawkitchen/recipes.png","../../../../../public/images/clawkitchen/runs.png","../../../../../public/images/clawkitchen/team.png","../../../../../public/images/clawkitchen/tickets.png","../../../../../public/images/clawkitchen/workflows.png","../../../../../public/next.svg","../../../../../public/vercel.svg","../../../../../public/window.svg","../../../../../scripts/check-openclaw-plugin-version.mjs","../../../../../scripts/ci/require-tests-for-lib-changes.sh","../../../../../scripts/copy-standalone-static.mjs","../../../../../scripts/goals-smoke.mjs","../../../../../scripts/refactor-report.mjs","../../../../../scripts/sync-openclaw-plugin-version.mjs","../../../../../src/app/HomeClient.tsx","../../../../../src/app/agents/[agentId]/agent-editor-tabs.tsx","../../../../../src/app/agents/[agentId]/agent-editor.tsx","../../../../../src/app/agents/[agentId]/page.tsx","../../../../../src/app/api/agents/[id]/route.ts","../../../../../src/app/api/agents/add/route.ts","../../../../../src/app/api/agents/file/route.ts","../../../../../src/app/api/agents/files/route.ts","../../../../../src/app/api/agents/identity/route.ts","../../../../../src/app/api/agents/route.ts","../../../../../src/app/api/agents/skills/install/route.ts","../../../../../src/app/api/agents/skills/route.ts","../../../../../src/app/api/agents/update/route.ts","../../../../../src/app/api/channels/bindings/route.ts","../../../../../src/app/api/cron/add/route.ts","../../../../../src/app/api/cron/bulk/route.ts","../../../../../src/app/api/cron/delete/route.ts","../../../../../src/app/api/cron/edit/route.ts","../../../../../src/app/api/cron/helpers.ts","../../../../../src/app/api/cron/job/route.ts","../../../../../src/app/api/cron/jobs/route.ts","../../../../../src/app/api/cron/recipe-installed/route.ts","../../../../../src/app/api/cron/worker/route.ts","../../../../../src/app/api/gateway/restart/route.ts","../../../../../src/app/api/goals/[id]/promote/route.ts","../../../../../src/app/api/goals/[id]/route.ts","../../../../../src/app/api/goals/route.ts","../../../../../src/app/api/ids/check/route.ts","../../../../../src/app/api/manifest/route.ts","../../../../../src/app/api/marketplace/recipes/[slug]/route.ts","../../../../../src/app/api/marketplace/recipes/route.ts","../../../../../src/app/api/plugins/[pluginId]/[...path]/route.ts","../../../../../src/app/api/plugins/[pluginId]/tabs/[tabId]/route.ts","../../../../../src/app/api/plugins/route.ts","../../../../../src/app/api/plugins/test/route.ts","../../../../../src/app/api/recipes/[id]/route.ts","../../../../../src/app/api/recipes/clone/route.ts","../../../../../src/app/api/recipes/custom-team/route.ts","../../../../../src/app/api/recipes/delete/helpers.ts","../../../../../src/app/api/recipes/delete/route.ts","../../../../../src/app/api/recipes/local-agent-catalog/route.ts","../../../../../src/app/api/recipes/route.ts","../../../../../src/app/api/recipes/team-agents/helpers.ts","../../../../../src/app/api/recipes/team-agents/route.ts","../../../../../src/app/api/scaffold/helpers.ts","../../../../../src/app/api/scaffold/route.ts","../../../../../src/app/api/settings/cron-installation/route.ts","../../../../../src/app/api/settings/model-options/route.ts","../../../../../src/app/api/skills/available/route.ts","../../../../../src/app/api/swarms/start/route.ts","../../../../../src/app/api/swarms/status/route.ts","../../../../../src/app/api/teams/[teamId]/media-providers/route.ts","../../../../../src/app/api/teams/[teamId]/tickets/assign/route.ts","../../../../../src/app/api/teams/[teamId]/tickets/assignees/route.ts","../../../../../src/app/api/teams/[teamId]/tickets/comment/route.ts","../../../../../src/app/api/teams/[teamId]/tickets/delete/route.ts","../../../../../src/app/api/teams/[teamId]/tickets/move-to-goals/route.ts","../../../../../src/app/api/teams/[teamId]/tickets/move/route.test.ts","../../../../../src/app/api/teams/[teamId]/tickets/move/route.ts","../../../../../src/app/api/teams/file/route.ts","../../../../../src/app/api/teams/files/route.ts","../../../../../src/app/api/teams/list/route.ts","../../../../../src/app/api/teams/memory/route.ts","../../../../../src/app/api/teams/meta/route.ts","../../../../../src/app/api/teams/orchestrator/install/route.ts","../../../../../src/app/api/teams/orchestrator/route.ts","../../../../../src/app/api/teams/plugins/route.ts","../../../../../src/app/api/teams/remove-team/route.ts","../../../../../src/app/api/teams/skills/install/route.ts","../../../../../src/app/api/teams/skills/route.ts","../../../../../src/app/api/teams/workflow-deliverables/file/route.ts","../../../../../src/app/api/teams/workflow-deliverables/route.ts","../../../../../src/app/api/teams/workflow-runs/route.test.ts","../../../../../src/app/api/teams/workflow-runs/route.ts","../../../../../src/app/api/teams/workflow-templates/route.ts","../../../../../src/app/api/teams/workflow-triggers/route.ts","../../../../../src/app/api/teams/workflows/route.ts","../../../../../src/app/api/tickets/assign/route.ts","../../../../../src/app/api/tickets/assignees/route.ts","../../../../../src/app/api/tickets/move/route.ts","../../../../../src/app/channels/channels-client.tsx","../../../../../src/app/channels/page.tsx","../../../../../src/app/cron-jobs/cron-jobs-client.tsx","../../../../../src/app/cron-jobs/page.tsx","../../../../../src/app/favicon.ico","../../../../../src/app/global-error.tsx","../../../../../src/app/globals.css","../../../../../src/app/goals/[id]/goal-editor.tsx","../../../../../src/app/goals/[id]/page.tsx","../../../../../src/app/goals/goals-client.tsx","../../../../../src/app/goals/new/page.tsx","../../../../../src/app/goals/page.tsx","../../../../../src/app/layout.tsx","../../../../../src/app/manifest.ts","../../../../../src/app/not-found.tsx","../../../../../src/app/page.tsx","../../../../../src/app/recipes/CreateAgentModal.tsx","../../../../../src/app/recipes/CreateCustomTeamModal.tsx","../../../../../src/app/recipes/CreateModalShell.tsx","../../../../../src/app/recipes/CreateTeamModal.tsx","../../../../../src/app/recipes/[id]/RecipeEditor/RecipeEditorCreateModal.tsx","../../../../../src/app/recipes/[id]/RecipeEditor/RecipeEditorPanel.tsx","../../../../../src/app/recipes/[id]/RecipeEditor/index.tsx","../../../../../src/app/recipes/[id]/RecipeEditor/recipe-editor-utils.ts","../../../../../src/app/recipes/[id]/RecipeEditor/types.ts","../../../../../src/app/recipes/[id]/page.tsx","../../../../../src/app/recipes/page.tsx","../../../../../src/app/recipes/recipes-client.tsx","../../../../../src/app/runs/AllRunsClient.tsx","../../../../../src/app/runs/page.tsx","../../../../../src/app/settings/page.tsx","../../../../../src/app/settings/settings-client.tsx","../../../../../src/app/teams/[teamId]/CloneTeamModal.tsx","../../../../../src/app/teams/[teamId]/OrchestratorPanel.tsx","../../../../../src/app/teams/[teamId]/OrchestratorSetupModal.tsx","../../../../../src/app/teams/[teamId]/PublishChangesModal.tsx","../../../../../src/app/teams/[teamId]/deliverables/deliverables-client.tsx","../../../../../src/app/teams/[teamId]/deliverables/page.tsx","../../../../../src/app/teams/[teamId]/page.tsx","../../../../../src/app/teams/[teamId]/runs/[workflowId]/[runId]/page.tsx","../../../../../src/app/teams/[teamId]/runs/[workflowId]/[runId]/run-detail-client.tsx","../../../../../src/app/teams/[teamId]/runs/page.tsx","../../../../../src/app/teams/[teamId]/runs/runs-client.tsx","../../../../../src/app/teams/[teamId]/team-editor/DeliverablesTab.tsx","../../../../../src/app/teams/[teamId]/team-editor/TeamAgentsTab.tsx","../../../../../src/app/teams/[teamId]/team-editor/TeamCronTab.tsx","../../../../../src/app/teams/[teamId]/team-editor/TeamFilesTab.tsx","../../../../../src/app/teams/[teamId]/team-editor/TeamMemoryTab.tsx","../../../../../src/app/teams/[teamId]/team-editor/TeamRecipeTab.tsx","../../../../../src/app/teams/[teamId]/team-editor/TeamSkillsTab.tsx","../../../../../src/app/teams/[teamId]/team-editor/index.tsx","../../../../../src/app/teams/[teamId]/team-editor/team-editor-data.ts","../../../../../src/app/teams/[teamId]/team-editor/team-editor-utils.ts","../../../../../src/app/teams/[teamId]/team-editor/types.ts","../../../../../src/app/teams/[teamId]/tickets/[ticket]/page.tsx","../../../../../src/app/teams/[teamId]/tickets/page.tsx","../../../../../src/app/teams/[teamId]/workflows/[workflowId]/WorkflowCanvas.tsx","../../../../../src/app/teams/[teamId]/workflows/[workflowId]/page.tsx","../../../../../src/app/teams/[teamId]/workflows/[workflowId]/workflows-editor-client.tsx","../../../../../src/app/teams/[teamId]/workflows/page.tsx","../../../../../src/app/teams/[teamId]/workflows/workflows-client.tsx","../../../../../src/app/tickets/TicketDetailClient.tsx","../../../../../src/app/tickets/TicketsBoardClient.tsx","../../../../../src/app/tickets/[ticket]/TicketAssignControl.tsx","../../../../../src/app/tickets/[ticket]/page.tsx","../../../../../src/app/tickets/page.tsx","../../../../../src/components/AppShell.tsx","../../../../../src/components/ConfirmationModal.tsx","../../../../../src/components/CreateCronJobModal.tsx","../../../../../src/components/CronJobForm.tsx","../../../../../src/components/DeleteEntityModal.tsx","../../../../../src/components/DeliverablePreviewPanel.tsx","../../../../../src/components/EditCronJobModal.tsx","../../../../../src/components/ErrorBoundary.tsx","../../../../../src/components/FileListWithOptionalToggle.tsx","../../../../../src/components/GoalFormFields.tsx","../../../../../src/components/Modal.tsx","../../../../../src/components/PluginTabs.tsx","../../../../../src/components/RunDeliverables.tsx","../../../../../src/components/RunLoadingOverlay.tsx","../../../../../src/components/ScaffoldOverlay.tsx","../../../../../src/components/ThemeToggle.tsx","../../../../../src/components/ToastProvider.tsx","../../../../../src/components/delete-modals.tsx","../../../../../src/components/icons.tsx","../../../../../src/components/media/MediaGenerationConfig.tsx","../../../../../src/hooks/useCronJobForm.ts","../../../../../src/hooks/useRunSelection.ts","../../../../../src/lib/agent-workspace.ts","../../../../../src/lib/agents.ts","../../../../../src/lib/api-route-helpers.ts","../../../../../src/lib/app-info.ts","../../../../../src/lib/cron-job-utils.ts","../../../../../src/lib/cron.ts","../../../../../src/lib/editor-utils.ts","../../../../../src/lib/errors.ts","../../../../../src/lib/exec.ts","../../../../../src/lib/fetch-json.ts","../../../../../src/lib/gateway.ts","../../../../../src/lib/goal-promote.ts","../../../../../src/lib/goals-client.ts","../../../../../src/lib/goals.ts","../../../../../src/lib/json.ts","../../../../../src/lib/kitchen-api.ts","../../../../../src/lib/kitchen-plugins.ts","../../../../../src/lib/manifest.ts","../../../../../src/lib/marketplace.ts","../../../../../src/lib/media-file-utils.ts","../../../../../src/lib/openclaw-cache.ts","../../../../../src/lib/openclaw-config.ts","../../../../../src/lib/openclaw.ts","../../../../../src/lib/paths.ts","../../../../../src/lib/plugins.ts","../../../../../src/lib/poll.ts","../../../../../src/lib/recipe-clone.ts","../../../../../src/lib/recipe-team-agents.ts","../../../../../src/lib/recipes.ts","../../../../../src/lib/scaffold-client.ts","../../../../../src/lib/scaffold.ts","../../../../../src/lib/selected-team.ts","../../../../../src/lib/slugify.ts","../../../../../src/lib/spec-hash-utils.ts","../../../../../src/lib/swarms.ts","../../../../../src/lib/team-plugins.ts","../../../../../src/lib/teams.ts","../../../../../src/lib/ticket-comments.ts","../../../../../src/lib/tickets.ts","../../../../../src/lib/type-guards.ts","../../../../../src/lib/use-slugified-id.ts","../../../../../src/lib/workflows/README.md","../../../../../src/lib/workflows/api-handlers.ts","../../../../../src/lib/workflows/media-nodes.ts","../../../../../src/lib/workflows/readdir.ts","../../../../../src/lib/workflows/runs-storage.ts","../../../../../src/lib/workflows/runs-types.ts","../../../../../src/lib/workflows/storage.ts","../../../../../src/lib/workflows/templates/index.ts","../../../../../src/lib/workflows/templates/marketing-cadence-v1.ts","../../../../../src/lib/workflows/types.ts","../../../../../src/lib/workflows/validate.ts","../../../../../src/proxy.ts","../../../../../src/test-utils/react-act-polyfill.ts","../../../../../tsconfig.json","../../../../../vitest.config.ts","../../../chunks/ssr/[root-of-the-server]__0d4cb2ba._.js","../../../chunks/ssr/[root-of-the-server]__3b880807._.js","../../../chunks/ssr/[root-of-the-server]__471bc2e7._.js","../../../chunks/ssr/[root-of-the-server]__8e8f535b._.js","../../../chunks/ssr/[root-of-the-server]__9e1ab064._.js","../../../chunks/ssr/[root-of-the-server]__ac3862d0._.js","../../../chunks/ssr/[root-of-the-server]__af792402._.js","../../../chunks/ssr/[turbopack]_runtime.js","../../../chunks/ssr/_0efddc1b._.js","../../../chunks/ssr/_5cc24343._.js","../../../chunks/ssr/_next-internal_server_app_tickets_[ticket]_page_actions_90392705.js","../../../chunks/ssr/node_modules_ea845e5f._.js","../../../chunks/ssr/node_modules_next_920e7746._.js","../../../chunks/ssr/node_modules_next_dist_22f8d72f._.js","../../../chunks/ssr/node_modules_next_dist_25a30daf._.js","../../../chunks/ssr/node_modules_next_dist_client_components_2fffaa3a._.js","../../../chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_15817684.js","../../../chunks/ssr/node_modules_next_dist_compiled_bc6b8ddf._.js","../../../chunks/ssr/node_modules_next_dist_esm_eedfc1fd._.js","../../../chunks/ssr/src_59477309._.js","../../../chunks/ssr/src_app_5b2047f8._.js","../../../chunks/ssr/src_app_global-error_tsx_aa661ba4._.js","../../../chunks/ssr/src_app_not-found_tsx_3f23d179._.js","./page/react-loadable-manifest.json","./page_client-reference-manifest.js"]}
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../CODE_QUALITY_REVIEW.md","../../../../LICENSE","../../../../README.md","../../../../docs/AGENTS.md","../../../../docs/CHANNELS.md","../../../../docs/CRON_JOBS.md","../../../../docs/EXAMPLES.md","../../../../docs/GOALS.md","../../../../docs/INSTALL_AND_ACCESS.md","../../../../docs/MEDIA_GENERATION.md","../../../../docs/ORCHESTRATOR.md","../../../../docs/PRODUCT_TOUR.md","../../../../docs/QA_AUTH.md","../../../../docs/README.md","../../../../docs/RECIPES_AND_SCAFFOLDING.md","../../../../docs/RUNS.md","../../../../docs/SETTINGS.md","../../../../docs/TEAMS.md","../../../../docs/TEAM_MEMORY.md","../../../../docs/TICKETS.md","../../../../docs/TROUBLESHOOTING.md","../../../../docs/WORKFLOWS.md","../../../../docs/WORKFLOWS_OLD.md","../../../../docs/WORKFLOW_VISUAL_EDITOR.md","../../../../eslint.config.mjs","../../../../marketplace/registry.json","../../../../next.config.ts","../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js","../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../node_modules/next/dist/lib/constants.js","../../../../node_modules/next/dist/lib/interop-default.js","../../../../node_modules/next/dist/lib/is-error.js","../../../../node_modules/next/dist/lib/semver-noop.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../node_modules/next/dist/server/response-cache/types.js","../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/next/package.json","../../../../openclaw.plugin.json","../../../../openclaw/index.ts","../../../../package-lock.json","../../../../package.json","../../../../postcss.config.mjs","../../../../public/android-chrome-192x192.png","../../../../public/android-chrome-512x512.png","../../../../public/apple-touch-icon.png","../../../../public/chef.jpg","../../../../public/favicon-16x16.png","../../../../public/favicon-32x32.png","../../../../public/favicon.ico","../../../../public/file.svg","../../../../public/globe.svg","../../../../public/images/clawkitchen/home.png","../../../../public/images/clawkitchen/recipes.png","../../../../public/images/clawkitchen/runs.png","../../../../public/images/clawkitchen/team.png","../../../../public/images/clawkitchen/tickets.png","../../../../public/images/clawkitchen/workflows.png","../../../../public/next.svg","../../../../public/vercel.svg","../../../../public/window.svg","../../../../scripts/check-openclaw-plugin-version.mjs","../../../../scripts/ci/require-tests-for-lib-changes.sh","../../../../scripts/copy-standalone-static.mjs","../../../../scripts/goals-smoke.mjs","../../../../scripts/refactor-report.mjs","../../../../scripts/sync-openclaw-plugin-version.mjs","../../../../src/app/HomeClient.tsx","../../../../src/app/agents/[agentId]/agent-editor-tabs.tsx","../../../../src/app/agents/[agentId]/agent-editor.tsx","../../../../src/app/agents/[agentId]/page.tsx","../../../../src/app/api/agents/[id]/route.ts","../../../../src/app/api/agents/add/route.ts","../../../../src/app/api/agents/file/route.ts","../../../../src/app/api/agents/files/route.ts","../../../../src/app/api/agents/identity/route.ts","../../../../src/app/api/agents/route.ts","../../../../src/app/api/agents/skills/install/route.ts","../../../../src/app/api/agents/skills/route.ts","../../../../src/app/api/agents/update/route.ts","../../../../src/app/api/channels/bindings/route.ts","../../../../src/app/api/cron/add/route.ts","../../../../src/app/api/cron/bulk/route.ts","../../../../src/app/api/cron/delete/route.ts","../../../../src/app/api/cron/edit/route.ts","../../../../src/app/api/cron/helpers.ts","../../../../src/app/api/cron/job/route.ts","../../../../src/app/api/cron/jobs/route.ts","../../../../src/app/api/cron/recipe-installed/route.ts","../../../../src/app/api/cron/worker/route.ts","../../../../src/app/api/gateway/restart/route.ts","../../../../src/app/api/goals/[id]/promote/route.ts","../../../../src/app/api/goals/[id]/route.ts","../../../../src/app/api/goals/route.ts","../../../../src/app/api/ids/check/route.ts","../../../../src/app/api/manifest/route.ts","../../../../src/app/api/marketplace/recipes/[slug]/route.ts","../../../../src/app/api/marketplace/recipes/route.ts","../../../../src/app/api/plugins/[pluginId]/[...path]/route.ts","../../../../src/app/api/plugins/[pluginId]/tabs/[tabId]/route.ts","../../../../src/app/api/plugins/route.ts","../../../../src/app/api/plugins/test/route.ts","../../../../src/app/api/recipes/[id]/route.ts","../../../../src/app/api/recipes/clone/route.ts","../../../../src/app/api/recipes/custom-team/route.ts","../../../../src/app/api/recipes/delete/helpers.ts","../../../../src/app/api/recipes/delete/route.ts","../../../../src/app/api/recipes/local-agent-catalog/route.ts","../../../../src/app/api/recipes/route.ts","../../../../src/app/api/recipes/team-agents/helpers.ts","../../../../src/app/api/recipes/team-agents/route.ts","../../../../src/app/api/scaffold/helpers.ts","../../../../src/app/api/scaffold/route.ts","../../../../src/app/api/settings/cron-installation/route.ts","../../../../src/app/api/settings/model-options/route.ts","../../../../src/app/api/skills/available/route.ts","../../../../src/app/api/swarms/start/route.ts","../../../../src/app/api/swarms/status/route.ts","../../../../src/app/api/teams/[teamId]/media-providers/route.ts","../../../../src/app/api/teams/[teamId]/tickets/assign/route.ts","../../../../src/app/api/teams/[teamId]/tickets/assignees/route.ts","../../../../src/app/api/teams/[teamId]/tickets/comment/route.ts","../../../../src/app/api/teams/[teamId]/tickets/delete/route.ts","../../../../src/app/api/teams/[teamId]/tickets/move-to-goals/route.ts","../../../../src/app/api/teams/[teamId]/tickets/move/route.test.ts","../../../../src/app/api/teams/[teamId]/tickets/move/route.ts","../../../../src/app/api/teams/file/route.ts","../../../../src/app/api/teams/files/route.ts","../../../../src/app/api/teams/list/route.ts","../../../../src/app/api/teams/memory/route.ts","../../../../src/app/api/teams/meta/route.ts","../../../../src/app/api/teams/orchestrator/install/route.ts","../../../../src/app/api/teams/orchestrator/route.ts","../../../../src/app/api/teams/plugins/route.ts","../../../../src/app/api/teams/remove-team/route.ts","../../../../src/app/api/teams/skills/install/route.ts","../../../../src/app/api/teams/skills/route.ts","../../../../src/app/api/teams/workflow-deliverables/file/route.ts","../../../../src/app/api/teams/workflow-deliverables/route.ts","../../../../src/app/api/teams/workflow-runs/route.test.ts","../../../../src/app/api/teams/workflow-runs/route.ts","../../../../src/app/api/teams/workflow-templates/route.ts","../../../../src/app/api/teams/workflow-triggers/route.ts","../../../../src/app/api/teams/workflows/route.ts","../../../../src/app/api/tickets/assign/route.ts","../../../../src/app/api/tickets/assignees/route.ts","../../../../src/app/api/tickets/move/route.ts","../../../../src/app/channels/channels-client.tsx","../../../../src/app/channels/page.tsx","../../../../src/app/cron-jobs/cron-jobs-client.tsx","../../../../src/app/cron-jobs/page.tsx","../../../../src/app/favicon.ico","../../../../src/app/global-error.tsx","../../../../src/app/globals.css","../../../../src/app/goals/[id]/goal-editor.tsx","../../../../src/app/goals/[id]/page.tsx","../../../../src/app/goals/goals-client.tsx","../../../../src/app/goals/new/page.tsx","../../../../src/app/goals/page.tsx","../../../../src/app/layout.tsx","../../../../src/app/manifest.ts","../../../../src/app/not-found.tsx","../../../../src/app/page.tsx","../../../../src/app/recipes/CreateAgentModal.tsx","../../../../src/app/recipes/CreateCustomTeamModal.tsx","../../../../src/app/recipes/CreateModalShell.tsx","../../../../src/app/recipes/CreateTeamModal.tsx","../../../../src/app/recipes/[id]/RecipeEditor/RecipeEditorCreateModal.tsx","../../../../src/app/recipes/[id]/RecipeEditor/RecipeEditorPanel.tsx","../../../../src/app/recipes/[id]/RecipeEditor/index.tsx","../../../../src/app/recipes/[id]/RecipeEditor/recipe-editor-utils.ts","../../../../src/app/recipes/[id]/RecipeEditor/types.ts","../../../../src/app/recipes/[id]/page.tsx","../../../../src/app/recipes/page.tsx","../../../../src/app/recipes/recipes-client.tsx","../../../../src/app/runs/AllRunsClient.tsx","../../../../src/app/runs/page.tsx","../../../../src/app/settings/page.tsx","../../../../src/app/settings/settings-client.tsx","../../../../src/app/teams/[teamId]/CloneTeamModal.tsx","../../../../src/app/teams/[teamId]/OrchestratorPanel.tsx","../../../../src/app/teams/[teamId]/OrchestratorSetupModal.tsx","../../../../src/app/teams/[teamId]/PublishChangesModal.tsx","../../../../src/app/teams/[teamId]/deliverables/deliverables-client.tsx","../../../../src/app/teams/[teamId]/deliverables/page.tsx","../../../../src/app/teams/[teamId]/page.tsx","../../../../src/app/teams/[teamId]/runs/[workflowId]/[runId]/page.tsx","../../../../src/app/teams/[teamId]/runs/[workflowId]/[runId]/run-detail-client.tsx","../../../../src/app/teams/[teamId]/runs/page.tsx","../../../../src/app/teams/[teamId]/runs/runs-client.tsx","../../../../src/app/teams/[teamId]/team-editor/DeliverablesTab.tsx","../../../../src/app/teams/[teamId]/team-editor/TeamAgentsTab.tsx","../../../../src/app/teams/[teamId]/team-editor/TeamCronTab.tsx","../../../../src/app/teams/[teamId]/team-editor/TeamFilesTab.tsx","../../../../src/app/teams/[teamId]/team-editor/TeamMemoryTab.tsx","../../../../src/app/teams/[teamId]/team-editor/TeamRecipeTab.tsx","../../../../src/app/teams/[teamId]/team-editor/TeamSkillsTab.tsx","../../../../src/app/teams/[teamId]/team-editor/index.tsx","../../../../src/app/teams/[teamId]/team-editor/team-editor-data.ts","../../../../src/app/teams/[teamId]/team-editor/team-editor-utils.ts","../../../../src/app/teams/[teamId]/team-editor/types.ts","../../../../src/app/teams/[teamId]/tickets/[ticket]/page.tsx","../../../../src/app/teams/[teamId]/tickets/page.tsx","../../../../src/app/teams/[teamId]/workflows/[workflowId]/WorkflowCanvas.tsx","../../../../src/app/teams/[teamId]/workflows/[workflowId]/page.tsx","../../../../src/app/teams/[teamId]/workflows/[workflowId]/workflows-editor-client.tsx","../../../../src/app/teams/[teamId]/workflows/page.tsx","../../../../src/app/teams/[teamId]/workflows/workflows-client.tsx","../../../../src/app/tickets/TicketDetailClient.tsx","../../../../src/app/tickets/TicketsBoardClient.tsx","../../../../src/app/tickets/[ticket]/TicketAssignControl.tsx","../../../../src/app/tickets/[ticket]/page.tsx","../../../../src/app/tickets/page.tsx","../../../../src/components/AppShell.tsx","../../../../src/components/ConfirmationModal.tsx","../../../../src/components/CreateCronJobModal.tsx","../../../../src/components/CronJobForm.tsx","../../../../src/components/DeleteEntityModal.tsx","../../../../src/components/DeliverablePreviewPanel.tsx","../../../../src/components/EditCronJobModal.tsx","../../../../src/components/ErrorBoundary.tsx","../../../../src/components/FileListWithOptionalToggle.tsx","../../../../src/components/GoalFormFields.tsx","../../../../src/components/Modal.tsx","../../../../src/components/PluginTabs.tsx","../../../../src/components/RunDeliverables.tsx","../../../../src/components/RunLoadingOverlay.tsx","../../../../src/components/ScaffoldOverlay.tsx","../../../../src/components/ThemeToggle.tsx","../../../../src/components/ToastProvider.tsx","../../../../src/components/delete-modals.tsx","../../../../src/components/icons.tsx","../../../../src/components/media/MediaGenerationConfig.tsx","../../../../src/hooks/useCronJobForm.ts","../../../../src/hooks/useRunSelection.ts","../../../../src/lib/agent-workspace.ts","../../../../src/lib/agents.ts","../../../../src/lib/api-route-helpers.ts","../../../../src/lib/app-info.ts","../../../../src/lib/cron-job-utils.ts","../../../../src/lib/cron.ts","../../../../src/lib/editor-utils.ts","../../../../src/lib/errors.ts","../../../../src/lib/exec.ts","../../../../src/lib/fetch-json.ts","../../../../src/lib/gateway.ts","../../../../src/lib/goal-promote.ts","../../../../src/lib/goals-client.ts","../../../../src/lib/goals.ts","../../../../src/lib/json.ts","../../../../src/lib/kitchen-api.ts","../../../../src/lib/kitchen-plugins.ts","../../../../src/lib/manifest.ts","../../../../src/lib/marketplace.ts","../../../../src/lib/media-file-utils.ts","../../../../src/lib/openclaw-config.ts","../../../../src/lib/openclaw.ts","../../../../src/lib/paths.ts","../../../../src/lib/plugins.ts","../../../../src/lib/poll.ts","../../../../src/lib/recipe-clone.ts","../../../../src/lib/recipe-team-agents.ts","../../../../src/lib/recipes.ts","../../../../src/lib/scaffold-client.ts","../../../../src/lib/scaffold.ts","../../../../src/lib/selected-team.ts","../../../../src/lib/slugify.ts","../../../../src/lib/spec-hash-utils.ts","../../../../src/lib/swarms.ts","../../../../src/lib/team-plugins.ts","../../../../src/lib/teams.ts","../../../../src/lib/ticket-comments.ts","../../../../src/lib/tickets.ts","../../../../src/lib/type-guards.ts","../../../../src/lib/use-slugified-id.ts","../../../../src/lib/workflows/README.md","../../../../src/lib/workflows/api-handlers.ts","../../../../src/lib/workflows/media-nodes.ts","../../../../src/lib/workflows/readdir.ts","../../../../src/lib/workflows/runs-storage.ts","../../../../src/lib/workflows/runs-types.ts","../../../../src/lib/workflows/storage.ts","../../../../src/lib/workflows/templates/index.ts","../../../../src/lib/workflows/templates/marketing-cadence-v1.ts","../../../../src/lib/workflows/types.ts","../../../../src/lib/workflows/validate.ts","../../../../src/proxy.ts","../../../../src/test-utils/react-act-polyfill.ts","../../../../tsconfig.json","../../../../vitest.config.ts","../../chunks/ssr/[root-of-the-server]__0d4cb2ba._.js","../../chunks/ssr/[root-of-the-server]__388bae11._.js","../../chunks/ssr/[root-of-the-server]__3b880807._.js","../../chunks/ssr/[root-of-the-server]__471bc2e7._.js","../../chunks/ssr/[root-of-the-server]__8e8f535b._.js","../../chunks/ssr/[root-of-the-server]__9e1ab064._.js","../../chunks/ssr/[root-of-the-server]__ac3862d0._.js","../../chunks/ssr/[turbopack]_runtime.js","../../chunks/ssr/_0efddc1b._.js","../../chunks/ssr/_8062e992._.js","../../chunks/ssr/_next-internal_server_app_tickets_page_actions_6479fa6d.js","../../chunks/ssr/node_modules_ea845e5f._.js","../../chunks/ssr/node_modules_next_920e7746._.js","../../chunks/ssr/node_modules_next_dist_22f8d72f._.js","../../chunks/ssr/node_modules_next_dist_25a30daf._.js","../../chunks/ssr/node_modules_next_dist_client_components_2fffaa3a._.js","../../chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_15817684.js","../../chunks/ssr/node_modules_next_dist_compiled_bc6b8ddf._.js","../../chunks/ssr/node_modules_next_dist_esm_eedfc1fd._.js","../../chunks/ssr/src_app_5b2047f8._.js","../../chunks/ssr/src_app_global-error_tsx_aa661ba4._.js","../../chunks/ssr/src_app_not-found_tsx_3f23d179._.js","../../chunks/ssr/src_app_tickets_TicketsBoardClient_tsx_5e156ef3._.js","./page/react-loadable-manifest.json","./page_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../CODE_QUALITY_REVIEW.md","../../../../LICENSE","../../../../README.md","../../../../docs/AGENTS.md","../../../../docs/CHANNELS.md","../../../../docs/CRON_JOBS.md","../../../../docs/EXAMPLES.md","../../../../docs/GOALS.md","../../../../docs/INSTALL_AND_ACCESS.md","../../../../docs/MEDIA_GENERATION.md","../../../../docs/ORCHESTRATOR.md","../../../../docs/PRODUCT_TOUR.md","../../../../docs/QA_AUTH.md","../../../../docs/README.md","../../../../docs/RECIPES_AND_SCAFFOLDING.md","../../../../docs/RUNS.md","../../../../docs/SETTINGS.md","../../../../docs/TEAMS.md","../../../../docs/TEAM_MEMORY.md","../../../../docs/TICKETS.md","../../../../docs/TROUBLESHOOTING.md","../../../../docs/WORKFLOWS.md","../../../../docs/WORKFLOWS_OLD.md","../../../../docs/WORKFLOW_VISUAL_EDITOR.md","../../../../eslint.config.mjs","../../../../marketplace/registry.json","../../../../next.config.ts","../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js","../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../node_modules/next/dist/lib/constants.js","../../../../node_modules/next/dist/lib/interop-default.js","../../../../node_modules/next/dist/lib/is-error.js","../../../../node_modules/next/dist/lib/semver-noop.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../node_modules/next/dist/server/response-cache/types.js","../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/next/package.json","../../../../openclaw.plugin.json","../../../../openclaw/index.ts","../../../../package-lock.json","../../../../package.json","../../../../postcss.config.mjs","../../../../public/android-chrome-192x192.png","../../../../public/android-chrome-512x512.png","../../../../public/apple-touch-icon.png","../../../../public/chef.jpg","../../../../public/favicon-16x16.png","../../../../public/favicon-32x32.png","../../../../public/favicon.ico","../../../../public/file.svg","../../../../public/globe.svg","../../../../public/images/clawkitchen/home.png","../../../../public/images/clawkitchen/recipes.png","../../../../public/images/clawkitchen/runs.png","../../../../public/images/clawkitchen/team.png","../../../../public/images/clawkitchen/tickets.png","../../../../public/images/clawkitchen/workflows.png","../../../../public/next.svg","../../../../public/vercel.svg","../../../../public/window.svg","../../../../scripts/check-openclaw-plugin-version.mjs","../../../../scripts/ci/require-tests-for-lib-changes.sh","../../../../scripts/copy-standalone-static.mjs","../../../../scripts/goals-smoke.mjs","../../../../scripts/refactor-report.mjs","../../../../scripts/sync-openclaw-plugin-version.mjs","../../../../src/app/HomeClient.tsx","../../../../src/app/agents/[agentId]/agent-editor-tabs.tsx","../../../../src/app/agents/[agentId]/agent-editor.tsx","../../../../src/app/agents/[agentId]/page.tsx","../../../../src/app/api/agents/[id]/route.ts","../../../../src/app/api/agents/add/route.ts","../../../../src/app/api/agents/file/route.ts","../../../../src/app/api/agents/files/route.ts","../../../../src/app/api/agents/identity/route.ts","../../../../src/app/api/agents/route.ts","../../../../src/app/api/agents/skills/install/route.ts","../../../../src/app/api/agents/skills/route.ts","../../../../src/app/api/agents/update/route.ts","../../../../src/app/api/channels/bindings/route.ts","../../../../src/app/api/cron/add/route.ts","../../../../src/app/api/cron/bulk/route.ts","../../../../src/app/api/cron/delete/route.ts","../../../../src/app/api/cron/edit/route.ts","../../../../src/app/api/cron/helpers.ts","../../../../src/app/api/cron/job/route.ts","../../../../src/app/api/cron/jobs/route.ts","../../../../src/app/api/cron/recipe-installed/route.ts","../../../../src/app/api/cron/worker/route.ts","../../../../src/app/api/gateway/restart/route.ts","../../../../src/app/api/goals/[id]/promote/route.ts","../../../../src/app/api/goals/[id]/route.ts","../../../../src/app/api/goals/route.ts","../../../../src/app/api/ids/check/route.ts","../../../../src/app/api/manifest/route.ts","../../../../src/app/api/marketplace/recipes/[slug]/route.ts","../../../../src/app/api/marketplace/recipes/route.ts","../../../../src/app/api/plugins/[pluginId]/[...path]/route.ts","../../../../src/app/api/plugins/[pluginId]/tabs/[tabId]/route.ts","../../../../src/app/api/plugins/route.ts","../../../../src/app/api/plugins/test/route.ts","../../../../src/app/api/recipes/[id]/route.ts","../../../../src/app/api/recipes/clone/route.ts","../../../../src/app/api/recipes/custom-team/route.ts","../../../../src/app/api/recipes/delete/helpers.ts","../../../../src/app/api/recipes/delete/route.ts","../../../../src/app/api/recipes/local-agent-catalog/route.ts","../../../../src/app/api/recipes/route.ts","../../../../src/app/api/recipes/team-agents/helpers.ts","../../../../src/app/api/recipes/team-agents/route.ts","../../../../src/app/api/scaffold/helpers.ts","../../../../src/app/api/scaffold/route.ts","../../../../src/app/api/settings/cron-installation/route.ts","../../../../src/app/api/settings/model-options/route.ts","../../../../src/app/api/skills/available/route.ts","../../../../src/app/api/swarms/start/route.ts","../../../../src/app/api/swarms/status/route.ts","../../../../src/app/api/teams/[teamId]/media-providers/route.ts","../../../../src/app/api/teams/[teamId]/tickets/assign/route.ts","../../../../src/app/api/teams/[teamId]/tickets/assignees/route.ts","../../../../src/app/api/teams/[teamId]/tickets/comment/route.ts","../../../../src/app/api/teams/[teamId]/tickets/delete/route.ts","../../../../src/app/api/teams/[teamId]/tickets/move-to-goals/route.ts","../../../../src/app/api/teams/[teamId]/tickets/move/route.test.ts","../../../../src/app/api/teams/[teamId]/tickets/move/route.ts","../../../../src/app/api/teams/file/route.ts","../../../../src/app/api/teams/files/route.ts","../../../../src/app/api/teams/list/route.ts","../../../../src/app/api/teams/memory/route.ts","../../../../src/app/api/teams/meta/route.ts","../../../../src/app/api/teams/orchestrator/install/route.ts","../../../../src/app/api/teams/orchestrator/route.ts","../../../../src/app/api/teams/plugins/route.ts","../../../../src/app/api/teams/remove-team/route.ts","../../../../src/app/api/teams/skills/install/route.ts","../../../../src/app/api/teams/skills/route.ts","../../../../src/app/api/teams/workflow-deliverables/file/route.ts","../../../../src/app/api/teams/workflow-deliverables/route.ts","../../../../src/app/api/teams/workflow-runs/route.test.ts","../../../../src/app/api/teams/workflow-runs/route.ts","../../../../src/app/api/teams/workflow-templates/route.ts","../../../../src/app/api/teams/workflow-triggers/route.ts","../../../../src/app/api/teams/workflows/route.ts","../../../../src/app/api/tickets/assign/route.ts","../../../../src/app/api/tickets/assignees/route.ts","../../../../src/app/api/tickets/move/route.ts","../../../../src/app/channels/channels-client.tsx","../../../../src/app/channels/page.tsx","../../../../src/app/cron-jobs/cron-jobs-client.tsx","../../../../src/app/cron-jobs/page.tsx","../../../../src/app/favicon.ico","../../../../src/app/global-error.tsx","../../../../src/app/globals.css","../../../../src/app/goals/[id]/goal-editor.tsx","../../../../src/app/goals/[id]/page.tsx","../../../../src/app/goals/goals-client.tsx","../../../../src/app/goals/new/page.tsx","../../../../src/app/goals/page.tsx","../../../../src/app/layout.tsx","../../../../src/app/manifest.ts","../../../../src/app/not-found.tsx","../../../../src/app/page.tsx","../../../../src/app/recipes/CreateAgentModal.tsx","../../../../src/app/recipes/CreateCustomTeamModal.tsx","../../../../src/app/recipes/CreateModalShell.tsx","../../../../src/app/recipes/CreateTeamModal.tsx","../../../../src/app/recipes/[id]/RecipeEditor/RecipeEditorCreateModal.tsx","../../../../src/app/recipes/[id]/RecipeEditor/RecipeEditorPanel.tsx","../../../../src/app/recipes/[id]/RecipeEditor/index.tsx","../../../../src/app/recipes/[id]/RecipeEditor/recipe-editor-utils.ts","../../../../src/app/recipes/[id]/RecipeEditor/types.ts","../../../../src/app/recipes/[id]/page.tsx","../../../../src/app/recipes/page.tsx","../../../../src/app/recipes/recipes-client.tsx","../../../../src/app/runs/AllRunsClient.tsx","../../../../src/app/runs/page.tsx","../../../../src/app/settings/page.tsx","../../../../src/app/settings/settings-client.tsx","../../../../src/app/teams/[teamId]/CloneTeamModal.tsx","../../../../src/app/teams/[teamId]/OrchestratorPanel.tsx","../../../../src/app/teams/[teamId]/OrchestratorSetupModal.tsx","../../../../src/app/teams/[teamId]/PublishChangesModal.tsx","../../../../src/app/teams/[teamId]/deliverables/deliverables-client.tsx","../../../../src/app/teams/[teamId]/deliverables/page.tsx","../../../../src/app/teams/[teamId]/page.tsx","../../../../src/app/teams/[teamId]/runs/[workflowId]/[runId]/page.tsx","../../../../src/app/teams/[teamId]/runs/[workflowId]/[runId]/run-detail-client.tsx","../../../../src/app/teams/[teamId]/runs/page.tsx","../../../../src/app/teams/[teamId]/runs/runs-client.tsx","../../../../src/app/teams/[teamId]/team-editor/DeliverablesTab.tsx","../../../../src/app/teams/[teamId]/team-editor/TeamAgentsTab.tsx","../../../../src/app/teams/[teamId]/team-editor/TeamCronTab.tsx","../../../../src/app/teams/[teamId]/team-editor/TeamFilesTab.tsx","../../../../src/app/teams/[teamId]/team-editor/TeamMemoryTab.tsx","../../../../src/app/teams/[teamId]/team-editor/TeamRecipeTab.tsx","../../../../src/app/teams/[teamId]/team-editor/TeamSkillsTab.tsx","../../../../src/app/teams/[teamId]/team-editor/index.tsx","../../../../src/app/teams/[teamId]/team-editor/team-editor-data.ts","../../../../src/app/teams/[teamId]/team-editor/team-editor-utils.ts","../../../../src/app/teams/[teamId]/team-editor/types.ts","../../../../src/app/teams/[teamId]/tickets/[ticket]/page.tsx","../../../../src/app/teams/[teamId]/tickets/page.tsx","../../../../src/app/teams/[teamId]/workflows/[workflowId]/WorkflowCanvas.tsx","../../../../src/app/teams/[teamId]/workflows/[workflowId]/page.tsx","../../../../src/app/teams/[teamId]/workflows/[workflowId]/workflows-editor-client.tsx","../../../../src/app/teams/[teamId]/workflows/page.tsx","../../../../src/app/teams/[teamId]/workflows/workflows-client.tsx","../../../../src/app/tickets/TicketDetailClient.tsx","../../../../src/app/tickets/TicketsBoardClient.tsx","../../../../src/app/tickets/[ticket]/TicketAssignControl.tsx","../../../../src/app/tickets/[ticket]/page.tsx","../../../../src/app/tickets/page.tsx","../../../../src/components/AppShell.tsx","../../../../src/components/ConfirmationModal.tsx","../../../../src/components/CreateCronJobModal.tsx","../../../../src/components/CronJobForm.tsx","../../../../src/components/DeleteEntityModal.tsx","../../../../src/components/DeliverablePreviewPanel.tsx","../../../../src/components/EditCronJobModal.tsx","../../../../src/components/ErrorBoundary.tsx","../../../../src/components/FileListWithOptionalToggle.tsx","../../../../src/components/GoalFormFields.tsx","../../../../src/components/Modal.tsx","../../../../src/components/PluginTabs.tsx","../../../../src/components/RunDeliverables.tsx","../../../../src/components/RunLoadingOverlay.tsx","../../../../src/components/ScaffoldOverlay.tsx","../../../../src/components/ThemeToggle.tsx","../../../../src/components/ToastProvider.tsx","../../../../src/components/delete-modals.tsx","../../../../src/components/icons.tsx","../../../../src/components/media/MediaGenerationConfig.tsx","../../../../src/hooks/useCronJobForm.ts","../../../../src/hooks/useRunSelection.ts","../../../../src/lib/agent-workspace.ts","../../../../src/lib/agents.ts","../../../../src/lib/api-route-helpers.ts","../../../../src/lib/app-info.ts","../../../../src/lib/cron-job-utils.ts","../../../../src/lib/cron.ts","../../../../src/lib/editor-utils.ts","../../../../src/lib/errors.ts","../../../../src/lib/exec.ts","../../../../src/lib/fetch-json.ts","../../../../src/lib/gateway.ts","../../../../src/lib/goal-promote.ts","../../../../src/lib/goals-client.ts","../../../../src/lib/goals.ts","../../../../src/lib/json.ts","../../../../src/lib/kitchen-api.ts","../../../../src/lib/kitchen-plugins.ts","../../../../src/lib/manifest.ts","../../../../src/lib/marketplace.ts","../../../../src/lib/media-file-utils.ts","../../../../src/lib/openclaw-cache.ts","../../../../src/lib/openclaw-config.ts","../../../../src/lib/openclaw.ts","../../../../src/lib/paths.ts","../../../../src/lib/plugins.ts","../../../../src/lib/poll.ts","../../../../src/lib/recipe-clone.ts","../../../../src/lib/recipe-team-agents.ts","../../../../src/lib/recipes.ts","../../../../src/lib/scaffold-client.ts","../../../../src/lib/scaffold.ts","../../../../src/lib/selected-team.ts","../../../../src/lib/slugify.ts","../../../../src/lib/spec-hash-utils.ts","../../../../src/lib/swarms.ts","../../../../src/lib/team-plugins.ts","../../../../src/lib/teams.ts","../../../../src/lib/ticket-comments.ts","../../../../src/lib/tickets.ts","../../../../src/lib/type-guards.ts","../../../../src/lib/use-slugified-id.ts","../../../../src/lib/workflows/README.md","../../../../src/lib/workflows/api-handlers.ts","../../../../src/lib/workflows/media-nodes.ts","../../../../src/lib/workflows/readdir.ts","../../../../src/lib/workflows/runs-storage.ts","../../../../src/lib/workflows/runs-types.ts","../../../../src/lib/workflows/storage.ts","../../../../src/lib/workflows/templates/index.ts","../../../../src/lib/workflows/templates/marketing-cadence-v1.ts","../../../../src/lib/workflows/types.ts","../../../../src/lib/workflows/validate.ts","../../../../src/proxy.ts","../../../../src/test-utils/react-act-polyfill.ts","../../../../tsconfig.json","../../../../vitest.config.ts","../../chunks/ssr/[root-of-the-server]__0d4cb2ba._.js","../../chunks/ssr/[root-of-the-server]__388bae11._.js","../../chunks/ssr/[root-of-the-server]__3b880807._.js","../../chunks/ssr/[root-of-the-server]__471bc2e7._.js","../../chunks/ssr/[root-of-the-server]__8e8f535b._.js","../../chunks/ssr/[root-of-the-server]__9e1ab064._.js","../../chunks/ssr/[root-of-the-server]__ac3862d0._.js","../../chunks/ssr/[turbopack]_runtime.js","../../chunks/ssr/_0efddc1b._.js","../../chunks/ssr/_8062e992._.js","../../chunks/ssr/_next-internal_server_app_tickets_page_actions_6479fa6d.js","../../chunks/ssr/node_modules_ea845e5f._.js","../../chunks/ssr/node_modules_next_920e7746._.js","../../chunks/ssr/node_modules_next_dist_22f8d72f._.js","../../chunks/ssr/node_modules_next_dist_25a30daf._.js","../../chunks/ssr/node_modules_next_dist_client_components_2fffaa3a._.js","../../chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_15817684.js","../../chunks/ssr/node_modules_next_dist_compiled_bc6b8ddf._.js","../../chunks/ssr/node_modules_next_dist_esm_eedfc1fd._.js","../../chunks/ssr/src_app_5b2047f8._.js","../../chunks/ssr/src_app_global-error_tsx_aa661ba4._.js","../../chunks/ssr/src_app_not-found_tsx_3f23d179._.js","../../chunks/ssr/src_app_tickets_TicketsBoardClient_tsx_5e156ef3._.js","./page/react-loadable-manifest.json","./page_client-reference-manifest.js"]}
@@ -0,0 +1,3 @@
1
+ module.exports=[70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},7367,e=>{"use strict";var t=e.i(12714),r=e.i(60526),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 i(){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 i();return n.default.join(e,"recipes")}async function s(){let e=await i(),r=n.default.join(e,"goals");try{if((await t.default.stat(r)).isDirectory())return r}catch{}return n.default.join(e,"notes","goals")}async function l(e){let t=r.default.homedir();if(!t)throw Error("Could not resolve home directory");return n.default.join(t,".openclaw",`workspace-${e}`)}function u(e,t){return"main"===t?n.default.resolve(e):n.default.resolve(e,"..",`workspace-${t}`)}function c(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 n.default.join(t,"recipes","default")}e.s(["assertSafeRelativeFileName",()=>c,"getBuiltinRecipesDir",()=>d,"getTeamWorkspaceDir",()=>l,"getWorkspaceDir",()=>i,"getWorkspaceGoalsDir",()=>s,"getWorkspaceRecipesDir",()=>o,"readOpenClawConfig",()=>a,"teamDirFromBaseWorkspace",()=>u])},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 i(e,t){return"string"==typeof e.stderr?e.stderr:e.stderr&&"object"==typeof e.stderr&&"toString"in e.stderr?String(e.stderr.toString()):"string"==typeof e.message?e.message:String(t)}function o(e){let t=e.trim();if(!t)return e;let r=t[0];if("["===r||"{"===r||'"'===r)return e;let n=t.split("\n"),a=n.findIndex(e=>/^\s*[[\{"]/.test(e));if(a>0){let e=n.slice(a).join("\n");try{return JSON.parse(e),e}catch{}}return e}async function 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?o(a):a,stderr:String(t.stderr??"")}}catch(t){let e="number"==typeof t.code?t.code:1;return{ok:!1,exitCode:e,stdout:a(t),stderr:i(t,t)}}}function l(e){let t=e.trim();if(!t)return null;try{return JSON.parse(t)}catch{}let r=t.split("\n"),n=r.findIndex(e=>/^\s*[[\{]/.test(e));if(n>=0){let e=r.slice(n).join("\n");try{return JSON.parse(e)}catch{}}for(let e=r.length-1;e>=0;e--)if(/^\s*[\]}]/.test(r[e])){for(let t=e;t>=0;t--)if(/^\s*[[\{]/.test(r[t]))try{return JSON.parse(r.slice(t,e+1).join("\n"))}catch{}}return null}async function u(e){return s(e,{sanitizeStdout:!1})}async function c(e){if("cron"===e[0]||"recipes"===e[0]&&"workflows"===e[1]&&["runner-once","runner-tick","worker-tick"].includes(e[2]))return s(e);let r=(0,t.getKitchenApi)();try{let t=await r.runtime.system.runCommandWithTimeout(["openclaw",...e],{timeoutMs:12e4}),n=o(String(t.stdout??"")),a=String(t.stderr??""),i="number"==typeof t.exitCode?t.exitCode:"number"==typeof t.code?t.code:"number"==typeof t.status?t.status:0;if(0!==i)return{ok:!1,exitCode:i,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:i(t,t)}}}e.s(["extractJson",()=>l,"runOpenClaw",()=>c,"runOpenClawRaw",()=>u])},42013,e=>{"use strict";var t=e.i(5003);let r=new Map,n=new Map;async function a(e,i={}){let o=i.ttlMs??3e4,s=JSON.stringify(e),l=r.get(s);if(l&&Date.now()<l.expires)return l.value;let u=n.get(s);if(u)return u;let c=(async()=>{try{let n=await (0,t.runOpenClaw)(e);return n.ok&&r.set(s,{value:n,expires:Date.now()+o}),n}finally{n.delete(s)}})();return n.set(s,c),c}function i(...e){for(let t of e){let e=JSON.stringify(t).replace(/\]$/,"");for(let n of r.keys())(n===JSON.stringify(t)||n.startsWith(e))&&r.delete(n);for(let r of n.keys())(r===JSON.stringify(t)||r.startsWith(e))&&n.delete(r)}}e.s(["cachedRunOpenClaw",()=>a,"invalidateOpenClawCache",()=>i])},76509,e=>{"use strict";var t=e.i(7367);async function r(){let e=await (0,t.readOpenClawConfig)(),r=e.gateway?.port??18789,n=e.gateway?.auth?.token;if(!n)throw Error("Missing gateway token (gateway.auth.token in ~/.openclaw/openclaw.json)");return{baseUrl:`http://127.0.0.1:${r}`,token:n}}async function n(e){let{baseUrl:t,token:n}=await r(),a=await fetch(`${t}/tools/invoke`,{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${n}`},body:JSON.stringify(e)}),i=await a.json();if(!a.ok||!i.ok)throw Error("object"==typeof i.error&&i.error?.message||("string"==typeof i.error?i.error:null)||`tools/invoke failed (${a.status})`);return i.result}function a(e){return e?.find(e=>"text"===e.type)?.text}async function i(){let e=await n({tool:"gateway",args:{action:"config.get",raw:"{}"}}),t=a(e?.content);if(!t)throw Error("gateway config.get: missing text payload");let r=JSON.parse(t),i=String(r?.result?.raw??""),o=String(r?.result?.hash??"");if(!i)throw Error("gateway config.get: missing result.raw");if(!o)throw Error("gateway config.get: missing result.hash");return{raw:i,hash:o}}async function o(e,t){let{hash:r}=await i();return n({tool:"gateway",args:{action:"config.patch",raw:JSON.stringify(e,null,2),baseHash:r,note:t??"ClawKitchen settings update",restartDelayMs:1e3}})}e.s(["gatewayConfigGet",()=>i,"gatewayConfigPatch",()=>o,"getContentText",()=>a,"toolsInvoke",()=>n])},8884,e=>{"use strict";var t=e.i(12714),r=e.i(50227),n=e.i(42013);function a(e){return"team"===e.kind?`/teams/${encodeURIComponent(e.id)}`:`/agents/${encodeURIComponent(e.id)}`}function i(e,t,r,n){for(let[i,o]of Object.entries(e)){if(!o||o.orphaned)continue;let e=String(o.installedCronId??"").trim();if(e){{let t=String(i).match(/^team:([^:]+):recipe:workflow-worker:cron:/),o=t||"agent"!==r?null:String(i).match(/^workflow-worker:([^:]+):/),s=String((t??o)?.[1]??"").trim();if(s){n.set(e,{kind:"team",id:s,label:s,href:a({kind:"team",id:s})});continue}}n.set(e,{kind:r,id:t,label:t,href:a({kind:r,id:t})})}}}async function o(e){try{let a=await (0,n.cachedRunOpenClaw)(["config","get","agents.list","--no-color"],{ttlMs:6e4});if(!a.ok)return;for(let n of JSON.parse(String(a.stdout??"[]"))){let a=String(n.id??""),o=String(n.workspace??"");if(!a||!o)continue;let s=r.default.join(o,"notes","cron-jobs.json");try{let r=await t.default.readFile(s,"utf8"),n=JSON.parse(r);i(n.entries??{},a,"agent",e)}catch{}}}catch{}}async function s(e){let n=new Map,a=r.default.resolve(e,"..");for(let e of(await t.default.readdir(a,{withFileTypes:!0}))){if(!e.isDirectory()||!e.name.startsWith("workspace-"))continue;let o=e.name.replace(/^workspace-/,""),s=r.default.join(a,e.name,"team.json"),l=r.default.join(a,e.name,"notes","cron-jobs.json");try{await t.default.stat(s)}catch{continue}try{let e=await t.default.readFile(l,"utf8"),r=JSON.parse(e);i(r.entries??{},o,"team",n)}catch{}}return await o(n),n}async function l(e){try{let r=await t.default.readFile(e,"utf8"),n=JSON.parse(r).entries??{};return Object.values(n).filter(e=>!e.orphaned).map(e=>String(e.installedCronId??"").trim()).filter(Boolean)}catch{return[]}}function u(e,t){return e.map(e=>{let r=String(e.id??""),n=r?t.get(r):void 0;return n?{...e,scope:n}:e})}async function c(e,r,n){try{let a=await t.default.readFile(r,"utf8"),i=JSON.parse(a);if(!i||1!==i.version||!i.entries)return null;let o=!1,s=[];for(let[t,r]of Object.entries(i.entries))String(r?.installedCronId??"").trim()!==e||r.orphaned||(i.entries[t]={...r,orphaned:!0},o=!0,s.push(t));if(!o)return null;return await t.default.writeFile(r,JSON.stringify(i,null,2)+"\n","utf8"),{teamId:n,mappingPath:r,keys:s}}catch{return null}}async function d(e,n){let a=[],i=r.default.resolve(n,"..");for(let n of(await t.default.readdir(i,{withFileTypes:!0}))){if(!n.isDirectory()||!n.name.startsWith("workspace-"))continue;let o=n.name.replace(/^workspace-/,""),s=r.default.join(i,n.name,"team.json"),l=r.default.join(i,n.name,"notes","cron-jobs.json");try{await t.default.stat(s)}catch{continue}let u=await c(e,l,o);u&&a.push(u)}return a}async function p(e){let t=await e({tool:"gateway",args:{action:"config.get",raw:"{}"}}),r=t?.content?.find(e=>"text"===e.type)?.text??"",n=r?JSON.parse(r):null,a=String(n?.result?.raw??""),i=a?JSON.parse(a):null;return String(i?.agents?.defaults?.workspace??"").trim()}e.s(["buildIdToScopeMap",()=>s,"enrichJobsWithScope",()=>u,"getBaseWorkspaceFromGateway",()=>p,"getInstalledIdsForTeam",()=>l,"markOrphanedInTeamWorkspaces",()=>d])},17323,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),i=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),u=e.i(87718),c=e.i(95169),d=e.i(47587),p=e.i(66012),f=e.i(70101),h=e.i(74838),w=e.i(10372),g=e.i(93695);e.i(52474);var y=e.i(220),m=e.i(89171),x=e.i(76509),k=e.i(5003),v=e.i(42013),S=e.i(8884);async function C(e){let t=await e.json(),r=Array.isArray(t.ids)?t.ids.map(e=>String(e).trim()).filter(Boolean):[],n=String(t.action??"").trim();if(!r.length)return m.NextResponse.json({ok:!1,error:"ids array is required"},{status:400});if(!["enable","disable","delete"].includes(n))return m.NextResponse.json({ok:!1,error:"action must be enable|disable|delete"},{status:400});let a=[],i="";if("delete"===n)try{i=await (0,S.getBaseWorkspaceFromGateway)(x.toolsInvoke)}catch{}for(let e of r)try{if("delete"===n){let t=await (0,k.runOpenClaw)(["cron","rm",e,"--json"]);if(!t.ok){a.push({id:e,ok:!1,error:t.stderr||t.stdout});continue}if(i)try{await (0,S.markOrphanedInTeamWorkspaces)(e,i)}catch{}}else{let t=await (0,k.runOpenClaw)(["cron",n,e]);if(!t.ok){a.push({id:e,ok:!1,error:t.stderr||t.stdout});continue}}a.push({id:e,ok:!0})}catch(t){a.push({id:e,ok:!1,error:String(t)})}a.some(e=>e.ok)&&(0,v.invalidateOpenClawCache)(["cron","list"]);let o=a.filter(e=>!e.ok);return m.NextResponse.json({ok:0===o.length,results:a,errors:o,count:a.filter(e=>e.ok).length})}e.s(["POST",()=>C],55839);var R=e.i(55839);let O=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/cron/bulk/route",pathname:"/api/cron/bulk",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cron/bulk/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:b,workUnitAsyncStorage:j,serverHooks:E}=O;function N(){return(0,n.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:j})}async function T(e,t,n){O.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/cron/bulk/route";m=m.replace(/\/index$/,"")||"/";let x=await O.prepare(e,t,{srcPage:m,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:k,params:v,nextConfig:S,parsedUrl:C,isDraftMode:R,prerenderManifest:b,routerServerContext:j,isOnDemandRevalidate:E,revalidateOnlyGenerated:N,resolvedPathname:T,clientReferenceManifest:A,serverActionsManifest:I}=x,P=(0,s.normalizeAppPath)(m),q=!!(b.dynamicRoutes[P]||b.routes[T]),D=async()=>((null==j?void 0:j.render404)?await j.render404(e,t,C,!1):t.end("This page could not be found"),null);if(q&&!R){let e=!!b.routes[T],t=b.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(S.experimental.adapterPath)return await D();throw new g.NoFallbackError}}let _=null;!q||O.isDev||R||(_="/index"===(_=T)?"/":_);let F=!0===O.isDev||!q,J=q&&!F;I&&A&&(0,o.setManifestsSingleton)({page:m,clientReferenceManifest:A,serverActionsManifest:I});let M=e.method||"GET",H=(0,i.getTracer)(),U=H.getActiveScopeSpan(),W={params:v,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:F,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:S.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>O.onRequestError(e,t,n,a,j)},sharedContext:{buildId:k}},$=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),K=u.NextRequestAdapter.fromNodeNextRequest($,(0,u.signalFromNodeResponse)(t));try{let o=async e=>O.handle(K,W).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")!==c.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=`${M} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${m}`)}),s=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var i,l;let u=async({previousCacheEntry:r})=>{try{if(!s&&E&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await o(a);e.fetchMetrics=W.renderOpts.fetchMetrics;let l=W.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let u=W.renderOpts.collectedTags;if(!q)return await (0,p.sendResponse)($,B,i,W.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!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,n=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await O.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:J,isOnDemandRevalidate:E})},!1,j),t}},c=await O.handleResponse({req:e,nextConfig:S,cacheKey:_,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:N,responseGenerator:u,waitUntil:n.waitUntil,isMinimalMode:s});if(!q)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",E?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),R&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return s&&q||g.delete(w.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,h.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)($,B,new Response(c.value.body,{headers:g,status:c.value.status||200})),null};U?await l(U):await H.withPropagatedContext(e.headers,()=>H.trace(c.BaseServerSpan.handleRequest,{spanName:`${M} ${m}`,kind:i.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await O.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:J,isOnDemandRevalidate:E})},!1,j),q)throw t;return await (0,p.sendResponse)($,B,new Response(null,{status:500})),null}}e.s(["handler",()=>T,"patchFetch",()=>N,"routeModule",()=>O,"serverHooks",()=>E,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>j],17323)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1331482c._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/paths.ts","../../../src/lib/kitchen-api.ts","../../../src/lib/openclaw.ts","../../../src/lib/openclaw-cache.ts","../../../src/lib/gateway.ts","../../../src/app/api/cron/helpers.ts","../../../node_modules/next/dist/esm/build/templates/app-route.js","../../../src/app/api/cron/bulk/route.ts"],"sourcesContent":["import fs from \"node:fs/promises\";\nimport os from \"node:os\";\nimport path from \"node:path\";\n\ntype OpenClawConfig = {\n agents?: { defaults?: { workspace?: string } };\n gateway?: { port?: number; auth?: { token?: string } };\n tools?: {\n agentToAgent?: {\n enabled?: boolean;\n allow?: string[];\n };\n };\n plugins?: {\n installs?: { recipes?: { installPath?: string; sourcePath?: string } };\n load?: { paths?: string[] };\n };\n // OpenClaw message routing bindings (used for HITL approvals, etc.)\n bindings?: unknown[];\n};\n\nexport async function readOpenClawConfig(): Promise<OpenClawConfig> {\n const p = path.join(os.homedir(), \".openclaw\", \"openclaw.json\");\n const text = await fs.readFile(p, \"utf8\");\n return JSON.parse(text) as OpenClawConfig;\n}\n\nexport async function getWorkspaceDir() {\n const cfg = await readOpenClawConfig();\n const ws = cfg.agents?.defaults?.workspace;\n if (!ws) throw new Error(\"agents.defaults.workspace is not set in ~/.openclaw/openclaw.json\");\n return ws;\n}\n\nexport async function getWorkspaceRecipesDir() {\n const ws = await getWorkspaceDir();\n return path.join(ws, \"recipes\");\n}\n\nexport async function getWorkspaceGoalsDir() {\n const ws = await getWorkspaceDir();\n\n // Back-compat: some installs keep goals at <workspace>/goals.\n // Prefer that when present, otherwise fall back to <workspace>/notes/goals.\n const direct = path.join(ws, \"goals\");\n try {\n const st = await fs.stat(direct);\n if (st.isDirectory()) return direct;\n } catch {\n // ignore\n }\n\n return path.join(ws, \"notes\", \"goals\");\n}\n\nexport async function getTeamWorkspaceDir(teamId: string) {\n const home = os.homedir();\n if (!home) throw new Error(\"Could not resolve home directory\");\n return path.join(home, \".openclaw\", `workspace-${teamId}`);\n}\n\n/** Team workspace dir derived from agents.defaults.workspace (sibling: .. / workspace-{teamId}) */\nexport function teamDirFromBaseWorkspace(baseWorkspace: string, teamId: string) {\n // Special-case: treat \"main\" as the personal workspace (agents.defaults.workspace).\n // This lets Kitchen expose a selectable \"main\" scope without creating a separate\n // ~/.openclaw/workspace-main folder.\n if (teamId === \"main\") return path.resolve(baseWorkspace);\n return path.resolve(baseWorkspace, \"..\", `workspace-${teamId}`);\n}\n\n/** Rejects path traversal and empty names; returns normalized name. */\nexport function assertSafeRelativeFileName(name: string): string {\n const n = name.replace(/\\\\/g, \"/\");\n if (!n || n.startsWith(\"/\") || n.includes(\"..\")) throw new Error(\"Invalid file name\");\n return n;\n}\n\nexport async function getBuiltinRecipesDir() {\n const cfg = await readOpenClawConfig();\n const p =\n cfg.plugins?.installs?.recipes?.installPath ||\n cfg.plugins?.installs?.recipes?.sourcePath ||\n cfg.plugins?.load?.paths?.[0];\n if (!p) throw new Error(\"Could not determine recipes plugin install path from ~/.openclaw/openclaw.json\");\n return path.join(p, \"recipes\", \"default\");\n}\n","// NOTE: This file is compiled by Next.js.\n// Do not import `openclaw/plugin-sdk` here (it is provided by the gateway runtime, not as an npm dep).\n\ntype KitchenApi = {\n config: unknown;\n runtime: {\n system: { runCommandWithTimeout: (argv: string[], opts: { timeoutMs: number }) => Promise<{ stdout?: string; stderr?: string }> };\n };\n};\n\nexport function getKitchenApi(): KitchenApi {\n const api = (globalThis as unknown as { __clawkitchen_api?: KitchenApi }).__clawkitchen_api;\n if (!api) {\n throw new Error(\n \"ClawKitchen: OpenClaw plugin API not available. (This should only happen if Kitchen is started outside the gateway process.)\",\n );\n }\n return api;\n}\n","import { getKitchenApi } from \"@/lib/kitchen-api\";\nimport { execFile } from \"node:child_process\";\nimport { promisify } from \"node:util\";\n\nconst execFileAsync = promisify(execFile);\n\nexport type OpenClawExecResult = {\n ok: boolean;\n exitCode: number;\n stdout: string;\n stderr: string;\n};\n\nfunction extractStdout(err: { stdout?: unknown }): string {\n if (typeof err.stdout === \"string\") return err.stdout;\n if (err.stdout && typeof err.stdout === \"object\" && \"toString\" in err.stdout) {\n return String((err.stdout as { toString: () => string }).toString());\n }\n return \"\";\n}\n\nfunction resolveExitCode(res: { exitCode?: unknown; code?: unknown; status?: unknown }): number {\n if (typeof res.exitCode === \"number\") return res.exitCode;\n if (typeof res.code === \"number\") return res.code;\n if (typeof res.status === \"number\") return res.status;\n return 0;\n}\n\nfunction extractStderr(err: { stderr?: unknown; message?: unknown }, fallback: unknown): string {\n if (typeof err.stderr === \"string\") return err.stderr;\n if (err.stderr && typeof err.stderr === \"object\" && \"toString\" in err.stderr) {\n return String((err.stderr as { toString: () => string }).toString());\n }\n if (typeof err.message === \"string\") return err.message;\n return String(fallback);\n}\n\n/**\n * Strip non-JSON diagnostic lines from stdout.\n *\n * OpenClaw may print plugin/doctor/diagnostic lines to stdout before the\n * actual JSON payload (e.g. \"[doctor] ...\", \"[plugins] ...\", \"🦞 OpenClaw ...\").\n * This breaks callers that do JSON.parse(stdout).\n *\n * If stdout looks like it contains a JSON payload with leading noise, strip the\n * noise lines. Otherwise return as-is (non-JSON commands like `config get` may\n * return plain text).\n */\nfunction sanitizeStdout(raw: string): string {\n const trimmed = raw.trim();\n if (!trimmed) return raw;\n\n // Fast path: already starts with JSON\n const firstChar = trimmed[0];\n if (firstChar === \"[\" || firstChar === \"{\" || firstChar === '\"') return raw;\n\n // Look for the first line starting with a JSON token\n const lines = trimmed.split(\"\\n\");\n const jsonStartIdx = lines.findIndex((l) => /^\\s*[[\\{\"]/.test(l));\n if (jsonStartIdx > 0) {\n // Verify the remainder is valid JSON before stripping\n const candidate = lines.slice(jsonStartIdx).join(\"\\n\");\n try {\n JSON.parse(candidate);\n return candidate;\n } catch {\n // Not valid JSON after stripping — return original\n }\n }\n\n return raw;\n}\n\nasync function runOpenClawLocal(args: string[], options: { sanitizeStdout?: boolean } = {}): Promise<OpenClawExecResult> {\n const { sanitizeStdout: shouldSanitize = true } = options;\n \n try {\n const isWindows = process.platform === \"win32\";\n const res = await execFileAsync(\"openclaw\", args, {\n timeout: 120000,\n windowsHide: true,\n maxBuffer: 10 * 1024 * 1024,\n // Windows requires shell:true to resolve executables on PATH via PATHEXT.\n // Without it, execFile throws ENOENT even when openclaw is installed globally.\n ...(isWindows ? { shell: true } : {}),\n });\n\n const rawStdout = String(res.stdout ?? \"\");\n \n return {\n ok: true,\n exitCode: 0,\n stdout: shouldSanitize ? sanitizeStdout(rawStdout) : rawStdout,\n stderr: String(res.stderr ?? \"\"),\n };\n } catch (e: unknown) {\n const err = e as { code?: unknown; stdout?: unknown; stderr?: unknown; message?: unknown };\n const exitCode = typeof err.code === \"number\" ? err.code : 1;\n const stdout = extractStdout(err);\n const stderr = extractStderr(err, e);\n return { ok: false, exitCode, stdout, stderr };\n }\n}\n\n/**\n * Extract a JSON payload from stdout that may contain non-JSON diagnostic lines\n * (e.g. [doctor], [plugins], [recipes] log lines before the actual JSON).\n * Returns the parsed value or null if no JSON found.\n */\nexport function extractJson<T = unknown>(stdout: string): T | null {\n const trimmed = stdout.trim();\n if (!trimmed) return null;\n\n // Fast path: pure JSON\n try {\n return JSON.parse(trimmed) as T;\n } catch {\n // fall through\n }\n\n // Find the first line starting with [ or { (JSON array/object)\n const lines = trimmed.split(\"\\n\");\n const jsonStartIdx = lines.findIndex((l) => /^\\s*[[\\{]/.test(l));\n if (jsonStartIdx >= 0) {\n const jsonSlice = lines.slice(jsonStartIdx).join(\"\\n\");\n try {\n return JSON.parse(jsonSlice) as T;\n } catch {\n // fall through\n }\n }\n\n // Last resort: find the last JSON block (scan from end)\n for (let i = lines.length - 1; i >= 0; i--) {\n if (/^\\s*[\\]}]/.test(lines[i])) {\n // Walk backward to find the matching open\n for (let j = i; j >= 0; j--) {\n if (/^\\s*[[\\{]/.test(lines[j])) {\n try {\n return JSON.parse(lines.slice(j, i + 1).join(\"\\n\")) as T;\n } catch {\n // continue searching\n }\n }\n }\n }\n }\n\n return null;\n}\n\n/**\n * Run OpenClaw without stdout sanitization (for raw text output like recipe markdown)\n */\nexport async function runOpenClawRaw(args: string[]): Promise<OpenClawExecResult> {\n // Always use local exec for raw content to avoid Kitchen runtime restrictions\n return runOpenClawLocal(args, { sanitizeStdout: false });\n}\n\nexport async function runOpenClaw(args: string[]): Promise<OpenClawExecResult> {\n // In some Kitchen runtime contexts, `api.runtime.system.runCommandWithTimeout`\n // is executed with a restricted allowlist that does not include the `cron` tool,\n // causing `openclaw cron ...` to fail with \"Tool not available: cron\".\n //\n // Cron routes need to work in the gateway-run Kitchen environment, so for cron\n // specifically we prefer a local exec (host OpenClaw).\n if (args[0] === \"cron\") return runOpenClawLocal(args);\n\n // Workflow runner/worker commands are long-running orchestration processes that\n // acquire locks and claims. The runtime command wrapper (runCommandWithTimeout)\n // has a 120s hard timeout that can kill these mid-execution, orphaning locks and\n // leaving runs stuck in waiting_workers. Route them through local exec instead.\n if (\n args[0] === \"recipes\" &&\n args[1] === \"workflows\" &&\n [\"runner-once\", \"runner-tick\", \"worker-tick\"].includes(args[2])\n ) {\n return runOpenClawLocal(args);\n }\n\n const api = getKitchenApi();\n try {\n const res = (await api.runtime.system.runCommandWithTimeout([\"openclaw\", ...args], { timeoutMs: 120000 })) as {\n stdout?: unknown;\n stderr?: unknown;\n exitCode?: unknown;\n code?: unknown;\n status?: unknown;\n };\n\n const stdout = sanitizeStdout(String(res.stdout ?? \"\"));\n const stderr = String(res.stderr ?? \"\");\n const exitCode = resolveExitCode(res);\n\n if (exitCode !== 0) return { ok: false, exitCode, stdout, stderr };\n return { ok: true, exitCode: 0, stdout, stderr };\n } catch (e: unknown) {\n const err = e as { code?: unknown; stdout?: unknown; stderr?: unknown; message?: unknown };\n const exitCode = typeof err.code === \"number\" ? err.code : 1;\n const stdout = extractStdout(err);\n const stderr = extractStderr(err, e);\n return { ok: false, exitCode, stdout, stderr };\n }\n}\n","import { runOpenClaw, type OpenClawExecResult } from \"@/lib/openclaw\";\n\n// `openclaw <cmd>` invocations spawn a subprocess that pays a fixed startup\n// cost (~15-20s on this machine). Server components that read configuration\n// — agents list, recipes list, plugins list — call these on every render,\n// including each 3s `router.refresh()` poll on live pages, blocking the page\n// behind that subprocess.\n//\n// This helper memoizes successful results by argv key for a short window so\n// renders return fast. Concurrent callers share one in-flight subprocess\n// instead of spawning duplicates. Only successful results are cached so a\n// transient failure won't stick. Callers that mutate state (cron rm, recipes\n// delete, etc.) and routes that need fresh post-mutation reads should use\n// `runOpenClaw` directly instead.\n\nconst DEFAULT_TTL_MS = 30_000;\n\nconst cache = new Map<string, { value: OpenClawExecResult; expires: number }>();\nconst inflight = new Map<string, Promise<OpenClawExecResult>>();\n\nexport async function cachedRunOpenClaw(\n args: string[],\n options: { ttlMs?: number } = {}\n): Promise<OpenClawExecResult> {\n const ttl = options.ttlMs ?? DEFAULT_TTL_MS;\n const key = JSON.stringify(args);\n const cached = cache.get(key);\n if (cached && Date.now() < cached.expires) return cached.value;\n const existing = inflight.get(key);\n if (existing) return existing;\n const promise = (async () => {\n try {\n const value = await runOpenClaw(args);\n if (value.ok) cache.set(key, { value, expires: Date.now() + ttl });\n return value;\n } finally {\n inflight.delete(key);\n }\n })();\n inflight.set(key, promise);\n return promise;\n}\n\n/**\n * Invalidate one or more cached entries by argv. Mutation routes (e.g.\n * `cron rm`, `cron enable`) call this after a successful write so the next\n * read returns fresh data instead of waiting for the TTL to expire.\n *\n * Each argv is matched as a prefix: `invalidateOpenClawCache([\"cron\"])` clears\n * every cached `openclaw cron *` call. Pass an exact argv to scope tightly.\n */\nexport function invalidateOpenClawCache(...argvs: string[][]): void {\n for (const argv of argvs) {\n const prefix = JSON.stringify(argv).replace(/\\]$/, \"\");\n for (const key of cache.keys()) {\n if (key === JSON.stringify(argv) || key.startsWith(prefix)) cache.delete(key);\n }\n for (const key of inflight.keys()) {\n if (key === JSON.stringify(argv) || key.startsWith(prefix)) inflight.delete(key);\n }\n }\n}\n\n/** Test-only: clear all cached subprocess results. */\nexport function _resetOpenClawCache() {\n cache.clear();\n inflight.clear();\n}\n","import { readOpenClawConfig } from \"@/lib/paths\";\n\ntype ToolsInvokeRequest = {\n tool: string;\n action?: string;\n args?: Record<string, unknown>;\n sessionKey?: string;\n dryRun?: boolean;\n};\n\ntype ToolsInvokeResponse = {\n ok: boolean;\n result?: unknown;\n error?: { message?: string } | string;\n};\n\ntype GatewayConfigGetResult = {\n path: string;\n exists: boolean;\n raw: string;\n hash: string;\n};\n\ntype ToolTextEnvelope = {\n ok: boolean;\n result: GatewayConfigGetResult;\n};\n\nasync function getGatewayBaseUrlAndToken() {\n // ClawKitchen runs in-process with the OpenClaw Gateway (as a plugin), so we can read\n // the gateway port/token from the loaded config.\n const cfg = await readOpenClawConfig();\n const port = cfg.gateway?.port ?? 18789;\n const token = cfg.gateway?.auth?.token;\n if (!token) throw new Error(\"Missing gateway token (gateway.auth.token in ~/.openclaw/openclaw.json)\");\n\n const baseUrl = `http://127.0.0.1:${port}`;\n return { baseUrl, token };\n}\n\nexport async function toolsInvoke<T = unknown>(req: ToolsInvokeRequest): Promise<T> {\n const { baseUrl, token } = await getGatewayBaseUrlAndToken();\n\n const res = await fetch(`${baseUrl}/tools/invoke`, {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n authorization: `Bearer ${token}`,\n },\n body: JSON.stringify(req),\n });\n\n const json = (await res.json()) as ToolsInvokeResponse;\n if (!res.ok || !json.ok) {\n const msg =\n (typeof json.error === \"object\" && json.error?.message) ||\n (typeof json.error === \"string\" ? json.error : null) ||\n `tools/invoke failed (${res.status})`;\n throw new Error(msg);\n }\n\n return json.result as T;\n}\n\nexport function getContentText(content: Array<{ type: string; text?: string }> | undefined): string | undefined {\n return content?.find((c) => c.type === \"text\")?.text;\n}\n\nexport async function gatewayConfigGet(): Promise<{ raw: string; hash: string }> {\n const toolResult = await toolsInvoke<{ content: Array<{ type: string; text?: string }> }>({\n tool: \"gateway\",\n args: { action: \"config.get\", raw: \"{}\" },\n });\n\n const text = getContentText(toolResult?.content);\n if (!text) throw new Error(\"gateway config.get: missing text payload\");\n\n const parsed = JSON.parse(text) as ToolTextEnvelope;\n const raw = String(parsed?.result?.raw ?? \"\");\n const hash = String(parsed?.result?.hash ?? \"\");\n if (!raw) throw new Error(\"gateway config.get: missing result.raw\");\n if (!hash) throw new Error(\"gateway config.get: missing result.hash\");\n return { raw, hash };\n}\n\nexport async function gatewayConfigPatch(patch: unknown, note?: string) {\n const { hash } = await gatewayConfigGet();\n const raw = JSON.stringify(patch, null, 2);\n\n return toolsInvoke({\n tool: \"gateway\",\n args: {\n action: \"config.patch\",\n raw,\n baseHash: hash,\n note: note ?? \"ClawKitchen settings update\",\n restartDelayMs: 1000,\n },\n });\n}\n","import fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { cachedRunOpenClaw } from \"@/lib/openclaw-cache\";\n\nexport type CronScope = { kind: \"team\" | \"agent\"; id: string; label: string; href: string };\n\nfunction hrefForScope(scope: { kind: \"team\" | \"agent\"; id: string }) {\n return scope.kind === \"team\" ? `/teams/${encodeURIComponent(scope.id)}` : `/agents/${encodeURIComponent(scope.id)}`;\n}\n\ntype CronEntry = { installedCronId?: unknown; orphaned?: unknown };\n\nfunction addEntriesToScopeMap(\n entries: Record<string, CronEntry>,\n scopeId: string,\n kind: \"team\" | \"agent\",\n idToScope: Map<string, CronScope>\n): void {\n for (const [k, v] of Object.entries(entries)) {\n if (!v || Boolean(v.orphaned)) continue;\n const installedCronId = String(v.installedCronId ?? \"\").trim();\n if (!installedCronId) continue;\n\n // Workflow worker cron provenance keys should resolve to team scope.\n // New format: team:<teamId>:recipe:workflow-worker:cron:<agentId>\n // Legacy format: workflow-worker:<teamId>:<agentId>\n {\n const newFmt = String(k).match(/^team:([^:]+):recipe:workflow-worker:cron:/);\n const legacyFmt = !newFmt && kind === \"agent\" ? String(k).match(/^workflow-worker:([^:]+):/) : null;\n const teamId = String((newFmt ?? legacyFmt)?.[1] ?? \"\").trim();\n if (teamId) {\n idToScope.set(installedCronId, {\n kind: \"team\",\n id: teamId,\n label: teamId,\n href: hrefForScope({ kind: \"team\", id: teamId }),\n });\n continue;\n }\n }\n\n idToScope.set(installedCronId, { kind, id: scopeId, label: scopeId, href: hrefForScope({ kind, id: scopeId }) });\n }\n}\n\nasync function collectAgentScopes(idToScope: Map<string, CronScope>): Promise<void> {\n try {\n // 60s TTL: `config get agents.list` takes ~5s and the agent list changes\n // very rarely (only when the user adds/removes an agent via the agents UI,\n // which has its own paths to the openclaw subprocess).\n const cfgText = await cachedRunOpenClaw([\"config\", \"get\", \"agents.list\", \"--no-color\"], {\n ttlMs: 60_000,\n });\n if (!cfgText.ok) return;\n const list = JSON.parse(String(cfgText.stdout ?? \"[]\")) as Array<{ id?: unknown; workspace?: unknown }>;\n for (const a of list) {\n const agentId = String(a.id ?? \"\");\n const workspace = String(a.workspace ?? \"\");\n if (!agentId || !workspace) continue;\n const cronPath = path.join(workspace, \"notes\", \"cron-jobs.json\");\n try {\n const raw = await fs.readFile(cronPath, \"utf8\");\n const json = JSON.parse(raw) as { entries?: Record<string, CronEntry> };\n addEntriesToScopeMap(json.entries ?? {}, agentId, \"agent\", idToScope);\n } catch {\n // ignore\n }\n }\n } catch {\n // ignore\n }\n}\n\nexport async function buildIdToScopeMap(baseWorkspace: string): Promise<Map<string, CronScope>> {\n const idToScope = new Map<string, CronScope>();\n const baseHome = path.resolve(baseWorkspace, \"..\");\n const entries = await fs.readdir(baseHome, { withFileTypes: true });\n\n for (const ent of entries) {\n if (!ent.isDirectory() || !ent.name.startsWith(\"workspace-\")) continue;\n const scopeId = ent.name.replace(/^workspace-/, \"\");\n const teamJsonPath = path.join(baseHome, ent.name, \"team.json\");\n const teamNotesCronPath = path.join(baseHome, ent.name, \"notes\", \"cron-jobs.json\");\n try {\n await fs.stat(teamJsonPath);\n } catch {\n continue;\n }\n try {\n const raw = await fs.readFile(teamNotesCronPath, \"utf8\");\n const json = JSON.parse(raw) as { entries?: Record<string, CronEntry> };\n addEntriesToScopeMap(json.entries ?? {}, scopeId, \"team\", idToScope);\n } catch {\n // ignore\n }\n }\n\n await collectAgentScopes(idToScope);\n return idToScope;\n}\n\nexport async function getInstalledIdsForTeam(provenancePath: string): Promise<string[]> {\n try {\n const text = await fs.readFile(provenancePath, \"utf8\");\n const json = JSON.parse(text) as { entries?: Record<string, { installedCronId?: unknown; orphaned?: unknown }> };\n const entries = json.entries ?? {};\n return Object.values(entries)\n .filter((e) => !Boolean(e.orphaned))\n .map((e) => String(e.installedCronId ?? \"\").trim())\n .filter(Boolean);\n } catch {\n return [];\n }\n}\n\nexport function enrichJobsWithScope(\n jobs: unknown[],\n idToScope: Map<string, CronScope>\n): Array<unknown & { scope?: CronScope }> {\n return jobs.map((j) => {\n const id = String((j as { id?: unknown }).id ?? \"\");\n const scope = id ? idToScope.get(id) : undefined;\n return (scope ? { ...(j as object), scope } : j) as unknown & { scope?: CronScope };\n });\n}\n\ntype MappingStateV1 = {\n version: 1;\n entries: Record<string, { installedCronId: string; orphaned?: boolean }>;\n};\n\nasync function markOrphanedInOneMapping(\n id: string,\n mappingPath: string,\n teamId: string\n): Promise<{ teamId: string; mappingPath: string; keys: string[] } | null> {\n try {\n const rawMapping = await fs.readFile(mappingPath, \"utf8\");\n const mapping = JSON.parse(rawMapping) as MappingStateV1;\n if (!mapping || mapping.version !== 1 || !mapping.entries) return null;\n\n let changed = false;\n const keys: string[] = [];\n for (const [k, v] of Object.entries(mapping.entries)) {\n if (String(v?.installedCronId ?? \"\").trim() === id && !v.orphaned) {\n mapping.entries[k] = { ...v, orphaned: true };\n changed = true;\n keys.push(k);\n }\n }\n if (!changed) return null;\n await fs.writeFile(mappingPath, JSON.stringify(mapping, null, 2) + \"\\n\", \"utf8\");\n return { teamId, mappingPath, keys };\n } catch {\n return null;\n }\n}\n\nexport async function markOrphanedInTeamWorkspaces(\n id: string,\n baseWorkspace: string\n): Promise<Array<{ teamId: string; mappingPath: string; keys: string[] }>> {\n const orphanedIn: Array<{ teamId: string; mappingPath: string; keys: string[] }> = [];\n const baseHome = path.resolve(baseWorkspace, \"..\");\n const entries = await fs.readdir(baseHome, { withFileTypes: true });\n\n for (const ent of entries) {\n if (!ent.isDirectory() || !ent.name.startsWith(\"workspace-\")) continue;\n const teamId = ent.name.replace(/^workspace-/, \"\");\n const teamJsonPath = path.join(baseHome, ent.name, \"team.json\");\n const mappingPath = path.join(baseHome, ent.name, \"notes\", \"cron-jobs.json\");\n try {\n await fs.stat(teamJsonPath);\n } catch {\n continue;\n }\n const result = await markOrphanedInOneMapping(id, mappingPath, teamId);\n if (result) orphanedIn.push(result);\n }\n\n return orphanedIn;\n}\n\nexport async function getBaseWorkspaceFromGateway(\n toolsInvoke: (opts: { tool: string; args?: Record<string, unknown> }) => Promise<unknown>\n): Promise<string> {\n const cfg = (await toolsInvoke({\n tool: \"gateway\",\n args: { action: \"config.get\", raw: \"{}\" },\n })) as { content?: Array<{ type: string; text?: string }> };\n const cfgText = cfg?.content?.find((c) => c.type === \"text\")?.text ?? \"\";\n const env = cfgText ? (JSON.parse(cfgText) as { result?: { raw?: string } }) : null;\n const raw = String(env?.result?.raw ?? \"\");\n const parsedRaw = raw ? (JSON.parse(raw) as { agents?: { defaults?: { workspace?: string } } }) : null;\n return String(parsedRaw?.agents?.defaults?.workspace ?? \"\").trim();\n}\n","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/cron/bulk/route\",\n pathname: \"/api/cron/bulk\",\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/cron/bulk/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/cron/bulk/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 { NextResponse } from \"next/server\";\nimport { toolsInvoke } from \"@/lib/gateway\";\nimport { runOpenClaw } from \"@/lib/openclaw\";\nimport { invalidateOpenClawCache } from \"@/lib/openclaw-cache\";\nimport { getBaseWorkspaceFromGateway, markOrphanedInTeamWorkspaces } from \"../helpers\";\n\ntype BulkAction = \"enable\" | \"disable\" | \"delete\";\n\nexport async function POST(req: Request) {\n const body = (await req.json()) as { ids?: string[]; action?: string };\n const ids = Array.isArray(body.ids) ? body.ids.map((id) => String(id).trim()).filter(Boolean) : [];\n const action = String(body.action ?? \"\").trim() as BulkAction;\n\n if (!ids.length) return NextResponse.json({ ok: false, error: \"ids array is required\" }, { status: 400 });\n if (![\"enable\", \"disable\", \"delete\"].includes(action)) {\n return NextResponse.json({ ok: false, error: \"action must be enable|disable|delete\" }, { status: 400 });\n }\n\n const results: Array<{ id: string; ok: boolean; error?: string }> = [];\n\n // For delete, resolve base workspace once upfront.\n let baseWorkspace = \"\";\n if (action === \"delete\") {\n try {\n baseWorkspace = await getBaseWorkspaceFromGateway(toolsInvoke);\n } catch {\n // proceed without orphan marking\n }\n }\n\n for (const id of ids) {\n try {\n if (action === \"delete\") {\n const result = await runOpenClaw([\"cron\", \"rm\", id, \"--json\"]);\n if (!result.ok) {\n results.push({ id, ok: false, error: result.stderr || result.stdout });\n continue;\n }\n if (baseWorkspace) {\n try {\n await markOrphanedInTeamWorkspaces(id, baseWorkspace);\n } catch {\n // ignore orphan marking failures\n }\n }\n } else {\n const result = await runOpenClaw([\"cron\", action, id]);\n if (!result.ok) {\n results.push({ id, ok: false, error: result.stderr || result.stdout });\n continue;\n }\n }\n results.push({ id, ok: true });\n } catch (e: unknown) {\n results.push({ id, ok: false, error: String(e) });\n }\n }\n\n // Any successful mutation invalidates the cron list cache so the next\n // /api/cron/jobs read returns fresh state.\n if (results.some((r) => r.ok)) invalidateOpenClawCache([\"cron\", \"list\"]);\n\n const errors = results.filter((r) => !r.ok);\n return NextResponse.json({\n ok: errors.length === 0,\n results,\n errors,\n count: results.filter((r) => r.ok).length,\n });\n}\n"],"names":[],"mappings":"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","ignoreList":[6]}