@jiggai/kitchen 0.3.33 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +4 -0
- package/.next/build-manifest.json +5 -5
- package/.next/prerender-manifest.json +3 -3
- package/.next/required-server-files.js +4 -4
- package/.next/required-server-files.json +4 -4
- package/.next/routes-manifest.json +24 -0
- package/.next/server/app/_global-error/page/build-manifest.json +3 -3
- package/.next/server/app/_global-error/page.js +2 -2
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error.html +2 -2
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page/build-manifest.json +3 -3
- package/.next/server/app/_not-found/page.js +2 -2
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +5 -5
- package/.next/server/app/_not-found.segments/_full.segment.rsc +5 -5
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/agents/[agentId]/page/build-manifest.json +3 -3
- package/.next/server/app/agents/[agentId]/page.js +2 -2
- package/.next/server/app/agents/[agentId]/page.js.nft.json +1 -1
- package/.next/server/app/agents/[agentId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/[id]/route.js +1 -1
- package/.next/server/app/api/agents/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/add/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/file/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/files/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/route.js +1 -1
- package/.next/server/app/api/agents/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/skills/install/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/update/route.js.nft.json +1 -1
- package/.next/server/app/api/channels/bindings/route.js +1 -1
- package/.next/server/app/api/channels/bindings/route.js.nft.json +1 -1
- package/.next/server/app/api/cron/bulk/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/cron/bulk/route/build-manifest.json +11 -0
- package/.next/server/app/api/cron/bulk/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/cron/bulk/route.js +6 -0
- package/.next/server/app/api/cron/bulk/route.js.map +5 -0
- package/.next/server/app/api/cron/bulk/route.js.nft.json +1 -0
- package/.next/server/app/api/cron/bulk/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/cron/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/cron/jobs/route.js.nft.json +1 -1
- package/.next/server/app/api/cron/recipe-installed/route.js.nft.json +1 -1
- package/.next/server/app/api/cron/worker/route.js +2 -1
- package/.next/server/app/api/cron/worker/route.js.nft.json +1 -1
- package/.next/server/app/api/goals/[id]/promote/route.js.nft.json +1 -1
- package/.next/server/app/api/goals/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/goals/route.js.nft.json +1 -1
- package/.next/server/app/api/ids/check/route.js.nft.json +1 -1
- package/.next/server/app/api/manifest/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/manifest/route/build-manifest.json +11 -0
- package/.next/server/app/api/manifest/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/manifest/route.js +6 -0
- package/.next/server/app/api/manifest/route.js.map +5 -0
- package/.next/server/app/api/manifest/route.js.nft.json +1 -0
- package/.next/server/app/api/manifest/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/marketplace/recipes/[slug]/route.js +1 -1
- package/.next/server/app/api/marketplace/recipes/[slug]/route.js.nft.json +1 -1
- package/.next/server/app/api/marketplace/recipes/route.js +1 -1
- package/.next/server/app/api/marketplace/recipes/route.js.nft.json +1 -1
- package/.next/server/app/api/plugins/[pluginId]/[...path]/route.js +2 -2
- package/.next/server/app/api/plugins/[pluginId]/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/plugins/[pluginId]/tabs/[tabId]/route.js +1 -1
- package/.next/server/app/api/plugins/[pluginId]/tabs/[tabId]/route.js.nft.json +1 -1
- package/.next/server/app/api/plugins/route.js +1 -1
- package/.next/server/app/api/plugins/route.js.nft.json +1 -1
- package/.next/server/app/api/plugins/test/route.js +1 -1
- package/.next/server/app/api/plugins/test/route.js.nft.json +1 -1
- package/.next/server/app/api/recipes/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/recipes/clone/route.js.nft.json +1 -1
- package/.next/server/app/api/recipes/custom-team/route.js.nft.json +1 -1
- package/.next/server/app/api/recipes/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/recipes/local-agent-catalog/route.js.nft.json +1 -1
- package/.next/server/app/api/recipes/route.js +1 -1
- package/.next/server/app/api/recipes/route.js.nft.json +1 -1
- package/.next/server/app/api/recipes/team-agents/route.js.nft.json +1 -1
- package/.next/server/app/api/scaffold/route.js.nft.json +1 -1
- package/.next/server/app/api/settings/cron-installation/route.js.nft.json +1 -1
- package/.next/server/app/api/settings/model-options/route.js +1 -1
- package/.next/server/app/api/settings/model-options/route.js.nft.json +1 -1
- package/.next/server/app/api/swarms/start/route.js +1 -1
- package/.next/server/app/api/swarms/start/route.js.nft.json +1 -1
- package/.next/server/app/api/swarms/status/route.js +1 -1
- package/.next/server/app/api/swarms/status/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/[teamId]/media-providers/route.js +1 -1
- package/.next/server/app/api/teams/[teamId]/media-providers/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/[teamId]/tickets/assign/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/[teamId]/tickets/assignees/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/[teamId]/tickets/comment/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/[teamId]/tickets/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/[teamId]/tickets/move/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/[teamId]/tickets/move-to-goals/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/file/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/files/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/list/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/teams/list/route/build-manifest.json +11 -0
- package/.next/server/app/api/teams/list/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/teams/list/route.js +6 -0
- package/.next/server/app/api/teams/list/route.js.map +5 -0
- package/.next/server/app/api/teams/list/route.js.nft.json +1 -0
- package/.next/server/app/api/teams/list/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/teams/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/meta/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/orchestrator/route.js +1 -1
- package/.next/server/app/api/teams/orchestrator/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/remove-team/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/skills/install/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/workflow-deliverables/file/route.js +1 -1
- package/.next/server/app/api/teams/workflow-deliverables/file/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/workflow-deliverables/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/workflow-runs/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/workflow-templates/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/workflow-triggers/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/teams/workflow-triggers/route/build-manifest.json +11 -0
- package/.next/server/app/api/teams/workflow-triggers/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/teams/workflow-triggers/route.js +6 -0
- package/.next/server/app/api/teams/workflow-triggers/route.js.map +5 -0
- package/.next/server/app/api/teams/workflow-triggers/route.js.nft.json +1 -0
- package/.next/server/app/api/teams/workflow-triggers/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/teams/workflows/route.js.nft.json +1 -1
- package/.next/server/app/api/tickets/assign/route.js.nft.json +1 -1
- package/.next/server/app/api/tickets/assignees/route.js.nft.json +1 -1
- package/.next/server/app/api/tickets/move/route.js.nft.json +1 -1
- package/.next/server/app/channels/page/build-manifest.json +3 -3
- package/.next/server/app/channels/page.js +2 -2
- package/.next/server/app/channels/page.js.nft.json +1 -1
- package/.next/server/app/channels/page_client-reference-manifest.js +1 -1
- package/.next/server/app/channels.html +2 -2
- package/.next/server/app/channels.rsc +6 -6
- package/.next/server/app/channels.segments/_full.segment.rsc +6 -6
- package/.next/server/app/channels.segments/_head.segment.rsc +1 -1
- package/.next/server/app/channels.segments/_index.segment.rsc +3 -3
- package/.next/server/app/channels.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/channels.segments/channels/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/channels.segments/channels.segment.rsc +1 -1
- package/.next/server/app/cron-jobs/page/build-manifest.json +3 -3
- package/.next/server/app/cron-jobs/page.js +2 -2
- package/.next/server/app/cron-jobs/page.js.nft.json +1 -1
- package/.next/server/app/cron-jobs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/goals/[id]/page/build-manifest.json +3 -3
- package/.next/server/app/goals/[id]/page.js +2 -2
- package/.next/server/app/goals/[id]/page.js.nft.json +1 -1
- package/.next/server/app/goals/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/goals/new/page/build-manifest.json +3 -3
- package/.next/server/app/goals/new/page.js +2 -2
- package/.next/server/app/goals/new/page.js.nft.json +1 -1
- package/.next/server/app/goals/new/page_client-reference-manifest.js +1 -1
- package/.next/server/app/goals/new.html +2 -2
- package/.next/server/app/goals/new.rsc +6 -6
- package/.next/server/app/goals/new.segments/_full.segment.rsc +6 -6
- package/.next/server/app/goals/new.segments/_head.segment.rsc +1 -1
- package/.next/server/app/goals/new.segments/_index.segment.rsc +3 -3
- package/.next/server/app/goals/new.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/goals/new.segments/goals/new/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/goals/new.segments/goals/new.segment.rsc +1 -1
- package/.next/server/app/goals/new.segments/goals.segment.rsc +1 -1
- package/.next/server/app/goals/page/build-manifest.json +3 -3
- package/.next/server/app/goals/page.js +2 -2
- package/.next/server/app/goals/page.js.nft.json +1 -1
- package/.next/server/app/goals/page_client-reference-manifest.js +1 -1
- package/.next/server/app/goals.html +1 -1
- package/.next/server/app/goals.rsc +6 -6
- package/.next/server/app/goals.segments/_full.segment.rsc +6 -6
- package/.next/server/app/goals.segments/_head.segment.rsc +1 -1
- package/.next/server/app/goals.segments/_index.segment.rsc +3 -3
- package/.next/server/app/goals.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/goals.segments/goals/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/goals.segments/goals.segment.rsc +1 -1
- package/.next/server/app/page/build-manifest.json +3 -3
- package/.next/server/app/page.js +4 -4
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/recipes/[id]/page/build-manifest.json +3 -3
- package/.next/server/app/recipes/[id]/page.js +4 -4
- package/.next/server/app/recipes/[id]/page.js.nft.json +1 -1
- package/.next/server/app/recipes/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/recipes/page/build-manifest.json +3 -3
- package/.next/server/app/recipes/page.js +4 -4
- package/.next/server/app/recipes/page.js.nft.json +1 -1
- package/.next/server/app/recipes/page_client-reference-manifest.js +1 -1
- package/.next/server/app/runs/page/build-manifest.json +3 -3
- package/.next/server/app/runs/page.js +5 -7
- package/.next/server/app/runs/page.js.nft.json +1 -1
- package/.next/server/app/runs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/page/build-manifest.json +3 -3
- package/.next/server/app/settings/page.js +2 -2
- package/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings.html +1 -1
- package/.next/server/app/settings.rsc +6 -6
- package/.next/server/app/settings.segments/_full.segment.rsc +6 -6
- package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_index.segment.rsc +3 -3
- package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/.next/server/app/teams/[teamId]/deliverables/page/build-manifest.json +3 -3
- package/.next/server/app/teams/[teamId]/deliverables/page.js +5 -5
- package/.next/server/app/teams/[teamId]/deliverables/page.js.nft.json +1 -1
- package/.next/server/app/teams/[teamId]/deliverables/page_client-reference-manifest.js +1 -1
- package/.next/server/app/teams/[teamId]/page/build-manifest.json +3 -3
- package/.next/server/app/teams/[teamId]/page.js +5 -6
- package/.next/server/app/teams/[teamId]/page.js.nft.json +1 -1
- package/.next/server/app/teams/[teamId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/teams/[teamId]/runs/[workflowId]/[runId]/page/build-manifest.json +3 -3
- package/.next/server/app/teams/[teamId]/runs/[workflowId]/[runId]/page.js +5 -6
- package/.next/server/app/teams/[teamId]/runs/[workflowId]/[runId]/page.js.nft.json +1 -1
- package/.next/server/app/teams/[teamId]/runs/[workflowId]/[runId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/teams/[teamId]/runs/page/build-manifest.json +3 -3
- package/.next/server/app/teams/[teamId]/runs/page.js +2 -2
- package/.next/server/app/teams/[teamId]/runs/page.js.nft.json +1 -1
- package/.next/server/app/teams/[teamId]/runs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/teams/[teamId]/tickets/[ticket]/page/build-manifest.json +3 -3
- package/.next/server/app/teams/[teamId]/tickets/[ticket]/page.js +2 -2
- package/.next/server/app/teams/[teamId]/tickets/[ticket]/page.js.nft.json +1 -1
- package/.next/server/app/teams/[teamId]/tickets/[ticket]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/teams/[teamId]/tickets/page/build-manifest.json +3 -3
- package/.next/server/app/teams/[teamId]/tickets/page.js +2 -2
- package/.next/server/app/teams/[teamId]/tickets/page.js.nft.json +1 -1
- package/.next/server/app/teams/[teamId]/tickets/page_client-reference-manifest.js +1 -1
- package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page/build-manifest.json +3 -3
- package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page.js +5 -5
- package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page.js.nft.json +1 -1
- package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/teams/[teamId]/workflows/page/build-manifest.json +3 -3
- package/.next/server/app/teams/[teamId]/workflows/page.js +5 -5
- package/.next/server/app/teams/[teamId]/workflows/page.js.nft.json +1 -1
- package/.next/server/app/teams/[teamId]/workflows/page_client-reference-manifest.js +1 -1
- package/.next/server/app/tickets/[ticket]/page/build-manifest.json +3 -3
- package/.next/server/app/tickets/[ticket]/page.js +2 -2
- package/.next/server/app/tickets/[ticket]/page.js.nft.json +1 -1
- package/.next/server/app/tickets/[ticket]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/tickets/page/build-manifest.json +3 -3
- package/.next/server/app/tickets/page.js +2 -2
- package/.next/server/app/tickets/page.js.nft.json +1 -1
- package/.next/server/app/tickets/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +4 -0
- package/.next/server/chunks/[externals]_node:fs_ddf6f167._.js +3 -0
- package/.next/server/chunks/[externals]_node:fs_ddf6f167._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__00a30f40._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__03c5f2a6._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__03c5f2a6._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__04f289da._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__08b4c8f2._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0b2c557c._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0b2c557c._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0f55461f._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1311d7a3._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1480ffda._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__be5f57b2._.js → [root-of-the-server]__17fa6089._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__1873f417._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1d4f6506._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1d4f6506._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1f18c0c4._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1f18c0c4._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1f1e62ac._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__20b1f42d._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__21ad9eeb._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__2c207e60._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__2dd1afff._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__3021a250._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__30cd38e9._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__392e585d._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__3bfad714._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__3d15e850._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__3f648b9b._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__482575d2._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__4898071c._.js +4 -4
- package/.next/server/chunks/[root-of-the-server]__497e7a9d._.js +22 -0
- package/.next/server/chunks/[root-of-the-server]__497e7a9d._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__4ee12514._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__55defc7c._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__74b80ca4._.js → [root-of-the-server]__5792c29e._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__5aa1dc93._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__5c5990a6._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__603cb0fa._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__6131b7e2._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__6131b7e2._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__636919a0._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__653d42f0._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__653d42f0._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__663e79ff._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__0883634a._.js → [root-of-the-server]__68a21bb1._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__0883634a._.js.map → [root-of-the-server]__68a21bb1._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__69c065ce._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__6e463e5f._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__6e463e5f._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__c1b0d50e._.js → [root-of-the-server]__7194dfe2._.js} +3 -3
- package/.next/server/chunks/{[root-of-the-server]__f45ceefb._.js → [root-of-the-server]__7347e39f._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__f45ceefb._.js.map → [root-of-the-server]__7347e39f._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__74e2a9ba._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__7bdf9f6e._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__7bdf9f6e._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__7e12b9f4._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__87875179._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__17124952._.js → [root-of-the-server]__89f2190c._.js} +3 -3
- package/.next/server/chunks/[root-of-the-server]__8f8e110f._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__91d0cce1._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__91d0cce1._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__937b40e2._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__937b40e2._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__9853b72d._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__9dba20b3._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__9e96d37b._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__aba68368._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__aed4e4f2._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__b6cff26d._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__0bea0f71._.js → [root-of-the-server]__b986660c._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__0bea0f71._.js.map → [root-of-the-server]__b986660c._.js.map} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__343776df._.js → [root-of-the-server]__bbed0e46._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__c15c5141._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__c50e4bc4._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__cc0860cb._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__cc3ea05b._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__cc3ea05b._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__d302afb4._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__d4a8660e._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__e1432bba._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__e1432bba._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__e478ef0d._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__e9acbabd._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__e9d9d570._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__f408c708._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__f4cbadf7._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__f5cd81f1._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__f85b5a70._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__f85b5a70._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__f994dc62._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__fb22e719._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__fb22e719._.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_cron_bulk_route_actions_30f8adb9.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_cron_bulk_route_actions_30f8adb9.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_manifest_route_actions_7f7622ff.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_manifest_route_actions_7f7622ff.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_teams_list_route_actions_5aa8c937.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_teams_list_route_actions_5aa8c937.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_teams_workflow-triggers_route_actions_e86e3b38.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_teams_workflow-triggers_route_actions_e86e3b38.js.map +1 -0
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_1fe98a49.js +1 -1
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_1fe98a49.js.map +1 -1
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_3a1b29e4.js +1 -1
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_cb6ddb24.js +13 -0
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_cb6ddb24.js.map +1 -0
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_f5680d9e.js +1 -1
- package/.next/server/chunks/node_modules_yaml_dist_49c13b35._.js +1 -1
- package/.next/server/chunks/node_modules_yaml_dist_49c13b35._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__195421b7._.js +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__195421b7._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__2a657095._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__2a657095._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__3b880807._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__3b880807._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__3f55f975._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__3f55f975._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__471bc2e7._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__471bc2e7._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__4d24c088._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__4d24c088._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__6390ce9c._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__6390ce9c._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__7b8cdea5._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__7b8cdea5._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__7d21617d._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__7d21617d._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__8135c9d5._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__8135c9d5._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules_next_dist_1038a5b9._.js → [root-of-the-server]__8e8f535b._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_next_dist_1038a5b9._.js.map → [root-of-the-server]__8e8f535b._.js.map} +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__92524828._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__92524828._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__997aa62c._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__997aa62c._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__9db1df87._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__9db1df87._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__9e1ab064._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__9e1ab064._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__a2e3966f._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__a2e3966f._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__af792402._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__af792402._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__b5f65083._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__b5f65083._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__becf14db._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__becf14db._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__c106a298._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__c106a298._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__cb91405c._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__cb91405c._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__f59c3144._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__f59c3144._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__fbe5ff69._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__fbe5ff69._.js.map +1 -1
- package/.next/server/chunks/ssr/_1ee3bd7b._.js +1 -1
- package/.next/server/chunks/ssr/_1ee3bd7b._.js.map +1 -1
- package/.next/server/chunks/ssr/{_deb7a691._.js → _2ab986a4._.js} +2 -2
- package/.next/server/chunks/ssr/_2ab986a4._.js.map +1 -0
- package/.next/server/chunks/ssr/_2d8d7232._.js +1 -1
- package/.next/server/chunks/ssr/_2d8d7232._.js.map +1 -1
- package/.next/server/chunks/ssr/_43a80c61._.js +1 -1
- package/.next/server/chunks/ssr/_43a80c61._.js.map +1 -1
- package/.next/server/chunks/ssr/_641f29bc._.js +3 -0
- package/.next/server/chunks/ssr/_641f29bc._.js.map +1 -0
- package/.next/server/chunks/ssr/_ac993243._.js +3 -0
- package/.next/server/chunks/ssr/_ac993243._.js.map +1 -0
- package/.next/server/chunks/ssr/_f636ce67._.js +3 -0
- package/.next/server/chunks/ssr/_f636ce67._.js.map +1 -0
- package/.next/server/chunks/ssr/b1a17_app_teams_[teamId]_workflows_[workflowId]_workflows-editor-client_tsx_5e714aa2._.js +7 -1
- package/.next/server/chunks/ssr/b1a17_app_teams_[teamId]_workflows_[workflowId]_workflows-editor-client_tsx_5e714aa2._.js.map +1 -1
- package/.next/server/chunks/ssr/{_7f9e89d2._.js → node_modules_next_10fb6ad9._.js} +3 -3
- package/.next/server/chunks/ssr/node_modules_next_10fb6ad9._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_25a30daf._.js +1 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_compiled_bc6b8ddf._.js +1 -1
- package/.next/server/chunks/ssr/node_modules_yaml_dist_18db9ed7._.js +2 -2
- package/.next/server/chunks/ssr/src_13139e3d._.js +1 -1
- package/.next/server/chunks/ssr/src_13139e3d._.js.map +1 -1
- package/.next/server/chunks/ssr/src_2a73b867._.js +1 -1
- package/.next/server/chunks/ssr/src_2a73b867._.js.map +1 -1
- package/.next/server/chunks/ssr/src_2dbb3b7f._.js +1 -1
- package/.next/server/chunks/ssr/src_2dbb3b7f._.js.map +1 -1
- package/.next/server/chunks/ssr/src_417bc4a6._.js +1 -1
- package/.next/server/chunks/ssr/src_417bc4a6._.js.map +1 -1
- package/.next/server/chunks/ssr/src_59477309._.js +1 -1
- package/.next/server/chunks/ssr/src_59477309._.js.map +1 -1
- package/.next/server/chunks/ssr/src_79d55c05._.js +1 -1
- package/.next/server/chunks/ssr/src_79d55c05._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_HomeClient_tsx_f9f7568d._.js +1 -1
- package/.next/server/chunks/ssr/src_app_HomeClient_tsx_f9f7568d._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_agents_[agentId]_agent-editor_tsx_f85bbe65._.js +1 -1
- package/.next/server/chunks/ssr/src_app_agents_[agentId]_agent-editor_tsx_f85bbe65._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_cron-jobs_cron-jobs-client_tsx_ec91a73d._.js +1 -1
- package/.next/server/chunks/ssr/src_app_cron-jobs_cron-jobs-client_tsx_ec91a73d._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_recipes_[id]_RecipeEditor_index_tsx_98393217._.js +1 -1
- package/.next/server/chunks/ssr/src_app_recipes_[id]_RecipeEditor_index_tsx_98393217._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_recipes_recipes-client_tsx_8ed3ca94._.js +1 -1
- package/.next/server/chunks/ssr/src_app_recipes_recipes-client_tsx_8ed3ca94._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_teams_[teamId]_runs_[workflowId]_[runId]_run-detail-client_tsx_56f0cbd7._.js +3 -0
- package/.next/server/chunks/ssr/src_app_teams_[teamId]_runs_[workflowId]_[runId]_run-detail-client_tsx_56f0cbd7._.js.map +1 -0
- package/.next/server/chunks/ssr/src_app_teams_[teamId]_workflows_workflows-client_tsx_12742cc9._.js +1 -1
- package/.next/server/chunks/ssr/src_app_teams_[teamId]_workflows_workflows-client_tsx_12742cc9._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_tickets_TicketsBoardClient_tsx_5e156ef3._.js +1 -1
- package/.next/server/chunks/ssr/src_app_tickets_TicketsBoardClient_tsx_5e156ef3._.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +2 -2
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/001f840e2d5598af.js +10 -0
- package/.next/static/chunks/212477db59154fa7.js +3 -0
- package/.next/static/chunks/242fee5849d79d1b.js +1 -0
- package/.next/static/chunks/26d8587a145bded7.js +1 -0
- package/.next/static/chunks/{b83c1ca03c3b8c6d.js → 372ac1d07db9969a.js} +1 -1
- package/.next/static/chunks/4a0d27f3023676a5.js +1 -0
- package/.next/static/chunks/4ad57cfc54e20abd.js +1 -0
- package/.next/static/chunks/4e8866ad8f1f6b2b.js +1 -0
- package/.next/static/chunks/7d9e7a36b92578fd.js +1 -0
- package/.next/static/chunks/87f63f654bc046a2.js +3 -0
- package/.next/static/chunks/8aac543d98940eb3.js +2 -0
- package/.next/static/chunks/8acd42df55d57556.js +1 -0
- package/.next/static/chunks/95b7564f2360e762.js +1 -0
- package/.next/static/chunks/9801fc48f532d076.js +1 -0
- package/.next/static/chunks/{d6e1b7307a9274ce.js → 9c627cb11f73ac4c.js} +1 -1
- package/.next/static/chunks/ad652e4b50e1fb17.js +1 -0
- package/.next/static/chunks/aff32612e6b9d901.js +1 -0
- package/.next/static/chunks/c6c561355e97baa8.js +7 -0
- package/.next/static/chunks/d4c855575c079ffc.js +3 -0
- package/.next/static/chunks/d593ea5e91e81b45.js +1 -0
- package/.next/static/chunks/{87879d67a1601ee0.js → e0984ec981f01c0d.js} +1 -1
- package/.next/static/chunks/f5039461b97678c7.js +1 -0
- package/.next/static/chunks/f51763a2aea0a4b6.js +1 -0
- package/.next/static/chunks/f7f157ba542e1ae5.js +1 -0
- package/.next/static/chunks/fb008837ba324b34.css +3 -0
- package/.next/static/chunks/{turbopack-dbf3078dbf5863bd.js → turbopack-bdd9478663f034d6.js} +1 -1
- package/LICENSE +192 -0
- package/README.md +19 -5
- package/openclaw/index.ts +154 -5
- package/openclaw.plugin.json +2 -8
- package/package.json +5 -2
- package/.next/server/chunks/[root-of-the-server]__18423bab._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__18423bab._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__35ec765d._.js +0 -13
- package/.next/server/chunks/[root-of-the-server]__35ec765d._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__3c92e5aa._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__3c92e5aa._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__813dd669._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__813dd669._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__b457b884._.js +0 -22
- package/.next/server/chunks/[root-of-the-server]__b457b884._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__c5e88cbb._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__c5e88cbb._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__da7df58d._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__da7df58d._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0a5cb3ca._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0a5cb3ca._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__177cec74._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__177cec74._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__4981f370._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__4981f370._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__51e26a01._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__51e26a01._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__6b6b7595._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__6b6b7595._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__8f9585b9._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__8f9585b9._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__9e400864._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__9e400864._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__a6348eaa._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__a6348eaa._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__ad4e8478._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__ad4e8478._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__b5aa14b8._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__b5aa14b8._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__b8998a21._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__b8998a21._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__e9bd9b71._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__e9bd9b71._.js.map +0 -1
- package/.next/server/chunks/ssr/_32beff4b._.js +0 -3
- package/.next/server/chunks/ssr/_32beff4b._.js.map +0 -1
- package/.next/server/chunks/ssr/_7f9e89d2._.js.map +0 -1
- package/.next/server/chunks/ssr/_8538617d._.js +0 -3
- package/.next/server/chunks/ssr/_8538617d._.js.map +0 -1
- package/.next/server/chunks/ssr/_a506fcf8._.js +0 -3
- package/.next/server/chunks/ssr/_a506fcf8._.js.map +0 -1
- package/.next/server/chunks/ssr/_deb7a691._.js.map +0 -1
- package/.next/server/chunks/ssr/d4b1c_modules_next_dist_server_route-modules_app-page_vendored_ssr_react-dom_6ef9314a.js +0 -3
- package/.next/server/chunks/ssr/d4b1c_modules_next_dist_server_route-modules_app-page_vendored_ssr_react-dom_6ef9314a.js.map +0 -1
- package/.next/server/chunks/ssr/src_app_21685f67._.js +0 -3
- package/.next/server/chunks/ssr/src_app_21685f67._.js.map +0 -1
- package/.next/static/chunks/0edab8a24d59a626.js +0 -2
- package/.next/static/chunks/410dc851d0e3033d.js +0 -1
- package/.next/static/chunks/4e38b3f280ced64c.js +0 -1
- package/.next/static/chunks/4f2b8a07ace7e02b.js +0 -1
- package/.next/static/chunks/57ad5290f7e92ffd.css +0 -3
- package/.next/static/chunks/8a919077b73862da.js +0 -1
- package/.next/static/chunks/9906444fb1191bb4.js +0 -1
- package/.next/static/chunks/a625725b4cd85ea3.js +0 -1
- package/.next/static/chunks/ac32974713c57cb3.js +0 -1
- package/.next/static/chunks/bdb7ebd88ea13111.js +0 -1
- package/.next/static/chunks/bfcfbe145220d365.js +0 -1
- package/.next/static/chunks/c0d9f53d91cc65c5.js +0 -10
- package/.next/static/chunks/c0e2f959abc4cc13.js +0 -1
- package/.next/static/chunks/c822e53f79a492c7.js +0 -1
- package/.next/static/chunks/ce6b2024d13b4333.js +0 -1
- package/.next/static/chunks/d13249af74d111cf.js +0 -3
- package/.next/static/chunks/d16f64ca3a8ed208.js +0 -1
- package/.next/static/chunks/d7541a171116ec9c.js +0 -1
- package/.next/static/chunks/e03137fd069b1514.js +0 -1
- package/.next/static/chunks/e10faa9296c8b246.js +0 -1
- package/.next/static/chunks/ec24877f7b7f82c5.js +0 -3
- package/.next/static/chunks/ff3bbb5df40b2cc4.js +0 -1
- /package/.next/server/chunks/{[root-of-the-server]__be5f57b2._.js.map → [root-of-the-server]__17fa6089._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__74b80ca4._.js.map → [root-of-the-server]__5792c29e._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__c1b0d50e._.js.map → [root-of-the-server]__7194dfe2._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__17124952._.js.map → [root-of-the-server]__89f2190c._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__343776df._.js.map → [root-of-the-server]__bbed0e46._.js.map} +0 -0
- /package/.next/static/{F0PhVXEIb3LrF9XQem5EQ → QPNWZUPFu-1zEy4dGcXv5}/_buildManifest.js +0 -0
- /package/.next/static/{F0PhVXEIb3LrF9XQem5EQ → QPNWZUPFu-1zEy4dGcXv5}/_clientMiddlewareManifest.json +0 -0
- /package/.next/static/{F0PhVXEIb3LrF9XQem5EQ → QPNWZUPFu-1zEy4dGcXv5}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/paths.ts","../../../node_modules/next/dist/esm/build/templates/app-route.js","../../../src/app/api/teams/workflow-deliverables/file/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","import { AppRouteRouteModule } from \"next/dist/esm/server/route-modules/app-route/module.compiled\";\nimport { RouteKind } from \"next/dist/esm/server/route-kind\";\nimport { patchFetch as _patchFetch } from \"next/dist/esm/server/lib/patch-fetch\";\nimport { addRequestMeta, getRequestMeta } from \"next/dist/esm/server/request-meta\";\nimport { getTracer, SpanKind } from \"next/dist/esm/server/lib/trace/tracer\";\nimport { setManifestsSingleton } from \"next/dist/esm/server/app-render/manifests-singleton\";\nimport { normalizeAppPath } from \"next/dist/esm/shared/lib/router/utils/app-paths\";\nimport { NodeNextRequest, NodeNextResponse } from \"next/dist/esm/server/base-http/node\";\nimport { NextRequestAdapter, signalFromNodeResponse } from \"next/dist/esm/server/web/spec-extension/adapters/next-request\";\nimport { BaseServerSpan } from \"next/dist/esm/server/lib/trace/constants\";\nimport { getRevalidateReason } from \"next/dist/esm/server/instrumentation/utils\";\nimport { sendResponse } from \"next/dist/esm/server/send-response\";\nimport { fromNodeOutgoingHttpHeaders, toNodeOutgoingHttpHeaders } from \"next/dist/esm/server/web/utils\";\nimport { getCacheControlHeader } from \"next/dist/esm/server/lib/cache-control\";\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from \"next/dist/esm/lib/constants\";\nimport { NoFallbackError } from \"next/dist/esm/shared/lib/no-fallback-error.external\";\nimport { CachedRouteKind } from \"next/dist/esm/server/response-cache\";\nimport * as userland from \"INNER_APP_ROUTE\";\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\nconst nextConfigOutput = \"standalone\"\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: \"/api/teams/workflow-deliverables/file/route\",\n pathname: \"/api/teams/workflow-deliverables/file\",\n filename: \"route\",\n bundlePath: \"\"\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: \"[project]/src/app/api/teams/workflow-deliverables/file/route.ts\",\n nextConfigOutput,\n userland\n});\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule;\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage\n });\n}\nexport { routeModule, workAsyncStorage, workUnitAsyncStorage, serverHooks, patchFetch, };\nexport async function handler(req, res, ctx) {\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint());\n }\n let srcPage = \"/api/teams/workflow-deliverables/file/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 fs from \"node:fs/promises\";\nimport path from \"node:path\";\n\nimport { getTeamWorkspaceDir } from \"@/lib/paths\";\n\n/**\n * Serve a workflow deliverable file by teamId + runId + relative path.\n * Only serves files that live inside the team's workflow-runs directory (path traversal safe).\n */\n\nconst MIME_MAP: Record<string, string> = {\n \".png\": \"image/png\",\n \".jpg\": \"image/jpeg\",\n \".jpeg\": \"image/jpeg\",\n \".gif\": \"image/gif\",\n \".webp\": \"image/webp\",\n \".svg\": \"image/svg+xml\",\n \".pdf\": \"application/pdf\",\n \".json\": \"application/json\",\n \".md\": \"text/markdown\",\n \".txt\": \"text/plain\",\n \".html\": \"text/html\",\n \".css\": \"text/css\",\n \".js\": \"text/javascript\",\n \".ts\": \"text/typescript\",\n};\n\nexport async function GET(req: Request) {\n const url = new URL(req.url);\n const teamId = url.searchParams.get(\"teamId\")?.trim();\n const runId = url.searchParams.get(\"runId\")?.trim();\n const filePath = url.searchParams.get(\"path\")?.trim();\n\n if (!teamId || !runId || !filePath) {\n return NextResponse.json(\n { ok: false, error: \"teamId, runId, and path are required\" },\n { status: 400 },\n );\n }\n\n try {\n const teamDir = await getTeamWorkspaceDir(teamId);\n const runsDir = path.join(teamDir, \"shared-context\", \"workflow-runs\");\n\n // Resolve to absolute and ensure it stays within the runs directory (prevent traversal)\n const resolved = path.resolve(runsDir, runId, filePath);\n if (!resolved.startsWith(runsDir + path.sep)) {\n return NextResponse.json(\n { ok: false, error: \"Invalid path\" },\n { status: 403 },\n );\n }\n\n const stat = await fs.stat(resolved);\n if (!stat.isFile()) {\n return NextResponse.json(\n { ok: false, error: \"Not a file\" },\n { status: 404 },\n );\n }\n\n const ext = path.extname(resolved).toLowerCase();\n const contentType = MIME_MAP[ext] || \"application/octet-stream\";\n const data = await fs.readFile(resolved);\n\n return new NextResponse(data, {\n status: 200,\n headers: {\n \"Content-Type\": contentType,\n \"Content-Length\": String(data.length),\n \"Cache-Control\": \"private, max-age=3600\",\n },\n });\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : String(error);\n const status = message.includes(\"ENOENT\") ? 404 : 500;\n return NextResponse.json({ ok: false, error: message }, { status });\n }\n}\n"],"names":[],"mappings":"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","ignoreList":[1]}
|
|
@@ -1,3 +0,0 @@
|
|
|
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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},24868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},60131,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),i=e.i(59756),o=e.i(61916),n=e.i(74677),s=e.i(69741),l=e.i(16795),d=e.i(87718),p=e.i(95169),u=e.i(47587),c=e.i(66012),h=e.i(70101),m=e.i(54468),f=e.i(10372),v=e.i(93695);e.i(52474);var E=e.i(220),g=e.i(89171),x=e.i(33405),y=e.i(24361),b=e.i(24868),w=e.i(14747);async function A(e,{params:t}){try{await t;let e=[],r=await R();e.push(...r);let a=await I();e.push(...a);let i=await _();return e.push(...i),e.sort((e,t)=>e.available&&!t.available?-1:!e.available&&t.available?1:(t.priority||0)-(e.priority||0)),g.NextResponse.json(e)}catch(e){return console.error("Failed to detect media providers:",e),g.NextResponse.json({error:"Failed to detect media providers"},{status:500})}}async function R(){let e=[];try{let t=w.default.join(process.env.HOME||"/home/control",".openclaw","openclaw.json"),r=await b.default.readFile(t,"utf-8"),a=JSON.parse(r),i=a.agents?.defaults?.model?.fallbacks||[],o=[a.agents?.defaults?.model?.primary,...i].filter(Boolean),n={};if(o.forEach(e=>{if("string"==typeof e&&e.includes("/")){let[t,r]=e.split("/");n[t]||(n[t]=[]),n[t].push(r)}}),n.openai||n["openai-codex"]){let t=[...n.openai||[],...n["openai-codex"]||[]],r=!!process.env.OPENAI_API_KEY;e.push({id:"openai-models",name:"OpenAI Models (Image Generation)",supportedTypes:["image"],available:r,models:t,error:r?void 0:"OPENAI_API_KEY not configured",priority:100})}let s=!!process.env.OPENAI_API_KEY;e.push({id:"dalle",name:"OpenAI DALL-E",supportedTypes:["image"],available:s,models:["dall-e-2","dall-e-3"],error:s?void 0:"OPENAI_API_KEY not configured",priority:90})}catch(r){console.warn("Failed to read OpenClaw config:",r);let t=!!process.env.OPENAI_API_KEY;e.push({id:"openai-fallback",name:"OpenAI DALL-E (fallback)",supportedTypes:["image"],available:t,models:["dall-e-3"],error:t?void 0:"OPENAI_API_KEY not configured",priority:80})}return e}async function I(){let e=[];try{let t=[w.default.join(process.env.HOME||"/home/control",".openclaw/workspace/skills"),w.default.join(process.env.HOME||"/home/control",".openclaw/skills")],r=[];for(let e of t)try{for(let t of(await b.default.readdir(e)))try{let a=w.default.join(e,t),i=await b.default.readFile(w.default.join(a,"SKILL.md"),"utf-8"),o=t.replace(/-/g," "),n="",s=i.match(/^name:\s*(.+)$/m);s&&(o=s[1]);let l=i.match(/^description:\s*(.+)$/m);if(l&&(n=l[1].replace(/"/g,"")),/\b(image|picture|photo|visual|media|video|audio)\b.*\b(generat|creat|make|produc)\b/i.test(i)||/\b(generat|creat|make|produc)\b.*\b(image|picture|photo|visual|media|video|audio)\b/i.test(i)||/dall.?e|stable.?diffusion|midjourney|cellcog|any.?to.?any/i.test(i)){let e,t=[];/\b(image|picture|photo|visual)\b/i.test(i)&&t.push("image"),/\bvideo\b/i.test(i)&&t.push("video"),/\baudio\b/i.test(i)&&t.push("audio"),0===t.length&&t.push("image");let a=!0;i.includes("OPENAI_API_KEY")&&!process.env.OPENAI_API_KEY&&(a=!1,e="OPENAI_API_KEY required"),i.includes("CELLCOG_API_KEY")&&!process.env.CELLCOG_API_KEY&&(a=!1,e="CELLCOG_API_KEY required"),i.includes("EVOLINK_API_KEY")&&!process.env.EVOLINK_API_KEY&&(a=!1,e="EVOLINK_API_KEY required"),r.push({name:o,description:n||`${o} skill`,hasMedia:!0,supportedTypes:t,available:a,error:e})}}catch{}}catch{}r.forEach((t,r)=>{e.push({id:`skill-${t.name.toLowerCase().replace(/\s+/g,"-")}`,name:t.name,supportedTypes:t.supportedTypes,available:t.available,error:t.error,priority:70+r})}),0===e.length&&e.push({id:"skills-empty",name:"OpenClaw Skills",supportedTypes:["image"],available:!1,error:"No media generation skills installed",priority:60})}catch(e){console.warn("Skill detection failed:",e)}return e}async function _(){let e=[];for(let t of[{url:"http://localhost:7860",name:"Stable Diffusion WebUI",priority:90},{url:"http://localhost:8188",name:"ComfyUI",priority:85}])try{let r=await fetch(`${t.url}/`,{method:"HEAD",signal:AbortSignal.timeout(2e3)});e.push({id:`http-${t.url.replace(/[^\w]/g,"-")}`,name:t.name,supportedTypes:["image"],available:r.ok,priority:t.priority})}catch{e.push({id:`http-${t.url.replace(/[^\w]/g,"-")}`,name:t.name,supportedTypes:["image"],available:!1,error:`${t.name} not running`,priority:t.priority})}return e}(0,y.promisify)(x.exec),e.s(["GET",()=>A],64026);var P=e.i(64026);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/teams/[teamId]/media-providers/route",pathname:"/api/teams/[teamId]/media-providers",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/teams/[teamId]/media-providers/route.ts",nextConfigOutput:"standalone",userland:P}),{workAsyncStorage:O,workUnitAsyncStorage:N,serverHooks:k}=C;function T(){return(0,a.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:N})}async function q(e,t,a){C.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/teams/[teamId]/media-providers/route";g=g.replace(/\/index$/,"")||"/";let x=await C.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,params:b,nextConfig:w,parsedUrl:A,isDraftMode:R,prerenderManifest:I,routerServerContext:_,isOnDemandRevalidate:P,revalidateOnlyGenerated:O,resolvedPathname:N,clientReferenceManifest:k,serverActionsManifest:T}=x,q=(0,s.normalizeAppPath)(g),K=!!(I.dynamicRoutes[q]||I.routes[N]),j=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,A,!1):t.end("This page could not be found"),null);if(K&&!R){let e=!!I.routes[N],t=I.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(w.experimental.adapterPath)return await j();throw new v.NoFallbackError}}let S=null;!K||C.isDev||R||(S="/index"===(S=N)?"/":S);let H=!0===C.isDev||!K,L=K&&!H;T&&k&&(0,n.setManifestsSingleton)({page:g,clientReferenceManifest:k,serverActionsManifest:T});let U=e.method||"GET",D=(0,o.getTracer)(),M=D.getActiveScopeSpan(),$={params:b,prerenderManifest:I,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,i.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,i)=>C.onRequestError(e,t,a,i,_)},sharedContext:{buildId:y}},Y=new l.NodeNextRequest(e),F=new l.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(Y,(0,d.signalFromNodeResponse)(t));try{let n=async e=>C.handle(G,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=D.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${U} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${g}`)}),s=!!(0,i.getRequestMeta)(e,"minimalMode"),l=async i=>{var o,l;let d=async({previousCacheEntry:r})=>{try{if(!s&&P&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await n(i);e.fetchMetrics=$.renderOpts.fetchMetrics;let l=$.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=$.renderOpts.collectedTags;if(!K)return await (0,c.sendResponse)(Y,F,o,$.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(o.headers);d&&(t[f.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,a=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:E.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:P})},!1,_),t}},p=await C.handleResponse({req:e,nextConfig:w,cacheKey:S,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:O,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:s});if(!K)return null;if((null==p||null==(o=p.value)?void 0:o.kind)!==E.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(l=p.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",P?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),R&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let v=(0,h.fromNodeOutgoingHttpHeaders)(p.value.headers);return s&&K||v.delete(f.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||v.get("Cache-Control")||v.set("Cache-Control",(0,m.getCacheControlHeader)(p.cacheControl)),await (0,c.sendResponse)(Y,F,new Response(p.value.body,{headers:v,status:p.value.status||200})),null};M?await l(M):await D.withPropagatedContext(e.headers,()=>D.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${g}`,kind:o.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l))}catch(t){if(t instanceof v.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:P})},!1,_),K)throw t;return await (0,c.sendResponse)(Y,F,new Response(null,{status:500})),null}}e.s(["handler",()=>q,"patchFetch",()=>T,"routeModule",()=>C,"serverHooks",()=>k,"workAsyncStorage",()=>O,"workUnitAsyncStorage",()=>N],60131)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__813dd669._.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/next/dist/esm/build/templates/app-route.js","../../../src/app/api/teams/%5BteamId%5D/media-providers/route.ts"],"sourcesContent":["import { AppRouteRouteModule } from \"next/dist/esm/server/route-modules/app-route/module.compiled\";\nimport { RouteKind } from \"next/dist/esm/server/route-kind\";\nimport { patchFetch as _patchFetch } from \"next/dist/esm/server/lib/patch-fetch\";\nimport { addRequestMeta, getRequestMeta } from \"next/dist/esm/server/request-meta\";\nimport { getTracer, SpanKind } from \"next/dist/esm/server/lib/trace/tracer\";\nimport { setManifestsSingleton } from \"next/dist/esm/server/app-render/manifests-singleton\";\nimport { normalizeAppPath } from \"next/dist/esm/shared/lib/router/utils/app-paths\";\nimport { NodeNextRequest, NodeNextResponse } from \"next/dist/esm/server/base-http/node\";\nimport { NextRequestAdapter, signalFromNodeResponse } from \"next/dist/esm/server/web/spec-extension/adapters/next-request\";\nimport { BaseServerSpan } from \"next/dist/esm/server/lib/trace/constants\";\nimport { getRevalidateReason } from \"next/dist/esm/server/instrumentation/utils\";\nimport { sendResponse } from \"next/dist/esm/server/send-response\";\nimport { fromNodeOutgoingHttpHeaders, toNodeOutgoingHttpHeaders } from \"next/dist/esm/server/web/utils\";\nimport { getCacheControlHeader } from \"next/dist/esm/server/lib/cache-control\";\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from \"next/dist/esm/lib/constants\";\nimport { NoFallbackError } from \"next/dist/esm/shared/lib/no-fallback-error.external\";\nimport { CachedRouteKind } from \"next/dist/esm/server/response-cache\";\nimport * as userland from \"INNER_APP_ROUTE\";\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\nconst nextConfigOutput = \"standalone\"\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: \"/api/teams/[teamId]/media-providers/route\",\n pathname: \"/api/teams/[teamId]/media-providers\",\n filename: \"route\",\n bundlePath: \"\"\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: \"[project]/src/app/api/teams/[teamId]/media-providers/route.ts\",\n nextConfigOutput,\n userland\n});\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule;\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage\n });\n}\nexport { routeModule, workAsyncStorage, workUnitAsyncStorage, serverHooks, patchFetch, };\nexport async function handler(req, res, ctx) {\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint());\n }\n let srcPage = \"/api/teams/[teamId]/media-providers/route\";\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/';\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/';\n }\n const multiZoneDraftMode = process.env.__NEXT_MULTI_ZONE_DRAFT_MODE;\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return null;\n }\n const { buildId, params, nextConfig, parsedUrl, isDraftMode, prerenderManifest, routerServerContext, isOnDemandRevalidate, revalidateOnlyGenerated, resolvedPathname, clientReferenceManifest, serverActionsManifest } = prepareResult;\n const normalizedSrcPage = normalizeAppPath(srcPage);\n let isIsr = Boolean(prerenderManifest.dynamicRoutes[normalizedSrcPage] || prerenderManifest.routes[resolvedPathname]);\n const render404 = async ()=>{\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext == null ? void 0 : routerServerContext.render404) {\n await routerServerContext.render404(req, res, parsedUrl, false);\n } else {\n res.end('This page could not be found');\n }\n return null;\n };\n if (isIsr && !isDraftMode) {\n const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname]);\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage];\n if (prerenderInfo) {\n if (prerenderInfo.fallback === false && !isPrerendered) {\n if (nextConfig.experimental.adapterPath) {\n return await render404();\n }\n throw new NoFallbackError();\n }\n }\n }\n let cacheKey = null;\n if (isIsr && !routeModule.isDev && !isDraftMode) {\n cacheKey = resolvedPathname;\n // ensure /index and / is normalized to one key\n cacheKey = cacheKey === '/index' ? '/' : cacheKey;\n }\n const supportsDynamicResponse = // If we're in development, we always support dynamic HTML\n routeModule.isDev === true || // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr;\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse;\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest\n });\n }\n const method = req.method || 'GET';\n const tracer = getTracer();\n const activeSpan = tracer.getActiveScopeSpan();\n const context = {\n params,\n prerenderManifest,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts)\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n supportsDynamicResponse,\n incrementalCache: getRequestMeta(req, 'incrementalCache'),\n cacheLifeProfiles: nextConfig.cacheLife,\n waitUntil: ctx.waitUntil,\n onClose: (cb)=>{\n res.on('close', cb);\n },\n onAfterTaskError: undefined,\n onInstrumentationRequestError: (error, _request, errorContext, silenceLog)=>routeModule.onRequestError(req, error, errorContext, silenceLog, routerServerContext)\n },\n sharedContext: {\n buildId\n }\n };\n const nodeNextReq = new NodeNextRequest(req);\n const nodeNextRes = new NodeNextResponse(res);\n const nextReq = NextRequestAdapter.fromNodeNextRequest(nodeNextReq, signalFromNodeResponse(res));\n try {\n const invokeRouteModule = async (span)=>{\n return routeModule.handle(nextReq, context).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\n });\n const rootSpanAttributes = tracer.getRootSpanAttributes();\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return;\n }\n if (rootSpanAttributes.get('next.span_type') !== BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\n } else {\n span.updateName(`${method} ${srcPage}`);\n }\n });\n };\n const isMinimalMode = Boolean(process.env.MINIMAL_MODE || getRequestMeta(req, 'minimalMode'));\n const handleResponse = async (currentSpan)=>{\n var _cacheEntry_value;\n const responseGenerator = async ({ previousCacheEntry })=>{\n try {\n if (!isMinimalMode && isOnDemandRevalidate && revalidateOnlyGenerated && !previousCacheEntry) {\n res.statusCode = 404;\n // on-demand revalidate always sets this header\n res.setHeader('x-nextjs-cache', 'REVALIDATED');\n res.end('This page could not be found');\n return null;\n }\n const response = await invokeRouteModule(currentSpan);\n req.fetchMetrics = context.renderOpts.fetchMetrics;\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil;\n // Attempt using provided waitUntil if available\n // if it's not we fallback to sendResponse's handling\n if (pendingWaitUntil) {\n if (ctx.waitUntil) {\n ctx.waitUntil(pendingWaitUntil);\n pendingWaitUntil = undefined;\n }\n }\n const cacheTags = context.renderOpts.collectedTags;\n // If the request is for a static response, we can cache it so long\n // as it's not edge.\n if (isIsr) {\n const blob = await response.blob();\n // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers);\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags;\n }\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type;\n }\n const revalidate = typeof context.renderOpts.collectedRevalidate === 'undefined' || context.renderOpts.collectedRevalidate >= INFINITE_CACHE ? false : context.renderOpts.collectedRevalidate;\n const expire = typeof context.renderOpts.collectedExpire === 'undefined' || context.renderOpts.collectedExpire >= INFINITE_CACHE ? undefined : context.renderOpts.collectedExpire;\n // Create the cache entry for the response.\n const cacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers\n },\n cacheControl: {\n revalidate,\n expire\n }\n };\n return cacheEntry;\n } else {\n // send response without caching if not ISR\n await sendResponse(nodeNextReq, nodeNextRes, response, context.renderOpts.pendingWaitUntil);\n return null;\n }\n } catch (err) {\n // if this is a background revalidate we need to report\n // the request error here as it won't be bubbled\n if (previousCacheEntry == null ? void 0 : previousCacheEntry.isStale) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n throw err;\n }\n };\n const cacheEntry = await routeModule.handleResponse({\n req,\n nextConfig,\n cacheKey,\n routeKind: RouteKind.APP_ROUTE,\n isFallback: false,\n prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode\n });\n // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return null;\n }\n if ((cacheEntry == null ? void 0 : (_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== CachedRouteKind.APP_ROUTE) {\n var _cacheEntry_value1;\n throw Object.defineProperty(new Error(`Invariant: app-route received invalid cache entry ${cacheEntry == null ? void 0 : (_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind}`), \"__NEXT_ERROR_CODE\", {\n value: \"E701\",\n enumerable: false,\n configurable: true\n });\n }\n if (!isMinimalMode) {\n res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT');\n }\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');\n }\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers);\n if (!(isMinimalMode && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER);\n }\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (cacheEntry.cacheControl && !res.getHeader('Cache-Control') && !headers.get('Cache-Control')) {\n headers.set('Cache-Control', getCacheControlHeader(cacheEntry.cacheControl));\n }\n await sendResponse(nodeNextReq, nodeNextRes, // @ts-expect-error - Argument of type 'Buffer<ArrayBufferLike>' is not assignable to parameter of type 'BodyInit | null | undefined'.\n new Response(cacheEntry.value.body, {\n headers,\n status: cacheEntry.value.status || 200\n }));\n return null;\n };\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (activeSpan) {\n await handleResponse(activeSpan);\n } else {\n await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(BaseServerSpan.handleRequest, {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, handleResponse));\n }\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n // rethrow so that we can handle serving error page\n // If this is during static generation, throw the error again.\n if (isIsr) throw err;\n // Otherwise, send a 500 response.\n await sendResponse(nodeNextReq, nodeNextRes, new Response(null, {\n status: 500\n }));\n return null;\n }\n}\n\n//# sourceMappingURL=app-route.js.map\n","import { NextRequest, NextResponse } from 'next/server';\nimport { exec } from 'child_process';\nimport { promisify } from 'util';\nimport fs from 'fs/promises';\nimport path from 'path';\n\nconst execAsync = promisify(exec);\n\nexport interface MediaProvider {\n id: string;\n name: string;\n supportedTypes: ('image' | 'video')[];\n available: boolean;\n models?: string[];\n error?: string;\n priority?: number;\n}\n\n/**\n * GET /api/teams/[teamId]/media-providers\n * \n * Detects available media generation providers by:\n * 1. Checking for API keys (OPENAI_API_KEY, etc.)\n * 2. Scanning installed skills for media generation capabilities\n * 3. Testing local endpoints (Stable Diffusion, ComfyUI, etc.)\n * 4. Returning prioritized list of providers\n */\nexport async function GET(\n _request: NextRequest,\n { params }: { params: Promise<{ teamId: string }> }\n): Promise<NextResponse<MediaProvider[] | { error: string }>> {\n try {\n await params; // Await the params (required by Next.js 15+)\n const providers: MediaProvider[] = [];\n\n // 1. Check OpenAI Provider\n const openaiProviders = await checkOpenAIProvider();\n providers.push(...openaiProviders);\n\n // 2. Check Skill-based Providers\n const skillProviders = await checkSkillProviders();\n providers.push(...skillProviders);\n\n // 3. Check HTTP/Local Providers\n const httpProviders = await checkHTTPProviders();\n providers.push(...httpProviders);\n\n // Sort by priority (available providers first, then by priority score)\n providers.sort((a, b) => {\n if (a.available && !b.available) return -1;\n if (!a.available && b.available) return 1;\n return (b.priority || 0) - (a.priority || 0);\n });\n\n return NextResponse.json(providers);\n } catch (error) {\n console.error('Failed to detect media providers:', error);\n return NextResponse.json(\n { error: 'Failed to detect media providers' },\n { status: 500 }\n );\n }\n}\n\nasync function checkOpenAIProvider(): Promise<MediaProvider[]> {\n const providers: MediaProvider[] = [];\n \n try {\n // Read OpenClaw config to get models\n const configPath = path.join(process.env.HOME || '/home/control', '.openclaw', 'openclaw.json');\n const configData = await fs.readFile(configPath, 'utf-8');\n const config = JSON.parse(configData);\n \n // Extract models from config\n const fallbackModels = config.agents?.defaults?.model?.fallbacks || [];\n const primaryModel = config.agents?.defaults?.model?.primary;\n const allModels = [primaryModel, ...fallbackModels].filter(Boolean);\n \n // Group models by provider\n const modelsByProvider: Record<string, string[]> = {};\n allModels.forEach((model: string) => {\n if (typeof model === 'string' && model.includes('/')) {\n const [provider, modelName] = model.split('/');\n if (!modelsByProvider[provider]) {\n modelsByProvider[provider] = [];\n }\n modelsByProvider[provider].push(modelName);\n }\n });\n \n // Check OpenAI models (supports image generation)\n if (modelsByProvider['openai'] || modelsByProvider['openai-codex']) {\n const openaiModels = [...(modelsByProvider['openai'] || []), ...(modelsByProvider['openai-codex'] || [])];\n const hasApiKey = !!process.env.OPENAI_API_KEY;\n \n providers.push({\n id: 'openai-models',\n name: 'OpenAI Models (Image Generation)',\n supportedTypes: ['image'],\n available: hasApiKey,\n models: openaiModels,\n error: hasApiKey ? undefined : 'OPENAI_API_KEY not configured',\n priority: 100\n });\n }\n \n // Check for DALL-E specifically\n const hasApiKey = !!process.env.OPENAI_API_KEY;\n providers.push({\n id: 'dalle',\n name: 'OpenAI DALL-E',\n supportedTypes: ['image'],\n available: hasApiKey,\n models: ['dall-e-2', 'dall-e-3'],\n error: hasApiKey ? undefined : 'OPENAI_API_KEY not configured',\n priority: 90\n });\n \n } catch (error) {\n console.warn('Failed to read OpenClaw config:', error);\n \n // Fallback OpenAI provider\n const hasApiKey = !!process.env.OPENAI_API_KEY;\n providers.push({\n id: 'openai-fallback',\n name: 'OpenAI DALL-E (fallback)',\n supportedTypes: ['image'],\n available: hasApiKey,\n models: ['dall-e-3'],\n error: hasApiKey ? undefined : 'OPENAI_API_KEY not configured',\n priority: 80\n });\n }\n \n return providers;\n}\n\nasync function checkSkillProviders(): Promise<MediaProvider[]> {\n const providers: MediaProvider[] = [];\n \n try {\n // Scan multiple skills directories\n const skillsDirs = [\n path.join(process.env.HOME || '/home/control', '.openclaw/workspace/skills'),\n path.join(process.env.HOME || '/home/control', '.openclaw/skills')\n ];\n \n const allSkills: { name: string; description: string; hasMedia: boolean; supportedTypes: string[]; available: boolean; error?: string }[] = [];\n \n for (const skillsDir of skillsDirs) {\n try {\n const skillDirs = await fs.readdir(skillsDir);\n \n for (const skillDir of skillDirs) {\n try {\n const skillPath = path.join(skillsDir, skillDir);\n const skillMd = await fs.readFile(path.join(skillPath, 'SKILL.md'), 'utf-8');\n \n // Extract skill name and description\n let skillName = skillDir.replace(/-/g, ' ');\n let description = '';\n \n // Parse frontmatter or description\n const nameMatch = skillMd.match(/^name:\\s*(.+)$/m);\n if (nameMatch) skillName = nameMatch[1];\n \n const descMatch = skillMd.match(/^description:\\s*(.+)$/m);\n if (descMatch) description = descMatch[1].replace(/\"/g, '');\n \n // Check for media generation capabilities\n const hasImageGen = /\\b(image|picture|photo|visual|media|video|audio)\\b.*\\b(generat|creat|make|produc)\\b/i.test(skillMd) ||\n /\\b(generat|creat|make|produc)\\b.*\\b(image|picture|photo|visual|media|video|audio)\\b/i.test(skillMd) ||\n /dall.?e|stable.?diffusion|midjourney|cellcog|any.?to.?any/i.test(skillMd);\n \n if (hasImageGen) {\n const supportedTypes: string[] = [];\n if (/\\b(image|picture|photo|visual)\\b/i.test(skillMd)) supportedTypes.push('image');\n if (/\\bvideo\\b/i.test(skillMd)) supportedTypes.push('video');\n if (/\\baudio\\b/i.test(skillMd)) supportedTypes.push('audio');\n if (supportedTypes.length === 0) supportedTypes.push('image'); // default\n \n // Check for API key requirements\n let available = true;\n let error: string | undefined;\n \n if (skillMd.includes('OPENAI_API_KEY') && !process.env.OPENAI_API_KEY) {\n available = false;\n error = 'OPENAI_API_KEY required';\n }\n if (skillMd.includes('CELLCOG_API_KEY') && !process.env.CELLCOG_API_KEY) {\n available = false;\n error = 'CELLCOG_API_KEY required';\n }\n if (skillMd.includes('EVOLINK_API_KEY') && !process.env.EVOLINK_API_KEY) {\n available = false;\n error = 'EVOLINK_API_KEY required';\n }\n \n allSkills.push({\n name: skillName,\n description: description || `${skillName} skill`,\n hasMedia: true,\n supportedTypes,\n available,\n error\n });\n }\n } catch {\n // Skip invalid skills\n }\n }\n } catch {\n // Skills directory doesn't exist or is inaccessible\n }\n }\n \n // Create providers from detected skills\n allSkills.forEach((skill, index) => {\n providers.push({\n id: `skill-${skill.name.toLowerCase().replace(/\\s+/g, '-')}`,\n name: skill.name,\n supportedTypes: skill.supportedTypes as ('image' | 'video')[],\n available: skill.available,\n error: skill.error,\n priority: 70 + index // Give different priorities to different skills\n });\n });\n \n // Add fallback skill provider entry if no skills found\n if (providers.length === 0) {\n providers.push({\n id: 'skills-empty',\n name: 'OpenClaw Skills',\n supportedTypes: ['image'],\n available: false,\n error: 'No media generation skills installed',\n priority: 60\n });\n }\n \n } catch (error) {\n console.warn('Skill detection failed:', error);\n }\n \n return providers;\n}\n\nasync function checkHTTPProviders(): Promise<MediaProvider[]> {\n const providers: MediaProvider[] = [];\n \n // Check common local endpoints\n const endpoints = [\n { \n url: 'http://localhost:7860',\n name: 'Stable Diffusion WebUI',\n priority: 90\n },\n { \n url: 'http://localhost:8188', \n name: 'ComfyUI',\n priority: 85\n }\n ];\n \n for (const endpoint of endpoints) {\n try {\n // Quick health check with timeout\n const response = await fetch(`${endpoint.url}/`, { \n method: 'HEAD',\n signal: AbortSignal.timeout(2000)\n });\n \n providers.push({\n id: `http-${endpoint.url.replace(/[^\\w]/g, '-')}`,\n name: endpoint.name,\n supportedTypes: ['image'],\n available: response.ok,\n priority: endpoint.priority\n });\n } catch {\n providers.push({\n id: `http-${endpoint.url.replace(/[^\\w]/g, '-')}`,\n name: endpoint.name,\n supportedTypes: ['image'],\n available: false,\n error: `${endpoint.name} not running`,\n priority: endpoint.priority\n });\n }\n }\n \n return providers;\n}"],"names":[],"mappings":"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","ignoreList":[0]}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
module.exports=[22734,(e,t,i)=>{t.exports=e.x("fs",()=>require("fs"))},85148,(e,t,i)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},54799,(e,t,i)=>{t.exports=e.x("crypto",()=>require("crypto"))},10353,e=>{"use strict";let t,i;var s,r=e.i(22734),n=e.i(14747),a=e.i(85148);let o=Symbol.for("drizzle:entityKind");function l(e,t){if(!e||"object"!=typeof e)return!1;if(e instanceof t)return!0;if(!Object.prototype.hasOwnProperty.call(t,o))throw Error(`Class "${t.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let i=Object.getPrototypeOf(e).constructor;if(i)for(;i;){if(o in i&&i[o]===t[o])return!0;i=Object.getPrototypeOf(i)}return!1}Symbol.for("drizzle:hasOwnEntityKind");class u{constructor(e,t){this.table=e,this.config=t,this.name=t.name,this.keyAsName=t.keyAsName,this.notNull=t.notNull,this.default=t.default,this.defaultFn=t.defaultFn,this.onUpdateFn=t.onUpdateFn,this.hasDefault=t.hasDefault,this.primary=t.primaryKey,this.isUnique=t.isUnique,this.uniqueName=t.uniqueName,this.uniqueType=t.uniqueType,this.dataType=t.dataType,this.columnType=t.columnType,this.generated=t.generated,this.generatedIdentity=t.generatedIdentity}static [o]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(e){return e}mapToDriverValue(e){return e}shouldDisableInsert(){return void 0!==this.config.generated&&"byDefault"!==this.config.generated.type}}let c=Symbol.for("drizzle:Name"),h=Symbol.for("drizzle:Schema"),d=Symbol.for("drizzle:Columns"),f=Symbol.for("drizzle:ExtraConfigColumns"),m=Symbol.for("drizzle:OriginalName"),g=Symbol.for("drizzle:BaseName"),p=Symbol.for("drizzle:IsAlias"),y=Symbol.for("drizzle:ExtraConfigBuilder"),b=Symbol.for("drizzle:IsDrizzleTable");class S{static [o]="Table";static Symbol={Name:c,Schema:h,OriginalName:m,Columns:d,ExtraConfigColumns:f,BaseName:g,IsAlias:p,ExtraConfigBuilder:y};[c];[m];[h];[d];[f];[g];[p]=!1;[b]=!0;[y]=void 0;constructor(e,t,i){this[c]=this[m]=e,this[h]=t,this[g]=i}}function w(e){return`${e[h]??"public"}.${e[c]}`}class v{static [o]="ColumnBuilder";config;constructor(e,t,i){this.config={name:e,keyAsName:""===e,notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:t,columnType:i,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(e){return this.config.default=e,this.config.hasDefault=!0,this}$defaultFn(e){return this.config.defaultFn=e,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(e){return this.config.onUpdateFn=e,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(e){""===this.config.name&&(this.config.name=e)}}class T{static [o]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(e,t){this.reference=()=>{let{name:t,columns:i,foreignColumns:s}=e();return{name:t,columns:i,foreignTable:s[0].table,foreignColumns:s}},t&&(this._onUpdate=t.onUpdate,this._onDelete=t.onDelete)}onUpdate(e){return this._onUpdate=void 0===e?"no action":e,this}onDelete(e){return this._onDelete=void 0===e?"no action":e,this}build(e){return new $(e,this)}}class ${constructor(e,t){this.table=e,this.reference=t.reference,this.onUpdate=t._onUpdate,this.onDelete=t._onDelete}static [o]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:e,columns:t,foreignColumns:i}=this.reference(),s=t.map(e=>e.name),r=i.map(e=>e.name),n=[this.table[c],...s,i[0].table[c],...r];return e??`${n.join("_")}_fk`}}function x(e,...t){return e(...t)}function Q(e,t){return`${e[c]}_${t.join("_")}_unique`}class N{constructor(e,t){this.name=t,this.columns=e}static [o]="PgUniqueConstraintBuilder";columns;nullsNotDistinctConfig=!1;nullsNotDistinct(){return this.nullsNotDistinctConfig=!0,this}build(e){return new C(e,this.columns,this.nullsNotDistinctConfig,this.name)}}class P{static [o]="PgUniqueOnConstraintBuilder";name;constructor(e){this.name=e}on(...e){return new N(e,this.name)}}class C{constructor(e,t,i,s){this.table=e,this.columns=t,this.name=s??Q(this.table,this.columns.map(e=>e.name)),this.nullsNotDistinct=i}static [o]="PgUniqueConstraint";columns;name;nullsNotDistinct=!1;getName(){return this.name}}function B(e,t,i){for(let s=t;s<e.length;s++){let r=e[s];if("\\"===r){s++;continue}if('"'===r)return[e.slice(t,s).replace(/\\/g,""),s+1];if(!i&&(","===r||"}"===r))return[e.slice(t,s).replace(/\\/g,""),s]}return[e.slice(t).replace(/\\/g,""),e.length]}class L extends v{foreignKeyConfigs=[];static [o]="PgColumnBuilder";array(e){return new F(this.config.name,this,e)}references(e,t={}){return this.foreignKeyConfigs.push({ref:e,actions:t}),this}unique(e,t){return this.config.isUnique=!0,this.config.uniqueName=e,this.config.uniqueType=t?.nulls,this}generatedAlwaysAs(e){return this.config.generated={as:e,type:"always",mode:"stored"},this}buildForeignKeys(e,t){return this.foreignKeyConfigs.map(({ref:i,actions:s})=>x((i,s)=>{let r=new T(()=>({columns:[e],foreignColumns:[i()]}));return s.onUpdate&&r.onUpdate(s.onUpdate),s.onDelete&&r.onDelete(s.onDelete),r.build(t)},i,s))}buildExtraConfigColumn(e){return new D(e,this.config)}}class q extends u{constructor(e,t){t.uniqueName||(t.uniqueName=Q(e,[t.name])),super(e,t),this.table=e}static [o]="PgColumn"}class D extends q{static [o]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(e){return this.indexConfig.opClass=e,this}}class O{static [o]="IndexedColumn";constructor(e,t,i,s){this.name=e,this.keyAsName=t,this.type=i,this.indexConfig=s}name;keyAsName;type;indexConfig}class F extends L{static [o]="PgArrayBuilder";constructor(e,t,i){super(e,"array","PgArray"),this.config.baseBuilder=t,this.config.size=i}build(e){let t=this.config.baseBuilder.build(e);return new A(e,this.config,t)}}class A extends q{constructor(e,t,i,s){super(e,t),this.baseColumn=i,this.range=s,this.size=t.size}size;static [o]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${"number"==typeof this.size?this.size:""}]`}mapFromDriverValue(e){return"string"==typeof e&&(e=function(e){let[t]=function e(t,i=0){let s=[],r=i,n=!1;for(;r<t.length;){let a=t[r];if(","===a){(n||r===i)&&s.push(""),n=!0,r++;continue}if(n=!1,"\\"===a){r+=2;continue}if('"'===a){let[e,i]=B(t,r+1,!0);s.push(e),r=i;continue}if("}"===a)return[s,r+1];if("{"===a){let[i,n]=e(t,r+1);s.push(i),r=n;continue}let[o,l]=B(t,r,!1);s.push(o),r=l}return[s,r]}(e,1);return t}(e)),e.map(e=>this.baseColumn.mapFromDriverValue(e))}mapToDriverValue(e,t=!1){let i=e.map(e=>null===e?null:l(this.baseColumn,A)?this.baseColumn.mapToDriverValue(e,!0):this.baseColumn.mapToDriverValue(e));return t?i:function e(t){return`{${t.map(t=>Array.isArray(t)?e(t):"string"==typeof t?`"${t.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:`${t}`).join(",")}}`}(i)}}class j extends L{static [o]="PgEnumObjectColumnBuilder";constructor(e,t){super(e,"string","PgEnumObjectColumn"),this.config.enum=t}build(e){return new I(e,this.config)}}class I extends q{static [o]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(e,t){super(e,t),this.enum=t.enum}getSQLType(){return this.enum.enumName}}let _=Symbol.for("drizzle:isPgEnum");class V extends L{static [o]="PgEnumColumnBuilder";constructor(e,t){super(e,"string","PgEnumColumn"),this.config.enum=t}build(e){return new E(e,this.config)}}class E extends q{static [o]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(e,t){super(e,t),this.enum=t.enum}getSQLType(){return this.enum.enumName}}class z{static [o]="Subquery";constructor(e,t,i,s=!1,r=[]){this._={brand:"Subquery",sql:e,selectedFields:t,alias:i,isWith:s,usedTables:r}}}class R extends z{static [o]="WithSubquery"}let M=(e,s)=>t?(i||(i=t.trace.getTracer("drizzle-orm","0.45.2")),x((t,i)=>i.startActiveSpan(e,e=>{try{return s(e)}catch(i){throw e.setStatus({code:t.SpanStatusCode.ERROR,message:i instanceof Error?i.message:"Unknown error"}),i}finally{e.end()}}),t,i)):s(),U=Symbol.for("drizzle:ViewBaseConfig");class k{static [o]="FakePrimitiveParam"}function K(e){return null!=e&&"function"==typeof e.getSQL}class J{static [o]="StringChunk";value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new W([this])}}class W{constructor(e){for(const t of(this.queryChunks=e,e))if(l(t,S)){const e=t[S.Symbol.Schema];this.usedTables.push(void 0===e?t[S.Symbol.Name]:e+"."+t[S.Symbol.Name])}}static [o]="SQL";decoder=G;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return M("drizzle.buildSQL",t=>{let i=this.buildQueryFromSourceParams(this.queryChunks,e);return t?.setAttributes({"drizzle.query.text":i.sql,"drizzle.query.params":JSON.stringify(i.params)}),i})}buildQueryFromSourceParams(e,t){let i=Object.assign({},t,{inlineParams:t.inlineParams||this.shouldInlineParams,paramStartIndex:t.paramStartIndex||{value:0}}),{casing:s,escapeName:r,escapeParam:n,prepareTyping:a,inlineParams:o,paramStartIndex:c}=i;var h=e.map(e=>{if(l(e,J))return{sql:e.value.join(""),params:[]};if(l(e,Y))return{sql:r(e.value),params:[]};if(void 0===e)return{sql:"",params:[]};if(Array.isArray(e)){let t=[new J("(")];for(let[i,s]of e.entries())t.push(s),i<e.length-1&&t.push(new J(", "));return t.push(new J(")")),this.buildQueryFromSourceParams(t,i)}if(l(e,W))return this.buildQueryFromSourceParams(e.queryChunks,{...i,inlineParams:o||e.shouldInlineParams});if(l(e,S)){let t=e[S.Symbol.Schema],i=e[S.Symbol.Name];return{sql:void 0===t||e[p]?r(i):r(t)+"."+r(i),params:[]}}if(l(e,u)){let i=s.getColumnCasing(e);if("indexes"===t.invokeSource)return{sql:r(i),params:[]};let n=e.table[S.Symbol.Schema];return{sql:e.table[p]||void 0===n?r(e.table[S.Symbol.Name])+"."+r(i):r(n)+"."+r(e.table[S.Symbol.Name])+"."+r(i),params:[]}}if(l(e,en)){let t=e[U].schema,i=e[U].name;return{sql:void 0===t||e[U].isAlias?r(i):r(t)+"."+r(i),params:[]}}if(l(e,X)){if(l(e.value,ei))return{sql:n(c.value++,e),params:[e],typings:["none"]};let t=null===e.value?null:e.encoder.mapToDriverValue(e.value);if(l(t,W))return this.buildQueryFromSourceParams([t],i);if(o)return{sql:this.mapInlineParam(t,i),params:[]};let s=["none"];return a&&(s=[a(e.encoder)]),{sql:n(c.value++,t),params:[t],typings:s}}return l(e,ei)?{sql:n(c.value++,e),params:[e],typings:["none"]}:l(e,W.Aliased)&&void 0!==e.fieldAlias?{sql:r(e.fieldAlias),params:[]}:l(e,z)?e._.isWith?{sql:r(e._.alias),params:[]}:this.buildQueryFromSourceParams([new J("("),e._.sql,new J(") "),new Y(e._.alias)],i):e&&"function"==typeof e&&_ in e&&!0===e[_]?e.schema?{sql:r(e.schema)+"."+r(e.enumName),params:[]}:{sql:r(e.enumName),params:[]}:K(e)?e.shouldOmitSQLParens?.()?this.buildQueryFromSourceParams([e.getSQL()],i):this.buildQueryFromSourceParams([new J("("),e.getSQL(),new J(")")],i):o?{sql:this.mapInlineParam(e,i),params:[]}:{sql:n(c.value++,e),params:[e],typings:["none"]}});let d={sql:"",params:[]};for(let e of h)d.sql+=e.sql,d.params.push(...e.params),e.typings?.length&&(d.typings||(d.typings=[]),d.typings.push(...e.typings));return d}mapInlineParam(e,{escapeString:t}){if(null===e)return"null";if("number"==typeof e||"boolean"==typeof e)return e.toString();if("string"==typeof e)return t(e);if("object"==typeof e){let i=e.toString();return"[object Object]"===i?t(JSON.stringify(e)):t(i)}throw Error("Unexpected param value: "+e)}getSQL(){return this}as(e){return void 0===e?this:new W.Aliased(this,e)}mapWith(e){return this.decoder="function"==typeof e?{mapFromDriverValue:e}:e,this}inlineParams(){return this.shouldInlineParams=!0,this}if(e){return e?this:void 0}}class Y{constructor(e){this.value=e}static [o]="Name";brand;getSQL(){return new W([this])}}let G={mapFromDriverValue:e=>e},H={mapToDriverValue:e=>e};({...G,...H});class X{constructor(e,t=H){this.value=e,this.encoder=t}static [o]="Param";brand;getSQL(){return new W([this])}}function Z(e,...t){let i=[];for(let[s,r]of((t.length>0||e.length>0&&""!==e[0])&&i.push(new J(e[0])),t.entries()))i.push(r,new J(e[s+1]));return new W(i)}(s=Z||(Z={})).empty=function(){return new W([])},s.fromList=function(e){return new W(e)},s.raw=function(e){return new W([new J(e)])},s.join=function(e,t){let i=[];for(let[s,r]of e.entries())s>0&&void 0!==t&&i.push(t),i.push(r);return new W(i)},s.identifier=function(e){return new Y(e)},s.placeholder=function(e){return new ei(e)},s.param=function(e,t){return new X(e,t)};var ee=W||(W={});class et{constructor(e,t){this.sql=e,this.fieldAlias=t}static [o]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new et(this.sql,this.fieldAlias)}}ee.Aliased=et;class ei{constructor(e){this.name=e}static [o]="Placeholder";getSQL(){return new W([this])}}function es(e,t){return e.map(e=>{if(l(e,ei)){if(!(e.name in t))throw Error(`No value for placeholder "${e.name}" was provided`);return t[e.name]}if(l(e,X)&&l(e.value,ei)){if(!(e.value.name in t))throw Error(`No value for placeholder "${e.value.name}" was provided`);return e.encoder.mapToDriverValue(t[e.value.name])}return e})}let er=Symbol.for("drizzle:IsDrizzleView");class en{static [o]="View";[U];[er]=!0;constructor({name:e,schema:t,selectedFields:i,query:s}){this[U]={name:e,originalName:e,schema:t,selectedFields:i,query:s,isExisting:!s,isAlias:!1}}getSQL(){return new W([this])}}function ea(e,t){return"object"!=typeof t||null===t||!("mapToDriverValue"in t)||"function"!=typeof t.mapToDriverValue||K(e)||l(e,X)||l(e,ei)||l(e,u)||l(e,S)||l(e,en)?e:new X(e,t)}u.prototype.getSQL=function(){return new W([this])},S.prototype.getSQL=function(){return new W([this])},z.prototype.getSQL=function(){return new W([this])};let eo=(e,t)=>Z`${e} = ${ea(t,e)}`,el=(e,t)=>Z`${e} <> ${ea(t,e)}`;function eu(...e){let t=e.filter(e=>void 0!==e);if(0!==t.length)return new W(1===t.length?t:[new J("("),Z.join(t,new J(" and ")),new J(")")])}function ec(...e){let t=e.filter(e=>void 0!==e);if(0!==t.length)return new W(1===t.length?t:[new J("("),Z.join(t,new J(" or ")),new J(")")])}function eh(e){return Z`not ${e}`}let ed=(e,t)=>Z`${e} > ${ea(t,e)}`,ef=(e,t)=>Z`${e} >= ${ea(t,e)}`,em=(e,t)=>Z`${e} < ${ea(t,e)}`,eg=(e,t)=>Z`${e} <= ${ea(t,e)}`;function ep(e,t){return Array.isArray(t)?0===t.length?Z`false`:Z`${e} in ${t.map(t=>ea(t,e))}`:Z`${e} in ${ea(t,e)}`}function ey(e,t){return Array.isArray(t)?0===t.length?Z`true`:Z`${e} not in ${t.map(t=>ea(t,e))}`:Z`${e} not in ${ea(t,e)}`}function eb(e){return Z`${e} is null`}function eS(e){return Z`${e} is not null`}function ew(e){return Z`exists ${e}`}function ev(e){return Z`not exists ${e}`}function eT(e,t,i){return Z`${e} between ${ea(t,e)} and ${ea(i,e)}`}function e$(e,t,i){return Z`${e} not between ${ea(t,e)} and ${ea(i,e)}`}function ex(e,t){return Z`${e} like ${t}`}function eQ(e,t){return Z`${e} not like ${t}`}function eN(e,t){return Z`${e} ilike ${t}`}function eP(e,t){return Z`${e} not ilike ${t}`}class eC{static [o]="ConsoleLogWriter";write(e){console.log(e)}}class eB{static [o]="DefaultLogger";writer;constructor(e){this.writer=e?.writer??new eC}logQuery(e,t){let i=t.map(e=>{try{return JSON.stringify(e)}catch{return String(e)}}),s=i.length?` -- params: [${i.join(", ")}]`:"";this.writer.write(`Query: ${e}${s}`)}}class eL{static [o]="NoopLogger";logQuery(){}}function eq(e,t,i){let s={},r=e.reduce((e,{path:r,field:n},a)=>{let o;o=l(n,u)?n:l(n,W)?n.decoder:l(n,z)?n._.sql.decoder:n.sql.decoder;let h=e;for(let[e,d]of r.entries())if(e<r.length-1)d in h||(h[d]={}),h=h[d];else{let e=t[a],f=h[d]=null===e?null:o.mapFromDriverValue(e);if(i&&l(n,u)&&2===r.length){let e=r[0];e in s?"string"==typeof s[e]&&s[e]!==n.table[c]&&(s[e]=!1):s[e]=null===f&&n.table[c]}}return e},{});if(i&&Object.keys(s).length>0)for(let[e,t]of Object.entries(s))"string"!=typeof t||i[t]||(r[e]=null);return r}function eD(e,t){return Object.entries(e).reduce((e,[i,s])=>{if("string"!=typeof i)return e;let r=t?[...t,i]:[i];return l(s,u)||l(s,W)||l(s,W.Aliased)||l(s,z)?e.push({path:r,field:s}):l(s,S)?e.push(...eD(s[S.Symbol.Columns],r)):e.push(...eD(s,r)),e},[])}function eO(e,t){let i=Object.keys(e),s=Object.keys(t);if(i.length!==s.length)return!1;for(let[e,t]of i.entries())if(t!==s[e])return!1;return!0}function eF(e,t){let i=Object.entries(t).filter(([,e])=>void 0!==e).map(([t,i])=>l(i,W)||l(i,u)?[t,i]:[t,new X(i,e[S.Symbol.Columns][t])]);if(0===i.length)throw Error("No values to set");return Object.fromEntries(i)}function eA(e){return l(e,z)?e._.alias:l(e,en)?e[U].name:l(e,W)?void 0:e[S.Symbol.IsAlias]?e[S.Symbol.Name]:e[S.Symbol.BaseName]}function ej(e,t){return{name:"string"==typeof e&&e.length>0?e:"",config:"object"==typeof e?e:t}}let eI="u"<typeof TextDecoder?null:new TextDecoder;class e_ extends L{static [o]="PgIntColumnBaseBuilder";generatedAlwaysAsIdentity(e){if(e){let{name:t,...i}=e;this.config.generatedIdentity={type:"always",sequenceName:t,sequenceOptions:i}}else this.config.generatedIdentity={type:"always"};return this.config.hasDefault=!0,this.config.notNull=!0,this}generatedByDefaultAsIdentity(e){if(e){let{name:t,...i}=e;this.config.generatedIdentity={type:"byDefault",sequenceName:t,sequenceOptions:i}}else this.config.generatedIdentity={type:"byDefault"};return this.config.hasDefault=!0,this.config.notNull=!0,this}}class eV extends e_{static [o]="PgBigInt53Builder";constructor(e){super(e,"number","PgBigInt53")}build(e){return new eE(e,this.config)}}class eE extends q{static [o]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(e){return"number"==typeof e?e:Number(e)}}class ez extends e_{static [o]="PgBigInt64Builder";constructor(e){super(e,"bigint","PgBigInt64")}build(e){return new eR(e,this.config)}}class eR extends q{static [o]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(e){return BigInt(e)}}class eM extends L{static [o]="PgBigSerial53Builder";constructor(e){super(e,"number","PgBigSerial53"),this.config.hasDefault=!0,this.config.notNull=!0}build(e){return new eU(e,this.config)}}class eU extends q{static [o]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(e){return"number"==typeof e?e:Number(e)}}class ek extends L{static [o]="PgBigSerial64Builder";constructor(e){super(e,"bigint","PgBigSerial64"),this.config.hasDefault=!0}build(e){return new eK(e,this.config)}}class eK extends q{static [o]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(e){return BigInt(e)}}class eJ extends L{static [o]="PgBooleanBuilder";constructor(e){super(e,"boolean","PgBoolean")}build(e){return new eW(e,this.config)}}class eW extends q{static [o]="PgBoolean";getSQLType(){return"boolean"}}class eY extends L{static [o]="PgCharBuilder";constructor(e,t){super(e,"string","PgChar"),this.config.length=t.length,this.config.enumValues=t.enum}build(e){return new eG(e,this.config)}}class eG extends q{static [o]="PgChar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return void 0===this.length?"char":`char(${this.length})`}}class eH extends L{static [o]="PgCidrBuilder";constructor(e){super(e,"string","PgCidr")}build(e){return new eX(e,this.config)}}class eX extends q{static [o]="PgCidr";getSQLType(){return"cidr"}}class eZ extends L{static [o]="PgCustomColumnBuilder";constructor(e,t,i){super(e,"custom","PgCustomColumn"),this.config.fieldConfig=t,this.config.customTypeParams=i}build(e){return new e0(e,this.config)}}class e0 extends q{static [o]="PgCustomColumn";sqlName;mapTo;mapFrom;constructor(e,t){super(e,t),this.sqlName=t.customTypeParams.dataType(t.fieldConfig),this.mapTo=t.customTypeParams.toDriver,this.mapFrom=t.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(e){return"function"==typeof this.mapFrom?this.mapFrom(e):e}mapToDriverValue(e){return"function"==typeof this.mapTo?this.mapTo(e):e}}class e1 extends L{static [o]="PgDateColumnBaseBuilder";defaultNow(){return this.default(Z`now()`)}}class e2 extends e1{static [o]="PgDateBuilder";constructor(e){super(e,"date","PgDate")}build(e){return new e4(e,this.config)}}class e4 extends q{static [o]="PgDate";getSQLType(){return"date"}mapFromDriverValue(e){return"string"==typeof e?new Date(e):e}mapToDriverValue(e){return e.toISOString()}}class e6 extends e1{static [o]="PgDateStringBuilder";constructor(e){super(e,"string","PgDateString")}build(e){return new e5(e,this.config)}}class e5 extends q{static [o]="PgDateString";getSQLType(){return"date"}mapFromDriverValue(e){return"string"==typeof e?e:e.toISOString().slice(0,-14)}}class e3 extends L{static [o]="PgDoublePrecisionBuilder";constructor(e){super(e,"number","PgDoublePrecision")}build(e){return new e8(e,this.config)}}class e8 extends q{static [o]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(e){return"string"==typeof e?Number.parseFloat(e):e}}class e7 extends L{static [o]="PgInetBuilder";constructor(e){super(e,"string","PgInet")}build(e){return new e9(e,this.config)}}class e9 extends q{static [o]="PgInet";getSQLType(){return"inet"}}class te extends e_{static [o]="PgIntegerBuilder";constructor(e){super(e,"number","PgInteger")}build(e){return new tt(e,this.config)}}class tt extends q{static [o]="PgInteger";getSQLType(){return"integer"}mapFromDriverValue(e){return"string"==typeof e?Number.parseInt(e):e}}class ti extends L{static [o]="PgIntervalBuilder";constructor(e,t){super(e,"string","PgInterval"),this.config.intervalConfig=t}build(e){return new ts(e,this.config)}}class ts extends q{static [o]="PgInterval";fields=this.config.intervalConfig.fields;precision=this.config.intervalConfig.precision;getSQLType(){let e=this.fields?` ${this.fields}`:"",t=this.precision?`(${this.precision})`:"";return`interval${e}${t}`}}class tr extends L{static [o]="PgJsonBuilder";constructor(e){super(e,"json","PgJson")}build(e){return new tn(e,this.config)}}class tn extends q{static [o]="PgJson";constructor(e,t){super(e,t)}getSQLType(){return"json"}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}}class ta extends L{static [o]="PgJsonbBuilder";constructor(e){super(e,"json","PgJsonb")}build(e){return new to(e,this.config)}}class to extends q{static [o]="PgJsonb";constructor(e,t){super(e,t)}getSQLType(){return"jsonb"}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}}class tl extends L{static [o]="PgLineBuilder";constructor(e){super(e,"array","PgLine")}build(e){return new tu(e,this.config)}}class tu extends q{static [o]="PgLine";getSQLType(){return"line"}mapFromDriverValue(e){let[t,i,s]=e.slice(1,-1).split(",");return[Number.parseFloat(t),Number.parseFloat(i),Number.parseFloat(s)]}mapToDriverValue(e){return`{${e[0]},${e[1]},${e[2]}}`}}class tc extends L{static [o]="PgLineABCBuilder";constructor(e){super(e,"json","PgLineABC")}build(e){return new th(e,this.config)}}class th extends q{static [o]="PgLineABC";getSQLType(){return"line"}mapFromDriverValue(e){let[t,i,s]=e.slice(1,-1).split(",");return{a:Number.parseFloat(t),b:Number.parseFloat(i),c:Number.parseFloat(s)}}mapToDriverValue(e){return`{${e.a},${e.b},${e.c}}`}}class td extends L{static [o]="PgMacaddrBuilder";constructor(e){super(e,"string","PgMacaddr")}build(e){return new tf(e,this.config)}}class tf extends q{static [o]="PgMacaddr";getSQLType(){return"macaddr"}}class tm extends L{static [o]="PgMacaddr8Builder";constructor(e){super(e,"string","PgMacaddr8")}build(e){return new tg(e,this.config)}}class tg extends q{static [o]="PgMacaddr8";getSQLType(){return"macaddr8"}}class tp extends L{static [o]="PgNumericBuilder";constructor(e,t,i){super(e,"string","PgNumeric"),this.config.precision=t,this.config.scale=i}build(e){return new ty(e,this.config)}}class ty extends q{static [o]="PgNumeric";precision;scale;constructor(e,t){super(e,t),this.precision=t.precision,this.scale=t.scale}mapFromDriverValue(e){return"string"==typeof e?e:String(e)}getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`numeric(${this.precision}, ${this.scale})`:void 0===this.precision?"numeric":`numeric(${this.precision})`}}class tb extends L{static [o]="PgNumericNumberBuilder";constructor(e,t,i){super(e,"number","PgNumericNumber"),this.config.precision=t,this.config.scale=i}build(e){return new tS(e,this.config)}}class tS extends q{static [o]="PgNumericNumber";precision;scale;constructor(e,t){super(e,t),this.precision=t.precision,this.scale=t.scale}mapFromDriverValue(e){return"number"==typeof e?e:Number(e)}mapToDriverValue=String;getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`numeric(${this.precision}, ${this.scale})`:void 0===this.precision?"numeric":`numeric(${this.precision})`}}class tw extends L{static [o]="PgNumericBigIntBuilder";constructor(e,t,i){super(e,"bigint","PgNumericBigInt"),this.config.precision=t,this.config.scale=i}build(e){return new tv(e,this.config)}}class tv extends q{static [o]="PgNumericBigInt";precision;scale;constructor(e,t){super(e,t),this.precision=t.precision,this.scale=t.scale}mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`numeric(${this.precision}, ${this.scale})`:void 0===this.precision?"numeric":`numeric(${this.precision})`}}class tT extends L{static [o]="PgPointTupleBuilder";constructor(e){super(e,"array","PgPointTuple")}build(e){return new t$(e,this.config)}}class t$ extends q{static [o]="PgPointTuple";getSQLType(){return"point"}mapFromDriverValue(e){if("string"==typeof e){let[t,i]=e.slice(1,-1).split(",");return[Number.parseFloat(t),Number.parseFloat(i)]}return[e.x,e.y]}mapToDriverValue(e){return`(${e[0]},${e[1]})`}}class tx extends L{static [o]="PgPointObjectBuilder";constructor(e){super(e,"json","PgPointObject")}build(e){return new tQ(e,this.config)}}class tQ extends q{static [o]="PgPointObject";getSQLType(){return"point"}mapFromDriverValue(e){if("string"==typeof e){let[t,i]=e.slice(1,-1).split(",");return{x:Number.parseFloat(t),y:Number.parseFloat(i)}}return e}mapToDriverValue(e){return`(${e.x},${e.y})`}}function tN(e,t){let i=new DataView(new ArrayBuffer(8));for(let s=0;s<8;s++)i.setUint8(s,e[t+s]);return i.getFloat64(0,!0)}function tP(e){let t=function(e){let t=[];for(let i=0;i<e.length;i+=2)t.push(Number.parseInt(e.slice(i,i+2),16));return new Uint8Array(t)}(e),i=0,s=t[0];i+=1;let r=new DataView(t.buffer),n=r.getUint32(i,1===s);if(i+=4,0x20000000&n&&(r.getUint32(i,1===s),i+=4),(65535&n)==1){let e=tN(t,i),s=tN(t,i+=8);return i+=8,[e,s]}throw Error("Unsupported geometry type")}class tC extends L{static [o]="PgGeometryBuilder";constructor(e){super(e,"array","PgGeometry")}build(e){return new tB(e,this.config)}}class tB extends q{static [o]="PgGeometry";getSQLType(){return"geometry(point)"}mapFromDriverValue(e){return tP(e)}mapToDriverValue(e){return`point(${e[0]} ${e[1]})`}}class tL extends L{static [o]="PgGeometryObjectBuilder";constructor(e){super(e,"json","PgGeometryObject")}build(e){return new tq(e,this.config)}}class tq extends q{static [o]="PgGeometryObject";getSQLType(){return"geometry(point)"}mapFromDriverValue(e){let t=tP(e);return{x:t[0],y:t[1]}}mapToDriverValue(e){return`point(${e.x} ${e.y})`}}class tD extends L{static [o]="PgRealBuilder";constructor(e,t){super(e,"number","PgReal"),this.config.length=t}build(e){return new tO(e,this.config)}}class tO extends q{static [o]="PgReal";constructor(e,t){super(e,t)}getSQLType(){return"real"}mapFromDriverValue=e=>"string"==typeof e?Number.parseFloat(e):e}class tF extends L{static [o]="PgSerialBuilder";constructor(e){super(e,"number","PgSerial"),this.config.hasDefault=!0,this.config.notNull=!0}build(e){return new tA(e,this.config)}}class tA extends q{static [o]="PgSerial";getSQLType(){return"serial"}}class tj extends e_{static [o]="PgSmallIntBuilder";constructor(e){super(e,"number","PgSmallInt")}build(e){return new tI(e,this.config)}}class tI extends q{static [o]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=e=>"string"==typeof e?Number(e):e}class t_ extends L{static [o]="PgSmallSerialBuilder";constructor(e){super(e,"number","PgSmallSerial"),this.config.hasDefault=!0,this.config.notNull=!0}build(e){return new tV(e,this.config)}}class tV extends q{static [o]="PgSmallSerial";getSQLType(){return"smallserial"}}class tE extends L{static [o]="PgTextBuilder";constructor(e,t){super(e,"string","PgText"),this.config.enumValues=t.enum}build(e){return new tz(e,this.config)}}class tz extends q{static [o]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}class tR extends e1{constructor(e,t,i){super(e,"string","PgTime"),this.withTimezone=t,this.precision=i,this.config.withTimezone=t,this.config.precision=i}static [o]="PgTimeBuilder";build(e){return new tM(e,this.config)}}class tM extends q{static [o]="PgTime";withTimezone;precision;constructor(e,t){super(e,t),this.withTimezone=t.withTimezone,this.precision=t.precision}getSQLType(){let e=void 0===this.precision?"":`(${this.precision})`;return`time${e}${this.withTimezone?" with time zone":""}`}}class tU extends e1{static [o]="PgTimestampBuilder";constructor(e,t,i){super(e,"date","PgTimestamp"),this.config.withTimezone=t,this.config.precision=i}build(e){return new tk(e,this.config)}}class tk extends q{static [o]="PgTimestamp";withTimezone;precision;constructor(e,t){super(e,t),this.withTimezone=t.withTimezone,this.precision=t.precision}getSQLType(){let e=void 0===this.precision?"":` (${this.precision})`;return`timestamp${e}${this.withTimezone?" with time zone":""}`}mapFromDriverValue(e){return"string"==typeof e?new Date(this.withTimezone?e:e+"+0000"):e}mapToDriverValue=e=>e.toISOString()}class tK extends e1{static [o]="PgTimestampStringBuilder";constructor(e,t,i){super(e,"string","PgTimestampString"),this.config.withTimezone=t,this.config.precision=i}build(e){return new tJ(e,this.config)}}class tJ extends q{static [o]="PgTimestampString";withTimezone;precision;constructor(e,t){super(e,t),this.withTimezone=t.withTimezone,this.precision=t.precision}getSQLType(){let e=void 0===this.precision?"":`(${this.precision})`;return`timestamp${e}${this.withTimezone?" with time zone":""}`}mapFromDriverValue(e){if("string"==typeof e)return e;let t=e.toISOString().slice(0,-1).replace("T"," ");if(this.withTimezone){let i=e.getTimezoneOffset();return`${t}${i<=0?"+":"-"}${Math.floor(Math.abs(i)/60).toString().padStart(2,"0")}`}return t}}class tW extends L{static [o]="PgUUIDBuilder";constructor(e){super(e,"string","PgUUID")}defaultRandom(){return this.default(Z`gen_random_uuid()`)}build(e){return new tY(e,this.config)}}class tY extends q{static [o]="PgUUID";getSQLType(){return"uuid"}}class tG extends L{static [o]="PgVarcharBuilder";constructor(e,t){super(e,"string","PgVarchar"),this.config.length=t.length,this.config.enumValues=t.enum}build(e){return new tH(e,this.config)}}class tH extends q{static [o]="PgVarchar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return void 0===this.length?"varchar":`varchar(${this.length})`}}class tX extends L{static [o]="PgBinaryVectorBuilder";constructor(e,t){super(e,"string","PgBinaryVector"),this.config.dimensions=t.dimensions}build(e){return new tZ(e,this.config)}}class tZ extends q{static [o]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}class t0 extends L{static [o]="PgHalfVectorBuilder";constructor(e,t){super(e,"array","PgHalfVector"),this.config.dimensions=t.dimensions}build(e){return new t1(e,this.config)}}class t1 extends q{static [o]="PgHalfVector";dimensions=this.config.dimensions;getSQLType(){return`halfvec(${this.dimensions})`}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){return e.slice(1,-1).split(",").map(e=>Number.parseFloat(e))}}class t2 extends L{static [o]="PgSparseVectorBuilder";constructor(e,t){super(e,"string","PgSparseVector"),this.config.dimensions=t.dimensions}build(e){return new t4(e,this.config)}}class t4 extends q{static [o]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}class t6 extends L{static [o]="PgVectorBuilder";constructor(e,t){super(e,"array","PgVector"),this.config.dimensions=t.dimensions}build(e){return new t5(e,this.config)}}class t5 extends q{static [o]="PgVector";dimensions=this.config.dimensions;getSQLType(){return`vector(${this.dimensions})`}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){return e.slice(1,-1).split(",").map(e=>Number.parseFloat(e))}}let t3=Symbol.for("drizzle:PgInlineForeignKeys"),t8=Symbol.for("drizzle:EnableRLS");class t7 extends S{static [o]="PgTable";static Symbol=Object.assign({},S.Symbol,{InlineForeignKeys:t3,EnableRLS:t8});[t3]=[];[t8]=!1;[S.Symbol.ExtraConfigBuilder]=void 0;[S.Symbol.ExtraConfigColumns]={}}class t9{static [o]="PgPrimaryKeyBuilder";columns;name;constructor(e,t){this.columns=e,this.name=t}build(e){return new ie(e,this.columns,this.name)}}class ie{constructor(e,t,i){this.table=e,this.columns=t,this.name=i}static [o]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[t7.Symbol.Name]}_${this.columns.map(e=>e.name).join("_")}_pk`}}function it(e){return Z`${e} asc`}function ii(e){return Z`${e} desc`}class is{constructor(e,t,i){this.sourceTable=e,this.referencedTable=t,this.relationName=i,this.referencedTableName=t[S.Symbol.Name]}static [o]="Relation";referencedTableName;fieldName}class ir{constructor(e,t){this.table=e,this.config=t}static [o]="Relations"}class ia extends is{constructor(e,t,i,s){super(e,t,i?.relationName),this.config=i,this.isNullable=s}static [o]="One";withFieldName(e){let t=new ia(this.sourceTable,this.referencedTable,this.config,this.isNullable);return t.fieldName=e,t}}class io extends is{constructor(e,t,i){super(e,t,i?.relationName),this.config=i}static [o]="Many";withFieldName(e){let t=new io(this.sourceTable,this.referencedTable,this.config);return t.fieldName=e,t}}function il(e){return{one:function(t,i){return new ia(e,t,i,i?.fields.reduce((e,t)=>e&&t.notNull,!0)??!1)},many:function(t,i){return new io(e,t,i)}}}class iu{constructor(e){this.table=e}static [o]="ColumnAliasProxyHandler";get(e,t){return"table"===t?this.table:e[t]}}class ic{constructor(e,t){this.alias=e,this.replaceOriginalName=t}static [o]="TableAliasProxyHandler";get(e,t){if(t===S.Symbol.IsAlias)return!0;if(t===S.Symbol.Name||this.replaceOriginalName&&t===S.Symbol.OriginalName)return this.alias;if(t===U)return{...e[U],name:this.alias,isAlias:!0};if(t===S.Symbol.Columns){let t=e[S.Symbol.Columns];if(!t)return t;let i={};return Object.keys(t).map(s=>{i[s]=new Proxy(t[s],new iu(new Proxy(e,this)))}),i}let i=e[t];return l(i,u)?new Proxy(i,new iu(new Proxy(e,this))):i}}class ih{constructor(e){this.alias=e}static [o]="RelationTableAliasProxyHandler";get(e,t){return"sourceTable"===t?id(e.sourceTable,this.alias):e[t]}}function id(e,t){return new Proxy(e,new ic(t,!1))}function im(e,t){return new Proxy(e,new iu(new Proxy(e.table,new ic(t,!1))))}function ig(e,t){return new W.Aliased(ip(e.sql,t),e.fieldAlias)}function ip(e,t){return Z.join(e.queryChunks.map(e=>l(e,u)?im(e,t):l(e,W)?ip(e,t):l(e,W.Aliased)?ig(e,t):e))}class iy{static [o]="SelectionProxyHandler";config;constructor(e){this.config={...e}}get(e,t){if("_"===t)return{...e._,selectedFields:new Proxy(e._.selectedFields,this)};if(t===U)return{...e[U],selectedFields:new Proxy(e[U].selectedFields,this)};if("symbol"==typeof t)return e[t];let i=(l(e,z)?e._.selectedFields:l(e,en)?e[U].selectedFields:e)[t];if(l(i,W.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!i.isSelectionField)return i.sql;let e=i.clone();return e.isSelectionField=!0,e}if(l(i,W)){if("sql"===this.config.sqlBehavior)return i;throw Error(`You tried to reference "${t}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}return l(i,u)?this.config.alias?new Proxy(i,new iu(new Proxy(i.table,new ic(this.config.alias,this.config.replaceOriginalName??!1)))):i:"object"!=typeof i||null===i?i:new Proxy(i,new iy(this.config))}}function ib(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map(e=>e.toLowerCase()).join("_")}function iS(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((e,t,i)=>e+(0===i?t.toLowerCase():`${t[0].toUpperCase()}${t.slice(1)}`),"")}function iw(e){return e}class iv{static [o]="CasingCache";cache={};cachedTables={};convert;constructor(e){this.convert="snake_case"===e?ib:"camelCase"===e?iS:iw}getColumnCasing(e){if(!e.keyAsName)return e.name;let t=e.table[S.Symbol.Schema]??"public",i=e.table[S.Symbol.OriginalName],s=`${t}.${i}.${e.name}`;return this.cache[s]||this.cacheTable(e.table),this.cache[s]}cacheTable(e){let t=e[S.Symbol.Schema]??"public",i=e[S.Symbol.OriginalName],s=`${t}.${i}`;if(!this.cachedTables[s]){for(let t of Object.values(e[S.Symbol.Columns])){let e=`${s}.${t.name}`;this.cache[e]=this.convert(t.name)}this.cachedTables[s]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class iT extends Error{static [o]="DrizzleError";constructor({message:e,cause:t}){super(e),this.name="DrizzleError",this.cause=t}}class i$ extends Error{constructor(e,t,i){super(`Failed query: ${e}
|
|
2
|
-
params: ${t}`),this.query=e,this.params=t,this.cause=i,Error.captureStackTrace(this,i$),i&&(this.cause=i)}}class ix extends iT{static [o]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}class iQ{static [o]="SQLiteForeignKeyBuilder";reference;_onUpdate;_onDelete;constructor(e,t){this.reference=()=>{let{name:t,columns:i,foreignColumns:s}=e();return{name:t,columns:i,foreignTable:s[0].table,foreignColumns:s}},t&&(this._onUpdate=t.onUpdate,this._onDelete=t.onDelete)}onUpdate(e){return this._onUpdate=e,this}onDelete(e){return this._onDelete=e,this}build(e){return new iN(e,this)}}class iN{constructor(e,t){this.table=e,this.reference=t.reference,this.onUpdate=t._onUpdate,this.onDelete=t._onDelete}static [o]="SQLiteForeignKey";reference;onUpdate;onDelete;getName(){let{name:e,columns:t,foreignColumns:i}=this.reference(),s=t.map(e=>e.name),r=i.map(e=>e.name),n=[this.table[c],...s,i[0].table[c],...r];return e??`${n.join("_")}_fk`}}function iP(e,t){return`${e[c]}_${t.join("_")}_unique`}class iC{constructor(e,t){this.name=t,this.columns=e}static [o]="SQLiteUniqueConstraintBuilder";columns;build(e){return new iL(e,this.columns,this.name)}}class iB{static [o]="SQLiteUniqueOnConstraintBuilder";name;constructor(e){this.name=e}on(...e){return new iC(e,this.name)}}class iL{constructor(e,t,i){this.table=e,this.columns=t,this.name=i??iP(this.table,this.columns.map(e=>e.name))}static [o]="SQLiteUniqueConstraint";columns;name;getName(){return this.name}}class iq extends v{static [o]="SQLiteColumnBuilder";foreignKeyConfigs=[];references(e,t={}){return this.foreignKeyConfigs.push({ref:e,actions:t}),this}unique(e){return this.config.isUnique=!0,this.config.uniqueName=e,this}generatedAlwaysAs(e,t){return this.config.generated={as:e,type:"always",mode:t?.mode??"virtual"},this}buildForeignKeys(e,t){return this.foreignKeyConfigs.map(({ref:i,actions:s})=>{let r;return r=new iQ(()=>({columns:[e],foreignColumns:[i()]})),s.onUpdate&&r.onUpdate(s.onUpdate),s.onDelete&&r.onDelete(s.onDelete),r.build(t)})}}class iD extends u{constructor(e,t){t.uniqueName||(t.uniqueName=iP(e,[t.name])),super(e,t),this.table=e}static [o]="SQLiteColumn"}class iO extends iq{static [o]="SQLiteBigIntBuilder";constructor(e){super(e,"bigint","SQLiteBigInt")}build(e){return new iF(e,this.config)}}class iF extends iD{static [o]="SQLiteBigInt";getSQLType(){return"blob"}mapFromDriverValue(e){return"u">typeof Buffer&&Buffer.from?BigInt((Buffer.isBuffer(e)?e:e instanceof ArrayBuffer?Buffer.from(e):e.buffer?Buffer.from(e.buffer,e.byteOffset,e.byteLength):Buffer.from(e)).toString("utf8")):BigInt(eI.decode(e))}mapToDriverValue(e){return Buffer.from(e.toString())}}class iA extends iq{static [o]="SQLiteBlobJsonBuilder";constructor(e){super(e,"json","SQLiteBlobJson")}build(e){return new ij(e,this.config)}}class ij extends iD{static [o]="SQLiteBlobJson";getSQLType(){return"blob"}mapFromDriverValue(e){return"u">typeof Buffer&&Buffer.from?JSON.parse((Buffer.isBuffer(e)?e:e instanceof ArrayBuffer?Buffer.from(e):e.buffer?Buffer.from(e.buffer,e.byteOffset,e.byteLength):Buffer.from(e)).toString("utf8")):JSON.parse(eI.decode(e))}mapToDriverValue(e){return Buffer.from(JSON.stringify(e))}}class iI extends iq{static [o]="SQLiteBlobBufferBuilder";constructor(e){super(e,"buffer","SQLiteBlobBuffer")}build(e){return new i_(e,this.config)}}class i_ extends iD{static [o]="SQLiteBlobBuffer";mapFromDriverValue(e){return Buffer.isBuffer(e)?e:Buffer.from(e)}getSQLType(){return"blob"}}function iV(e,t){let{name:i,config:s}=ej(e,t);return s?.mode==="json"?new iA(i):s?.mode==="bigint"?new iO(i):new iI(i)}class iE extends iq{static [o]="SQLiteCustomColumnBuilder";constructor(e,t,i){super(e,"custom","SQLiteCustomColumn"),this.config.fieldConfig=t,this.config.customTypeParams=i}build(e){return new iz(e,this.config)}}class iz extends iD{static [o]="SQLiteCustomColumn";sqlName;mapTo;mapFrom;constructor(e,t){super(e,t),this.sqlName=t.customTypeParams.dataType(t.fieldConfig),this.mapTo=t.customTypeParams.toDriver,this.mapFrom=t.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(e){return"function"==typeof this.mapFrom?this.mapFrom(e):e}mapToDriverValue(e){return"function"==typeof this.mapTo?this.mapTo(e):e}}function iR(e){return(t,i)=>{let{name:s,config:r}=ej(t,i);return new iE(s,r,e)}}class iM extends iq{static [o]="SQLiteBaseIntegerBuilder";constructor(e,t,i){super(e,t,i),this.config.autoIncrement=!1}primaryKey(e){return e?.autoIncrement&&(this.config.autoIncrement=!0),this.config.hasDefault=!0,super.primaryKey()}}class iU extends iD{static [o]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}}class ik extends iM{static [o]="SQLiteIntegerBuilder";constructor(e){super(e,"number","SQLiteInteger")}build(e){return new iK(e,this.config)}}class iK extends iU{static [o]="SQLiteInteger"}class iJ extends iM{static [o]="SQLiteTimestampBuilder";constructor(e,t){super(e,"date","SQLiteTimestamp"),this.config.mode=t}defaultNow(){return this.default(Z`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build(e){return new iW(e,this.config)}}class iW extends iU{static [o]="SQLiteTimestamp";mode=this.config.mode;mapFromDriverValue(e){return new Date("timestamp"===this.config.mode?1e3*e:e)}mapToDriverValue(e){let t=e.getTime();return"timestamp"===this.config.mode?Math.floor(t/1e3):t}}class iY extends iM{static [o]="SQLiteBooleanBuilder";constructor(e,t){super(e,"boolean","SQLiteBoolean"),this.config.mode=t}build(e){return new iG(e,this.config)}}class iG extends iU{static [o]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue(e){return 1===Number(e)}mapToDriverValue(e){return+!!e}}function iH(e,t){let{name:i,config:s}=ej(e,t);return s?.mode==="timestamp"||s?.mode==="timestamp_ms"?new iJ(i,s.mode):s?.mode==="boolean"?new iY(i,s.mode):new ik(i)}class iX extends iq{static [o]="SQLiteNumericBuilder";constructor(e){super(e,"string","SQLiteNumeric")}build(e){return new iZ(e,this.config)}}class iZ extends iD{static [o]="SQLiteNumeric";mapFromDriverValue(e){return"string"==typeof e?e:String(e)}getSQLType(){return"numeric"}}class i0 extends iq{static [o]="SQLiteNumericNumberBuilder";constructor(e){super(e,"number","SQLiteNumericNumber")}build(e){return new i1(e,this.config)}}class i1 extends iD{static [o]="SQLiteNumericNumber";mapFromDriverValue(e){return"number"==typeof e?e:Number(e)}mapToDriverValue=String;getSQLType(){return"numeric"}}class i2 extends iq{static [o]="SQLiteNumericBigIntBuilder";constructor(e){super(e,"bigint","SQLiteNumericBigInt")}build(e){return new i4(e,this.config)}}class i4 extends iD{static [o]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}function i6(e,t){let{name:i,config:s}=ej(e,t),r=s?.mode;return"number"===r?new i0(i):"bigint"===r?new i2(i):new iX(i)}class i5 extends iq{static [o]="SQLiteRealBuilder";constructor(e){super(e,"number","SQLiteReal")}build(e){return new i3(e,this.config)}}class i3 extends iD{static [o]="SQLiteReal";getSQLType(){return"real"}}function i8(e){return new i5(e??"")}class i7 extends iq{static [o]="SQLiteTextBuilder";constructor(e,t){super(e,"string","SQLiteText"),this.config.enumValues=t.enum,this.config.length=t.length}build(e){return new i9(e,this.config)}}class i9 extends iD{static [o]="SQLiteText";enumValues=this.config.enumValues;length=this.config.length;constructor(e,t){super(e,t)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}}class se extends iq{static [o]="SQLiteTextJsonBuilder";constructor(e){super(e,"json","SQLiteTextJson")}build(e){return new st(e,this.config)}}class st extends iD{static [o]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue(e){return JSON.parse(e)}mapToDriverValue(e){return JSON.stringify(e)}}function si(e,t={}){let{name:i,config:s}=ej(e,t);return"json"===s.mode?new se(i):new i7(i,s)}let ss=Symbol.for("drizzle:SQLiteInlineForeignKeys");class sr extends S{static [o]="SQLiteTable";static Symbol=Object.assign({},S.Symbol,{InlineForeignKeys:ss});[S.Symbol.Columns];[ss]=[];[S.Symbol.ExtraConfigBuilder]=void 0}class sn extends en{static [o]="SQLiteViewBase"}class sa{static [o]="SQLiteDialect";casing;constructor(e){this.casing=new iv(e?.casing)}escapeName(e){return`"${e.replace(/"/g,'""')}"`}escapeParam(e){return"?"}escapeString(e){return`'${e.replace(/'/g,"''")}'`}buildWithCTE(e){if(!e?.length)return;let t=[Z`with `];for(let[i,s]of e.entries())t.push(Z`${Z.identifier(s._.alias)} as (${s._.sql})`),i<e.length-1&&t.push(Z`, `);return t.push(Z` `),Z.join(t)}buildDeleteQuery({table:e,where:t,returning:i,withList:s,limit:r,orderBy:n}){let a=this.buildWithCTE(s),o=i?Z` returning ${this.buildSelection(i,{isSingleTable:!0})}`:void 0,l=t?Z` where ${t}`:void 0,u=this.buildOrderBy(n),c=this.buildLimit(r);return Z`${a}delete from ${e}${l}${o}${u}${c}`}buildUpdateSet(e,t){let i=e[S.Symbol.Columns],s=Object.keys(i).filter(e=>void 0!==t[e]||i[e]?.onUpdateFn!==void 0),r=s.length;return Z.join(s.flatMap((e,s)=>{let n=i[e],a=n.onUpdateFn?.(),o=t[e]??(l(a,W)?a:Z.param(a,n)),u=Z`${Z.identifier(this.casing.getColumnCasing(n))} = ${o}`;return s<r-1?[u,Z.raw(", ")]:[u]}))}buildUpdateQuery({table:e,set:t,where:i,returning:s,withList:r,joins:n,from:a,limit:o,orderBy:l}){let u=this.buildWithCTE(r),c=this.buildUpdateSet(e,t),h=a&&Z.join([Z.raw(" from "),this.buildFromTable(a)]),d=this.buildJoins(n),f=s?Z` returning ${this.buildSelection(s,{isSingleTable:!0})}`:void 0,m=i?Z` where ${i}`:void 0,g=this.buildOrderBy(l),p=this.buildLimit(o);return Z`${u}update ${e} set ${c}${h}${d}${m}${f}${g}${p}`}buildSelection(e,{isSingleTable:t=!1}={}){let i=e.length,s=e.flatMap(({field:e},s)=>{let r=[];if(l(e,W.Aliased)&&e.isSelectionField)r.push(Z.identifier(e.fieldAlias));else if(l(e,W.Aliased)||l(e,W)){let i=l(e,W.Aliased)?e.sql:e;t?r.push(new W(i.queryChunks.map(e=>l(e,u)?Z.identifier(this.casing.getColumnCasing(e)):e))):r.push(i),l(e,W.Aliased)&&r.push(Z` as ${Z.identifier(e.fieldAlias)}`)}else if(l(e,u)){let i=e.table[S.Symbol.Name];"SQLiteNumericBigInt"===e.columnType?t?r.push(Z`cast(${Z.identifier(this.casing.getColumnCasing(e))} as text)`):r.push(Z`cast(${Z.identifier(i)}.${Z.identifier(this.casing.getColumnCasing(e))} as text)`):t?r.push(Z.identifier(this.casing.getColumnCasing(e))):r.push(Z`${Z.identifier(i)}.${Z.identifier(this.casing.getColumnCasing(e))}`)}else if(l(e,z)){let t=Object.entries(e._.selectedFields);if(1===t.length){let i=t[0][1],s=l(i,W)?i.decoder:l(i,u)?{mapFromDriverValue:e=>i.mapFromDriverValue(e)}:i.sql.decoder;s&&(e._.sql.decoder=s)}r.push(e)}return s<i-1&&r.push(Z`, `),r});return Z.join(s)}buildJoins(e){if(!e||0===e.length)return;let t=[];if(e)for(let[i,s]of e.entries()){0===i&&t.push(Z` `);let r=s.table,n=s.on?Z` on ${s.on}`:void 0;if(l(r,sr)){let e=r[sr.Symbol.Name],i=r[sr.Symbol.Schema],a=r[sr.Symbol.OriginalName],o=e===a?void 0:s.alias;t.push(Z`${Z.raw(s.joinType)} join ${i?Z`${Z.identifier(i)}.`:void 0}${Z.identifier(a)}${o&&Z` ${Z.identifier(o)}`}${n}`)}else t.push(Z`${Z.raw(s.joinType)} join ${r}${n}`);i<e.length-1&&t.push(Z` `)}return Z.join(t)}buildLimit(e){return"object"==typeof e||"number"==typeof e&&e>=0?Z` limit ${e}`:void 0}buildOrderBy(e){let t=[];if(e)for(let[i,s]of e.entries())t.push(s),i<e.length-1&&t.push(Z`, `);return t.length>0?Z` order by ${Z.join(t)}`:void 0}buildFromTable(e){return l(e,S)&&e[S.Symbol.IsAlias]?Z`${Z`${Z.identifier(e[S.Symbol.Schema]??"")}.`.if(e[S.Symbol.Schema])}${Z.identifier(e[S.Symbol.OriginalName])} ${Z.identifier(e[S.Symbol.Name])}`:e}buildSelectQuery({withList:e,fields:t,fieldsFlat:i,where:s,having:r,table:n,joins:a,orderBy:o,groupBy:h,limit:d,offset:f,distinct:m,setOperators:g}){let p=i??eD(t);for(let e of p){let t;if(l(e.field,u)&&e.field.table[c]!==(l(n,z)?n._.alias:l(n,sn)?n[U].name:l(n,W)?void 0:n[c])&&(t=e.field.table,!a?.some(({alias:e})=>e===(t[S.Symbol.IsAlias]?t[c]:t[S.Symbol.BaseName])))){let t=e.field.table[c];throw Error(`Your "${e.path.join("->")}" field references a column "${t}"."${e.field.name}", but the table "${t}" is not part of the query! Did you forget to join it?`)}}let y=!a||0===a.length,b=this.buildWithCTE(e),w=m?Z` distinct`:void 0,v=this.buildSelection(p,{isSingleTable:y}),T=this.buildFromTable(n),$=this.buildJoins(a),x=s?Z` where ${s}`:void 0,Q=r?Z` having ${r}`:void 0,N=[];if(h)for(let[e,t]of h.entries())N.push(t),e<h.length-1&&N.push(Z`, `);let P=N.length>0?Z` group by ${Z.join(N)}`:void 0,C=this.buildOrderBy(o),B=this.buildLimit(d),L=f?Z` offset ${f}`:void 0,q=Z`${b}select${w} ${v} from ${T}${$}${x}${P}${Q}${C}${B}${L}`;return g.length>0?this.buildSetOperations(q,g):q}buildSetOperations(e,t){let[i,...s]=t;if(!i)throw Error("Cannot pass undefined values to any set operator");return 0===s.length?this.buildSetOperationQuery({leftSelect:e,setOperator:i}):this.buildSetOperations(this.buildSetOperationQuery({leftSelect:e,setOperator:i}),s)}buildSetOperationQuery({leftSelect:e,setOperator:{type:t,isAll:i,rightSelect:s,limit:r,orderBy:n,offset:a}}){let o,u=Z`${e.getSQL()} `,c=Z`${s.getSQL()}`;if(n&&n.length>0){let e=[];for(let t of n)if(l(t,iD))e.push(Z.identifier(t.name));else if(l(t,W)){for(let e=0;e<t.queryChunks.length;e++){let i=t.queryChunks[e];l(i,iD)&&(t.queryChunks[e]=Z.identifier(this.casing.getColumnCasing(i)))}e.push(Z`${t}`)}else e.push(Z`${t}`);o=Z` order by ${Z.join(e,Z`, `)}`}let h="object"==typeof r||"number"==typeof r&&r>=0?Z` limit ${r}`:void 0,d=Z.raw(`${t} ${i?"all ":""}`),f=a?Z` offset ${a}`:void 0;return Z`${u}${d}${c}${o}${h}${f}`}buildInsertQuery({table:e,values:t,onConflict:i,returning:s,withList:r,select:n}){let a=[],o=Object.entries(e[S.Symbol.Columns]).filter(([e,t])=>!t.shouldDisableInsert()),u=o.map(([,e])=>Z.identifier(this.casing.getColumnCasing(e)));if(n)l(t,W)?a.push(t):a.push(t.getSQL());else for(let[e,i]of(a.push(Z.raw("values ")),t.entries())){let s=[];for(let[e,t]of o){let r=i[e];if(void 0===r||l(r,X)&&void 0===r.value){let e;if(null!==t.default&&void 0!==t.default)e=l(t.default,W)?t.default:Z.param(t.default,t);else if(void 0!==t.defaultFn){let i=t.defaultFn();e=l(i,W)?i:Z.param(i,t)}else if(t.default||void 0===t.onUpdateFn)e=Z`null`;else{let i=t.onUpdateFn();e=l(i,W)?i:Z.param(i,t)}s.push(e)}else s.push(r)}a.push(s),e<t.length-1&&a.push(Z`, `)}let c=this.buildWithCTE(r),h=Z.join(a),d=s?Z` returning ${this.buildSelection(s,{isSingleTable:!0})}`:void 0,f=i?.length?Z.join(i):void 0;return Z`${c}insert into ${e} ${u} ${h}${f}${d}`}sqlToQuery(e,t){return e.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,invokeSource:t})}buildRelationalQuery({fullSchema:e,schema:t,tableNamesMap:i,table:s,tableConfig:r,queryConfig:n,tableAlias:a,nestedQueryRelation:o,joinOn:c}){let h,d=[],f,m,g=[],p,y=[];if(!0===n)d=Object.entries(r.columns).map(([e,t])=>({dbKey:t.name,tsKey:e,field:im(t,a),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let s=Object.fromEntries(Object.entries(r.columns).map(([e,t])=>[e,im(t,a)]));if(n.where){let e="function"==typeof n.where?n.where(s,{and:eu,between:eT,eq:eo,exists:ew,gt:ed,gte:ef,ilike:eN,inArray:ep,isNull:eb,isNotNull:eS,like:ex,lt:em,lte:eg,ne:el,not:eh,notBetween:e$,notExists:ev,notLike:eQ,notIlike:eP,notInArray:ey,or:ec,sql:Z}):n.where;p=e&&ip(e,a)}let o=[],c=[];if(n.columns){let e=!1;for(let[t,i]of Object.entries(n.columns))void 0!==i&&t in r.columns&&(e||!0!==i||(e=!0),c.push(t));c.length>0&&(c=e?c.filter(e=>n.columns?.[e]===!0):Object.keys(r.columns).filter(e=>!c.includes(e)))}else c=Object.keys(r.columns);for(let e of c){let t=r.columns[e];o.push({tsKey:e,value:t})}let h=[];if(n.with&&(h=Object.entries(n.with).filter(e=>!!e[1]).map(([e,t])=>({tsKey:e,queryConfig:t,relation:r.relations[e]}))),n.extras)for(let[e,t]of Object.entries("function"==typeof n.extras?n.extras(s,{sql:Z}):n.extras))o.push({tsKey:e,value:ig(t,a)});for(let{tsKey:e,value:t}of o)d.push({dbKey:l(t,W.Aliased)?t.fieldAlias:r.columns[e].name,tsKey:e,field:l(t,u)?im(t,a):t,relationTableTsKey:void 0,isJson:!1,selection:[]});let y="function"==typeof n.orderBy?n.orderBy(s,{sql:Z,asc:it,desc:ii}):n.orderBy??[];for(let{tsKey:s,queryConfig:r,relation:o}of(Array.isArray(y)||(y=[y]),g=y.map(e=>l(e,u)?im(e,a):ip(e,a)),f=n.limit,m=n.offset,h)){let n=function(e,t,i){if(l(i,ia)&&i.config)return{fields:i.config.fields,references:i.config.references};let s=t[w(i.referencedTable)];if(!s)throw Error(`Table "${i.referencedTable[S.Symbol.Name]}" not found in schema`);let r=e[s];if(!r)throw Error(`Table "${s}" not found in schema`);let n=i.sourceTable,a=t[w(n)];if(!a)throw Error(`Table "${n[S.Symbol.Name]}" not found in schema`);let o=[];for(let e of Object.values(r.relations))(i.relationName&&i!==e&&e.relationName===i.relationName||!i.relationName&&e.referencedTable===i.sourceTable)&&o.push(e);if(o.length>1)throw i.relationName?Error(`There are multiple relations with name "${i.relationName}" in table "${s}"`):Error(`There are multiple relations between "${s}" and "${i.sourceTable[S.Symbol.Name]}". Please specify relation name`);if(o[0]&&l(o[0],ia)&&o[0].config)return{fields:o[0].config.references,references:o[0].config.fields};throw Error(`There is not enough information to infer relation "${a}.${i.fieldName}"`)}(t,i,o),u=i[w(o.referencedTable)],c=`${a}_${s}`,h=eu(...n.fields.map((e,t)=>eo(im(n.references[t],c),im(e,a)))),f=this.buildRelationalQuery({fullSchema:e,schema:t,tableNamesMap:i,table:e[u],tableConfig:t[u],queryConfig:l(o,ia)?!0===r?{limit:1}:{...r,limit:1}:r,tableAlias:c,joinOn:h,nestedQueryRelation:o}),m=Z`(${f.sql})`.as(s);d.push({dbKey:s,tsKey:s,field:m,relationTableTsKey:u,isJson:!0,selection:f.selection})}}if(0===d.length)throw new iT({message:`No fields selected for table "${r.tsName}" ("${a}"). You need to have at least one item in "columns", "with" or "extras". If you need to select all columns, omit the "columns" key or set it to undefined.`});if(p=eu(c,p),o){let e=Z`json_array(${Z.join(d.map(({field:e})=>l(e,iD)?Z.identifier(this.casing.getColumnCasing(e)):l(e,W.Aliased)?e.sql:e),Z`, `)})`;l(o,io)&&(e=Z`coalesce(json_group_array(${e}), json_array())`);let t=[{dbKey:"data",tsKey:"data",field:e.as("data"),isJson:!0,relationTableTsKey:r.tsName,selection:d}];void 0!==f||void 0!==m||g.length>0?(h=this.buildSelectQuery({table:id(s,a),fields:{},fieldsFlat:[{path:[],field:Z.raw("*")}],where:p,limit:f,offset:m,orderBy:g,setOperators:[]}),p=void 0,f=void 0,m=void 0,g=void 0):h=id(s,a),h=this.buildSelectQuery({table:l(h,sr)?h:new z(h,{},a),fields:{},fieldsFlat:t.map(({field:e})=>({path:[],field:l(e,u)?im(e,a):e})),joins:y,where:p,limit:f,offset:m,orderBy:g,setOperators:[]})}else h=this.buildSelectQuery({table:id(s,a),fields:{},fieldsFlat:d.map(({field:e})=>({path:[],field:l(e,u)?im(e,a):e})),joins:y,where:p,limit:f,offset:m,orderBy:g,setOperators:[]});return{tableTsKey:r.tsName,sql:h,selection:d}}}class so extends sa{static [o]="SQLiteSyncDialect";migrate(e,t,i){let s=void 0===i||"string"==typeof i?"__drizzle_migrations":i.migrationsTable??"__drizzle_migrations",r=Z`
|
|
3
|
-
CREATE TABLE IF NOT EXISTS ${Z.identifier(s)} (
|
|
4
|
-
id SERIAL PRIMARY KEY,
|
|
5
|
-
hash text NOT NULL,
|
|
6
|
-
created_at numeric
|
|
7
|
-
)
|
|
8
|
-
`;t.run(r);let n=t.values(Z`SELECT id, hash, created_at FROM ${Z.identifier(s)} ORDER BY created_at DESC LIMIT 1`)[0]??void 0;t.run(Z`BEGIN`);try{for(let i of e)if(!n||Number(n[2])<i.folderMillis){for(let e of i.sql)t.run(Z.raw(e));t.run(Z`INSERT INTO ${Z.identifier(s)} ("hash", "created_at") VALUES(${i.hash}, ${i.folderMillis})`)}t.run(Z`COMMIT`)}catch(e){throw t.run(Z`ROLLBACK`),e}}}class sl extends sa{static [o]="SQLiteAsyncDialect";async migrate(e,t,i){let s=void 0===i||"string"==typeof i?"__drizzle_migrations":i.migrationsTable??"__drizzle_migrations",r=Z`
|
|
9
|
-
CREATE TABLE IF NOT EXISTS ${Z.identifier(s)} (
|
|
10
|
-
id SERIAL PRIMARY KEY,
|
|
11
|
-
hash text NOT NULL,
|
|
12
|
-
created_at numeric
|
|
13
|
-
)
|
|
14
|
-
`;await t.run(r);let n=(await t.values(Z`SELECT id, hash, created_at FROM ${Z.identifier(s)} ORDER BY created_at DESC LIMIT 1`))[0]??void 0;await t.transaction(async t=>{for(let i of e)if(!n||Number(n[2])<i.folderMillis){for(let e of i.sql)await t.run(Z.raw(e));await t.run(Z`INSERT INTO ${Z.identifier(s)} ("hash", "created_at") VALUES(${i.hash}, ${i.folderMillis})`)}})}}class su{static [o]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class sc{static [o]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(e){return this.then(void 0,e)}finally(e){return this.then(t=>(e?.(),t),t=>{throw e?.(),t})}then(e,t){return this.execute().then(e,t)}}class sh{constructor(e,t){this.name=e,this.value=t}static [o]="SQLiteCheckBuilder";brand;build(e){return new sd(e,this)}}class sd{constructor(e,t){this.table=e,this.name=t.name,this.value=t.value}static [o]="SQLiteCheck";name;value}class sf{constructor(e,t){this.name=e,this.unique=t}static [o]="SQLiteIndexBuilderOn";on(...e){return new sm(this.name,e,this.unique)}}class sm{static [o]="SQLiteIndexBuilder";config;constructor(e,t,i){this.config={name:e,columns:t,unique:i,where:void 0}}where(e){return this.config.where=e,this}build(e){return new sg(this.config,e)}}class sg{static [o]="SQLiteIndex";config;constructor(e,t){this.config={...e,table:t}}}class sp{static [o]="SQLitePrimaryKeyBuilder";columns;name;constructor(e,t){this.columns=e,this.name=t}build(e){return new sy(e,this.columns,this.name)}}class sy{constructor(e,t,i){this.table=e,this.columns=t,this.name=i}static [o]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[sr.Symbol.Name]}_${this.columns.map(e=>e.name).join("_")}_pk`}}function sb(e){return l(e,sr)?[`${e[S.Symbol.BaseName]}`]:l(e,z)?e._.usedTables??[]:l(e,W)?e.usedTables??[]:[]}class sS{static [o]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor(e){this.fields=e.fields,this.session=e.session,this.dialect=e.dialect,this.withList=e.withList,this.distinct=e.distinct}from(e){let t,i=!!this.fields;return t=this.fields?this.fields:l(e,z)?Object.fromEntries(Object.keys(e._.selectedFields).map(t=>[t,e[t]])):l(e,sn)?e[U].selectedFields:l(e,W)?{}:e[S.Symbol.Columns],new sv({table:e,fields:t,isPartialSelect:i,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}}class sw extends su{static [o]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:t,isPartialSelect:i,session:s,dialect:r,withList:n,distinct:a}){for(const o of(super(),this.config={withList:n,table:e,fields:{...t},distinct:a,setOperators:[]},this.isPartialSelect=i,this.session=s,this.dialect=r,this._={selectedFields:t,config:this.config},this.tableName=eA(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},sb(e)))this.usedTables.add(o)}getUsedTables(){return[...this.usedTables]}createJoin(e){return(t,i)=>{let s=this.tableName,r=eA(t);for(let e of sb(t))this.usedTables.add(e);if("string"==typeof r&&this.config.joins?.some(e=>e.alias===r))throw Error(`Alias "${r}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof s&&(this.config.fields={[s]:this.config.fields}),"string"==typeof r&&!l(t,W))){let e=l(t,z)?t._.selectedFields:l(t,en)?t[U].selectedFields:t[S.Symbol.Columns];this.config.fields[r]=e}if("function"==typeof i&&(i=i(new Proxy(this.config.fields,new iy({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:i,table:t,joinType:e,alias:r}),"string"==typeof r)switch(e){case"left":this.joinsNotNullableMap[r]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[r]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[r]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[r]=!1}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator(e,t){return i=>{let s="function"==typeof i?i(s$()):i;if(!eO(this.getSelectedFields(),s.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:e,isAll:t,rightSelect:s}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(e){return this.config.setOperators.push(...e),this}where(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new iy({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=e,this}having(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new iy({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=e,this}groupBy(...e){if("function"==typeof e[0]){let t=e[0](new Proxy(this.config.fields,new iy({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(t)?t:[t]}else this.config.groupBy=e;return this}orderBy(...e){if("function"==typeof e[0]){let t=e[0](new Proxy(this.config.fields,new iy({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),i=Array.isArray(t)?t:[t];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=i:this.config.orderBy=i}else this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=e:this.config.orderBy=e;return this}limit(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=e:this.config.limit=e,this}offset(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=e:this.config.offset=e,this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}as(e){let t=[];if(t.push(...sb(this.config.table)),this.config.joins)for(let e of this.config.joins)t.push(...sb(e.table));return new Proxy(new z(this.getSQL(),this.config.fields,e,!1,[...new Set(t)]),new iy({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new iy({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}}class sv extends sw{static [o]="SQLiteSelect";_prepare(e=!0){if(!this.session)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let t=eD(this.config.fields),i=this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),t,"all",!0,void 0,{type:"select",tables:[...this.usedTables]},this.cacheConfig);return i.joinsNotNullableMap=this.joinsNotNullableMap,i}$withCache(e){return this.cacheConfig=void 0===e?{config:{},enable:!0,autoInvalidate:!0}:!1===e?{enable:!1}:{enable:!0,autoInvalidate:!0,...e},this}prepare(){return this._prepare(!1)}run=e=>this._prepare().run(e);all=e=>this._prepare().all(e);get=e=>this._prepare().get(e);values=e=>this._prepare().values(e);async execute(){return this.all()}}for(let e of[sc])for(let t of Object.getOwnPropertyNames(e.prototype))"constructor"!==t&&Object.defineProperty(sv.prototype,t,Object.getOwnPropertyDescriptor(e.prototype,t)||Object.create(null));function sT(e,t){return(i,s,...r)=>{let n=[s,...r].map(i=>({type:e,isAll:t,rightSelect:i}));for(let e of n)if(!eO(i.getSelectedFields(),e.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return i.addSetOperators(n)}}let s$=()=>({union:sx,unionAll:sQ,intersect:sN,except:sP}),sx=sT("union",!1),sQ=sT("union",!0),sN=sT("intersect",!1),sP=sT("except",!1);class sC{static [o]="SQLiteQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=l(e,sa)?e:void 0,this.dialectConfig=l(e,sa)?void 0:e}$with=(e,t)=>{let i=this;return{as:s=>("function"==typeof s&&(s=s(i)),new Proxy(new R(s.getSQL(),t??("getSelectedFields"in s?s.getSelectedFields()??{}:{}),e,!0),new iy({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};with(...e){let t=this;return{select:function(i){return new sS({fields:i??void 0,session:void 0,dialect:t.getDialect(),withList:e})},selectDistinct:function(i){return new sS({fields:i??void 0,session:void 0,dialect:t.getDialect(),withList:e,distinct:!0})}}}select(e){return new sS({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new sS({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){return this.dialect||(this.dialect=new so(this.dialectConfig)),this.dialect}}class sB extends sc{constructor(e,t,i,s){super(),this.table=e,this.session=t,this.dialect=i,this.config={table:e,withList:s}}static [o]="SQLiteDelete";config;where(e){return this.config.where=e,this}orderBy(...e){if("function"==typeof e[0]){let t=e[0](new Proxy(this.config.table[S.Symbol.Columns],new iy({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),i=Array.isArray(t)?t:[t];this.config.orderBy=i}else this.config.orderBy=e;return this}limit(e){return this.config.limit=e,this}returning(e=this.table[sr.Symbol.Columns]){return this.config.returning=eD(e),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"delete",tables:sb(this.config.table)})}prepare(){return this._prepare(!1)}run=e=>this._prepare().run(e);all=e=>this._prepare().all(e);get=e=>this._prepare().get(e);values=e=>this._prepare().values(e);async execute(e){return this._prepare().execute(e)}$dynamic(){return this}}class sL{constructor(e,t,i,s){this.table=e,this.session=t,this.dialect=i,this.withList=s}static [o]="SQLiteInsertBuilder";values(e){if(0===(e=Array.isArray(e)?e:[e]).length)throw Error("values() must be called with at least one value");let t=e.map(e=>{let t={},i=this.table[S.Symbol.Columns];for(let s of Object.keys(e)){let r=e[s];t[s]=l(r,W)?r:new X(r,i[s])}return t});return new sq(this.table,t,this.session,this.dialect,this.withList)}select(e){let t="function"==typeof e?e(new sC):e;if(!l(t,W)&&!eO(this.table[d],t._.selectedFields))throw Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new sq(this.table,t,this.session,this.dialect,this.withList,!0)}}class sq extends sc{constructor(e,t,i,s,r,n){super(),this.session=i,this.dialect=s,this.config={table:e,values:t,withList:r,select:n}}static [o]="SQLiteInsert";config;returning(e=this.config.table[sr.Symbol.Columns]){return this.config.returning=eD(e),this}onConflictDoNothing(e={}){if(this.config.onConflict||(this.config.onConflict=[]),void 0===e.target)this.config.onConflict.push(Z` on conflict do nothing`);else{let t=Array.isArray(e.target)?Z`${e.target}`:Z`${[e.target]}`,i=e.where?Z` where ${e.where}`:Z``;this.config.onConflict.push(Z` on conflict ${t} do nothing${i}`)}return this}onConflictDoUpdate(e){if(e.where&&(e.targetWhere||e.setWhere))throw Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');this.config.onConflict||(this.config.onConflict=[]);let t=e.where?Z` where ${e.where}`:void 0,i=e.targetWhere?Z` where ${e.targetWhere}`:void 0,s=e.setWhere?Z` where ${e.setWhere}`:void 0,r=Array.isArray(e.target)?Z`${e.target}`:Z`${[e.target]}`,n=this.dialect.buildUpdateSet(this.config.table,eF(this.config.table,e.set));return this.config.onConflict.push(Z` on conflict ${r}${i} do update set ${n}${t}${s}`),this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:sb(this.config.table)})}prepare(){return this._prepare(!1)}run=e=>this._prepare().run(e);all=e=>this._prepare().all(e);get=e=>this._prepare().get(e);values=e=>this._prepare().values(e);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}class sD{constructor(e,t,i,s){this.table=e,this.session=t,this.dialect=i,this.withList=s}static [o]="SQLiteUpdateBuilder";set(e){return new sO(this.table,eF(this.table,e),this.session,this.dialect,this.withList)}}class sO extends sc{constructor(e,t,i,s,r){super(),this.session=i,this.dialect=s,this.config={set:t,table:e,withList:r,joins:[]}}static [o]="SQLiteUpdate";config;from(e){return this.config.from=e,this}createJoin(e){return(t,i)=>{let s=eA(t);if("string"==typeof s&&this.config.joins.some(e=>e.alias===s))throw Error(`Alias "${s}" is already used in this query`);if("function"==typeof i){let e=this.config.from?l(t,sr)?t[S.Symbol.Columns]:l(t,z)?t._.selectedFields:l(t,sn)?t[U].selectedFields:void 0:void 0;i=i(new Proxy(this.config.table[S.Symbol.Columns],new iy({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),e&&new Proxy(e,new iy({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}return this.config.joins.push({on:i,table:t,joinType:e,alias:s}),this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(e){return this.config.where=e,this}orderBy(...e){if("function"==typeof e[0]){let t=e[0](new Proxy(this.config.table[S.Symbol.Columns],new iy({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),i=Array.isArray(t)?t:[t];this.config.orderBy=i}else this.config.orderBy=e;return this}limit(e){return this.config.limit=e,this}returning(e=this.config.table[sr.Symbol.Columns]){return this.config.returning=eD(e),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:sb(this.config.table)})}prepare(){return this._prepare(!1)}run=e=>this._prepare().run(e);all=e=>this._prepare().all(e);get=e=>this._prepare().get(e);values=e=>this._prepare().values(e);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}class sF extends W{constructor(e){super(sF.buildEmbeddedCount(e.source,e.filters).queryChunks),this.params=e,this.session=e.session,this.sql=sF.buildCount(e.source,e.filters)}sql;static [o]="SQLiteCountBuilderAsync";[Symbol.toStringTag]="SQLiteCountBuilderAsync";session;static buildEmbeddedCount(e,t){return Z`(select count(*) from ${e}${Z.raw(" where ").if(t)}${t})`}static buildCount(e,t){return Z`select count(*) from ${e}${Z.raw(" where ").if(t)}${t}`}then(e,t){return Promise.resolve(this.session.count(this.sql)).then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return this.then(t=>(e?.(),t),t=>{throw e?.(),t})}}class sA{constructor(e,t,i,s,r,n,a,o){this.mode=e,this.fullSchema=t,this.schema=i,this.tableNamesMap=s,this.table=r,this.tableConfig=n,this.dialect=a,this.session=o}static [o]="SQLiteAsyncRelationalQueryBuilder";findMany(e){return"sync"===this.mode?new sI(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e||{},"many"):new sj(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e||{},"many")}findFirst(e){return"sync"===this.mode?new sI(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first"):new sj(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first")}}class sj extends sc{constructor(e,t,i,s,r,n,a,o,l){super(),this.fullSchema=e,this.schema=t,this.tableNamesMap=i,this.table=s,this.tableConfig=r,this.dialect=n,this.session=a,this.config=o,this.mode=l}static [o]="SQLiteAsyncRelationalQuery";mode;getSQL(){return this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}).sql}_prepare(e=!1){let{query:t,builtQuery:i}=this._toSQL();return this.session[e?"prepareOneTimeQuery":"prepareQuery"](i,void 0,"first"===this.mode?"get":"all",!0,(e,i)=>{let s=e.map(e=>(function e(t,i,s,r,n=e=>e){let a={};for(let[o,c]of r.entries())if(c.isJson){let r=i.relations[c.tsKey],u=s[o],h="string"==typeof u?JSON.parse(u):u;a[c.tsKey]=l(r,ia)?h&&e(t,t[c.relationTableTsKey],h,c.selection,n):h.map(i=>e(t,t[c.relationTableTsKey],i,c.selection,n))}else{let e,t=n(s[o]),i=c.field;e=l(i,u)?i:l(i,W)?i.decoder:i.sql.decoder,a[c.tsKey]=null===t?null:e.mapFromDriverValue(t)}return a})(this.schema,this.tableConfig,e,t.selection,i));return"first"===this.mode?s[0]:s})}prepare(){return this._prepare(!1)}_toSQL(){let e=this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}),t=this.dialect.sqlToQuery(e.sql);return{query:e,builtQuery:t}}toSQL(){return this._toSQL().builtQuery}executeRaw(){return"first"===this.mode?this._prepare(!1).get():this._prepare(!1).all()}async execute(){return this.executeRaw()}}class sI extends sj{static [o]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}class s_ extends sc{constructor(e,t,i,s,r){super(),this.execute=e,this.getSQL=t,this.dialect=s,this.mapBatchResult=r,this.config={action:i}}static [o]="SQLiteRaw";config;getQuery(){return{...this.dialect.sqlToQuery(this.getSQL()),method:this.config.action}}mapResult(e,t){return t?this.mapBatchResult(e):e}_prepare(){return this}isResponseInArrayMode(){return!1}}class sV{constructor(e,t,i,s){this.resultKind=e,this.dialect=t,this.session=i,this._=s?{schema:s.schema,fullSchema:s.fullSchema,tableNamesMap:s.tableNamesMap}:{schema:void 0,fullSchema:{},tableNamesMap:{}},this.query={};const r=this.query;if(this._.schema)for(const[n,a]of Object.entries(this._.schema))r[n]=new sA(e,s.fullSchema,this._.schema,this._.tableNamesMap,s.fullSchema[n],a,t,i);this.$cache={invalidate:async e=>{}}}static [o]="BaseSQLiteDatabase";query;$with=(e,t)=>{let i=this;return{as:s=>("function"==typeof s&&(s=s(new sC(i.dialect))),new Proxy(new R(s.getSQL(),t??("getSelectedFields"in s?s.getSelectedFields()??{}:{}),e,!0),new iy({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};$count(e,t){return new sF({source:e,filters:t,session:this.session})}with(...e){let t=this;return{select:function(i){return new sS({fields:i??void 0,session:t.session,dialect:t.dialect,withList:e})},selectDistinct:function(i){return new sS({fields:i??void 0,session:t.session,dialect:t.dialect,withList:e,distinct:!0})},update:function(i){return new sD(i,t.session,t.dialect,e)},insert:function(i){return new sL(i,t.session,t.dialect,e)},delete:function(i){return new sB(i,t.session,t.dialect,e)}}}select(e){return new sS({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new sS({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update(e){return new sD(e,this.session,this.dialect)}$cache;insert(e){return new sL(e,this.session,this.dialect)}delete(e){return new sB(e,this.session,this.dialect)}run(e){let t="string"==typeof e?Z.raw(e):e.getSQL();return"async"===this.resultKind?new s_(async()=>this.session.run(t),()=>t,"run",this.dialect,this.session.extractRawRunValueFromBatchResult.bind(this.session)):this.session.run(t)}all(e){let t="string"==typeof e?Z.raw(e):e.getSQL();return"async"===this.resultKind?new s_(async()=>this.session.all(t),()=>t,"all",this.dialect,this.session.extractRawAllValueFromBatchResult.bind(this.session)):this.session.all(t)}get(e){let t="string"==typeof e?Z.raw(e):e.getSQL();return"async"===this.resultKind?new s_(async()=>this.session.get(t),()=>t,"get",this.dialect,this.session.extractRawGetValueFromBatchResult.bind(this.session)):this.session.get(t)}values(e){let t="string"==typeof e?Z.raw(e):e.getSQL();return"async"===this.resultKind?new s_(async()=>this.session.values(t),()=>t,"values",this.dialect,this.session.extractRawValuesValueFromBatchResult.bind(this.session)):this.session.values(t)}transaction(e,t){return this.session.transaction(e,t)}}class sE{static [o]="Cache"}class sz extends sE{strategy(){return"all"}static [o]="NoopCache";async get(e){}async put(e,t,i,s){}async onMutate(e){}}async function sR(e,t){let i=`${e}-${JSON.stringify(t)}`,s=new TextEncoder().encode(i);return[...new Uint8Array(await crypto.subtle.digest("SHA-256",s))].map(e=>e.toString(16).padStart(2,"0")).join("")}class sM extends sc{constructor(e){super(),this.resultCb=e}static [o]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}}class sU{constructor(e,t,i,s,r,n){this.mode=e,this.executeMethod=t,this.query=i,this.cache=s,this.queryMetadata=r,this.cacheConfig=n,s&&"all"===s.strategy()&&void 0===n&&(this.cacheConfig={enable:!0,autoInvalidate:!0}),this.cacheConfig?.enable||(this.cacheConfig=void 0)}static [o]="PreparedQuery";joinsNotNullableMap;async queryWithCache(e,t,i){if(void 0===this.cache||l(this.cache,sz)||void 0===this.queryMetadata||this.cacheConfig&&!this.cacheConfig.enable)try{return await i()}catch(i){throw new i$(e,t,i)}if(("insert"===this.queryMetadata.type||"update"===this.queryMetadata.type||"delete"===this.queryMetadata.type)&&this.queryMetadata.tables.length>0)try{let[e]=await Promise.all([i(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return e}catch(i){throw new i$(e,t,i)}if(!this.cacheConfig)try{return await i()}catch(i){throw new i$(e,t,i)}if("select"===this.queryMetadata.type){let s=await this.cache.get(this.cacheConfig.tag??await sR(e,t),this.queryMetadata.tables,void 0!==this.cacheConfig.tag,this.cacheConfig.autoInvalidate);if(void 0===s){let s;try{s=await i()}catch(i){throw new i$(e,t,i)}return await this.cache.put(this.cacheConfig.tag??await sR(e,t),s,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],void 0!==this.cacheConfig.tag,this.cacheConfig.config),s}return s}try{return await i()}catch(i){throw new i$(e,t,i)}}getQuery(){return this.query}mapRunResult(e,t){return e}mapAllResult(e,t){throw Error("Not implemented")}mapGetResult(e,t){throw Error("Not implemented")}execute(e){return"async"===this.mode?this[this.executeMethod](e):new sM(()=>this[this.executeMethod](e))}mapResult(e,t){switch(this.executeMethod){case"run":return this.mapRunResult(e,t);case"all":return this.mapAllResult(e,t);case"get":return this.mapGetResult(e,t)}}}class sk{constructor(e){this.dialect=e}static [o]="SQLiteSession";prepareOneTimeQuery(e,t,i,s,r,n,a){return this.prepareQuery(e,t,i,s,r,n,a)}run(e){let t=this.dialect.sqlToQuery(e);try{return this.prepareOneTimeQuery(t,void 0,"run",!1).run()}catch(e){throw new iT({cause:e,message:`Failed to run the query '${t.sql}'`})}}extractRawRunValueFromBatchResult(e){return e}all(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).all()}extractRawAllValueFromBatchResult(e){throw Error("Not implemented")}get(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).get()}extractRawGetValueFromBatchResult(e){throw Error("Not implemented")}values(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).values()}async count(e){return(await this.values(e))[0][0]}extractRawValuesValueFromBatchResult(e){throw Error("Not implemented")}}class sK extends sV{constructor(e,t,i,s,r=0){super(e,t,i,s),this.schema=s,this.nestedIndex=r}static [o]="SQLiteTransaction";rollback(){throw new ix}}class sJ extends sk{constructor(e,t,i,s={}){super(t),this.client=e,this.schema=i,this.logger=s.logger??new eL,this.cache=s.cache??new sz}static [o]="BetterSQLiteSession";logger;cache;prepareQuery(e,t,i,s,r,n,a){return new sY(this.client.prepare(e.sql),e,this.logger,this.cache,n,a,t,i,s,r)}transaction(e,t={}){let i=new sW("sync",this.dialect,this,this.schema);return this.client.transaction(e)[t.behavior??"deferred"](i)}}class sW extends sK{static [o]="BetterSQLiteTransaction";transaction(e){let t=`sp${this.nestedIndex}`,i=new sW("sync",this.dialect,this.session,this.schema,this.nestedIndex+1);this.session.run(Z.raw(`savepoint ${t}`));try{let s=e(i);return this.session.run(Z.raw(`release savepoint ${t}`)),s}catch(e){throw this.session.run(Z.raw(`rollback to savepoint ${t}`)),e}}}class sY extends sU{constructor(e,t,i,s,r,n,a,o,l,u){super("sync",o,t,s,r,n),this.stmt=e,this.logger=i,this.fields=a,this._isResponseInArrayMode=l,this.customResultMapper=u}static [o]="BetterSQLitePreparedQuery";run(e){let t=es(this.query.params,e??{});return this.logger.logQuery(this.query.sql,t),this.stmt.run(...t)}all(e){let{fields:t,joinsNotNullableMap:i,query:s,logger:r,stmt:n,customResultMapper:a}=this;if(!t&&!a){let t=es(s.params,e??{});return r.logQuery(s.sql,t),n.all(...t)}let o=this.values(e);return a?a(o):o.map(e=>eq(t,e,i))}get(e){let t=es(this.query.params,e??{});this.logger.logQuery(this.query.sql,t);let{fields:i,stmt:s,joinsNotNullableMap:r,customResultMapper:n}=this;if(!i&&!n)return s.get(...t);let a=s.raw().get(...t);if(a)return n?n([a]):eq(i,a,r)}values(e){let t=es(this.query.params,e??{});return this.logger.logQuery(this.query.sql,t),this.stmt.raw().all(...t)}isResponseInArrayMode(){return this._isResponseInArrayMode}}class sG extends sV{static [o]="BetterSQLite3Database"}function sH(e,t={}){let i,s,r=new so({casing:t.casing});if(!0===t.logger?i=new eB:!1!==t.logger&&(i=t.logger),t.schema){let e=function(e,t){1===Object.keys(e).length&&"default"in e&&!l(e.default,S)&&(e=e.default);let i={},s={},r={};for(let[n,a]of Object.entries(e))if(l(a,S)){let e=w(a),t=s[e];for(let s of(i[e]=n,r[n]={tsName:n,dbName:a[S.Symbol.Name],schema:a[S.Symbol.Schema],columns:a[S.Symbol.Columns],relations:t?.relations??{},primaryKey:t?.primaryKey??[]},Object.values(a[S.Symbol.Columns])))s.primary&&r[n].primaryKey.push(s);let o=a[S.Symbol.ExtraConfigBuilder]?.(a[S.Symbol.ExtraConfigColumns]);if(o)for(let e of Object.values(o))l(e,t9)&&r[n].primaryKey.push(...e.columns)}else if(l(a,ir)){let e,n=w(a.table),o=i[n];for(let[i,l]of Object.entries(a.config(t(a.table))))if(o){let t=r[o];t.relations[i]=l,e&&t.primaryKey.push(...e)}else n in s||(s[n]={relations:{},primaryKey:e}),s[n].relations[i]=l}return{tables:r,tableNamesMap:i}}(t.schema,il);s={fullSchema:t.schema,schema:e.tables,tableNamesMap:e.tableNamesMap}}let n=new sJ(e,r,s,{logger:i}),a=new sG("sync",r,n,s);return a.$client=e,a}function sX(...e){if(void 0===e[0]||"string"==typeof e[0])return sH(void 0===e[0]?new a.default:new a.default(e[0]),e[1]);if(function(e){if("object"!=typeof e||null===e||"Object"!==e.constructor.name)return!1;if("logger"in e){let t=typeof e.logger;return"boolean"===t||"object"===t&&"function"==typeof e.logger.logQuery||"undefined"===t}if("schema"in e){let t=typeof e.schema;return"object"===t||"undefined"===t}if("casing"in e){let t=typeof e.casing;return"string"===t||"undefined"===t}if("mode"in e)return"default"===e.mode&&"planetscale"===e.mode&&void 0===e.mode;if("connection"in e){let t=typeof e.connection;return"string"===t||"object"===t||"undefined"===t}if("client"in e){let t=typeof e.client;return"object"===t||"function"===t||"undefined"===t}return 0===Object.keys(e).length}(e[0])){let{connection:t,client:i,...s}=e[0];if(i)return sH(i,s);if("object"==typeof t){let{source:e,...i}=t;return sH(new a.default(e,i),s)}return sH(new a.default(t),s)}return sH(e[0],e[1])}(sX||(sX={})).mock=function(e){return sH({},e)};let sZ=function(e,t,i,s,r=e){let n=new sr(e,void 0,r),a=Object.fromEntries(Object.entries("function"==typeof t?t({blob:iV,customType:iR,integer:iH,numeric:i6,real:i8,text:si}):t).map(([e,t])=>{t.setName(e);let i=t.build(n);return n[ss].push(...t.buildForeignKeys(i,n)),[e,i]})),o=Object.assign(n,a);return o[S.Symbol.Columns]=a,o[S.Symbol.ExtraConfigColumns]=a,i&&(o[sr.Symbol.ExtraConfigBuilder]=i),o}("config",{key:si("key").primaryKey(),value:si("value"),updatedAt:si("updated_at").default("CURRENT_TIMESTAMP")},void 0),s0=null;function s1(){if(s0)return s0;let e=new Map,t=(0,n.resolve)("node_modules");if(!(0,r.existsSync)(t))return console.warn("No node_modules directory found for plugin discovery"),s0=e,e;for(let i of(0,r.readdirSync)(t)){let s=(0,n.join)(t,i);if(i.startsWith("@"))try{for(let t of(0,r.readdirSync)(s)){let i=(0,n.join)(s,t),r=s2(i);r&&e.set(r.id,r)}}catch{}else{let t=s2(s);t&&e.set(t.id,t)}}return s0=e,e}function s2(e){try{let t=(0,n.join)(e,"package.json");if(!(0,r.existsSync)(t))return null;let i=JSON.parse((0,r.readFileSync)(t,"utf8")).kitchenPlugin;if(!i||"object"!=typeof i)return null;if(!i.id||!i.name||!Array.isArray(i.teamTypes))return console.warn(`Invalid Kitchen plugin manifest in ${e}`),null;let s=Array.isArray(i.tabs)?i.tabs:[];for(let t of s)if(t.bundle&&!(0,r.existsSync)((0,n.join)(e,t.bundle)))return console.warn(`Plugin ${i.id}: bundle not found at ${t.bundle}`),null;return{id:String(i.id),name:String(i.name),teamTypes:i.teamTypes,tabs:s.map(t=>({id:String(t.id||""),label:String(t.label||""),icon:String(t.icon||"folder"),bundle:(0,n.resolve)(e,String(t.bundle||""))})),apiRoutes:i.apiRoutes?(0,n.resolve)(e,String(i.apiRoutes)):void 0,migrations:i.migrations?(0,n.resolve)(e,String(i.migrations)):void 0}}catch(t){return console.warn(`Failed to load plugin manifest from ${e}:`,t),null}}function s4(t,i,s){let r=function(t){let i=(0,n.resolve)(process.env.HOME||".",".openclaw","kitchen","plugins",t),s=(0,n.join)(i,`${t}.db`);try{try{e.r(22734).mkdirSync(i,{recursive:!0})}catch{}}catch{}let r=new a.default(s),o=sX(r,{schema:{config:sZ}});return r.exec(`
|
|
15
|
-
CREATE TABLE IF NOT EXISTS config (
|
|
16
|
-
key TEXT PRIMARY KEY,
|
|
17
|
-
value TEXT,
|
|
18
|
-
updated_at TEXT DEFAULT CURRENT_TIMESTAMP
|
|
19
|
-
)
|
|
20
|
-
`),o}(t);return{db:r,teamDir:i,encrypt:t=>{let i=e.r(54799),r=i.pbkdf2Sync(s,"kitchen-plugin-salt",1e5,32,"sha256"),n=i.randomBytes(16),a=i.createCipher("aes-256-gcm",r);a.setAAD(n);let o=a.update(JSON.stringify(t),"utf8","base64");o+=a.final("base64");let l=a.getAuthTag();return Buffer.concat([n,l,Buffer.from(o,"base64")]).toString("base64")},decrypt:t=>{let i=e.r(54799),r=i.pbkdf2Sync(s,"kitchen-plugin-salt",1e5,32,"sha256"),n=Buffer.from(t,"base64"),a=n.subarray(0,16),o=n.subarray(16,32),l=n.subarray(32).toString("base64"),u=i.createDecipher("aes-256-gcm",r);u.setAAD(a),u.setAuthTag(o);let c=u.update(l,"base64","utf8");return JSON.parse(c+=u.final("utf8"))},registerCron:e=>{console.log(`Plugin ${t} registered cron:`,e)},getConfig:e=>{let t=r.select().from(sZ).where(eo(sZ.key,e)).get();return t?.value||null},setConfig:(e,t)=>{r.insert(sZ).values({key:e,value:t,updatedAt:new Date().toISOString()}).onConflictDoUpdate({target:sZ.key,set:{value:t,updatedAt:new Date().toISOString()}})}}}function s6(e){return Array.from(s1().values()).filter(t=>t.teamTypes.includes(e))}e.s(["createPluginContext",()=>s4,"discoverKitchenPlugins",()=>s1,"getPluginsForTeamType",()=>s6],10353)}];
|
|
21
|
-
|
|
22
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__b457b884._.js.map
|