larkup 0.1.14 → 0.1.21
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 -0
- package/.next/app-path-routes-manifest.json +69 -0
- package/.next/build/chunks/[root-of-the-server]__0cstldc._.js +206 -0
- package/.next/build/chunks/[root-of-the-server]__0s3ts0r._.js +500 -0
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0xqnjlz._.js +13 -0
- package/.next/build/chunks/[turbopack]_runtime.js +890 -0
- package/.next/build/chunks/node_modules__pnpm_04zrf.1._.js +7126 -0
- package/.next/build/package.json +1 -0
- package/.next/build/postcss.js +6 -0
- package/.next/build-manifest.json +22 -0
- package/.next/diagnostics/build-diagnostics.json +6 -0
- package/.next/diagnostics/framework.json +1 -0
- package/.next/diagnostics/route-bundle-stats.json +133 -0
- package/.next/export-marker.json +6 -0
- package/.next/fallback-build-manifest.json +13 -0
- package/.next/images-manifest.json +68 -0
- package/.next/next-minimal-server.js.nft.json +1 -0
- package/.next/next-server.js.nft.json +1 -0
- package/.next/package.json +1 -0
- package/.next/prerender-manifest.json +210 -0
- package/.next/required-server-files.js +356 -0
- package/.next/required-server-files.json +356 -0
- package/.next/routes-manifest.json +462 -0
- package/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
- package/.next/server/app/_global-error/page/build-manifest.json +18 -0
- package/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
- package/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
- package/.next/server/app/_global-error/page.js +10 -0
- package/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
- package/.next/server/app/_global-error.html +1 -0
- package/.next/server/app/_global-error.meta +15 -0
- package/.next/server/app/_global-error.rsc +15 -0
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_full.segment.rsc +15 -0
- package/.next/server/app/_global-error.segments/_head.segment.rsc +6 -0
- package/.next/server/app/_global-error.segments/_index.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
- package/.next/server/app/_not-found/page/build-manifest.json +18 -0
- package/.next/server/app/_not-found/page/next-font-manifest.json +11 -0
- package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
- package/.next/server/app/_not-found/page.js +14 -0
- package/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
- package/.next/server/app/_not-found.html +1 -0
- package/.next/server/app/_not-found.meta +16 -0
- package/.next/server/app/_not-found.rsc +28 -0
- package/.next/server/app/_not-found.segments/_full.segment.rsc +28 -0
- package/.next/server/app/_not-found.segments/_head.segment.rsc +6 -0
- package/.next/server/app/_not-found.segments/_index.segment.rsc +14 -0
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +5 -0
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -0
- package/.next/server/app/analytics/page/app-paths-manifest.json +3 -0
- package/.next/server/app/analytics/page/build-manifest.json +18 -0
- package/.next/server/app/analytics/page/next-font-manifest.json +11 -0
- package/.next/server/app/analytics/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/analytics/page/server-reference-manifest.json +4 -0
- package/.next/server/app/analytics/page.js +15 -0
- package/.next/server/app/analytics/page.js.nft.json +1 -0
- package/.next/server/app/analytics/page_client-reference-manifest.js +3 -0
- package/.next/server/app/analytics.html +1 -0
- package/.next/server/app/analytics.meta +15 -0
- package/.next/server/app/analytics.rsc +32 -0
- package/.next/server/app/analytics.segments/_full.segment.rsc +32 -0
- package/.next/server/app/analytics.segments/_head.segment.rsc +6 -0
- package/.next/server/app/analytics.segments/_index.segment.rsc +14 -0
- package/.next/server/app/analytics.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/analytics.segments/analytics/__PAGE__.segment.rsc +6 -0
- package/.next/server/app/analytics.segments/analytics.segment.rsc +5 -0
- package/.next/server/app/api/analytics/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/analytics/route/build-manifest.json +9 -0
- package/.next/server/app/api/analytics/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/analytics/route.js +9 -0
- package/.next/server/app/api/analytics/route.js.nft.json +1 -0
- package/.next/server/app/api/analytics/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/chat/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/chat/route/build-manifest.json +9 -0
- package/.next/server/app/api/chat/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/chat/route.js +24 -0
- package/.next/server/app/api/chat/route.js.nft.json +1 -0
- package/.next/server/app/api/chat/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/chat/status/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/chat/status/route/build-manifest.json +9 -0
- package/.next/server/app/api/chat/status/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/chat/status/route.js +9 -0
- package/.next/server/app/api/chat/status/route.js.nft.json +1 -0
- package/.next/server/app/api/chat/status/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/chat/suggestions/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/chat/suggestions/route/build-manifest.json +9 -0
- package/.next/server/app/api/chat/suggestions/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/chat/suggestions/route.js +17 -0
- package/.next/server/app/api/chat/suggestions/route.js.nft.json +1 -0
- package/.next/server/app/api/chat/suggestions/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/config/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/config/route/build-manifest.json +9 -0
- package/.next/server/app/api/config/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/config/route.js +8 -0
- package/.next/server/app/api/config/route.js.nft.json +1 -0
- package/.next/server/app/api/config/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/config/test/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/config/test/route/build-manifest.json +9 -0
- package/.next/server/app/api/config/test/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/config/test/route.js +8 -0
- package/.next/server/app/api/config/test/route.js.nft.json +1 -0
- package/.next/server/app/api/config/test/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/config/test-embedding/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/config/test-embedding/route/build-manifest.json +9 -0
- package/.next/server/app/api/config/test-embedding/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/config/test-embedding/route.js +12 -0
- package/.next/server/app/api/config/test-embedding/route.js.nft.json +1 -0
- package/.next/server/app/api/config/test-embedding/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/config/test-llm/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/config/test-llm/route/build-manifest.json +9 -0
- package/.next/server/app/api/config/test-llm/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/config/test-llm/route.js +12 -0
- package/.next/server/app/api/config/test-llm/route.js.nft.json +1 -0
- package/.next/server/app/api/config/test-llm/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/config/test-provider/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/config/test-provider/route/build-manifest.json +9 -0
- package/.next/server/app/api/config/test-provider/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/config/test-provider/route.js +13 -0
- package/.next/server/app/api/config/test-provider/route.js.nft.json +1 -0
- package/.next/server/app/api/config/test-provider/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/config/verify/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/config/verify/route/build-manifest.json +9 -0
- package/.next/server/app/api/config/verify/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/config/verify/route.js +16 -0
- package/.next/server/app/api/config/verify/route.js.nft.json +1 -0
- package/.next/server/app/api/config/verify/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/connections/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/connections/route/build-manifest.json +9 -0
- package/.next/server/app/api/connections/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/connections/route.js +8 -0
- package/.next/server/app/api/connections/route.js.nft.json +1 -0
- package/.next/server/app/api/connections/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/connections/webhook/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/connections/webhook/route/build-manifest.json +9 -0
- package/.next/server/app/api/connections/webhook/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/connections/webhook/route.js +10 -0
- package/.next/server/app/api/connections/webhook/route.js.nft.json +1 -0
- package/.next/server/app/api/connections/webhook/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/demo/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/demo/route/build-manifest.json +9 -0
- package/.next/server/app/api/demo/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/demo/route.js +15 -0
- package/.next/server/app/api/demo/route.js.nft.json +1 -0
- package/.next/server/app/api/demo/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/deploy/cloud-project/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/deploy/cloud-project/route/build-manifest.json +9 -0
- package/.next/server/app/api/deploy/cloud-project/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/deploy/cloud-project/route.js +13 -0
- package/.next/server/app/api/deploy/cloud-project/route.js.nft.json +1 -0
- package/.next/server/app/api/deploy/cloud-project/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/deploy/ssh/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/deploy/ssh/route/build-manifest.json +9 -0
- package/.next/server/app/api/deploy/ssh/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/deploy/ssh/route.js +8 -0
- package/.next/server/app/api/deploy/ssh/route.js.nft.json +1 -0
- package/.next/server/app/api/deploy/ssh/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/deployment/blob-setup/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/deployment/blob-setup/route/build-manifest.json +9 -0
- package/.next/server/app/api/deployment/blob-setup/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/deployment/blob-setup/route.js +8 -0
- package/.next/server/app/api/deployment/blob-setup/route.js.nft.json +1 -0
- package/.next/server/app/api/deployment/blob-setup/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/deployment/config/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/deployment/config/route/build-manifest.json +9 -0
- package/.next/server/app/api/deployment/config/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/deployment/config/route.js +8 -0
- package/.next/server/app/api/deployment/config/route.js.nft.json +1 -0
- package/.next/server/app/api/deployment/config/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/describe-image/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/describe-image/route/build-manifest.json +9 -0
- package/.next/server/app/api/describe-image/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/describe-image/route.js +15 -0
- package/.next/server/app/api/describe-image/route.js.nft.json +1 -0
- package/.next/server/app/api/describe-image/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/doc-editor/edit/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/doc-editor/edit/route/build-manifest.json +9 -0
- package/.next/server/app/api/doc-editor/edit/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/doc-editor/edit/route.js +11 -0
- package/.next/server/app/api/doc-editor/edit/route.js.nft.json +1 -0
- package/.next/server/app/api/doc-editor/edit/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/doc-editor/export/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/doc-editor/export/route/build-manifest.json +9 -0
- package/.next/server/app/api/doc-editor/export/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/doc-editor/export/route.js +11 -0
- package/.next/server/app/api/doc-editor/export/route.js.nft.json +1 -0
- package/.next/server/app/api/doc-editor/export/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/doc-editor/extract-text/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/doc-editor/extract-text/route/build-manifest.json +9 -0
- package/.next/server/app/api/doc-editor/extract-text/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/doc-editor/extract-text/route.js +11 -0
- package/.next/server/app/api/doc-editor/extract-text/route.js.nft.json +1 -0
- package/.next/server/app/api/doc-editor/extract-text/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/doc-editor/parse/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/doc-editor/parse/route/build-manifest.json +9 -0
- package/.next/server/app/api/doc-editor/parse/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/doc-editor/parse/route.js +12 -0
- package/.next/server/app/api/doc-editor/parse/route.js.nft.json +1 -0
- package/.next/server/app/api/doc-editor/parse/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/doc-editor/restore/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/doc-editor/restore/route/build-manifest.json +9 -0
- package/.next/server/app/api/doc-editor/restore/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/doc-editor/restore/route.js +11 -0
- package/.next/server/app/api/doc-editor/restore/route.js.nft.json +1 -0
- package/.next/server/app/api/doc-editor/restore/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/document/sign/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/document/sign/route/build-manifest.json +9 -0
- package/.next/server/app/api/document/sign/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/document/sign/route.js +12 -0
- package/.next/server/app/api/document/sign/route.js.nft.json +1 -0
- package/.next/server/app/api/document/sign/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/documents/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/documents/route/build-manifest.json +9 -0
- package/.next/server/app/api/documents/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/documents/route.js +8 -0
- package/.next/server/app/api/documents/route.js.nft.json +1 -0
- package/.next/server/app/api/documents/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/firecrawl/local/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/firecrawl/local/route/build-manifest.json +9 -0
- package/.next/server/app/api/firecrawl/local/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/firecrawl/local/route.js +8 -0
- package/.next/server/app/api/firecrawl/local/route.js.nft.json +1 -0
- package/.next/server/app/api/firecrawl/local/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/index/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/index/route/build-manifest.json +9 -0
- package/.next/server/app/api/index/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/index/route.js +14 -0
- package/.next/server/app/api/index/route.js.nft.json +1 -0
- package/.next/server/app/api/index/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/integrations/notion/callback/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/integrations/notion/callback/route/build-manifest.json +9 -0
- package/.next/server/app/api/integrations/notion/callback/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/integrations/notion/callback/route.js +8 -0
- package/.next/server/app/api/integrations/notion/callback/route.js.nft.json +1 -0
- package/.next/server/app/api/integrations/notion/callback/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/integrations/notion/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/integrations/notion/route/build-manifest.json +9 -0
- package/.next/server/app/api/integrations/notion/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/integrations/notion/route.js +8 -0
- package/.next/server/app/api/integrations/notion/route.js.nft.json +1 -0
- package/.next/server/app/api/integrations/notion/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/jobs/[id]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/jobs/[id]/route/build-manifest.json +9 -0
- package/.next/server/app/api/jobs/[id]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/jobs/[id]/route.js +8 -0
- package/.next/server/app/api/jobs/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/jobs/[id]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/jobs/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/jobs/route/build-manifest.json +9 -0
- package/.next/server/app/api/jobs/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/jobs/route.js +8 -0
- package/.next/server/app/api/jobs/route.js.nft.json +1 -0
- package/.next/server/app/api/jobs/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/marketplace/[toolId]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/marketplace/[toolId]/route/build-manifest.json +9 -0
- package/.next/server/app/api/marketplace/[toolId]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/marketplace/[toolId]/route.js +9 -0
- package/.next/server/app/api/marketplace/[toolId]/route.js.nft.json +1 -0
- package/.next/server/app/api/marketplace/[toolId]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/marketplace/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/marketplace/route/build-manifest.json +9 -0
- package/.next/server/app/api/marketplace/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/marketplace/route.js +9 -0
- package/.next/server/app/api/marketplace/route.js.nft.json +1 -0
- package/.next/server/app/api/marketplace/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/media/[id]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/media/[id]/route/build-manifest.json +9 -0
- package/.next/server/app/api/media/[id]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/media/[id]/route.js +8 -0
- package/.next/server/app/api/media/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/media/[id]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/media/process/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/media/process/route/build-manifest.json +9 -0
- package/.next/server/app/api/media/process/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/media/process/route.js +17 -0
- package/.next/server/app/api/media/process/route.js.nft.json +1 -0
- package/.next/server/app/api/media/process/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/media/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/media/route/build-manifest.json +9 -0
- package/.next/server/app/api/media/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/media/route.js +9 -0
- package/.next/server/app/api/media/route.js.nft.json +1 -0
- package/.next/server/app/api/media/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/media/stream/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/media/stream/route/build-manifest.json +9 -0
- package/.next/server/app/api/media/stream/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/media/stream/route.js +7 -0
- package/.next/server/app/api/media/stream/route.js.nft.json +1 -0
- package/.next/server/app/api/media/stream/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/models/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/models/route/build-manifest.json +9 -0
- package/.next/server/app/api/models/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/models/route.js +9 -0
- package/.next/server/app/api/models/route.js.nft.json +1 -0
- package/.next/server/app/api/models/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/parse-file/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/parse-file/route/build-manifest.json +9 -0
- package/.next/server/app/api/parse-file/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/parse-file/route.js +11 -0
- package/.next/server/app/api/parse-file/route.js.nft.json +1 -0
- package/.next/server/app/api/parse-file/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/proxy/verify/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/proxy/verify/route/build-manifest.json +9 -0
- package/.next/server/app/api/proxy/verify/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/proxy/verify/route.js +8 -0
- package/.next/server/app/api/proxy/verify/route.js.nft.json +1 -0
- package/.next/server/app/api/proxy/verify/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/sandbox/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/sandbox/route/build-manifest.json +9 -0
- package/.next/server/app/api/sandbox/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/sandbox/route.js +8 -0
- package/.next/server/app/api/sandbox/route.js.nft.json +1 -0
- package/.next/server/app/api/sandbox/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/search/bing/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/search/bing/route/build-manifest.json +9 -0
- package/.next/server/app/api/search/bing/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/search/bing/route.js +8 -0
- package/.next/server/app/api/search/bing/route.js.nft.json +1 -0
- package/.next/server/app/api/search/bing/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/search/brave/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/search/brave/route/build-manifest.json +9 -0
- package/.next/server/app/api/search/brave/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/search/brave/route.js +8 -0
- package/.next/server/app/api/search/brave/route.js.nft.json +1 -0
- package/.next/server/app/api/search/brave/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/search/exa/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/search/exa/route/build-manifest.json +9 -0
- package/.next/server/app/api/search/exa/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/search/exa/route.js +8 -0
- package/.next/server/app/api/search/exa/route.js.nft.json +1 -0
- package/.next/server/app/api/search/exa/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/search/google/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/search/google/route/build-manifest.json +9 -0
- package/.next/server/app/api/search/google/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/search/google/route.js +8 -0
- package/.next/server/app/api/search/google/route.js.nft.json +1 -0
- package/.next/server/app/api/search/google/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/search/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/search/route/build-manifest.json +9 -0
- package/.next/server/app/api/search/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/search/route.js +8 -0
- package/.next/server/app/api/search/route.js.nft.json +1 -0
- package/.next/server/app/api/search/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/search/tavily/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/search/tavily/route/build-manifest.json +9 -0
- package/.next/server/app/api/search/tavily/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/search/tavily/route.js +8 -0
- package/.next/server/app/api/search/tavily/route.js.nft.json +1 -0
- package/.next/server/app/api/search/tavily/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/search/verify/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/search/verify/route/build-manifest.json +9 -0
- package/.next/server/app/api/search/verify/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/search/verify/route.js +8 -0
- package/.next/server/app/api/search/verify/route.js.nft.json +1 -0
- package/.next/server/app/api/search/verify/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/server/agent/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/server/agent/route/build-manifest.json +9 -0
- package/.next/server/app/api/server/agent/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/server/agent/route.js +10 -0
- package/.next/server/app/api/server/agent/route.js.nft.json +1 -0
- package/.next/server/app/api/server/agent/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/server/download/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/server/download/route/build-manifest.json +9 -0
- package/.next/server/app/api/server/download/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/server/download/route.js +9 -0
- package/.next/server/app/api/server/download/route.js.nft.json +1 -0
- package/.next/server/app/api/server/download/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/server/generate/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/server/generate/route/build-manifest.json +9 -0
- package/.next/server/app/api/server/generate/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/server/generate/route.js +10 -0
- package/.next/server/app/api/server/generate/route.js.nft.json +1 -0
- package/.next/server/app/api/server/generate/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/server/local/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/server/local/route/build-manifest.json +9 -0
- package/.next/server/app/api/server/local/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/server/local/route.js +10 -0
- package/.next/server/app/api/server/local/route.js.nft.json +1 -0
- package/.next/server/app/api/server/local/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/servers/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/servers/route/build-manifest.json +9 -0
- package/.next/server/app/api/servers/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/servers/route.js +10 -0
- package/.next/server/app/api/servers/route.js.nft.json +1 -0
- package/.next/server/app/api/servers/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/tabular/query/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/tabular/query/route/build-manifest.json +9 -0
- package/.next/server/app/api/tabular/query/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/tabular/query/route.js +8 -0
- package/.next/server/app/api/tabular/query/route.js.nft.json +1 -0
- package/.next/server/app/api/tabular/query/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/tabular/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/tabular/route/build-manifest.json +9 -0
- package/.next/server/app/api/tabular/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/tabular/route.js +8 -0
- package/.next/server/app/api/tabular/route.js.nft.json +1 -0
- package/.next/server/app/api/tabular/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/upload-file/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/upload-file/route/build-manifest.json +9 -0
- package/.next/server/app/api/upload-file/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/upload-file/route.js +8 -0
- package/.next/server/app/api/upload-file/route.js.nft.json +1 -0
- package/.next/server/app/api/upload-file/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/uploads/[...slug]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/uploads/[...slug]/route/build-manifest.json +9 -0
- package/.next/server/app/api/uploads/[...slug]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/uploads/[...slug]/route.js +8 -0
- package/.next/server/app/api/uploads/[...slug]/route.js.nft.json +1 -0
- package/.next/server/app/api/uploads/[...slug]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/vector-stores/install/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/vector-stores/install/route/build-manifest.json +9 -0
- package/.next/server/app/api/vector-stores/install/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/vector-stores/install/route.js +8 -0
- package/.next/server/app/api/vector-stores/install/route.js.nft.json +1 -0
- package/.next/server/app/api/vector-stores/install/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/vector-stores/status/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/vector-stores/status/route/build-manifest.json +9 -0
- package/.next/server/app/api/vector-stores/status/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/vector-stores/status/route.js +8 -0
- package/.next/server/app/api/vector-stores/status/route.js.nft.json +1 -0
- package/.next/server/app/api/vector-stores/status/route_client-reference-manifest.js +3 -0
- package/.next/server/app/chat/page/app-paths-manifest.json +3 -0
- package/.next/server/app/chat/page/build-manifest.json +18 -0
- package/.next/server/app/chat/page/next-font-manifest.json +11 -0
- package/.next/server/app/chat/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/chat/page/server-reference-manifest.json +4 -0
- package/.next/server/app/chat/page.js +15 -0
- package/.next/server/app/chat/page.js.nft.json +1 -0
- package/.next/server/app/chat/page_client-reference-manifest.js +3 -0
- package/.next/server/app/chat.html +1 -0
- package/.next/server/app/chat.meta +15 -0
- package/.next/server/app/chat.rsc +29 -0
- package/.next/server/app/chat.segments/_full.segment.rsc +29 -0
- package/.next/server/app/chat.segments/_head.segment.rsc +6 -0
- package/.next/server/app/chat.segments/_index.segment.rsc +14 -0
- package/.next/server/app/chat.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/chat.segments/chat/__PAGE__.segment.rsc +6 -0
- package/.next/server/app/chat.segments/chat.segment.rsc +5 -0
- package/.next/server/app/data/page/app-paths-manifest.json +3 -0
- package/.next/server/app/data/page/build-manifest.json +18 -0
- package/.next/server/app/data/page/next-font-manifest.json +11 -0
- package/.next/server/app/data/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/data/page/server-reference-manifest.json +4 -0
- package/.next/server/app/data/page.js +15 -0
- package/.next/server/app/data/page.js.nft.json +1 -0
- package/.next/server/app/data/page_client-reference-manifest.js +3 -0
- package/.next/server/app/data.html +1 -0
- package/.next/server/app/data.meta +15 -0
- package/.next/server/app/data.rsc +32 -0
- package/.next/server/app/data.segments/_full.segment.rsc +32 -0
- package/.next/server/app/data.segments/_head.segment.rsc +6 -0
- package/.next/server/app/data.segments/_index.segment.rsc +14 -0
- package/.next/server/app/data.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/data.segments/data/__PAGE__.segment.rsc +6 -0
- package/.next/server/app/data.segments/data.segment.rsc +5 -0
- package/.next/server/app/favicon.ico/route/app-paths-manifest.json +3 -0
- package/.next/server/app/favicon.ico/route/build-manifest.json +9 -0
- package/.next/server/app/favicon.ico/route.js +8 -0
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -0
- package/.next/server/app/favicon.ico.body +0 -0
- package/.next/server/app/favicon.ico.meta +1 -0
- package/.next/server/app/index.html +1 -0
- package/.next/server/app/index.meta +14 -0
- package/.next/server/app/index.rsc +26 -0
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +6 -0
- package/.next/server/app/index.segments/_full.segment.rsc +26 -0
- package/.next/server/app/index.segments/_head.segment.rsc +6 -0
- package/.next/server/app/index.segments/_index.segment.rsc +14 -0
- package/.next/server/app/index.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/page/app-paths-manifest.json +3 -0
- package/.next/server/app/page/build-manifest.json +18 -0
- package/.next/server/app/page/next-font-manifest.json +11 -0
- package/.next/server/app/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/page/server-reference-manifest.json +4 -0
- package/.next/server/app/page.js +16 -0
- package/.next/server/app/page.js.nft.json +1 -0
- package/.next/server/app/page_client-reference-manifest.js +3 -0
- package/.next/server/app/settings/page/app-paths-manifest.json +3 -0
- package/.next/server/app/settings/page/build-manifest.json +18 -0
- package/.next/server/app/settings/page/next-font-manifest.json +11 -0
- package/.next/server/app/settings/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/settings/page/server-reference-manifest.json +41 -0
- package/.next/server/app/settings/page.js +16 -0
- package/.next/server/app/settings/page.js.nft.json +1 -0
- package/.next/server/app/settings/page_client-reference-manifest.js +3 -0
- package/.next/server/app/settings.html +1 -0
- package/.next/server/app/settings.meta +15 -0
- package/.next/server/app/settings.rsc +31 -0
- package/.next/server/app/settings.segments/_full.segment.rsc +31 -0
- package/.next/server/app/settings.segments/_head.segment.rsc +6 -0
- package/.next/server/app/settings.segments/_index.segment.rsc +14 -0
- package/.next/server/app/settings.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +9 -0
- package/.next/server/app/settings.segments/settings.segment.rsc +5 -0
- package/.next/server/app-paths-manifest.json +69 -0
- package/.next/server/chunks/00i._ai_dist_index_mjs_0u4.k1t._.js +34 -0
- package/.next/server/chunks/02dz_web__next-internal_server_app_api_config_test-embedding_route_actions_09--owe.js +3 -0
- package/.next/server/chunks/02dz_web__next-internal_server_app_api_config_test-provider_route_actions_0l6xr0t.js +3 -0
- package/.next/server/chunks/02dz_web__next-internal_server_app_api_deploy_cloud-project_route_actions_0pghds2.js +3 -0
- package/.next/server/chunks/02dz_web__next-internal_server_app_api_deployment_blob-setup_route_actions_0f55gkq.js +3 -0
- package/.next/server/chunks/02dz_web__next-internal_server_app_api_doc-editor_extract-text_route_actions_0dzj6iq.js +3 -0
- package/.next/server/chunks/02dz_web__next-internal_server_app_api_marketplace_[toolId]_route_actions_0cxbtrw.js +3 -0
- package/.next/server/chunks/02dz_web__next-internal_server_app_api_vector-stores_install_route_actions_0_220fs.js +3 -0
- package/.next/server/chunks/02dz_web__next-internal_server_app_api_vector-stores_status_route_actions_0~_~b02.js +3 -0
- package/.next/server/chunks/0gvc_next_03p7xh-._.js +13 -0
- package/.next/server/chunks/0gvc_next_dist_esm_build_templates_app-route_0--xko7.js +24 -0
- package/.next/server/chunks/0gvc_next_dist_esm_build_templates_app-route_0.07y39.js +3 -0
- package/.next/server/chunks/0gvc_next_dist_esm_build_templates_app-route_04i84m2.js +10 -0
- package/.next/server/chunks/0gvc_next_dist_esm_build_templates_app-route_05yqn19.js +3 -0
- package/.next/server/chunks/0gvc_next_dist_esm_build_templates_app-route_0_c4eox.js +3 -0
- package/.next/server/chunks/0m6-_@ai-sdk_anthropic_dist_index_093y5mm.js +10 -0
- package/.next/server/chunks/0nf3_next-internal_server_app_api_integrations_notion_callback_route_actions_0hyfnmw.js +3 -0
- package/.next/server/chunks/0ntz_@ai-sdk_openai_dist_index_mjs_03ljy2u._.js +13 -0
- package/.next/server/chunks/0ozc_@vercel_oidc_dist_token_0m1934l.js +3 -0
- package/.next/server/chunks/0rgj_zod_v4_0ponial._.js +64 -0
- package/.next/server/chunks/0rgj_zod_v4_0zoqna9._.js +64 -0
- package/.next/server/chunks/[externals]__01hpkma._.js +3 -0
- package/.next/server/chunks/[externals]__01tm01i._.js +3 -0
- package/.next/server/chunks/[externals]_chromadb_0goja~y._.js +3 -0
- package/.next/server/chunks/[externals]_fs_0eo4gmu._.js +3 -0
- package/.next/server/chunks/[externals]_path_0.09pfe._.js +3 -0
- package/.next/server/chunks/[externals]_stream_0g9s3ok._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0--6uey._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0.qd1p3._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0.r5yhr._.js +49 -0
- package/.next/server/chunks/[root-of-the-server]__0036943._.js +199 -0
- package/.next/server/chunks/[root-of-the-server]__00a7cyb._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__00nqa2u._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__0111be7._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__02c_z~9._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__02cpmox._.js +105 -0
- package/.next/server/chunks/[root-of-the-server]__02p-tv7._.js +105 -0
- package/.next/server/chunks/[root-of-the-server]__02p34d7._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__02t_0g7._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__03-x3no._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__03l~uw5._.js +143 -0
- package/.next/server/chunks/[root-of-the-server]__044l2_f._.js +143 -0
- package/.next/server/chunks/[root-of-the-server]__04kopvt._.js +63 -0
- package/.next/server/chunks/[root-of-the-server]__04l~ip-._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__04visk8._.js +105 -0
- package/.next/server/chunks/[root-of-the-server]__05wk..v._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__05x8tmf._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__06l96vc._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__06ohoeu._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__072q335._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__07_1411._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__09kos0n._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__09oyip3._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__09rsmk2._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0_by00t._.js +11 -0
- package/.next/server/chunks/[root-of-the-server]__0a9jp5~._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0acpo9m._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__0b17yoc._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0cumfx6._.js +9 -0
- package/.next/server/chunks/[root-of-the-server]__0d7p0xo._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0e_itje._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0exyn0q._.js +88 -0
- package/.next/server/chunks/[root-of-the-server]__0fcf_rl._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__0f~eq1-._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__0g36cgg._.js +143 -0
- package/.next/server/chunks/[root-of-the-server]__0g4hq1o._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0i9fj76._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0lczaer._.js +143 -0
- package/.next/server/chunks/[root-of-the-server]__0ljy49-._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__0lk5hkk._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0n0nerw._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__0np09bv._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0ns~dg6._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0oh5wgp._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__0oyc7s4._.js +105 -0
- package/.next/server/chunks/[root-of-the-server]__0pg~eys._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__0qhpl6k._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0qhwzn-._.js +21 -0
- package/.next/server/chunks/[root-of-the-server]__0qs73xp._.js +143 -0
- package/.next/server/chunks/[root-of-the-server]__0qtx78g._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__0r03jcl._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__0rdjqpy._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0sb7d93._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__0t36t5o._.js +60 -0
- package/.next/server/chunks/[root-of-the-server]__0t_hp52._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__0udlgj6._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0ufk3d0._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0uu6oan._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0v.0gyp._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0v03x56._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__0v4bbce._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__0v67rlo._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0vcdpoc._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__0veqa4o._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0wvxpqf._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__0wyl7x5._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__0y5y7tu._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0yo._sm._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0yx8vxp._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__0zh8t6z._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__0~q2fro._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__0~wsw0_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__100gqj0._.js +143 -0
- package/.next/server/chunks/[root-of-the-server]__10au-r5._.js +13 -0
- package/.next/server/chunks/[root-of-the-server]__10d58x4._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__10zm06g._.js +143 -0
- package/.next/server/chunks/[root-of-the-server]__12kvuvp._.js +59 -0
- package/.next/server/chunks/[root-of-the-server]__13gq0t2._.js +3 -0
- package/.next/server/chunks/[turbopack]_runtime.js +903 -0
- package/.next/server/chunks/_01kokno._.js +3 -0
- package/.next/server/chunks/_059f-.0._.js +258 -0
- package/.next/server/chunks/_071mhy1._.js +32 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_analytics_route_actions_0.uxcnt.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_chat_route_actions_0q6zwqv.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_chat_status_route_actions_0t_21~v.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_chat_suggestions_route_actions_01umx_-.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_config_route_actions_0-4ivvk.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_config_test-llm_route_actions_0z5ew-0.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_config_test_route_actions_08cur6r.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_config_verify_route_actions_0hid6b..js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_connections_route_actions_0q3wdg3.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_connections_webhook_route_actions_0wa28~b.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_demo_route_actions_05lntn3.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_deploy_ssh_route_actions_0r44rn0.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_deployment_config_route_actions_0bkon.m.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_describe-image_route_actions_0pmvs8v.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_doc-editor_edit_route_actions_10hrovj.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_doc-editor_export_route_actions_0rff01q.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_doc-editor_parse_route_actions_0fkx6xw.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_doc-editor_restore_route_actions_0g9uodw.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_document_sign_route_actions_0_6rnl_.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_documents_route_actions_0l2znaz.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_firecrawl_local_route_actions_0ubjaim.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_index_route_actions_0~2989e.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_integrations_notion_route_actions_08es~5e.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_jobs_[id]_route_actions_0.l39qd.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_jobs_route_actions_08kx~8-.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_marketplace_route_actions_0z~vymm.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_media_[id]_route_actions_0wsnidd.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_media_process_route_actions_0_j9maz.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_media_route_actions_01szz-1.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_media_stream_route_actions_0h2x_~2.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_models_route_actions_0ervfbf.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_parse-file_route_actions_134wu5p.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_proxy_verify_route_actions_11frmb9.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_sandbox_route_actions_0y9te9y.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_search_bing_route_actions_0pfrdr1.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_search_brave_route_actions_0sij14a.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_search_exa_route_actions_013do9i.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_search_google_route_actions_02aoghr.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_search_route_actions_0_2o9ph.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_search_tavily_route_actions_0z0cnd4.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_search_verify_route_actions_0xtygzs.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_server_agent_route_actions_11xuz1m.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_server_download_route_actions_0vdr_bn.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_server_generate_route_actions_12qf.pa.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_server_local_route_actions_0c~tchb.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_servers_route_actions_0_qimaq.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_tabular_query_route_actions_0m_i8~j.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_tabular_route_actions_06xgjmg.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_upload-file_route_actions_0-df~h8.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_api_uploads_[___slug]_route_actions_0-6rd8s.js +3 -0
- package/.next/server/chunks/apps_web__next-internal_server_app_favicon_ico_route_actions_0h5n1et.js +3 -0
- package/.next/server/chunks/node_modules__pnpm_00a45hz._.js +15 -0
- package/.next/server/chunks/node_modules__pnpm_01evtue._.js +36 -0
- package/.next/server/chunks/node_modules__pnpm_058qmaf._.js +36 -0
- package/.next/server/chunks/node_modules__pnpm_090g2s3._.js +3 -0
- package/.next/server/chunks/node_modules__pnpm_0of6.x_._.js +3 -0
- package/.next/server/chunks/node_modules__pnpm_0tui34u._.js +5 -0
- package/.next/server/chunks/node_modules__pnpm_11fyqx5._.js +15 -0
- package/.next/server/chunks/node_modules__pnpm_12rdsen._.js +36 -0
- package/.next/server/chunks/packages_070bs61._.js +3 -0
- package/.next/server/chunks/packages_0jmx5.-._.js +3 -0
- package/.next/server/chunks/packages_core_src_analytics-store_ts_03tqnqs._.js +3 -0
- package/.next/server/chunks/packages_core_src_embeddings_providers_ts_05f4_w-._.js +19 -0
- package/.next/server/chunks/packages_core_src_embeddings_registry_ts_031sc7-._.js +3 -0
- package/.next/server/chunks/packages_core_src_generator_generate-server_ts_0mt.je3._.js +1145 -0
- package/.next/server/chunks/packages_core_src_generator_server-runtime_ts_127f0ye._.js +648 -0
- package/.next/server/chunks/packages_core_src_index-store_ts_13sjtkb._.js +3 -0
- package/.next/server/chunks/packages_core_src_indexing_embedder_ts_0h75r~u._.js +20 -0
- package/.next/server/chunks/packages_core_src_media-store_ts_0v0lx36._.js +3 -0
- package/.next/server/chunks/packages_core_src_models-list_ts_03-odl5._.js +3 -0
- package/.next/server/chunks/packages_marketplace_src_0mxp_e3._.js +3 -0
- package/.next/server/chunks/packages_marketplace_src_storage-provider_ts_0mbs32-._.js +3 -0
- package/.next/server/chunks/packages_vector-stores_src_044u_tk._.js +3 -0
- package/.next/server/chunks/ssr/0ay0_framer-motion_dist_es_render_components_motion_proxy_mjs_00idub3._.js +3 -0
- package/.next/server/chunks/ssr/0gvc_next_dist_0e.uypd._.js +6 -0
- package/.next/server/chunks/ssr/0gvc_next_dist_client_components_0mj6fnc._.js +3 -0
- package/.next/server/chunks/ssr/0gvc_next_dist_client_components_builtin_forbidden_10qct8z.js +3 -0
- package/.next/server/chunks/ssr/0gvc_next_dist_client_components_builtin_global-error_0azu6.3.js +3 -0
- package/.next/server/chunks/ssr/0gvc_next_dist_client_components_builtin_unauthorized_03b6_.w.js +3 -0
- package/.next/server/chunks/ssr/0gvc_next_dist_esm_build_templates_app-page_0-imr0z.js +4 -0
- package/.next/server/chunks/ssr/0gvc_next_dist_esm_build_templates_app-page_00l31p..js +4 -0
- package/.next/server/chunks/ssr/0gvc_next_dist_esm_build_templates_app-page_0cjdc2w.js +4 -0
- package/.next/server/chunks/ssr/0gvc_next_dist_esm_build_templates_app-page_0fsrb82.js +4 -0
- package/.next/server/chunks/ssr/0gvc_next_dist_esm_build_templates_app-page_0l3eneq.js +4 -0
- package/.next/server/chunks/ssr/0gvc_next_dist_esm_build_templates_app-page_0l6387r.js +4 -0
- package/.next/server/chunks/ssr/0gvc_next_dist_esm_build_templates_app-page_0pk8tjk.js +4 -0
- package/.next/server/chunks/ssr/0hhw_pdfjs-dist_build_pdf_mjs_0emol.8._.js +47 -0
- package/.next/server/chunks/ssr/0ozc_@vercel_oidc_dist_token_0qkzh69.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__03nybtv._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__061054q._.js +33 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0_lfs3c._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0bxkvem._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ciwgj6._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0f10~ff._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0l9758p._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0mib-aw._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0o6u8a1._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0q-0ign._.js +33 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0u7t7hm._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0yxrvhy._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0z9yy2_._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0zl.q74._.js +3 -0
- package/.next/server/chunks/ssr/[turbopack]_runtime.js +903 -0
- package/.next/server/chunks/ssr/_0-uky5v._.js +3 -0
- package/.next/server/chunks/ssr/_0007q7_._.js +3 -0
- package/.next/server/chunks/ssr/_003vid-._.js +3 -0
- package/.next/server/chunks/ssr/_03casre._.js +6 -0
- package/.next/server/chunks/ssr/_06imf71._.js +4 -0
- package/.next/server/chunks/ssr/_08uade7._.js +3 -0
- package/.next/server/chunks/ssr/_09~o4f.._.js +13 -0
- package/.next/server/chunks/ssr/_0_aolb-._.js +3 -0
- package/.next/server/chunks/ssr/_0_zom3a._.js +3 -0
- package/.next/server/chunks/ssr/_0erod4k._.js +3 -0
- package/.next/server/chunks/ssr/_0gh6844._.js +3 -0
- package/.next/server/chunks/ssr/_0h9s_hw._.js +3 -0
- package/.next/server/chunks/ssr/_0p1j64v._.js +3 -0
- package/.next/server/chunks/ssr/_0qi5c9~._.js +132 -0
- package/.next/server/chunks/ssr/_0qopd-r._.js +120 -0
- package/.next/server/chunks/ssr/_0s5_0n1._.js +3 -0
- package/.next/server/chunks/ssr/_11.lrfy._.js +6 -0
- package/.next/server/chunks/ssr/_13gucvb._.js +3 -0
- package/.next/server/chunks/ssr/apps_web__next-internal_server_app__global-error_page_actions_0.u5cfa.js +3 -0
- package/.next/server/chunks/ssr/apps_web__next-internal_server_app__not-found_page_actions_0appun9.js +3 -0
- package/.next/server/chunks/ssr/apps_web__next-internal_server_app_analytics_page_actions_04e3dmk.js +3 -0
- package/.next/server/chunks/ssr/apps_web__next-internal_server_app_chat_page_actions_0x9i55t.js +3 -0
- package/.next/server/chunks/ssr/apps_web__next-internal_server_app_data_page_actions_0f9t7xs.js +3 -0
- package/.next/server/chunks/ssr/apps_web__next-internal_server_app_page_actions_0rm5_5w.js +3 -0
- package/.next/server/chunks/ssr/apps_web_app_template_tsx_0.4m7c9._.js +3 -0
- package/.next/server/chunks/ssr/apps_web_app_template_tsx_0j2myib._.js +3 -0
- package/.next/server/chunks/ssr/apps_web_components_analytics_analytics-dashboard_tsx_0lrr85m._.js +3 -0
- package/.next/server/chunks/ssr/apps_web_components_ui_tabs_tsx_0435ww5._.js +3 -0
- package/.next/server/chunks/ssr/apps_web_lib_pdf-images_ts_0nzct~e._.js +3 -0
- package/.next/server/chunks/ssr/node_modules__pnpm_0auud-z._.js +3 -0
- package/.next/server/chunks/ssr/node_modules__pnpm_0efi01o._.js +3 -0
- package/.next/server/chunks/ssr/node_modules__pnpm_0ge5k63._.js +3 -0
- package/.next/server/chunks/ssr/node_modules__pnpm_0j6v-w5._.js +3 -0
- package/.next/server/chunks/ssr/node_modules__pnpm_0jmin55._.js +33 -0
- package/.next/server/chunks/ssr/node_modules__pnpm_0qjmu5-._.js +3 -0
- package/.next/server/chunks/ssr/node_modules__pnpm_0q~5d-e._.js +3 -0
- package/.next/server/chunks/ssr/node_modules__pnpm_0xnq.u3._.js +19 -0
- package/.next/server/chunks/ssr/packages_core_src_generator_generate-server_ts_0o.y7vi._.js +1145 -0
- package/.next/server/functions-config-manifest.json +52 -0
- package/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/.next/server/middleware-build-manifest.js +22 -0
- package/.next/server/middleware-manifest.json +6 -0
- package/.next/server/next-font-manifest.js +1 -0
- package/.next/server/next-font-manifest.json +31 -0
- package/.next/server/pages/404.html +1 -0
- package/.next/server/pages/500.html +1 -0
- package/.next/server/pages-manifest.json +4 -0
- package/.next/server/prefetch-hints.json +1 -0
- package/.next/server/server-reference-manifest.js +1 -0
- package/.next/server/server-reference-manifest.json +42 -0
- package/.next/static/KqIuNxkoeAlhCusoxtMrS/_buildManifest.js +16 -0
- package/.next/static/KqIuNxkoeAlhCusoxtMrS/_clientMiddlewareManifest.js +1 -0
- package/.next/static/KqIuNxkoeAlhCusoxtMrS/_ssgManifest.js +1 -0
- package/.next/static/chunks/0-l-_.e4~p-tu.js +1 -0
- package/.next/static/chunks/00bdh97xa16uo.js +1 -0
- package/.next/static/chunks/00h-ng_jqta-2.js +1 -0
- package/.next/static/chunks/03jot0gqi~a10.js +1 -0
- package/.next/static/chunks/03~yq9q893hmn.js +1 -0
- package/.next/static/chunks/066jf0nk75nic.css +2 -0
- package/.next/static/chunks/06lztj0p4bq9f.js +31 -0
- package/.next/static/chunks/06mvsykkx_ufi.js +1 -0
- package/.next/static/chunks/090nmx8zs_1wf.js +1 -0
- package/.next/static/chunks/0_~l8kd_h3sbq.js +1 -0
- package/.next/static/chunks/0c-2rnxmjsotm.js +118 -0
- package/.next/static/chunks/0ho7lc.x2uknx.js +1 -0
- package/.next/static/chunks/0i-8kxwbvp9.l.js +129 -0
- package/.next/static/chunks/0l27y8_9hhe7s.js +4 -0
- package/.next/static/chunks/0q_qvc60_3aw4.js +1 -0
- package/.next/static/chunks/0r4ctb~yxw0ip.js +45 -0
- package/.next/static/chunks/0rp85cjcakb29.js +1 -0
- package/.next/static/chunks/0uawaqqylt5zw.css +1 -0
- package/.next/static/chunks/0ufxt21gvl.3g.js +1 -0
- package/.next/static/chunks/0vnayejbagbex.js +1 -0
- package/.next/static/chunks/0w6lgn24.0eip.js +1 -0
- package/.next/static/chunks/0wrbyfcre8l1-.js +1 -0
- package/.next/static/chunks/0xil-1~ra.qnv.js +1 -0
- package/.next/static/chunks/0zoh3o_.geqbv.js +1 -0
- package/.next/static/chunks/0~074ua5vk6f8.js +1 -0
- package/.next/static/chunks/0~_-3fik2n4-i.js +1 -0
- package/.next/static/chunks/10a_hianorzj3.js +1 -0
- package/.next/static/chunks/10k--lk9wf4pw.js +1 -0
- package/.next/static/chunks/14x~vj_4i-4bz.js +1 -0
- package/.next/static/chunks/15tyhmsp4jgmc.js +11 -0
- package/.next/static/chunks/16alfqkklv-bt.js +2 -0
- package/.next/static/chunks/176ixsksxtch_.js +1 -0
- package/.next/static/chunks/turbopack-06_~2vs.chjg_.js +1 -0
- package/.next/static/media/4fa387ec64143e14-s.0wkzw~je483f-.woff2 +0 -0
- package/.next/static/media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2 +0 -0
- package/.next/static/media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2 +0 -0
- package/.next/static/media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2 +0 -0
- package/.next/static/media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2 +0 -0
- package/.next/static/media/797e433ab948586e-s.p.08e28id.o-okb.woff2 +0 -0
- package/.next/static/media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2 +0 -0
- package/.next/static/media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2 +0 -0
- package/.next/static/media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2 +0 -0
- package/.next/static/media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2 +0 -0
- package/.next/static/media/favicon.01rzdfen4476b.ico +0 -0
- package/.next/static/media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2 +0 -0
- package/.next/types/cache-life.d.ts +145 -0
- package/.next/types/routes.d.ts +136 -0
- package/.next/types/validator.ts +637 -0
- package/CHANGELOG.md +24 -0
- package/LICENSE +176 -0
- package/app/actions/vercel.ts +325 -152
- package/app/analytics/page.tsx +19 -0
- package/app/api/analytics/route.ts +31 -0
- package/app/api/chat/route.ts +331 -145
- package/app/api/chat/status/route.ts +73 -22
- package/app/api/chat/suggestions/route.ts +61 -48
- package/app/api/chat/tools.ts +995 -0
- package/app/api/config/route.ts +56 -32
- package/app/api/config/test/route.ts +33 -32
- package/app/api/config/test-llm/route.ts +9 -10
- package/app/api/config/verify/route.ts +315 -0
- package/app/api/connections/route.ts +39 -0
- package/app/api/connections/webhook/route.ts +43 -0
- package/app/api/demo/route.ts +32 -44
- package/app/api/deploy/cloud-project/route.ts +125 -0
- package/app/api/deploy/ssh/route.ts +173 -132
- package/app/api/deployment/blob-setup/route.ts +28 -0
- package/app/api/deployment/config/route.ts +23 -0
- package/app/api/describe-image/route.ts +84 -0
- package/app/api/doc-editor/edit/route.ts +88 -0
- package/app/api/doc-editor/export/route.ts +33 -0
- package/app/api/doc-editor/extract-text/route.ts +41 -0
- package/app/api/doc-editor/parse/route.ts +66 -0
- package/app/api/doc-editor/restore/route.ts +74 -0
- package/app/api/document/sign/route.ts +56 -0
- package/app/api/documents/route.ts +185 -35
- package/app/api/firecrawl/local/route.ts +63 -23
- package/app/api/index/route.ts +73 -59
- package/app/api/integrations/notion/callback/route.ts +121 -0
- package/app/api/integrations/notion/route.ts +304 -0
- package/app/api/jobs/route.ts +45 -47
- package/app/api/marketplace/[toolId]/route.ts +70 -0
- package/app/api/marketplace/route.ts +32 -0
- package/app/api/media/[id]/route.ts +108 -0
- package/app/api/media/process/route.ts +1242 -0
- package/app/api/media/route.ts +284 -0
- package/app/api/media/stream/route.ts +113 -0
- package/app/api/models/route.ts +23 -0
- package/app/api/proxy/verify/route.ts +66 -0
- package/app/api/sandbox/route.ts +59 -0
- package/app/api/search/bing/route.ts +87 -0
- package/app/api/search/brave/route.ts +89 -0
- package/app/api/search/exa/route.ts +101 -0
- package/app/api/search/google/route.ts +16 -29
- package/app/api/search/tavily/route.ts +94 -0
- package/app/api/search/verify/route.ts +28 -0
- package/app/api/server/agent/route.ts +41 -0
- package/app/api/server/download/route.ts +42 -34
- package/app/api/server/generate/route.ts +23 -23
- package/app/api/servers/route.ts +46 -62
- package/app/api/tabular/query/route.ts +26 -0
- package/app/api/tabular/route.ts +63 -0
- package/app/api/upload-file/route.ts +38 -0
- package/app/api/uploads/[...slug]/route.ts +90 -0
- package/app/api/vector-stores/install/route.ts +5 -6
- package/app/api/vector-stores/status/route.ts +9 -7
- package/app/chat/page.tsx +4 -8
- package/app/data/page.tsx +15 -8
- package/app/globals.css +150 -22
- package/app/layout.tsx +19 -17
- package/app/page.tsx +3 -32
- package/app/settings/page.tsx +80 -0
- package/app/themes.css +38 -2
- package/archive/redesign-v2/app/configure/page.tsx +53 -0
- package/archive/redesign-v2/app/demo/page.tsx +15 -0
- package/archive/redesign-v2/app/server/page.tsx +22 -0
- package/archive/redesign-v2/app/simple/chat/page.tsx +17 -0
- package/archive/redesign-v2/app/simple/docs/page.tsx +21 -0
- package/archive/redesign-v2/app/simple/settings/page.tsx +1104 -0
- package/{app → archive/redesign-v2/app-routes}/server/page.tsx +2 -2
- package/archive/redesign-v2/app-routes/simple/settings/page.tsx +1104 -0
- package/archive/redesign-v2/components/app-sidebar.tsx +188 -0
- package/archive/redesign-v2/components/app-topnav.tsx +195 -0
- package/archive/redesign-v2/components/global-settings.tsx +288 -0
- package/archive/redesign-v2/components/simple/simple-sidebar.tsx +171 -0
- package/archive/redesign-v2/components/simple/simple-topnav.tsx +175 -0
- package/bin/larkup.js +28 -0
- package/components/analytics/analytics-dashboard.tsx +504 -0
- package/components/app-sidebar.tsx +46 -57
- package/components/app-topnav.tsx +64 -150
- package/components/chat/canvas/doc-editor-provider.tsx +343 -0
- package/components/chat/canvas/document-canvas.tsx +102 -0
- package/components/chat/canvas/document-field.tsx +171 -0
- package/components/chat/canvas/document-viewer.tsx +453 -0
- package/components/chat/canvas/file-attachment-button.tsx +88 -0
- package/components/chat/canvas/file-chip.tsx +151 -0
- package/components/chat/chat-settings-modal.tsx +253 -149
- package/components/chat/chat-workspace.tsx +961 -149
- package/components/chat/message-item.tsx +935 -71
- package/components/chat/tools/chat-card.tsx +116 -0
- package/components/chat/tools/chat-chart.tsx +548 -0
- package/components/chat/tools/chat-data-table.tsx +370 -0
- package/components/chat/tools/chat-grid.tsx +99 -0
- package/components/chat/tools/chat-media-preview.tsx +246 -0
- package/components/chat/tools/chat-metrics.tsx +76 -0
- package/components/chat/tools/chat-sandbox-result.tsx +175 -0
- package/components/chat/tools/chat-signature-request.tsx +809 -0
- package/components/chat/tools/chat-tabs.tsx +66 -0
- package/components/chat/tools/corpus-data-result.tsx +206 -0
- package/components/chat/tools/knowledge-base-result.tsx +135 -0
- package/components/chat/tools/visual-placement-modal.tsx +316 -0
- package/components/chat/tools/visualization-tabs.tsx +37 -0
- package/components/client-layout-wrapper.tsx +52 -124
- package/components/configure/configure-form.tsx +301 -530
- package/components/configure/custom-model-modal.tsx +205 -0
- package/components/configure/store-fields.tsx +4 -1
- package/components/data/corpus-panel.tsx +329 -137
- package/components/data/data-workspace.tsx +428 -185
- package/components/data/firecrawl-notice.tsx +94 -122
- package/components/data/integrations-panel.tsx +408 -0
- package/components/data/jobs-panel.tsx +83 -105
- package/components/data/media-panel.tsx +1701 -0
- package/components/data/notion-panel.tsx +372 -0
- package/components/data/paste-panel.tsx +4 -3
- package/components/data/scrape-panel.tsx +389 -343
- package/components/data/tabular-preview.tsx +228 -0
- package/components/data/upload-panel.tsx +500 -206
- package/components/demo/demo-workspace.tsx +50 -83
- package/components/global-settings.tsx +71 -108
- package/components/index/global-index-progress.tsx +46 -0
- package/components/index/index-action-dialog.tsx +545 -0
- package/components/index/index-workspace.tsx +138 -219
- package/components/onboarding/simple-setup.tsx +126 -180
- package/components/onboarding/welcome-screen.tsx +428 -157
- package/components/server/deploy-button.tsx +95 -1233
- package/components/server/deploy-sheet.tsx +1061 -0
- package/components/server/server-workspace.tsx +62 -95
- package/components/settings/appearance-section.tsx +300 -0
- package/components/settings/connections-section.tsx +471 -0
- package/components/settings/deploy-section.tsx +24 -0
- package/components/settings/deployment-section.tsx +430 -0
- package/components/settings/general-section.tsx +734 -0
- package/components/settings/marketplace-section.tsx +385 -0
- package/components/settings/marketplace-tools-settings.tsx +436 -0
- package/components/settings/models-section.tsx +810 -0
- package/components/settings/playground-section.tsx +17 -0
- package/components/settings/prompts-section.tsx +384 -0
- package/components/settings/server-section.tsx +808 -0
- package/components/settings/settings-layout.tsx +147 -0
- package/components/settings/storage-section.tsx +394 -0
- package/components/simple/sdk-connect-dialog.tsx +38 -33
- package/components/simple/simple-sidebar.tsx +69 -72
- package/components/simple/simple-topnav.tsx +154 -0
- package/components/theme-customizer-provider.tsx +56 -79
- package/components/theme-switcher.tsx +92 -114
- package/components/ui/button.tsx +11 -13
- package/components/ui/card.tsx +17 -17
- package/components/ui/checkbox.tsx +5 -5
- package/components/ui/dialog.tsx +1 -1
- package/components/ui/dropdown-menu.tsx +24 -38
- package/components/ui/input.tsx +2 -2
- package/components/ui/popover.tsx +21 -34
- package/components/ui/provider-icon.tsx +88 -17
- package/components/ui/select.tsx +44 -61
- package/components/ui/sheet.tsx +33 -46
- package/components/ui/slider.tsx +52 -0
- package/components/ui/sonner.tsx +23 -36
- package/components/ui/table.tsx +19 -19
- package/components/ui/tabs.tsx +17 -24
- package/components/ui/textarea.tsx +4 -4
- package/components/unified-sidebar.tsx +222 -0
- package/components/update-banner.tsx +203 -0
- package/components/workspace/server-form-dialog.tsx +7 -7
- package/components/workspace/server-switcher.tsx +15 -37
- package/hooks/use-notion-auth.ts +60 -0
- package/lib/chat-model-provider.ts +115 -0
- package/lib/deployments.ts +119 -0
- package/lib/env-utils.ts +27 -0
- package/lib/media-knowledge.ts +431 -0
- package/lib/os-concurrency.ts +37 -0
- package/lib/pdf-images.ts +80 -0
- package/lib/search-provider-verification.ts +95 -0
- package/next.config.mjs +19 -2
- package/package.json +37 -20
- package/parse_log.mjs +67 -0
- package/public/icons/Confluence.png +0 -0
- package/public/icons/Salesforce.png +0 -0
- package/public/icons/audio.png +0 -0
- package/public/icons/bing.png +0 -0
- package/public/icons/brave.png +0 -0
- package/public/icons/deepgram.png +0 -0
- package/public/icons/discord.png +0 -0
- package/public/icons/elevenlabs.png +0 -0
- package/public/icons/exa.png +0 -0
- package/public/icons/excel.png +0 -0
- package/public/icons/fal.png +0 -0
- package/public/icons/firecrawl.png +0 -0
- package/public/icons/google-calender.png +0 -0
- package/public/icons/google-drive.png +0 -0
- package/public/icons/google.png +0 -0
- package/public/icons/grok.png +0 -0
- package/public/icons/image.png +0 -0
- package/public/icons/jira.png +0 -0
- package/public/icons/linear.png +0 -0
- package/public/icons/markdown.png +0 -0
- package/public/icons/onedrive.png +0 -0
- package/public/icons/outlook.png +0 -0
- package/public/icons/pdf.png +0 -0
- package/public/icons/revai.png +0 -0
- package/public/icons/revai.svg +1 -0
- package/public/icons/sap.png +0 -0
- package/public/icons/serpapi.svg +34 -0
- package/public/icons/serper.png +0 -0
- package/public/icons/sharepoint.png +0 -0
- package/public/icons/slack.png +0 -0
- package/public/icons/tavily.png +0 -0
- package/public/icons/telegram.png +0 -0
- package/public/icons/video.png +0 -0
- package/public/icons/webhook.png +0 -0
- package/public/icons/whatsapp.png +0 -0
- package/public/icons/word.png +0 -0
- package/public/logo-light2.png +0 -0
- package/public/logo.png +0 -0
- package/public/notion-white.png +0 -0
- package/public/notion.png +0 -0
- package/store/chat-store.ts +19 -0
- package/store/scrape-store.ts +78 -0
- package/tsconfig.json +1 -1
- package/verify-models.mjs +133 -0
- package/.env +0 -2
- package/app/index-data/page.tsx +0 -15
- package/app/simple/settings/page.tsx +0 -627
- package/components/chat/knowledge-base-result.tsx +0 -97
- /package/{app → archive/redesign-v2/app-routes}/configure/page.tsx +0 -0
- /package/{app → archive/redesign-v2/app-routes}/demo/page.tsx +0 -0
- /package/{app → archive/redesign-v2/app-routes}/simple/chat/page.tsx +0 -0
- /package/{app → archive/redesign-v2/app-routes}/simple/docs/page.tsx +0 -0
- /package/{app → archive/redesign-v2/app-routes}/simple/layout.tsx +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[750227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},874533,(e,t,a)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},812057,(e,t,a)=>{t.exports=e.x("node:util",()=>require("node:util"))},482888,e=>{"use strict";var t=e.i(850492),a=e.i(891119),n=e.i(697373),r=e.i(765700),o=e.i(601263),s=e.i(706859),i=e.i(947547),l=e.i(819797),u=e.i(135958),d=e.i(86520),c=e.i(970949),p=e.i(741165),h=e.i(106898),R=e.i(454415),f=e.i(37125),v=e.i(193695);e.i(530058);var m=e.i(605998),w=e.i(686296),g=e.i(612069),x=e.i(463857);async function E(e,{params:t}){let{toolId:a}=await t,n=await (0,g.getToolById)(a);if(!n)return w.NextResponse.json({error:"Tool not found"},{status:404});let r=await (0,x.getInstalledTool)(a);return w.NextResponse.json({tool:n,installed:r??null})}async function y(e,{params:t}){let{toolId:a}=await t,n=await (0,g.getToolById)(a);if(!n)return w.NextResponse.json({error:"Tool not found"},{status:404});if(n.comingSoon)return w.NextResponse.json({error:`${n.name} is coming soon.`},{status:400});if(await (0,x.isToolInstalled)(a))return w.NextResponse.json({status:"already-installed"});try{return await (0,x.installTool)(a),w.NextResponse.json({status:"installed"},{status:201})}catch(t){let e=t instanceof Error?t.message:"Install failed.";return(e.includes("npm install")||e.includes("Command failed")||e.includes("npm ERR!"))&&(console.error("[Marketplace] Tool installation failed:",e),e="Failed to install the tool. Please check your connection or try again later."),w.NextResponse.json({error:e},{status:500})}}async function C(e,{params:t}){let{toolId:a}=await t;return await (0,x.uninstallTool)(a),w.NextResponse.json({status:"uninstalled"})}e.s(["DELETE",0,C,"GET",0,E,"POST",0,y,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],764975);var T=e.i(764975);let N=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/marketplace/[toolId]/route",pathname:"/api/marketplace/[toolId]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/marketplace/[toolId]/route.ts",nextConfigOutput:"standalone",userland:T,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:P,serverHooks:I}=N;async function b(e,t,n){n.requestMeta&&(0,r.setRequestMeta)(e,n.requestMeta),N.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/marketplace/[toolId]/route";w=w.replace(/\/index$/,"")||"/";let g=await N.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:x,deploymentId:E,params:y,nextConfig:C,parsedUrl:T,isDraftMode:A,prerenderManifest:P,routerServerContext:I,isOnDemandRevalidate:b,revalidateOnlyGenerated:S,resolvedPathname:_,clientReferenceManifest:q,serverActionsManifest:O}=g,k=(0,i.normalizeAppPath)(w),H=!!(P.dynamicRoutes[k]||P.routes[_]),j=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,T,!1):t.end("This page could not be found"),null);if(H&&!A){let e=!!P.routes[_],t=P.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(C.adapterPath)return await j();throw new v.NoFallbackError}}let M=null;!H||N.isDev||A||(M="/index"===(M=_)?"/":M);let U=!0===N.isDev||!H,D=H&&!U;O&&q&&(0,s.setManifestsSingleton)({page:w,clientReferenceManifest:q,serverActionsManifest:O});let $=e.method||"GET",F=(0,o.getTracer)(),B=F.getActiveScopeSpan(),K=!!(null==I?void 0:I.isWrappedByNextServer),L=!!(0,r.getRequestMeta)(e,"minimalMode"),G=(0,r.getRequestMeta)(e,"incrementalCache")||await N.getIncrementalCache(e,C,P,L);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let V={params:y,previewProps:P.preview,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:U,incrementalCache:G,cacheLifeProfiles:C.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,n,r)=>N.onRequestError(e,t,n,r,I)},sharedContext:{buildId:x,deploymentId:E}},W=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(t));try{let r,s=async e=>N.handle(z,V).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=F.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${$} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),r&&r!==e&&(r.setAttribute("http.route",n),r.updateName(t))}else e.updateName(`${$} ${w}`)}),i=async r=>{var o,i;let l=async({previousCacheEntry:a})=>{try{if(!L&&b&&S&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await s(r);e.fetchMetrics=V.renderOpts.fetchMetrics;let i=V.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let l=V.renderOpts.collectedTags;if(!H)return await (0,p.sendResponse)(W,X,o,V.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(o.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,n=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==a?void 0:a.isStale)&&await N.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:b})},!1,I),t}},u=await N.handleResponse({req:e,nextConfig:C,cacheKey:M,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:P,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:S,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:L});if(!H)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(i=u.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",b?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return L&&H||d.delete(f.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,R.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(W,X,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};K&&B?await i(B):(r=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${$} ${w}`,kind:o.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},i),void 0,!K))}catch(t){if(t instanceof v.NoFallbackError||await N.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:b})},!1,I),H)throw t;return await (0,p.sendResponse)(W,X,new Response(null,{status:500})),null}}e.s(["handler",0,b,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:P})},"routeModule",0,N,"serverHooks",0,I,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,P],482888)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__02p34d7._.js.map
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
module.exports=[750227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},478500,(e,t,a)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},761095,(e,t,a)=>{t.exports=e.x("node:net",()=>require("node:net"))},192441,638725,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(666680),o=e.i(478500),s=e.i(761095);let n={projectName:"my-rag",embeddingProvider:"openai",embeddingApiKey:"",embeddingModelId:"openai/text-embedding-3-small",indexType:"hybrid",chunking:{chunkSize:512,chunkOverlap:64,strategy:"recursive"},vectorStore:"lancedb",storeConfig:{mode:"local",dbPath:"./.larkup/lancedb",tableName:"documents"},topK:5,serperApiKey:"",webSearchEnabled:!1,webSearchProvider:"tavily",tavilyApiKey:"",googleApiKey:"",braveApiKey:"",bingApiKey:"",exaApiKey:"",chatModelId:"",chatApiKey:"",scraperProxyServer:"",scraperProxyUsername:"",scraperProxyPassword:"",useScraperProxy:!1,webCrawlerProvider:"local",firecrawlApiKey:"",toolConfigs:{},updatedAt:new Date(0).toISOString()},i=`You are a powerful data analysis assistant with access to a knowledge base, corpus introspection tools, tabular data tools, and a code sandbox.
|
|
2
|
+
|
|
3
|
+
You have these tools:
|
|
4
|
+
1. "searchKnowledgeBase" — semantic search over the RAG knowledge base. Returns top-K most relevant document chunks.
|
|
5
|
+
2. "presentMedia" — embeds one indexed image, video segment, or audio segment as a compact chat citation.
|
|
6
|
+
3. "getIndexedData" — structured access to ALL indexed source documents. Returns document metadata (title, source, status, metadata fields, dates). Use for counting, listing, filtering, and overview questions.
|
|
7
|
+
4. "analyzeCorpusWithCode" — runs Python code in a sandbox with the FULL corpus available as a CSV/JSONL file. Use for complex analysis of hundreds/thousands of documents.
|
|
8
|
+
5. "queryTabularData" — queries stored tabular datasets (CSV/Excel/JSON) for exact values, aggregations, filtering, and grouping.
|
|
9
|
+
6. "generateVisualization" — generates interactive charts to visualize data trends.
|
|
10
|
+
7. "executeAnalysis" — runs Python code in a sandbox for deep statistical analysis on tabular datasets.
|
|
11
|
+
|
|
12
|
+
TOOL SELECTION STRATEGY (follow this decision tree):
|
|
13
|
+
1. Greeting or general question → respond directly, no tools needed.
|
|
14
|
+
2. A question that depends on the user's indexed/private content and is not already answered by evidence in the conversation → searchKnowledgeBase (semantic search, top-K).
|
|
15
|
+
3. "How many documents?", "List all X", "Show progress", "What's the status?", "Show me documents by source" → getIndexedData (structured data access with filters).
|
|
16
|
+
4. Complex analysis over hundreds of documents, pivot tables, grouping, pattern detection, progress tracking across many items → analyzeCorpusWithCode (Python sandbox with full corpus).
|
|
17
|
+
5. Questions about uploaded CSV/Excel/JSON data → queryTabularData.
|
|
18
|
+
6. Chart or visual representation needed → generateVisualization.
|
|
19
|
+
7. Complex statistical analysis on tabular data → executeAnalysis.
|
|
20
|
+
8. A request to show, watch, play, or hear already-found media → presentMedia using the existing mediaAssetId and timestamps; do not search again.
|
|
21
|
+
|
|
22
|
+
IMPORTANT — getIndexedData vs analyzeCorpusWithCode:
|
|
23
|
+
- Use getIndexedData for simple questions: counts, lists, filtering by source/status/metadata.
|
|
24
|
+
- Use analyzeCorpusWithCode when you need to PROCESS the actual content: parse fields from text, group by patterns, compute progress percentages, detect duplicates, or analyze metadata programmatically.
|
|
25
|
+
- analyzeCorpusWithCode gives you the corpus as 'corpus.csv' with columns: id, title, source, url, charCount, status, createdAt, content, plus any metadata_* columns.
|
|
26
|
+
- Example: "Show todo progress" → analyzeCorpusWithCode to parse status from content/metadata, compute percentages.
|
|
27
|
+
- Example: "How many docs are scraped?" → getIndexedData with source filter (simpler).
|
|
28
|
+
|
|
29
|
+
CRITICAL RULES FOR CHARTS AND VISUALIZATIONS:
|
|
30
|
+
- You MUST ALWAYS use the "generateVisualization" tool to display ANY visual data, trends, or charts.
|
|
31
|
+
- The UI strictly requires the "generateVisualization" tool to render interactive charts. Text-based approximations will not work.
|
|
32
|
+
- CRITICAL: You MUST populate the 'data' array in the 'generateVisualization' tool call with the exact rows of data you want to plot. Do NOT leave it empty.
|
|
33
|
+
- You CANNOT generate a chart from thin air. ALWAYS get the data FIRST (via getIndexedData, queryTabularData, or analyzeCorpusWithCode), THEN call generateVisualization with that actual data.
|
|
34
|
+
- The UI renders generateVisualization output as an interactive Recharts chart.
|
|
35
|
+
|
|
36
|
+
CRITICAL RULES FOR IMAGES AND KNOWLEDGE BASE:
|
|
37
|
+
- When a tool (like searchKnowledgeBase) returns document metadata containing images (e.g., 'metadata.images' with 'imageUrl'), you MUST display the image to the user in your response using standard Markdown syntax: ''. Do not just describe the image; show it!
|
|
38
|
+
- The image description in the search results is only a brief, high-level summary.
|
|
39
|
+
- If the user asks a detailed or structural question about an image (e.g., "what columns are in the film table in the diagram?", "how many items are listed?"), you MUST use the "analyzeImageDeeply" tool. Pass the 'imageUrl' and a detailed prompt to get the exact information you need directly from the image before answering.
|
|
40
|
+
- Do not hallucinate or guess details about images. If the high-level summary doesn't contain the answer, use analyzeImageDeeply.
|
|
41
|
+
- IF A QUESTION PLAUSIBLY REFERS TO CONTENT THE USER INDEXED, search the knowledge base once before answering. Do not search for unrelated general questions, and do not repeat a search when prior results already contain the answer.
|
|
42
|
+
- FOR INDEXED AUDIO OR VIDEO: search when the requested fact is not already available in the conversation. For follow-up requests to show or play a known moment, call presentMedia directly with the earlier result's mediaAssetId and timestamps.
|
|
43
|
+
- FOR WINNER, RESULT, OR OUTCOME QUESTIONS: inspect both the semantic matches and any returned endingContext. Prefer an explicit final announcement, final scoreboard, or celebration over an earlier lead; a participant leading mid-match is not proof they won.
|
|
44
|
+
- MEDIA CITATIONS: present at most one best media item by default. Use presentMedia when the user explicitly asks for a preview or when one preview materially supports the answer. Never display every media search hit.
|
|
45
|
+
- IF THE KNOWLEDGE BASE SEARCH RETURNS EMPTY OR IRRELEVANT RESULTS, YOU MUST CLEARLY STATE THAT YOU DO NOT HAVE THE INFORMATION. DO NOT HALLUCINATE OR GUESS THE ANSWER BASED ON YOUR PRE-TRAINED KNOWLEDGE UNLESS EXPLICITLY ASKED TO DO SO.
|
|
46
|
+
|
|
47
|
+
RESPONSE FORMATTING (Analytics Style):
|
|
48
|
+
- Default to a direct, minimal answer. One to three sentences is usually sufficient.
|
|
49
|
+
- When answering questions based on RAG knowledge base results or tabular data query results, format your response in a clean, professional, and visually appealing way.
|
|
50
|
+
- Use headers only when the answer is complex enough to need sections.
|
|
51
|
+
- Use bulleted lists instead of dense paragraphs whenever you are listing items, points, metrics, or comparisons.
|
|
52
|
+
- Keep sentences concise. Avoid overly long introductions or conclusions. Get straight to the data.
|
|
53
|
+
- Highlight important numbers, metrics, or proper nouns in **bold**.
|
|
54
|
+
- Structure complex responses logically (e.g., Summary -> Key Metrics -> Breakdown).
|
|
55
|
+
- If your findings contain a small table of data, format it cleanly using Markdown tables.
|
|
56
|
+
- DO NOT hallucinate facts; rely strictly on the provided query results.
|
|
57
|
+
- End with a one-sentence synthesis if appropriate, avoiding filler words.`;e.s(["DEFAULT_CONFIG",0,n,"DEFAULT_DEPLOYMENT_CONFIG",0,{type:"rag-only",authMode:"none",enabledToolIds:[],widgetStyle:{primaryColor:"#000000",position:"bottom-right",title:"Chat with AI",welcomeMessage:"Hi! How can I help you today?",placeholder:"Type a message...",darkMode:!1,borderRadius:"lg"},allowedOrigins:["*"]},"DEFAULT_SYSTEM_PROMPT",0,i],638725);let l=a.default.join(process.cwd(),".larkup"),d=a.default.join(l,"servers"),c=a.default.join(l,"workspace.json"),u={username:null,activeServerId:null,servers:[],mode:null},p=new o.AsyncLocalStorage,h=Promise.resolve();function m(e){let t=h.then(e,e);return h=t.catch(()=>{}),t}async function y(e){return await A(),m(async()=>e(await w()??u))}function v(e){return a.default.join(d,e)}function f(e,t){return`./.larkup/servers/${e}/${t}`}async function g(e){try{return await t.promises.access(e),!0}catch{return!1}}async function b(e,r){if(await g(e)){await t.promises.mkdir(a.default.dirname(r),{recursive:!0});try{await t.promises.rename(e,r)}catch{await t.promises.cp(e,r,{recursive:!0}),await t.promises.rm(e,{recursive:!0,force:!0})}}}async function w(){try{let e=await t.promises.readFile(c,"utf8");return{...u,...JSON.parse(e)}}catch{return null}}async function S(e){return await t.promises.mkdir(l,{recursive:!0}),await t.promises.writeFile(c,JSON.stringify(e,null,2),"utf8"),e}async function A(){let e=await w();return e||m(k)}async function k(){let e=await w();if(e)return e;if(!await g(a.default.join(l,"config.json")))return S(u);let o=(0,r.randomUUID)(),s=v(o);for(let e of(await t.promises.mkdir(s,{recursive:!0}),["config.json","documents.json","jobs.json","index-run.json","server-local.json"]))await b(a.default.join(l,e),a.default.join(s,e));await b(a.default.join(l,"lancedb"),a.default.join(s,"lancedb")),await b(a.default.join(l,"generated-server"),a.default.join(s,"generated-server"));let n="Default server";try{let e=a.default.join(s,"config.json"),r=JSON.parse(await t.promises.readFile(e,"utf8"));r.projectName&&(n=r.projectName),"lancedb"===r.vectorStore&&(r.storeConfig?.mode??"local")==="local"&&(r.storeConfig={...r.storeConfig,dbPath:f(o,"lancedb")}),await t.promises.writeFile(e,JSON.stringify(r,null,2),"utf8")}catch{}let i=new Date().toISOString(),d={id:o,name:n,port:8080,createdAt:i,updatedAt:i};return S({username:null,activeServerId:o,servers:[d],mode:null})}async function x(){let e=await A(),t=p.getStore()?.serverId??e.activeServerId;return t?e.servers.find(e=>e.id===t)??null:null}async function C(){let e=await x();if(!e)return null;let a=v(e.id);return await t.promises.mkdir(a,{recursive:!0}),a}async function R(){let e=await C();if(e)return e;let t=p.getStore()?.serverId;if(t)throw Error(`Server "${t}" no longer exists.`);let{server:a}=await T("My RAG server");return v(a.id)}async function I(e){return new Promise(t=>{let a=s.default.createServer();a.once("error",()=>t(!1)),a.once("listening",()=>{a.close(()=>t(!0))}),a.listen(e,"127.0.0.1")})}async function E(e){let t=Math.max(8079,...e.servers.map(e=>e.port))+1;for(;!await I(t);)t++;return t}function T(e){return y(async o=>{let s=(0,r.randomUUID)(),i=new Date().toISOString(),l={id:s,name:e.trim()||"Untitled server",port:await E(o),createdAt:i,updatedAt:i},d=v(s);await t.promises.mkdir(d,{recursive:!0});let c={};if(o.activeServerId)try{let e=await t.promises.readFile(a.default.join(v(o.activeServerId),"config.json"),"utf8");c=JSON.parse(e)}catch{}await t.promises.writeFile(a.default.join(d,"config.json"),JSON.stringify(function(e,t,a={}){return{...n,projectName:t.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"my-rag",storeConfig:{mode:"local",dbPath:f(e,"lancedb")},embeddingApiKey:a.embeddingApiKey??n.embeddingApiKey,customEmbeddings:a.customEmbeddings??n.customEmbeddings,chatApiKey:a.chatApiKey??n.chatApiKey,customChatModels:a.customChatModels??n.customChatModels,serperApiKey:a.serperApiKey??n.serperApiKey,firecrawlApiKey:a.firecrawlApiKey??n.firecrawlApiKey,updatedAt:new Date().toISOString()}}(s,l.name,c),null,2),"utf8");let u={...o,servers:[...o.servers,l],activeServerId:s};return await S(u),{workspace:u,server:l}})}e.s(["createServer",0,T,"deleteServer",0,function(e){return y(async a=>{let r=a.servers.filter(t=>t.id!==e),o=a.activeServerId===e?r[0]?.id??null:a.activeServerId;return await t.promises.rm(v(e),{recursive:!0,force:!0}),S({...a,servers:r,activeServerId:o})})},"getActiveServer",0,x,"getDataDir",0,C,"getWorkspace",0,A,"renameServer",0,function(e,t){return y(async a=>{let r=a.servers.map(a=>a.id===e?{...a,name:t.trim()||a.name,updatedAt:new Date().toISOString()}:a);return S({...a,servers:r})})},"requireDataDir",0,R,"runWithServer",0,function(e,t){return p.run({serverId:e},t)},"setActiveServer",0,function(e){return y(async t=>t.servers.some(t=>t.id===e)?S({...t,activeServerId:e}):t)},"setMode",0,function(e){return y(async t=>S({...t,mode:e}))},"setUsername",0,function(e){return y(async t=>S({...t,username:e.trim()||null}))}],192441)},979598,e=>{"use strict";let t={lancedb:{id:"lancedb",label:"LanceDB",description:"Embedded vector database for local development, LanceDB Cloud, or persistent S3-compatible storage such as Cloudflare R2.",runtime:"both",installStatus:"installed",docsUrl:"https://lancedb.github.io/lancedb/",serverDependencies:{"@lancedb/lancedb":"^0.30.0"},fields:[{key:"mode",label:"Mode",type:"select",required:!0,defaultValue:"local",help:"Use a local disk, LanceDB Cloud, or an S3-compatible bucket for persistent serverless deployments.",options:[{label:"Local (on-disk)",value:"local"},{label:"S3-compatible (Vercel / R2 / S3)",value:"s3"},{label:"Cloud",value:"cloud"}]},{key:"dbPath",label:"Database path",type:"path",required:!0,defaultValue:"./.larkup/lancedb",placeholder:"./.larkup/lancedb",help:"Directory where the LanceDB tables are stored.",showWhen:{key:"mode",equals:["local"]}},{key:"s3Uri",label:"Database URI",type:"text",required:!0,placeholder:"s3://my-bucket/larkup/my-server",help:"A dedicated, private bucket prefix for LanceDB table files. This is persistent across Vercel invocations.",showWhen:{key:"mode",equals:["s3"]}},{key:"s3Endpoint",label:"S3 endpoint",type:"text",required:!1,placeholder:"https://<account-id>.r2.cloudflarestorage.com",help:"Required for Cloudflare R2 and other S3-compatible providers. Leave blank for AWS S3.",showWhen:{key:"mode",equals:["s3"]}},{key:"s3Region",label:"Region",type:"text",required:!0,defaultValue:"auto",placeholder:"auto",help:"Use “auto” for Cloudflare R2, or your bucket region for AWS S3.",showWhen:{key:"mode",equals:["s3"]}},{key:"s3AccessKeyId",label:"Access key ID",type:"password",required:!0,secret:!0,help:"Use an object read/write credential restricted to this bucket.",showWhen:{key:"mode",equals:["s3"]}},{key:"s3SecretAccessKey",label:"Secret access key",type:"password",required:!0,secret:!0,help:"Stored as a deployment environment variable; never expose it in the browser.",showWhen:{key:"mode",equals:["s3"]}},{key:"uri",label:"Cloud URI",type:"text",required:!0,placeholder:"db://my-database",help:"Your LanceDB Cloud database URI.",showWhen:{key:"mode",equals:["cloud"]}},{key:"apiKey",label:"API key",type:"password",required:!0,secret:!0,placeholder:"sk_...",help:"LanceDB Cloud API key. Stored as an env var in the generated server.",showWhen:{key:"mode",equals:["cloud"]}},{key:"tableName",label:"Table name",type:"text",required:!0,defaultValue:"documents",help:"The table that holds your embedded chunks."}]},pinecone:{id:"pinecone",label:"Pinecone",description:"Fully-managed cloud vector database. Cloud-only — requires an API key and an existing index.",runtime:"cloud",installStatus:"installed",docsUrl:"https://docs.pinecone.io/",serverDependencies:{"@pinecone-database/pinecone":"^6.0.0"},fields:[{key:"apiKey",label:"API key",type:"password",required:!0,secret:!0,placeholder:"pcsk_...",help:"Pinecone API key. Stored as an env var in the generated server."},{key:"indexName",label:"Index name",type:"text",required:!0,placeholder:"rag-index",help:"Name of the Pinecone index to upsert into / query. For hybrid/lexical mode this index must use the 'dotproduct' metric."},{key:"namespace",label:"Namespace",type:"text",required:!1,placeholder:"default",help:"Optional namespace to isolate this dataset within the index."},{key:"sparseModel",label:"Sparse model",type:"text",required:!0,defaultValue:"pinecone-sparse-english-v0",help:"Pinecone-hosted sparse model used to generate keyword vectors via the Inference API. Both dense and sparse vectors are stored in the same index.",showWhenIndexType:["lexical","hybrid"]}]},weaviate:{id:"weaviate",label:"Weaviate",description:"Open-source AI-native vector database with built-in hybrid search, BM25, and multi-tenancy.",runtime:"both",installStatus:"coming-soon",docsUrl:"https://weaviate.io/developers/weaviate",serverDependencies:{weaviate:"^3.0.0"},fields:[{key:"host",label:"Host URL",type:"text",required:!0,placeholder:"https://my-cluster.weaviate.network",help:"Weaviate Cloud URL or self-hosted host address."},{key:"apiKey",label:"API key",type:"password",required:!1,secret:!0,placeholder:"weaviate-api-key",help:"Weaviate Cloud API key (optional for self-hosted)."},{key:"className",label:"Collection name",type:"text",required:!0,defaultValue:"Documents",help:"The Weaviate collection (class) that holds your embedded chunks."}]},qdrant:{id:"qdrant",label:"Qdrant",description:"High-performance vector search engine with rich filtering, built for production-scale RAG.",runtime:"both",installStatus:"coming-soon",docsUrl:"https://qdrant.tech/documentation/",serverDependencies:{"@qdrant/js-client-rest":"^1.9.0"},fields:[{key:"url",label:"Host URL",type:"text",required:!0,placeholder:"http://localhost:6333",help:"Qdrant server URL (local or Qdrant Cloud endpoint)."},{key:"apiKey",label:"API key",type:"password",required:!1,secret:!0,placeholder:"qdrant-api-key",help:"Qdrant Cloud API key (leave blank for local)."},{key:"collectionName",label:"Collection name",type:"text",required:!0,defaultValue:"documents",help:"Qdrant collection to upsert into and query."}]},chroma:{id:"chroma",label:"Chroma",description:"Open-source, developer-friendly embedding database. Great for rapid local prototyping.",runtime:"both",installStatus:"installable",docsUrl:"https://docs.trychroma.com/",serverDependencies:{chromadb:"^1.9.0"},fields:[{key:"mode",label:"Mode",type:"select",required:!0,defaultValue:"server",help:"Server connects to a self-hosted Chroma instance. Cloud connects to Chroma Cloud.",options:[{label:"Server (Self-hosted)",value:"server"},{label:"Cloud (Chroma Cloud)",value:"cloud"}]},{key:"host",label:"Server URL",type:"text",required:!0,placeholder:"http://localhost:8000",defaultValue:"http://localhost:8000",help:"Chroma server URL (local Docker or remote).",showWhen:{key:"mode",equals:["server"]}},{key:"authToken",label:"Auth Token",type:"password",required:!1,secret:!0,placeholder:"chroma-token",help:"Optional static auth token for Chroma server.",showWhen:{key:"mode",equals:["server"]}},{key:"apiKey",label:"API Key",type:"password",required:!0,secret:!0,placeholder:"sk_...",help:"Chroma Cloud API Key.",showWhen:{key:"mode",equals:["cloud"]}},{key:"tenant",label:"Tenant",type:"text",required:!0,defaultValue:"default_tenant",help:"Tenant name for Chroma Cloud.",showWhen:{key:"mode",equals:["cloud"]}},{key:"database",label:"Database",type:"text",required:!0,defaultValue:"default_database",help:"Database name for Chroma Cloud.",showWhen:{key:"mode",equals:["cloud"]}},{key:"collectionName",label:"Collection name",type:"text",required:!0,defaultValue:"documents",help:"Chroma collection to store and retrieve embeddings."}]},pgvector:{id:"pgvector",label:"pgvector",description:"PostgreSQL extension for vector similarity search. Self-host vectors alongside your relational data.",runtime:"both",installStatus:"coming-soon",docsUrl:"https://github.com/pgvector/pgvector",serverDependencies:{pg:"^8.11.0",pgvector:"^0.2.0"},fields:[{key:"connectionString",label:"Connection string",type:"password",required:!0,secret:!0,placeholder:"postgresql://user:pass@localhost:5432/db",help:"Full PostgreSQL connection string."},{key:"tableName",label:"Table name",type:"text",required:!0,defaultValue:"embeddings",help:"The table used to store vector embeddings. Created automatically if absent."}]},supabase:{id:"supabase",label:"Supabase",description:"Postgres-backed vector store via the pgvector extension with Supabase's managed infrastructure.",runtime:"cloud",installStatus:"coming-soon",docsUrl:"https://supabase.com/docs/guides/ai",serverDependencies:{"@supabase/supabase-js":"^2.43.0"},fields:[{key:"url",label:"Project URL",type:"text",required:!0,placeholder:"https://xyz.supabase.co",help:"Your Supabase project URL."},{key:"serviceKey",label:"Service role key",type:"password",required:!0,secret:!0,placeholder:"eyJhbGci...",help:"Supabase service_role key (not the anon key). Stored as an env var."},{key:"tableName",label:"Table name",type:"text",required:!0,defaultValue:"documents",help:"Supabase table with a vector column for embeddings."}]}};Object.values(t),e.s(["getVectorStore",0,function(e){return t[e]},"validateStoreConfig",0,function(e,t,a){let r={};for(let o of e.fields.filter(e=>{if(e.showWhen){let a=t[e.showWhen.key]??"";if(!e.showWhen.equals.includes(a))return!1}return!e.showWhenIndexType||!a||!!e.showWhenIndexType.includes(a)}))o.required&&!t[o.key]?.trim()&&(r[o.key]=`${o.label} is required`);return r}])},585071,e=>{"use strict";var t=e.i(192441);async function a(a,r){let o={...a.storeConfig},s=await (0,t.getActiveServer)(),n=s?.id;if(n){let e=n.replace(/[^a-zA-Z0-9_-]/g,"_");"pinecone"===a.vectorStore?o.namespace=n:"chroma"===a.vectorStore?o.collectionName=`documents_${e}`:"lancedb"!==a.vectorStore&&a.vectorStore||(o.tableName=`documents_${e}`)}switch(a.vectorStore){case"pinecone":{let{PineconeAdapter:t}=await e.A(77149);return new t({apiKey:o.apiKey,indexName:o.indexName,namespace:o.namespace,sparseModel:o.sparseModel,indexType:a.indexType,onRateLimit:r})}case"chroma":{let{ChromaAdapter:t}=await e.A(195059);return new t({mode:o.mode,host:o.host,authToken:o.authToken,apiKey:o.apiKey,tenant:o.tenant,database:o.database,collectionName:o.collectionName,indexType:a.indexType})}default:{let{LanceDBAdapter:t}=await e.A(184904);return new t({mode:o.mode,dbPath:o.dbPath,uri:o.uri,apiKey:o.apiKey,s3Uri:o.s3Uri,s3Endpoint:o.s3Endpoint,s3Region:o.s3Region,s3AccessKeyId:o.s3AccessKeyId,s3SecretAccessKey:o.s3SecretAccessKey,tableName:o.tableName})}}}e.s(["createAdapter",0,a])},235718,e=>{"use strict";var t=e.i(850492),a=e.i(891119),r=e.i(697373),o=e.i(765700),s=e.i(601263),n=e.i(706859),i=e.i(947547),l=e.i(819797),d=e.i(135958),c=e.i(86520),u=e.i(970949),p=e.i(741165),h=e.i(106898),m=e.i(454415),y=e.i(37125),v=e.i(193695);e.i(530058);var f=e.i(605998),g=e.i(686296),b=e.i(979598),w=e.i(585071);async function S(t){let a;try{a=await t.json()}catch{return g.NextResponse.json({error:"Invalid JSON body"},{status:400})}let r=(0,b.getVectorStore)(a.vectorStore);if(!r)return g.NextResponse.json({error:`Unknown vector store: ${a.vectorStore}`},{status:400});let o=(0,b.validateStoreConfig)(r,a.storeConfig??{},a.indexType);if(Object.keys(o).length>0)return g.NextResponse.json({error:"Missing required vector store fields",fieldErrors:o},{status:422});let s=1536;if(a.embeddingModelId.startsWith("custom:")){let e=a.embeddingModelId.slice(7),t=a.customEmbeddings?.find(t=>t.modelName===e);if(!t)return g.NextResponse.json({error:`Custom embedding model "${e}" not found in customEmbeddings`},{status:400});s=t.dimensions??1536}else{let{getEmbeddingModel:t,EMBEDDING_DIMENSIONS:r}=await e.A(23894),o=t(a.embeddingModelId);if(o)s=o.dimensions;else{let e=r[a.embeddingModelId];s=e?.dimensions??768}}try{let e=await (0,w.createAdapter)(a);return await e.testConnection(s),g.NextResponse.json({success:!0})}catch(e){return g.NextResponse.json({error:e instanceof Error?e.message:"Connection failed"},{status:400})}}e.s(["POST",0,S,"runtime",0,"nodejs"],932697);var A=e.i(932697);let k=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/config/test/route",pathname:"/api/config/test",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/config/test/route.ts",nextConfigOutput:"standalone",userland:A,...{}}),{workAsyncStorage:x,workUnitAsyncStorage:C,serverHooks:R}=k;async function I(e,t,r){r.requestMeta&&(0,o.setRequestMeta)(e,r.requestMeta),k.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/config/test/route";g=g.replace(/\/index$/,"")||"/";let b=await k.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!b)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:w,deploymentId:S,params:A,nextConfig:x,parsedUrl:C,isDraftMode:R,prerenderManifest:I,routerServerContext:E,isOnDemandRevalidate:T,revalidateOnlyGenerated:N,resolvedPathname:q,clientReferenceManifest:O,serverActionsManifest:D}=b,U=(0,i.normalizeAppPath)(g),P=!!(I.dynamicRoutes[U]||I.routes[q]),K=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,C,!1):t.end("This page could not be found"),null);if(P&&!R){let e=!!I.routes[q],t=I.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(x.adapterPath)return await K();throw new v.NoFallbackError}}let L=null;!P||k.isDev||R||(L="/index"===(L=q)?"/":L);let _=!0===k.isDev||!P,M=P&&!_;D&&O&&(0,n.setManifestsSingleton)({page:g,clientReferenceManifest:O,serverActionsManifest:D});let j=e.method||"GET",W=(0,s.getTracer)(),H=W.getActiveScopeSpan(),V=!!(null==E?void 0:E.isWrappedByNextServer),F=!!(0,o.getRequestMeta)(e,"minimalMode"),z=(0,o.getRequestMeta)(e,"incrementalCache")||await k.getIncrementalCache(e,x,I,F);null==z||z.resetRequestCache(),globalThis.__incrementalCache=z;let B={params:A,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:_,incrementalCache:z,cacheLifeProfiles:x.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,o)=>k.onRequestError(e,t,r,o,E)},sharedContext:{buildId:w,deploymentId:S}},G=new l.NodeNextRequest(e),Y=new l.NodeNextResponse(t),$=d.NextRequestAdapter.fromNodeNextRequest(G,(0,d.signalFromNodeResponse)(t));try{let o,n=async e=>k.handle($,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=W.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${j} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),o&&o!==e&&(o.setAttribute("http.route",r),o.updateName(t))}else e.updateName(`${j} ${g}`)}),i=async o=>{var s,i;let l=async({previousCacheEntry:a})=>{try{if(!F&&T&&N&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await n(o);e.fetchMetrics=B.renderOpts.fetchMetrics;let i=B.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let l=B.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)(G,Y,s,B.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[y.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=y.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,r=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=y.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:T})},!1,E),t}},d=await k.handleResponse({req:e,nextConfig:x,cacheKey:L,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:N,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:F});if(!P)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",T?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),R&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return F&&P||c.delete(y.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,m.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(G,Y,new Response(d.value.body,{headers:c,status:d.value.status||200})),null};V&&H?await i(H):(o=W.getActiveScopeSpan(),await W.withPropagatedContext(e.headers,()=>W.trace(c.BaseServerSpan.handleRequest,{spanName:`${j} ${g}`,kind:s.SpanKind.SERVER,attributes:{"http.method":j,"http.target":e.url}},i),void 0,!V))}catch(t){if(t instanceof v.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:T})},!1,E),P)throw t;return await (0,p.sendResponse)(G,Y,new Response(null,{status:500})),null}}e.s(["handler",0,I,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:C})},"routeModule",0,k,"serverHooks",0,R,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,C],235718)},77149,e=>{e.v(t=>Promise.all(["server/chunks/[externals]__01tm01i._.js","server/chunks/[root-of-the-server]__0cumfx6._.js"].map(t=>e.l(t))).then(()=>t(292483)))},195059,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__072q335._.js"].map(t=>e.l(t))).then(()=>t(148089)))},184904,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0e_itje._.js"].map(t=>e.l(t))).then(()=>t(46465)))},23894,e=>{e.v(t=>Promise.all(["server/chunks/packages_core_src_embeddings_registry_ts_031sc7-._.js"].map(t=>e.l(t))).then(()=>t(399828)))}];
|
|
58
|
+
|
|
59
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__02t_0g7._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[814747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},522734,(e,t,a)=>{t.exports=e.x("fs",()=>require("fs"))},776919,e=>{"use strict";var t=e.i(850492),a=e.i(891119),r=e.i(697373),n=e.i(765700),s=e.i(601263),o=e.i(706859),i=e.i(947547),l=e.i(819797),u=e.i(135958),d=e.i(86520),p=e.i(970949),c=e.i(741165),h=e.i(106898),g=e.i(454415),R=e.i(37125),v=e.i(193695);e.i(530058);var f=e.i(605998),w=e.i(686296),m=e.i(522734),x=e.i(814747);async function E(e,{params:t}){try{let e=(await t).slug;if(!e||0===e.length)return new w.NextResponse("File not found",{status:404});let a=e.join("/");if(a.includes(".."))return new w.NextResponse("Forbidden",{status:403});let r=x.default.join(process.cwd(),".larkup","uploads"),n=x.default.join(r,a);if(!m.default.existsSync(n))return new w.NextResponse("File not found",{status:404});let s=m.default.statSync(n),o=m.default.createReadStream(n),i=x.default.extname(a).toLowerCase(),l="application/octet-stream";switch(i){case".png":l="image/png";break;case".jpg":case".jpeg":l="image/jpeg";break;case".gif":l="image/gif";break;case".webp":l="image/webp";break;case".svg":l="image/svg+xml";break;case".pdf":l="application/pdf";break;case".mp4":l="video/mp4";break;case".webm":l="video/webm";break;case".mp3":l="audio/mpeg";break;case".wav":l="audio/wav";break;case".csv":l="text/csv";break;case".txt":l="text/plain";break;case".json":l="application/json"}let u=new Headers;return u.set("Content-Type",l),u.set("Content-Length",s.size.toString()),u.set("Cache-Control","public, max-age=3600"),new w.NextResponse(o,{headers:u})}catch(e){return console.error("Error serving file:",e),new w.NextResponse("Internal Server Error",{status:500})}}e.s(["GET",0,E,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],959802);var b=e.i(959802);let C=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/uploads/[...slug]/route",pathname:"/api/uploads/[...slug]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/uploads/[...slug]/route.ts",nextConfigOutput:"standalone",userland:b,...{}}),{workAsyncStorage:y,workUnitAsyncStorage:A,serverHooks:N}=C;async function S(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),C.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/uploads/[...slug]/route";w=w.replace(/\/index$/,"")||"/";let m=await C.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!m)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:x,deploymentId:E,params:b,nextConfig:y,parsedUrl:A,isDraftMode:N,prerenderManifest:S,routerServerContext:T,isOnDemandRevalidate:k,revalidateOnlyGenerated:P,resolvedPathname:_,clientReferenceManifest:O,serverActionsManifest:q}=m,H=(0,i.normalizeAppPath)(w),I=!!(S.dynamicRoutes[H]||S.routes[_]),j=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,A,!1):t.end("This page could not be found"),null);if(I&&!N){let e=!!S.routes[_],t=S.dynamicRoutes[H];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await j();throw new v.NoFallbackError}}let U=null;!I||C.isDev||N||(U="/index"===(U=_)?"/":U);let M=!0===C.isDev||!I,D=I&&!M;q&&O&&(0,o.setManifestsSingleton)({page:w,clientReferenceManifest:O,serverActionsManifest:q});let F=e.method||"GET",$=(0,s.getTracer)(),K=$.getActiveScopeSpan(),L=!!(null==T?void 0:T.isWrappedByNextServer),B=!!(0,n.getRequestMeta)(e,"minimalMode"),G=(0,n.getRequestMeta)(e,"incrementalCache")||await C.getIncrementalCache(e,y,S,B);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let V={params:b,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:M,incrementalCache:G,cacheLifeProfiles:y.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>C.onRequestError(e,t,r,n,T)},sharedContext:{buildId:x,deploymentId:E}},W=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(t));try{let n,o=async e=>C.handle(z,V).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=$.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${F} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${F} ${w}`)}),i=async n=>{var s,i;let l=async({previousCacheEntry:a})=>{try{if(!B&&k&&P&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(n);e.fetchMetrics=V.renderOpts.fetchMetrics;let i=V.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let l=V.renderOpts.collectedTags;if(!I)return await (0,c.sendResponse)(W,X,s,V.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[R.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,r=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:k})},!1,T),t}},u=await C.handleResponse({req:e,nextConfig:y,cacheKey:U,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:P,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:B});if(!I)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(i=u.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",k?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return B&&I||d.delete(R.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(W,X,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};L&&K?await i(K):(n=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(d.BaseServerSpan.handleRequest,{spanName:`${F} ${w}`,kind:s.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},i),void 0,!L))}catch(t){if(t instanceof v.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:k})},!1,T),I)throw t;return await (0,c.sendResponse)(W,X,new Response(null,{status:500})),null}}e.s(["handler",0,S,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:y,workUnitAsyncStorage:A})},"routeModule",0,C,"serverHooks",0,N,"workAsyncStorage",0,y,"workUnitAsyncStorage",0,A],776919)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__03-x3no._.js.map
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
module.exports=[750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},224361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},688947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},427699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},811917,(e,t,r)=>{t.exports=e.x("dockerode-2f9c00396d72a1e4",()=>require("dockerode-2f9c00396d72a1e4"))},983131,778923,e=>{"use strict";var t=e.i(811917),r=e.i(902157),a=e.i(750227),s=e.i(660526),i=e.i(666680);let n="larkup-sandbox:latest",o="/sandbox/output",l=a.default.join({get url(){return`file://${e.P("packages/sandbox/dist/docker-runner.js")}`}}.dirname??"/ROOT/packages/sandbox/dist",".."),d=null;function c(){return d||(d=new t.default),d}async function p(){let e=c();try{let t=await e.version(),r=await e.listImages({filters:{reference:[n]}});return{status:r.length>0?"ready":"image-not-found",backend:"docker",dockerVersion:t.Version,imageReady:r.length>0}}catch(e){return{status:"docker-not-found",backend:"docker",error:e.message??"Docker daemon not available"}}}async function u(e){let t=c(),s=a.default.join(l,"Dockerfile");try{await r.promises.access(s)}catch{throw Error(`Sandbox Dockerfile not found at ${s}. Ensure the @larkup/sandbox package is properly installed.`)}e?.("Building sandbox image…");let i=await t.buildImage({context:l,src:["Dockerfile"]},{t:n});await new Promise((r,a)=>{t.modem.followProgress(i,e=>{e?a(e):r()},t=>{t.stream&&e?.(t.stream.trim())})}),e?.("Sandbox image built successfully ✓")}async function f(){let e=c();if((await e.listImages({filters:{reference:[n]}})).length>0)return!0;try{return await u(),!0}catch{return!1}}async function g(e,t){let n,l,d=c(),p=Date.now(),u=a.default.join(s.default.tmpdir(),`larkup-sandbox-${(0,i.randomUUID)()}`),f=a.default.join(u,"input"),g=a.default.join(u,"output");if(await r.promises.mkdir(f,{recursive:!0}),await r.promises.mkdir(g,{recursive:!0}),e.files)for(let t of e.files){let e=a.default.join(f,t.name);t.isBase64?await r.promises.writeFile(e,Buffer.from(t.content,"base64")):await r.promises.writeFile(e,t.content,"utf8")}if("python"===e.language){var m;m=e.code,n=`
|
|
2
|
+
import sys, os, json, traceback
|
|
3
|
+
|
|
4
|
+
# Ensure output directory exists
|
|
5
|
+
os.makedirs("${o}", exist_ok=True)
|
|
6
|
+
|
|
7
|
+
# ============================================================
|
|
8
|
+
# SAFETY PREAMBLE: Suppress warnings & patch deprecated APIs
|
|
9
|
+
# ============================================================
|
|
10
|
+
import warnings
|
|
11
|
+
warnings.filterwarnings('ignore', category=FutureWarning)
|
|
12
|
+
warnings.filterwarnings('ignore', category=DeprecationWarning)
|
|
13
|
+
warnings.filterwarnings('ignore', category=UserWarning)
|
|
14
|
+
|
|
15
|
+
# Auto-import common data analysis modules
|
|
16
|
+
import numpy as np
|
|
17
|
+
|
|
18
|
+
try:
|
|
19
|
+
import pandas as pd
|
|
20
|
+
|
|
21
|
+
# --- Patch 1: DataFrame.append() was removed in pandas 2.0 ---
|
|
22
|
+
if not hasattr(pd.DataFrame, 'append'):
|
|
23
|
+
def _df_append(self, other, ignore_index=False, verify_integrity=False, sort=False, **kwargs):
|
|
24
|
+
"""Backwards-compatible append using pd.concat."""
|
|
25
|
+
if isinstance(other, (list, tuple)):
|
|
26
|
+
to_concat = [self] + list(other)
|
|
27
|
+
elif isinstance(other, dict):
|
|
28
|
+
to_concat = [self, pd.DataFrame([other])]
|
|
29
|
+
else:
|
|
30
|
+
to_concat = [self, other]
|
|
31
|
+
return pd.concat(to_concat, ignore_index=ignore_index, verify_integrity=verify_integrity, sort=sort)
|
|
32
|
+
pd.DataFrame.append = _df_append
|
|
33
|
+
|
|
34
|
+
# --- Patch 2: Series.append() was removed in pandas 2.0 ---
|
|
35
|
+
if not hasattr(pd.Series, 'append'):
|
|
36
|
+
def _series_append(self, to_append, ignore_index=False, verify_integrity=False):
|
|
37
|
+
"""Backwards-compatible Series.append using pd.concat."""
|
|
38
|
+
if isinstance(to_append, (list, tuple)):
|
|
39
|
+
to_concat = [self] + list(to_append)
|
|
40
|
+
else:
|
|
41
|
+
to_concat = [self, to_append]
|
|
42
|
+
return pd.concat(to_concat, ignore_index=ignore_index, verify_integrity=verify_integrity)
|
|
43
|
+
pd.Series.append = _series_append
|
|
44
|
+
|
|
45
|
+
# --- Patch 3: Fix deprecated resample frequency aliases ---
|
|
46
|
+
# "M" -> "ME", "Q" -> "QE", "Y" -> "YE", "H" -> "h", "T" -> "min", "S" -> "s"
|
|
47
|
+
_original_resample = pd.DataFrame.resample
|
|
48
|
+
_FREQ_ALIAS_MAP = {
|
|
49
|
+
'M': 'ME', 'Q': 'QE', 'Y': 'YE', 'A': 'YE',
|
|
50
|
+
'BM': 'BME', 'BQ': 'BQE', 'BA': 'BYE', 'BY': 'BYE',
|
|
51
|
+
'BMS': 'BMS', 'QS': 'QS', 'AS': 'YS', 'BAS': 'BYS',
|
|
52
|
+
'H': 'h', 'T': 'min', 'S': 's', 'L': 'ms', 'U': 'us', 'N': 'ns',
|
|
53
|
+
}
|
|
54
|
+
def _patched_resample(self, rule, *args, **kwargs):
|
|
55
|
+
if isinstance(rule, str) and rule in _FREQ_ALIAS_MAP:
|
|
56
|
+
rule = _FREQ_ALIAS_MAP[rule]
|
|
57
|
+
return _original_resample(self, rule, *args, **kwargs)
|
|
58
|
+
pd.DataFrame.resample = _patched_resample
|
|
59
|
+
|
|
60
|
+
# Also patch Series.resample
|
|
61
|
+
_original_series_resample = pd.Series.resample
|
|
62
|
+
def _patched_series_resample(self, rule, *args, **kwargs):
|
|
63
|
+
if isinstance(rule, str) and rule in _FREQ_ALIAS_MAP:
|
|
64
|
+
rule = _FREQ_ALIAS_MAP[rule]
|
|
65
|
+
return _original_series_resample(self, rule, *args, **kwargs)
|
|
66
|
+
pd.Series.resample = _patched_series_resample
|
|
67
|
+
|
|
68
|
+
# --- Patch 4: Fix pd.Grouper freq aliases ---
|
|
69
|
+
_original_grouper = pd.Grouper
|
|
70
|
+
class _PatchedGrouper(_original_grouper):
|
|
71
|
+
def __init__(self, *args, **kwargs):
|
|
72
|
+
if 'freq' in kwargs and isinstance(kwargs['freq'], str):
|
|
73
|
+
kwargs['freq'] = _FREQ_ALIAS_MAP.get(kwargs['freq'], kwargs['freq'])
|
|
74
|
+
super().__init__(*args, **kwargs)
|
|
75
|
+
pd.Grouper = _PatchedGrouper
|
|
76
|
+
|
|
77
|
+
except ImportError:
|
|
78
|
+
pass
|
|
79
|
+
|
|
80
|
+
# ============================================================
|
|
81
|
+
# Patch matplotlib to auto-save figures
|
|
82
|
+
# ============================================================
|
|
83
|
+
_figure_count = [0]
|
|
84
|
+
try:
|
|
85
|
+
import matplotlib
|
|
86
|
+
matplotlib.use("Agg")
|
|
87
|
+
import matplotlib.pyplot as plt
|
|
88
|
+
|
|
89
|
+
_original_show = plt.show
|
|
90
|
+
def _patched_show(*args, **kwargs):
|
|
91
|
+
for fig_num in plt.get_fignums():
|
|
92
|
+
fig = plt.figure(fig_num)
|
|
93
|
+
fname = f"${o}/chart_{_figure_count[0]}.png"
|
|
94
|
+
fig.savefig(fname, dpi=150, bbox_inches="tight", facecolor="white")
|
|
95
|
+
_figure_count[0] += 1
|
|
96
|
+
plt.close("all")
|
|
97
|
+
plt.show = _patched_show
|
|
98
|
+
except ImportError:
|
|
99
|
+
pass
|
|
100
|
+
|
|
101
|
+
# ============================================================
|
|
102
|
+
# Execute user code with robust error handling
|
|
103
|
+
# ============================================================
|
|
104
|
+
try:
|
|
105
|
+
exec(${JSON.stringify(m)})
|
|
106
|
+
|
|
107
|
+
# Auto-save any remaining matplotlib figures
|
|
108
|
+
try:
|
|
109
|
+
import matplotlib.pyplot as plt
|
|
110
|
+
if plt.get_fignums():
|
|
111
|
+
plt.show()
|
|
112
|
+
except (ImportError, Exception):
|
|
113
|
+
pass
|
|
114
|
+
except SystemExit as e:
|
|
115
|
+
# Let explicit sys.exit() calls through
|
|
116
|
+
if e.code != 0:
|
|
117
|
+
sys.exit(e.code)
|
|
118
|
+
except Exception as e:
|
|
119
|
+
# Print a clean, user-readable error instead of raw traceback
|
|
120
|
+
error_type = type(e).__name__
|
|
121
|
+
error_msg = str(e)
|
|
122
|
+
print(f"Error ({error_type}): {error_msg}", file=sys.stderr)
|
|
123
|
+
# Also print the relevant part of the traceback for debugging
|
|
124
|
+
tb = traceback.extract_tb(sys.exc_info()[2])
|
|
125
|
+
# Filter to only show the exec'd code frames (skip wrapper frames)
|
|
126
|
+
user_frames = [f for f in tb if f.filename == '<string>']
|
|
127
|
+
if user_frames:
|
|
128
|
+
last = user_frames[-1]
|
|
129
|
+
print(f" at line {last.lineno}: {last.line}", file=sys.stderr)
|
|
130
|
+
sys.exit(1)
|
|
131
|
+
|
|
132
|
+
# List generated artifacts
|
|
133
|
+
artifacts = []
|
|
134
|
+
if os.path.isdir("${o}"):
|
|
135
|
+
for f in sorted(os.listdir("${o}")):
|
|
136
|
+
fp = os.path.join("${o}", f)
|
|
137
|
+
if os.path.isfile(fp):
|
|
138
|
+
artifacts.append(f)
|
|
139
|
+
if artifacts:
|
|
140
|
+
print("\\n__ARTIFACTS__:" + json.dumps(artifacts))
|
|
141
|
+
`;let t=a.default.join(u,"run.py");await r.promises.writeFile(t,n,"utf8"),l=["python3","/sandbox/run.py"]}else{let t=a.default.join(u,"run.js");await r.promises.writeFile(t,e.code,"utf8"),l=["node","/sandbox/run.js"]}let h=e.timeout??t.timeoutMs,_=null;try{_=await d.createContainer({Image:t.imageName,Cmd:l,Entrypoint:[],WorkingDir:"/sandbox/input",HostConfig:{AutoRemove:!1,Memory:1024*t.memoryMB*1024,CpuShares:t.cpuShares,NetworkMode:t.networkDisabled?"none":"bridge",Binds:[`${f}:/sandbox/input:ro`,`${g}:${o}:rw`,`${u}/run.py:/sandbox/run.py:ro`],ReadonlyRootfs:!1},Tty:!1,AttachStdout:!0,AttachStderr:!0}),await _.start();let e=_.wait(),s=new Promise((e,t)=>{setTimeout(async()=>{try{await _?.kill()}catch{}t(Error(`Execution timed out after ${h}ms`))},h)}),i=await Promise.race([e,s]),n=await _.logs({stdout:!0,stderr:!0,follow:!1}),c=function(e){let t="",r="";if("string"==typeof e)return{stdout:e,stderr:""};let a=0;for(;a<e.length&&!(a+8>e.length);){let s=e.readUInt8(a),i=e.readUInt32BE(a+4);if((a+=8)+i>e.length)break;let n=e.subarray(a,a+i).toString("utf8");1===s?t+=n:2===s&&(r+=n),a+=i}return t||r||!(e.length>0)||(t=e.toString("utf8")),{stdout:t,stderr:r}}(n),m=[];try{for(let e of(await r.promises.readdir(g))){let t=a.default.join(g,e),s=await r.promises.readFile(t),i={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".svg":"image/svg+xml",".gif":"image/gif",".csv":"text/csv",".json":"application/json",".txt":"text/plain",".html":"text/html",".pdf":"application/pdf"}[a.default.extname(e).toLowerCase()]??"application/octet-stream";m.push({name:e,mimeType:i,data:s.toString("base64")})}}catch{}let{stdout:w,stderr:x}=c;return{stdout:w.replace(/\n__ARTIFACTS__:.*$/m,"").trimEnd(),stderr:x,exitCode:i.StatusCode??1,artifacts:m,executionTimeMs:Date.now()-p}}catch(e){return{stdout:"",stderr:e.message??"Execution failed",exitCode:1,artifacts:[],executionTimeMs:Date.now()-p}}finally{if(_)try{await _.remove({force:!0})}catch{}try{await r.promises.rm(u,{recursive:!0,force:!0})}catch{}}}let m={imageName:"larkup-sandbox:latest",memoryMB:512,cpuShares:1024,timeoutMs:3e4,networkDisabled:!0};e.s(["SandboxManager",0,class{config;constructor(e){this.config={backend:e?.backend??"docker",docker:e?.docker,remote:e?.remote}}async healthCheck(){switch(this.config.backend){case"docker":return p();case"e2b":case"modal":case"custom":return{status:"error",backend:this.config.backend,error:`${this.config.backend} backend is not yet implemented. Use Docker for local execution.`};default:return{status:"error",backend:this.config.backend,error:`Unknown backend: ${this.config.backend}`}}}async setup(e){if("docker"===this.config.backend)await u(e);else throw Error(`Setup not supported for backend: ${this.config.backend}`)}async execute(e){switch(this.config.backend){case"docker":if(!await f())return{stdout:"",stderr:"Sandbox image not available. Run setup first or ensure Docker is installed.",exitCode:1,artifacts:[],executionTimeMs:0};return g(e,{...m,...this.config.docker});case"e2b":case"modal":case"custom":return{stdout:"",stderr:`${this.config.backend} backend is not yet implemented.`,exitCode:1,artifacts:[],executionTimeMs:0};default:return{stdout:"",stderr:`Unknown backend: ${this.config.backend}`,exitCode:1,artifacts:[],executionTimeMs:0}}}}],778923),e.s([],983131)},93401,e=>{"use strict";var t=e.i(850492),r=e.i(891119),a=e.i(697373),s=e.i(765700),i=e.i(601263),n=e.i(706859),o=e.i(947547),l=e.i(819797),d=e.i(135958),c=e.i(86520),p=e.i(970949),u=e.i(741165),f=e.i(106898),g=e.i(454415),m=e.i(37125),h=e.i(193695);e.i(530058);var _=e.i(605998),w=e.i(686296);e.i(907667);var x=e.i(490517),y=e.i(203523);async function b(e){try{let t,{sessionId:r,fileBase64:a,parsedDocument:s,fileName:i,mimeType:n,activeFileType:o}=await e.json();if(!r||!a)return w.NextResponse.json({error:"Missing sessionId or fileBase64"},{status:400});let l=Buffer.from(a,"base64");if(s&&s.fields&&s.fields.length>0)t=s;else try{(t=await (0,y.parseDocument)(l,i||"Document",n||"application/pdf")).sessionId=r}catch(e){console.warn("[doc-editor/restore] Re-parse failed, using empty parsed:",e.message),t={sessionId:r,fileName:i||"Document",type:o||"pdf",mimeType:n||"application/pdf",fileSize:l.length,pages:[],fields:[],rawText:"",metadata:{},totalPages:1}}let d={id:r,fileName:i||t.fileName||"Document",type:o||t.type||"pdf",mimeType:n||t.mimeType||"application/pdf",originalFileBase64:a,currentFileBase64:a,parsed:t,edits:[],createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()};return(0,x.restoreSession)(d),console.log(`[doc-editor/restore] Session ${r} restored with ${t.fields?.length??0} fields`),w.NextResponse.json({success:!0,message:"Session restored in backend"})}catch(e){return console.error("Error restoring session:",e),w.NextResponse.json({error:e.message||"Failed to restore session"},{status:500})}}e.s(["POST",0,b],55042);var k=e.i(55042);let v=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/doc-editor/restore/route",pathname:"/api/doc-editor/restore",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/doc-editor/restore/route.ts",nextConfigOutput:"standalone",userland:k,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:R,serverHooks:S}=v;async function A(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),v.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/doc-editor/restore/route";w=w.replace(/\/index$/,"")||"/";let x=await v.prepare(e,t,{srcPage:w,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,deploymentId:b,params:k,nextConfig:E,parsedUrl:R,isDraftMode:S,prerenderManifest:A,routerServerContext:C,isOnDemandRevalidate:P,revalidateOnlyGenerated:T,resolvedPathname:M,clientReferenceManifest:F,serverActionsManifest:D}=x,I=(0,o.normalizeAppPath)(w),q=!!(A.dynamicRoutes[I]||A.routes[M]),N=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,R,!1):t.end("This page could not be found"),null);if(q&&!S){let e=!!A.routes[M],t=A.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await N();throw new h.NoFallbackError}}let j=null;!q||v.isDev||S||(j="/index"===(j=M)?"/":j);let B=!0===v.isDev||!q,$=q&&!B;D&&F&&(0,n.setManifestsSingleton)({page:w,clientReferenceManifest:F,serverActionsManifest:D});let O=e.method||"GET",U=(0,i.getTracer)(),H=U.getActiveScopeSpan(),L=!!(null==C?void 0:C.isWrappedByNextServer),Q=!!(0,s.getRequestMeta)(e,"minimalMode"),Y=(0,s.getRequestMeta)(e,"incrementalCache")||await v.getIncrementalCache(e,E,A,Q);null==Y||Y.resetRequestCache(),globalThis.__incrementalCache=Y;let G={params:k,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:B,incrementalCache:Y,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>v.onRequestError(e,t,a,s,C)},sharedContext:{buildId:y,deploymentId:b}},K=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),V=d.NextRequestAdapter.fromNodeNextRequest(K,(0,d.signalFromNodeResponse)(t));try{let s,n=async e=>v.handle(V,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${O} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${O} ${w}`)}),o=async s=>{var i,o;let l=async({previousCacheEntry:r})=>{try{if(!Q&&P&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await n(s);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!q)return await (0,u.sendResponse)(K,W,i,G.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,a=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:_.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await v.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:P})},!1,C),t}},d=await v.handleResponse({req:e,nextConfig:E,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:Q});if(!q)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==_.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});Q||t.setHeader("x-nextjs-cache",P?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return Q&&q||c.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,g.getCacheControlHeader)(d.cacheControl)),await (0,u.sendResponse)(K,W,new Response(d.value.body,{headers:c,status:d.value.status||200})),null};L&&H?await o(H):(s=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(c.BaseServerSpan.handleRequest,{spanName:`${O} ${w}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":e.url}},o),void 0,!L))}catch(t){if(t instanceof h.NoFallbackError||await v.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:P})},!1,C),q)throw t;return await (0,u.sendResponse)(K,W,new Response(null,{status:500})),null}}e.s(["handler",0,A,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:R})},"routeModule",0,v,"serverHooks",0,S,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,R],93401)},195213,e=>{e.v(e=>Promise.resolve().then(()=>e(568886)))}];
|
|
142
|
+
|
|
143
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__03l~uw5._.js.map
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
module.exports=[750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},224361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},688947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},427699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},811917,(e,t,r)=>{t.exports=e.x("dockerode-2f9c00396d72a1e4",()=>require("dockerode-2f9c00396d72a1e4"))},983131,778923,e=>{"use strict";var t=e.i(811917),r=e.i(902157),a=e.i(750227),i=e.i(660526),n=e.i(666680);let s="larkup-sandbox:latest",o="/sandbox/output",l=a.default.join({get url(){return`file://${e.P("packages/sandbox/dist/docker-runner.js")}`}}.dirname??"/ROOT/packages/sandbox/dist",".."),d=null;function c(){return d||(d=new t.default),d}async function p(){let e=c();try{let t=await e.version(),r=await e.listImages({filters:{reference:[s]}});return{status:r.length>0?"ready":"image-not-found",backend:"docker",dockerVersion:t.Version,imageReady:r.length>0}}catch(e){return{status:"docker-not-found",backend:"docker",error:e.message??"Docker daemon not available"}}}async function u(e){let t=c(),i=a.default.join(l,"Dockerfile");try{await r.promises.access(i)}catch{throw Error(`Sandbox Dockerfile not found at ${i}. Ensure the @larkup/sandbox package is properly installed.`)}e?.("Building sandbox image…");let n=await t.buildImage({context:l,src:["Dockerfile"]},{t:s});await new Promise((r,a)=>{t.modem.followProgress(n,e=>{e?a(e):r()},t=>{t.stream&&e?.(t.stream.trim())})}),e?.("Sandbox image built successfully ✓")}async function f(){let e=c();if((await e.listImages({filters:{reference:[s]}})).length>0)return!0;try{return await u(),!0}catch{return!1}}async function g(e,t){let s,l,d=c(),p=Date.now(),u=a.default.join(i.default.tmpdir(),`larkup-sandbox-${(0,n.randomUUID)()}`),f=a.default.join(u,"input"),g=a.default.join(u,"output");if(await r.promises.mkdir(f,{recursive:!0}),await r.promises.mkdir(g,{recursive:!0}),e.files)for(let t of e.files){let e=a.default.join(f,t.name);t.isBase64?await r.promises.writeFile(e,Buffer.from(t.content,"base64")):await r.promises.writeFile(e,t.content,"utf8")}if("python"===e.language){var m;m=e.code,s=`
|
|
2
|
+
import sys, os, json, traceback
|
|
3
|
+
|
|
4
|
+
# Ensure output directory exists
|
|
5
|
+
os.makedirs("${o}", exist_ok=True)
|
|
6
|
+
|
|
7
|
+
# ============================================================
|
|
8
|
+
# SAFETY PREAMBLE: Suppress warnings & patch deprecated APIs
|
|
9
|
+
# ============================================================
|
|
10
|
+
import warnings
|
|
11
|
+
warnings.filterwarnings('ignore', category=FutureWarning)
|
|
12
|
+
warnings.filterwarnings('ignore', category=DeprecationWarning)
|
|
13
|
+
warnings.filterwarnings('ignore', category=UserWarning)
|
|
14
|
+
|
|
15
|
+
# Auto-import common data analysis modules
|
|
16
|
+
import numpy as np
|
|
17
|
+
|
|
18
|
+
try:
|
|
19
|
+
import pandas as pd
|
|
20
|
+
|
|
21
|
+
# --- Patch 1: DataFrame.append() was removed in pandas 2.0 ---
|
|
22
|
+
if not hasattr(pd.DataFrame, 'append'):
|
|
23
|
+
def _df_append(self, other, ignore_index=False, verify_integrity=False, sort=False, **kwargs):
|
|
24
|
+
"""Backwards-compatible append using pd.concat."""
|
|
25
|
+
if isinstance(other, (list, tuple)):
|
|
26
|
+
to_concat = [self] + list(other)
|
|
27
|
+
elif isinstance(other, dict):
|
|
28
|
+
to_concat = [self, pd.DataFrame([other])]
|
|
29
|
+
else:
|
|
30
|
+
to_concat = [self, other]
|
|
31
|
+
return pd.concat(to_concat, ignore_index=ignore_index, verify_integrity=verify_integrity, sort=sort)
|
|
32
|
+
pd.DataFrame.append = _df_append
|
|
33
|
+
|
|
34
|
+
# --- Patch 2: Series.append() was removed in pandas 2.0 ---
|
|
35
|
+
if not hasattr(pd.Series, 'append'):
|
|
36
|
+
def _series_append(self, to_append, ignore_index=False, verify_integrity=False):
|
|
37
|
+
"""Backwards-compatible Series.append using pd.concat."""
|
|
38
|
+
if isinstance(to_append, (list, tuple)):
|
|
39
|
+
to_concat = [self] + list(to_append)
|
|
40
|
+
else:
|
|
41
|
+
to_concat = [self, to_append]
|
|
42
|
+
return pd.concat(to_concat, ignore_index=ignore_index, verify_integrity=verify_integrity)
|
|
43
|
+
pd.Series.append = _series_append
|
|
44
|
+
|
|
45
|
+
# --- Patch 3: Fix deprecated resample frequency aliases ---
|
|
46
|
+
# "M" -> "ME", "Q" -> "QE", "Y" -> "YE", "H" -> "h", "T" -> "min", "S" -> "s"
|
|
47
|
+
_original_resample = pd.DataFrame.resample
|
|
48
|
+
_FREQ_ALIAS_MAP = {
|
|
49
|
+
'M': 'ME', 'Q': 'QE', 'Y': 'YE', 'A': 'YE',
|
|
50
|
+
'BM': 'BME', 'BQ': 'BQE', 'BA': 'BYE', 'BY': 'BYE',
|
|
51
|
+
'BMS': 'BMS', 'QS': 'QS', 'AS': 'YS', 'BAS': 'BYS',
|
|
52
|
+
'H': 'h', 'T': 'min', 'S': 's', 'L': 'ms', 'U': 'us', 'N': 'ns',
|
|
53
|
+
}
|
|
54
|
+
def _patched_resample(self, rule, *args, **kwargs):
|
|
55
|
+
if isinstance(rule, str) and rule in _FREQ_ALIAS_MAP:
|
|
56
|
+
rule = _FREQ_ALIAS_MAP[rule]
|
|
57
|
+
return _original_resample(self, rule, *args, **kwargs)
|
|
58
|
+
pd.DataFrame.resample = _patched_resample
|
|
59
|
+
|
|
60
|
+
# Also patch Series.resample
|
|
61
|
+
_original_series_resample = pd.Series.resample
|
|
62
|
+
def _patched_series_resample(self, rule, *args, **kwargs):
|
|
63
|
+
if isinstance(rule, str) and rule in _FREQ_ALIAS_MAP:
|
|
64
|
+
rule = _FREQ_ALIAS_MAP[rule]
|
|
65
|
+
return _original_series_resample(self, rule, *args, **kwargs)
|
|
66
|
+
pd.Series.resample = _patched_series_resample
|
|
67
|
+
|
|
68
|
+
# --- Patch 4: Fix pd.Grouper freq aliases ---
|
|
69
|
+
_original_grouper = pd.Grouper
|
|
70
|
+
class _PatchedGrouper(_original_grouper):
|
|
71
|
+
def __init__(self, *args, **kwargs):
|
|
72
|
+
if 'freq' in kwargs and isinstance(kwargs['freq'], str):
|
|
73
|
+
kwargs['freq'] = _FREQ_ALIAS_MAP.get(kwargs['freq'], kwargs['freq'])
|
|
74
|
+
super().__init__(*args, **kwargs)
|
|
75
|
+
pd.Grouper = _PatchedGrouper
|
|
76
|
+
|
|
77
|
+
except ImportError:
|
|
78
|
+
pass
|
|
79
|
+
|
|
80
|
+
# ============================================================
|
|
81
|
+
# Patch matplotlib to auto-save figures
|
|
82
|
+
# ============================================================
|
|
83
|
+
_figure_count = [0]
|
|
84
|
+
try:
|
|
85
|
+
import matplotlib
|
|
86
|
+
matplotlib.use("Agg")
|
|
87
|
+
import matplotlib.pyplot as plt
|
|
88
|
+
|
|
89
|
+
_original_show = plt.show
|
|
90
|
+
def _patched_show(*args, **kwargs):
|
|
91
|
+
for fig_num in plt.get_fignums():
|
|
92
|
+
fig = plt.figure(fig_num)
|
|
93
|
+
fname = f"${o}/chart_{_figure_count[0]}.png"
|
|
94
|
+
fig.savefig(fname, dpi=150, bbox_inches="tight", facecolor="white")
|
|
95
|
+
_figure_count[0] += 1
|
|
96
|
+
plt.close("all")
|
|
97
|
+
plt.show = _patched_show
|
|
98
|
+
except ImportError:
|
|
99
|
+
pass
|
|
100
|
+
|
|
101
|
+
# ============================================================
|
|
102
|
+
# Execute user code with robust error handling
|
|
103
|
+
# ============================================================
|
|
104
|
+
try:
|
|
105
|
+
exec(${JSON.stringify(m)})
|
|
106
|
+
|
|
107
|
+
# Auto-save any remaining matplotlib figures
|
|
108
|
+
try:
|
|
109
|
+
import matplotlib.pyplot as plt
|
|
110
|
+
if plt.get_fignums():
|
|
111
|
+
plt.show()
|
|
112
|
+
except (ImportError, Exception):
|
|
113
|
+
pass
|
|
114
|
+
except SystemExit as e:
|
|
115
|
+
# Let explicit sys.exit() calls through
|
|
116
|
+
if e.code != 0:
|
|
117
|
+
sys.exit(e.code)
|
|
118
|
+
except Exception as e:
|
|
119
|
+
# Print a clean, user-readable error instead of raw traceback
|
|
120
|
+
error_type = type(e).__name__
|
|
121
|
+
error_msg = str(e)
|
|
122
|
+
print(f"Error ({error_type}): {error_msg}", file=sys.stderr)
|
|
123
|
+
# Also print the relevant part of the traceback for debugging
|
|
124
|
+
tb = traceback.extract_tb(sys.exc_info()[2])
|
|
125
|
+
# Filter to only show the exec'd code frames (skip wrapper frames)
|
|
126
|
+
user_frames = [f for f in tb if f.filename == '<string>']
|
|
127
|
+
if user_frames:
|
|
128
|
+
last = user_frames[-1]
|
|
129
|
+
print(f" at line {last.lineno}: {last.line}", file=sys.stderr)
|
|
130
|
+
sys.exit(1)
|
|
131
|
+
|
|
132
|
+
# List generated artifacts
|
|
133
|
+
artifacts = []
|
|
134
|
+
if os.path.isdir("${o}"):
|
|
135
|
+
for f in sorted(os.listdir("${o}")):
|
|
136
|
+
fp = os.path.join("${o}", f)
|
|
137
|
+
if os.path.isfile(fp):
|
|
138
|
+
artifacts.append(f)
|
|
139
|
+
if artifacts:
|
|
140
|
+
print("\\n__ARTIFACTS__:" + json.dumps(artifacts))
|
|
141
|
+
`;let t=a.default.join(u,"run.py");await r.promises.writeFile(t,s,"utf8"),l=["python3","/sandbox/run.py"]}else{let t=a.default.join(u,"run.js");await r.promises.writeFile(t,e.code,"utf8"),l=["node","/sandbox/run.js"]}let h=e.timeout??t.timeoutMs,_=null;try{_=await d.createContainer({Image:t.imageName,Cmd:l,Entrypoint:[],WorkingDir:"/sandbox/input",HostConfig:{AutoRemove:!1,Memory:1024*t.memoryMB*1024,CpuShares:t.cpuShares,NetworkMode:t.networkDisabled?"none":"bridge",Binds:[`${f}:/sandbox/input:ro`,`${g}:${o}:rw`,`${u}/run.py:/sandbox/run.py:ro`],ReadonlyRootfs:!1},Tty:!1,AttachStdout:!0,AttachStderr:!0}),await _.start();let e=_.wait(),i=new Promise((e,t)=>{setTimeout(async()=>{try{await _?.kill()}catch{}t(Error(`Execution timed out after ${h}ms`))},h)}),n=await Promise.race([e,i]),s=await _.logs({stdout:!0,stderr:!0,follow:!1}),c=function(e){let t="",r="";if("string"==typeof e)return{stdout:e,stderr:""};let a=0;for(;a<e.length&&!(a+8>e.length);){let i=e.readUInt8(a),n=e.readUInt32BE(a+4);if((a+=8)+n>e.length)break;let s=e.subarray(a,a+n).toString("utf8");1===i?t+=s:2===i&&(r+=s),a+=n}return t||r||!(e.length>0)||(t=e.toString("utf8")),{stdout:t,stderr:r}}(s),m=[];try{for(let e of(await r.promises.readdir(g))){let t=a.default.join(g,e),i=await r.promises.readFile(t),n={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".svg":"image/svg+xml",".gif":"image/gif",".csv":"text/csv",".json":"application/json",".txt":"text/plain",".html":"text/html",".pdf":"application/pdf"}[a.default.extname(e).toLowerCase()]??"application/octet-stream";m.push({name:e,mimeType:n,data:i.toString("base64")})}}catch{}let{stdout:x,stderr:w}=c;return{stdout:x.replace(/\n__ARTIFACTS__:.*$/m,"").trimEnd(),stderr:w,exitCode:n.StatusCode??1,artifacts:m,executionTimeMs:Date.now()-p}}catch(e){return{stdout:"",stderr:e.message??"Execution failed",exitCode:1,artifacts:[],executionTimeMs:Date.now()-p}}finally{if(_)try{await _.remove({force:!0})}catch{}try{await r.promises.rm(u,{recursive:!0,force:!0})}catch{}}}let m={imageName:"larkup-sandbox:latest",memoryMB:512,cpuShares:1024,timeoutMs:3e4,networkDisabled:!0};e.s(["SandboxManager",0,class{config;constructor(e){this.config={backend:e?.backend??"docker",docker:e?.docker,remote:e?.remote}}async healthCheck(){switch(this.config.backend){case"docker":return p();case"e2b":case"modal":case"custom":return{status:"error",backend:this.config.backend,error:`${this.config.backend} backend is not yet implemented. Use Docker for local execution.`};default:return{status:"error",backend:this.config.backend,error:`Unknown backend: ${this.config.backend}`}}}async setup(e){if("docker"===this.config.backend)await u(e);else throw Error(`Setup not supported for backend: ${this.config.backend}`)}async execute(e){switch(this.config.backend){case"docker":if(!await f())return{stdout:"",stderr:"Sandbox image not available. Run setup first or ensure Docker is installed.",exitCode:1,artifacts:[],executionTimeMs:0};return g(e,{...m,...this.config.docker});case"e2b":case"modal":case"custom":return{stdout:"",stderr:`${this.config.backend} backend is not yet implemented.`,exitCode:1,artifacts:[],executionTimeMs:0};default:return{stdout:"",stderr:`Unknown backend: ${this.config.backend}`,exitCode:1,artifacts:[],executionTimeMs:0}}}}],778923),e.s([],983131)},179453,e=>{"use strict";var t=e.i(850492),r=e.i(891119),a=e.i(697373),i=e.i(765700),n=e.i(601263),s=e.i(706859),o=e.i(947547),l=e.i(819797),d=e.i(135958),c=e.i(86520),p=e.i(970949),u=e.i(741165),f=e.i(106898),g=e.i(454415),m=e.i(37125),h=e.i(193695);e.i(530058);var _=e.i(605998),x=e.i(686296);e.i(907667);var w=e.i(490517);async function y(e){let t=new URL(e.url).searchParams.get("sessionId");if(!t)return x.NextResponse.json({error:"sessionId required"},{status:400});let r=(0,w.exportDocument)(t);return r?new x.NextResponse(r.buffer,{status:200,headers:{"Content-Type":r.mimeType,"Content-Disposition":`attachment; filename="${encodeURIComponent(r.fileName)}"`,"Content-Length":String(r.buffer.length)}}):x.NextResponse.json({error:"Session not found"},{status:404})}e.s(["GET",0,y,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],1263);var b=e.i(1263);let k=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/doc-editor/export/route",pathname:"/api/doc-editor/export",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/doc-editor/export/route.ts",nextConfigOutput:"standalone",userland:b,...{}}),{workAsyncStorage:v,workUnitAsyncStorage:E,serverHooks:R}=k;async function A(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),k.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/doc-editor/export/route";x=x.replace(/\/index$/,"")||"/";let w=await k.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,deploymentId:b,params:v,nextConfig:E,parsedUrl:R,isDraftMode:A,prerenderManifest:S,routerServerContext:C,isOnDemandRevalidate:P,revalidateOnlyGenerated:T,resolvedPathname:M,clientReferenceManifest:q,serverActionsManifest:I}=w,F=(0,o.normalizeAppPath)(x),D=!!(S.dynamicRoutes[F]||S.routes[M]),N=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,R,!1):t.end("This page could not be found"),null);if(D&&!A){let e=!!S.routes[M],t=S.dynamicRoutes[F];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await N();throw new h.NoFallbackError}}let j=null;!D||k.isDev||A||(j="/index"===(j=M)?"/":j);let $=!0===k.isDev||!D,B=D&&!$;I&&q&&(0,s.setManifestsSingleton)({page:x,clientReferenceManifest:q,serverActionsManifest:I});let U=e.method||"GET",O=(0,n.getTracer)(),H=O.getActiveScopeSpan(),L=!!(null==C?void 0:C.isWrappedByNextServer),Q=!!(0,i.getRequestMeta)(e,"minimalMode"),Y=(0,i.getRequestMeta)(e,"incrementalCache")||await k.getIncrementalCache(e,E,S,Q);null==Y||Y.resetRequestCache(),globalThis.__incrementalCache=Y;let G={params:v,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:$,incrementalCache:Y,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,i)=>k.onRequestError(e,t,a,i,C)},sharedContext:{buildId:y,deploymentId:b}},K=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),V=d.NextRequestAdapter.fromNodeNextRequest(K,(0,d.signalFromNodeResponse)(t));try{let i,s=async e=>k.handle(V,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=O.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let 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),i&&i!==e&&(i.setAttribute("http.route",a),i.updateName(t))}else e.updateName(`${U} ${x}`)}),o=async i=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!Q&&P&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await s(i);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!D)return await (0,u.sendResponse)(K,W,n,G.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,a=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:_.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:P})},!1,C),t}},d=await k.handleResponse({req:e,nextConfig:E,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:Q});if(!D)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==_.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});Q||t.setHeader("x-nextjs-cache",P?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return Q&&D||c.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,g.getCacheControlHeader)(d.cacheControl)),await (0,u.sendResponse)(K,W,new Response(d.value.body,{headers:c,status:d.value.status||200})),null};L&&H?await o(H):(i=O.getActiveScopeSpan(),await O.withPropagatedContext(e.headers,()=>O.trace(c.BaseServerSpan.handleRequest,{spanName:`${U} ${x}`,kind:n.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},o),void 0,!L))}catch(t){if(t instanceof h.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:F,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:P})},!1,C),D)throw t;return await (0,u.sendResponse)(K,W,new Response(null,{status:500})),null}}e.s(["handler",0,A,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:E})},"routeModule",0,k,"serverHooks",0,R,"workAsyncStorage",0,v,"workUnitAsyncStorage",0,E],179453)},195213,e=>{e.v(e=>Promise.resolve().then(()=>e(568886)))}];
|
|
142
|
+
|
|
143
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__044l2_f._.js.map
|