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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[73984,a=>{"use strict";var b=a.i(95044),c=a.i(62291),d=a.i(71306),e=a.i(79847),f=a.i(29432),g=a.i(75164),h=a.i(30106),i=a.i(18970),j=a.i(60644),k=a.i(56952),l=a.i(77341),m=a.i(94290),n=a.i(90588),o=a.i(33169),p=a.i(37111),q=a.i(41763),r=a.i(8950),s=a.i(91562),t=a.i(49670);a.i(75700);var u=a.i(276),v=a.i(40795),w=a.i(11614),x=a.i(21751),y=a.i(12213),z=a.i(10531),A=a.i(93695),B=a.i(1082),C=a.i(69726);a.i(70408);var D=a.i(22922),E=a.i(71717),F=a.i(85034),G=a.i(68113),H=a.i(66482);let I=["",{children:["/_not-found",{children:["__PAGE__",{},{metadata:{},page:[()=>a.r(2894),"[project]/app/not-found.tsx"]}]},{metadata:{}}]},{metadata:{icon:[async a=>[{url:(0,b.fillMetadataSegment)("//",await a.params,"favicon.ico")+`?${c.default.src.split("/").splice(-1)[0]}`,sizes:`${c.default.width}x${c.default.height}`,type:"image/x-icon"}]]},layout:[()=>a.r(70864),"[project]/app/layout.tsx"],"not-found":[()=>a.r(2894),"[project]/app/not-found.tsx"],forbidden:[()=>a.r(13718),"[project]/node_modules/next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>a.r(18198),"[project]/node_modules/next/dist/client/components/builtin/unauthorized.js"]}],J={require:a.r.bind(a),loadChunk:a.l.bind(a)},K=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/_not-found/page",pathname:"/_not-found",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:I},distDir:"
|
|
1
|
+
module.exports=[73984,a=>{"use strict";var b=a.i(95044),c=a.i(62291),d=a.i(71306),e=a.i(79847),f=a.i(29432),g=a.i(75164),h=a.i(30106),i=a.i(18970),j=a.i(60644),k=a.i(56952),l=a.i(77341),m=a.i(94290),n=a.i(90588),o=a.i(33169),p=a.i(37111),q=a.i(41763),r=a.i(8950),s=a.i(91562),t=a.i(49670);a.i(75700);var u=a.i(276),v=a.i(40795),w=a.i(11614),x=a.i(21751),y=a.i(12213),z=a.i(10531),A=a.i(93695),B=a.i(1082),C=a.i(69726);a.i(70408);var D=a.i(22922),E=a.i(71717),F=a.i(85034),G=a.i(68113),H=a.i(66482);let I=["",{children:["/_not-found",{children:["__PAGE__",{},{metadata:{},page:[()=>a.r(2894),"[project]/app/not-found.tsx"]}]},{metadata:{}}]},{metadata:{icon:[async a=>[{url:(0,b.fillMetadataSegment)("//",await a.params,"favicon.ico")+`?${c.default.src.split("/").splice(-1)[0]}`,sizes:`${c.default.width}x${c.default.height}`,type:"image/x-icon"}]]},layout:[()=>a.r(70864),"[project]/app/layout.tsx"],"not-found":[()=>a.r(2894),"[project]/app/not-found.tsx"],forbidden:[()=>a.r(13718),"[project]/node_modules/next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>a.r(18198),"[project]/node_modules/next/dist/client/components/builtin/unauthorized.js"]}],J={require:a.r.bind(a),loadChunk:a.l.bind(a)},K=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/_not-found/page",pathname:"/_not-found",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:I},distDir:"./.next",relativeProjectDir:""});async function L(a,b,c){var d;K.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let M=!!(0,h.getRequestMeta)(a,"minimalMode"),N="/_not-found/page";N=N.replace(/\/index$/,"")||"/";let O=await K.prepare(a,b,{srcPage:N,multiZoneDraftMode:!1});if(!O)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:P,query:Q,params:R,pageIsDynamic:S,buildManifest:T,nextFontManifest:U,reactLoadableManifest:V,serverActionsManifest:W,clientReferenceManifest:X,subresourceIntegrityManifest:Y,prerenderManifest:Z,isDraftMode:$,resolvedPathname:_,revalidateOnlyGenerated:aa,routerServerContext:ab,nextConfig:ac,parsedUrl:ad,interceptionRoutePatterns:ae,deploymentId:af}=O,ag=(0,q.normalizeAppPath)(N),{isOnDemandRevalidate:ah}=O,ai=ac.experimental.ppr&&!ac.cacheComponents&&(0,H.isInterceptionRouteAppPath)(_)?null:K.match(_,Z),aj=!!Z.routes[_],ak=a.headers["user-agent"]||"",al=(0,t.getBotType)(ak),am=(0,p.isHtmlBotRequest)(a),an=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[s.NEXT_ROUTER_PREFETCH_HEADER],ao=(0,h.getRequestMeta)(a,"isRSCRequest")??!!a.headers[s.RSC_HEADER],ap=(0,r.getIsPossibleServerAction)(a),aq=(0,m.checkIsAppPPREnabled)(ac.experimental.ppr);if(!(0,h.getRequestMeta)(a,"postponed")&&aq&&"1"===a.headers[x.NEXT_RESUME_HEADER]&&"POST"===a.method){let b=[];for await(let c of a)b.push(c);let c=Buffer.concat(b).toString("utf8");(0,h.addRequestMeta)(a,"postponed",c)}let ar=aq&&(null==(d=Z.routes[ag]??Z.dynamicRoutes[ag])?void 0:d.renderingMode)==="PARTIALLY_STATIC",as=!1,at=!1,au=ar?(0,h.getRequestMeta)(a,"postponed"):void 0,av=ar&&ao&&!an;M&&(av=av&&!!au);let aw=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ax=(!am||!ar)&&(!ak||(0,p.shouldServeStreamingMetadata)(ak,ac.htmlLimitedBots)),ay=!!((ai||aj||Z.routes[ag])&&!(am&&ar)),az=ar&&!0===ac.cacheComponents,aA=!0===K.isDev||!ay||"string"==typeof au||(az&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?av&&!M:av),aB=am&&ar,aC=null;$||!ay||aA||ap||au||av||(aC=_);let aD=aC;!aD&&K.isDev&&(aD=_),K.isDev||$||!ay||!ao||av||(0,k.stripFlightHeaders)(a.headers);let aE={...D,tree:I,GlobalError:C.default,handler:L,routeModule:K,__next_app__:J};W&&X&&(0,o.setManifestsSingleton)({page:N,clientReferenceManifest:X,serverActionsManifest:W});let aF=a.method||"GET",aG=(0,g.getTracer)(),aH=aG.getActiveScopeSpan(),aI=async()=>((null==ab?void 0:ab.render404)?await ab.render404(a,b,ad,!1):b.end("This page could not be found"),null);try{let d=K.getVaryHeader(_,ae);b.setHeader("Vary",d);let f=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return K.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aG.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aF} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aF} ${N}`)})},k=(0,h.getRequestMeta)(a,"incrementalCache"),m=async({span:d,postponed:e,fallbackRouteParams:g,forceStaticRender:i})=>{let l={query:Q,params:R,page:ag,sharedContext:{buildId:P},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aE,Component:(0,j.interopDefault)(aE),params:R,routeModule:K,page:N,postponed:e,shouldWaitOnAllReady:aB,serveStreamingMetadata:ax,supportsDynamicResponse:"string"==typeof e||aA,buildManifest:T,nextFontManifest:U,reactLoadableManifest:V,subresourceIntegrityManifest:Y,setCacheStatus:null==ab?void 0:ab.setCacheStatus,setIsrStatus:null==ab?void 0:ab.setIsrStatus,setReactDebugChannel:null==ab?void 0:ab.setReactDebugChannel,sendErrorsToBrowser:null==ab?void 0:ab.sendErrorsToBrowser,dir:require("path").join(process.cwd(),K.relativeProjectDir),isDraftMode:$,botType:al,isOnDemandRevalidate:ah,isPossibleServerAction:ap,assetPrefix:ac.assetPrefix,nextConfigOutput:ac.output,crossOrigin:ac.crossOrigin,trailingSlash:ac.trailingSlash,images:ac.images,previewProps:Z.preview,deploymentId:af,enableTainting:ac.experimental.taint,htmlLimitedBots:ac.htmlLimitedBots,reactMaxHeadersLength:ac.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:k,cacheLifeProfiles:ac.cacheLife,basePath:ac.basePath,serverActions:ac.experimental.serverActions,...as||at?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:as}:{},cacheComponents:!!ac.cacheComponents,experimental:{isRoutePPREnabled:ar,expireTime:ac.expireTime,staleTimes:ac.experimental.staleTimes,dynamicOnHover:!!ac.experimental.dynamicOnHover,inlineCss:!!ac.experimental.inlineCss,authInterrupts:!!ac.experimental.authInterrupts,clientTraceMetadata:ac.experimental.clientTraceMetadata||[],clientParamParsingOrigins:ac.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,B.parseMaxPostponedStateSize)(ac.experimental.maxPostponedStateSize)},waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>K.onRequestError(a,b,d,e,ab),err:(0,h.getRequestMeta)(a,"invokeError"),dev:K.isDev}};as&&(l.renderOpts.nextExport=!0,l.renderOpts.supportsDynamicResponse=!1,l.renderOpts.isDebugDynamicAccesses=as),i&&(l.renderOpts.supportsDynamicResponse=!1);let m=await f(d,l),{metadata:n}=m,{cacheControl:o,headers:p={},fetchTags:q,fetchMetrics:r}=n;if(q&&(p[x.NEXT_CACHE_TAGS_HEADER]=q),a.fetchMetrics=r,ay&&(null==o?void 0:o.revalidate)===0&&!K.isDev&&!ar){let a=n.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${_}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
2
2
|
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:u.CachedRouteKind.APP_PAGE,html:m,headers:p,rscData:n.flightData,postponed:n.postponed,status:n.statusCode,segmentData:n.segmentData},cacheControl:o}},o=async({hasResolved:d,previousCacheEntry:f,isRevalidating:g,span:i,forceStaticRender:j=!1})=>{let l,p=!1===K.isDev,q=d||b.writableEnded;if(ah&&aa&&!f&&!M)return(null==ab?void 0:ab.render404)?await ab.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(ai&&(l=(0,v.parseFallbackField)(ai.fallback)),l===v.FallbackMode.PRERENDER&&(0,t.isBot)(ak)&&(!ar||am)&&(l=v.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ah=!0),ah&&(l!==v.FallbackMode.NOT_FOUND||f)&&(l=v.FallbackMode.BLOCKING_STATIC_RENDER),!M&&l!==v.FallbackMode.BLOCKING_STATIC_RENDER&&aD&&!q&&!$&&S&&(p||!aj)){if((p||ai)&&l===v.FallbackMode.NOT_FOUND){if(ac.experimental.adapterPath)return await aI();throw new A.NoFallbackError}if(ar&&(ac.cacheComponents?!av:!ao)){let b=p&&"string"==typeof(null==ai?void 0:ai.fallback)?ai.fallback:ag,d=p&&(null==ai?void 0:ai.fallbackRouteParams)?(0,n.createOpaqueFallbackRouteParams)(ai.fallbackRouteParams):at?(0,n.getFallbackRouteParams)(ag,K):null,f=await K.handleResponse({cacheKey:b,req:a,nextConfig:ac,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:Z,isRoutePPREnabled:ar,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:d,forceStaticRender:!1}),waitUntil:c.waitUntil,isMinimalMode:M});if(null===f)return null;if(f)return delete f.cacheControl,f}}let r=ah||g||!au?void 0:au;if(az&&!M&&k&&av&&!j){let b=await k.get(_,{kind:u.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===u.CachedRouteKind.APP_PAGE&&(r=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,G.scheduleOnNextTick)(async()=>{let b=K.getResponseCache(a);try{await b.revalidate(_,k,ar,!1,a=>o({...a,forceStaticRender:!0}),null,d,c.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if(as&&void 0!==r)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:u.CachedRouteKind.PAGES,html:w.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let s=p&&(null==ai?void 0:ai.fallbackRouteParams)&&(0,h.getRequestMeta)(a,"renderFallbackShell")?(0,n.createOpaqueFallbackRouteParams)(ai.fallbackRouteParams):at?(0,n.getFallbackRouteParams)(ag,K):null;return m({span:i,postponed:r,fallbackRouteParams:s,forceStaticRender:j})},p=async d=>{var f,g,i,j,k;let l,n=await K.handleResponse({cacheKey:aC,responseGenerator:a=>o({span:d,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ah,isRoutePPREnabled:ar,req:a,nextConfig:ac,prerenderManifest:Z,waitUntil:c.waitUntil,isMinimalMode:M});if($&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),K.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!n){if(aC)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof n.value.postponed;ay&&!av&&(!p||an)&&(M||b.setHeader("x-nextjs-cache",ah?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(s.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=n;if(au)l={revalidate:0,expire:void 0};else if(av)l={revalidate:0,expire:void 0};else if(!K.isDev)if($)l={revalidate:0,expire:void 0};else if(ay){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??ac.expireTime}}else l={revalidate:x.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(n.cacheControl=l,"string"==typeof aw&&(null==q?void 0:q.kind)===u.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(s.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[x.NEXT_CACHE_TAGS_HEADER];M&&ay&&c&&"string"==typeof c&&b.setHeader(x.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(aw);return void 0!==d?(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:w.default.fromStatic(d,s.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:w.default.EMPTY,cacheControl:n.cacheControl}))}let r=az?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r(n,{url:(0,h.getRequestMeta)(a,"initURL")??a.url}))return null;if(q.headers){let a={...q.headers};for(let[c,d]of(M&&ay||delete a[x.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let t=null==(g=q.headers)?void 0:g[x.NEXT_CACHE_TAGS_HEADER];if(M&&ay&&t&&"string"==typeof t&&b.setHeader(x.NEXT_CACHE_TAGS_HEADER,t),!q.status||ao&&ar||(b.statusCode=q.status),!M&&q.status&&E.RedirectStatusCode[q.status]&&ao&&(b.statusCode=200),p&&!av&&b.setHeader(s.NEXT_DID_POSTPONE_HEADER,"1"),ao&&!$){if(void 0===q.rscData){if(q.html.contentType!==s.RSC_CONTENT_TYPE_HEADER)if(ac.cacheComponents)return b.statusCode=404,(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:w.default.EMPTY,cacheControl:n.cacheControl});else throw Object.defineProperty(new F.InvariantError(`Expected RSC response, got ${q.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:q.html,cacheControl:n.cacheControl})}return(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:w.default.fromStatic(q.rscData,s.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let v=q.html;if(!p||M||ao)return(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:v,cacheControl:n.cacheControl});if(as)return v.push(new ReadableStream({start(a){a.enqueue(y.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}});let A=new TransformStream;return v.push(A.readable),m({span:d,postponed:q.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(A.writable)}).catch(a=>{A.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}})};if(!aH)return await aG.withPropagatedContext(a.headers,()=>aG.trace(i.BaseServerSpan.handleRequest,{spanName:`${aF} ${N}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aF,"http.target":a.url}},p));await p(aH)}catch(b){throw b instanceof A.NoFallbackError||await K.onRequestError(a,b,{routerKind:"App Router",routePath:N,routeType:"render",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:ay,isOnDemandRevalidate:ah})},!1,ab),b}}a.s(["__next_app__",0,J,"handler",()=>L,"routeModule",0,K],96449),a.i(96449),a.s(["ClientPageRoot",()=>D.ClientPageRoot,"ClientSegmentRoot",()=>D.ClientSegmentRoot,"Fragment",()=>D.Fragment,"GlobalError",()=>C.default,"HTTPAccessFallbackBoundary",()=>D.HTTPAccessFallbackBoundary,"LayoutRouter",()=>D.LayoutRouter,"Postpone",()=>D.Postpone,"RenderFromTemplateContext",()=>D.RenderFromTemplateContext,"RootLayoutBoundary",()=>D.RootLayoutBoundary,"SegmentViewNode",()=>D.SegmentViewNode,"SegmentViewStateNode",()=>D.SegmentViewStateNode,"__next_app__",0,J,"actionAsyncStorage",()=>D.actionAsyncStorage,"captureOwnerStack",()=>D.captureOwnerStack,"collectSegmentData",()=>D.collectSegmentData,"createElement",()=>D.createElement,"createMetadataComponents",()=>D.createMetadataComponents,"createPrerenderParamsForClientSegment",()=>D.createPrerenderParamsForClientSegment,"createPrerenderSearchParamsForClientPage",()=>D.createPrerenderSearchParamsForClientPage,"createServerParamsForServerSegment",()=>D.createServerParamsForServerSegment,"createServerSearchParamsForServerPage",()=>D.createServerSearchParamsForServerPage,"createTemporaryReferenceSet",()=>D.createTemporaryReferenceSet,"decodeAction",()=>D.decodeAction,"decodeFormState",()=>D.decodeFormState,"decodeReply",()=>D.decodeReply,"handler",()=>L,"patchFetch",()=>D.patchFetch,"preconnect",()=>D.preconnect,"preloadFont",()=>D.preloadFont,"preloadStyle",()=>D.preloadStyle,"prerender",()=>D.prerender,"renderToReadableStream",()=>D.renderToReadableStream,"routeModule",0,K,"serverHooks",()=>D.serverHooks,"taintObjectReference",()=>D.taintObjectReference,"workAsyncStorage",()=>D.workAsyncStorage,"workUnitAsyncStorage",()=>D.workUnitAsyncStorage],73984)}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=node_modules_next_dist_esm_build_templates_app-page_7f45f9bf.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[79835,a=>{a.n(a.i(25556))},5269,a=>{"use strict";var b=a.i(95044),c=a.i(62291),d=a.i(71306),e=a.i(79847),f=a.i(29432),g=a.i(75164),h=a.i(30106),i=a.i(18970),j=a.i(60644),k=a.i(56952),l=a.i(77341),m=a.i(94290),n=a.i(90588),o=a.i(33169),p=a.i(37111),q=a.i(41763),r=a.i(8950),s=a.i(91562),t=a.i(49670);a.i(75700);var u=a.i(276),v=a.i(40795),w=a.i(11614),x=a.i(21751),y=a.i(12213),z=a.i(10531),A=a.i(93695),B=a.i(1082),C=a.i(69726);a.i(70408);var D=a.i(22922),E=a.i(71717),F=a.i(85034),G=a.i(68113),H=a.i(66482);let I=["",{children:["__PAGE__",{},{metadata:{},page:[()=>a.r(79835),"[project]/node_modules/next/dist/client/components/builtin/app-error.js"]}]},{metadata:{icon:[async a=>[{url:(0,b.fillMetadataSegment)("//",await a.params,"favicon.ico")+`?${c.default.src.split("/").splice(-1)[0]}`,sizes:`${c.default.width}x${c.default.height}`,type:"image/x-icon"}]]}}],J={require:a.r.bind(a),loadChunk:a.l.bind(a)},K=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/_global-error/page",pathname:"/_global-error",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:I},distDir:"
|
|
1
|
+
module.exports=[79835,a=>{a.n(a.i(25556))},5269,a=>{"use strict";var b=a.i(95044),c=a.i(62291),d=a.i(71306),e=a.i(79847),f=a.i(29432),g=a.i(75164),h=a.i(30106),i=a.i(18970),j=a.i(60644),k=a.i(56952),l=a.i(77341),m=a.i(94290),n=a.i(90588),o=a.i(33169),p=a.i(37111),q=a.i(41763),r=a.i(8950),s=a.i(91562),t=a.i(49670);a.i(75700);var u=a.i(276),v=a.i(40795),w=a.i(11614),x=a.i(21751),y=a.i(12213),z=a.i(10531),A=a.i(93695),B=a.i(1082),C=a.i(69726);a.i(70408);var D=a.i(22922),E=a.i(71717),F=a.i(85034),G=a.i(68113),H=a.i(66482);let I=["",{children:["__PAGE__",{},{metadata:{},page:[()=>a.r(79835),"[project]/node_modules/next/dist/client/components/builtin/app-error.js"]}]},{metadata:{icon:[async a=>[{url:(0,b.fillMetadataSegment)("//",await a.params,"favicon.ico")+`?${c.default.src.split("/").splice(-1)[0]}`,sizes:`${c.default.width}x${c.default.height}`,type:"image/x-icon"}]]}}],J={require:a.r.bind(a),loadChunk:a.l.bind(a)},K=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/_global-error/page",pathname:"/_global-error",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:I},distDir:"./.next",relativeProjectDir:""});async function L(a,b,c){var d;K.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let M=!!(0,h.getRequestMeta)(a,"minimalMode"),N="/_global-error/page";N=N.replace(/\/index$/,"")||"/";let O=await K.prepare(a,b,{srcPage:N,multiZoneDraftMode:!1});if(!O)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:P,query:Q,params:R,pageIsDynamic:S,buildManifest:T,nextFontManifest:U,reactLoadableManifest:V,serverActionsManifest:W,clientReferenceManifest:X,subresourceIntegrityManifest:Y,prerenderManifest:Z,isDraftMode:$,resolvedPathname:_,revalidateOnlyGenerated:aa,routerServerContext:ab,nextConfig:ac,parsedUrl:ad,interceptionRoutePatterns:ae,deploymentId:af}=O,ag=(0,q.normalizeAppPath)(N),{isOnDemandRevalidate:ah}=O,ai=ac.experimental.ppr&&!ac.cacheComponents&&(0,H.isInterceptionRouteAppPath)(_)?null:K.match(_,Z),aj=!!Z.routes[_],ak=a.headers["user-agent"]||"",al=(0,t.getBotType)(ak),am=(0,p.isHtmlBotRequest)(a),an=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[s.NEXT_ROUTER_PREFETCH_HEADER],ao=(0,h.getRequestMeta)(a,"isRSCRequest")??!!a.headers[s.RSC_HEADER],ap=(0,r.getIsPossibleServerAction)(a),aq=(0,m.checkIsAppPPREnabled)(ac.experimental.ppr);if(!(0,h.getRequestMeta)(a,"postponed")&&aq&&"1"===a.headers[x.NEXT_RESUME_HEADER]&&"POST"===a.method){let b=[];for await(let c of a)b.push(c);let c=Buffer.concat(b).toString("utf8");(0,h.addRequestMeta)(a,"postponed",c)}let ar=aq&&(null==(d=Z.routes[ag]??Z.dynamicRoutes[ag])?void 0:d.renderingMode)==="PARTIALLY_STATIC",as=!1,at=!1,au=ar?(0,h.getRequestMeta)(a,"postponed"):void 0,av=ar&&ao&&!an;M&&(av=av&&!!au);let aw=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ax=(!am||!ar)&&(!ak||(0,p.shouldServeStreamingMetadata)(ak,ac.htmlLimitedBots)),ay=!!((ai||aj||Z.routes[ag])&&!(am&&ar)),az=ar&&!0===ac.cacheComponents,aA=!0===K.isDev||!ay||"string"==typeof au||(az&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?av&&!M:av),aB=am&&ar,aC=null;$||!ay||aA||ap||au||av||(aC=_);let aD=aC;!aD&&K.isDev&&(aD=_),K.isDev||$||!ay||!ao||av||(0,k.stripFlightHeaders)(a.headers);let aE={...D,tree:I,GlobalError:C.default,handler:L,routeModule:K,__next_app__:J};W&&X&&(0,o.setManifestsSingleton)({page:N,clientReferenceManifest:X,serverActionsManifest:W});let aF=a.method||"GET",aG=(0,g.getTracer)(),aH=aG.getActiveScopeSpan(),aI=async()=>((null==ab?void 0:ab.render404)?await ab.render404(a,b,ad,!1):b.end("This page could not be found"),null);try{let d=K.getVaryHeader(_,ae);b.setHeader("Vary",d);let f=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return K.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aG.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aF} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aF} ${N}`)})},k=(0,h.getRequestMeta)(a,"incrementalCache"),m=async({span:d,postponed:e,fallbackRouteParams:g,forceStaticRender:i})=>{let l={query:Q,params:R,page:ag,sharedContext:{buildId:P},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aE,Component:(0,j.interopDefault)(aE),params:R,routeModule:K,page:N,postponed:e,shouldWaitOnAllReady:aB,serveStreamingMetadata:ax,supportsDynamicResponse:"string"==typeof e||aA,buildManifest:T,nextFontManifest:U,reactLoadableManifest:V,subresourceIntegrityManifest:Y,setCacheStatus:null==ab?void 0:ab.setCacheStatus,setIsrStatus:null==ab?void 0:ab.setIsrStatus,setReactDebugChannel:null==ab?void 0:ab.setReactDebugChannel,sendErrorsToBrowser:null==ab?void 0:ab.sendErrorsToBrowser,dir:require("path").join(process.cwd(),K.relativeProjectDir),isDraftMode:$,botType:al,isOnDemandRevalidate:ah,isPossibleServerAction:ap,assetPrefix:ac.assetPrefix,nextConfigOutput:ac.output,crossOrigin:ac.crossOrigin,trailingSlash:ac.trailingSlash,images:ac.images,previewProps:Z.preview,deploymentId:af,enableTainting:ac.experimental.taint,htmlLimitedBots:ac.htmlLimitedBots,reactMaxHeadersLength:ac.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:k,cacheLifeProfiles:ac.cacheLife,basePath:ac.basePath,serverActions:ac.experimental.serverActions,...as||at?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:as}:{},cacheComponents:!!ac.cacheComponents,experimental:{isRoutePPREnabled:ar,expireTime:ac.expireTime,staleTimes:ac.experimental.staleTimes,dynamicOnHover:!!ac.experimental.dynamicOnHover,inlineCss:!!ac.experimental.inlineCss,authInterrupts:!!ac.experimental.authInterrupts,clientTraceMetadata:ac.experimental.clientTraceMetadata||[],clientParamParsingOrigins:ac.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,B.parseMaxPostponedStateSize)(ac.experimental.maxPostponedStateSize)},waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>K.onRequestError(a,b,d,e,ab),err:(0,h.getRequestMeta)(a,"invokeError"),dev:K.isDev}};as&&(l.renderOpts.nextExport=!0,l.renderOpts.supportsDynamicResponse=!1,l.renderOpts.isDebugDynamicAccesses=as),i&&(l.renderOpts.supportsDynamicResponse=!1);let m=await f(d,l),{metadata:n}=m,{cacheControl:o,headers:p={},fetchTags:q,fetchMetrics:r}=n;if(q&&(p[x.NEXT_CACHE_TAGS_HEADER]=q),a.fetchMetrics=r,ay&&(null==o?void 0:o.revalidate)===0&&!K.isDev&&!ar){let a=n.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${_}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
2
2
|
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:u.CachedRouteKind.APP_PAGE,html:m,headers:p,rscData:n.flightData,postponed:n.postponed,status:n.statusCode,segmentData:n.segmentData},cacheControl:o}},o=async({hasResolved:d,previousCacheEntry:f,isRevalidating:g,span:i,forceStaticRender:j=!1})=>{let l,p=!1===K.isDev,q=d||b.writableEnded;if(ah&&aa&&!f&&!M)return(null==ab?void 0:ab.render404)?await ab.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(ai&&(l=(0,v.parseFallbackField)(ai.fallback)),l===v.FallbackMode.PRERENDER&&(0,t.isBot)(ak)&&(!ar||am)&&(l=v.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ah=!0),ah&&(l!==v.FallbackMode.NOT_FOUND||f)&&(l=v.FallbackMode.BLOCKING_STATIC_RENDER),!M&&l!==v.FallbackMode.BLOCKING_STATIC_RENDER&&aD&&!q&&!$&&S&&(p||!aj)){if((p||ai)&&l===v.FallbackMode.NOT_FOUND){if(ac.experimental.adapterPath)return await aI();throw new A.NoFallbackError}if(ar&&(ac.cacheComponents?!av:!ao)){let b=p&&"string"==typeof(null==ai?void 0:ai.fallback)?ai.fallback:ag,d=p&&(null==ai?void 0:ai.fallbackRouteParams)?(0,n.createOpaqueFallbackRouteParams)(ai.fallbackRouteParams):at?(0,n.getFallbackRouteParams)(ag,K):null,f=await K.handleResponse({cacheKey:b,req:a,nextConfig:ac,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:Z,isRoutePPREnabled:ar,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:d,forceStaticRender:!1}),waitUntil:c.waitUntil,isMinimalMode:M});if(null===f)return null;if(f)return delete f.cacheControl,f}}let r=ah||g||!au?void 0:au;if(az&&!M&&k&&av&&!j){let b=await k.get(_,{kind:u.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===u.CachedRouteKind.APP_PAGE&&(r=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,G.scheduleOnNextTick)(async()=>{let b=K.getResponseCache(a);try{await b.revalidate(_,k,ar,!1,a=>o({...a,forceStaticRender:!0}),null,d,c.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if(as&&void 0!==r)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:u.CachedRouteKind.PAGES,html:w.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let s=p&&(null==ai?void 0:ai.fallbackRouteParams)&&(0,h.getRequestMeta)(a,"renderFallbackShell")?(0,n.createOpaqueFallbackRouteParams)(ai.fallbackRouteParams):at?(0,n.getFallbackRouteParams)(ag,K):null;return m({span:i,postponed:r,fallbackRouteParams:s,forceStaticRender:j})},p=async d=>{var f,g,i,j,k;let l,n=await K.handleResponse({cacheKey:aC,responseGenerator:a=>o({span:d,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ah,isRoutePPREnabled:ar,req:a,nextConfig:ac,prerenderManifest:Z,waitUntil:c.waitUntil,isMinimalMode:M});if($&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),K.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!n){if(aC)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof n.value.postponed;ay&&!av&&(!p||an)&&(M||b.setHeader("x-nextjs-cache",ah?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(s.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=n;if(au)l={revalidate:0,expire:void 0};else if(av)l={revalidate:0,expire:void 0};else if(!K.isDev)if($)l={revalidate:0,expire:void 0};else if(ay){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??ac.expireTime}}else l={revalidate:x.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(n.cacheControl=l,"string"==typeof aw&&(null==q?void 0:q.kind)===u.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(s.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[x.NEXT_CACHE_TAGS_HEADER];M&&ay&&c&&"string"==typeof c&&b.setHeader(x.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(aw);return void 0!==d?(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:w.default.fromStatic(d,s.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:w.default.EMPTY,cacheControl:n.cacheControl}))}let r=az?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r(n,{url:(0,h.getRequestMeta)(a,"initURL")??a.url}))return null;if(q.headers){let a={...q.headers};for(let[c,d]of(M&&ay||delete a[x.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let t=null==(g=q.headers)?void 0:g[x.NEXT_CACHE_TAGS_HEADER];if(M&&ay&&t&&"string"==typeof t&&b.setHeader(x.NEXT_CACHE_TAGS_HEADER,t),!q.status||ao&&ar||(b.statusCode=q.status),!M&&q.status&&E.RedirectStatusCode[q.status]&&ao&&(b.statusCode=200),p&&!av&&b.setHeader(s.NEXT_DID_POSTPONE_HEADER,"1"),ao&&!$){if(void 0===q.rscData){if(q.html.contentType!==s.RSC_CONTENT_TYPE_HEADER)if(ac.cacheComponents)return b.statusCode=404,(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:w.default.EMPTY,cacheControl:n.cacheControl});else throw Object.defineProperty(new F.InvariantError(`Expected RSC response, got ${q.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:q.html,cacheControl:n.cacheControl})}return(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:w.default.fromStatic(q.rscData,s.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let v=q.html;if(!p||M||ao)return(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:v,cacheControl:n.cacheControl});if(as)return v.push(new ReadableStream({start(a){a.enqueue(y.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}});let A=new TransformStream;return v.push(A.readable),m({span:d,postponed:q.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(A.writable)}).catch(a=>{A.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}})};if(!aH)return await aG.withPropagatedContext(a.headers,()=>aG.trace(i.BaseServerSpan.handleRequest,{spanName:`${aF} ${N}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aF,"http.target":a.url}},p));await p(aH)}catch(b){throw b instanceof A.NoFallbackError||await K.onRequestError(a,b,{routerKind:"App Router",routePath:N,routeType:"render",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:ay,isOnDemandRevalidate:ah})},!1,ab),b}}a.s(["__next_app__",0,J,"handler",()=>L,"routeModule",0,K],88220),a.i(88220),a.s(["ClientPageRoot",()=>D.ClientPageRoot,"ClientSegmentRoot",()=>D.ClientSegmentRoot,"Fragment",()=>D.Fragment,"GlobalError",()=>C.default,"HTTPAccessFallbackBoundary",()=>D.HTTPAccessFallbackBoundary,"LayoutRouter",()=>D.LayoutRouter,"Postpone",()=>D.Postpone,"RenderFromTemplateContext",()=>D.RenderFromTemplateContext,"RootLayoutBoundary",()=>D.RootLayoutBoundary,"SegmentViewNode",()=>D.SegmentViewNode,"SegmentViewStateNode",()=>D.SegmentViewStateNode,"__next_app__",0,J,"actionAsyncStorage",()=>D.actionAsyncStorage,"captureOwnerStack",()=>D.captureOwnerStack,"collectSegmentData",()=>D.collectSegmentData,"createElement",()=>D.createElement,"createMetadataComponents",()=>D.createMetadataComponents,"createPrerenderParamsForClientSegment",()=>D.createPrerenderParamsForClientSegment,"createPrerenderSearchParamsForClientPage",()=>D.createPrerenderSearchParamsForClientPage,"createServerParamsForServerSegment",()=>D.createServerParamsForServerSegment,"createServerSearchParamsForServerPage",()=>D.createServerSearchParamsForServerPage,"createTemporaryReferenceSet",()=>D.createTemporaryReferenceSet,"decodeAction",()=>D.decodeAction,"decodeFormState",()=>D.decodeFormState,"decodeReply",()=>D.decodeReply,"handler",()=>L,"patchFetch",()=>D.patchFetch,"preconnect",()=>D.preconnect,"preloadFont",()=>D.preloadFont,"preloadStyle",()=>D.preloadStyle,"prerender",()=>D.prerender,"renderToReadableStream",()=>D.renderToReadableStream,"routeModule",0,K,"serverHooks",()=>D.serverHooks,"taintObjectReference",()=>D.taintObjectReference,"workAsyncStorage",()=>D.workAsyncStorage,"workUnitAsyncStorage",()=>D.workUnitAsyncStorage],5269)}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=node_modules_next_dist_f21d913a._.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
2
|
-
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/b9a0fabf54a78ef2.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[97367,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"ViewportBoundary\"]\n9:I[97367,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"MetadataBoundary\"]\nb:I[68027,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"
|
|
1
|
+
<!DOCTYPE html><!--e0cBbGO5qgXLed5_og5Y_--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/b9a0fabf54a78ef2.js"/><script src="/_next/static/chunks/f2f58a7e93290fbb.js" async=""></script><script src="/_next/static/chunks/e2ccf5908cad5a88.js" async=""></script><script src="/_next/static/chunks/turbopack-7b5dc393c5d3964b.js" async=""></script><script src="/_next/static/chunks/2f236954d6a65e12.js" async=""></script><title>500: Internal Server Error.</title><link rel="icon" href="/favicon.ico?favicon.0b3bf435.ico" sizes="256x256" type="image/x-icon"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
|
|
2
|
+
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/b9a0fabf54a78ef2.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[97367,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"ViewportBoundary\"]\n9:I[97367,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"MetadataBoundary\"]\nb:I[68027,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"e0cBbGO5qgXLed5_og5Y_\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"c:I[27201,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"IconMark\"]\n6:null\na:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0b3bf435.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Lc\",\"1\",{}]]\n"])</script></body></html>
|
|
@@ -30,7 +30,11 @@ const IS_MAC = process.platform === 'darwin';
|
|
|
30
30
|
function getAntigravityBinary(): string {
|
|
31
31
|
// Allow explicit override via env
|
|
32
32
|
if (process.env.ANTIGRAVITY_BINARY) {
|
|
33
|
-
|
|
33
|
+
const customBin = process.env.ANTIGRAVITY_BINARY;
|
|
34
|
+
if (!existsSync(customBin)) {
|
|
35
|
+
logger.warn(`[ProcessManager] ANTIGRAVITY_BINARY set to "${customBin}" but file does not exist.`);
|
|
36
|
+
}
|
|
37
|
+
return customBin;
|
|
34
38
|
}
|
|
35
39
|
|
|
36
40
|
if (IS_WIN) {
|
|
@@ -39,11 +43,14 @@ function getAntigravityBinary(): string {
|
|
|
39
43
|
resolve(process.env.LOCALAPPDATA || '', 'Programs', 'Antigravity', 'Antigravity.exe'),
|
|
40
44
|
resolve(process.env.PROGRAMFILES || 'C:\\Program Files', 'Google', 'Antigravity', 'Antigravity.exe'),
|
|
41
45
|
resolve(process.env.PROGRAMFILES || 'C:\\Program Files', 'Antigravity', 'Antigravity.exe'),
|
|
46
|
+
// Also check x86 Program Files
|
|
47
|
+
resolve(process.env['PROGRAMFILES(X86)'] || 'C:\\Program Files (x86)', 'Antigravity', 'Antigravity.exe'),
|
|
42
48
|
];
|
|
43
49
|
for (const candidate of candidates) {
|
|
44
50
|
if (candidate && existsSync(candidate)) return candidate;
|
|
45
51
|
}
|
|
46
52
|
// Fallback — assume it's in PATH
|
|
53
|
+
logger.warn('[ProcessManager] Antigravity.exe not found in known locations. Falling back to PATH lookup.');
|
|
47
54
|
return 'Antigravity.exe';
|
|
48
55
|
}
|
|
49
56
|
|
|
@@ -67,13 +74,14 @@ function getAntigravityBinary(): string {
|
|
|
67
74
|
async function killAllAntigravity(): Promise<void> {
|
|
68
75
|
try {
|
|
69
76
|
if (IS_WIN) {
|
|
70
|
-
|
|
77
|
+
// taskkill is case-insensitive; /T kills the entire process tree
|
|
78
|
+
await execAsync('taskkill /F /IM Antigravity.exe /T 2>nul || exit 0');
|
|
71
79
|
} else {
|
|
72
80
|
await execAsync('killall antigravity 2>/dev/null || true');
|
|
73
81
|
}
|
|
74
82
|
logger.info('[ProcessManager] Killed existing Antigravity processes.');
|
|
75
|
-
// Wait for process cleanup
|
|
76
|
-
await new Promise(resolve => setTimeout(resolve, 1500));
|
|
83
|
+
// Wait for process cleanup — Windows process trees can take longer to tear down
|
|
84
|
+
await new Promise(resolve => setTimeout(resolve, IS_WIN ? 2500 : 1500));
|
|
77
85
|
} catch {
|
|
78
86
|
// Ignore errors - process might not exist
|
|
79
87
|
}
|
|
@@ -123,9 +131,9 @@ export async function startCdpServer(
|
|
|
123
131
|
message: string;
|
|
124
132
|
pid?: number;
|
|
125
133
|
}> {
|
|
126
|
-
// Check if CDP is already active
|
|
134
|
+
// Check if CDP is already active and healthy (has workbench pages)
|
|
127
135
|
const status = await isCdpServerActive();
|
|
128
|
-
if (status.active) {
|
|
136
|
+
if (status.active && status.windowCount > 0 && !killExisting) {
|
|
129
137
|
return {
|
|
130
138
|
success: true,
|
|
131
139
|
message: `CDP server already active on port ${CDP_PORT} with ${status.windowCount} window(s).`,
|
|
@@ -138,9 +146,18 @@ export async function startCdpServer(
|
|
|
138
146
|
}
|
|
139
147
|
|
|
140
148
|
const binaryPath = getAntigravityBinary();
|
|
141
|
-
// resolve() handles both absolute ('/home/user/proj') and relative ('my-proj') paths correctly
|
|
149
|
+
// resolve() handles both absolute ('/home/user/proj' or 'C:\Users\proj') and relative ('my-proj') paths correctly
|
|
142
150
|
const absoluteDir = resolve(projectDir || '.');
|
|
143
151
|
|
|
152
|
+
// Validate the binary exists (unless it's a PATH-only fallback like 'Antigravity.exe')
|
|
153
|
+
const isBinaryAbsolute = binaryPath.includes('/') || binaryPath.includes('\\');
|
|
154
|
+
if (isBinaryAbsolute && !existsSync(binaryPath)) {
|
|
155
|
+
return {
|
|
156
|
+
success: false,
|
|
157
|
+
message: `Antigravity binary not found at "${binaryPath}". Set the ANTIGRAVITY_BINARY environment variable to the correct path.`,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
|
|
144
161
|
// Validate the directory exists
|
|
145
162
|
try {
|
|
146
163
|
const stat = statSync(absoluteDir);
|
|
@@ -153,18 +170,24 @@ export async function startCdpServer(
|
|
|
153
170
|
|
|
154
171
|
// Spawn the Antigravity binary
|
|
155
172
|
try {
|
|
156
|
-
logger.info(`[ProcessManager] Starting Antigravity: ${binaryPath} --remote-debugging-port=${CDP_PORT} --new-window ${absoluteDir}`);
|
|
173
|
+
logger.info(`[ProcessManager] Starting Antigravity: ${binaryPath} --remote-debugging-port=${CDP_PORT} --new-window "${absoluteDir}"`);
|
|
157
174
|
logger.info(`[ProcessManager] Platform: ${process.platform}, Binary: ${binaryPath}`);
|
|
158
175
|
|
|
176
|
+
// Build spawn options — cross-platform:
|
|
177
|
+
// - Linux/macOS: detached=true to create an orphan process, shell=false for direct exec
|
|
178
|
+
// - Windows: detached=true to release the child from the parent's console,
|
|
179
|
+
// shell=false (use the resolved binary path directly, NOT through cmd.exe
|
|
180
|
+
// which would break paths with spaces), windowsHide=true to avoid a console flash
|
|
159
181
|
spawnedProcess = spawn(
|
|
160
182
|
binaryPath,
|
|
161
183
|
[`--remote-debugging-port=${CDP_PORT}`, '--new-window', absoluteDir],
|
|
162
184
|
{
|
|
163
|
-
detached:
|
|
185
|
+
detached: true,
|
|
164
186
|
stdio: 'ignore',
|
|
165
187
|
env: { ...process.env },
|
|
166
|
-
|
|
167
|
-
|
|
188
|
+
shell: false,
|
|
189
|
+
// Hide the console window on Windows (no flash)
|
|
190
|
+
windowsHide: true,
|
|
168
191
|
}
|
|
169
192
|
);
|
|
170
193
|
|
|
@@ -243,10 +266,11 @@ export async function openNewWindow(projectDir: string): Promise<{
|
|
|
243
266
|
binaryPath,
|
|
244
267
|
['--new-window', absoluteDir],
|
|
245
268
|
{
|
|
246
|
-
detached:
|
|
269
|
+
detached: true,
|
|
247
270
|
stdio: 'ignore',
|
|
248
271
|
env: { ...process.env },
|
|
249
|
-
shell:
|
|
272
|
+
shell: false,
|
|
273
|
+
windowsHide: true,
|
|
250
274
|
}
|
|
251
275
|
);
|
|
252
276
|
child.unref();
|
|
@@ -2,47 +2,123 @@
|
|
|
2
2
|
* CDP initialization.
|
|
3
3
|
* Ensures the CDP connection is established before any API route runs.
|
|
4
4
|
* Called lazily on first API request.
|
|
5
|
+
*
|
|
6
|
+
* Auto-recovery: If Antigravity is running without CDP, or CDP is a "zombie"
|
|
7
|
+
* (reachable but 0 workbench pages), the proxy will automatically kill existing
|
|
8
|
+
* instances and restart Antigravity with --remote-debugging-port enabled.
|
|
5
9
|
*/
|
|
6
10
|
|
|
7
11
|
import { connectToWorkbench } from './cdp/connection';
|
|
12
|
+
import { isCdpServerActive, startCdpServer } from './cdp/process-manager';
|
|
8
13
|
import { logger } from './logger';
|
|
9
14
|
import ctx from './context';
|
|
10
15
|
|
|
11
16
|
let initialized = false;
|
|
12
17
|
let initPromise: Promise<void> | null = null;
|
|
13
18
|
|
|
19
|
+
/** Maximum number of auto-recovery attempts before giving up */
|
|
20
|
+
const MAX_RECOVERY_ATTEMPTS = 2;
|
|
21
|
+
|
|
14
22
|
export async function ensureCdpConnection(): Promise<void> {
|
|
15
23
|
if (initialized && ctx.workbenchPage) return;
|
|
16
24
|
|
|
17
25
|
if (!initPromise) {
|
|
18
26
|
initPromise = (async () => {
|
|
27
|
+
// First, try a normal connection
|
|
19
28
|
try {
|
|
20
29
|
await connectToWorkbench(ctx);
|
|
21
30
|
initialized = true;
|
|
31
|
+
setupDisconnectHandlers();
|
|
32
|
+
return;
|
|
33
|
+
} catch (e: any) {
|
|
34
|
+
logger.warn('[CDP Init] Initial connection failed:', e.message);
|
|
35
|
+
// Don't give up — try auto-recovery below
|
|
36
|
+
}
|
|
22
37
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
38
|
+
// ── Auto-Recovery ────────────────────────────────────────────
|
|
39
|
+
// Detect the state and attempt to fix it automatically.
|
|
40
|
+
logger.info('[CDP Init] Attempting auto-recovery...');
|
|
41
|
+
|
|
42
|
+
for (let attempt = 1; attempt <= MAX_RECOVERY_ATTEMPTS; attempt++) {
|
|
43
|
+
logger.info(`[CDP Init] Recovery attempt ${attempt}/${MAX_RECOVERY_ATTEMPTS}`);
|
|
44
|
+
|
|
45
|
+
// Check if CDP endpoint is reachable at all
|
|
46
|
+
const status = await isCdpServerActive();
|
|
47
|
+
|
|
48
|
+
if (status.active && status.windowCount === 0) {
|
|
49
|
+
// ZOMBIE STATE: CDP server responds but has 0 workbench pages.
|
|
50
|
+
// This happens when Antigravity was launched without --remote-debugging-port
|
|
51
|
+
// and a second instance with CDP merged into it then exited.
|
|
52
|
+
logger.warn('[CDP Init] Zombie CDP detected: server active but 0 workbench pages. Killing and restarting...');
|
|
53
|
+
} else if (!status.active) {
|
|
54
|
+
// CDP not reachable at all — Antigravity not running or launched without CDP.
|
|
55
|
+
logger.warn('[CDP Init] CDP server not reachable. Starting Antigravity with CDP...');
|
|
56
|
+
} else {
|
|
57
|
+
// CDP is active with windows — something else went wrong in connectToWorkbench.
|
|
58
|
+
// Try connecting again.
|
|
59
|
+
logger.info(`[CDP Init] CDP active with ${status.windowCount} window(s). Retrying connection...`);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Kill existing instances and restart with CDP
|
|
63
|
+
const result = await startCdpServer('.', true);
|
|
64
|
+
|
|
65
|
+
if (!result.success) {
|
|
66
|
+
logger.error(`[CDP Init] Auto-recovery failed: ${result.message}`);
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
32
69
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
70
|
+
logger.info(`[CDP Init] Antigravity restarted: ${result.message}`);
|
|
71
|
+
|
|
72
|
+
// Wait a bit for workbench pages to fully load
|
|
73
|
+
await new Promise(resolve => setTimeout(resolve, 3000));
|
|
74
|
+
|
|
75
|
+
// Reset browser state for a fresh connection
|
|
76
|
+
if (ctx.browser) {
|
|
77
|
+
try { ctx.browser.disconnect(); } catch {}
|
|
78
|
+
ctx.browser = null;
|
|
37
79
|
ctx.workbenchPage = null;
|
|
38
|
-
|
|
80
|
+
ctx.allWorkbenches = [];
|
|
81
|
+
}
|
|
39
82
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
83
|
+
// Try connecting again
|
|
84
|
+
try {
|
|
85
|
+
await connectToWorkbench(ctx);
|
|
86
|
+
initialized = true;
|
|
87
|
+
setupDisconnectHandlers();
|
|
88
|
+
logger.info('[CDP Init] Auto-recovery successful! Connected to workbench.');
|
|
89
|
+
return;
|
|
90
|
+
} catch (retryErr: any) {
|
|
91
|
+
logger.error(`[CDP Init] Recovery attempt ${attempt} connection failed: ${retryErr.message}`);
|
|
92
|
+
}
|
|
43
93
|
}
|
|
94
|
+
|
|
95
|
+
// All recovery attempts failed
|
|
96
|
+
logger.error(`[CDP Init] All ${MAX_RECOVERY_ATTEMPTS} recovery attempts failed. Please start Antigravity manually with --remote-debugging-port=9223`);
|
|
97
|
+
initPromise = null; // Allow retry on next request
|
|
44
98
|
})();
|
|
45
99
|
}
|
|
46
100
|
|
|
47
101
|
await initPromise;
|
|
48
102
|
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Set up handlers for browser disconnect and page close events.
|
|
106
|
+
* This allows auto-reconnect on the next incoming request.
|
|
107
|
+
*/
|
|
108
|
+
function setupDisconnectHandlers() {
|
|
109
|
+
ctx.browser?.on('disconnected', () => {
|
|
110
|
+
logger.error('[CDP] Browser disconnected. Will reconnect on next request.');
|
|
111
|
+
initialized = false;
|
|
112
|
+
initPromise = null;
|
|
113
|
+
ctx.workbenchPage = null;
|
|
114
|
+
ctx.browser = null;
|
|
115
|
+
ctx.allWorkbenches = [];
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
ctx.workbenchPage?.on('close', () => {
|
|
119
|
+
logger.warn('[CDP] Workbench page closed. Will reconnect on next request.');
|
|
120
|
+
initialized = false;
|
|
121
|
+
initPromise = null;
|
|
122
|
+
ctx.workbenchPage = null;
|
|
123
|
+
});
|
|
124
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "antigravity-mobile-proxy",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.9",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "antigravity-mobile-proxy",
|
|
9
|
-
"version": "0.1.
|
|
9
|
+
"version": "0.1.9",
|
|
10
10
|
"hasInstallScript": true,
|
|
11
11
|
"license": "MIT",
|
|
12
12
|
"dependencies": {
|