larkup 0.1.28 → 0.1.30

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 (163) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/diagnostics/route-bundle-stats.json +22 -22
  4. package/.next/fallback-build-manifest.json +3 -3
  5. package/.next/required-server-files.js +1 -1
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/server/app/_global-error.html +1 -1
  8. package/.next/server/app/_global-error.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  15. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/.next/server/app/_not-found.html +1 -1
  17. package/.next/server/app/_not-found.rsc +16 -16
  18. package/.next/server/app/_not-found.segments/_full.segment.rsc +16 -16
  19. package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  20. package/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
  21. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  22. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  23. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  24. package/.next/server/app/analytics/page.js.nft.json +1 -1
  25. package/.next/server/app/analytics/page_client-reference-manifest.js +1 -1
  26. package/.next/server/app/analytics.html +1 -1
  27. package/.next/server/app/analytics.rsc +17 -17
  28. package/.next/server/app/analytics.segments/_full.segment.rsc +17 -17
  29. package/.next/server/app/analytics.segments/_head.segment.rsc +4 -4
  30. package/.next/server/app/analytics.segments/_index.segment.rsc +11 -11
  31. package/.next/server/app/analytics.segments/_tree.segment.rsc +1 -1
  32. package/.next/server/app/analytics.segments/analytics/__PAGE__.segment.rsc +3 -3
  33. package/.next/server/app/analytics.segments/analytics.segment.rsc +3 -3
  34. package/.next/server/app/api/chat/route.js +8 -9
  35. package/.next/server/app/api/chat/route.js.nft.json +1 -1
  36. package/.next/server/app/api/config/test-provider/route.js +4 -4
  37. package/.next/server/app/api/config/test-provider/route.js.nft.json +1 -1
  38. package/.next/server/app/api/config/verify/route.js +3 -3
  39. package/.next/server/app/api/config/verify/route.js.nft.json +1 -1
  40. package/.next/server/app/api/marketplace/[toolId]/route.js +1 -1
  41. package/.next/server/app/api/marketplace/[toolId]/route.js.nft.json +1 -1
  42. package/.next/server/app/api/marketplace/route.js +1 -1
  43. package/.next/server/app/api/marketplace/route.js.nft.json +1 -1
  44. package/.next/server/app/api/media/process/route.js +2 -2
  45. package/.next/server/app/api/media/process/route.js.nft.json +1 -1
  46. package/.next/server/app/api/media/route.js +1 -1
  47. package/.next/server/app/api/media/route.js.nft.json +1 -1
  48. package/.next/server/app/chat/page.js.nft.json +1 -1
  49. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  50. package/.next/server/app/chat.html +1 -1
  51. package/.next/server/app/chat.rsc +17 -17
  52. package/.next/server/app/chat.segments/_full.segment.rsc +17 -17
  53. package/.next/server/app/chat.segments/_head.segment.rsc +4 -4
  54. package/.next/server/app/chat.segments/_index.segment.rsc +11 -11
  55. package/.next/server/app/chat.segments/_tree.segment.rsc +1 -1
  56. package/.next/server/app/chat.segments/chat/__PAGE__.segment.rsc +3 -3
  57. package/.next/server/app/chat.segments/chat.segment.rsc +3 -3
  58. package/.next/server/app/data/page.js.nft.json +1 -1
  59. package/.next/server/app/data/page_client-reference-manifest.js +1 -1
  60. package/.next/server/app/data.html +1 -1
  61. package/.next/server/app/data.rsc +17 -17
  62. package/.next/server/app/data.segments/_full.segment.rsc +17 -17
  63. package/.next/server/app/data.segments/_head.segment.rsc +4 -4
  64. package/.next/server/app/data.segments/_index.segment.rsc +11 -11
  65. package/.next/server/app/data.segments/_tree.segment.rsc +1 -1
  66. package/.next/server/app/data.segments/data/__PAGE__.segment.rsc +3 -3
  67. package/.next/server/app/data.segments/data.segment.rsc +3 -3
  68. package/.next/server/app/index.html +1 -1
  69. package/.next/server/app/index.rsc +16 -16
  70. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  71. package/.next/server/app/index.segments/_full.segment.rsc +16 -16
  72. package/.next/server/app/index.segments/_head.segment.rsc +4 -4
  73. package/.next/server/app/index.segments/_index.segment.rsc +11 -11
  74. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  75. package/.next/server/app/page.js.nft.json +1 -1
  76. package/.next/server/app/page_client-reference-manifest.js +1 -1
  77. package/.next/server/app/settings/page.js.nft.json +1 -1
  78. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  79. package/.next/server/app/settings.html +1 -1
  80. package/.next/server/app/settings.rsc +18 -18
  81. package/.next/server/app/settings.segments/_full.segment.rsc +18 -18
  82. package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  83. package/.next/server/app/settings.segments/_index.segment.rsc +11 -11
  84. package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  85. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
  86. package/.next/server/app/settings.segments/settings.segment.rsc +3 -3
  87. package/.next/server/chunks/0598_next_dist_esm_build_templates_app-route_0kbcuk-.js +4 -3
  88. package/.next/server/chunks/0598_next_dist_esm_build_templates_app-route_1f4h7rr.js +1 -1
  89. package/.next/server/chunks/[root-of-the-server]__067hiof._.js +18 -6
  90. package/.next/server/chunks/[root-of-the-server]__0a_0ywc._.js +18 -6
  91. package/.next/server/chunks/[root-of-the-server]__0c80bj0._.js +3 -0
  92. package/.next/server/chunks/{[root-of-the-server]__1m7m2x7._.js → [root-of-the-server]__0drkoru._.js} +2 -2
  93. package/.next/server/chunks/{[root-of-the-server]__0vnm6_8._.js → [root-of-the-server]__0kmh740._.js} +6 -6
  94. package/.next/server/chunks/{[root-of-the-server]__0ou70-v._.js → [root-of-the-server]__0nfenje._.js} +1 -1
  95. package/.next/server/chunks/[root-of-the-server]__0omd-x0._.js +3 -0
  96. package/.next/server/chunks/[root-of-the-server]__0u17zp8._.js +18 -6
  97. package/.next/server/chunks/{[root-of-the-server]__1s1zui-._.js → [root-of-the-server]__10v5qsi._.js} +1 -1
  98. package/.next/server/chunks/{[root-of-the-server]__1xuhh_i._.js → [root-of-the-server]__16jk_se._.js} +2 -2
  99. package/.next/server/chunks/[root-of-the-server]__1ahdfq9._.js +19 -7
  100. package/.next/server/chunks/[root-of-the-server]__1idgvjh._.js +172 -0
  101. package/.next/server/chunks/[root-of-the-server]__1ip05r1._.js +1 -1
  102. package/.next/server/chunks/[root-of-the-server]__1jc54o2._.js +3 -0
  103. package/.next/server/chunks/{[root-of-the-server]__0748x7h._.js → [root-of-the-server]__1lhls88._.js} +1 -1
  104. package/.next/server/chunks/[root-of-the-server]__1o3rcbz._.js +2 -1
  105. package/.next/server/chunks/{[root-of-the-server]__10gcb7d._.js → [root-of-the-server]__1qh2h5v._.js} +2 -2
  106. package/.next/server/chunks/[root-of-the-server]__1s9is1o._.js +2 -1
  107. package/.next/server/chunks/[root-of-the-server]__1vsvck0._.js +18 -6
  108. package/.next/server/chunks/{[root-of-the-server]__0g_q-44._.js → [root-of-the-server]__1wy6wes._.js} +2 -2
  109. package/.next/server/chunks/[root-of-the-server]__1zptg4z._.js +2 -1
  110. package/.next/server/chunks/{packages_1f4dx4h._.js → packages_1ggqion._.js} +2 -2
  111. package/.next/server/chunks/packages_core_src_generator_server-runtime_ts_1_68l7t._.js +4 -4
  112. package/.next/server/chunks/packages_marketplace_src_125_g2p._.js +1 -1
  113. package/.next/server/chunks/{packages_vector-stores_src_064-9ay._.js → packages_vector-stores_src_1fib7u-._.js} +2 -2
  114. package/.next/server/chunks/ssr/{[root-of-the-server]__0wdatpx._.js → [root-of-the-server]__0m21fli._.js} +1 -1
  115. package/.next/server/chunks/ssr/{[root-of-the-server]__1r9ap67._.js → [root-of-the-server]__0t8ud_u._.js} +1 -1
  116. package/.next/server/chunks/ssr/{[root-of-the-server]__046ldu_._.js → [root-of-the-server]__0xyo3ni._.js} +1 -1
  117. package/.next/server/chunks/ssr/{_0k81--x._.js → _0ckxy33._.js} +2 -2
  118. package/.next/server/chunks/ssr/_169pdlf._.js +6 -6
  119. package/.next/server/chunks/ssr/_1hetwwu._.js +4 -3
  120. package/.next/server/chunks/ssr/_1yqlx1m._.js +1 -1
  121. package/.next/server/chunks/ssr/apps_web_components_analytics_analytics-dashboard_tsx_1056-z3._.js +1 -1
  122. package/.next/server/chunks/ssr/apps_web_lib_pdf-images_ts_13-l5wa._.js +1 -1
  123. package/.next/server/functions-config-manifest.json +3 -1
  124. package/.next/server/middleware-build-manifest.js +3 -3
  125. package/.next/server/pages/404.html +1 -1
  126. package/.next/server/pages/500.html +1 -1
  127. package/.next/static/chunks/{3bpr59xr-_rv7.js → 0ge3nirnmx_np.js} +1 -1
  128. package/.next/static/chunks/{0rgt7-bqxonef.js → 1uzf7x2okeuab.js} +6 -6
  129. package/.next/static/chunks/{3g_wl1fri6jb-.js → 21_6-9hjj2i68.js} +1 -1
  130. package/.next/static/chunks/2ib3e0xrrdait.js +1 -0
  131. package/.next/static/chunks/2jrpgzxyrmuqp.js +121 -0
  132. package/.next/static/chunks/390ds7l_plpmd.js +1 -0
  133. package/.next/static/chunks/{3een1tiktxr6a.js → 3zw6tgf7mxo39.js} +1 -1
  134. package/CHANGELOG.md +22 -0
  135. package/app/api/chat/route.ts +1 -0
  136. package/app/api/chat/tools.ts +5 -1
  137. package/app/api/config/test-provider/route.ts +16 -18
  138. package/app/api/config/verify/route.ts +5 -7
  139. package/app/api/describe-image/route.ts +12 -4
  140. package/app/api/firecrawl/local/route.ts +1 -1
  141. package/app/api/jobs/route.ts +1 -2
  142. package/app/api/marketplace/[toolId]/route.ts +1 -0
  143. package/components/analytics/analytics-dashboard.tsx +1 -1
  144. package/components/data/firecrawl-notice.tsx +49 -98
  145. package/components/data/media-panel.tsx +34 -5
  146. package/components/data/scrape-panel.tsx +17 -1
  147. package/components/data/upload-panel.tsx +2 -1
  148. package/components/onboarding/welcome-screen.tsx +45 -15
  149. package/components/settings/general-section.tsx +15 -10
  150. package/components/settings/marketplace-section.tsx +14 -2
  151. package/components/settings/server-section.tsx +3 -3
  152. package/lib/error-formatter.ts +19 -4
  153. package/lib/pdf-images.ts +20 -5
  154. package/package.json +7 -7
  155. package/.next/server/chunks/[root-of-the-server]__00r1kgp._.js +0 -143
  156. package/.next/server/chunks/[root-of-the-server]__064gb96._.js +0 -3
  157. package/.next/server/chunks/_0ce9vcg._.js +0 -32
  158. package/.next/static/chunks/00z1f-adeq1lg.js +0 -1
  159. package/.next/static/chunks/0k405nomf6s4e.js +0 -120
  160. package/.next/static/chunks/13hmtkhrbm4t3.js +0 -1
  161. /package/.next/static/{bDwMIFYSTVBKUJkJJx77o → Laf7YhpONHOZXSCw6POiL}/_buildManifest.js +0 -0
  162. /package/.next/static/{bDwMIFYSTVBKUJkJJx77o → Laf7YhpONHOZXSCw6POiL}/_clientMiddlewareManifest.js +0 -0
  163. /package/.next/static/{bDwMIFYSTVBKUJkJJx77o → Laf7YhpONHOZXSCw6POiL}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- module.exports=[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 l={...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 l.customEmbedding,l}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"))},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 l(){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 c(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 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 o(async()=>{let r=await l(),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 c(r),n})},"addDocument",0,function(e){return o(async()=>{let t=await l(),r=u(e);return t.push(r),await c(t),r})},"addDocuments",0,function(e){return o(async()=>{if(0===e.length)return[];let t=await l(),r=e.map(u);return t.push(...r),await c(t),r})},"clearDocuments",0,function(){return o(async()=>{await c([])})},"corpusStats",0,d,"deleteDocument",0,function(e){return o(async()=>{let t=await l();await c(t.filter(t=>t.id!==e))})},"deleteDocuments",0,function(e){return o(async()=>{let t=await l(),r=new Set(e);await c(t.filter(e=>!r.has(e.id)))})},"readDocuments",0,l,"replaceDocuments",0,function(e){return o(async()=>{let t=new Date().toISOString();await c(e.map(e=>({...e,status:"unindexed",createdAt:e.createdAt||t})))})},"updateDocument",0,function(e,t){return o(async()=>{let r=await l(),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 c(r),o})},"updateDocumentsStatus",0,function(e,t){return o(async()=>{let r=await l(),a=new Set(e),n=!1;for(let e of r)a.has(e.id)&&(e.status=t,n=!0);n&&await c(r)})}])},700259,e=>{"use strict";var t=e.i(902157),r=e.i(750227),a=e.i(761095),n=e.i(666680),i=e.i(874533),o=e.i(812057),s=e.i(367165);let l=(0,o.promisify)(i.exec);async function c(e,t){return l(e,{timeout:t,env:{...process.env,PATH:`${process.env.PATH||""}:/usr/local/bin:/opt/homebrew/bin:/bin:/usr/bin`}})}let u=r.default.join(process.cwd(),".larkup"),d=r.default.join(u,"firecrawl-local.json"),p=r.default.join(u,"firecrawl","docker-compose.yml"),w="ragtoolkit-firecrawl";async function f(e){return new Promise((t,r)=>{let n=a.default.createServer();n.listen(e,()=>{let e=n.address().port;n.close(()=>t(e))}),n.on("error",a=>{"EADDRINUSE"===a.code?f(0===e?0:e+1).then(t,r):r(a)})})}async function m(){try{let e=r.default.join(process.cwd(),"proxies.txt"),a=(await t.promises.readFile(e,"utf8")).split("\n").map(e=>e.trim()).filter(e=>e.length>0);if(a.length>0){let e=a[Math.floor(Math.random()*a.length)].split(":");if(e.length>=4)return{server:`http://${e[0]}:${e[1]}`,username:e[2],password:e[3]}}}catch(e){}let e=await (0,s.readConfig)();return e.useScraperProxy&&e.scraperProxyServer?{server:e.scraperProxyServer,username:e.scraperProxyUsername,password:e.scraperProxyPassword}:null}let h={running:!1,endpoint:"http://localhost:3002",apiKey:"",port:3002,project:w};async function g(){try{let e=await t.promises.readFile(d,"utf8");return{...h,...JSON.parse(e)}}catch{return h}}async function y(e){return await t.promises.mkdir(u,{recursive:!0}),await t.promises.writeFile(d,JSON.stringify(e,null,2),"utf8"),e}async function v(){try{await c("docker --version")}catch(e){return console.error("DOCKER ERR:",e),{docker:!1,compose:null}}try{return await c("docker compose version"),{docker:!0,compose:"docker compose"}}catch(e){console.error("DOCKER COMPOSE ERR:",e)}try{return await c("docker-compose version"),{docker:!0,compose:"docker-compose"}}catch{return{docker:!0,compose:null}}}async function E(){let{docker:e,compose:t}=await v();return e?t?{docker:!0,compose:!0,message:"Docker is ready."}:{docker:!0,compose:!1,message:"Docker is installed but the Compose plugin was not found. Install `docker compose` to launch Firecrawl locally."}:{docker:!1,compose:!1,message:"Docker isn't available on this machine. Install Docker Desktop (or the Docker engine) and make sure it's running."}}function R(e,t,r){let a=r?[`PROXY_SERVER: "${r.server}"`,...r.username&&r.password?[`PROXY_USERNAME: "${r.username}"`,`PROXY_PASSWORD: "${r.password}"`]:[]]:[],n=['PORT: "3000"',...a].map(e=>` ${e}`).join("\n"),i=['PORT: "3002"',...a,'HOST: "0.0.0.0"','REDIS_URL: "redis://redis:6379"','REDIS_RATE_LIMIT_URL: "redis://redis:6379"','PLAYWRIGHT_MICROSERVICE_URL: "http://playwright-service:3000/scrape"','USE_DB_AUTHENTICATION: "false"',`TEST_API_KEY: "${e}"`,`BULL_AUTH_KEY: "${e}"`,'DATABASE_URL: "postgresql://user:password@db:5432/postgres"','NUQ_DATABASE_URL: "postgresql://user:password@db:5432/postgres"','NUQ_RABBITMQ_URL: "amqp://user:password@rabbitmq:5672"'].map(e=>` ${e}`).join("\n");return`# Auto-generated by RAG Toolkit. Do not edit by hand.
1
+ module.exports=[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 l={...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 l.customEmbedding,l}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"))},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 l(){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 c(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 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 o(async()=>{let r=await l(),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 c(r),n})},"addDocument",0,function(e){return o(async()=>{let t=await l(),r=u(e);return t.push(r),await c(t),r})},"addDocuments",0,function(e){return o(async()=>{if(0===e.length)return[];let t=await l(),r=e.map(u);return t.push(...r),await c(t),r})},"clearDocuments",0,function(){return o(async()=>{await c([])})},"corpusStats",0,d,"deleteDocument",0,function(e){return o(async()=>{let t=await l();await c(t.filter(t=>t.id!==e))})},"deleteDocuments",0,function(e){return o(async()=>{let t=await l(),r=new Set(e);await c(t.filter(e=>!r.has(e.id)))})},"readDocuments",0,l,"replaceDocuments",0,function(e){return o(async()=>{let t=new Date().toISOString();await c(e.map(e=>({...e,status:"unindexed",createdAt:e.createdAt||t})))})},"updateDocument",0,function(e,t){return o(async()=>{let r=await l(),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 c(r),o})},"updateDocumentsStatus",0,function(e,t){return o(async()=>{let r=await l(),a=new Set(e),n=!1;for(let e of r)a.has(e.id)&&(e.status=t,n=!0);n&&await c(r)})}])},700259,e=>{"use strict";var t=e.i(902157),r=e.i(750227),a=e.i(761095),n=e.i(666680),i=e.i(874533),o=e.i(812057),s=e.i(367165);let l=(0,o.promisify)(i.exec);async function c(e,t){return l(e,{timeout:t,env:{...process.env,PATH:`${process.env.PATH||""}:/usr/local/bin:/opt/homebrew/bin:/bin:/usr/bin`}})}let u=r.default.join(process.cwd(),".larkup"),d=r.default.join(u,"firecrawl-local.json"),p=r.default.join(u,"firecrawl","docker-compose.yml"),w="ragtoolkit-firecrawl";async function f(e){return new Promise((t,r)=>{let n=a.default.createServer();n.listen(e,()=>{let e=n.address().port;n.close(()=>t(e))}),n.on("error",a=>{"EADDRINUSE"===a.code?f(0===e?0:e+1).then(t,r):r(a)})})}async function m(){try{let e=r.default.join(process.cwd(),"proxies.txt"),a=(await t.promises.readFile(e,"utf8")).split("\n").map(e=>e.trim()).filter(e=>e.length>0);if(a.length>0){let e=a[Math.floor(Math.random()*a.length)].split(":");if(e.length>=4)return{server:`http://${e[0]}:${e[1]}`,username:e[2],password:e[3]}}}catch(e){}let e=await (0,s.readConfig)();return e.useScraperProxy&&e.scraperProxyServer?{server:e.scraperProxyServer,username:e.scraperProxyUsername,password:e.scraperProxyPassword}:null}let h={running:!1,endpoint:"http://localhost:3002",apiKey:"",port:3002,project:w};async function g(){try{let e=await t.promises.readFile(d,"utf8");return{...h,...JSON.parse(e)}}catch{return h}}async function y(e){return await t.promises.mkdir(u,{recursive:!0}),await t.promises.writeFile(d,JSON.stringify(e,null,2),"utf8"),e}async function v(){try{await c("docker --version")}catch(e){return console.error("DOCKER ERR:",e),{docker:!1,compose:null}}try{return await c("docker compose version"),{docker:!0,compose:"docker compose"}}catch(e){console.error("DOCKER COMPOSE ERR:",e)}try{return await c("docker-compose version"),{docker:!0,compose:"docker-compose"}}catch{return{docker:!0,compose:null}}}async function E(){let{docker:e,compose:t}=await v();return e?t?{docker:!0,compose:!0,message:"Docker is ready."}:{docker:!0,compose:!1,message:"Docker is installed but the Compose plugin was not found. Install `docker compose` to launch Firecrawl locally."}:{docker:!1,compose:!1,message:"Docker isn't available on this machine. Install Docker Desktop (or the Docker engine) and make sure it's running."}}function S(e,t,r){let a=r?[`PROXY_SERVER: "${r.server}"`,...r.username&&r.password?[`PROXY_USERNAME: "${r.username}"`,`PROXY_PASSWORD: "${r.password}"`]:[]]:[],n=['PORT: "3000"',...a].map(e=>` ${e}`).join("\n"),i=['PORT: "3002"',...a,'HOST: "0.0.0.0"','REDIS_URL: "redis://redis:6379"','REDIS_RATE_LIMIT_URL: "redis://redis:6379"','PLAYWRIGHT_MICROSERVICE_URL: "http://playwright-service:3000/scrape"','USE_DB_AUTHENTICATION: "false"',`TEST_API_KEY: "${e}"`,`BULL_AUTH_KEY: "${e}"`,'DATABASE_URL: "postgresql://user:password@db:5432/postgres"','NUQ_DATABASE_URL: "postgresql://user:password@db:5432/postgres"','NUQ_RABBITMQ_URL: "amqp://user:password@rabbitmq:5672"'].map(e=>` ${e}`).join("\n");return`# Auto-generated by RAG Toolkit. Do not edit by hand.
2
2
  services:
3
3
  db:
4
4
  image: ghcr.io/firecrawl/nuq-postgres:latest
@@ -6,6 +6,11 @@ services:
6
6
  POSTGRES_USER: user
7
7
  POSTGRES_PASSWORD: password
8
8
  POSTGRES_DB: postgres
9
+ healthcheck:
10
+ test: ["CMD-SHELL", "pg_isready -U user -d postgres"]
11
+ interval: 5s
12
+ timeout: 5s
13
+ retries: 12
9
14
  restart: unless-stopped
10
15
 
11
16
  rabbitmq:
@@ -24,6 +29,11 @@ services:
24
29
  redis:
25
30
  image: redis:alpine
26
31
  command: redis-server --save "" --appendonly no
32
+ healthcheck:
33
+ test: ["CMD", "redis-cli", "ping"]
34
+ interval: 5s
35
+ timeout: 3s
36
+ retries: 12
27
37
  restart: unless-stopped
28
38
 
29
39
  playwright-service:
@@ -35,15 +45,17 @@ ${n}
35
45
  api:
36
46
  image: ghcr.io/firecrawl/firecrawl:latest
37
47
  depends_on:
38
- - db
39
- - rabbitmq
40
- - redis
41
- - playwright-service
48
+ db:
49
+ condition: service_healthy
50
+ rabbitmq:
51
+ condition: service_healthy
52
+ redis:
53
+ condition: service_healthy
42
54
  ports:
43
55
  - "${t}:3002"
44
56
  environment:
45
57
  ${i}
46
58
  restart: unless-stopped
47
- `}async function S(){let e=await E();if(!e.compose)return y({...await g(),running:!1,lastError:e.message});let{compose:a}=await v(),i=await g(),o=i.apiKey||`fc-local-${(0,n.randomUUID)()}`,s=i.port||3002,l=await m();await t.promises.mkdir(r.default.dirname(p),{recursive:!0}),await t.promises.writeFile(p,R(o,s,l),"utf8");try{await c(`${a} -p ${w} -f "${p}" up -d`,18e4)}catch(r){let e=r instanceof Error?r.message:"docker compose failed";if(!(e.includes("address already in use")||e.includes("Ports are not available")))return y({...i,apiKey:o,port:s,running:!1,lastError:e});try{s=await f(s+1),await t.promises.writeFile(p,R(o,s,l),"utf8"),await c(`${a} -p ${w} -f "${p}" up -d`,18e4)}catch(e){return y({...i,apiKey:o,port:s,running:!1,lastError:e instanceof Error?e.message:"docker compose retry failed"})}}let u=(0,t.existsSync)("/.dockerenv"),d=`http://${u?"host.docker.internal":"localhost"}:${s}`,h=await D(d,6e4);return y({running:h,endpoint:d,apiKey:o,port:s,project:w,startedAt:new Date().toISOString(),lastError:h?void 0:"Containers started but the API did not become healthy in time. It may still be warming up — try refreshing in a moment."})}async function b(){let{compose:e}=await v(),t=await g();if(e)try{await c(`${e} -p ${w} -f "${p}" down`,6e4)}catch{}return y({...t,running:!1,startedAt:void 0})}async function C(){let e=await g();if(!e.startedAt)return e;let t=await A(e.endpoint);return t!==e.running?y({...e,running:t}):e}async function A(e){try{return(await fetch(e,{method:"GET",signal:AbortSignal.timeout(4e3)})).status>0}catch{return!1}}async function D(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(await A(e))return!0;await new Promise(e=>setTimeout(e,3e3))}return!1}let k="http://firecrawl-api:3002";async function O(){return"true"===process.env.DOCKER_ENV||"1"===process.env.DOCKER_BUILD||(0,t.existsSync)("/.dockerenv")?{available:await A(k),endpoint:k}:{available:!1,endpoint:""}}async function I(){let{available:e}=await O();return e?y({running:!0,endpoint:k,apiKey:`fc-docker-${(0,n.randomUUID)()}`,port:3002,project:"docker-sibling",startedAt:new Date().toISOString()}):y({...h,running:!1,lastError:"Firecrawl sibling service is not running. Restart with: docker compose --profile crawler up"})}e.s(["checkDocker",0,E,"checkDockerSibling",0,O,"connectDockerSibling",0,I,"readLocalState",0,g,"refreshLocalStatus",0,C,"startLocal",0,S,"stopLocal",0,b])},304368,e=>{"use strict";var t=e.i(367165),r=e.i(700259);class a extends Error{status;constructor(e,t){super(e),this.status=t,this.name="FirecrawlError"}}async function n(){let e=await (0,t.readConfig)();if("local"===(e.webCrawlerProvider||"local")){let e=await (0,r.readLocalState)();if(e.running&&e.apiKey)return{base:`${e.endpoint}/v1`,key:e.apiKey,mode:"local"};throw new a("Local Firecrawl is selected but not running. Launch a local instance from the UI.",401)}let n=e.firecrawlApiKey;if(n)return{base:"https://api.firecrawl.dev/v1",key:n,mode:"cloud"};throw new a("Cloud Firecrawl is selected but no API key is configured. Set FIRECRAWL_API_KEY in Settings.",401)}async function i(){let e=await (0,t.readConfig)();if("local"===(e.webCrawlerProvider||"local")){let e=await (0,r.readLocalState)();return!!(e.running&&e.apiKey)}return!!e.firecrawlApiKey}async function o(e,t){let{base:r,key:i}=await n(),o=await fetch(`${r}${e}`,{...t,headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json",...t?.headers??{}},cache:"no-store"}),s=await o.text(),c=s?l(s):{};if(!o.ok)throw new a(c?.error||`Firecrawl request failed (${o.status})`,o.status);return c}async function s(e){let{key:t}=await n(),r=await fetch(e,{headers:{Authorization:`Bearer ${t}`},cache:"no-store"}),i=await r.text(),o=i?l(i):{};if(!r.ok)throw new a(o?.error||`Firecrawl request failed (${r.status})`,r.status);return o}function l(e){try{return JSON.parse(e)}catch{return{}}}async function c(e,t=10){return((await o("/search",{method:"POST",body:JSON.stringify({query:e,limit:t})})).data??[]).map(e=>({url:e.url,title:e.title||e.url,description:e.description}))}let u={waitFor:1e4,onlyMainContent:!1,headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36","Accept-Language":"en-US,en;q=0.9","Sec-Ch-Ua":'"Chromium";v="124", "Google Chrome";v="124", "Not-A.Brand";v="99"',"Sec-Ch-Ua-Mobile":"?0","Sec-Ch-Ua-Platform":'"Windows"'}};async function d(e){let t=(await o("/scrape",{method:"POST",body:JSON.stringify({url:e,formats:["markdown"],...u})})).data??{};return{url:t.metadata?.sourceURL||e,title:t.metadata?.title||t.metadata?.ogTitle||e,markdown:t.markdown??""}}async function p(e,t){let r=await o("/crawl",{method:"POST",body:JSON.stringify({url:e,limit:t,allowExternalLinks:!1,scrapeOptions:{...u,formats:["markdown"],onlyMainContent:!0}})});if(!r.id)throw new a("Firecrawl did not return a crawl id");return r.id}async function w(e,t=!1){let r=t?await s(e):await o(`/crawl/${e}`,{method:"GET"});return{state:r.status??"scraping",total:r.total??0,completed:r.completed??0,next:r.next,pages:(r.data??[]).map(e=>({url:e.metadata?.sourceURL||e.metadata?.url||"",title:e.metadata?.title||e.metadata?.sourceURL||"Untitled",markdown:e.markdown??""}))}}async function f(e){try{await o(`/crawl/${e}`,{method:"DELETE"})}catch{}}e.s(["FirecrawlError",0,a,"cancelCrawl",0,f,"getCrawlStatus",0,w,"isFirecrawlConfigured",0,i,"scrapePage",0,d,"searchWeb",0,c,"startCrawl",0,p])},798898,490117,e=>{"use strict";var t=e.i(902157),r=e.i(750227),a=e.i(192441);let n=Promise.resolve();function i(e){let t=n.then(e,e);return n=t.catch(()=>{}),t}async function o(e){let t=e?await (0,a.requireDataDir)():await (0,a.getDataDir)();return t?r.default.join(t,"jobs.json"):null}async function s(){let e=await o(!1);if(!e)return[];try{let r=await t.promises.readFile(e,"utf8");return JSON.parse(r)}catch{return[]}}async function l(e){let r=await o(!0);r&&await t.promises.writeFile(r,JSON.stringify(e,null,2),"utf8")}async function c(e){return(await s()).find(t=>t.id===e)}function u(e,t){return i(async()=>{let r=await s(),a=r.findIndex(t=>t.id===e);if(a<0)return;let n={...t(r[a]),updatedAt:new Date().toISOString()};return r[a]=n,await l(r),n})}e.s(["deleteJob",0,function(e){return i(async()=>{let t=await s();await l(t.filter(t=>t.id!==e))})},"getJob",0,c,"readJobs",0,s,"saveJob",0,function(e){return i(async()=>{let t=await s(),r=t.findIndex(t=>t.id===e.id),a={...e,updatedAt:new Date().toISOString()};return r>=0?t[r]=a:t.unshift(a),await l(t),a})},"updateJob",0,u],798898);var d=e.i(705252),p=e.i(304368);let w=new Set;function f(e){if(!e)return!1;let t=e.toLowerCase();return t.includes("verification successful. waiting for")||t.includes("please verify you are a human")||t.includes("checking if the site connection is secure")||t.includes("just a moment...")||t.includes("enable javascript and cookies to continue")}async function m(e,t){try{let r=await (0,p.scrapePage)(t.url);if(f(r.markdown))throw Error("Scraping blocked by anti-bot protection (e.g. Cloudflare)");return{added:await (0,d.addCrawledDocuments)(e,[{title:r.title,url:r.url,content:r.markdown,source:"scrape"}]),target:{...t,status:"completed",pagesCrawled:+!!r.markdown}}}catch(e){return{added:0,target:{...t,status:"failed",error:e instanceof Error?e.message:"scrape failed"}}}}async function h(e,t,r){try{if(!t.firecrawlId){let e=await (0,p.startCrawl)(t.url,r);return{added:0,target:{...t,firecrawlId:e,status:"running"}}}let a=t.firecrawlId,n=!1,i=0,o=0,s=t.pagesCrawled,l="running",c=[];for(;i<5;){let e=await (0,p.getCrawlStatus)(a,n);for(let t of(s=e.completed||s,e.pages))f(t.markdown)||c.push({title:t.title,url:t.url,content:t.markdown,source:"scrape"});if(i++,"completed"===e.state?l="completed":"failed"===e.state?l="failed":"cancelled"===e.state&&(l="cancelled"),e.next)a=e.next,n=!0;else break}return c.length&&(o=await (0,d.addCrawledDocuments)(e,c)),{added:o,target:{...t,status:l,pagesCrawled:s}}}catch(e){return{added:0,target:{...t,status:"failed",error:e instanceof Error?e.message:"crawl failed"}}}}async function g(e){let t=await c(e);if(t){if(["completed","failed","cancelled"].includes(t.status)||w.has(e))return t;w.add(e);try{let r=await Promise.all(t.targets.map(r=>"completed"===r.status||"failed"===r.status?Promise.resolve({target:r,added:0}):"page"===r.scope?m(e,r):h(e,r,t.pageLimit))),a=r.map(e=>e.target),n=a.reduce((e,t)=>e+t.pagesCrawled,0);return await u(e,e=>({...e,targets:a,pagesCrawled:n,docCount:e.docCount+r.reduce((e,t)=>e+t.added,0),status:a.every(e=>"completed"===e.status)?"completed":a.every(e=>"failed"===e.status)?"failed":a.every(e=>"completed"===e.status||"failed"===e.status)&&a.some(e=>"completed"===e.status)?"completed":"running"}))}finally{w.delete(e)}}}async function y(e){let t=await c(e);if(t)return await Promise.all(t.targets.filter(e=>e.firecrawlId&&"running"===e.status).map(e=>(0,p.cancelCrawl)(e.firecrawlId))),u(e,e=>({...e,status:"cancelled",targets:e.targets.map(e=>"running"===e.status||"queued"===e.status?{...e,status:"cancelled"}:e)}))}e.s(["cancelJob",0,y,"syncJob",0,g],490117)},962044,e=>{"use strict";var t=e.i(239441),r=e.i(449055),a=e.i(391328),n=e.i(6352),i=e.i(746789),o=e.i(423437),s=e.i(178820),l=e.i(569191),c=e.i(576251),u=e.i(199962),d=e.i(547545),p=e.i(664046),w=e.i(235691),f=e.i(298907),m=e.i(110763),h=e.i(193695);e.i(673243);var g=e.i(236167),y=e.i(766576),v=e.i(798898),E=e.i(490117);async function R(e,{params:t}){let{id:r}=await t,a=await (0,E.syncJob)(r);return a?y.NextResponse.json({job:a}):y.NextResponse.json({error:"Job not found."},{status:404})}async function S(e,{params:t}){let{id:r}=await t;if(new URL(e.url).searchParams.get("remove"))return await (0,v.deleteJob)(r),y.NextResponse.json({ok:!0});if(!await (0,v.getJob)(r))return y.NextResponse.json({error:"Job not found."},{status:404});let a=await (0,E.cancelJob)(r);return y.NextResponse.json({job:a})}e.s(["DELETE",0,S,"GET",0,R,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],934385);var b=e.i(934385);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/jobs/[id]/route",pathname:"/api/jobs/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/jobs/[id]/route.ts",nextConfigOutput:"standalone",userland:b,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:D,serverHooks:k}=C;async function O(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),C.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/jobs/[id]/route";y=y.replace(/\/index$/,"")||"/";let v=await C.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:E,deploymentId:R,params:S,nextConfig:b,parsedUrl:A,isDraftMode:D,prerenderManifest:k,routerServerContext:O,isOnDemandRevalidate:I,revalidateOnlyGenerated:T,resolvedPathname:x,clientReferenceManifest:P,serverActionsManifest:_}=v,U=(0,s.normalizeAppPath)(y),N=!!(k.dynamicRoutes[U]||k.routes[x]),$=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,A,!1):t.end("This page could not be found"),null);if(N&&!D){let e=!!k.routes[x],t=k.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await $();throw new h.NoFallbackError}}let F=null;!N||C.isDev||D||(F="/index"===(F=x)?"/":F);let L=!0===C.isDev||!N,j=N&&!L;_&&P&&(0,o.setManifestsSingleton)({page:y,clientReferenceManifest:P,serverActionsManifest:_});let q=e.method||"GET",M=(0,i.getTracer)(),J=M.getActiveScopeSpan(),K=!!(null==O?void 0:O.isWrappedByNextServer),H=!!(0,n.getRequestMeta)(e,"minimalMode"),B=(0,n.getRequestMeta)(e,"incrementalCache")||await C.getIncrementalCache(e,b,k,H);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let G={params:S,previewProps:k.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:L,incrementalCache:B,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>C.onRequestError(e,t,a,n,O)},sharedContext:{buildId:E,deploymentId:R}},W=new l.NodeNextRequest(e),Y=new l.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest(W,(0,c.signalFromNodeResponse)(t));try{let n,o=async e=>C.handle(V,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${q} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${q} ${y}`)}),s=async n=>{var i,s;let l=async({previousCacheEntry:r})=>{try{if(!H&&I&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await o(n);e.fetchMetrics=G.renderOpts.fetchMetrics;let s=G.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let l=G.renderOpts.collectedTags;if(!N)return await (0,p.sendResponse)(W,Y,i,G.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,w.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,a=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:I})},!1,O),t}},c=await C.handleResponse({req:e,nextConfig:b,cacheKey:F,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:H});if(!N)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(s=c.value)?void 0:s.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});H||t.setHeader("x-nextjs-cache",I?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),D&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,w.fromNodeOutgoingHttpHeaders)(c.value.headers);return H&&N||u.delete(m.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(W,Y,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};K&&J?await s(J):(n=M.getActiveScopeSpan(),await M.withPropagatedContext(e.headers,()=>M.trace(u.BaseServerSpan.handleRequest,{spanName:`${q} ${y}`,kind:i.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},s),void 0,!K))}catch(t){if(t instanceof h.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:I})},!1,O),N)throw t;return await (0,p.sendResponse)(W,Y,new Response(null,{status:500})),null}}e.s(["handler",0,O,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:D})},"routeModule",0,C,"serverHooks",0,k,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,D],962044)}];
59
+ `}async function R(){let e=await E();if(!e.compose)return y({...await g(),running:!1,lastError:e.message});let{compose:a}=await v(),i=await g(),o=i.apiKey||`fc-local-${(0,n.randomUUID)()}`,s=i.port||3002,l=await m();await t.promises.mkdir(r.default.dirname(p),{recursive:!0}),await t.promises.writeFile(p,S(o,s,l),"utf8");try{await c(`${a} -p ${w} -f "${p}" up -d`,18e4)}catch(r){let e=r instanceof Error?r.message:"docker compose failed";if(!(e.includes("address already in use")||e.includes("Ports are not available")))return y({...i,apiKey:o,port:s,running:!1,lastError:e});try{s=await f(s+1),await t.promises.writeFile(p,S(o,s,l),"utf8"),await c(`${a} -p ${w} -f "${p}" up -d`,18e4)}catch(e){return y({...i,apiKey:o,port:s,running:!1,lastError:e instanceof Error?e.message:"docker compose retry failed"})}}let u=(0,t.existsSync)("/.dockerenv"),d=`http://${u?"host.docker.internal":"localhost"}:${s}`,h=await A(d,9e4);return y({running:h,endpoint:d,apiKey:o,port:s,project:w,startedAt:new Date().toISOString(),lastError:h?void 0:"Containers started but the API did not become healthy in time. It may still be warming up — try refreshing in a moment."})}async function b(){let{compose:e}=await v(),t=await g();if(e)try{await c(`${e} -p ${w} -f "${p}" down`,6e4)}catch{}return y({...t,running:!1,startedAt:void 0})}async function C(){let e=await g();if(!e.startedAt)return e;let t=await D(e.endpoint);return t!==e.running?y({...e,running:t}):e}async function D(e){try{return(await fetch(e,{method:"GET",signal:AbortSignal.timeout(4e3)})).status>0}catch{return!1}}async function A(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(await D(e))return!0;await new Promise(e=>setTimeout(e,3e3))}return!1}let k="http://firecrawl-api:3002";async function T(){return"true"===process.env.DOCKER_ENV||"1"===process.env.DOCKER_BUILD||(0,t.existsSync)("/.dockerenv")?{available:await D(k),endpoint:k}:{available:!1,endpoint:""}}async function O(){let{available:e}=await T();return e?y({running:!0,endpoint:k,apiKey:`fc-docker-${(0,n.randomUUID)()}`,port:3002,project:"docker-sibling",startedAt:new Date().toISOString()}):y({...h,running:!1,lastError:"The web crawler service is not available in this Docker deployment."})}e.s(["checkDocker",0,E,"checkDockerSibling",0,T,"connectDockerSibling",0,O,"readLocalState",0,g,"refreshLocalStatus",0,C,"startLocal",0,R,"stopLocal",0,b])},304368,e=>{"use strict";var t=e.i(367165),r=e.i(700259);class a extends Error{status;constructor(e,t){super(e),this.status=t,this.name="FirecrawlError"}}async function n(){let e=await (0,t.readConfig)();if("local"===(e.webCrawlerProvider||"local")){let e=await (0,r.readLocalState)();if(e.running&&e.apiKey)return{base:`${e.endpoint}/v1`,key:e.apiKey,mode:"local"};throw new a("The selected web crawler is not running. Choose a crawler provider in Settings.",401)}let n=e.firecrawlApiKey;if(n)return{base:"https://api.firecrawl.dev/v1",key:n,mode:"cloud"};throw new a("The cloud web crawler needs an API key. Add it in Settings.",401)}async function i(){let e=await (0,t.readConfig)();if("local"===(e.webCrawlerProvider||"local")){let e=await (0,r.readLocalState)();return!!(e.running&&e.apiKey)}return!!e.firecrawlApiKey}async function o(e,t){let{base:r,key:i}=await n(),o=await fetch(`${r}${e}`,{...t,headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json",...t?.headers??{}},cache:"no-store"}),s=await o.text(),c=s?l(s):{};if(!o.ok)throw new a(c?.error||`Firecrawl request failed (${o.status})`,o.status);return c}async function s(e){let{key:t}=await n(),r=await fetch(e,{headers:{Authorization:`Bearer ${t}`},cache:"no-store"}),i=await r.text(),o=i?l(i):{};if(!r.ok)throw new a(o?.error||`Firecrawl request failed (${r.status})`,r.status);return o}function l(e){try{return JSON.parse(e)}catch{return{}}}async function c(e,t=10){return((await o("/search",{method:"POST",body:JSON.stringify({query:e,limit:t})})).data??[]).map(e=>({url:e.url,title:e.title||e.url,description:e.description}))}let u={waitFor:1e4,onlyMainContent:!1,headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36","Accept-Language":"en-US,en;q=0.9","Sec-Ch-Ua":'"Chromium";v="124", "Google Chrome";v="124", "Not-A.Brand";v="99"',"Sec-Ch-Ua-Mobile":"?0","Sec-Ch-Ua-Platform":'"Windows"'}};async function d(e){let t=(await o("/scrape",{method:"POST",body:JSON.stringify({url:e,formats:["markdown"],...u})})).data??{};return{url:t.metadata?.sourceURL||e,title:t.metadata?.title||t.metadata?.ogTitle||e,markdown:t.markdown??""}}async function p(e,t){let r=await o("/crawl",{method:"POST",body:JSON.stringify({url:e,limit:t,allowExternalLinks:!1,scrapeOptions:{...u,formats:["markdown"],onlyMainContent:!0}})});if(!r.id)throw new a("Firecrawl did not return a crawl id");return r.id}async function w(e,t=!1){let r=t?await s(e):await o(`/crawl/${e}`,{method:"GET"});return{state:r.status??"scraping",total:r.total??0,completed:r.completed??0,next:r.next,pages:(r.data??[]).map(e=>({url:e.metadata?.sourceURL||e.metadata?.url||"",title:e.metadata?.title||e.metadata?.sourceURL||"Untitled",markdown:e.markdown??""}))}}async function f(e){try{await o(`/crawl/${e}`,{method:"DELETE"})}catch{}}e.s(["FirecrawlError",0,a,"cancelCrawl",0,f,"getCrawlStatus",0,w,"isFirecrawlConfigured",0,i,"scrapePage",0,d,"searchWeb",0,c,"startCrawl",0,p])},798898,490117,e=>{"use strict";var t=e.i(902157),r=e.i(750227),a=e.i(192441);let n=Promise.resolve();function i(e){let t=n.then(e,e);return n=t.catch(()=>{}),t}async function o(e){let t=e?await (0,a.requireDataDir)():await (0,a.getDataDir)();return t?r.default.join(t,"jobs.json"):null}async function s(){let e=await o(!1);if(!e)return[];try{let r=await t.promises.readFile(e,"utf8");return JSON.parse(r)}catch{return[]}}async function l(e){let r=await o(!0);r&&await t.promises.writeFile(r,JSON.stringify(e,null,2),"utf8")}async function c(e){return(await s()).find(t=>t.id===e)}function u(e,t){return i(async()=>{let r=await s(),a=r.findIndex(t=>t.id===e);if(a<0)return;let n={...t(r[a]),updatedAt:new Date().toISOString()};return r[a]=n,await l(r),n})}e.s(["deleteJob",0,function(e){return i(async()=>{let t=await s();await l(t.filter(t=>t.id!==e))})},"getJob",0,c,"readJobs",0,s,"saveJob",0,function(e){return i(async()=>{let t=await s(),r=t.findIndex(t=>t.id===e.id),a={...e,updatedAt:new Date().toISOString()};return r>=0?t[r]=a:t.unshift(a),await l(t),a})},"updateJob",0,u],798898);var d=e.i(705252),p=e.i(304368);let w=new Set;function f(e){if(!e)return!1;let t=e.toLowerCase();return t.includes("verification successful. waiting for")||t.includes("please verify you are a human")||t.includes("checking if the site connection is secure")||t.includes("just a moment...")||t.includes("enable javascript and cookies to continue")}async function m(e,t){try{let r=await (0,p.scrapePage)(t.url);if(f(r.markdown))throw Error("Scraping blocked by anti-bot protection (e.g. Cloudflare)");return{added:await (0,d.addCrawledDocuments)(e,[{title:r.title,url:r.url,content:r.markdown,source:"scrape"}]),target:{...t,status:"completed",pagesCrawled:+!!r.markdown}}}catch(e){return{added:0,target:{...t,status:"failed",error:e instanceof Error?e.message:"scrape failed"}}}}async function h(e,t,r){try{if(!t.firecrawlId){let e=await (0,p.startCrawl)(t.url,r);return{added:0,target:{...t,firecrawlId:e,status:"running"}}}let a=t.firecrawlId,n=!1,i=0,o=0,s=t.pagesCrawled,l="running",c=[];for(;i<5;){let e=await (0,p.getCrawlStatus)(a,n);for(let t of(s=e.completed||s,e.pages))f(t.markdown)||c.push({title:t.title,url:t.url,content:t.markdown,source:"scrape"});if(i++,"completed"===e.state?l="completed":"failed"===e.state?l="failed":"cancelled"===e.state&&(l="cancelled"),e.next)a=e.next,n=!0;else break}return c.length&&(o=await (0,d.addCrawledDocuments)(e,c)),{added:o,target:{...t,status:l,pagesCrawled:s}}}catch(e){return{added:0,target:{...t,status:"failed",error:e instanceof Error?e.message:"crawl failed"}}}}async function g(e){let t=await c(e);if(t){if(["completed","failed","cancelled"].includes(t.status)||w.has(e))return t;w.add(e);try{let r=await Promise.all(t.targets.map(r=>"completed"===r.status||"failed"===r.status?Promise.resolve({target:r,added:0}):"page"===r.scope?m(e,r):h(e,r,t.pageLimit))),a=r.map(e=>e.target),n=a.reduce((e,t)=>e+t.pagesCrawled,0);return await u(e,e=>({...e,targets:a,pagesCrawled:n,docCount:e.docCount+r.reduce((e,t)=>e+t.added,0),status:a.every(e=>"completed"===e.status)?"completed":a.every(e=>"failed"===e.status)?"failed":a.every(e=>"completed"===e.status||"failed"===e.status)&&a.some(e=>"completed"===e.status)?"completed":"running"}))}finally{w.delete(e)}}}async function y(e){let t=await c(e);if(t)return await Promise.all(t.targets.filter(e=>e.firecrawlId&&"running"===e.status).map(e=>(0,p.cancelCrawl)(e.firecrawlId))),u(e,e=>({...e,status:"cancelled",targets:e.targets.map(e=>"running"===e.status||"queued"===e.status?{...e,status:"cancelled"}:e)}))}e.s(["cancelJob",0,y,"syncJob",0,g],490117)},962044,e=>{"use strict";var t=e.i(239441),r=e.i(449055),a=e.i(391328),n=e.i(6352),i=e.i(746789),o=e.i(423437),s=e.i(178820),l=e.i(569191),c=e.i(576251),u=e.i(199962),d=e.i(547545),p=e.i(664046),w=e.i(235691),f=e.i(298907),m=e.i(110763),h=e.i(193695);e.i(673243);var g=e.i(236167),y=e.i(766576),v=e.i(798898),E=e.i(490117);async function S(e,{params:t}){let{id:r}=await t,a=await (0,E.syncJob)(r);return a?y.NextResponse.json({job:a}):y.NextResponse.json({error:"Job not found."},{status:404})}async function R(e,{params:t}){let{id:r}=await t;if(new URL(e.url).searchParams.get("remove"))return await (0,v.deleteJob)(r),y.NextResponse.json({ok:!0});if(!await (0,v.getJob)(r))return y.NextResponse.json({error:"Job not found."},{status:404});let a=await (0,E.cancelJob)(r);return y.NextResponse.json({job:a})}e.s(["DELETE",0,R,"GET",0,S,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],934385);var b=e.i(934385);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/jobs/[id]/route",pathname:"/api/jobs/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/jobs/[id]/route.ts",nextConfigOutput:"standalone",userland:b,...{}}),{workAsyncStorage:D,workUnitAsyncStorage:A,serverHooks:k}=C;async function T(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),C.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/jobs/[id]/route";y=y.replace(/\/index$/,"")||"/";let v=await C.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:E,deploymentId:S,params:R,nextConfig:b,parsedUrl:D,isDraftMode:A,prerenderManifest:k,routerServerContext:T,isOnDemandRevalidate:O,revalidateOnlyGenerated:I,resolvedPathname:x,clientReferenceManifest:_,serverActionsManifest:P}=v,U=(0,s.normalizeAppPath)(y),N=!!(k.dynamicRoutes[U]||k.routes[x]),$=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,D,!1):t.end("This page could not be found"),null);if(N&&!A){let e=!!k.routes[x],t=k.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await $();throw new h.NoFallbackError}}let L=null;!N||C.isDev||A||(L="/index"===(L=x)?"/":L);let j=!0===C.isDev||!N,F=N&&!j;P&&_&&(0,o.setManifestsSingleton)({page:y,clientReferenceManifest:_,serverActionsManifest:P});let q=e.method||"GET",M=(0,i.getTracer)(),J=M.getActiveScopeSpan(),H=!!(null==T?void 0:T.isWrappedByNextServer),K=!!(0,n.getRequestMeta)(e,"minimalMode"),B=(0,n.getRequestMeta)(e,"incrementalCache")||await C.getIncrementalCache(e,b,k,K);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let G={params:R,previewProps:k.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:j,incrementalCache:B,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>C.onRequestError(e,t,a,n,T)},sharedContext:{buildId:E,deploymentId:S}},W=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),X=c.NextRequestAdapter.fromNodeNextRequest(W,(0,c.signalFromNodeResponse)(t));try{let n,o=async e=>C.handle(X,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${q} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${q} ${y}`)}),s=async n=>{var i,s;let l=async({previousCacheEntry:r})=>{try{if(!K&&O&&I&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await o(n);e.fetchMetrics=G.renderOpts.fetchMetrics;let s=G.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let l=G.renderOpts.collectedTags;if(!N)return await (0,p.sendResponse)(W,V,i,G.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,w.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,a=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:O})},!1,T),t}},c=await C.handleResponse({req:e,nextConfig:b,cacheKey:L,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:I,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:K});if(!N)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(s=c.value)?void 0:s.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",O?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,w.fromNodeOutgoingHttpHeaders)(c.value.headers);return K&&N||u.delete(m.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(W,V,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};H&&J?await s(J):(n=M.getActiveScopeSpan(),await M.withPropagatedContext(e.headers,()=>M.trace(u.BaseServerSpan.handleRequest,{spanName:`${q} ${y}`,kind:i.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},s),void 0,!H))}catch(t){if(t instanceof h.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:O})},!1,T),N)throw t;return await (0,p.sendResponse)(W,V,new Response(null,{status:500})),null}}e.s(["handler",0,T,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:D,workUnitAsyncStorage:A})},"routeModule",0,C,"serverHooks",0,k,"workAsyncStorage",0,D,"workUnitAsyncStorage",0,A],962044)}];
48
60
 
49
61
  //# sourceMappingURL=%5Broot-of-the-server%5D__0a_0ywc._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[857764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},504740,e=>{"use strict";var t=e.i(902157),r=e.i(750227),o=e.i(857764),a=e.i(463857);let l=new Map;async function n(e){if(l.has(e))return l.get(e);let t=await (0,a.getInstalledTool)(e);if(!t)return null;try{let r=await s(t),o=await import(r);return l.set(e,o),o}catch(t){return console.error(`[marketplace] Failed to load tool "${e}":`,t),null}}async function s(e){switch(e.source){case"local":default:return e.packageName;case"registry":case"sandbox":return i(e.resolvedPath)}}async function i(e){let a=r.default.join(e,"package.json"),l=JSON.parse(await t.promises.readFile(a,"utf8")),n="object"==typeof l.exports?l.exports["."]:l.exports,s=("object"==typeof n?n.import??n.default:n)??l.main??"index.js";return(0,o.pathToFileURL)(r.default.resolve(e,s)).href}e.s(["loadTool",0,n,"unloadTool",0,function(e){l.delete(e)}])},627270,e=>{e.v(e=>Promise.resolve().then(()=>e(612069)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0c80bj0._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},797569,(e,t,r)=>{"use strict";t.exports=e.r(918622)},243712,(e,t,r)=>{"use strict";t.exports=e.r(797569).vendored["react-rsc"].React},938516,(e,t,r)=>{"use strict";var n=Object.defineProperty,a=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o={},l={RequestCookies:()=>f,ResponseCookies:()=>g,parseCookie:()=>d,parseSetCookie:()=>c,stringifyCookie:()=>u};for(var p in l)n(o,p,{get:l[p],enumerable:!0});function u(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),n=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?n:`${n}; ${r.join("; ")}`}function d(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[n,a]=[r.slice(0,e),r.slice(e+1)];try{t.set(n,decodeURIComponent(null!=a?a:"true"))}catch{}}return t}function c(e){if(!e)return;let[[t,r],...n]=d(e),{domain:a,expires:s,httponly:i,maxage:o,path:l,samesite:p,secure:u,partitioned:c,priority:f}=Object.fromEntries(n.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,x,v={name:t,value:decodeURIComponent(r),domain:a,...s&&{expires:new Date(s)},...i&&{httpOnly:!0},..."string"==typeof o&&{maxAge:Number(o)},path:l,...p&&{sameSite:h.includes(g=(g=p).toLowerCase())?g:void 0},...u&&{secure:!0},...f&&{priority:m.includes(x=(x=f).toLowerCase())?x:void 0},...c&&{partitioned:!0}};let e={};for(let t in v)v[t]&&(e[t]=v[t]);return e}}t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of s(t))i.call(e,o)||void 0===o||n(e,o,{get:()=>t[o],enumerable:!(r=a(t,o))||r.enumerable});return e})(n({},"__esModule",{value:!0}),o);var h=["strict","lax","none"],m=["low","medium","high"],f=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of d(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===n).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,n=this._parsed;return n.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(n).map(([e,t])=>u(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>u(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},g=class{constructor(e){var t,r,n;this._parsed=new Map,this._headers=e;const a=null!=(n=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?n:[];for(const e of Array.isArray(a)?a:function(e){if(!e)return[];var t,r,n,a,s,i=[],o=0;function l(){for(;o<e.length&&/\s/.test(e.charAt(o));)o+=1;return o<e.length}for(;o<e.length;){for(t=o,s=!1;l();)if(","===(r=e.charAt(o))){for(n=o,o+=1,l(),a=o;o<e.length&&"="!==(r=e.charAt(o))&&";"!==r&&","!==r;)o+=1;o<e.length&&"="===e.charAt(o)?(s=!0,o=a,i.push(e.substring(t,n)),t=o):o=n+1}else o+=1;(!s||o>=e.length)&&i.push(e.substring(t,e.length))}return i}(a)){const t=c(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===n)}has(e){return this._parsed.has(e)}set(...e){let[t,r,n]=1===e.length?[e[0].name,e[0].value,e[0]]:e,a=this._parsed;return a.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...n})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=u(r);t.append("set-cookie",e)}}(a,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(u).join("; ")}}},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"))},728638,e=>{"use strict";var t=e.i(239441),r=e.i(449055),n=e.i(391328),a=e.i(6352),s=e.i(746789),i=e.i(423437),o=e.i(178820),l=e.i(569191),p=e.i(576251),u=e.i(199962),d=e.i(547545),c=e.i(664046),h=e.i(235691),m=e.i(298907),f=e.i(110763),g=e.i(193695);e.i(673243);var x=e.i(236167),v=e.i(766576),y=e.i(612069),R=e.i(463857);async function w(){let[e,t,r]=await Promise.all([(0,y.getAllTools)(),(0,R.getInstalledTools)(),(0,R.getDownloadCounts)()]),n=new Set(t.map(e=>e.id)),a=e.map(e=>({...e,downloads:(e.downloads??0)+(r[e.id]??0),status:e.comingSoon?"available":n.has(e.id)?"installed":"available",installedAt:t.find(t=>t.id===e.id)?.installedAt}));return v.NextResponse.json({tools:a})}e.s(["GET",0,w,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],430637);var A=e.i(430637);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/marketplace/route",pathname:"/api/marketplace",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/marketplace/route.ts",nextConfigOutput:"standalone",userland:A,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:_,serverHooks:E}=C;async function S(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),C.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/marketplace/route";v=v.replace(/\/index$/,"")||"/";let y=await C.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:R,deploymentId:w,params:A,nextConfig:b,parsedUrl:_,isDraftMode:E,prerenderManifest:S,routerServerContext:k,isOnDemandRevalidate:O,revalidateOnlyGenerated:j,resolvedPathname:P,clientReferenceManifest:N,serverActionsManifest:q}=y,T=(0,o.normalizeAppPath)(v),$=!!(S.dynamicRoutes[T]||S.routes[P]),D=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,_,!1):t.end("This page could not be found"),null);if($&&!E){let e=!!S.routes[P],t=S.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await D();throw new g.NoFallbackError}}let I=null;!$||C.isDev||E||(I="/index"===(I=P)?"/":I);let U=!0===C.isDev||!$,M=$&&!U;q&&N&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:N,serverActionsManifest:q});let H=e.method||"GET",F=(0,s.getTracer)(),K=F.getActiveScopeSpan(),L=!!(null==k?void 0:k.isWrappedByNextServer),B=!!(0,a.getRequestMeta)(e,"minimalMode"),G=(0,a.getRequestMeta)(e,"incrementalCache")||await C.getIncrementalCache(e,b,S,B);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let z={params:A,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:U,incrementalCache:G,cacheLifeProfiles:b.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>C.onRequestError(e,t,n,a,k)},sharedContext:{buildId:R,deploymentId:w}},V=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),X=p.NextRequestAdapter.fromNodeNextRequest(V,(0,p.signalFromNodeResponse)(t));try{let a,i=async e=>C.handle(X,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${H} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",n),a.updateName(t))}else e.updateName(`${H} ${v}`)}),o=async a=>{var s,o;let l=async({previousCacheEntry:r})=>{try{if(!B&&O&&j&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(a);e.fetchMetrics=z.renderOpts.fetchMetrics;let o=z.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let l=z.renderOpts.collectedTags;if(!$)return await (0,c.sendResponse)(V,W,s,z.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 r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,n=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:O})},!1,k),t}},p=await C.handleResponse({req:e,nextConfig:b,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:j,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:B});if(!$)return null;if((null==p||null==(s=p.value)?void 0:s.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(o=p.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",O?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(p.value.headers);return B&&$||u.delete(f.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,m.getCacheControlHeader)(p.cacheControl)),await (0,c.sendResponse)(V,W,new Response(p.value.body,{headers:u,status:p.value.status||200})),null};L&&K?await o(K):(a=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${H} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},o),void 0,!L))}catch(t){if(t instanceof g.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:O})},!1,k),$)throw t;return await (0,c.sendResponse)(V,W,new Response(null,{status:500})),null}}e.s(["handler",0,S,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:_})},"routeModule",0,C,"serverHooks",0,E,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,_],728638)}];
1
+ module.exports=[750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},797569,(e,t,r)=>{"use strict";t.exports=e.r(918622)},243712,(e,t,r)=>{"use strict";t.exports=e.r(797569).vendored["react-rsc"].React},938516,(e,t,r)=>{"use strict";var n=Object.defineProperty,a=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o={},l={RequestCookies:()=>f,ResponseCookies:()=>g,parseCookie:()=>d,parseSetCookie:()=>c,stringifyCookie:()=>u};for(var p in l)n(o,p,{get:l[p],enumerable:!0});function u(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),n=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?n:`${n}; ${r.join("; ")}`}function d(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[n,a]=[r.slice(0,e),r.slice(e+1)];try{t.set(n,decodeURIComponent(null!=a?a:"true"))}catch{}}return t}function c(e){if(!e)return;let[[t,r],...n]=d(e),{domain:a,expires:s,httponly:i,maxage:o,path:l,samesite:p,secure:u,partitioned:c,priority:f}=Object.fromEntries(n.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,x,v={name:t,value:decodeURIComponent(r),domain:a,...s&&{expires:new Date(s)},...i&&{httpOnly:!0},..."string"==typeof o&&{maxAge:Number(o)},path:l,...p&&{sameSite:h.includes(g=(g=p).toLowerCase())?g:void 0},...u&&{secure:!0},...f&&{priority:m.includes(x=(x=f).toLowerCase())?x:void 0},...c&&{partitioned:!0}};let e={};for(let t in v)v[t]&&(e[t]=v[t]);return e}}t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of s(t))i.call(e,o)||void 0===o||n(e,o,{get:()=>t[o],enumerable:!(r=a(t,o))||r.enumerable});return e})(n({},"__esModule",{value:!0}),o);var h=["strict","lax","none"],m=["low","medium","high"],f=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of d(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===n).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,n=this._parsed;return n.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(n).map(([e,t])=>u(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>u(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},g=class{constructor(e){var t,r,n;this._parsed=new Map,this._headers=e;const a=null!=(n=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?n:[];for(const e of Array.isArray(a)?a:function(e){if(!e)return[];var t,r,n,a,s,i=[],o=0;function l(){for(;o<e.length&&/\s/.test(e.charAt(o));)o+=1;return o<e.length}for(;o<e.length;){for(t=o,s=!1;l();)if(","===(r=e.charAt(o))){for(n=o,o+=1,l(),a=o;o<e.length&&"="!==(r=e.charAt(o))&&";"!==r&&","!==r;)o+=1;o<e.length&&"="===e.charAt(o)?(s=!0,o=a,i.push(e.substring(t,n)),t=o):o=n+1}else o+=1;(!s||o>=e.length)&&i.push(e.substring(t,e.length))}return i}(a)){const t=c(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===n)}has(e){return this._parsed.has(e)}set(...e){let[t,r,n]=1===e.length?[e[0].name,e[0].value,e[0]]:e,a=this._parsed;return a.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...n})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=u(r);t.append("set-cookie",e)}}(a,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(u).join("; ")}}},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"))},728638,e=>{"use strict";var t=e.i(239441),r=e.i(449055),n=e.i(391328),a=e.i(6352),s=e.i(746789),i=e.i(423437),o=e.i(178820),l=e.i(569191),p=e.i(576251),u=e.i(199962),d=e.i(547545),c=e.i(664046),h=e.i(235691),m=e.i(298907),f=e.i(110763),g=e.i(193695);e.i(673243);var x=e.i(236167),v=e.i(766576),y=e.i(612069),R=e.i(463857);async function w(){let[e,t,r]=await Promise.all([(0,y.getAllTools)(),(0,R.getInstalledTools)(),(0,R.getDownloadCounts)()]),n=new Set(t.map(e=>e.id)),a=e.map(e=>({...e,downloads:(e.downloads??0)+(r[e.id]??0),status:e.comingSoon?"available":n.has(e.id)?"installed":"available",installedAt:t.find(t=>t.id===e.id)?.installedAt}));return v.NextResponse.json({tools:a})}e.s(["GET",0,w,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],430637);var A=e.i(430637);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/marketplace/route",pathname:"/api/marketplace",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/marketplace/route.ts",nextConfigOutput:"standalone",userland:A,...{}}),{workAsyncStorage:_,workUnitAsyncStorage:b,serverHooks:E}=C;async function S(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),C.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/marketplace/route";v=v.replace(/\/index$/,"")||"/";let y=await C.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:R,deploymentId:w,params:A,nextConfig:_,parsedUrl:b,isDraftMode:E,prerenderManifest:S,routerServerContext:k,isOnDemandRevalidate:O,revalidateOnlyGenerated:j,resolvedPathname:P,clientReferenceManifest:N,serverActionsManifest:q}=y,T=(0,o.normalizeAppPath)(v),$=!!(S.dynamicRoutes[T]||S.routes[P]),D=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,b,!1):t.end("This page could not be found"),null);if($&&!E){let e=!!S.routes[P],t=S.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await D();throw new g.NoFallbackError}}let I=null;!$||C.isDev||E||(I="/index"===(I=P)?"/":I);let U=!0===C.isDev||!$,M=$&&!U;q&&N&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:N,serverActionsManifest:q});let H=e.method||"GET",F=(0,s.getTracer)(),K=F.getActiveScopeSpan(),L=!!(null==k?void 0:k.isWrappedByNextServer),B=!!(0,a.getRequestMeta)(e,"minimalMode"),G=(0,a.getRequestMeta)(e,"incrementalCache")||await C.getIncrementalCache(e,_,S,B);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let z={params:A,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:U,incrementalCache:G,cacheLifeProfiles:_.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>C.onRequestError(e,t,n,a,k)},sharedContext:{buildId:R,deploymentId:w}},V=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),X=p.NextRequestAdapter.fromNodeNextRequest(V,(0,p.signalFromNodeResponse)(t));try{let a,i=async e=>C.handle(X,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${H} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",n),a.updateName(t))}else e.updateName(`${H} ${v}`)}),o=async a=>{var s,o;let l=async({previousCacheEntry:r})=>{try{if(!B&&O&&j&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(a);e.fetchMetrics=z.renderOpts.fetchMetrics;let o=z.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let l=z.renderOpts.collectedTags;if(!$)return await (0,c.sendResponse)(V,W,s,z.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 r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,n=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:O})},!1,k),t}},p=await C.handleResponse({req:e,nextConfig:_,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:j,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:B});if(!$)return null;if((null==p||null==(s=p.value)?void 0:s.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(o=p.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",O?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(p.value.headers);return B&&$||u.delete(f.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,m.getCacheControlHeader)(p.cacheControl)),await (0,c.sendResponse)(V,W,new Response(p.value.body,{headers:u,status:p.value.status||200})),null};L&&K?await o(K):(a=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${H} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},o),void 0,!L))}catch(t){if(t instanceof g.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:O})},!1,k),$)throw t;return await (0,c.sendResponse)(V,W,new Response(null,{status:500})),null}}e.s(["handler",0,S,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:b})},"routeModule",0,C,"serverHooks",0,E,"workAsyncStorage",0,_,"workUnitAsyncStorage",0,b],728638)},484620,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0omd-x0._.js"].map(t=>e.l(t))).then(()=>t(504740)))}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1m7m2x7._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0drkoru._.js.map
@@ -1,16 +1,16 @@
1
- module.exports=[367165,e=>{"use strict";var t=e.i(902157),r=e.i(750227),n=e.i(638725),i=e.i(192441);async function a(){let e=await (0,i.getDataDir)();if(!e)return n.DEFAULT_CONFIG;try{let i=await t.promises.readFile(r.default.join(e,"config.json"),"utf8"),a=JSON.parse(i),o=a.customEmbeddings,s=a.embeddingModelId;if(a.customEmbedding&&!o?.length){let e=a.customEmbedding;o=[e],"custom"===s&&(s=`custom:${e.modelName}`)}let c={...n.DEFAULT_CONFIG,...a,embeddingModelId:s??n.DEFAULT_CONFIG.embeddingModelId,customEmbeddings:o,chunking:{...n.DEFAULT_CONFIG.chunking,...a.chunking},storeConfig:{...n.DEFAULT_CONFIG.storeConfig,...a.storeConfig}};return delete c.customEmbedding,c}catch{return n.DEFAULT_CONFIG}}async function o(e){let n=await (0,i.requireDataDir)(),a={...e,updatedAt:new Date().toISOString()};return await t.promises.writeFile(r.default.join(n,"config.json"),JSON.stringify(a,null,2),"utf8"),a}e.s(["readConfig",0,a,"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 n=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s={},c={VercelOidcTokenError:()=>u};for(var l in c)n(s,l,{get:c[l],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of a(t))o.call(e,s)||void 0===s||n(e,s,{get:()=>t[s],enumerable:!(r=i(t,s))||r.enumerable});return e})(n({},"__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 n=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s={},c={AccessTokenMissingError:()=>u,RefreshAccessTokenFailedError:()=>d};for(var l in c)n(s,l,{get:c[l],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of a(t))o.call(e,s)||void 0===s||n(e,s,{get:()=>t[s],enumerable:!(r=i(t,s))||r.enumerable});return e})(n({},"__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 n=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of o(t))c.call(e,s)||s===r||i(e,s,{get:()=>t[s],enumerable:!(n=a(t,s))||n.enumerable});return e},u=(e,t,r)=>(r=null!=e?n(s(e)):{},l(!t&&e&&e.__esModule?r:i(r,"default",{value:e,enumerable:!0}),e)),d={},p={findRootDir:()=>y,getUserDataDir:()=>v};for(var m in p)i(d,m,{get:p[m],enumerable:!0});t.exports=l(i({},"__esModule",{value:!0}),d);var f=u(e.r(814747)),h=u(e.r(522734)),g=u(e.r(446786)),w=e.r(310470);function y(){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 w.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 n=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of o(t))c.call(e,s)||s===r||i(e,s,{get:()=>t[s],enumerable:!(n=a(t,s))||n.enumerable});return e},u=(e,t,r)=>(r=null!=e?n(s(e)):{},l(!t&&e&&e.__esModule?r:i(r,"default",{value:e,enumerable:!0}),e)),d={},p={isValidAccessToken:()=>b,readAuthConfig:()=>y,writeAuthConfig:()=>v};for(var m in p)i(d,m,{get:p[m],enumerable:!0});t.exports=l(i({},"__esModule",{value:!0}),d);var f=u(e.r(522734)),h=u(e.r(814747)),g=e.r(65048);function w(){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 y(){try{let e=w();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=w(),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 b(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 n=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s={},c={processTokenResponse:()=>h,refreshTokenRequest:()=>f};for(var l in c)n(s,l,{get:c[l],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of a(t))o.call(e,s)||void 0===s||n(e,s,{get:()=>t[s],enumerable:!(r=i(t,s))||r.enumerable});return e})(n({},"__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 n=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of o(t))c.call(e,s)||s===r||i(e,s,{get:()=>t[s],enumerable:!(n=a(t,s))||n.enumerable});return e},u=(e,t,r)=>(r=null!=e?n(s(e)):{},l(!t&&e&&e.__esModule?r:i(r,"default",{value:e,enumerable:!0}),e)),d={},p={assertVercelOidcTokenResponse:()=>O,findProjectInfo:()=>A,getTokenPayload:()=>T,getVercelDataDir:()=>k,getVercelOidcToken:()=>M,getVercelToken:()=>S,isExpired:()=>j,loadToken:()=>D,saveToken:()=>x};for(var m in p)i(d,m,{get:p[m],enumerable:!0});t.exports=l(i({},"__esModule",{value:!0}),d);var f=u(e.r(814747)),h=u(e.r(522734)),g=e.r(310470),w=e.r(250216),y=e.r(775427),v=e.r(371746),b=e.r(33015);function k(){let e=(0,w.getUserDataDir)();return e?f.join(e,"com.vercel.cli"):null}async function S(e){let t=(0,y.readAuthConfig)();if(!t?.token)throw new b.AccessTokenMissingError;if((0,y.isValidAccessToken)(t,e?.expirationBufferMs))return t.token;if(!t.refreshToken)throw(0,y.writeAuthConfig)({}),new b.RefreshAccessTokenFailedError("No refresh token available");try{let e=await (0,v.refreshTokenRequest)({refresh_token:t.refreshToken}),[r,n]=await (0,v.processTokenResponse)(e);if(r||!n)throw(0,y.writeAuthConfig)({}),new b.RefreshAccessTokenFailedError(r);let i={token:n.access_token,expiresAt:Math.floor(Date.now()/1e3)+n.expires_in};return n.refresh_token&&(i.refreshToken=n.refresh_token),(0,y.writeAuthConfig)(i),i.token}catch(e){if((0,y.writeAuthConfig)({}),e instanceof b.AccessTokenMissingError||e instanceof b.RefreshAccessTokenFailedError)throw e;throw new b.RefreshAccessTokenFailedError(e)}}async function M(e,t,r){let n=`https://api.vercel.com/v1/projects/${t}/token?source=vercel-oidc-refresh${r?`&teamId=${r}`:""}`,i=await fetch(n,{method:"POST",headers:{Authorization:`Bearer ${e}`}});if(!i.ok)throw new g.VercelOidcTokenError(`Failed to refresh OIDC token: ${i.statusText}`);let a=await i.json();return O(a),a}function O(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 A(){let e=(0,w.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,w.getUserDataDir)();if(!r)throw new g.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let n=f.join(r,"com.vercel.token",`${t}.json`),i=JSON.stringify(e);h.mkdirSync(f.dirname(n),{mode:504,recursive:!0}),h.writeFileSync(n,i),h.chmodSync(n,432)}function D(e){let t=(0,w.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 n=JSON.parse(h.readFileSync(r,"utf8"));return O(n),n}function T(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,"/"),n=r.padEnd(r.length+(4-r.length%4)%4,"=");return JSON.parse(Buffer.from(n,"base64").toString("utf8"))}function j(e,t=0){return 1e3*e.exp<Date.now()+t}},705252,e=>{"use strict";var t=e.i(902157),r=e.i(750227),n=e.i(666680),i=e.i(192441);let a=Promise.resolve();function o(e){let t=a.then(e,e);return a=t.catch(()=>{}),t}async function s(e){let t=e?await (0,i.requireDataDir)():await (0,i.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"),n=JSON.parse(r);if(!Array.isArray(n))throw Error(`Invalid document store at ${e}: expected a JSON array.`);return n}catch(e){if(e?.code==="ENOENT")return[];throw e}}async function l(e){let i=await s(!0);if(!i)return;let a=r.default.join(r.default.dirname(i),`.${r.default.basename(i)}.${process.pid}.${(0,n.randomUUID)()}.tmp`);try{await t.promises.writeFile(a,JSON.stringify(e,null,2),"utf8"),await t.promises.rename(a,i)}catch(e){throw await t.promises.unlink(a).catch(()=>{}),e}}function u(e){let t=e.content.trim();return{id:e.id??(0,n.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(),n=new Set(r.filter(e=>e.url).map(e=>e.url)),i=0;for(let a of t)!(a.url&&n.has(a.url))&&a.content.trim()&&(r.push(u({...a,jobId:e})),a.url&&n.add(a.url),i++);return i>0&&await l(r),i})},"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(),n=r.findIndex(t=>t.id===e);if(n<0)return;let i=r[n],a=void 0!==t.content?t.content.trim():i.content,o={...i,title:void 0!==t.title?t.title.trim()||"Untitled":i.title,content:a,charCount:a.length,url:void 0!==t.url?t.url||void 0:i.url,metadata:void 0!==t.metadata?t.metadata:i.metadata,status:"unindexed"};return r[n]=o,await l(r),o})},"updateDocumentsStatus",0,function(e,t){return o(async()=>{let r=await c(),n=new Set(e),i=!1;for(let e of r)n.has(e.id)&&(e.status=t,i=!0);i&&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),n=e.i(666680),i=e.i(192441);let a=Promise.resolve();function o(e){let t=a.then(e,e);return a=t.catch(()=>{}),t}async function s(e){let t=e?await (0,i.requireDataDir)():await (0,i.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"),n=JSON.parse(r);if(!Array.isArray(n))throw Error(`Invalid media asset store at ${e}: expected a JSON array.`);return n}catch(e){if(e?.code==="ENOENT")return[];throw e}}async function l(e){let i=await s(!0);if(!i)return;let a=r.default.join(r.default.dirname(i),`.${r.default.basename(i)}.${process.pid}.${(0,n.randomUUID)()}.tmp`);try{await t.promises.writeFile(a,JSON.stringify(e,null,2),"utf8"),await t.promises.rename(a,i)}catch(e){throw await t.promises.unlink(a).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},n=0;for(let i of e)t[i.type]++,r[i.processingStatus]++,n+=i.fileSize;return{total:e.length,byType:t,byStatus:r,totalBytes:n}}async function w(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(),i=e.map(e=>({id:(0,n.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(...i),await l(t),i})},"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 n=new Date().toISOString();return t[r]={...t[r],processingStatus:"pending",processingError:void 0,processingMessage:"Queued for background processing...",processingProgress:1,processingSteps:p(n),processingRevision:h(t[r]),processingHeartbeatAt:n,updatedAt:n},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,w,"mediaStats",0,g,"readMediaAssets",0,c,"recoverStaleMediaAssets",0,function(e=3e5){return o(async()=>{let t=await c(),r=Date.now()-e,n="The background worker stopped. Retry to resume media processing.",i=0;for(let e=0;e<t.length;e++){let a=t[e],o="processing"===a.processingStatus,s="pending"===a.processingStatus&&"Queued for background processing..."===a.processingMessage,c=a.processingHeartbeatAt??a.updatedAt;if((o||s)&&new Date(c).getTime()<r){let r=new Date().toISOString(),o=a.processingSteps?.map(e=>"running"===e.status?{...e,status:"failed",message:n,updatedAt:r,finishedAt:r}:e);t[e]={...a,processingStatus:"failed",processingError:n,processingMessage:void 0,processingProgress:void 0,processingSteps:o,processingRevision:h(a),processingHeartbeatAt:r,updatedAt:r},i++}}return i>0&&await l(t),i})},"updateMediaAsset",0,function(e,t){return o(async()=>{let r=await c(),n=r.findIndex(t=>t.id===e);if(n<0)return;let i=r[n];return r[n]={...i,...t,documentIds:t.documentIds??i.documentIds,pendingDocumentIds:t.pendingDocumentIds??i.pendingDocumentIds,supersededDocumentIds:t.supersededDocumentIds??i.supersededDocumentIds,updatedAt:new Date().toISOString()},await l(r),r[n]})},"updateMediaStage",0,function(e,t,r){return o(async()=>{let n,i,a=await c(),o=a.findIndex(t=>t.id===e);if(o<0)return;let s=new Date().toISOString(),u=a[o],g=new Map((u.processingSteps??[]).map(e=>[e.stage,e])),w=p(s).map(e=>g.get(e.stage)??e),y=w.findIndex(e=>e.stage===t),v=w[y],b=new Set(["completed","skipped","failed"]),k=r.status??v.status,S=b.has(v.status)||"running"===v.status&&"waiting"===k?v.status:k,M=f(v.percent),O=f(r.percent),A=void 0===O?M:Math.max(M??0,O),x=m(v.current),D=m(r.current),T=void 0===D?x:Math.max(x??0,D),j=void 0===r.total?m(v.total):m(r.total);void 0!==T&&void 0!==j&&(j=Math.max(j,T))>0&&(A=Math.max(A??0,Math.min(100,T/j*100))),"completed"===S&&(A=100,void 0!==j&&(T=j));let _=b.has(S),$={...v,...r,stage:t,status:S,percent:A,current:T,total:j,startedAt:r.startedAt??v.startedAt??("running"===S||_?s:void 0),updatedAt:s,finishedAt:_?r.finishedAt??v.finishedAt??s:void 0};w[y]=$;let I=Math.max(f(u.processingProgress)??0,0===(i=(n=w.filter(e=>"skipped"!==e.status)).reduce((e,t)=>e+d[t.stage],0))?100:Math.round(n.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)/i*100)),C=[...w].reverse().find(e=>"running"===e.status&&e.message)?.message,P="running"===$.status?$.message??r.message??u.processingMessage:C??r.message??$.message??u.processingMessage;return a[o]={...u,processingSteps:w,processingProgress:I,processingMessage:P,processingRevision:h(u),processingHeartbeatAt:s,updatedAt:s},await l(a),a[o]})}])},941486,e=>{"use strict";var t=e.i(902157),r=e.i(750227),n=e.i(192441);class i{id="local";name="Local Storage";async mediaDir(){let e=await (0,n.requireDataDir)(),i=r.default.join(e,"media");return await t.promises.mkdir(i,{recursive:!0}),i}async store(e,n,i){let a=await this.mediaDir(),o=r.default.join(a,e);return await t.promises.mkdir(r.default.dirname(o),{recursive:!0}),await t.promises.writeFile(o,n),`local://${e}`}async storeFile(e,n,i){let a=await this.mediaDir(),o=r.default.join(a,e);return await t.promises.mkdir(r.default.dirname(o),{recursive:!0}),await t.promises.copyFile(n,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),n=await this.mediaDir(),i=r.default.resolve(n,t),a=r.default.relative(n,i);if(a.startsWith("..")||r.default.isAbsolute(a))throw Error("Invalid local storage URI");return i}async delete(e){let n=e.replace("local://",""),i=await this.mediaDir();try{await t.promises.unlink(r.default.join(i,n))}catch{}}async stats(){try{let e=await this.mediaDir();return await a(e)}catch{return{usedBytes:0,fileCount:0}}}}async function a(e){let n=0,i=0;async function a(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 a(o);else try{let e=await t.promises.stat(o);n+=e.size,i++}catch{}}}return await a(e),{usedBytes:n,fileCount:i}}e.s(["createStorageProvider",0,function(e){return new i}])},844915,e=>{"use strict";var t=e.i(891294);async function r(){return t.ALL_MODELS}async function n(e){return(await r()).filter(t=>t.type===e)}async function i(e){let t=await r(),n=e?t.filter(t=>t.type===e):t,i=new Map;for(let e of n)i.set(e.owned_by,(i.get(e.owned_by)??0)+1);return Array.from(i.entries()).map(([e,t])=>({id:e,name:a[e]||e.charAt(0).toUpperCase()+e.slice(1),modelCount:t})).sort((e,t)=>t.modelCount-e.modelCount)}let a={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,i,"getModelsByType",0,n])},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 n=t(e,r),i={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 n.find(e=>e.id===i)??n[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(89087),r=e.i(731699),n=e.i(528909),i=e.i(344963),a=e.i(733164),o=e.i(235072),s=e.i(416487),c=e.i(256485),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,a.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,n.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,i.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 n=e.chatProvider||e.embeddingProvider||"openai",i=e.chatModelId?.trim();if(!i&&"custom"===n&&e.customChatModels?.[0]&&(i=`custom:${e.customChatModels[0].modelName}`),!i&&t.length>0){let e=r.requiredTag,a=e?t.filter(t=>t.tags?.includes(e)):t,o=a.length>0?a:t;i=(0,l.getDefaultChatModel)(o.map(l.toChatDescriptor),n)?.id}if(!i&&"vercel_ai_gateway"===n)throw Error("No gateway model is available. Choose a chat model before processing media.");return i||=u[n]||u.openai,{provider:n,modelId:i,apiKey:e.chatApiKey||e.embeddingApiKey||void 0}}])},504740,e=>{"use strict";var t=e.i(463857);let r=new Map;async function n(e){if(r.has(e))return r.get(e);let n=await (0,t.getInstalledTool)(e);if(!n)return null;try{let t=function(e){switch(e.source){case"local":default:return e.packageName;case"registry":case"sandbox":return e.resolvedPath}}(n),i=await import(t);return r.set(e,i),i}catch(t){return console.error(`[marketplace] Failed to load tool "${e}":`,t),null}}e.s(["loadTool",0,n])},534404,e=>{"use strict";var t=e.i(214312),r=e.i(844915),n=e.i(675101);async function i(e){var t,i,a,u,d,p,m,f,h,g,w;let y=function(e){let t=[],r=[],n=0;for(let i of e){let e=s(i.text,14e3);for(let a=0;a<e.length;a++){let o={...i,text:1===e.length?e[a]:`${e[a]}
1
+ module.exports=[367165,e=>{"use strict";var t=e.i(902157),r=e.i(750227),n=e.i(638725),i=e.i(192441);async function a(){let e=await (0,i.getDataDir)();if(!e)return n.DEFAULT_CONFIG;try{let i=await t.promises.readFile(r.default.join(e,"config.json"),"utf8"),a=JSON.parse(i),o=a.customEmbeddings,s=a.embeddingModelId;if(a.customEmbedding&&!o?.length){let e=a.customEmbedding;o=[e],"custom"===s&&(s=`custom:${e.modelName}`)}let c={...n.DEFAULT_CONFIG,...a,embeddingModelId:s??n.DEFAULT_CONFIG.embeddingModelId,customEmbeddings:o,chunking:{...n.DEFAULT_CONFIG.chunking,...a.chunking},storeConfig:{...n.DEFAULT_CONFIG.storeConfig,...a.storeConfig}};return delete c.customEmbedding,c}catch{return n.DEFAULT_CONFIG}}async function o(e){let n=await (0,i.requireDataDir)(),a={...e,updatedAt:new Date().toISOString()};return await t.promises.writeFile(r.default.join(n,"config.json"),JSON.stringify(a,null,2),"utf8"),a}e.s(["readConfig",0,a,"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 n=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s={},c={VercelOidcTokenError:()=>u};for(var l in c)n(s,l,{get:c[l],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of a(t))o.call(e,s)||void 0===s||n(e,s,{get:()=>t[s],enumerable:!(r=i(t,s))||r.enumerable});return e})(n({},"__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 n=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s={},c={AccessTokenMissingError:()=>u,RefreshAccessTokenFailedError:()=>d};for(var l in c)n(s,l,{get:c[l],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of a(t))o.call(e,s)||void 0===s||n(e,s,{get:()=>t[s],enumerable:!(r=i(t,s))||r.enumerable});return e})(n({},"__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 n=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of o(t))c.call(e,s)||s===r||i(e,s,{get:()=>t[s],enumerable:!(n=a(t,s))||n.enumerable});return e},u=(e,t,r)=>(r=null!=e?n(s(e)):{},l(!t&&e&&e.__esModule?r:i(r,"default",{value:e,enumerable:!0}),e)),d={},p={findRootDir:()=>y,getUserDataDir:()=>v};for(var m in p)i(d,m,{get:p[m],enumerable:!0});t.exports=l(i({},"__esModule",{value:!0}),d);var f=u(e.r(814747)),h=u(e.r(522734)),g=u(e.r(446786)),w=e.r(310470);function y(){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 w.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 n=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of o(t))c.call(e,s)||s===r||i(e,s,{get:()=>t[s],enumerable:!(n=a(t,s))||n.enumerable});return e},u=(e,t,r)=>(r=null!=e?n(s(e)):{},l(!t&&e&&e.__esModule?r:i(r,"default",{value:e,enumerable:!0}),e)),d={},p={isValidAccessToken:()=>b,readAuthConfig:()=>y,writeAuthConfig:()=>v};for(var m in p)i(d,m,{get:p[m],enumerable:!0});t.exports=l(i({},"__esModule",{value:!0}),d);var f=u(e.r(522734)),h=u(e.r(814747)),g=e.r(65048);function w(){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 y(){try{let e=w();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=w(),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 b(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 n=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s={},c={processTokenResponse:()=>h,refreshTokenRequest:()=>f};for(var l in c)n(s,l,{get:c[l],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of a(t))o.call(e,s)||void 0===s||n(e,s,{get:()=>t[s],enumerable:!(r=i(t,s))||r.enumerable});return e})(n({},"__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 n=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of o(t))c.call(e,s)||s===r||i(e,s,{get:()=>t[s],enumerable:!(n=a(t,s))||n.enumerable});return e},u=(e,t,r)=>(r=null!=e?n(s(e)):{},l(!t&&e&&e.__esModule?r:i(r,"default",{value:e,enumerable:!0}),e)),d={},p={assertVercelOidcTokenResponse:()=>O,findProjectInfo:()=>x,getTokenPayload:()=>T,getVercelDataDir:()=>k,getVercelOidcToken:()=>M,getVercelToken:()=>S,isExpired:()=>D,loadToken:()=>j,saveToken:()=>A};for(var m in p)i(d,m,{get:p[m],enumerable:!0});t.exports=l(i({},"__esModule",{value:!0}),d);var f=u(e.r(814747)),h=u(e.r(522734)),g=e.r(310470),w=e.r(250216),y=e.r(775427),v=e.r(371746),b=e.r(33015);function k(){let e=(0,w.getUserDataDir)();return e?f.join(e,"com.vercel.cli"):null}async function S(e){let t=(0,y.readAuthConfig)();if(!t?.token)throw new b.AccessTokenMissingError;if((0,y.isValidAccessToken)(t,e?.expirationBufferMs))return t.token;if(!t.refreshToken)throw(0,y.writeAuthConfig)({}),new b.RefreshAccessTokenFailedError("No refresh token available");try{let e=await (0,v.refreshTokenRequest)({refresh_token:t.refreshToken}),[r,n]=await (0,v.processTokenResponse)(e);if(r||!n)throw(0,y.writeAuthConfig)({}),new b.RefreshAccessTokenFailedError(r);let i={token:n.access_token,expiresAt:Math.floor(Date.now()/1e3)+n.expires_in};return n.refresh_token&&(i.refreshToken=n.refresh_token),(0,y.writeAuthConfig)(i),i.token}catch(e){if((0,y.writeAuthConfig)({}),e instanceof b.AccessTokenMissingError||e instanceof b.RefreshAccessTokenFailedError)throw e;throw new b.RefreshAccessTokenFailedError(e)}}async function M(e,t,r){let n=`https://api.vercel.com/v1/projects/${t}/token?source=vercel-oidc-refresh${r?`&teamId=${r}`:""}`,i=await fetch(n,{method:"POST",headers:{Authorization:`Bearer ${e}`}});if(!i.ok)throw new g.VercelOidcTokenError(`Failed to refresh OIDC token: ${i.statusText}`);let a=await i.json();return O(a),a}function O(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 x(){let e=(0,w.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 A(e,t){let r=(0,w.getUserDataDir)();if(!r)throw new g.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let n=f.join(r,"com.vercel.token",`${t}.json`),i=JSON.stringify(e);h.mkdirSync(f.dirname(n),{mode:504,recursive:!0}),h.writeFileSync(n,i),h.chmodSync(n,432)}function j(e){let t=(0,w.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 n=JSON.parse(h.readFileSync(r,"utf8"));return O(n),n}function T(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,"/"),n=r.padEnd(r.length+(4-r.length%4)%4,"=");return JSON.parse(Buffer.from(n,"base64").toString("utf8"))}function D(e,t=0){return 1e3*e.exp<Date.now()+t}},705252,e=>{"use strict";var t=e.i(902157),r=e.i(750227),n=e.i(666680),i=e.i(192441);let a=Promise.resolve();function o(e){let t=a.then(e,e);return a=t.catch(()=>{}),t}async function s(e){let t=e?await (0,i.requireDataDir)():await (0,i.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"),n=JSON.parse(r);if(!Array.isArray(n))throw Error(`Invalid document store at ${e}: expected a JSON array.`);return n}catch(e){if(e?.code==="ENOENT")return[];throw e}}async function l(e){let i=await s(!0);if(!i)return;let a=r.default.join(r.default.dirname(i),`.${r.default.basename(i)}.${process.pid}.${(0,n.randomUUID)()}.tmp`);try{await t.promises.writeFile(a,JSON.stringify(e,null,2),"utf8"),await t.promises.rename(a,i)}catch(e){throw await t.promises.unlink(a).catch(()=>{}),e}}function u(e){let t=e.content.trim();return{id:e.id??(0,n.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(),n=new Set(r.filter(e=>e.url).map(e=>e.url)),i=0;for(let a of t)!(a.url&&n.has(a.url))&&a.content.trim()&&(r.push(u({...a,jobId:e})),a.url&&n.add(a.url),i++);return i>0&&await l(r),i})},"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(),n=r.findIndex(t=>t.id===e);if(n<0)return;let i=r[n],a=void 0!==t.content?t.content.trim():i.content,o={...i,title:void 0!==t.title?t.title.trim()||"Untitled":i.title,content:a,charCount:a.length,url:void 0!==t.url?t.url||void 0:i.url,metadata:void 0!==t.metadata?t.metadata:i.metadata,status:"unindexed"};return r[n]=o,await l(r),o})},"updateDocumentsStatus",0,function(e,t){return o(async()=>{let r=await c(),n=new Set(e),i=!1;for(let e of r)n.has(e.id)&&(e.status=t,i=!0);i&&await l(r)})}])},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},857764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},504740,e=>{"use strict";var t=e.i(902157),r=e.i(750227),n=e.i(857764),i=e.i(463857);let a=new Map;async function o(e){if(a.has(e))return a.get(e);let t=await (0,i.getInstalledTool)(e);if(!t)return null;try{let r=await s(t),n=await import(r);return a.set(e,n),n}catch(t){return console.error(`[marketplace] Failed to load tool "${e}":`,t),null}}async function s(e){switch(e.source){case"local":default:return e.packageName;case"registry":case"sandbox":return c(e.resolvedPath)}}async function c(e){let i=r.default.join(e,"package.json"),a=JSON.parse(await t.promises.readFile(i,"utf8")),o="object"==typeof a.exports?a.exports["."]:a.exports,s=("object"==typeof o?o.import??o.default:o)??a.main??"index.js";return(0,n.pathToFileURL)(r.default.resolve(e,s)).href}e.s(["loadTool",0,o,"unloadTool",0,function(e){a.delete(e)}])},839554,e=>{"use strict";var t=e.i(902157),r=e.i(750227),n=e.i(666680),i=e.i(192441);let a=Promise.resolve();function o(e){let t=a.then(e,e);return a=t.catch(()=>{}),t}async function s(e){let t=e?await (0,i.requireDataDir)():await (0,i.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"),n=JSON.parse(r);if(!Array.isArray(n))throw Error(`Invalid media asset store at ${e}: expected a JSON array.`);return n}catch(e){if(e?.code==="ENOENT")return[];throw e}}async function l(e){let i=await s(!0);if(!i)return;let a=r.default.join(r.default.dirname(i),`.${r.default.basename(i)}.${process.pid}.${(0,n.randomUUID)()}.tmp`);try{await t.promises.writeFile(a,JSON.stringify(e,null,2),"utf8"),await t.promises.rename(a,i)}catch(e){throw await t.promises.unlink(a).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},n=0;for(let i of e)t[i.type]++,r[i.processingStatus]++,n+=i.fileSize;return{total:e.length,byType:t,byStatus:r,totalBytes:n}}async function w(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(),i=e.map(e=>({id:(0,n.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(...i),await l(t),i})},"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 n=new Date().toISOString();return t[r]={...t[r],processingStatus:"pending",processingError:void 0,processingMessage:"Queued for background processing...",processingProgress:1,processingSteps:p(n),processingRevision:h(t[r]),processingHeartbeatAt:n,updatedAt:n},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,w,"mediaStats",0,g,"readMediaAssets",0,c,"recoverStaleMediaAssets",0,function(e=3e5){return o(async()=>{let t=await c(),r=Date.now()-e,n="The background worker stopped. Retry to resume media processing.",i=0;for(let e=0;e<t.length;e++){let a=t[e],o="processing"===a.processingStatus,s="pending"===a.processingStatus&&"Queued for background processing..."===a.processingMessage,c=a.processingHeartbeatAt??a.updatedAt;if((o||s)&&new Date(c).getTime()<r){let r=new Date().toISOString(),o=a.processingSteps?.map(e=>"running"===e.status?{...e,status:"failed",message:n,updatedAt:r,finishedAt:r}:e);t[e]={...a,processingStatus:"failed",processingError:n,processingMessage:void 0,processingProgress:void 0,processingSteps:o,processingRevision:h(a),processingHeartbeatAt:r,updatedAt:r},i++}}return i>0&&await l(t),i})},"updateMediaAsset",0,function(e,t){return o(async()=>{let r=await c(),n=r.findIndex(t=>t.id===e);if(n<0)return;let i=r[n];return r[n]={...i,...t,documentIds:t.documentIds??i.documentIds,pendingDocumentIds:t.pendingDocumentIds??i.pendingDocumentIds,supersededDocumentIds:t.supersededDocumentIds??i.supersededDocumentIds,updatedAt:new Date().toISOString()},await l(r),r[n]})},"updateMediaStage",0,function(e,t,r){return o(async()=>{let n,i,a=await c(),o=a.findIndex(t=>t.id===e);if(o<0)return;let s=new Date().toISOString(),u=a[o],g=new Map((u.processingSteps??[]).map(e=>[e.stage,e])),w=p(s).map(e=>g.get(e.stage)??e),y=w.findIndex(e=>e.stage===t),v=w[y],b=new Set(["completed","skipped","failed"]),k=r.status??v.status,S=b.has(v.status)||"running"===v.status&&"waiting"===k?v.status:k,M=f(v.percent),O=f(r.percent),x=void 0===O?M:Math.max(M??0,O),A=m(v.current),j=m(r.current),T=void 0===j?A:Math.max(A??0,j),D=void 0===r.total?m(v.total):m(r.total);void 0!==T&&void 0!==D&&(D=Math.max(D,T))>0&&(x=Math.max(x??0,Math.min(100,T/D*100))),"completed"===S&&(x=100,void 0!==D&&(T=D));let _=b.has(S),$={...v,...r,stage:t,status:S,percent:x,current:T,total:D,startedAt:r.startedAt??v.startedAt??("running"===S||_?s:void 0),updatedAt:s,finishedAt:_?r.finishedAt??v.finishedAt??s:void 0};w[y]=$;let I=Math.max(f(u.processingProgress)??0,0===(i=(n=w.filter(e=>"skipped"!==e.status)).reduce((e,t)=>e+d[t.stage],0))?100:Math.round(n.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)/i*100)),P=[...w].reverse().find(e=>"running"===e.status&&e.message)?.message,C="running"===$.status?$.message??r.message??u.processingMessage:P??r.message??$.message??u.processingMessage;return a[o]={...u,processingSteps:w,processingProgress:I,processingMessage:C,processingRevision:h(u),processingHeartbeatAt:s,updatedAt:s},await l(a),a[o]})}])},941486,e=>{"use strict";var t=e.i(902157),r=e.i(750227),n=e.i(192441);class i{id="local";name="Local Storage";async mediaDir(){let e=await (0,n.requireDataDir)(),i=r.default.join(e,"media");return await t.promises.mkdir(i,{recursive:!0}),i}async store(e,n,i){let a=await this.mediaDir(),o=r.default.join(a,e);return await t.promises.mkdir(r.default.dirname(o),{recursive:!0}),await t.promises.writeFile(o,n),`local://${e}`}async storeFile(e,n,i){let a=await this.mediaDir(),o=r.default.join(a,e);return await t.promises.mkdir(r.default.dirname(o),{recursive:!0}),await t.promises.copyFile(n,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),n=await this.mediaDir(),i=r.default.resolve(n,t),a=r.default.relative(n,i);if(a.startsWith("..")||r.default.isAbsolute(a))throw Error("Invalid local storage URI");return i}async delete(e){let n=e.replace("local://",""),i=await this.mediaDir();try{await t.promises.unlink(r.default.join(i,n))}catch{}}async stats(){try{let e=await this.mediaDir();return await a(e)}catch{return{usedBytes:0,fileCount:0}}}}async function a(e){let n=0,i=0;async function a(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 a(o);else try{let e=await t.promises.stat(o);n+=e.size,i++}catch{}}}return await a(e),{usedBytes:n,fileCount:i}}e.s(["createStorageProvider",0,function(e){return new i}])},844915,e=>{"use strict";var t=e.i(891294);async function r(){return t.ALL_MODELS}async function n(e){return(await r()).filter(t=>t.type===e)}async function i(e){let t=await r(),n=e?t.filter(t=>t.type===e):t,i=new Map;for(let e of n)i.set(e.owned_by,(i.get(e.owned_by)??0)+1);return Array.from(i.entries()).map(([e,t])=>({id:e,name:a[e]||e.charAt(0).toUpperCase()+e.slice(1),modelCount:t})).sort((e,t)=>t.modelCount-e.modelCount)}let a={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,i,"getModelsByType",0,n])},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 n=t(e,r),i={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 n.find(e=>e.id===i)??n[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(89087),r=e.i(731699),n=e.i(528909),i=e.i(344963),a=e.i(733164),o=e.i(235072),s=e.i(416487),c=e.i(256485),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,a.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,n.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,i.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 n=e.chatProvider||e.embeddingProvider||"openai",i=e.chatModelId?.trim();if(!i&&"custom"===n&&e.customChatModels?.[0]&&(i=`custom:${e.customChatModels[0].modelName}`),!i&&t.length>0){let e=r.requiredTag,a=e?t.filter(t=>t.tags?.includes(e)):t,o=a.length>0?a:t;i=(0,l.getDefaultChatModel)(o.map(l.toChatDescriptor),n)?.id}if(!i&&"vercel_ai_gateway"===n)throw Error("No gateway model is available. Choose a chat model before processing media.");return i||=u[n]||u.openai,{provider:n,modelId:i,apiKey:e.chatApiKey||e.embeddingApiKey||void 0}}])},534404,e=>{"use strict";var t=e.i(214312),r=e.i(844915),n=e.i(675101);async function i(e){var t,i,a,u,d,p,m,f,h,g,w;let y=function(e){let t=[],r=[],n=0;for(let i of e){let e=s(i.text,14e3);for(let a=0;a<e.length;a++){let o={...i,text:1===e.length?e[a]:`${e[a]}
2
2
  [Continuation ${a+1} of ${e.length} for this timestamp range]`};r.length>0&&n+o.text.length>14e3&&(t.push(r),r=[],n=0),r.push(o),n+=o.text.length}}return r.length>0&&t.push(r),t}(e.segments),v=await (0,r.getModelsByType)("language"),b=(0,n.resolveConfiguredChatModel)(e.config,v),k=(0,n.createChatModel)(b.provider,b.modelId,b.apiKey,e.config.customChatModels),S=[],M=0;for(let r=0;r<y.length;r++){await e.onProgress?.(M,y.length+1,`Reviewing evidence section ${r+1} of ${y.length}...`);let n=(t=e,i=y[r],a=r,u=y.length,`You are carefully watching section ${a+1} of ${u} from a ${t.mediaType} titled "${t.title}".
3
3
 
4
4
  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.
5
5
 
6
6
  Evidence:
7
- ${i.map(c).join("\n\n")}`),o=await l(k,n,b,e.mediaType);S.push(o),M++,await e.onProgress?.(M,Math.max(M+1,y.length+1),`Reviewed evidence section ${r+1} of ${y.length}.`)}let O=S,A=0;for(;O.join("\n\n").length>32e3;){A++;let t=function(e){let t=[],r=[],n=0;for(let i of e.flatMap(e=>s(e,14e3)))r.length>0&&n+i.length>14e3&&(t.push(r),r=[],n=0),r.push(i),n+=i.length;return r.length>0&&t.push(r),t}(O),r=[];for(let n=0;n<t.length;n++){let i=M+(t.length-n)+1;await e.onProgress?.(M,i,`Connecting note group ${n+1} of ${t.length}...`),r.push(await l(k,(d=e,p=t[n],m=A,f=n,h=t.length,`Consolidate chronological viewing notes for ${d.mediaType} "${d.title}".
7
+ ${i.map(c).join("\n\n")}`),o=await l(k,n,b,e.mediaType);S.push(o),M++,await e.onProgress?.(M,Math.max(M+1,y.length+1),`Reviewed evidence section ${r+1} of ${y.length}.`)}let O=S,x=0;for(;O.join("\n\n").length>32e3;){x++;let t=function(e){let t=[],r=[],n=0;for(let i of e.flatMap(e=>s(e,14e3)))r.length>0&&n+i.length>14e3&&(t.push(r),r=[],n=0),r.push(i),n+=i.length;return r.length>0&&t.push(r),t}(O),r=[];for(let n=0;n<t.length;n++){let i=M+(t.length-n)+1;await e.onProgress?.(M,i,`Connecting note group ${n+1} of ${t.length}...`),r.push(await l(k,(d=e,p=t[n],m=x,f=n,h=t.length,`Consolidate chronological viewing notes for ${d.mediaType} "${d.title}".
8
8
  This is reduction level ${m}, group ${f+1} of ${h}. Preserve exact people, names, numbers, scores, outcomes, decisions, anomalies, and timestamps.
9
9
  CRITICAL: You MUST carry over and preserve the exact [HH:MM:SS-HH:MM:SS] timestamps for every event or claim. Keep later chronological states distinct from earlier states and retain genuine uncertainty. Do not mention this reduction process.
10
10
 
11
11
  Notes:
12
12
  ${p.map((e,t)=>`## Note ${t+1}
13
- ${e}`).join("\n\n")}`),b,e.mediaType)),M++}O=r}await e.onProgress?.(M,M+1,"Connecting people, events, decisions, and outcomes...");let x=(g=e,w=O,`Act as a human who watched the complete ${o(g.durationSecs)} ${g.mediaType} "${g.title}" and consolidated notes while watching.
13
+ ${e}`).join("\n\n")}`),b,e.mediaType)),M++}O=r}await e.onProgress?.(M,M+1,"Connecting people, events, decisions, and outcomes...");let A=(g=e,w=O,`Act as a human who watched the complete ${o(g.durationSecs)} ${g.mediaType} "${g.title}" and consolidated notes while watching.
14
14
 
15
15
  Create a concise, standalone knowledge-base summary with these headings when applicable:
16
16
  - Overview / content type
@@ -26,7 +26,7 @@ CRITICAL: Draw logical deductions from the events (e.g., explicitly stating who
26
26
 
27
27
  Section notes:
28
28
  ${w.map((e,t)=>`## Section ${t+1}
29
- ${e}`).join("\n\n")}`),D=await l(k,x,b,e.mediaType);return M++,await e.onProgress?.(M,M,"Created searchable media notes."),D.trim()}function a(e,t){let r=Math.max(0,Math.floor(t));try{let t=new URL(e);if(/(^|\.)youtube\.com$|(^|\.)youtu\.be$/.test(t.hostname)||t.searchParams.has("v"))return t.searchParams.set("t",`${r}s`),t.toString()}catch{}return`${e.split("#")[0]}#t=${r}`}function o(e){let t=Math.max(0,Math.floor(e)),r=Math.floor(t/3600),n=Math.floor(t%3600/60),i=t%60;return r>0?`${r}:${String(n).padStart(2,"0")}:${String(i).padStart(2,"0")}`:`${n}:${String(i).padStart(2,"0")}`}function s(e,t){if(e.length<=t)return[e];let r=[],n=0;for(;n<e.length;){let i=Math.min(e.length,n+t);if(i<e.length){let r=e.lastIndexOf("\n",i);r>n+t/2&&(i=r)}r.push(e.slice(n,i)),n=i}return r}function c(e){return`[${o(e.startSecs)}–${o(e.endSecs)}]
30
- ${e.text}`}async function l(r,n,i,a){let{text:o,usage:s}=await (0,t.generateText)({model:r,prompt:n,maxOutputTokens:1400,temperature:0}),{estimateCost:c,trackUsageEvent:l}=await e.A(313282);return l({type:"media_processing",mediaType:a,modelId:i.modelId,provider:i.provider,promptTokens:s.inputTokens??0,completionTokens:s.outputTokens??0,totalTokens:s.totalTokens??0,estimatedCost:c(i.modelId,s.inputTokens??0,s.outputTokens??0),timestamp:new Date().toISOString()}).catch(e=>console.error("Failed to record media synthesis usage:",e)),o}e.s(["buildMediaDocumentInputs",0,function(e){let t={mediaAssetId:e.assetId,mediaType:e.mediaType,fileName:e.fileName,mimeType:e.mimeType,mediaUrl:e.localUrl,originalUrl:e.originalUrl,durationSecs:e.durationSecs,transcriptSource:e.transcriptSource,transcriptProvider:e.transcriptProvider,transcriptLanguage:e.transcriptLanguage},r=e.originalUrl||e.localUrl,n="video"===e.mediaType?"Video":"Audio";return[{title:e.title,content:[`${n}: ${e.title}`,`Duration: ${o(e.durationSecs)}`,"## Human-style evidence notes",e.summary].join("\n\n"),source:"media",url:r,metadata:{...t,contentKind:`${e.mediaType}-summary`,isMediaSummary:!0,segmentCount:e.segments.length}},...e.segments.map(i=>({title:`${e.title} — ${o(i.startSecs)}`,content:[`${n}: ${e.title}`,`Evidence at ${o(i.startSecs)}–${o(i.endSecs)}`,i.text].join("\n\n"),source:"media",url:a(r,i.startSecs),metadata:{...t,contentKind:"video"===e.mediaType?"multimodal-segment":"audio-transcript-segment",isMediaSummary:!1,sequence:i.sequence,startSecs:i.startSecs,endSecs:i.endSecs,evidenceKinds:[...i.transcript?.trim()?["speech"]:[],...i.visualContext?.trim()?["visual","ocr"]:[]]}}))]},"createFallbackMediaSummary",0,function(e,t,r){return[`Overview: ${"video"===t?"Video":"Audio"} evidence notes for "${e}".`,"Representative timeline evidence:",...[...r.slice(0,2),...r.slice(Math.max(2,Math.floor(r.length/2)-1),Math.floor(r.length/2)+1),...r.slice(-3)].filter((e,t,r)=>r.findIndex(t=>t.sequence===e.sequence)===t).map(c),"The timestamped evidence documents contain the complete timeline."].join("\n\n")},"createMediaKnowledgeSummary",0,i,"formatTime",0,o,"normalizeMediaCitationRange",0,function(e,t,r,n){if("image"===e||void 0===r||!Number.isFinite(r))return{};let i=void 0!==t&&Number.isFinite(t)?Math.max(0,t):1/0,a=Math.min(Math.max(0,r),i),o=void 0!==n&&Number.isFinite(n)?Math.min(Math.max(a,n),i):void 0;return{startSecs:a,endSecs:o}},"queryAwareExcerpt",0,function(e,t,r,n=!1){if(e.length<=r)return e;let i=t.normalize("NFKC").toLocaleLowerCase().match(/[\p{Letter}\p{Number}][\p{Letter}\p{Mark}\p{Number}_-]{2,}/gu)??[],a=e.normalize("NFKC").toLocaleLowerCase(),o=[...new Set(i)].map(e=>a.indexOf(e)).filter(e=>e>=0);if(o.length>0){let t=Math.min(...o),n=Math.max(0,Math.min(e.length-r,t-Math.floor(r/3)));return`${n>0?"…":""}${e.slice(n,n+r)}${n+r<e.length?"…":""}`}return n?`…${e.slice(-r)}`:`${e.slice(0,r)}…`},"timestampMediaUrl",0,a])},627270,e=>{e.v(e=>Promise.resolve().then(()=>e(612069)))},225970,e=>{e.v(e=>Promise.resolve().then(()=>e(65048)))},953341,e=>{e.v(t=>Promise.all(["server/chunks/15sd_@vercel_oidc_dist_token_10ruti0.js"].map(t=>e.l(t))).then(()=>t(624299)))},313282,e=>{e.v(t=>Promise.all(["server/chunks/packages_core_src_analytics-store_ts_06l_t47._.js"].map(t=>e.l(t))).then(()=>t(43697)))},742957,e=>{e.v(e=>Promise.resolve().then(()=>e(839554)))},606714,e=>{e.v(e=>Promise.resolve().then(()=>e(902157)))},311105,e=>{e.v(e=>Promise.resolve().then(()=>e(750227)))},974237,e=>{e.v(e=>Promise.resolve().then(()=>e(660526)))},358617,e=>{e.v(e=>Promise.resolve().then(()=>e(705252)))},147730,e=>{e.v(t=>Promise.all(["server/chunks/packages_1f4dx4h._.js"].map(t=>e.l(t))).then(()=>t(900263)))},297078,e=>{e.v(t=>Promise.all(["server/chunks/packages_core_src_index-store_ts_20wbjz3._.js"].map(t=>e.l(t))).then(()=>t(489694)))},473286,e=>{e.v(t=>Promise.all(["server/chunks/packages_vector-stores_src_064-9ay._.js"].map(t=>e.l(t))).then(()=>t(585071)))}];
29
+ ${e}`).join("\n\n")}`),j=await l(k,A,b,e.mediaType);return M++,await e.onProgress?.(M,M,"Created searchable media notes."),j.trim()}function a(e,t){let r=Math.max(0,Math.floor(t));try{let t=new URL(e);if(/(^|\.)youtube\.com$|(^|\.)youtu\.be$/.test(t.hostname)||t.searchParams.has("v"))return t.searchParams.set("t",`${r}s`),t.toString()}catch{}return`${e.split("#")[0]}#t=${r}`}function o(e){let t=Math.max(0,Math.floor(e)),r=Math.floor(t/3600),n=Math.floor(t%3600/60),i=t%60;return r>0?`${r}:${String(n).padStart(2,"0")}:${String(i).padStart(2,"0")}`:`${n}:${String(i).padStart(2,"0")}`}function s(e,t){if(e.length<=t)return[e];let r=[],n=0;for(;n<e.length;){let i=Math.min(e.length,n+t);if(i<e.length){let r=e.lastIndexOf("\n",i);r>n+t/2&&(i=r)}r.push(e.slice(n,i)),n=i}return r}function c(e){return`[${o(e.startSecs)}–${o(e.endSecs)}]
30
+ ${e.text}`}async function l(r,n,i,a){let{text:o,usage:s}=await (0,t.generateText)({model:r,prompt:n,maxOutputTokens:1400,temperature:0}),{estimateCost:c,trackUsageEvent:l}=await e.A(313282);return l({type:"media_processing",mediaType:a,modelId:i.modelId,provider:i.provider,promptTokens:s.inputTokens??0,completionTokens:s.outputTokens??0,totalTokens:s.totalTokens??0,estimatedCost:c(i.modelId,s.inputTokens??0,s.outputTokens??0),timestamp:new Date().toISOString()}).catch(e=>console.error("Failed to record media synthesis usage:",e)),o}e.s(["buildMediaDocumentInputs",0,function(e){let t={mediaAssetId:e.assetId,mediaType:e.mediaType,fileName:e.fileName,mimeType:e.mimeType,mediaUrl:e.localUrl,originalUrl:e.originalUrl,durationSecs:e.durationSecs,transcriptSource:e.transcriptSource,transcriptProvider:e.transcriptProvider,transcriptLanguage:e.transcriptLanguage},r=e.originalUrl||e.localUrl,n="video"===e.mediaType?"Video":"Audio";return[{title:e.title,content:[`${n}: ${e.title}`,`Duration: ${o(e.durationSecs)}`,"## Human-style evidence notes",e.summary].join("\n\n"),source:"media",url:r,metadata:{...t,contentKind:`${e.mediaType}-summary`,isMediaSummary:!0,segmentCount:e.segments.length}},...e.segments.map(i=>({title:`${e.title} — ${o(i.startSecs)}`,content:[`${n}: ${e.title}`,`Evidence at ${o(i.startSecs)}–${o(i.endSecs)}`,i.text].join("\n\n"),source:"media",url:a(r,i.startSecs),metadata:{...t,contentKind:"video"===e.mediaType?"multimodal-segment":"audio-transcript-segment",isMediaSummary:!1,sequence:i.sequence,startSecs:i.startSecs,endSecs:i.endSecs,evidenceKinds:[...i.transcript?.trim()?["speech"]:[],...i.visualContext?.trim()?["visual","ocr"]:[]]}}))]},"createFallbackMediaSummary",0,function(e,t,r){return[`Overview: ${"video"===t?"Video":"Audio"} evidence notes for "${e}".`,"Representative timeline evidence:",...[...r.slice(0,2),...r.slice(Math.max(2,Math.floor(r.length/2)-1),Math.floor(r.length/2)+1),...r.slice(-3)].filter((e,t,r)=>r.findIndex(t=>t.sequence===e.sequence)===t).map(c),"The timestamped evidence documents contain the complete timeline."].join("\n\n")},"createMediaKnowledgeSummary",0,i,"formatTime",0,o,"normalizeMediaCitationRange",0,function(e,t,r,n){if("image"===e||void 0===r||!Number.isFinite(r))return{};let i=void 0!==t&&Number.isFinite(t)?Math.max(0,t):1/0,a=Math.min(Math.max(0,r),i),o=void 0!==n&&Number.isFinite(n)?Math.min(Math.max(a,n),i):void 0;return{startSecs:a,endSecs:o}},"queryAwareExcerpt",0,function(e,t,r,n=!1){if(e.length<=r)return e;let i=t.normalize("NFKC").toLocaleLowerCase().match(/[\p{Letter}\p{Number}][\p{Letter}\p{Mark}\p{Number}_-]{2,}/gu)??[],a=e.normalize("NFKC").toLocaleLowerCase(),o=[...new Set(i)].map(e=>a.indexOf(e)).filter(e=>e>=0);if(o.length>0){let t=Math.min(...o),n=Math.max(0,Math.min(e.length-r,t-Math.floor(r/3)));return`${n>0?"…":""}${e.slice(n,n+r)}${n+r<e.length?"…":""}`}return n?`…${e.slice(-r)}`:`${e.slice(0,r)}…`},"timestampMediaUrl",0,a])},484620,e=>{e.v(e=>Promise.resolve().then(()=>e(504740)))},627270,e=>{e.v(e=>Promise.resolve().then(()=>e(612069)))},225970,e=>{e.v(e=>Promise.resolve().then(()=>e(65048)))},953341,e=>{e.v(t=>Promise.all(["server/chunks/15sd_@vercel_oidc_dist_token_10ruti0.js"].map(t=>e.l(t))).then(()=>t(624299)))},313282,e=>{e.v(t=>Promise.all(["server/chunks/packages_core_src_analytics-store_ts_06l_t47._.js"].map(t=>e.l(t))).then(()=>t(43697)))},742957,e=>{e.v(e=>Promise.resolve().then(()=>e(839554)))},606714,e=>{e.v(e=>Promise.resolve().then(()=>e(902157)))},311105,e=>{e.v(e=>Promise.resolve().then(()=>e(750227)))},974237,e=>{e.v(e=>Promise.resolve().then(()=>e(660526)))},358617,e=>{e.v(e=>Promise.resolve().then(()=>e(705252)))},147730,e=>{e.v(t=>Promise.all(["server/chunks/packages_1ggqion._.js"].map(t=>e.l(t))).then(()=>t(900263)))},297078,e=>{e.v(t=>Promise.all(["server/chunks/packages_core_src_index-store_ts_20wbjz3._.js"].map(t=>e.l(t))).then(()=>t(489694)))},473286,e=>{e.v(t=>Promise.all(["server/chunks/packages_vector-stores_src_1fib7u-._.js"].map(t=>e.l(t))).then(()=>t(585071)))}];
31
31
 
32
- //# sourceMappingURL=%5Broot-of-the-server%5D__0vnm6_8._.js.map
32
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0kmh740._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[148089,t=>{"use strict";t.s(["ChromaAdapter",0,class{config;client;collection;collectionName;constructor(t){this.config=t,this.client=null,this.collection=null,this.collectionName=t.collectionName?.trim()||"documents"}async getClient(){let e;if(this.client)return this.client;try{e=await t.A(63100)}catch{throw Error('The "chromadb" package is not installed. Please install it first via the Configure page or run: pnpm add chromadb --filter @larkup/vector-stores')}if("cloud"===this.config.mode){if(!this.config.apiKey)throw Error("Chroma Cloud requires an API key.");let t=e.CloudClient??e.default?.CloudClient;if(!t)throw Error("Could not find CloudClient in the chromadb package.");this.client=new t({apiKey:this.config.apiKey,tenant:this.config.tenant||"default_tenant",database:this.config.database||"default_database"})}else{let t=this.config.host?.trim()||"http://localhost:8000",i=e.ChromaClient??e.default?.ChromaClient;if(!i)throw Error("Could not find ChromaClient in the chromadb package.");let a={path:t};this.config.authToken&&(a.auth={provider:"token",credentials:this.config.authToken}),this.client=new i(a)}return this.client}async getCollection(){if(this.collection)return this.collection;let t=await this.getClient();return this.collection=await t.getOrCreateCollection({name:this.collectionName,metadata:{"hnsw:space":"cosine"}}),this.collection}async init(t){await this.getCollection()}async reset(){let t=await this.getClient();try{await t.deleteCollection({name:this.collectionName})}catch{}this.collection=null}async deleteByDocumentIds(t){if(0!==t.length)try{let e=await this.getCollection();await e.delete({where:{documentId:{$in:t}}})}catch(t){console.error("Failed to delete vectors by documentIds in Chroma:",t)}}async upsert(t){if(0===t.length)return;let e=await this.getCollection(),i=[],a=[],n=[],r=[];for(let e of t)i.push(e.id),a.push(e.vector),n.push(e.text),r.push(this.buildMetadata(e));for(let t=0;t<i.length;t+=4096)await e.upsert({ids:i.slice(t,t+4096),embeddings:a.slice(t,t+4096),documents:n.slice(t,t+4096),metadatas:r.slice(t,t+4096)})}buildMetadata(t){let e={title:t.title,source:t.source,documentId:t.documentId,chunkIndex:t.chunkIndex};if(t.url&&(e.url=t.url),t.metadata)for(let[i,a]of Object.entries(t.metadata))null!=a&&("string"==typeof a||"number"==typeof a||"boolean"==typeof a?e[i]=a:e[i]=JSON.stringify(a));return e}async count(){try{let t=await this.getCollection();return await t.count()}catch{return null}}async query(t,e,i){let a=await this.getCollection(),n="semantic"===this.config.indexType,r="lexical"===this.config.indexType;if(n||!i?.trim())return this.denseQuery(a,t,e);if(r)return this.documentQuery(a,i,e);let o=await this.denseQuery(a,t,e);try{let t=await this.documentQuery(a,i,e);if(t.length>0){var l,s,c;let i,a;return l=o,s=t,c=e,i=new Map,(a=t=>t.forEach((t,e)=>{let a=1/(60+e+1),n=i.get(t.id);n?n.score+=a:i.set(t.id,{hit:t,score:a})}))(l),a(s),[...i.values()].sort((t,e)=>e.score-t.score).slice(0,c).map(({hit:t,score:e})=>({...t,score:e}))}}catch{}return o}async denseQuery(t,e,i){let a=await t.query({queryEmbeddings:[e],nResults:i,include:["documents","metadatas","distances"]});return this.parseQueryResult(a)}async documentQuery(t,e,i){let a=await t.get({whereDocument:{$contains:e},limit:i,include:["documents","metadatas"]});return this.parseGetResult(a)}parseGetResult(t){if(!t.ids||0===t.ids.length)return[];let e=t.ids,i=t.documents??[],a=t.metadatas??[];return e.map((t,e)=>{let{title:n,url:r,source:o,documentId:l,chunkIndex:s,...c}=a[e]??{};return{id:t,score:1,text:i[e]??"",title:n??"Untitled",url:r||void 0,documentId:l??"",metadata:Object.keys(c).length>0?c:void 0}})}parseQueryResult(t){if(!t.ids?.[0])return[];let e=t.ids[0],i=t.documents?.[0]??[],a=t.metadatas?.[0]??[],n=t.distances?.[0]??[];return e.map((t,e)=>{let r=a[e]??{},o=n[e]??0,{title:l,url:s,source:c,documentId:d,chunkIndex:u,...h}=r;return{id:t,score:1/(1+o),text:i[e]??"",title:l??"Untitled",url:s||void 0,documentId:d??"",metadata:Object.keys(h).length>0?h:void 0}})}async testConnection(t){let e;try{e=await this.getClient()}catch(t){throw Error(`Failed to connect to Chroma: ${t.message}`)}try{await e.heartbeat()}catch(e){let t=e.message??"";if(t.includes("401")||t.includes("Unauthorized")||t.includes("403")||t.includes("Forbidden"))throw Error("Invalid Chroma credentials. Please check your auth token or API key.");if(t.includes("ECONNREFUSED")||t.includes("fetch failed"))throw Error("Could not reach the Chroma server. Is it running and accessible at the configured URL?");throw Error(`Failed to reach Chroma server: ${t}`)}try{await e.listCollections()}catch(t){throw Error(`Connected to Chroma but failed to access the database or tenant. Please verify your tenant and database names. Error: ${t.message}`)}}}])},63100,t=>{t.v(e=>Promise.all(["server/chunks/[externals]_chromadb_12df23u._.js"].map(e=>t.l(e))).then(()=>e(840941)))}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0ou70-v._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0nfenje._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[857764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},504740,e=>{"use strict";var t=e.i(902157),r=e.i(750227),o=e.i(857764),a=e.i(463857);let l=new Map;async function n(e){if(l.has(e))return l.get(e);let t=await (0,a.getInstalledTool)(e);if(!t)return null;try{let r=await s(t),o=await import(r);return l.set(e,o),o}catch(t){return console.error(`[marketplace] Failed to load tool "${e}":`,t),null}}async function s(e){switch(e.source){case"local":default:return e.packageName;case"registry":case"sandbox":return i(e.resolvedPath)}}async function i(e){let a=r.default.join(e,"package.json"),l=JSON.parse(await t.promises.readFile(a,"utf8")),n="object"==typeof l.exports?l.exports["."]:l.exports,s=("object"==typeof n?n.import??n.default:n)??l.main??"index.js";return(0,o.pathToFileURL)(r.default.resolve(e,s)).href}e.s(["loadTool",0,n,"unloadTool",0,function(e){l.delete(e)}])},627270,e=>{e.v(e=>Promise.resolve().then(()=>e(612069)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0omd-x0._.js.map