larkup 0.1.21 → 0.1.22

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 (105) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/fallback-build-manifest.json +3 -3
  4. package/.next/server/app/_global-error.html +1 -1
  5. package/.next/server/app/_global-error.rsc +1 -1
  6. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/.next/server/app/_not-found.html +1 -1
  12. package/.next/server/app/_not-found.rsc +1 -1
  13. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  14. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  15. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  16. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  17. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  18. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  19. package/.next/server/app/analytics.html +1 -1
  20. package/.next/server/app/analytics.rsc +1 -1
  21. package/.next/server/app/analytics.segments/_full.segment.rsc +1 -1
  22. package/.next/server/app/analytics.segments/_head.segment.rsc +1 -1
  23. package/.next/server/app/analytics.segments/_index.segment.rsc +1 -1
  24. package/.next/server/app/analytics.segments/_tree.segment.rsc +1 -1
  25. package/.next/server/app/analytics.segments/analytics/__PAGE__.segment.rsc +1 -1
  26. package/.next/server/app/analytics.segments/analytics.segment.rsc +1 -1
  27. package/.next/server/app/chat.html +1 -1
  28. package/.next/server/app/chat.rsc +1 -1
  29. package/.next/server/app/chat.segments/_full.segment.rsc +1 -1
  30. package/.next/server/app/chat.segments/_head.segment.rsc +1 -1
  31. package/.next/server/app/chat.segments/_index.segment.rsc +1 -1
  32. package/.next/server/app/chat.segments/_tree.segment.rsc +1 -1
  33. package/.next/server/app/chat.segments/chat/__PAGE__.segment.rsc +1 -1
  34. package/.next/server/app/chat.segments/chat.segment.rsc +1 -1
  35. package/.next/server/app/data.html +1 -1
  36. package/.next/server/app/data.rsc +1 -1
  37. package/.next/server/app/data.segments/_full.segment.rsc +1 -1
  38. package/.next/server/app/data.segments/_head.segment.rsc +1 -1
  39. package/.next/server/app/data.segments/_index.segment.rsc +1 -1
  40. package/.next/server/app/data.segments/_tree.segment.rsc +1 -1
  41. package/.next/server/app/data.segments/data/__PAGE__.segment.rsc +1 -1
  42. package/.next/server/app/data.segments/data.segment.rsc +1 -1
  43. package/.next/server/app/index.html +1 -1
  44. package/.next/server/app/index.rsc +1 -1
  45. package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  46. package/.next/server/app/index.segments/_full.segment.rsc +1 -1
  47. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  48. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  49. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  50. package/.next/server/app/settings.html +1 -1
  51. package/.next/server/app/settings.rsc +1 -1
  52. package/.next/server/app/settings.segments/_full.segment.rsc +1 -1
  53. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  54. package/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  55. package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  56. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  57. package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  58. package/.next/server/chunks/[root-of-the-server]__0036943._.js +1 -1
  59. package/.next/server/chunks/[root-of-the-server]__00nqa2u._.js +1 -1
  60. package/.next/server/chunks/[root-of-the-server]__02cpmox._.js +1 -1
  61. package/.next/server/chunks/[root-of-the-server]__02p-tv7._.js +2 -2
  62. package/.next/server/chunks/[root-of-the-server]__02t_0g7._.js +1 -1
  63. package/.next/server/chunks/[root-of-the-server]__04kopvt._.js +2 -2
  64. package/.next/server/chunks/[root-of-the-server]__04l~ip-._.js +1 -1
  65. package/.next/server/chunks/[root-of-the-server]__04visk8._.js +1 -1
  66. package/.next/server/chunks/[root-of-the-server]__05x8tmf._.js +1 -1
  67. package/.next/server/chunks/[root-of-the-server]__06l96vc._.js +1 -1
  68. package/.next/server/chunks/[root-of-the-server]__06ohoeu._.js +1 -1
  69. package/.next/server/chunks/[root-of-the-server]__07_1411._.js +1 -1
  70. package/.next/server/chunks/[root-of-the-server]__0acpo9m._.js +1 -1
  71. package/.next/server/chunks/[root-of-the-server]__0exyn0q._.js +1 -1
  72. package/.next/server/chunks/[root-of-the-server]__0fcf_rl._.js +1 -1
  73. package/.next/server/chunks/[root-of-the-server]__0f~eq1-._.js +1 -1
  74. package/.next/server/chunks/[root-of-the-server]__0ljy49-._.js +1 -1
  75. package/.next/server/chunks/[root-of-the-server]__0n0nerw._.js +1 -1
  76. package/.next/server/chunks/[root-of-the-server]__0oh5wgp._.js +1 -1
  77. package/.next/server/chunks/[root-of-the-server]__0oyc7s4._.js +1 -1
  78. package/.next/server/chunks/[root-of-the-server]__0pg~eys._.js +1 -1
  79. package/.next/server/chunks/[root-of-the-server]__0qtx78g._.js +1 -1
  80. package/.next/server/chunks/[root-of-the-server]__0r03jcl._.js +1 -1
  81. package/.next/server/chunks/[root-of-the-server]__0sb7d93._.js +1 -1
  82. package/.next/server/chunks/[root-of-the-server]__0t36t5o._.js +1 -1
  83. package/.next/server/chunks/[root-of-the-server]__0t_hp52._.js +1 -1
  84. package/.next/server/chunks/[root-of-the-server]__0v03x56._.js +1 -1
  85. package/.next/server/chunks/[root-of-the-server]__0v4bbce._.js +1 -1
  86. package/.next/server/chunks/[root-of-the-server]__0vcdpoc._.js +1 -1
  87. package/.next/server/chunks/[root-of-the-server]__0wvxpqf._.js +1 -1
  88. package/.next/server/chunks/[root-of-the-server]__0wyl7x5._.js +1 -1
  89. package/.next/server/chunks/[root-of-the-server]__0yx8vxp._.js +2 -2
  90. package/.next/server/chunks/[root-of-the-server]__0zh8t6z._.js +1 -1
  91. package/.next/server/chunks/[root-of-the-server]__0~q2fro._.js +1 -1
  92. package/.next/server/chunks/[root-of-the-server]__10d58x4._.js +1 -1
  93. package/.next/server/chunks/[root-of-the-server]__12kvuvp._.js +1 -1
  94. package/.next/server/chunks/packages_core_src_generator_generate-server_ts_0mt.je3._.js +3 -5
  95. package/.next/server/chunks/ssr/packages_core_src_generator_generate-server_ts_0o.y7vi._.js +3 -5
  96. package/.next/server/middleware-build-manifest.js +3 -3
  97. package/.next/server/pages/404.html +1 -1
  98. package/.next/server/pages/500.html +1 -1
  99. package/CHANGELOG.md +6 -0
  100. package/bin/larkup.js +43 -15
  101. package/next-env.d.ts +1 -1
  102. package/package.json +17 -17
  103. /package/.next/static/{KqIuNxkoeAlhCusoxtMrS → r6jTeoDnymfOosNztAlzL}/_buildManifest.js +0 -0
  104. /package/.next/static/{KqIuNxkoeAlhCusoxtMrS → r6jTeoDnymfOosNztAlzL}/_clientMiddlewareManifest.js +0 -0
  105. /package/.next/static/{KqIuNxkoeAlhCusoxtMrS → r6jTeoDnymfOosNztAlzL}/_ssgManifest.js +0 -0
@@ -54,6 +54,6 @@ RESPONSE FORMATTING (Analytics Style):
54
54
  - Structure complex responses logically (e.g., Summary -> Key Metrics -> Breakdown).
55
55
  - If your findings contain a small table of data, format it cleanly using Markdown tables.
56
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,o,"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"),u=a.default.join(l,"workspace.json"),c={username:null,activeServerId:null,servers:[],mode:null},p=new n.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 S()??c))}function g(e){return a.default.join(d,e)}function f(e,t){return`./.larkup/servers/${e}/${t}`}async function w(e){try{return await t.promises.access(e),!0}catch{return!1}}async function v(e,r){if(await w(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 S(){try{let e=await t.promises.readFile(u,"utf8");return{...c,...JSON.parse(e)}}catch{return null}}async function E(e){return await t.promises.mkdir(l,{recursive:!0}),await t.promises.writeFile(u,JSON.stringify(e,null,2),"utf8"),e}async function A(){let e=await S();return e||m(b)}async function b(){let e=await S();if(e)return e;if(!await w(a.default.join(l,"config.json")))return E(c);let n=(0,r.randomUUID)(),s=g(n);for(let e of(await t.promises.mkdir(s,{recursive:!0}),["config.json","documents.json","jobs.json","index-run.json","server-local.json"]))await v(a.default.join(l,e),a.default.join(s,e));await v(a.default.join(l,"lancedb"),a.default.join(s,"lancedb")),await v(a.default.join(l,"generated-server"),a.default.join(s,"generated-server"));let o="Default server";try{let e=a.default.join(s,"config.json"),r=JSON.parse(await t.promises.readFile(e,"utf8"));r.projectName&&(o=r.projectName),"lancedb"===r.vectorStore&&(r.storeConfig?.mode??"local")==="local"&&(r.storeConfig={...r.storeConfig,dbPath:f(n,"lancedb")}),await t.promises.writeFile(e,JSON.stringify(r,null,2),"utf8")}catch{}let i=new Date().toISOString(),d={id:n,name:o,port:8080,createdAt:i,updatedAt:i};return E({username:null,activeServerId:n,servers:[d],mode:null})}async function R(){let e=await A(),t=p.getStore()?.serverId??e.activeServerId;return t?e.servers.find(e=>e.id===t)??null:null}async function T(){let e=await R();if(!e)return null;let a=g(e.id);return await t.promises.mkdir(a,{recursive:!0}),a}async function C(){let e=await T();if(e)return e;let t=p.getStore()?.serverId;if(t)throw Error(`Server "${t}" no longer exists.`);let{server:a}=await N("My RAG server");return g(a.id)}async function O(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 I(e){let t=Math.max(8079,...e.servers.map(e=>e.port))+1;for(;!await O(t);)t++;return t}function N(e){return y(async n=>{let s=(0,r.randomUUID)(),i=new Date().toISOString(),l={id:s,name:e.trim()||"Untitled server",port:await I(n),createdAt:i,updatedAt:i},d=g(s);await t.promises.mkdir(d,{recursive:!0});let u={};if(n.activeServerId)try{let e=await t.promises.readFile(a.default.join(g(n.activeServerId),"config.json"),"utf8");u=JSON.parse(e)}catch{}await t.promises.writeFile(a.default.join(d,"config.json"),JSON.stringify(function(e,t,a={}){return{...o,projectName:t.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"my-rag",storeConfig:{mode:"local",dbPath:f(e,"lancedb")},embeddingApiKey:a.embeddingApiKey??o.embeddingApiKey,customEmbeddings:a.customEmbeddings??o.customEmbeddings,chatApiKey:a.chatApiKey??o.chatApiKey,customChatModels:a.customChatModels??o.customChatModels,serperApiKey:a.serperApiKey??o.serperApiKey,firecrawlApiKey:a.firecrawlApiKey??o.firecrawlApiKey,updatedAt:new Date().toISOString()}}(s,l.name,u),null,2),"utf8");let c={...n,servers:[...n.servers,l],activeServerId:s};return await E(c),{workspace:c,server:l}})}e.s(["createServer",0,N,"deleteServer",0,function(e){return y(async a=>{let r=a.servers.filter(t=>t.id!==e),n=a.activeServerId===e?r[0]?.id??null:a.activeServerId;return await t.promises.rm(g(e),{recursive:!0,force:!0}),E({...a,servers:r,activeServerId:n})})},"getActiveServer",0,R,"getDataDir",0,T,"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 E({...a,servers:r})})},"requireDataDir",0,C,"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)?E({...t,activeServerId:e}):t)},"setMode",0,function(e){return y(async t=>E({...t,mode:e}))},"setUsername",0,function(e){return y(async t=>E({...t,username:e.trim()||null}))}],192441)},886173,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(638725),n=e.i(192441);async function s(){let e=await (0,n.getDataDir)();if(!e)return r.DEFAULT_DEPLOYMENT_CONFIG;try{let n=await t.promises.readFile(a.default.join(e,"deployment.json"),"utf8"),s=JSON.parse(n);return{...r.DEFAULT_DEPLOYMENT_CONFIG,...s,widgetStyle:{...r.DEFAULT_DEPLOYMENT_CONFIG.widgetStyle,...s.widgetStyle}}}catch{return r.DEFAULT_DEPLOYMENT_CONFIG}}async function o(e){let r=await (0,n.requireDataDir)();return await t.promises.writeFile(a.default.join(r,"deployment.json"),JSON.stringify(e,null,2),"utf8"),e}e.s(["readDeploymentConfig",0,s,"writeDeploymentConfig",0,o])},328082,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),d=e.i(135958),u=e.i(86520),c=e.i(970949),p=e.i(741165),h=e.i(106898),m=e.i(454415),y=e.i(37125),g=e.i(193695);e.i(530058);var f=e.i(605998),w=e.i(686296),v=e.i(886173);async function S(){try{let e=await (0,v.readDeploymentConfig)();return w.NextResponse.json({connected:!!e.vercelBlobToken})}catch(e){return w.NextResponse.json({error:String(e)},{status:500})}}async function E(e){try{let{token:t}=await e.json();if(!t)return w.NextResponse.json({error:"Token is required"},{status:400});let a=await (0,v.readDeploymentConfig)();return a.vercelBlobToken=t,await (0,v.writeDeploymentConfig)(a),w.NextResponse.json({success:!0})}catch(e){return w.NextResponse.json({error:String(e)},{status:500})}}e.s(["GET",0,S,"POST",0,E],28827);var A=e.i(28827);let b=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/deployment/blob-setup/route",pathname:"/api/deployment/blob-setup",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/deployment/blob-setup/route.ts",nextConfigOutput:"standalone",userland:A,...{}}),{workAsyncStorage:R,workUnitAsyncStorage:T,serverHooks:C}=b;async function O(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),b.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/deployment/blob-setup/route";w=w.replace(/\/index$/,"")||"/";let v=await b.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:S,deploymentId:E,params:A,nextConfig:R,parsedUrl:T,isDraftMode:C,prerenderManifest:O,routerServerContext:I,isOnDemandRevalidate:N,revalidateOnlyGenerated:x,resolvedPathname:D,clientReferenceManifest:U,serverActionsManifest:P}=v,M=(0,i.normalizeAppPath)(w),L=!!(O.dynamicRoutes[M]||O.routes[D]),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(L&&!C){let e=!!O.routes[D],t=O.dynamicRoutes[M];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await j();throw new g.NoFallbackError}}let k=null;!L||b.isDev||C||(k="/index"===(k=D)?"/":k);let q=!0===b.isDev||!L,F=L&&!q;P&&U&&(0,o.setManifestsSingleton)({page:w,clientReferenceManifest:U,serverActionsManifest:P});let K=e.method||"GET",_=(0,s.getTracer)(),H=_.getActiveScopeSpan(),G=!!(null==I?void 0:I.isWrappedByNextServer),W=!!(0,n.getRequestMeta)(e,"minimalMode"),Y=(0,n.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,R,O,W);null==Y||Y.resetRequestCache(),globalThis.__incrementalCache=Y;let z={params:A,previewProps:O.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:q,incrementalCache:Y,cacheLifeProfiles:R.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>b.onRequestError(e,t,r,n,I)},sharedContext:{buildId:S,deploymentId:E}},V=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),$=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let n,o=async e=>b.handle($,z).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")!==u.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=`${K} ${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(`${K} ${w}`)}),i=async n=>{var s,i;let l=async({previousCacheEntry:a})=>{try{if(!W&&N&&x&&!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=z.renderOpts.fetchMetrics;let i=z.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let l=z.renderOpts.collectedTags;if(!L)return await (0,p.sendResponse)(V,B,s,z.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!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=y.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,r=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=y.INFINITE_CACHE?void 0:z.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 b.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:N})},!1,I),t}},d=await b.handleResponse({req:e,nextConfig:R,cacheKey:k,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:x,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:W});if(!L)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});W||t.setHeader("x-nextjs-cache",N?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return W&&L||u.delete(y.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,m.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(V,B,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};G&&H?await i(H):(n=_.getActiveScopeSpan(),await _.withPropagatedContext(e.headers,()=>_.trace(u.BaseServerSpan.handleRequest,{spanName:`${K} ${w}`,kind:s.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},i),void 0,!G))}catch(t){if(t instanceof g.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:N})},!1,I),L)throw t;return await (0,p.sendResponse)(V,B,new Response(null,{status:500})),null}}e.s(["handler",0,O,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:R,workUnitAsyncStorage:T})},"routeModule",0,b,"serverHooks",0,C,"workAsyncStorage",0,R,"workUnitAsyncStorage",0,T],328082)}];
57
+ - End with a one-sentence synthesis if appropriate, avoiding filler words.`;e.s(["DEFAULT_CONFIG",0,o,"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"),u=a.default.join(l,"workspace.json"),c={username:null,activeServerId:null,servers:[],mode:null},p=new n.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 S()??c))}function g(e){return a.default.join(d,e)}function f(e,t){return`./.larkup/servers/${e}/${t}`}async function w(e){try{return await t.promises.access(e),!0}catch{return!1}}async function v(e,r){if(await w(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 S(){try{let e=await t.promises.readFile(u,"utf8");return{...c,...JSON.parse(e)}}catch{return null}}async function E(e){return await t.promises.mkdir(l,{recursive:!0}),await t.promises.writeFile(u,JSON.stringify(e,null,2),"utf8"),e}async function A(){let e=await S();return e||m(b)}async function b(){let e=await S();if(e)return e;if(!await w(a.default.join(l,"config.json")))return E(c);let n=(0,r.randomUUID)(),s=g(n);for(let e of(await t.promises.mkdir(s,{recursive:!0}),["config.json","documents.json","jobs.json","index-run.json","server-local.json"]))await v(a.default.join(l,e),a.default.join(s,e));await v(a.default.join(l,"lancedb"),a.default.join(s,"lancedb")),await v(a.default.join(l,"generated-server"),a.default.join(s,"generated-server"));let o="Default server";try{let e=a.default.join(s,"config.json"),r=JSON.parse(await t.promises.readFile(e,"utf8"));r.projectName&&(o=r.projectName),"lancedb"===r.vectorStore&&(r.storeConfig?.mode??"local")==="local"&&(r.storeConfig={...r.storeConfig,dbPath:f(n,"lancedb")}),await t.promises.writeFile(e,JSON.stringify(r,null,2),"utf8")}catch{}let i=new Date().toISOString(),d={id:n,name:o,port:8080,createdAt:i,updatedAt:i};return E({username:null,activeServerId:n,servers:[d],mode:null})}async function R(){let e=await A(),t=p.getStore()?.serverId??e.activeServerId;return t?e.servers.find(e=>e.id===t)??null:null}async function T(){let e=await R();if(!e)return null;let a=g(e.id);return await t.promises.mkdir(a,{recursive:!0}),a}async function C(){let e=await T();if(e)return e;let t=p.getStore()?.serverId;if(t)throw Error(`Server "${t}" no longer exists.`);let{server:a}=await N("my-larkup");return g(a.id)}async function O(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 I(e){let t=Math.max(8079,...e.servers.map(e=>e.port))+1;for(;!await O(t);)t++;return t}function N(e){return y(async n=>{let s=(0,r.randomUUID)(),i=new Date().toISOString(),l={id:s,name:e.trim()||"Untitled server",port:await I(n),createdAt:i,updatedAt:i},d=g(s);await t.promises.mkdir(d,{recursive:!0});let u={};if(n.activeServerId)try{let e=await t.promises.readFile(a.default.join(g(n.activeServerId),"config.json"),"utf8");u=JSON.parse(e)}catch{}await t.promises.writeFile(a.default.join(d,"config.json"),JSON.stringify(function(e,t,a={}){return{...o,projectName:t.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"my-larkup",storeConfig:{mode:"local",dbPath:f(e,"lancedb")},embeddingApiKey:a.embeddingApiKey??o.embeddingApiKey,customEmbeddings:a.customEmbeddings??o.customEmbeddings,chatApiKey:a.chatApiKey??o.chatApiKey,customChatModels:a.customChatModels??o.customChatModels,serperApiKey:a.serperApiKey??o.serperApiKey,firecrawlApiKey:a.firecrawlApiKey??o.firecrawlApiKey,updatedAt:new Date().toISOString()}}(s,l.name,u),null,2),"utf8");let c={...n,servers:[...n.servers,l],activeServerId:s};return await E(c),{workspace:c,server:l}})}e.s(["createServer",0,N,"deleteServer",0,function(e){return y(async a=>{let r=a.servers.filter(t=>t.id!==e),n=a.activeServerId===e?r[0]?.id??null:a.activeServerId;return await t.promises.rm(g(e),{recursive:!0,force:!0}),E({...a,servers:r,activeServerId:n})})},"getActiveServer",0,R,"getDataDir",0,T,"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 E({...a,servers:r})})},"requireDataDir",0,C,"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)?E({...t,activeServerId:e}):t)},"setMode",0,function(e){return y(async t=>E({...t,mode:e}))},"setUsername",0,function(e){return y(async t=>E({...t,username:e.trim()||null}))}],192441)},886173,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(638725),n=e.i(192441);async function s(){let e=await (0,n.getDataDir)();if(!e)return r.DEFAULT_DEPLOYMENT_CONFIG;try{let n=await t.promises.readFile(a.default.join(e,"deployment.json"),"utf8"),s=JSON.parse(n);return{...r.DEFAULT_DEPLOYMENT_CONFIG,...s,widgetStyle:{...r.DEFAULT_DEPLOYMENT_CONFIG.widgetStyle,...s.widgetStyle}}}catch{return r.DEFAULT_DEPLOYMENT_CONFIG}}async function o(e){let r=await (0,n.requireDataDir)();return await t.promises.writeFile(a.default.join(r,"deployment.json"),JSON.stringify(e,null,2),"utf8"),e}e.s(["readDeploymentConfig",0,s,"writeDeploymentConfig",0,o])},328082,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),d=e.i(135958),u=e.i(86520),c=e.i(970949),p=e.i(741165),h=e.i(106898),m=e.i(454415),y=e.i(37125),g=e.i(193695);e.i(530058);var f=e.i(605998),w=e.i(686296),v=e.i(886173);async function S(){try{let e=await (0,v.readDeploymentConfig)();return w.NextResponse.json({connected:!!e.vercelBlobToken})}catch(e){return w.NextResponse.json({error:String(e)},{status:500})}}async function E(e){try{let{token:t}=await e.json();if(!t)return w.NextResponse.json({error:"Token is required"},{status:400});let a=await (0,v.readDeploymentConfig)();return a.vercelBlobToken=t,await (0,v.writeDeploymentConfig)(a),w.NextResponse.json({success:!0})}catch(e){return w.NextResponse.json({error:String(e)},{status:500})}}e.s(["GET",0,S,"POST",0,E],28827);var A=e.i(28827);let b=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/deployment/blob-setup/route",pathname:"/api/deployment/blob-setup",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/deployment/blob-setup/route.ts",nextConfigOutput:"standalone",userland:A,...{}}),{workAsyncStorage:R,workUnitAsyncStorage:T,serverHooks:C}=b;async function O(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),b.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/deployment/blob-setup/route";w=w.replace(/\/index$/,"")||"/";let v=await b.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:S,deploymentId:E,params:A,nextConfig:R,parsedUrl:T,isDraftMode:C,prerenderManifest:O,routerServerContext:I,isOnDemandRevalidate:N,revalidateOnlyGenerated:x,resolvedPathname:D,clientReferenceManifest:U,serverActionsManifest:P}=v,M=(0,i.normalizeAppPath)(w),L=!!(O.dynamicRoutes[M]||O.routes[D]),k=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,T,!1):t.end("This page could not be found"),null);if(L&&!C){let e=!!O.routes[D],t=O.dynamicRoutes[M];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await k();throw new g.NoFallbackError}}let j=null;!L||b.isDev||C||(j="/index"===(j=D)?"/":j);let q=!0===b.isDev||!L,F=L&&!q;P&&U&&(0,o.setManifestsSingleton)({page:w,clientReferenceManifest:U,serverActionsManifest:P});let K=e.method||"GET",_=(0,s.getTracer)(),H=_.getActiveScopeSpan(),W=!!(null==I?void 0:I.isWrappedByNextServer),Y=!!(0,n.getRequestMeta)(e,"minimalMode"),z=(0,n.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,R,O,Y);null==z||z.resetRequestCache(),globalThis.__incrementalCache=z;let G={params:A,previewProps:O.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:q,incrementalCache:z,cacheLifeProfiles:R.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>b.onRequestError(e,t,r,n,I)},sharedContext:{buildId:S,deploymentId:E}},V=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),$=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let n,o=async e=>b.handle($,G).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")!==u.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=`${K} ${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(`${K} ${w}`)}),i=async n=>{var s,i;let l=async({previousCacheEntry:a})=>{try{if(!Y&&N&&x&&!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=G.renderOpts.fetchMetrics;let i=G.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let l=G.renderOpts.collectedTags;if(!L)return await (0,p.sendResponse)(V,B,s,G.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!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=y.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,r=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=y.INFINITE_CACHE?void 0:G.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 b.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:N})},!1,I),t}},d=await b.handleResponse({req:e,nextConfig:R,cacheKey:j,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:x,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:Y});if(!L)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});Y||t.setHeader("x-nextjs-cache",N?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return Y&&L||u.delete(y.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,m.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(V,B,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};W&&H?await i(H):(n=_.getActiveScopeSpan(),await _.withPropagatedContext(e.headers,()=>_.trace(u.BaseServerSpan.handleRequest,{spanName:`${K} ${w}`,kind:s.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},i),void 0,!W))}catch(t){if(t instanceof g.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:N})},!1,I),L)throw t;return await (0,p.sendResponse)(V,B,new Response(null,{status:500})),null}}e.s(["handler",0,O,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:R,workUnitAsyncStorage:T})},"routeModule",0,b,"serverHooks",0,C,"workAsyncStorage",0,R,"workUnitAsyncStorage",0,T],328082)}];
58
58
 
59
59
  //# sourceMappingURL=%5Broot-of-the-server%5D__07_1411._.js.map
@@ -54,6 +54,6 @@ RESPONSE FORMATTING (Analytics Style):
54
54
  - Structure complex responses logically (e.g., Summary -> Key Metrics -> Breakdown).
55
55
  - If your findings contain a small table of data, format it cleanly using Markdown tables.
56
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,s,"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,o],638725);let l=a.default.join(process.cwd(),".larkup"),u=a.default.join(l,"servers"),d=a.default.join(l,"workspace.json"),c={username:null,activeServerId:null,servers:[],mode:null},p=new n.AsyncLocalStorage,m=Promise.resolve();function h(e){let t=m.then(e,e);return m=t.catch(()=>{}),t}async function f(e){return await E(),h(async()=>e(await S()??c))}function w(e){return a.default.join(u,e)}function g(e,t){return`./.larkup/servers/${e}/${t}`}async function y(e){try{return await t.promises.access(e),!0}catch{return!1}}async function v(e,r){if(await y(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 S(){try{let e=await t.promises.readFile(d,"utf8");return{...c,...JSON.parse(e)}}catch{return null}}async function A(e){return await t.promises.mkdir(l,{recursive:!0}),await t.promises.writeFile(d,JSON.stringify(e,null,2),"utf8"),e}async function E(){let e=await S();return e||h(b)}async function b(){let e=await S();if(e)return e;if(!await y(a.default.join(l,"config.json")))return A(c);let n=(0,r.randomUUID)(),i=w(n);for(let e of(await t.promises.mkdir(i,{recursive:!0}),["config.json","documents.json","jobs.json","index-run.json","server-local.json"]))await v(a.default.join(l,e),a.default.join(i,e));await v(a.default.join(l,"lancedb"),a.default.join(i,"lancedb")),await v(a.default.join(l,"generated-server"),a.default.join(i,"generated-server"));let s="Default server";try{let e=a.default.join(i,"config.json"),r=JSON.parse(await t.promises.readFile(e,"utf8"));r.projectName&&(s=r.projectName),"lancedb"===r.vectorStore&&(r.storeConfig?.mode??"local")==="local"&&(r.storeConfig={...r.storeConfig,dbPath:g(n,"lancedb")}),await t.promises.writeFile(e,JSON.stringify(r,null,2),"utf8")}catch{}let o=new Date().toISOString(),u={id:n,name:s,port:8080,createdAt:o,updatedAt:o};return A({username:null,activeServerId:n,servers:[u],mode:null})}async function R(){let e=await E(),t=p.getStore()?.serverId??e.activeServerId;return t?e.servers.find(e=>e.id===t)??null:null}async function x(){let e=await R();if(!e)return null;let a=w(e.id);return await t.promises.mkdir(a,{recursive:!0}),a}async function I(){let e=await x();if(e)return e;let t=p.getStore()?.serverId;if(t)throw Error(`Server "${t}" no longer exists.`);let{server:a}=await D("My RAG server");return w(a.id)}async function C(e){return new Promise(t=>{let a=i.default.createServer();a.once("error",()=>t(!1)),a.once("listening",()=>{a.close(()=>t(!0))}),a.listen(e,"127.0.0.1")})}async function N(e){let t=Math.max(8079,...e.servers.map(e=>e.port))+1;for(;!await C(t);)t++;return t}function D(e){return f(async n=>{let i=(0,r.randomUUID)(),o=new Date().toISOString(),l={id:i,name:e.trim()||"Untitled server",port:await N(n),createdAt:o,updatedAt:o},u=w(i);await t.promises.mkdir(u,{recursive:!0});let d={};if(n.activeServerId)try{let e=await t.promises.readFile(a.default.join(w(n.activeServerId),"config.json"),"utf8");d=JSON.parse(e)}catch{}await t.promises.writeFile(a.default.join(u,"config.json"),JSON.stringify(function(e,t,a={}){return{...s,projectName:t.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"my-rag",storeConfig:{mode:"local",dbPath:g(e,"lancedb")},embeddingApiKey:a.embeddingApiKey??s.embeddingApiKey,customEmbeddings:a.customEmbeddings??s.customEmbeddings,chatApiKey:a.chatApiKey??s.chatApiKey,customChatModels:a.customChatModels??s.customChatModels,serperApiKey:a.serperApiKey??s.serperApiKey,firecrawlApiKey:a.firecrawlApiKey??s.firecrawlApiKey,updatedAt:new Date().toISOString()}}(i,l.name,d),null,2),"utf8");let c={...n,servers:[...n.servers,l],activeServerId:i};return await A(c),{workspace:c,server:l}})}e.s(["createServer",0,D,"deleteServer",0,function(e){return f(async a=>{let r=a.servers.filter(t=>t.id!==e),n=a.activeServerId===e?r[0]?.id??null:a.activeServerId;return await t.promises.rm(w(e),{recursive:!0,force:!0}),A({...a,servers:r,activeServerId:n})})},"getActiveServer",0,R,"getDataDir",0,x,"getWorkspace",0,E,"renameServer",0,function(e,t){return f(async a=>{let r=a.servers.map(a=>a.id===e?{...a,name:t.trim()||a.name,updatedAt:new Date().toISOString()}:a);return A({...a,servers:r})})},"requireDataDir",0,I,"runWithServer",0,function(e,t){return p.run({serverId:e},t)},"setActiveServer",0,function(e){return f(async t=>t.servers.some(t=>t.id===e)?A({...t,activeServerId:e}):t)},"setMode",0,function(e){return f(async t=>A({...t,mode:e}))},"setUsername",0,function(e){return f(async t=>A({...t,username:e.trim()||null}))}],192441)},367165,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(638725),n=e.i(192441);async function i(){let e=await (0,n.getDataDir)();if(!e)return r.DEFAULT_CONFIG;try{let n=await t.promises.readFile(a.default.join(e,"config.json"),"utf8"),i=JSON.parse(n),s=i.customEmbeddings,o=i.embeddingModelId;if(i.customEmbedding&&!s?.length){let e=i.customEmbedding;s=[e],"custom"===o&&(o=`custom:${e.modelName}`)}let l={...r.DEFAULT_CONFIG,...i,embeddingModelId:o??r.DEFAULT_CONFIG.embeddingModelId,customEmbeddings:s,chunking:{...r.DEFAULT_CONFIG.chunking,...i.chunking},storeConfig:{...r.DEFAULT_CONFIG.storeConfig,...i.storeConfig}};return delete l.customEmbedding,l}catch{return r.DEFAULT_CONFIG}}async function s(e){let r=await (0,n.requireDataDir)(),i={...e,updatedAt:new Date().toISOString()};return await t.promises.writeFile(a.default.join(r,"config.json"),JSON.stringify(i,null,2),"utf8"),i}e.s(["readConfig",0,i,"writeConfig",0,s])},705252,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(666680),n=e.i(192441);let i=Promise.resolve();function s(e){let t=i.then(e,e);return i=t.catch(()=>{}),t}async function o(e){let t=e?await (0,n.requireDataDir)():await (0,n.getDataDir)();return t?a.default.join(t,"documents.json"):null}async function l(){let e=await o(!1);if(!e)return[];try{let a=await t.promises.readFile(e,"utf8"),r=JSON.parse(a);if(!Array.isArray(r))throw Error(`Invalid document store at ${e}: expected a JSON array.`);return r}catch(e){if(e?.code==="ENOENT")return[];throw e}}async function u(e){let n=await o(!0);if(!n)return;let i=a.default.join(a.default.dirname(n),`.${a.default.basename(n)}.${process.pid}.${(0,r.randomUUID)()}.tmp`);try{await t.promises.writeFile(i,JSON.stringify(e,null,2),"utf8"),await t.promises.rename(i,n)}catch(e){throw await t.promises.unlink(i).catch(()=>{}),e}}function d(e){let t=e.content.trim();return{id:e.id??(0,r.randomUUID)(),title:e.title.trim()||"Untitled",url:e.url,source:e.source,content:t,charCount:t.length,jobId:e.jobId,metadata:e.metadata,status:"unindexed",createdAt:new Date().toISOString()}}async function c(){let e=await l(),t=e.reduce((e,t)=>e+t.charCount,0);return{docCount:e.length,charCount:t,bySource:e.reduce((e,t)=>(e[t.source]=(e[t.source]??0)+1,e),{})}}e.s(["addCrawledDocuments",0,function(e,t){return s(async()=>{let a=await l(),r=new Set(a.filter(e=>e.url).map(e=>e.url)),n=0;for(let i of t)!(i.url&&r.has(i.url))&&i.content.trim()&&(a.push(d({...i,jobId:e})),i.url&&r.add(i.url),n++);return n>0&&await u(a),n})},"addDocument",0,function(e){return s(async()=>{let t=await l(),a=d(e);return t.push(a),await u(t),a})},"addDocuments",0,function(e){return s(async()=>{if(0===e.length)return[];let t=await l(),a=e.map(d);return t.push(...a),await u(t),a})},"clearDocuments",0,function(){return s(async()=>{await u([])})},"corpusStats",0,c,"deleteDocument",0,function(e){return s(async()=>{let t=await l();await u(t.filter(t=>t.id!==e))})},"deleteDocuments",0,function(e){return s(async()=>{let t=await l(),a=new Set(e);await u(t.filter(e=>!a.has(e.id)))})},"readDocuments",0,l,"replaceDocuments",0,function(e){return s(async()=>{let t=new Date().toISOString();await u(e.map(e=>({...e,status:"unindexed",createdAt:e.createdAt||t})))})},"updateDocument",0,function(e,t){return s(async()=>{let a=await l(),r=a.findIndex(t=>t.id===e);if(r<0)return;let n=a[r],i=void 0!==t.content?t.content.trim():n.content,s={...n,title:void 0!==t.title?t.title.trim()||"Untitled":n.title,content:i,charCount:i.length,url:void 0!==t.url?t.url||void 0:n.url,metadata:void 0!==t.metadata?t.metadata:n.metadata,status:"unindexed"};return a[r]=s,await u(a),s})},"updateDocumentsStatus",0,function(e,t){return s(async()=>{let a=await l(),r=new Set(e),n=!1;for(let e of a)r.has(e.id)&&(e.status=t,n=!0);n&&await u(a)})}])},585071,e=>{"use strict";var t=e.i(192441);async function a(a,r){let n={...a.storeConfig},i=await (0,t.getActiveServer)(),s=i?.id;if(s){let e=s.replace(/[^a-zA-Z0-9_-]/g,"_");"pinecone"===a.vectorStore?n.namespace=s:"chroma"===a.vectorStore?n.collectionName=`documents_${e}`:"lancedb"!==a.vectorStore&&a.vectorStore||(n.tableName=`documents_${e}`)}switch(a.vectorStore){case"pinecone":{let{PineconeAdapter:t}=await e.A(77149);return new t({apiKey:n.apiKey,indexName:n.indexName,namespace:n.namespace,sparseModel:n.sparseModel,indexType:a.indexType,onRateLimit:r})}case"chroma":{let{ChromaAdapter:t}=await e.A(195059);return new t({mode:n.mode,host:n.host,authToken:n.authToken,apiKey:n.apiKey,tenant:n.tenant,database:n.database,collectionName:n.collectionName,indexType:a.indexType})}default:{let{LanceDBAdapter:t}=await e.A(184904);return new t({mode:n.mode,dbPath:n.dbPath,uri:n.uri,apiKey:n.apiKey,s3Uri:n.s3Uri,s3Endpoint:n.s3Endpoint,s3Region:n.s3Region,s3AccessKeyId:n.s3AccessKeyId,s3SecretAccessKey:n.s3SecretAccessKey,tableName:n.tableName})}}}e.s(["createAdapter",0,a])},489694,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(192441);let n=Promise.resolve();function i(e){let t=n.then(e,e);return n=t.catch(()=>{}),t}async function s(e){let t=e?await (0,r.requireDataDir)():await (0,r.getDataDir)();return t?a.default.join(t,"index-run.json"):null}async function o(){let e=await s(!1);if(!e)return null;try{let a=await t.promises.readFile(e,"utf8");return JSON.parse(a)}catch{return null}}async function l(){let e=await o();return!!(e&&("chunking"===e.status||"embedding"===e.status||"upserting"===e.status))}e.s(["claimRun",0,function(e){return i(async()=>{let a=await o();if(a&&("chunking"===a.status||"embedding"===a.status||"upserting"===a.status))throw Error("An indexing run is already in progress.");let r=await s(!0),n={...e,updatedAt:new Date().toISOString()};return r&&await t.promises.writeFile(r,JSON.stringify(n,null,2),"utf8"),n})},"isRunning",0,l,"patchRun",0,function(e,a){return i(async()=>{let r=await o();if(!r||a&&r.id!==a)return null;let n={...r,...e,updatedAt:new Date().toISOString()},i=await s(!0);return i&&await t.promises.writeFile(i,JSON.stringify(n,null,2),"utf8"),n})},"readRun",0,o])},254799,(e,t,a)=>{t.exports=e.x("crypto",()=>require("crypto"))},924868,(e,t,a)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},529638,e=>{"use strict";var t=e.i(850492),a=e.i(891119),r=e.i(697373),n=e.i(765700),i=e.i(601263),s=e.i(706859),o=e.i(947547),l=e.i(819797),u=e.i(135958),d=e.i(86520),c=e.i(970949),p=e.i(741165),m=e.i(106898),h=e.i(454415),f=e.i(37125),w=e.i(193695);e.i(530058);var g=e.i(605998),y=e.i(686296),v=e.i(705252),S=e.i(367165),A=e.i(489694),E=e.i(585071),b=e.i(254799),R=e.i(924868),x=e.i(814747);async function I(){let[e,t]=await Promise.all([(0,v.readDocuments)(),(0,v.corpusStats)()]),a=e.filter(e=>"media"!==e.source||"indexed"===e.status),r=a.reduce((e,t)=>e+t.charCount,0),n={...t,docCount:a.length,charCount:r,bySource:a.reduce((e,t)=>(e[t.source]=(e[t.source]??0)+1,e),{})},i=a.sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime());return y.NextResponse.json({documents:i,stats:n})}async function C(e){try{let t=await e.json();if(!t.content||!t.content.trim())return y.NextResponse.json({error:"Content is empty."},{status:400});if(t.metadata&&t.metadata.isImage&&t.metadata.imageBase64)try{let e=t.metadata.imageBase64.replace(/^data:image\/\w+;base64,/,""),a=Buffer.from(e,"base64"),r=`${(0,b.randomUUID)()}.png`,n=x.default.join(process.cwd(),".larkup","uploads");await R.default.mkdir(n,{recursive:!0}),await R.default.writeFile(x.default.join(n,r),a),delete t.metadata.imageBase64,t.metadata.imageUrl=`/api/uploads/${r}`,t.url=t.metadata.imageUrl}catch(e){console.error("Failed to save extracted image to disk",e)}let a=await (0,v.addDocument)({title:t.title??"Untitled",content:t.content,source:"upload"===t.source?"upload":"paste",url:t.url,metadata:t.metadata});return y.NextResponse.json({document:a},{status:201})}catch(t){let e=t instanceof Error?t.message:"Failed to add document.";return y.NextResponse.json({error:e},{status:500})}}async function N(e){let t;try{t=await e.json()}catch{return y.NextResponse.json({error:"Invalid JSON body."},{status:400})}if(!t.id)return y.NextResponse.json({error:"id is required."},{status:400});if(void 0!==t.content&&!t.content.trim())return y.NextResponse.json({error:"Content is empty."},{status:400});let a=await (0,v.updateDocument)(t.id,{title:t.title,content:t.content,url:t.url,metadata:t.metadata});return a?y.NextResponse.json({document:a}):y.NextResponse.json({error:"Document not found."},{status:404})}async function D(t){let a=new URL(t.url),r=a.searchParams.get("id"),n=a.searchParams.get("ids"),i=await (0,v.readDocuments)(),s=[];if(r)s=i.filter(e=>e.id===r);else if(n){let e=n.split(",");s=i.filter(t=>e.includes(t.id))}else s=i;for(let t of s){if(t.metadata?.mediaAssetId){let{getMediaAsset:a,deleteMediaAsset:r}=await e.A(742957),{createStorageProvider:n}=await e.A(649041),i=await a(t.metadata.mediaAssetId);if(i){let e=n();await e.delete(i.storageUri).catch(()=>{}),i.thumbnailUri&&await e.delete(i.thumbnailUri).catch(()=>{}),await r(t.metadata.mediaAssetId)}}for(let a of[t.url,t.metadata?.imageUrl].filter(Boolean))if(a?.startsWith("/api/media/")){let t=a.split("/api/media/")[1]?.split("?")[0];if(t){let{getMediaAsset:a,deleteMediaAsset:r}=await e.A(742957),{createStorageProvider:n}=await e.A(649041),i=await a(t);if(i){let e=n();await e.delete(i.storageUri).catch(()=>{}),i.thumbnailUri&&await e.delete(i.thumbnailUri).catch(()=>{}),await r(t)}}}else if(a?.startsWith("/api/uploads/")){let e=a.split("/api/uploads/")[1]?.split("?")[0];if(e){let t=x.default.join(process.cwd(),".larkup","uploads");await R.default.unlink(x.default.join(t,e)).catch(()=>{})}}}let o=[];if(r)await (0,v.deleteDocument)(r),o=[r];else if(n){let e=n.split(",");await (0,v.deleteDocuments)(e),o=e}else{await (0,v.clearDocuments)();try{let e=await (0,S.readConfig)(),t=await (0,E.createAdapter)(e);await t.init(0),await t.reset()}catch{}try{await (0,A.readRun)()&&await (0,A.patchRun)({status:"failed",error:"Corpus cleared — index invalidated.",finishedAt:new Date().toISOString()})}catch{}}if(o.length>0)try{let e=await (0,S.readConfig)(),t=await (0,E.createAdapter)(e);await t.init(0),await t.deleteByDocumentIds(o)}catch(e){console.error("Failed to delete vectors for specific documents:",e)}return y.NextResponse.json({ok:!0})}e.s(["DELETE",0,D,"GET",0,I,"PATCH",0,N,"POST",0,C,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],646919);var T=e.i(646919);let O=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/documents/route",pathname:"/api/documents",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/documents/route.ts",nextConfigOutput:"standalone",userland:T,...{}}),{workAsyncStorage:U,workUnitAsyncStorage:j,serverHooks:k}=O;async function P(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),O.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/documents/route";y=y.replace(/\/index$/,"")||"/";let v=await O.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:S,deploymentId:A,params:E,nextConfig:b,parsedUrl:R,isDraftMode:x,prerenderManifest:I,routerServerContext:C,isOnDemandRevalidate:N,revalidateOnlyGenerated:D,resolvedPathname:T,clientReferenceManifest:U,serverActionsManifest:j}=v,k=(0,o.normalizeAppPath)(y),P=!!(I.dynamicRoutes[k]||I.routes[T]),_=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,R,!1):t.end("This page could not be found"),null);if(P&&!x){let e=!!I.routes[T],t=I.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await _();throw new w.NoFallbackError}}let F=null;!P||O.isDev||x||(F="/index"===(F=T)?"/":F);let M=!0===O.isDev||!P,K=P&&!M;j&&U&&(0,s.setManifestsSingleton)({page:y,clientReferenceManifest:U,serverActionsManifest:j});let L=e.method||"GET",q=(0,i.getTracer)(),H=q.getActiveScopeSpan(),G=!!(null==C?void 0:C.isWrappedByNextServer),W=!!(0,n.getRequestMeta)(e,"minimalMode"),z=(0,n.getRequestMeta)(e,"incrementalCache")||await O.getIncrementalCache(e,b,I,W);null==z||z.resetRequestCache(),globalThis.__incrementalCache=z;let $={params:E,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:M,incrementalCache:z,cacheLifeProfiles:b.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>O.onRequestError(e,t,r,n,C)},sharedContext:{buildId:S,deploymentId:A}},B=new l.NodeNextRequest(e),J=new l.NodeNextResponse(t),Y=u.NextRequestAdapter.fromNodeNextRequest(B,(0,u.signalFromNodeResponse)(t));try{let n,s=async e=>O.handle(Y,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=q.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=`${L} ${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(`${L} ${y}`)}),o=async n=>{var i,o;let l=async({previousCacheEntry:a})=>{try{if(!W&&N&&D&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await s(n);e.fetchMetrics=$.renderOpts.fetchMetrics;let o=$.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=$.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)(B,J,i,$.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,r=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await O.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:N})},!1,C),t}},u=await O.handleResponse({req:e,nextConfig:b,cacheKey:F,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:D,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:W});if(!P)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",N?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,m.fromNodeOutgoingHttpHeaders)(u.value.headers);return W&&P||d.delete(f.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(B,J,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};G&&H?await o(H):(n=q.getActiveScopeSpan(),await q.withPropagatedContext(e.headers,()=>q.trace(d.BaseServerSpan.handleRequest,{spanName:`${L} ${y}`,kind:i.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},o),void 0,!G))}catch(t){if(t instanceof w.NoFallbackError||await O.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:N})},!1,C),P)throw t;return await (0,p.sendResponse)(B,J,new Response(null,{status:500})),null}}e.s(["handler",0,P,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:U,workUnitAsyncStorage:j})},"routeModule",0,O,"serverHooks",0,k,"workAsyncStorage",0,U,"workUnitAsyncStorage",0,j],529638)},77149,e=>{e.v(t=>Promise.all(["server/chunks/[externals]__01hpkma._.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]__00a7cyb._.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)))},742957,e=>{e.v(t=>Promise.all(["server/chunks/packages_core_src_media-store_ts_0v0lx36._.js"].map(t=>e.l(t))).then(()=>t(839554)))},649041,e=>{e.v(t=>Promise.all(["server/chunks/packages_marketplace_src_storage-provider_ts_0mbs32-._.js"].map(t=>e.l(t))).then(()=>t(941486)))}];
57
+ - End with a one-sentence synthesis if appropriate, avoiding filler words.`;e.s(["DEFAULT_CONFIG",0,s,"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,o],638725);let l=a.default.join(process.cwd(),".larkup"),u=a.default.join(l,"servers"),d=a.default.join(l,"workspace.json"),c={username:null,activeServerId:null,servers:[],mode:null},p=new n.AsyncLocalStorage,m=Promise.resolve();function h(e){let t=m.then(e,e);return m=t.catch(()=>{}),t}async function f(e){return await E(),h(async()=>e(await S()??c))}function w(e){return a.default.join(u,e)}function g(e,t){return`./.larkup/servers/${e}/${t}`}async function y(e){try{return await t.promises.access(e),!0}catch{return!1}}async function v(e,r){if(await y(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 S(){try{let e=await t.promises.readFile(d,"utf8");return{...c,...JSON.parse(e)}}catch{return null}}async function A(e){return await t.promises.mkdir(l,{recursive:!0}),await t.promises.writeFile(d,JSON.stringify(e,null,2),"utf8"),e}async function E(){let e=await S();return e||h(b)}async function b(){let e=await S();if(e)return e;if(!await y(a.default.join(l,"config.json")))return A(c);let n=(0,r.randomUUID)(),i=w(n);for(let e of(await t.promises.mkdir(i,{recursive:!0}),["config.json","documents.json","jobs.json","index-run.json","server-local.json"]))await v(a.default.join(l,e),a.default.join(i,e));await v(a.default.join(l,"lancedb"),a.default.join(i,"lancedb")),await v(a.default.join(l,"generated-server"),a.default.join(i,"generated-server"));let s="Default server";try{let e=a.default.join(i,"config.json"),r=JSON.parse(await t.promises.readFile(e,"utf8"));r.projectName&&(s=r.projectName),"lancedb"===r.vectorStore&&(r.storeConfig?.mode??"local")==="local"&&(r.storeConfig={...r.storeConfig,dbPath:g(n,"lancedb")}),await t.promises.writeFile(e,JSON.stringify(r,null,2),"utf8")}catch{}let o=new Date().toISOString(),u={id:n,name:s,port:8080,createdAt:o,updatedAt:o};return A({username:null,activeServerId:n,servers:[u],mode:null})}async function R(){let e=await E(),t=p.getStore()?.serverId??e.activeServerId;return t?e.servers.find(e=>e.id===t)??null:null}async function x(){let e=await R();if(!e)return null;let a=w(e.id);return await t.promises.mkdir(a,{recursive:!0}),a}async function I(){let e=await x();if(e)return e;let t=p.getStore()?.serverId;if(t)throw Error(`Server "${t}" no longer exists.`);let{server:a}=await D("my-larkup");return w(a.id)}async function C(e){return new Promise(t=>{let a=i.default.createServer();a.once("error",()=>t(!1)),a.once("listening",()=>{a.close(()=>t(!0))}),a.listen(e,"127.0.0.1")})}async function N(e){let t=Math.max(8079,...e.servers.map(e=>e.port))+1;for(;!await C(t);)t++;return t}function D(e){return f(async n=>{let i=(0,r.randomUUID)(),o=new Date().toISOString(),l={id:i,name:e.trim()||"Untitled server",port:await N(n),createdAt:o,updatedAt:o},u=w(i);await t.promises.mkdir(u,{recursive:!0});let d={};if(n.activeServerId)try{let e=await t.promises.readFile(a.default.join(w(n.activeServerId),"config.json"),"utf8");d=JSON.parse(e)}catch{}await t.promises.writeFile(a.default.join(u,"config.json"),JSON.stringify(function(e,t,a={}){return{...s,projectName:t.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"my-larkup",storeConfig:{mode:"local",dbPath:g(e,"lancedb")},embeddingApiKey:a.embeddingApiKey??s.embeddingApiKey,customEmbeddings:a.customEmbeddings??s.customEmbeddings,chatApiKey:a.chatApiKey??s.chatApiKey,customChatModels:a.customChatModels??s.customChatModels,serperApiKey:a.serperApiKey??s.serperApiKey,firecrawlApiKey:a.firecrawlApiKey??s.firecrawlApiKey,updatedAt:new Date().toISOString()}}(i,l.name,d),null,2),"utf8");let c={...n,servers:[...n.servers,l],activeServerId:i};return await A(c),{workspace:c,server:l}})}e.s(["createServer",0,D,"deleteServer",0,function(e){return f(async a=>{let r=a.servers.filter(t=>t.id!==e),n=a.activeServerId===e?r[0]?.id??null:a.activeServerId;return await t.promises.rm(w(e),{recursive:!0,force:!0}),A({...a,servers:r,activeServerId:n})})},"getActiveServer",0,R,"getDataDir",0,x,"getWorkspace",0,E,"renameServer",0,function(e,t){return f(async a=>{let r=a.servers.map(a=>a.id===e?{...a,name:t.trim()||a.name,updatedAt:new Date().toISOString()}:a);return A({...a,servers:r})})},"requireDataDir",0,I,"runWithServer",0,function(e,t){return p.run({serverId:e},t)},"setActiveServer",0,function(e){return f(async t=>t.servers.some(t=>t.id===e)?A({...t,activeServerId:e}):t)},"setMode",0,function(e){return f(async t=>A({...t,mode:e}))},"setUsername",0,function(e){return f(async t=>A({...t,username:e.trim()||null}))}],192441)},367165,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(638725),n=e.i(192441);async function i(){let e=await (0,n.getDataDir)();if(!e)return r.DEFAULT_CONFIG;try{let n=await t.promises.readFile(a.default.join(e,"config.json"),"utf8"),i=JSON.parse(n),s=i.customEmbeddings,o=i.embeddingModelId;if(i.customEmbedding&&!s?.length){let e=i.customEmbedding;s=[e],"custom"===o&&(o=`custom:${e.modelName}`)}let l={...r.DEFAULT_CONFIG,...i,embeddingModelId:o??r.DEFAULT_CONFIG.embeddingModelId,customEmbeddings:s,chunking:{...r.DEFAULT_CONFIG.chunking,...i.chunking},storeConfig:{...r.DEFAULT_CONFIG.storeConfig,...i.storeConfig}};return delete l.customEmbedding,l}catch{return r.DEFAULT_CONFIG}}async function s(e){let r=await (0,n.requireDataDir)(),i={...e,updatedAt:new Date().toISOString()};return await t.promises.writeFile(a.default.join(r,"config.json"),JSON.stringify(i,null,2),"utf8"),i}e.s(["readConfig",0,i,"writeConfig",0,s])},705252,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(666680),n=e.i(192441);let i=Promise.resolve();function s(e){let t=i.then(e,e);return i=t.catch(()=>{}),t}async function o(e){let t=e?await (0,n.requireDataDir)():await (0,n.getDataDir)();return t?a.default.join(t,"documents.json"):null}async function l(){let e=await o(!1);if(!e)return[];try{let a=await t.promises.readFile(e,"utf8"),r=JSON.parse(a);if(!Array.isArray(r))throw Error(`Invalid document store at ${e}: expected a JSON array.`);return r}catch(e){if(e?.code==="ENOENT")return[];throw e}}async function u(e){let n=await o(!0);if(!n)return;let i=a.default.join(a.default.dirname(n),`.${a.default.basename(n)}.${process.pid}.${(0,r.randomUUID)()}.tmp`);try{await t.promises.writeFile(i,JSON.stringify(e,null,2),"utf8"),await t.promises.rename(i,n)}catch(e){throw await t.promises.unlink(i).catch(()=>{}),e}}function d(e){let t=e.content.trim();return{id:e.id??(0,r.randomUUID)(),title:e.title.trim()||"Untitled",url:e.url,source:e.source,content:t,charCount:t.length,jobId:e.jobId,metadata:e.metadata,status:"unindexed",createdAt:new Date().toISOString()}}async function c(){let e=await l(),t=e.reduce((e,t)=>e+t.charCount,0);return{docCount:e.length,charCount:t,bySource:e.reduce((e,t)=>(e[t.source]=(e[t.source]??0)+1,e),{})}}e.s(["addCrawledDocuments",0,function(e,t){return s(async()=>{let a=await l(),r=new Set(a.filter(e=>e.url).map(e=>e.url)),n=0;for(let i of t)!(i.url&&r.has(i.url))&&i.content.trim()&&(a.push(d({...i,jobId:e})),i.url&&r.add(i.url),n++);return n>0&&await u(a),n})},"addDocument",0,function(e){return s(async()=>{let t=await l(),a=d(e);return t.push(a),await u(t),a})},"addDocuments",0,function(e){return s(async()=>{if(0===e.length)return[];let t=await l(),a=e.map(d);return t.push(...a),await u(t),a})},"clearDocuments",0,function(){return s(async()=>{await u([])})},"corpusStats",0,c,"deleteDocument",0,function(e){return s(async()=>{let t=await l();await u(t.filter(t=>t.id!==e))})},"deleteDocuments",0,function(e){return s(async()=>{let t=await l(),a=new Set(e);await u(t.filter(e=>!a.has(e.id)))})},"readDocuments",0,l,"replaceDocuments",0,function(e){return s(async()=>{let t=new Date().toISOString();await u(e.map(e=>({...e,status:"unindexed",createdAt:e.createdAt||t})))})},"updateDocument",0,function(e,t){return s(async()=>{let a=await l(),r=a.findIndex(t=>t.id===e);if(r<0)return;let n=a[r],i=void 0!==t.content?t.content.trim():n.content,s={...n,title:void 0!==t.title?t.title.trim()||"Untitled":n.title,content:i,charCount:i.length,url:void 0!==t.url?t.url||void 0:n.url,metadata:void 0!==t.metadata?t.metadata:n.metadata,status:"unindexed"};return a[r]=s,await u(a),s})},"updateDocumentsStatus",0,function(e,t){return s(async()=>{let a=await l(),r=new Set(e),n=!1;for(let e of a)r.has(e.id)&&(e.status=t,n=!0);n&&await u(a)})}])},585071,e=>{"use strict";var t=e.i(192441);async function a(a,r){let n={...a.storeConfig},i=await (0,t.getActiveServer)(),s=i?.id;if(s){let e=s.replace(/[^a-zA-Z0-9_-]/g,"_");"pinecone"===a.vectorStore?n.namespace=s:"chroma"===a.vectorStore?n.collectionName=`documents_${e}`:"lancedb"!==a.vectorStore&&a.vectorStore||(n.tableName=`documents_${e}`)}switch(a.vectorStore){case"pinecone":{let{PineconeAdapter:t}=await e.A(77149);return new t({apiKey:n.apiKey,indexName:n.indexName,namespace:n.namespace,sparseModel:n.sparseModel,indexType:a.indexType,onRateLimit:r})}case"chroma":{let{ChromaAdapter:t}=await e.A(195059);return new t({mode:n.mode,host:n.host,authToken:n.authToken,apiKey:n.apiKey,tenant:n.tenant,database:n.database,collectionName:n.collectionName,indexType:a.indexType})}default:{let{LanceDBAdapter:t}=await e.A(184904);return new t({mode:n.mode,dbPath:n.dbPath,uri:n.uri,apiKey:n.apiKey,s3Uri:n.s3Uri,s3Endpoint:n.s3Endpoint,s3Region:n.s3Region,s3AccessKeyId:n.s3AccessKeyId,s3SecretAccessKey:n.s3SecretAccessKey,tableName:n.tableName})}}}e.s(["createAdapter",0,a])},489694,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(192441);let n=Promise.resolve();function i(e){let t=n.then(e,e);return n=t.catch(()=>{}),t}async function s(e){let t=e?await (0,r.requireDataDir)():await (0,r.getDataDir)();return t?a.default.join(t,"index-run.json"):null}async function o(){let e=await s(!1);if(!e)return null;try{let a=await t.promises.readFile(e,"utf8");return JSON.parse(a)}catch{return null}}async function l(){let e=await o();return!!(e&&("chunking"===e.status||"embedding"===e.status||"upserting"===e.status))}e.s(["claimRun",0,function(e){return i(async()=>{let a=await o();if(a&&("chunking"===a.status||"embedding"===a.status||"upserting"===a.status))throw Error("An indexing run is already in progress.");let r=await s(!0),n={...e,updatedAt:new Date().toISOString()};return r&&await t.promises.writeFile(r,JSON.stringify(n,null,2),"utf8"),n})},"isRunning",0,l,"patchRun",0,function(e,a){return i(async()=>{let r=await o();if(!r||a&&r.id!==a)return null;let n={...r,...e,updatedAt:new Date().toISOString()},i=await s(!0);return i&&await t.promises.writeFile(i,JSON.stringify(n,null,2),"utf8"),n})},"readRun",0,o])},254799,(e,t,a)=>{t.exports=e.x("crypto",()=>require("crypto"))},924868,(e,t,a)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},529638,e=>{"use strict";var t=e.i(850492),a=e.i(891119),r=e.i(697373),n=e.i(765700),i=e.i(601263),s=e.i(706859),o=e.i(947547),l=e.i(819797),u=e.i(135958),d=e.i(86520),c=e.i(970949),p=e.i(741165),m=e.i(106898),h=e.i(454415),f=e.i(37125),w=e.i(193695);e.i(530058);var g=e.i(605998),y=e.i(686296),v=e.i(705252),S=e.i(367165),A=e.i(489694),E=e.i(585071),b=e.i(254799),R=e.i(924868),x=e.i(814747);async function I(){let[e,t]=await Promise.all([(0,v.readDocuments)(),(0,v.corpusStats)()]),a=e.filter(e=>"media"!==e.source||"indexed"===e.status),r=a.reduce((e,t)=>e+t.charCount,0),n={...t,docCount:a.length,charCount:r,bySource:a.reduce((e,t)=>(e[t.source]=(e[t.source]??0)+1,e),{})},i=a.sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime());return y.NextResponse.json({documents:i,stats:n})}async function C(e){try{let t=await e.json();if(!t.content||!t.content.trim())return y.NextResponse.json({error:"Content is empty."},{status:400});if(t.metadata&&t.metadata.isImage&&t.metadata.imageBase64)try{let e=t.metadata.imageBase64.replace(/^data:image\/\w+;base64,/,""),a=Buffer.from(e,"base64"),r=`${(0,b.randomUUID)()}.png`,n=x.default.join(process.cwd(),".larkup","uploads");await R.default.mkdir(n,{recursive:!0}),await R.default.writeFile(x.default.join(n,r),a),delete t.metadata.imageBase64,t.metadata.imageUrl=`/api/uploads/${r}`,t.url=t.metadata.imageUrl}catch(e){console.error("Failed to save extracted image to disk",e)}let a=await (0,v.addDocument)({title:t.title??"Untitled",content:t.content,source:"upload"===t.source?"upload":"paste",url:t.url,metadata:t.metadata});return y.NextResponse.json({document:a},{status:201})}catch(t){let e=t instanceof Error?t.message:"Failed to add document.";return y.NextResponse.json({error:e},{status:500})}}async function N(e){let t;try{t=await e.json()}catch{return y.NextResponse.json({error:"Invalid JSON body."},{status:400})}if(!t.id)return y.NextResponse.json({error:"id is required."},{status:400});if(void 0!==t.content&&!t.content.trim())return y.NextResponse.json({error:"Content is empty."},{status:400});let a=await (0,v.updateDocument)(t.id,{title:t.title,content:t.content,url:t.url,metadata:t.metadata});return a?y.NextResponse.json({document:a}):y.NextResponse.json({error:"Document not found."},{status:404})}async function D(t){let a=new URL(t.url),r=a.searchParams.get("id"),n=a.searchParams.get("ids"),i=await (0,v.readDocuments)(),s=[];if(r)s=i.filter(e=>e.id===r);else if(n){let e=n.split(",");s=i.filter(t=>e.includes(t.id))}else s=i;for(let t of s){if(t.metadata?.mediaAssetId){let{getMediaAsset:a,deleteMediaAsset:r}=await e.A(742957),{createStorageProvider:n}=await e.A(649041),i=await a(t.metadata.mediaAssetId);if(i){let e=n();await e.delete(i.storageUri).catch(()=>{}),i.thumbnailUri&&await e.delete(i.thumbnailUri).catch(()=>{}),await r(t.metadata.mediaAssetId)}}for(let a of[t.url,t.metadata?.imageUrl].filter(Boolean))if(a?.startsWith("/api/media/")){let t=a.split("/api/media/")[1]?.split("?")[0];if(t){let{getMediaAsset:a,deleteMediaAsset:r}=await e.A(742957),{createStorageProvider:n}=await e.A(649041),i=await a(t);if(i){let e=n();await e.delete(i.storageUri).catch(()=>{}),i.thumbnailUri&&await e.delete(i.thumbnailUri).catch(()=>{}),await r(t)}}}else if(a?.startsWith("/api/uploads/")){let e=a.split("/api/uploads/")[1]?.split("?")[0];if(e){let t=x.default.join(process.cwd(),".larkup","uploads");await R.default.unlink(x.default.join(t,e)).catch(()=>{})}}}let o=[];if(r)await (0,v.deleteDocument)(r),o=[r];else if(n){let e=n.split(",");await (0,v.deleteDocuments)(e),o=e}else{await (0,v.clearDocuments)();try{let e=await (0,S.readConfig)(),t=await (0,E.createAdapter)(e);await t.init(0),await t.reset()}catch{}try{await (0,A.readRun)()&&await (0,A.patchRun)({status:"failed",error:"Corpus cleared — index invalidated.",finishedAt:new Date().toISOString()})}catch{}}if(o.length>0)try{let e=await (0,S.readConfig)(),t=await (0,E.createAdapter)(e);await t.init(0),await t.deleteByDocumentIds(o)}catch(e){console.error("Failed to delete vectors for specific documents:",e)}return y.NextResponse.json({ok:!0})}e.s(["DELETE",0,D,"GET",0,I,"PATCH",0,N,"POST",0,C,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],646919);var T=e.i(646919);let O=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/documents/route",pathname:"/api/documents",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/documents/route.ts",nextConfigOutput:"standalone",userland:T,...{}}),{workAsyncStorage:U,workUnitAsyncStorage:j,serverHooks:k}=O;async function P(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),O.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/documents/route";y=y.replace(/\/index$/,"")||"/";let v=await O.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:S,deploymentId:A,params:E,nextConfig:b,parsedUrl:R,isDraftMode:x,prerenderManifest:I,routerServerContext:C,isOnDemandRevalidate:N,revalidateOnlyGenerated:D,resolvedPathname:T,clientReferenceManifest:U,serverActionsManifest:j}=v,k=(0,o.normalizeAppPath)(y),P=!!(I.dynamicRoutes[k]||I.routes[T]),_=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,R,!1):t.end("This page could not be found"),null);if(P&&!x){let e=!!I.routes[T],t=I.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await _();throw new w.NoFallbackError}}let F=null;!P||O.isDev||x||(F="/index"===(F=T)?"/":F);let M=!0===O.isDev||!P,K=P&&!M;j&&U&&(0,s.setManifestsSingleton)({page:y,clientReferenceManifest:U,serverActionsManifest:j});let L=e.method||"GET",q=(0,i.getTracer)(),H=q.getActiveScopeSpan(),W=!!(null==C?void 0:C.isWrappedByNextServer),G=!!(0,n.getRequestMeta)(e,"minimalMode"),z=(0,n.getRequestMeta)(e,"incrementalCache")||await O.getIncrementalCache(e,b,I,G);null==z||z.resetRequestCache(),globalThis.__incrementalCache=z;let $={params:E,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:M,incrementalCache:z,cacheLifeProfiles:b.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>O.onRequestError(e,t,r,n,C)},sharedContext:{buildId:S,deploymentId:A}},B=new l.NodeNextRequest(e),J=new l.NodeNextResponse(t),Y=u.NextRequestAdapter.fromNodeNextRequest(B,(0,u.signalFromNodeResponse)(t));try{let n,s=async e=>O.handle(Y,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=q.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=`${L} ${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(`${L} ${y}`)}),o=async n=>{var i,o;let l=async({previousCacheEntry:a})=>{try{if(!G&&N&&D&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await s(n);e.fetchMetrics=$.renderOpts.fetchMetrics;let o=$.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=$.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)(B,J,i,$.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,r=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await O.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:N})},!1,C),t}},u=await O.handleResponse({req:e,nextConfig:b,cacheKey:F,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:D,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:G});if(!P)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",N?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,m.fromNodeOutgoingHttpHeaders)(u.value.headers);return G&&P||d.delete(f.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(B,J,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};W&&H?await o(H):(n=q.getActiveScopeSpan(),await q.withPropagatedContext(e.headers,()=>q.trace(d.BaseServerSpan.handleRequest,{spanName:`${L} ${y}`,kind:i.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},o),void 0,!W))}catch(t){if(t instanceof w.NoFallbackError||await O.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:N})},!1,C),P)throw t;return await (0,p.sendResponse)(B,J,new Response(null,{status:500})),null}}e.s(["handler",0,P,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:U,workUnitAsyncStorage:j})},"routeModule",0,O,"serverHooks",0,k,"workAsyncStorage",0,U,"workUnitAsyncStorage",0,j],529638)},77149,e=>{e.v(t=>Promise.all(["server/chunks/[externals]__01hpkma._.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]__00a7cyb._.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)))},742957,e=>{e.v(t=>Promise.all(["server/chunks/packages_core_src_media-store_ts_0v0lx36._.js"].map(t=>e.l(t))).then(()=>t(839554)))},649041,e=>{e.v(t=>Promise.all(["server/chunks/packages_marketplace_src_storage-provider_ts_0mbs32-._.js"].map(t=>e.l(t))).then(()=>t(941486)))}];
58
58
 
59
59
  //# sourceMappingURL=%5Broot-of-the-server%5D__0acpo9m._.js.map
@@ -54,7 +54,7 @@ RESPONSE FORMATTING (Analytics Style):
54
54
  - Structure complex responses logically (e.g., Summary -> Key Metrics -> Breakdown).
55
55
  - If your findings contain a small table of data, format it cleanly using Markdown tables.
56
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,o,"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,s],638725);let c=r.default.join(process.cwd(),".larkup"),l=r.default.join(c,"servers"),u=r.default.join(c,"workspace.json"),d={username:null,activeServerId:null,servers:[],mode:null},p=new n.AsyncLocalStorage,m=Promise.resolve();function f(e){let t=m.then(e,e);return m=t.catch(()=>{}),t}async function h(e){return await A(),f(async()=>e(await S()??d))}function g(e){return r.default.join(l,e)}function y(e,t){return`./.larkup/servers/${e}/${t}`}async function w(e){try{return await t.promises.access(e),!0}catch{return!1}}async function v(e,a){if(await w(e)){await t.promises.mkdir(r.default.dirname(a),{recursive:!0});try{await t.promises.rename(e,a)}catch{await t.promises.cp(e,a,{recursive:!0}),await t.promises.rm(e,{recursive:!0,force:!0})}}}async function S(){try{let e=await t.promises.readFile(u,"utf8");return{...d,...JSON.parse(e)}}catch{return null}}async function b(e){return await t.promises.mkdir(c,{recursive:!0}),await t.promises.writeFile(u,JSON.stringify(e,null,2),"utf8"),e}async function A(){let e=await S();return e||f(O)}async function O(){let e=await S();if(e)return e;if(!await w(r.default.join(c,"config.json")))return b(d);let n=(0,a.randomUUID)(),i=g(n);for(let e of(await t.promises.mkdir(i,{recursive:!0}),["config.json","documents.json","jobs.json","index-run.json","server-local.json"]))await v(r.default.join(c,e),r.default.join(i,e));await v(r.default.join(c,"lancedb"),r.default.join(i,"lancedb")),await v(r.default.join(c,"generated-server"),r.default.join(i,"generated-server"));let o="Default server";try{let e=r.default.join(i,"config.json"),a=JSON.parse(await t.promises.readFile(e,"utf8"));a.projectName&&(o=a.projectName),"lancedb"===a.vectorStore&&(a.storeConfig?.mode??"local")==="local"&&(a.storeConfig={...a.storeConfig,dbPath:y(n,"lancedb")}),await t.promises.writeFile(e,JSON.stringify(a,null,2),"utf8")}catch{}let s=new Date().toISOString(),l={id:n,name:o,port:8080,createdAt:s,updatedAt:s};return b({username:null,activeServerId:n,servers:[l],mode:null})}async function k(){let e=await A(),t=p.getStore()?.serverId??e.activeServerId;return t?e.servers.find(e=>e.id===t)??null:null}async function T(){let e=await k();if(!e)return null;let r=g(e.id);return await t.promises.mkdir(r,{recursive:!0}),r}async function x(){let e=await T();if(e)return e;let t=p.getStore()?.serverId;if(t)throw Error(`Server "${t}" no longer exists.`);let{server:r}=await M("My RAG server");return g(r.id)}async function I(e){return new Promise(t=>{let r=i.default.createServer();r.once("error",()=>t(!1)),r.once("listening",()=>{r.close(()=>t(!0))}),r.listen(e,"127.0.0.1")})}async function D(e){let t=Math.max(8079,...e.servers.map(e=>e.port))+1;for(;!await I(t);)t++;return t}function M(e){return h(async n=>{let i=(0,a.randomUUID)(),s=new Date().toISOString(),c={id:i,name:e.trim()||"Untitled server",port:await D(n),createdAt:s,updatedAt:s},l=g(i);await t.promises.mkdir(l,{recursive:!0});let u={};if(n.activeServerId)try{let e=await t.promises.readFile(r.default.join(g(n.activeServerId),"config.json"),"utf8");u=JSON.parse(e)}catch{}await t.promises.writeFile(r.default.join(l,"config.json"),JSON.stringify(function(e,t,r={}){return{...o,projectName:t.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"my-rag",storeConfig:{mode:"local",dbPath:y(e,"lancedb")},embeddingApiKey:r.embeddingApiKey??o.embeddingApiKey,customEmbeddings:r.customEmbeddings??o.customEmbeddings,chatApiKey:r.chatApiKey??o.chatApiKey,customChatModels:r.customChatModels??o.customChatModels,serperApiKey:r.serperApiKey??o.serperApiKey,firecrawlApiKey:r.firecrawlApiKey??o.firecrawlApiKey,updatedAt:new Date().toISOString()}}(i,c.name,u),null,2),"utf8");let d={...n,servers:[...n.servers,c],activeServerId:i};return await b(d),{workspace:d,server:c}})}e.s(["createServer",0,M,"deleteServer",0,function(e){return h(async r=>{let a=r.servers.filter(t=>t.id!==e),n=r.activeServerId===e?a[0]?.id??null:r.activeServerId;return await t.promises.rm(g(e),{recursive:!0,force:!0}),b({...r,servers:a,activeServerId:n})})},"getActiveServer",0,k,"getDataDir",0,T,"getWorkspace",0,A,"renameServer",0,function(e,t){return h(async r=>{let a=r.servers.map(r=>r.id===e?{...r,name:t.trim()||r.name,updatedAt:new Date().toISOString()}:r);return b({...r,servers:a})})},"requireDataDir",0,x,"runWithServer",0,function(e,t){return p.run({serverId:e},t)},"setActiveServer",0,function(e){return h(async t=>t.servers.some(t=>t.id===e)?b({...t,activeServerId:e}):t)},"setMode",0,function(e){return h(async t=>b({...t,mode:e}))},"setUsername",0,function(e){return h(async t=>b({...t,username:e.trim()||null}))}],192441)},367165,e=>{"use strict";var t=e.i(902157),r=e.i(750227),a=e.i(638725),n=e.i(192441);async function i(){let e=await (0,n.getDataDir)();if(!e)return a.DEFAULT_CONFIG;try{let n=await t.promises.readFile(r.default.join(e,"config.json"),"utf8"),i=JSON.parse(n),o=i.customEmbeddings,s=i.embeddingModelId;if(i.customEmbedding&&!o?.length){let e=i.customEmbedding;o=[e],"custom"===s&&(s=`custom:${e.modelName}`)}let c={...a.DEFAULT_CONFIG,...i,embeddingModelId:s??a.DEFAULT_CONFIG.embeddingModelId,customEmbeddings:o,chunking:{...a.DEFAULT_CONFIG.chunking,...i.chunking},storeConfig:{...a.DEFAULT_CONFIG.storeConfig,...i.storeConfig}};return delete c.customEmbedding,c}catch{return a.DEFAULT_CONFIG}}async function o(e){let a=await (0,n.requireDataDir)(),i={...e,updatedAt:new Date().toISOString()};return await t.promises.writeFile(r.default.join(a,"config.json"),JSON.stringify(i,null,2),"utf8"),i}e.s(["readConfig",0,i,"writeConfig",0,o])},874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},812057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},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"))},310470,(e,t,r)=>{"use strict";var a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s={},c={VercelOidcTokenError:()=>u};for(var l in c)a(s,l,{get:c[l],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of i(t))o.call(e,s)||void 0===s||a(e,s,{get:()=>t[s],enumerable:!(r=n(t,s))||r.enumerable});return e})(a({},"__esModule",{value:!0}),s);class u extends Error{constructor(e,t){super(e),this.name="VercelOidcTokenError",this.cause=t}toString(){return this.cause?`${this.name}: ${this.message}: ${this.cause}`:`${this.name}: ${this.message}`}}},33015,(e,t,r)=>{"use strict";var a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s={},c={AccessTokenMissingError:()=>u,RefreshAccessTokenFailedError:()=>d};for(var l in c)a(s,l,{get:c[l],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of i(t))o.call(e,s)||void 0===s||a(e,s,{get:()=>t[s],enumerable:!(r=n(t,s))||r.enumerable});return e})(a({},"__esModule",{value:!0}),s);class u extends Error{constructor(){super("No authentication found. Please log in with the Vercel CLI (vercel login)."),this.name="AccessTokenMissingError"}}class d extends Error{constructor(e){super("Failed to refresh authentication token.",{cause:e}),this.name="RefreshAccessTokenFailedError"}}},250216,(e,t,r)=>{"use strict";var a=Object.create,n=Object.defineProperty,i=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t,r,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of o(t))c.call(e,s)||s===r||n(e,s,{get:()=>t[s],enumerable:!(a=i(t,s))||a.enumerable});return e},u=(e,t,r)=>(r=null!=e?a(s(e)):{},l(!t&&e&&e.__esModule?r:n(r,"default",{value:e,enumerable:!0}),e)),d={},p={findRootDir:()=>w,getUserDataDir:()=>v};for(var m in p)n(d,m,{get:p[m],enumerable:!0});t.exports=l(n({},"__esModule",{value:!0}),d);var f=u(e.r(814747)),h=u(e.r(522734)),g=u(e.r(446786)),y=e.r(310470);function w(){try{let e=process.cwd();for(;e!==f.default.dirname(e);){let t=f.default.join(e,".vercel");if(h.default.existsSync(t))return e;e=f.default.dirname(e)}}catch(e){throw new y.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function v(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(g.default.platform()){case"darwin":return f.default.join(g.default.homedir(),"Library/Application Support");case"linux":return f.default.join(g.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}},775427,(e,t,r)=>{"use strict";var a=Object.create,n=Object.defineProperty,i=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t,r,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of o(t))c.call(e,s)||s===r||n(e,s,{get:()=>t[s],enumerable:!(a=i(t,s))||a.enumerable});return e},u=(e,t,r)=>(r=null!=e?a(s(e)):{},l(!t&&e&&e.__esModule?r:n(r,"default",{value:e,enumerable:!0}),e)),d={},p={isValidAccessToken:()=>S,readAuthConfig:()=>w,writeAuthConfig:()=>v};for(var m in p)n(d,m,{get:p[m],enumerable:!0});t.exports=l(n({},"__esModule",{value:!0}),d);var f=u(e.r(522734)),h=u(e.r(814747)),g=e.r(65048);function y(){let e=(0,g.getVercelDataDir)();if(!e)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return h.join(e,"auth.json")}function w(){try{let e=y();if(!f.existsSync(e))return null;let t=f.readFileSync(e,"utf8");if(!t)return null;return JSON.parse(t)}catch(e){return null}}function v(e){let t=y(),r=h.dirname(t);f.existsSync(r)||f.mkdirSync(r,{mode:504,recursive:!0}),f.writeFileSync(t,JSON.stringify(e,null,2),{mode:384})}function S(e,t=0){if(!e.token)return!1;if("number"!=typeof e.expiresAt)return!0;let r=Math.floor(Date.now()/1e3);return e.expiresAt>=r+t/1e3}},371746,(e,t,r)=>{"use strict";var a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s={},c={processTokenResponse:()=>h,refreshTokenRequest:()=>f};for(var l in c)a(s,l,{get:c[l],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of i(t))o.call(e,s)||void 0===s||a(e,s,{get:()=>t[s],enumerable:!(r=n(t,s))||r.enumerable});return e})(a({},"__esModule",{value:!0}),s);var u=e.r(446786);let d=`@vercel/oidc node-${process.version} ${(0,u.platform)()} (${(0,u.arch)()}) ${(0,u.hostname)()}`,p=null;async function m(){if(p)return p;let e=await fetch("https://vercel.com/.well-known/openid-configuration",{headers:{"user-agent":d}});if(!e.ok)throw Error("Failed to discover OAuth endpoints");let t=await e.json();if(!t||"string"!=typeof t.token_endpoint)throw Error("Invalid OAuth discovery response");let r=t.token_endpoint;return p=r,r}async function f(e){let t=await m();return await fetch(t,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":d},body:new URLSearchParams({client_id:"cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",grant_type:"refresh_token",...e})})}async function h(e){let t=await e.json();return e.ok?"object"!=typeof t||null===t?[Error("Invalid token response")]:"string"!=typeof t.access_token?[Error("Missing access_token in response")]:"Bearer"!==t.token_type?[Error("Invalid token_type in response")]:"number"!=typeof t.expires_in?[Error("Missing expires_in in response")]:[null,t]:[Error("object"==typeof t&&t&&"error"in t?String(t.error):"Token refresh failed")]}},65048,(e,t,r)=>{"use strict";var a=Object.create,n=Object.defineProperty,i=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t,r,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of o(t))c.call(e,s)||s===r||n(e,s,{get:()=>t[s],enumerable:!(a=i(t,s))||a.enumerable});return e},u=(e,t,r)=>(r=null!=e?a(s(e)):{},l(!t&&e&&e.__esModule?r:n(r,"default",{value:e,enumerable:!0}),e)),d={},p={assertVercelOidcTokenResponse:()=>k,findProjectInfo:()=>T,getTokenPayload:()=>D,getVercelDataDir:()=>b,getVercelOidcToken:()=>O,getVercelToken:()=>A,isExpired:()=>M,loadToken:()=>I,saveToken:()=>x};for(var m in p)n(d,m,{get:p[m],enumerable:!0});t.exports=l(n({},"__esModule",{value:!0}),d);var f=u(e.r(814747)),h=u(e.r(522734)),g=e.r(310470),y=e.r(250216),w=e.r(775427),v=e.r(371746),S=e.r(33015);function b(){let e=(0,y.getUserDataDir)();return e?f.join(e,"com.vercel.cli"):null}async function A(e){let t=(0,w.readAuthConfig)();if(!t?.token)throw new S.AccessTokenMissingError;if((0,w.isValidAccessToken)(t,e?.expirationBufferMs))return t.token;if(!t.refreshToken)throw(0,w.writeAuthConfig)({}),new S.RefreshAccessTokenFailedError("No refresh token available");try{let e=await (0,v.refreshTokenRequest)({refresh_token:t.refreshToken}),[r,a]=await (0,v.processTokenResponse)(e);if(r||!a)throw(0,w.writeAuthConfig)({}),new S.RefreshAccessTokenFailedError(r);let n={token:a.access_token,expiresAt:Math.floor(Date.now()/1e3)+a.expires_in};return a.refresh_token&&(n.refreshToken=a.refresh_token),(0,w.writeAuthConfig)(n),n.token}catch(e){if((0,w.writeAuthConfig)({}),e instanceof S.AccessTokenMissingError||e instanceof S.RefreshAccessTokenFailedError)throw e;throw new S.RefreshAccessTokenFailedError(e)}}async function O(e,t,r){let a=`https://api.vercel.com/v1/projects/${t}/token?source=vercel-oidc-refresh${r?`&teamId=${r}`:""}`,n=await fetch(a,{method:"POST",headers:{Authorization:`Bearer ${e}`}});if(!n.ok)throw new g.VercelOidcTokenError(`Failed to refresh OIDC token: ${n.statusText}`);let i=await n.json();return k(i),i}function k(e){if(!e||"object"!=typeof e)throw TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!("token"in e)||"string"!=typeof e.token)throw TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}function T(){let e=(0,y.findRootDir)();if(!e)throw new g.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let t=f.join(e,".vercel","project.json");if(!h.existsSync(t))throw new g.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let r=JSON.parse(h.readFileSync(t,"utf8"));if("string"!=typeof r.projectId&&"string"!=typeof r.orgId)throw TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:r.projectId,teamId:r.orgId}}function x(e,t){let r=(0,y.getUserDataDir)();if(!r)throw new g.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let a=f.join(r,"com.vercel.token",`${t}.json`),n=JSON.stringify(e);h.mkdirSync(f.dirname(a),{mode:504,recursive:!0}),h.writeFileSync(a,n),h.chmodSync(a,432)}function I(e){let t=(0,y.getUserDataDir)();if(!t)throw new g.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let r=f.join(t,"com.vercel.token",`${e}.json`);if(!h.existsSync(r))return null;let a=JSON.parse(h.readFileSync(r,"utf8"));return k(a),a}function D(e){let t=e.split(".");if(3!==t.length)throw new g.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let r=t[1].replace(/-/g,"+").replace(/_/g,"/"),a=r.padEnd(r.length+(4-r.length%4)%4,"=");return JSON.parse(Buffer.from(a,"base64").toString("utf8"))}function M(e,t=0){return 1e3*e.exp<Date.now()+t}},705252,e=>{"use strict";var t=e.i(902157),r=e.i(750227),a=e.i(666680),n=e.i(192441);let i=Promise.resolve();function o(e){let t=i.then(e,e);return i=t.catch(()=>{}),t}async function s(e){let t=e?await (0,n.requireDataDir)():await (0,n.getDataDir)();return t?r.default.join(t,"documents.json"):null}async function c(){let e=await s(!1);if(!e)return[];try{let r=await t.promises.readFile(e,"utf8"),a=JSON.parse(r);if(!Array.isArray(a))throw Error(`Invalid document store at ${e}: expected a JSON array.`);return a}catch(e){if(e?.code==="ENOENT")return[];throw e}}async function l(e){let n=await s(!0);if(!n)return;let i=r.default.join(r.default.dirname(n),`.${r.default.basename(n)}.${process.pid}.${(0,a.randomUUID)()}.tmp`);try{await t.promises.writeFile(i,JSON.stringify(e,null,2),"utf8"),await t.promises.rename(i,n)}catch(e){throw await t.promises.unlink(i).catch(()=>{}),e}}function u(e){let t=e.content.trim();return{id:e.id??(0,a.randomUUID)(),title:e.title.trim()||"Untitled",url:e.url,source:e.source,content:t,charCount:t.length,jobId:e.jobId,metadata:e.metadata,status:"unindexed",createdAt:new Date().toISOString()}}async function d(){let e=await c(),t=e.reduce((e,t)=>e+t.charCount,0);return{docCount:e.length,charCount:t,bySource:e.reduce((e,t)=>(e[t.source]=(e[t.source]??0)+1,e),{})}}e.s(["addCrawledDocuments",0,function(e,t){return o(async()=>{let r=await c(),a=new Set(r.filter(e=>e.url).map(e=>e.url)),n=0;for(let i of t)!(i.url&&a.has(i.url))&&i.content.trim()&&(r.push(u({...i,jobId:e})),i.url&&a.add(i.url),n++);return n>0&&await l(r),n})},"addDocument",0,function(e){return o(async()=>{let t=await c(),r=u(e);return t.push(r),await l(t),r})},"addDocuments",0,function(e){return o(async()=>{if(0===e.length)return[];let t=await c(),r=e.map(u);return t.push(...r),await l(t),r})},"clearDocuments",0,function(){return o(async()=>{await l([])})},"corpusStats",0,d,"deleteDocument",0,function(e){return o(async()=>{let t=await c();await l(t.filter(t=>t.id!==e))})},"deleteDocuments",0,function(e){return o(async()=>{let t=await c(),r=new Set(e);await l(t.filter(e=>!r.has(e.id)))})},"readDocuments",0,c,"replaceDocuments",0,function(e){return o(async()=>{let t=new Date().toISOString();await l(e.map(e=>({...e,status:"unindexed",createdAt:e.createdAt||t})))})},"updateDocument",0,function(e,t){return o(async()=>{let r=await c(),a=r.findIndex(t=>t.id===e);if(a<0)return;let n=r[a],i=void 0!==t.content?t.content.trim():n.content,o={...n,title:void 0!==t.title?t.title.trim()||"Untitled":n.title,content:i,charCount:i.length,url:void 0!==t.url?t.url||void 0:n.url,metadata:void 0!==t.metadata?t.metadata:n.metadata,status:"unindexed"};return r[a]=o,await l(r),o})},"updateDocumentsStatus",0,function(e,t){return o(async()=>{let r=await c(),a=new Set(e),n=!1;for(let e of r)a.has(e.id)&&(e.status=t,n=!0);n&&await l(r)})}])},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},839554,e=>{"use strict";var t=e.i(902157),r=e.i(750227),a=e.i(666680),n=e.i(192441);let i=Promise.resolve();function o(e){let t=i.then(e,e);return i=t.catch(()=>{}),t}async function s(e){let t=e?await (0,n.requireDataDir)():await (0,n.getDataDir)();return t?r.default.join(t,"media-assets.json"):null}async function c(){let e=await s(!1);if(!e)return[];try{let r=await t.promises.readFile(e,"utf8"),a=JSON.parse(r);if(!Array.isArray(a))throw Error(`Invalid media asset store at ${e}: expected a JSON array.`);return a}catch(e){if(e?.code==="ENOENT")return[];throw e}}async function l(e){let n=await s(!0);if(!n)return;let i=r.default.join(r.default.dirname(n),`.${r.default.basename(n)}.${process.pid}.${(0,a.randomUUID)()}.tmp`);try{await t.promises.writeFile(i,JSON.stringify(e,null,2),"utf8"),await t.promises.rename(i,n)}catch(e){throw await t.promises.unlink(i).catch(()=>{}),e}}let u=["download","extract","transcribe","vision","synthesize","index"],d={download:10,extract:15,transcribe:25,vision:30,synthesize:5,index:15};function p(e){return u.map(t=>({stage:t,status:"waiting",updatedAt:e}))}function m(e){return void 0!==e&&Number.isFinite(e)?Math.max(0,e):void 0}function f(e){let t=m(e);return void 0===t?void 0:Math.min(100,t)}function h(e){return Math.floor(m(e.processingRevision)??0)+1}async function g(){let e=await c(),t={image:0,video:0,audio:0},r={pending:0,processing:0,completed:0,failed:0},a=0;for(let n of e)t[n.type]++,r[n.processingStatus]++,a+=n.fileSize;return{total:e.length,byType:t,byStatus:r,totalBytes:a}}async function y(e){return(await c()).find(t=>t.id===e)}e.s(["addMediaAssets",0,function(e){return o(async()=>{let t=await c(),r=new Date().toISOString(),n=e.map(e=>({id:(0,a.randomUUID)(),type:e.type,fileName:e.fileName,mimeType:e.mimeType,storageUri:e.storageUri,thumbnailUri:e.thumbnailUri,originalUrl:e.originalUrl,fileSize:e.fileSize,dimensions:e.dimensions,durationSecs:e.durationSecs,processingStatus:"pending",processingRevision:0,documentIds:[],createdAt:r,updatedAt:r}));return t.push(...n),await l(t),n})},"claimMediaAsset",0,function(e){return o(async()=>{let t=await c(),r=t.findIndex(t=>t.id===e);if(r<0||"processing"===t[r].processingStatus||"Queued for background processing..."===t[r].processingMessage)return;let a=new Date().toISOString();return t[r]={...t[r],processingStatus:"pending",processingError:void 0,processingMessage:"Queued for background processing...",processingProgress:1,processingSteps:p(a),processingRevision:h(t[r]),processingHeartbeatAt:a,updatedAt:a},await l(t),t[r]})},"deleteMediaAsset",0,function(e){return o(async()=>{let t=await c();await l(t.filter(t=>t.id!==e))})},"deleteMediaAssets",0,function(e){return o(async()=>{let t=await c(),r=new Set(e);await l(t.filter(e=>!r.has(e.id)))})},"getMediaAsset",0,y,"mediaStats",0,g,"readMediaAssets",0,c,"recoverStaleMediaAssets",0,function(e=3e5){return o(async()=>{let t=await c(),r=Date.now()-e,a="The background worker stopped. Retry to resume media processing.",n=0;for(let e=0;e<t.length;e++){let i=t[e],o="processing"===i.processingStatus,s="pending"===i.processingStatus&&"Queued for background processing..."===i.processingMessage,c=i.processingHeartbeatAt??i.updatedAt;if((o||s)&&new Date(c).getTime()<r){let r=new Date().toISOString(),o=i.processingSteps?.map(e=>"running"===e.status?{...e,status:"failed",message:a,updatedAt:r,finishedAt:r}:e);t[e]={...i,processingStatus:"failed",processingError:a,processingMessage:void 0,processingProgress:void 0,processingSteps:o,processingRevision:h(i),processingHeartbeatAt:r,updatedAt:r},n++}}return n>0&&await l(t),n})},"updateMediaAsset",0,function(e,t){return o(async()=>{let r=await c(),a=r.findIndex(t=>t.id===e);if(a<0)return;let n=r[a];return r[a]={...n,...t,documentIds:t.documentIds??n.documentIds,pendingDocumentIds:t.pendingDocumentIds??n.pendingDocumentIds,supersededDocumentIds:t.supersededDocumentIds??n.supersededDocumentIds,updatedAt:new Date().toISOString()},await l(r),r[a]})},"updateMediaStage",0,function(e,t,r){return o(async()=>{let a,n,i=await c(),o=i.findIndex(t=>t.id===e);if(o<0)return;let s=new Date().toISOString(),u=i[o],g=new Map((u.processingSteps??[]).map(e=>[e.stage,e])),y=p(s).map(e=>g.get(e.stage)??e),w=y.findIndex(e=>e.stage===t),v=y[w],S=new Set(["completed","skipped","failed"]),b=r.status??v.status,A=S.has(v.status)||"running"===v.status&&"waiting"===b?v.status:b,O=f(v.percent),k=f(r.percent),T=void 0===k?O:Math.max(O??0,k),x=m(v.current),I=m(r.current),D=void 0===I?x:Math.max(x??0,I),M=void 0===r.total?m(v.total):m(r.total);void 0!==D&&void 0!==M&&(M=Math.max(M,D))>0&&(T=Math.max(T??0,Math.min(100,D/M*100))),"completed"===A&&(T=100,void 0!==M&&(D=M));let E=S.has(A),C={...v,...r,stage:t,status:A,percent:T,current:D,total:M,startedAt:r.startedAt??v.startedAt??("running"===A||E?s:void 0),updatedAt:s,finishedAt:E?r.finishedAt??v.finishedAt??s:void 0};y[w]=C;let j=Math.max(f(u.processingProgress)??0,0===(n=(a=y.filter(e=>"skipped"!==e.status)).reduce((e,t)=>e+d[t.stage],0))?100:Math.round(a.reduce((e,t)=>e+d[t.stage]*function(e){if("completed"===e.status)return 100;if("waiting"===e.status||"skipped"===e.status)return 0;let t=f(e.percent);return void 0!==t?t:void 0!==e.current&&void 0!==e.total&&Number.isFinite(e.current)&&Number.isFinite(e.total)&&e.total>0?Math.min(100,Math.max(0,e.current/e.total*100)):0}(t)/100,0)/n*100)),_=[...y].reverse().find(e=>"running"===e.status&&e.message)?.message,P="running"===C.status?C.message??r.message??u.processingMessage:_??r.message??C.message??u.processingMessage;return i[o]={...u,processingSteps:y,processingProgress:j,processingMessage:P,processingRevision:h(u),processingHeartbeatAt:s,updatedAt:s},await l(i),i[o]})}])},941486,e=>{"use strict";var t=e.i(902157),r=e.i(750227),a=e.i(192441);class n{id="local";name="Local Storage";async mediaDir(){let e=await (0,a.requireDataDir)(),n=r.default.join(e,"media");return await t.promises.mkdir(n,{recursive:!0}),n}async store(e,a,n){let i=await this.mediaDir(),o=r.default.join(i,e);return await t.promises.mkdir(r.default.dirname(o),{recursive:!0}),await t.promises.writeFile(o,a),`local://${e}`}async storeFile(e,a,n){let i=await this.mediaDir(),o=r.default.join(i,e);return await t.promises.mkdir(r.default.dirname(o),{recursive:!0}),await t.promises.copyFile(a,o),`local://${e}`}async retrieve(e){let r=await this.resolvePath(e);if(!r)throw Error(`Unsupported local storage URI: ${e}`);return t.promises.readFile(r)}async resolvePath(e){if(!e.startsWith("local://"))return;let t=e.slice(8),a=await this.mediaDir(),n=r.default.resolve(a,t),i=r.default.relative(a,n);if(i.startsWith("..")||r.default.isAbsolute(i))throw Error("Invalid local storage URI");return n}async delete(e){let a=e.replace("local://",""),n=await this.mediaDir();try{await t.promises.unlink(r.default.join(n,a))}catch{}}async stats(){try{let e=await this.mediaDir();return await i(e)}catch{return{usedBytes:0,fileCount:0}}}}async function i(e){let a=0,n=0;async function i(e){let o;try{o=await t.promises.readdir(e,{withFileTypes:!0})}catch{return}for(let s of o){let o=r.default.join(e,s.name);if(s.isDirectory())await i(o);else try{let e=await t.promises.stat(o);a+=e.size,n++}catch{}}}return await i(e),{usedBytes:a,fileCount:n}}e.s(["createStorageProvider",0,function(e){return new n}])},844915,e=>{"use strict";var t=e.i(891294);async function r(){return t.ALL_MODELS}async function a(e){return(await r()).filter(t=>t.type===e)}async function n(e){let t=await r(),a=e?t.filter(t=>t.type===e):t,n=new Map;for(let e of a)n.set(e.owned_by,(n.get(e.owned_by)??0)+1);return Array.from(n.entries()).map(([e,t])=>({id:e,name:i[e]||e.charAt(0).toUpperCase()+e.slice(1),modelCount:t})).sort((e,t)=>t.modelCount-e.modelCount)}let i={openai:"OpenAI",anthropic:"Anthropic",google:"Google",meta:"Meta",mistral:"Mistral",cohere:"Cohere",deepseek:"DeepSeek",amazon:"Amazon",xai:"xAI",perplexity:"Perplexity",alibaba:"Alibaba",groq:"Groq","together-ai":"Together AI",fireworks:"Fireworks",cerebras:"Cerebras",voyage:"Voyage AI",jina:"Jina AI",nomic:"Nomic",bfl:"Black Forest Labs","arcee-ai":"Arcee AI",luma:"Luma",minimax:"MiniMax",elevenlabs:"ElevenLabs"};e.s(["getAllModels",0,r,"getAllProviders",0,n,"getModelsByType",0,a])},336321,e=>{"use strict";function t(e,t){return"vercel_ai_gateway"===t?e:e.filter(e=>e.provider?.toLowerCase()===t.toLowerCase())}e.s(["getChatModel",0,function(e,t){return e.find(e=>e.id===t)},"getChatModelsForProvider",0,t,"getDefaultChatModel",0,function(e,r){let a=t(e,r),n={openai:"openai/gpt-5",anthropic:"anthropic/claude-3.5-sonnet-latest",google:"google/gemini-2.5-pro",mistral:"mistral/mistral-large-latest",deepseek:"deepseek/deepseek-chat",cohere:"cohere/command-r-plus",meta:"meta/llama-4-maverick",xai:"xai/grok-3-mini",vercel_ai_gateway:"anthropic/claude-3.5-sonnet-latest"}[r];return a.find(e=>e.id===n)??a[0]},"toChatDescriptor",0,function(e){return{id:e.id,name:e.name,provider:e.owned_by,context_window:e.context_window,max_tokens:e.max_tokens,tags:e.tags,description:e.description}}])},675101,e=>{"use strict";var t=e.i(613424),r=e.i(528565),a=e.i(129286),n=e.i(354748),i=e.i(150036),o=e.i(380766),s=e.i(898201),c=e.i(188184),l=e.i(336321);let u={openai:"openai/gpt-4o-mini",anthropic:"anthropic/claude-3-5-sonnet-latest",google:"google/gemini-2.5-flash",cohere:"cohere/command-r-plus",mistral:"mistral/mistral-large-latest",deepseek:"deepseek/deepseek-chat"};e.s(["createChatModel",0,function(e,l,u,d=[]){if(l.startsWith("custom:")){let e=l.slice(7),t=d.find(t=>t.modelName===e);if(!t)throw Error(`Custom chat model "${e}" is not configured.`);return(0,c.createOpenAICompatible)({name:"custom_chat_provider",baseURL:t.baseUrl,apiKey:t.apiKey||u||void 0})(t.modelName)}let p=l.includes("/")?l.split("/").slice(1).join("/"):l;switch(e){case"google":return(0,i.createGoogleGenerativeAI)({apiKey:u})(p);case"cohere":return(0,r.createCohere)({apiKey:u})(p);case"mistral":return(0,o.createMistral)({apiKey:u})(p);case"deepseek":return(0,a.createDeepSeek)({apiKey:u})(p);case"anthropic":return(0,t.createAnthropic)({apiKey:u})(p);case"openai":return(0,s.createOpenAI)({apiKey:u})(p);case"vercel_ai_gateway":return(0,n.createGateway)({apiKey:u})(l);case"custom":throw Error("Choose a configured custom chat model before processing media.");default:throw Error(`Unsupported chat provider "${e}".`)}},"resolveConfiguredChatModel",0,function(e,t=[],r={}){let a=e.chatProvider||e.embeddingProvider||"openai",n=e.chatModelId?.trim();if(!n&&"custom"===a&&e.customChatModels?.[0]&&(n=`custom:${e.customChatModels[0].modelName}`),!n&&t.length>0){let e=r.requiredTag,i=e?t.filter(t=>t.tags?.includes(e)):t,o=i.length>0?i:t;n=(0,l.getDefaultChatModel)(o.map(l.toChatDescriptor),a)?.id}if(!n&&"vercel_ai_gateway"===a)throw Error("No gateway model is available. Choose a chat model before processing media.");return n||=u[a]||u.openai,{provider:a,modelId:n,apiKey:e.chatApiKey||e.embeddingApiKey||void 0}}])},504740,e=>{"use strict";var t=e.i(463857);let r=new Map;async function a(e){if(r.has(e))return r.get(e);let a=await (0,t.getInstalledTool)(e);if(!a)return null;try{let t=function(e){switch(e.source){case"local":default:return e.packageName;case"registry":case"sandbox":return e.resolvedPath}}(a),n=await import(t);return r.set(e,n),n}catch(t){return console.error(`[marketplace] Failed to load tool "${e}":`,t),null}}e.s(["loadTool",0,a])},534404,e=>{"use strict";var t=e.i(506848),r=e.i(844915),a=e.i(675101);async function n(e){var t,n,i,u,d,p,m,f,h,g,y;let w=function(e){let t=[],r=[],a=0;for(let n of e){let e=s(n.text,14e3);for(let i=0;i<e.length;i++){let o={...n,text:1===e.length?e[i]:`${e[i]}
57
+ - End with a one-sentence synthesis if appropriate, avoiding filler words.`;e.s(["DEFAULT_CONFIG",0,o,"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,s],638725);let c=r.default.join(process.cwd(),".larkup"),l=r.default.join(c,"servers"),u=r.default.join(c,"workspace.json"),d={username:null,activeServerId:null,servers:[],mode:null},p=new n.AsyncLocalStorage,m=Promise.resolve();function f(e){let t=m.then(e,e);return m=t.catch(()=>{}),t}async function h(e){return await A(),f(async()=>e(await S()??d))}function g(e){return r.default.join(l,e)}function y(e,t){return`./.larkup/servers/${e}/${t}`}async function w(e){try{return await t.promises.access(e),!0}catch{return!1}}async function v(e,a){if(await w(e)){await t.promises.mkdir(r.default.dirname(a),{recursive:!0});try{await t.promises.rename(e,a)}catch{await t.promises.cp(e,a,{recursive:!0}),await t.promises.rm(e,{recursive:!0,force:!0})}}}async function S(){try{let e=await t.promises.readFile(u,"utf8");return{...d,...JSON.parse(e)}}catch{return null}}async function b(e){return await t.promises.mkdir(c,{recursive:!0}),await t.promises.writeFile(u,JSON.stringify(e,null,2),"utf8"),e}async function A(){let e=await S();return e||f(O)}async function O(){let e=await S();if(e)return e;if(!await w(r.default.join(c,"config.json")))return b(d);let n=(0,a.randomUUID)(),i=g(n);for(let e of(await t.promises.mkdir(i,{recursive:!0}),["config.json","documents.json","jobs.json","index-run.json","server-local.json"]))await v(r.default.join(c,e),r.default.join(i,e));await v(r.default.join(c,"lancedb"),r.default.join(i,"lancedb")),await v(r.default.join(c,"generated-server"),r.default.join(i,"generated-server"));let o="Default server";try{let e=r.default.join(i,"config.json"),a=JSON.parse(await t.promises.readFile(e,"utf8"));a.projectName&&(o=a.projectName),"lancedb"===a.vectorStore&&(a.storeConfig?.mode??"local")==="local"&&(a.storeConfig={...a.storeConfig,dbPath:y(n,"lancedb")}),await t.promises.writeFile(e,JSON.stringify(a,null,2),"utf8")}catch{}let s=new Date().toISOString(),l={id:n,name:o,port:8080,createdAt:s,updatedAt:s};return b({username:null,activeServerId:n,servers:[l],mode:null})}async function k(){let e=await A(),t=p.getStore()?.serverId??e.activeServerId;return t?e.servers.find(e=>e.id===t)??null:null}async function T(){let e=await k();if(!e)return null;let r=g(e.id);return await t.promises.mkdir(r,{recursive:!0}),r}async function x(){let e=await T();if(e)return e;let t=p.getStore()?.serverId;if(t)throw Error(`Server "${t}" no longer exists.`);let{server:r}=await M("my-larkup");return g(r.id)}async function I(e){return new Promise(t=>{let r=i.default.createServer();r.once("error",()=>t(!1)),r.once("listening",()=>{r.close(()=>t(!0))}),r.listen(e,"127.0.0.1")})}async function D(e){let t=Math.max(8079,...e.servers.map(e=>e.port))+1;for(;!await I(t);)t++;return t}function M(e){return h(async n=>{let i=(0,a.randomUUID)(),s=new Date().toISOString(),c={id:i,name:e.trim()||"Untitled server",port:await D(n),createdAt:s,updatedAt:s},l=g(i);await t.promises.mkdir(l,{recursive:!0});let u={};if(n.activeServerId)try{let e=await t.promises.readFile(r.default.join(g(n.activeServerId),"config.json"),"utf8");u=JSON.parse(e)}catch{}await t.promises.writeFile(r.default.join(l,"config.json"),JSON.stringify(function(e,t,r={}){return{...o,projectName:t.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"my-larkup",storeConfig:{mode:"local",dbPath:y(e,"lancedb")},embeddingApiKey:r.embeddingApiKey??o.embeddingApiKey,customEmbeddings:r.customEmbeddings??o.customEmbeddings,chatApiKey:r.chatApiKey??o.chatApiKey,customChatModels:r.customChatModels??o.customChatModels,serperApiKey:r.serperApiKey??o.serperApiKey,firecrawlApiKey:r.firecrawlApiKey??o.firecrawlApiKey,updatedAt:new Date().toISOString()}}(i,c.name,u),null,2),"utf8");let d={...n,servers:[...n.servers,c],activeServerId:i};return await b(d),{workspace:d,server:c}})}e.s(["createServer",0,M,"deleteServer",0,function(e){return h(async r=>{let a=r.servers.filter(t=>t.id!==e),n=r.activeServerId===e?a[0]?.id??null:r.activeServerId;return await t.promises.rm(g(e),{recursive:!0,force:!0}),b({...r,servers:a,activeServerId:n})})},"getActiveServer",0,k,"getDataDir",0,T,"getWorkspace",0,A,"renameServer",0,function(e,t){return h(async r=>{let a=r.servers.map(r=>r.id===e?{...r,name:t.trim()||r.name,updatedAt:new Date().toISOString()}:r);return b({...r,servers:a})})},"requireDataDir",0,x,"runWithServer",0,function(e,t){return p.run({serverId:e},t)},"setActiveServer",0,function(e){return h(async t=>t.servers.some(t=>t.id===e)?b({...t,activeServerId:e}):t)},"setMode",0,function(e){return h(async t=>b({...t,mode:e}))},"setUsername",0,function(e){return h(async t=>b({...t,username:e.trim()||null}))}],192441)},367165,e=>{"use strict";var t=e.i(902157),r=e.i(750227),a=e.i(638725),n=e.i(192441);async function i(){let e=await (0,n.getDataDir)();if(!e)return a.DEFAULT_CONFIG;try{let n=await t.promises.readFile(r.default.join(e,"config.json"),"utf8"),i=JSON.parse(n),o=i.customEmbeddings,s=i.embeddingModelId;if(i.customEmbedding&&!o?.length){let e=i.customEmbedding;o=[e],"custom"===s&&(s=`custom:${e.modelName}`)}let c={...a.DEFAULT_CONFIG,...i,embeddingModelId:s??a.DEFAULT_CONFIG.embeddingModelId,customEmbeddings:o,chunking:{...a.DEFAULT_CONFIG.chunking,...i.chunking},storeConfig:{...a.DEFAULT_CONFIG.storeConfig,...i.storeConfig}};return delete c.customEmbedding,c}catch{return a.DEFAULT_CONFIG}}async function o(e){let a=await (0,n.requireDataDir)(),i={...e,updatedAt:new Date().toISOString()};return await t.promises.writeFile(r.default.join(a,"config.json"),JSON.stringify(i,null,2),"utf8"),i}e.s(["readConfig",0,i,"writeConfig",0,o])},874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},812057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},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"))},310470,(e,t,r)=>{"use strict";var a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s={},c={VercelOidcTokenError:()=>u};for(var l in c)a(s,l,{get:c[l],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of i(t))o.call(e,s)||void 0===s||a(e,s,{get:()=>t[s],enumerable:!(r=n(t,s))||r.enumerable});return e})(a({},"__esModule",{value:!0}),s);class u extends Error{constructor(e,t){super(e),this.name="VercelOidcTokenError",this.cause=t}toString(){return this.cause?`${this.name}: ${this.message}: ${this.cause}`:`${this.name}: ${this.message}`}}},33015,(e,t,r)=>{"use strict";var a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s={},c={AccessTokenMissingError:()=>u,RefreshAccessTokenFailedError:()=>d};for(var l in c)a(s,l,{get:c[l],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of i(t))o.call(e,s)||void 0===s||a(e,s,{get:()=>t[s],enumerable:!(r=n(t,s))||r.enumerable});return e})(a({},"__esModule",{value:!0}),s);class u extends Error{constructor(){super("No authentication found. Please log in with the Vercel CLI (vercel login)."),this.name="AccessTokenMissingError"}}class d extends Error{constructor(e){super("Failed to refresh authentication token.",{cause:e}),this.name="RefreshAccessTokenFailedError"}}},250216,(e,t,r)=>{"use strict";var a=Object.create,n=Object.defineProperty,i=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t,r,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of o(t))c.call(e,s)||s===r||n(e,s,{get:()=>t[s],enumerable:!(a=i(t,s))||a.enumerable});return e},u=(e,t,r)=>(r=null!=e?a(s(e)):{},l(!t&&e&&e.__esModule?r:n(r,"default",{value:e,enumerable:!0}),e)),d={},p={findRootDir:()=>w,getUserDataDir:()=>v};for(var m in p)n(d,m,{get:p[m],enumerable:!0});t.exports=l(n({},"__esModule",{value:!0}),d);var f=u(e.r(814747)),h=u(e.r(522734)),g=u(e.r(446786)),y=e.r(310470);function w(){try{let e=process.cwd();for(;e!==f.default.dirname(e);){let t=f.default.join(e,".vercel");if(h.default.existsSync(t))return e;e=f.default.dirname(e)}}catch(e){throw new y.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function v(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(g.default.platform()){case"darwin":return f.default.join(g.default.homedir(),"Library/Application Support");case"linux":return f.default.join(g.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}},775427,(e,t,r)=>{"use strict";var a=Object.create,n=Object.defineProperty,i=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t,r,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of o(t))c.call(e,s)||s===r||n(e,s,{get:()=>t[s],enumerable:!(a=i(t,s))||a.enumerable});return e},u=(e,t,r)=>(r=null!=e?a(s(e)):{},l(!t&&e&&e.__esModule?r:n(r,"default",{value:e,enumerable:!0}),e)),d={},p={isValidAccessToken:()=>S,readAuthConfig:()=>w,writeAuthConfig:()=>v};for(var m in p)n(d,m,{get:p[m],enumerable:!0});t.exports=l(n({},"__esModule",{value:!0}),d);var f=u(e.r(522734)),h=u(e.r(814747)),g=e.r(65048);function y(){let e=(0,g.getVercelDataDir)();if(!e)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return h.join(e,"auth.json")}function w(){try{let e=y();if(!f.existsSync(e))return null;let t=f.readFileSync(e,"utf8");if(!t)return null;return JSON.parse(t)}catch(e){return null}}function v(e){let t=y(),r=h.dirname(t);f.existsSync(r)||f.mkdirSync(r,{mode:504,recursive:!0}),f.writeFileSync(t,JSON.stringify(e,null,2),{mode:384})}function S(e,t=0){if(!e.token)return!1;if("number"!=typeof e.expiresAt)return!0;let r=Math.floor(Date.now()/1e3);return e.expiresAt>=r+t/1e3}},371746,(e,t,r)=>{"use strict";var a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s={},c={processTokenResponse:()=>h,refreshTokenRequest:()=>f};for(var l in c)a(s,l,{get:c[l],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of i(t))o.call(e,s)||void 0===s||a(e,s,{get:()=>t[s],enumerable:!(r=n(t,s))||r.enumerable});return e})(a({},"__esModule",{value:!0}),s);var u=e.r(446786);let d=`@vercel/oidc node-${process.version} ${(0,u.platform)()} (${(0,u.arch)()}) ${(0,u.hostname)()}`,p=null;async function m(){if(p)return p;let e=await fetch("https://vercel.com/.well-known/openid-configuration",{headers:{"user-agent":d}});if(!e.ok)throw Error("Failed to discover OAuth endpoints");let t=await e.json();if(!t||"string"!=typeof t.token_endpoint)throw Error("Invalid OAuth discovery response");let r=t.token_endpoint;return p=r,r}async function f(e){let t=await m();return await fetch(t,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":d},body:new URLSearchParams({client_id:"cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",grant_type:"refresh_token",...e})})}async function h(e){let t=await e.json();return e.ok?"object"!=typeof t||null===t?[Error("Invalid token response")]:"string"!=typeof t.access_token?[Error("Missing access_token in response")]:"Bearer"!==t.token_type?[Error("Invalid token_type in response")]:"number"!=typeof t.expires_in?[Error("Missing expires_in in response")]:[null,t]:[Error("object"==typeof t&&t&&"error"in t?String(t.error):"Token refresh failed")]}},65048,(e,t,r)=>{"use strict";var a=Object.create,n=Object.defineProperty,i=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t,r,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of o(t))c.call(e,s)||s===r||n(e,s,{get:()=>t[s],enumerable:!(a=i(t,s))||a.enumerable});return e},u=(e,t,r)=>(r=null!=e?a(s(e)):{},l(!t&&e&&e.__esModule?r:n(r,"default",{value:e,enumerable:!0}),e)),d={},p={assertVercelOidcTokenResponse:()=>k,findProjectInfo:()=>T,getTokenPayload:()=>D,getVercelDataDir:()=>b,getVercelOidcToken:()=>O,getVercelToken:()=>A,isExpired:()=>M,loadToken:()=>I,saveToken:()=>x};for(var m in p)n(d,m,{get:p[m],enumerable:!0});t.exports=l(n({},"__esModule",{value:!0}),d);var f=u(e.r(814747)),h=u(e.r(522734)),g=e.r(310470),y=e.r(250216),w=e.r(775427),v=e.r(371746),S=e.r(33015);function b(){let e=(0,y.getUserDataDir)();return e?f.join(e,"com.vercel.cli"):null}async function A(e){let t=(0,w.readAuthConfig)();if(!t?.token)throw new S.AccessTokenMissingError;if((0,w.isValidAccessToken)(t,e?.expirationBufferMs))return t.token;if(!t.refreshToken)throw(0,w.writeAuthConfig)({}),new S.RefreshAccessTokenFailedError("No refresh token available");try{let e=await (0,v.refreshTokenRequest)({refresh_token:t.refreshToken}),[r,a]=await (0,v.processTokenResponse)(e);if(r||!a)throw(0,w.writeAuthConfig)({}),new S.RefreshAccessTokenFailedError(r);let n={token:a.access_token,expiresAt:Math.floor(Date.now()/1e3)+a.expires_in};return a.refresh_token&&(n.refreshToken=a.refresh_token),(0,w.writeAuthConfig)(n),n.token}catch(e){if((0,w.writeAuthConfig)({}),e instanceof S.AccessTokenMissingError||e instanceof S.RefreshAccessTokenFailedError)throw e;throw new S.RefreshAccessTokenFailedError(e)}}async function O(e,t,r){let a=`https://api.vercel.com/v1/projects/${t}/token?source=vercel-oidc-refresh${r?`&teamId=${r}`:""}`,n=await fetch(a,{method:"POST",headers:{Authorization:`Bearer ${e}`}});if(!n.ok)throw new g.VercelOidcTokenError(`Failed to refresh OIDC token: ${n.statusText}`);let i=await n.json();return k(i),i}function k(e){if(!e||"object"!=typeof e)throw TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!("token"in e)||"string"!=typeof e.token)throw TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}function T(){let e=(0,y.findRootDir)();if(!e)throw new g.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let t=f.join(e,".vercel","project.json");if(!h.existsSync(t))throw new g.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let r=JSON.parse(h.readFileSync(t,"utf8"));if("string"!=typeof r.projectId&&"string"!=typeof r.orgId)throw TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:r.projectId,teamId:r.orgId}}function x(e,t){let r=(0,y.getUserDataDir)();if(!r)throw new g.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let a=f.join(r,"com.vercel.token",`${t}.json`),n=JSON.stringify(e);h.mkdirSync(f.dirname(a),{mode:504,recursive:!0}),h.writeFileSync(a,n),h.chmodSync(a,432)}function I(e){let t=(0,y.getUserDataDir)();if(!t)throw new g.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let r=f.join(t,"com.vercel.token",`${e}.json`);if(!h.existsSync(r))return null;let a=JSON.parse(h.readFileSync(r,"utf8"));return k(a),a}function D(e){let t=e.split(".");if(3!==t.length)throw new g.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let r=t[1].replace(/-/g,"+").replace(/_/g,"/"),a=r.padEnd(r.length+(4-r.length%4)%4,"=");return JSON.parse(Buffer.from(a,"base64").toString("utf8"))}function M(e,t=0){return 1e3*e.exp<Date.now()+t}},705252,e=>{"use strict";var t=e.i(902157),r=e.i(750227),a=e.i(666680),n=e.i(192441);let i=Promise.resolve();function o(e){let t=i.then(e,e);return i=t.catch(()=>{}),t}async function s(e){let t=e?await (0,n.requireDataDir)():await (0,n.getDataDir)();return t?r.default.join(t,"documents.json"):null}async function c(){let e=await s(!1);if(!e)return[];try{let r=await t.promises.readFile(e,"utf8"),a=JSON.parse(r);if(!Array.isArray(a))throw Error(`Invalid document store at ${e}: expected a JSON array.`);return a}catch(e){if(e?.code==="ENOENT")return[];throw e}}async function l(e){let n=await s(!0);if(!n)return;let i=r.default.join(r.default.dirname(n),`.${r.default.basename(n)}.${process.pid}.${(0,a.randomUUID)()}.tmp`);try{await t.promises.writeFile(i,JSON.stringify(e,null,2),"utf8"),await t.promises.rename(i,n)}catch(e){throw await t.promises.unlink(i).catch(()=>{}),e}}function u(e){let t=e.content.trim();return{id:e.id??(0,a.randomUUID)(),title:e.title.trim()||"Untitled",url:e.url,source:e.source,content:t,charCount:t.length,jobId:e.jobId,metadata:e.metadata,status:"unindexed",createdAt:new Date().toISOString()}}async function d(){let e=await c(),t=e.reduce((e,t)=>e+t.charCount,0);return{docCount:e.length,charCount:t,bySource:e.reduce((e,t)=>(e[t.source]=(e[t.source]??0)+1,e),{})}}e.s(["addCrawledDocuments",0,function(e,t){return o(async()=>{let r=await c(),a=new Set(r.filter(e=>e.url).map(e=>e.url)),n=0;for(let i of t)!(i.url&&a.has(i.url))&&i.content.trim()&&(r.push(u({...i,jobId:e})),i.url&&a.add(i.url),n++);return n>0&&await l(r),n})},"addDocument",0,function(e){return o(async()=>{let t=await c(),r=u(e);return t.push(r),await l(t),r})},"addDocuments",0,function(e){return o(async()=>{if(0===e.length)return[];let t=await c(),r=e.map(u);return t.push(...r),await l(t),r})},"clearDocuments",0,function(){return o(async()=>{await l([])})},"corpusStats",0,d,"deleteDocument",0,function(e){return o(async()=>{let t=await c();await l(t.filter(t=>t.id!==e))})},"deleteDocuments",0,function(e){return o(async()=>{let t=await c(),r=new Set(e);await l(t.filter(e=>!r.has(e.id)))})},"readDocuments",0,c,"replaceDocuments",0,function(e){return o(async()=>{let t=new Date().toISOString();await l(e.map(e=>({...e,status:"unindexed",createdAt:e.createdAt||t})))})},"updateDocument",0,function(e,t){return o(async()=>{let r=await c(),a=r.findIndex(t=>t.id===e);if(a<0)return;let n=r[a],i=void 0!==t.content?t.content.trim():n.content,o={...n,title:void 0!==t.title?t.title.trim()||"Untitled":n.title,content:i,charCount:i.length,url:void 0!==t.url?t.url||void 0:n.url,metadata:void 0!==t.metadata?t.metadata:n.metadata,status:"unindexed"};return r[a]=o,await l(r),o})},"updateDocumentsStatus",0,function(e,t){return o(async()=>{let r=await c(),a=new Set(e),n=!1;for(let e of r)a.has(e.id)&&(e.status=t,n=!0);n&&await l(r)})}])},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},839554,e=>{"use strict";var t=e.i(902157),r=e.i(750227),a=e.i(666680),n=e.i(192441);let i=Promise.resolve();function o(e){let t=i.then(e,e);return i=t.catch(()=>{}),t}async function s(e){let t=e?await (0,n.requireDataDir)():await (0,n.getDataDir)();return t?r.default.join(t,"media-assets.json"):null}async function c(){let e=await s(!1);if(!e)return[];try{let r=await t.promises.readFile(e,"utf8"),a=JSON.parse(r);if(!Array.isArray(a))throw Error(`Invalid media asset store at ${e}: expected a JSON array.`);return a}catch(e){if(e?.code==="ENOENT")return[];throw e}}async function l(e){let n=await s(!0);if(!n)return;let i=r.default.join(r.default.dirname(n),`.${r.default.basename(n)}.${process.pid}.${(0,a.randomUUID)()}.tmp`);try{await t.promises.writeFile(i,JSON.stringify(e,null,2),"utf8"),await t.promises.rename(i,n)}catch(e){throw await t.promises.unlink(i).catch(()=>{}),e}}let u=["download","extract","transcribe","vision","synthesize","index"],d={download:10,extract:15,transcribe:25,vision:30,synthesize:5,index:15};function p(e){return u.map(t=>({stage:t,status:"waiting",updatedAt:e}))}function m(e){return void 0!==e&&Number.isFinite(e)?Math.max(0,e):void 0}function f(e){let t=m(e);return void 0===t?void 0:Math.min(100,t)}function h(e){return Math.floor(m(e.processingRevision)??0)+1}async function g(){let e=await c(),t={image:0,video:0,audio:0},r={pending:0,processing:0,completed:0,failed:0},a=0;for(let n of e)t[n.type]++,r[n.processingStatus]++,a+=n.fileSize;return{total:e.length,byType:t,byStatus:r,totalBytes:a}}async function y(e){return(await c()).find(t=>t.id===e)}e.s(["addMediaAssets",0,function(e){return o(async()=>{let t=await c(),r=new Date().toISOString(),n=e.map(e=>({id:(0,a.randomUUID)(),type:e.type,fileName:e.fileName,mimeType:e.mimeType,storageUri:e.storageUri,thumbnailUri:e.thumbnailUri,originalUrl:e.originalUrl,fileSize:e.fileSize,dimensions:e.dimensions,durationSecs:e.durationSecs,processingStatus:"pending",processingRevision:0,documentIds:[],createdAt:r,updatedAt:r}));return t.push(...n),await l(t),n})},"claimMediaAsset",0,function(e){return o(async()=>{let t=await c(),r=t.findIndex(t=>t.id===e);if(r<0||"processing"===t[r].processingStatus||"Queued for background processing..."===t[r].processingMessage)return;let a=new Date().toISOString();return t[r]={...t[r],processingStatus:"pending",processingError:void 0,processingMessage:"Queued for background processing...",processingProgress:1,processingSteps:p(a),processingRevision:h(t[r]),processingHeartbeatAt:a,updatedAt:a},await l(t),t[r]})},"deleteMediaAsset",0,function(e){return o(async()=>{let t=await c();await l(t.filter(t=>t.id!==e))})},"deleteMediaAssets",0,function(e){return o(async()=>{let t=await c(),r=new Set(e);await l(t.filter(e=>!r.has(e.id)))})},"getMediaAsset",0,y,"mediaStats",0,g,"readMediaAssets",0,c,"recoverStaleMediaAssets",0,function(e=3e5){return o(async()=>{let t=await c(),r=Date.now()-e,a="The background worker stopped. Retry to resume media processing.",n=0;for(let e=0;e<t.length;e++){let i=t[e],o="processing"===i.processingStatus,s="pending"===i.processingStatus&&"Queued for background processing..."===i.processingMessage,c=i.processingHeartbeatAt??i.updatedAt;if((o||s)&&new Date(c).getTime()<r){let r=new Date().toISOString(),o=i.processingSteps?.map(e=>"running"===e.status?{...e,status:"failed",message:a,updatedAt:r,finishedAt:r}:e);t[e]={...i,processingStatus:"failed",processingError:a,processingMessage:void 0,processingProgress:void 0,processingSteps:o,processingRevision:h(i),processingHeartbeatAt:r,updatedAt:r},n++}}return n>0&&await l(t),n})},"updateMediaAsset",0,function(e,t){return o(async()=>{let r=await c(),a=r.findIndex(t=>t.id===e);if(a<0)return;let n=r[a];return r[a]={...n,...t,documentIds:t.documentIds??n.documentIds,pendingDocumentIds:t.pendingDocumentIds??n.pendingDocumentIds,supersededDocumentIds:t.supersededDocumentIds??n.supersededDocumentIds,updatedAt:new Date().toISOString()},await l(r),r[a]})},"updateMediaStage",0,function(e,t,r){return o(async()=>{let a,n,i=await c(),o=i.findIndex(t=>t.id===e);if(o<0)return;let s=new Date().toISOString(),u=i[o],g=new Map((u.processingSteps??[]).map(e=>[e.stage,e])),y=p(s).map(e=>g.get(e.stage)??e),w=y.findIndex(e=>e.stage===t),v=y[w],S=new Set(["completed","skipped","failed"]),b=r.status??v.status,A=S.has(v.status)||"running"===v.status&&"waiting"===b?v.status:b,O=f(v.percent),k=f(r.percent),T=void 0===k?O:Math.max(O??0,k),x=m(v.current),I=m(r.current),D=void 0===I?x:Math.max(x??0,I),M=void 0===r.total?m(v.total):m(r.total);void 0!==D&&void 0!==M&&(M=Math.max(M,D))>0&&(T=Math.max(T??0,Math.min(100,D/M*100))),"completed"===A&&(T=100,void 0!==M&&(D=M));let E=S.has(A),C={...v,...r,stage:t,status:A,percent:T,current:D,total:M,startedAt:r.startedAt??v.startedAt??("running"===A||E?s:void 0),updatedAt:s,finishedAt:E?r.finishedAt??v.finishedAt??s:void 0};y[w]=C;let j=Math.max(f(u.processingProgress)??0,0===(n=(a=y.filter(e=>"skipped"!==e.status)).reduce((e,t)=>e+d[t.stage],0))?100:Math.round(a.reduce((e,t)=>e+d[t.stage]*function(e){if("completed"===e.status)return 100;if("waiting"===e.status||"skipped"===e.status)return 0;let t=f(e.percent);return void 0!==t?t:void 0!==e.current&&void 0!==e.total&&Number.isFinite(e.current)&&Number.isFinite(e.total)&&e.total>0?Math.min(100,Math.max(0,e.current/e.total*100)):0}(t)/100,0)/n*100)),_=[...y].reverse().find(e=>"running"===e.status&&e.message)?.message,P="running"===C.status?C.message??r.message??u.processingMessage:_??r.message??C.message??u.processingMessage;return i[o]={...u,processingSteps:y,processingProgress:j,processingMessage:P,processingRevision:h(u),processingHeartbeatAt:s,updatedAt:s},await l(i),i[o]})}])},941486,e=>{"use strict";var t=e.i(902157),r=e.i(750227),a=e.i(192441);class n{id="local";name="Local Storage";async mediaDir(){let e=await (0,a.requireDataDir)(),n=r.default.join(e,"media");return await t.promises.mkdir(n,{recursive:!0}),n}async store(e,a,n){let i=await this.mediaDir(),o=r.default.join(i,e);return await t.promises.mkdir(r.default.dirname(o),{recursive:!0}),await t.promises.writeFile(o,a),`local://${e}`}async storeFile(e,a,n){let i=await this.mediaDir(),o=r.default.join(i,e);return await t.promises.mkdir(r.default.dirname(o),{recursive:!0}),await t.promises.copyFile(a,o),`local://${e}`}async retrieve(e){let r=await this.resolvePath(e);if(!r)throw Error(`Unsupported local storage URI: ${e}`);return t.promises.readFile(r)}async resolvePath(e){if(!e.startsWith("local://"))return;let t=e.slice(8),a=await this.mediaDir(),n=r.default.resolve(a,t),i=r.default.relative(a,n);if(i.startsWith("..")||r.default.isAbsolute(i))throw Error("Invalid local storage URI");return n}async delete(e){let a=e.replace("local://",""),n=await this.mediaDir();try{await t.promises.unlink(r.default.join(n,a))}catch{}}async stats(){try{let e=await this.mediaDir();return await i(e)}catch{return{usedBytes:0,fileCount:0}}}}async function i(e){let a=0,n=0;async function i(e){let o;try{o=await t.promises.readdir(e,{withFileTypes:!0})}catch{return}for(let s of o){let o=r.default.join(e,s.name);if(s.isDirectory())await i(o);else try{let e=await t.promises.stat(o);a+=e.size,n++}catch{}}}return await i(e),{usedBytes:a,fileCount:n}}e.s(["createStorageProvider",0,function(e){return new n}])},844915,e=>{"use strict";var t=e.i(891294);async function r(){return t.ALL_MODELS}async function a(e){return(await r()).filter(t=>t.type===e)}async function n(e){let t=await r(),a=e?t.filter(t=>t.type===e):t,n=new Map;for(let e of a)n.set(e.owned_by,(n.get(e.owned_by)??0)+1);return Array.from(n.entries()).map(([e,t])=>({id:e,name:i[e]||e.charAt(0).toUpperCase()+e.slice(1),modelCount:t})).sort((e,t)=>t.modelCount-e.modelCount)}let i={openai:"OpenAI",anthropic:"Anthropic",google:"Google",meta:"Meta",mistral:"Mistral",cohere:"Cohere",deepseek:"DeepSeek",amazon:"Amazon",xai:"xAI",perplexity:"Perplexity",alibaba:"Alibaba",groq:"Groq","together-ai":"Together AI",fireworks:"Fireworks",cerebras:"Cerebras",voyage:"Voyage AI",jina:"Jina AI",nomic:"Nomic",bfl:"Black Forest Labs","arcee-ai":"Arcee AI",luma:"Luma",minimax:"MiniMax",elevenlabs:"ElevenLabs"};e.s(["getAllModels",0,r,"getAllProviders",0,n,"getModelsByType",0,a])},336321,e=>{"use strict";function t(e,t){return"vercel_ai_gateway"===t?e:e.filter(e=>e.provider?.toLowerCase()===t.toLowerCase())}e.s(["getChatModel",0,function(e,t){return e.find(e=>e.id===t)},"getChatModelsForProvider",0,t,"getDefaultChatModel",0,function(e,r){let a=t(e,r),n={openai:"openai/gpt-5",anthropic:"anthropic/claude-3.5-sonnet-latest",google:"google/gemini-2.5-pro",mistral:"mistral/mistral-large-latest",deepseek:"deepseek/deepseek-chat",cohere:"cohere/command-r-plus",meta:"meta/llama-4-maverick",xai:"xai/grok-3-mini",vercel_ai_gateway:"anthropic/claude-3.5-sonnet-latest"}[r];return a.find(e=>e.id===n)??a[0]},"toChatDescriptor",0,function(e){return{id:e.id,name:e.name,provider:e.owned_by,context_window:e.context_window,max_tokens:e.max_tokens,tags:e.tags,description:e.description}}])},675101,e=>{"use strict";var t=e.i(613424),r=e.i(528565),a=e.i(129286),n=e.i(354748),i=e.i(150036),o=e.i(380766),s=e.i(898201),c=e.i(188184),l=e.i(336321);let u={openai:"openai/gpt-4o-mini",anthropic:"anthropic/claude-3-5-sonnet-latest",google:"google/gemini-2.5-flash",cohere:"cohere/command-r-plus",mistral:"mistral/mistral-large-latest",deepseek:"deepseek/deepseek-chat"};e.s(["createChatModel",0,function(e,l,u,d=[]){if(l.startsWith("custom:")){let e=l.slice(7),t=d.find(t=>t.modelName===e);if(!t)throw Error(`Custom chat model "${e}" is not configured.`);return(0,c.createOpenAICompatible)({name:"custom_chat_provider",baseURL:t.baseUrl,apiKey:t.apiKey||u||void 0})(t.modelName)}let p=l.includes("/")?l.split("/").slice(1).join("/"):l;switch(e){case"google":return(0,i.createGoogleGenerativeAI)({apiKey:u})(p);case"cohere":return(0,r.createCohere)({apiKey:u})(p);case"mistral":return(0,o.createMistral)({apiKey:u})(p);case"deepseek":return(0,a.createDeepSeek)({apiKey:u})(p);case"anthropic":return(0,t.createAnthropic)({apiKey:u})(p);case"openai":return(0,s.createOpenAI)({apiKey:u})(p);case"vercel_ai_gateway":return(0,n.createGateway)({apiKey:u})(l);case"custom":throw Error("Choose a configured custom chat model before processing media.");default:throw Error(`Unsupported chat provider "${e}".`)}},"resolveConfiguredChatModel",0,function(e,t=[],r={}){let a=e.chatProvider||e.embeddingProvider||"openai",n=e.chatModelId?.trim();if(!n&&"custom"===a&&e.customChatModels?.[0]&&(n=`custom:${e.customChatModels[0].modelName}`),!n&&t.length>0){let e=r.requiredTag,i=e?t.filter(t=>t.tags?.includes(e)):t,o=i.length>0?i:t;n=(0,l.getDefaultChatModel)(o.map(l.toChatDescriptor),a)?.id}if(!n&&"vercel_ai_gateway"===a)throw Error("No gateway model is available. Choose a chat model before processing media.");return n||=u[a]||u.openai,{provider:a,modelId:n,apiKey:e.chatApiKey||e.embeddingApiKey||void 0}}])},504740,e=>{"use strict";var t=e.i(463857);let r=new Map;async function a(e){if(r.has(e))return r.get(e);let a=await (0,t.getInstalledTool)(e);if(!a)return null;try{let t=function(e){switch(e.source){case"local":default:return e.packageName;case"registry":case"sandbox":return e.resolvedPath}}(a),n=await import(t);return r.set(e,n),n}catch(t){return console.error(`[marketplace] Failed to load tool "${e}":`,t),null}}e.s(["loadTool",0,a])},534404,e=>{"use strict";var t=e.i(506848),r=e.i(844915),a=e.i(675101);async function n(e){var t,n,i,u,d,p,m,f,h,g,y;let w=function(e){let t=[],r=[],a=0;for(let n of e){let e=s(n.text,14e3);for(let i=0;i<e.length;i++){let o={...n,text:1===e.length?e[i]:`${e[i]}
58
58
  [Continuation ${i+1} of ${e.length} for this timestamp range]`};r.length>0&&a+o.text.length>14e3&&(t.push(r),r=[],a=0),r.push(o),a+=o.text.length}}return r.length>0&&t.push(r),t}(e.segments),v=await (0,r.getModelsByType)("language"),S=(0,a.resolveConfiguredChatModel)(e.config,v),b=(0,a.createChatModel)(S.provider,S.modelId,S.apiKey,e.config.customChatModels),A=[],O=0;for(let r=0;r<w.length;r++){await e.onProgress?.(O,w.length+1,`Reviewing evidence section ${r+1} of ${w.length}...`);let a=(t=e,n=w[r],i=r,u=w.length,`You are carefully watching section ${i+1} of ${u} from a ${t.mediaType} titled "${t.title}".
59
59
 
60
60
  Write compact factual viewing notes that remain useful for later questions. CRITICAL: Every single factual claim, event, score change, or action MUST be prefixed with its exact [HH:MM:SS-HH:MM:SS] timestamp copied strictly from the evidence chunks below. Do not hallucinate timestamps. Preserve exact names, numbers, scores, decisions, winners, results, actions, and timestamps. Connect pronouns and repeated entities when the evidence supports it. Treat later chronological scoreboard/result frames as newer than earlier animation states. For Arabic or other right-to-left text, copy the visible spelling and do not reverse labels. If evidence conflicts or OCR is genuinely ambiguous, record the conflict instead of inventing certainty. Do not add repetitive statements about facts that were not present.
@@ -54,6 +54,6 @@ RESPONSE FORMATTING (Analytics Style):
54
54
  - Structure complex responses logically (e.g., Summary -> Key Metrics -> Breakdown).
55
55
  - If your findings contain a small table of data, format it cleanly using Markdown tables.
56
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,i,"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,o],638725);let l=a.default.join(process.cwd(),".larkup"),u=a.default.join(l,"servers"),d=a.default.join(l,"workspace.json"),c={username:null,activeServerId:null,servers:[],mode:null},p=new n.AsyncLocalStorage,m=Promise.resolve();function h(e){let t=m.then(e,e);return m=t.catch(()=>{}),t}async function g(e){return await N(),h(async()=>e(await S()??c))}function f(e){return a.default.join(u,e)}function y(e,t){return`./.larkup/servers/${e}/${t}`}async function w(e){try{return await t.promises.access(e),!0}catch{return!1}}async function v(e,r){if(await w(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 S(){try{let e=await t.promises.readFile(d,"utf8");return{...c,...JSON.parse(e)}}catch{return null}}async function b(e){return await t.promises.mkdir(l,{recursive:!0}),await t.promises.writeFile(d,JSON.stringify(e,null,2),"utf8"),e}async function N(){let e=await S();return e||h(A)}async function A(){let e=await S();if(e)return e;if(!await w(a.default.join(l,"config.json")))return b(c);let n=(0,r.randomUUID)(),s=f(n);for(let e of(await t.promises.mkdir(s,{recursive:!0}),["config.json","documents.json","jobs.json","index-run.json","server-local.json"]))await v(a.default.join(l,e),a.default.join(s,e));await v(a.default.join(l,"lancedb"),a.default.join(s,"lancedb")),await v(a.default.join(l,"generated-server"),a.default.join(s,"generated-server"));let i="Default server";try{let e=a.default.join(s,"config.json"),r=JSON.parse(await t.promises.readFile(e,"utf8"));r.projectName&&(i=r.projectName),"lancedb"===r.vectorStore&&(r.storeConfig?.mode??"local")==="local"&&(r.storeConfig={...r.storeConfig,dbPath:y(n,"lancedb")}),await t.promises.writeFile(e,JSON.stringify(r,null,2),"utf8")}catch{}let o=new Date().toISOString(),u={id:n,name:i,port:8080,createdAt:o,updatedAt:o};return b({username:null,activeServerId:n,servers:[u],mode:null})}async function E(){let e=await N(),t=p.getStore()?.serverId??e.activeServerId;return t?e.servers.find(e=>e.id===t)??null:null}async function R(){let e=await E();if(!e)return null;let a=f(e.id);return await t.promises.mkdir(a,{recursive:!0}),a}async function T(){let e=await R();if(e)return e;let t=p.getStore()?.serverId;if(t)throw Error(`Server "${t}" no longer exists.`);let{server:a}=await O("My RAG server");return f(a.id)}async function x(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 C(e){let t=Math.max(8079,...e.servers.map(e=>e.port))+1;for(;!await x(t);)t++;return t}function O(e){return g(async n=>{let s=(0,r.randomUUID)(),o=new Date().toISOString(),l={id:s,name:e.trim()||"Untitled server",port:await C(n),createdAt:o,updatedAt:o},u=f(s);await t.promises.mkdir(u,{recursive:!0});let d={};if(n.activeServerId)try{let e=await t.promises.readFile(a.default.join(f(n.activeServerId),"config.json"),"utf8");d=JSON.parse(e)}catch{}await t.promises.writeFile(a.default.join(u,"config.json"),JSON.stringify(function(e,t,a={}){return{...i,projectName:t.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"my-rag",storeConfig:{mode:"local",dbPath:y(e,"lancedb")},embeddingApiKey:a.embeddingApiKey??i.embeddingApiKey,customEmbeddings:a.customEmbeddings??i.customEmbeddings,chatApiKey:a.chatApiKey??i.chatApiKey,customChatModels:a.customChatModels??i.customChatModels,serperApiKey:a.serperApiKey??i.serperApiKey,firecrawlApiKey:a.firecrawlApiKey??i.firecrawlApiKey,updatedAt:new Date().toISOString()}}(s,l.name,d),null,2),"utf8");let c={...n,servers:[...n.servers,l],activeServerId:s};return await b(c),{workspace:c,server:l}})}e.s(["createServer",0,O,"deleteServer",0,function(e){return g(async a=>{let r=a.servers.filter(t=>t.id!==e),n=a.activeServerId===e?r[0]?.id??null:a.activeServerId;return await t.promises.rm(f(e),{recursive:!0,force:!0}),b({...a,servers:r,activeServerId:n})})},"getActiveServer",0,E,"getDataDir",0,R,"getWorkspace",0,N,"renameServer",0,function(e,t){return g(async a=>{let r=a.servers.map(a=>a.id===e?{...a,name:t.trim()||a.name,updatedAt:new Date().toISOString()}:a);return b({...a,servers:r})})},"requireDataDir",0,T,"runWithServer",0,function(e,t){return p.run({serverId:e},t)},"setActiveServer",0,function(e){return g(async t=>t.servers.some(t=>t.id===e)?b({...t,activeServerId:e}):t)},"setMode",0,function(e){return g(async t=>b({...t,mode:e}))},"setUsername",0,function(e){return g(async t=>b({...t,username:e.trim()||null}))}],192441)},608778,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(666680),n=e.i(192441);let s=[/^\d{4}-\d{2}-\d{2}$/,/^\d{2}\/\d{2}\/\d{4}$/,/^\d{2}-\d{2}-\d{4}$/,/^\d{4}\/\d{2}\/\d{2}$/,/^\d{4}-\d{2}-\d{2}T/];function i(e){if(null==e||""===e)return NaN;if(e instanceof Date)return e.getTime();let t=String(e).trim();if(!t)return NaN;let a=Date.parse(t);if(!isNaN(a))return a;let r=t.match(/^(\d{2})\/(\d{2})\/(\d{4})$/);if(r){let e=Date.parse(`${r[3]}-${r[2]}-${r[1]}`);if(!isNaN(e))return e}let n=t.match(/^(\d{2})-(\d{2})-(\d{4})$/);if(n){let e=Date.parse(`${n[3]}-${n[2]}-${n[1]}`);if(!isNaN(e))return e}return NaN}async function o(e){let t=e?await (0,n.requireDataDir)():await (0,n.getDataDir)();return t?a.default.join(t,"tabular-datasets.json"):null}async function l(){let e=await o(!1);if(!e)return[];try{let a=await t.promises.readFile(e,"utf8");return JSON.parse(a)}catch{return[]}}async function u(e){let a=await o(!0);a&&await t.promises.writeFile(a,JSON.stringify(e,null,2),"utf8")}async function d(e,t){if(0===t.length)throw Error("Cannot save an empty dataset");let a=Object.keys(t[0]),n=a.map(e=>{let a=t.map(t=>t[e]),r=function(e){let t=e.filter(e=>null!=e&&""!==e);if(0===t.length)return"mixed";let a=0,r=0,n=0;for(let e of t){let t=String(e).trim();"true"===t||"false"===t?r++:isNaN(Number(t))||""===t?(s.some(e=>e.test(t))||!isNaN(Date.parse(t)))&&n++:a++}let i=.8*t.length;return a>=i?"number":r>=i?"boolean":n>=i?"date":"string"}(a),n=a.filter(e=>null!=e&&""!==e),o=new Set(n.map(String)),l={name:e,type:r,nullCount:a.length-n.length,uniqueCount:o.size,sampleValues:[...o].slice(0,5)};if("number"===r){let e,t,a,r,s,i,o=n.map(Number).filter(e=>!isNaN(e));o.length>0&&(t=(e=[...o].sort((e,t)=>e-t)).length,r=(a=e.reduce((e,t)=>e+t,0))/t,s=t%2==0?(e[t/2-1]+e[t/2])/2:e[Math.floor(t/2)],i=Math.sqrt(e.reduce((e,t)=>e+(t-r)**2,0)/t),l.stats={min:e[0],max:e[t-1],mean:Number(r.toFixed(4)),median:Number(s.toFixed(4)),stddev:Number(i.toFixed(4)),sum:Number(a.toFixed(4))})}if("date"===r){let e=n.map(String),t=e.map(i).filter(e=>!isNaN(e));if(t.length>0){let a=[...t].sort((e,t)=>e-t);l.dateRange={min:e[t.indexOf(a[0])]??new Date(a[0]).toISOString().split("T")[0],max:e[t.indexOf(a[a.length-1])]??new Date(a[a.length-1]).toISOString().split("T")[0],format:function(e){for(let t of e){if(/^\d{4}-\d{2}-\d{2}$/.test(t))break;if(/^\d{4}-\d{2}-\d{2}T/.test(t))return"YYYY-MM-DDTHH:mm:ss";if(/^\d{2}\/\d{2}\/\d{4}$/.test(t))return"DD/MM/YYYY";if(/^\d{2}-\d{2}-\d{4}$/.test(t))return"DD-MM-YYYY";if(/^\d{4}\/\d{2}\/\d{2}$/.test(t))return"YYYY/MM/DD"}return"YYYY-MM-DD"}(e)}}}return l}),o={totalRows:t.length,totalColumns:n.length,numericColumns:n.filter(e=>"number"===e.type).length,categoricalColumns:n.filter(e=>"string"===e.type).length,dateColumns:n.filter(e=>"date"===e.type).length},d={id:(0,r.randomUUID)(),fileName:e,columns:n,rows:t,summary:o,rowCount:t.length,createdAt:new Date().toISOString()},c=await l();return c.push(d),await u(c),d}async function c(){return(await l()).map(({rows:e,...t})=>t)}async function p(e){return(await l()).find(t=>t.id===e)??null}async function m(e){let t=await l();await u(t.filter(t=>t.id!==e))}async function h(e){let t,a=await p(e.datasetId);if(!a)throw Error(`Dataset not found: ${e.datasetId}`);let r=[...a.rows],n=new Map;for(let e of a.columns)n.set(e.name,e.type);if(e.filters&&e.filters.length>0)for(let t of e.filters){let e="date"===n.get(t.column);r=r.filter(a=>{let r=a[t.column];if(e&&["eq","neq","gt","gte","lt","lte"].includes(t.op)){let e=i(r),a=i(t.value);if(isNaN(e)||isNaN(a))return"eq"===t.op?String(r)===String(t.value):"neq"===t.op&&String(r)!==String(t.value);switch(t.op){case"eq":return e===a;case"neq":return e!==a;case"gt":return e>a;case"gte":return e>=a;case"lt":return e<a;case"lte":return e<=a}}switch(t.op){case"eq":return String(r)===String(t.value);case"neq":return String(r)!==String(t.value);case"gt":return Number(r)>Number(t.value);case"gte":return Number(r)>=Number(t.value);case"lt":return Number(r)<Number(t.value);case"lte":return Number(r)<=Number(t.value);case"contains":return String(r).toLowerCase().includes(String(t.value).toLowerCase());case"in":return Array.isArray(t.value)&&t.value.includes(r);default:return!0}})}if(e.groupBy&&e.groupBy.length>0&&e.aggregations){let t=new Map;for(let a of r){let r=e.groupBy.map(e=>String(a[e])).join("|||"),n=t.get(r)??[];n.push(a),t.set(r,n)}let a=[];for(let[r,n]of t.entries()){let t={},s=r.split("|||");for(let a of(e.groupBy.forEach((e,a)=>{t[e]=s[a]}),e.aggregations)){let e=n.map(e=>Number(e[a.column])).filter(e=>!isNaN(e));t[`${a.op}_${a.column}`]=g(a.op,e)}a.push(t)}r=a}if(e.aggregations&&e.aggregations.length>0&&(!e.groupBy||0===e.groupBy.length))for(let a of(t={},e.aggregations)){let e=r.map(e=>Number(e[a.column])).filter(e=>!isNaN(e));t[`${a.op}_${a.column}`]=g(a.op,e)}if(e.columns&&e.columns.length>0&&(r=r.map(t=>{let a={};for(let r of e.columns)r in t&&(a[r]=t[r]);return a})),e.sortBy){let t="desc"===e.sortOrder?-1:1;r.sort((a,r)=>{let n=a[e.sortBy],s=r[e.sortBy];return null==n&&null==s?0:null==n?1:null==s?-1:"number"==typeof n&&"number"==typeof s?(n-s)*t:String(n).localeCompare(String(s))*t})}let s=r.length;return e.limit&&e.limit>0&&(r=r.slice(0,e.limit)),{columns:r.length>0?Object.keys(r[0]):e.columns??a.columns.map(e=>e.name),rows:r,totalRows:s,aggregationResults:t}}function g(e,t){if(0===t.length)return 0;switch(e){case"sum":return Number(t.reduce((e,t)=>e+t,0).toFixed(4));case"avg":return Number((t.reduce((e,t)=>e+t,0)/t.length).toFixed(4));case"count":return t.length;case"min":return Math.min(...t);case"max":return Math.max(...t);case"median":{let e=[...t].sort((e,t)=>e-t),a=e.length;return a%2==0?Number(((e[a/2-1]+e[a/2])/2).toFixed(4)):e[Math.floor(a/2)]}default:return 0}}e.s(["deleteTabularDataset",0,m,"getTabularDataset",0,p,"listTabularDatasets",0,c,"queryTabular",0,h,"saveTabularDataset",0,d])},206073,e=>{"use strict";var t=e.i(850492),a=e.i(891119),r=e.i(697373),n=e.i(765700),s=e.i(601263),i=e.i(706859),o=e.i(947547),l=e.i(819797),u=e.i(135958),d=e.i(86520),c=e.i(970949),p=e.i(741165),m=e.i(106898),h=e.i(454415),g=e.i(37125),f=e.i(193695);e.i(530058);var y=e.i(605998),w=e.i(686296),v=e.i(608778);async function S(){try{let e=await (0,v.listTabularDatasets)();return w.NextResponse.json({datasets:e})}catch(t){let e=t instanceof Error?t.message:"Failed to list datasets";return w.NextResponse.json({error:e},{status:500})}}async function b(e){try{let{fileName:t,rows:a}=await e.json();if(!t||!Array.isArray(a)||0===a.length)return w.NextResponse.json({error:"fileName and non-empty rows array required"},{status:400});let r=await (0,v.saveTabularDataset)(t,a);return w.NextResponse.json({id:r.id,fileName:r.fileName,rowCount:r.rowCount,columns:r.columns,summary:r.summary})}catch(t){let e=t instanceof Error?t.message:"Failed to save dataset";return w.NextResponse.json({error:e},{status:500})}}async function N(e){try{let t=new URL(e.url).searchParams.get("id");if(!t)return w.NextResponse.json({error:"id required"},{status:400});return await (0,v.deleteTabularDataset)(t),w.NextResponse.json({ok:!0})}catch(t){let e=t instanceof Error?t.message:"Failed to delete dataset";return w.NextResponse.json({error:e},{status:500})}}e.s(["DELETE",0,N,"GET",0,S,"POST",0,b,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],201986);var A=e.i(201986);let E=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/tabular/route",pathname:"/api/tabular",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/tabular/route.ts",nextConfigOutput:"standalone",userland:A,...{}}),{workAsyncStorage:R,workUnitAsyncStorage:T,serverHooks:x}=E;async function C(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),E.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/tabular/route";w=w.replace(/\/index$/,"")||"/";let v=await E.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:S,deploymentId:b,params:N,nextConfig:A,parsedUrl:R,isDraftMode:T,prerenderManifest:x,routerServerContext:C,isOnDemandRevalidate:O,revalidateOnlyGenerated:D,resolvedPathname:I,clientReferenceManifest:M,serverActionsManifest:U}=v,q=(0,o.normalizeAppPath)(w),P=!!(x.dynamicRoutes[q]||x.routes[I]),j=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,R,!1):t.end("This page could not be found"),null);if(P&&!T){let e=!!x.routes[I],t=x.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await j();throw new f.NoFallbackError}}let k=null;!P||E.isDev||T||(k="/index"===(k=I)?"/":k);let L=!0===E.isDev||!P,F=P&&!L;U&&M&&(0,i.setManifestsSingleton)({page:w,clientReferenceManifest:M,serverActionsManifest:U});let K=e.method||"GET",Y=(0,s.getTracer)(),H=Y.getActiveScopeSpan(),$=!!(null==C?void 0:C.isWrappedByNextServer),_=!!(0,n.getRequestMeta)(e,"minimalMode"),B=(0,n.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,A,x,_);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let z={params:N,previewProps:x.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:L,incrementalCache:B,cacheLifeProfiles:A.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>E.onRequestError(e,t,r,n,C)},sharedContext:{buildId:S,deploymentId:b}},W=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>E.handle(V,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=Y.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=`${K} ${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(`${K} ${w}`)}),o=async n=>{var s,o;let l=async({previousCacheEntry:a})=>{try{if(!_&&O&&D&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=z.renderOpts.fetchMetrics;let o=z.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=z.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)(W,G,s,z.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[g.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,r=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:y.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 E.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:O})},!1,C),t}},u=await E.handleResponse({req:e,nextConfig:A,cacheKey:k,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:D,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:_});if(!P)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});_||t.setHeader("x-nextjs-cache",O?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,m.fromNodeOutgoingHttpHeaders)(u.value.headers);return _&&P||d.delete(g.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(W,G,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};$&&H?await o(H):(n=Y.getActiveScopeSpan(),await Y.withPropagatedContext(e.headers,()=>Y.trace(d.BaseServerSpan.handleRequest,{spanName:`${K} ${w}`,kind:s.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},o),void 0,!$))}catch(t){if(t instanceof f.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:O})},!1,C),P)throw t;return await (0,p.sendResponse)(W,G,new Response(null,{status:500})),null}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:R,workUnitAsyncStorage:T})},"routeModule",0,E,"serverHooks",0,x,"workAsyncStorage",0,R,"workUnitAsyncStorage",0,T],206073)}];
57
+ - End with a one-sentence synthesis if appropriate, avoiding filler words.`;e.s(["DEFAULT_CONFIG",0,i,"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,o],638725);let l=a.default.join(process.cwd(),".larkup"),u=a.default.join(l,"servers"),d=a.default.join(l,"workspace.json"),c={username:null,activeServerId:null,servers:[],mode:null},p=new n.AsyncLocalStorage,m=Promise.resolve();function h(e){let t=m.then(e,e);return m=t.catch(()=>{}),t}async function g(e){return await N(),h(async()=>e(await S()??c))}function f(e){return a.default.join(u,e)}function y(e,t){return`./.larkup/servers/${e}/${t}`}async function w(e){try{return await t.promises.access(e),!0}catch{return!1}}async function v(e,r){if(await w(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 S(){try{let e=await t.promises.readFile(d,"utf8");return{...c,...JSON.parse(e)}}catch{return null}}async function b(e){return await t.promises.mkdir(l,{recursive:!0}),await t.promises.writeFile(d,JSON.stringify(e,null,2),"utf8"),e}async function N(){let e=await S();return e||h(E)}async function E(){let e=await S();if(e)return e;if(!await w(a.default.join(l,"config.json")))return b(c);let n=(0,r.randomUUID)(),s=f(n);for(let e of(await t.promises.mkdir(s,{recursive:!0}),["config.json","documents.json","jobs.json","index-run.json","server-local.json"]))await v(a.default.join(l,e),a.default.join(s,e));await v(a.default.join(l,"lancedb"),a.default.join(s,"lancedb")),await v(a.default.join(l,"generated-server"),a.default.join(s,"generated-server"));let i="Default server";try{let e=a.default.join(s,"config.json"),r=JSON.parse(await t.promises.readFile(e,"utf8"));r.projectName&&(i=r.projectName),"lancedb"===r.vectorStore&&(r.storeConfig?.mode??"local")==="local"&&(r.storeConfig={...r.storeConfig,dbPath:y(n,"lancedb")}),await t.promises.writeFile(e,JSON.stringify(r,null,2),"utf8")}catch{}let o=new Date().toISOString(),u={id:n,name:i,port:8080,createdAt:o,updatedAt:o};return b({username:null,activeServerId:n,servers:[u],mode:null})}async function A(){let e=await N(),t=p.getStore()?.serverId??e.activeServerId;return t?e.servers.find(e=>e.id===t)??null:null}async function R(){let e=await A();if(!e)return null;let a=f(e.id);return await t.promises.mkdir(a,{recursive:!0}),a}async function T(){let e=await R();if(e)return e;let t=p.getStore()?.serverId;if(t)throw Error(`Server "${t}" no longer exists.`);let{server:a}=await O("my-larkup");return f(a.id)}async function x(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 C(e){let t=Math.max(8079,...e.servers.map(e=>e.port))+1;for(;!await x(t);)t++;return t}function O(e){return g(async n=>{let s=(0,r.randomUUID)(),o=new Date().toISOString(),l={id:s,name:e.trim()||"Untitled server",port:await C(n),createdAt:o,updatedAt:o},u=f(s);await t.promises.mkdir(u,{recursive:!0});let d={};if(n.activeServerId)try{let e=await t.promises.readFile(a.default.join(f(n.activeServerId),"config.json"),"utf8");d=JSON.parse(e)}catch{}await t.promises.writeFile(a.default.join(u,"config.json"),JSON.stringify(function(e,t,a={}){return{...i,projectName:t.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"my-larkup",storeConfig:{mode:"local",dbPath:y(e,"lancedb")},embeddingApiKey:a.embeddingApiKey??i.embeddingApiKey,customEmbeddings:a.customEmbeddings??i.customEmbeddings,chatApiKey:a.chatApiKey??i.chatApiKey,customChatModels:a.customChatModels??i.customChatModels,serperApiKey:a.serperApiKey??i.serperApiKey,firecrawlApiKey:a.firecrawlApiKey??i.firecrawlApiKey,updatedAt:new Date().toISOString()}}(s,l.name,d),null,2),"utf8");let c={...n,servers:[...n.servers,l],activeServerId:s};return await b(c),{workspace:c,server:l}})}e.s(["createServer",0,O,"deleteServer",0,function(e){return g(async a=>{let r=a.servers.filter(t=>t.id!==e),n=a.activeServerId===e?r[0]?.id??null:a.activeServerId;return await t.promises.rm(f(e),{recursive:!0,force:!0}),b({...a,servers:r,activeServerId:n})})},"getActiveServer",0,A,"getDataDir",0,R,"getWorkspace",0,N,"renameServer",0,function(e,t){return g(async a=>{let r=a.servers.map(a=>a.id===e?{...a,name:t.trim()||a.name,updatedAt:new Date().toISOString()}:a);return b({...a,servers:r})})},"requireDataDir",0,T,"runWithServer",0,function(e,t){return p.run({serverId:e},t)},"setActiveServer",0,function(e){return g(async t=>t.servers.some(t=>t.id===e)?b({...t,activeServerId:e}):t)},"setMode",0,function(e){return g(async t=>b({...t,mode:e}))},"setUsername",0,function(e){return g(async t=>b({...t,username:e.trim()||null}))}],192441)},608778,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(666680),n=e.i(192441);let s=[/^\d{4}-\d{2}-\d{2}$/,/^\d{2}\/\d{2}\/\d{4}$/,/^\d{2}-\d{2}-\d{4}$/,/^\d{4}\/\d{2}\/\d{2}$/,/^\d{4}-\d{2}-\d{2}T/];function i(e){if(null==e||""===e)return NaN;if(e instanceof Date)return e.getTime();let t=String(e).trim();if(!t)return NaN;let a=Date.parse(t);if(!isNaN(a))return a;let r=t.match(/^(\d{2})\/(\d{2})\/(\d{4})$/);if(r){let e=Date.parse(`${r[3]}-${r[2]}-${r[1]}`);if(!isNaN(e))return e}let n=t.match(/^(\d{2})-(\d{2})-(\d{4})$/);if(n){let e=Date.parse(`${n[3]}-${n[2]}-${n[1]}`);if(!isNaN(e))return e}return NaN}async function o(e){let t=e?await (0,n.requireDataDir)():await (0,n.getDataDir)();return t?a.default.join(t,"tabular-datasets.json"):null}async function l(){let e=await o(!1);if(!e)return[];try{let a=await t.promises.readFile(e,"utf8");return JSON.parse(a)}catch{return[]}}async function u(e){let a=await o(!0);a&&await t.promises.writeFile(a,JSON.stringify(e,null,2),"utf8")}async function d(e,t){if(0===t.length)throw Error("Cannot save an empty dataset");let a=Object.keys(t[0]),n=a.map(e=>{let a=t.map(t=>t[e]),r=function(e){let t=e.filter(e=>null!=e&&""!==e);if(0===t.length)return"mixed";let a=0,r=0,n=0;for(let e of t){let t=String(e).trim();"true"===t||"false"===t?r++:isNaN(Number(t))||""===t?(s.some(e=>e.test(t))||!isNaN(Date.parse(t)))&&n++:a++}let i=.8*t.length;return a>=i?"number":r>=i?"boolean":n>=i?"date":"string"}(a),n=a.filter(e=>null!=e&&""!==e),o=new Set(n.map(String)),l={name:e,type:r,nullCount:a.length-n.length,uniqueCount:o.size,sampleValues:[...o].slice(0,5)};if("number"===r){let e,t,a,r,s,i,o=n.map(Number).filter(e=>!isNaN(e));o.length>0&&(t=(e=[...o].sort((e,t)=>e-t)).length,r=(a=e.reduce((e,t)=>e+t,0))/t,s=t%2==0?(e[t/2-1]+e[t/2])/2:e[Math.floor(t/2)],i=Math.sqrt(e.reduce((e,t)=>e+(t-r)**2,0)/t),l.stats={min:e[0],max:e[t-1],mean:Number(r.toFixed(4)),median:Number(s.toFixed(4)),stddev:Number(i.toFixed(4)),sum:Number(a.toFixed(4))})}if("date"===r){let e=n.map(String),t=e.map(i).filter(e=>!isNaN(e));if(t.length>0){let a=[...t].sort((e,t)=>e-t);l.dateRange={min:e[t.indexOf(a[0])]??new Date(a[0]).toISOString().split("T")[0],max:e[t.indexOf(a[a.length-1])]??new Date(a[a.length-1]).toISOString().split("T")[0],format:function(e){for(let t of e){if(/^\d{4}-\d{2}-\d{2}$/.test(t))break;if(/^\d{4}-\d{2}-\d{2}T/.test(t))return"YYYY-MM-DDTHH:mm:ss";if(/^\d{2}\/\d{2}\/\d{4}$/.test(t))return"DD/MM/YYYY";if(/^\d{2}-\d{2}-\d{4}$/.test(t))return"DD-MM-YYYY";if(/^\d{4}\/\d{2}\/\d{2}$/.test(t))return"YYYY/MM/DD"}return"YYYY-MM-DD"}(e)}}}return l}),o={totalRows:t.length,totalColumns:n.length,numericColumns:n.filter(e=>"number"===e.type).length,categoricalColumns:n.filter(e=>"string"===e.type).length,dateColumns:n.filter(e=>"date"===e.type).length},d={id:(0,r.randomUUID)(),fileName:e,columns:n,rows:t,summary:o,rowCount:t.length,createdAt:new Date().toISOString()},c=await l();return c.push(d),await u(c),d}async function c(){return(await l()).map(({rows:e,...t})=>t)}async function p(e){return(await l()).find(t=>t.id===e)??null}async function m(e){let t=await l();await u(t.filter(t=>t.id!==e))}async function h(e){let t,a=await p(e.datasetId);if(!a)throw Error(`Dataset not found: ${e.datasetId}`);let r=[...a.rows],n=new Map;for(let e of a.columns)n.set(e.name,e.type);if(e.filters&&e.filters.length>0)for(let t of e.filters){let e="date"===n.get(t.column);r=r.filter(a=>{let r=a[t.column];if(e&&["eq","neq","gt","gte","lt","lte"].includes(t.op)){let e=i(r),a=i(t.value);if(isNaN(e)||isNaN(a))return"eq"===t.op?String(r)===String(t.value):"neq"===t.op&&String(r)!==String(t.value);switch(t.op){case"eq":return e===a;case"neq":return e!==a;case"gt":return e>a;case"gte":return e>=a;case"lt":return e<a;case"lte":return e<=a}}switch(t.op){case"eq":return String(r)===String(t.value);case"neq":return String(r)!==String(t.value);case"gt":return Number(r)>Number(t.value);case"gte":return Number(r)>=Number(t.value);case"lt":return Number(r)<Number(t.value);case"lte":return Number(r)<=Number(t.value);case"contains":return String(r).toLowerCase().includes(String(t.value).toLowerCase());case"in":return Array.isArray(t.value)&&t.value.includes(r);default:return!0}})}if(e.groupBy&&e.groupBy.length>0&&e.aggregations){let t=new Map;for(let a of r){let r=e.groupBy.map(e=>String(a[e])).join("|||"),n=t.get(r)??[];n.push(a),t.set(r,n)}let a=[];for(let[r,n]of t.entries()){let t={},s=r.split("|||");for(let a of(e.groupBy.forEach((e,a)=>{t[e]=s[a]}),e.aggregations)){let e=n.map(e=>Number(e[a.column])).filter(e=>!isNaN(e));t[`${a.op}_${a.column}`]=g(a.op,e)}a.push(t)}r=a}if(e.aggregations&&e.aggregations.length>0&&(!e.groupBy||0===e.groupBy.length))for(let a of(t={},e.aggregations)){let e=r.map(e=>Number(e[a.column])).filter(e=>!isNaN(e));t[`${a.op}_${a.column}`]=g(a.op,e)}if(e.columns&&e.columns.length>0&&(r=r.map(t=>{let a={};for(let r of e.columns)r in t&&(a[r]=t[r]);return a})),e.sortBy){let t="desc"===e.sortOrder?-1:1;r.sort((a,r)=>{let n=a[e.sortBy],s=r[e.sortBy];return null==n&&null==s?0:null==n?1:null==s?-1:"number"==typeof n&&"number"==typeof s?(n-s)*t:String(n).localeCompare(String(s))*t})}let s=r.length;return e.limit&&e.limit>0&&(r=r.slice(0,e.limit)),{columns:r.length>0?Object.keys(r[0]):e.columns??a.columns.map(e=>e.name),rows:r,totalRows:s,aggregationResults:t}}function g(e,t){if(0===t.length)return 0;switch(e){case"sum":return Number(t.reduce((e,t)=>e+t,0).toFixed(4));case"avg":return Number((t.reduce((e,t)=>e+t,0)/t.length).toFixed(4));case"count":return t.length;case"min":return Math.min(...t);case"max":return Math.max(...t);case"median":{let e=[...t].sort((e,t)=>e-t),a=e.length;return a%2==0?Number(((e[a/2-1]+e[a/2])/2).toFixed(4)):e[Math.floor(a/2)]}default:return 0}}e.s(["deleteTabularDataset",0,m,"getTabularDataset",0,p,"listTabularDatasets",0,c,"queryTabular",0,h,"saveTabularDataset",0,d])},206073,e=>{"use strict";var t=e.i(850492),a=e.i(891119),r=e.i(697373),n=e.i(765700),s=e.i(601263),i=e.i(706859),o=e.i(947547),l=e.i(819797),u=e.i(135958),d=e.i(86520),c=e.i(970949),p=e.i(741165),m=e.i(106898),h=e.i(454415),g=e.i(37125),f=e.i(193695);e.i(530058);var y=e.i(605998),w=e.i(686296),v=e.i(608778);async function S(){try{let e=await (0,v.listTabularDatasets)();return w.NextResponse.json({datasets:e})}catch(t){let e=t instanceof Error?t.message:"Failed to list datasets";return w.NextResponse.json({error:e},{status:500})}}async function b(e){try{let{fileName:t,rows:a}=await e.json();if(!t||!Array.isArray(a)||0===a.length)return w.NextResponse.json({error:"fileName and non-empty rows array required"},{status:400});let r=await (0,v.saveTabularDataset)(t,a);return w.NextResponse.json({id:r.id,fileName:r.fileName,rowCount:r.rowCount,columns:r.columns,summary:r.summary})}catch(t){let e=t instanceof Error?t.message:"Failed to save dataset";return w.NextResponse.json({error:e},{status:500})}}async function N(e){try{let t=new URL(e.url).searchParams.get("id");if(!t)return w.NextResponse.json({error:"id required"},{status:400});return await (0,v.deleteTabularDataset)(t),w.NextResponse.json({ok:!0})}catch(t){let e=t instanceof Error?t.message:"Failed to delete dataset";return w.NextResponse.json({error:e},{status:500})}}e.s(["DELETE",0,N,"GET",0,S,"POST",0,b,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],201986);var E=e.i(201986);let A=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/tabular/route",pathname:"/api/tabular",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/tabular/route.ts",nextConfigOutput:"standalone",userland:E,...{}}),{workAsyncStorage:R,workUnitAsyncStorage:T,serverHooks:x}=A;async function C(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),A.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/tabular/route";w=w.replace(/\/index$/,"")||"/";let v=await A.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:S,deploymentId:b,params:N,nextConfig:E,parsedUrl:R,isDraftMode:T,prerenderManifest:x,routerServerContext:C,isOnDemandRevalidate:O,revalidateOnlyGenerated:D,resolvedPathname:I,clientReferenceManifest:U,serverActionsManifest:M}=v,q=(0,o.normalizeAppPath)(w),P=!!(x.dynamicRoutes[q]||x.routes[I]),j=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,R,!1):t.end("This page could not be found"),null);if(P&&!T){let e=!!x.routes[I],t=x.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await j();throw new f.NoFallbackError}}let k=null;!P||A.isDev||T||(k="/index"===(k=I)?"/":k);let L=!0===A.isDev||!P,F=P&&!L;M&&U&&(0,i.setManifestsSingleton)({page:w,clientReferenceManifest:U,serverActionsManifest:M});let K=e.method||"GET",Y=(0,s.getTracer)(),H=Y.getActiveScopeSpan(),$=!!(null==C?void 0:C.isWrappedByNextServer),_=!!(0,n.getRequestMeta)(e,"minimalMode"),B=(0,n.getRequestMeta)(e,"incrementalCache")||await A.getIncrementalCache(e,E,x,_);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let z={params:N,previewProps:x.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:L,incrementalCache:B,cacheLifeProfiles:E.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>A.onRequestError(e,t,r,n,C)},sharedContext:{buildId:S,deploymentId:b}},W=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>A.handle(G,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=Y.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=`${K} ${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(`${K} ${w}`)}),o=async n=>{var s,o;let l=async({previousCacheEntry:a})=>{try{if(!_&&O&&D&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=z.renderOpts.fetchMetrics;let o=z.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=z.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)(W,V,s,z.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[g.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,r=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:y.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 A.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:O})},!1,C),t}},u=await A.handleResponse({req:e,nextConfig:E,cacheKey:k,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:D,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:_});if(!P)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});_||t.setHeader("x-nextjs-cache",O?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,m.fromNodeOutgoingHttpHeaders)(u.value.headers);return _&&P||d.delete(g.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(W,V,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};$&&H?await o(H):(n=Y.getActiveScopeSpan(),await Y.withPropagatedContext(e.headers,()=>Y.trace(d.BaseServerSpan.handleRequest,{spanName:`${K} ${w}`,kind:s.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},o),void 0,!$))}catch(t){if(t instanceof f.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:O})},!1,C),P)throw t;return await (0,p.sendResponse)(W,V,new Response(null,{status:500})),null}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:R,workUnitAsyncStorage:T})},"routeModule",0,A,"serverHooks",0,x,"workAsyncStorage",0,R,"workUnitAsyncStorage",0,T],206073)}];
58
58
 
59
59
  //# sourceMappingURL=%5Broot-of-the-server%5D__0fcf_rl._.js.map
@@ -54,6 +54,6 @@ RESPONSE FORMATTING (Analytics Style):
54
54
  - Structure complex responses logically (e.g., Summary -> Key Metrics -> Breakdown).
55
55
  - If your findings contain a small table of data, format it cleanly using Markdown tables.
56
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,o,"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"),u=a.default.join(l,"servers"),d=a.default.join(l,"workspace.json"),c={username:null,activeServerId:null,servers:[],mode:null},p=new n.AsyncLocalStorage,h=Promise.resolve();function m(e){let t=h.then(e,e);return h=t.catch(()=>{}),t}async function f(e){return await E(),m(async()=>e(await S()??c))}function g(e){return a.default.join(u,e)}function y(e,t){return`./.larkup/servers/${e}/${t}`}async function v(e){try{return await t.promises.access(e),!0}catch{return!1}}async function w(e,r){if(await v(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 S(){try{let e=await t.promises.readFile(d,"utf8");return{...c,...JSON.parse(e)}}catch{return null}}async function A(e){return await t.promises.mkdir(l,{recursive:!0}),await t.promises.writeFile(d,JSON.stringify(e,null,2),"utf8"),e}async function E(){let e=await S();return e||m(R)}async function R(){let e=await S();if(e)return e;if(!await v(a.default.join(l,"config.json")))return A(c);let n=(0,r.randomUUID)(),s=g(n);for(let e of(await t.promises.mkdir(s,{recursive:!0}),["config.json","documents.json","jobs.json","index-run.json","server-local.json"]))await w(a.default.join(l,e),a.default.join(s,e));await w(a.default.join(l,"lancedb"),a.default.join(s,"lancedb")),await w(a.default.join(l,"generated-server"),a.default.join(s,"generated-server"));let o="Default server";try{let e=a.default.join(s,"config.json"),r=JSON.parse(await t.promises.readFile(e,"utf8"));r.projectName&&(o=r.projectName),"lancedb"===r.vectorStore&&(r.storeConfig?.mode??"local")==="local"&&(r.storeConfig={...r.storeConfig,dbPath:y(n,"lancedb")}),await t.promises.writeFile(e,JSON.stringify(r,null,2),"utf8")}catch{}let i=new Date().toISOString(),u={id:n,name:o,port:8080,createdAt:i,updatedAt:i};return A({username:null,activeServerId:n,servers:[u],mode:null})}async function b(){let e=await E(),t=p.getStore()?.serverId??e.activeServerId;return t?e.servers.find(e=>e.id===t)??null:null}async function x(){let e=await b();if(!e)return null;let a=g(e.id);return await t.promises.mkdir(a,{recursive:!0}),a}async function C(){let e=await x();if(e)return e;let t=p.getStore()?.serverId;if(t)throw Error(`Server "${t}" no longer exists.`);let{server:a}=await O("My RAG server");return g(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 T(e){let t=Math.max(8079,...e.servers.map(e=>e.port))+1;for(;!await I(t);)t++;return t}function O(e){return f(async n=>{let s=(0,r.randomUUID)(),i=new Date().toISOString(),l={id:s,name:e.trim()||"Untitled server",port:await T(n),createdAt:i,updatedAt:i},u=g(s);await t.promises.mkdir(u,{recursive:!0});let d={};if(n.activeServerId)try{let e=await t.promises.readFile(a.default.join(g(n.activeServerId),"config.json"),"utf8");d=JSON.parse(e)}catch{}await t.promises.writeFile(a.default.join(u,"config.json"),JSON.stringify(function(e,t,a={}){return{...o,projectName:t.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"my-rag",storeConfig:{mode:"local",dbPath:y(e,"lancedb")},embeddingApiKey:a.embeddingApiKey??o.embeddingApiKey,customEmbeddings:a.customEmbeddings??o.customEmbeddings,chatApiKey:a.chatApiKey??o.chatApiKey,customChatModels:a.customChatModels??o.customChatModels,serperApiKey:a.serperApiKey??o.serperApiKey,firecrawlApiKey:a.firecrawlApiKey??o.firecrawlApiKey,updatedAt:new Date().toISOString()}}(s,l.name,d),null,2),"utf8");let c={...n,servers:[...n.servers,l],activeServerId:s};return await A(c),{workspace:c,server:l}})}e.s(["createServer",0,O,"deleteServer",0,function(e){return f(async a=>{let r=a.servers.filter(t=>t.id!==e),n=a.activeServerId===e?r[0]?.id??null:a.activeServerId;return await t.promises.rm(g(e),{recursive:!0,force:!0}),A({...a,servers:r,activeServerId:n})})},"getActiveServer",0,b,"getDataDir",0,x,"getWorkspace",0,E,"renameServer",0,function(e,t){return f(async a=>{let r=a.servers.map(a=>a.id===e?{...a,name:t.trim()||a.name,updatedAt:new Date().toISOString()}:a);return A({...a,servers:r})})},"requireDataDir",0,C,"runWithServer",0,function(e,t){return p.run({serverId:e},t)},"setActiveServer",0,function(e){return f(async t=>t.servers.some(t=>t.id===e)?A({...t,activeServerId:e}):t)},"setMode",0,function(e){return f(async t=>A({...t,mode:e}))},"setUsername",0,function(e){return f(async t=>A({...t,username:e.trim()||null}))}],192441)},814747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},522734,(e,t,a)=>{t.exports=e.x("fs",()=>require("fs"))},224361,(e,t,a)=>{t.exports=e.x("util",()=>require("util"))},688947,(e,t,a)=>{t.exports=e.x("stream",()=>require("stream"))},427699,(e,t,a)=>{t.exports=e.x("events",()=>require("events"))},500874,(e,t,a)=>{t.exports=e.x("buffer",()=>require("buffer"))},305842,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),c=e.i(970949),p=e.i(741165),h=e.i(106898),m=e.i(454415),f=e.i(37125),g=e.i(193695);e.i(530058);var y=e.i(605998),v=e.i(686296),w=e.i(522734),S=e.i(814747),A=e.i(568886),E=e.i(192441);async function R(t){try{let a=new URL(t.url),r=a.searchParams.get("serverId")||"default";if("default"===r){let e=await (0,E.getActiveServer)();e&&(r=e.id)}let n=process.cwd(),s=null;for(let e of[S.default.join(n,".larkup","servers",r,"config.json"),S.default.join(n,".larkup","config.json")])if(w.default.existsSync(e))try{s=JSON.parse(w.default.readFileSync(e,"utf-8"));break}catch{}if(!s)return v.NextResponse.json({error:"Configuration not found."},{status:404});let{generateServer:o}=await e.A(878169),i=o(s),l=new A.default;for(let e of i.files)l.file(e.path,e.contents);let u=i.files.find(e=>".env.example"===e.path);if(u&&l.file(".env",u.contents),"lancedb"===s.vectorStore&&(s.storeConfig?.mode??"local")==="local"){let e=S.default.join(n,".larkup","servers",r,"lancedb");if(w.default.existsSync(e))for(let t of function e(t,a){let r=[];if(!w.default.existsSync(t))return r;for(let n of w.default.readdirSync(t)){if("node_modules"===n||".git"===n||"server.log"===n)continue;let s=S.default.join(t,n),o=w.default.statSync(s);o&&o.isDirectory()?r=r.concat(e(s,a)):r.push({file:S.default.relative(a,s).replace(/\\/g,"/"),fullPath:s})}return r}(e,S.default.join(n,".larkup","servers",r)))l.file(t.file,w.default.readFileSync(t.fullPath))}let d=a.searchParams.get("provider");"azure-container-apps"===d?l.file("DEPLOY_GUIDE.md","# Azure Container Apps Deployment Guide\n\n1. Install Azure CLI.\n2. Run `az containerapp up --source . --name my-rag-server`."):"aws-app-runner"===d?l.file("DEPLOY_GUIDE.md","# AWS App Runner Deployment Guide\n\n1. Push this folder to a GitHub repository.\n2. Connect the repository in AWS App Runner.\n3. Provide the Build Command: `npm install` and Start Command: `npm start`."):"gcp-cloud-run"===d&&l.file("DEPLOY_GUIDE.md","# GCP Cloud Run Deployment Guide\n\n1. Install gcloud CLI.\n2. Run `gcloud run deploy my-rag-server --source .`.");let c=await l.generateAsync({type:"nodebuffer"});return new v.NextResponse(c,{headers:{"Content-Type":"application/zip","Content-Disposition":`attachment; filename="${s.projectName||"rag-server"}.zip"`}})}catch(e){return console.error("ZIP Generation Error:",e),v.NextResponse.json({error:e.message},{status:500})}}e.s(["GET",0,R],145108);var b=e.i(145108);let x=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/server/download/route",pathname:"/api/server/download",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/server/download/route.ts",nextConfigOutput:"standalone",userland:b,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:I,serverHooks:T}=x;async function O(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),x.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/server/download/route";v=v.replace(/\/index$/,"")||"/";let w=await x.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:S,deploymentId:A,params:E,nextConfig:R,parsedUrl:b,isDraftMode:C,prerenderManifest:I,routerServerContext:T,isOnDemandRevalidate:O,revalidateOnlyGenerated:N,resolvedPathname:D,clientReferenceManifest:U,serverActionsManifest:P}=w,k=(0,i.normalizeAppPath)(v),j=!!(I.dynamicRoutes[k]||I.routes[D]),L=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,b,!1):t.end("This page could not be found"),null);if(j&&!C){let e=!!I.routes[D],t=I.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await L();throw new g.NoFallbackError}}let M=null;!j||x.isDev||C||(M="/index"===(M=D)?"/":M);let q=!0===x.isDev||!j,_=j&&!q;P&&U&&(0,o.setManifestsSingleton)({page:v,clientReferenceManifest:U,serverActionsManifest:P});let K=e.method||"GET",F=(0,s.getTracer)(),H=F.getActiveScopeSpan(),z=!!(null==T?void 0:T.isWrappedByNextServer),G=!!(0,n.getRequestMeta)(e,"minimalMode"),W=(0,n.getRequestMeta)(e,"incrementalCache")||await x.getIncrementalCache(e,R,I,G);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let Y={params:E,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:q,incrementalCache:W,cacheLifeProfiles:R.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>x.onRequestError(e,t,r,n,T)},sharedContext:{buildId:S,deploymentId:A}},V=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),$=u.NextRequestAdapter.fromNodeNextRequest(V,(0,u.signalFromNodeResponse)(t));try{let n,o=async e=>x.handle($,Y).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 r=a.get("next.route");if(r){let t=`${K} ${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(`${K} ${v}`)}),i=async n=>{var s,i;let l=async({previousCacheEntry:a})=>{try{if(!G&&O&&N&&!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=Y.renderOpts.fetchMetrics;let i=Y.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let l=Y.renderOpts.collectedTags;if(!j)return await (0,p.sendResponse)(V,B,s,Y.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==Y.renderOpts.collectedRevalidate&&!(Y.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&Y.renderOpts.collectedRevalidate,r=void 0===Y.renderOpts.collectedExpire||Y.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:Y.renderOpts.collectedExpire;return{value:{kind:y.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 x.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:_,isOnDemandRevalidate:O})},!1,T),t}},u=await x.handleResponse({req:e,nextConfig:R,cacheKey:M,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:N,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:G});if(!j)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==y.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});G||t.setHeader("x-nextjs-cache",O?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return G&&j||d.delete(f.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,m.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(V,B,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};z&&H?await i(H):(n=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${K} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},i),void 0,!z))}catch(t){if(t instanceof g.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:_,isOnDemandRevalidate:O})},!1,T),j)throw t;return await (0,p.sendResponse)(V,B,new Response(null,{status:500})),null}}e.s(["handler",0,O,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:I})},"routeModule",0,x,"serverHooks",0,T,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,I],305842)},878169,e=>{e.v(t=>Promise.all(["server/chunks/packages_070bs61._.js","server/chunks/packages_core_src_generator_generate-server_ts_0mt.je3._.js"].map(t=>e.l(t))).then(()=>t(171502)))}];
57
+ - End with a one-sentence synthesis if appropriate, avoiding filler words.`;e.s(["DEFAULT_CONFIG",0,o,"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"),u=a.default.join(l,"servers"),d=a.default.join(l,"workspace.json"),c={username:null,activeServerId:null,servers:[],mode:null},p=new n.AsyncLocalStorage,h=Promise.resolve();function m(e){let t=h.then(e,e);return h=t.catch(()=>{}),t}async function f(e){return await E(),m(async()=>e(await S()??c))}function g(e){return a.default.join(u,e)}function y(e,t){return`./.larkup/servers/${e}/${t}`}async function v(e){try{return await t.promises.access(e),!0}catch{return!1}}async function w(e,r){if(await v(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 S(){try{let e=await t.promises.readFile(d,"utf8");return{...c,...JSON.parse(e)}}catch{return null}}async function A(e){return await t.promises.mkdir(l,{recursive:!0}),await t.promises.writeFile(d,JSON.stringify(e,null,2),"utf8"),e}async function E(){let e=await S();return e||m(R)}async function R(){let e=await S();if(e)return e;if(!await v(a.default.join(l,"config.json")))return A(c);let n=(0,r.randomUUID)(),s=g(n);for(let e of(await t.promises.mkdir(s,{recursive:!0}),["config.json","documents.json","jobs.json","index-run.json","server-local.json"]))await w(a.default.join(l,e),a.default.join(s,e));await w(a.default.join(l,"lancedb"),a.default.join(s,"lancedb")),await w(a.default.join(l,"generated-server"),a.default.join(s,"generated-server"));let o="Default server";try{let e=a.default.join(s,"config.json"),r=JSON.parse(await t.promises.readFile(e,"utf8"));r.projectName&&(o=r.projectName),"lancedb"===r.vectorStore&&(r.storeConfig?.mode??"local")==="local"&&(r.storeConfig={...r.storeConfig,dbPath:y(n,"lancedb")}),await t.promises.writeFile(e,JSON.stringify(r,null,2),"utf8")}catch{}let i=new Date().toISOString(),u={id:n,name:o,port:8080,createdAt:i,updatedAt:i};return A({username:null,activeServerId:n,servers:[u],mode:null})}async function b(){let e=await E(),t=p.getStore()?.serverId??e.activeServerId;return t?e.servers.find(e=>e.id===t)??null:null}async function x(){let e=await b();if(!e)return null;let a=g(e.id);return await t.promises.mkdir(a,{recursive:!0}),a}async function C(){let e=await x();if(e)return e;let t=p.getStore()?.serverId;if(t)throw Error(`Server "${t}" no longer exists.`);let{server:a}=await O("my-larkup");return g(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 T(e){let t=Math.max(8079,...e.servers.map(e=>e.port))+1;for(;!await I(t);)t++;return t}function O(e){return f(async n=>{let s=(0,r.randomUUID)(),i=new Date().toISOString(),l={id:s,name:e.trim()||"Untitled server",port:await T(n),createdAt:i,updatedAt:i},u=g(s);await t.promises.mkdir(u,{recursive:!0});let d={};if(n.activeServerId)try{let e=await t.promises.readFile(a.default.join(g(n.activeServerId),"config.json"),"utf8");d=JSON.parse(e)}catch{}await t.promises.writeFile(a.default.join(u,"config.json"),JSON.stringify(function(e,t,a={}){return{...o,projectName:t.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"my-larkup",storeConfig:{mode:"local",dbPath:y(e,"lancedb")},embeddingApiKey:a.embeddingApiKey??o.embeddingApiKey,customEmbeddings:a.customEmbeddings??o.customEmbeddings,chatApiKey:a.chatApiKey??o.chatApiKey,customChatModels:a.customChatModels??o.customChatModels,serperApiKey:a.serperApiKey??o.serperApiKey,firecrawlApiKey:a.firecrawlApiKey??o.firecrawlApiKey,updatedAt:new Date().toISOString()}}(s,l.name,d),null,2),"utf8");let c={...n,servers:[...n.servers,l],activeServerId:s};return await A(c),{workspace:c,server:l}})}e.s(["createServer",0,O,"deleteServer",0,function(e){return f(async a=>{let r=a.servers.filter(t=>t.id!==e),n=a.activeServerId===e?r[0]?.id??null:a.activeServerId;return await t.promises.rm(g(e),{recursive:!0,force:!0}),A({...a,servers:r,activeServerId:n})})},"getActiveServer",0,b,"getDataDir",0,x,"getWorkspace",0,E,"renameServer",0,function(e,t){return f(async a=>{let r=a.servers.map(a=>a.id===e?{...a,name:t.trim()||a.name,updatedAt:new Date().toISOString()}:a);return A({...a,servers:r})})},"requireDataDir",0,C,"runWithServer",0,function(e,t){return p.run({serverId:e},t)},"setActiveServer",0,function(e){return f(async t=>t.servers.some(t=>t.id===e)?A({...t,activeServerId:e}):t)},"setMode",0,function(e){return f(async t=>A({...t,mode:e}))},"setUsername",0,function(e){return f(async t=>A({...t,username:e.trim()||null}))}],192441)},814747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},522734,(e,t,a)=>{t.exports=e.x("fs",()=>require("fs"))},224361,(e,t,a)=>{t.exports=e.x("util",()=>require("util"))},688947,(e,t,a)=>{t.exports=e.x("stream",()=>require("stream"))},427699,(e,t,a)=>{t.exports=e.x("events",()=>require("events"))},500874,(e,t,a)=>{t.exports=e.x("buffer",()=>require("buffer"))},305842,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),c=e.i(970949),p=e.i(741165),h=e.i(106898),m=e.i(454415),f=e.i(37125),g=e.i(193695);e.i(530058);var y=e.i(605998),v=e.i(686296),w=e.i(522734),S=e.i(814747),A=e.i(568886),E=e.i(192441);async function R(t){try{let a=new URL(t.url),r=a.searchParams.get("serverId")||"default";if("default"===r){let e=await (0,E.getActiveServer)();e&&(r=e.id)}let n=process.cwd(),s=null;for(let e of[S.default.join(n,".larkup","servers",r,"config.json"),S.default.join(n,".larkup","config.json")])if(w.default.existsSync(e))try{s=JSON.parse(w.default.readFileSync(e,"utf-8"));break}catch{}if(!s)return v.NextResponse.json({error:"Configuration not found."},{status:404});let{generateServer:o}=await e.A(878169),i=o(s),l=new A.default;for(let e of i.files)l.file(e.path,e.contents);let u=i.files.find(e=>".env.example"===e.path);if(u&&l.file(".env",u.contents),"lancedb"===s.vectorStore&&(s.storeConfig?.mode??"local")==="local"){let e=S.default.join(n,".larkup","servers",r,"lancedb");if(w.default.existsSync(e))for(let t of function e(t,a){let r=[];if(!w.default.existsSync(t))return r;for(let n of w.default.readdirSync(t)){if("node_modules"===n||".git"===n||"server.log"===n)continue;let s=S.default.join(t,n),o=w.default.statSync(s);o&&o.isDirectory()?r=r.concat(e(s,a)):r.push({file:S.default.relative(a,s).replace(/\\/g,"/"),fullPath:s})}return r}(e,S.default.join(n,".larkup","servers",r)))l.file(t.file,w.default.readFileSync(t.fullPath))}let d=a.searchParams.get("provider");"azure-container-apps"===d?l.file("DEPLOY_GUIDE.md","# Azure Container Apps Deployment Guide\n\n1. Install Azure CLI.\n2. Run `az containerapp up --source . --name my-rag-server`."):"aws-app-runner"===d?l.file("DEPLOY_GUIDE.md","# AWS App Runner Deployment Guide\n\n1. Push this folder to a GitHub repository.\n2. Connect the repository in AWS App Runner.\n3. Provide the Build Command: `npm install` and Start Command: `npm start`."):"gcp-cloud-run"===d&&l.file("DEPLOY_GUIDE.md","# GCP Cloud Run Deployment Guide\n\n1. Install gcloud CLI.\n2. Run `gcloud run deploy my-rag-server --source .`.");let c=await l.generateAsync({type:"nodebuffer"});return new v.NextResponse(c,{headers:{"Content-Type":"application/zip","Content-Disposition":`attachment; filename="${s.projectName||"rag-server"}.zip"`}})}catch(e){return console.error("ZIP Generation Error:",e),v.NextResponse.json({error:e.message},{status:500})}}e.s(["GET",0,R],145108);var b=e.i(145108);let x=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/server/download/route",pathname:"/api/server/download",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/server/download/route.ts",nextConfigOutput:"standalone",userland:b,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:I,serverHooks:T}=x;async function O(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),x.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/server/download/route";v=v.replace(/\/index$/,"")||"/";let w=await x.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:S,deploymentId:A,params:E,nextConfig:R,parsedUrl:b,isDraftMode:C,prerenderManifest:I,routerServerContext:T,isOnDemandRevalidate:O,revalidateOnlyGenerated:N,resolvedPathname:D,clientReferenceManifest:U,serverActionsManifest:P}=w,k=(0,i.normalizeAppPath)(v),j=!!(I.dynamicRoutes[k]||I.routes[D]),L=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,b,!1):t.end("This page could not be found"),null);if(j&&!C){let e=!!I.routes[D],t=I.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await L();throw new g.NoFallbackError}}let q=null;!j||x.isDev||C||(q="/index"===(q=D)?"/":q);let M=!0===x.isDev||!j,_=j&&!M;P&&U&&(0,o.setManifestsSingleton)({page:v,clientReferenceManifest:U,serverActionsManifest:P});let K=e.method||"GET",F=(0,s.getTracer)(),H=F.getActiveScopeSpan(),z=!!(null==T?void 0:T.isWrappedByNextServer),G=!!(0,n.getRequestMeta)(e,"minimalMode"),W=(0,n.getRequestMeta)(e,"incrementalCache")||await x.getIncrementalCache(e,R,I,G);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let Y={params:E,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:M,incrementalCache:W,cacheLifeProfiles:R.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>x.onRequestError(e,t,r,n,T)},sharedContext:{buildId:S,deploymentId:A}},V=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),$=u.NextRequestAdapter.fromNodeNextRequest(V,(0,u.signalFromNodeResponse)(t));try{let n,o=async e=>x.handle($,Y).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 r=a.get("next.route");if(r){let t=`${K} ${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(`${K} ${v}`)}),i=async n=>{var s,i;let l=async({previousCacheEntry:a})=>{try{if(!G&&O&&N&&!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=Y.renderOpts.fetchMetrics;let i=Y.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let l=Y.renderOpts.collectedTags;if(!j)return await (0,p.sendResponse)(V,B,s,Y.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==Y.renderOpts.collectedRevalidate&&!(Y.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&Y.renderOpts.collectedRevalidate,r=void 0===Y.renderOpts.collectedExpire||Y.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:Y.renderOpts.collectedExpire;return{value:{kind:y.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 x.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:_,isOnDemandRevalidate:O})},!1,T),t}},u=await x.handleResponse({req:e,nextConfig:R,cacheKey:q,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:N,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:G});if(!j)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==y.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});G||t.setHeader("x-nextjs-cache",O?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return G&&j||d.delete(f.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,m.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(V,B,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};z&&H?await i(H):(n=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${K} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},i),void 0,!z))}catch(t){if(t instanceof g.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:_,isOnDemandRevalidate:O})},!1,T),j)throw t;return await (0,p.sendResponse)(V,B,new Response(null,{status:500})),null}}e.s(["handler",0,O,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:I})},"routeModule",0,x,"serverHooks",0,T,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,I],305842)},878169,e=>{e.v(t=>Promise.all(["server/chunks/packages_070bs61._.js","server/chunks/packages_core_src_generator_generate-server_ts_0mt.je3._.js"].map(t=>e.l(t))).then(()=>t(171502)))}];
58
58
 
59
59
  //# sourceMappingURL=%5Broot-of-the-server%5D__0f~eq1-._.js.map