cursor-local-remote 0.1.0 → 0.1.2

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 (30) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +1 -1
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +23 -23
  5. package/.next/required-server-files.json +1 -1
  6. package/.next/server/app/_not-found.html +1 -1
  7. package/.next/server/app/_not-found.rsc +1 -1
  8. package/.next/server/app/api/chat/route.js +7 -5
  9. package/.next/server/app/api/chat/route.js.nft.json +1 -1
  10. package/.next/server/app/api/push/subscribe/route.js +7 -5
  11. package/.next/server/app/api/push/subscribe/route.js.nft.json +1 -1
  12. package/.next/server/app/api/push/vapid-key/route.js +7 -5
  13. package/.next/server/app/api/push/vapid-key/route.js.nft.json +1 -1
  14. package/.next/server/app/api/sessions/route.js +7 -5
  15. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  16. package/.next/server/app/index.html +1 -1
  17. package/.next/server/app/index.rsc +1 -1
  18. package/.next/server/app-paths-manifest.json +1 -1
  19. package/.next/server/chunks/369.js +7 -5
  20. package/.next/server/chunks/519.js +7 -5
  21. package/.next/server/instrumentation.js +1 -1
  22. package/.next/server/instrumentation.js.nft.json +1 -1
  23. package/.next/server/middleware-manifest.json +1 -1
  24. package/.next/server/pages/404.html +1 -1
  25. package/.next/server/pages/500.html +1 -1
  26. package/bin/cursor-remote.mjs +3 -3
  27. package/next.config.ts +1 -1
  28. package/package.json +3 -3
  29. /package/.next/static/{qH3fSSOUNLq_-dFHc2iUI → RTQ1HYVu3tm_I6QSHC2Kq}/_buildManifest.js +0 -0
  30. /package/.next/static/{qH3fSSOUNLq_-dFHc2iUI → RTQ1HYVu3tm_I6QSHC2Kq}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../node_modules/agent-base/dist/helpers.js","../../../../../../node_modules/agent-base/dist/index.js","../../../../../../node_modules/agent-base/package.json","../../../../../../node_modules/asn1.js/lib/asn1.js","../../../../../../node_modules/asn1.js/lib/asn1/api.js","../../../../../../node_modules/asn1.js/lib/asn1/base/buffer.js","../../../../../../node_modules/asn1.js/lib/asn1/base/index.js","../../../../../../node_modules/asn1.js/lib/asn1/base/node.js","../../../../../../node_modules/asn1.js/lib/asn1/base/reporter.js","../../../../../../node_modules/asn1.js/lib/asn1/constants/der.js","../../../../../../node_modules/asn1.js/lib/asn1/constants/index.js","../../../../../../node_modules/asn1.js/lib/asn1/decoders/der.js","../../../../../../node_modules/asn1.js/lib/asn1/decoders/index.js","../../../../../../node_modules/asn1.js/lib/asn1/decoders/pem.js","../../../../../../node_modules/asn1.js/lib/asn1/encoders/der.js","../../../../../../node_modules/asn1.js/lib/asn1/encoders/index.js","../../../../../../node_modules/asn1.js/lib/asn1/encoders/pem.js","../../../../../../node_modules/asn1.js/package.json","../../../../../../node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../../../node_modules/better-sqlite3/lib/database.js","../../../../../../node_modules/better-sqlite3/lib/index.js","../../../../../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../../node_modules/better-sqlite3/lib/methods/backup.js","../../../../../../node_modules/better-sqlite3/lib/methods/function.js","../../../../../../node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../../node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../../node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../../node_modules/better-sqlite3/lib/methods/table.js","../../../../../../node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../../node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../../node_modules/better-sqlite3/lib/util.js","../../../../../../node_modules/better-sqlite3/package.json","../../../../../../node_modules/bindings/bindings.js","../../../../../../node_modules/bindings/package.json","../../../../../../node_modules/bn.js/lib/bn.js","../../../../../../node_modules/bn.js/package.json","../../../../../../node_modules/buffer-equal-constant-time/index.js","../../../../../../node_modules/buffer-equal-constant-time/package.json","../../../../../../node_modules/debug/package.json","../../../../../../node_modules/debug/src/browser.js","../../../../../../node_modules/debug/src/common.js","../../../../../../node_modules/debug/src/index.js","../../../../../../node_modules/debug/src/node.js","../../../../../../node_modules/ecdsa-sig-formatter/package.json","../../../../../../node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js","../../../../../../node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js","../../../../../../node_modules/file-uri-to-path/index.js","../../../../../../node_modules/file-uri-to-path/package.json","../../../../../../node_modules/has-flag/index.js","../../../../../../node_modules/has-flag/package.json","../../../../../../node_modules/http_ece/ece.js","../../../../../../node_modules/http_ece/package.json","../../../../../../node_modules/https-proxy-agent/dist/index.js","../../../../../../node_modules/https-proxy-agent/dist/parse-proxy-response.js","../../../../../../node_modules/https-proxy-agent/package.json","../../../../../../node_modules/inherits/inherits.js","../../../../../../node_modules/inherits/inherits_browser.js","../../../../../../node_modules/inherits/package.json","../../../../../../node_modules/jwa/index.js","../../../../../../node_modules/jwa/package.json","../../../../../../node_modules/jws/index.js","../../../../../../node_modules/jws/lib/data-stream.js","../../../../../../node_modules/jws/lib/sign-stream.js","../../../../../../node_modules/jws/lib/tostring.js","../../../../../../node_modules/jws/lib/verify-stream.js","../../../../../../node_modules/jws/package.json","../../../../../../node_modules/minimalistic-assert/index.js","../../../../../../node_modules/minimalistic-assert/package.json","../../../../../../node_modules/ms/index.js","../../../../../../node_modules/ms/package.json","../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../../node_modules/next/dist/lib/constants.js","../../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../../node_modules/next/dist/lib/is-error.js","../../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../../node_modules/next/dist/shared/lib/segment.js","../../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../node_modules/next/package.json","../../../../../../node_modules/safe-buffer/index.js","../../../../../../node_modules/safe-buffer/package.json","../../../../../../node_modules/safer-buffer/package.json","../../../../../../node_modules/safer-buffer/safer.js","../../../../../../node_modules/supports-color/index.js","../../../../../../node_modules/supports-color/package.json","../../../../../../node_modules/web-push/package.json","../../../../../../node_modules/web-push/src/encryption-helper.js","../../../../../../node_modules/web-push/src/index.js","../../../../../../node_modules/web-push/src/urlsafe-base64-helper.js","../../../../../../node_modules/web-push/src/vapid-helper.js","../../../../../../node_modules/web-push/src/web-push-constants.js","../../../../../../node_modules/web-push/src/web-push-error.js","../../../../../../node_modules/web-push/src/web-push-lib.js","../../../../../../package.json","../../../../../package.json","../../../../chunks/873.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../../../node_modules/agent-base/dist/helpers.js","../../../../../../node_modules/agent-base/dist/index.js","../../../../../../node_modules/agent-base/package.json","../../../../../../node_modules/asn1.js/lib/asn1.js","../../../../../../node_modules/asn1.js/lib/asn1/api.js","../../../../../../node_modules/asn1.js/lib/asn1/base/buffer.js","../../../../../../node_modules/asn1.js/lib/asn1/base/index.js","../../../../../../node_modules/asn1.js/lib/asn1/base/node.js","../../../../../../node_modules/asn1.js/lib/asn1/base/reporter.js","../../../../../../node_modules/asn1.js/lib/asn1/constants/der.js","../../../../../../node_modules/asn1.js/lib/asn1/constants/index.js","../../../../../../node_modules/asn1.js/lib/asn1/decoders/der.js","../../../../../../node_modules/asn1.js/lib/asn1/decoders/index.js","../../../../../../node_modules/asn1.js/lib/asn1/decoders/pem.js","../../../../../../node_modules/asn1.js/lib/asn1/encoders/der.js","../../../../../../node_modules/asn1.js/lib/asn1/encoders/index.js","../../../../../../node_modules/asn1.js/lib/asn1/encoders/pem.js","../../../../../../node_modules/asn1.js/package.json","../../../../../../node_modules/bn.js/lib/bn.js","../../../../../../node_modules/bn.js/package.json","../../../../../../node_modules/buffer-equal-constant-time/index.js","../../../../../../node_modules/buffer-equal-constant-time/package.json","../../../../../../node_modules/debug/package.json","../../../../../../node_modules/debug/src/browser.js","../../../../../../node_modules/debug/src/common.js","../../../../../../node_modules/debug/src/index.js","../../../../../../node_modules/debug/src/node.js","../../../../../../node_modules/ecdsa-sig-formatter/package.json","../../../../../../node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js","../../../../../../node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js","../../../../../../node_modules/has-flag/index.js","../../../../../../node_modules/has-flag/package.json","../../../../../../node_modules/http_ece/ece.js","../../../../../../node_modules/http_ece/package.json","../../../../../../node_modules/https-proxy-agent/dist/index.js","../../../../../../node_modules/https-proxy-agent/dist/parse-proxy-response.js","../../../../../../node_modules/https-proxy-agent/package.json","../../../../../../node_modules/inherits/inherits.js","../../../../../../node_modules/inherits/inherits_browser.js","../../../../../../node_modules/inherits/package.json","../../../../../../node_modules/jwa/index.js","../../../../../../node_modules/jwa/package.json","../../../../../../node_modules/jws/index.js","../../../../../../node_modules/jws/lib/data-stream.js","../../../../../../node_modules/jws/lib/sign-stream.js","../../../../../../node_modules/jws/lib/tostring.js","../../../../../../node_modules/jws/lib/verify-stream.js","../../../../../../node_modules/jws/package.json","../../../../../../node_modules/minimalistic-assert/index.js","../../../../../../node_modules/minimalistic-assert/package.json","../../../../../../node_modules/ms/index.js","../../../../../../node_modules/ms/package.json","../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../../node_modules/next/dist/lib/constants.js","../../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../../node_modules/next/dist/lib/is-error.js","../../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../../node_modules/next/dist/shared/lib/segment.js","../../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../node_modules/next/package.json","../../../../../../node_modules/safe-buffer/index.js","../../../../../../node_modules/safe-buffer/package.json","../../../../../../node_modules/safer-buffer/package.json","../../../../../../node_modules/safer-buffer/safer.js","../../../../../../node_modules/sql.js/dist/sql-wasm.js","../../../../../../node_modules/sql.js/package.json","../../../../../../node_modules/supports-color/index.js","../../../../../../node_modules/supports-color/package.json","../../../../../../node_modules/web-push/package.json","../../../../../../node_modules/web-push/src/encryption-helper.js","../../../../../../node_modules/web-push/src/index.js","../../../../../../node_modules/web-push/src/urlsafe-base64-helper.js","../../../../../../node_modules/web-push/src/vapid-helper.js","../../../../../../node_modules/web-push/src/web-push-constants.js","../../../../../../node_modules/web-push/src/web-push-error.js","../../../../../../node_modules/web-push/src/web-push-lib.js","../../../../../../package.json","../../../../../package.json","../../../../chunks/873.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -1,4 +1,4 @@
1
- (()=>{var a={};a.id=97,a.ids=[97],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")},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()}},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,{GW:()=>o,Lf:()=>l,ME:()=>p,ih:()=>n});var d=c(7550),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;function l(){return k||((0,h.mkdirSync)(i,{recursive:!0}),(k=new(e())(j)).pragma("journal_mode = WAL"),k.exec(`
1
+ (()=>{var a={};a.id=97,a.ids=[97],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")},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()}},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,{GW:()=>r,Lf:()=>n,ME:()=>s,ih:()=>q});var d=c(6293),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);return(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,
@@ -6,14 +6,16 @@
6
6
  preview TEXT NOT NULL DEFAULT '',
7
7
  created_at INTEGER NOT NULL,
8
8
  updated_at INTEGER NOT NULL
9
- );
9
+ )
10
+ `),k.run(`
10
11
  CREATE TABLE IF NOT EXISTS config (
11
12
  key TEXT PRIMARY KEY,
12
13
  value TEXT NOT NULL
13
- );
14
+ )
15
+ `),k.run(`
14
16
  CREATE TABLE IF NOT EXISTS push_subscriptions (
15
17
  endpoint TEXT PRIMARY KEY,
16
18
  subscription TEXT NOT NULL,
17
19
  created_at INTEGER NOT NULL
18
- );
19
- `)),k}function m(a){return{id:a.id,title:a.title,workspace:a.workspace,preview:a.preview,createdAt:a.created_at,updatedAt:a.updated_at}}function n(a,b,c){let d=l(),e=Date.now(),f=d.prepare("SELECT * FROM sessions WHERE id = ?").get(a);if(f){let b=c?c.slice(0,120):f.preview;return d.prepare("UPDATE sessions SET updated_at = ?, preview = ? WHERE id = ?").run(e,b,a),m({...f,updated_at:e,preview:b})}let g=c.slice(0,60)||"New session",h=c.slice(0,120);return d.prepare("INSERT INTO sessions (id, title, workspace, preview, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?)").run(a,g,b,h,e,e),{id:a,title:g,workspace:b,preview:h,createdAt:e,updatedAt:e}}function o(a){let b=l();return(a?b.prepare("SELECT * FROM sessions WHERE workspace = ? ORDER BY updated_at DESC").all(a):b.prepare("SELECT * FROM sessions ORDER BY updated_at DESC").all()).map(m)}function p(a){l().prepare("DELETE FROM sessions WHERE id = ?").run(a)}},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()}),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})},7550:a=>{"use strict";a.exports=require("better-sqlite3")},8277:(a,b,c)=>{"use strict";c.d(b,{Bz:()=>p,b0:()=>s,UQ:()=>m,Nr:()=>t,Oe:()=>o});let d=require("fs/promises");var e=c(9902),f=c(9439);let g=(0,e.join)((0,f.homedir)(),".cursor","projects");async function h(a){let b=(0,e.resolve)(a).replace(/^\//,"").replace(/\//g,"-"),c=(0,e.join)(g,b,"agent-transcripts");try{return await (0,d.access)(c),c}catch{return null}}async function i(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 j(a){for(let b of(await i(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 k(a){try{return await (0,d.access)(a),!0}catch{return!1}}async function l(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 k(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 m(a){let b=await h(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 l(g,f.replace(".jsonl",""));if(!h)continue;let i=await (0,d.stat)(h),k=f.replace(".jsonl",""),m=await j(h);m&&c.push({id:k,title:m.slice(0,60),workspace:a,preview:m,createdAt:i.birthtimeMs,updatedAt:i.mtimeMs})}}catch{}return c.sort((a,b)=>b.updatedAt-a.updatedAt)}function n(a){return a.replace(/<user_query>\n?/g,"").replace(/<\/user_query>\n?/g,"").replace(/<[^>]+>/g,"").trim()}async function o(a,b){let c=await h(a);if(!c)return null;let f=(0,e.resolve)(c),g=(0,e.resolve)(c,b);if(!g.startsWith(f+"/"))return null;let i=(0,e.join)(c,b+".jsonl");return await k(g)&&(await (0,d.stat)(g)).isDirectory()?l(g,b):await k(i)?i:null}async function p(a,b){let c=await o(a,b);if(!c)return 0;try{return(await (0,d.stat)(c)).mtimeMs}catch{return 0}}let q={Read:"read",Write:"write",Edit:"edit",StrReplace:"edit",Shell:"shell",Grep:"search",Glob:"search",List:"read",TodoWrite:"todo"};function r(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=q[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 s(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=n(j)),j.trim()&&c.push({id:`${b}-live-${e.n++}`,role:a,content:j,timestamp:f+e.n}),"assistant"===a&&d.push(...r(h,b,e,f))}return{messages:c,toolCalls:d}}async function t(a,b){let c=await o(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},j=e-6e4;for(let a of(await i(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 i=e.join("");"user"===c&&(i=n(i)),i.trim()&&f.push({id:`${b}-${h.n++}`,role:c,content:i,timestamp:j+h.n}),"assistant"===c&&g.push(...r(d,b,h,j))}return{messages:f,toolCalls:g,modifiedAt:e}}},8335:()=>{},9021:a=>{"use strict";a.exports=require("fs")},9089:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>H,patchFetch:()=>G,routeModule:()=>C,serverHooks:()=>F,workAsyncStorage:()=>D,workUnitAsyncStorage:()=>E});var d={};c.r(d),c.d(d,{DELETE:()=>B,GET:()=>A,dynamic:()=>z});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(8277),w=c(5221),x=c(6505),y=c(7093);let z="force-dynamic";async function A(a){let b="true"===new URL(a.url).searchParams.get("all"),c=(0,w.K)();if(b){let a=(0,u.GW)();return Response.json({sessions:a,workspace:c})}let d=await (0,v.UQ)(c),e=function(a,b){let c=new Map;for(let a of b)c.set(a.id,a);for(let b of a){let a=c.get(b.id);a?c.set(b.id,{...a,updatedAt:Math.max(a.updatedAt,b.updatedAt)}):c.set(b.id,b)}return Array.from(c.values()).sort((a,b)=>b.updatedAt-a.updatedAt)}((0,u.GW)(c),d);return Response.json({sessions:e,workspace:c})}async function B(a){let b=await (0,y.Y2)(a);if(b instanceof Response)return b;let c=(0,x.OG)(x.li,b);return"error"in c?(0,y.li)(c.error):((0,u.ME)(c.data.sessionId),Response.json({ok:!0}))}let C=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/sessions/route",pathname:"/api/sessions",filename:"route",bundlePath:"app/api/sessions/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/jonmakinen/Documents/cursor-local-remote/src/app/api/sessions/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:D,workUnitAsyncStorage:E,serverHooks:F}=C;function G(){return(0,g.patchFetch)({workAsyncStorage:D,workUnitAsyncStorage:E})}async function H(a,b,c){var d;let e="/api/sessions/route";"/index"===e&&(e="/");let g=await C.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: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||C.isDev||x||(G="/index"===(G=D)?"/":G);let H=!0===C.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)=>C.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=>C.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 C.onRequestError(a,b,{routerKind:"App Router",routePath:e,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:A})},z),b}},l=await C.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 C.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}}},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=9089));module.exports=c})();
20
+ )
21
+ `),m(),k}function o(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 p(a){return{id:a.id,title:a.title,workspace:a.workspace,preview:a.preview,createdAt:a.created_at,updatedAt:a.updated_at}}async function q(a,b,c){let d=await n(),e=Date.now(),f=function(a,b,c){let d=a.prepare(b);try{if(d.bind(c),d.step())return d.getAsObject();return}finally{d.free()}}(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(),p({...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 r(a){let b=await n();return(a?o(b,"SELECT * FROM sessions WHERE workspace = ? ORDER BY updated_at DESC",[a]):o(b,"SELECT * FROM sessions ORDER BY updated_at DESC")).map(p)}async function s(a){(await n()).run("DELETE FROM sessions WHERE id = ?",[a]),m()}},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()}),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})},8277:(a,b,c)=>{"use strict";c.d(b,{Bz:()=>p,b0:()=>s,UQ:()=>m,Nr:()=>t,Oe:()=>o});let d=require("fs/promises");var e=c(9902),f=c(9439);let g=(0,e.join)((0,f.homedir)(),".cursor","projects");async function h(a){let b=(0,e.resolve)(a).replace(/^\//,"").replace(/\//g,"-"),c=(0,e.join)(g,b,"agent-transcripts");try{return await (0,d.access)(c),c}catch{return null}}async function i(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 j(a){for(let b of(await i(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 k(a){try{return await (0,d.access)(a),!0}catch{return!1}}async function l(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 k(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 m(a){let b=await h(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 l(g,f.replace(".jsonl",""));if(!h)continue;let i=await (0,d.stat)(h),k=f.replace(".jsonl",""),m=await j(h);m&&c.push({id:k,title:m.slice(0,60),workspace:a,preview:m,createdAt:i.birthtimeMs,updatedAt:i.mtimeMs})}}catch{}return c.sort((a,b)=>b.updatedAt-a.updatedAt)}function n(a){return a.replace(/<user_query>\n?/g,"").replace(/<\/user_query>\n?/g,"").replace(/<[^>]+>/g,"").trim()}async function o(a,b){let c=await h(a);if(!c)return null;let f=(0,e.resolve)(c),g=(0,e.resolve)(c,b);if(!g.startsWith(f+"/"))return null;let i=(0,e.join)(c,b+".jsonl");return await k(g)&&(await (0,d.stat)(g)).isDirectory()?l(g,b):await k(i)?i:null}async function p(a,b){let c=await o(a,b);if(!c)return 0;try{return(await (0,d.stat)(c)).mtimeMs}catch{return 0}}let q={Read:"read",Write:"write",Edit:"edit",StrReplace:"edit",Shell:"shell",Grep:"search",Glob:"search",List:"read",TodoWrite:"todo"};function r(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=q[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 s(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=n(j)),j.trim()&&c.push({id:`${b}-live-${e.n++}`,role:a,content:j,timestamp:f+e.n}),"assistant"===a&&d.push(...r(h,b,e,f))}return{messages:c,toolCalls:d}}async function t(a,b){let c=await o(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},j=e-6e4;for(let a of(await i(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 i=e.join("");"user"===c&&(i=n(i)),i.trim()&&f.push({id:`${b}-${h.n++}`,role:c,content:i,timestamp:j+h.n}),"assistant"===c&&g.push(...r(d,b,h,j))}return{messages:f,toolCalls:g,modifiedAt:e}}},8335:()=>{},9021:a=>{"use strict";a.exports=require("fs")},9089:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>H,patchFetch:()=>G,routeModule:()=>C,serverHooks:()=>F,workAsyncStorage:()=>D,workUnitAsyncStorage:()=>E});var d={};c.r(d),c.d(d,{DELETE:()=>B,GET:()=>A,dynamic:()=>z});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(8277),w=c(5221),x=c(6505),y=c(7093);let z="force-dynamic";async function A(a){let b="true"===new URL(a.url).searchParams.get("all"),c=(0,w.K)();if(b){let a=await (0,u.GW)();return Response.json({sessions:a,workspace:c})}let d=await (0,v.UQ)(c),e=function(a,b){let c=new Map;for(let a of b)c.set(a.id,a);for(let b of a){let a=c.get(b.id);a?c.set(b.id,{...a,updatedAt:Math.max(a.updatedAt,b.updatedAt)}):c.set(b.id,b)}return Array.from(c.values()).sort((a,b)=>b.updatedAt-a.updatedAt)}(await (0,u.GW)(c),d);return Response.json({sessions:e,workspace:c})}async function B(a){let b=await (0,y.Y2)(a);if(b instanceof Response)return b;let c=(0,x.OG)(x.li,b);return"error"in c?(0,y.li)(c.error):(await (0,u.ME)(c.data.sessionId),Response.json({ok:!0}))}let C=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/sessions/route",pathname:"/api/sessions",filename:"route",bundlePath:"app/api/sessions/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/jonmakinen/Documents/cursor-local-remote/src/app/api/sessions/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:D,workUnitAsyncStorage:E,serverHooks:F}=C;function G(){return(0,g.patchFetch)({workAsyncStorage:D,workUnitAsyncStorage:E})}async function H(a,b,c){var d;let e="/api/sessions/route";"/index"===e&&(e="/");let g=await C.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: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||C.isDev||x||(G="/index"===(G=D)?"/":G);let H=!0===C.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)=>C.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=>C.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 C.onRequestError(a,b,{routerKind:"App Router",routePath:e,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:A})},z),b}},l=await C.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 C.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}}},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=9089));module.exports=c})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../../node_modules/better-sqlite3/lib/database.js","../../../../../node_modules/better-sqlite3/lib/index.js","../../../../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../node_modules/better-sqlite3/lib/methods/backup.js","../../../../../node_modules/better-sqlite3/lib/methods/function.js","../../../../../node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../node_modules/better-sqlite3/lib/methods/table.js","../../../../../node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../node_modules/better-sqlite3/lib/util.js","../../../../../node_modules/better-sqlite3/package.json","../../../../../node_modules/bindings/bindings.js","../../../../../node_modules/bindings/package.json","../../../../../node_modules/file-uri-to-path/index.js","../../../../../node_modules/file-uri-to-path/package.json","../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../node_modules/next/dist/lib/constants.js","../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../node_modules/next/dist/lib/is-error.js","../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../node_modules/next/dist/shared/lib/segment.js","../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/873.js","../../../chunks/878.js","../../../webpack-runtime.js","route_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../node_modules/next/dist/lib/constants.js","../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../node_modules/next/dist/lib/is-error.js","../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../node_modules/next/dist/shared/lib/segment.js","../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../node_modules/next/package.json","../../../../../node_modules/sql.js/dist/sql-wasm.js","../../../../../node_modules/sql.js/package.json","../../../../../package.json","../../../../package.json","../../../chunks/873.js","../../../chunks/878.js","../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -1 +1 @@
1
- <!DOCTYPE html><!--qH3fSSOUNLq__dFHc2iUI--><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/491f5e1d36eb62fc.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-11d8cab0ea5a792e.js" async=""></script><script src="/_next/static/chunks/391-727d95bcfba987c2.js" async=""></script><script src="/_next/static/chunks/app/page-9b8c5cfa3bc0cd37.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><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="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 border-border rounded-xl focus-within:border-text-muted/40 transition-colors"><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 top-0 left-0 z-50 h-full w-[280px] bg-bg-elevated border-r border-border transform transition-transform duration-150 flex flex-col -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><button aria-pressed="false" class="w-full 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" class=""><circle cx="12" cy="12" r="10"></circle><line x1="2" y1="12" x2="22" y2="12"></line><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path></svg>All workspaces</button></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><!--$--><!--/$--><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[759,[\"177\",\"static/chunks/app/layout-11d8cab0ea5a792e.js\"],\"SwRegister\"]\n5:I[2317,[\"177\",\"static/chunks/app/layout-11d8cab0ea5a792e.js\"],\"PwaInstall\"]\n6:I[5932,[\"391\",\"static/chunks/391-727d95bcfba987c2.js\",\"593\",\"static/chunks/app/page-9b8c5cfa3bc0cd37.js\"],\"ErrorBoundary\"]\n7:I[1456,[\"391\",\"static/chunks/391-727d95bcfba987c2.js\",\"593\",\"static/chunks/app/page-9b8c5cfa3bc0cd37.js\"],\"ChatWorkspace\"]\n8:I[4431,[],\"OutletBoundary\"]\na:I[5278,[],\"AsyncMetadataOutlet\"]\nc:I[4431,[],\"ViewportBoundary\"]\ne:I[4431,[],\"MetadataBoundary\"]\nf:\"$Sreact.suspense\"\n11:I[7150,[],\"\"]\n:HL[\"/_next/static/css/491f5e1d36eb62fc.css\",\"style\"]\n:HL[\"/_next/static/css/5eacd01f773eed7f.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"qH3fSSOUNLq_-dFHc2iUI\",\"p\":\"\",\"c\":[\"\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/491f5e1d36eb62fc.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"overscroll-none\",\"children\":[[\"$\",\"$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,{}],[\"$\",\"$L5\",null,{}]]}]}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L7\",null,{}]}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/5eacd01f773eed7f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L8\",null,{\"children\":[\"$L9\",[\"$\",\"$La\",null,{\"promise\":\"$@b\"}]]}]]}],{},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}],null],[\"$\",\"$Le\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$f\",null,{\"fallback\":null,\"children\":\"$L10\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$11\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"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\"}]]\n9:null\n"])</script><script>self.__next_f.push([1,"12:I[622,[],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"b:{\"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\"}],[\"$\",\"$L12\",\"8\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"10:\"$b:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--RTQ1HYVu3tm_I6QSHC2Kq--><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/491f5e1d36eb62fc.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-11d8cab0ea5a792e.js" async=""></script><script src="/_next/static/chunks/391-727d95bcfba987c2.js" async=""></script><script src="/_next/static/chunks/app/page-9b8c5cfa3bc0cd37.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><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="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 border-border rounded-xl focus-within:border-text-muted/40 transition-colors"><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 top-0 left-0 z-50 h-full w-[280px] bg-bg-elevated border-r border-border transform transition-transform duration-150 flex flex-col -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><button aria-pressed="false" class="w-full 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" class=""><circle cx="12" cy="12" r="10"></circle><line x1="2" y1="12" x2="22" y2="12"></line><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path></svg>All workspaces</button></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><!--$--><!--/$--><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[759,[\"177\",\"static/chunks/app/layout-11d8cab0ea5a792e.js\"],\"SwRegister\"]\n5:I[2317,[\"177\",\"static/chunks/app/layout-11d8cab0ea5a792e.js\"],\"PwaInstall\"]\n6:I[5932,[\"391\",\"static/chunks/391-727d95bcfba987c2.js\",\"593\",\"static/chunks/app/page-9b8c5cfa3bc0cd37.js\"],\"ErrorBoundary\"]\n7:I[1456,[\"391\",\"static/chunks/391-727d95bcfba987c2.js\",\"593\",\"static/chunks/app/page-9b8c5cfa3bc0cd37.js\"],\"ChatWorkspace\"]\n8:I[4431,[],\"OutletBoundary\"]\na:I[5278,[],\"AsyncMetadataOutlet\"]\nc:I[4431,[],\"ViewportBoundary\"]\ne:I[4431,[],\"MetadataBoundary\"]\nf:\"$Sreact.suspense\"\n11:I[7150,[],\"\"]\n:HL[\"/_next/static/css/491f5e1d36eb62fc.css\",\"style\"]\n:HL[\"/_next/static/css/5eacd01f773eed7f.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"RTQ1HYVu3tm_I6QSHC2Kq\",\"p\":\"\",\"c\":[\"\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/491f5e1d36eb62fc.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"overscroll-none\",\"children\":[[\"$\",\"$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,{}],[\"$\",\"$L5\",null,{}]]}]}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L7\",null,{}]}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/5eacd01f773eed7f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L8\",null,{\"children\":[\"$L9\",[\"$\",\"$La\",null,{\"promise\":\"$@b\"}]]}]]}],{},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}],null],[\"$\",\"$Le\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$f\",null,{\"fallback\":null,\"children\":\"$L10\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$11\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"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\"}]]\n9:null\n"])</script><script>self.__next_f.push([1,"12:I[622,[],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"b:{\"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\"}],[\"$\",\"$L12\",\"8\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"10:\"$b:metadata\"\n"])</script></body></html>
@@ -13,7 +13,7 @@ f:"$Sreact.suspense"
13
13
  11:I[7150,[],""]
14
14
  :HL["/_next/static/css/491f5e1d36eb62fc.css","style"]
15
15
  :HL["/_next/static/css/5eacd01f773eed7f.css","style"]
16
- 0:{"P":null,"b":"qH3fSSOUNLq_-dFHc2iUI","p":"","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/491f5e1d36eb62fc.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"overscroll-none","children":[["$","$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,{}],["$","$L5",null,{}]]}]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L6",null,{"children":["$","$L7",null,{}]}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/5eacd01f773eed7f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L8",null,{"children":["$L9",["$","$La",null,{"promise":"$@b"}]]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lc",null,{"children":"$Ld"}],null],["$","$Le",null,{"children":["$","div",null,{"hidden":true,"children":["$","$f",null,{"fallback":null,"children":"$L10"}]}]}]]}],false]],"m":"$undefined","G":["$11",[]],"s":false,"S":true}
16
+ 0:{"P":null,"b":"RTQ1HYVu3tm_I6QSHC2Kq","p":"","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/491f5e1d36eb62fc.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"overscroll-none","children":[["$","$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,{}],["$","$L5",null,{}]]}]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L6",null,{"children":["$","$L7",null,{}]}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/5eacd01f773eed7f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L8",null,{"children":["$L9",["$","$La",null,{"promise":"$@b"}]]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lc",null,{"children":"$Ld"}],null],["$","$Le",null,{"children":["$","div",null,{"hidden":true,"children":["$","$f",null,{"fallback":null,"children":"$L10"}]}]}]]}],false]],"m":"$undefined","G":["$11",[]],"s":false,"S":true}
17
17
  d:[["$","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"}]]
18
18
  9:null
19
19
  12:I[622,[],"IconMark"]
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "/_not-found/page": "app/_not-found/page.js",
3
3
  "/apple-icon.png/route": "app/apple-icon.png/route.js",
4
- "/manifest.webmanifest/route": "app/manifest.webmanifest/route.js",
5
4
  "/icon.png/route": "app/icon.png/route.js",
5
+ "/manifest.webmanifest/route": "app/manifest.webmanifest/route.js",
6
6
  "/api/info/route": "app/api/info/route.js",
7
7
  "/api/push/vapid-key/route": "app/api/push/vapid-key/route.js",
8
8
  "/api/push/subscribe/route": "app/api/push/subscribe/route.js",
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=369,exports.ids=[369,519],exports.modules={1750:(a,b,c)=>{c.d(b,{notifyAllSubscribers:()=>h});var d=c(1181),e=c.n(d),f=c(6519);let g=!1;async function h(a,b){let c=function(){let a=(0,f.getDb)(),b=a.prepare("SELECT value FROM config WHERE key = 'vapid_keys'").get();if(b)return JSON.parse(b.value);let c=e().generateVAPIDKeys(),d={publicKey:c.publicKey,privateKey:c.privateKey};return a.prepare("INSERT INTO config (key, value) VALUES ('vapid_keys', ?)").run(JSON.stringify(d)),d}();g||(e().setVapidDetails("mailto:clr@localhost",c.publicKey,c.privateKey),g=!0);let d=(0,f.getDb)().prepare("SELECT endpoint, subscription FROM push_subscriptions").all().map(a=>({endpoint:a.endpoint,subscription:JSON.parse(a.subscription)}));if(0===d.length)return;let h=JSON.stringify({title:a,body:b});await Promise.allSettled(d.map(async({endpoint:a,subscription:b})=>{try{await e().sendNotification(b,h)}catch(c){let b=c.statusCode;if(404===b||410===b)(0,f.getDb)().prepare("DELETE FROM push_subscriptions WHERE endpoint = ?").run(a);else console.error("[push] Failed to send to "+a.slice(0,60)+":",c)}}))}},6519:(a,b,c)=>{c.d(b,{getDb:()=>l});var d=c(7550),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;function l(){return k||((0,h.mkdirSync)(i,{recursive:!0}),(k=new(e())(j)).pragma("journal_mode = WAL"),k.exec(`
1
+ "use strict";exports.id=369,exports.ids=[369,519],exports.modules={1750:(a,b,c)=>{c.d(b,{notifyAllSubscribers:()=>l});var d=c(1181),e=c.n(d),f=c(6519);async function g(){let a=await (0,f.getDb)(),b=function(a,b,c){let d=a.prepare(b);try{if(d.bind(c),d.step())return d.getAsObject().value;return}finally{d.free()}}(a,"SELECT value FROM config WHERE key = ?",["vapid_keys"]);if(b)return JSON.parse(b);let c=e().generateVAPIDKeys(),d={publicKey:c.publicKey,privateKey:c.privateKey};return a.run("INSERT INTO config (key, value) VALUES (?, ?)",["vapid_keys",JSON.stringify(d)]),d}let h=!1;async function i(){let a=await g();return h||(e().setVapidDetails("mailto:clr@localhost",a.publicKey,a.privateKey),h=!0),a}async function j(a){(await (0,f.getDb)()).run("DELETE FROM push_subscriptions WHERE endpoint = ?",[a])}async function k(){let a=(await (0,f.getDb)()).prepare("SELECT endpoint, subscription FROM push_subscriptions");try{let b=[];for(;a.step();){let c=a.getAsObject();b.push({endpoint:c.endpoint,subscription:JSON.parse(c.subscription)})}return b}finally{a.free()}}async function l(a,b){await i();let c=await k();if(0===c.length)return;let d=JSON.stringify({title:a,body:b});await Promise.allSettled(c.map(async({endpoint:a,subscription:b})=>{try{await e().sendNotification(b,d)}catch(c){let b=c.statusCode;404===b||410===b?await j(a):console.error("[push] Failed to send to "+a.slice(0,60)+":",c)}}))}},6519:(a,b,c)=>{c.d(b,{getDb:()=>m});var d=c(6293),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;async function m(){if(k)return k;let{Database:a}=await (!l&&(l=e()()),l);return(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,
@@ -6,14 +6,16 @@
6
6
  preview TEXT NOT NULL DEFAULT '',
7
7
  created_at INTEGER NOT NULL,
8
8
  updated_at INTEGER NOT NULL
9
- );
9
+ )
10
+ `),k.run(`
10
11
  CREATE TABLE IF NOT EXISTS config (
11
12
  key TEXT PRIMARY KEY,
12
13
  value TEXT NOT NULL
13
- );
14
+ )
15
+ `),k.run(`
14
16
  CREATE TABLE IF NOT EXISTS push_subscriptions (
15
17
  endpoint TEXT PRIMARY KEY,
16
18
  subscription TEXT NOT NULL,
17
19
  created_at INTEGER NOT NULL
18
- );
19
- `)),k}}};
20
+ )
21
+ `),k&&(0,h.writeFileSync)(j,Buffer.from(k.export())),k}}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=519,exports.ids=[519],exports.modules={6519:(a,b,c)=>{c.d(b,{getDb:()=>l});var d=c(7550),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;function l(){return k||((0,h.mkdirSync)(i,{recursive:!0}),(k=new(e())(j)).pragma("journal_mode = WAL"),k.exec(`
1
+ "use strict";exports.id=519,exports.ids=[519],exports.modules={6519:(a,b,c)=>{c.d(b,{getDb:()=>m});var d=c(6293),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;async function m(){if(k)return k;let{Database:a}=await (!l&&(l=e()()),l);return(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,
@@ -6,14 +6,16 @@
6
6
  preview TEXT NOT NULL DEFAULT '',
7
7
  created_at INTEGER NOT NULL,
8
8
  updated_at INTEGER NOT NULL
9
- );
9
+ )
10
+ `),k.run(`
10
11
  CREATE TABLE IF NOT EXISTS config (
11
12
  key TEXT PRIMARY KEY,
12
13
  value TEXT NOT NULL
13
- );
14
+ )
15
+ `),k.run(`
14
16
  CREATE TABLE IF NOT EXISTS push_subscriptions (
15
17
  endpoint TEXT PRIMARY KEY,
16
18
  subscription TEXT NOT NULL,
17
19
  created_at INTEGER NOT NULL
18
- );
19
- `)),k}}};
20
+ )
21
+ `),k&&(0,h.writeFileSync)(j,Buffer.from(k.export())),k}}};
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=183,a.ids=[183],a.modules={1181:a=>{a.exports=require("web-push")},5957:(a,b,c)=>{async function d(){{let{registerShutdownHandler:a}=await c.e(407).then(c.bind(c,5407));a();let{setProcessExitHook:b}=await c.e(848).then(c.bind(c,6848)),{notifyAllSubscribers:d}=await c.e(369).then(c.bind(c,1750)),{getDb:e}=await c.e(519).then(c.bind(c,6519));b((a,b)=>{let c="Agent finished",f="Response complete";try{let b=e().prepare("SELECT title, preview FROM sessions WHERE id = ?").get(a);b&&(c="Agent finished",f=b.preview||b.title)}catch{}d(c,f)})}}c.r(b),c.d(b,{register:()=>d})},7550:a=>{a.exports=require("better-sqlite3")},9021:a=>{a.exports=require("fs")},9439:a=>{a.exports=require("os")},9902:a=>{a.exports=require("path")}};var b=require("./webpack-runtime.js");b.C(a);var c=b(b.s=5957);module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=183,a.ids=[183],a.modules={1181:a=>{a.exports=require("web-push")},5957:(a,b,c)=>{async function d(){{let{registerShutdownHandler:a}=await c.e(407).then(c.bind(c,5407));a();let{setProcessExitHook:b}=await c.e(848).then(c.bind(c,6848)),{notifyAllSubscribers:d}=await c.e(369).then(c.bind(c,1750)),{getDb:e}=await c.e(519).then(c.bind(c,6519));b((a,b)=>{let c="Agent finished",f="Response complete";(async()=>{try{let b=(await e()).prepare("SELECT title, preview FROM sessions WHERE id = ?");try{if(b.bind([a]),b.step()){let a=b.getAsObject();c="Agent finished",f=a.preview||a.title}}finally{b.free()}}catch{}d(c,f)})()})}}c.r(b),c.d(b,{register:()=>d})},6293:a=>{a.exports=require("sql.js")},9021:a=>{a.exports=require("fs")},9439:a=>{a.exports=require("os")},9902:a=>{a.exports=require("path")}};var b=require("./webpack-runtime.js");b.C(a);var c=b(b.s=5957);module.exports=c})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../node_modules/agent-base/dist/helpers.js","../../node_modules/agent-base/dist/index.js","../../node_modules/agent-base/package.json","../../node_modules/asn1.js/lib/asn1.js","../../node_modules/asn1.js/lib/asn1/api.js","../../node_modules/asn1.js/lib/asn1/base/buffer.js","../../node_modules/asn1.js/lib/asn1/base/index.js","../../node_modules/asn1.js/lib/asn1/base/node.js","../../node_modules/asn1.js/lib/asn1/base/reporter.js","../../node_modules/asn1.js/lib/asn1/constants/der.js","../../node_modules/asn1.js/lib/asn1/constants/index.js","../../node_modules/asn1.js/lib/asn1/decoders/der.js","../../node_modules/asn1.js/lib/asn1/decoders/index.js","../../node_modules/asn1.js/lib/asn1/decoders/pem.js","../../node_modules/asn1.js/lib/asn1/encoders/der.js","../../node_modules/asn1.js/lib/asn1/encoders/index.js","../../node_modules/asn1.js/lib/asn1/encoders/pem.js","../../node_modules/asn1.js/package.json","../../node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../node_modules/better-sqlite3/lib/database.js","../../node_modules/better-sqlite3/lib/index.js","../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../node_modules/better-sqlite3/lib/methods/backup.js","../../node_modules/better-sqlite3/lib/methods/function.js","../../node_modules/better-sqlite3/lib/methods/inspect.js","../../node_modules/better-sqlite3/lib/methods/pragma.js","../../node_modules/better-sqlite3/lib/methods/serialize.js","../../node_modules/better-sqlite3/lib/methods/table.js","../../node_modules/better-sqlite3/lib/methods/transaction.js","../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../node_modules/better-sqlite3/lib/sqlite-error.js","../../node_modules/better-sqlite3/lib/util.js","../../node_modules/better-sqlite3/package.json","../../node_modules/bindings/bindings.js","../../node_modules/bindings/package.json","../../node_modules/bn.js/lib/bn.js","../../node_modules/bn.js/package.json","../../node_modules/buffer-equal-constant-time/index.js","../../node_modules/buffer-equal-constant-time/package.json","../../node_modules/debug/package.json","../../node_modules/debug/src/browser.js","../../node_modules/debug/src/common.js","../../node_modules/debug/src/index.js","../../node_modules/debug/src/node.js","../../node_modules/ecdsa-sig-formatter/package.json","../../node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js","../../node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js","../../node_modules/file-uri-to-path/index.js","../../node_modules/file-uri-to-path/package.json","../../node_modules/has-flag/index.js","../../node_modules/has-flag/package.json","../../node_modules/http_ece/ece.js","../../node_modules/http_ece/package.json","../../node_modules/https-proxy-agent/dist/index.js","../../node_modules/https-proxy-agent/dist/parse-proxy-response.js","../../node_modules/https-proxy-agent/package.json","../../node_modules/inherits/inherits.js","../../node_modules/inherits/inherits_browser.js","../../node_modules/inherits/package.json","../../node_modules/jwa/index.js","../../node_modules/jwa/package.json","../../node_modules/jws/index.js","../../node_modules/jws/lib/data-stream.js","../../node_modules/jws/lib/sign-stream.js","../../node_modules/jws/lib/tostring.js","../../node_modules/jws/lib/verify-stream.js","../../node_modules/jws/package.json","../../node_modules/minimalistic-assert/index.js","../../node_modules/minimalistic-assert/package.json","../../node_modules/ms/index.js","../../node_modules/ms/package.json","../../node_modules/safe-buffer/index.js","../../node_modules/safe-buffer/package.json","../../node_modules/safer-buffer/package.json","../../node_modules/safer-buffer/safer.js","../../node_modules/supports-color/index.js","../../node_modules/supports-color/package.json","../../node_modules/web-push/package.json","../../node_modules/web-push/src/encryption-helper.js","../../node_modules/web-push/src/index.js","../../node_modules/web-push/src/urlsafe-base64-helper.js","../../node_modules/web-push/src/vapid-helper.js","../../node_modules/web-push/src/web-push-constants.js","../../node_modules/web-push/src/web-push-error.js","../../node_modules/web-push/src/web-push-lib.js","../../package.json","../package.json","chunks/369.js","chunks/407.js","chunks/519.js","chunks/848.js","webpack-runtime.js"]}
1
+ {"version":1,"files":["../../node_modules/agent-base/dist/helpers.js","../../node_modules/agent-base/dist/index.js","../../node_modules/agent-base/package.json","../../node_modules/asn1.js/lib/asn1.js","../../node_modules/asn1.js/lib/asn1/api.js","../../node_modules/asn1.js/lib/asn1/base/buffer.js","../../node_modules/asn1.js/lib/asn1/base/index.js","../../node_modules/asn1.js/lib/asn1/base/node.js","../../node_modules/asn1.js/lib/asn1/base/reporter.js","../../node_modules/asn1.js/lib/asn1/constants/der.js","../../node_modules/asn1.js/lib/asn1/constants/index.js","../../node_modules/asn1.js/lib/asn1/decoders/der.js","../../node_modules/asn1.js/lib/asn1/decoders/index.js","../../node_modules/asn1.js/lib/asn1/decoders/pem.js","../../node_modules/asn1.js/lib/asn1/encoders/der.js","../../node_modules/asn1.js/lib/asn1/encoders/index.js","../../node_modules/asn1.js/lib/asn1/encoders/pem.js","../../node_modules/asn1.js/package.json","../../node_modules/bn.js/lib/bn.js","../../node_modules/bn.js/package.json","../../node_modules/buffer-equal-constant-time/index.js","../../node_modules/buffer-equal-constant-time/package.json","../../node_modules/debug/package.json","../../node_modules/debug/src/browser.js","../../node_modules/debug/src/common.js","../../node_modules/debug/src/index.js","../../node_modules/debug/src/node.js","../../node_modules/ecdsa-sig-formatter/package.json","../../node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js","../../node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js","../../node_modules/has-flag/index.js","../../node_modules/has-flag/package.json","../../node_modules/http_ece/ece.js","../../node_modules/http_ece/package.json","../../node_modules/https-proxy-agent/dist/index.js","../../node_modules/https-proxy-agent/dist/parse-proxy-response.js","../../node_modules/https-proxy-agent/package.json","../../node_modules/inherits/inherits.js","../../node_modules/inherits/inherits_browser.js","../../node_modules/inherits/package.json","../../node_modules/jwa/index.js","../../node_modules/jwa/package.json","../../node_modules/jws/index.js","../../node_modules/jws/lib/data-stream.js","../../node_modules/jws/lib/sign-stream.js","../../node_modules/jws/lib/tostring.js","../../node_modules/jws/lib/verify-stream.js","../../node_modules/jws/package.json","../../node_modules/minimalistic-assert/index.js","../../node_modules/minimalistic-assert/package.json","../../node_modules/ms/index.js","../../node_modules/ms/package.json","../../node_modules/safe-buffer/index.js","../../node_modules/safe-buffer/package.json","../../node_modules/safer-buffer/package.json","../../node_modules/safer-buffer/safer.js","../../node_modules/sql.js/dist/sql-wasm.js","../../node_modules/sql.js/package.json","../../node_modules/supports-color/index.js","../../node_modules/supports-color/package.json","../../node_modules/web-push/package.json","../../node_modules/web-push/src/encryption-helper.js","../../node_modules/web-push/src/index.js","../../node_modules/web-push/src/urlsafe-base64-helper.js","../../node_modules/web-push/src/vapid-helper.js","../../node_modules/web-push/src/web-push-constants.js","../../node_modules/web-push/src/web-push-error.js","../../node_modules/web-push/src/web-push-lib.js","../package.json","chunks/369.js","chunks/407.js","chunks/519.js","chunks/848.js","webpack-runtime.js"]}
@@ -18,7 +18,7 @@
18
18
  "wasm": [],
19
19
  "assets": [],
20
20
  "env": {
21
- "__NEXT_BUILD_ID": "qH3fSSOUNLq_-dFHc2iUI",
21
+ "__NEXT_BUILD_ID": "RTQ1HYVu3tm_I6QSHC2Kq",
22
22
  "NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "iXXMrFSSgs4vthm57YNSOxqx+PEci0BWRWSHfO7vXHw=",
23
23
  "__NEXT_PREVIEW_MODE_ID": "1c5d6cae8d80ef41b72fb40230dd2603",
24
24
  "__NEXT_PREVIEW_MODE_SIGNING_KEY": "5077b6ff949d151981381dee9756424772b668d00a49f981f244a25ad2950e09",
@@ -1 +1 @@
1
- <!DOCTYPE html><!--qH3fSSOUNLq__dFHc2iUI--><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/491f5e1d36eb62fc.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-11d8cab0ea5a792e.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><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><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>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)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></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[759,[\"177\",\"static/chunks/app/layout-11d8cab0ea5a792e.js\"],\"SwRegister\"]\n5:I[2317,[\"177\",\"static/chunks/app/layout-11d8cab0ea5a792e.js\"],\"PwaInstall\"]\n6:I[4431,[],\"OutletBoundary\"]\n8:I[5278,[],\"AsyncMetadataOutlet\"]\na:I[4431,[],\"ViewportBoundary\"]\nc:I[4431,[],\"MetadataBoundary\"]\nd:\"$Sreact.suspense\"\nf:I[7150,[],\"\"]\n:HL[\"/_next/static/css/491f5e1d36eb62fc.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"qH3fSSOUNLq_-dFHc2iUI\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/491f5e1d36eb62fc.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"overscroll-none\",\"children\":[[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L4\",null,{}],[\"$\",\"$L5\",null,{}]]}]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"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.\"}]}]]}]}]],null,[\"$\",\"$L6\",null,{\"children\":[\"$L7\",[\"$\",\"$L8\",null,{\"promise\":\"$@9\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],null],[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$d\",null,{\"fallback\":null,\"children\":\"$Le\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"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\"}]]\n7:null\n"])</script><script>self.__next_f.push([1,"10:I[622,[],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"9:{\"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\"}],[\"$\",\"$L10\",\"8\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"e:\"$9:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--RTQ1HYVu3tm_I6QSHC2Kq--><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/491f5e1d36eb62fc.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-11d8cab0ea5a792e.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><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><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>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)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></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[759,[\"177\",\"static/chunks/app/layout-11d8cab0ea5a792e.js\"],\"SwRegister\"]\n5:I[2317,[\"177\",\"static/chunks/app/layout-11d8cab0ea5a792e.js\"],\"PwaInstall\"]\n6:I[4431,[],\"OutletBoundary\"]\n8:I[5278,[],\"AsyncMetadataOutlet\"]\na:I[4431,[],\"ViewportBoundary\"]\nc:I[4431,[],\"MetadataBoundary\"]\nd:\"$Sreact.suspense\"\nf:I[7150,[],\"\"]\n:HL[\"/_next/static/css/491f5e1d36eb62fc.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"RTQ1HYVu3tm_I6QSHC2Kq\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/491f5e1d36eb62fc.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"overscroll-none\",\"children\":[[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L4\",null,{}],[\"$\",\"$L5\",null,{}]]}]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"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.\"}]}]]}]}]],null,[\"$\",\"$L6\",null,{\"children\":[\"$L7\",[\"$\",\"$L8\",null,{\"promise\":\"$@9\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],null],[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$d\",null,{\"fallback\":null,\"children\":\"$Le\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"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\"}]]\n7:null\n"])</script><script>self.__next_f.push([1,"10:I[622,[],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"9:{\"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\"}],[\"$\",\"$L10\",\"8\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"e:\"$9:metadata\"\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-d434b6449a9cd8f3.js" defer=""></script><script src="/_next/static/chunks/framework-7c18bae94415732c.js" defer=""></script><script src="/_next/static/chunks/main-d9f723dc0fb9d113.js" defer=""></script><script src="/_next/static/chunks/pages/_app-79e662cab09aea11.js" defer=""></script><script src="/_next/static/chunks/pages/_error-89cd7530328c75d9.js" defer=""></script><script src="/_next/static/qH3fSSOUNLq_-dFHc2iUI/_buildManifest.js" defer=""></script><script src="/_next/static/qH3fSSOUNLq_-dFHc2iUI/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>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)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"qH3fSSOUNLq_-dFHc2iUI","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-d434b6449a9cd8f3.js" defer=""></script><script src="/_next/static/chunks/framework-7c18bae94415732c.js" defer=""></script><script src="/_next/static/chunks/main-d9f723dc0fb9d113.js" defer=""></script><script src="/_next/static/chunks/pages/_app-79e662cab09aea11.js" defer=""></script><script src="/_next/static/chunks/pages/_error-89cd7530328c75d9.js" defer=""></script><script src="/_next/static/RTQ1HYVu3tm_I6QSHC2Kq/_buildManifest.js" defer=""></script><script src="/_next/static/RTQ1HYVu3tm_I6QSHC2Kq/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>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)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"RTQ1HYVu3tm_I6QSHC2Kq","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -9,6 +9,9 @@ import { randomInt } from "crypto";
9
9
  import { createServer } from "net";
10
10
  import qrcode from "qrcode-terminal";
11
11
 
12
+ const __dirname = dirname(fileURLToPath(import.meta.url));
13
+ const projectRoot = resolve(__dirname, "..");
14
+
12
15
  const WORDS = [
13
16
  "alpha","amber","anvil","apple","arrow","atlas","azure","badge","baker","beach",
14
17
  "berry","blade","blaze","bloom","board","bonus","brave","brick","brook","brush",
@@ -41,9 +44,6 @@ function generateToken() {
41
44
  return `${a}-${b}`;
42
45
  }
43
46
 
44
- const __dirname = dirname(fileURLToPath(import.meta.url));
45
- const projectRoot = resolve(__dirname, "..");
46
-
47
47
  const args = process.argv.slice(2);
48
48
 
49
49
  if (args.includes("--help") || args.includes("-h")) {
package/next.config.ts CHANGED
@@ -7,7 +7,7 @@ const csp = isDev
7
7
  : "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self'; worker-src 'self'";
8
8
 
9
9
  const nextConfig: NextConfig = {
10
- serverExternalPackages: ["better-sqlite3", "web-push"],
10
+ serverExternalPackages: ["sql.js", "web-push"],
11
11
  async headers() {
12
12
  return [
13
13
  {