@agegr/pi-web 0.3.4 → 0.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +3 -0
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/required-server-files.js +3 -1
  5. package/.next/required-server-files.json +3 -1
  6. package/.next/routes-manifest.json +18 -0
  7. package/.next/server/app/_global-error/page.js +3 -3
  8. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/_global-error.html +1 -1
  10. package/.next/server/app/_global-error.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/.next/server/app/_not-found/page.js +2 -2
  18. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/.next/server/app/_not-found.html +1 -1
  20. package/.next/server/app/_not-found.rsc +1 -1
  21. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  23. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  24. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  25. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  26. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  27. package/.next/server/app/api/agent/[id]/events/route.js +1 -1
  28. package/.next/server/app/api/agent/[id]/route.js +2 -2
  29. package/.next/server/app/api/agent/new/route.js +1 -1
  30. package/.next/server/app/api/default-cwd/route.js +1 -0
  31. package/.next/server/app/api/default-cwd/route.js.nft.json +1 -0
  32. package/.next/server/app/api/default-cwd/route_client-reference-manifest.js +1 -0
  33. package/.next/server/app/api/files/[...path]/route.js +2 -2
  34. package/.next/server/app/api/home/route.js +1 -0
  35. package/.next/server/app/api/home/route.js.nft.json +1 -0
  36. package/.next/server/app/api/home/route_client-reference-manifest.js +1 -0
  37. package/.next/server/app/api/models/route.js +2 -2
  38. package/.next/server/app/api/models-config/route.js +1 -1
  39. package/.next/server/app/api/sessions/[id]/context/route.js +2 -2
  40. package/.next/server/app/api/sessions/[id]/route.js +2 -2
  41. package/.next/server/app/api/sessions/new/route.js +1 -1
  42. package/.next/server/app/api/sessions/route.js +2 -2
  43. package/.next/server/app/api/skills/route.js +4 -0
  44. package/.next/server/app/api/skills/route.js.nft.json +1 -0
  45. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -0
  46. package/.next/server/app/favicon.ico/route.js +1 -1
  47. package/.next/server/app/index.html +1 -1
  48. package/.next/server/app/index.rsc +2 -2
  49. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  50. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  51. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  52. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  53. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  54. package/.next/server/app/page.js +2 -2
  55. package/.next/server/app/page_client-reference-manifest.js +1 -1
  56. package/.next/server/app-paths-manifest.json +3 -0
  57. package/.next/server/middleware-build-manifest.js +1 -1
  58. package/.next/server/pages/404.html +1 -1
  59. package/.next/server/pages/500.html +1 -1
  60. package/.next/static/chunks/app/_global-error/page-73dd24c3d9240194.js +1 -0
  61. package/.next/static/chunks/app/api/agent/[id]/events/route-73dd24c3d9240194.js +1 -0
  62. package/.next/static/chunks/app/api/agent/[id]/route-73dd24c3d9240194.js +1 -0
  63. package/.next/static/chunks/app/api/agent/new/route-73dd24c3d9240194.js +1 -0
  64. package/.next/static/chunks/app/api/default-cwd/route-73dd24c3d9240194.js +1 -0
  65. package/.next/static/chunks/app/api/files/[...path]/route-73dd24c3d9240194.js +1 -0
  66. package/.next/static/chunks/app/api/home/route-73dd24c3d9240194.js +1 -0
  67. package/.next/static/chunks/app/api/models/route-73dd24c3d9240194.js +1 -0
  68. package/.next/static/chunks/app/api/models-config/route-73dd24c3d9240194.js +1 -0
  69. package/.next/static/chunks/app/api/sessions/[id]/context/route-73dd24c3d9240194.js +1 -0
  70. package/.next/static/chunks/app/api/sessions/[id]/route-73dd24c3d9240194.js +1 -0
  71. package/.next/static/chunks/app/api/sessions/new/route-73dd24c3d9240194.js +1 -0
  72. package/.next/static/chunks/app/api/sessions/route-73dd24c3d9240194.js +1 -0
  73. package/.next/static/chunks/app/api/skills/route-73dd24c3d9240194.js +1 -0
  74. package/.next/static/chunks/app/page-53d7611257c66121.js +1 -0
  75. package/.next/static/chunks/next/dist/client/components/builtin/app-error-73dd24c3d9240194.js +1 -0
  76. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-73dd24c3d9240194.js +1 -0
  77. package/.next/static/chunks/next/dist/client/components/builtin/not-found-73dd24c3d9240194.js +1 -0
  78. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-73dd24c3d9240194.js +1 -0
  79. package/.next/static/qJmdsdSfRYR9WlweA4lyq/_buildManifest.js +1 -0
  80. package/.next/trace +15 -3
  81. package/.next/trace-build +1 -1
  82. package/.next/types/app/api/default-cwd/route.ts +351 -0
  83. package/.next/types/app/api/home/route.ts +351 -0
  84. package/.next/types/app/api/skills/route.ts +351 -0
  85. package/.next/types/routes.d.ts +4 -1
  86. package/.next/types/validator.ts +27 -0
  87. package/next.config.ts +7 -0
  88. package/package.json +1 -1
  89. package/.next/static/4kp7if2lGqkmV9DEGzfXZ/_buildManifest.js +0 -1
  90. package/.next/static/chunks/app/_global-error/page-957de1f71e826217.js +0 -1
  91. package/.next/static/chunks/app/api/agent/[id]/events/route-957de1f71e826217.js +0 -1
  92. package/.next/static/chunks/app/api/agent/[id]/route-957de1f71e826217.js +0 -1
  93. package/.next/static/chunks/app/api/agent/new/route-957de1f71e826217.js +0 -1
  94. package/.next/static/chunks/app/api/files/[...path]/route-957de1f71e826217.js +0 -1
  95. package/.next/static/chunks/app/api/models/route-957de1f71e826217.js +0 -1
  96. package/.next/static/chunks/app/api/models-config/route-957de1f71e826217.js +0 -1
  97. package/.next/static/chunks/app/api/sessions/[id]/context/route-957de1f71e826217.js +0 -1
  98. package/.next/static/chunks/app/api/sessions/[id]/route-957de1f71e826217.js +0 -1
  99. package/.next/static/chunks/app/api/sessions/new/route-957de1f71e826217.js +0 -1
  100. package/.next/static/chunks/app/api/sessions/route-957de1f71e826217.js +0 -1
  101. package/.next/static/chunks/app/page-bb92671a9b83a367.js +0 -1
  102. package/.next/static/chunks/next/dist/client/components/builtin/app-error-957de1f71e826217.js +0 -1
  103. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-957de1f71e826217.js +0 -1
  104. package/.next/static/chunks/next/dist/client/components/builtin/not-found-957de1f71e826217.js +0 -1
  105. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-957de1f71e826217.js +0 -1
  106. /package/.next/static/{4kp7if2lGqkmV9DEGzfXZ → qJmdsdSfRYR9WlweA4lyq}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- (()=>{var a={};a.id=97,a.ids=[97,573],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},1820:a=>{"use strict";a.exports=require("os")},3033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3317:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>D,patchFetch:()=>C,routeModule:()=>y,serverHooks:()=>B,workAsyncStorage:()=>z,workUnitAsyncStorage:()=>A});var d={};c.r(d),c.d(d,{GET:()=>x});var e=c(9225),f=c(4006),g=c(8317),h=c(9373),i=c(4775),j=c(4235),k=c(261),l=c(4365),m=c(771),n=c(3461),o=c(7798),p=c(2280),q=c(2018),r=c(5696),s=c(7929),t=c(6439),u=c(7527),v=c(3211),w=c(8573);async function x(){try{let a=await (0,w.dQ)();return v.NextResponse.json({sessions:a})}catch(a){return v.NextResponse.json({error:String(a)},{status:500})}}let y=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/sessions/route",pathname:"/api/sessions",filename:"route",bundlePath:"app/api/sessions/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/alex/Documents/Workspace/pi-web/app/api/sessions/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:z,workUnitAsyncStorage:A,serverHooks:B}=y;function C(){return(0,g.patchFetch)({workAsyncStorage:z,workUnitAsyncStorage:A})}async function D(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),y.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/sessions/route";"/index"===d&&(d="/");let e=await y.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,params:v,nextConfig:w,parsedUrl:x,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||y.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===y.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await y.getIncrementalCache(a,w,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>y.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>y.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.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=`${N} ${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(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!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=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.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!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.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 y.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await y.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)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});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||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)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await y.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},3873:a=>{"use strict";a.exports=require("path")},4870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},6439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},6487:()=>{},8335:()=>{},8573:(a,b,c)=>{"use strict";c.d(b,{Uv:()=>t,T$:()=>p,H6:()=>s,fZ:()=>n,UY:()=>u,O6:()=>l,zU:()=>k,DK:()=>r,invalidateModelCache:()=>m,BR:()=>w,dQ:()=>q,os:()=>x});var d=c(9021),e=c(3873),f=c(1820);function g(){let a=process.env.PI_CODING_AGENT_DIR;return a?"~"===a?(0,f.homedir)():a.startsWith("~/")?(0,f.homedir)()+a.slice(1):a:(0,e.join)((0,f.homedir)(),".pi","agent")}function h(){return(0,e.join)(g(),"sessions")}let i=null;function j(){if(i)return i;i=new Map;let a=(0,e.join)(g(),"models.json");if(!(0,d.existsSync)(a))return i;try{let b=JSON.parse((0,d.readFileSync)(a,"utf8"));for(let[a,c]of Object.entries(b.providers??{}))for(let b of c.models??[])b.id&&b.name&&i.set(`${a}:${b.id}`,{id:b.id,name:b.name,provider:a})}catch{}return i}function k(){let a=new Map;for(let b of j().values())a.set(b.id,b.name);return a}function l(){return Array.from(j().values())}function m(){i=null}function n(){let a=(0,e.join)(g(),"settings.json");if(!(0,d.existsSync)(a))return null;try{let b=JSON.parse((0,d.readFileSync)(a,"utf8"));if(!b.defaultProvider)return null;if(b.defaultModel)return{provider:b.defaultProvider,modelId:b.defaultModel};let c=Array.from(j().values()).find(a=>a.provider===b.defaultProvider);if(c)return{provider:c.provider,modelId:c.id}}catch{}return null}function o(a){if(!(0,d.existsSync)(a))return[];let b=(0,d.readFileSync)(a,"utf8"),c=[];for(let a of b.trim().split("\n"))if(a.trim())try{c.push(JSON.parse(a))}catch{}return c}function p(a){try{let b,c,e=o(a);if(0===e.length)return null;let f=e[0];if("session"!==f.type)return null;let g=(0,d.statSync)(a),h=f.id,i=f.cwd??"",j=f.timestamp,k=f.parentSession?(c=(f.parentSession.replace(/\\/g,"/").split("/").pop()??"").match(/_([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\.jsonl$/i),c?.[1]):void 0,l=0,m="";for(let a of e){if("session_info"===a.type&&a.name&&(b=a.name.trim()),"message"!==a.type)continue;l++;let c=a.message;if("user"!==c.role&&"assistant"!==c.role)continue;let d=function(a){let b=a.content;return"string"==typeof b?b:Array.isArray(b)?b.filter(a=>"text"===a.type).map(a=>a.text).join(" "):""}(c);m||"user"!==c.role||(m=d)}return{path:a,id:h,cwd:i,name:b,created:j,modified:g.mtime.toISOString(),messageCount:l,firstMessage:m||"(no messages)",parentSessionId:k}}catch{return null}}async function q(){let a=h(),b=[];if(!(0,d.existsSync)(a))return b;try{for(let c of(0,d.readdirSync)(a,{withFileTypes:!0}).filter(a=>a.isDirectory()).map(b=>(0,e.join)(a,b.name)))try{for(let a of(0,d.readdirSync)(c).filter(a=>a.endsWith(".jsonl")).map(a=>(0,e.join)(c,a))){let c=p(a);c&&b.push(c)}}catch{}}catch{}return b.sort((a,b)=>new Date(b.modified).getTime()-new Date(a.modified).getTime()),b}function r(a){return o(a).filter(a=>"session"!==a.type)}function s(a){let b=new Map;for(let c of a)"label"===c.type&&(c.label?b.set(c.targetId,c.label):b.delete(c.targetId));let c=new Map,d=[];for(let d of a)c.set(d.id,{entry:d,children:[],label:b.get(d.id)});for(let b of a){let a=c.get(b.id);if(b.parentId){let e=c.get(b.parentId);e?e.children.push(a):d.push(a)}else d.push(a)}let e=[...d];for(;e.length>0;){let a=e.pop();a.children.sort((a,b)=>new Date(a.entry.timestamp).getTime()-new Date(b.entry.timestamp).getTime()),e.push(...a.children)}return d}function t(a,b){let c,d=new Map;for(let b of a)d.set(b.id,b);if(null===b||(b&&(c=d.get(b)),c||(c=a[a.length-1]),!c))return{messages:[],entryIds:[],thinkingLevel:"off",model:null};let e=[],f=c;for(;f;)e.unshift(f),f=f.parentId?d.get(f.parentId):void 0;let g="off",h=null,i=null;for(let a of e)if("thinking_level_change"===a.type)g=a.thinkingLevel;else if("model_change"===a.type)h={provider:a.provider,modelId:a.modelId};else if("message"===a.type&&"assistant"===a.message.role){let b=a.message;h={provider:b.provider,modelId:b.model}}else"compaction"===a.type&&(i=a);let j=[],k=[],l=a=>{"message"===a.type&&(j.push(function(a){if("assistant"!==a.role||!Array.isArray(a.content))return a;let b=a.content.map(a=>"toolCall"!==a.type?a:{type:"toolCall",toolCallId:a.toolCallId??a.id,toolName:a.toolName??a.name,input:a.input??a.arguments});return{...a,content:b}}(a.message)),k.push(a.id))};if(i){let a={role:"user",content:`*The conversation history before this point was compacted into the following summary:*
1
+ (()=>{var a={};a.id=97,a.ids=[97,573],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},1016:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>D,patchFetch:()=>C,routeModule:()=>y,serverHooks:()=>B,workAsyncStorage:()=>z,workUnitAsyncStorage:()=>A});var d={};c.r(d),c.d(d,{GET:()=>x});var e=c(9225),f=c(4006),g=c(8317),h=c(9373),i=c(4775),j=c(4235),k=c(261),l=c(4365),m=c(771),n=c(3461),o=c(7798),p=c(2280),q=c(2018),r=c(5696),s=c(7929),t=c(6439),u=c(7527),v=c(3211),w=c(8573);async function x(){try{let a=await (0,w.dQ)();return v.NextResponse.json({sessions:a})}catch(a){return v.NextResponse.json({error:String(a)},{status:500})}}let y=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/sessions/route",pathname:"/api/sessions",filename:"route",bundlePath:"app/api/sessions/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/alex/Documents/Workspace/pi-web/app/api/sessions/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:z,workUnitAsyncStorage:A,serverHooks:B}=y;function C(){return(0,g.patchFetch)({workAsyncStorage:z,workUnitAsyncStorage:A})}async function D(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),y.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/sessions/route";"/index"===d&&(d="/");let e=await y.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,params:v,nextConfig:w,parsedUrl:x,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||y.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===y.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await y.getIncrementalCache(a,w,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>y.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>y.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.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=`${N} ${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(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!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=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.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!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.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 y.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await y.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)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});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||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)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await y.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},1820:a=>{"use strict";a.exports=require("os")},3033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3873:a=>{"use strict";a.exports=require("path")},4870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},6439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},6487:()=>{},8335:()=>{},8573:(a,b,c)=>{"use strict";c.d(b,{Uv:()=>t,T$:()=>p,H6:()=>s,fZ:()=>n,UY:()=>u,O6:()=>l,zU:()=>k,DK:()=>r,invalidateModelCache:()=>m,BR:()=>w,dQ:()=>q,os:()=>x});var d=c(9021),e=c(3873),f=c(1820);function g(){let a=process.env.PI_CODING_AGENT_DIR;return a?"~"===a?(0,f.homedir)():a.startsWith("~/")?(0,f.homedir)()+a.slice(1):a:(0,e.join)((0,f.homedir)(),".pi","agent")}function h(){return(0,e.join)(g(),"sessions")}let i=null;function j(){if(i)return i;i=new Map;let a=(0,e.join)(g(),"models.json");if(!(0,d.existsSync)(a))return i;try{let b=JSON.parse((0,d.readFileSync)(a,"utf8"));for(let[a,c]of Object.entries(b.providers??{}))for(let b of c.models??[])b.id&&b.name&&i.set(`${a}:${b.id}`,{id:b.id,name:b.name,provider:a})}catch{}return i}function k(){let a=new Map;for(let b of j().values())a.set(b.id,b.name);return a}function l(){return Array.from(j().values())}function m(){i=null}function n(){let a=(0,e.join)(g(),"settings.json");if(!(0,d.existsSync)(a))return null;try{let b=JSON.parse((0,d.readFileSync)(a,"utf8"));if(!b.defaultProvider)return null;if(b.defaultModel)return{provider:b.defaultProvider,modelId:b.defaultModel};let c=Array.from(j().values()).find(a=>a.provider===b.defaultProvider);if(c)return{provider:c.provider,modelId:c.id}}catch{}return null}function o(a){if(!(0,d.existsSync)(a))return[];let b=(0,d.readFileSync)(a,"utf8"),c=[];for(let a of b.trim().split("\n"))if(a.trim())try{c.push(JSON.parse(a))}catch{}return c}function p(a){try{let b,c,e=o(a);if(0===e.length)return null;let f=e[0];if("session"!==f.type)return null;let g=(0,d.statSync)(a),h=f.id,i=f.cwd??"",j=f.timestamp,k=f.parentSession?(c=(f.parentSession.replace(/\\/g,"/").split("/").pop()??"").match(/_([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\.jsonl$/i),c?.[1]):void 0,l=0,m="";for(let a of e){if("session_info"===a.type&&a.name&&(b=a.name.trim()),"message"!==a.type)continue;l++;let c=a.message;if("user"!==c.role&&"assistant"!==c.role)continue;let d=function(a){let b=a.content;return"string"==typeof b?b:Array.isArray(b)?b.filter(a=>"text"===a.type).map(a=>a.text).join(" "):""}(c);m||"user"!==c.role||(m=d)}return{path:a,id:h,cwd:i,name:b,created:j,modified:g.mtime.toISOString(),messageCount:l,firstMessage:m||"(no messages)",parentSessionId:k}}catch{return null}}async function q(){let a=h(),b=[];if(!(0,d.existsSync)(a))return b;try{for(let c of(0,d.readdirSync)(a,{withFileTypes:!0}).filter(a=>a.isDirectory()).map(b=>(0,e.join)(a,b.name)))try{for(let a of(0,d.readdirSync)(c).filter(a=>a.endsWith(".jsonl")).map(a=>(0,e.join)(c,a))){let c=p(a);c&&b.push(c)}}catch{}}catch{}return b.sort((a,b)=>new Date(b.modified).getTime()-new Date(a.modified).getTime()),b}function r(a){return o(a).filter(a=>"session"!==a.type)}function s(a){let b=new Map;for(let c of a)"label"===c.type&&(c.label?b.set(c.targetId,c.label):b.delete(c.targetId));let c=new Map,d=[];for(let d of a)c.set(d.id,{entry:d,children:[],label:b.get(d.id)});for(let b of a){let a=c.get(b.id);if(b.parentId){let e=c.get(b.parentId);e?e.children.push(a):d.push(a)}else d.push(a)}let e=[...d];for(;e.length>0;){let a=e.pop();a.children.sort((a,b)=>new Date(a.entry.timestamp).getTime()-new Date(b.entry.timestamp).getTime()),e.push(...a.children)}return d}function t(a,b){let c,d=new Map;for(let b of a)d.set(b.id,b);if(null===b||(b&&(c=d.get(b)),c||(c=a[a.length-1]),!c))return{messages:[],entryIds:[],thinkingLevel:"off",model:null};let e=[],f=c;for(;f;)e.unshift(f),f=f.parentId?d.get(f.parentId):void 0;let g="off",h=null,i=null;for(let a of e)if("thinking_level_change"===a.type)g=a.thinkingLevel;else if("model_change"===a.type)h={provider:a.provider,modelId:a.modelId};else if("message"===a.type&&"assistant"===a.message.role){let b=a.message;h={provider:b.provider,modelId:b.model}}else"compaction"===a.type&&(i=a);let j=[],k=[],l=a=>{"message"===a.type&&(j.push(function(a){if("assistant"!==a.role||!Array.isArray(a.content))return a;let b=a.content.map(a=>"toolCall"!==a.type?a:{type:"toolCall",toolCallId:a.toolCallId??a.id,toolName:a.toolName??a.name,input:a.input??a.arguments});return{...a,content:b}}(a.message)),k.push(a.id))};if(i){let a={role:"user",content:`*The conversation history before this point was compacted into the following summary:*
2
2
 
3
- ${i.summary}`,timestamp:new Date(i.timestamp).getTime()};j.push(a),k.push(i.id);let b=e.findIndex(a=>"compaction"===a.type&&a.id===i.id),c=e.findIndex((a,c)=>c<b&&a.id===i.firstKeptEntryId),d=c>=0?c:b;for(let a=d;a<b;a++)l(e[a]);for(let a=b+1;a<e.length;a++)l(e[a])}else for(let a of e)l(a);return{messages:j,entryIds:k,thinkingLevel:g,model:h}}function u(a){return 0===a.length?null:a[a.length-1].id}function v(){return globalThis.__piSessionPathCache||(globalThis.__piSessionPathCache=new Map),globalThis.__piSessionPathCache}function w(a){v().delete(a)}function x(a){let b=v(),c=b.get(a);if(c&&(0,d.existsSync)(c))return c;let f=h();if(!(0,d.existsSync)(f))return null;try{for(let c of(0,d.readdirSync)(f,{withFileTypes:!0}).filter(a=>a.isDirectory()).map(a=>(0,e.join)(f,a.name)))try{for(let f of(0,d.readdirSync)(c).filter(a=>a.endsWith(".jsonl"))){let g=(0,e.join)(c,f),h=(0,d.readFileSync)(g,"utf8").split("\n")[0];try{let c=JSON.parse(h);if("session"===c.type&&c.id===a)return b.set(a,g),g}catch{}}}catch{}}catch{}return null}},9021:a=>{"use strict";a.exports=require("fs")},9294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,813],()=>b(b.s=3317));module.exports=c})();
3
+ ${i.summary}`,timestamp:new Date(i.timestamp).getTime()};j.push(a),k.push(i.id);let b=e.findIndex(a=>"compaction"===a.type&&a.id===i.id),c=e.findIndex((a,c)=>c<b&&a.id===i.firstKeptEntryId),d=c>=0?c:b;for(let a=d;a<b;a++)l(e[a]);for(let a=b+1;a<e.length;a++)l(e[a])}else for(let a of e)l(a);return{messages:j,entryIds:k,thinkingLevel:g,model:h}}function u(a){return 0===a.length?null:a[a.length-1].id}function v(){return globalThis.__piSessionPathCache||(globalThis.__piSessionPathCache=new Map),globalThis.__piSessionPathCache}function w(a){v().delete(a)}function x(a){let b=v(),c=b.get(a);if(c&&(0,d.existsSync)(c))return c;let f=h();if(!(0,d.existsSync)(f))return null;try{for(let c of(0,d.readdirSync)(f,{withFileTypes:!0}).filter(a=>a.isDirectory()).map(a=>(0,e.join)(f,a.name)))try{for(let f of(0,d.readdirSync)(c).filter(a=>a.endsWith(".jsonl"))){let g=(0,e.join)(c,f),h=(0,d.readFileSync)(g,"utf8").split("\n")[0];try{let c=JSON.parse(h);if("session"===c.type&&c.id===a)return b.set(a,g),g}catch{}}}catch{}}catch{}return null}},9021:a=>{"use strict";a.exports=require("fs")},9294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,813],()=>b(b.s=1016));module.exports=c})();
@@ -0,0 +1,4 @@
1
+ (()=>{var a={};a.id=968,a.ids=[968],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},467:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>H,patchFetch:()=>G,routeModule:()=>C,serverHooks:()=>F,workAsyncStorage:()=>D,workUnitAsyncStorage:()=>E});var d={};c.r(d),c.d(d,{GET:()=>A,PATCH:()=>B,dynamic:()=>z});var e=c(9225),f=c(4006),g=c(8317),h=c(9373),i=c(4775),j=c(4235),k=c(261),l=c(4365),m=c(771),n=c(3461),o=c(7798),p=c(2280),q=c(2018),r=c(5696),s=c(7929),t=c(6439),u=c(7527),v=c(3211),w=c(9021),x=c(3873),y=c(1820);let z="force-dynamic";async function A(a){let{searchParams:b}=new URL(a.url),d=b.get("cwd");if(!d)return v.NextResponse.json({error:"cwd required"},{status:400});try{let a,{DefaultResourceLoader:b}=await Promise.resolve().then(c.bind(c,8698)),e=new b({cwd:d,agentDir:(a=process.env.PI_CODING_AGENT_DIR)?"~"===a?(0,y.homedir)():a.startsWith("~/")?(0,y.homedir)()+a.slice(1):a:(0,x.join)((0,y.homedir)(),".pi","agent")});await e.reload();let{skills:f,diagnostics:g}=e.getSkills();return v.NextResponse.json({skills:f,diagnostics:g})}catch(a){return v.NextResponse.json({error:String(a)},{status:500})}}async function B(a){try{let{filePath:b,disableModelInvocation:c}=await a.json();if(!b)return v.NextResponse.json({error:"filePath required"},{status:400});if(!(0,w.existsSync)(b))return v.NextResponse.json({error:"file not found"},{status:404});let d=(0,w.readFileSync)(b,"utf8"),e=function(a,b,c){let d=a.match(/^---\r?\n([\s\S]*?)\r?\n---(\r?\n|$)/);if(!d)return void 0===c?a:`---
2
+ ${b}: true
3
+ ---
4
+ ${a}`;let e=d[1],f=a.slice(d[0].length),g=d[0].includes("\r\n")?"\r\n":"\n",h=e.split(/\r?\n/),i=RegExp(`^(${b})\\s*:.*$`),j=h.findIndex(a=>i.test(a));if(void 0===c){if(-1===j)return a;h.splice(j,1)}else{let a=`${b}: ${c}`;-1===j?h.push(a):h[j]=a}return`---${g}${h.join(g)}${g}---${g}${f}`}(d,"disable-model-invocation",!!c||void 0);return(0,w.writeFileSync)(b,e,"utf8"),v.NextResponse.json({success:!0})}catch(a){return v.NextResponse.json({error:String(a)},{status:500})}}let C=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/skills/route",pathname:"/api/skills",filename:"route",bundlePath:"app/api/skills/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/alex/Documents/Workspace/pi-web/app/api/skills/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:D,workUnitAsyncStorage:E,serverHooks:F}=C;function G(){return(0,g.patchFetch)({workAsyncStorage:D,workUnitAsyncStorage:E})}async function H(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),C.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/skills/route";"/index"===d&&(d="/");let e=await C.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,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[E]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[E],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||C.isDev||y||(K="/index"===(K=E)?"/":K);let L=!0===C.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==A?void 0:A.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await C.getIncrementalCache(a,w,z,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:z.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>C.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>C.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.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=`${N} ${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(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&B&&D&&!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=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.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!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.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 C.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},k=await C.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)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});R||b.setHeader("x-nextjs-cache",B?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||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)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await C.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},1820:a=>{"use strict";a.exports=require("os")},3033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3873:a=>{"use strict";a.exports=require("path")},4870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},6439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},6487:()=>{},8335:()=>{},8698:a=>{"use strict";a.exports=import("@mariozechner/pi-coding-agent")},9021:a=>{"use strict";a.exports=require("fs")},9294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,813],()=>b(b.s=467));module.exports=c})();