cursor-local-remote 0.1.9 → 0.1.11

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 (85) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +31 -24
  3. package/.next/app-path-routes-manifest.json +5 -4
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/prerender-manifest.json +13 -13
  6. package/.next/server/app/_not-found/page.js +3 -3
  7. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/_not-found.html +2 -2
  9. package/.next/server/app/_not-found.rsc +3 -3
  10. package/.next/server/app/api/chat/route.js +1 -15
  11. package/.next/server/app/api/chat/route.js.nft.json +1 -1
  12. package/.next/server/app/api/chat/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/git/route.js +2 -2
  14. package/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/info/route.js +1 -1
  16. package/.next/server/app/api/info/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/models/route.js +2 -2
  18. package/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/notifications/test/route.js +1 -0
  20. package/.next/server/app/api/notifications/test/route.js.nft.json +1 -0
  21. package/.next/server/app/api/notifications/test/route_client-reference-manifest.js +1 -0
  22. package/.next/server/app/api/projects/route.js +2 -2
  23. package/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/sessions/active/route.js +1 -1
  25. package/.next/server/app/api/sessions/active/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/sessions/history/route.js +1 -1
  27. package/.next/server/app/api/sessions/history/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/sessions/route.js +2 -2
  29. package/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/sessions/watch/route.js +2 -2
  31. package/.next/server/app/api/sessions/watch/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/settings/route.js +2 -2
  33. package/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/upload/route.js +1 -1
  35. package/.next/server/app/api/upload/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/index.html +2 -2
  37. package/.next/server/app/index.rsc +5 -5
  38. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/page.js +4 -4
  40. package/.next/server/app/page_client-reference-manifest.js +1 -1
  41. package/.next/server/app-paths-manifest.json +5 -4
  42. package/.next/server/chunks/267.js +6 -6
  43. package/.next/server/chunks/545.js +18 -0
  44. package/.next/server/chunks/611.js +1 -1
  45. package/.next/server/middleware-manifest.json +1 -1
  46. package/.next/server/pages/404.html +2 -2
  47. package/.next/server/pages/500.html +1 -1
  48. package/.next/server/pages/_document.js +1 -1
  49. package/.next/server/pages/_error.js +2 -2
  50. package/.next/static/JHNi3dquD5OcV7Sclue9U/_buildManifest.js +1 -0
  51. package/.next/static/chunks/app/api/chat/route-b00b337e85e306b9.js +1 -0
  52. package/.next/static/chunks/app/api/git/route-b00b337e85e306b9.js +1 -0
  53. package/.next/static/chunks/app/api/info/route-b00b337e85e306b9.js +1 -0
  54. package/.next/static/chunks/app/api/models/route-b00b337e85e306b9.js +1 -0
  55. package/.next/static/chunks/app/api/notifications/test/route-b00b337e85e306b9.js +1 -0
  56. package/.next/static/chunks/app/api/projects/route-b00b337e85e306b9.js +1 -0
  57. package/.next/static/chunks/app/api/sessions/active/route-b00b337e85e306b9.js +1 -0
  58. package/.next/static/chunks/app/api/sessions/history/route-b00b337e85e306b9.js +1 -0
  59. package/.next/static/chunks/app/api/sessions/route-b00b337e85e306b9.js +1 -0
  60. package/.next/static/chunks/app/api/sessions/watch/route-b00b337e85e306b9.js +1 -0
  61. package/.next/static/chunks/app/api/settings/route-b00b337e85e306b9.js +1 -0
  62. package/.next/static/chunks/app/api/upload/route-b00b337e85e306b9.js +1 -0
  63. package/.next/static/chunks/app/layout-a7c7dda1f998a1ce.js +1 -0
  64. package/.next/static/chunks/app/manifest.webmanifest/route-b00b337e85e306b9.js +1 -0
  65. package/.next/static/chunks/app/page-bdc004bf68daf19c.js +1 -0
  66. package/.next/static/css/62c80997800f1b21.css +1 -0
  67. package/README.md +32 -2
  68. package/package.json +1 -1
  69. package/.next/static/cH5h87qDQAGoVaAIw15pq/_buildManifest.js +0 -1
  70. package/.next/static/chunks/app/api/chat/route-4be467a4132150d7.js +0 -1
  71. package/.next/static/chunks/app/api/git/route-4be467a4132150d7.js +0 -1
  72. package/.next/static/chunks/app/api/info/route-4be467a4132150d7.js +0 -1
  73. package/.next/static/chunks/app/api/models/route-4be467a4132150d7.js +0 -1
  74. package/.next/static/chunks/app/api/projects/route-4be467a4132150d7.js +0 -1
  75. package/.next/static/chunks/app/api/sessions/active/route-4be467a4132150d7.js +0 -1
  76. package/.next/static/chunks/app/api/sessions/history/route-4be467a4132150d7.js +0 -1
  77. package/.next/static/chunks/app/api/sessions/route-4be467a4132150d7.js +0 -1
  78. package/.next/static/chunks/app/api/sessions/watch/route-4be467a4132150d7.js +0 -1
  79. package/.next/static/chunks/app/api/settings/route-4be467a4132150d7.js +0 -1
  80. package/.next/static/chunks/app/api/upload/route-4be467a4132150d7.js +0 -1
  81. package/.next/static/chunks/app/layout-c1b1bf5b5f175921.js +0 -1
  82. package/.next/static/chunks/app/manifest.webmanifest/route-4be467a4132150d7.js +0 -1
  83. package/.next/static/chunks/app/page-cd57aa6c99572600.js +0 -1
  84. package/.next/static/css/7a31a6ac831a221c.css +0 -1
  85. /package/.next/static/{cH5h87qDQAGoVaAIw15pq → JHNi3dquD5OcV7Sclue9U}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- (()=>{var a={};a.id=9,a.ids=[9],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},401:(a,b,c)=>{"use strict";c.d(b,{Mf:()=>k,QO:()=>i,UH:()=>g,Wf:()=>d,Wg:()=>l,ZU:()=>j,c1:()=>e,jf:()=>f,wS:()=>h});let d=6e4,e=12e4,f=150,g=15e3,h=800,i=3e5,j=3e4,k=300,l=3100},846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},2808:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>J,patchFetch:()=>I,routeModule:()=>E,serverHooks:()=>H,workAsyncStorage:()=>F,workUnitAsyncStorage:()=>G});var d={};c.r(d),c.d(d,{GET:()=>D,dynamic:()=>B});var e=c(5736),f=c(9117),g=c(4044),h=c(9326),i=c(2324),j=c(261),k=c(4290),l=c(5328),m=c(8928),n=c(6595),o=c(3421),p=c(7679),q=c(1681),r=c(3446),s=c(6439),t=c(1356),u=c(9021),v=c(5514),w=c(5221),x=c(6505),y=c(6277),z=c(7093),A=c(401);let B="force-dynamic";function C(a,b){return`event: ${a}
1
+ (()=>{var a={};a.id=9,a.ids=[9],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},401:(a,b,c)=>{"use strict";c.d(b,{Mf:()=>k,QO:()=>i,UH:()=>g,Wf:()=>d,Wg:()=>l,ZU:()=>j,c1:()=>e,jf:()=>f,wS:()=>h});let d=6e4,e=12e4,f=150,g=15e3,h=800,i=3e5,j=3e4,k=300,l=3100},846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},1820:a=>{"use strict";a.exports=require("os")},2808:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>J,patchFetch:()=>I,routeModule:()=>E,serverHooks:()=>H,workAsyncStorage:()=>F,workUnitAsyncStorage:()=>G});var d={};c.r(d),c.d(d,{GET:()=>D,dynamic:()=>B});var e=c(5736),f=c(9117),g=c(4044),h=c(9326),i=c(2324),j=c(261),k=c(4290),l=c(5328),m=c(8928),n=c(6595),o=c(3421),p=c(7679),q=c(1681),r=c(3446),s=c(6439),t=c(1356),u=c(9021),v=c(5514),w=c(5221),x=c(6505),y=c(6277),z=c(7093),A=c(401);let B="force-dynamic";function C(a,b){return`event: ${a}
2
2
  data: ${JSON.stringify(b)}
3
3
 
4
- `}async function D(a){let b=new URL(a.url),c=b.searchParams.get("id"),d=x.vc.safeParse(c);if(!d.success)return(0,z.li)("invalid or missing session id");let e=d.data,f=b.searchParams.get("workspace")||(0,w.K)(),g=await (0,v.Oe)(f,e);if(!g&&!(0,y.$m)(e))return(0,z.mX)("session not found");let h=null,i=null,j=null,k=null,l=null,m=null,n=0,o=!1;function p(a,b,c){try{(h=(0,u.watch)(a,()=>{o||(j&&clearTimeout(j),j=setTimeout(()=>void c(),A.jf))})).on("error",()=>{q();try{b.close()}catch{}})}catch{}}function q(){o=!0,j&&(clearTimeout(j),j=null),k&&(clearInterval(k),k=null),l&&(l(),l=null),m&&(m(),m=null),i&&(clearInterval(i),i=null),h&&(h.close(),h=null)}return new Response(new ReadableStream({async start(a){let b=async()=>{if(!o&&g)try{let b=await (0,v.Bz)(f,e);if(b<=n)return;let{messages:c,toolCalls:d}=await (0,v.Nr)(f,e);n=b,a.enqueue(C("update",{messages:c,toolCalls:d,modifiedAt:b,isActive:(0,y.$m)(e)}))}catch{}};if(g){let{messages:c,toolCalls:d,modifiedAt:h}=await (0,v.Nr)(f,e);n=h,a.enqueue(C("connected",{messages:c,toolCalls:d,modifiedAt:h,isActive:(0,y.$m)(e)})),p(g,a,b)}else{let c=(0,y.Ki)(e),{messages:d,toolCalls:h}=(0,v.b0)(c,e);a.enqueue(C("connected",{messages:d,toolCalls:h,modifiedAt:Date.now(),isActive:!0}));let i=null;m=(0,y.pl)(e,()=>{o||(i&&clearTimeout(i),i=setTimeout(()=>{if(o)return;let b=(0,y.Ki)(e),c=(0,v.b0)(b,e);a.enqueue(C("update",{messages:c.messages,toolCalls:c.toolCalls,modifiedAt:Date.now(),isActive:(0,y.$m)(e)}))},A.jf))}),k=setInterval(async()=>{if(o)return;let c=await (0,v.Oe)(f,e);c&&(g=c,k&&(clearInterval(k),k=null),m&&(m(),m=null),p(c,a,b),b())},A.wS)}l=(0,y.xy)(e,async()=>{if(!o){await new Promise(a=>setTimeout(a,A.Mf));try{let{messages:b,toolCalls:c,modifiedAt:d}=await (0,v.Nr)(f,e);d>n&&(n=d),a.enqueue(C("update",{messages:b,toolCalls:c,modifiedAt:d,isActive:!1}))}catch{let b=(0,y.Ki)(e),c=(0,v.b0)(b,e);try{a.enqueue(C("update",{messages:c.messages,toolCalls:c.toolCalls,modifiedAt:Date.now(),isActive:!1}))}catch{}}}}),i=setInterval(()=>{if(!o)try{a.enqueue(C("ping",{ts:Date.now()}))}catch{q()}},A.UH)},cancel(){q()}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"}})}let E=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/sessions/watch/route",pathname:"/api/sessions/watch",filename:"route",bundlePath:"app/api/sessions/watch/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/jonmakinen/Documents/cursor-local-remote/src/app/api/sessions/watch/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:F,workUnitAsyncStorage:G,serverHooks:H}=E;function I(){return(0,g.patchFetch)({workAsyncStorage:F,workUnitAsyncStorage:G})}async function J(a,b,c){var d;let e="/api/sessions/watch/route";"/index"===e&&(e="/");let g=await E.prepare(a,b,{srcPage:e,multiZoneDraftMode:!1});if(!g)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:u,params:v,nextConfig:w,isDraftMode:x,prerenderManifest:y,routerServerContext:z,isOnDemandRevalidate:A,revalidateOnlyGenerated:B,resolvedPathname:C}=g,D=(0,j.normalizeAppPath)(e),F=!!(y.dynamicRoutes[D]||y.routes[C]);if(F&&!x){let a=!!y.routes[C],b=y.dynamicRoutes[D];if(b&&!1===b.fallback&&!a)throw new s.NoFallbackError}let G=null;!F||E.isDev||x||(G="/index"===(G=C)?"/":G);let H=!0===E.isDev||!F,I=F&&!H,J=a.method||"GET",K=(0,i.getTracer)(),L=K.getActiveScopeSpan(),M={params:v,prerenderManifest:y,renderOpts:{experimental:{cacheComponents:!!w.experimental.cacheComponents,authInterrupts:!!w.experimental.authInterrupts},supportsDynamicResponse:H,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:null==(d=w.experimental)?void 0:d.cacheLife,isRevalidate:I,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d)=>E.onRequestError(a,b,d,z)},sharedContext:{buildId:u}},N=new k.NodeNextRequest(a),O=new k.NodeNextResponse(b),P=l.NextRequestAdapter.fromNodeNextRequest(N,(0,l.signalFromNodeResponse)(b));try{let d=async c=>E.handle(P,M).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=K.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==m.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${J} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${J} ${a.url}`)}),g=async g=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!(0,h.getRequestMeta)(a,"minimalMode")&&A&&B&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let e=await d(g);a.fetchMetrics=M.renderOpts.fetchMetrics;let i=M.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=M.renderOpts.collectedTags;if(!F)return await (0,o.I)(N,O,e,M.renderOpts.pendingWaitUntil),null;{let a=await e.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(e.headers);j&&(b[r.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,d=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=r.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:e.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:d}}}}catch(b){throw(null==f?void 0:f.isStale)&&await E.onRequestError(a,b,{routerKind:"App Router",routePath:e,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:A})},z),b}},l=await E.handleResponse({req:a,nextConfig:w,cacheKey:G,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:B,responseGenerator:k,waitUntil:c.waitUntil});if(!F)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});(0,h.getRequestMeta)(a,"minimalMode")||b.setHeader("x-nextjs-cache",A?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,p.fromNodeOutgoingHttpHeaders)(l.value.headers);return(0,h.getRequestMeta)(a,"minimalMode")&&F||m.delete(r.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,q.getCacheControlHeader)(l.cacheControl)),await (0,o.I)(N,O,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};L?await g(L):await K.withPropagatedContext(a.headers,()=>K.trace(m.BaseServerSpan.handleRequest,{spanName:`${J} ${a.url}`,kind:i.SpanKind.SERVER,attributes:{"http.method":J,"http.target":a.url}},g))}catch(b){if(b instanceof s.NoFallbackError||await E.onRequestError(a,b,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:A})}),F)throw b;return await (0,o.I)(N,O,new Response(null,{status:500})),null}}},3033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},4870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},5221:(a,b,c)=>{"use strict";c.d(b,{K:()=>e});var d=c(9902);function e(){let a=process.env.CURSOR_WORKSPACE;return a?(0,d.resolve)(a):process.cwd()}},5514:(a,b,c)=>{"use strict";c.d(b,{Bz:()=>r,Nr:()=>v,Oe:()=>q,UQ:()=>o,b0:()=>u,hF:()=>i});var d=c(7367),e=c(9902),f=c(9439),g=c(9021);let h=(0,e.join)((0,f.homedir)(),".cursor","projects");async function i(){let a=[];try{for(let b of(await (0,d.readdir)(h))){if(!/^[A-Z]/.test(b))continue;let c=(0,e.join)(h,b,"agent-transcripts");try{await (0,d.access)(c)}catch{continue}let f=function(a){let b=a.split("-"),c=e.sep+b[0];for(let a=1;a<b.length;a++){let d=c+e.sep+b[a];c=(0,g.existsSync)(d)&&(0,g.statSync)(d).isDirectory()?d:c+"-"+b[a]}return(0,g.existsSync)(c)?c:null}(b);if(!f)continue;let i=f.split(e.sep).pop()||f;a.push({name:i,path:f,key:b})}}catch{}return a.sort((a,b)=>a.name.localeCompare(b.name))}async function j(a){let b=(0,e.resolve)(a).replace(/^\//,"").replace(/\//g,"-"),c=(0,e.join)(h,b,"agent-transcripts");try{return await (0,d.access)(c),c}catch{return null}}async function k(a){try{let b=await (0,d.readFile)(a,"utf-8"),c=[];for(let a of b.split("\n"))if(a.trim())try{c.push(JSON.parse(a))}catch{continue}return c}catch{return[]}}async function l(a){for(let b of(await k(a)))if("user"===b.role){let a=b.message,c=a?.content;return(c?.[0]?.text||"").replace(/<[^>]+>/g,"").trim().slice(0,120)}return""}async function m(a){try{return await (0,d.access)(a),!0}catch{return!1}}async function n(a,b){let c=await (0,d.stat)(a);if(c.isFile()&&b.endsWith(".jsonl"))return a;if(c.isDirectory()){let c=(0,e.join)(a,b+".jsonl");if(await m(c))return c;try{let b=(await (0,d.readdir)(a)).filter(a=>a.endsWith(".jsonl"));if(b.length>0)return(0,e.join)(a,b[0])}catch{}}return null}async function o(a){let b=await j(a);if(!b)return[];let c=[];try{for(let f of(await (0,d.readdir)(b))){let g=(0,e.join)(b,f),h=await n(g,f.replace(".jsonl",""));if(!h)continue;let i=await (0,d.stat)(h),j=f.replace(".jsonl",""),k=await l(h);k&&c.push({id:j,title:k.slice(0,60),workspace:a,preview:k,createdAt:i.birthtimeMs,updatedAt:i.mtimeMs})}}catch{}return c.sort((a,b)=>b.updatedAt-a.updatedAt)}function p(a){return a.replace(/<user_query>\n?/g,"").replace(/<\/user_query>\n?/g,"").replace(/<[^>]+>/g,"").trim()}async function q(a,b){let c=await j(a);if(!c)return null;let f=(0,e.resolve)(c),g=(0,e.resolve)(c,b);if(!g.startsWith(f+"/"))return null;let h=(0,e.join)(c,b+".jsonl");return await m(g)&&(await (0,d.stat)(g)).isDirectory()?n(g,b):await m(h)?h:null}async function r(a,b){let c=await q(a,b);if(!c)return 0;try{return(await (0,d.stat)(c)).mtimeMs}catch{return 0}}let s={Read:"read",Write:"write",Edit:"edit",StrReplace:"edit",Shell:"shell",Grep:"search",Glob:"search",List:"read",TodoWrite:"todo"};function t(a,b,c,d){let e=[];for(let f of a){let a;if("object"!=typeof f||null===f||"tool_use"!==f.type)continue;let g=f.name||"Tool",h=f.input||{},i=s[g]||"other";"TodoWrite"===g&&Array.isArray(h.todos)&&(a=h.todos.map(a=>({id:a.id,content:a.content,status:a.status?.toUpperCase().includes("COMPLETED")?"TODO_STATUS_COMPLETED":a.status?.toUpperCase().includes("PROGRESS")?"TODO_STATUS_IN_PROGRESS":"TODO_STATUS_PENDING"})));let j=a?.filter(a=>a.status.includes("COMPLETED")).length??0,k=a?.length??0;e.push({id:`${b}-tc-${c.n++}`,callId:`${b}-tc-${c.n}`,type:i,name:g,path:h.path||h.file_path,command:"shell"===i?h.command:"search"===i?h.pattern:void 0,status:"completed",result:"todo"===i&&k>0?`${k} items \xb7 ${j} done`:void 0,todos:a,timestamp:d+c.n})}return e}function u(a,b){let c=[],d=[],e={n:0},f=Date.now()-6e4;for(let g of a){let a=g.type;if("user"!==a&&"assistant"!==a)continue;let h=g.message?.content;if(!Array.isArray(h))continue;let i=[];for(let a of h)"text"===a.type&&a.text&&i.push(a.text);let j=i.join("");"user"===a&&(j=p(j)),j.trim()&&c.push({id:`${b}-live-${e.n++}`,role:a,content:j,timestamp:f+e.n}),"assistant"===a&&d.push(...t(h,b,e,f))}return{messages:c,toolCalls:d}}async function v(a,b){let c=await q(a,b);if(!c)return{messages:[],toolCalls:[],modifiedAt:0};let e=0;try{e=(await (0,d.stat)(c)).mtimeMs}catch{return{messages:[],toolCalls:[],modifiedAt:0}}let f=[],g=[],h={n:0},i=e-6e4;for(let a of(await k(c))){let c=a.role;if("user"!==c&&"assistant"!==c)continue;let d=a.message?.content;if(!Array.isArray(d))continue;let e=[];for(let a of d)"text"===a.type&&a.text&&e.push(a.text);let j=e.join("");"user"===c&&(j=p(j)),j.trim()&&f.push({id:`${b}-${h.n++}`,role:c,content:j,timestamp:i+h.n}),"assistant"===c&&g.push(...t(d,b,h,i))}return{messages:f,toolCalls:g,modifiedAt:e}}},6277:(a,b,c)=>{"use strict";c.d(b,{$m:()=>p,D7:()=>i,F1:()=>o,Ki:()=>j,VS:()=>l,Xw:()=>n,ix:()=>q,pl:()=>k,xy:()=>m});var d=c(401);let e=new Map,f=new Map,g=new Map,h=new Map;function i(a,b){let c=g.get(a);c||(c=[],g.set(a,c)),c.push(b);let d=h.get(a);if(d)for(let a of d)a()}function j(a){return g.get(a)??[]}function k(a,b){let c=h.get(a);c||(c=new Set,h.set(a,c));let d=c;return d.add(b),()=>{d.delete(b)}}function l(a,b,c){let i={child:b,sessionId:null,mapKey:a,workspace:c,startedAt:Date.now()};e.set(a,i);let j=()=>{i.sessionId??i.mapKey,e.delete(i.mapKey);let a=f.get(i.mapKey);if(a)for(let b of(f.delete(i.mapKey),a))b();setTimeout(()=>{g.delete(i.mapKey),h.delete(i.mapKey)},d.c1)};b.on("close",j),b.on("error",j)}function m(a,b){if(!e.has(a))return b(),()=>{};let c=f.get(a);c||(c=new Set,f.set(a,c));let d=c;return d.add(b),()=>{d.delete(b)}}function n(a,b){let c=e.get(a);c&&(c.sessionId=b,b!==a&&(e.set(b,c),e.delete(a),c.mapKey=b))}function o(){let a=new Set;for(let[b,c]of e)a.add(c.sessionId??b);return Array.from(a)}function p(a){return e.has(a)}function q(a){let b=e.get(a);return!!b&&(b.child.kill("SIGTERM"),!0)}},6439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},6487:()=>{},6505:(a,b,c)=>{"use strict";c.d(b,{LS:()=>f,OG:()=>i,li:()=>g,vc:()=>h});var d=c(8629);let e=d.YjP().regex(/^[a-zA-Z0-9_-]{1,128}$/,"invalid sessionId"),f=d.Ikc({prompt:d.YjP().min(1,"prompt is required"),sessionId:e.optional(),model:d.YjP().max(128).regex(/^[a-zA-Z0-9._/-]+$/,"invalid model").optional(),mode:d.k5n(["agent","ask","plan"]).optional(),workspace:d.YjP().max(512).optional()}),g=d.Ikc({sessionId:e}),h=e;function i(a,b){let c=a.safeParse(b);if(c.success)return{data:c.data};let d=c.error.issues[0];return{error:d?.message??"Validation failed"}}},7093:(a,b,c)=>{"use strict";function d(a,b){return Response.json({error:a},{status:b})}function e(a){return d(a,400)}function f(a){return d(a,404)}function g(a="Internal server error"){return d(a,500)}function h(a,b){return a instanceof Error&&console.error(a),b}async function i(a){try{return await a.json()}catch{return e("Invalid JSON body")}}c.d(b,{Jo:()=>h,Y2:()=>i,ig:()=>g,li:()=>e,mX:()=>f})},7367:a=>{"use strict";a.exports=require("fs/promises")},8335:()=>{},9021:a=>{"use strict";a.exports=require("fs")},9294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},9439:a=>{"use strict";a.exports=require("os")},9902:a=>{"use strict";a.exports=require("path")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[873,878],()=>b(b.s=2808));module.exports=c})();
4
+ `}async function D(a){let b=new URL(a.url),c=b.searchParams.get("id"),d=x.vc.safeParse(c);if(!d.success)return(0,z.li)("invalid or missing session id");let e=d.data,f=b.searchParams.get("workspace")||(0,w.K)(),g=await (0,v.Oe)(f,e);if(!g&&!(0,y.$m)(e))return(0,z.mX)("session not found");let h=null,i=null,j=null,k=null,l=null,m=null,n=0,o=!1;function p(a,b,c){try{(h=(0,u.watch)(a,()=>{o||(j&&clearTimeout(j),j=setTimeout(()=>void c(),A.jf))})).on("error",()=>{q();try{b.close()}catch{}})}catch{}}function q(){o=!0,j&&(clearTimeout(j),j=null),k&&(clearInterval(k),k=null),l&&(l(),l=null),m&&(m(),m=null),i&&(clearInterval(i),i=null),h&&(h.close(),h=null)}return new Response(new ReadableStream({async start(a){let b=async()=>{if(!o&&g)try{let b=await (0,v.Bz)(f,e);if(b<=n)return;let{messages:c,toolCalls:d}=await (0,v.Nr)(f,e);n=b,a.enqueue(C("update",{messages:c,toolCalls:d,modifiedAt:b,isActive:(0,y.$m)(e)}))}catch{}};if(g){let{messages:c,toolCalls:d,modifiedAt:h}=await (0,v.Nr)(f,e);n=h,a.enqueue(C("connected",{messages:c,toolCalls:d,modifiedAt:h,isActive:(0,y.$m)(e)})),p(g,a,b)}else{let c=(0,y.Ki)(e),{messages:d,toolCalls:h}=(0,v.b0)(c,e);a.enqueue(C("connected",{messages:d,toolCalls:h,modifiedAt:Date.now(),isActive:!0}));let i=null;m=(0,y.pl)(e,()=>{o||(i&&clearTimeout(i),i=setTimeout(()=>{if(o)return;let b=(0,y.Ki)(e),c=(0,v.b0)(b,e);a.enqueue(C("update",{messages:c.messages,toolCalls:c.toolCalls,modifiedAt:Date.now(),isActive:(0,y.$m)(e)}))},A.jf))}),k=setInterval(async()=>{if(o)return;let c=await (0,v.Oe)(f,e);c&&(g=c,k&&(clearInterval(k),k=null),m&&(m(),m=null),p(c,a,b),b())},A.wS)}l=(0,y.xy)(e,async()=>{if(!o){await new Promise(a=>setTimeout(a,A.Mf));try{let{messages:b,toolCalls:c,modifiedAt:d}=await (0,v.Nr)(f,e);d>n&&(n=d),a.enqueue(C("update",{messages:b,toolCalls:c,modifiedAt:d,isActive:!1}))}catch{let b=(0,y.Ki)(e),c=(0,v.b0)(b,e);try{a.enqueue(C("update",{messages:c.messages,toolCalls:c.toolCalls,modifiedAt:Date.now(),isActive:!1}))}catch{}}}}),i=setInterval(()=>{if(!o)try{a.enqueue(C("ping",{ts:Date.now()}))}catch{q()}},A.UH)},cancel(){q()}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"}})}let E=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/sessions/watch/route",pathname:"/api/sessions/watch",filename:"route",bundlePath:"app/api/sessions/watch/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/jonmakinen/Documents/cursor-local-remote/src/app/api/sessions/watch/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:F,workUnitAsyncStorage:G,serverHooks:H}=E;function I(){return(0,g.patchFetch)({workAsyncStorage:F,workUnitAsyncStorage:G})}async function J(a,b,c){var d;let e="/api/sessions/watch/route";"/index"===e&&(e="/");let g=await E.prepare(a,b,{srcPage:e,multiZoneDraftMode:!1});if(!g)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:u,params:v,nextConfig:w,isDraftMode:x,prerenderManifest:y,routerServerContext:z,isOnDemandRevalidate:A,revalidateOnlyGenerated:B,resolvedPathname:C}=g,D=(0,j.normalizeAppPath)(e),F=!!(y.dynamicRoutes[D]||y.routes[C]);if(F&&!x){let a=!!y.routes[C],b=y.dynamicRoutes[D];if(b&&!1===b.fallback&&!a)throw new s.NoFallbackError}let G=null;!F||E.isDev||x||(G="/index"===(G=C)?"/":G);let H=!0===E.isDev||!F,I=F&&!H,J=a.method||"GET",K=(0,i.getTracer)(),L=K.getActiveScopeSpan(),M={params:v,prerenderManifest:y,renderOpts:{experimental:{cacheComponents:!!w.experimental.cacheComponents,authInterrupts:!!w.experimental.authInterrupts},supportsDynamicResponse:H,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:null==(d=w.experimental)?void 0:d.cacheLife,isRevalidate:I,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d)=>E.onRequestError(a,b,d,z)},sharedContext:{buildId:u}},N=new k.NodeNextRequest(a),O=new k.NodeNextResponse(b),P=l.NextRequestAdapter.fromNodeNextRequest(N,(0,l.signalFromNodeResponse)(b));try{let d=async c=>E.handle(P,M).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=K.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==m.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${J} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${J} ${a.url}`)}),g=async g=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!(0,h.getRequestMeta)(a,"minimalMode")&&A&&B&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let e=await d(g);a.fetchMetrics=M.renderOpts.fetchMetrics;let i=M.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=M.renderOpts.collectedTags;if(!F)return await (0,o.I)(N,O,e,M.renderOpts.pendingWaitUntil),null;{let a=await e.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(e.headers);j&&(b[r.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,d=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=r.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:e.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:d}}}}catch(b){throw(null==f?void 0:f.isStale)&&await E.onRequestError(a,b,{routerKind:"App Router",routePath:e,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:A})},z),b}},l=await E.handleResponse({req:a,nextConfig:w,cacheKey:G,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:B,responseGenerator:k,waitUntil:c.waitUntil});if(!F)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});(0,h.getRequestMeta)(a,"minimalMode")||b.setHeader("x-nextjs-cache",A?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,p.fromNodeOutgoingHttpHeaders)(l.value.headers);return(0,h.getRequestMeta)(a,"minimalMode")&&F||m.delete(r.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,q.getCacheControlHeader)(l.cacheControl)),await (0,o.I)(N,O,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};L?await g(L):await K.withPropagatedContext(a.headers,()=>K.trace(m.BaseServerSpan.handleRequest,{spanName:`${J} ${a.url}`,kind:i.SpanKind.SERVER,attributes:{"http.method":J,"http.target":a.url}},g))}catch(b){if(b instanceof s.NoFallbackError||await E.onRequestError(a,b,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:A})}),F)throw b;return await (0,o.I)(N,O,new Response(null,{status:500})),null}}},3033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3873:a=>{"use strict";a.exports=require("path")},4870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},5221:(a,b,c)=>{"use strict";c.d(b,{K:()=>e});var d=c(3873);function e(){let a=process.env.CURSOR_WORKSPACE;return a?(0,d.resolve)(a):process.cwd()}},5514:(a,b,c)=>{"use strict";c.d(b,{Bz:()=>r,Nr:()=>v,Oe:()=>q,UQ:()=>o,b0:()=>u,hF:()=>i});var d=c(9748),e=c(3873),f=c(1820),g=c(9021);let h=(0,e.join)((0,f.homedir)(),".cursor","projects");async function i(){let a=[];try{for(let b of(await (0,d.readdir)(h))){if(!/^[A-Z]/.test(b))continue;let c=(0,e.join)(h,b,"agent-transcripts");try{await (0,d.access)(c)}catch{continue}let f=function(a){let b=a.split("-"),c=e.sep+b[0];for(let a=1;a<b.length;a++){let d=c+e.sep+b[a];c=(0,g.existsSync)(d)&&(0,g.statSync)(d).isDirectory()?d:c+"-"+b[a]}return(0,g.existsSync)(c)?c:null}(b);if(!f)continue;let i=f.split(e.sep).pop()||f;a.push({name:i,path:f,key:b})}}catch{}return a.sort((a,b)=>a.name.localeCompare(b.name))}async function j(a){let b=(0,e.resolve)(a).replace(/^\//,"").replace(/\//g,"-"),c=(0,e.join)(h,b,"agent-transcripts");try{return await (0,d.access)(c),c}catch{return null}}async function k(a){try{let b=await (0,d.readFile)(a,"utf-8"),c=[];for(let a of b.split("\n"))if(a.trim())try{c.push(JSON.parse(a))}catch{continue}return c}catch{return[]}}async function l(a){for(let b of(await k(a)))if("user"===b.role){let a=b.message,c=a?.content;return(c?.[0]?.text||"").replace(/<[^>]+>/g,"").trim().slice(0,120)}return""}async function m(a){try{return await (0,d.access)(a),!0}catch{return!1}}async function n(a,b){let c=await (0,d.stat)(a);if(c.isFile()&&b.endsWith(".jsonl"))return a;if(c.isDirectory()){let c=(0,e.join)(a,b+".jsonl");if(await m(c))return c;try{let b=(await (0,d.readdir)(a)).filter(a=>a.endsWith(".jsonl"));if(b.length>0)return(0,e.join)(a,b[0])}catch{}}return null}async function o(a){let b=await j(a);if(!b)return[];let c=[];try{for(let f of(await (0,d.readdir)(b))){let g=(0,e.join)(b,f),h=await n(g,f.replace(".jsonl",""));if(!h)continue;let i=await (0,d.stat)(h),j=f.replace(".jsonl",""),k=await l(h);k&&c.push({id:j,title:k.slice(0,60),workspace:a,preview:k,createdAt:i.birthtimeMs,updatedAt:i.mtimeMs})}}catch{}return c.sort((a,b)=>b.updatedAt-a.updatedAt)}function p(a){return a.replace(/<user_query>\n?/g,"").replace(/<\/user_query>\n?/g,"").replace(/<[^>]+>/g,"").trim()}async function q(a,b){let c=await j(a);if(!c)return null;let f=(0,e.resolve)(c),g=(0,e.resolve)(c,b);if(!g.startsWith(f+"/"))return null;let h=(0,e.join)(c,b+".jsonl");return await m(g)&&(await (0,d.stat)(g)).isDirectory()?n(g,b):await m(h)?h:null}async function r(a,b){let c=await q(a,b);if(!c)return 0;try{return(await (0,d.stat)(c)).mtimeMs}catch{return 0}}let s={Read:"read",Write:"write",Edit:"edit",StrReplace:"edit",Shell:"shell",Grep:"search",Glob:"search",List:"read",TodoWrite:"todo"};function t(a,b,c,d){let e=[];for(let f of a){let a,g,h;if("object"!=typeof f||null===f||"tool_use"!==f.type)continue;let i=f.name||"Tool",j=f.input||{},k=s[i]||"other";"TodoWrite"===i&&Array.isArray(j.todos)&&(a=j.todos.map(a=>({id:a.id,content:a.content,status:a.status?.toUpperCase().includes("COMPLETED")?"TODO_STATUS_COMPLETED":a.status?.toUpperCase().includes("PROGRESS")?"TODO_STATUS_IN_PROGRESS":"TODO_STATUS_PENDING"})));let l=a?.filter(a=>a.status.includes("COMPLETED")).length??0,m=a?.length??0;if("edit"===k&&"string"==typeof j.old_string&&"string"==typeof j.new_string)g=[...j.old_string.split("\n").map(a=>`-${a}`),...j.new_string.split("\n").map(a=>`+${a}`)].join("\n");else if("write"===k&&"string"==typeof j.contents){let a=j.contents.split("\n");g=a.map(a=>`+${a}`).join("\n"),a.length>30&&(g=a.slice(0,30).map(a=>`+${a}`).join("\n")+"\n+... ("+(a.length-30)+" more lines)")}"number"==typeof j.start_line&&(h=j.start_line),e.push({id:`${b}-tc-${c.n++}`,callId:`${b}-tc-${c.n}`,type:k,name:i,path:j.path||j.file_path,command:"shell"===k?j.command:"search"===k?j.pattern:void 0,status:"completed",diff:g,diffStartLine:h,result:"todo"===k&&m>0?`${m} items \xb7 ${l} done`:void 0,todos:a,timestamp:d+c.n})}return e}function u(a,b){let c=[],d=[],e={n:0},f=Date.now()-6e4;for(let g of a){let a=g.type;if("user"!==a&&"assistant"!==a)continue;let h=g.message?.content;if(!Array.isArray(h))continue;let i=[];for(let a of h)"text"===a.type&&a.text&&i.push(a.text);let j=i.join("");"user"===a&&(j=p(j)),j.trim()&&c.push({id:`${b}-live-${e.n++}`,role:a,content:j,timestamp:f+e.n}),"assistant"===a&&d.push(...t(h,b,e,f))}return{messages:c,toolCalls:d}}async function v(a,b){let c=await q(a,b);if(!c)return{messages:[],toolCalls:[],modifiedAt:0};let e=0;try{e=(await (0,d.stat)(c)).mtimeMs}catch{return{messages:[],toolCalls:[],modifiedAt:0}}let f=[],g=[],h={n:0},i=e-6e4;for(let a of(await k(c))){let c=a.role;if("user"!==c&&"assistant"!==c)continue;let d=a.message?.content;if(!Array.isArray(d))continue;let e=[];for(let a of d)"text"===a.type&&a.text&&e.push(a.text);let j=e.join("");"user"===c&&(j=p(j)),j.trim()&&f.push({id:`${b}-${h.n++}`,role:c,content:j,timestamp:i+h.n}),"assistant"===c&&g.push(...t(d,b,h,i))}return{messages:f,toolCalls:g,modifiedAt:e}}},6277:(a,b,c)=>{"use strict";c.d(b,{$m:()=>r,D7:()=>k,F1:()=>q,Ki:()=>l,VS:()=>n,Xw:()=>p,ix:()=>s,l$:()=>f,pl:()=>m,xy:()=>o});var d=c(401);let e=null;function f(a){e=a}let g=new Map,h=new Map,i=new Map,j=new Map;function k(a,b){let c=i.get(a);c||(c=[],i.set(a,c)),c.push(b);let d=j.get(a);if(d)for(let a of d)a()}function l(a){return i.get(a)??[]}function m(a,b){let c=j.get(a);c||(c=new Set,j.set(a,c));let d=c;return d.add(b),()=>{d.delete(b)}}function n(a,b,c){let f={child:b,sessionId:null,mapKey:a,workspace:c,startedAt:Date.now()};g.set(a,f);let k=()=>{let a=f.sessionId??f.mapKey;g.delete(f.mapKey);let b=h.get(f.mapKey);if(b)for(let a of(h.delete(f.mapKey),b))a();if(e&&f.sessionId)try{e(a,f.workspace)}catch{}setTimeout(()=>{i.delete(f.mapKey),j.delete(f.mapKey)},d.c1)};b.on("close",k),b.on("error",k)}function o(a,b){if(!g.has(a))return b(),()=>{};let c=h.get(a);c||(c=new Set,h.set(a,c));let d=c;return d.add(b),()=>{d.delete(b)}}function p(a,b){let c=g.get(a);c&&(c.sessionId=b,b!==a&&(g.set(b,c),g.delete(a),c.mapKey=b))}function q(){let a=new Set;for(let[b,c]of g)a.add(c.sessionId??b);return Array.from(a)}function r(a){return g.has(a)}function s(a){let b=g.get(a);return!!b&&(b.child.kill("SIGTERM"),!0)}},6439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},6487:()=>{},6505:(a,b,c)=>{"use strict";c.d(b,{LS:()=>f,OG:()=>i,li:()=>g,vc:()=>h});var d=c(8629);let e=d.YjP().regex(/^[a-zA-Z0-9_-]{1,128}$/,"invalid sessionId"),f=d.Ikc({prompt:d.YjP().min(1,"prompt is required"),sessionId:e.optional(),model:d.YjP().max(128).regex(/^[a-zA-Z0-9._/-]+$/,"invalid model").optional(),mode:d.k5n(["agent","ask","plan"]).optional(),workspace:d.YjP().max(512).optional()}),g=d.Ikc({sessionId:e}),h=e;function i(a,b){let c=a.safeParse(b);if(c.success)return{data:c.data};let d=c.error.issues[0];return{error:d?.message??"Validation failed"}}},7093:(a,b,c)=>{"use strict";function d(a,b){return Response.json({error:a},{status:b})}function e(a){return d(a,400)}function f(a){return d(a,404)}function g(a="Internal server error"){return d(a,500)}function h(a,b){return a instanceof Error&&console.error(a),b}async function i(a){try{return await a.json()}catch{return e("Invalid JSON body")}}c.d(b,{Jo:()=>h,Y2:()=>i,ig:()=>g,li:()=>e,mX:()=>f})},8335:()=>{},9021:a=>{"use strict";a.exports=require("fs")},9294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},9748:a=>{"use strict";a.exports=require("fs/promises")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[873,878],()=>b(b.s=2808));module.exports=c})();
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/sessions/watch/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"622":{"*":{"id":"2146","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"1603","name":"*","chunks":[],"async":false}},"2317":{"*":{"id":"1139","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"5170","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"2263","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"8922","name":"*","chunks":[],"async":false}},"5932":{"*":{"id":"7996","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"4160","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"8495","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"9234","name":"*","chunks":[],"async":false}},"9050":{"*":{"id":"7068","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"7526","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/src/app/globals.css":{"id":3673,"name":"*","chunks":["558","static/chunks/app/layout-c1b1bf5b5f175921.js"],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/src/components/pwa-install.tsx":{"id":2317,"name":"*","chunks":["558","static/chunks/app/layout-c1b1bf5b5f175921.js"],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/src/components/chat-workspace.tsx":{"id":9050,"name":"*","chunks":["391","static/chunks/391-727d95bcfba987c2.js","593","static/chunks/app/page-cd57aa6c99572600.js"],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/src/components/error-boundary.tsx":{"id":5932,"name":"*","chunks":["391","static/chunks/391-727d95bcfba987c2.js","593","static/chunks/app/page-cd57aa6c99572600.js"],"async":false}},"entryCSSFiles":{"/Users/jonmakinen/Documents/cursor-local-remote/src/":[],"/Users/jonmakinen/Documents/cursor-local-remote/src/app/layout":[{"inlined":false,"path":"static/css/7a31a6ac831a221c.css"}],"/Users/jonmakinen/Documents/cursor-local-remote/src/app/page":[{"inlined":false,"path":"static/css/5eacd01f773eed7f.css"}],"/Users/jonmakinen/Documents/cursor-local-remote/src/app/api/sessions/route":[],"/Users/jonmakinen/Documents/cursor-local-remote/src/app/api/sessions/watch/route":[]},"rscModuleMapping":{"622":{"*":{"id":"1384","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"3597","name":"*","chunks":[],"async":false}},"2317":{"*":{"id":"3257","name":"*","chunks":[],"async":false}},"3673":{"*":{"id":"1135","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"9748","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"3041","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"5932":{"*":{"id":"1706","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"1170","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"6893","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"9576","name":"*","chunks":[],"async":false}},"9050":{"*":{"id":"6873","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/sessions/watch/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"622":{"*":{"id":"2146","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"1603","name":"*","chunks":[],"async":false}},"2317":{"*":{"id":"1139","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"5170","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"2263","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"8922","name":"*","chunks":[],"async":false}},"5932":{"*":{"id":"7996","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"4160","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"8495","name":"*","chunks":[],"async":false}},"8906":{"*":{"id":"7021","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"9234","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"7526","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/src/app/globals.css":{"id":3673,"name":"*","chunks":["558","static/chunks/app/layout-a7c7dda1f998a1ce.js"],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/src/components/pwa-install.tsx":{"id":2317,"name":"*","chunks":["558","static/chunks/app/layout-a7c7dda1f998a1ce.js"],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/src/components/chat-workspace.tsx":{"id":8906,"name":"*","chunks":["391","static/chunks/391-727d95bcfba987c2.js","593","static/chunks/app/page-bdc004bf68daf19c.js"],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/src/components/error-boundary.tsx":{"id":5932,"name":"*","chunks":["391","static/chunks/391-727d95bcfba987c2.js","593","static/chunks/app/page-bdc004bf68daf19c.js"],"async":false}},"entryCSSFiles":{"/Users/jonmakinen/Documents/cursor-local-remote/src/":[],"/Users/jonmakinen/Documents/cursor-local-remote/src/app/layout":[{"inlined":false,"path":"static/css/62c80997800f1b21.css"}],"/Users/jonmakinen/Documents/cursor-local-remote/src/app/page":[{"inlined":false,"path":"static/css/5eacd01f773eed7f.css"}],"/Users/jonmakinen/Documents/cursor-local-remote/src/app/api/sessions/route":[],"/Users/jonmakinen/Documents/cursor-local-remote/src/app/api/sessions/watch/route":[]},"rscModuleMapping":{"622":{"*":{"id":"1384","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"3597","name":"*","chunks":[],"async":false}},"2317":{"*":{"id":"3257","name":"*","chunks":[],"async":false}},"3673":{"*":{"id":"1135","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"7367","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"3041","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"5932":{"*":{"id":"1706","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"1170","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"6893","name":"*","chunks":[],"async":false}},"8906":{"*":{"id":"6873","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"9576","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
@@ -1,4 +1,4 @@
1
- (()=>{var a={};a.id=177,a.ids=[177],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},2906:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>G,patchFetch:()=>F,routeModule:()=>B,serverHooks:()=>E,workAsyncStorage:()=>C,workUnitAsyncStorage:()=>D});var d={};c.r(d),c.d(d,{GET:()=>z,PATCH:()=>A,dynamic:()=>w});var e=c(5736),f=c(9117),g=c(4044),h=c(9326),i=c(2324),j=c(261),k=c(4290),l=c(5328),m=c(8928),n=c(6595),o=c(3421),p=c(7679),q=c(1681),r=c(3446),s=c(6439),t=c(1356),u=c(7750),v=c(7093);let w="force-dynamic",x=new Set(["trust","sound"]),y=new Set(["default_model","starred_projects"]);async function z(){try{let a=await (0,u.ag)(),b={trust:!0,sound:!0,default_model:"auto",starred_projects:"[]"};for(let[c,d]of Object.entries(a))x.has(c)?b[c]="1"===d:y.has(c)&&(b[c]=d);return Response.json({settings:b})}catch{return(0,v.ig)("Failed to load settings")}}async function A(a){try{let b=await a.json(),c={};for(let[a,d]of Object.entries(b))x.has(a)&&"boolean"==typeof d?(await (0,u.Nk)(a,d?"1":"0"),c[a]=d):y.has(a)&&"string"==typeof d&&(await (0,u.Nk)(a,d),c[a]=d);return Response.json({settings:c})}catch{return(0,v.ig)("Failed to update settings")}}let B=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/settings/route",pathname:"/api/settings",filename:"route",bundlePath:"app/api/settings/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/jonmakinen/Documents/cursor-local-remote/src/app/api/settings/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:C,workUnitAsyncStorage:D,serverHooks:E}=B;function F(){return(0,g.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:D})}async function G(a,b,c){var d;let e="/api/settings/route";"/index"===e&&(e="/");let g=await B.prepare(a,b,{srcPage:e,multiZoneDraftMode:!1});if(!g)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:u,params:v,nextConfig:w,isDraftMode:x,prerenderManifest:y,routerServerContext:z,isOnDemandRevalidate:A,revalidateOnlyGenerated:C,resolvedPathname:D}=g,E=(0,j.normalizeAppPath)(e),F=!!(y.dynamicRoutes[E]||y.routes[D]);if(F&&!x){let a=!!y.routes[D],b=y.dynamicRoutes[E];if(b&&!1===b.fallback&&!a)throw new s.NoFallbackError}let G=null;!F||B.isDev||x||(G="/index"===(G=D)?"/":G);let H=!0===B.isDev||!F,I=F&&!H,J=a.method||"GET",K=(0,i.getTracer)(),L=K.getActiveScopeSpan(),M={params:v,prerenderManifest:y,renderOpts:{experimental:{cacheComponents:!!w.experimental.cacheComponents,authInterrupts:!!w.experimental.authInterrupts},supportsDynamicResponse:H,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:null==(d=w.experimental)?void 0:d.cacheLife,isRevalidate:I,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d)=>B.onRequestError(a,b,d,z)},sharedContext:{buildId:u}},N=new k.NodeNextRequest(a),O=new k.NodeNextResponse(b),P=l.NextRequestAdapter.fromNodeNextRequest(N,(0,l.signalFromNodeResponse)(b));try{let d=async c=>B.handle(P,M).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=K.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==m.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${J} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${J} ${a.url}`)}),g=async g=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!(0,h.getRequestMeta)(a,"minimalMode")&&A&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let e=await d(g);a.fetchMetrics=M.renderOpts.fetchMetrics;let i=M.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=M.renderOpts.collectedTags;if(!F)return await (0,o.I)(N,O,e,M.renderOpts.pendingWaitUntil),null;{let a=await e.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(e.headers);j&&(b[r.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,d=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=r.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:e.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:d}}}}catch(b){throw(null==f?void 0:f.isStale)&&await B.onRequestError(a,b,{routerKind:"App Router",routePath:e,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:A})},z),b}},l=await B.handleResponse({req:a,nextConfig:w,cacheKey:G,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil});if(!F)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});(0,h.getRequestMeta)(a,"minimalMode")||b.setHeader("x-nextjs-cache",A?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,p.fromNodeOutgoingHttpHeaders)(l.value.headers);return(0,h.getRequestMeta)(a,"minimalMode")&&F||m.delete(r.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,q.getCacheControlHeader)(l.cacheControl)),await (0,o.I)(N,O,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};L?await g(L):await K.withPropagatedContext(a.headers,()=>K.trace(m.BaseServerSpan.handleRequest,{spanName:`${J} ${a.url}`,kind:i.SpanKind.SERVER,attributes:{"http.method":J,"http.target":a.url}},g))}catch(b){if(b instanceof s.NoFallbackError||await B.onRequestError(a,b,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:A})}),F)throw b;return await (0,o.I)(N,O,new Response(null,{status:500})),null}}},3033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3421:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(1237),e=c(5088),f=c(7679);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},4870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},5736:(a,b,c)=>{"use strict";a.exports=c(4870)},6439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},6487:()=>{},7093:(a,b,c)=>{"use strict";function d(a,b){return Response.json({error:a},{status:b})}function e(a){return d(a,400)}function f(a){return d(a,404)}function g(a="Internal server error"){return d(a,500)}function h(a,b){return a instanceof Error&&console.error(a),b}async function i(a){try{return await a.json()}catch{return e("Invalid JSON body")}}c.d(b,{Jo:()=>h,Y2:()=>i,ig:()=>g,li:()=>e,mX:()=>f})},7750:(a,b,c)=>{"use strict";c.d(b,{jl:()=>v,JZ:()=>t,ME:()=>w,ag:()=>A,zj:()=>x,GW:()=>s,FF:()=>z,Nk:()=>y,Q$:()=>u,ih:()=>r});let d=require("sql.js");var e=c.n(d),f=c(9902),g=c(9439),h=c(9021);let i=(0,f.join)((0,g.homedir)(),".cursor-local-remote"),j=(0,f.join)(i,"sessions.db"),k=null,l=null;function m(){k&&(0,h.writeFileSync)(j,Buffer.from(k.export()))}async function n(){if(k)return k;let{Database:a}=await (!l&&(l=e()()),l);(0,h.mkdirSync)(i,{recursive:!0}),(k=(0,h.existsSync)(j)?new a((0,h.readFileSync)(j)):new a).run(`
1
+ (()=>{var a={};a.id=177,a.ids=[177],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},1820:a=>{"use strict";a.exports=require("os")},2906:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>G,patchFetch:()=>F,routeModule:()=>B,serverHooks:()=>E,workAsyncStorage:()=>C,workUnitAsyncStorage:()=>D});var d={};c.r(d),c.d(d,{GET:()=>z,PATCH:()=>A,dynamic:()=>w});var e=c(5736),f=c(9117),g=c(4044),h=c(9326),i=c(2324),j=c(261),k=c(4290),l=c(5328),m=c(8928),n=c(6595),o=c(3421),p=c(7679),q=c(1681),r=c(3446),s=c(6439),t=c(1356),u=c(6492),v=c(7093);let w="force-dynamic",x=new Set(["trust","sound","pwa_prompt"]),y=new Set(["default_model","starred_projects","webhook_url"]);async function z(){try{let a=await (0,u.ag)(),b={trust:!0,sound:!0,pwa_prompt:!0,default_model:"auto",starred_projects:"[]",webhook_url:""};for(let[c,d]of Object.entries(a))x.has(c)?b[c]="1"===d:y.has(c)&&(b[c]=d);return Response.json({settings:b})}catch{return(0,v.ig)("Failed to load settings")}}async function A(a){try{let b=await a.json(),c={};for(let[a,d]of Object.entries(b))x.has(a)&&"boolean"==typeof d?(await (0,u.Nk)(a,d?"1":"0"),c[a]=d):y.has(a)&&"string"==typeof d&&(await (0,u.Nk)(a,d),c[a]=d);return Response.json({settings:c})}catch{return(0,v.ig)("Failed to update settings")}}let B=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/settings/route",pathname:"/api/settings",filename:"route",bundlePath:"app/api/settings/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/jonmakinen/Documents/cursor-local-remote/src/app/api/settings/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:C,workUnitAsyncStorage:D,serverHooks:E}=B;function F(){return(0,g.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:D})}async function G(a,b,c){var d;let e="/api/settings/route";"/index"===e&&(e="/");let g=await B.prepare(a,b,{srcPage:e,multiZoneDraftMode:!1});if(!g)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:u,params:v,nextConfig:w,isDraftMode:x,prerenderManifest:y,routerServerContext:z,isOnDemandRevalidate:A,revalidateOnlyGenerated:C,resolvedPathname:D}=g,E=(0,j.normalizeAppPath)(e),F=!!(y.dynamicRoutes[E]||y.routes[D]);if(F&&!x){let a=!!y.routes[D],b=y.dynamicRoutes[E];if(b&&!1===b.fallback&&!a)throw new s.NoFallbackError}let G=null;!F||B.isDev||x||(G="/index"===(G=D)?"/":G);let H=!0===B.isDev||!F,I=F&&!H,J=a.method||"GET",K=(0,i.getTracer)(),L=K.getActiveScopeSpan(),M={params:v,prerenderManifest:y,renderOpts:{experimental:{cacheComponents:!!w.experimental.cacheComponents,authInterrupts:!!w.experimental.authInterrupts},supportsDynamicResponse:H,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:null==(d=w.experimental)?void 0:d.cacheLife,isRevalidate:I,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d)=>B.onRequestError(a,b,d,z)},sharedContext:{buildId:u}},N=new k.NodeNextRequest(a),O=new k.NodeNextResponse(b),P=l.NextRequestAdapter.fromNodeNextRequest(N,(0,l.signalFromNodeResponse)(b));try{let d=async c=>B.handle(P,M).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=K.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==m.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${J} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${J} ${a.url}`)}),g=async g=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!(0,h.getRequestMeta)(a,"minimalMode")&&A&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let e=await d(g);a.fetchMetrics=M.renderOpts.fetchMetrics;let i=M.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=M.renderOpts.collectedTags;if(!F)return await (0,o.I)(N,O,e,M.renderOpts.pendingWaitUntil),null;{let a=await e.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(e.headers);j&&(b[r.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,d=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=r.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:e.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:d}}}}catch(b){throw(null==f?void 0:f.isStale)&&await B.onRequestError(a,b,{routerKind:"App Router",routePath:e,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:A})},z),b}},l=await B.handleResponse({req:a,nextConfig:w,cacheKey:G,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil});if(!F)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});(0,h.getRequestMeta)(a,"minimalMode")||b.setHeader("x-nextjs-cache",A?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,p.fromNodeOutgoingHttpHeaders)(l.value.headers);return(0,h.getRequestMeta)(a,"minimalMode")&&F||m.delete(r.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,q.getCacheControlHeader)(l.cacheControl)),await (0,o.I)(N,O,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};L?await g(L):await K.withPropagatedContext(a.headers,()=>K.trace(m.BaseServerSpan.handleRequest,{spanName:`${J} ${a.url}`,kind:i.SpanKind.SERVER,attributes:{"http.method":J,"http.target":a.url}},g))}catch(b){if(b instanceof s.NoFallbackError||await B.onRequestError(a,b,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:A})}),F)throw b;return await (0,o.I)(N,O,new Response(null,{status:500})),null}}},3033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3421:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(1237),e=c(5088),f=c(7679);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},3873:a=>{"use strict";a.exports=require("path")},4870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},5736:(a,b,c)=>{"use strict";a.exports=c(4870)},6293:a=>{"use strict";a.exports=require("sql.js")},6439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},6487:()=>{},6492:(a,b,c)=>{"use strict";c.d(b,{FF:()=>A,GW:()=>t,JZ:()=>u,ME:()=>x,Nk:()=>z,Pn:()=>r,Q$:()=>v,ag:()=>B,ih:()=>s,jl:()=>w,zj:()=>y});var d=c(6293),e=c.n(d),f=c(3873),g=c(1820),h=c(9021);let i=(0,f.join)((0,g.homedir)(),".cursor-local-remote"),j=(0,f.join)(i,"sessions.db"),k=null,l=null;function m(){k&&(0,h.writeFileSync)(j,Buffer.from(k.export()))}async function n(){if(k)return k;let{Database:a}=await (!l&&(l=e()()),l);(0,h.mkdirSync)(i,{recursive:!0}),(k=(0,h.existsSync)(j)?new a((0,h.readFileSync)(j)):new a).run(`
2
2
  CREATE TABLE IF NOT EXISTS sessions (
3
3
  id TEXT PRIMARY KEY,
4
4
  title TEXT NOT NULL,
@@ -12,4 +12,4 @@
12
12
  key TEXT PRIMARY KEY,
13
13
  value TEXT NOT NULL
14
14
  )
15
- `),m(),k}function o(a,b,c){let d=a.prepare(b);try{if(d.bind(c),d.step())return d.getAsObject();return}finally{d.free()}}function p(a,b,c=[]){let d=a.prepare(b);try{d.bind(c);let a=[];for(;d.step();)a.push(d.getAsObject());return a}finally{d.free()}}function q(a){return{id:a.id,title:a.title,workspace:a.workspace,preview:a.preview,createdAt:a.created_at,updatedAt:a.updated_at}}async function r(a,b,c){let d=await n(),e=Date.now(),f=o(d,"SELECT * FROM sessions WHERE id = ?",[a]);if(f){let b=c?c.slice(0,120):f.preview;return d.run("UPDATE sessions SET updated_at = ?, preview = ? WHERE id = ?",[e,b,a]),m(),q({...f,updated_at:e,preview:b})}let g=c.slice(0,60)||"New session",h=c.slice(0,120);return d.run("INSERT INTO sessions (id, title, workspace, preview, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?)",[a,g,b,h,e,e]),m(),{id:a,title:g,workspace:b,preview:h,createdAt:e,updatedAt:e}}async function s(a,b=!1){let c=await n(),d=b?" archived = 1":" archived = 0";return(a?p(c,"SELECT * FROM sessions WHERE workspace = ? AND"+d+" ORDER BY updated_at DESC",[a]):p(c,"SELECT * FROM sessions WHERE"+d+" ORDER BY updated_at DESC")).map(q)}async function t(a){(await n()).run("UPDATE sessions SET archived = 1 WHERE id = ?",[a]),m()}async function u(a){(await n()).run("UPDATE sessions SET archived = 0 WHERE id = ?",[a]),m()}async function v(a){let b=await n();a?b.run("UPDATE sessions SET archived = 1 WHERE workspace = ? AND archived = 0",[a]):b.run("UPDATE sessions SET archived = 1 WHERE archived = 0"),m()}async function w(a){(await n()).run("DELETE FROM sessions WHERE id = ?",[a]),m()}async function x(a){let b=o(await n(),"SELECT value FROM config WHERE key = ?",[a]);return b?.value}async function y(a,b){(await n()).run("INSERT OR REPLACE INTO config (key, value) VALUES (?, ?)",[a,b]),m()}async function z(){return p(await n(),"SELECT DISTINCT workspace FROM sessions ORDER BY workspace").map(a=>a.workspace)}async function A(){let a=p(await n(),"SELECT key, value FROM config WHERE key NOT LIKE 'vapid%'"),b={};for(let c of a)b[c.key]=c.value;return b}},8335:()=>{},9021:a=>{"use strict";a.exports=require("fs")},9294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},9439:a=>{"use strict";a.exports=require("os")},9902:a=>{"use strict";a.exports=require("path")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[873],()=>b(b.s=2906));module.exports=c})();
15
+ `),m(),k}function o(a,b,c){let d=a.prepare(b);try{if(d.bind(c),d.step())return d.getAsObject();return}finally{d.free()}}function p(a,b,c=[]){let d=a.prepare(b);try{d.bind(c);let a=[];for(;d.step();)a.push(d.getAsObject());return a}finally{d.free()}}function q(a){return{id:a.id,title:a.title,workspace:a.workspace,preview:a.preview,createdAt:a.created_at,updatedAt:a.updated_at}}async function r(a){let b=o(await n(),"SELECT title FROM sessions WHERE id = ?",[a]);return b?b.title:null}async function s(a,b,c){let d=await n(),e=Date.now(),f=o(d,"SELECT * FROM sessions WHERE id = ?",[a]);if(f){let b=c?c.slice(0,120):f.preview;return d.run("UPDATE sessions SET updated_at = ?, preview = ? WHERE id = ?",[e,b,a]),m(),q({...f,updated_at:e,preview:b})}let g=c.slice(0,60)||"New session",h=c.slice(0,120);return d.run("INSERT INTO sessions (id, title, workspace, preview, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?)",[a,g,b,h,e,e]),m(),{id:a,title:g,workspace:b,preview:h,createdAt:e,updatedAt:e}}async function t(a,b=!1){let c=await n(),d=b?" archived = 1":" archived = 0";return(a?p(c,"SELECT * FROM sessions WHERE workspace = ? AND"+d+" ORDER BY updated_at DESC",[a]):p(c,"SELECT * FROM sessions WHERE"+d+" ORDER BY updated_at DESC")).map(q)}async function u(a){(await n()).run("UPDATE sessions SET archived = 1 WHERE id = ?",[a]),m()}async function v(a){(await n()).run("UPDATE sessions SET archived = 0 WHERE id = ?",[a]),m()}async function w(a){let b=await n();a?b.run("UPDATE sessions SET archived = 1 WHERE workspace = ? AND archived = 0",[a]):b.run("UPDATE sessions SET archived = 1 WHERE archived = 0"),m()}async function x(a){(await n()).run("DELETE FROM sessions WHERE id = ?",[a]),m()}async function y(a){let b=o(await n(),"SELECT value FROM config WHERE key = ?",[a]);return b?.value}async function z(a,b){(await n()).run("INSERT OR REPLACE INTO config (key, value) VALUES (?, ?)",[a,b]),m()}async function A(){return p(await n(),"SELECT DISTINCT workspace FROM sessions ORDER BY workspace").map(a=>a.workspace)}async function B(){let a=p(await n(),"SELECT key, value FROM config WHERE key NOT LIKE 'vapid%'"),b={};for(let c of a)b[c.key]=c.value;return b}},7093:(a,b,c)=>{"use strict";function d(a,b){return Response.json({error:a},{status:b})}function e(a){return d(a,400)}function f(a){return d(a,404)}function g(a="Internal server error"){return d(a,500)}function h(a,b){return a instanceof Error&&console.error(a),b}async function i(a){try{return await a.json()}catch{return e("Invalid JSON body")}}c.d(b,{Jo:()=>h,Y2:()=>i,ig:()=>g,li:()=>e,mX:()=>f})},8335:()=>{},9021:a=>{"use strict";a.exports=require("fs")},9294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[873],()=>b(b.s=2906));module.exports=c})();
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/settings/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"622":{"*":{"id":"2146","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"1603","name":"*","chunks":[],"async":false}},"2317":{"*":{"id":"1139","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"5170","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"2263","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"8922","name":"*","chunks":[],"async":false}},"5932":{"*":{"id":"7996","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"4160","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"8495","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"9234","name":"*","chunks":[],"async":false}},"9050":{"*":{"id":"7068","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"7526","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/src/app/globals.css":{"id":3673,"name":"*","chunks":["558","static/chunks/app/layout-c1b1bf5b5f175921.js"],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/src/components/pwa-install.tsx":{"id":2317,"name":"*","chunks":["558","static/chunks/app/layout-c1b1bf5b5f175921.js"],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/src/components/chat-workspace.tsx":{"id":9050,"name":"*","chunks":["391","static/chunks/391-727d95bcfba987c2.js","593","static/chunks/app/page-cd57aa6c99572600.js"],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/src/components/error-boundary.tsx":{"id":5932,"name":"*","chunks":["391","static/chunks/391-727d95bcfba987c2.js","593","static/chunks/app/page-cd57aa6c99572600.js"],"async":false}},"entryCSSFiles":{"/Users/jonmakinen/Documents/cursor-local-remote/src/":[],"/Users/jonmakinen/Documents/cursor-local-remote/src/app/layout":[{"inlined":false,"path":"static/css/7a31a6ac831a221c.css"}],"/Users/jonmakinen/Documents/cursor-local-remote/src/app/page":[{"inlined":false,"path":"static/css/5eacd01f773eed7f.css"}],"/Users/jonmakinen/Documents/cursor-local-remote/src/app/api/settings/route":[]},"rscModuleMapping":{"622":{"*":{"id":"1384","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"3597","name":"*","chunks":[],"async":false}},"2317":{"*":{"id":"3257","name":"*","chunks":[],"async":false}},"3673":{"*":{"id":"1135","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"9748","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"3041","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"5932":{"*":{"id":"1706","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"1170","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"6893","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"9576","name":"*","chunks":[],"async":false}},"9050":{"*":{"id":"6873","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/settings/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"622":{"*":{"id":"2146","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"1603","name":"*","chunks":[],"async":false}},"2317":{"*":{"id":"1139","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"5170","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"2263","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"8922","name":"*","chunks":[],"async":false}},"5932":{"*":{"id":"7996","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"4160","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"8495","name":"*","chunks":[],"async":false}},"8906":{"*":{"id":"7021","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"9234","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"7526","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/src/app/globals.css":{"id":3673,"name":"*","chunks":["558","static/chunks/app/layout-a7c7dda1f998a1ce.js"],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/src/components/pwa-install.tsx":{"id":2317,"name":"*","chunks":["558","static/chunks/app/layout-a7c7dda1f998a1ce.js"],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/src/components/chat-workspace.tsx":{"id":8906,"name":"*","chunks":["391","static/chunks/391-727d95bcfba987c2.js","593","static/chunks/app/page-bdc004bf68daf19c.js"],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/src/components/error-boundary.tsx":{"id":5932,"name":"*","chunks":["391","static/chunks/391-727d95bcfba987c2.js","593","static/chunks/app/page-bdc004bf68daf19c.js"],"async":false}},"entryCSSFiles":{"/Users/jonmakinen/Documents/cursor-local-remote/src/":[],"/Users/jonmakinen/Documents/cursor-local-remote/src/app/layout":[{"inlined":false,"path":"static/css/62c80997800f1b21.css"}],"/Users/jonmakinen/Documents/cursor-local-remote/src/app/page":[{"inlined":false,"path":"static/css/5eacd01f773eed7f.css"}],"/Users/jonmakinen/Documents/cursor-local-remote/src/app/api/settings/route":[]},"rscModuleMapping":{"622":{"*":{"id":"1384","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"3597","name":"*","chunks":[],"async":false}},"2317":{"*":{"id":"3257","name":"*","chunks":[],"async":false}},"3673":{"*":{"id":"1135","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"7367","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"3041","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"5932":{"*":{"id":"1706","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"1170","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"6893","name":"*","chunks":[],"async":false}},"8906":{"*":{"id":"6873","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"9576","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
@@ -1 +1 @@
1
- (()=>{var a={};a.id=413,a.ids=[413],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},3033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3421:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(1237),e=c(5088),f=c(7679);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},4870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},5221:(a,b,c)=>{"use strict";c.d(b,{K:()=>e});var d=c(9902);function e(){let a=process.env.CURSOR_WORKSPACE;return a?(0,d.resolve)(a):process.cwd()}},5736:(a,b,c)=>{"use strict";a.exports=c(4870)},6439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},6487:()=>{},7093:(a,b,c)=>{"use strict";function d(a,b){return Response.json({error:a},{status:b})}function e(a){return d(a,400)}function f(a){return d(a,404)}function g(a="Internal server error"){return d(a,500)}function h(a,b){return a instanceof Error&&console.error(a),b}async function i(a){try{return await a.json()}catch{return e("Invalid JSON body")}}c.d(b,{Jo:()=>h,Y2:()=>i,ig:()=>g,li:()=>e,mX:()=>f})},8335:()=>{},8564:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>G,patchFetch:()=>F,routeModule:()=>B,serverHooks:()=>E,workAsyncStorage:()=>C,workUnitAsyncStorage:()=>D});var d={};c.r(d),c.d(d,{POST:()=>A,dynamic:()=>y});var e=c(5736),f=c(9117),g=c(4044),h=c(9326),i=c(2324),j=c(261),k=c(4290),l=c(5328),m=c(8928),n=c(6595),o=c(3421),p=c(7679),q=c(1681),r=c(3446),s=c(6439),t=c(1356),u=c(9902),v=c(9021),w=c(5221),x=c(7093);let y="force-dynamic",z=new Set(["image/png","image/jpeg","image/gif","image/webp"]);async function A(a){try{let b=await a.formData(),c=(0,w.K)(),d=(0,u.join)(c,".cursor-remote-images");(0,v.mkdirSync)(d,{recursive:!0});let e=[];for(let[,a]of b.entries()){if(!(a instanceof File)||!z.has(a.type)||a.size>0xa00000)continue;let b=a.name.split(".").pop()||"png",c=`${Date.now()}-${Math.random().toString(36).slice(2,8)}.${b}`,f=(0,u.join)(d,c),g=Buffer.from(await a.arrayBuffer());(0,v.writeFileSync)(f,g),e.push(f)}if(0===e.length)return Response.json({error:"No valid images"},{status:400});return Response.json({paths:e})}catch{return(0,x.ig)("Failed to upload image")}}let B=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/upload/route",pathname:"/api/upload",filename:"route",bundlePath:"app/api/upload/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/jonmakinen/Documents/cursor-local-remote/src/app/api/upload/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:C,workUnitAsyncStorage:D,serverHooks:E}=B;function F(){return(0,g.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:D})}async function G(a,b,c){var d;let e="/api/upload/route";"/index"===e&&(e="/");let g=await B.prepare(a,b,{srcPage:e,multiZoneDraftMode:!1});if(!g)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:u,params:v,nextConfig:w,isDraftMode:x,prerenderManifest:y,routerServerContext:z,isOnDemandRevalidate:A,revalidateOnlyGenerated:C,resolvedPathname:D}=g,E=(0,j.normalizeAppPath)(e),F=!!(y.dynamicRoutes[E]||y.routes[D]);if(F&&!x){let a=!!y.routes[D],b=y.dynamicRoutes[E];if(b&&!1===b.fallback&&!a)throw new s.NoFallbackError}let G=null;!F||B.isDev||x||(G="/index"===(G=D)?"/":G);let H=!0===B.isDev||!F,I=F&&!H,J=a.method||"GET",K=(0,i.getTracer)(),L=K.getActiveScopeSpan(),M={params:v,prerenderManifest:y,renderOpts:{experimental:{cacheComponents:!!w.experimental.cacheComponents,authInterrupts:!!w.experimental.authInterrupts},supportsDynamicResponse:H,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:null==(d=w.experimental)?void 0:d.cacheLife,isRevalidate:I,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d)=>B.onRequestError(a,b,d,z)},sharedContext:{buildId:u}},N=new k.NodeNextRequest(a),O=new k.NodeNextResponse(b),P=l.NextRequestAdapter.fromNodeNextRequest(N,(0,l.signalFromNodeResponse)(b));try{let d=async c=>B.handle(P,M).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=K.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==m.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${J} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${J} ${a.url}`)}),g=async g=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!(0,h.getRequestMeta)(a,"minimalMode")&&A&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let e=await d(g);a.fetchMetrics=M.renderOpts.fetchMetrics;let i=M.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=M.renderOpts.collectedTags;if(!F)return await (0,o.I)(N,O,e,M.renderOpts.pendingWaitUntil),null;{let a=await e.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(e.headers);j&&(b[r.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,d=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=r.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:e.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:d}}}}catch(b){throw(null==f?void 0:f.isStale)&&await B.onRequestError(a,b,{routerKind:"App Router",routePath:e,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:A})},z),b}},l=await B.handleResponse({req:a,nextConfig:w,cacheKey:G,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil});if(!F)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});(0,h.getRequestMeta)(a,"minimalMode")||b.setHeader("x-nextjs-cache",A?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,p.fromNodeOutgoingHttpHeaders)(l.value.headers);return(0,h.getRequestMeta)(a,"minimalMode")&&F||m.delete(r.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,q.getCacheControlHeader)(l.cacheControl)),await (0,o.I)(N,O,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};L?await g(L):await K.withPropagatedContext(a.headers,()=>K.trace(m.BaseServerSpan.handleRequest,{spanName:`${J} ${a.url}`,kind:i.SpanKind.SERVER,attributes:{"http.method":J,"http.target":a.url}},g))}catch(b){if(b instanceof s.NoFallbackError||await B.onRequestError(a,b,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:A})}),F)throw b;return await (0,o.I)(N,O,new Response(null,{status:500})),null}}},9021:a=>{"use strict";a.exports=require("fs")},9294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},9902:a=>{"use strict";a.exports=require("path")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[873],()=>b(b.s=8564));module.exports=c})();
1
+ (()=>{var a={};a.id=413,a.ids=[413],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},3033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3421:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(1237),e=c(5088),f=c(7679);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},3873:a=>{"use strict";a.exports=require("path")},4870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},5221:(a,b,c)=>{"use strict";c.d(b,{K:()=>e});var d=c(3873);function e(){let a=process.env.CURSOR_WORKSPACE;return a?(0,d.resolve)(a):process.cwd()}},5736:(a,b,c)=>{"use strict";a.exports=c(4870)},6439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},6487:()=>{},7093:(a,b,c)=>{"use strict";function d(a,b){return Response.json({error:a},{status:b})}function e(a){return d(a,400)}function f(a){return d(a,404)}function g(a="Internal server error"){return d(a,500)}function h(a,b){return a instanceof Error&&console.error(a),b}async function i(a){try{return await a.json()}catch{return e("Invalid JSON body")}}c.d(b,{Jo:()=>h,Y2:()=>i,ig:()=>g,li:()=>e,mX:()=>f})},8335:()=>{},8564:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>G,patchFetch:()=>F,routeModule:()=>B,serverHooks:()=>E,workAsyncStorage:()=>C,workUnitAsyncStorage:()=>D});var d={};c.r(d),c.d(d,{POST:()=>A,dynamic:()=>y});var e=c(5736),f=c(9117),g=c(4044),h=c(9326),i=c(2324),j=c(261),k=c(4290),l=c(5328),m=c(8928),n=c(6595),o=c(3421),p=c(7679),q=c(1681),r=c(3446),s=c(6439),t=c(1356),u=c(3873),v=c(9021),w=c(5221),x=c(7093);let y="force-dynamic",z=new Set(["image/png","image/jpeg","image/gif","image/webp"]);async function A(a){try{let b=await a.formData(),c=(0,w.K)(),d=(0,u.join)(c,".cursor-remote-images");(0,v.mkdirSync)(d,{recursive:!0});let e=[];for(let[,a]of b.entries()){if(!(a instanceof File)||!z.has(a.type)||a.size>0xa00000)continue;let b=a.name.split(".").pop()||"png",c=`${Date.now()}-${Math.random().toString(36).slice(2,8)}.${b}`,f=(0,u.join)(d,c),g=Buffer.from(await a.arrayBuffer());(0,v.writeFileSync)(f,g),e.push(f)}if(0===e.length)return Response.json({error:"No valid images"},{status:400});return Response.json({paths:e})}catch{return(0,x.ig)("Failed to upload image")}}let B=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/upload/route",pathname:"/api/upload",filename:"route",bundlePath:"app/api/upload/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/jonmakinen/Documents/cursor-local-remote/src/app/api/upload/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:C,workUnitAsyncStorage:D,serverHooks:E}=B;function F(){return(0,g.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:D})}async function G(a,b,c){var d;let e="/api/upload/route";"/index"===e&&(e="/");let g=await B.prepare(a,b,{srcPage:e,multiZoneDraftMode:!1});if(!g)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:u,params:v,nextConfig:w,isDraftMode:x,prerenderManifest:y,routerServerContext:z,isOnDemandRevalidate:A,revalidateOnlyGenerated:C,resolvedPathname:D}=g,E=(0,j.normalizeAppPath)(e),F=!!(y.dynamicRoutes[E]||y.routes[D]);if(F&&!x){let a=!!y.routes[D],b=y.dynamicRoutes[E];if(b&&!1===b.fallback&&!a)throw new s.NoFallbackError}let G=null;!F||B.isDev||x||(G="/index"===(G=D)?"/":G);let H=!0===B.isDev||!F,I=F&&!H,J=a.method||"GET",K=(0,i.getTracer)(),L=K.getActiveScopeSpan(),M={params:v,prerenderManifest:y,renderOpts:{experimental:{cacheComponents:!!w.experimental.cacheComponents,authInterrupts:!!w.experimental.authInterrupts},supportsDynamicResponse:H,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:null==(d=w.experimental)?void 0:d.cacheLife,isRevalidate:I,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d)=>B.onRequestError(a,b,d,z)},sharedContext:{buildId:u}},N=new k.NodeNextRequest(a),O=new k.NodeNextResponse(b),P=l.NextRequestAdapter.fromNodeNextRequest(N,(0,l.signalFromNodeResponse)(b));try{let d=async c=>B.handle(P,M).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=K.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==m.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${J} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${J} ${a.url}`)}),g=async g=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!(0,h.getRequestMeta)(a,"minimalMode")&&A&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let e=await d(g);a.fetchMetrics=M.renderOpts.fetchMetrics;let i=M.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=M.renderOpts.collectedTags;if(!F)return await (0,o.I)(N,O,e,M.renderOpts.pendingWaitUntil),null;{let a=await e.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(e.headers);j&&(b[r.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,d=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=r.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:e.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:d}}}}catch(b){throw(null==f?void 0:f.isStale)&&await B.onRequestError(a,b,{routerKind:"App Router",routePath:e,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:A})},z),b}},l=await B.handleResponse({req:a,nextConfig:w,cacheKey:G,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil});if(!F)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});(0,h.getRequestMeta)(a,"minimalMode")||b.setHeader("x-nextjs-cache",A?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,p.fromNodeOutgoingHttpHeaders)(l.value.headers);return(0,h.getRequestMeta)(a,"minimalMode")&&F||m.delete(r.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,q.getCacheControlHeader)(l.cacheControl)),await (0,o.I)(N,O,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};L?await g(L):await K.withPropagatedContext(a.headers,()=>K.trace(m.BaseServerSpan.handleRequest,{spanName:`${J} ${a.url}`,kind:i.SpanKind.SERVER,attributes:{"http.method":J,"http.target":a.url}},g))}catch(b){if(b instanceof s.NoFallbackError||await B.onRequestError(a,b,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:A})}),F)throw b;return await (0,o.I)(N,O,new Response(null,{status:500})),null}}},9021:a=>{"use strict";a.exports=require("fs")},9294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[873],()=>b(b.s=8564));module.exports=c})();
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/upload/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"622":{"*":{"id":"2146","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"1603","name":"*","chunks":[],"async":false}},"2317":{"*":{"id":"1139","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"5170","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"2263","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"8922","name":"*","chunks":[],"async":false}},"5932":{"*":{"id":"7996","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"4160","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"8495","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"9234","name":"*","chunks":[],"async":false}},"9050":{"*":{"id":"7068","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"7526","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/src/app/globals.css":{"id":3673,"name":"*","chunks":["558","static/chunks/app/layout-c1b1bf5b5f175921.js"],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/src/components/pwa-install.tsx":{"id":2317,"name":"*","chunks":["558","static/chunks/app/layout-c1b1bf5b5f175921.js"],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/src/components/chat-workspace.tsx":{"id":9050,"name":"*","chunks":["391","static/chunks/391-727d95bcfba987c2.js","593","static/chunks/app/page-cd57aa6c99572600.js"],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/src/components/error-boundary.tsx":{"id":5932,"name":"*","chunks":["391","static/chunks/391-727d95bcfba987c2.js","593","static/chunks/app/page-cd57aa6c99572600.js"],"async":false}},"entryCSSFiles":{"/Users/jonmakinen/Documents/cursor-local-remote/src/":[],"/Users/jonmakinen/Documents/cursor-local-remote/src/app/layout":[{"inlined":false,"path":"static/css/7a31a6ac831a221c.css"}],"/Users/jonmakinen/Documents/cursor-local-remote/src/app/page":[{"inlined":false,"path":"static/css/5eacd01f773eed7f.css"}],"/Users/jonmakinen/Documents/cursor-local-remote/src/app/api/upload/route":[]},"rscModuleMapping":{"622":{"*":{"id":"1384","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"3597","name":"*","chunks":[],"async":false}},"2317":{"*":{"id":"3257","name":"*","chunks":[],"async":false}},"3673":{"*":{"id":"1135","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"9748","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"3041","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"5932":{"*":{"id":"1706","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"1170","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"6893","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"9576","name":"*","chunks":[],"async":false}},"9050":{"*":{"id":"6873","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/upload/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"622":{"*":{"id":"2146","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"1603","name":"*","chunks":[],"async":false}},"2317":{"*":{"id":"1139","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"5170","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"2263","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"8922","name":"*","chunks":[],"async":false}},"5932":{"*":{"id":"7996","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"4160","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"8495","name":"*","chunks":[],"async":false}},"8906":{"*":{"id":"7021","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"9234","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"7526","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/src/app/globals.css":{"id":3673,"name":"*","chunks":["558","static/chunks/app/layout-a7c7dda1f998a1ce.js"],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/src/components/pwa-install.tsx":{"id":2317,"name":"*","chunks":["558","static/chunks/app/layout-a7c7dda1f998a1ce.js"],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/src/components/chat-workspace.tsx":{"id":8906,"name":"*","chunks":["391","static/chunks/391-727d95bcfba987c2.js","593","static/chunks/app/page-bdc004bf68daf19c.js"],"async":false},"/Users/jonmakinen/Documents/cursor-local-remote/src/components/error-boundary.tsx":{"id":5932,"name":"*","chunks":["391","static/chunks/391-727d95bcfba987c2.js","593","static/chunks/app/page-bdc004bf68daf19c.js"],"async":false}},"entryCSSFiles":{"/Users/jonmakinen/Documents/cursor-local-remote/src/":[],"/Users/jonmakinen/Documents/cursor-local-remote/src/app/layout":[{"inlined":false,"path":"static/css/62c80997800f1b21.css"}],"/Users/jonmakinen/Documents/cursor-local-remote/src/app/page":[{"inlined":false,"path":"static/css/5eacd01f773eed7f.css"}],"/Users/jonmakinen/Documents/cursor-local-remote/src/app/api/upload/route":[]},"rscModuleMapping":{"622":{"*":{"id":"1384","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"3597","name":"*","chunks":[],"async":false}},"2317":{"*":{"id":"3257","name":"*","chunks":[],"async":false}},"3673":{"*":{"id":"1135","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"7367","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"3041","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"5932":{"*":{"id":"1706","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"1170","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"6893","name":"*","chunks":[],"async":false}},"8906":{"*":{"id":"6873","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"9576","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html><!--cH5h87qDQAGoVaAIw15pq--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/><link rel="stylesheet" href="/_next/static/css/7a31a6ac831a221c.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/5eacd01f773eed7f.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-d434b6449a9cd8f3.js"/><script src="/_next/static/chunks/4bd1b696-c023c6e3521b1417.js" async=""></script><script src="/_next/static/chunks/255-ebd51be49873d76c.js" async=""></script><script src="/_next/static/chunks/main-app-14a04931699eb2a2.js" async=""></script><script src="/_next/static/chunks/app/layout-c1b1bf5b5f175921.js" async=""></script><script src="/_next/static/chunks/391-727d95bcfba987c2.js" async=""></script><script src="/_next/static/chunks/app/page-cd57aa6c99572600.js" async=""></script><meta name="theme-color" content="#0a0a0b"/><title>Cursor Local Remote</title><meta name="description" content="Control Cursor IDE from any device on your local network"/><link rel="manifest" href="/manifest.webmanifest"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="CLR"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><link rel="icon" href="/icon.png?c7e4facf85613587" type="image/png" sizes="32x32"/><link rel="apple-touch-icon" href="/apple-icon.png?4e1b4f0ebf73adf0" type="image/png" sizes="180x180"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="overscroll-none"><div hidden=""><!--$--><!--/$--></div><script>
1
+ <!DOCTYPE html><!--JHNi3dquD5OcV7Sclue9U--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/><link rel="stylesheet" href="/_next/static/css/62c80997800f1b21.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/5eacd01f773eed7f.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-d434b6449a9cd8f3.js"/><script src="/_next/static/chunks/4bd1b696-c023c6e3521b1417.js" async=""></script><script src="/_next/static/chunks/255-ebd51be49873d76c.js" async=""></script><script src="/_next/static/chunks/main-app-14a04931699eb2a2.js" async=""></script><script src="/_next/static/chunks/app/layout-a7c7dda1f998a1ce.js" async=""></script><script src="/_next/static/chunks/391-727d95bcfba987c2.js" async=""></script><script src="/_next/static/chunks/app/page-bdc004bf68daf19c.js" async=""></script><meta name="theme-color" content="#0a0a0b"/><title>Cursor Local Remote</title><meta name="description" content="Control Cursor IDE from any device on your local network"/><link rel="manifest" href="/manifest.webmanifest"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="CLR"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><link rel="icon" href="/icon.png?c7e4facf85613587" type="image/png" sizes="32x32"/><link rel="apple-touch-icon" href="/apple-icon.png?4e1b4f0ebf73adf0" type="image/png" sizes="180x180"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="overscroll-none"><div hidden=""><!--$--><!--/$--></div><script>
2
2
  if('serviceWorker' in navigator){
3
3
  navigator.serviceWorker.getRegistrations().then(function(r){
4
4
  r.forEach(function(reg){reg.unregister()})
@@ -8,4 +8,4 @@ if('serviceWorker' in navigator){
8
8
  k.forEach(function(n){caches.delete(n)})
9
9
  })
10
10
  }
11
- }</script><div class="h-dvh"><div class="h-full"><div class="h-full flex flex-col"><header class="shrink-0 flex items-center justify-between h-11 px-3 border-b border-border"><div class="flex items-center gap-2"><button aria-label="Open session sidebar" class="p-2 rounded-md hover:bg-bg-hover transition-colors text-text-muted hover:text-text-secondary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class=""><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="12" x2="15" y2="12"></line><line x1="3" y1="18" x2="18" y2="18"></line></svg></button><span class="text-[13px] font-medium text-text-secondary">~</span></div><div class="flex items-center gap-1"><button class="p-2 rounded-md hover:bg-bg-hover transition-colors text-text-muted hover:text-text-secondary" aria-label="Settings"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class=""><circle cx="12" cy="12" r="3"></circle><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"></path></svg></button><button class="p-2 rounded-md hover:bg-bg-hover transition-colors text-text-muted hover:text-text-secondary" aria-label="Connect device"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="7" height="7" rx="1"></rect><rect x="14" y="3" width="7" height="7" rx="1"></rect><rect x="3" y="14" width="7" height="7" rx="1"></rect><rect x="14" y="14" width="3" height="3"></rect><line x1="21" y1="14" x2="21" y2="14.01"></line><line x1="21" y1="21" x2="21" y2="21.01"></line></svg></button></div></header><div class="flex-1 flex items-center justify-center px-6"><div class="flex flex-col items-center max-w-sm"><p class="text-text-secondary text-[13px] font-medium mb-1">Cursor Remote</p><p class="text-text-muted text-[12px] leading-relaxed">Send a message to start an agent session.</p></div></div><div class="shrink-0 bg-bg px-4 py-3 safe-bottom"><div class="max-w-3xl mx-auto"><div class="relative bg-bg-surface border rounded-xl focus-within:border-text-muted/40 transition-colors border-border"><textarea placeholder="Ask Cursor anything..." aria-label="Message input" rows="1" class="w-full resize-none bg-transparent px-3.5 pt-2.5 pb-1 pr-10 text-[13px] text-text placeholder:text-text-muted focus:outline-none"></textarea><div class="flex items-center justify-between px-2 pb-2"><div class="flex items-center gap-1" role="radiogroup" aria-label="Agent mode"><button role="radio" aria-checked="true" class="px-3 py-1.5 rounded text-[12px] font-medium transition-colors bg-bg-active text-text">Agent</button><button role="radio" aria-checked="false" class="px-3 py-1.5 rounded text-[12px] font-medium transition-colors text-text-muted hover:text-text-secondary hover:bg-bg-hover">Ask</button><button role="radio" aria-checked="false" class="px-3 py-1.5 rounded text-[12px] font-medium transition-colors text-text-muted hover:text-text-secondary hover:bg-bg-hover">Plan</button><span class="hidden sm:inline text-[10px] text-text-muted/50 ml-2 select-none">Enter ↵ send · Shift+Enter newline</span></div><div class="flex items-center gap-1.5"><div class="relative"><button aria-haspopup="listbox" aria-expanded="false" aria-label="Select model" class="flex items-center gap-1 px-3 py-1.5 rounded text-[12px] text-text-muted hover:text-text-secondary hover:bg-bg-hover transition-colors"><span class="inline-block rounded-full border-2 border-text-muted border-t-transparent animate-spin w-2.5 h-2.5"></span><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class=""><polyline points="6 9 12 15 18 9"></polyline></svg></button></div><button disabled="" class="p-2 rounded-md text-text-muted hover:text-text disabled:opacity-20 disabled:cursor-not-allowed transition-colors" aria-label="Send message"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class=""><line x1="12" y1="19" x2="12" y2="5"></line><polyline points="5 12 12 5 19 12"></polyline></svg></button></div></div></div></div></div></div></div><div role="dialog" aria-label="Session history" aria-hidden="true" class="fixed inset-0 z-50 bg-bg-elevated transform transition-transform duration-150 flex flex-col sm:inset-auto sm:top-0 sm:left-0 sm:h-full sm:w-[280px] sm:border-r sm:border-border -translate-x-full"><div class="flex items-center justify-between h-11 px-3 border-b border-border shrink-0"><span class="text-[13px] font-medium text-text-secondary">Sessions</span><div class="flex items-center gap-0.5"><button aria-label="Refresh sessions" class="p-1 rounded-md hover:bg-bg-hover text-text-muted hover:text-text-secondary transition-colors disabled:opacity-40"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class=""><path d="M21 12a9 9 0 1 1-6.22-8.56"></path><polyline points="21 3 21 9 15 9"></polyline></svg></button><button aria-label="Close sidebar" class="p-1 rounded-md hover:bg-bg-hover text-text-muted hover:text-text-secondary transition-colors"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class=""><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div><div class="px-2 pt-2 pb-1 space-y-1 shrink-0"><button class="w-full flex items-center gap-2 px-2.5 py-1.5 rounded-md text-[12px] text-text-muted hover:text-text-secondary hover:bg-bg-hover transition-colors"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class=""><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>New session</button><div class="relative"><button class="w-full flex items-center justify-between gap-2 px-2.5 py-1.5 rounded-md text-[12px] text-text-muted hover:text-text-secondary hover:bg-bg-hover transition-colors"><span class="truncate">Current project</span><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class=""><polyline points="6 9 12 15 18 9"></polyline></svg></button></div><div class="flex items-center gap-1"><button aria-pressed="false" class="flex-1 flex items-center gap-2 px-2.5 py-1.5 rounded-md text-[12px] transition-colors text-text-muted hover:text-text-secondary hover:bg-bg-hover"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class=""><polyline points="21 8 21 21 3 21 3 8"></polyline><rect x="1" y="3" width="22" height="5"></rect><line x1="10" y1="12" x2="14" y2="12"></line></svg>Archive</button></div></div><div class="overflow-y-auto flex-1 px-2 pb-2"><p class="text-text-muted text-[12px] text-center py-8">No sessions</p></div></div><div role="dialog" aria-label="Settings" aria-hidden="true" class="fixed inset-0 z-50 bg-bg-elevated transform transition-transform duration-150 flex flex-col sm:inset-auto sm:top-0 sm:right-0 sm:h-full sm:w-[300px] sm:border-l sm:border-border translate-x-full"><div class="flex items-center justify-between h-11 px-3 border-b border-border shrink-0"><span class="text-[13px] font-medium text-text-secondary">Settings</span><button aria-label="Close settings" class="p-1 rounded-md hover:bg-bg-hover text-text-muted hover:text-text-secondary transition-colors"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class=""><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div><div class="overflow-y-auto flex-1 p-3 space-y-1"><div class="flex justify-center py-8"><span class="inline-block w-3 h-3 rounded-full border-2 border-text-muted border-t-transparent animate-spin"></span></div></div></div></div><!--$--><!--/$--><pwa-install manifest-url="/manifest.webmanifest" name="Cursor Local Remote" description="Control Cursor IDE from any device on your local network" icon="/apple-touch-icon.png"></pwa-install><script src="/_next/static/chunks/webpack-d434b6449a9cd8f3.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[9766,[],\"\"]\n3:I[8924,[],\"\"]\n4:I[2317,[\"558\",\"static/chunks/app/layout-c1b1bf5b5f175921.js\"],\"PwaInstall\"]\n5:I[5932,[\"391\",\"static/chunks/391-727d95bcfba987c2.js\",\"593\",\"static/chunks/app/page-cd57aa6c99572600.js\"],\"ErrorBoundary\"]\n6:I[9050,[\"391\",\"static/chunks/391-727d95bcfba987c2.js\",\"593\",\"static/chunks/app/page-cd57aa6c99572600.js\"],\"ChatWorkspace\"]\n7:I[4431,[],\"OutletBoundary\"]\n9:I[5278,[],\"AsyncMetadataOutlet\"]\nb:I[4431,[],\"ViewportBoundary\"]\nd:I[4431,[],\"MetadataBoundary\"]\ne:\"$Sreact.suspense\"\n10:I[7150,[],\"\"]\n:HL[\"/_next/static/css/7a31a6ac831a221c.css\",\"style\"]\n:HL[\"/_next/static/css/5eacd01f773eed7f.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"cH5h87qDQAGoVaAIw15pq\",\"p\":\"\",\"c\":[\"\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/7a31a6ac831a221c.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"overscroll-none\",\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\nif('serviceWorker' in navigator){\\n navigator.serviceWorker.getRegistrations().then(function(r){\\n r.forEach(function(reg){reg.unregister()})\\n });\\n if(typeof caches!=='undefined'){\\n caches.keys().then(function(k){\\n k.forEach(function(n){caches.delete(n)})\\n })\\n }\\n}\"}}],[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L4\",null,{}]]}]}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$L6\",null,{}]}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/5eacd01f773eed7f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L7\",null,{\"children\":[\"$L8\",[\"$\",\"$L9\",null,{\"promise\":\"$@a\"}]]}]]}],{},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],null],[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$e\",null,{\"fallback\":null,\"children\":\"$Lf\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0a0a0b\"}]]\n8:null\n"])</script><script>self.__next_f.push([1,"11:I[622,[],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"a:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Cursor Local Remote\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Control Cursor IDE from any device on your local network\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"3\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"4\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"CLR\"}],[\"$\",\"meta\",\"5\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"link\",\"6\",{\"rel\":\"icon\",\"href\":\"/icon.png?c7e4facf85613587\",\"type\":\"image/png\",\"sizes\":\"32x32\"}],[\"$\",\"link\",\"7\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?4e1b4f0ebf73adf0\",\"type\":\"image/png\",\"sizes\":\"180x180\"}],[\"$\",\"$L11\",\"8\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"f:\"$a:metadata\"\n"])</script></body></html>
11
+ }</script><div class="h-dvh"><div class="h-full"><div class="h-full flex flex-col"><header class="shrink-0 flex items-center justify-between h-11 px-3 border-b border-border"><div class="flex items-center gap-2"><button aria-label="Open session sidebar" class="p-2 rounded-md hover:bg-bg-hover transition-colors text-text-muted hover:text-text-secondary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class=""><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="12" x2="15" y2="12"></line><line x1="3" y1="18" x2="18" y2="18"></line></svg></button><span class="text-[13px] font-medium text-text-secondary">~</span></div><div class="flex items-center gap-1"><button class="p-2 rounded-md hover:bg-bg-hover transition-colors text-text-muted hover:text-text-secondary" aria-label="Settings"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class=""><circle cx="12" cy="12" r="3"></circle><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"></path></svg></button><button class="p-2 rounded-md hover:bg-bg-hover transition-colors text-text-muted hover:text-text-secondary" aria-label="Connect device"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="7" height="7" rx="1"></rect><rect x="14" y="3" width="7" height="7" rx="1"></rect><rect x="3" y="14" width="7" height="7" rx="1"></rect><rect x="14" y="14" width="3" height="3"></rect><line x1="21" y1="14" x2="21" y2="14.01"></line><line x1="21" y1="21" x2="21" y2="21.01"></line></svg></button></div></header><div class="flex-1 flex items-center justify-center px-6"><div class="flex flex-col items-center max-w-sm"><p class="text-text-secondary text-[13px] font-medium mb-1">Cursor Remote</p><p class="text-text-muted text-[12px] leading-relaxed">Send a message to start an agent session.</p></div></div><div class="shrink-0 bg-bg px-4 py-3 safe-bottom"><div class="max-w-3xl mx-auto"><div class="relative bg-bg-surface border rounded-xl focus-within:border-text-muted/40 transition-colors border-border"><textarea placeholder="Ask Cursor anything..." aria-label="Message input" rows="1" class="w-full resize-none bg-transparent px-3.5 pt-2.5 pb-1 pr-10 text-[13px] text-text placeholder:text-text-muted focus:outline-none"></textarea><div class="flex items-center justify-between px-2 pb-2"><div class="flex items-center gap-1" role="radiogroup" aria-label="Agent mode"><button role="radio" aria-checked="true" class="px-3 py-1.5 rounded text-[12px] font-medium transition-colors bg-bg-active text-text">Agent</button><button role="radio" aria-checked="false" class="px-3 py-1.5 rounded text-[12px] font-medium transition-colors text-text-muted hover:text-text-secondary hover:bg-bg-hover">Ask</button><button role="radio" aria-checked="false" class="px-3 py-1.5 rounded text-[12px] font-medium transition-colors text-text-muted hover:text-text-secondary hover:bg-bg-hover">Plan</button><span class="hidden sm:inline text-[10px] text-text-muted/50 ml-2 select-none">Enter ↵ send · Shift+Enter newline</span></div><div class="flex items-center gap-1.5"><div class="relative"><button aria-haspopup="listbox" aria-expanded="false" aria-label="Select model" class="flex items-center gap-1 px-3 py-1.5 rounded text-[12px] text-text-muted hover:text-text-secondary hover:bg-bg-hover transition-colors"><span class="inline-block rounded-full border-2 border-text-muted border-t-transparent animate-spin w-2.5 h-2.5"></span><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class=""><polyline points="6 9 12 15 18 9"></polyline></svg></button></div><button disabled="" class="p-2 rounded-md text-text-muted hover:text-text disabled:opacity-20 disabled:cursor-not-allowed transition-colors" aria-label="Send message"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class=""><line x1="12" y1="19" x2="12" y2="5"></line><polyline points="5 12 12 5 19 12"></polyline></svg></button></div></div></div></div></div></div></div><div role="dialog" aria-label="Session history" aria-hidden="true" class="fixed inset-0 z-50 bg-bg-elevated transform transition-transform duration-150 flex flex-col sm:inset-auto sm:top-0 sm:left-0 sm:h-full sm:w-[280px] sm:border-r sm:border-border -translate-x-full"><div class="flex items-center justify-between h-11 px-3 border-b border-border shrink-0"><span class="text-[13px] font-medium text-text-secondary">Sessions</span><div class="flex items-center gap-0.5"><button aria-label="Refresh sessions" class="p-1 rounded-md hover:bg-bg-hover text-text-muted hover:text-text-secondary transition-colors disabled:opacity-40"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class=""><path d="M21 12a9 9 0 1 1-6.22-8.56"></path><polyline points="21 3 21 9 15 9"></polyline></svg></button><button aria-label="Close sidebar" class="p-1 rounded-md hover:bg-bg-hover text-text-muted hover:text-text-secondary transition-colors"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class=""><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div><div class="px-2 pt-2 pb-1 space-y-1 shrink-0"><button class="w-full flex items-center gap-2 px-2.5 py-1.5 rounded-md text-[12px] text-text-muted hover:text-text-secondary hover:bg-bg-hover transition-colors"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class=""><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>New session</button><div class="relative"><button class="w-full flex items-center justify-between gap-2 px-2.5 py-1.5 rounded-md text-[12px] text-text-muted hover:text-text-secondary hover:bg-bg-hover transition-colors"><span class="truncate">Current project</span><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class=""><polyline points="6 9 12 15 18 9"></polyline></svg></button></div><div class="flex items-center gap-1"><button aria-pressed="false" class="flex-1 flex items-center gap-2 px-2.5 py-1.5 rounded-md text-[12px] transition-colors text-text-muted hover:text-text-secondary hover:bg-bg-hover"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class=""><polyline points="21 8 21 21 3 21 3 8"></polyline><rect x="1" y="3" width="22" height="5"></rect><line x1="10" y1="12" x2="14" y2="12"></line></svg>Archive</button></div></div><div class="overflow-y-auto flex-1 px-2 pb-2"><p class="text-text-muted text-[12px] text-center py-8">No sessions</p></div></div><div role="dialog" aria-label="Settings" aria-hidden="true" class="fixed inset-0 z-50 bg-bg-elevated transform transition-transform duration-150 flex flex-col sm:inset-auto sm:top-0 sm:right-0 sm:h-full sm:w-[300px] sm:border-l sm:border-border translate-x-full"><div class="flex items-center justify-between h-11 px-3 border-b border-border shrink-0"><span class="text-[13px] font-medium text-text-secondary">Settings</span><button aria-label="Close settings" class="p-1 rounded-md hover:bg-bg-hover text-text-muted hover:text-text-secondary transition-colors"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class=""><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div><div class="overflow-y-auto flex-1 p-3 space-y-1"><div class="flex justify-center py-8"><span class="inline-block w-3 h-3 rounded-full border-2 border-text-muted border-t-transparent animate-spin"></span></div></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-d434b6449a9cd8f3.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[9766,[],\"\"]\n3:I[8924,[],\"\"]\n4:I[2317,[\"558\",\"static/chunks/app/layout-a7c7dda1f998a1ce.js\"],\"PwaInstall\"]\n5:I[5932,[\"391\",\"static/chunks/391-727d95bcfba987c2.js\",\"593\",\"static/chunks/app/page-bdc004bf68daf19c.js\"],\"ErrorBoundary\"]\n6:I[8906,[\"391\",\"static/chunks/391-727d95bcfba987c2.js\",\"593\",\"static/chunks/app/page-bdc004bf68daf19c.js\"],\"ChatWorkspace\"]\n7:I[4431,[],\"OutletBoundary\"]\n9:I[5278,[],\"AsyncMetadataOutlet\"]\nb:I[4431,[],\"ViewportBoundary\"]\nd:I[4431,[],\"MetadataBoundary\"]\ne:\"$Sreact.suspense\"\n10:I[7150,[],\"\"]\n:HL[\"/_next/static/css/62c80997800f1b21.css\",\"style\"]\n:HL[\"/_next/static/css/5eacd01f773eed7f.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"JHNi3dquD5OcV7Sclue9U\",\"p\":\"\",\"c\":[\"\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/62c80997800f1b21.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"overscroll-none\",\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\nif('serviceWorker' in navigator){\\n navigator.serviceWorker.getRegistrations().then(function(r){\\n r.forEach(function(reg){reg.unregister()})\\n });\\n if(typeof caches!=='undefined'){\\n caches.keys().then(function(k){\\n k.forEach(function(n){caches.delete(n)})\\n })\\n }\\n}\"}}],[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L4\",null,{}]]}]}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$L6\",null,{}]}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/5eacd01f773eed7f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L7\",null,{\"children\":[\"$L8\",[\"$\",\"$L9\",null,{\"promise\":\"$@a\"}]]}]]}],{},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],null],[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$e\",null,{\"fallback\":null,\"children\":\"$Lf\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0a0a0b\"}]]\n8:null\n"])</script><script>self.__next_f.push([1,"11:I[622,[],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"a:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Cursor Local Remote\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Control Cursor IDE from any device on your local network\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"3\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"4\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"CLR\"}],[\"$\",\"meta\",\"5\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"link\",\"6\",{\"rel\":\"icon\",\"href\":\"/icon.png?c7e4facf85613587\",\"type\":\"image/png\",\"sizes\":\"32x32\"}],[\"$\",\"link\",\"7\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?4e1b4f0ebf73adf0\",\"type\":\"image/png\",\"sizes\":\"180x180\"}],[\"$\",\"$L11\",\"8\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"f:\"$a:metadata\"\n"])</script></body></html>
@@ -1,18 +1,18 @@
1
1
  1:"$Sreact.fragment"
2
2
  2:I[9766,[],""]
3
3
  3:I[8924,[],""]
4
- 4:I[2317,["558","static/chunks/app/layout-c1b1bf5b5f175921.js"],"PwaInstall"]
5
- 5:I[5932,["391","static/chunks/391-727d95bcfba987c2.js","593","static/chunks/app/page-cd57aa6c99572600.js"],"ErrorBoundary"]
6
- 6:I[9050,["391","static/chunks/391-727d95bcfba987c2.js","593","static/chunks/app/page-cd57aa6c99572600.js"],"ChatWorkspace"]
4
+ 4:I[2317,["558","static/chunks/app/layout-a7c7dda1f998a1ce.js"],"PwaInstall"]
5
+ 5:I[5932,["391","static/chunks/391-727d95bcfba987c2.js","593","static/chunks/app/page-bdc004bf68daf19c.js"],"ErrorBoundary"]
6
+ 6:I[8906,["391","static/chunks/391-727d95bcfba987c2.js","593","static/chunks/app/page-bdc004bf68daf19c.js"],"ChatWorkspace"]
7
7
  7:I[4431,[],"OutletBoundary"]
8
8
  9:I[5278,[],"AsyncMetadataOutlet"]
9
9
  b:I[4431,[],"ViewportBoundary"]
10
10
  d:I[4431,[],"MetadataBoundary"]
11
11
  e:"$Sreact.suspense"
12
12
  10:I[7150,[],""]
13
- :HL["/_next/static/css/7a31a6ac831a221c.css","style"]
13
+ :HL["/_next/static/css/62c80997800f1b21.css","style"]
14
14
  :HL["/_next/static/css/5eacd01f773eed7f.css","style"]
15
- 0:{"P":null,"b":"cH5h87qDQAGoVaAIw15pq","p":"","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/7a31a6ac831a221c.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"overscroll-none","children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\nif('serviceWorker' in navigator){\n navigator.serviceWorker.getRegistrations().then(function(r){\n r.forEach(function(reg){reg.unregister()})\n });\n if(typeof caches!=='undefined'){\n caches.keys().then(function(k){\n k.forEach(function(n){caches.delete(n)})\n })\n }\n}"}}],["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$L4",null,{}]]}]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L5",null,{"children":["$","$L6",null,{}]}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/5eacd01f773eed7f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L7",null,{"children":["$L8",["$","$L9",null,{"promise":"$@a"}]]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lb",null,{"children":"$Lc"}],null],["$","$Ld",null,{"children":["$","div",null,{"hidden":true,"children":["$","$e",null,{"fallback":null,"children":"$Lf"}]}]}]]}],false]],"m":"$undefined","G":["$10",[]],"s":false,"S":true}
15
+ 0:{"P":null,"b":"JHNi3dquD5OcV7Sclue9U","p":"","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/62c80997800f1b21.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"overscroll-none","children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\nif('serviceWorker' in navigator){\n navigator.serviceWorker.getRegistrations().then(function(r){\n r.forEach(function(reg){reg.unregister()})\n });\n if(typeof caches!=='undefined'){\n caches.keys().then(function(k){\n k.forEach(function(n){caches.delete(n)})\n })\n }\n}"}}],["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$L4",null,{}]]}]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L5",null,{"children":["$","$L6",null,{}]}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/5eacd01f773eed7f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L7",null,{"children":["$L8",["$","$L9",null,{"promise":"$@a"}]]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lb",null,{"children":"$Lc"}],null],["$","$Ld",null,{"children":["$","div",null,{"hidden":true,"children":["$","$e",null,{"fallback":null,"children":"$Lf"}]}]}]]}],false]],"m":"$undefined","G":["$10",[]],"s":false,"S":true}
16
16
  c:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"}],["$","meta","2",{"name":"theme-color","content":"#0a0a0b"}]]
17
17
  8:null
18
18
  11:I[622,[],"IconMark"]