cursor-local-remote 0.1.1 → 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 (32) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +17 -17
  3. package/.next/app-path-routes-manifest.json +6 -6
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/prerender-manifest.json +25 -25
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/server/app/_not-found.html +1 -1
  8. package/.next/server/app/_not-found.rsc +1 -1
  9. package/.next/server/app/api/chat/route.js +7 -5
  10. package/.next/server/app/api/chat/route.js.nft.json +1 -1
  11. package/.next/server/app/api/push/subscribe/route.js +7 -5
  12. package/.next/server/app/api/push/subscribe/route.js.nft.json +1 -1
  13. package/.next/server/app/api/push/vapid-key/route.js +7 -5
  14. package/.next/server/app/api/push/vapid-key/route.js.nft.json +1 -1
  15. package/.next/server/app/api/sessions/route.js +7 -5
  16. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  17. package/.next/server/app/index.html +1 -1
  18. package/.next/server/app/index.rsc +1 -1
  19. package/.next/server/app-paths-manifest.json +6 -6
  20. package/.next/server/chunks/369.js +7 -5
  21. package/.next/server/chunks/519.js +7 -5
  22. package/.next/server/instrumentation.js +1 -1
  23. package/.next/server/instrumentation.js.nft.json +1 -1
  24. package/.next/server/middleware-manifest.json +1 -1
  25. package/.next/server/pages/404.html +1 -1
  26. package/.next/server/pages/500.html +1 -1
  27. package/.next/server/pages-manifest.json +1 -1
  28. package/bin/cursor-remote.mjs +3 -3
  29. package/next.config.ts +1 -1
  30. package/package.json +3 -4
  31. /package/.next/static/{YQyuIR4mfnApLjHpm7T-I → RTQ1HYVu3tm_I6QSHC2Kq}/_buildManifest.js +0 -0
  32. /package/.next/static/{YQyuIR4mfnApLjHpm7T-I → RTQ1HYVu3tm_I6QSHC2Kq}/_ssgManifest.js +0 -0
@@ -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": "YQyuIR4mfnApLjHpm7T-I",
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><!--YQyuIR4mfnApLjHpm7T_I--><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\":\"YQyuIR4mfnApLjHpm7T-I\",\"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/YQyuIR4mfnApLjHpm7T-I/_buildManifest.js" defer=""></script><script src="/_next/static/YQyuIR4mfnApLjHpm7T-I/_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":"YQyuIR4mfnApLjHpm7T-I","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>
@@ -1,6 +1,6 @@
1
1
  {
2
- "/_error": "pages/_error.js",
3
2
  "/_app": "pages/_app.js",
3
+ "/_error": "pages/_error.js",
4
4
  "/_document": "pages/_document.js",
5
5
  "/404": "pages/404.html"
6
6
  }
@@ -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
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cursor-local-remote",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "type": "module",
5
5
  "description": "Control Cursor IDE from any device on your local network",
6
6
  "license": "MIT",
@@ -39,12 +39,10 @@
39
39
  "lint:fix": "eslint . --fix",
40
40
  "format": "prettier --write .",
41
41
  "format:check": "prettier --check .",
42
- "postinstall": "npm rebuild better-sqlite3 || true",
43
42
  "prepublishOnly": "npm run build && find .next -name '*.map' -delete"
44
43
  },
45
44
  "dependencies": {
46
45
  "@khmyznikov/pwa-install": "^0.6.3",
47
- "better-sqlite3": "^12.6.2",
48
46
  "highlight.js": "^11.11.1",
49
47
  "next": "^15.5.12",
50
48
  "qrcode-terminal": "^0.12.0",
@@ -54,6 +52,7 @@
54
52
  "react-markdown": "^10.1.0",
55
53
  "rehype-highlight": "^7.0.2",
56
54
  "remark-gfm": "^4.0.1",
55
+ "sql.js": "^1.14.1",
57
56
  "web-haptics": "^0.0.6",
58
57
  "web-push": "^3.6.7",
59
58
  "zod": "^4.3.6"
@@ -61,10 +60,10 @@
61
60
  "devDependencies": {
62
61
  "@eslint/js": "^9.39.4",
63
62
  "@tailwindcss/postcss": "^4.2.1",
64
- "@types/better-sqlite3": "^7.6.13",
65
63
  "@types/node": "^25.5.0",
66
64
  "@types/react": "^19.2.14",
67
65
  "@types/react-dom": "^19.2.3",
66
+ "@types/sql.js": "^1.4.9",
68
67
  "@types/web-push": "^3.6.4",
69
68
  "eslint": "^9.39.4",
70
69
  "eslint-config-next": "^16.1.6",