larkup 0.1.28 → 0.1.29

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 (214) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +5 -5
  3. package/.next/diagnostics/route-bundle-stats.json +25 -25
  4. package/.next/fallback-build-manifest.json +3 -3
  5. package/.next/next-minimal-server.js.nft.json +1 -1
  6. package/.next/next-server.js.nft.json +1 -1
  7. package/.next/prerender-manifest.json +3 -3
  8. package/.next/required-server-files.js +4 -4
  9. package/.next/required-server-files.json +4 -4
  10. package/.next/server/app/_global-error/page/build-manifest.json +2 -2
  11. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  12. package/.next/server/app/_global-error.html +1 -1
  13. package/.next/server/app/_global-error.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  17. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  18. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  19. package/.next/server/app/_not-found/page/build-manifest.json +2 -2
  20. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  21. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  22. package/.next/server/app/_not-found.html +1 -1
  23. package/.next/server/app/_not-found.rsc +16 -16
  24. package/.next/server/app/_not-found.segments/_full.segment.rsc +16 -16
  25. package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  26. package/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
  27. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  28. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  29. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  30. package/.next/server/app/analytics/page/build-manifest.json +2 -2
  31. package/.next/server/app/analytics/page.js.nft.json +1 -1
  32. package/.next/server/app/analytics/page_client-reference-manifest.js +1 -1
  33. package/.next/server/app/analytics.html +1 -1
  34. package/.next/server/app/analytics.rsc +17 -17
  35. package/.next/server/app/analytics.segments/_full.segment.rsc +17 -17
  36. package/.next/server/app/analytics.segments/_head.segment.rsc +4 -4
  37. package/.next/server/app/analytics.segments/_index.segment.rsc +11 -11
  38. package/.next/server/app/analytics.segments/_tree.segment.rsc +1 -1
  39. package/.next/server/app/analytics.segments/analytics/__PAGE__.segment.rsc +3 -3
  40. package/.next/server/app/analytics.segments/analytics.segment.rsc +3 -3
  41. package/.next/server/app/api/analytics/route.js.nft.json +1 -1
  42. package/.next/server/app/api/chat/route.js +8 -9
  43. package/.next/server/app/api/chat/route.js.nft.json +1 -1
  44. package/.next/server/app/api/chat/status/route.js.nft.json +1 -1
  45. package/.next/server/app/api/chat/suggestions/route.js.nft.json +1 -1
  46. package/.next/server/app/api/config/route.js.nft.json +1 -1
  47. package/.next/server/app/api/config/test/route.js.nft.json +1 -1
  48. package/.next/server/app/api/config/test-embedding/route.js.nft.json +1 -1
  49. package/.next/server/app/api/config/test-llm/route.js.nft.json +1 -1
  50. package/.next/server/app/api/config/test-provider/route.js.nft.json +1 -1
  51. package/.next/server/app/api/config/verify/route.js.nft.json +1 -1
  52. package/.next/server/app/api/connections/route.js.nft.json +1 -1
  53. package/.next/server/app/api/connections/webhook/route.js.nft.json +1 -1
  54. package/.next/server/app/api/demo/route.js.nft.json +1 -1
  55. package/.next/server/app/api/deploy/cloud-project/route.js.nft.json +1 -1
  56. package/.next/server/app/api/deploy/ssh/route.js.nft.json +1 -1
  57. package/.next/server/app/api/deployment/blob-setup/route.js.nft.json +1 -1
  58. package/.next/server/app/api/deployment/config/route.js.nft.json +1 -1
  59. package/.next/server/app/api/describe-image/route.js.nft.json +1 -1
  60. package/.next/server/app/api/doc-editor/edit/route.js.nft.json +1 -1
  61. package/.next/server/app/api/doc-editor/export/route.js.nft.json +1 -1
  62. package/.next/server/app/api/doc-editor/extract-text/route.js.nft.json +1 -1
  63. package/.next/server/app/api/doc-editor/parse/route.js.nft.json +1 -1
  64. package/.next/server/app/api/doc-editor/restore/route.js.nft.json +1 -1
  65. package/.next/server/app/api/document/sign/route.js.nft.json +1 -1
  66. package/.next/server/app/api/documents/route.js.nft.json +1 -1
  67. package/.next/server/app/api/firecrawl/local/route.js.nft.json +1 -1
  68. package/.next/server/app/api/index/route.js.nft.json +1 -1
  69. package/.next/server/app/api/integrations/notion/callback/route.js.nft.json +1 -1
  70. package/.next/server/app/api/integrations/notion/route.js.nft.json +1 -1
  71. package/.next/server/app/api/jobs/[id]/route.js.nft.json +1 -1
  72. package/.next/server/app/api/jobs/route.js.nft.json +1 -1
  73. package/.next/server/app/api/marketplace/[toolId]/route.js +1 -1
  74. package/.next/server/app/api/marketplace/[toolId]/route.js.nft.json +1 -1
  75. package/.next/server/app/api/marketplace/route.js +1 -1
  76. package/.next/server/app/api/marketplace/route.js.nft.json +1 -1
  77. package/.next/server/app/api/media/[id]/route.js.nft.json +1 -1
  78. package/.next/server/app/api/media/process/route.js +2 -2
  79. package/.next/server/app/api/media/process/route.js.nft.json +1 -1
  80. package/.next/server/app/api/media/route.js +1 -1
  81. package/.next/server/app/api/media/route.js.nft.json +1 -1
  82. package/.next/server/app/api/media/stream/route.js.nft.json +1 -1
  83. package/.next/server/app/api/models/route.js.nft.json +1 -1
  84. package/.next/server/app/api/parse-file/route.js.nft.json +1 -1
  85. package/.next/server/app/api/proxy/verify/route.js.nft.json +1 -1
  86. package/.next/server/app/api/sandbox/route.js.nft.json +1 -1
  87. package/.next/server/app/api/search/bing/route.js.nft.json +1 -1
  88. package/.next/server/app/api/search/brave/route.js.nft.json +1 -1
  89. package/.next/server/app/api/search/exa/route.js.nft.json +1 -1
  90. package/.next/server/app/api/search/google/route.js.nft.json +1 -1
  91. package/.next/server/app/api/search/route.js.nft.json +1 -1
  92. package/.next/server/app/api/search/tavily/route.js.nft.json +1 -1
  93. package/.next/server/app/api/search/verify/route.js.nft.json +1 -1
  94. package/.next/server/app/api/server/agent/route.js.nft.json +1 -1
  95. package/.next/server/app/api/server/download/route.js.nft.json +1 -1
  96. package/.next/server/app/api/server/generate/route.js.nft.json +1 -1
  97. package/.next/server/app/api/server/local/route.js.nft.json +1 -1
  98. package/.next/server/app/api/servers/route.js.nft.json +1 -1
  99. package/.next/server/app/api/tabular/query/route.js.nft.json +1 -1
  100. package/.next/server/app/api/tabular/route.js.nft.json +1 -1
  101. package/.next/server/app/api/upload-file/route.js.nft.json +1 -1
  102. package/.next/server/app/api/uploads/[...slug]/route.js.nft.json +1 -1
  103. package/.next/server/app/api/vector-stores/install/route.js.nft.json +1 -1
  104. package/.next/server/app/api/vector-stores/status/route.js.nft.json +1 -1
  105. package/.next/server/app/chat/page/build-manifest.json +2 -2
  106. package/.next/server/app/chat/page.js.nft.json +1 -1
  107. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  108. package/.next/server/app/chat.html +1 -1
  109. package/.next/server/app/chat.rsc +17 -17
  110. package/.next/server/app/chat.segments/_full.segment.rsc +17 -17
  111. package/.next/server/app/chat.segments/_head.segment.rsc +4 -4
  112. package/.next/server/app/chat.segments/_index.segment.rsc +11 -11
  113. package/.next/server/app/chat.segments/_tree.segment.rsc +1 -1
  114. package/.next/server/app/chat.segments/chat/__PAGE__.segment.rsc +3 -3
  115. package/.next/server/app/chat.segments/chat.segment.rsc +3 -3
  116. package/.next/server/app/data/page/build-manifest.json +2 -2
  117. package/.next/server/app/data/page.js.nft.json +1 -1
  118. package/.next/server/app/data/page_client-reference-manifest.js +1 -1
  119. package/.next/server/app/data.html +1 -1
  120. package/.next/server/app/data.rsc +17 -17
  121. package/.next/server/app/data.segments/_full.segment.rsc +17 -17
  122. package/.next/server/app/data.segments/_head.segment.rsc +4 -4
  123. package/.next/server/app/data.segments/_index.segment.rsc +11 -11
  124. package/.next/server/app/data.segments/_tree.segment.rsc +1 -1
  125. package/.next/server/app/data.segments/data/__PAGE__.segment.rsc +3 -3
  126. package/.next/server/app/data.segments/data.segment.rsc +3 -3
  127. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  128. package/.next/server/app/index.html +1 -1
  129. package/.next/server/app/index.rsc +16 -16
  130. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  131. package/.next/server/app/index.segments/_full.segment.rsc +16 -16
  132. package/.next/server/app/index.segments/_head.segment.rsc +4 -4
  133. package/.next/server/app/index.segments/_index.segment.rsc +11 -11
  134. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  135. package/.next/server/app/page/build-manifest.json +2 -2
  136. package/.next/server/app/page.js.nft.json +1 -1
  137. package/.next/server/app/page_client-reference-manifest.js +1 -1
  138. package/.next/server/app/settings/page/build-manifest.json +2 -2
  139. package/.next/server/app/settings/page/server-reference-manifest.json +3 -3
  140. package/.next/server/app/settings/page.js.nft.json +1 -1
  141. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  142. package/.next/server/app/settings.html +1 -1
  143. package/.next/server/app/settings.rsc +18 -18
  144. package/.next/server/app/settings.segments/_full.segment.rsc +18 -18
  145. package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  146. package/.next/server/app/settings.segments/_index.segment.rsc +11 -11
  147. package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  148. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
  149. package/.next/server/app/settings.segments/settings.segment.rsc +3 -3
  150. package/.next/server/chunks/[root-of-the-server]__0c80bj0._.js +3 -0
  151. package/.next/server/chunks/{[root-of-the-server]__1m7m2x7._.js → [root-of-the-server]__0drkoru._.js} +2 -2
  152. package/.next/server/chunks/{[root-of-the-server]__0vnm6_8._.js → [root-of-the-server]__0kmh740._.js} +6 -6
  153. package/.next/server/chunks/{[root-of-the-server]__0ou70-v._.js → [root-of-the-server]__0nfenje._.js} +1 -1
  154. package/.next/server/chunks/[root-of-the-server]__0omd-x0._.js +3 -0
  155. package/.next/server/chunks/{[root-of-the-server]__1s1zui-._.js → [root-of-the-server]__10v5qsi._.js} +1 -1
  156. package/.next/server/chunks/[root-of-the-server]__1idgvjh._.js +172 -0
  157. package/.next/server/chunks/[root-of-the-server]__1ip05r1._.js +1 -1
  158. package/.next/server/chunks/[root-of-the-server]__1jc54o2._.js +3 -0
  159. package/.next/server/chunks/{[root-of-the-server]__0748x7h._.js → [root-of-the-server]__1lhls88._.js} +1 -1
  160. package/.next/server/chunks/{[root-of-the-server]__0g_q-44._.js → [root-of-the-server]__1wy6wes._.js} +2 -2
  161. package/.next/server/chunks/{packages_1f4dx4h._.js → packages_1ggqion._.js} +2 -2
  162. package/.next/server/chunks/packages_marketplace_src_125_g2p._.js +1 -1
  163. package/.next/server/chunks/{packages_vector-stores_src_064-9ay._.js → packages_vector-stores_src_1fib7u-._.js} +2 -2
  164. package/.next/server/chunks/ssr/_169pdlf._.js +2 -2
  165. package/.next/server/chunks/ssr/_1hetwwu._.js +2 -2
  166. package/.next/server/chunks/ssr/_1iff9ia._.js +1 -1
  167. package/.next/server/chunks/ssr/_1yqlx1m._.js +1 -1
  168. package/.next/server/chunks/ssr/apps_web_lib_pdf-images_ts_13-l5wa._.js +1 -1
  169. package/.next/server/middleware-build-manifest.js +5 -5
  170. package/.next/server/pages/404.html +1 -1
  171. package/.next/server/pages/500.html +1 -1
  172. package/.next/server/server-reference-manifest.js +1 -1
  173. package/.next/server/server-reference-manifest.json +4 -4
  174. package/.next/static/chunks/{13hmtkhrbm4t3.js → 01qmngac69n9j.js} +1 -1
  175. package/.next/static/chunks/{3bpr59xr-_rv7.js → 0ge3nirnmx_np.js} +1 -1
  176. package/.next/static/chunks/{0k405nomf6s4e.js → 102b8vinedggz.js} +6 -6
  177. package/.next/static/chunks/{2jqjx4-rh414_.js → 13kyiy7q3of41.js} +1 -1
  178. package/.next/static/chunks/{1fz_0-qb5r5wd.js → 1dykihoo_1ae5.js} +1 -1
  179. package/.next/static/chunks/{0rgt7-bqxonef.js → 1sh7d5tt49x8b.js} +2 -2
  180. package/.next/static/chunks/{1-afr-snks55m.js → 1z4nte07k3dt6.js} +1 -1
  181. package/.next/static/chunks/2ib3e0xrrdait.js +1 -0
  182. package/.next/static/chunks/{turbopack-2gu-fmc6o5wkn.js → turbopack-2qt7vn_ocj4ao.js} +1 -1
  183. package/CHANGELOG.md +10 -0
  184. package/app/api/describe-image/route.ts +12 -4
  185. package/components/data/media-panel.tsx +34 -2
  186. package/components/data/upload-panel.tsx +2 -1
  187. package/components/settings/marketplace-section.tsx +14 -2
  188. package/lib/pdf-images.ts +20 -5
  189. package/package.json +5 -5
  190. package/.next/server/chunks/[root-of-the-server]__00r1kgp._.js +0 -143
  191. package/.next/server/chunks/[root-of-the-server]__064gb96._.js +0 -3
  192. package/.next/server/chunks/_0ce9vcg._.js +0 -32
  193. package/.next/static/chunks/00z1f-adeq1lg.js +0 -1
  194. package/archive/redesign-v2/app/configure/page.tsx +0 -53
  195. package/archive/redesign-v2/app/demo/page.tsx +0 -15
  196. package/archive/redesign-v2/app/server/page.tsx +0 -22
  197. package/archive/redesign-v2/app/simple/chat/page.tsx +0 -17
  198. package/archive/redesign-v2/app/simple/docs/page.tsx +0 -21
  199. package/archive/redesign-v2/app/simple/settings/page.tsx +0 -1104
  200. package/archive/redesign-v2/app-routes/configure/page.tsx +0 -53
  201. package/archive/redesign-v2/app-routes/demo/page.tsx +0 -15
  202. package/archive/redesign-v2/app-routes/server/page.tsx +0 -22
  203. package/archive/redesign-v2/app-routes/simple/chat/page.tsx +0 -17
  204. package/archive/redesign-v2/app-routes/simple/docs/page.tsx +0 -21
  205. package/archive/redesign-v2/app-routes/simple/layout.tsx +0 -9
  206. package/archive/redesign-v2/app-routes/simple/settings/page.tsx +0 -1104
  207. package/archive/redesign-v2/components/app-sidebar.tsx +0 -188
  208. package/archive/redesign-v2/components/app-topnav.tsx +0 -195
  209. package/archive/redesign-v2/components/global-settings.tsx +0 -288
  210. package/archive/redesign-v2/components/simple/simple-sidebar.tsx +0 -171
  211. package/archive/redesign-v2/components/simple/simple-topnav.tsx +0 -175
  212. /package/.next/static/{bDwMIFYSTVBKUJkJJx77o → W6QdudzTPo_OVPpNt29f7}/_buildManifest.js +0 -0
  213. /package/.next/static/{bDwMIFYSTVBKUJkJJx77o → W6QdudzTPo_OVPpNt29f7}/_clientMiddlewareManifest.js +0 -0
  214. /package/.next/static/{bDwMIFYSTVBKUJkJJx77o → W6QdudzTPo_OVPpNt29f7}/_ssgManifest.js +0 -0
@@ -1,32 +0,0 @@
1
- module.exports=[839554,e=>{"use strict";var t=e.i(902157),a=e.i(750227),i=e.i(666680),n=e.i(192441);let r=Promise.resolve();function s(e){let t=r.then(e,e);return r=t.catch(()=>{}),t}async function o(e){let t=e?await (0,n.requireDataDir)():await (0,n.getDataDir)();return t?a.default.join(t,"media-assets.json"):null}async function c(){let e=await o(!1);if(!e)return[];try{let a=await t.promises.readFile(e,"utf8"),i=JSON.parse(a);if(!Array.isArray(i))throw Error(`Invalid media asset store at ${e}: expected a JSON array.`);return i}catch(e){if(e?.code==="ENOENT")return[];throw e}}async function l(e){let n=await o(!0);if(!n)return;let r=a.default.join(a.default.dirname(n),`.${a.default.basename(n)}.${process.pid}.${(0,i.randomUUID)()}.tmp`);try{await t.promises.writeFile(r,JSON.stringify(e,null,2),"utf8"),await t.promises.rename(r,n)}catch(e){throw await t.promises.unlink(r).catch(()=>{}),e}}let d=["download","extract","transcribe","vision","synthesize","index"],u={download:10,extract:15,transcribe:25,vision:30,synthesize:5,index:15};function m(e){return d.map(t=>({stage:t,status:"waiting",updatedAt:e}))}function p(e){return void 0!==e&&Number.isFinite(e)?Math.max(0,e):void 0}function g(e){let t=p(e);return void 0===t?void 0:Math.min(100,t)}function h(e){return Math.floor(p(e.processingRevision)??0)+1}async function f(){let e=await c(),t={image:0,video:0,audio:0},a={pending:0,processing:0,completed:0,failed:0},i=0;for(let n of e)t[n.type]++,a[n.processingStatus]++,i+=n.fileSize;return{total:e.length,byType:t,byStatus:a,totalBytes:i}}async function v(e){return(await c()).find(t=>t.id===e)}e.s(["addMediaAssets",0,function(e){return s(async()=>{let t=await c(),a=new Date().toISOString(),n=e.map(e=>({id:(0,i.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:a,updatedAt:a}));return t.push(...n),await l(t),n})},"claimMediaAsset",0,function(e){return s(async()=>{let t=await c(),a=t.findIndex(t=>t.id===e);if(a<0||"processing"===t[a].processingStatus||"Queued for background processing..."===t[a].processingMessage)return;let i=new Date().toISOString();return t[a]={...t[a],processingStatus:"pending",processingError:void 0,processingMessage:"Queued for background processing...",processingProgress:1,processingSteps:m(i),processingRevision:h(t[a]),processingHeartbeatAt:i,updatedAt:i},await l(t),t[a]})},"deleteMediaAsset",0,function(e){return s(async()=>{let t=await c();await l(t.filter(t=>t.id!==e))})},"deleteMediaAssets",0,function(e){return s(async()=>{let t=await c(),a=new Set(e);await l(t.filter(e=>!a.has(e.id)))})},"getMediaAsset",0,v,"mediaStats",0,f,"readMediaAssets",0,c,"recoverStaleMediaAssets",0,function(e=3e5){return s(async()=>{let t=await c(),a=Date.now()-e,i="The background worker stopped. Retry to resume media processing.",n=0;for(let e=0;e<t.length;e++){let r=t[e],s="processing"===r.processingStatus,o="pending"===r.processingStatus&&"Queued for background processing..."===r.processingMessage,c=r.processingHeartbeatAt??r.updatedAt;if((s||o)&&new Date(c).getTime()<a){let a=new Date().toISOString(),s=r.processingSteps?.map(e=>"running"===e.status?{...e,status:"failed",message:i,updatedAt:a,finishedAt:a}:e);t[e]={...r,processingStatus:"failed",processingError:i,processingMessage:void 0,processingProgress:void 0,processingSteps:s,processingRevision:h(r),processingHeartbeatAt:a,updatedAt:a},n++}}return n>0&&await l(t),n})},"updateMediaAsset",0,function(e,t){return s(async()=>{let a=await c(),i=a.findIndex(t=>t.id===e);if(i<0)return;let n=a[i];return a[i]={...n,...t,documentIds:t.documentIds??n.documentIds,pendingDocumentIds:t.pendingDocumentIds??n.pendingDocumentIds,supersededDocumentIds:t.supersededDocumentIds??n.supersededDocumentIds,updatedAt:new Date().toISOString()},await l(a),a[i]})},"updateMediaStage",0,function(e,t,a){return s(async()=>{let i,n,r=await c(),s=r.findIndex(t=>t.id===e);if(s<0)return;let o=new Date().toISOString(),d=r[s],f=new Map((d.processingSteps??[]).map(e=>[e.stage,e])),v=m(o).map(e=>f.get(e.stage)??e),w=v.findIndex(e=>e.stage===t),y=v[w],M=new Set(["completed","skipped","failed"]),S=a.status??y.status,b=M.has(y.status)||"running"===y.status&&"waiting"===S?y.status:S,$=g(y.percent),A=g(a.percent),x=void 0===A?$:Math.max($??0,A),C=p(y.current),I=p(a.current),T=void 0===I?C:Math.max(C??0,I),k=void 0===a.total?p(y.total):p(a.total);void 0!==T&&void 0!==k&&(k=Math.max(k,T))>0&&(x=Math.max(x??0,Math.min(100,T/k*100))),"completed"===b&&(x=100,void 0!==k&&(T=k));let D=M.has(b),N={...y,...a,stage:t,status:b,percent:x,current:T,total:k,startedAt:a.startedAt??y.startedAt??("running"===b||D?o:void 0),updatedAt:o,finishedAt:D?a.finishedAt??y.finishedAt??o:void 0};v[w]=N;let U=Math.max(g(d.processingProgress)??0,0===(n=(i=v.filter(e=>"skipped"!==e.status)).reduce((e,t)=>e+u[t.stage],0))?100:Math.round(i.reduce((e,t)=>e+u[t.stage]*function(e){if("completed"===e.status)return 100;if("waiting"===e.status||"skipped"===e.status)return 0;let t=g(e.percent);return void 0!==t?t:void 0!==e.current&&void 0!==e.total&&Number.isFinite(e.current)&&Number.isFinite(e.total)&&e.total>0?Math.min(100,Math.max(0,e.current/e.total*100)):0}(t)/100,0)/n*100)),P=[...v].reverse().find(e=>"running"===e.status&&e.message)?.message,O="running"===N.status?N.message??a.message??d.processingMessage:P??a.message??N.message??d.processingMessage;return r[s]={...d,processingSteps:v,processingProgress:U,processingMessage:O,processingRevision:h(d),processingHeartbeatAt:o,updatedAt:o},await l(r),r[s]})}])},504740,e=>{"use strict";var t=e.i(463857);let a=new Map;async function i(e){if(a.has(e))return a.get(e);let i=await (0,t.getInstalledTool)(e);if(!i)return null;try{let t=function(e){switch(e.source){case"local":default:return e.packageName;case"registry":case"sandbox":return e.resolvedPath}}(i),n=await import(t);return a.set(e,n),n}catch(t){return console.error(`[marketplace] Failed to load tool "${e}":`,t),null}}e.s(["loadTool",0,i])},844915,e=>{"use strict";var t=e.i(891294);async function a(){return t.ALL_MODELS}async function i(e){return(await a()).filter(t=>t.type===e)}async function n(e){let t=await a(),i=e?t.filter(t=>t.type===e):t,n=new Map;for(let e of i)n.set(e.owned_by,(n.get(e.owned_by)??0)+1);return Array.from(n.entries()).map(([e,t])=>({id:e,name:r[e]||e.charAt(0).toUpperCase()+e.slice(1),modelCount:t})).sort((e,t)=>t.modelCount-e.modelCount)}let r={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,a,"getAllProviders",0,n,"getModelsByType",0,i])},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,a){let i=t(e,a),n={openai:"openai/gpt-5",anthropic:"anthropic/claude-3.5-sonnet-latest",google:"google/gemini-2.5-pro",mistral:"mistral/mistral-large-latest",deepseek:"deepseek/deepseek-chat",cohere:"cohere/command-r-plus",meta:"meta/llama-4-maverick",xai:"xai/grok-3-mini",vercel_ai_gateway:"anthropic/claude-3.5-sonnet-latest"}[a];return i.find(e=>e.id===n)??i[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),a=e.i(731699),i=e.i(528909),n=e.i(344963),r=e.i(733164),s=e.i(235072),o=e.i(416487),c=e.i(256485),l=e.i(336321);let d={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,d,u=[]){if(l.startsWith("custom:")){let e=l.slice(7),t=u.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||d||void 0})(t.modelName)}let m=l.includes("/")?l.split("/").slice(1).join("/"):l;switch(e){case"google":return(0,r.createGoogleGenerativeAI)({apiKey:d})(m);case"cohere":return(0,a.createCohere)({apiKey:d})(m);case"mistral":return(0,s.createMistral)({apiKey:d})(m);case"deepseek":return(0,i.createDeepSeek)({apiKey:d})(m);case"anthropic":return(0,t.createAnthropic)({apiKey:d})(m);case"openai":return(0,o.createOpenAI)({apiKey:d})(m);case"vercel_ai_gateway":return(0,n.createGateway)({apiKey:d})(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=[],a={}){let i=e.chatProvider||e.embeddingProvider||"openai",n=e.chatModelId?.trim();if(!n&&"custom"===i&&e.customChatModels?.[0]&&(n=`custom:${e.customChatModels[0].modelName}`),!n&&t.length>0){let e=a.requiredTag,r=e?t.filter(t=>t.tags?.includes(e)):t,s=r.length>0?r:t;n=(0,l.getDefaultChatModel)(s.map(l.toChatDescriptor),i)?.id}if(!n&&"vercel_ai_gateway"===i)throw Error("No gateway model is available. Choose a chat model before processing media.");return n||=d[i]||d.openai,{provider:i,modelId:n,apiKey:e.chatApiKey||e.embeddingApiKey||void 0}}])},534404,e=>{"use strict";var t=e.i(214312),a=e.i(844915),i=e.i(675101);async function n(e){var t,n,r,d,u,m,p,g,h,f,v;let w=function(e){let t=[],a=[],i=0;for(let n of e){let e=o(n.text,14e3);for(let r=0;r<e.length;r++){let s={...n,text:1===e.length?e[r]:`${e[r]}
2
- [Continuation ${r+1} of ${e.length} for this timestamp range]`};a.length>0&&i+s.text.length>14e3&&(t.push(a),a=[],i=0),a.push(s),i+=s.text.length}}return a.length>0&&t.push(a),t}(e.segments),y=await (0,a.getModelsByType)("language"),M=(0,i.resolveConfiguredChatModel)(e.config,y),S=(0,i.createChatModel)(M.provider,M.modelId,M.apiKey,e.config.customChatModels),b=[],$=0;for(let a=0;a<w.length;a++){await e.onProgress?.($,w.length+1,`Reviewing evidence section ${a+1} of ${w.length}...`);let i=(t=e,n=w[a],r=a,d=w.length,`You are carefully watching section ${r+1} of ${d} from a ${t.mediaType} titled "${t.title}".
3
-
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
-
6
- Evidence:
7
- ${n.map(c).join("\n\n")}`),s=await l(S,i,M,e.mediaType);b.push(s),$++,await e.onProgress?.($,Math.max($+1,w.length+1),`Reviewed evidence section ${a+1} of ${w.length}.`)}let A=b,x=0;for(;A.join("\n\n").length>32e3;){x++;let t=function(e){let t=[],a=[],i=0;for(let n of e.flatMap(e=>o(e,14e3)))a.length>0&&i+n.length>14e3&&(t.push(a),a=[],i=0),a.push(n),i+=n.length;return a.length>0&&t.push(a),t}(A),a=[];for(let i=0;i<t.length;i++){let n=$+(t.length-i)+1;await e.onProgress?.($,n,`Connecting note group ${i+1} of ${t.length}...`),a.push(await l(S,(u=e,m=t[i],p=x,g=i,h=t.length,`Consolidate chronological viewing notes for ${u.mediaType} "${u.title}".
8
- This is reduction level ${p}, group ${g+1} of ${h}. Preserve exact people, names, numbers, scores, outcomes, decisions, anomalies, and timestamps.
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
-
11
- Notes:
12
- ${m.map((e,t)=>`## Note ${t+1}
13
- ${e}`).join("\n\n")}`),M,e.mediaType)),$++}A=a}await e.onProgress?.($,$+1,"Connecting people, events, decisions, and outcomes...");let C=(f=e,v=A,`Act as a human who watched the complete ${s(f.durationSecs)} ${f.mediaType} "${f.title}" and consolidated notes while watching.
14
-
15
- Create a concise, standalone knowledge-base summary with these headings when applicable:
16
- - Overview / content type
17
- - People and entities
18
- - Key events in chronological order
19
- - Outcomes, conclusions, decisions, winners, and final scores
20
- - High-value timestamp evidence
21
- - Genuine uncertainties
22
-
23
- Adapt to the content: for a match prioritize score changes and the final result; for CCTV prioritize changes, anomalies, and long stable periods; for meetings or lectures prioritize claims, decisions, and action items; for screen recordings prioritize procedures and observed results. Resolve an animated score using the latest chronological evidence.
24
-
25
- CRITICAL: Draw logical deductions from the events (e.g., explicitly stating who won based on the final score) and log them in the Outcomes section. Every factual claim and deduced conclusion MUST cite the exact [HH:MM:SS-HH:MM:SS] timestamp of the evidence that supports it. Preserve exact names, numbers, language, and timestamps. Never claim that an outcome is absent merely because earlier sections did not show it. Do not mention these instructions or the batching process.
26
-
27
- Section notes:
28
- ${v.map((e,t)=>`## Section ${t+1}
29
- ${e}`).join("\n\n")}`),I=await l(S,C,M,e.mediaType);return $++,await e.onProgress?.($,$,"Created searchable media notes."),I.trim()}function r(e,t){let a=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",`${a}s`),t.toString()}catch{}return`${e.split("#")[0]}#t=${a}`}function s(e){let t=Math.max(0,Math.floor(e)),a=Math.floor(t/3600),i=Math.floor(t%3600/60),n=t%60;return a>0?`${a}:${String(i).padStart(2,"0")}:${String(n).padStart(2,"0")}`:`${i}:${String(n).padStart(2,"0")}`}function o(e,t){if(e.length<=t)return[e];let a=[],i=0;for(;i<e.length;){let n=Math.min(e.length,i+t);if(n<e.length){let a=e.lastIndexOf("\n",n);a>i+t/2&&(n=a)}a.push(e.slice(i,n)),i=n}return a}function c(e){return`[${s(e.startSecs)}–${s(e.endSecs)}]
30
- ${e.text}`}async function l(a,i,n,r){let{text:s,usage:o}=await (0,t.generateText)({model:a,prompt:i,maxOutputTokens:1400,temperature:0}),{estimateCost:c,trackUsageEvent:l}=await e.A(313282);return l({type:"media_processing",mediaType:r,modelId:n.modelId,provider:n.provider,promptTokens:o.inputTokens??0,completionTokens:o.outputTokens??0,totalTokens:o.totalTokens??0,estimatedCost:c(n.modelId,o.inputTokens??0,o.outputTokens??0),timestamp:new Date().toISOString()}).catch(e=>console.error("Failed to record media synthesis usage:",e)),s}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},a=e.originalUrl||e.localUrl,i="video"===e.mediaType?"Video":"Audio";return[{title:e.title,content:[`${i}: ${e.title}`,`Duration: ${s(e.durationSecs)}`,"## Human-style evidence notes",e.summary].join("\n\n"),source:"media",url:a,metadata:{...t,contentKind:`${e.mediaType}-summary`,isMediaSummary:!0,segmentCount:e.segments.length}},...e.segments.map(n=>({title:`${e.title} — ${s(n.startSecs)}`,content:[`${i}: ${e.title}`,`Evidence at ${s(n.startSecs)}–${s(n.endSecs)}`,n.text].join("\n\n"),source:"media",url:r(a,n.startSecs),metadata:{...t,contentKind:"video"===e.mediaType?"multimodal-segment":"audio-transcript-segment",isMediaSummary:!1,sequence:n.sequence,startSecs:n.startSecs,endSecs:n.endSecs,evidenceKinds:[...n.transcript?.trim()?["speech"]:[],...n.visualContext?.trim()?["visual","ocr"]:[]]}}))]},"createFallbackMediaSummary",0,function(e,t,a){return[`Overview: ${"video"===t?"Video":"Audio"} evidence notes for "${e}".`,"Representative timeline evidence:",...[...a.slice(0,2),...a.slice(Math.max(2,Math.floor(a.length/2)-1),Math.floor(a.length/2)+1),...a.slice(-3)].filter((e,t,a)=>a.findIndex(t=>t.sequence===e.sequence)===t).map(c),"The timestamped evidence documents contain the complete timeline."].join("\n\n")},"createMediaKnowledgeSummary",0,n,"formatTime",0,s,"normalizeMediaCitationRange",0,function(e,t,a,i){if("image"===e||void 0===a||!Number.isFinite(a))return{};let n=void 0!==t&&Number.isFinite(t)?Math.max(0,t):1/0,r=Math.min(Math.max(0,a),n),s=void 0!==i&&Number.isFinite(i)?Math.min(Math.max(r,i),n):void 0;return{startSecs:r,endSecs:s}},"queryAwareExcerpt",0,function(e,t,a,i=!1){if(e.length<=a)return e;let n=t.normalize("NFKC").toLocaleLowerCase().match(/[\p{Letter}\p{Number}][\p{Letter}\p{Mark}\p{Number}_-]{2,}/gu)??[],r=e.normalize("NFKC").toLocaleLowerCase(),s=[...new Set(n)].map(e=>r.indexOf(e)).filter(e=>e>=0);if(s.length>0){let t=Math.min(...s),i=Math.max(0,Math.min(e.length-a,t-Math.floor(a/3)));return`${i>0?"…":""}${e.slice(i,i+a)}${i+a<e.length?"…":""}`}return i?`…${e.slice(-a)}`:`${e.slice(0,a)}…`},"timestampMediaUrl",0,r])}];
31
-
32
- //# sourceMappingURL=_0ce9vcg._.js.map
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,385290,e=>{"use strict";var t=e.i(410386);async function a(e){t.GlobalWorkerOptions.workerSrc=`//cdnjs.cloudflare.com/ajax/libs/pdf.js/${t.version}/pdf.worker.mjs`;let a=await e.arrayBuffer(),r=await t.getDocument({data:new Uint8Array(a)}).promise,i=r.numPages,n=[];for(let e=1;e<=i;e++)try{let a=await r.getPage(e),i=await a.getOperatorList(),o=[];for(let e=0;e<i.fnArray.length;e++)(i.fnArray[e]===t.OPS.paintImageXObject||i.fnArray[e]===t.OPS.paintInlineImageXObject)&&o.push(i.argsArray[e][0]);let g=0;for(let t of o)try{let r=await new Promise(e=>{try{a.objs.get(t,t=>e(t))}catch(t){e(null)}});if(r&&r.bitmap){let t=document.createElement("canvas");t.width=r.bitmap.width||r.width,t.height=r.bitmap.height||r.height;let a=t.getContext("2d");a&&(a.drawImage(r.bitmap,0,0),n.push({base64:t.toDataURL("image/png"),pageNumber:e,index:g++}))}else if(r&&r.data&&r.width&&r.height){let t=document.createElement("canvas");t.width=r.width,t.height=r.height;let a=t.getContext("2d");if(a){let i=new ImageData(new Uint8ClampedArray(r.data),r.width,r.height);a.putImageData(i,0,0),n.push({base64:t.toDataURL("image/png"),pageNumber:e,index:g++})}}}catch(a){console.error(`Error extracting image ${t} on page ${e}`,a)}}catch(t){console.error(`Error processing page ${e}`,t)}return n}e.s(["extractImagesFromPDF",0,a])}]);
@@ -1,53 +0,0 @@
1
- "use client";
2
-
3
- import { useState, useCallback } from "react";
4
- import { PageHeader } from "@/components/page-header";
5
- import {
6
- ConfigureForm,
7
- type ConfigureFormHandle,
8
- } from "@/components/configure/configure-form";
9
- import { Button } from "@/components/ui/button";
10
- import { Loader2, Save, Check } from "lucide-react";
11
-
12
- export default function ConfigurePage() {
13
- const [handle, setHandle] = useState<ConfigureFormHandle | null>(null);
14
-
15
- const onHandleReady = useCallback((h: ConfigureFormHandle) => {
16
- setHandle({ ...h });
17
- }, []);
18
-
19
- const dirty = handle?.dirty ?? false;
20
- const saving = handle?.saving ?? false;
21
-
22
- return (
23
- <div className="flex min-h-full flex-col">
24
- <PageHeader
25
- eyebrow="Step 1 · Configure"
26
- title="Pipeline configuration"
27
- description="Choose your embedding model, indexing strategy, and vector store. "
28
- actions={
29
- <Button
30
- size="lg"
31
- variant={dirty ? "default" : "default"}
32
- disabled={saving || !dirty}
33
- onClick={() => handle?.requestSave()}
34
- className="min-w-[110px] px-3.5 h-9.5 rounded-md transition-all text-white/90 text-[13px]"
35
- >
36
- {saving ? (
37
- <>
38
- <Loader2 className="size-4 animate-spin" />
39
- Saving…
40
- </>
41
- ) : (
42
- <>
43
- <Save className="size-4" />
44
- Save Configuration
45
- </>
46
- )}
47
- </Button>
48
- }
49
- />
50
- <ConfigureForm onHandleReady={onHandleReady} />
51
- </div>
52
- );
53
- }
@@ -1,15 +0,0 @@
1
- import { PageHeader } from "@/components/page-header"
2
- import { DemoWorkspace } from "@/components/demo/demo-workspace"
3
-
4
- export default function DemoPage() {
5
- return (
6
- <div className="flex min-h-full flex-col">
7
- <PageHeader
8
- eyebrow="Step 5 · Demo"
9
- title="Query your RAG pipeline"
10
- description="Send a test question and inspect the top-k documents your pipeline returns. If a generated server is running, the query hits it directly; otherwise it runs in-process against your store."
11
- />
12
- <DemoWorkspace />
13
- </div>
14
- )
15
- }
@@ -1,22 +0,0 @@
1
- "use client";
2
-
3
- import { useState } from "react";
4
- import { PageHeader } from "@/components/page-header";
5
- import { ServerWorkspace } from "@/components/server/server-workspace";
6
- import { DeployButton } from "@/components/server/deploy-button";
7
-
8
- export default function ServerPage() {
9
- const [serverId, setServerId] = useState<string>("default");
10
-
11
- return (
12
- <div className="flex min-h-full flex-col">
13
- <PageHeader
14
- eyebrow="Step 4 · Server"
15
- title="Generate &amp; launch your Custom AI Model server"
16
- description="Emit a standalone, deployable AI server tailored to your selected vector store"
17
- actions={<DeployButton serverId={serverId} />}
18
- />
19
- <ServerWorkspace onServerId={setServerId} />
20
- </div>
21
- );
22
- }
@@ -1,17 +0,0 @@
1
- import { ChatWorkspace } from "@/components/chat/chat-workspace"
2
-
3
- export default function SimpleChatPage() {
4
- return (
5
- <div className="flex flex-col overflow-hidden" style={{ height: "100%" }}>
6
- <div className="px-6 pt-5 pb-1 md:px-8">
7
- <h1 className="text-lg font-semibold tracking-tight text-foreground">
8
- Chat
9
- </h1>
10
- <p className="text-sm text-muted-foreground">
11
- Ask questions and get AI-powered answers from your documents.
12
- </p>
13
- </div>
14
- <ChatWorkspace />
15
- </div>
16
- )
17
- }
@@ -1,21 +0,0 @@
1
- import { DataWorkspace } from "@/components/data/data-workspace"
2
- import { SimpleIndexButton } from "@/components/simple/simple-index-button"
3
-
4
- export default function SimpleDocsPage() {
5
- return (
6
- <div className="flex min-h-full flex-col">
7
- <div className="flex items-center justify-between px-6 pt-5 pb-4 md:px-8">
8
- <div>
9
- <h1 className="text-lg font-semibold tracking-tight text-foreground">
10
- Documents
11
- </h1>
12
- <p className="text-sm text-muted-foreground">
13
- Upload files, paste text, or scrape the web to build your knowledge base.
14
- </p>
15
- </div>
16
- <SimpleIndexButton />
17
- </div>
18
- <DataWorkspace />
19
- </div>
20
- )
21
- }