larkup 0.1.36 → 0.1.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +3 -3
- package/.next/diagnostics/route-bundle-stats.json +12 -12
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/required-server-files.js +1 -1
- package/.next/required-server-files.json +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +18 -18
- package/.next/server/app/_not-found.segments/_full.segment.rsc +18 -18
- package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/server/app/_not-found.segments/_index.segment.rsc +12 -12
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/analytics/page_client-reference-manifest.js +1 -1
- package/.next/server/app/analytics.html +1 -1
- package/.next/server/app/analytics.rsc +19 -19
- package/.next/server/app/analytics.segments/_full.segment.rsc +19 -19
- package/.next/server/app/analytics.segments/_head.segment.rsc +4 -4
- package/.next/server/app/analytics.segments/_index.segment.rsc +12 -12
- package/.next/server/app/analytics.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/analytics.segments/analytics/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/analytics.segments/analytics.segment.rsc +3 -3
- package/.next/server/app/api/analytics/route.js.nft.json +1 -1
- package/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/.next/server/app/api/chat/status/route.js.nft.json +1 -1
- package/.next/server/app/api/chat/suggestions/route.js.nft.json +1 -1
- package/.next/server/app/api/config/route.js.nft.json +1 -1
- package/.next/server/app/api/config/test/route.js.nft.json +1 -1
- package/.next/server/app/api/connections/route.js.nft.json +1 -1
- package/.next/server/app/api/connections/webhook/route.js.nft.json +1 -1
- package/.next/server/app/api/demo/route.js.nft.json +1 -1
- package/.next/server/app/api/deploy/cloud-project/route.js.nft.json +1 -1
- package/.next/server/app/api/deploy/ssh/route.js.nft.json +1 -1
- package/.next/server/app/api/deployment/blob-setup/route.js.nft.json +1 -1
- package/.next/server/app/api/deployment/config/route.js.nft.json +1 -1
- package/.next/server/app/api/describe-image/route.js.nft.json +1 -1
- package/.next/server/app/api/documents/route.js.nft.json +1 -1
- package/.next/server/app/api/firecrawl/local/route.js.nft.json +1 -1
- package/.next/server/app/api/index/route.js.nft.json +1 -1
- package/.next/server/app/api/jobs/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/jobs/route.js.nft.json +1 -1
- package/.next/server/app/api/media/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/media/process/route.js.nft.json +1 -1
- package/.next/server/app/api/media/route.js.nft.json +1 -1
- package/.next/server/app/api/media/stream/route.js.nft.json +1 -1
- package/.next/server/app/api/search/bing/route.js.nft.json +1 -1
- package/.next/server/app/api/search/brave/route.js.nft.json +1 -1
- package/.next/server/app/api/search/exa/route.js.nft.json +1 -1
- package/.next/server/app/api/search/google/route.js.nft.json +1 -1
- package/.next/server/app/api/search/route.js.nft.json +1 -1
- package/.next/server/app/api/search/tavily/route.js.nft.json +1 -1
- package/.next/server/app/api/server/agent/route.js.nft.json +1 -1
- package/.next/server/app/api/server/download/route.js.nft.json +1 -1
- package/.next/server/app/api/server/generate/route.js.nft.json +1 -1
- package/.next/server/app/api/server/local/route.js.nft.json +1 -1
- package/.next/server/app/api/servers/route.js.nft.json +1 -1
- package/.next/server/app/api/tabular/query/route.js.nft.json +1 -1
- package/.next/server/app/api/tabular/route.js.nft.json +1 -1
- package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
- package/.next/server/app/chat.html +1 -1
- package/.next/server/app/chat.rsc +19 -19
- package/.next/server/app/chat.segments/_full.segment.rsc +19 -19
- package/.next/server/app/chat.segments/_head.segment.rsc +4 -4
- package/.next/server/app/chat.segments/_index.segment.rsc +12 -12
- package/.next/server/app/chat.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/chat.segments/chat/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/chat.segments/chat.segment.rsc +3 -3
- package/.next/server/app/data/page_client-reference-manifest.js +1 -1
- package/.next/server/app/data.html +1 -1
- package/.next/server/app/data.rsc +19 -19
- package/.next/server/app/data.segments/_full.segment.rsc +19 -19
- package/.next/server/app/data.segments/_head.segment.rsc +4 -4
- package/.next/server/app/data.segments/_index.segment.rsc +12 -12
- package/.next/server/app/data.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/data.segments/data/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/data.segments/data.segment.rsc +3 -3
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +17 -17
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +17 -17
- package/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/server/app/index.segments/_index.segment.rsc +12 -12
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings.html +1 -1
- package/.next/server/app/settings.rsc +19 -19
- package/.next/server/app/settings.segments/_full.segment.rsc +19 -19
- package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings.segments/_index.segment.rsc +12 -12
- package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings.segments/settings.segment.rsc +3 -3
- package/.next/server/chunks/0598_next_dist_esm_build_templates_app-route_0kbcuk-.js +23 -24
- package/.next/server/chunks/0598_next_dist_esm_build_templates_app-route_0sbf4ny.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1jc54o2._.js +1 -1
- package/.next/server/chunks/_1twj5f0._.js +3 -3
- package/.next/server/chunks/packages_marketplace_src_125_g2p._.js +1 -1
- package/.next/server/chunks/packages_scraper_src_0kkcv_v._.js +1 -1
- package/.next/server/chunks/ssr/_169pdlf._.js +1 -1
- package/.next/server/chunks/ssr/_18jagqc._.js +2 -2
- package/.next/server/chunks/ssr/_1hetwwu._.js +1 -1
- package/.next/server/chunks/ssr/_1yqlx1m._.js +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/standalone/apps/web/.next/BUILD_ID +1 -1
- package/.next/standalone/apps/web/.next/build-manifest.json +3 -3
- package/.next/standalone/apps/web/.next/required-server-files.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.rsc +18 -18
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_full.segment.rsc +18 -18
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_index.segment.rsc +12 -12
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/analytics/page_client-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/app/analytics.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/analytics.rsc +19 -19
- package/.next/standalone/apps/web/.next/server/app/analytics.segments/_full.segment.rsc +19 -19
- package/.next/standalone/apps/web/.next/server/app/analytics.segments/_head.segment.rsc +4 -4
- package/.next/standalone/apps/web/.next/server/app/analytics.segments/_index.segment.rsc +12 -12
- package/.next/standalone/apps/web/.next/server/app/analytics.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/analytics.segments/analytics/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/apps/web/.next/server/app/analytics.segments/analytics.segment.rsc +3 -3
- package/.next/standalone/apps/web/.next/server/app/api/analytics/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/chat/status/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/chat/suggestions/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/config/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/config/test/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/connections/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/connections/webhook/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/demo/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/deploy/cloud-project/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/deploy/ssh/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/deployment/blob-setup/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/deployment/config/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/describe-image/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/documents/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/firecrawl/local/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/index/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/jobs/[id]/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/jobs/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/media/[id]/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/media/process/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/media/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/media/stream/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/search/bing/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/search/brave/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/search/exa/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/search/google/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/search/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/search/tavily/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/server/agent/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/server/download/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/server/generate/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/server/local/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/servers/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/tabular/query/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/api/tabular/route.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/chat/page_client-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/app/chat.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/chat.rsc +19 -19
- package/.next/standalone/apps/web/.next/server/app/chat.segments/_full.segment.rsc +19 -19
- package/.next/standalone/apps/web/.next/server/app/chat.segments/_head.segment.rsc +4 -4
- package/.next/standalone/apps/web/.next/server/app/chat.segments/_index.segment.rsc +12 -12
- package/.next/standalone/apps/web/.next/server/app/chat.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/chat.segments/chat/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/apps/web/.next/server/app/chat.segments/chat.segment.rsc +3 -3
- package/.next/standalone/apps/web/.next/server/app/data/page_client-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/app/data.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/data.rsc +19 -19
- package/.next/standalone/apps/web/.next/server/app/data.segments/_full.segment.rsc +19 -19
- package/.next/standalone/apps/web/.next/server/app/data.segments/_head.segment.rsc +4 -4
- package/.next/standalone/apps/web/.next/server/app/data.segments/_index.segment.rsc +12 -12
- package/.next/standalone/apps/web/.next/server/app/data.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/data.segments/data/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/apps/web/.next/server/app/data.segments/data.segment.rsc +3 -3
- package/.next/standalone/apps/web/.next/server/app/index.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/index.rsc +17 -17
- package/.next/standalone/apps/web/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/index.segments/_full.segment.rsc +17 -17
- package/.next/standalone/apps/web/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/apps/web/.next/server/app/index.segments/_index.segment.rsc +12 -12
- package/.next/standalone/apps/web/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.rsc +19 -19
- package/.next/standalone/apps/web/.next/server/app/settings.segments/_full.segment.rsc +19 -19
- package/.next/standalone/apps/web/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/.next/standalone/apps/web/.next/server/app/settings.segments/_index.segment.rsc +12 -12
- package/.next/standalone/apps/web/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/apps/web/.next/server/app/settings.segments/settings.segment.rsc +3 -3
- package/.next/standalone/apps/web/.next/server/chunks/0598_next_dist_esm_build_templates_app-route_0kbcuk-.js +23 -24
- package/.next/standalone/apps/web/.next/server/chunks/0598_next_dist_esm_build_templates_app-route_0sbf4ny.js +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/[root-of-the-server]__1jc54o2._.js +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/_1twj5f0._.js +3 -3
- package/.next/standalone/apps/web/.next/server/chunks/packages_marketplace_src_125_g2p._.js +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/packages_scraper_src_0kkcv_v._.js +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/_169pdlf._.js +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/_18jagqc._.js +2 -2
- package/.next/standalone/apps/web/.next/server/chunks/ssr/_1hetwwu._.js +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/_1yqlx1m._.js +1 -1
- package/.next/standalone/apps/web/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/apps/web/.next/server/pages/404.html +1 -1
- package/.next/standalone/apps/web/.next/server/pages/500.html +1 -1
- package/.next/standalone/apps/web/.next/static/chunks/{2-st4vd5971ry.js → 06u04tzgkz4_f.js} +1 -1
- package/.next/standalone/apps/web/.next/static/chunks/{3q4k1i384p4oi.js → 19k_g3af0cf7b.js} +1 -1
- package/.next/standalone/apps/web/.next/static/chunks/{3mp3jya53i-g-.js → 19krxv-ou9c8c.js} +6 -6
- package/.next/standalone/apps/web/.next/static/chunks/1_nk3imchwn8a.css +1 -0
- package/.next/standalone/apps/web/.next/static/chunks/{0qyuw19snetjl.js → 2ljwki2xxnblc.js} +2 -2
- package/.next/standalone/apps/web/CHANGELOG.md +17 -0
- package/.next/standalone/apps/web/app/api/chat/route.ts +62 -33
- package/.next/standalone/apps/web/app/api/media/process/route.ts +6 -0
- package/.next/standalone/apps/web/app/api/media/route.ts +3 -2
- package/.next/standalone/apps/web/app/api/media/stream/route.ts +19 -3
- package/.next/standalone/apps/web/app/settings/page.tsx +8 -17
- package/.next/standalone/apps/web/components/chat/chat-workspace.tsx +11 -4
- package/.next/standalone/apps/web/components/chat/message-item.tsx +18 -6
- package/.next/standalone/apps/web/components/chat/tools/knowledge-base-result.tsx +3 -4
- package/.next/standalone/apps/web/components/data/data-workspace.tsx +6 -2
- package/.next/standalone/apps/web/components/data/jobs-panel.tsx +22 -2
- package/.next/standalone/apps/web/components/data/media-panel.tsx +117 -91
- package/.next/standalone/apps/web/components/settings/marketplace-section.tsx +5 -0
- package/.next/standalone/apps/web/components/settings/prompts-section.tsx +13 -3
- package/.next/standalone/apps/web/package.json +1 -1
- package/.next/standalone/apps/web/server.js +1 -1
- package/.next/standalone/packages/tools/video-audio/CHANGELOG.md +6 -0
- package/.next/standalone/packages/tools/video-audio/dist/url-importer.js +34 -8
- package/.next/standalone/packages/tools/video-audio/package.json +1 -1
- package/.next/standalone/packages/tools/video-audio/src/url-importer.ts +56 -21
- package/.next/static/chunks/{2-st4vd5971ry.js → 06u04tzgkz4_f.js} +1 -1
- package/.next/static/chunks/{3q4k1i384p4oi.js → 19k_g3af0cf7b.js} +1 -1
- package/.next/static/chunks/{3mp3jya53i-g-.js → 19krxv-ou9c8c.js} +6 -6
- package/.next/static/chunks/1_nk3imchwn8a.css +1 -0
- package/.next/static/chunks/{0qyuw19snetjl.js → 2ljwki2xxnblc.js} +2 -2
- package/CHANGELOG.md +17 -0
- package/app/api/chat/route.ts +62 -33
- package/app/api/media/process/route.ts +6 -0
- package/app/api/media/route.ts +3 -2
- package/app/api/media/stream/route.ts +19 -3
- package/app/settings/page.tsx +8 -17
- package/components/chat/chat-workspace.tsx +11 -4
- package/components/chat/message-item.tsx +18 -6
- package/components/chat/tools/knowledge-base-result.tsx +3 -4
- package/components/data/data-workspace.tsx +6 -2
- package/components/data/jobs-panel.tsx +22 -2
- package/components/data/media-panel.tsx +117 -91
- package/components/settings/marketplace-section.tsx +5 -0
- package/components/settings/prompts-section.tsx +13 -3
- package/package.json +6 -6
- package/.next/standalone/apps/web/.next/static/chunks/0fa79dhcoeytz.css +0 -1
- package/.next/static/chunks/0fa79dhcoeytz.css +0 -1
- /package/.next/standalone/apps/web/.next/static/{ZV6fJc5ZoZ_a-UPNhgKZS → IOngxM7BWde96UQMAebFB}/_buildManifest.js +0 -0
- /package/.next/standalone/apps/web/.next/static/{ZV6fJc5ZoZ_a-UPNhgKZS → IOngxM7BWde96UQMAebFB}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/apps/web/.next/static/{ZV6fJc5ZoZ_a-UPNhgKZS → IOngxM7BWde96UQMAebFB}/_ssgManifest.js +0 -0
- /package/.next/static/{ZV6fJc5ZoZ_a-UPNhgKZS → IOngxM7BWde96UQMAebFB}/_buildManifest.js +0 -0
- /package/.next/static/{ZV6fJc5ZoZ_a-UPNhgKZS → IOngxM7BWde96UQMAebFB}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{ZV6fJc5ZoZ_a-UPNhgKZS → IOngxM7BWde96UQMAebFB}/_ssgManifest.js +0 -0
|
@@ -428,6 +428,9 @@ function InstallPrompt({
|
|
|
428
428
|
|
|
429
429
|
const handleInstall = async () => {
|
|
430
430
|
setInstalling(true);
|
|
431
|
+
const toastId = toast.loading('Downloading and installing tool…', {
|
|
432
|
+
description: 'This may take a moment on first install.',
|
|
433
|
+
});
|
|
431
434
|
try {
|
|
432
435
|
const res = await fetch(`/api/marketplace/${toolId}`, {
|
|
433
436
|
method: 'POST',
|
|
@@ -436,6 +439,7 @@ function InstallPrompt({
|
|
|
436
439
|
const err = await res.json();
|
|
437
440
|
throw new Error(err.error || 'Install failed');
|
|
438
441
|
}
|
|
442
|
+
toast.dismiss(toastId);
|
|
439
443
|
toast.success('Video & Audio installed', {
|
|
440
444
|
description: 'Choose an audio provider before indexing video or audio.',
|
|
441
445
|
action: {
|
|
@@ -445,6 +449,7 @@ function InstallPrompt({
|
|
|
445
449
|
});
|
|
446
450
|
onInstallComplete();
|
|
447
451
|
} catch (err) {
|
|
452
|
+
toast.dismiss(toastId);
|
|
448
453
|
toast.error(err instanceof Error ? err.message : 'Failed to install tool');
|
|
449
454
|
} finally {
|
|
450
455
|
setInstalling(false);
|
|
@@ -772,7 +777,7 @@ function MediaContent({
|
|
|
772
777
|
|
|
773
778
|
async function handleDelete(assetId: string) {
|
|
774
779
|
try {
|
|
775
|
-
const query = new URLSearchParams({ id: assetId });
|
|
780
|
+
const query = new URLSearchParams({ id: assetId, force: 'true' });
|
|
776
781
|
if (serverId) query.set('serverId', serverId);
|
|
777
782
|
const response = await fetch(`/api/media?${query.toString()}`, { method: 'DELETE' });
|
|
778
783
|
if (!response.ok) {
|
|
@@ -912,93 +917,114 @@ function MediaContent({
|
|
|
912
917
|
{mediaType === 'video' ? ', YouTube videos, or playlists' : ''}. Add up to 10 URLs
|
|
913
918
|
separated by commas.
|
|
914
919
|
</p>
|
|
915
|
-
{remoteEstimates
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
remoteDuration
|
|
931
|
-
? `~${remoteEstimate.processingMinutes} min`
|
|
932
|
-
: 'Calculated during import'
|
|
933
|
-
}
|
|
934
|
-
/>
|
|
935
|
-
<EstimateMetric
|
|
936
|
-
label="Estimated API cost"
|
|
937
|
-
value={
|
|
938
|
-
remoteDuration
|
|
939
|
-
? `~$${remoteEstimate.transcriptionCost.toFixed(2)} +`
|
|
940
|
-
: 'Model-dependent'
|
|
941
|
-
}
|
|
942
|
-
/>
|
|
943
|
-
</div>
|
|
944
|
-
|
|
945
|
-
{(mediaType === 'audio'
|
|
946
|
-
? remoteEstimates.slice(0, 1)
|
|
947
|
-
: remoteEstimates.filter((est: any) => est.mediaType === 'video').slice(0, 1)
|
|
948
|
-
).map((est: any, i: number) => {
|
|
949
|
-
if (mediaType === 'audio') {
|
|
950
|
-
return (
|
|
951
|
-
<div key={i} className="rounded-xl border border-border/70 bg-muted/20 p-3">
|
|
952
|
-
<p className="mb-2 truncate text-[11px] font-medium text-foreground">
|
|
953
|
-
Preview before importing
|
|
954
|
-
</p>
|
|
955
|
-
<audio
|
|
956
|
-
controls
|
|
957
|
-
preload="metadata"
|
|
958
|
-
src={est.originalUrl}
|
|
959
|
-
className="h-9 w-full"
|
|
920
|
+
{remoteEstimates
|
|
921
|
+
? (() => {
|
|
922
|
+
const totalEntries = remoteEstimates.reduce(
|
|
923
|
+
(sum: number, item: any) => sum + (item.entryCount ?? 1),
|
|
924
|
+
0,
|
|
925
|
+
);
|
|
926
|
+
const isPlaylist = totalEntries > 1;
|
|
927
|
+
return (
|
|
928
|
+
<div className="mt-4 flex flex-col gap-4 border-t border-border/70 pt-4">
|
|
929
|
+
<div className="grid gap-2 sm:grid-cols-3">
|
|
930
|
+
<EstimateMetric
|
|
931
|
+
label="Media"
|
|
932
|
+
value={`${totalEntries} item(s) · ${
|
|
933
|
+
remoteDuration ? formatDuration(remoteDuration) : 'duration unavailable'
|
|
934
|
+
}`}
|
|
960
935
|
/>
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
<div
|
|
977
|
-
key={i}
|
|
978
|
-
className="relative w-full overflow-hidden rounded-xl aspect-video shadow-md border border-border/50 ring-1 ring-border/20 bg-black"
|
|
979
|
-
>
|
|
980
|
-
<iframe
|
|
981
|
-
src={embedUrl}
|
|
982
|
-
className="absolute inset-0 w-full h-full"
|
|
983
|
-
frameBorder="0"
|
|
984
|
-
allowFullScreen
|
|
985
|
-
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
|
936
|
+
<EstimateMetric
|
|
937
|
+
label="Expected time"
|
|
938
|
+
value={
|
|
939
|
+
remoteDuration
|
|
940
|
+
? `~${remoteEstimate.processingMinutes} min`
|
|
941
|
+
: 'Calculated during import'
|
|
942
|
+
}
|
|
943
|
+
/>
|
|
944
|
+
<EstimateMetric
|
|
945
|
+
label="Estimated API cost"
|
|
946
|
+
value={
|
|
947
|
+
remoteDuration
|
|
948
|
+
? `~$${remoteEstimate.transcriptionCost.toFixed(2)} +`
|
|
949
|
+
: 'Model-dependent'
|
|
950
|
+
}
|
|
986
951
|
/>
|
|
987
952
|
</div>
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
953
|
+
|
|
954
|
+
{isPlaylist ? (
|
|
955
|
+
<div className="flex items-start gap-2 rounded-lg border border-amber-200 bg-amber-50/60 dark:border-amber-800/50 dark:bg-amber-950/30 px-3 py-2.5">
|
|
956
|
+
<AlertCircle className="size-3.5 shrink-0 mt-0.5 text-amber-600 dark:text-amber-400" />
|
|
957
|
+
<p className="text-[11px] text-amber-800 dark:text-amber-300 leading-relaxed">
|
|
958
|
+
<span className="font-medium">Playlist detected</span> — this will
|
|
959
|
+
download and index{' '}
|
|
960
|
+
<span className="font-semibold">{totalEntries} items</span> (max 10). Each
|
|
961
|
+
item is transcribed and analyzed separately.
|
|
962
|
+
</p>
|
|
963
|
+
</div>
|
|
964
|
+
) : null}
|
|
965
|
+
|
|
966
|
+
{(mediaType === 'audio'
|
|
967
|
+
? remoteEstimates.slice(0, 1)
|
|
968
|
+
: remoteEstimates.filter((est: any) => est.mediaType === 'video').slice(0, 1)
|
|
969
|
+
).map((est: any, i: number) => {
|
|
970
|
+
if (mediaType === 'audio') {
|
|
971
|
+
return (
|
|
972
|
+
<div
|
|
973
|
+
key={i}
|
|
974
|
+
className="rounded-xl border border-border/70 bg-muted/20 p-3"
|
|
975
|
+
>
|
|
976
|
+
<p className="mb-2 truncate text-[11px] font-medium text-foreground">
|
|
977
|
+
Preview before importing
|
|
978
|
+
</p>
|
|
979
|
+
<audio
|
|
980
|
+
controls
|
|
981
|
+
preload="metadata"
|
|
982
|
+
src={est.originalUrl}
|
|
983
|
+
className="h-9 w-full"
|
|
984
|
+
/>
|
|
985
|
+
</div>
|
|
986
|
+
);
|
|
987
|
+
}
|
|
988
|
+
let embedUrl = est.originalUrl;
|
|
989
|
+
if (est.isYouTube) {
|
|
990
|
+
try {
|
|
991
|
+
const u = new URL(est.originalUrl);
|
|
992
|
+
const v = u.hostname.includes('youtu.be')
|
|
993
|
+
? u.pathname.slice(1)
|
|
994
|
+
: u.searchParams.get('v');
|
|
995
|
+
embedUrl = `https://www.youtube.com/embed/${v}`;
|
|
996
|
+
} catch (e) {
|
|
997
|
+
// ignore
|
|
998
|
+
}
|
|
999
|
+
return (
|
|
1000
|
+
<div
|
|
1001
|
+
key={i}
|
|
1002
|
+
className="relative w-full overflow-hidden rounded-xl aspect-video shadow-md border border-border/50 ring-1 ring-border/20 bg-black"
|
|
1003
|
+
>
|
|
1004
|
+
<iframe
|
|
1005
|
+
src={embedUrl}
|
|
1006
|
+
className="absolute inset-0 w-full h-full"
|
|
1007
|
+
frameBorder="0"
|
|
1008
|
+
allowFullScreen
|
|
1009
|
+
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
|
1010
|
+
/>
|
|
1011
|
+
</div>
|
|
1012
|
+
);
|
|
1013
|
+
} else {
|
|
1014
|
+
return (
|
|
1015
|
+
<video
|
|
1016
|
+
key={i}
|
|
1017
|
+
src={embedUrl}
|
|
1018
|
+
controls
|
|
1019
|
+
className="w-full max-w-sm rounded-md aspect-video bg-muted object-cover shadow-sm border border-border"
|
|
1020
|
+
/>
|
|
1021
|
+
);
|
|
1022
|
+
}
|
|
1023
|
+
})}
|
|
1024
|
+
</div>
|
|
1025
|
+
);
|
|
1026
|
+
})()
|
|
1027
|
+
: null}
|
|
1002
1028
|
</div>
|
|
1003
1029
|
) : (
|
|
1004
1030
|
<div
|
|
@@ -1233,7 +1259,7 @@ function MediaContent({
|
|
|
1233
1259
|
) : null}
|
|
1234
1260
|
|
|
1235
1261
|
{/* Storage warning */}
|
|
1236
|
-
{storageUsedBytes > 1024 * 1024 * 1024 && (
|
|
1262
|
+
{/* {storageUsedBytes > 1024 * 1024 * 1024 && (
|
|
1237
1263
|
<div className="flex items-start gap-2.5 rounded-lg border border-amber-200 bg-amber-50 px-3.5 py-3">
|
|
1238
1264
|
<AlertCircle className="size-4 mt-0.5 shrink-0 text-amber-600" />
|
|
1239
1265
|
<div>
|
|
@@ -1245,7 +1271,7 @@ function MediaContent({
|
|
|
1245
1271
|
</p>
|
|
1246
1272
|
</div>
|
|
1247
1273
|
</div>
|
|
1248
|
-
)}
|
|
1274
|
+
)} */}
|
|
1249
1275
|
</div>
|
|
1250
1276
|
);
|
|
1251
1277
|
}
|
|
@@ -1582,7 +1608,7 @@ function ActiveIndexingList({
|
|
|
1582
1608
|
<section
|
|
1583
1609
|
aria-live="polite"
|
|
1584
1610
|
aria-label="Active media indexing jobs"
|
|
1585
|
-
className="space-y-3 rounded-xl border border-emerald-
|
|
1611
|
+
className="space-y-3 rounded-xl border border-emerald-500 bg-emerald-50/20 p-3 dark:border-emerald-700/60 dark:bg-emerald-950/20"
|
|
1586
1612
|
>
|
|
1587
1613
|
<div className="flex items-center gap-2">
|
|
1588
1614
|
<Loader2 className="size-3.5 animate-spin text-emerald-600 dark:text-emerald-400" />
|
|
@@ -1634,9 +1660,9 @@ function ActiveIndexingList({
|
|
|
1634
1660
|
{asset.processingMessage || 'Preparing media indexing...'}
|
|
1635
1661
|
</p>
|
|
1636
1662
|
</div>
|
|
1637
|
-
{asset.processingSteps?.length ? (
|
|
1663
|
+
{/* {asset.processingSteps?.length ? (
|
|
1638
1664
|
<PipelineSteps steps={asset.processingSteps} />
|
|
1639
|
-
) : null}
|
|
1665
|
+
) : null} */}
|
|
1640
1666
|
</div>
|
|
1641
1667
|
);
|
|
1642
1668
|
})}
|
|
@@ -1671,7 +1697,7 @@ function PipelineSteps({ steps }: { steps: MediaProcessingStep[] }) {
|
|
|
1671
1697
|
className={cn(
|
|
1672
1698
|
'flex min-w-0 items-center gap-1.5 rounded-md border px-2 py-1 text-[9px]',
|
|
1673
1699
|
isRunning
|
|
1674
|
-
? 'border-emerald-
|
|
1700
|
+
? 'border-emerald-500 bg-emerald-50/70 text-emerald-700 dark:border-emerald-700/70 dark:bg-emerald-950/40 dark:text-emerald-300'
|
|
1675
1701
|
: 'border-border/60 bg-background/40 text-muted-foreground',
|
|
1676
1702
|
)}
|
|
1677
1703
|
>
|
|
@@ -98,6 +98,9 @@ export function MarketplaceSection() {
|
|
|
98
98
|
const handleInstall = useCallback(
|
|
99
99
|
async (toolId: string) => {
|
|
100
100
|
setInstalling(toolId);
|
|
101
|
+
const toastId = toast.loading('Downloading and installing tool…', {
|
|
102
|
+
description: 'This may take a moment on first install.',
|
|
103
|
+
});
|
|
101
104
|
try {
|
|
102
105
|
const res = await fetch(`/api/marketplace/${toolId}`, {
|
|
103
106
|
method: 'POST',
|
|
@@ -106,6 +109,7 @@ export function MarketplaceSection() {
|
|
|
106
109
|
const err = await res.json();
|
|
107
110
|
throw new Error(err.error || 'Install failed');
|
|
108
111
|
}
|
|
112
|
+
toast.dismiss(toastId);
|
|
109
113
|
if (toolId === 'video-audio') {
|
|
110
114
|
toast.success('Video & Audio installed', {
|
|
111
115
|
description: 'Choose an audio provider before you index media.',
|
|
@@ -119,6 +123,7 @@ export function MarketplaceSection() {
|
|
|
119
123
|
}
|
|
120
124
|
mutate();
|
|
121
125
|
} catch (err) {
|
|
126
|
+
toast.dismiss(toastId);
|
|
122
127
|
toast.error(err instanceof Error ? err.message : 'Failed to install tool');
|
|
123
128
|
} finally {
|
|
124
129
|
setInstalling(null);
|
|
@@ -36,13 +36,22 @@ export function PromptsSection() {
|
|
|
36
36
|
if (data?.config) {
|
|
37
37
|
setForm({
|
|
38
38
|
...data.config,
|
|
39
|
-
|
|
39
|
+
// The generated prompt (tools, retrieval policy, and safety rules) is
|
|
40
|
+
// an implementation detail. This editor contains only the user's
|
|
41
|
+
// optional addition, so first use starts with a clean canvas.
|
|
42
|
+
systemPrompt:
|
|
43
|
+
data.config.systemPrompt && data.config.systemPrompt !== DEFAULT_SYSTEM_PROMPT
|
|
44
|
+
? data.config.systemPrompt
|
|
45
|
+
: '',
|
|
40
46
|
});
|
|
41
47
|
}
|
|
42
48
|
}, [data]);
|
|
43
49
|
|
|
44
50
|
const dirty =
|
|
45
|
-
(form.systemPrompt || '') !==
|
|
51
|
+
(form.systemPrompt || '') !==
|
|
52
|
+
(data?.config?.systemPrompt === DEFAULT_SYSTEM_PROMPT
|
|
53
|
+
? ''
|
|
54
|
+
: data?.config?.systemPrompt || '') ||
|
|
46
55
|
JSON.stringify(form.enabledTools || []) !== JSON.stringify(data?.config?.enabledTools || []);
|
|
47
56
|
|
|
48
57
|
async function handleSave() {
|
|
@@ -92,7 +101,8 @@ export function PromptsSection() {
|
|
|
92
101
|
<CardHeader className="pb-3">
|
|
93
102
|
<CardTitle className="text-sm">System Prompt</CardTitle>
|
|
94
103
|
<CardDescription className="text-xs">
|
|
95
|
-
|
|
104
|
+
Add your own instructions. Larkup keeps its generated tool and retrieval instructions
|
|
105
|
+
separate and combines them automatically.
|
|
96
106
|
</CardDescription>
|
|
97
107
|
</CardHeader>
|
|
98
108
|
<CardContent>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "larkup",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.38",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"larkup": "./bin/larkup.js"
|
|
@@ -54,12 +54,12 @@
|
|
|
54
54
|
"zod": "^4.4.3",
|
|
55
55
|
"zustand": "^5.0.14",
|
|
56
56
|
"@larkup/core": "0.2.4",
|
|
57
|
-
"@larkup/marketplace": "0.1.
|
|
58
|
-
"@larkup/
|
|
59
|
-
"@larkup/scraper": "0.1.26",
|
|
60
|
-
"@larkup/tool-video-audio": "0.2.2",
|
|
57
|
+
"@larkup/marketplace": "0.1.10",
|
|
58
|
+
"@larkup/tool-doc-editor": "0.2.5",
|
|
61
59
|
"@larkup/vector-stores": "0.1.23",
|
|
62
|
-
"@larkup/
|
|
60
|
+
"@larkup/scraper": "0.1.27",
|
|
61
|
+
"@larkup/tool-video-audio": "0.2.3",
|
|
62
|
+
"@larkup/sandbox": "0.1.2"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
65
|
"@tailwindcss/postcss": "^4.2.0",
|