@alan-zhao/yolk-pi-web 0.7.0 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +16 -16
- package/.next/build-manifest.json +2 -2
- package/.next/required-server-files.js +1 -1
- package/.next/required-server-files.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/terminal/sessions/[id]/events/route.js +2 -2
- package/.next/server/app/api/terminal/sessions/[id]/input/route.js +2 -2
- package/.next/server/app/api/terminal/sessions/[id]/resize/route.js +2 -2
- package/.next/server/app/api/terminal/sessions/[id]/route.js +2 -2
- package/.next/server/app/api/terminal/sessions/route.js +2 -2
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +3 -3
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/page.js +9 -9
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +16 -16
- package/.next/server/chunks/3745.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/static/chunks/app/page-4c4ef33a6728f2cd.js +63 -0
- package/.next/static/css/{1ed20b1c4441c641.css → eb3da56b698c7ed2.css} +1 -1
- package/.next/trace +8 -8
- package/.next/trace-build +1 -1
- package/README.md +74 -50
- package/README.zh-CN.md +87 -54
- package/bin/pi-web.js +38 -5
- package/package.json +1 -1
- package/.next/static/chunks/app/page-6b6ca66e5e2fa1f8.js +0 -63
- /package/.next/static/{rLDftjumkMg_J_8N_bZhp → h1FtfH2CzAaTu3re1D47A}/_buildManifest.js +0 -0
- /package/.next/static/{rLDftjumkMg_J_8N_bZhp → h1FtfH2CzAaTu3re1D47A}/_ssgManifest.js +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
2:I[90484,[],"OutletBoundary"]
|
|
3
3
|
3:"$Sreact.suspense"
|
|
4
|
-
0:{"rsc":["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],null,["$","$L2",null,{"children":["$","$3",null,{"name":"Next.MetadataOutlet","children":"$@4"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"
|
|
4
|
+
0:{"rsc":["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],null,["$","$L2",null,{"children":["$","$3",null,{"name":"Next.MetadataOutlet","children":"$@4"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"h1FtfH2CzAaTu3re1D47A"}
|
|
5
5
|
4:null
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
2:I[57121,[],""]
|
|
3
3
|
3:I[74581,[],""]
|
|
4
4
|
4:[]
|
|
5
|
-
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"
|
|
5
|
+
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"h1FtfH2CzAaTu3re1D47A"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
:HL["/_next/static/media/7deddc85b7ffd1dc-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
2
2
|
:HL["/_next/static/media/ec14413c594b3356-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
3
3
|
:HL["/_next/static/css/88714c00e109ce28.css","style"]
|
|
4
|
-
:HL["/_next/static/css/
|
|
5
|
-
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"_not-found","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"
|
|
4
|
+
:HL["/_next/static/css/eb3da56b698c7ed2.css","style"]
|
|
5
|
+
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"_not-found","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"h1FtfH2CzAaTu3re1D47A"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=2064,a.ids=[2064],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19225:(a,b,c)=>{a.exports=c(44870)},21820:a=>{a.exports=require("os")},25252:(a,b,c)=>{c.d(b,{EI:()=>m,af:()=>n,oN:()=>l});var d=c(29021),e=c(21820),f=c(33873),g=c.n(f),h=c(73746);let i=/^[a-zA-Z]:[\\/]/;function j(a){return i.test(a)||a.startsWith("\\\\")||a.startsWith("//")}function k(a){let b=(0,h.Pt)(a);return[...new Set([a,b].filter(Boolean))]}function l(a){for(let b of(globalThis.__piRegisteredAllowedRoots||(globalThis.__piRegisteredAllowedRoots=new Set),k(a)))try{(0,d.statSync)(b).isDirectory()&&globalThis.__piRegisteredAllowedRoots.add(b)}catch{}globalThis.__piAllowedRootsCache=void 0}async function m(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let{listAllSessions:f}=await c.e(402).then(c.bind(c,40402)),h=await f(),i=new Set;for(let a of h)if(a.cwd)for(let b of k(a.cwd))i.add(b);let j=(0,e.homedir)();try{for(let a of(0,d.readdirSync)(j))if(/^pi-cwd-\d{8}$/.test(a))for(let b of k(g().join(j,a)))i.add(b)}catch{}for(let a of globalThis.__piRegisteredAllowedRoots??[])for(let b of k(a))try{(0,d.statSync)(b).isDirectory()&&i.add(b)}catch{}return globalThis.__piAllowedRootsCache={roots:i,expiresAt:a+5e3},i}function n(a,b){for(let c of b){let b=j(a)||j(c),d=b?g().win32:g(),e=b?"\\":g().sep,f=d.resolve(a),h=d.resolve(c),i=b?f.toLowerCase():f,k=b?h.toLowerCase():h,l=k.endsWith(e)?k:k+e;if(i===k||i.startsWith(l))return!0}return!1}},25607:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(80463),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/terminal/sessions/[id]/events/route",pathname:"/api/terminal/sessions/[id]/events",filename:"route",bundlePath:"app/api/terminal/sessions/[id]/events/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Volumes/01/ExternalStorage/Projects/gitProjects/pi-agnet-web/app/api/terminal/sessions/[id]/events/route.ts",nextConfigOutput:"",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/terminal/sessions/[id]/events/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},54763:a=>{a.exports=require("@lydell/node-pty")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73746:(a,b,c)=>{c.d(b,{Ef:()=>i,Pt:()=>h,r9:()=>g});var d=c(29021),e=c(21820),f=c(33873);function g(a){return"~"===a?(0,e.homedir)():a.startsWith("~/")?(0,f.resolve)((0,e.homedir)(),a.slice(2)):(0,f.isAbsolute)(a)?a:(0,f.resolve)(a)}function h(a){let b=g(a);try{return d.realpathSync.native(b)}catch{return b}}function i(a){let b=h(a);return(0,d.existsSync)(b)?b:null}},73968:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Hx:()=>w,Kd:()=>t,Nu:()=>v,eQ:()=>u,lo:()=>x,n_:()=>s});var e=c(55511),f=c(29021),g=c(33873),h=c(79646),i=c(54763),j=c(25252),k=c(73746),l=c(26021),m=a([l]);l=(m.then?(await m)():m)[0];class x extends Error{constructor(a,b=400){super(a),this.status=b,this.name="TerminalError"}}function n(){return globalThis.__piTerminalSessions||(globalThis.__piTerminalSessions=new Map),globalThis.__piTerminalSessions}function o(a){let b=n().get(a);if(!b||b.closed)throw new x("Terminal session not found",404);return b}function p(a,b){a.buffer.push(b),a.buffer.length>500&&a.buffer.splice(0,a.buffer.length-500)}function q(a){a.cleanupTimer&&clearTimeout(a.cleanupTimer),a.cleanupTimer=setTimeout(()=>{0===a.subscribers.size&&w(a.id)},5e3)}function r(a,b){return{write:c=>{a.stdin.write(b?c.replace(/\r/g,"\n"):c)},resize:()=>{},kill:()=>{a.kill()},onData:b=>{a.stdout.on("data",a=>b(a.toString())),a.stderr.on("data",a=>b(a.toString()))},onExit:b=>{a.on("exit",(a,c)=>b({exitCode:a??0,signal:c??void 0}))}}}async function s(a){let b,c=(0,l.WP)().terminal;if(!c.enabled)throw new x("Web terminal is disabled",403);if("string"!=typeof a.cwd||!a.cwd.trim())throw new x("cwd is required");let d=(0,k.Ef)(a.cwd);if(!d)throw new x("cwd does not exist");let m=await (0,j.EI)();if(!(0,j.af)(d,m))throw new x("cwd is outside allowed workspaces",403);let o=function(a){if("custom"===a.shell){let b=a.customShellPath.trim();if(!b)throw new x("Custom shell path is required when terminal shell is custom");if(!(0,g.isAbsolute)(b))throw new x("Custom shell path must be an absolute path");try{if(!(0,f.statSync)(b).isFile())throw new x("Custom shell path must point to a file");(0,f.accessSync)(b,f.constants.X_OK)}catch(a){if(a instanceof x)throw a;throw new x(`Custom shell path is not executable or does not exist: ${b}`)}return b}return function(a){if("win32"===process.platform){let b=(0,h.spawnSync)("where",[a],{encoding:"utf8"}),c=b.stdout.split(/\r?\n/).map(a=>a.trim()).find(Boolean);if(0===b.status&&c)return c;throw new x(`Shell is not available on PATH: ${a}`)}let b=(0,h.spawnSync)("/bin/sh",["-lc",`command -v ${a}`],{encoding:"utf8"}),c=b.stdout.trim().split(/\r?\n/)[0];if(0===b.status&&c)return c;throw new x(`Shell is not available on PATH: ${a}`)}(a.shell)}(c),s={...process.env,...function(a){let b={};for(let[c,d]of Object.entries(a)){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(c))throw new x(`Invalid environment variable name: ${c}`);b[c]=d}return b}(c.env)},t="number"==typeof a.cols&&Number.isInteger(a.cols)&&a.cols>0?a.cols:80,u="number"==typeof a.rows&&Number.isInteger(a.rows)&&a.rows>0?a.rows:24,v=(0,e.randomUUID)();try{b=function(a,b,c,d,e){try{var f;return{backend:"pty",process:(f=i.spawn(a,[],{name:"xterm-256color",cols:d,rows:e,cwd:b,env:c}),{write:a=>f.write(a),resize:(a,b)=>f.resize(a,b),kill:()=>f.kill(),onData:a=>{f.onData(a)},onExit:a=>{f.onExit(({exitCode:b,signal:c})=>a({exitCode:b,signal:c}))}})}}catch{let d=function(a,b,c){if("darwin"===process.platform||(0,h.spawnSync)("/usr/bin/env",["script","--version"],{encoding:"utf8"}).error)return null;let d={cwd:b,env:{...c,TERM:c.TERM??"xterm-256color"},stdio:"pipe"},e=(0,h.spawn)("script",["-q","-c",`'${a.replace(/'/g,"'\\''")}' -i`,"/dev/null"],d);return{backend:"script",process:r(e,!1)}}(a,b,c);if(d)return d;let e=(0,h.spawn)(a,["-i"],{cwd:b,env:{...c,TERM:c.TERM??"xterm-256color"},stdio:"pipe"});return{backend:"pipe",process:r(e,!0)}}}(o,d,s,t,u)}catch(a){throw new x(`Failed to start shell: ${a instanceof Error?a.message:String(a)}`,500)}let w={id:v,cwd:d,shell:o,process:b.process,backend:b.backend,subscribers:new Set,buffer:[],cleanupTimer:null,closed:!1};return n().set(v,w),q(w),"script"===w.backend&&p(w,"[node-pty unavailable; using script PTY fallback.]\r\n"),"pipe"===w.backend&&p(w,"[PTY unavailable; using pipe fallback. Completion and interactive programs may be limited.]\r\n"),b.process.onData(a=>{for(let b of(p(w,a),w.subscribers))b(a)}),b.process.onExit(({exitCode:a,signal:b})=>{let c=`\r
|
|
1
|
+
"use strict";(()=>{var a={};a.id=2064,a.ids=[2064],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19225:(a,b,c)=>{a.exports=c(44870)},21820:a=>{a.exports=require("os")},25252:(a,b,c)=>{c.d(b,{EI:()=>m,af:()=>n,oN:()=>l});var d=c(29021),e=c(21820),f=c(33873),g=c.n(f),h=c(73746);let i=/^[a-zA-Z]:[\\/]/;function j(a){return i.test(a)||a.startsWith("\\\\")||a.startsWith("//")}function k(a){let b=(0,h.Pt)(a);return[...new Set([a,b].filter(Boolean))]}function l(a){for(let b of(globalThis.__piRegisteredAllowedRoots||(globalThis.__piRegisteredAllowedRoots=new Set),k(a)))try{(0,d.statSync)(b).isDirectory()&&globalThis.__piRegisteredAllowedRoots.add(b)}catch{}globalThis.__piAllowedRootsCache=void 0}async function m(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let{listAllSessions:f}=await c.e(402).then(c.bind(c,40402)),h=await f(),i=new Set;for(let a of h)if(a.cwd)for(let b of k(a.cwd))i.add(b);let j=(0,e.homedir)();try{for(let a of(0,d.readdirSync)(j))if(/^pi-cwd-\d{8}$/.test(a))for(let b of k(g().join(j,a)))i.add(b)}catch{}for(let a of globalThis.__piRegisteredAllowedRoots??[])for(let b of k(a))try{(0,d.statSync)(b).isDirectory()&&i.add(b)}catch{}return globalThis.__piAllowedRootsCache={roots:i,expiresAt:a+5e3},i}function n(a,b){for(let c of b){let b=j(a)||j(c),d=b?g().win32:g(),e=b?"\\":g().sep,f=d.resolve(a),h=d.resolve(c),i=b?f.toLowerCase():f,k=b?h.toLowerCase():h,l=k.endsWith(e)?k:k+e;if(i===k||i.startsWith(l))return!0}return!1}},25607:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(80463),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/terminal/sessions/[id]/events/route",pathname:"/api/terminal/sessions/[id]/events",filename:"route",bundlePath:"app/api/terminal/sessions/[id]/events/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Volumes/01/ExternalStorage/Projects/gitProjects/pi-agnet-web/app/api/terminal/sessions/[id]/events/route.ts",nextConfigOutput:"",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/terminal/sessions/[id]/events/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},54763:a=>{a.exports=require("@lydell/node-pty")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73746:(a,b,c)=>{c.d(b,{Ef:()=>i,Pt:()=>h,r9:()=>g});var d=c(29021),e=c(21820),f=c(33873);function g(a){return"~"===a?(0,e.homedir)():a.startsWith("~/")?(0,f.resolve)((0,e.homedir)(),a.slice(2)):(0,f.isAbsolute)(a)?a:(0,f.resolve)(a)}function h(a){let b=g(a);try{return d.realpathSync.native(b)}catch{return b}}function i(a){let b=h(a);return(0,d.existsSync)(b)?b:null}},73968:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Hx:()=>y,Kd:()=>v,Nu:()=>x,eQ:()=>w,lo:()=>z,n_:()=>u});var e=c(55511),f=c(29021),g=c(33873),h=c(79646),i=c(54763),j=c(25252),k=c(73746),l=c(26021),m=a([l]);l=(m.then?(await m)():m)[0];class z extends Error{constructor(a,b=400){super(a),this.status=b,this.name="TerminalError"}}function n(){return globalThis.__piTerminalSessions||(globalThis.__piTerminalSessions=new Map),globalThis.__piTerminalSessions}function o(a){let b=(process.env.PATHEXT??".COM;.EXE;.BAT;.CMD").split(";").filter(Boolean),c=a.includes(".")?[a]:[a,...b.map(b=>`${a}${b.toLowerCase()}`),...b.map(b=>`${a}${b.toUpperCase()}`)];for(let a of(process.env.PATH??"").split(g.delimiter))for(let b of c){let c=`${a.replace(/[\\/]$/,"")}\\${b}`;try{if((0,f.statSync)(c).isFile())return c}catch{}}return null}function p(a){let b=n().get(a);if(!b||b.closed)throw new z("Terminal session not found",404);return b}function q(a,b){a.buffer.push(b),a.buffer.length>500&&a.buffer.splice(0,a.buffer.length-500)}function r(a){a.cleanupTimer&&clearTimeout(a.cleanupTimer),a.cleanupTimer=setTimeout(()=>{0===a.subscribers.size&&y(a.id)},5e3)}function s(a,b){return{write:c=>{a.stdin.write(b?c.replace(/\r/g,"\n"):c)},resize:()=>{},kill:()=>{a.kill()},onData:b=>{a.stdout.on("data",a=>b(a.toString())),a.stderr.on("data",a=>b(a.toString()))},onExit:b=>{a.on("exit",(a,c)=>b({exitCode:a??0,signal:c??void 0}))}}}function t(a){return`'${a.replace(/'/g,"'\\''")}'`}async function u(a){let b,c=(0,l.WP)().terminal;if(!c.enabled)throw new z("Web terminal is disabled",403);if("string"!=typeof a.cwd||!a.cwd.trim())throw new z("cwd is required");let d=(0,k.Ef)(a.cwd);if(!d)throw new z("cwd does not exist");let m=await (0,j.EI)();if(!(0,j.af)(d,m))throw new z("cwd is outside allowed workspaces",403);let p=function(a){if("custom"===a.shell){let b=a.customShellPath.trim();if(!b)throw new z("Custom shell path is required when terminal shell is custom");if(!(0,g.isAbsolute)(b))throw new z("Custom shell path must be an absolute path");try{if(!(0,f.statSync)(b).isFile())throw new z("Custom shell path must point to a file");"win32"!==process.platform&&(0,f.accessSync)(b,f.constants.X_OK)}catch(a){if(a instanceof z)throw a;throw new z(`Custom shell path is not executable or does not exist: ${b}`)}return{command:b,args:[],label:b}}return function(a){if("win32"===process.platform){let b="cmd"===a?"cmd.exe":"powershell"===a?"powershell.exe":"pwsh"===a?"pwsh.exe":a,c=o(b);if(!c)throw new z(`Shell is not available on PATH: ${b}`);return"cmd"===a?{command:c,args:[],label:"cmd"}:"powershell"===a||"pwsh"===a?{command:c,args:["-NoLogo"],label:a}:{command:c,args:["-i"],label:a}}if("cmd"===a||"powershell"===a||"pwsh"===a)throw new z(`Shell is only supported on Windows: ${a}`);let b=(0,h.spawnSync)("/bin/sh",["-lc",`command -v ${a}`],{encoding:"utf8"}),c=b.stdout.trim().split(/\r?\n/)[0];if(0===b.status&&c)return{command:c,args:["-i"],label:a};throw new z(`Shell is not available on PATH: ${a}`)}(a.shell)}(c),u={...process.env,...function(a){let b={};for(let[c,d]of Object.entries(a)){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(c))throw new z(`Invalid environment variable name: ${c}`);b[c]=d}return b}(c.env)},v="number"==typeof a.cols&&Number.isInteger(a.cols)&&a.cols>0?a.cols:80,w="number"==typeof a.rows&&Number.isInteger(a.rows)&&a.rows>0?a.rows:24,x=(0,e.randomUUID)();try{b=function(a,b,c,d,e){try{var f;return{backend:"pty",process:(f=i.spawn(a.command,a.args,{name:"xterm-256color",cols:d,rows:e,cwd:b,env:c}),{write:a=>f.write(a),resize:(a,b)=>f.resize(a,b),kill:()=>f.kill(),onData:a=>{f.onData(a)},onExit:a=>{f.onExit(({exitCode:b,signal:c})=>a({exitCode:b,signal:c}))}})}}catch{let d=function(a,b,c){if("darwin"===process.platform||"win32"===process.platform||!function(a){if("win32"===process.platform)return null!==o(a);let b=(0,h.spawnSync)("/bin/sh",["-lc",`command -v ${a}`],{encoding:"utf8"});return 0===b.status&&!!b.stdout.trim()}("script"))return null;let d={cwd:b,env:{...c,TERM:c.TERM??"xterm-256color"},stdio:"pipe"},e=[t(a.command),...a.args.map(t)].join(" "),f=(0,h.spawn)("script",["-q","-c",e,"/dev/null"],d);return{backend:"script",process:s(f,!1)}}(a,b,c);if(d)return d;let e=(0,h.spawn)(a.command,a.args,{cwd:b,env:{...c,TERM:c.TERM??"xterm-256color"},stdio:"pipe"});return{backend:"pipe",process:s(e,"win32"!==process.platform)}}}(p,d,u,v,w)}catch(a){throw new z(`Failed to start shell: ${a instanceof Error?a.message:String(a)}`,500)}let y={id:x,cwd:d,shell:p.label,process:b.process,backend:b.backend,subscribers:new Set,buffer:[],cleanupTimer:null,closed:!1};return n().set(x,y),r(y),"script"===y.backend&&q(y,"[node-pty unavailable; using script PTY fallback.]\r\n"),"pipe"===y.backend&&q(y,"[PTY unavailable; using pipe fallback. Completion and interactive programs may be limited.]\r\n"),b.process.onData(a=>{for(let b of(q(y,a),y.subscribers))b(a)}),b.process.onExit(({exitCode:a,signal:b})=>{let c=`\r
|
|
2
2
|
[terminal exited with code ${a}${b?`, signal ${b}`:""}]\r
|
|
3
|
-
`;for(let a of(
|
|
3
|
+
`;for(let a of(q(y,c),y.subscribers))a(c);y.closed=!0,n().delete(x)}),{id:x,cwd:d,shell:y.shell,backend:y.backend}}function v(a,b){let c=p(a);for(let a of(c.cleanupTimer&&(clearTimeout(c.cleanupTimer),c.cleanupTimer=null),c.subscribers.add(b),c.buffer))b(a);return()=>{c.subscribers.delete(b),c.closed||0!==c.subscribers.size||r(c)}}function w(a,b){if("string"!=typeof b)throw new z("input data must be a string");p(a).process.write(b)}function x(a,b,c){if("number"!=typeof b||!Number.isInteger(b)||b<=0)throw new z("cols must be a positive integer");if("number"!=typeof c||!Number.isInteger(c)||c<=0)throw new z("rows must be a positive integer");p(a).process.resize(b,c)}function y(a){let b=n().get(a);if(b&&!b.closed){b.closed=!0,b.cleanupTimer&&clearTimeout(b.cleanupTimer),b.cleanupTimer=null,n().delete(a);try{b.process.kill()}catch{}}}d()}catch(a){d(a)}})},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},79646:a=>{a.exports=require("child_process")},80463:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>g,dynamic:()=>h,runtime:()=>i});var e=c(73968),f=a([e]);e=(f.then?(await f)():f)[0];let h="force-dynamic",i="nodejs";async function g(a,{params:b}){let{id:c}=await b,d=new ReadableStream({start(b){let d=new TextEncoder,f=a=>{b.enqueue(d.encode(`data: ${JSON.stringify(a)}
|
|
4
4
|
|
|
5
5
|
`))},g=null;try{f({type:"connected",sessionId:c}),g=(0,e.Kd)(c,a=>{f({type:"output",chunk:a})})}catch(a){f({type:"error",error:a instanceof Error?a.message:String(a)}),b.close();return}let h=setInterval(()=>{try{b.enqueue(d.encode(":\n\n"))}catch{}},3e4);a.signal?.addEventListener("abort",()=>{clearInterval(h),g?.();try{b.close()}catch{}},{once:!0})}});return new Response(d,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}d()}catch(a){d(a)}})},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}}};var b=require("../../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,3745],()=>b(b.s=25607));module.exports=c})();
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=473,a.ids=[473],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},25252:(a,b,c)=>{c.d(b,{EI:()=>m,af:()=>n,oN:()=>l});var d=c(29021),e=c(21820),f=c(33873),g=c.n(f),h=c(73746);let i=/^[a-zA-Z]:[\\/]/;function j(a){return i.test(a)||a.startsWith("\\\\")||a.startsWith("//")}function k(a){let b=(0,h.Pt)(a);return[...new Set([a,b].filter(Boolean))]}function l(a){for(let b of(globalThis.__piRegisteredAllowedRoots||(globalThis.__piRegisteredAllowedRoots=new Set),k(a)))try{(0,d.statSync)(b).isDirectory()&&globalThis.__piRegisteredAllowedRoots.add(b)}catch{}globalThis.__piAllowedRootsCache=void 0}async function m(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let{listAllSessions:f}=await c.e(402).then(c.bind(c,40402)),h=await f(),i=new Set;for(let a of h)if(a.cwd)for(let b of k(a.cwd))i.add(b);let j=(0,e.homedir)();try{for(let a of(0,d.readdirSync)(j))if(/^pi-cwd-\d{8}$/.test(a))for(let b of k(g().join(j,a)))i.add(b)}catch{}for(let a of globalThis.__piRegisteredAllowedRoots??[])for(let b of k(a))try{(0,d.statSync)(b).isDirectory()&&i.add(b)}catch{}return globalThis.__piAllowedRootsCache={roots:i,expiresAt:a+5e3},i}function n(a,b){for(let c of b){let b=j(a)||j(c),d=b?g().win32:g(),e=b?"\\":g().sep,f=d.resolve(a),h=d.resolve(c),i=b?f.toLowerCase():f,k=b?h.toLowerCase():h,l=k.endsWith(e)?k:k+e;if(i===k||i.startsWith(l))return!0}return!1}},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},54763:a=>{a.exports=require("@lydell/node-pty")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73746:(a,b,c)=>{c.d(b,{Ef:()=>i,Pt:()=>h,r9:()=>g});var d=c(29021),e=c(21820),f=c(33873);function g(a){return"~"===a?(0,e.homedir)():a.startsWith("~/")?(0,f.resolve)((0,e.homedir)(),a.slice(2)):(0,f.isAbsolute)(a)?a:(0,f.resolve)(a)}function h(a){let b=g(a);try{return d.realpathSync.native(b)}catch{return b}}function i(a){let b=h(a);return(0,d.existsSync)(b)?b:null}},73968:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Hx:()=>
|
|
1
|
+
"use strict";(()=>{var a={};a.id=473,a.ids=[473],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},25252:(a,b,c)=>{c.d(b,{EI:()=>m,af:()=>n,oN:()=>l});var d=c(29021),e=c(21820),f=c(33873),g=c.n(f),h=c(73746);let i=/^[a-zA-Z]:[\\/]/;function j(a){return i.test(a)||a.startsWith("\\\\")||a.startsWith("//")}function k(a){let b=(0,h.Pt)(a);return[...new Set([a,b].filter(Boolean))]}function l(a){for(let b of(globalThis.__piRegisteredAllowedRoots||(globalThis.__piRegisteredAllowedRoots=new Set),k(a)))try{(0,d.statSync)(b).isDirectory()&&globalThis.__piRegisteredAllowedRoots.add(b)}catch{}globalThis.__piAllowedRootsCache=void 0}async function m(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let{listAllSessions:f}=await c.e(402).then(c.bind(c,40402)),h=await f(),i=new Set;for(let a of h)if(a.cwd)for(let b of k(a.cwd))i.add(b);let j=(0,e.homedir)();try{for(let a of(0,d.readdirSync)(j))if(/^pi-cwd-\d{8}$/.test(a))for(let b of k(g().join(j,a)))i.add(b)}catch{}for(let a of globalThis.__piRegisteredAllowedRoots??[])for(let b of k(a))try{(0,d.statSync)(b).isDirectory()&&i.add(b)}catch{}return globalThis.__piAllowedRootsCache={roots:i,expiresAt:a+5e3},i}function n(a,b){for(let c of b){let b=j(a)||j(c),d=b?g().win32:g(),e=b?"\\":g().sep,f=d.resolve(a),h=d.resolve(c),i=b?f.toLowerCase():f,k=b?h.toLowerCase():h,l=k.endsWith(e)?k:k+e;if(i===k||i.startsWith(l))return!0}return!1}},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},54763:a=>{a.exports=require("@lydell/node-pty")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73746:(a,b,c)=>{c.d(b,{Ef:()=>i,Pt:()=>h,r9:()=>g});var d=c(29021),e=c(21820),f=c(33873);function g(a){return"~"===a?(0,e.homedir)():a.startsWith("~/")?(0,f.resolve)((0,e.homedir)(),a.slice(2)):(0,f.isAbsolute)(a)?a:(0,f.resolve)(a)}function h(a){let b=g(a);try{return d.realpathSync.native(b)}catch{return b}}function i(a){let b=h(a);return(0,d.existsSync)(b)?b:null}},73968:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Hx:()=>y,Kd:()=>v,Nu:()=>x,eQ:()=>w,lo:()=>z,n_:()=>u});var e=c(55511),f=c(29021),g=c(33873),h=c(79646),i=c(54763),j=c(25252),k=c(73746),l=c(26021),m=a([l]);l=(m.then?(await m)():m)[0];class z extends Error{constructor(a,b=400){super(a),this.status=b,this.name="TerminalError"}}function n(){return globalThis.__piTerminalSessions||(globalThis.__piTerminalSessions=new Map),globalThis.__piTerminalSessions}function o(a){let b=(process.env.PATHEXT??".COM;.EXE;.BAT;.CMD").split(";").filter(Boolean),c=a.includes(".")?[a]:[a,...b.map(b=>`${a}${b.toLowerCase()}`),...b.map(b=>`${a}${b.toUpperCase()}`)];for(let a of(process.env.PATH??"").split(g.delimiter))for(let b of c){let c=`${a.replace(/[\\/]$/,"")}\\${b}`;try{if((0,f.statSync)(c).isFile())return c}catch{}}return null}function p(a){let b=n().get(a);if(!b||b.closed)throw new z("Terminal session not found",404);return b}function q(a,b){a.buffer.push(b),a.buffer.length>500&&a.buffer.splice(0,a.buffer.length-500)}function r(a){a.cleanupTimer&&clearTimeout(a.cleanupTimer),a.cleanupTimer=setTimeout(()=>{0===a.subscribers.size&&y(a.id)},5e3)}function s(a,b){return{write:c=>{a.stdin.write(b?c.replace(/\r/g,"\n"):c)},resize:()=>{},kill:()=>{a.kill()},onData:b=>{a.stdout.on("data",a=>b(a.toString())),a.stderr.on("data",a=>b(a.toString()))},onExit:b=>{a.on("exit",(a,c)=>b({exitCode:a??0,signal:c??void 0}))}}}function t(a){return`'${a.replace(/'/g,"'\\''")}'`}async function u(a){let b,c=(0,l.WP)().terminal;if(!c.enabled)throw new z("Web terminal is disabled",403);if("string"!=typeof a.cwd||!a.cwd.trim())throw new z("cwd is required");let d=(0,k.Ef)(a.cwd);if(!d)throw new z("cwd does not exist");let m=await (0,j.EI)();if(!(0,j.af)(d,m))throw new z("cwd is outside allowed workspaces",403);let p=function(a){if("custom"===a.shell){let b=a.customShellPath.trim();if(!b)throw new z("Custom shell path is required when terminal shell is custom");if(!(0,g.isAbsolute)(b))throw new z("Custom shell path must be an absolute path");try{if(!(0,f.statSync)(b).isFile())throw new z("Custom shell path must point to a file");"win32"!==process.platform&&(0,f.accessSync)(b,f.constants.X_OK)}catch(a){if(a instanceof z)throw a;throw new z(`Custom shell path is not executable or does not exist: ${b}`)}return{command:b,args:[],label:b}}return function(a){if("win32"===process.platform){let b="cmd"===a?"cmd.exe":"powershell"===a?"powershell.exe":"pwsh"===a?"pwsh.exe":a,c=o(b);if(!c)throw new z(`Shell is not available on PATH: ${b}`);return"cmd"===a?{command:c,args:[],label:"cmd"}:"powershell"===a||"pwsh"===a?{command:c,args:["-NoLogo"],label:a}:{command:c,args:["-i"],label:a}}if("cmd"===a||"powershell"===a||"pwsh"===a)throw new z(`Shell is only supported on Windows: ${a}`);let b=(0,h.spawnSync)("/bin/sh",["-lc",`command -v ${a}`],{encoding:"utf8"}),c=b.stdout.trim().split(/\r?\n/)[0];if(0===b.status&&c)return{command:c,args:["-i"],label:a};throw new z(`Shell is not available on PATH: ${a}`)}(a.shell)}(c),u={...process.env,...function(a){let b={};for(let[c,d]of Object.entries(a)){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(c))throw new z(`Invalid environment variable name: ${c}`);b[c]=d}return b}(c.env)},v="number"==typeof a.cols&&Number.isInteger(a.cols)&&a.cols>0?a.cols:80,w="number"==typeof a.rows&&Number.isInteger(a.rows)&&a.rows>0?a.rows:24,x=(0,e.randomUUID)();try{b=function(a,b,c,d,e){try{var f;return{backend:"pty",process:(f=i.spawn(a.command,a.args,{name:"xterm-256color",cols:d,rows:e,cwd:b,env:c}),{write:a=>f.write(a),resize:(a,b)=>f.resize(a,b),kill:()=>f.kill(),onData:a=>{f.onData(a)},onExit:a=>{f.onExit(({exitCode:b,signal:c})=>a({exitCode:b,signal:c}))}})}}catch{let d=function(a,b,c){if("darwin"===process.platform||"win32"===process.platform||!function(a){if("win32"===process.platform)return null!==o(a);let b=(0,h.spawnSync)("/bin/sh",["-lc",`command -v ${a}`],{encoding:"utf8"});return 0===b.status&&!!b.stdout.trim()}("script"))return null;let d={cwd:b,env:{...c,TERM:c.TERM??"xterm-256color"},stdio:"pipe"},e=[t(a.command),...a.args.map(t)].join(" "),f=(0,h.spawn)("script",["-q","-c",e,"/dev/null"],d);return{backend:"script",process:s(f,!1)}}(a,b,c);if(d)return d;let e=(0,h.spawn)(a.command,a.args,{cwd:b,env:{...c,TERM:c.TERM??"xterm-256color"},stdio:"pipe"});return{backend:"pipe",process:s(e,"win32"!==process.platform)}}}(p,d,u,v,w)}catch(a){throw new z(`Failed to start shell: ${a instanceof Error?a.message:String(a)}`,500)}let y={id:x,cwd:d,shell:p.label,process:b.process,backend:b.backend,subscribers:new Set,buffer:[],cleanupTimer:null,closed:!1};return n().set(x,y),r(y),"script"===y.backend&&q(y,"[node-pty unavailable; using script PTY fallback.]\r\n"),"pipe"===y.backend&&q(y,"[PTY unavailable; using pipe fallback. Completion and interactive programs may be limited.]\r\n"),b.process.onData(a=>{for(let b of(q(y,a),y.subscribers))b(a)}),b.process.onExit(({exitCode:a,signal:b})=>{let c=`\r
|
|
2
2
|
[terminal exited with code ${a}${b?`, signal ${b}`:""}]\r
|
|
3
|
-
`;for(let a of(
|
|
3
|
+
`;for(let a of(q(y,c),y.subscribers))a(c);y.closed=!0,n().delete(x)}),{id:x,cwd:d,shell:y.shell,backend:y.backend}}function v(a,b){let c=p(a);for(let a of(c.cleanupTimer&&(clearTimeout(c.cleanupTimer),c.cleanupTimer=null),c.subscribers.add(b),c.buffer))b(a);return()=>{c.subscribers.delete(b),c.closed||0!==c.subscribers.size||r(c)}}function w(a,b){if("string"!=typeof b)throw new z("input data must be a string");p(a).process.write(b)}function x(a,b,c){if("number"!=typeof b||!Number.isInteger(b)||b<=0)throw new z("cols must be a positive integer");if("number"!=typeof c||!Number.isInteger(c)||c<=0)throw new z("rows must be a positive integer");p(a).process.resize(b,c)}function y(a){let b=n().get(a);if(b&&!b.closed){b.closed=!0,b.cleanupTimer&&clearTimeout(b.cleanupTimer),b.cleanupTimer=null,n().delete(a);try{b.process.kill()}catch{}}}d()}catch(a){d(a)}})},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},79646:a=>{a.exports=require("child_process")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},90080:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>h,dynamic:()=>i,runtime:()=>j});var e=c(23211),f=c(73968),g=a([f]);f=(g.then?(await g)():g)[0];let i="force-dynamic",j="nodejs";async function h(a,{params:b}){let{id:c}=await b;try{let b=await a.json().catch(()=>({}));return(0,f.eQ)(c,b.data),e.NextResponse.json({success:!0})}catch(c){let a=c instanceof Error?c.message:String(c),b=c instanceof f.lo?c.status:500;return e.NextResponse.json({error:a},{status:b})}}d()}catch(a){d(a)}})},90319:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(90080),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/terminal/sessions/[id]/input/route",pathname:"/api/terminal/sessions/[id]/input",filename:"route",bundlePath:"app/api/terminal/sessions/[id]/input/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Volumes/01/ExternalStorage/Projects/gitProjects/pi-agnet-web/app/api/terminal/sessions/[id]/input/route.ts",nextConfigOutput:"",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/terminal/sessions/[id]/input/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})}};var b=require("../../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,3745],()=>b(b.s=90319));module.exports=c})();
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=9595,a.ids=[9595],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},24957:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(49070),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/terminal/sessions/[id]/resize/route",pathname:"/api/terminal/sessions/[id]/resize",filename:"route",bundlePath:"app/api/terminal/sessions/[id]/resize/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Volumes/01/ExternalStorage/Projects/gitProjects/pi-agnet-web/app/api/terminal/sessions/[id]/resize/route.ts",nextConfigOutput:"",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/terminal/sessions/[id]/resize/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},25252:(a,b,c)=>{c.d(b,{EI:()=>m,af:()=>n,oN:()=>l});var d=c(29021),e=c(21820),f=c(33873),g=c.n(f),h=c(73746);let i=/^[a-zA-Z]:[\\/]/;function j(a){return i.test(a)||a.startsWith("\\\\")||a.startsWith("//")}function k(a){let b=(0,h.Pt)(a);return[...new Set([a,b].filter(Boolean))]}function l(a){for(let b of(globalThis.__piRegisteredAllowedRoots||(globalThis.__piRegisteredAllowedRoots=new Set),k(a)))try{(0,d.statSync)(b).isDirectory()&&globalThis.__piRegisteredAllowedRoots.add(b)}catch{}globalThis.__piAllowedRootsCache=void 0}async function m(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let{listAllSessions:f}=await c.e(402).then(c.bind(c,40402)),h=await f(),i=new Set;for(let a of h)if(a.cwd)for(let b of k(a.cwd))i.add(b);let j=(0,e.homedir)();try{for(let a of(0,d.readdirSync)(j))if(/^pi-cwd-\d{8}$/.test(a))for(let b of k(g().join(j,a)))i.add(b)}catch{}for(let a of globalThis.__piRegisteredAllowedRoots??[])for(let b of k(a))try{(0,d.statSync)(b).isDirectory()&&i.add(b)}catch{}return globalThis.__piAllowedRootsCache={roots:i,expiresAt:a+5e3},i}function n(a,b){for(let c of b){let b=j(a)||j(c),d=b?g().win32:g(),e=b?"\\":g().sep,f=d.resolve(a),h=d.resolve(c),i=b?f.toLowerCase():f,k=b?h.toLowerCase():h,l=k.endsWith(e)?k:k+e;if(i===k||i.startsWith(l))return!0}return!1}},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},49070:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>h,dynamic:()=>i,runtime:()=>j});var e=c(23211),f=c(73968),g=a([f]);f=(g.then?(await g)():g)[0];let i="force-dynamic",j="nodejs";async function h(a,{params:b}){let{id:c}=await b;try{let b=await a.json().catch(()=>({}));return(0,f.Nu)(c,b.cols,b.rows),e.NextResponse.json({success:!0})}catch(c){let a=c instanceof Error?c.message:String(c),b=c instanceof f.lo?c.status:500;return e.NextResponse.json({error:a},{status:b})}}d()}catch(a){d(a)}})},54763:a=>{a.exports=require("@lydell/node-pty")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73746:(a,b,c)=>{c.d(b,{Ef:()=>i,Pt:()=>h,r9:()=>g});var d=c(29021),e=c(21820),f=c(33873);function g(a){return"~"===a?(0,e.homedir)():a.startsWith("~/")?(0,f.resolve)((0,e.homedir)(),a.slice(2)):(0,f.isAbsolute)(a)?a:(0,f.resolve)(a)}function h(a){let b=g(a);try{return d.realpathSync.native(b)}catch{return b}}function i(a){let b=h(a);return(0,d.existsSync)(b)?b:null}},73968:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Hx:()=>w,Kd:()=>t,Nu:()=>v,eQ:()=>u,lo:()=>x,n_:()=>s});var e=c(55511),f=c(29021),g=c(33873),h=c(79646),i=c(54763),j=c(25252),k=c(73746),l=c(26021),m=a([l]);l=(m.then?(await m)():m)[0];class x extends Error{constructor(a,b=400){super(a),this.status=b,this.name="TerminalError"}}function n(){return globalThis.__piTerminalSessions||(globalThis.__piTerminalSessions=new Map),globalThis.__piTerminalSessions}function o(a){let b=n().get(a);if(!b||b.closed)throw new x("Terminal session not found",404);return b}function p(a,b){a.buffer.push(b),a.buffer.length>500&&a.buffer.splice(0,a.buffer.length-500)}function q(a){a.cleanupTimer&&clearTimeout(a.cleanupTimer),a.cleanupTimer=setTimeout(()=>{0===a.subscribers.size&&w(a.id)},5e3)}function r(a,b){return{write:c=>{a.stdin.write(b?c.replace(/\r/g,"\n"):c)},resize:()=>{},kill:()=>{a.kill()},onData:b=>{a.stdout.on("data",a=>b(a.toString())),a.stderr.on("data",a=>b(a.toString()))},onExit:b=>{a.on("exit",(a,c)=>b({exitCode:a??0,signal:c??void 0}))}}}async function s(a){let b,c=(0,l.WP)().terminal;if(!c.enabled)throw new x("Web terminal is disabled",403);if("string"!=typeof a.cwd||!a.cwd.trim())throw new x("cwd is required");let d=(0,k.Ef)(a.cwd);if(!d)throw new x("cwd does not exist");let m=await (0,j.EI)();if(!(0,j.af)(d,m))throw new x("cwd is outside allowed workspaces",403);let o=function(a){if("custom"===a.shell){let b=a.customShellPath.trim();if(!b)throw new x("Custom shell path is required when terminal shell is custom");if(!(0,g.isAbsolute)(b))throw new x("Custom shell path must be an absolute path");try{if(!(0,f.statSync)(b).isFile())throw new x("Custom shell path must point to a file");(0,f.accessSync)(b,f.constants.X_OK)}catch(a){if(a instanceof x)throw a;throw new x(`Custom shell path is not executable or does not exist: ${b}`)}return b}return function(a){if("win32"===process.platform){let b=(0,h.spawnSync)("where",[a],{encoding:"utf8"}),c=b.stdout.split(/\r?\n/).map(a=>a.trim()).find(Boolean);if(0===b.status&&c)return c;throw new x(`Shell is not available on PATH: ${a}`)}let b=(0,h.spawnSync)("/bin/sh",["-lc",`command -v ${a}`],{encoding:"utf8"}),c=b.stdout.trim().split(/\r?\n/)[0];if(0===b.status&&c)return c;throw new x(`Shell is not available on PATH: ${a}`)}(a.shell)}(c),s={...process.env,...function(a){let b={};for(let[c,d]of Object.entries(a)){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(c))throw new x(`Invalid environment variable name: ${c}`);b[c]=d}return b}(c.env)},t="number"==typeof a.cols&&Number.isInteger(a.cols)&&a.cols>0?a.cols:80,u="number"==typeof a.rows&&Number.isInteger(a.rows)&&a.rows>0?a.rows:24,v=(0,e.randomUUID)();try{b=function(a,b,c,d,e){try{var f;return{backend:"pty",process:(f=i.spawn(a,[],{name:"xterm-256color",cols:d,rows:e,cwd:b,env:c}),{write:a=>f.write(a),resize:(a,b)=>f.resize(a,b),kill:()=>f.kill(),onData:a=>{f.onData(a)},onExit:a=>{f.onExit(({exitCode:b,signal:c})=>a({exitCode:b,signal:c}))}})}}catch{let d=function(a,b,c){if("darwin"===process.platform||(0,h.spawnSync)("/usr/bin/env",["script","--version"],{encoding:"utf8"}).error)return null;let d={cwd:b,env:{...c,TERM:c.TERM??"xterm-256color"},stdio:"pipe"},e=(0,h.spawn)("script",["-q","-c",`'${a.replace(/'/g,"'\\''")}' -i`,"/dev/null"],d);return{backend:"script",process:r(e,!1)}}(a,b,c);if(d)return d;let e=(0,h.spawn)(a,["-i"],{cwd:b,env:{...c,TERM:c.TERM??"xterm-256color"},stdio:"pipe"});return{backend:"pipe",process:r(e,!0)}}}(o,d,s,t,u)}catch(a){throw new x(`Failed to start shell: ${a instanceof Error?a.message:String(a)}`,500)}let w={id:v,cwd:d,shell:o,process:b.process,backend:b.backend,subscribers:new Set,buffer:[],cleanupTimer:null,closed:!1};return n().set(v,w),q(w),"script"===w.backend&&p(w,"[node-pty unavailable; using script PTY fallback.]\r\n"),"pipe"===w.backend&&p(w,"[PTY unavailable; using pipe fallback. Completion and interactive programs may be limited.]\r\n"),b.process.onData(a=>{for(let b of(p(w,a),w.subscribers))b(a)}),b.process.onExit(({exitCode:a,signal:b})=>{let c=`\r
|
|
1
|
+
"use strict";(()=>{var a={};a.id=9595,a.ids=[9595],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},24957:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(49070),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/terminal/sessions/[id]/resize/route",pathname:"/api/terminal/sessions/[id]/resize",filename:"route",bundlePath:"app/api/terminal/sessions/[id]/resize/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Volumes/01/ExternalStorage/Projects/gitProjects/pi-agnet-web/app/api/terminal/sessions/[id]/resize/route.ts",nextConfigOutput:"",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/terminal/sessions/[id]/resize/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},25252:(a,b,c)=>{c.d(b,{EI:()=>m,af:()=>n,oN:()=>l});var d=c(29021),e=c(21820),f=c(33873),g=c.n(f),h=c(73746);let i=/^[a-zA-Z]:[\\/]/;function j(a){return i.test(a)||a.startsWith("\\\\")||a.startsWith("//")}function k(a){let b=(0,h.Pt)(a);return[...new Set([a,b].filter(Boolean))]}function l(a){for(let b of(globalThis.__piRegisteredAllowedRoots||(globalThis.__piRegisteredAllowedRoots=new Set),k(a)))try{(0,d.statSync)(b).isDirectory()&&globalThis.__piRegisteredAllowedRoots.add(b)}catch{}globalThis.__piAllowedRootsCache=void 0}async function m(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let{listAllSessions:f}=await c.e(402).then(c.bind(c,40402)),h=await f(),i=new Set;for(let a of h)if(a.cwd)for(let b of k(a.cwd))i.add(b);let j=(0,e.homedir)();try{for(let a of(0,d.readdirSync)(j))if(/^pi-cwd-\d{8}$/.test(a))for(let b of k(g().join(j,a)))i.add(b)}catch{}for(let a of globalThis.__piRegisteredAllowedRoots??[])for(let b of k(a))try{(0,d.statSync)(b).isDirectory()&&i.add(b)}catch{}return globalThis.__piAllowedRootsCache={roots:i,expiresAt:a+5e3},i}function n(a,b){for(let c of b){let b=j(a)||j(c),d=b?g().win32:g(),e=b?"\\":g().sep,f=d.resolve(a),h=d.resolve(c),i=b?f.toLowerCase():f,k=b?h.toLowerCase():h,l=k.endsWith(e)?k:k+e;if(i===k||i.startsWith(l))return!0}return!1}},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},49070:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>h,dynamic:()=>i,runtime:()=>j});var e=c(23211),f=c(73968),g=a([f]);f=(g.then?(await g)():g)[0];let i="force-dynamic",j="nodejs";async function h(a,{params:b}){let{id:c}=await b;try{let b=await a.json().catch(()=>({}));return(0,f.Nu)(c,b.cols,b.rows),e.NextResponse.json({success:!0})}catch(c){let a=c instanceof Error?c.message:String(c),b=c instanceof f.lo?c.status:500;return e.NextResponse.json({error:a},{status:b})}}d()}catch(a){d(a)}})},54763:a=>{a.exports=require("@lydell/node-pty")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73746:(a,b,c)=>{c.d(b,{Ef:()=>i,Pt:()=>h,r9:()=>g});var d=c(29021),e=c(21820),f=c(33873);function g(a){return"~"===a?(0,e.homedir)():a.startsWith("~/")?(0,f.resolve)((0,e.homedir)(),a.slice(2)):(0,f.isAbsolute)(a)?a:(0,f.resolve)(a)}function h(a){let b=g(a);try{return d.realpathSync.native(b)}catch{return b}}function i(a){let b=h(a);return(0,d.existsSync)(b)?b:null}},73968:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Hx:()=>y,Kd:()=>v,Nu:()=>x,eQ:()=>w,lo:()=>z,n_:()=>u});var e=c(55511),f=c(29021),g=c(33873),h=c(79646),i=c(54763),j=c(25252),k=c(73746),l=c(26021),m=a([l]);l=(m.then?(await m)():m)[0];class z extends Error{constructor(a,b=400){super(a),this.status=b,this.name="TerminalError"}}function n(){return globalThis.__piTerminalSessions||(globalThis.__piTerminalSessions=new Map),globalThis.__piTerminalSessions}function o(a){let b=(process.env.PATHEXT??".COM;.EXE;.BAT;.CMD").split(";").filter(Boolean),c=a.includes(".")?[a]:[a,...b.map(b=>`${a}${b.toLowerCase()}`),...b.map(b=>`${a}${b.toUpperCase()}`)];for(let a of(process.env.PATH??"").split(g.delimiter))for(let b of c){let c=`${a.replace(/[\\/]$/,"")}\\${b}`;try{if((0,f.statSync)(c).isFile())return c}catch{}}return null}function p(a){let b=n().get(a);if(!b||b.closed)throw new z("Terminal session not found",404);return b}function q(a,b){a.buffer.push(b),a.buffer.length>500&&a.buffer.splice(0,a.buffer.length-500)}function r(a){a.cleanupTimer&&clearTimeout(a.cleanupTimer),a.cleanupTimer=setTimeout(()=>{0===a.subscribers.size&&y(a.id)},5e3)}function s(a,b){return{write:c=>{a.stdin.write(b?c.replace(/\r/g,"\n"):c)},resize:()=>{},kill:()=>{a.kill()},onData:b=>{a.stdout.on("data",a=>b(a.toString())),a.stderr.on("data",a=>b(a.toString()))},onExit:b=>{a.on("exit",(a,c)=>b({exitCode:a??0,signal:c??void 0}))}}}function t(a){return`'${a.replace(/'/g,"'\\''")}'`}async function u(a){let b,c=(0,l.WP)().terminal;if(!c.enabled)throw new z("Web terminal is disabled",403);if("string"!=typeof a.cwd||!a.cwd.trim())throw new z("cwd is required");let d=(0,k.Ef)(a.cwd);if(!d)throw new z("cwd does not exist");let m=await (0,j.EI)();if(!(0,j.af)(d,m))throw new z("cwd is outside allowed workspaces",403);let p=function(a){if("custom"===a.shell){let b=a.customShellPath.trim();if(!b)throw new z("Custom shell path is required when terminal shell is custom");if(!(0,g.isAbsolute)(b))throw new z("Custom shell path must be an absolute path");try{if(!(0,f.statSync)(b).isFile())throw new z("Custom shell path must point to a file");"win32"!==process.platform&&(0,f.accessSync)(b,f.constants.X_OK)}catch(a){if(a instanceof z)throw a;throw new z(`Custom shell path is not executable or does not exist: ${b}`)}return{command:b,args:[],label:b}}return function(a){if("win32"===process.platform){let b="cmd"===a?"cmd.exe":"powershell"===a?"powershell.exe":"pwsh"===a?"pwsh.exe":a,c=o(b);if(!c)throw new z(`Shell is not available on PATH: ${b}`);return"cmd"===a?{command:c,args:[],label:"cmd"}:"powershell"===a||"pwsh"===a?{command:c,args:["-NoLogo"],label:a}:{command:c,args:["-i"],label:a}}if("cmd"===a||"powershell"===a||"pwsh"===a)throw new z(`Shell is only supported on Windows: ${a}`);let b=(0,h.spawnSync)("/bin/sh",["-lc",`command -v ${a}`],{encoding:"utf8"}),c=b.stdout.trim().split(/\r?\n/)[0];if(0===b.status&&c)return{command:c,args:["-i"],label:a};throw new z(`Shell is not available on PATH: ${a}`)}(a.shell)}(c),u={...process.env,...function(a){let b={};for(let[c,d]of Object.entries(a)){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(c))throw new z(`Invalid environment variable name: ${c}`);b[c]=d}return b}(c.env)},v="number"==typeof a.cols&&Number.isInteger(a.cols)&&a.cols>0?a.cols:80,w="number"==typeof a.rows&&Number.isInteger(a.rows)&&a.rows>0?a.rows:24,x=(0,e.randomUUID)();try{b=function(a,b,c,d,e){try{var f;return{backend:"pty",process:(f=i.spawn(a.command,a.args,{name:"xterm-256color",cols:d,rows:e,cwd:b,env:c}),{write:a=>f.write(a),resize:(a,b)=>f.resize(a,b),kill:()=>f.kill(),onData:a=>{f.onData(a)},onExit:a=>{f.onExit(({exitCode:b,signal:c})=>a({exitCode:b,signal:c}))}})}}catch{let d=function(a,b,c){if("darwin"===process.platform||"win32"===process.platform||!function(a){if("win32"===process.platform)return null!==o(a);let b=(0,h.spawnSync)("/bin/sh",["-lc",`command -v ${a}`],{encoding:"utf8"});return 0===b.status&&!!b.stdout.trim()}("script"))return null;let d={cwd:b,env:{...c,TERM:c.TERM??"xterm-256color"},stdio:"pipe"},e=[t(a.command),...a.args.map(t)].join(" "),f=(0,h.spawn)("script",["-q","-c",e,"/dev/null"],d);return{backend:"script",process:s(f,!1)}}(a,b,c);if(d)return d;let e=(0,h.spawn)(a.command,a.args,{cwd:b,env:{...c,TERM:c.TERM??"xterm-256color"},stdio:"pipe"});return{backend:"pipe",process:s(e,"win32"!==process.platform)}}}(p,d,u,v,w)}catch(a){throw new z(`Failed to start shell: ${a instanceof Error?a.message:String(a)}`,500)}let y={id:x,cwd:d,shell:p.label,process:b.process,backend:b.backend,subscribers:new Set,buffer:[],cleanupTimer:null,closed:!1};return n().set(x,y),r(y),"script"===y.backend&&q(y,"[node-pty unavailable; using script PTY fallback.]\r\n"),"pipe"===y.backend&&q(y,"[PTY unavailable; using pipe fallback. Completion and interactive programs may be limited.]\r\n"),b.process.onData(a=>{for(let b of(q(y,a),y.subscribers))b(a)}),b.process.onExit(({exitCode:a,signal:b})=>{let c=`\r
|
|
2
2
|
[terminal exited with code ${a}${b?`, signal ${b}`:""}]\r
|
|
3
|
-
`;for(let a of(
|
|
3
|
+
`;for(let a of(q(y,c),y.subscribers))a(c);y.closed=!0,n().delete(x)}),{id:x,cwd:d,shell:y.shell,backend:y.backend}}function v(a,b){let c=p(a);for(let a of(c.cleanupTimer&&(clearTimeout(c.cleanupTimer),c.cleanupTimer=null),c.subscribers.add(b),c.buffer))b(a);return()=>{c.subscribers.delete(b),c.closed||0!==c.subscribers.size||r(c)}}function w(a,b){if("string"!=typeof b)throw new z("input data must be a string");p(a).process.write(b)}function x(a,b,c){if("number"!=typeof b||!Number.isInteger(b)||b<=0)throw new z("cols must be a positive integer");if("number"!=typeof c||!Number.isInteger(c)||c<=0)throw new z("rows must be a positive integer");p(a).process.resize(b,c)}function y(a){let b=n().get(a);if(b&&!b.closed){b.closed=!0,b.cleanupTimer&&clearTimeout(b.cleanupTimer),b.cleanupTimer=null,n().delete(a);try{b.process.kill()}catch{}}}d()}catch(a){d(a)}})},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},79646:a=>{a.exports=require("child_process")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,3745],()=>b(b.s=24957));module.exports=c})();
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=4344,a.ids=[4344],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9955:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{DELETE:()=>h,dynamic:()=>i,runtime:()=>j});var e=c(23211),f=c(73968),g=a([f]);f=(g.then?(await g)():g)[0];let i="force-dynamic",j="nodejs";async function h(a,{params:b}){let{id:c}=await b;return(0,f.Hx)(c),e.NextResponse.json({success:!0})}d()}catch(a){d(a)}})},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},25252:(a,b,c)=>{c.d(b,{EI:()=>m,af:()=>n,oN:()=>l});var d=c(29021),e=c(21820),f=c(33873),g=c.n(f),h=c(73746);let i=/^[a-zA-Z]:[\\/]/;function j(a){return i.test(a)||a.startsWith("\\\\")||a.startsWith("//")}function k(a){let b=(0,h.Pt)(a);return[...new Set([a,b].filter(Boolean))]}function l(a){for(let b of(globalThis.__piRegisteredAllowedRoots||(globalThis.__piRegisteredAllowedRoots=new Set),k(a)))try{(0,d.statSync)(b).isDirectory()&&globalThis.__piRegisteredAllowedRoots.add(b)}catch{}globalThis.__piAllowedRootsCache=void 0}async function m(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let{listAllSessions:f}=await c.e(402).then(c.bind(c,40402)),h=await f(),i=new Set;for(let a of h)if(a.cwd)for(let b of k(a.cwd))i.add(b);let j=(0,e.homedir)();try{for(let a of(0,d.readdirSync)(j))if(/^pi-cwd-\d{8}$/.test(a))for(let b of k(g().join(j,a)))i.add(b)}catch{}for(let a of globalThis.__piRegisteredAllowedRoots??[])for(let b of k(a))try{(0,d.statSync)(b).isDirectory()&&i.add(b)}catch{}return globalThis.__piAllowedRootsCache={roots:i,expiresAt:a+5e3},i}function n(a,b){for(let c of b){let b=j(a)||j(c),d=b?g().win32:g(),e=b?"\\":g().sep,f=d.resolve(a),h=d.resolve(c),i=b?f.toLowerCase():f,k=b?h.toLowerCase():h,l=k.endsWith(e)?k:k+e;if(i===k||i.startsWith(l))return!0}return!1}},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},54763:a=>{a.exports=require("@lydell/node-pty")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73746:(a,b,c)=>{c.d(b,{Ef:()=>i,Pt:()=>h,r9:()=>g});var d=c(29021),e=c(21820),f=c(33873);function g(a){return"~"===a?(0,e.homedir)():a.startsWith("~/")?(0,f.resolve)((0,e.homedir)(),a.slice(2)):(0,f.isAbsolute)(a)?a:(0,f.resolve)(a)}function h(a){let b=g(a);try{return d.realpathSync.native(b)}catch{return b}}function i(a){let b=h(a);return(0,d.existsSync)(b)?b:null}},73968:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Hx:()=>
|
|
1
|
+
"use strict";(()=>{var a={};a.id=4344,a.ids=[4344],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9955:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{DELETE:()=>h,dynamic:()=>i,runtime:()=>j});var e=c(23211),f=c(73968),g=a([f]);f=(g.then?(await g)():g)[0];let i="force-dynamic",j="nodejs";async function h(a,{params:b}){let{id:c}=await b;return(0,f.Hx)(c),e.NextResponse.json({success:!0})}d()}catch(a){d(a)}})},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},25252:(a,b,c)=>{c.d(b,{EI:()=>m,af:()=>n,oN:()=>l});var d=c(29021),e=c(21820),f=c(33873),g=c.n(f),h=c(73746);let i=/^[a-zA-Z]:[\\/]/;function j(a){return i.test(a)||a.startsWith("\\\\")||a.startsWith("//")}function k(a){let b=(0,h.Pt)(a);return[...new Set([a,b].filter(Boolean))]}function l(a){for(let b of(globalThis.__piRegisteredAllowedRoots||(globalThis.__piRegisteredAllowedRoots=new Set),k(a)))try{(0,d.statSync)(b).isDirectory()&&globalThis.__piRegisteredAllowedRoots.add(b)}catch{}globalThis.__piAllowedRootsCache=void 0}async function m(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let{listAllSessions:f}=await c.e(402).then(c.bind(c,40402)),h=await f(),i=new Set;for(let a of h)if(a.cwd)for(let b of k(a.cwd))i.add(b);let j=(0,e.homedir)();try{for(let a of(0,d.readdirSync)(j))if(/^pi-cwd-\d{8}$/.test(a))for(let b of k(g().join(j,a)))i.add(b)}catch{}for(let a of globalThis.__piRegisteredAllowedRoots??[])for(let b of k(a))try{(0,d.statSync)(b).isDirectory()&&i.add(b)}catch{}return globalThis.__piAllowedRootsCache={roots:i,expiresAt:a+5e3},i}function n(a,b){for(let c of b){let b=j(a)||j(c),d=b?g().win32:g(),e=b?"\\":g().sep,f=d.resolve(a),h=d.resolve(c),i=b?f.toLowerCase():f,k=b?h.toLowerCase():h,l=k.endsWith(e)?k:k+e;if(i===k||i.startsWith(l))return!0}return!1}},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},54763:a=>{a.exports=require("@lydell/node-pty")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73746:(a,b,c)=>{c.d(b,{Ef:()=>i,Pt:()=>h,r9:()=>g});var d=c(29021),e=c(21820),f=c(33873);function g(a){return"~"===a?(0,e.homedir)():a.startsWith("~/")?(0,f.resolve)((0,e.homedir)(),a.slice(2)):(0,f.isAbsolute)(a)?a:(0,f.resolve)(a)}function h(a){let b=g(a);try{return d.realpathSync.native(b)}catch{return b}}function i(a){let b=h(a);return(0,d.existsSync)(b)?b:null}},73968:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Hx:()=>y,Kd:()=>v,Nu:()=>x,eQ:()=>w,lo:()=>z,n_:()=>u});var e=c(55511),f=c(29021),g=c(33873),h=c(79646),i=c(54763),j=c(25252),k=c(73746),l=c(26021),m=a([l]);l=(m.then?(await m)():m)[0];class z extends Error{constructor(a,b=400){super(a),this.status=b,this.name="TerminalError"}}function n(){return globalThis.__piTerminalSessions||(globalThis.__piTerminalSessions=new Map),globalThis.__piTerminalSessions}function o(a){let b=(process.env.PATHEXT??".COM;.EXE;.BAT;.CMD").split(";").filter(Boolean),c=a.includes(".")?[a]:[a,...b.map(b=>`${a}${b.toLowerCase()}`),...b.map(b=>`${a}${b.toUpperCase()}`)];for(let a of(process.env.PATH??"").split(g.delimiter))for(let b of c){let c=`${a.replace(/[\\/]$/,"")}\\${b}`;try{if((0,f.statSync)(c).isFile())return c}catch{}}return null}function p(a){let b=n().get(a);if(!b||b.closed)throw new z("Terminal session not found",404);return b}function q(a,b){a.buffer.push(b),a.buffer.length>500&&a.buffer.splice(0,a.buffer.length-500)}function r(a){a.cleanupTimer&&clearTimeout(a.cleanupTimer),a.cleanupTimer=setTimeout(()=>{0===a.subscribers.size&&y(a.id)},5e3)}function s(a,b){return{write:c=>{a.stdin.write(b?c.replace(/\r/g,"\n"):c)},resize:()=>{},kill:()=>{a.kill()},onData:b=>{a.stdout.on("data",a=>b(a.toString())),a.stderr.on("data",a=>b(a.toString()))},onExit:b=>{a.on("exit",(a,c)=>b({exitCode:a??0,signal:c??void 0}))}}}function t(a){return`'${a.replace(/'/g,"'\\''")}'`}async function u(a){let b,c=(0,l.WP)().terminal;if(!c.enabled)throw new z("Web terminal is disabled",403);if("string"!=typeof a.cwd||!a.cwd.trim())throw new z("cwd is required");let d=(0,k.Ef)(a.cwd);if(!d)throw new z("cwd does not exist");let m=await (0,j.EI)();if(!(0,j.af)(d,m))throw new z("cwd is outside allowed workspaces",403);let p=function(a){if("custom"===a.shell){let b=a.customShellPath.trim();if(!b)throw new z("Custom shell path is required when terminal shell is custom");if(!(0,g.isAbsolute)(b))throw new z("Custom shell path must be an absolute path");try{if(!(0,f.statSync)(b).isFile())throw new z("Custom shell path must point to a file");"win32"!==process.platform&&(0,f.accessSync)(b,f.constants.X_OK)}catch(a){if(a instanceof z)throw a;throw new z(`Custom shell path is not executable or does not exist: ${b}`)}return{command:b,args:[],label:b}}return function(a){if("win32"===process.platform){let b="cmd"===a?"cmd.exe":"powershell"===a?"powershell.exe":"pwsh"===a?"pwsh.exe":a,c=o(b);if(!c)throw new z(`Shell is not available on PATH: ${b}`);return"cmd"===a?{command:c,args:[],label:"cmd"}:"powershell"===a||"pwsh"===a?{command:c,args:["-NoLogo"],label:a}:{command:c,args:["-i"],label:a}}if("cmd"===a||"powershell"===a||"pwsh"===a)throw new z(`Shell is only supported on Windows: ${a}`);let b=(0,h.spawnSync)("/bin/sh",["-lc",`command -v ${a}`],{encoding:"utf8"}),c=b.stdout.trim().split(/\r?\n/)[0];if(0===b.status&&c)return{command:c,args:["-i"],label:a};throw new z(`Shell is not available on PATH: ${a}`)}(a.shell)}(c),u={...process.env,...function(a){let b={};for(let[c,d]of Object.entries(a)){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(c))throw new z(`Invalid environment variable name: ${c}`);b[c]=d}return b}(c.env)},v="number"==typeof a.cols&&Number.isInteger(a.cols)&&a.cols>0?a.cols:80,w="number"==typeof a.rows&&Number.isInteger(a.rows)&&a.rows>0?a.rows:24,x=(0,e.randomUUID)();try{b=function(a,b,c,d,e){try{var f;return{backend:"pty",process:(f=i.spawn(a.command,a.args,{name:"xterm-256color",cols:d,rows:e,cwd:b,env:c}),{write:a=>f.write(a),resize:(a,b)=>f.resize(a,b),kill:()=>f.kill(),onData:a=>{f.onData(a)},onExit:a=>{f.onExit(({exitCode:b,signal:c})=>a({exitCode:b,signal:c}))}})}}catch{let d=function(a,b,c){if("darwin"===process.platform||"win32"===process.platform||!function(a){if("win32"===process.platform)return null!==o(a);let b=(0,h.spawnSync)("/bin/sh",["-lc",`command -v ${a}`],{encoding:"utf8"});return 0===b.status&&!!b.stdout.trim()}("script"))return null;let d={cwd:b,env:{...c,TERM:c.TERM??"xterm-256color"},stdio:"pipe"},e=[t(a.command),...a.args.map(t)].join(" "),f=(0,h.spawn)("script",["-q","-c",e,"/dev/null"],d);return{backend:"script",process:s(f,!1)}}(a,b,c);if(d)return d;let e=(0,h.spawn)(a.command,a.args,{cwd:b,env:{...c,TERM:c.TERM??"xterm-256color"},stdio:"pipe"});return{backend:"pipe",process:s(e,"win32"!==process.platform)}}}(p,d,u,v,w)}catch(a){throw new z(`Failed to start shell: ${a instanceof Error?a.message:String(a)}`,500)}let y={id:x,cwd:d,shell:p.label,process:b.process,backend:b.backend,subscribers:new Set,buffer:[],cleanupTimer:null,closed:!1};return n().set(x,y),r(y),"script"===y.backend&&q(y,"[node-pty unavailable; using script PTY fallback.]\r\n"),"pipe"===y.backend&&q(y,"[PTY unavailable; using pipe fallback. Completion and interactive programs may be limited.]\r\n"),b.process.onData(a=>{for(let b of(q(y,a),y.subscribers))b(a)}),b.process.onExit(({exitCode:a,signal:b})=>{let c=`\r
|
|
2
2
|
[terminal exited with code ${a}${b?`, signal ${b}`:""}]\r
|
|
3
|
-
`;for(let a of(
|
|
3
|
+
`;for(let a of(q(y,c),y.subscribers))a(c);y.closed=!0,n().delete(x)}),{id:x,cwd:d,shell:y.shell,backend:y.backend}}function v(a,b){let c=p(a);for(let a of(c.cleanupTimer&&(clearTimeout(c.cleanupTimer),c.cleanupTimer=null),c.subscribers.add(b),c.buffer))b(a);return()=>{c.subscribers.delete(b),c.closed||0!==c.subscribers.size||r(c)}}function w(a,b){if("string"!=typeof b)throw new z("input data must be a string");p(a).process.write(b)}function x(a,b,c){if("number"!=typeof b||!Number.isInteger(b)||b<=0)throw new z("cols must be a positive integer");if("number"!=typeof c||!Number.isInteger(c)||c<=0)throw new z("rows must be a positive integer");p(a).process.resize(b,c)}function y(a){let b=n().get(a);if(b&&!b.closed){b.closed=!0,b.cleanupTimer&&clearTimeout(b.cleanupTimer),b.cleanupTimer=null,n().delete(a);try{b.process.kill()}catch{}}}d()}catch(a){d(a)}})},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},79646:a=>{a.exports=require("child_process")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},98829:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(9955),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/terminal/sessions/[id]/route",pathname:"/api/terminal/sessions/[id]",filename:"route",bundlePath:"app/api/terminal/sessions/[id]/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Volumes/01/ExternalStorage/Projects/gitProjects/pi-agnet-web/app/api/terminal/sessions/[id]/route.ts",nextConfigOutput:"",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/terminal/sessions/[id]/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,3745],()=>b(b.s=98829));module.exports=c})();
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=8898,a.ids=[8898],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},25252:(a,b,c)=>{c.d(b,{EI:()=>m,af:()=>n,oN:()=>l});var d=c(29021),e=c(21820),f=c(33873),g=c.n(f),h=c(73746);let i=/^[a-zA-Z]:[\\/]/;function j(a){return i.test(a)||a.startsWith("\\\\")||a.startsWith("//")}function k(a){let b=(0,h.Pt)(a);return[...new Set([a,b].filter(Boolean))]}function l(a){for(let b of(globalThis.__piRegisteredAllowedRoots||(globalThis.__piRegisteredAllowedRoots=new Set),k(a)))try{(0,d.statSync)(b).isDirectory()&&globalThis.__piRegisteredAllowedRoots.add(b)}catch{}globalThis.__piAllowedRootsCache=void 0}async function m(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let{listAllSessions:f}=await c.e(402).then(c.bind(c,40402)),h=await f(),i=new Set;for(let a of h)if(a.cwd)for(let b of k(a.cwd))i.add(b);let j=(0,e.homedir)();try{for(let a of(0,d.readdirSync)(j))if(/^pi-cwd-\d{8}$/.test(a))for(let b of k(g().join(j,a)))i.add(b)}catch{}for(let a of globalThis.__piRegisteredAllowedRoots??[])for(let b of k(a))try{(0,d.statSync)(b).isDirectory()&&i.add(b)}catch{}return globalThis.__piAllowedRootsCache={roots:i,expiresAt:a+5e3},i}function n(a,b){for(let c of b){let b=j(a)||j(c),d=b?g().win32:g(),e=b?"\\":g().sep,f=d.resolve(a),h=d.resolve(c),i=b?f.toLowerCase():f,k=b?h.toLowerCase():h,l=k.endsWith(e)?k:k+e;if(i===k||i.startsWith(l))return!0}return!1}},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29489:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>h,dynamic:()=>i,runtime:()=>j});var e=c(23211),f=c(73968),g=a([f]);f=(g.then?(await g)():g)[0];let i="force-dynamic",j="nodejs";async function h(a){try{let b=await a.json().catch(()=>({})),c=await (0,f.n_)(b);return e.NextResponse.json({session:c})}catch(c){let a=c instanceof Error?c.message:String(c),b=c instanceof f.lo?c.status:500;return e.NextResponse.json({error:a},{status:b})}}d()}catch(a){d(a)}})},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},54763:a=>{a.exports=require("@lydell/node-pty")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73746:(a,b,c)=>{c.d(b,{Ef:()=>i,Pt:()=>h,r9:()=>g});var d=c(29021),e=c(21820),f=c(33873);function g(a){return"~"===a?(0,e.homedir)():a.startsWith("~/")?(0,f.resolve)((0,e.homedir)(),a.slice(2)):(0,f.isAbsolute)(a)?a:(0,f.resolve)(a)}function h(a){let b=g(a);try{return d.realpathSync.native(b)}catch{return b}}function i(a){let b=h(a);return(0,d.existsSync)(b)?b:null}},73968:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Hx:()=>
|
|
1
|
+
"use strict";(()=>{var a={};a.id=8898,a.ids=[8898],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},25252:(a,b,c)=>{c.d(b,{EI:()=>m,af:()=>n,oN:()=>l});var d=c(29021),e=c(21820),f=c(33873),g=c.n(f),h=c(73746);let i=/^[a-zA-Z]:[\\/]/;function j(a){return i.test(a)||a.startsWith("\\\\")||a.startsWith("//")}function k(a){let b=(0,h.Pt)(a);return[...new Set([a,b].filter(Boolean))]}function l(a){for(let b of(globalThis.__piRegisteredAllowedRoots||(globalThis.__piRegisteredAllowedRoots=new Set),k(a)))try{(0,d.statSync)(b).isDirectory()&&globalThis.__piRegisteredAllowedRoots.add(b)}catch{}globalThis.__piAllowedRootsCache=void 0}async function m(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let{listAllSessions:f}=await c.e(402).then(c.bind(c,40402)),h=await f(),i=new Set;for(let a of h)if(a.cwd)for(let b of k(a.cwd))i.add(b);let j=(0,e.homedir)();try{for(let a of(0,d.readdirSync)(j))if(/^pi-cwd-\d{8}$/.test(a))for(let b of k(g().join(j,a)))i.add(b)}catch{}for(let a of globalThis.__piRegisteredAllowedRoots??[])for(let b of k(a))try{(0,d.statSync)(b).isDirectory()&&i.add(b)}catch{}return globalThis.__piAllowedRootsCache={roots:i,expiresAt:a+5e3},i}function n(a,b){for(let c of b){let b=j(a)||j(c),d=b?g().win32:g(),e=b?"\\":g().sep,f=d.resolve(a),h=d.resolve(c),i=b?f.toLowerCase():f,k=b?h.toLowerCase():h,l=k.endsWith(e)?k:k+e;if(i===k||i.startsWith(l))return!0}return!1}},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29489:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>h,dynamic:()=>i,runtime:()=>j});var e=c(23211),f=c(73968),g=a([f]);f=(g.then?(await g)():g)[0];let i="force-dynamic",j="nodejs";async function h(a){try{let b=await a.json().catch(()=>({})),c=await (0,f.n_)(b);return e.NextResponse.json({session:c})}catch(c){let a=c instanceof Error?c.message:String(c),b=c instanceof f.lo?c.status:500;return e.NextResponse.json({error:a},{status:b})}}d()}catch(a){d(a)}})},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},54763:a=>{a.exports=require("@lydell/node-pty")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73746:(a,b,c)=>{c.d(b,{Ef:()=>i,Pt:()=>h,r9:()=>g});var d=c(29021),e=c(21820),f=c(33873);function g(a){return"~"===a?(0,e.homedir)():a.startsWith("~/")?(0,f.resolve)((0,e.homedir)(),a.slice(2)):(0,f.isAbsolute)(a)?a:(0,f.resolve)(a)}function h(a){let b=g(a);try{return d.realpathSync.native(b)}catch{return b}}function i(a){let b=h(a);return(0,d.existsSync)(b)?b:null}},73968:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Hx:()=>y,Kd:()=>v,Nu:()=>x,eQ:()=>w,lo:()=>z,n_:()=>u});var e=c(55511),f=c(29021),g=c(33873),h=c(79646),i=c(54763),j=c(25252),k=c(73746),l=c(26021),m=a([l]);l=(m.then?(await m)():m)[0];class z extends Error{constructor(a,b=400){super(a),this.status=b,this.name="TerminalError"}}function n(){return globalThis.__piTerminalSessions||(globalThis.__piTerminalSessions=new Map),globalThis.__piTerminalSessions}function o(a){let b=(process.env.PATHEXT??".COM;.EXE;.BAT;.CMD").split(";").filter(Boolean),c=a.includes(".")?[a]:[a,...b.map(b=>`${a}${b.toLowerCase()}`),...b.map(b=>`${a}${b.toUpperCase()}`)];for(let a of(process.env.PATH??"").split(g.delimiter))for(let b of c){let c=`${a.replace(/[\\/]$/,"")}\\${b}`;try{if((0,f.statSync)(c).isFile())return c}catch{}}return null}function p(a){let b=n().get(a);if(!b||b.closed)throw new z("Terminal session not found",404);return b}function q(a,b){a.buffer.push(b),a.buffer.length>500&&a.buffer.splice(0,a.buffer.length-500)}function r(a){a.cleanupTimer&&clearTimeout(a.cleanupTimer),a.cleanupTimer=setTimeout(()=>{0===a.subscribers.size&&y(a.id)},5e3)}function s(a,b){return{write:c=>{a.stdin.write(b?c.replace(/\r/g,"\n"):c)},resize:()=>{},kill:()=>{a.kill()},onData:b=>{a.stdout.on("data",a=>b(a.toString())),a.stderr.on("data",a=>b(a.toString()))},onExit:b=>{a.on("exit",(a,c)=>b({exitCode:a??0,signal:c??void 0}))}}}function t(a){return`'${a.replace(/'/g,"'\\''")}'`}async function u(a){let b,c=(0,l.WP)().terminal;if(!c.enabled)throw new z("Web terminal is disabled",403);if("string"!=typeof a.cwd||!a.cwd.trim())throw new z("cwd is required");let d=(0,k.Ef)(a.cwd);if(!d)throw new z("cwd does not exist");let m=await (0,j.EI)();if(!(0,j.af)(d,m))throw new z("cwd is outside allowed workspaces",403);let p=function(a){if("custom"===a.shell){let b=a.customShellPath.trim();if(!b)throw new z("Custom shell path is required when terminal shell is custom");if(!(0,g.isAbsolute)(b))throw new z("Custom shell path must be an absolute path");try{if(!(0,f.statSync)(b).isFile())throw new z("Custom shell path must point to a file");"win32"!==process.platform&&(0,f.accessSync)(b,f.constants.X_OK)}catch(a){if(a instanceof z)throw a;throw new z(`Custom shell path is not executable or does not exist: ${b}`)}return{command:b,args:[],label:b}}return function(a){if("win32"===process.platform){let b="cmd"===a?"cmd.exe":"powershell"===a?"powershell.exe":"pwsh"===a?"pwsh.exe":a,c=o(b);if(!c)throw new z(`Shell is not available on PATH: ${b}`);return"cmd"===a?{command:c,args:[],label:"cmd"}:"powershell"===a||"pwsh"===a?{command:c,args:["-NoLogo"],label:a}:{command:c,args:["-i"],label:a}}if("cmd"===a||"powershell"===a||"pwsh"===a)throw new z(`Shell is only supported on Windows: ${a}`);let b=(0,h.spawnSync)("/bin/sh",["-lc",`command -v ${a}`],{encoding:"utf8"}),c=b.stdout.trim().split(/\r?\n/)[0];if(0===b.status&&c)return{command:c,args:["-i"],label:a};throw new z(`Shell is not available on PATH: ${a}`)}(a.shell)}(c),u={...process.env,...function(a){let b={};for(let[c,d]of Object.entries(a)){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(c))throw new z(`Invalid environment variable name: ${c}`);b[c]=d}return b}(c.env)},v="number"==typeof a.cols&&Number.isInteger(a.cols)&&a.cols>0?a.cols:80,w="number"==typeof a.rows&&Number.isInteger(a.rows)&&a.rows>0?a.rows:24,x=(0,e.randomUUID)();try{b=function(a,b,c,d,e){try{var f;return{backend:"pty",process:(f=i.spawn(a.command,a.args,{name:"xterm-256color",cols:d,rows:e,cwd:b,env:c}),{write:a=>f.write(a),resize:(a,b)=>f.resize(a,b),kill:()=>f.kill(),onData:a=>{f.onData(a)},onExit:a=>{f.onExit(({exitCode:b,signal:c})=>a({exitCode:b,signal:c}))}})}}catch{let d=function(a,b,c){if("darwin"===process.platform||"win32"===process.platform||!function(a){if("win32"===process.platform)return null!==o(a);let b=(0,h.spawnSync)("/bin/sh",["-lc",`command -v ${a}`],{encoding:"utf8"});return 0===b.status&&!!b.stdout.trim()}("script"))return null;let d={cwd:b,env:{...c,TERM:c.TERM??"xterm-256color"},stdio:"pipe"},e=[t(a.command),...a.args.map(t)].join(" "),f=(0,h.spawn)("script",["-q","-c",e,"/dev/null"],d);return{backend:"script",process:s(f,!1)}}(a,b,c);if(d)return d;let e=(0,h.spawn)(a.command,a.args,{cwd:b,env:{...c,TERM:c.TERM??"xterm-256color"},stdio:"pipe"});return{backend:"pipe",process:s(e,"win32"!==process.platform)}}}(p,d,u,v,w)}catch(a){throw new z(`Failed to start shell: ${a instanceof Error?a.message:String(a)}`,500)}let y={id:x,cwd:d,shell:p.label,process:b.process,backend:b.backend,subscribers:new Set,buffer:[],cleanupTimer:null,closed:!1};return n().set(x,y),r(y),"script"===y.backend&&q(y,"[node-pty unavailable; using script PTY fallback.]\r\n"),"pipe"===y.backend&&q(y,"[PTY unavailable; using pipe fallback. Completion and interactive programs may be limited.]\r\n"),b.process.onData(a=>{for(let b of(q(y,a),y.subscribers))b(a)}),b.process.onExit(({exitCode:a,signal:b})=>{let c=`\r
|
|
2
2
|
[terminal exited with code ${a}${b?`, signal ${b}`:""}]\r
|
|
3
|
-
`;for(let a of(
|
|
3
|
+
`;for(let a of(q(y,c),y.subscribers))a(c);y.closed=!0,n().delete(x)}),{id:x,cwd:d,shell:y.shell,backend:y.backend}}function v(a,b){let c=p(a);for(let a of(c.cleanupTimer&&(clearTimeout(c.cleanupTimer),c.cleanupTimer=null),c.subscribers.add(b),c.buffer))b(a);return()=>{c.subscribers.delete(b),c.closed||0!==c.subscribers.size||r(c)}}function w(a,b){if("string"!=typeof b)throw new z("input data must be a string");p(a).process.write(b)}function x(a,b,c){if("number"!=typeof b||!Number.isInteger(b)||b<=0)throw new z("cols must be a positive integer");if("number"!=typeof c||!Number.isInteger(c)||c<=0)throw new z("rows must be a positive integer");p(a).process.resize(b,c)}function y(a){let b=n().get(a);if(b&&!b.closed){b.closed=!0,b.cleanupTimer&&clearTimeout(b.cleanupTimer),b.cleanupTimer=null,n().delete(a);try{b.process.kill()}catch{}}}d()}catch(a){d(a)}})},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},79646:a=>{a.exports=require("child_process")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87791:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(29489),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/terminal/sessions/route",pathname:"/api/terminal/sessions",filename:"route",bundlePath:"app/api/terminal/sessions/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Volumes/01/ExternalStorage/Projects/gitProjects/pi-agnet-web/app/api/terminal/sessions/route.ts",nextConfigOutput:"",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/terminal/sessions/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,3745],()=>b(b.s=87791));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en" class="__variable_66b8ca"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/7deddc85b7ffd1dc-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/ec14413c594b3356-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/88714c00e109ce28.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/
|
|
1
|
+
<!DOCTYPE html><html lang="en" class="__variable_66b8ca"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/7deddc85b7ffd1dc-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/ec14413c594b3356-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/88714c00e109ce28.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/eb3da56b698c7ed2.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-d708f5497b763214.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-e569667691edc8f7.js" async=""></script><script src="/_next/static/chunks/main-app-642491608bbf66e7.js" async=""></script><script src="/_next/static/chunks/d3ac728e-7964f816a1ca64e5.js" async=""></script><script src="/_next/static/chunks/e868780c-16e43c5968ccf2bf.js" async=""></script><script src="/_next/static/chunks/4071-48c6b0725f8032c1.js" async=""></script><script src="/_next/static/chunks/app/page-4c4ef33a6728f2cd.js" async=""></script><meta name="next-size-adjust" content=""/><title>yolk pi web</title><meta name="description" content="WebChat workspace for the pi coding agent"/><link rel="icon" href="/favicon.ico?8aa486c701a3d218" type="image/x-icon" sizes="512x512"/><link rel="icon" href="/yolk-pi-logo.png"/><script>(function(){try{var t=localStorage.getItem("pi-theme");if(t==="dark")document.documentElement.classList.add("dark")}catch(e){}})();</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body style="height:100dvh;display:flex;flex-direction:column"><div hidden=""><!--$--><!--/$--></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><!--$--><!--/$--><script src="/_next/static/chunks/webpack-d708f5497b763214.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[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:\"$Sreact.suspense\"\n5:I[52773,[\"7330\",\"static/chunks/d3ac728e-7964f816a1ca64e5.js\",\"3888\",\"static/chunks/e868780c-16e43c5968ccf2bf.js\",\"4071\",\"static/chunks/4071-48c6b0725f8032c1.js\",\"8974\",\"static/chunks/app/page-4c4ef33a6728f2cd.js\"],\"AppShell\"]\n6:I[90484,[],\"OutletBoundary\"]\n8:I[90484,[],\"ViewportBoundary\"]\na:I[90484,[],\"MetadataBoundary\"]\nc:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/7deddc85b7ffd1dc-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/ec14413c594b3356-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/88714c00e109ce28.css\",\"style\"]\n:HL[\"/_next/static/css/eb3da56b698c7ed2.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/88714c00e109ce28.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/eb3da56b698c7ed2.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_66b8ca\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var t=localStorage.getItem(\\\"pi-theme\\\");if(t===\\\"dark\\\")document.documentElement.classList.add(\\\"dark\\\")}catch(e){}})();\"}}]}],[\"$\",\"body\",null,{\"style\":{\"height\":\"100dvh\",\"display\":\"flex\",\"flexDirection\":\"column\"},\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$4\",null,{\"children\":[\"$\",\"$L5\",null,{}]}],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$4\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$4\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"h1FtfH2CzAaTu3re1D47A\"}\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"d:I[86869,[],\"IconMark\"]\n7:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"yolk pi web\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"WebChat workspace for the pi coding agent\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?8aa486c701a3d218\",\"type\":\"image/x-icon\",\"sizes\":\"512x512\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/yolk-pi-logo.png\"}],[\"$\",\"$Ld\",\"4\",{}]]\n"])</script></body></html>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
2:I[57121,[],""]
|
|
3
3
|
3:I[74581,[],""]
|
|
4
4
|
4:"$Sreact.suspense"
|
|
5
|
-
5:I[
|
|
5
|
+
5:I[52773,["7330","static/chunks/d3ac728e-7964f816a1ca64e5.js","3888","static/chunks/e868780c-16e43c5968ccf2bf.js","4071","static/chunks/4071-48c6b0725f8032c1.js","8974","static/chunks/app/page-4c4ef33a6728f2cd.js"],"AppShell"]
|
|
6
6
|
6:I[90484,[],"OutletBoundary"]
|
|
7
7
|
8:I[90484,[],"ViewportBoundary"]
|
|
8
8
|
a:I[90484,[],"MetadataBoundary"]
|
|
@@ -10,8 +10,8 @@ c:I[27123,[],"default",1]
|
|
|
10
10
|
:HL["/_next/static/media/7deddc85b7ffd1dc-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
11
11
|
:HL["/_next/static/media/ec14413c594b3356-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
12
12
|
:HL["/_next/static/css/88714c00e109ce28.css","style"]
|
|
13
|
-
:HL["/_next/static/css/
|
|
14
|
-
0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/88714c00e109ce28.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/
|
|
13
|
+
:HL["/_next/static/css/eb3da56b698c7ed2.css","style"]
|
|
14
|
+
0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/88714c00e109ce28.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/eb3da56b698c7ed2.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"__variable_66b8ca","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var t=localStorage.getItem(\"pi-theme\");if(t===\"dark\")document.documentElement.classList.add(\"dark\")}catch(e){}})();"}}]}],["$","body",null,{"style":{"height":"100dvh","display":"flex","flexDirection":"column"},"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","$4",null,{"children":["$","$L5",null,{}]}],null,["$","$L6",null,{"children":["$","$4",null,{"name":"Next.MetadataOutlet","children":"$@7"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$L8",null,{"children":"$L9"}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":"$Lb"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$c",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"h1FtfH2CzAaTu3re1D47A"}
|
|
15
15
|
9:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
16
16
|
d:I[86869,[],"IconMark"]
|
|
17
17
|
7:null
|