larkup 0.4.49 → 0.4.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/.next/standalone/apps/web/.next/BUILD_ID +1 -1
  2. package/.next/standalone/apps/web/.next/app-path-routes-manifest.json +19 -19
  3. package/.next/standalone/apps/web/.next/build-manifest.json +2 -2
  4. package/.next/standalone/apps/web/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/apps/web/.next/required-server-files.json +1 -1
  6. package/.next/standalone/apps/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  7. package/.next/standalone/apps/web/.next/server/app/_global-error.html +1 -1
  8. package/.next/standalone/apps/web/.next/server/app/_global-error.rsc +1 -1
  9. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  11. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/.next/standalone/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/apps/web/.next/server/app/_not-found.html +1 -1
  14. package/.next/standalone/apps/web/.next/server/app/_not-found.rsc +2 -2
  15. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  16. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  17. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  18. package/.next/standalone/apps/web/.next/server/app/add/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/apps/web/.next/server/app/add.html +1 -1
  20. package/.next/standalone/apps/web/.next/server/app/add.rsc +2 -2
  21. package/.next/standalone/apps/web/.next/server/app/add.segments/_full.segment.rsc +2 -2
  22. package/.next/standalone/apps/web/.next/server/app/add.segments/_tree.segment.rsc +1 -1
  23. package/.next/standalone/apps/web/.next/server/app/add.segments/add/__PAGE__.segment.rsc +2 -2
  24. package/.next/standalone/apps/web/.next/server/app/chat/[id]/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/apps/web/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  26. package/.next/standalone/apps/web/.next/server/app/chat.html +1 -1
  27. package/.next/standalone/apps/web/.next/server/app/chat.rsc +2 -2
  28. package/.next/standalone/apps/web/.next/server/app/chat.segments/_full.segment.rsc +2 -2
  29. package/.next/standalone/apps/web/.next/server/app/chat.segments/_tree.segment.rsc +1 -1
  30. package/.next/standalone/apps/web/.next/server/app/chat.segments/chat/__PAGE__.segment.rsc +2 -2
  31. package/.next/standalone/apps/web/.next/server/app/data/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/apps/web/.next/server/app/data.html +1 -1
  33. package/.next/standalone/apps/web/.next/server/app/data.rsc +2 -2
  34. package/.next/standalone/apps/web/.next/server/app/data.segments/_full.segment.rsc +2 -2
  35. package/.next/standalone/apps/web/.next/server/app/data.segments/_tree.segment.rsc +1 -1
  36. package/.next/standalone/apps/web/.next/server/app/data.segments/data/__PAGE__.segment.rsc +2 -2
  37. package/.next/standalone/apps/web/.next/server/app/index.html +1 -1
  38. package/.next/standalone/apps/web/.next/server/app/index.rsc +2 -2
  39. package/.next/standalone/apps/web/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  40. package/.next/standalone/apps/web/.next/server/app/index.segments/_full.segment.rsc +2 -2
  41. package/.next/standalone/apps/web/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  42. package/.next/standalone/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/apps/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/apps/web/.next/server/app/settings.html +1 -1
  45. package/.next/standalone/apps/web/.next/server/app/settings.rsc +2 -2
  46. package/.next/standalone/apps/web/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  47. package/.next/standalone/apps/web/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  48. package/.next/standalone/apps/web/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  49. package/.next/standalone/apps/web/.next/server/app/widget-demo/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/apps/web/.next/server/app/widget-demo.html +1 -1
  51. package/.next/standalone/apps/web/.next/server/app/widget-demo.rsc +2 -2
  52. package/.next/standalone/apps/web/.next/server/app/widget-demo.segments/_full.segment.rsc +2 -2
  53. package/.next/standalone/apps/web/.next/server/app/widget-demo.segments/_tree.segment.rsc +1 -1
  54. package/.next/standalone/apps/web/.next/server/app/widget-demo.segments/widget-demo/__PAGE__.segment.rsc +2 -2
  55. package/.next/standalone/apps/web/.next/server/app-paths-manifest.json +19 -19
  56. package/.next/standalone/apps/web/.next/server/chunks/309.js +1 -1
  57. package/.next/standalone/apps/web/.next/server/middleware-build-manifest.js +1 -1
  58. package/.next/standalone/apps/web/.next/server/pages/404.html +1 -1
  59. package/.next/standalone/apps/web/.next/server/pages/500.html +1 -1
  60. package/.next/standalone/apps/web/.next/server/preview-props.json +3 -3
  61. package/.next/standalone/apps/web/.next/server/server-reference-manifest.json +1 -1
  62. package/.next/standalone/apps/web/.next/static/chunks/app/{layout-17b5cc21e07aaced.js → layout-72c0f3f6723d5c44.js} +1 -1
  63. package/.next/standalone/apps/web/bin/larkup.js +59 -14
  64. package/.next/standalone/apps/web/lib/release-metadata.test.ts +10 -2
  65. package/.next/standalone/apps/web/package.json +1 -1
  66. package/.next/standalone/apps/web/server.js +1 -1
  67. package/bin/larkup.js +59 -14
  68. package/package.json +2 -2
  69. /package/.next/standalone/apps/web/.next/static/{E9oVcl1TzrqM5bS9F3BrN → 65ELnOs_x6XQ7dO3mtxDx}/_buildManifest.js +0 -0
  70. /package/.next/standalone/apps/web/.next/static/{E9oVcl1TzrqM5bS9F3BrN → 65ELnOs_x6XQ7dO3mtxDx}/_ssgManifest.js +0 -0
@@ -15,7 +15,7 @@ const currentPort = parseInt(process.env.PORT, 10) || 3000
15
15
  const hostname = process.env.HOSTNAME || '0.0.0.0'
16
16
 
17
17
  let keepAliveTimeout = parseInt(process.env.KEEP_ALIVE_TIMEOUT, 10)
18
- const nextConfig = {"env":{"NEXT_PUBLIC_APP_VERSION":"0.4.49"},"typescript":{"ignoreBuildErrors":true},"typedRoutes":false,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.mjs","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"instrumentationClientInject":[],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":14400,"formats":["image/webp"],"maximumRedirects":3,"maximumResponseBody":50000000,"dangerouslyAllowLocalIP":false,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","localPatterns":[{"pathname":"**","search":""}],"remotePatterns":[],"qualities":[75],"unoptimized":true,"customCacheHandler":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"reactProductionProfiling":false,"reactStrictMode":null,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{"serverFunctions":true,"browserToTerminal":"warn"},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/Users/abdelrahmanabounida/Desktop/my-ai-startup/larkup/larkup","enablePrerenderSourceMaps":true,"cacheComponents":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":31536000}},"cacheHandlers":{},"deprecated":{},"experimental":{"agentUpgrade":"security","agentFeedback":false,"coldCacheBadge":false,"collapseAdapterRoutes":true,"devValidationWorker":true,"useSkewCookie":false,"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"parallelRouteMetadata":false,"prerenderEarlyExit":true,"serverMinification":true,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"cachedNavigations":false,"dynamicOnHover":false,"reactBrowserBailout":true,"useOffline":false,"varyParams":true,"optimisticRouting":true,"concurrentRouterQueue":false,"instrumentationClientRouterTransitionEvents":false,"prefetchInlining":{"maxSize":2048,"maxBundleSize":10240},"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","proxyPrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":9,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptOperationCache":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"imgOptMozjpeg":true,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"devMemoryThresholdRestart":true,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"requestInsights":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"strictRouteTypes":false,"useTypeScriptCli":true,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":true,"staleTimes":{"dynamic":0,"static":300},"reactDebugChannel":true,"serverComponentsHmrCache":true,"serverComponentsHmrCancellation":false,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"transitionIndicator":false,"gestureTransition":false,"inlineCss":false,"useCache":false,"useCacheStaticRootParamTracking":false,"globalNotFound":false,"explicitParallelRouteChildren":true,"strictRouteMatching":true,"browserDebugInfoInTerminal":"warn","lockDistDir":true,"disableResumeDataCacheCompression":false,"proxyClientMaxBodySize":10485760,"hideLogsAfterAbort":false,"mcpServer":true,"exposeRuntimeErrorsToHMR":false,"turbopackFileSystemCacheForDev":true,"turbopackFileSystemCacheForBuild":true,"turbopackStaleOutputMaxAge":604800000,"turbopackInferModuleSideEffects":true,"turbopackPluginRuntimeStrategy":"childProcesses","turbopackSharedRuntime":true,"turbopackMemoryEvictionMode":"auto","optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"useCacheTimeout":54,"instantInsights":{"validationLevel":"warning"},"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":false,"configFileName":"next.config.mjs","transpilePackages":["@larkup/workspace-ui","@larkup/workspace-app","@larkup/workspace-server","@larkup/connections","@larkup/core","@larkup/vector-stores","@larkup/scraper","@larkup/marketplace","@larkup/sandbox","@larkup/integrations"],"serverExternalPackages":["@lancedb/lancedb","@ffmpeg-installer/ffmpeg","@ffprobe-installer/ffprobe","chromadb","@chroma-core/default-embed","dockerode","node-ssh","nodejs-whisper","@napi-rs/canvas","pdf-parse"],"outputFileTracingExcludes":{"/*":[".next/dev/**/*",".next/standalone/**/*","../desktop/src-tauri/target/**/*"]},"turbopack":{"ignoreIssue":[{"path":"**/ffmpeg-spawn.js","title":"Module not found"}],"root":"/Users/abdelrahmanabounida/Desktop/my-ai-startup/larkup/larkup"},"repoRoot":"/Users/abdelrahmanabounida/Desktop/my-ai-startup/larkup/larkup","distDirRoot":".next","supportsImmutableAssets":false,"_originalRewrites":{"beforeFiles":[],"afterFiles":[{"source":"/uploads/:path*","destination":"/api/uploads/:path*"}],"fallback":[]}}
18
+ const nextConfig = {"env":{"NEXT_PUBLIC_APP_VERSION":"0.4.51"},"typescript":{"ignoreBuildErrors":true},"typedRoutes":false,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.mjs","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"instrumentationClientInject":[],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":14400,"formats":["image/webp"],"maximumRedirects":3,"maximumResponseBody":50000000,"dangerouslyAllowLocalIP":false,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","localPatterns":[{"pathname":"**","search":""}],"remotePatterns":[],"qualities":[75],"unoptimized":true,"customCacheHandler":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"reactProductionProfiling":false,"reactStrictMode":null,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{"serverFunctions":true,"browserToTerminal":"warn"},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/Users/abdelrahmanabounida/Desktop/my-ai-startup/larkup/larkup","enablePrerenderSourceMaps":true,"cacheComponents":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":31536000}},"cacheHandlers":{},"deprecated":{},"experimental":{"agentUpgrade":"security","agentFeedback":false,"coldCacheBadge":false,"collapseAdapterRoutes":true,"devValidationWorker":true,"useSkewCookie":false,"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"parallelRouteMetadata":false,"prerenderEarlyExit":true,"serverMinification":true,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"cachedNavigations":false,"dynamicOnHover":false,"reactBrowserBailout":true,"useOffline":false,"varyParams":true,"optimisticRouting":true,"concurrentRouterQueue":false,"instrumentationClientRouterTransitionEvents":false,"prefetchInlining":{"maxSize":2048,"maxBundleSize":10240},"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","proxyPrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":9,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptOperationCache":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"imgOptMozjpeg":true,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"devMemoryThresholdRestart":true,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"requestInsights":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"strictRouteTypes":false,"useTypeScriptCli":true,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":true,"staleTimes":{"dynamic":0,"static":300},"reactDebugChannel":true,"serverComponentsHmrCache":true,"serverComponentsHmrCancellation":false,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"transitionIndicator":false,"gestureTransition":false,"inlineCss":false,"useCache":false,"useCacheStaticRootParamTracking":false,"globalNotFound":false,"explicitParallelRouteChildren":true,"strictRouteMatching":true,"browserDebugInfoInTerminal":"warn","lockDistDir":true,"disableResumeDataCacheCompression":false,"proxyClientMaxBodySize":10485760,"hideLogsAfterAbort":false,"mcpServer":true,"exposeRuntimeErrorsToHMR":false,"turbopackFileSystemCacheForDev":true,"turbopackFileSystemCacheForBuild":true,"turbopackStaleOutputMaxAge":604800000,"turbopackInferModuleSideEffects":true,"turbopackPluginRuntimeStrategy":"childProcesses","turbopackSharedRuntime":true,"turbopackMemoryEvictionMode":"auto","optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"useCacheTimeout":54,"instantInsights":{"validationLevel":"warning"},"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":false,"configFileName":"next.config.mjs","transpilePackages":["@larkup/workspace-ui","@larkup/workspace-app","@larkup/workspace-server","@larkup/connections","@larkup/core","@larkup/vector-stores","@larkup/scraper","@larkup/marketplace","@larkup/sandbox","@larkup/integrations"],"serverExternalPackages":["@lancedb/lancedb","@ffmpeg-installer/ffmpeg","@ffprobe-installer/ffprobe","chromadb","@chroma-core/default-embed","dockerode","node-ssh","nodejs-whisper","@napi-rs/canvas","pdf-parse"],"outputFileTracingExcludes":{"/*":[".next/dev/**/*",".next/standalone/**/*","../desktop/src-tauri/target/**/*"]},"turbopack":{"ignoreIssue":[{"path":"**/ffmpeg-spawn.js","title":"Module not found"}],"root":"/Users/abdelrahmanabounida/Desktop/my-ai-startup/larkup/larkup"},"repoRoot":"/Users/abdelrahmanabounida/Desktop/my-ai-startup/larkup/larkup","distDirRoot":".next","supportsImmutableAssets":false,"_originalRewrites":{"beforeFiles":[],"afterFiles":[{"source":"/uploads/:path*","destination":"/api/uploads/:path*"}],"fallback":[]}}
19
19
 
20
20
  process.env.__NEXT_PRIVATE_STANDALONE_CONFIG = JSON.stringify(nextConfig)
21
21
 
package/bin/larkup.js CHANGED
@@ -19,6 +19,9 @@ process.env.LARKUP_DATA_DIR = larkupDataDir;
19
19
 
20
20
  const args = process.argv.slice(2);
21
21
  const command = args[0];
22
+ // Windows exposes npm through npm.cmd. Spawning the extensionless Unix name
23
+ // fails with ENOENT even though npm works when entered directly in cmd.exe.
24
+ const npmExecutable = process.platform === 'win32' ? 'npm.cmd' : 'npm';
22
25
 
23
26
  if (command === '--version' || command === '-v') {
24
27
  console.log(pkg.version);
@@ -31,7 +34,6 @@ if (command === '--version' || command === '-v') {
31
34
  process.exit(1);
32
35
  }
33
36
  await migrateLegacyRuntimeState();
34
- await prepareLocalAnalysisRuntime();
35
37
  const child = spawn(process.execPath, [standaloneServer], {
36
38
  cwd: packageDir,
37
39
  stdio: 'inherit',
@@ -44,6 +46,11 @@ if (command === '--version' || command === '-v') {
44
46
  });
45
47
  child.once('exit', (code) => process.exit(code ?? 0));
46
48
 
49
+ // Start the browser-facing application immediately. The local analysis
50
+ // environment is warmed through the running server so an analysis request
51
+ // can share that same in-process setup instead of starting a second install.
52
+ void prepareLocalAnalysisRuntime(url);
53
+
47
54
  if (process.env.CI !== 'true' && process.env.LARKUP_NO_OPEN !== '1') {
48
55
  void openWhenReady(url);
49
56
  }
@@ -81,7 +88,7 @@ if (command === '--version' || command === '-v') {
81
88
  console.log('');
82
89
  await migrateLegacyRuntimeState();
83
90
  const child = spawn(
84
- 'npm',
91
+ npmExecutable,
85
92
  [
86
93
  'install',
87
94
  '-g',
@@ -196,20 +203,43 @@ async function migrateLegacyRuntimeState() {
196
203
  }
197
204
 
198
205
  /**
199
- * Prepare the managed Python environment before the browser can submit an
200
- * analysis request. A fresh Windows install may need several minutes to fetch
201
- * pandas, numpy, and the other pinned wheels; doing that inside the streamed
202
- * chat request can outlive the model step even though installation succeeds.
206
+ * Warm the managed Python environment after the application starts. A fresh
207
+ * Windows install may need several minutes to fetch pandas, numpy, and the
208
+ * other pinned wheels, but that work must not block the UI from opening.
203
209
  *
204
- * This launcher is used only by the local npm application. Managed Cloud hosts
205
- * start their configured remote sandbox adapters through the server runtime
206
- * and never enter this path.
210
+ * Going through the existing sandbox API keeps setup in the server process.
211
+ * If chat analysis starts while warmup is running, both calls share the same
212
+ * cached setup promise. Managed Cloud and configured remote backends are
213
+ * detected by the health response and never enter the local setup path.
207
214
  */
208
- async function prepareLocalAnalysisRuntime() {
209
- console.log(`\x1b[38;2;223;156;32mPreparing local analysis runtime…\x1b[0m`);
215
+ async function prepareLocalAnalysisRuntime(url) {
210
216
  try {
211
- const { SandboxManager } = await import('@larkup/sandbox');
212
- await new SandboxManager({ backend: 'local' }).setup();
217
+ const health = await waitForSandboxApi(url);
218
+ if (!health || health.backend !== 'local') return;
219
+
220
+ console.log(`\x1b[38;2;223;156;32mPreparing local analysis runtime in the background…\x1b[0m`);
221
+ console.log('Larkup is ready to open; analysis tools will activate when setup finishes.');
222
+
223
+ const startedAt = Date.now();
224
+ const progress = setInterval(() => {
225
+ const elapsedSeconds = Math.floor((Date.now() - startedAt) / 1_000);
226
+ const elapsed =
227
+ elapsedSeconds < 60 ? `${elapsedSeconds}s` : `${Math.floor(elapsedSeconds / 60)} min`;
228
+ console.log(`Still preparing local analysis runtime (${elapsed})…`);
229
+ }, 30_000);
230
+
231
+ try {
232
+ const response = await fetch(new URL('/api/sandbox?action=setup', url), {
233
+ method: 'POST',
234
+ });
235
+ const result = await response.json().catch(() => ({}));
236
+ if (!response.ok) {
237
+ throw new Error(result.error || `setup request failed with HTTP ${response.status}`);
238
+ }
239
+ } finally {
240
+ clearInterval(progress);
241
+ }
242
+
213
243
  console.log(`\x1b[32mLocal analysis runtime ready.\x1b[0m`);
214
244
  } catch (error) {
215
245
  const message = error instanceof Error ? error.message : String(error);
@@ -218,6 +248,19 @@ async function prepareLocalAnalysisRuntime() {
218
248
  }
219
249
  }
220
250
 
251
+ async function waitForSandboxApi(url) {
252
+ for (let attempt = 0; attempt < 120; attempt += 1) {
253
+ try {
254
+ const response = await fetch(new URL('/api/sandbox', url));
255
+ if (response.ok) return await response.json();
256
+ } catch {
257
+ // The standalone server is still starting.
258
+ }
259
+ await new Promise((resolve) => setTimeout(resolve, 250));
260
+ }
261
+ return undefined;
262
+ }
263
+
221
264
  async function activeProjectConfig() {
222
265
  const root = projectRoot();
223
266
  const entries = await fs.readdir(root, { withFileTypes: true }).catch(() => []);
@@ -506,7 +549,9 @@ async function removeLocalPathEntries(localRoot) {
506
549
 
507
550
  function uninstallGlobalPackage() {
508
551
  return new Promise((resolve, reject) => {
509
- const child = spawn('npm', ['uninstall', '-g', 'larkup', '@larkup/cli'], { stdio: 'inherit' });
552
+ const child = spawn(npmExecutable, ['uninstall', '-g', 'larkup', '@larkup/cli'], {
553
+ stdio: 'inherit',
554
+ });
510
555
  child.once('error', reject);
511
556
  child.once('exit', (code) => {
512
557
  if (code === 0) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "larkup",
3
- "version": "0.4.49",
3
+ "version": "0.4.51",
4
4
  "engines": {
5
5
  "node": ">=22"
6
6
  },
@@ -70,9 +70,9 @@
70
70
  "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz",
71
71
  "zod": "^4.4.3",
72
72
  "zustand": "^5.0.14",
73
- "@larkup/workspace-server": "0.2.30",
74
73
  "@larkup/workspace-ui": "0.2.0",
75
74
  "@larkup/runtime-kit": "0.3.0",
75
+ "@larkup/workspace-server": "0.2.30",
76
76
  "@larkup/workspace-app": "0.2.12"
77
77
  },
78
78
  "devDependencies": {