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.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +2 -2
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/api/v1/artifacts/active/route.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/artifacts/active/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/changes/active/route.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/changes/active/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/action/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/chat/action/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/agent/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/chat/agent/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/approve/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/chat/approve/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/history/route.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/history/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/mode/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/chat/mode/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/new/route.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/new/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/reject/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/chat/reject/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/route.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/state/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/chat/state/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/stream/route.js +4 -4
- package/.next/standalone/.next/server/app/api/v1/chat/stream/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/conversations/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/conversations/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/conversations/select/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/conversations/select/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/debug/dom/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/debug/dom/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/debug/scrape/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/debug/scrape/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/health/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/health/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/windows/cdp-start/route.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/windows/cdp-start/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/windows/cdp-status/route.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/windows/cdp-status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/windows/close/route.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/windows/close/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/windows/open/route.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/windows/open/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/windows/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/windows/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/windows/select/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/windows/select/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0623e8dd._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__082ca825._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__09cb0713._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__15ab656d._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1bfbe922._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1cbbd160._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__3167bc4b._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__3fe6d12c._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__4748a9d1._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__48d5e6c6._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__65bc6b06._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__707a23f4._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__7c61d58a._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__7fe447ed._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__83b2c7ab._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__87373812._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__8b04e711._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__8e1d0cab._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9a1969e6._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9e4a0996._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__aa220d3c._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__bf898b44._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c696771d._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__cd7ccfdd._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d06d72f7._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__dc1db6cb._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e9181374._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__edd110e7._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__f54bea3d._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__f882d583._.js +3 -0
- package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0272adf7.js +1 -1
- package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0b1e64d7.js +1 -1
- package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_d6a474cc.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_657ecbe9._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_939145a4._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_7f45f9bf.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_f21d913a._.js +1 -1
- package/.next/standalone/.next/server/pages/500.html +2 -2
- package/.next/standalone/lib/cdp/process-manager.ts +37 -13
- package/.next/standalone/lib/init.ts +93 -17
- package/.next/standalone/package-lock.json +2 -2
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d31b133._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__133ac672._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1535be2d._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ee7d416._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__25f5f8ec._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__26662154._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__2f4a0b79._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__4b17d628._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__4c540a38._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__4d161104._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__53c4f34d._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__68965284._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__851f6b5a._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9166d84a._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__94275f7f._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9122673._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c34d50c8._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d13bbe3c._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d172e6aa._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d5818e20._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__db7b3604._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__eb9ef4db._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__fabd57e0._.js +0 -3
- /package/.next/static/{standalone-build → e0cBbGO5qgXLed5_og5Y_}/_buildManifest.js +0 -0
- /package/.next/static/{standalone-build → e0cBbGO5qgXLed5_og5Y_}/_clientMiddlewareManifest.json +0 -0
- /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),o=e.i(93846);let s=!1,i=null;async function l(){s&&o.default.workbenchPage||(i||(i=(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 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 l=await (0,r.startCdpServer)(".",!0);if(!l.success){n.logger.error(`[CDP Init] Auto-recovery failed: ${l.message}`);continue}if(n.logger.info(`[CDP Init] Antigravity restarted: ${l.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"),i=null})()),await i)}function a(){o.default.browser?.on("disconnected",()=>{n.logger.error("[CDP] Browser disconnected. Will reconnect on next request."),s=!1,i=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,i=null,o.default.workbenchPage=null})}e.s(["ensureCdpConnection",()=>l])},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),o=e.i(14747),s=e.i(40911);let i=(0,r.promisify)(t.exec),l=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 i("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:${l}/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 ${l} with ${i.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=${l} --new-window "${g}"`),s.logger.info(`[ProcessManager] Platform: ${process.platform}, Binary: ${f}`),(u=(0,t.spawn)(f,[`--remote-debugging-port=${l}`,"--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 m(15e3))return{success:!0,message:`Antigravity started with CDP on port ${l}.`,pid:e||void 0};return{success:!1,message:`Antigravity process started but CDP server did not become available on port ${l} 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 i=await d(),l=a();if(i.active)try{return s.logger.info(`[ProcessManager] Opening new window for: ${r}`),(0,t.spawn)(l,["--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:${l}/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:${l}/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 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])},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),i=!s&&(e.includes("send")||r.includes("lucide-arrow-up")||r.includes("lucide-send"));s?(n=!0,o=!0):i&&(n=!1,o=!0)}if(!o){let t=e.querySelectorAll("button"),r=!1,i=!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"))&&(i=!0)}if(r)n=!0,o=!0;else if(i)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 i=r.querySelector("#conversation")||document.querySelector("#conversation"),l=i?.querySelector(".overflow-y-auto"),a=l?.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,h=d||r,m=["run","proceed","approve","allow","yes","accept","continue","save","confirm","deny","reject","cancel","no","allow once","allow this conversation"],w=["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!w.some(e=>t===e||t.startsWith(e))&&m.some(e=>t===e||t.startsWith(e))},x=[];for(let e of Array.from(h.querySelectorAll("button")).filter(e=>e.textContent?.trim().startsWith("Thought for")))x.push({time:e.textContent.trim()});let v=[],C=h.querySelectorAll(".flex.flex-col.gap-2.border.rounded-lg.my-1"),b=window.__proxyToolCounter||0;for(let e of C){e.dataset.proxyToolId||(e.dataset.proxyToolId=String(b++));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"),i=s?.textContent?.trim()||"",l="",a=e.querySelector("pre.whitespace-pre-wrap");if(a){let e=a.textContent?.trim()||"",t=e.indexOf("$");-1!==t&&(l=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 h=e.querySelector(".component-shared-terminal"),m="";if(h){let e=h.querySelector(".xterm-rows")||h.querySelector(".xterm-screen")||h.querySelector('[class*="xterm"]');e&&(m=e.textContent?.substring(0,500)||""),m||(m=h.textContent?.substring(0,500)||"")}v.push({id:t,status:o,type:f,path:i,command:l||null,exitCode:c,hasCancelBtn:d,footerButtons:p,hasTerminal:!!h,terminalOutput:m||null})}window.__proxyToolCounter=b;let A=h.querySelectorAll(".flex.flex-col.space-y-2 > .flex.flex-row:not(.my-2)"),S=/^(Edited|Created|Analyzed|Read|Viewed|Wrote|Replaced|Searching|Deleted|Moved|Renamed|MCP Tool)/i;for(let e of A)try{let t=e.textContent?.trim()||"",r=t.match(S);if(!r)continue;let n=r[1];e.dataset.proxyToolId||(e.dataset.proxyToolId=String(b++));let o=e.dataset.proxyToolId,s=Array.from(e.querySelectorAll("span")),i="",l=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()}}i=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")});i=e?.textContent?.trim()||"";let t=s.find(e=>(e.className||"").includes("text-green"));l=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 h=Array.from(e.querySelectorAll("button")),m=e.nextElementSibling;if(m)for(let e of Array.from(m.querySelectorAll("button"))){let t=(e.textContent||"").trim().toLowerCase();y(t)&&h.push(e)}let w=(h=[...new Set(h)]).map(e=>e.textContent?.trim()||"").filter(y),x=w.some(e=>"cancel"===e.toLowerCase());v.push({id:o,status:n,type:f,path:i,command:null,exitCode:null,hasCancelBtn:x,footerButtons:w,hasTerminal:!1,terminalOutput:null,additions:l,deletions:a,lineRange:c,mcpToolName:p,mcpArgs:u,mcpOutput:d})}catch{}window.__proxyToolCounter=b;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 R=[];for(let e of h.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&&R.push(r)}let T=[],P="",k=Array.from(h.querySelectorAll(".leading-relaxed.select-text")).filter(e=>{let r=e.parentElement,n=0;for(;r&&r!==h&&n<10;){if(t(r).includes("max-h-0"))return!1;r=r.parentElement,n++}return!!e.textContent?.trim()});for(let e of k){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)}k.length>0&&(P=k[k.length-1].innerHTML||"");let _=null,q=r.textContent||"";for(let e of["Agent terminated due to error","error persists","start a new conversation"])if(q.includes(e)){let e,t=document.createTreeWalker(r,NodeFilter.SHOW_TEXT,null);for(;e=t.nextNode();)if(e.textContent.includes("Agent terminated")){_=e.textContent.trim();break}_||(_="[Agent terminated due to error]");break}let E=[];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&&E.push({fileName:e.textContent?.trim()||"",type:"diff"})}}return{isRunning:n,turnCount:u,stepGroupCount:g,thinking:x,toolCalls:v,responses:T,notifications:R,error:_,fileChanges:E,lastTurnResponseHTML:P,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])},63929,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),o=e.i(59756),s=e.i(61916),i=e.i(74677),l=e.i(69741),a=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 w=e.i(220),y=e.i(89171),x=e.i(53506),v=e.i(93846),C=e.i(23099),b=e.i(40955),A=e.i(41444);async function S(e){if(await (0,x.ensureCdpConnection)(),!v.default.workbenchPage)return y.NextResponse.json({error:"Not connected to Antigravity"},{status:503});let{message:t}=await e.json();if(!t)return y.NextResponse.json({error:"message is required"},{status:400});try{await (0,C.sendMessage)(v.default,t);let e=Date.now(),r=0,n=!1,o=await (0,b.getFullAgentState)(v.default),s=o.responses.length+o.notifications.length;for(let e=0;e<40;e++){await (0,A.sleep)(300);let e=await (0,b.getFullAgentState)(v.default);if(e.isRunning){n=!0;break}if(e.responses.length+e.notifications.length>s){n=!0,await (0,A.sleep)(500);let e=await (0,b.getFullAgentState)(v.default);if(!e.isRunning){let t=e.notifications.length>0?e.notifications[e.notifications.length-1]:e.responses.length>0?e.responses[e.responses.length-1]:"";return y.NextResponse.json({response:t})}break}}if(!n){let e=await (0,b.getFullAgentState)(v.default),t=e.responses.length>0?e.responses[e.responses.length-1]:"[Agent did not respond]";return y.NextResponse.json({response:t})}for(;Date.now()-e<18e4;){let e=await (0,b.getFullAgentState)(v.default);if(e.error)return y.NextResponse.json({response:e.error});if(e.isRunning)r=0;else if(++r>=3){let t=e.notifications.length>0?e.notifications[e.notifications.length-1]:e.responses.length>0?e.responses[e.responses.length-1]:"[Agent did not produce a response]";return y.NextResponse.json({response:t})}await (0,A.sleep)(500)}let i=await (0,b.getFullAgentState)(v.default),l=i.responses.length>0?i.responses[i.responses.length-1]:"[Timeout: No response received]";return y.NextResponse.json({response:l})}catch(e){return y.NextResponse.json({error:e.message},{status:500})}}e.s(["POST",()=>S,"dynamic",0,"force-dynamic"],95309);var R=e.i(95309);let T=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v1/chat/route",pathname:"/api/v1/chat",filename:"route",bundlePath:""},distDir:"./.next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/chat/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:P,workUnitAsyncStorage:k,serverHooks:_}=T;function q(){return(0,n.patchFetch)({workAsyncStorage:P,workUnitAsyncStorage:k})}async function E(e,t,n){T.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/v1/chat/route";y=y.replace(/\/index$/,"")||"/";let x=await T.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:v,params:C,nextConfig:b,parsedUrl:A,isDraftMode:S,prerenderManifest:R,routerServerContext:P,isOnDemandRevalidate:k,revalidateOnlyGenerated:_,resolvedPathname:q,clientReferenceManifest:E,serverActionsManifest:I}=x,N=(0,l.normalizeAppPath)(y),L=!!(R.dynamicRoutes[N]||R.routes[q]),$=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,A,!1):t.end("This page could not be found"),null);if(L&&!S){let e=!!R.routes[q],t=R.dynamicRoutes[N];if(t&&!1===t.fallback&&!e){if(b.experimental.adapterPath)return await $();throw new m.NoFallbackError}}let j=null;!L||T.isDev||S||(j="/index"===(j=q)?"/":j);let O=!0===T.isDev||!L,D=L&&!O;I&&E&&(0,i.setManifestsSingleton)({page:y,clientReferenceManifest:E,serverActionsManifest:I});let M=e.method||"GET",H=(0,s.getTracer)(),B=H.getActiveScopeSpan(),W={params:C,prerenderManifest:R,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:O,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:b.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,o)=>T.onRequestError(e,t,n,o,P)},sharedContext:{buildId:v}},F=new a.NodeNextRequest(e),U=new a.NodeNextResponse(t),G=c.NextRequestAdapter.fromNodeNextRequest(F,(0,c.signalFromNodeResponse)(t));try{let i=async e=>T.handle(G,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.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} ${y}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),a=async o=>{var s,a;let c=async({previousCacheEntry:r})=>{try{if(!l&&k&&_&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(o);e.fetchMetrics=W.renderOpts.fetchMetrics;let a=W.renderOpts.pendingWaitUntil;a&&n.waitUntil&&(n.waitUntil(a),a=void 0);let c=W.renderOpts.collectedTags;if(!L)return await (0,p.sendResponse)(F,U,s,W.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.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:w.CachedRouteKind.APP_ROUTE,status:s.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:y,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:k})},!1,P),t}},u=await T.handleResponse({req:e,nextConfig:b,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:R,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:_,responseGenerator:c,waitUntil:n.waitUntil,isMinimalMode:l});if(!L)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(a=u.value)?void 0:a.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",k?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return l&&L||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)(F,U,new Response(u.value.body,{headers:m,status:u.value.status||200})),null};B?await a(B):await H.withPropagatedContext(e.headers,()=>H.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${y}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},a))}catch(t){if(t instanceof m.NoFallbackError||await T.onRequestError(e,t,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:k})},!1,P),L)throw t;return await (0,p.sendResponse)(F,U,new Response(null,{status:500})),null}}e.s(["handler",()=>E,"patchFetch",()=>q,"routeModule",()=>T,"serverHooks",()=>_,"workAsyncStorage",()=>P,"workUnitAsyncStorage",()=>k],63929)},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__65bc6b06._.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])},11043,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(13231),x=e.i(53506),P=e.i(93846),b=e.i(29476);async function R(e){let{projectDir:t}=await e.json().catch(()=>({}));if(!t||"string"!=typeof t||""===t.trim())return m.NextResponse.json({success:!1,message:"projectDir is required and must be a non-empty string."},{status:400});try{let e=await (0,y.openNewWindow)(t.trim());if(e.success)try{await (0,x.ensureCdpConnection)(),await (0,b.discoverWorkbenches)(P.default)}catch{}return m.NextResponse.json(e,{status:e.success?200:500})}catch(e){return m.NextResponse.json({success:!1,message:e.message},{status:500})}}e.s(["POST",()=>R,"dynamic",0,"force-dynamic"],52242);var C=e.i(52242);let _=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v1/windows/open/route",pathname:"/api/v1/windows/open",filename:"route",bundlePath:""},distDir:"./.next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/windows/open/route.ts",nextConfigOutput:"standalone",userland:C}),{workAsyncStorage:A,workUnitAsyncStorage:k,serverHooks:T}=_;function E(){return(0,s.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:k})}async function $(e,t,s){_.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/v1/windows/open/route";m=m.replace(/\/index$/,"")||"/";let y=await _.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:C,prerenderManifest:A,routerServerContext:k,isOnDemandRevalidate:T,revalidateOnlyGenerated:E,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&&!C){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||_.isDev||C||(O="/index"===(O=$)?"/":O);let q=!0===_.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)=>_.onRequestError(e,t,s,n,k)},sharedContext:{buildId:x}},F=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),K=c.NextRequestAdapter.fromNodeNextRequest(F,(0,c.signalFromNodeResponse)(t));try{let a=async e=>_.handle(K,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&&T&&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(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 _.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:T})},!1,k),t}},u=await _.handleResponse({req:e,nextConfig:b,cacheKey:O,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:E,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",T?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),C&&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 _.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:T})},!1,k),N)throw t;return await (0,p.sendResponse)(F,B,new Response(null,{status:500})),null}}e.s(["handler",()=>$,"patchFetch",()=>E,"routeModule",()=>_,"serverHooks",()=>T,"workAsyncStorage",()=>A,"workUnitAsyncStorage",()=>k],11043)},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__707a23f4._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[14747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},46786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},32319,(e,t,s)=>{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,s)=>{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,s)=>{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,s)=>{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,s)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,s)=>{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,s)=>{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),s=e.i(24361),r=e.i(22734),n=e.i(14747),a=e.i(40911);let o=(0,s.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,r.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 o("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 d=null;async function u(){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=".",s=!1){let o=await u();if(o.active&&o.windowCount>0&&!s)return{success:!0,message:`CDP server already active on port ${i} with ${o.windowCount} window(s).`};s&&await c();let h=l(),g=(0,n.resolve)(e||".");if((h.includes("/")||h.includes("\\"))&&!(0,r.existsSync)(h))return{success:!1,message:`Antigravity binary not found at "${h}". Set the ANTIGRAVITY_BINARY environment variable to the correct path.`};try{if(!(0,r.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: ${h} --remote-debugging-port=${i} --new-window "${g}"`),a.logger.info(`[ProcessManager] Platform: ${process.platform}, Binary: ${h}`),(d=(0,t.spawn)(h,[`--remote-debugging-port=${i}`,"--new-window",g],{detached:!0,stdio:"ignore",env:{...process.env},shell:!1,windowsHide:!0})).unref();let e=d.pid;if(d.on("error",e=>{a.logger.error(`[ProcessManager] Antigravity process error: ${e.message}`),d=null}),d.on("exit",e=>{a.logger.info(`[ProcessManager] Antigravity process exited with code ${e}`),d=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 a.logger.error(`[ProcessManager] Failed to start Antigravity: ${e.message}`),{success:!1,message:`Failed to start Antigravity: ${e.message}`}}}async function h(e){let s=(0,n.resolve)(e);try{if(!(0,r.statSync)(s).isDirectory())return{success:!1,message:`"${s}" is not a directory. Please provide a folder path.`}}catch{return{success:!1,message:`Directory not found: "${s}". Make sure the path exists.`}}let o=await u(),i=l();if(o.active)try{return a.logger.info(`[ProcessManager] Opening new window for: ${s}`),(0,t.spawn)(i,["--new-window",s],{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 "${s}".`}}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 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 u()).active)return!0;await new Promise(e=>setTimeout(e,500))}return!1}e.s(["closeWindow",()=>g,"getWindowTargets",()=>w,"isCdpServerActive",()=>u,"openNewWindow",()=>h,"startCdpServer",()=>p])},6461,(e,t,s)=>{t.exports=e.x("zlib",()=>require("zlib"))},524,e=>{"use strict";class t{static create(e){return new Promise((s,r)=>{let n=new WebSocket(e);n.addEventListener("open",()=>s(new t(n))),n.addEventListener("error",r)})}#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])},36580,e=>{"use strict";var t=e.i(47909),s=e.i(74017),r=e.i(96250),n=e.i(59756),a=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),c=e.i(87718),d=e.i(95169),u=e.i(47587),p=e.i(66012),h=e.i(70101),g=e.i(26937),w=e.i(10372),v=e.i(93695);e.i(52474);var m=e.i(220),f=e.i(89171),x=e.i(13231),y=e.i(93846),R=e.i(29476);async function _(e){let{targetId:t,index:s}=await e.json().catch(()=>({}));if(!t&&null!=s){let{targets:e}=await (0,x.getWindowTargets)();if(s<0||s>=e.length)return f.NextResponse.json({success:!1,message:`Invalid window index ${s}. Available: 0-${e.length-1}`},{status:400});t=e[s].id}if(!t)return f.NextResponse.json({success:!1,message:"Either targetId or index is required."},{status:400});try{let e=await (0,x.closeWindow)(t);if(e.success){await new Promise(e=>setTimeout(e,1e3));try{await (0,R.discoverWorkbenches)(y.default),y.default.allWorkbenches.length>0&&y.default.activeWindowIdx>=y.default.allWorkbenches.length&&(y.default.activeWindowIdx=0,y.default.workbenchPage=y.default.allWorkbenches[0].page)}catch{}}return f.NextResponse.json(e,{status:e.success?200:500})}catch(e){return f.NextResponse.json({success:!1,message:e.message},{status:500})}}e.s(["POST",()=>_,"dynamic",0,"force-dynamic"],12460);var b=e.i(12460);let P=new t.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/v1/windows/close/route",pathname:"/api/v1/windows/close",filename:"route",bundlePath:""},distDir:"./.next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/windows/close/route.ts",nextConfigOutput:"standalone",userland:b}),{workAsyncStorage:A,workUnitAsyncStorage:E,serverHooks:T}=P;function k(){return(0,r.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:E})}async function C(e,t,r){P.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/v1/windows/close/route";f=f.replace(/\/index$/,"")||"/";let x=await P.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:y,params:R,nextConfig:_,parsedUrl:b,isDraftMode:A,prerenderManifest:E,routerServerContext:T,isOnDemandRevalidate:k,revalidateOnlyGenerated:C,resolvedPathname:$,clientReferenceManifest:j,serverActionsManifest:N}=x,I=(0,i.normalizeAppPath)(f),O=!!(E.dynamicRoutes[I]||E.routes[$]),S=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,b,!1):t.end("This page could not be found"),null);if(O&&!A){let e=!!E.routes[$],t=E.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(_.experimental.adapterPath)return await S();throw new v.NoFallbackError}}let q=null;!O||P.isDev||A||(q="/index"===(q=$)?"/":q);let D=!0===P.isDev||!O,H=O&&!D;N&&j&&(0,o.setManifestsSingleton)({page:f,clientReferenceManifest:j,serverActionsManifest:N});let M=e.method||"GET",W=(0,a.getTracer)(),L=W.getActiveScopeSpan(),U={params:R,prerenderManifest:E,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:_.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,s,r,n)=>P.onRequestError(e,t,r,n,T)},sharedContext:{buildId:y}},F=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),G=c.NextRequestAdapter.fromNodeNextRequest(F,(0,c.signalFromNodeResponse)(t));try{let o=async e=>P.handle(G,U).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let s=W.getRootSpanAttributes();if(!s)return;if(s.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${s.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=s.get("next.route");if(r){let t=`${M} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${f}`)}),i=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var a,l;let c=async({previousCacheEntry:s})=>{try{if(!i&&k&&C&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await o(n);e.fetchMetrics=U.renderOpts.fetchMetrics;let l=U.renderOpts.pendingWaitUntil;l&&r.waitUntil&&(r.waitUntil(l),l=void 0);let c=U.renderOpts.collectedTags;if(!O)return await (0,p.sendResponse)(F,B,a,U.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);c&&(t[w.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let s=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,r=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:s,expire:r}}}}catch(t){throw(null==s?void 0:s.isStale)&&await P.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:k})},!1,T),t}},d=await P.handleResponse({req:e,nextConfig:_,cacheKey:q,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:C,responseGenerator:c,waitUntil:r.waitUntil,isMinimalMode:i});if(!O)return null;if((null==d||null==(a=d.value)?void 0:a.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",k?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let v=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&O||v.delete(w.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||v.get("Cache-Control")||v.set("Cache-Control",(0,g.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(F,B,new Response(d.value.body,{headers:v,status:d.value.status||200})),null};L?await l(L):await W.withPropagatedContext(e.headers,()=>W.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${f}`,kind:a.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof v.NoFallbackError||await P.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:k})},!1,T),O)throw t;return await (0,p.sendResponse)(F,B,new Response(null,{status:500})),null}}e.s(["handler",()=>C,"patchFetch",()=>k,"routeModule",()=>P,"serverHooks",()=>T,"workAsyncStorage",()=>A,"workUnitAsyncStorage",()=>E],36580)},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__7c61d58a._.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])},60003,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.clickApproveButton)(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"],45133);var C=e.i(45133);let R=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v1/chat/approve/route",pathname:"/api/v1/chat/approve",filename:"route",bundlePath:""},distDir:"./.next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/chat/approve/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/approve/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:N,serverActionsManifest:I}=y,D=(0,i.normalizeAppPath)(m),S=!!(A.dynamicRoutes[D]||A.routes[E]),j=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,C,!1):t.end("This page could not be found"),null);if(S&&!k){let e=!!A.routes[E],t=A.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(P.experimental.adapterPath)return await j();throw new f.NoFallbackError}}let q=null;!S||R.isDev||k||(q="/index"===(q=E)?"/":q);let O=!0===R.isDev||!S,L=S&&!O;I&&N&&(0,a.setManifestsSingleton)({page:m,clientReferenceManifest:N,serverActionsManifest:I});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(!S)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(!S)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&&S||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:D,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:T})},!1,_),S)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],60003)},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__7fe447ed._.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),o=e.i(93846);let s=!1,i=null;async function l(){s&&o.default.workbenchPage||(i||(i=(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 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 l=await (0,r.startCdpServer)(".",!0);if(!l.success){n.logger.error(`[CDP Init] Auto-recovery failed: ${l.message}`);continue}if(n.logger.info(`[CDP Init] Antigravity restarted: ${l.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"),i=null})()),await i)}function a(){o.default.browser?.on("disconnected",()=>{n.logger.error("[CDP] Browser disconnected. Will reconnect on next request."),s=!1,i=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,i=null,o.default.workbenchPage=null})}e.s(["ensureCdpConnection",()=>l])},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),o=e.i(14747),s=e.i(40911);let i=(0,r.promisify)(t.exec),l=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 i("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:${l}/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 ${l} with ${i.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=${l} --new-window "${g}"`),s.logger.info(`[ProcessManager] Platform: ${process.platform}, Binary: ${f}`),(u=(0,t.spawn)(f,[`--remote-debugging-port=${l}`,"--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 h(15e3))return{success:!0,message:`Antigravity started with CDP on port ${l}.`,pid:e||void 0};return{success:!1,message:`Antigravity process started but CDP server did not become available on port ${l} 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 i=await d(),l=a();if(i.active)try{return s.logger.info(`[ProcessManager] Opening new window for: ${r}`),(0,t.spawn)(l,["--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:${l}/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:${l}/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",()=>g,"getWindowTargets",()=>m,"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 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])},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),i=!s&&(e.includes("send")||r.includes("lucide-arrow-up")||r.includes("lucide-send"));s?(n=!0,o=!0):i&&(n=!1,o=!0)}if(!o){let t=e.querySelectorAll("button"),r=!1,i=!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"))&&(i=!0)}if(r)n=!0,o=!0;else if(i)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 i=r.querySelector("#conversation")||document.querySelector("#conversation"),l=i?.querySelector(".overflow-y-auto"),a=l?.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,h=["run","proceed","approve","allow","yes","accept","continue","save","confirm","deny","reject","cancel","no","allow once","allow this conversation"],w=["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!w.some(e=>t===e||t.startsWith(e))&&h.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=[],C=m.querySelectorAll(".flex.flex-col.gap-2.border.rounded-lg.my-1"),b=window.__proxyToolCounter||0;for(let e of C){e.dataset.proxyToolId||(e.dataset.proxyToolId=String(b++));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"),i=s?.textContent?.trim()||"",l="",a=e.querySelector("pre.whitespace-pre-wrap");if(a){let e=a.textContent?.trim()||"",t=e.indexOf("$");-1!==t&&(l=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"),h="";if(m){let e=m.querySelector(".xterm-rows")||m.querySelector(".xterm-screen")||m.querySelector('[class*="xterm"]');e&&(h=e.textContent?.substring(0,500)||""),h||(h=m.textContent?.substring(0,500)||"")}v.push({id:t,status:o,type:f,path:i,command:l||null,exitCode:c,hasCancelBtn:d,footerButtons:p,hasTerminal:!!m,terminalOutput:h||null})}window.__proxyToolCounter=b;let A=m.querySelectorAll(".flex.flex-col.space-y-2 > .flex.flex-row:not(.my-2)"),T=/^(Edited|Created|Analyzed|Read|Viewed|Wrote|Replaced|Searching|Deleted|Moved|Renamed|MCP Tool)/i;for(let e of A)try{let t=e.textContent?.trim()||"",r=t.match(T);if(!r)continue;let n=r[1];e.dataset.proxyToolId||(e.dataset.proxyToolId=String(b++));let o=e.dataset.proxyToolId,s=Array.from(e.querySelectorAll("span")),i="",l=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()}}i=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")});i=e?.textContent?.trim()||"";let t=s.find(e=>(e.className||"").includes("text-green"));l=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")),h=e.nextElementSibling;if(h)for(let e of Array.from(h.querySelectorAll("button"))){let t=(e.textContent||"").trim().toLowerCase();y(t)&&m.push(e)}let w=(m=[...new Set(m)]).map(e=>e.textContent?.trim()||"").filter(y),x=w.some(e=>"cancel"===e.toLowerCase());v.push({id:o,status:n,type:f,path:i,command:null,exitCode:null,hasCancelBtn:x,footerButtons:w,hasTerminal:!1,terminalOutput:null,additions:l,deletions:a,lineRange:c,mcpToolName:p,mcpArgs:u,mcpOutput:d})}catch{}window.__proxyToolCounter=b;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 S=[];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&&S.push(r)}let R=[],P="",_=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&&R.push(r)}_.length>0&&(P=_[_.length-1].innerHTML||"");let k=null,q=r.textContent||"";for(let e of["Agent terminated due to error","error persists","start a new conversation"])if(q.includes(e)){let e,t=document.createTreeWalker(r,NodeFilter.SHOW_TEXT,null);for(;e=t.nextNode();)if(e.textContent.includes("Agent terminated")){k=e.textContent.trim();break}k||(k="[Agent terminated due to error]");break}let E=[];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&&E.push({fileName:e.textContent?.trim()||"",type:"diff"})}}return{isRunning:n,turnCount:u,stepGroupCount:g,thinking:x,toolCalls:v,responses:R,notifications:S,error:k,fileChanges:E,lastTurnResponseHTML:P,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)},22189,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),o=e.i(59756),s=e.i(61916),i=e.i(74677),l=e.i(69741),a=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),m=e.i(10372),h=e.i(93695);e.i(52474);var w=e.i(220),y=e.i(89171),x=e.i(53506),v=e.i(93846),C=e.i(40955);async function b(){if(await (0,x.ensureCdpConnection)(),!v.default.workbenchPage)return y.NextResponse.json({error:"Not connected to Antigravity"},{status:503});try{let e=await (0,C.getFullAgentState)(v.default);return y.NextResponse.json(e)}catch(e){return y.NextResponse.json({error:e.message},{status:500})}}e.s(["GET",()=>b,"dynamic",0,"force-dynamic"],54209);var A=e.i(54209);let T=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v1/chat/state/route",pathname:"/api/v1/chat/state",filename:"route",bundlePath:""},distDir:"./.next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/chat/state/route.ts",nextConfigOutput:"standalone",userland:A}),{workAsyncStorage:S,workUnitAsyncStorage:R,serverHooks:P}=T;function _(){return(0,n.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:R})}async function k(e,t,n){T.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/v1/chat/state/route";y=y.replace(/\/index$/,"")||"/";let x=await T.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:v,params:C,nextConfig:b,parsedUrl:A,isDraftMode:S,prerenderManifest:R,routerServerContext:P,isOnDemandRevalidate:_,revalidateOnlyGenerated:k,resolvedPathname:q,clientReferenceManifest:E,serverActionsManifest:I}=x,$=(0,l.normalizeAppPath)(y),L=!!(R.dynamicRoutes[$]||R.routes[q]),N=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,A,!1):t.end("This page could not be found"),null);if(L&&!S){let e=!!R.routes[q],t=R.dynamicRoutes[$];if(t&&!1===t.fallback&&!e){if(b.experimental.adapterPath)return await N();throw new h.NoFallbackError}}let j=null;!L||T.isDev||S||(j="/index"===(j=q)?"/":j);let D=!0===T.isDev||!L,O=L&&!D;I&&E&&(0,i.setManifestsSingleton)({page:y,clientReferenceManifest:E,serverActionsManifest:I});let M=e.method||"GET",H=(0,s.getTracer)(),B=H.getActiveScopeSpan(),W={params:C,prerenderManifest:R,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:b.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,o)=>T.onRequestError(e,t,n,o,P)},sharedContext:{buildId:v}},F=new a.NodeNextRequest(e),U=new a.NodeNextResponse(t),G=c.NextRequestAdapter.fromNodeNextRequest(F,(0,c.signalFromNodeResponse)(t));try{let i=async e=>T.handle(G,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.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} ${y}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),a=async o=>{var s,a;let c=async({previousCacheEntry:r})=>{try{if(!l&&_&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(o);e.fetchMetrics=W.renderOpts.fetchMetrics;let a=W.renderOpts.pendingWaitUntil;a&&n.waitUntil&&(n.waitUntil(a),a=void 0);let c=W.renderOpts.collectedTags;if(!L)return await (0,p.sendResponse)(F,U,s,W.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.headers);c&&(t[m.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>=m.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,n=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:s.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:y,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:O,isOnDemandRevalidate:_})},!1,P),t}},u=await T.handleResponse({req:e,nextConfig:b,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:R,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:k,responseGenerator:c,waitUntil:n.waitUntil,isMinimalMode:l});if(!L)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(a=u.value)?void 0:a.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",_?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return l&&L||h.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(F,U,new Response(u.value.body,{headers:h,status:u.value.status||200})),null};B?await a(B):await H.withPropagatedContext(e.headers,()=>H.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${y}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},a))}catch(t){if(t instanceof h.NoFallbackError||await T.onRequestError(e,t,{routerKind:"App Router",routePath:$,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:O,isOnDemandRevalidate:_})},!1,P),L)throw t;return await (0,p.sendResponse)(F,U,new Response(null,{status:500})),null}}e.s(["handler",()=>k,"patchFetch",()=>_,"routeModule",()=>T,"serverHooks",()=>P,"workAsyncStorage",()=>S,"workUnitAsyncStorage",()=>R],22189)},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__83b2c7ab._.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),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])},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),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 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 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 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",()=>g,"getWindowTargets",()=>m,"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 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])},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,h=["run","proceed","approve","allow","yes","accept","continue","save","confirm","deny","reject","cancel","no","allow once","allow this conversation"],w=["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!w.some(e=>t===e||t.startsWith(e))&&h.some(e=>t===e||t.startsWith(e))},v=[];for(let e of Array.from(m.querySelectorAll("button")).filter(e=>e.textContent?.trim().startsWith("Thought for")))v.push({time:e.textContent.trim()});let x=[],C=m.querySelectorAll(".flex.flex-col.gap-2.border.rounded-lg.my-1"),b=window.__proxyToolCounter||0;for(let e of C){e.dataset.proxyToolId||(e.dataset.proxyToolId=String(b++));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"),h="";if(m){let e=m.querySelector(".xterm-rows")||m.querySelector(".xterm-screen")||m.querySelector('[class*="xterm"]');e&&(h=e.textContent?.substring(0,500)||""),h||(h=m.textContent?.substring(0,500)||"")}x.push({id:t,status:o,type:f,path:l,command:i||null,exitCode:c,hasCancelBtn:d,footerButtons:p,hasTerminal:!!m,terminalOutput:h||null})}window.__proxyToolCounter=b;let A=m.querySelectorAll(".flex.flex-col.space-y-2 > .flex.flex-row:not(.my-2)"),S=/^(Edited|Created|Analyzed|Read|Viewed|Wrote|Replaced|Searching|Deleted|Moved|Renamed|MCP Tool)/i;for(let e of A)try{let t=e.textContent?.trim()||"",r=t.match(S);if(!r)continue;let n=r[1];e.dataset.proxyToolId||(e.dataset.proxyToolId=String(b++));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")),h=e.nextElementSibling;if(h)for(let e of Array.from(h.querySelectorAll("button"))){let t=(e.textContent||"").trim().toLowerCase();y(t)&&m.push(e)}let w=(m=[...new Set(m)]).map(e=>e.textContent?.trim()||"").filter(y),v=w.some(e=>"cancel"===e.toLowerCase());x.push({id:o,status:n,type:f,path:l,command:null,exitCode:null,hasCancelBtn:v,footerButtons:w,hasTerminal:!1,terminalOutput:null,additions:i,deletions:a,lineRange:c,mcpToolName:p,mcpArgs:u,mcpOutput:d})}catch{}window.__proxyToolCounter=b;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&&x.some(e=>e.id===t.dataset.proxyToolId&&e.footerButtons.length>0))continue;let n=r.filter(y);if(0===n.length)continue;let o=[...x].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():"";x.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&&x.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 R=[],P="",_=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&&R.push(r)}_.length>0&&(P=_[_.length-1].innerHTML||"");let k=null,q=r.textContent||"";for(let e of["Agent terminated due to error","error persists","start a new conversation"])if(q.includes(e)){let e,t=document.createTreeWalker(r,NodeFilter.SHOW_TEXT,null);for(;e=t.nextNode();)if(e.textContent.includes("Agent terminated")){k=e.textContent.trim();break}k||(k="[Agent terminated due to error]");break}let E=[];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&&E.push({fileName:e.textContent?.trim()||"",type:"diff"})}}return{isRunning:n,turnCount:u,stepGroupCount:g,thinking:v,toolCalls:x,responses:R,notifications:T,error:k,fileChanges:E,lastTurnResponseHTML:P,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)},69816,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),o=e.i(59756),s=e.i(61916),l=e.i(74677),i=e.i(69741),a=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),m=e.i(10372),h=e.i(93695);e.i(52474);var w=e.i(220),y=e.i(89171),v=e.i(53506),x=e.i(93846),C=e.i(40955);async function b(){if(await (0,v.ensureCdpConnection)(),!x.default.workbenchPage)return y.NextResponse.json({error:"Not connected to Antigravity"},{status:503});try{let e=await (0,C.getFullAgentState)(x.default),t=await x.default.workbenchPage.evaluate(()=>{let e=document.querySelector(".antigravity-agent-side-panel");if(!e)return"<p>Panel not found</p>";let t=e.querySelector("#conversation")||document.querySelector("#conversation"),r=t?.querySelector(".overflow-y-auto"),n=r?.querySelector(".mx-auto"),o=n?Array.from(n.children):[],s=o.length>0?o[o.length-1]:null;return s?s.innerHTML:"<p>No turns found</p>"});return y.NextResponse.json({raw:t,parsed:e,meta:{timestamp:new Date().toISOString(),activeWindowIdx:x.default.activeWindowIdx,turnCount:e.turnCount,toolCallCount:e.toolCalls.length,responseCount:e.responses.length}})}catch(e){return y.NextResponse.json({error:e.message},{status:500})}}e.s(["GET",()=>b,"dynamic",0,"force-dynamic"],34666);var A=e.i(34666);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v1/debug/scrape/route",pathname:"/api/v1/debug/scrape",filename:"route",bundlePath:""},distDir:"./.next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/debug/scrape/route.ts",nextConfigOutput:"standalone",userland:A}),{workAsyncStorage:T,workUnitAsyncStorage:R,serverHooks:P}=S;function _(){return(0,n.patchFetch)({workAsyncStorage:T,workUnitAsyncStorage:R})}async function k(e,t,n){S.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/v1/debug/scrape/route";y=y.replace(/\/index$/,"")||"/";let v=await S.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:x,params:C,nextConfig:b,parsedUrl:A,isDraftMode:T,prerenderManifest:R,routerServerContext:P,isOnDemandRevalidate:_,revalidateOnlyGenerated:k,resolvedPathname:q,clientReferenceManifest:E,serverActionsManifest:I}=v,L=(0,i.normalizeAppPath)(y),$=!!(R.dynamicRoutes[L]||R.routes[q]),N=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,A,!1):t.end("This page could not be found"),null);if($&&!T){let e=!!R.routes[q],t=R.dynamicRoutes[L];if(t&&!1===t.fallback&&!e){if(b.experimental.adapterPath)return await N();throw new h.NoFallbackError}}let D=null;!$||S.isDev||T||(D="/index"===(D=q)?"/":D);let O=!0===S.isDev||!$,j=$&&!O;I&&E&&(0,l.setManifestsSingleton)({page:y,clientReferenceManifest:E,serverActionsManifest:I});let M=e.method||"GET",H=(0,s.getTracer)(),W=H.getActiveScopeSpan(),B={params:C,prerenderManifest:R,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:O,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:b.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,o)=>S.onRequestError(e,t,n,o,P)},sharedContext:{buildId:x}},F=new a.NodeNextRequest(e),U=new a.NodeNextResponse(t),G=c.NextRequestAdapter.fromNodeNextRequest(F,(0,c.signalFromNodeResponse)(t));try{let l=async e=>S.handle(G,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.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} ${y}`)}),i=!!(0,o.getRequestMeta)(e,"minimalMode"),a=async o=>{var s,a;let c=async({previousCacheEntry:r})=>{try{if(!i&&_&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await l(o);e.fetchMetrics=B.renderOpts.fetchMetrics;let a=B.renderOpts.pendingWaitUntil;a&&n.waitUntil&&(n.waitUntil(a),a=void 0);let c=B.renderOpts.collectedTags;if(!$)return await (0,p.sendResponse)(F,U,s,B.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.headers);c&&(t[m.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,n=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:_})},!1,P),t}},u=await S.handleResponse({req:e,nextConfig:b,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:R,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:k,responseGenerator:c,waitUntil:n.waitUntil,isMinimalMode:i});if(!$)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(a=u.value)?void 0:a.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",_?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return i&&$||h.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(F,U,new Response(u.value.body,{headers:h,status:u.value.status||200})),null};W?await a(W):await H.withPropagatedContext(e.headers,()=>H.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${y}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},a))}catch(t){if(t instanceof h.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:L,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:_})},!1,P),$)throw t;return await (0,p.sendResponse)(F,U,new Response(null,{status:500})),null}}e.s(["handler",()=>k,"patchFetch",()=>_,"routeModule",()=>S,"serverHooks",()=>P,"workAsyncStorage",()=>T,"workUnitAsyncStorage",()=>R],69816)},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__87373812._.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])},17244,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 R(e){await (0,y.ensureCdpConnection)();let{index:t}=await e.json();if(null==t)return m.NextResponse.json({error:"index is required"},{status:400});try{let e=(0,P.selectWindow)(x.default,t);return m.NextResponse.json({success:!0,window:{index:t,title:e.title,url:e.url}})}catch(e){return m.NextResponse.json({error:e.message},{status:400})}}e.s(["POST",()=>R,"dynamic",0,"force-dynamic"],83425);var b=e.i(83425);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v1/windows/select/route",pathname:"/api/v1/windows/select",filename:"route",bundlePath:""},distDir:"./.next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/windows/select/route.ts",nextConfigOutput:"standalone",userland:b}),{workAsyncStorage:_,workUnitAsyncStorage:A,serverHooks:k}=C;function T(){return(0,s.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:A})}async function E(e,t,s){C.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/v1/windows/select/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:R,parsedUrl:b,isDraftMode:_,prerenderManifest:A,routerServerContext:k,isOnDemandRevalidate:T,revalidateOnlyGenerated:E,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,b,!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(R.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:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:q,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.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),K=c.NextRequestAdapter.fromNodeNextRequest(F,(0,c.signalFromNodeResponse)(t));try{let a=async e=>C.handle(K,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&&T&&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(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:T})},!1,k),t}},u=await C.handleResponse({req:e,nextConfig:R,cacheKey:O,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:E,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",T?"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:T})},!1,k),N)throw t;return await (0,p.sendResponse)(F,B,new Response(null,{status:500})),null}}e.s(["handler",()=>E,"patchFetch",()=>T,"routeModule",()=>C,"serverHooks",()=>k,"workAsyncStorage",()=>_,"workUnitAsyncStorage",()=>A],17244)},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__8b04e711._.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])},51252,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(e){if(await (0,y.ensureCdpConnection)(),!x.default.workbenchPage)return m.NextResponse.json({error:"Not connected"},{status:503});let{toolId:t,buttonText:r}=await e.json();if(!r)return m.NextResponse.json({error:"buttonText is required"},{status:400});try{let e=await (0,b.clickActionButton)(x.default,t||null,r);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"],10689);var C=e.i(10689);let R=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v1/chat/action/route",pathname:"/api/v1/chat/action",filename:"route",bundlePath:""},distDir:"./.next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/chat/action/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/action/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:N,serverActionsManifest:j}=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;j&&N&&(0,a.setManifestsSingleton)({page:m,clientReferenceManifest:N,serverActionsManifest:j});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],51252)},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__8e1d0cab._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},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"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},49643,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),p=e.i(47587),c=e.i(66012),f=e.i(70101),h=e.i(26937),x=e.i(10372),g=e.i(93695);e.i(52474);var R=e.i(220),v=e.i(89171),m=e.i(33405),y=e.i(14747);async function E(t){let r,a,n=t.nextUrl.searchParams.get("filepath");if(!n)return v.NextResponse.json({error:"Missing filepath parameter"},{status:400});if(n.includes(".."))return v.NextResponse.json({error:"Invalid path"},{status:403});let s=process.cwd();try{r=(0,m.execSync)("git rev-parse --show-toplevel",{cwd:s,encoding:"utf-8"}).trim()}catch{return v.NextResponse.json({error:"Not a git repository"},{status:500})}if(y.default.isAbsolute(n))if(!n.startsWith(r))return v.NextResponse.json({diff:"",filename:y.default.basename(n),message:"File is outside git repository"});else a=y.default.relative(r,n);else{let e=y.default.basename(r);a=n.startsWith(e+"/")?n.substring(e.length+1):n}let i=y.default.basename(a);for(let e of[`git diff -- "${a}"`,`git diff --cached -- "${a}"`,`git diff HEAD~1 HEAD -- "${a}"`,`git diff HEAD~2 HEAD -- "${a}"`])try{let t=(0,m.execSync)(e,{cwd:r,encoding:"utf-8",maxBuffer:5242880});if(t.trim())return v.NextResponse.json({diff:t,filename:i})}catch{}try{let t=y.default.resolve(r,a);if(!t.startsWith(r))return v.NextResponse.json({error:"Path outside repository"},{status:403});let n=e.r(22734);if(n.existsSync(t)){let e=n.readFileSync(t,"utf-8").split("\n"),r=[`diff --git a/${a} b/${a}`,"new file mode 100644","--- /dev/null",`+++ b/${a}`,`@@ -0,0 +1,${e.length} @@`,...e.map(e=>`+${e}`)];return v.NextResponse.json({diff:r.join("\n"),filename:i})}}catch{}return v.NextResponse.json({diff:"",filename:i,message:"No changes found"})}e.s(["GET",()=>E,"dynamic",0,"force-dynamic"],61140);var w=e.i(61140);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v1/changes/diff/route",pathname:"/api/v1/changes/diff",filename:"route",bundlePath:""},distDir:"
|
|
1
|
+
module.exports=[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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},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"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},49643,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),p=e.i(47587),c=e.i(66012),f=e.i(70101),h=e.i(26937),x=e.i(10372),g=e.i(93695);e.i(52474);var R=e.i(220),v=e.i(89171),m=e.i(33405),y=e.i(14747);async function E(t){let r,a,n=t.nextUrl.searchParams.get("filepath");if(!n)return v.NextResponse.json({error:"Missing filepath parameter"},{status:400});if(n.includes(".."))return v.NextResponse.json({error:"Invalid path"},{status:403});let s=process.cwd();try{r=(0,m.execSync)("git rev-parse --show-toplevel",{cwd:s,encoding:"utf-8"}).trim()}catch{return v.NextResponse.json({error:"Not a git repository"},{status:500})}if(y.default.isAbsolute(n))if(!n.startsWith(r))return v.NextResponse.json({diff:"",filename:y.default.basename(n),message:"File is outside git repository"});else a=y.default.relative(r,n);else{let e=y.default.basename(r);a=n.startsWith(e+"/")?n.substring(e.length+1):n}let i=y.default.basename(a);for(let e of[`git diff -- "${a}"`,`git diff --cached -- "${a}"`,`git diff HEAD~1 HEAD -- "${a}"`,`git diff HEAD~2 HEAD -- "${a}"`])try{let t=(0,m.execSync)(e,{cwd:r,encoding:"utf-8",maxBuffer:5242880});if(t.trim())return v.NextResponse.json({diff:t,filename:i})}catch{}try{let t=y.default.resolve(r,a);if(!t.startsWith(r))return v.NextResponse.json({error:"Path outside repository"},{status:403});let n=e.r(22734);if(n.existsSync(t)){let e=n.readFileSync(t,"utf-8").split("\n"),r=[`diff --git a/${a} b/${a}`,"new file mode 100644","--- /dev/null",`+++ b/${a}`,`@@ -0,0 +1,${e.length} @@`,...e.map(e=>`+${e}`)];return v.NextResponse.json({diff:r.join("\n"),filename:i})}}catch{}return v.NextResponse.json({diff:"",filename:i,message:"No changes found"})}e.s(["GET",()=>E,"dynamic",0,"force-dynamic"],61140);var w=e.i(61140);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v1/changes/diff/route",pathname:"/api/v1/changes/diff",filename:"route",bundlePath:""},distDir:"./.next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/changes/diff/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:b,workUnitAsyncStorage:A,serverHooks:N}=C;function j(){return(0,a.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:A})}async function P(e,t,a){C.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/v1/changes/diff/route";v=v.replace(/\/index$/,"")||"/";let m=await C.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!m)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,params:E,nextConfig:w,parsedUrl:b,isDraftMode:A,prerenderManifest:N,routerServerContext:j,isOnDemandRevalidate:P,revalidateOnlyGenerated:T,resolvedPathname:q,clientReferenceManifest:S,serverActionsManifest:_}=m,k=(0,o.normalizeAppPath)(v),H=!!(N.dynamicRoutes[k]||N.routes[q]),O=async()=>((null==j?void 0:j.render404)?await j.render404(e,t,b,!1):t.end("This page could not be found"),null);if(H&&!A){let e=!!N.routes[q],t=N.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(w.experimental.adapterPath)return await O();throw new g.NoFallbackError}}let $=null;!H||C.isDev||A||($="/index"===($=q)?"/":$);let D=!0===C.isDev||!H,U=H&&!D;_&&S&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:S,serverActionsManifest:_});let I=e.method||"GET",M=(0,s.getTracer)(),F=M.getActiveScopeSpan(),K={params:E,prerenderManifest:N,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>C.onRequestError(e,t,a,n,j)},sharedContext:{buildId:y}},B=new l.NodeNextRequest(e),L=new l.NodeNextResponse(t),W=d.NextRequestAdapter.fromNodeNextRequest(B,(0,d.signalFromNodeResponse)(t));try{let i=async e=>C.handle(W,K).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 a=r.get("next.route");if(a){let t=`${I} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${I} ${v}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var s,l;let d=async({previousCacheEntry:r})=>{try{if(!o&&P&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(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(!H)return await (0,c.sendResponse)(B,L,s,K.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[x.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>=x.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:P})},!1,j),t}},u=await C.handleResponse({req:e,nextConfig:w,cacheKey:$,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:T,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:o});if(!H)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==R.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",P?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return o&&H||g.delete(x.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(B,L,new Response(u.value.body,{headers:g,status:u.value.status||200})),null};F?await l(F):await M.withPropagatedContext(e.headers,()=>M.trace(u.BaseServerSpan.handleRequest,{spanName:`${I} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":I,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:P})},!1,j),H)throw t;return await (0,c.sendResponse)(B,L,new Response(null,{status:500})),null}}e.s(["handler",()=>P,"patchFetch",()=>j,"routeModule",()=>C,"serverHooks",()=>N,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>A],49643)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__9a1969e6._.js.map
|