antigravity-mobile-proxy 0.1.7 → 0.1.9

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 (126) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +2 -2
  3. package/.next/standalone/.next/required-server-files.json +1 -1
  4. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  5. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  6. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/.next/standalone/.next/server/app/api/v1/artifacts/active/route.js +1 -1
  12. package/.next/standalone/.next/server/app/api/v1/artifacts/active/route.js.nft.json +1 -1
  13. package/.next/standalone/.next/server/app/api/v1/changes/active/route.js +1 -1
  14. package/.next/standalone/.next/server/app/api/v1/changes/active/route.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/api/v1/chat/action/route.js +2 -2
  16. package/.next/standalone/.next/server/app/api/v1/chat/action/route.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/api/v1/chat/agent/route.js +2 -2
  18. package/.next/standalone/.next/server/app/api/v1/chat/agent/route.js.nft.json +1 -1
  19. package/.next/standalone/.next/server/app/api/v1/chat/approve/route.js +2 -2
  20. package/.next/standalone/.next/server/app/api/v1/chat/approve/route.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/api/v1/chat/history/route.js +1 -1
  22. package/.next/standalone/.next/server/app/api/v1/chat/history/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/v1/chat/mode/route.js +2 -2
  24. package/.next/standalone/.next/server/app/api/v1/chat/mode/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/v1/chat/new/route.js +1 -1
  26. package/.next/standalone/.next/server/app/api/v1/chat/new/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/v1/chat/reject/route.js +2 -2
  28. package/.next/standalone/.next/server/app/api/v1/chat/reject/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/v1/chat/route.js +1 -1
  30. package/.next/standalone/.next/server/app/api/v1/chat/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/v1/chat/state/route.js +2 -2
  32. package/.next/standalone/.next/server/app/api/v1/chat/state/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/v1/chat/stream/route.js +4 -4
  34. package/.next/standalone/.next/server/app/api/v1/chat/stream/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/v1/conversations/route.js +2 -2
  36. package/.next/standalone/.next/server/app/api/v1/conversations/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/v1/conversations/select/route.js +2 -2
  38. package/.next/standalone/.next/server/app/api/v1/conversations/select/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/v1/debug/dom/route.js +2 -2
  40. package/.next/standalone/.next/server/app/api/v1/debug/dom/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/v1/debug/scrape/route.js +2 -2
  42. package/.next/standalone/.next/server/app/api/v1/debug/scrape/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/v1/health/route.js +2 -2
  44. package/.next/standalone/.next/server/app/api/v1/health/route.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/api/v1/windows/cdp-start/route.js +1 -1
  46. package/.next/standalone/.next/server/app/api/v1/windows/cdp-start/route.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/api/v1/windows/cdp-status/route.js +1 -1
  48. package/.next/standalone/.next/server/app/api/v1/windows/cdp-status/route.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/api/v1/windows/close/route.js +1 -1
  50. package/.next/standalone/.next/server/app/api/v1/windows/close/route.js.nft.json +1 -1
  51. package/.next/standalone/.next/server/app/api/v1/windows/open/route.js +1 -1
  52. package/.next/standalone/.next/server/app/api/v1/windows/open/route.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/api/v1/windows/route.js +2 -2
  54. package/.next/standalone/.next/server/app/api/v1/windows/route.js.nft.json +1 -1
  55. package/.next/standalone/.next/server/app/api/v1/windows/select/route.js +2 -2
  56. package/.next/standalone/.next/server/app/api/v1/windows/select/route.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0623e8dd._.js +3 -0
  58. package/.next/standalone/.next/server/chunks/[root-of-the-server]__082ca825._.js +3 -0
  59. package/.next/standalone/.next/server/chunks/[root-of-the-server]__09cb0713._.js +3 -0
  60. package/.next/standalone/.next/server/chunks/[root-of-the-server]__15ab656d._.js +3 -0
  61. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1bfbe922._.js +3 -0
  62. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1cbbd160._.js +3 -0
  63. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3167bc4b._.js +3 -0
  64. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3fe6d12c._.js +1 -1
  65. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4748a9d1._.js +3 -0
  66. package/.next/standalone/.next/server/chunks/[root-of-the-server]__48d5e6c6._.js +3 -0
  67. package/.next/standalone/.next/server/chunks/[root-of-the-server]__65bc6b06._.js +3 -0
  68. package/.next/standalone/.next/server/chunks/[root-of-the-server]__707a23f4._.js +3 -0
  69. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7c61d58a._.js +3 -0
  70. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7fe447ed._.js +3 -0
  71. package/.next/standalone/.next/server/chunks/[root-of-the-server]__83b2c7ab._.js +3 -0
  72. package/.next/standalone/.next/server/chunks/[root-of-the-server]__87373812._.js +3 -0
  73. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8b04e711._.js +3 -0
  74. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8e1d0cab._.js +3 -0
  75. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9a1969e6._.js +1 -1
  76. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9e4a0996._.js +3 -0
  77. package/.next/standalone/.next/server/chunks/[root-of-the-server]__aa220d3c._.js +3 -0
  78. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bf898b44._.js +3 -0
  79. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c696771d._.js +1 -1
  80. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cd7ccfdd._.js +1 -1
  81. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d06d72f7._.js +3 -0
  82. package/.next/standalone/.next/server/chunks/[root-of-the-server]__dc1db6cb._.js +1 -1
  83. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e9181374._.js +1 -1
  84. package/.next/standalone/.next/server/chunks/[root-of-the-server]__edd110e7._.js +3 -0
  85. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f54bea3d._.js +1 -1
  86. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f882d583._.js +3 -0
  87. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0272adf7.js +1 -1
  88. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0b1e64d7.js +1 -1
  89. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_d6a474cc.js +1 -1
  90. package/.next/standalone/.next/server/chunks/ssr/_657ecbe9._.js +1 -1
  91. package/.next/standalone/.next/server/chunks/ssr/_939145a4._.js +1 -1
  92. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_7f45f9bf.js +1 -1
  93. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_f21d913a._.js +1 -1
  94. package/.next/standalone/.next/server/pages/500.html +2 -2
  95. package/.next/standalone/lib/cdp/process-manager.ts +37 -13
  96. package/.next/standalone/lib/init.ts +93 -17
  97. package/.next/standalone/package-lock.json +2 -2
  98. package/.next/standalone/package.json +1 -1
  99. package/.next/standalone/tsconfig.tsbuildinfo +1 -1
  100. package/package.json +1 -1
  101. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d31b133._.js +0 -3
  102. package/.next/standalone/.next/server/chunks/[root-of-the-server]__133ac672._.js +0 -3
  103. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1535be2d._.js +0 -3
  104. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ee7d416._.js +0 -3
  105. package/.next/standalone/.next/server/chunks/[root-of-the-server]__25f5f8ec._.js +0 -3
  106. package/.next/standalone/.next/server/chunks/[root-of-the-server]__26662154._.js +0 -3
  107. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2f4a0b79._.js +0 -3
  108. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4b17d628._.js +0 -3
  109. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4c540a38._.js +0 -3
  110. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4d161104._.js +0 -3
  111. package/.next/standalone/.next/server/chunks/[root-of-the-server]__53c4f34d._.js +0 -3
  112. package/.next/standalone/.next/server/chunks/[root-of-the-server]__68965284._.js +0 -3
  113. package/.next/standalone/.next/server/chunks/[root-of-the-server]__851f6b5a._.js +0 -3
  114. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9166d84a._.js +0 -3
  115. package/.next/standalone/.next/server/chunks/[root-of-the-server]__94275f7f._.js +0 -3
  116. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9122673._.js +0 -3
  117. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c34d50c8._.js +0 -3
  118. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d13bbe3c._.js +0 -3
  119. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d172e6aa._.js +0 -3
  120. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d5818e20._.js +0 -3
  121. package/.next/standalone/.next/server/chunks/[root-of-the-server]__db7b3604._.js +0 -3
  122. package/.next/standalone/.next/server/chunks/[root-of-the-server]__eb9ef4db._.js +0 -3
  123. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fabd57e0._.js +0 -3
  124. /package/.next/static/{standalone-build → e0cBbGO5qgXLed5_og5Y_}/_buildManifest.js +0 -0
  125. /package/.next/static/{standalone-build → e0cBbGO5qgXLed5_og5Y_}/_clientMiddlewareManifest.json +0 -0
  126. /package/.next/static/{standalone-build → e0cBbGO5qgXLed5_og5Y_}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[53506,e=>{"use strict";var t=e.i(29476),r=e.i(13231),n=e.i(40911),s=e.i(93846);let o=!1,a=null;async function i(){o&&s.default.workbenchPage||(a||(a=(async()=>{try{await (0,t.connectToWorkbench)(s.default),o=!0,l();return}catch(e){n.logger.warn("[CDP Init] Initial connection failed:",e.message)}n.logger.info("[CDP Init] Attempting auto-recovery...");for(let e=1;e<=2;e++){n.logger.info(`[CDP Init] Recovery attempt ${e}/2`);let a=await (0,r.isCdpServerActive)();a.active&&0===a.windowCount?n.logger.warn("[CDP Init] Zombie CDP detected: server active but 0 workbench pages. Killing and restarting..."):a.active?n.logger.info(`[CDP Init] CDP active with ${a.windowCount} window(s). Retrying connection...`):n.logger.warn("[CDP Init] CDP server not reachable. Starting Antigravity with CDP...");let i=await (0,r.startCdpServer)(".",!0);if(!i.success){n.logger.error(`[CDP Init] Auto-recovery failed: ${i.message}`);continue}if(n.logger.info(`[CDP Init] Antigravity restarted: ${i.message}`),await new Promise(e=>setTimeout(e,3e3)),s.default.browser){try{s.default.browser.disconnect()}catch{}s.default.browser=null,s.default.workbenchPage=null,s.default.allWorkbenches=[]}try{await (0,t.connectToWorkbench)(s.default),o=!0,l(),n.logger.info("[CDP Init] Auto-recovery successful! Connected to workbench.");return}catch(t){n.logger.error(`[CDP Init] Recovery attempt ${e} connection failed: ${t.message}`)}}n.logger.error("[CDP Init] All 2 recovery attempts failed. Please start Antigravity manually with --remote-debugging-port=9223"),a=null})()),await a)}function l(){s.default.browser?.on("disconnected",()=>{n.logger.error("[CDP] Browser disconnected. Will reconnect on next request."),o=!1,a=null,s.default.workbenchPage=null,s.default.browser=null,s.default.allWorkbenches=[]}),s.default.workbenchPage?.on("close",()=>{n.logger.warn("[CDP] Workbench page closed. Will reconnect on next request."),o=!1,a=null,s.default.workbenchPage=null})}e.s(["ensureCdpConnection",()=>i])},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},93846,e=>{"use strict";let t=globalThis.__PROXY_CTX||{workbenchPage:null,browser:null,allWorkbenches:[],activeWindowIdx:0,activeConversationId:null,activeTitle:null,lastActionTimestamp:0};e.s(["default",0,t])},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},40911,e=>{"use strict";let t=new class{level="info";constructor(){this.level=process.env.LOG_LEVEL||"info"}shouldLog(e){let t=["debug","info","warn","error"];return t.indexOf(e)>=t.indexOf(this.level)}debug(e,t){this.shouldLog("debug")&&console.debug(`[DEBUG] ${e}`,t||"")}info(e,t){this.shouldLog("info")&&console.info(`[INFO] ${e}`,t||"")}warn(e,t){this.shouldLog("warn")&&console.warn(`[WARN] ${e}`,t||"")}error(e,t){this.shouldLog("error")&&console.error(`[ERROR] ${e}`,t||"")}};e.s(["logger",0,t])},13231,e=>{"use strict";var t=e.i(33405),r=e.i(24361),n=e.i(22734),s=e.i(14747),o=e.i(40911);let a=(0,r.promisify)(t.exec),i=parseInt(process.env.CDP_PORT||"9223",10);function l(){if(process.env.ANTIGRAVITY_BINARY){let e=process.env.ANTIGRAVITY_BINARY;return(0,n.existsSync)(e)||o.logger.warn(`[ProcessManager] ANTIGRAVITY_BINARY set to "${e}" but file does not exist.`),e}return"/usr/share/antigravity/antigravity"}async function c(){try{await a("killall antigravity 2>/dev/null || true"),o.logger.info("[ProcessManager] Killed existing Antigravity processes."),await new Promise(e=>setTimeout(e,1500))}catch{}}process.platform,process.platform;let u=null;async function d(){try{let e=await fetch(`http://localhost:${i}/json`);if(!e.ok)return{active:!1,windowCount:0,error:`HTTP ${e.status}`};let t=(await e.json()).filter(e=>e.url?.includes("workbench.html")&&!e.url?.includes("jetski"));return{active:!0,windowCount:t.length}}catch(e){return{active:!1,windowCount:0,error:e.message}}}async function g(e=".",r=!1){let a=await d();if(a.active&&a.windowCount>0&&!r)return{success:!0,message:`CDP server already active on port ${i} with ${a.windowCount} window(s).`};r&&await c();let p=l(),w=(0,s.resolve)(e||".");if((p.includes("/")||p.includes("\\"))&&!(0,n.existsSync)(p))return{success:!1,message:`Antigravity binary not found at "${p}". Set the ANTIGRAVITY_BINARY environment variable to the correct path.`};try{if(!(0,n.statSync)(w).isDirectory())return{success:!1,message:`"${w}" is not a directory.`}}catch{return{success:!1,message:`Directory not found: "${w}"`}}try{o.logger.info(`[ProcessManager] Starting Antigravity: ${p} --remote-debugging-port=${i} --new-window "${w}"`),o.logger.info(`[ProcessManager] Platform: ${process.platform}, Binary: ${p}`),(u=(0,t.spawn)(p,[`--remote-debugging-port=${i}`,"--new-window",w],{detached:!0,stdio:"ignore",env:{...process.env},shell:!1,windowsHide:!0})).unref();let e=u.pid;if(u.on("error",e=>{o.logger.error(`[ProcessManager] Antigravity process error: ${e.message}`),u=null}),u.on("exit",e=>{o.logger.info(`[ProcessManager] Antigravity process exited with code ${e}`),u=null}),await h(15e3))return{success:!0,message:`Antigravity started with CDP on port ${i}.`,pid:e||void 0};return{success:!1,message:`Antigravity process started but CDP server did not become available on port ${i} within 15s.`,pid:e||void 0}}catch(e){return o.logger.error(`[ProcessManager] Failed to start Antigravity: ${e.message}`),{success:!1,message:`Failed to start Antigravity: ${e.message}`}}}async function p(e){let r=(0,s.resolve)(e);try{if(!(0,n.statSync)(r).isDirectory())return{success:!1,message:`"${r}" is not a directory. Please provide a folder path.`}}catch{return{success:!1,message:`Directory not found: "${r}". Make sure the path exists.`}}let a=await d(),i=l();if(a.active)try{return o.logger.info(`[ProcessManager] Opening new window for: ${r}`),(0,t.spawn)(i,["--new-window",r],{detached:!0,stdio:"ignore",env:{...process.env},shell:!1,windowsHide:!0}).unref(),await new Promise(e=>setTimeout(e,3e3)),{success:!0,message:`Opened new window for "${r}".`}}catch(e){return{success:!1,message:`Failed to open window: ${e.message}`}}{let t=await g(e,!1);return{success:t.success,message:t.message}}}async function w(e){try{let t=await fetch(`http://localhost:${i}/json/close/${e}`);if(t.ok)return{success:!0,message:"Window closed successfully."};return{success:!1,message:`Failed to close window: HTTP ${t.status}`}}catch(e){return{success:!1,message:`Failed to close window: ${e.message}`}}}async function f(){try{let e=await fetch(`http://localhost:${i}/json`);if(!e.ok)return{targets:[],error:`HTTP ${e.status}`};return{targets:(await e.json()).filter(e=>e.url?.includes("workbench.html")&&!e.url?.includes("jetski")).map(e=>({id:e.id,title:e.title||"Untitled",url:e.url}))}}catch(e){return{targets:[],error:e.message}}}async function h(e){let t=Date.now();for(;Date.now()-t<e;){if((await d()).active)return!0;await new Promise(e=>setTimeout(e,500))}return!1}e.s(["closeWindow",()=>w,"getWindowTargets",()=>f,"isCdpServerActive",()=>d,"openNewWindow",()=>p,"startCdpServer",()=>g])},6461,(e,t,r)=>{t.exports=e.x("zlib",()=>require("zlib"))},524,e=>{"use strict";class t{static create(e){return new Promise((r,n)=>{let s=new WebSocket(e);s.addEventListener("open",()=>r(new t(s))),s.addEventListener("error",n)})}#e;onmessage;onclose;constructor(e){this.#e=e,this.#e.addEventListener("message",e=>{this.onmessage&&this.onmessage.call(null,e.data)}),this.#e.addEventListener("close",()=>{this.onclose&&this.onclose.call(null)}),this.#e.addEventListener("error",()=>{})}send(e){this.#e.send(e)}close(){this.#e.close()}}e.s(["BrowserWebSocketTransport",()=>t])},41444,e=>{"use strict";function t(e){return new Promise(t=>setTimeout(t,e))}e.s(["sleep",()=>t])},79740,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),s=e.i(59756),o=e.i(61916),a=e.i(74677),i=e.i(69741),l=e.i(16795),c=e.i(87718),u=e.i(95169),d=e.i(47587),g=e.i(66012),p=e.i(70101),w=e.i(26937),f=e.i(10372),h=e.i(93695);e.i(52474);var v=e.i(220),m=e.i(89171),y=e.i(53506),x=e.i(93846),P=e.i(40911),b=e.i(41444);async function C(e){if(!e.workbenchPage)throw Error("Not connected to Antigravity");let t=await e.workbenchPage.evaluate(()=>{let e=document.querySelector(".antigravity-agent-side-panel");if(!e)return null;for(let t of e.querySelectorAll("span.text-xs")){let e=t.className||"";if(!e.includes("select-none")||!e.includes("opacity-70"))continue;let r=(t.textContent||"").trim();if("Fast"!==r&&"Planning"!==r&&t.closest('[class*="cursor-pointer"]'))return r}return null});return t||P.logger.warn("[AgentSelector] Could not detect current agent"),t}async function R(e){if(!e.workbenchPage)throw Error("Not connected to Antigravity");if(!await e.workbenchPage.evaluate(()=>{let e=document.querySelector(".antigravity-agent-side-panel");if(!e)return!1;for(let t of e.querySelectorAll("span.text-xs")){let e=t.className||"";if(!e.includes("select-none")||!e.includes("opacity-70"))continue;let r=(t.textContent||"").trim();if("Fast"===r||"Planning"===r)continue;let n=t.closest('[class*="cursor-pointer"]');if(n)return n.click(),!0}return!1}))return P.logger.warn("[AgentSelector] Could not find agent selector button to click"),[];await (0,b.sleep)(400);let t=await e.workbenchPage.evaluate(()=>{let e=[];for(let t of document.querySelectorAll('[role="dialog"]')){let r=(t.textContent||"").trim();if(r&&!(r.length<10)){for(let r of t.querySelectorAll("span.text-xs.font-medium")){let t=(r.textContent||"").trim();if(!t)continue;let n=r.closest('[class*="cursor-pointer"], [class*="hover"]'),s=n?.querySelector('svg.lucide-check, svg[class*="check"]')!==null,o=n&&(n.className||"").includes("bg-");e.push({name:t,active:s||!!o})}if(e.length>0)break}}if(0===e.length){let t=[/claude/i,/gemini/i,/gpt/i,/sonnet/i,/opus/i,/haiku/i,/flash/i,/deepseek/i,/llama/i,/mistral/i];for(let r of document.querySelectorAll("span.text-xs.font-medium")){let n=(r.textContent||"").trim();t.some(e=>e.test(n))&&e.push({name:n,active:!1})}}return e});await e.workbenchPage.keyboard.press("Escape"),await (0,b.sleep)(200);let r=await C(e);if(r)for(let e of t)e.active=e.name===r;return t}async function A(e,t){if(!e.workbenchPage)throw Error("Not connected to Antigravity");if(P.logger.info(`[AgentSelector] Switching to agent: "${t}"...`),!await e.workbenchPage.evaluate(()=>{let e=document.querySelector(".antigravity-agent-side-panel");if(!e)return!1;for(let t of e.querySelectorAll("span.text-xs")){let e=t.className||"";if(!e.includes("select-none")||!e.includes("opacity-70"))continue;let r=(t.textContent||"").trim();if("Fast"===r||"Planning"===r)continue;let n=t.closest('[class*="cursor-pointer"]');if(n)return n.click(),!0}return!1}))throw Error("Could not find agent selector button");if(await (0,b.sleep)(400),!await e.workbenchPage.evaluate(e=>{let t=e.toLowerCase();for(let e of document.querySelectorAll('[role="dialog"]'))for(let r of e.querySelectorAll("span.text-xs.font-medium")){let e=(r.textContent||"").trim();if(e.toLowerCase()===t||e.toLowerCase().includes(t)){let e=r.closest('[class*="cursor-pointer"]')||r.closest('[class*="hover"]')||r.parentElement;if(e)return e.click(),!0}}for(let e of document.querySelectorAll("span.text-xs.font-medium")){let r=(e.textContent||"").trim();if(r.toLowerCase()===t||r.toLowerCase().includes(t)){let t=e.closest('[class*="cursor-pointer"]')||e.closest('[class*="hover"]')||e.parentElement;if(t)return t.click(),!0}}return!1},t))throw await e.workbenchPage.keyboard.press("Escape"),await (0,b.sleep)(200),Error(`Could not find agent "${t}" in the selector`);await (0,b.sleep)(300);let r=await C(e);return P.logger.info(`[AgentSelector] Agent is now: "${r}"`),!0}async function k(){if(await (0,y.ensureCdpConnection)(),!x.default.workbenchPage)return m.NextResponse.json({error:"Not connected to Antigravity"},{status:503});try{let e=await C(x.default);return m.NextResponse.json({agent:e})}catch(e){return m.NextResponse.json({error:e.message},{status:500})}}async function _(e){if(await (0,y.ensureCdpConnection)(),!x.default.workbenchPage)return m.NextResponse.json({error:"Not connected to Antigravity"},{status:503});try{let t=await e.json(),r=t.action||"switch";if("list"===r){let e=await R(x.default),t=await C(x.default);return m.NextResponse.json({agents:e,currentAgent:t})}if("switch"===r){let e=t.agent;if(!e||"string"!=typeof e)return m.NextResponse.json({error:'Missing "agent" field. Provide the agent name to switch to.'},{status:400});await A(x.default,e);let r=await C(x.default);return m.NextResponse.json({success:!0,agent:r})}return m.NextResponse.json({error:'Invalid action. Use "switch" or "list".'},{status:400})}catch(e){return m.NextResponse.json({error:e.message},{status:500})}}e.s(["GET",()=>k,"POST",()=>_,"dynamic",0,"force-dynamic"],96897);var E=e.i(96897);let T=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v1/chat/agent/route",pathname:"/api/v1/chat/agent",filename:"route",bundlePath:""},distDir:"./.next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/chat/agent/route.ts",nextConfigOutput:"standalone",userland:E}),{workAsyncStorage:$,workUnitAsyncStorage:N,serverHooks:S}=T;function j(){return(0,n.patchFetch)({workAsyncStorage:$,workUnitAsyncStorage:N})}async function I(e,t,n){T.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/v1/chat/agent/route";m=m.replace(/\/index$/,"")||"/";let y=await T.prepare(e,t,{srcPage:m,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:x,params:P,nextConfig:b,parsedUrl:C,isDraftMode:R,prerenderManifest:A,routerServerContext:k,isOnDemandRevalidate:_,revalidateOnlyGenerated:E,resolvedPathname:$,clientReferenceManifest:N,serverActionsManifest:S}=y,j=(0,i.normalizeAppPath)(m),I=!!(A.dynamicRoutes[j]||A.routes[$]),D=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,C,!1):t.end("This page could not be found"),null);if(I&&!R){let e=!!A.routes[$],t=A.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(b.experimental.adapterPath)return await D();throw new h.NoFallbackError}}let q=null;!I||T.isDev||R||(q="/index"===(q=$)?"/":q);let O=!0===T.isDev||!I,L=I&&!O;S&&N&&(0,a.setManifestsSingleton)({page:m,clientReferenceManifest:N,serverActionsManifest:S});let H=e.method||"GET",M=(0,o.getTracer)(),U=M.getActiveScopeSpan(),W={params:P,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:O,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:b.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,s)=>T.onRequestError(e,t,n,s,k)},sharedContext:{buildId:x}},F=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),G=c.NextRequestAdapter.fromNodeNextRequest(F,(0,c.signalFromNodeResponse)(t));try{let a=async e=>T.handle(G,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${H} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${m}`)}),i=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var o,l;let c=async({previousCacheEntry:r})=>{try{if(!i&&_&&E&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await a(s);e.fetchMetrics=W.renderOpts.fetchMetrics;let l=W.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let c=W.renderOpts.collectedTags;if(!I)return await (0,g.sendResponse)(F,B,o,W.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,p.toNodeOutgoingHttpHeaders)(o.headers);c&&(t[f.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,n=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await T.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:_})},!1,k),t}},u=await T.handleResponse({req:e,nextConfig:b,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:E,responseGenerator:c,waitUntil:n.waitUntil,isMinimalMode:i});if(!I)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",_?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),R&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(u.value.headers);return i&&I||h.delete(f.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,w.getCacheControlHeader)(u.cacheControl)),await (0,g.sendResponse)(F,B,new Response(u.value.body,{headers:h,status:u.value.status||200})),null};U?await l(U):await M.withPropagatedContext(e.headers,()=>M.trace(u.BaseServerSpan.handleRequest,{spanName:`${H} ${m}`,kind:o.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},l))}catch(t){if(t instanceof h.NoFallbackError||await T.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:_})},!1,k),I)throw t;return await (0,g.sendResponse)(F,B,new Response(null,{status:500})),null}}e.s(["handler",()=>I,"patchFetch",()=>j,"routeModule",()=>T,"serverHooks",()=>S,"workAsyncStorage",()=>$,"workUnitAsyncStorage",()=>N],79740)},82359,e=>{e.v(e=>Promise.resolve().then(()=>e(17293)))},6384,e=>{e.v(e=>Promise.resolve().then(()=>e(524)))},34561,e=>{e.v(e=>Promise.resolve().then(()=>e(73335)))},17952,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_@puppeteer_browsers_lib_esm_main_83020de3.js"].map(t=>e.l(t))).then(()=>t(78893)))},56955,e=>{e.v(e=>Promise.resolve().then(()=>e(68213)))},11105,e=>{e.v(e=>Promise.resolve().then(()=>e(50227)))},97365,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_1f8a2929._.js","server/chunks/node_modules_f81d3958._.js"].map(t=>e.l(t))).then(()=>t(66560)))},42394,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_1f8a2929._.js","server/chunks/node_modules_151ca6ae._.js"].map(t=>e.l(t))).then(()=>t(78947)))},34844,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_3b486fee._.js","server/chunks/node_modules_yargs_index_mjs_c4f6f97b._.js"].map(t=>e.l(t))).then(()=>t(91919)))},80113,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_yargs_helpers_helpers_mjs_abe15519._.js","server/chunks/node_modules_64199bef._.js"].map(t=>e.l(t))).then(()=>t(25057)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0623e8dd._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[53506,e=>{"use strict";var t=e.i(29476),r=e.i(13231),s=e.i(40911),n=e.i(93846);let o=!1,a=null;async function i(){o&&n.default.workbenchPage||(a||(a=(async()=>{try{await (0,t.connectToWorkbench)(n.default),o=!0,l();return}catch(e){s.logger.warn("[CDP Init] Initial connection failed:",e.message)}s.logger.info("[CDP Init] Attempting auto-recovery...");for(let e=1;e<=2;e++){s.logger.info(`[CDP Init] Recovery attempt ${e}/2`);let a=await (0,r.isCdpServerActive)();a.active&&0===a.windowCount?s.logger.warn("[CDP Init] Zombie CDP detected: server active but 0 workbench pages. Killing and restarting..."):a.active?s.logger.info(`[CDP Init] CDP active with ${a.windowCount} window(s). Retrying connection...`):s.logger.warn("[CDP Init] CDP server not reachable. Starting Antigravity with CDP...");let i=await (0,r.startCdpServer)(".",!0);if(!i.success){s.logger.error(`[CDP Init] Auto-recovery failed: ${i.message}`);continue}if(s.logger.info(`[CDP Init] Antigravity restarted: ${i.message}`),await new Promise(e=>setTimeout(e,3e3)),n.default.browser){try{n.default.browser.disconnect()}catch{}n.default.browser=null,n.default.workbenchPage=null,n.default.allWorkbenches=[]}try{await (0,t.connectToWorkbench)(n.default),o=!0,l(),s.logger.info("[CDP Init] Auto-recovery successful! Connected to workbench.");return}catch(t){s.logger.error(`[CDP Init] Recovery attempt ${e} connection failed: ${t.message}`)}}s.logger.error("[CDP Init] All 2 recovery attempts failed. Please start Antigravity manually with --remote-debugging-port=9223"),a=null})()),await a)}function l(){n.default.browser?.on("disconnected",()=>{s.logger.error("[CDP] Browser disconnected. Will reconnect on next request."),o=!1,a=null,n.default.workbenchPage=null,n.default.browser=null,n.default.allWorkbenches=[]}),n.default.workbenchPage?.on("close",()=>{s.logger.warn("[CDP] Workbench page closed. Will reconnect on next request."),o=!1,a=null,n.default.workbenchPage=null})}e.s(["ensureCdpConnection",()=>i])},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},93846,e=>{"use strict";let t=globalThis.__PROXY_CTX||{workbenchPage:null,browser:null,allWorkbenches:[],activeWindowIdx:0,activeConversationId:null,activeTitle:null,lastActionTimestamp:0};e.s(["default",0,t])},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},40911,e=>{"use strict";let t=new class{level="info";constructor(){this.level=process.env.LOG_LEVEL||"info"}shouldLog(e){let t=["debug","info","warn","error"];return t.indexOf(e)>=t.indexOf(this.level)}debug(e,t){this.shouldLog("debug")&&console.debug(`[DEBUG] ${e}`,t||"")}info(e,t){this.shouldLog("info")&&console.info(`[INFO] ${e}`,t||"")}warn(e,t){this.shouldLog("warn")&&console.warn(`[WARN] ${e}`,t||"")}error(e,t){this.shouldLog("error")&&console.error(`[ERROR] ${e}`,t||"")}};e.s(["logger",0,t])},13231,e=>{"use strict";var t=e.i(33405),r=e.i(24361),s=e.i(22734),n=e.i(14747),o=e.i(40911);let a=(0,r.promisify)(t.exec),i=parseInt(process.env.CDP_PORT||"9223",10);function l(){if(process.env.ANTIGRAVITY_BINARY){let e=process.env.ANTIGRAVITY_BINARY;return(0,s.existsSync)(e)||o.logger.warn(`[ProcessManager] ANTIGRAVITY_BINARY set to "${e}" but file does not exist.`),e}return"/usr/share/antigravity/antigravity"}async function c(){try{await a("killall antigravity 2>/dev/null || true"),o.logger.info("[ProcessManager] Killed existing Antigravity processes."),await new Promise(e=>setTimeout(e,1500))}catch{}}process.platform,process.platform;let u=null;async function d(){try{let e=await fetch(`http://localhost:${i}/json`);if(!e.ok)return{active:!1,windowCount:0,error:`HTTP ${e.status}`};let t=(await e.json()).filter(e=>e.url?.includes("workbench.html")&&!e.url?.includes("jetski"));return{active:!0,windowCount:t.length}}catch(e){return{active:!1,windowCount:0,error:e.message}}}async function p(e=".",r=!1){let a=await d();if(a.active&&a.windowCount>0&&!r)return{success:!0,message:`CDP server already active on port ${i} with ${a.windowCount} window(s).`};r&&await c();let g=l(),h=(0,n.resolve)(e||".");if((g.includes("/")||g.includes("\\"))&&!(0,s.existsSync)(g))return{success:!1,message:`Antigravity binary not found at "${g}". Set the ANTIGRAVITY_BINARY environment variable to the correct path.`};try{if(!(0,s.statSync)(h).isDirectory())return{success:!1,message:`"${h}" is not a directory.`}}catch{return{success:!1,message:`Directory not found: "${h}"`}}try{o.logger.info(`[ProcessManager] Starting Antigravity: ${g} --remote-debugging-port=${i} --new-window "${h}"`),o.logger.info(`[ProcessManager] Platform: ${process.platform}, Binary: ${g}`),(u=(0,t.spawn)(g,[`--remote-debugging-port=${i}`,"--new-window",h],{detached:!0,stdio:"ignore",env:{...process.env},shell:!1,windowsHide:!0})).unref();let e=u.pid;if(u.on("error",e=>{o.logger.error(`[ProcessManager] Antigravity process error: ${e.message}`),u=null}),u.on("exit",e=>{o.logger.info(`[ProcessManager] Antigravity process exited with code ${e}`),u=null}),await v(15e3))return{success:!0,message:`Antigravity started with CDP on port ${i}.`,pid:e||void 0};return{success:!1,message:`Antigravity process started but CDP server did not become available on port ${i} within 15s.`,pid:e||void 0}}catch(e){return o.logger.error(`[ProcessManager] Failed to start Antigravity: ${e.message}`),{success:!1,message:`Failed to start Antigravity: ${e.message}`}}}async function g(e){let r=(0,n.resolve)(e);try{if(!(0,s.statSync)(r).isDirectory())return{success:!1,message:`"${r}" is not a directory. Please provide a folder path.`}}catch{return{success:!1,message:`Directory not found: "${r}". Make sure the path exists.`}}let a=await d(),i=l();if(a.active)try{return o.logger.info(`[ProcessManager] Opening new window for: ${r}`),(0,t.spawn)(i,["--new-window",r],{detached:!0,stdio:"ignore",env:{...process.env},shell:!1,windowsHide:!0}).unref(),await new Promise(e=>setTimeout(e,3e3)),{success:!0,message:`Opened new window for "${r}".`}}catch(e){return{success:!1,message:`Failed to open window: ${e.message}`}}{let t=await p(e,!1);return{success:t.success,message:t.message}}}async function h(e){try{let t=await fetch(`http://localhost:${i}/json/close/${e}`);if(t.ok)return{success:!0,message:"Window closed successfully."};return{success:!1,message:`Failed to close window: HTTP ${t.status}`}}catch(e){return{success:!1,message:`Failed to close window: ${e.message}`}}}async function w(){try{let e=await fetch(`http://localhost:${i}/json`);if(!e.ok)return{targets:[],error:`HTTP ${e.status}`};return{targets:(await e.json()).filter(e=>e.url?.includes("workbench.html")&&!e.url?.includes("jetski")).map(e=>({id:e.id,title:e.title||"Untitled",url:e.url}))}}catch(e){return{targets:[],error:e.message}}}async function v(e){let t=Date.now();for(;Date.now()-t<e;){if((await d()).active)return!0;await new Promise(e=>setTimeout(e,500))}return!1}e.s(["closeWindow",()=>h,"getWindowTargets",()=>w,"isCdpServerActive",()=>d,"openNewWindow",()=>g,"startCdpServer",()=>p])},6461,(e,t,r)=>{t.exports=e.x("zlib",()=>require("zlib"))},524,e=>{"use strict";class t{static create(e){return new Promise((r,s)=>{let n=new WebSocket(e);n.addEventListener("open",()=>r(new t(n))),n.addEventListener("error",s)})}#e;onmessage;onclose;constructor(e){this.#e=e,this.#e.addEventListener("message",e=>{this.onmessage&&this.onmessage.call(null,e.data)}),this.#e.addEventListener("close",()=>{this.onclose&&this.onclose.call(null)}),this.#e.addEventListener("error",()=>{})}send(e){this.#e.send(e)}close(){this.#e.close()}}e.s(["BrowserWebSocketTransport",()=>t])},63455,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),n=e.i(59756),o=e.i(61916),a=e.i(74677),i=e.i(69741),l=e.i(16795),c=e.i(87718),u=e.i(95169),d=e.i(47587),p=e.i(66012),g=e.i(70101),h=e.i(26937),w=e.i(10372),v=e.i(93695);e.i(52474);var f=e.i(220),m=e.i(89171),y=e.i(53506),x=e.i(93846);async function P(){return await (0,y.ensureCdpConnection)(),m.NextResponse.json({status:"ok",connected:!!x.default.workbenchPage})}e.s(["GET",()=>P,"dynamic",0,"force-dynamic"],20758);var b=e.i(20758);let R=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v1/health/route",pathname:"/api/v1/health",filename:"route",bundlePath:""},distDir:"./.next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/health/route.ts",nextConfigOutput:"standalone",userland:b}),{workAsyncStorage:C,workUnitAsyncStorage:_,serverHooks:A}=R;function k(){return(0,s.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:_})}async function E(e,t,s){R.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/v1/health/route";m=m.replace(/\/index$/,"")||"/";let y=await R.prepare(e,t,{srcPage:m,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:x,params:P,nextConfig:b,parsedUrl:C,isDraftMode:_,prerenderManifest:A,routerServerContext:k,isOnDemandRevalidate:E,revalidateOnlyGenerated:T,resolvedPathname:$,clientReferenceManifest:I,serverActionsManifest:D}=y,j=(0,i.normalizeAppPath)(m),N=!!(A.dynamicRoutes[j]||A.routes[$]),S=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,C,!1):t.end("This page could not be found"),null);if(N&&!_){let e=!!A.routes[$],t=A.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(b.experimental.adapterPath)return await S();throw new v.NoFallbackError}}let O=null;!N||R.isDev||_||(O="/index"===(O=$)?"/":O);let q=!0===R.isDev||!N,H=N&&!q;D&&I&&(0,a.setManifestsSingleton)({page:m,clientReferenceManifest:I,serverActionsManifest:D});let M=e.method||"GET",L=(0,o.getTracer)(),U=L.getActiveScopeSpan(),W={params:P,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:q,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:b.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,n)=>R.onRequestError(e,t,s,n,k)},sharedContext:{buildId:x}},F=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),G=c.NextRequestAdapter.fromNodeNextRequest(F,(0,c.signalFromNodeResponse)(t));try{let a=async e=>R.handle(G,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${M} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${m}`)}),i=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var o,l;let c=async({previousCacheEntry:r})=>{try{if(!i&&E&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await a(n);e.fetchMetrics=W.renderOpts.fetchMetrics;let l=W.renderOpts.pendingWaitUntil;l&&s.waitUntil&&(s.waitUntil(l),l=void 0);let c=W.renderOpts.collectedTags;if(!N)return await (0,p.sendResponse)(F,B,o,W.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(o.headers);c&&(t[w.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,s=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:E})},!1,k),t}},u=await R.handleResponse({req:e,nextConfig:b,cacheKey:O,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:T,responseGenerator:c,waitUntil:s.waitUntil,isMinimalMode:i});if(!N)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",E?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let v=(0,g.fromNodeOutgoingHttpHeaders)(u.value.headers);return i&&N||v.delete(w.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||v.get("Cache-Control")||v.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(F,B,new Response(u.value.body,{headers:v,status:u.value.status||200})),null};U?await l(U):await L.withPropagatedContext(e.headers,()=>L.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${m}`,kind:o.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof v.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:E})},!1,k),N)throw t;return await (0,p.sendResponse)(F,B,new Response(null,{status:500})),null}}e.s(["handler",()=>E,"patchFetch",()=>k,"routeModule",()=>R,"serverHooks",()=>A,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>_],63455)},82359,e=>{e.v(e=>Promise.resolve().then(()=>e(17293)))},6384,e=>{e.v(e=>Promise.resolve().then(()=>e(524)))},34561,e=>{e.v(e=>Promise.resolve().then(()=>e(73335)))},17952,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_@puppeteer_browsers_lib_esm_main_83020de3.js"].map(t=>e.l(t))).then(()=>t(78893)))},56955,e=>{e.v(e=>Promise.resolve().then(()=>e(68213)))},11105,e=>{e.v(e=>Promise.resolve().then(()=>e(50227)))},97365,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_1f8a2929._.js","server/chunks/node_modules_f81d3958._.js"].map(t=>e.l(t))).then(()=>t(66560)))},42394,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_1f8a2929._.js","server/chunks/node_modules_151ca6ae._.js"].map(t=>e.l(t))).then(()=>t(78947)))},34844,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_3b486fee._.js","server/chunks/node_modules_yargs_index_mjs_c4f6f97b._.js"].map(t=>e.l(t))).then(()=>t(91919)))},80113,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_yargs_helpers_helpers_mjs_abe15519._.js","server/chunks/node_modules_64199bef._.js"].map(t=>e.l(t))).then(()=>t(25057)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__082ca825._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[53506,e=>{"use strict";var t=e.i(29476),r=e.i(13231),n=e.i(40911),s=e.i(93846);let o=!1,a=null;async function i(){o&&s.default.workbenchPage||(a||(a=(async()=>{try{await (0,t.connectToWorkbench)(s.default),o=!0,l();return}catch(e){n.logger.warn("[CDP Init] Initial connection failed:",e.message)}n.logger.info("[CDP Init] Attempting auto-recovery...");for(let e=1;e<=2;e++){n.logger.info(`[CDP Init] Recovery attempt ${e}/2`);let a=await (0,r.isCdpServerActive)();a.active&&0===a.windowCount?n.logger.warn("[CDP Init] Zombie CDP detected: server active but 0 workbench pages. Killing and restarting..."):a.active?n.logger.info(`[CDP Init] CDP active with ${a.windowCount} window(s). Retrying connection...`):n.logger.warn("[CDP Init] CDP server not reachable. Starting Antigravity with CDP...");let i=await (0,r.startCdpServer)(".",!0);if(!i.success){n.logger.error(`[CDP Init] Auto-recovery failed: ${i.message}`);continue}if(n.logger.info(`[CDP Init] Antigravity restarted: ${i.message}`),await new Promise(e=>setTimeout(e,3e3)),s.default.browser){try{s.default.browser.disconnect()}catch{}s.default.browser=null,s.default.workbenchPage=null,s.default.allWorkbenches=[]}try{await (0,t.connectToWorkbench)(s.default),o=!0,l(),n.logger.info("[CDP Init] Auto-recovery successful! Connected to workbench.");return}catch(t){n.logger.error(`[CDP Init] Recovery attempt ${e} connection failed: ${t.message}`)}}n.logger.error("[CDP Init] All 2 recovery attempts failed. Please start Antigravity manually with --remote-debugging-port=9223"),a=null})()),await a)}function l(){s.default.browser?.on("disconnected",()=>{n.logger.error("[CDP] Browser disconnected. Will reconnect on next request."),o=!1,a=null,s.default.workbenchPage=null,s.default.browser=null,s.default.allWorkbenches=[]}),s.default.workbenchPage?.on("close",()=>{n.logger.warn("[CDP] Workbench page closed. Will reconnect on next request."),o=!1,a=null,s.default.workbenchPage=null})}e.s(["ensureCdpConnection",()=>i])},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},93846,e=>{"use strict";let t=globalThis.__PROXY_CTX||{workbenchPage:null,browser:null,allWorkbenches:[],activeWindowIdx:0,activeConversationId:null,activeTitle:null,lastActionTimestamp:0};e.s(["default",0,t])},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},40911,e=>{"use strict";let t=new class{level="info";constructor(){this.level=process.env.LOG_LEVEL||"info"}shouldLog(e){let t=["debug","info","warn","error"];return t.indexOf(e)>=t.indexOf(this.level)}debug(e,t){this.shouldLog("debug")&&console.debug(`[DEBUG] ${e}`,t||"")}info(e,t){this.shouldLog("info")&&console.info(`[INFO] ${e}`,t||"")}warn(e,t){this.shouldLog("warn")&&console.warn(`[WARN] ${e}`,t||"")}error(e,t){this.shouldLog("error")&&console.error(`[ERROR] ${e}`,t||"")}};e.s(["logger",0,t])},13231,e=>{"use strict";var t=e.i(33405),r=e.i(24361),n=e.i(22734),s=e.i(14747),o=e.i(40911);let a=(0,r.promisify)(t.exec),i=parseInt(process.env.CDP_PORT||"9223",10);function l(){if(process.env.ANTIGRAVITY_BINARY){let e=process.env.ANTIGRAVITY_BINARY;return(0,n.existsSync)(e)||o.logger.warn(`[ProcessManager] ANTIGRAVITY_BINARY set to "${e}" but file does not exist.`),e}return"/usr/share/antigravity/antigravity"}async function c(){try{await a("killall antigravity 2>/dev/null || true"),o.logger.info("[ProcessManager] Killed existing Antigravity processes."),await new Promise(e=>setTimeout(e,1500))}catch{}}process.platform,process.platform;let u=null;async function d(){try{let e=await fetch(`http://localhost:${i}/json`);if(!e.ok)return{active:!1,windowCount:0,error:`HTTP ${e.status}`};let t=(await e.json()).filter(e=>e.url?.includes("workbench.html")&&!e.url?.includes("jetski"));return{active:!0,windowCount:t.length}}catch(e){return{active:!1,windowCount:0,error:e.message}}}async function p(e=".",r=!1){let a=await d();if(a.active&&a.windowCount>0&&!r)return{success:!0,message:`CDP server already active on port ${i} with ${a.windowCount} window(s).`};r&&await c();let g=l(),h=(0,s.resolve)(e||".");if((g.includes("/")||g.includes("\\"))&&!(0,n.existsSync)(g))return{success:!1,message:`Antigravity binary not found at "${g}". Set the ANTIGRAVITY_BINARY environment variable to the correct path.`};try{if(!(0,n.statSync)(h).isDirectory())return{success:!1,message:`"${h}" is not a directory.`}}catch{return{success:!1,message:`Directory not found: "${h}"`}}try{o.logger.info(`[ProcessManager] Starting Antigravity: ${g} --remote-debugging-port=${i} --new-window "${h}"`),o.logger.info(`[ProcessManager] Platform: ${process.platform}, Binary: ${g}`),(u=(0,t.spawn)(g,[`--remote-debugging-port=${i}`,"--new-window",h],{detached:!0,stdio:"ignore",env:{...process.env},shell:!1,windowsHide:!0})).unref();let e=u.pid;if(u.on("error",e=>{o.logger.error(`[ProcessManager] Antigravity process error: ${e.message}`),u=null}),u.on("exit",e=>{o.logger.info(`[ProcessManager] Antigravity process exited with code ${e}`),u=null}),await f(15e3))return{success:!0,message:`Antigravity started with CDP on port ${i}.`,pid:e||void 0};return{success:!1,message:`Antigravity process started but CDP server did not become available on port ${i} within 15s.`,pid:e||void 0}}catch(e){return o.logger.error(`[ProcessManager] Failed to start Antigravity: ${e.message}`),{success:!1,message:`Failed to start Antigravity: ${e.message}`}}}async function g(e){let r=(0,s.resolve)(e);try{if(!(0,n.statSync)(r).isDirectory())return{success:!1,message:`"${r}" is not a directory. Please provide a folder path.`}}catch{return{success:!1,message:`Directory not found: "${r}". Make sure the path exists.`}}let a=await d(),i=l();if(a.active)try{return o.logger.info(`[ProcessManager] Opening new window for: ${r}`),(0,t.spawn)(i,["--new-window",r],{detached:!0,stdio:"ignore",env:{...process.env},shell:!1,windowsHide:!0}).unref(),await new Promise(e=>setTimeout(e,3e3)),{success:!0,message:`Opened new window for "${r}".`}}catch(e){return{success:!1,message:`Failed to open window: ${e.message}`}}{let t=await p(e,!1);return{success:t.success,message:t.message}}}async function h(e){try{let t=await fetch(`http://localhost:${i}/json/close/${e}`);if(t.ok)return{success:!0,message:"Window closed successfully."};return{success:!1,message:`Failed to close window: HTTP ${t.status}`}}catch(e){return{success:!1,message:`Failed to close window: ${e.message}`}}}async function w(){try{let e=await fetch(`http://localhost:${i}/json`);if(!e.ok)return{targets:[],error:`HTTP ${e.status}`};return{targets:(await e.json()).filter(e=>e.url?.includes("workbench.html")&&!e.url?.includes("jetski")).map(e=>({id:e.id,title:e.title||"Untitled",url:e.url}))}}catch(e){return{targets:[],error:e.message}}}async function f(e){let t=Date.now();for(;Date.now()-t<e;){if((await d()).active)return!0;await new Promise(e=>setTimeout(e,500))}return!1}e.s(["closeWindow",()=>h,"getWindowTargets",()=>w,"isCdpServerActive",()=>d,"openNewWindow",()=>g,"startCdpServer",()=>p])},6461,(e,t,r)=>{t.exports=e.x("zlib",()=>require("zlib"))},524,e=>{"use strict";class t{static create(e){return new Promise((r,n)=>{let s=new WebSocket(e);s.addEventListener("open",()=>r(new t(s))),s.addEventListener("error",n)})}#e;onmessage;onclose;constructor(e){this.#e=e,this.#e.addEventListener("message",e=>{this.onmessage&&this.onmessage.call(null,e.data)}),this.#e.addEventListener("close",()=>{this.onclose&&this.onclose.call(null)}),this.#e.addEventListener("error",()=>{})}send(e){this.#e.send(e)}close(){this.#e.close()}}e.s(["BrowserWebSocketTransport",()=>t])},50051,e=>{"use strict";async function t(e){return e.workbenchPage?e.workbenchPage.evaluate(()=>{let e=document.querySelector(".antigravity-agent-side-panel");if(!e)return{success:!1,error:"No panel found"};for(let t of Array.from(e.querySelectorAll("button"))){let e=t.textContent?.trim().toLowerCase()||"";if(("run"===e||"approve"===e||"allow"===e||"yes"===e)&&!t.disabled)return t.click(),{success:!0,clicked:t.textContent?.trim()}}for(let t of e.querySelectorAll(".rounded-b.border-t"))for(let e of t.querySelectorAll("button"))if("cancel"!==(e.textContent?.trim().toLowerCase()||"")&&!e.disabled)return e.click(),{success:!0,clicked:e.textContent?.trim()};return{success:!1,error:"No approve button found"}}):{success:!1,error:"Not connected"}}async function r(e){return e.workbenchPage?e.workbenchPage.evaluate(()=>{let e=document.querySelector(".antigravity-agent-side-panel");if(!e)return{success:!1,error:"No panel found"};for(let t of Array.from(e.querySelectorAll("button"))){let e=t.textContent?.trim().toLowerCase()||"";if(("cancel"===e||"reject"===e||"deny"===e)&&!t.disabled)return t.click(),{success:!0,clicked:t.textContent?.trim()}}return{success:!1,error:"No reject/cancel button found"}}):{success:!1,error:"Not connected"}}async function n(e,t,r){return e.workbenchPage?e.workbenchPage.evaluate((e,t)=>{let r=document.querySelector(".antigravity-agent-side-panel");if(!r)return{success:!1,error:"No panel found"};let n=r;if(e){let t=r.querySelector(`[data-proxy-tool-id="${e}"]`);t&&(n=t)}let s=Array.from(n.querySelectorAll("button")).find(e=>(e.textContent?.trim()||"").toLowerCase()===t.toLowerCase()&&!e.disabled);return s?(s.click(),{success:!0,clicked:s.textContent?.trim()}):{success:!1,error:`Button "${t}" not found`}},t,r):{success:!1,error:"Not connected"}}e.s(["clickActionButton",()=>n,"clickApproveButton",()=>t,"clickRejectButton",()=>r])},98225,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),s=e.i(59756),o=e.i(61916),a=e.i(74677),i=e.i(69741),l=e.i(16795),c=e.i(87718),u=e.i(95169),d=e.i(47587),p=e.i(66012),g=e.i(70101),h=e.i(26937),w=e.i(10372),f=e.i(93695);e.i(52474);var v=e.i(220),m=e.i(89171),y=e.i(53506),x=e.i(93846),b=e.i(50051);async function P(){if(await (0,y.ensureCdpConnection)(),!x.default.workbenchPage)return m.NextResponse.json({error:"Not connected"},{status:503});try{let e=await (0,b.clickRejectButton)(x.default);return x.default.lastActionTimestamp=Date.now(),m.NextResponse.json(e,{status:e.success?200:404})}catch(e){return m.NextResponse.json({error:e.message},{status:500})}}e.s(["POST",()=>P,"dynamic",0,"force-dynamic"],39229);var C=e.i(39229);let R=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v1/chat/reject/route",pathname:"/api/v1/chat/reject",filename:"route",bundlePath:""},distDir:"./.next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/chat/reject/route.ts",nextConfigOutput:"standalone",userland:C}),{workAsyncStorage:k,workUnitAsyncStorage:A,serverHooks:_}=R;function T(){return(0,n.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:A})}async function $(e,t,n){R.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/v1/chat/reject/route";m=m.replace(/\/index$/,"")||"/";let y=await R.prepare(e,t,{srcPage:m,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:x,params:b,nextConfig:P,parsedUrl:C,isDraftMode:k,prerenderManifest:A,routerServerContext:_,isOnDemandRevalidate:T,revalidateOnlyGenerated:$,resolvedPathname:E,clientReferenceManifest:j,serverActionsManifest:N}=y,I=(0,i.normalizeAppPath)(m),D=!!(A.dynamicRoutes[I]||A.routes[E]),S=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,C,!1):t.end("This page could not be found"),null);if(D&&!k){let e=!!A.routes[E],t=A.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(P.experimental.adapterPath)return await S();throw new f.NoFallbackError}}let q=null;!D||R.isDev||k||(q="/index"===(q=E)?"/":q);let O=!0===R.isDev||!D,L=D&&!O;N&&j&&(0,a.setManifestsSingleton)({page:m,clientReferenceManifest:j,serverActionsManifest:N});let H=e.method||"GET",M=(0,o.getTracer)(),B=M.getActiveScopeSpan(),U={params:b,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!P.experimental.authInterrupts},cacheComponents:!!P.cacheComponents,supportsDynamicResponse:O,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:P.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,s)=>R.onRequestError(e,t,n,s,_)},sharedContext:{buildId:x}},W=new l.NodeNextRequest(e),F=new l.NodeNextResponse(t),K=c.NextRequestAdapter.fromNodeNextRequest(W,(0,c.signalFromNodeResponse)(t));try{let a=async e=>R.handle(K,U).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${H} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${m}`)}),i=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var o,l;let c=async({previousCacheEntry:r})=>{try{if(!i&&T&&$&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await a(s);e.fetchMetrics=U.renderOpts.fetchMetrics;let l=U.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let c=U.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(W,F,o,U.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(o.headers);c&&(t[w.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,n=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:T})},!1,_),t}},u=await R.handleResponse({req:e,nextConfig:P,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:$,responseGenerator:c,waitUntil:n.waitUntil,isMinimalMode:i});if(!D)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",T?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,g.fromNodeOutgoingHttpHeaders)(u.value.headers);return i&&D||f.delete(w.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(W,F,new Response(u.value.body,{headers:f,status:u.value.status||200})),null};B?await l(B):await M.withPropagatedContext(e.headers,()=>M.trace(u.BaseServerSpan.handleRequest,{spanName:`${H} ${m}`,kind:o.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},l))}catch(t){if(t instanceof f.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:T})},!1,_),D)throw t;return await (0,p.sendResponse)(W,F,new Response(null,{status:500})),null}}e.s(["handler",()=>$,"patchFetch",()=>T,"routeModule",()=>R,"serverHooks",()=>_,"workAsyncStorage",()=>k,"workUnitAsyncStorage",()=>A],98225)},82359,e=>{e.v(e=>Promise.resolve().then(()=>e(17293)))},6384,e=>{e.v(e=>Promise.resolve().then(()=>e(524)))},34561,e=>{e.v(e=>Promise.resolve().then(()=>e(73335)))},17952,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_@puppeteer_browsers_lib_esm_main_83020de3.js"].map(t=>e.l(t))).then(()=>t(78893)))},56955,e=>{e.v(e=>Promise.resolve().then(()=>e(68213)))},11105,e=>{e.v(e=>Promise.resolve().then(()=>e(50227)))},97365,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_1f8a2929._.js","server/chunks/node_modules_f81d3958._.js"].map(t=>e.l(t))).then(()=>t(66560)))},42394,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_1f8a2929._.js","server/chunks/node_modules_151ca6ae._.js"].map(t=>e.l(t))).then(()=>t(78947)))},34844,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_3b486fee._.js","server/chunks/node_modules_yargs_index_mjs_c4f6f97b._.js"].map(t=>e.l(t))).then(()=>t(91919)))},80113,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_yargs_helpers_helpers_mjs_abe15519._.js","server/chunks/node_modules_64199bef._.js"].map(t=>e.l(t))).then(()=>t(25057)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__09cb0713._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[53506,e=>{"use strict";var t=e.i(29476),r=e.i(13231),n=e.i(40911),s=e.i(93846);let o=!1,a=null;async function i(){o&&s.default.workbenchPage||(a||(a=(async()=>{try{await (0,t.connectToWorkbench)(s.default),o=!0,l();return}catch(e){n.logger.warn("[CDP Init] Initial connection failed:",e.message)}n.logger.info("[CDP Init] Attempting auto-recovery...");for(let e=1;e<=2;e++){n.logger.info(`[CDP Init] Recovery attempt ${e}/2`);let a=await (0,r.isCdpServerActive)();a.active&&0===a.windowCount?n.logger.warn("[CDP Init] Zombie CDP detected: server active but 0 workbench pages. Killing and restarting..."):a.active?n.logger.info(`[CDP Init] CDP active with ${a.windowCount} window(s). Retrying connection...`):n.logger.warn("[CDP Init] CDP server not reachable. Starting Antigravity with CDP...");let i=await (0,r.startCdpServer)(".",!0);if(!i.success){n.logger.error(`[CDP Init] Auto-recovery failed: ${i.message}`);continue}if(n.logger.info(`[CDP Init] Antigravity restarted: ${i.message}`),await new Promise(e=>setTimeout(e,3e3)),s.default.browser){try{s.default.browser.disconnect()}catch{}s.default.browser=null,s.default.workbenchPage=null,s.default.allWorkbenches=[]}try{await (0,t.connectToWorkbench)(s.default),o=!0,l(),n.logger.info("[CDP Init] Auto-recovery successful! Connected to workbench.");return}catch(t){n.logger.error(`[CDP Init] Recovery attempt ${e} connection failed: ${t.message}`)}}n.logger.error("[CDP Init] All 2 recovery attempts failed. Please start Antigravity manually with --remote-debugging-port=9223"),a=null})()),await a)}function l(){s.default.browser?.on("disconnected",()=>{n.logger.error("[CDP] Browser disconnected. Will reconnect on next request."),o=!1,a=null,s.default.workbenchPage=null,s.default.browser=null,s.default.allWorkbenches=[]}),s.default.workbenchPage?.on("close",()=>{n.logger.warn("[CDP] Workbench page closed. Will reconnect on next request."),o=!1,a=null,s.default.workbenchPage=null})}e.s(["ensureCdpConnection",()=>i])},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},93846,e=>{"use strict";let t=globalThis.__PROXY_CTX||{workbenchPage:null,browser:null,allWorkbenches:[],activeWindowIdx:0,activeConversationId:null,activeTitle:null,lastActionTimestamp:0};e.s(["default",0,t])},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},40911,e=>{"use strict";let t=new class{level="info";constructor(){this.level=process.env.LOG_LEVEL||"info"}shouldLog(e){let t=["debug","info","warn","error"];return t.indexOf(e)>=t.indexOf(this.level)}debug(e,t){this.shouldLog("debug")&&console.debug(`[DEBUG] ${e}`,t||"")}info(e,t){this.shouldLog("info")&&console.info(`[INFO] ${e}`,t||"")}warn(e,t){this.shouldLog("warn")&&console.warn(`[WARN] ${e}`,t||"")}error(e,t){this.shouldLog("error")&&console.error(`[ERROR] ${e}`,t||"")}};e.s(["logger",0,t])},13231,e=>{"use strict";var t=e.i(33405),r=e.i(24361),n=e.i(22734),s=e.i(14747),o=e.i(40911);let a=(0,r.promisify)(t.exec),i=parseInt(process.env.CDP_PORT||"9223",10);function l(){if(process.env.ANTIGRAVITY_BINARY){let e=process.env.ANTIGRAVITY_BINARY;return(0,n.existsSync)(e)||o.logger.warn(`[ProcessManager] ANTIGRAVITY_BINARY set to "${e}" but file does not exist.`),e}return"/usr/share/antigravity/antigravity"}async function c(){try{await a("killall antigravity 2>/dev/null || true"),o.logger.info("[ProcessManager] Killed existing Antigravity processes."),await new Promise(e=>setTimeout(e,1500))}catch{}}process.platform,process.platform;let u=null;async function d(){try{let e=await fetch(`http://localhost:${i}/json`);if(!e.ok)return{active:!1,windowCount:0,error:`HTTP ${e.status}`};let t=(await e.json()).filter(e=>e.url?.includes("workbench.html")&&!e.url?.includes("jetski"));return{active:!0,windowCount:t.length}}catch(e){return{active:!1,windowCount:0,error:e.message}}}async function p(e=".",r=!1){let a=await d();if(a.active&&a.windowCount>0&&!r)return{success:!0,message:`CDP server already active on port ${i} with ${a.windowCount} window(s).`};r&&await c();let g=l(),w=(0,s.resolve)(e||".");if((g.includes("/")||g.includes("\\"))&&!(0,n.existsSync)(g))return{success:!1,message:`Antigravity binary not found at "${g}". Set the ANTIGRAVITY_BINARY environment variable to the correct path.`};try{if(!(0,n.statSync)(w).isDirectory())return{success:!1,message:`"${w}" is not a directory.`}}catch{return{success:!1,message:`Directory not found: "${w}"`}}try{o.logger.info(`[ProcessManager] Starting Antigravity: ${g} --remote-debugging-port=${i} --new-window "${w}"`),o.logger.info(`[ProcessManager] Platform: ${process.platform}, Binary: ${g}`),(u=(0,t.spawn)(g,[`--remote-debugging-port=${i}`,"--new-window",w],{detached:!0,stdio:"ignore",env:{...process.env},shell:!1,windowsHide:!0})).unref();let e=u.pid;if(u.on("error",e=>{o.logger.error(`[ProcessManager] Antigravity process error: ${e.message}`),u=null}),u.on("exit",e=>{o.logger.info(`[ProcessManager] Antigravity process exited with code ${e}`),u=null}),await f(15e3))return{success:!0,message:`Antigravity started with CDP on port ${i}.`,pid:e||void 0};return{success:!1,message:`Antigravity process started but CDP server did not become available on port ${i} within 15s.`,pid:e||void 0}}catch(e){return o.logger.error(`[ProcessManager] Failed to start Antigravity: ${e.message}`),{success:!1,message:`Failed to start Antigravity: ${e.message}`}}}async function g(e){let r=(0,s.resolve)(e);try{if(!(0,n.statSync)(r).isDirectory())return{success:!1,message:`"${r}" is not a directory. Please provide a folder path.`}}catch{return{success:!1,message:`Directory not found: "${r}". Make sure the path exists.`}}let a=await d(),i=l();if(a.active)try{return o.logger.info(`[ProcessManager] Opening new window for: ${r}`),(0,t.spawn)(i,["--new-window",r],{detached:!0,stdio:"ignore",env:{...process.env},shell:!1,windowsHide:!0}).unref(),await new Promise(e=>setTimeout(e,3e3)),{success:!0,message:`Opened new window for "${r}".`}}catch(e){return{success:!1,message:`Failed to open window: ${e.message}`}}{let t=await p(e,!1);return{success:t.success,message:t.message}}}async function w(e){try{let t=await fetch(`http://localhost:${i}/json/close/${e}`);if(t.ok)return{success:!0,message:"Window closed successfully."};return{success:!1,message:`Failed to close window: HTTP ${t.status}`}}catch(e){return{success:!1,message:`Failed to close window: ${e.message}`}}}async function h(){try{let e=await fetch(`http://localhost:${i}/json`);if(!e.ok)return{targets:[],error:`HTTP ${e.status}`};return{targets:(await e.json()).filter(e=>e.url?.includes("workbench.html")&&!e.url?.includes("jetski")).map(e=>({id:e.id,title:e.title||"Untitled",url:e.url}))}}catch(e){return{targets:[],error:e.message}}}async function f(e){let t=Date.now();for(;Date.now()-t<e;){if((await d()).active)return!0;await new Promise(e=>setTimeout(e,500))}return!1}e.s(["closeWindow",()=>w,"getWindowTargets",()=>h,"isCdpServerActive",()=>d,"openNewWindow",()=>g,"startCdpServer",()=>p])},6461,(e,t,r)=>{t.exports=e.x("zlib",()=>require("zlib"))},524,e=>{"use strict";class t{static create(e){return new Promise((r,n)=>{let s=new WebSocket(e);s.addEventListener("open",()=>r(new t(s))),s.addEventListener("error",n)})}#e;onmessage;onclose;constructor(e){this.#e=e,this.#e.addEventListener("message",e=>{this.onmessage&&this.onmessage.call(null,e.data)}),this.#e.addEventListener("close",()=>{this.onclose&&this.onclose.call(null)}),this.#e.addEventListener("error",()=>{})}send(e){this.#e.send(e)}close(){this.#e.close()}}e.s(["BrowserWebSocketTransport",()=>t])},41444,e=>{"use strict";function t(e){return new Promise(t=>setTimeout(t,e))}e.s(["sleep",()=>t])},84747,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),s=e.i(59756),o=e.i(61916),a=e.i(74677),i=e.i(69741),l=e.i(16795),c=e.i(87718),u=e.i(95169),d=e.i(47587),p=e.i(66012),g=e.i(70101),w=e.i(26937),h=e.i(10372),f=e.i(93695);e.i(52474);var v=e.i(220),m=e.i(89171),y=e.i(53506),x=e.i(93846),P=e.i(40911),b=e.i(41444);async function C(e){if(!e.workbenchPage)throw Error("Not connected to Antigravity");let t=await e.workbenchPage.evaluate(()=>{let e=document.querySelector(".antigravity-agent-side-panel");if(!e)return null;for(let t of e.querySelectorAll("span.text-xs.select-none")){let e=(t.textContent||"").trim().toLowerCase();if("planning"===e||"fast"===e)return e}return null});return t||(P.logger.warn('[Mode] Could not detect current mode, defaulting to "planning"'),"planning")}async function R(e,t){if(!e.workbenchPage)throw Error("Not connected to Antigravity");let r=await C(e);if(r===t)return void P.logger.info(`[Mode] Already in "${t}" mode, skipping.`);if(P.logger.info(`[Mode] Switching from "${r}" to "${t}"...`),!await e.workbenchPage.evaluate(()=>{let e=document.querySelector(".antigravity-agent-side-panel");if(!e)return!1;for(let t of e.querySelectorAll("span.text-xs.select-none")){let e=(t.textContent||"").trim().toLowerCase();if("planning"===e||"fast"===e){let e=t.closest("button");if(e)return e.click(),!0}}return!1}))throw Error("Could not find mode button to click");await (0,b.sleep)(400);let n="planning"===t?"Planning":"Fast";if(!await e.workbenchPage.evaluate(e=>{for(let t of document.querySelectorAll('[role="dialog"]'))if((t.textContent||"").trim().includes("Conversation mode")){for(let r of t.querySelectorAll(".font-medium"))if((r.textContent||"").trim()===e){let e=r.closest('[class*="cursor-pointer"]');if(e)return e.click(),!0;return r.click(),!0}}return!1},n))throw await e.workbenchPage.keyboard.press("Escape"),Error(`Could not find "${n}" option in mode dialog`);await (0,b.sleep)(300);let s=await C(e);P.logger.info(`[Mode] Mode is now "${s}".`)}async function A(){if(await (0,y.ensureCdpConnection)(),!x.default.workbenchPage)return m.NextResponse.json({error:"Not connected to Antigravity"},{status:503});try{let e=await C(x.default);return m.NextResponse.json({mode:e})}catch(e){return m.NextResponse.json({error:e.message},{status:500})}}async function k(e){if(await (0,y.ensureCdpConnection)(),!x.default.workbenchPage)return m.NextResponse.json({error:"Not connected to Antigravity"},{status:503});try{let t=(await e.json()).mode;if("planning"!==t&&"fast"!==t)return m.NextResponse.json({error:'Invalid mode. Must be "planning" or "fast".'},{status:400});await R(x.default,t);let r=await C(x.default);return m.NextResponse.json({success:!0,mode:r})}catch(e){return m.NextResponse.json({error:e.message},{status:500})}}e.s(["GET",()=>A,"POST",()=>k,"dynamic",0,"force-dynamic"],74367);var _=e.i(74367);let E=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v1/chat/mode/route",pathname:"/api/v1/chat/mode",filename:"route",bundlePath:""},distDir:"./.next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/chat/mode/route.ts",nextConfigOutput:"standalone",userland:_}),{workAsyncStorage:$,workUnitAsyncStorage:T,serverHooks:N}=E;function I(){return(0,n.patchFetch)({workAsyncStorage:$,workUnitAsyncStorage:T})}async function j(e,t,n){E.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/v1/chat/mode/route";m=m.replace(/\/index$/,"")||"/";let y=await E.prepare(e,t,{srcPage:m,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:x,params:P,nextConfig:b,parsedUrl:C,isDraftMode:R,prerenderManifest:A,routerServerContext:k,isOnDemandRevalidate:_,revalidateOnlyGenerated:$,resolvedPathname:T,clientReferenceManifest:N,serverActionsManifest:I}=y,j=(0,i.normalizeAppPath)(m),D=!!(A.dynamicRoutes[j]||A.routes[T]),S=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,C,!1):t.end("This page could not be found"),null);if(D&&!R){let e=!!A.routes[T],t=A.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(b.experimental.adapterPath)return await S();throw new f.NoFallbackError}}let q=null;!D||E.isDev||R||(q="/index"===(q=T)?"/":q);let O=!0===E.isDev||!D,M=D&&!O;I&&N&&(0,a.setManifestsSingleton)({page:m,clientReferenceManifest:N,serverActionsManifest:I});let H=e.method||"GET",L=(0,o.getTracer)(),U=L.getActiveScopeSpan(),W={params:P,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:O,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:b.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,s)=>E.onRequestError(e,t,n,s,k)},sharedContext:{buildId:x}},F=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),G=c.NextRequestAdapter.fromNodeNextRequest(F,(0,c.signalFromNodeResponse)(t));try{let a=async e=>E.handle(G,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${H} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${m}`)}),i=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var o,l;let c=async({previousCacheEntry:r})=>{try{if(!i&&_&&$&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await a(s);e.fetchMetrics=W.renderOpts.fetchMetrics;let l=W.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let c=W.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(F,B,o,W.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(o.headers);c&&(t[h.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,n=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:_})},!1,k),t}},u=await E.handleResponse({req:e,nextConfig:b,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:$,responseGenerator:c,waitUntil:n.waitUntil,isMinimalMode:i});if(!D)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",_?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),R&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,g.fromNodeOutgoingHttpHeaders)(u.value.headers);return i&&D||f.delete(h.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,w.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(F,B,new Response(u.value.body,{headers:f,status:u.value.status||200})),null};U?await l(U):await L.withPropagatedContext(e.headers,()=>L.trace(u.BaseServerSpan.handleRequest,{spanName:`${H} ${m}`,kind:o.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},l))}catch(t){if(t instanceof f.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:_})},!1,k),D)throw t;return await (0,p.sendResponse)(F,B,new Response(null,{status:500})),null}}e.s(["handler",()=>j,"patchFetch",()=>I,"routeModule",()=>E,"serverHooks",()=>N,"workAsyncStorage",()=>$,"workUnitAsyncStorage",()=>T],84747)},82359,e=>{e.v(e=>Promise.resolve().then(()=>e(17293)))},6384,e=>{e.v(e=>Promise.resolve().then(()=>e(524)))},34561,e=>{e.v(e=>Promise.resolve().then(()=>e(73335)))},17952,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_@puppeteer_browsers_lib_esm_main_83020de3.js"].map(t=>e.l(t))).then(()=>t(78893)))},56955,e=>{e.v(e=>Promise.resolve().then(()=>e(68213)))},11105,e=>{e.v(e=>Promise.resolve().then(()=>e(50227)))},97365,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_1f8a2929._.js","server/chunks/node_modules_f81d3958._.js"].map(t=>e.l(t))).then(()=>t(66560)))},42394,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_1f8a2929._.js","server/chunks/node_modules_151ca6ae._.js"].map(t=>e.l(t))).then(()=>t(78947)))},34844,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_3b486fee._.js","server/chunks/node_modules_yargs_index_mjs_c4f6f97b._.js"].map(t=>e.l(t))).then(()=>t(91919)))},80113,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_yargs_helpers_helpers_mjs_abe15519._.js","server/chunks/node_modules_64199bef._.js"].map(t=>e.l(t))).then(()=>t(25057)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__15ab656d._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[53506,e=>{"use strict";var t=e.i(29476),r=e.i(13231),s=e.i(40911),n=e.i(93846);let o=!1,a=null;async function i(){o&&n.default.workbenchPage||(a||(a=(async()=>{try{await (0,t.connectToWorkbench)(n.default),o=!0,l();return}catch(e){s.logger.warn("[CDP Init] Initial connection failed:",e.message)}s.logger.info("[CDP Init] Attempting auto-recovery...");for(let e=1;e<=2;e++){s.logger.info(`[CDP Init] Recovery attempt ${e}/2`);let a=await (0,r.isCdpServerActive)();a.active&&0===a.windowCount?s.logger.warn("[CDP Init] Zombie CDP detected: server active but 0 workbench pages. Killing and restarting..."):a.active?s.logger.info(`[CDP Init] CDP active with ${a.windowCount} window(s). Retrying connection...`):s.logger.warn("[CDP Init] CDP server not reachable. Starting Antigravity with CDP...");let i=await (0,r.startCdpServer)(".",!0);if(!i.success){s.logger.error(`[CDP Init] Auto-recovery failed: ${i.message}`);continue}if(s.logger.info(`[CDP Init] Antigravity restarted: ${i.message}`),await new Promise(e=>setTimeout(e,3e3)),n.default.browser){try{n.default.browser.disconnect()}catch{}n.default.browser=null,n.default.workbenchPage=null,n.default.allWorkbenches=[]}try{await (0,t.connectToWorkbench)(n.default),o=!0,l(),s.logger.info("[CDP Init] Auto-recovery successful! Connected to workbench.");return}catch(t){s.logger.error(`[CDP Init] Recovery attempt ${e} connection failed: ${t.message}`)}}s.logger.error("[CDP Init] All 2 recovery attempts failed. Please start Antigravity manually with --remote-debugging-port=9223"),a=null})()),await a)}function l(){n.default.browser?.on("disconnected",()=>{s.logger.error("[CDP] Browser disconnected. Will reconnect on next request."),o=!1,a=null,n.default.workbenchPage=null,n.default.browser=null,n.default.allWorkbenches=[]}),n.default.workbenchPage?.on("close",()=>{s.logger.warn("[CDP] Workbench page closed. Will reconnect on next request."),o=!1,a=null,n.default.workbenchPage=null})}e.s(["ensureCdpConnection",()=>i])},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},93846,e=>{"use strict";let t=globalThis.__PROXY_CTX||{workbenchPage:null,browser:null,allWorkbenches:[],activeWindowIdx:0,activeConversationId:null,activeTitle:null,lastActionTimestamp:0};e.s(["default",0,t])},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},40911,e=>{"use strict";let t=new class{level="info";constructor(){this.level=process.env.LOG_LEVEL||"info"}shouldLog(e){let t=["debug","info","warn","error"];return t.indexOf(e)>=t.indexOf(this.level)}debug(e,t){this.shouldLog("debug")&&console.debug(`[DEBUG] ${e}`,t||"")}info(e,t){this.shouldLog("info")&&console.info(`[INFO] ${e}`,t||"")}warn(e,t){this.shouldLog("warn")&&console.warn(`[WARN] ${e}`,t||"")}error(e,t){this.shouldLog("error")&&console.error(`[ERROR] ${e}`,t||"")}};e.s(["logger",0,t])},13231,e=>{"use strict";var t=e.i(33405),r=e.i(24361),s=e.i(22734),n=e.i(14747),o=e.i(40911);let a=(0,r.promisify)(t.exec),i=parseInt(process.env.CDP_PORT||"9223",10);function l(){if(process.env.ANTIGRAVITY_BINARY){let e=process.env.ANTIGRAVITY_BINARY;return(0,s.existsSync)(e)||o.logger.warn(`[ProcessManager] ANTIGRAVITY_BINARY set to "${e}" but file does not exist.`),e}return"/usr/share/antigravity/antigravity"}async function c(){try{await a("killall antigravity 2>/dev/null || true"),o.logger.info("[ProcessManager] Killed existing Antigravity processes."),await new Promise(e=>setTimeout(e,1500))}catch{}}process.platform,process.platform;let u=null;async function d(){try{let e=await fetch(`http://localhost:${i}/json`);if(!e.ok)return{active:!1,windowCount:0,error:`HTTP ${e.status}`};let t=(await e.json()).filter(e=>e.url?.includes("workbench.html")&&!e.url?.includes("jetski"));return{active:!0,windowCount:t.length}}catch(e){return{active:!1,windowCount:0,error:e.message}}}async function p(e=".",r=!1){let a=await d();if(a.active&&a.windowCount>0&&!r)return{success:!0,message:`CDP server already active on port ${i} with ${a.windowCount} window(s).`};r&&await c();let g=l(),w=(0,n.resolve)(e||".");if((g.includes("/")||g.includes("\\"))&&!(0,s.existsSync)(g))return{success:!1,message:`Antigravity binary not found at "${g}". Set the ANTIGRAVITY_BINARY environment variable to the correct path.`};try{if(!(0,s.statSync)(w).isDirectory())return{success:!1,message:`"${w}" is not a directory.`}}catch{return{success:!1,message:`Directory not found: "${w}"`}}try{o.logger.info(`[ProcessManager] Starting Antigravity: ${g} --remote-debugging-port=${i} --new-window "${w}"`),o.logger.info(`[ProcessManager] Platform: ${process.platform}, Binary: ${g}`),(u=(0,t.spawn)(g,[`--remote-debugging-port=${i}`,"--new-window",w],{detached:!0,stdio:"ignore",env:{...process.env},shell:!1,windowsHide:!0})).unref();let e=u.pid;if(u.on("error",e=>{o.logger.error(`[ProcessManager] Antigravity process error: ${e.message}`),u=null}),u.on("exit",e=>{o.logger.info(`[ProcessManager] Antigravity process exited with code ${e}`),u=null}),await v(15e3))return{success:!0,message:`Antigravity started with CDP on port ${i}.`,pid:e||void 0};return{success:!1,message:`Antigravity process started but CDP server did not become available on port ${i} within 15s.`,pid:e||void 0}}catch(e){return o.logger.error(`[ProcessManager] Failed to start Antigravity: ${e.message}`),{success:!1,message:`Failed to start Antigravity: ${e.message}`}}}async function g(e){let r=(0,n.resolve)(e);try{if(!(0,s.statSync)(r).isDirectory())return{success:!1,message:`"${r}" is not a directory. Please provide a folder path.`}}catch{return{success:!1,message:`Directory not found: "${r}". Make sure the path exists.`}}let a=await d(),i=l();if(a.active)try{return o.logger.info(`[ProcessManager] Opening new window for: ${r}`),(0,t.spawn)(i,["--new-window",r],{detached:!0,stdio:"ignore",env:{...process.env},shell:!1,windowsHide:!0}).unref(),await new Promise(e=>setTimeout(e,3e3)),{success:!0,message:`Opened new window for "${r}".`}}catch(e){return{success:!1,message:`Failed to open window: ${e.message}`}}{let t=await p(e,!1);return{success:t.success,message:t.message}}}async function w(e){try{let t=await fetch(`http://localhost:${i}/json/close/${e}`);if(t.ok)return{success:!0,message:"Window closed successfully."};return{success:!1,message:`Failed to close window: HTTP ${t.status}`}}catch(e){return{success:!1,message:`Failed to close window: ${e.message}`}}}async function h(){try{let e=await fetch(`http://localhost:${i}/json`);if(!e.ok)return{targets:[],error:`HTTP ${e.status}`};return{targets:(await e.json()).filter(e=>e.url?.includes("workbench.html")&&!e.url?.includes("jetski")).map(e=>({id:e.id,title:e.title||"Untitled",url:e.url}))}}catch(e){return{targets:[],error:e.message}}}async function v(e){let t=Date.now();for(;Date.now()-t<e;){if((await d()).active)return!0;await new Promise(e=>setTimeout(e,500))}return!1}e.s(["closeWindow",()=>w,"getWindowTargets",()=>h,"isCdpServerActive",()=>d,"openNewWindow",()=>g,"startCdpServer",()=>p])},6461,(e,t,r)=>{t.exports=e.x("zlib",()=>require("zlib"))},524,e=>{"use strict";class t{static create(e){return new Promise((r,s)=>{let n=new WebSocket(e);n.addEventListener("open",()=>r(new t(n))),n.addEventListener("error",s)})}#e;onmessage;onclose;constructor(e){this.#e=e,this.#e.addEventListener("message",e=>{this.onmessage&&this.onmessage.call(null,e.data)}),this.#e.addEventListener("close",()=>{this.onclose&&this.onclose.call(null)}),this.#e.addEventListener("error",()=>{})}send(e){this.#e.send(e)}close(){this.#e.close()}}e.s(["BrowserWebSocketTransport",()=>t])},61659,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),n=e.i(59756),o=e.i(61916),a=e.i(74677),i=e.i(69741),l=e.i(16795),c=e.i(87718),u=e.i(95169),d=e.i(47587),p=e.i(66012),g=e.i(70101),w=e.i(26937),h=e.i(10372),v=e.i(93695);e.i(52474);var f=e.i(220),m=e.i(89171),y=e.i(53506),x=e.i(93846),P=e.i(29476);async function b(){await (0,y.ensureCdpConnection)();try{let e=await (0,P.discoverWorkbenches)(x.default);return m.NextResponse.json({windows:e.map((e,t)=>({index:t,title:e.title,url:e.url,active:t===x.default.activeWindowIdx}))})}catch(e){return m.NextResponse.json({error:e.message},{status:500})}}e.s(["GET",()=>b,"dynamic",0,"force-dynamic"],90753);var R=e.i(90753);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v1/windows/route",pathname:"/api/v1/windows",filename:"route",bundlePath:""},distDir:"./.next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/windows/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:_,workUnitAsyncStorage:A,serverHooks:k}=C;function E(){return(0,s.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:A})}async function T(e,t,s){C.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/v1/windows/route";m=m.replace(/\/index$/,"")||"/";let y=await C.prepare(e,t,{srcPage:m,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:x,params:P,nextConfig:b,parsedUrl:R,isDraftMode:_,prerenderManifest:A,routerServerContext:k,isOnDemandRevalidate:E,revalidateOnlyGenerated:T,resolvedPathname:$,clientReferenceManifest:I,serverActionsManifest:D}=y,j=(0,i.normalizeAppPath)(m),N=!!(A.dynamicRoutes[j]||A.routes[$]),S=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,R,!1):t.end("This page could not be found"),null);if(N&&!_){let e=!!A.routes[$],t=A.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(b.experimental.adapterPath)return await S();throw new v.NoFallbackError}}let O=null;!N||C.isDev||_||(O="/index"===(O=$)?"/":O);let q=!0===C.isDev||!N,H=N&&!q;D&&I&&(0,a.setManifestsSingleton)({page:m,clientReferenceManifest:I,serverActionsManifest:D});let M=e.method||"GET",W=(0,o.getTracer)(),L=W.getActiveScopeSpan(),U={params:P,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:q,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:b.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,n)=>C.onRequestError(e,t,s,n,k)},sharedContext:{buildId:x}},F=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),G=c.NextRequestAdapter.fromNodeNextRequest(F,(0,c.signalFromNodeResponse)(t));try{let a=async e=>C.handle(G,U).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=W.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${M} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${m}`)}),i=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var o,l;let c=async({previousCacheEntry:r})=>{try{if(!i&&E&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await a(n);e.fetchMetrics=U.renderOpts.fetchMetrics;let l=U.renderOpts.pendingWaitUntil;l&&s.waitUntil&&(s.waitUntil(l),l=void 0);let c=U.renderOpts.collectedTags;if(!N)return await (0,p.sendResponse)(F,B,o,U.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(o.headers);c&&(t[h.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,s=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:E})},!1,k),t}},u=await C.handleResponse({req:e,nextConfig:b,cacheKey:O,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:T,responseGenerator:c,waitUntil:s.waitUntil,isMinimalMode:i});if(!N)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",E?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let v=(0,g.fromNodeOutgoingHttpHeaders)(u.value.headers);return i&&N||v.delete(h.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||v.get("Cache-Control")||v.set("Cache-Control",(0,w.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(F,B,new Response(u.value.body,{headers:v,status:u.value.status||200})),null};L?await l(L):await W.withPropagatedContext(e.headers,()=>W.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${m}`,kind:o.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof v.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:E})},!1,k),N)throw t;return await (0,p.sendResponse)(F,B,new Response(null,{status:500})),null}}e.s(["handler",()=>T,"patchFetch",()=>E,"routeModule",()=>C,"serverHooks",()=>k,"workAsyncStorage",()=>_,"workUnitAsyncStorage",()=>A],61659)},82359,e=>{e.v(e=>Promise.resolve().then(()=>e(17293)))},6384,e=>{e.v(e=>Promise.resolve().then(()=>e(524)))},34561,e=>{e.v(e=>Promise.resolve().then(()=>e(73335)))},17952,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_@puppeteer_browsers_lib_esm_main_83020de3.js"].map(t=>e.l(t))).then(()=>t(78893)))},56955,e=>{e.v(e=>Promise.resolve().then(()=>e(68213)))},11105,e=>{e.v(e=>Promise.resolve().then(()=>e(50227)))},97365,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_1f8a2929._.js","server/chunks/node_modules_f81d3958._.js"].map(t=>e.l(t))).then(()=>t(66560)))},42394,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_1f8a2929._.js","server/chunks/node_modules_151ca6ae._.js"].map(t=>e.l(t))).then(()=>t(78947)))},34844,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_3b486fee._.js","server/chunks/node_modules_yargs_index_mjs_c4f6f97b._.js"].map(t=>e.l(t))).then(()=>t(91919)))},80113,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_yargs_helpers_helpers_mjs_abe15519._.js","server/chunks/node_modules_64199bef._.js"].map(t=>e.l(t))).then(()=>t(25057)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1bfbe922._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[53506,e=>{"use strict";var t=e.i(29476),r=e.i(13231),n=e.i(40911),s=e.i(93846);let a=!1,i=null;async function o(){a&&s.default.workbenchPage||(i||(i=(async()=>{try{await (0,t.connectToWorkbench)(s.default),a=!0,l();return}catch(e){n.logger.warn("[CDP Init] Initial connection failed:",e.message)}n.logger.info("[CDP Init] Attempting auto-recovery...");for(let e=1;e<=2;e++){n.logger.info(`[CDP Init] Recovery attempt ${e}/2`);let i=await (0,r.isCdpServerActive)();i.active&&0===i.windowCount?n.logger.warn("[CDP Init] Zombie CDP detected: server active but 0 workbench pages. Killing and restarting..."):i.active?n.logger.info(`[CDP Init] CDP active with ${i.windowCount} window(s). Retrying connection...`):n.logger.warn("[CDP Init] CDP server not reachable. Starting Antigravity with CDP...");let o=await (0,r.startCdpServer)(".",!0);if(!o.success){n.logger.error(`[CDP Init] Auto-recovery failed: ${o.message}`);continue}if(n.logger.info(`[CDP Init] Antigravity restarted: ${o.message}`),await new Promise(e=>setTimeout(e,3e3)),s.default.browser){try{s.default.browser.disconnect()}catch{}s.default.browser=null,s.default.workbenchPage=null,s.default.allWorkbenches=[]}try{await (0,t.connectToWorkbench)(s.default),a=!0,l(),n.logger.info("[CDP Init] Auto-recovery successful! Connected to workbench.");return}catch(t){n.logger.error(`[CDP Init] Recovery attempt ${e} connection failed: ${t.message}`)}}n.logger.error("[CDP Init] All 2 recovery attempts failed. Please start Antigravity manually with --remote-debugging-port=9223"),i=null})()),await i)}function l(){s.default.browser?.on("disconnected",()=>{n.logger.error("[CDP] Browser disconnected. Will reconnect on next request."),a=!1,i=null,s.default.workbenchPage=null,s.default.browser=null,s.default.allWorkbenches=[]}),s.default.workbenchPage?.on("close",()=>{n.logger.warn("[CDP] Workbench page closed. Will reconnect on next request."),a=!1,i=null,s.default.workbenchPage=null})}e.s(["ensureCdpConnection",()=>o])},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},93846,e=>{"use strict";let t=globalThis.__PROXY_CTX||{workbenchPage:null,browser:null,allWorkbenches:[],activeWindowIdx:0,activeConversationId:null,activeTitle:null,lastActionTimestamp:0};e.s(["default",0,t])},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},40911,e=>{"use strict";let t=new class{level="info";constructor(){this.level=process.env.LOG_LEVEL||"info"}shouldLog(e){let t=["debug","info","warn","error"];return t.indexOf(e)>=t.indexOf(this.level)}debug(e,t){this.shouldLog("debug")&&console.debug(`[DEBUG] ${e}`,t||"")}info(e,t){this.shouldLog("info")&&console.info(`[INFO] ${e}`,t||"")}warn(e,t){this.shouldLog("warn")&&console.warn(`[WARN] ${e}`,t||"")}error(e,t){this.shouldLog("error")&&console.error(`[ERROR] ${e}`,t||"")}};e.s(["logger",0,t])},13231,e=>{"use strict";var t=e.i(33405),r=e.i(24361),n=e.i(22734),s=e.i(14747),a=e.i(40911);let i=(0,r.promisify)(t.exec),o=parseInt(process.env.CDP_PORT||"9223",10);function l(){if(process.env.ANTIGRAVITY_BINARY){let e=process.env.ANTIGRAVITY_BINARY;return(0,n.existsSync)(e)||a.logger.warn(`[ProcessManager] ANTIGRAVITY_BINARY set to "${e}" but file does not exist.`),e}return"/usr/share/antigravity/antigravity"}async function c(){try{await i("killall antigravity 2>/dev/null || true"),a.logger.info("[ProcessManager] Killed existing Antigravity processes."),await new Promise(e=>setTimeout(e,1500))}catch{}}process.platform,process.platform;let u=null;async function d(){try{let e=await fetch(`http://localhost:${o}/json`);if(!e.ok)return{active:!1,windowCount:0,error:`HTTP ${e.status}`};let t=(await e.json()).filter(e=>e.url?.includes("workbench.html")&&!e.url?.includes("jetski"));return{active:!0,windowCount:t.length}}catch(e){return{active:!1,windowCount:0,error:e.message}}}async function p(e=".",r=!1){let i=await d();if(i.active&&i.windowCount>0&&!r)return{success:!0,message:`CDP server already active on port ${o} with ${i.windowCount} window(s).`};r&&await c();let f=l(),g=(0,s.resolve)(e||".");if((f.includes("/")||f.includes("\\"))&&!(0,n.existsSync)(f))return{success:!1,message:`Antigravity binary not found at "${f}". Set the ANTIGRAVITY_BINARY environment variable to the correct path.`};try{if(!(0,n.statSync)(g).isDirectory())return{success:!1,message:`"${g}" is not a directory.`}}catch{return{success:!1,message:`Directory not found: "${g}"`}}try{a.logger.info(`[ProcessManager] Starting Antigravity: ${f} --remote-debugging-port=${o} --new-window "${g}"`),a.logger.info(`[ProcessManager] Platform: ${process.platform}, Binary: ${f}`),(u=(0,t.spawn)(f,[`--remote-debugging-port=${o}`,"--new-window",g],{detached:!0,stdio:"ignore",env:{...process.env},shell:!1,windowsHide:!0})).unref();let e=u.pid;if(u.on("error",e=>{a.logger.error(`[ProcessManager] Antigravity process error: ${e.message}`),u=null}),u.on("exit",e=>{a.logger.info(`[ProcessManager] Antigravity process exited with code ${e}`),u=null}),await m(15e3))return{success:!0,message:`Antigravity started with CDP on port ${o}.`,pid:e||void 0};return{success:!1,message:`Antigravity process started but CDP server did not become available on port ${o} within 15s.`,pid:e||void 0}}catch(e){return a.logger.error(`[ProcessManager] Failed to start Antigravity: ${e.message}`),{success:!1,message:`Failed to start Antigravity: ${e.message}`}}}async function f(e){let r=(0,s.resolve)(e);try{if(!(0,n.statSync)(r).isDirectory())return{success:!1,message:`"${r}" is not a directory. Please provide a folder path.`}}catch{return{success:!1,message:`Directory not found: "${r}". Make sure the path exists.`}}let i=await d(),o=l();if(i.active)try{return a.logger.info(`[ProcessManager] Opening new window for: ${r}`),(0,t.spawn)(o,["--new-window",r],{detached:!0,stdio:"ignore",env:{...process.env},shell:!1,windowsHide:!0}).unref(),await new Promise(e=>setTimeout(e,3e3)),{success:!0,message:`Opened new window for "${r}".`}}catch(e){return{success:!1,message:`Failed to open window: ${e.message}`}}{let t=await p(e,!1);return{success:t.success,message:t.message}}}async function g(e){try{let t=await fetch(`http://localhost:${o}/json/close/${e}`);if(t.ok)return{success:!0,message:"Window closed successfully."};return{success:!1,message:`Failed to close window: HTTP ${t.status}`}}catch(e){return{success:!1,message:`Failed to close window: ${e.message}`}}}async function h(){try{let e=await fetch(`http://localhost:${o}/json`);if(!e.ok)return{targets:[],error:`HTTP ${e.status}`};return{targets:(await e.json()).filter(e=>e.url?.includes("workbench.html")&&!e.url?.includes("jetski")).map(e=>({id:e.id,title:e.title||"Untitled",url:e.url}))}}catch(e){return{targets:[],error:e.message}}}async function m(e){let t=Date.now();for(;Date.now()-t<e;){if((await d()).active)return!0;await new Promise(e=>setTimeout(e,500))}return!1}e.s(["closeWindow",()=>g,"getWindowTargets",()=>h,"isCdpServerActive",()=>d,"openNewWindow",()=>f,"startCdpServer",()=>p])},6461,(e,t,r)=>{t.exports=e.x("zlib",()=>require("zlib"))},524,e=>{"use strict";class t{static create(e){return new Promise((r,n)=>{let s=new WebSocket(e);s.addEventListener("open",()=>r(new t(s))),s.addEventListener("error",n)})}#e;onmessage;onclose;constructor(e){this.#e=e,this.#e.addEventListener("message",e=>{this.onmessage&&this.onmessage.call(null,e.data)}),this.#e.addEventListener("close",()=>{this.onclose&&this.onclose.call(null)}),this.#e.addEventListener("error",()=>{})}send(e){this.#e.send(e)}close(){this.#e.close()}}e.s(["BrowserWebSocketTransport",()=>t])},40298,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),s=e.i(59756),a=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),c=e.i(87718),u=e.i(95169),d=e.i(47587),p=e.i(66012),f=e.i(70101),g=e.i(26937),h=e.i(10372),m=e.i(93695);e.i(52474);var v=e.i(220),w=e.i(89171),y=e.i(53506),x=e.i(93846),C=e.i(22734),P=e.i(14747),b=e.i(46786),R=e.i(40911);async function A(e){if(!e.workbenchPage)return R.logger.info("[IdeArtifacts] No active workbench page."),{totalCount:0,artifacts:[],conversationTitle:null};try{let t=await e.workbenchPage.evaluate(async()=>{let e=document.querySelector(".antigravity-agent-side-panel");if(!e)return{error:"No agent panel found"};let t=e.querySelector("span.font-semibold.text-ide-text-color"),r=t?.textContent?.trim()||null,n=()=>{for(let t of e.querySelectorAll("*")){let e=(t.textContent||"").trim();if(e.startsWith("Artifacts (")&&e.includes("Files")&&t.children.length<=3)return t}return null},s=n(),a=!1;if(!s){let t=e.querySelector('[data-tooltip-id="tooltip-artifacts"]');if(!t)return{error:"No artifact button (tooltip-artifacts) found"};t.click(),await new Promise(e=>setTimeout(e,1500)),s=n(),a=!0}if(!s)return{error:"Artifact section did not appear after clicking"};let i=(s.textContent?.trim()||"").match(/Artifacts\s*\((\d+)\s*Files?/),o=i?parseInt(i[1],10):0,l=s;for(let e=0;e<8&&l.parentElement;e++){let e=(l=l.parentElement).textContent||"";if(e.includes("Artifact Name")&&e.includes("Last Updated"))break}let c=l.querySelectorAll(".flex.w-full.flex-row.items-center.justify-between"),u=[];for(let e of c){let t=e.children;if(t.length<2)continue;let r=(t[0].textContent||"").trim(),n=(t[1].textContent||"").trim();"Artifact Name"!==r&&r&&u.push({name:r,lastUpdated:n||null})}if(0===u.length){let e=document.createTreeWalker(l,NodeFilter.SHOW_TEXT),t=[];for(;e.nextNode();){let r=e.currentNode.textContent?.trim();r&&r.length>0&&t.push(r)}for(let e=0;e<t.length;e++){let r=t[e];if("Artifact Name"===r||"Last Updated"===r||r.startsWith("Artifacts (")||"Review Changes"===r)continue;let n=r.match(/\(([A-Z][a-z]{2}\s+\d{1,2}\s+\d{1,2}:\d{2}\s*(?:AM|PM)?)\)$/);if(n){let e=r.replace(n[0],"").trim();u.push({name:e,lastUpdated:n[1]})}else if(r.match(/\.(md|json|txt|ts|tsx|js|jsx|css|html|yaml|yml|py|sh)$/)){let n=t[e+1]||"",s=n.match(/^[A-Z][a-z]{2}\s+\d{1,2}\s+\d{1,2}:\d{2}/);u.push({name:r,lastUpdated:s?n:null}),s&&e++}}}if(a){let t=e.querySelector('[data-tooltip-id="tooltip-artifacts"]');t&&t.click()}return{conversationTitle:r,totalCount:o,artifacts:u}});if(t&&"error"in t)return R.logger.error(`[IdeArtifacts] ${t.error}`),{totalCount:0,artifacts:[],conversationTitle:null};let r=(t?.artifacts||[]).map(e=>({name:e.name,lastUpdated:e.lastUpdated,isFile:/\.\w{1,5}$/.test(e.name)}));return R.logger.info(`[IdeArtifacts] Scraped ${r.length}/${t?.totalCount||0} artifacts for "${t?.conversationTitle}"`),{totalCount:t?.totalCount||0,artifacts:r,conversationTitle:t?.conversationTitle||null}}catch(e){return R.logger.error(`[IdeArtifacts] Error scraping: ${e.message}`),{totalCount:0,artifacts:[],conversationTitle:null}}}let _=P.default.join(b.default.homedir(),".gemini","antigravity","brain");function T(e){let t=P.default.join(_,e);if(!C.default.existsSync(t))return[];let r=[];try{for(let e of C.default.readdirSync(t,{recursive:!0,withFileTypes:!0})){if(!e.isFile()||!e.name.endsWith(".md"))continue;let n=e.parentPath||e.path||t,s=P.default.join(n,e.name),a=P.default.relative(t,s).replace(/\\/g,"/");if(!a.split("/").some(e=>e.startsWith(".")))try{let e=C.default.statSync(s);r.push({name:a,size:e.size,mtime:e.mtime.toISOString()})}catch{continue}}r.sort((e,t)=>new Date(t.mtime).getTime()-new Date(e.mtime).getTime())}catch{}return r}async function k(){try{if(await (0,y.ensureCdpConnection)(),x.default.workbenchPage)try{let e=await A(x.default);if(e.artifacts.length>0){let t=e.artifacts.map((e,t)=>({name:e.name,size:0,mtime:e.lastUpdated||new Date().toISOString(),isFile:e.isFile,source:"ide"}));if(x.default.activeConversationId){let e=T(x.default.activeConversationId);for(let r of t){let t=e.find(e=>e.name===r.name||e.name.endsWith("/"+r.name)||r.name.endsWith(e.name));t&&(r.size=t.size,r.mtime=t.mtime)}}return w.NextResponse.json({files:t,source:"ide",conversationTitle:e.conversationTitle,totalCount:e.totalCount})}}catch{}if(x.default.activeConversationId||(x.default.activeConversationId=function(){try{if(!C.default.existsSync(_))return null;let e=C.default.readdirSync(_,{withFileTypes:!0}),t=null;for(let r of e){if(!r.isDirectory()||r.name.startsWith("."))continue;let e=P.default.join(_,r.name),n=C.default.statSync(e);(!t||n.mtimeMs>t.mtime)&&(t={id:r.name,mtime:n.mtimeMs})}return t?.id??null}catch{return null}}()),!x.default.activeConversationId)return w.NextResponse.json({files:[],source:"none"});let e=T(x.default.activeConversationId);return w.NextResponse.json({files:e,source:"brain"})}catch(e){return w.NextResponse.json({error:e.message},{status:500})}}e.s(["GET",()=>k,"dynamic",0,"force-dynamic"],66716);var $=e.i(66716);let E=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v1/artifacts/active/route",pathname:"/api/v1/artifacts/active",filename:"route",bundlePath:""},distDir:"./.next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/artifacts/active/route.ts",nextConfigOutput:"standalone",userland:$}),{workAsyncStorage:I,workUnitAsyncStorage:S,serverHooks:j}=E;function N(){return(0,n.patchFetch)({workAsyncStorage:I,workUnitAsyncStorage:S})}async function D(e,t,n){E.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/v1/artifacts/active/route";w=w.replace(/\/index$/,"")||"/";let y=await E.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:x,params:C,nextConfig:P,parsedUrl:b,isDraftMode:R,prerenderManifest:A,routerServerContext:_,isOnDemandRevalidate:T,revalidateOnlyGenerated:k,resolvedPathname:$,clientReferenceManifest:I,serverActionsManifest:S}=y,j=(0,o.normalizeAppPath)(w),N=!!(A.dynamicRoutes[j]||A.routes[$]),D=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,b,!1):t.end("This page could not be found"),null);if(N&&!R){let e=!!A.routes[$],t=A.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(P.experimental.adapterPath)return await D();throw new m.NoFallbackError}}let q=null;!N||E.isDev||R||(q="/index"===(q=$)?"/":q);let O=!0===E.isDev||!N,W=N&&!O;S&&I&&(0,i.setManifestsSingleton)({page:w,clientReferenceManifest:I,serverActionsManifest:S});let U=e.method||"GET",M=(0,a.getTracer)(),F=M.getActiveScopeSpan(),H={params:C,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!P.experimental.authInterrupts},cacheComponents:!!P.cacheComponents,supportsDynamicResponse:O,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:P.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,s)=>E.onRequestError(e,t,n,s,_)},sharedContext:{buildId:x}},L=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),z=c.NextRequestAdapter.fromNodeNextRequest(L,(0,c.signalFromNodeResponse)(t));try{let i=async e=>E.handle(z,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${w}`)}),o=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var a,l;let c=async({previousCacheEntry:r})=>{try{if(!o&&T&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(s);e.fetchMetrics=H.renderOpts.fetchMetrics;let l=H.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let c=H.renderOpts.collectedTags;if(!N)return await (0,p.sendResponse)(L,B,a,H.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);c&&(t[h.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,n=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:H.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:W,isOnDemandRevalidate:T})},!1,_),t}},u=await E.handleResponse({req:e,nextConfig:P,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:k,responseGenerator:c,waitUntil:n.waitUntil,isMinimalMode:o});if(!N)return null;if((null==u||null==(a=u.value)?void 0:a.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",T?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),R&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return o&&N||m.delete(h.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(L,B,new Response(u.value.body,{headers:m,status:u.value.status||200})),null};F?await l(F):await M.withPropagatedContext(e.headers,()=>M.trace(u.BaseServerSpan.handleRequest,{spanName:`${U} ${w}`,kind:a.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l))}catch(t){if(t instanceof m.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:W,isOnDemandRevalidate:T})},!1,_),N)throw t;return await (0,p.sendResponse)(L,B,new Response(null,{status:500})),null}}e.s(["handler",()=>D,"patchFetch",()=>N,"routeModule",()=>E,"serverHooks",()=>j,"workAsyncStorage",()=>I,"workUnitAsyncStorage",()=>S],40298)},82359,e=>{e.v(e=>Promise.resolve().then(()=>e(17293)))},6384,e=>{e.v(e=>Promise.resolve().then(()=>e(524)))},34561,e=>{e.v(e=>Promise.resolve().then(()=>e(73335)))},17952,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_@puppeteer_browsers_lib_esm_main_83020de3.js"].map(t=>e.l(t))).then(()=>t(78893)))},56955,e=>{e.v(e=>Promise.resolve().then(()=>e(68213)))},11105,e=>{e.v(e=>Promise.resolve().then(()=>e(50227)))},97365,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_1f8a2929._.js","server/chunks/node_modules_f81d3958._.js"].map(t=>e.l(t))).then(()=>t(66560)))},42394,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_1f8a2929._.js","server/chunks/node_modules_151ca6ae._.js"].map(t=>e.l(t))).then(()=>t(78947)))},34844,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_3b486fee._.js","server/chunks/node_modules_yargs_index_mjs_c4f6f97b._.js"].map(t=>e.l(t))).then(()=>t(91919)))},80113,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_yargs_helpers_helpers_mjs_abe15519._.js","server/chunks/node_modules_64199bef._.js"].map(t=>e.l(t))).then(()=>t(25057)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1cbbd160._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[53506,e=>{"use strict";var t=e.i(29476),r=e.i(13231),n=e.i(40911),s=e.i(93846);let o=!1,a=null;async function i(){o&&s.default.workbenchPage||(a||(a=(async()=>{try{await (0,t.connectToWorkbench)(s.default),o=!0,l();return}catch(e){n.logger.warn("[CDP Init] Initial connection failed:",e.message)}n.logger.info("[CDP Init] Attempting auto-recovery...");for(let e=1;e<=2;e++){n.logger.info(`[CDP Init] Recovery attempt ${e}/2`);let a=await (0,r.isCdpServerActive)();a.active&&0===a.windowCount?n.logger.warn("[CDP Init] Zombie CDP detected: server active but 0 workbench pages. Killing and restarting..."):a.active?n.logger.info(`[CDP Init] CDP active with ${a.windowCount} window(s). Retrying connection...`):n.logger.warn("[CDP Init] CDP server not reachable. Starting Antigravity with CDP...");let i=await (0,r.startCdpServer)(".",!0);if(!i.success){n.logger.error(`[CDP Init] Auto-recovery failed: ${i.message}`);continue}if(n.logger.info(`[CDP Init] Antigravity restarted: ${i.message}`),await new Promise(e=>setTimeout(e,3e3)),s.default.browser){try{s.default.browser.disconnect()}catch{}s.default.browser=null,s.default.workbenchPage=null,s.default.allWorkbenches=[]}try{await (0,t.connectToWorkbench)(s.default),o=!0,l(),n.logger.info("[CDP Init] Auto-recovery successful! Connected to workbench.");return}catch(t){n.logger.error(`[CDP Init] Recovery attempt ${e} connection failed: ${t.message}`)}}n.logger.error("[CDP Init] All 2 recovery attempts failed. Please start Antigravity manually with --remote-debugging-port=9223"),a=null})()),await a)}function l(){s.default.browser?.on("disconnected",()=>{n.logger.error("[CDP] Browser disconnected. Will reconnect on next request."),o=!1,a=null,s.default.workbenchPage=null,s.default.browser=null,s.default.allWorkbenches=[]}),s.default.workbenchPage?.on("close",()=>{n.logger.warn("[CDP] Workbench page closed. Will reconnect on next request."),o=!1,a=null,s.default.workbenchPage=null})}e.s(["ensureCdpConnection",()=>i])},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},93846,e=>{"use strict";let t=globalThis.__PROXY_CTX||{workbenchPage:null,browser:null,allWorkbenches:[],activeWindowIdx:0,activeConversationId:null,activeTitle:null,lastActionTimestamp:0};e.s(["default",0,t])},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},40911,e=>{"use strict";let t=new class{level="info";constructor(){this.level=process.env.LOG_LEVEL||"info"}shouldLog(e){let t=["debug","info","warn","error"];return t.indexOf(e)>=t.indexOf(this.level)}debug(e,t){this.shouldLog("debug")&&console.debug(`[DEBUG] ${e}`,t||"")}info(e,t){this.shouldLog("info")&&console.info(`[INFO] ${e}`,t||"")}warn(e,t){this.shouldLog("warn")&&console.warn(`[WARN] ${e}`,t||"")}error(e,t){this.shouldLog("error")&&console.error(`[ERROR] ${e}`,t||"")}};e.s(["logger",0,t])},13231,e=>{"use strict";var t=e.i(33405),r=e.i(24361),n=e.i(22734),s=e.i(14747),o=e.i(40911);let a=(0,r.promisify)(t.exec),i=parseInt(process.env.CDP_PORT||"9223",10);function l(){if(process.env.ANTIGRAVITY_BINARY){let e=process.env.ANTIGRAVITY_BINARY;return(0,n.existsSync)(e)||o.logger.warn(`[ProcessManager] ANTIGRAVITY_BINARY set to "${e}" but file does not exist.`),e}return"/usr/share/antigravity/antigravity"}async function c(){try{await a("killall antigravity 2>/dev/null || true"),o.logger.info("[ProcessManager] Killed existing Antigravity processes."),await new Promise(e=>setTimeout(e,1500))}catch{}}process.platform,process.platform;let u=null;async function d(){try{let e=await fetch(`http://localhost:${i}/json`);if(!e.ok)return{active:!1,windowCount:0,error:`HTTP ${e.status}`};let t=(await e.json()).filter(e=>e.url?.includes("workbench.html")&&!e.url?.includes("jetski"));return{active:!0,windowCount:t.length}}catch(e){return{active:!1,windowCount:0,error:e.message}}}async function p(e=".",r=!1){let a=await d();if(a.active&&a.windowCount>0&&!r)return{success:!0,message:`CDP server already active on port ${i} with ${a.windowCount} window(s).`};r&&await c();let g=l(),h=(0,s.resolve)(e||".");if((g.includes("/")||g.includes("\\"))&&!(0,n.existsSync)(g))return{success:!1,message:`Antigravity binary not found at "${g}". Set the ANTIGRAVITY_BINARY environment variable to the correct path.`};try{if(!(0,n.statSync)(h).isDirectory())return{success:!1,message:`"${h}" is not a directory.`}}catch{return{success:!1,message:`Directory not found: "${h}"`}}try{o.logger.info(`[ProcessManager] Starting Antigravity: ${g} --remote-debugging-port=${i} --new-window "${h}"`),o.logger.info(`[ProcessManager] Platform: ${process.platform}, Binary: ${g}`),(u=(0,t.spawn)(g,[`--remote-debugging-port=${i}`,"--new-window",h],{detached:!0,stdio:"ignore",env:{...process.env},shell:!1,windowsHide:!0})).unref();let e=u.pid;if(u.on("error",e=>{o.logger.error(`[ProcessManager] Antigravity process error: ${e.message}`),u=null}),u.on("exit",e=>{o.logger.info(`[ProcessManager] Antigravity process exited with code ${e}`),u=null}),await f(15e3))return{success:!0,message:`Antigravity started with CDP on port ${i}.`,pid:e||void 0};return{success:!1,message:`Antigravity process started but CDP server did not become available on port ${i} within 15s.`,pid:e||void 0}}catch(e){return o.logger.error(`[ProcessManager] Failed to start Antigravity: ${e.message}`),{success:!1,message:`Failed to start Antigravity: ${e.message}`}}}async function g(e){let r=(0,s.resolve)(e);try{if(!(0,n.statSync)(r).isDirectory())return{success:!1,message:`"${r}" is not a directory. Please provide a folder path.`}}catch{return{success:!1,message:`Directory not found: "${r}". Make sure the path exists.`}}let a=await d(),i=l();if(a.active)try{return o.logger.info(`[ProcessManager] Opening new window for: ${r}`),(0,t.spawn)(i,["--new-window",r],{detached:!0,stdio:"ignore",env:{...process.env},shell:!1,windowsHide:!0}).unref(),await new Promise(e=>setTimeout(e,3e3)),{success:!0,message:`Opened new window for "${r}".`}}catch(e){return{success:!1,message:`Failed to open window: ${e.message}`}}{let t=await p(e,!1);return{success:t.success,message:t.message}}}async function h(e){try{let t=await fetch(`http://localhost:${i}/json/close/${e}`);if(t.ok)return{success:!0,message:"Window closed successfully."};return{success:!1,message:`Failed to close window: HTTP ${t.status}`}}catch(e){return{success:!1,message:`Failed to close window: ${e.message}`}}}async function w(){try{let e=await fetch(`http://localhost:${i}/json`);if(!e.ok)return{targets:[],error:`HTTP ${e.status}`};return{targets:(await e.json()).filter(e=>e.url?.includes("workbench.html")&&!e.url?.includes("jetski")).map(e=>({id:e.id,title:e.title||"Untitled",url:e.url}))}}catch(e){return{targets:[],error:e.message}}}async function f(e){let t=Date.now();for(;Date.now()-t<e;){if((await d()).active)return!0;await new Promise(e=>setTimeout(e,500))}return!1}e.s(["closeWindow",()=>h,"getWindowTargets",()=>w,"isCdpServerActive",()=>d,"openNewWindow",()=>g,"startCdpServer",()=>p])},6461,(e,t,r)=>{t.exports=e.x("zlib",()=>require("zlib"))},524,e=>{"use strict";class t{static create(e){return new Promise((r,n)=>{let s=new WebSocket(e);s.addEventListener("open",()=>r(new t(s))),s.addEventListener("error",n)})}#e;onmessage;onclose;constructor(e){this.#e=e,this.#e.addEventListener("message",e=>{this.onmessage&&this.onmessage.call(null,e.data)}),this.#e.addEventListener("close",()=>{this.onclose&&this.onclose.call(null)}),this.#e.addEventListener("error",()=>{})}send(e){this.#e.send(e)}close(){this.#e.close()}}e.s(["BrowserWebSocketTransport",()=>t])},32300,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),s=e.i(59756),o=e.i(61916),a=e.i(74677),i=e.i(69741),l=e.i(16795),c=e.i(87718),u=e.i(95169),d=e.i(47587),p=e.i(66012),g=e.i(70101),h=e.i(26937),w=e.i(10372),f=e.i(93695);e.i(52474);var v=e.i(220),m=e.i(89171),y=e.i(53506),x=e.i(93846);async function b(e){return e.workbenchPage?await e.workbenchPage.evaluate(async()=>{let e=document.querySelector(".antigravity-agent-side-panel");if(!e)return{isRunning:!1,turnCount:0,turns:[]};let t=e.querySelector("#conversation")||document.querySelector("#conversation"),r=t?.querySelector(".overflow-y-auto");if(!r)return{isRunning:!1,turnCount:0,turns:[]};let n=r.querySelector(".mx-auto")||r;async function s(e=3e3){let t=Date.now();for(;Date.now()-t<e;){let e=Array.from(n.querySelectorAll(".rounded-lg.bg-gray-500\\/10")),t=0,s=r.getBoundingClientRect();for(let n of e){let e=n.getBoundingClientRect(),o=e.top-s.top;e.bottom-s.top>-50&&o<r.clientHeight+50&&t++}if(0===t)break;await new Promise(e=>setTimeout(e,100))}}let o=new Set,a=[];function i(){let e=r.getBoundingClientRect(),t=r.scrollTop;for(let s of Array.from(n.querySelectorAll(".whitespace-pre-wrap"))){let n=s.textContent?.trim();if(!n||n.length<2||s.closest(".leading-relaxed.select-text")||s.closest("[data-lexical-editor]")||s.closest("#antigravity\\.agentSidePanelInputBox")||"CODE"===s.tagName||s.closest(".flex.flex-col.gap-2.border.rounded-lg")||s.closest(".notify-user-container"))continue;let i=s.getBoundingClientRect().top-e.top;if(i<-100||i>r.clientHeight+100)continue;let l="user:"+n.substring(0,300);if(o.has(l))continue;o.add(l);let c=t+i;a.push({absY:c,role:"user",content:n})}for(let s of Array.from(n.querySelectorAll(".leading-relaxed.select-text"))){if(function(e,t){let r=e.parentElement,n=0;for(;r&&r!==t&&n<15;){let e=r.getAttribute("class")||"";if(e.includes("max-h-0")||e.includes("hidden"))return!0;let t=r.style;if(t&&("none"===t.display||"0px"===t.maxHeight)||0===r.offsetHeight)return!0;r=r.parentElement,n++}return!1}(s,n))continue;let i=s.getBoundingClientRect().top-e.top;if(i<-100||i>r.clientHeight+100)continue;let l=function(e){let t=e.cloneNode(!0);return t.querySelectorAll("style, script").forEach(e=>e.remove()),t.querySelectorAll('svg.cursor-pointer, [class*="cursor-pointer"][class*="opacity-70"], button[class*="opacity-70"]').forEach(e=>e.remove()),t.innerHTML?.trim()||""}(s);if(!l)continue;let c=function(e){let t=e.cloneNode(!0);return t.querySelectorAll("style, script").forEach(e=>e.remove()),t.textContent?.trim()||""}(s);if(!c)continue;let u="agent:"+c.substring(0,300);if(o.has(u))continue;o.add(u);let d=!!s.closest(".notify-user-container"),p=s.parentElement?.getAttribute("class")||"";if(p.includes("font-medium")&&p.includes("pb-0"))continue;let g=d?"notify":"response",h=t+i;a.push({absY:h,role:"agent",content:l,contentType:g})}}let l=Date.now();r.scrollTop=0,await s(2e3),await new Promise(e=>setTimeout(e,200)),i();let c=.8*r.clientHeight,u=c,d=0;for(;u<r.scrollHeight+r.clientHeight&&!(Date.now()-l>3e4)&&(r.scrollTop=u,await s(1500),await new Promise(e=>setTimeout(e,50)),i(),u+=c,!(++d>200)););r.scrollTop=r.scrollHeight,await s(1500),await new Promise(e=>setTimeout(e,200)),i(),a.sort((e,t)=>e.absY-t.absY);let p=[];for(let e of a)p.push({role:e.role,content:e.content});return r.scrollTop=r.scrollHeight,{isRunning:!1,turnCount:p.length,turns:p}}):{isRunning:!1,turnCount:0,turns:[]}}async function P(){if(await (0,y.ensureCdpConnection)(),!x.default.workbenchPage)return m.NextResponse.json({error:"Not connected to Antigravity"},{status:503});try{let e=await b(x.default);return m.NextResponse.json(e)}catch(e){return m.NextResponse.json({error:e.message},{status:500})}}e.s(["GET",()=>P,"dynamic",0,"force-dynamic"],92459);var C=e.i(92459);let R=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v1/chat/history/route",pathname:"/api/v1/chat/history",filename:"route",bundlePath:""},distDir:"./.next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/chat/history/route.ts",nextConfigOutput:"standalone",userland:C}),{workAsyncStorage:A,workUnitAsyncStorage:_,serverHooks:T}=R;function k(){return(0,n.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:_})}async function E(e,t,n){R.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/v1/chat/history/route";m=m.replace(/\/index$/,"")||"/";let y=await R.prepare(e,t,{srcPage:m,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:x,params:b,nextConfig:P,parsedUrl:C,isDraftMode:A,prerenderManifest:_,routerServerContext:T,isOnDemandRevalidate:k,revalidateOnlyGenerated:E,resolvedPathname:$,clientReferenceManifest:D,serverActionsManifest:S}=y,I=(0,i.normalizeAppPath)(m),N=!!(_.dynamicRoutes[I]||_.routes[$]),j=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,C,!1):t.end("This page could not be found"),null);if(N&&!A){let e=!!_.routes[$],t=_.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(P.experimental.adapterPath)return await j();throw new f.NoFallbackError}}let q=null;!N||R.isDev||A||(q="/index"===(q=$)?"/":q);let H=!0===R.isDev||!N,O=N&&!H;S&&D&&(0,a.setManifestsSingleton)({page:m,clientReferenceManifest:D,serverActionsManifest:S});let M=e.method||"GET",B=(0,o.getTracer)(),L=B.getActiveScopeSpan(),U={params:b,prerenderManifest:_,renderOpts:{experimental:{authInterrupts:!!P.experimental.authInterrupts},cacheComponents:!!P.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:P.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,s)=>R.onRequestError(e,t,n,s,T)},sharedContext:{buildId:x}},W=new l.NodeNextRequest(e),F=new l.NodeNextResponse(t),Y=c.NextRequestAdapter.fromNodeNextRequest(W,(0,c.signalFromNodeResponse)(t));try{let a=async e=>R.handle(Y,U).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${M} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${m}`)}),i=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var o,l;let c=async({previousCacheEntry:r})=>{try{if(!i&&k&&E&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await a(s);e.fetchMetrics=U.renderOpts.fetchMetrics;let l=U.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let c=U.renderOpts.collectedTags;if(!N)return await (0,p.sendResponse)(W,F,o,U.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(o.headers);c&&(t[w.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,n=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:O,isOnDemandRevalidate:k})},!1,T),t}},u=await R.handleResponse({req:e,nextConfig:P,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:E,responseGenerator:c,waitUntil:n.waitUntil,isMinimalMode:i});if(!N)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",k?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,g.fromNodeOutgoingHttpHeaders)(u.value.headers);return i&&N||f.delete(w.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(W,F,new Response(u.value.body,{headers:f,status:u.value.status||200})),null};L?await l(L):await B.withPropagatedContext(e.headers,()=>B.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${m}`,kind:o.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof f.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:O,isOnDemandRevalidate:k})},!1,T),N)throw t;return await (0,p.sendResponse)(W,F,new Response(null,{status:500})),null}}e.s(["handler",()=>E,"patchFetch",()=>k,"routeModule",()=>R,"serverHooks",()=>T,"workAsyncStorage",()=>A,"workUnitAsyncStorage",()=>_],32300)},82359,e=>{e.v(e=>Promise.resolve().then(()=>e(17293)))},6384,e=>{e.v(e=>Promise.resolve().then(()=>e(524)))},34561,e=>{e.v(e=>Promise.resolve().then(()=>e(73335)))},17952,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_@puppeteer_browsers_lib_esm_main_83020de3.js"].map(t=>e.l(t))).then(()=>t(78893)))},56955,e=>{e.v(e=>Promise.resolve().then(()=>e(68213)))},11105,e=>{e.v(e=>Promise.resolve().then(()=>e(50227)))},97365,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_1f8a2929._.js","server/chunks/node_modules_f81d3958._.js"].map(t=>e.l(t))).then(()=>t(66560)))},42394,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_1f8a2929._.js","server/chunks/node_modules_151ca6ae._.js"].map(t=>e.l(t))).then(()=>t(78947)))},34844,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_3b486fee._.js","server/chunks/node_modules_yargs_index_mjs_c4f6f97b._.js"].map(t=>e.l(t))).then(()=>t(91919)))},80113,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_yargs_helpers_helpers_mjs_abe15519._.js","server/chunks/node_modules_64199bef._.js"].map(t=>e.l(t))).then(()=>t(25057)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__3167bc4b._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},93846,e=>{"use strict";let t=globalThis.__PROXY_CTX||{workbenchPage:null,browser:null,allWorkbenches:[],activeWindowIdx:0,activeConversationId:null,activeTitle:null,lastActionTimestamp:0};e.s(["default",0,t])},71866,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),i=e.i(61916),s=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),v=e.i(26937),h=e.i(10372),x=e.i(93695);e.i(52474);var m=e.i(220),R=e.i(89171),g=e.i(93846),y=e.i(22734),w=e.i(14747),C=e.i(46786);let E=w.default.join(C.default.homedir(),".gemini","antigravity","brain");async function S(){if(g.default.activeConversationId||g.default.activeTitle||(g.default.activeConversationId=function(){try{if(!y.default.existsSync(E))return null;let e=y.default.readdirSync(E,{withFileTypes:!0}),t=null;for(let r of e){if(!r.isDirectory()||r.name.startsWith("."))continue;let e=w.default.join(E,r.name),a=y.default.statSync(e);(!t||a.mtimeMs>t.mtime)&&(t={id:r.name,mtime:a.mtimeMs})}return t?.id??null}catch{return null}}()),!g.default.activeConversationId&&g.default.activeTitle)return R.NextResponse.json({active:!0,id:null,title:g.default.activeTitle,files:[],mtime:new Date().toISOString()});if(!g.default.activeConversationId)return R.NextResponse.json({active:!1});let e=w.default.join(E,g.default.activeConversationId);if(!y.default.existsSync(e))return g.default.activeConversationId=null,R.NextResponse.json({active:!1});let t=function(e){try{let t=[];for(let r of y.default.readdirSync(e,{recursive:!0,withFileTypes:!0})){if(!r.isFile()||!r.name.endsWith(".md"))continue;let a=r.parentPath||r.path||e,n=w.default.join(a,r.name),i=w.default.relative(e,n).replace(/\\/g,"/");if(i.split("/").some(e=>e.startsWith(".")))continue;let s=y.default.statSync(n);t.push({name:i,size:s.size,mtime:s.mtime.toISOString()})}return t}catch{return[]}}(e),r=function(e){let t=w.default.join(e,"task.md");try{if(y.default.existsSync(t))for(let e of y.default.readFileSync(t,"utf-8").split("\n")){let t=e.trim();if(t.startsWith("# "))return t.slice(2).trim()}}catch{}return null}(e),a=y.default.statSync(e);return R.NextResponse.json({active:!0,id:g.default.activeConversationId,title:r,files:t,mtime:a.mtime.toISOString()})}e.s(["GET",()=>S,"dynamic",0,"force-dynamic"],8956);var T=e.i(8956);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v1/conversations/active/route",pathname:"/api/v1/conversations/active",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/conversations/active/route.ts",nextConfigOutput:"standalone",userland:T}),{workAsyncStorage:A,workUnitAsyncStorage:I,serverHooks:N}=b;function j(){return(0,a.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:I})}async function P(e,t,a){b.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/v1/conversations/active/route";R=R.replace(/\/index$/,"")||"/";let g=await b.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,params:w,nextConfig:C,parsedUrl:E,isDraftMode:S,prerenderManifest:T,routerServerContext:A,isOnDemandRevalidate:I,revalidateOnlyGenerated:N,resolvedPathname:j,clientReferenceManifest:P,serverActionsManifest:O}=g,k=(0,o.normalizeAppPath)(R),q=!!(T.dynamicRoutes[k]||T.routes[j]),_=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,E,!1):t.end("This page could not be found"),null);if(q&&!S){let e=!!T.routes[j],t=T.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(C.experimental.adapterPath)return await _();throw new x.NoFallbackError}}let H=null;!q||b.isDev||S||(H="/index"===(H=j)?"/":H);let U=!0===b.isDev||!q,D=q&&!U;O&&P&&(0,s.setManifestsSingleton)({page:R,clientReferenceManifest:P,serverActionsManifest:O});let M=e.method||"GET",F=(0,i.getTracer)(),$=F.getActiveScopeSpan(),K={params:w,prerenderManifest:T,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:C.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>b.onRequestError(e,t,a,n,A)},sharedContext:{buildId:y}},W=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),L=d.NextRequestAdapter.fromNodeNextRequest(W,(0,d.signalFromNodeResponse)(t));try{let s=async e=>b.handle(L,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${M} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${R}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var i,l;let d=async({previousCacheEntry:r})=>{try{if(!o&&I&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await s(n);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=K.renderOpts.collectedTags;if(!q)return await (0,p.sendResponse)(W,B,i,K.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(i.headers);d&&(t[h.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:I})},!1,A),t}},u=await b.handleResponse({req:e,nextConfig:C,cacheKey:H,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:N,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:o});if(!q)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",I?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let x=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return o&&q||x.delete(h.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||x.get("Cache-Control")||x.set("Cache-Control",(0,v.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(W,B,new Response(u.value.body,{headers:x,status:u.value.status||200})),null};$?await l($):await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${R}`,kind:i.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof x.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:I})},!1,A),q)throw t;return await (0,p.sendResponse)(W,B,new Response(null,{status:500})),null}}e.s(["handler",()=>P,"patchFetch",()=>j,"routeModule",()=>b,"serverHooks",()=>N,"workAsyncStorage",()=>A,"workUnitAsyncStorage",()=>I],71866)}];
1
+ module.exports=[14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},93846,e=>{"use strict";let t=globalThis.__PROXY_CTX||{workbenchPage:null,browser:null,allWorkbenches:[],activeWindowIdx:0,activeConversationId:null,activeTitle:null,lastActionTimestamp:0};e.s(["default",0,t])},71866,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),i=e.i(61916),s=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),v=e.i(26937),h=e.i(10372),x=e.i(93695);e.i(52474);var m=e.i(220),R=e.i(89171),g=e.i(93846),y=e.i(22734),w=e.i(14747),C=e.i(46786);let E=w.default.join(C.default.homedir(),".gemini","antigravity","brain");async function S(){if(g.default.activeConversationId||g.default.activeTitle||(g.default.activeConversationId=function(){try{if(!y.default.existsSync(E))return null;let e=y.default.readdirSync(E,{withFileTypes:!0}),t=null;for(let r of e){if(!r.isDirectory()||r.name.startsWith("."))continue;let e=w.default.join(E,r.name),a=y.default.statSync(e);(!t||a.mtimeMs>t.mtime)&&(t={id:r.name,mtime:a.mtimeMs})}return t?.id??null}catch{return null}}()),!g.default.activeConversationId&&g.default.activeTitle)return R.NextResponse.json({active:!0,id:null,title:g.default.activeTitle,files:[],mtime:new Date().toISOString()});if(!g.default.activeConversationId)return R.NextResponse.json({active:!1});let e=w.default.join(E,g.default.activeConversationId);if(!y.default.existsSync(e))return g.default.activeConversationId=null,R.NextResponse.json({active:!1});let t=function(e){try{let t=[];for(let r of y.default.readdirSync(e,{recursive:!0,withFileTypes:!0})){if(!r.isFile()||!r.name.endsWith(".md"))continue;let a=r.parentPath||r.path||e,n=w.default.join(a,r.name),i=w.default.relative(e,n).replace(/\\/g,"/");if(i.split("/").some(e=>e.startsWith(".")))continue;let s=y.default.statSync(n);t.push({name:i,size:s.size,mtime:s.mtime.toISOString()})}return t}catch{return[]}}(e),r=function(e){let t=w.default.join(e,"task.md");try{if(y.default.existsSync(t))for(let e of y.default.readFileSync(t,"utf-8").split("\n")){let t=e.trim();if(t.startsWith("# "))return t.slice(2).trim()}}catch{}return null}(e),a=y.default.statSync(e);return R.NextResponse.json({active:!0,id:g.default.activeConversationId,title:r,files:t,mtime:a.mtime.toISOString()})}e.s(["GET",()=>S,"dynamic",0,"force-dynamic"],8956);var T=e.i(8956);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v1/conversations/active/route",pathname:"/api/v1/conversations/active",filename:"route",bundlePath:""},distDir:"./.next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/conversations/active/route.ts",nextConfigOutput:"standalone",userland:T}),{workAsyncStorage:A,workUnitAsyncStorage:I,serverHooks:N}=b;function j(){return(0,a.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:I})}async function P(e,t,a){b.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/v1/conversations/active/route";R=R.replace(/\/index$/,"")||"/";let g=await b.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,params:w,nextConfig:C,parsedUrl:E,isDraftMode:S,prerenderManifest:T,routerServerContext:A,isOnDemandRevalidate:I,revalidateOnlyGenerated:N,resolvedPathname:j,clientReferenceManifest:P,serverActionsManifest:O}=g,k=(0,o.normalizeAppPath)(R),q=!!(T.dynamicRoutes[k]||T.routes[j]),_=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,E,!1):t.end("This page could not be found"),null);if(q&&!S){let e=!!T.routes[j],t=T.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(C.experimental.adapterPath)return await _();throw new x.NoFallbackError}}let H=null;!q||b.isDev||S||(H="/index"===(H=j)?"/":H);let U=!0===b.isDev||!q,D=q&&!U;O&&P&&(0,s.setManifestsSingleton)({page:R,clientReferenceManifest:P,serverActionsManifest:O});let M=e.method||"GET",F=(0,i.getTracer)(),$=F.getActiveScopeSpan(),K={params:w,prerenderManifest:T,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:C.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>b.onRequestError(e,t,a,n,A)},sharedContext:{buildId:y}},W=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),L=d.NextRequestAdapter.fromNodeNextRequest(W,(0,d.signalFromNodeResponse)(t));try{let s=async e=>b.handle(L,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${M} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${R}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var i,l;let d=async({previousCacheEntry:r})=>{try{if(!o&&I&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await s(n);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=K.renderOpts.collectedTags;if(!q)return await (0,p.sendResponse)(W,B,i,K.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(i.headers);d&&(t[h.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:I})},!1,A),t}},u=await b.handleResponse({req:e,nextConfig:C,cacheKey:H,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:N,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:o});if(!q)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",I?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let x=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return o&&q||x.delete(h.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||x.get("Cache-Control")||x.set("Cache-Control",(0,v.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(W,B,new Response(u.value.body,{headers:x,status:u.value.status||200})),null};$?await l($):await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${R}`,kind:i.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof x.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:I})},!1,A),q)throw t;return await (0,p.sendResponse)(W,B,new Response(null,{status:500})),null}}e.s(["handler",()=>P,"patchFetch",()=>j,"routeModule",()=>b,"serverHooks",()=>N,"workAsyncStorage",()=>A,"workUnitAsyncStorage",()=>I],71866)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__3fe6d12c._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[53506,e=>{"use strict";var r=e.i(29476),t=e.i(13231),s=e.i(40911),n=e.i(93846);let o=!1,i=null;async function a(){o&&n.default.workbenchPage||(i||(i=(async()=>{try{await (0,r.connectToWorkbench)(n.default),o=!0,l();return}catch(e){s.logger.warn("[CDP Init] Initial connection failed:",e.message)}s.logger.info("[CDP Init] Attempting auto-recovery...");for(let e=1;e<=2;e++){s.logger.info(`[CDP Init] Recovery attempt ${e}/2`);let i=await (0,t.isCdpServerActive)();i.active&&0===i.windowCount?s.logger.warn("[CDP Init] Zombie CDP detected: server active but 0 workbench pages. Killing and restarting..."):i.active?s.logger.info(`[CDP Init] CDP active with ${i.windowCount} window(s). Retrying connection...`):s.logger.warn("[CDP Init] CDP server not reachable. Starting Antigravity with CDP...");let a=await (0,t.startCdpServer)(".",!0);if(!a.success){s.logger.error(`[CDP Init] Auto-recovery failed: ${a.message}`);continue}if(s.logger.info(`[CDP Init] Antigravity restarted: ${a.message}`),await new Promise(e=>setTimeout(e,3e3)),n.default.browser){try{n.default.browser.disconnect()}catch{}n.default.browser=null,n.default.workbenchPage=null,n.default.allWorkbenches=[]}try{await (0,r.connectToWorkbench)(n.default),o=!0,l(),s.logger.info("[CDP Init] Auto-recovery successful! Connected to workbench.");return}catch(r){s.logger.error(`[CDP Init] Recovery attempt ${e} connection failed: ${r.message}`)}}s.logger.error("[CDP Init] All 2 recovery attempts failed. Please start Antigravity manually with --remote-debugging-port=9223"),i=null})()),await i)}function l(){n.default.browser?.on("disconnected",()=>{s.logger.error("[CDP] Browser disconnected. Will reconnect on next request."),o=!1,i=null,n.default.workbenchPage=null,n.default.browser=null,n.default.allWorkbenches=[]}),n.default.workbenchPage?.on("close",()=>{s.logger.warn("[CDP] Workbench page closed. Will reconnect on next request."),o=!1,i=null,n.default.workbenchPage=null})}e.s(["ensureCdpConnection",()=>a])},14747,(e,r,t)=>{r.exports=e.x("path",()=>require("path"))},22734,(e,r,t)=>{r.exports=e.x("fs",()=>require("fs"))},46786,(e,r,t)=>{r.exports=e.x("os",()=>require("os"))},32319,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},18622,(e,r,t)=>{r.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},70406,(e,r,t)=>{r.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,r,t)=>{r.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},93846,e=>{"use strict";let r=globalThis.__PROXY_CTX||{workbenchPage:null,browser:null,allWorkbenches:[],activeWindowIdx:0,activeConversationId:null,activeTitle:null,lastActionTimestamp:0};e.s(["default",0,r])},33405,(e,r,t)=>{r.exports=e.x("child_process",()=>require("child_process"))},40911,e=>{"use strict";let r=new class{level="info";constructor(){this.level=process.env.LOG_LEVEL||"info"}shouldLog(e){let r=["debug","info","warn","error"];return r.indexOf(e)>=r.indexOf(this.level)}debug(e,r){this.shouldLog("debug")&&console.debug(`[DEBUG] ${e}`,r||"")}info(e,r){this.shouldLog("info")&&console.info(`[INFO] ${e}`,r||"")}warn(e,r){this.shouldLog("warn")&&console.warn(`[WARN] ${e}`,r||"")}error(e,r){this.shouldLog("error")&&console.error(`[ERROR] ${e}`,r||"")}};e.s(["logger",0,r])},13231,e=>{"use strict";var r=e.i(33405),t=e.i(24361),s=e.i(22734),n=e.i(14747),o=e.i(40911);let i=(0,t.promisify)(r.exec),a=parseInt(process.env.CDP_PORT||"9223",10);function l(){if(process.env.ANTIGRAVITY_BINARY){let e=process.env.ANTIGRAVITY_BINARY;return(0,s.existsSync)(e)||o.logger.warn(`[ProcessManager] ANTIGRAVITY_BINARY set to "${e}" but file does not exist.`),e}return"/usr/share/antigravity/antigravity"}async function c(){try{await i("killall antigravity 2>/dev/null || true"),o.logger.info("[ProcessManager] Killed existing Antigravity processes."),await new Promise(e=>setTimeout(e,1500))}catch{}}process.platform,process.platform;let u=null;async function d(){try{let e=await fetch(`http://localhost:${a}/json`);if(!e.ok)return{active:!1,windowCount:0,error:`HTTP ${e.status}`};let r=(await e.json()).filter(e=>e.url?.includes("workbench.html")&&!e.url?.includes("jetski"));return{active:!0,windowCount:r.length}}catch(e){return{active:!1,windowCount:0,error:e.message}}}async function g(e=".",t=!1){let i=await d();if(i.active&&i.windowCount>0&&!t)return{success:!0,message:`CDP server already active on port ${a} with ${i.windowCount} window(s).`};t&&await c();let w=l(),p=(0,n.resolve)(e||".");if((w.includes("/")||w.includes("\\"))&&!(0,s.existsSync)(w))return{success:!1,message:`Antigravity binary not found at "${w}". Set the ANTIGRAVITY_BINARY environment variable to the correct path.`};try{if(!(0,s.statSync)(p).isDirectory())return{success:!1,message:`"${p}" is not a directory.`}}catch{return{success:!1,message:`Directory not found: "${p}"`}}try{o.logger.info(`[ProcessManager] Starting Antigravity: ${w} --remote-debugging-port=${a} --new-window "${p}"`),o.logger.info(`[ProcessManager] Platform: ${process.platform}, Binary: ${w}`),(u=(0,r.spawn)(w,[`--remote-debugging-port=${a}`,"--new-window",p],{detached:!0,stdio:"ignore",env:{...process.env},shell:!1,windowsHide:!0})).unref();let e=u.pid;if(u.on("error",e=>{o.logger.error(`[ProcessManager] Antigravity process error: ${e.message}`),u=null}),u.on("exit",e=>{o.logger.info(`[ProcessManager] Antigravity process exited with code ${e}`),u=null}),await v(15e3))return{success:!0,message:`Antigravity started with CDP on port ${a}.`,pid:e||void 0};return{success:!1,message:`Antigravity process started but CDP server did not become available on port ${a} within 15s.`,pid:e||void 0}}catch(e){return o.logger.error(`[ProcessManager] Failed to start Antigravity: ${e.message}`),{success:!1,message:`Failed to start Antigravity: ${e.message}`}}}async function w(e){let t=(0,n.resolve)(e);try{if(!(0,s.statSync)(t).isDirectory())return{success:!1,message:`"${t}" is not a directory. Please provide a folder path.`}}catch{return{success:!1,message:`Directory not found: "${t}". Make sure the path exists.`}}let i=await d(),a=l();if(i.active)try{return o.logger.info(`[ProcessManager] Opening new window for: ${t}`),(0,r.spawn)(a,["--new-window",t],{detached:!0,stdio:"ignore",env:{...process.env},shell:!1,windowsHide:!0}).unref(),await new Promise(e=>setTimeout(e,3e3)),{success:!0,message:`Opened new window for "${t}".`}}catch(e){return{success:!1,message:`Failed to open window: ${e.message}`}}{let r=await g(e,!1);return{success:r.success,message:r.message}}}async function p(e){try{let r=await fetch(`http://localhost:${a}/json/close/${e}`);if(r.ok)return{success:!0,message:"Window closed successfully."};return{success:!1,message:`Failed to close window: HTTP ${r.status}`}}catch(e){return{success:!1,message:`Failed to close window: ${e.message}`}}}async function h(){try{let e=await fetch(`http://localhost:${a}/json`);if(!e.ok)return{targets:[],error:`HTTP ${e.status}`};return{targets:(await e.json()).filter(e=>e.url?.includes("workbench.html")&&!e.url?.includes("jetski")).map(e=>({id:e.id,title:e.title||"Untitled",url:e.url}))}}catch(e){return{targets:[],error:e.message}}}async function v(e){let r=Date.now();for(;Date.now()-r<e;){if((await d()).active)return!0;await new Promise(e=>setTimeout(e,500))}return!1}e.s(["closeWindow",()=>p,"getWindowTargets",()=>h,"isCdpServerActive",()=>d,"openNewWindow",()=>w,"startCdpServer",()=>g])},6461,(e,r,t)=>{r.exports=e.x("zlib",()=>require("zlib"))},524,e=>{"use strict";class r{static create(e){return new Promise((t,s)=>{let n=new WebSocket(e);n.addEventListener("open",()=>t(new r(n))),n.addEventListener("error",s)})}#e;onmessage;onclose;constructor(e){this.#e=e,this.#e.addEventListener("message",e=>{this.onmessage&&this.onmessage.call(null,e.data)}),this.#e.addEventListener("close",()=>{this.onclose&&this.onclose.call(null)}),this.#e.addEventListener("error",()=>{})}send(e){this.#e.send(e)}close(){this.#e.close()}}e.s(["BrowserWebSocketTransport",()=>r])},82359,e=>{e.v(e=>Promise.resolve().then(()=>e(17293)))},6384,e=>{e.v(e=>Promise.resolve().then(()=>e(524)))},34561,e=>{e.v(e=>Promise.resolve().then(()=>e(73335)))},17952,e=>{e.v(r=>Promise.all(["server/chunks/node_modules_@puppeteer_browsers_lib_esm_main_83020de3.js"].map(r=>e.l(r))).then(()=>r(78893)))},56955,e=>{e.v(e=>Promise.resolve().then(()=>e(68213)))},11105,e=>{e.v(e=>Promise.resolve().then(()=>e(50227)))},97365,e=>{e.v(r=>Promise.all(["server/chunks/node_modules_1f8a2929._.js","server/chunks/node_modules_f81d3958._.js"].map(r=>e.l(r))).then(()=>r(66560)))},42394,e=>{e.v(r=>Promise.all(["server/chunks/node_modules_1f8a2929._.js","server/chunks/node_modules_151ca6ae._.js"].map(r=>e.l(r))).then(()=>r(78947)))},34844,e=>{e.v(r=>Promise.all(["server/chunks/node_modules_3b486fee._.js","server/chunks/node_modules_yargs_index_mjs_c4f6f97b._.js"].map(r=>e.l(r))).then(()=>r(91919)))},80113,e=>{e.v(r=>Promise.all(["server/chunks/node_modules_yargs_helpers_helpers_mjs_abe15519._.js","server/chunks/node_modules_64199bef._.js"].map(r=>e.l(r))).then(()=>r(25057)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__4748a9d1._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[6461,(e,t,r)=>{t.exports=e.x("zlib",()=>require("zlib"))},524,e=>{"use strict";class t{static create(e){return new Promise((r,n)=>{let o=new WebSocket(e);o.addEventListener("open",()=>r(new t(o))),o.addEventListener("error",n)})}#e;onmessage;onclose;constructor(e){this.#e=e,this.#e.addEventListener("message",e=>{this.onmessage&&this.onmessage.call(null,e.data)}),this.#e.addEventListener("close",()=>{this.onclose&&this.onclose.call(null)}),this.#e.addEventListener("error",()=>{})}send(e){this.#e.send(e)}close(){this.#e.close()}}e.s(["BrowserWebSocketTransport",()=>t])},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},93846,e=>{"use strict";let t=globalThis.__PROXY_CTX||{workbenchPage:null,browser:null,allWorkbenches:[],activeWindowIdx:0,activeConversationId:null,activeTitle:null,lastActionTimestamp:0};e.s(["default",0,t])},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},40911,e=>{"use strict";let t=new class{level="info";constructor(){this.level=process.env.LOG_LEVEL||"info"}shouldLog(e){let t=["debug","info","warn","error"];return t.indexOf(e)>=t.indexOf(this.level)}debug(e,t){this.shouldLog("debug")&&console.debug(`[DEBUG] ${e}`,t||"")}info(e,t){this.shouldLog("info")&&console.info(`[INFO] ${e}`,t||"")}warn(e,t){this.shouldLog("warn")&&console.warn(`[WARN] ${e}`,t||"")}error(e,t){this.shouldLog("error")&&console.error(`[ERROR] ${e}`,t||"")}};e.s(["logger",0,t])},13231,e=>{"use strict";var t=e.i(33405),r=e.i(24361),n=e.i(22734),o=e.i(14747),s=e.i(40911);let l=(0,r.promisify)(t.exec),i=parseInt(process.env.CDP_PORT||"9223",10);function a(){if(process.env.ANTIGRAVITY_BINARY){let e=process.env.ANTIGRAVITY_BINARY;return(0,n.existsSync)(e)||s.logger.warn(`[ProcessManager] ANTIGRAVITY_BINARY set to "${e}" but file does not exist.`),e}return"/usr/share/antigravity/antigravity"}async function c(){try{await l("killall antigravity 2>/dev/null || true"),s.logger.info("[ProcessManager] Killed existing Antigravity processes."),await new Promise(e=>setTimeout(e,1500))}catch{}}process.platform,process.platform;let u=null;async function d(){try{let e=await fetch(`http://localhost:${i}/json`);if(!e.ok)return{active:!1,windowCount:0,error:`HTTP ${e.status}`};let t=(await e.json()).filter(e=>e.url?.includes("workbench.html")&&!e.url?.includes("jetski"));return{active:!0,windowCount:t.length}}catch(e){return{active:!1,windowCount:0,error:e.message}}}async function p(e=".",r=!1){let l=await d();if(l.active&&l.windowCount>0&&!r)return{success:!0,message:`CDP server already active on port ${i} with ${l.windowCount} window(s).`};r&&await c();let f=a(),g=(0,o.resolve)(e||".");if((f.includes("/")||f.includes("\\"))&&!(0,n.existsSync)(f))return{success:!1,message:`Antigravity binary not found at "${f}". Set the ANTIGRAVITY_BINARY environment variable to the correct path.`};try{if(!(0,n.statSync)(g).isDirectory())return{success:!1,message:`"${g}" is not a directory.`}}catch{return{success:!1,message:`Directory not found: "${g}"`}}try{s.logger.info(`[ProcessManager] Starting Antigravity: ${f} --remote-debugging-port=${i} --new-window "${g}"`),s.logger.info(`[ProcessManager] Platform: ${process.platform}, Binary: ${f}`),(u=(0,t.spawn)(f,[`--remote-debugging-port=${i}`,"--new-window",g],{detached:!0,stdio:"ignore",env:{...process.env},shell:!1,windowsHide:!0})).unref();let e=u.pid;if(u.on("error",e=>{s.logger.error(`[ProcessManager] Antigravity process error: ${e.message}`),u=null}),u.on("exit",e=>{s.logger.info(`[ProcessManager] Antigravity process exited with code ${e}`),u=null}),await w(15e3))return{success:!0,message:`Antigravity started with CDP on port ${i}.`,pid:e||void 0};return{success:!1,message:`Antigravity process started but CDP server did not become available on port ${i} within 15s.`,pid:e||void 0}}catch(e){return s.logger.error(`[ProcessManager] Failed to start Antigravity: ${e.message}`),{success:!1,message:`Failed to start Antigravity: ${e.message}`}}}async function f(e){let r=(0,o.resolve)(e);try{if(!(0,n.statSync)(r).isDirectory())return{success:!1,message:`"${r}" is not a directory. Please provide a folder path.`}}catch{return{success:!1,message:`Directory not found: "${r}". Make sure the path exists.`}}let l=await d(),i=a();if(l.active)try{return s.logger.info(`[ProcessManager] Opening new window for: ${r}`),(0,t.spawn)(i,["--new-window",r],{detached:!0,stdio:"ignore",env:{...process.env},shell:!1,windowsHide:!0}).unref(),await new Promise(e=>setTimeout(e,3e3)),{success:!0,message:`Opened new window for "${r}".`}}catch(e){return{success:!1,message:`Failed to open window: ${e.message}`}}{let t=await p(e,!1);return{success:t.success,message:t.message}}}async function g(e){try{let t=await fetch(`http://localhost:${i}/json/close/${e}`);if(t.ok)return{success:!0,message:"Window closed successfully."};return{success:!1,message:`Failed to close window: HTTP ${t.status}`}}catch(e){return{success:!1,message:`Failed to close window: ${e.message}`}}}async function m(){try{let e=await fetch(`http://localhost:${i}/json`);if(!e.ok)return{targets:[],error:`HTTP ${e.status}`};return{targets:(await e.json()).filter(e=>e.url?.includes("workbench.html")&&!e.url?.includes("jetski")).map(e=>({id:e.id,title:e.title||"Untitled",url:e.url}))}}catch(e){return{targets:[],error:e.message}}}async function w(e){let t=Date.now();for(;Date.now()-t<e;){if((await d()).active)return!0;await new Promise(e=>setTimeout(e,500))}return!1}e.s(["closeWindow",()=>g,"getWindowTargets",()=>m,"isCdpServerActive",()=>d,"openNewWindow",()=>f,"startCdpServer",()=>p])},53506,e=>{"use strict";var t=e.i(29476),r=e.i(13231),n=e.i(40911),o=e.i(93846);let s=!1,l=null;async function i(){s&&o.default.workbenchPage||(l||(l=(async()=>{try{await (0,t.connectToWorkbench)(o.default),s=!0,a();return}catch(e){n.logger.warn("[CDP Init] Initial connection failed:",e.message)}n.logger.info("[CDP Init] Attempting auto-recovery...");for(let e=1;e<=2;e++){n.logger.info(`[CDP Init] Recovery attempt ${e}/2`);let l=await (0,r.isCdpServerActive)();l.active&&0===l.windowCount?n.logger.warn("[CDP Init] Zombie CDP detected: server active but 0 workbench pages. Killing and restarting..."):l.active?n.logger.info(`[CDP Init] CDP active with ${l.windowCount} window(s). Retrying connection...`):n.logger.warn("[CDP Init] CDP server not reachable. Starting Antigravity with CDP...");let i=await (0,r.startCdpServer)(".",!0);if(!i.success){n.logger.error(`[CDP Init] Auto-recovery failed: ${i.message}`);continue}if(n.logger.info(`[CDP Init] Antigravity restarted: ${i.message}`),await new Promise(e=>setTimeout(e,3e3)),o.default.browser){try{o.default.browser.disconnect()}catch{}o.default.browser=null,o.default.workbenchPage=null,o.default.allWorkbenches=[]}try{await (0,t.connectToWorkbench)(o.default),s=!0,a(),n.logger.info("[CDP Init] Auto-recovery successful! Connected to workbench.");return}catch(t){n.logger.error(`[CDP Init] Recovery attempt ${e} connection failed: ${t.message}`)}}n.logger.error("[CDP Init] All 2 recovery attempts failed. Please start Antigravity manually with --remote-debugging-port=9223"),l=null})()),await l)}function a(){o.default.browser?.on("disconnected",()=>{n.logger.error("[CDP] Browser disconnected. Will reconnect on next request."),s=!1,l=null,o.default.workbenchPage=null,o.default.browser=null,o.default.allWorkbenches=[]}),o.default.workbenchPage?.on("close",()=>{n.logger.warn("[CDP] Workbench page closed. Will reconnect on next request."),s=!1,l=null,o.default.workbenchPage=null})}e.s(["ensureCdpConnection",()=>i])},41444,e=>{"use strict";function t(e){return new Promise(t=>setTimeout(t,e))}e.s(["sleep",()=>t])},40955,15198,e=>{"use strict";var t=e.i(22734),r=e.i(14747);let n={chatInput:'#antigravity\\.agentSidePanelInputBox [contenteditable="true"][role="textbox"]',messageList:"#conversation > div:first-child .mx-auto.w-full",conversation:"#conversation",spinner:".antigravity-agent-side-panel .animate-spin"};e.s(["SELECTORS",0,n],15198);let o=r.default.join("/tmp","proxy-debug-state.json");async function s(e){if(!e.workbenchPage)return{isRunning:!1,turnCount:0,stepGroupCount:0,thinking:[],toolCalls:[],responses:[],notifications:[],error:null,fileChanges:[],lastTurnResponseHTML:""};let r=await e.workbenchPage.evaluate(e=>{let t=e=>(e?.getAttribute?e.getAttribute("class"):"")||"",r=document.querySelector(".antigravity-agent-side-panel");if(!r)return{isRunning:!1,turnCount:0,stepGroupCount:0,thinking:[],toolCalls:[],responses:[],notifications:[],error:null,fileChanges:[],lastTurnResponseHTML:""};let n=!1,o=!1,s=document.querySelector("#antigravity\\.agentSidePanelInputBox");if(s||(s=r.querySelector('[id*="InputBox"]')),s){let e=s.closest(".flex")||s.parentElement?.parentElement||s.parentElement;if(e){window.__proxyInputBoxHTML=e.outerHTML;let t=e.querySelector('[data-tooltip-id*="send"]')||e.querySelector('[data-tooltip-id*="cancel"]');if(t){let e=(t.getAttribute("data-tooltip-id")||"").toLowerCase(),r=t.innerHTML||"",s=e.includes("cancel")||r.includes("bg-red")||r.includes("rounded-xs")||r.match(/lucide-square(?:[^a-z0-9-]|$)/i),l=!s&&(e.includes("send")||r.includes("lucide-arrow-up")||r.includes("lucide-send"));s?(n=!0,o=!0):l&&(n=!1,o=!0)}if(!o){let t=e.querySelectorAll("button"),r=!1,l=!1;for(let e of t){let t=e.innerHTML||"",n=(e.getAttribute("aria-label")||"").toLowerCase(),o=(e.textContent||"").trim().toLowerCase(),s=(e.getAttribute("data-tooltip-id")||"").toLowerCase();(t.match(/lucide-square(?:[^a-z0-9-]|$)/i)||t.includes("lucide-circle-stop")||t.includes("lucide-octagon")||n.includes("stop")||n.includes("cancel")||"stop"===o||s.includes("stop"))&&(r=!0),(t.includes("lucide-send")||t.includes("lucide-arrow-up")||t.includes("lucide-arrow-right")||t.includes("codicon-send")||t.includes("lucide-corner-down-left")||n.includes("send")||n.includes("submit")||"send"===o||s.includes("send"))&&(l=!0)}if(r)n=!0,o=!0;else if(l)n=!1,o=!0;else{let e=s?.querySelector('[data-tooltip-id*="send"]');n=!e||(e.getAttribute("data-tooltip-id")||"").toLowerCase().includes("cancel"),o=!0}}}}if(!o){for(let o of r.querySelectorAll(e)){let e=o,r=!1;for(;e;){let n=t(e);if(n.includes("invisible")||n.includes("opacity-0")){r=!0;break}e=e.parentElement}if(!r){n=!0;break}}if(!n)for(let e of r.querySelectorAll("button")){let t=(e.getAttribute("aria-label")||"").toLowerCase(),r=(e.textContent?.trim()||"").toLowerCase();if(("stop"===r||"abort"===r||t.includes("stop")||t.includes("abort")||t.includes("interrupt"))&&"none"!==getComputedStyle(e).display&&"hidden"!==getComputedStyle(e).visibility){n=!0;break}}}let l=r.querySelector("#conversation")||document.querySelector("#conversation"),i=l?.querySelector(".overflow-y-auto"),a=i?.querySelector(".mx-auto"),c=a?Array.from(a.children):[],u=c.length,d=c.length>0?c[c.length-1]:null,p=d?.querySelector(".relative.flex.flex-col.gap-y-3")||d,f=p?Array.from(p.children):[],g=f.length,m=d||r,w=["run","proceed","approve","allow","yes","accept","continue","save","confirm","deny","reject","cancel","no","allow once","allow this conversation"],h=["relocate","ask every time","show in explorer","open in editor","copy path","reveal"],y=e=>{if(!e)return!1;let t=e.trim().toLowerCase();return!h.some(e=>t===e||t.startsWith(e))&&w.some(e=>t===e||t.startsWith(e))},x=[];for(let e of Array.from(m.querySelectorAll("button")).filter(e=>e.textContent?.trim().startsWith("Thought for")))x.push({time:e.textContent.trim()});let v=[],b=m.querySelectorAll(".flex.flex-col.gap-2.border.rounded-lg.my-1"),C=window.__proxyToolCounter||0;for(let e of b){e.dataset.proxyToolId||(e.dataset.proxyToolId=String(C++));let t=e.dataset.proxyToolId,r=e.querySelector(".mb-1.px-2.py-1.text-sm"),n=r?.querySelector("span.opacity-60"),o=n?.textContent?.trim()||"",s=e.querySelector("span.font-mono.text-sm"),l=s?.textContent?.trim()||"",i="",a=e.querySelector("pre.whitespace-pre-wrap");if(a){let e=a.textContent?.trim()||"",t=e.indexOf("$");-1!==t&&(i=e.substring(t+1).trim())}let c=null;for(let t of e.querySelectorAll("span, div")){let e=t.textContent?.trim()||"";if(e.startsWith("Exit code")){c=e;break}}let u=Array.from(e.querySelectorAll("button")),d=u.some(e=>e.textContent?.trim()==="Cancel"),p=u.map(e=>e.textContent?.trim()||"").filter(y),f="unknown",g=o.toLowerCase();g.includes("command")?f="command":g.includes("file")||g.includes("edit")||g.includes("creat")||g.includes("writ")?f="file":g.includes("search")||g.includes("grep")?f="search":g.includes("read")||g.includes("view")?f="read":g.includes("brows")&&(f="browser");let m=e.querySelector(".component-shared-terminal"),w="";if(m){let e=m.querySelector(".xterm-rows")||m.querySelector(".xterm-screen")||m.querySelector('[class*="xterm"]');e&&(w=e.textContent?.substring(0,500)||""),w||(w=m.textContent?.substring(0,500)||"")}v.push({id:t,status:o,type:f,path:l,command:i||null,exitCode:c,hasCancelBtn:d,footerButtons:p,hasTerminal:!!m,terminalOutput:w||null})}window.__proxyToolCounter=C;let S=m.querySelectorAll(".flex.flex-col.space-y-2 > .flex.flex-row:not(.my-2)"),A=/^(Edited|Created|Analyzed|Read|Viewed|Wrote|Replaced|Searching|Deleted|Moved|Renamed|MCP Tool)/i;for(let e of S)try{let t=e.textContent?.trim()||"",r=t.match(A);if(!r)continue;let n=r[1];e.dataset.proxyToolId||(e.dataset.proxyToolId=String(C++));let o=e.dataset.proxyToolId,s=Array.from(e.querySelectorAll("span")),l="",i=null,a=null,c=null,u=null,d=null,p=null;if(n.startsWith("MCP")){let r=e.querySelector(".flex.flex-row.items-center.gap-1.overflow-hidden");if(r){let e=[];for(let t of r.childNodes)3===t.nodeType&&e.push(t.textContent.trim());p=e.join("").trim()||null}if(!p){let e=t.indexOf(":");if(e>-1){let r=t.substring(e+1).trim(),n=r.search(/\n|Show|Ran/);p=n>-1?r.substring(0,n).trim():r.substring(0,60).trim()}}l=p||"";let n=s.filter(e=>(e.className||"").startsWith("mtk"));n.length>0&&(u=n.map(e=>e.textContent).join("").trim()).length>500&&(u=u.substring(0,500)+"…");let o=s.find(e=>e.textContent?.trim()==="Output");if(o){let e=o.closest(".flex.flex-col")||o.parentElement;if(e){let t=e.textContent||"",r=t.indexOf("Output");r>-1&&(d=t.substring(r+6).trim()).length>500&&(d=d.substring(0,500)+"…")}}}else{let e=s.find(e=>{let t=e.className||"";return t.includes("inline-flex")&&t.includes("items-center")});l=e?.textContent?.trim()||"";let t=s.find(e=>(e.className||"").includes("text-green"));i=t?.textContent?.trim()||null;let r=s.find(e=>(e.className||"").includes("text-red"));a=r?.textContent?.trim()||null;let n=s.find(e=>/^#L\d/.test(e.textContent?.trim()||""));c=n?.textContent?.trim()||null}let f="file",g=n.toLowerCase();g.includes("search")||g.includes("grep")?f="search":g.includes("read")||g.includes("view")||g.includes("analyz")?f="read":g.startsWith("mcp")&&(f="mcp");let m=Array.from(e.querySelectorAll("button")),w=e.nextElementSibling;if(w)for(let e of Array.from(w.querySelectorAll("button"))){let t=(e.textContent||"").trim().toLowerCase();y(t)&&m.push(e)}let h=(m=[...new Set(m)]).map(e=>e.textContent?.trim()||"").filter(y),x=h.some(e=>"cancel"===e.toLowerCase());v.push({id:o,status:n,type:f,path:l,command:null,exitCode:null,hasCancelBtn:x,footerButtons:h,hasTerminal:!1,terminalOutput:null,additions:i,deletions:a,lineRange:c,mcpToolName:p,mcpArgs:u,mcpOutput:d})}catch{}window.__proxyToolCounter=C;try{for(let e of r.querySelectorAll(".flex.flex-col.space-y-2 > .flex.flex-row:not(.my-2)")){let t=e,r=Array.from(t.querySelectorAll("button")).map(e=>e.textContent?.trim()||"").filter(Boolean);if(!r.some(e=>/^(allow|deny|allow once|allow this conversation)$/i.test(e))||t.dataset?.proxyToolId&&v.some(e=>e.id===t.dataset.proxyToolId&&e.footerButtons.length>0))continue;let n=r.filter(y);if(0===n.length)continue;let o=[...v].reverse().find(e=>/^(Analyzed|Read|Viewed)/i.test(e.status));if(o&&0===o.footerButtons.length)o.footerButtons=n,o.hasCancelBtn=n.some(e=>"deny"===e.toLowerCase()||"cancel"===e.toLowerCase());else{t.dataset.proxyToolId||(t.dataset.proxyToolId=String(window.__proxyToolCounter++));let e=(t.textContent||"").match(/access to\s+(.+?)(?:\?|$)/i),r=e?e[1].trim():"";v.push({id:t.dataset.proxyToolId,status:"Permission Required",type:"read",path:r,command:null,exitCode:null,hasCancelBtn:!0,footerButtons:n,hasTerminal:!1,terminalOutput:null,additions:null,deletions:null,lineRange:null,mcpToolName:null,mcpArgs:null,mcpOutput:null})}}}catch{}if(!n&&v.some(e=>e.hasCancelBtn&&!e.exitCode)&&(n=!0),!n){let e=f[f.length-1];if(e){for(let r of e.querySelectorAll(".animate-spin")){if(r.classList.contains("w-4")&&r.classList.contains("h-4"))continue;let o=r,s=!1;for(;o&&o!==e;){let e=t(o);if(e.includes("invisible")||e.includes("opacity-0")||e.includes("hidden")){s=!0;break}o=o.parentElement}if(!s){n=!0;break}}if(!n)for(let r of e.querySelectorAll(".animate-pulse, .in-progress-checkbox, .typing-indicator")){let o=r,s=!1;for(;o&&o!==e;){let e=t(o);if(e.includes("invisible")||e.includes("opacity-0")||e.includes("hidden")){s=!0;break}o=o.parentElement}if(!s){n=!0;break}}if(!n)for(let r of e.querySelectorAll('[class*="text-sm"][class*="opacity"]')){if(t(r).includes("invisible"))continue;let e=(r.textContent||"").toLowerCase();if(e.includes("running")||e.includes("progress")||e.includes("navigat")||e.includes("executing")||e.includes("analyzing")||e.includes("processing")||e.includes("subagent")||e.includes("browser")){n=!0;break}}}}let T=[];for(let e of m.querySelectorAll(".notify-user-container")){let t=e.cloneNode(!0);t.querySelectorAll("style, script").forEach(e=>e.remove()),t.querySelectorAll('svg.cursor-pointer, [class*="cursor-pointer"][class*="opacity-70"], button[class*="opacity-70"]').forEach(e=>e.remove());let r=t.innerHTML?.trim();r&&T.push(r)}let P=[],k="",_=Array.from(m.querySelectorAll(".leading-relaxed.select-text")).filter(e=>{let r=e.parentElement,n=0;for(;r&&r!==m&&n<10;){if(t(r).includes("max-h-0"))return!1;r=r.parentElement,n++}return!!e.textContent?.trim()});for(let e of _){let t=e.cloneNode(!0);t.querySelectorAll("style, script").forEach(e=>e.remove()),t.querySelectorAll('svg.cursor-pointer, [class*="cursor-pointer"][class*="opacity-70"], button[class*="opacity-70"]').forEach(e=>e.remove());let r=t.innerHTML?.trim();r&&P.push(r)}_.length>0&&(k=_[_.length-1].innerHTML||"");let q=null,L=r.textContent||"";for(let e of["Agent terminated due to error","error persists","start a new conversation"])if(L.includes(e)){let e,t=document.createTreeWalker(r,NodeFilter.SHOW_TEXT,null);for(;e=t.nextNode();)if(e.textContent.includes("Agent terminated")){q=e.textContent.trim();break}q||(q="[Agent terminated due to error]");break}let I=[];for(let e of r.querySelectorAll("svg.lucide-file-diff")){let t=e.closest(".flex.items-center");if(t){let e=t.querySelector("span");e&&I.push({fileName:e.textContent?.trim()||"",type:"diff"})}}return{isRunning:n,turnCount:u,stepGroupCount:g,thinking:x,toolCalls:v,responses:P,notifications:T,error:q,fileChanges:I,lastTurnResponseHTML:k,inputBoxHTML:window.__proxyInputBoxHTML||""}},n.spinner);try{let e={timestamp:new Date().toISOString(),isRunning:r.isRunning,turnCount:r.turnCount,toolCallsCount:r.toolCalls.length,responsesCount:r.responses.length,rawLastTurnResponseHTML:r.lastTurnResponseHTML,extractedResponses:r.responses,toolCalls:r.toolCalls,thinking:r.thinking,notifications:r.notifications,error:r.error,inputBoxHTML:r.inputBoxHTML||""};t.default.writeFileSync(o,JSON.stringify(e,null,2))}catch(e){console.error("Failed to write debug file",e)}return r}e.s(["getFullAgentState",()=>s],40955)},23099,e=>{"use strict";var t=e.i(15198),r=e.i(41444),n=e.i(40911);async function o(e,o){if(!e.workbenchPage)throw Error("Not connected to Antigravity");n.logger.info(`[Chat] Sending message (${o.length} chars)...`),await e.workbenchPage.click(t.SELECTORS.chatInput),await (0,r.sleep)(200),await e.workbenchPage.evaluate(e=>{let t=document.querySelector(e);t&&(t.textContent="",t.focus())},t.SELECTORS.chatInput),await e.workbenchPage.keyboard.type(o),await (0,r.sleep)(300),await e.workbenchPage.keyboard.press("Enter"),n.logger.info("[Chat] Sent.")}e.s(["sendMessage",()=>o])},82359,e=>{e.v(e=>Promise.resolve().then(()=>e(17293)))},6384,e=>{e.v(e=>Promise.resolve().then(()=>e(524)))},34561,e=>{e.v(e=>Promise.resolve().then(()=>e(73335)))},17952,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_@puppeteer_browsers_lib_esm_main_83020de3.js"].map(t=>e.l(t))).then(()=>t(78893)))},56955,e=>{e.v(e=>Promise.resolve().then(()=>e(68213)))},11105,e=>{e.v(e=>Promise.resolve().then(()=>e(50227)))},97365,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_1f8a2929._.js","server/chunks/node_modules_f81d3958._.js"].map(t=>e.l(t))).then(()=>t(66560)))},42394,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_1f8a2929._.js","server/chunks/node_modules_151ca6ae._.js"].map(t=>e.l(t))).then(()=>t(78947)))},34844,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_3b486fee._.js","server/chunks/node_modules_yargs_index_mjs_c4f6f97b._.js"].map(t=>e.l(t))).then(()=>t(91919)))},80113,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_yargs_helpers_helpers_mjs_abe15519._.js","server/chunks/node_modules_64199bef._.js"].map(t=>e.l(t))).then(()=>t(25057)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__48d5e6c6._.js.map