fleetlens 1.0.2 → 1.0.3

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 (122) hide show
  1. package/app/apps/web/.next/BUILD_ID +1 -1
  2. package/app/apps/web/.next/build-manifest.json +3 -3
  3. package/app/apps/web/.next/prerender-manifest.json +3 -3
  4. package/app/apps/web/.next/server/app/_global-error.html +1 -1
  5. package/app/apps/web/.next/server/app/_global-error.rsc +1 -1
  6. package/app/apps/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/app/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/app/apps/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/app/apps/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/app/apps/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/app/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  12. package/app/apps/web/.next/server/app/agent/page_client-reference-manifest.js +1 -1
  13. package/app/apps/web/.next/server/app/api/agent/chats/[id]/events/route.js +3 -1
  14. package/app/apps/web/.next/server/app/api/agent/chats/[id]/events/route.js.nft.json +1 -1
  15. package/app/apps/web/.next/server/app/api/agent/chats/[id]/messages/route.js +1 -1
  16. package/app/apps/web/.next/server/app/api/agent/chats/[id]/messages/route.js.nft.json +1 -1
  17. package/app/apps/web/.next/server/app/api/agent/chats/[id]/route.js +3 -1
  18. package/app/apps/web/.next/server/app/api/agent/chats/[id]/route.js.nft.json +1 -1
  19. package/app/apps/web/.next/server/app/api/agent/chats/[id]/stop/route.js +3 -1
  20. package/app/apps/web/.next/server/app/api/agent/chats/[id]/stop/route.js.nft.json +1 -1
  21. package/app/apps/web/.next/server/app/api/agent/chats/route.js +3 -1
  22. package/app/apps/web/.next/server/app/api/agent/chats/route.js.nft.json +1 -1
  23. package/app/apps/web/.next/server/app/api/agent/index/route.js +1 -1
  24. package/app/apps/web/.next/server/app/api/agent/index/route.js.nft.json +1 -1
  25. package/app/apps/web/.next/server/app/api/agent/mcp/route.js +1 -1
  26. package/app/apps/web/.next/server/app/api/agent/mcp/route.js.nft.json +1 -1
  27. package/app/apps/web/.next/server/app/api/agent/suggestions/route.js +1 -1
  28. package/app/apps/web/.next/server/app/api/agent/suggestions/route.js.nft.json +1 -1
  29. package/app/apps/web/.next/server/app/api/ask/route.js +1 -1
  30. package/app/apps/web/.next/server/app/api/ask/route.js.nft.json +1 -1
  31. package/app/apps/web/.next/server/app/api/digest/day/[date]/route.js +1 -1
  32. package/app/apps/web/.next/server/app/api/digest/day/[date]/route.js.nft.json +1 -1
  33. package/app/apps/web/.next/server/app/api/digest/month/[yearMonth]/route.js +1 -1
  34. package/app/apps/web/.next/server/app/api/digest/month/[yearMonth]/route.js.nft.json +1 -1
  35. package/app/apps/web/.next/server/app/api/digest/month-index/route.js +1 -1
  36. package/app/apps/web/.next/server/app/api/digest/month-index/route.js.nft.json +1 -1
  37. package/app/apps/web/.next/server/app/api/digest/week/[startDate]/route.js +1 -1
  38. package/app/apps/web/.next/server/app/api/digest/week/[startDate]/route.js.nft.json +1 -1
  39. package/app/apps/web/.next/server/app/api/digest/week-index/route.js +1 -1
  40. package/app/apps/web/.next/server/app/api/digest/week-index/route.js.nft.json +1 -1
  41. package/app/apps/web/.next/server/app/api/pdf/[key]/route.js +1 -1
  42. package/app/apps/web/.next/server/app/api/pdf/[key]/route.js.nft.json +1 -1
  43. package/app/apps/web/.next/server/app/api/projects/open-folder/route.js +1 -1
  44. package/app/apps/web/.next/server/app/api/projects/open-folder/route.js.nft.json +1 -1
  45. package/app/apps/web/.next/server/app/api/settings/credentials/route.js +1 -1
  46. package/app/apps/web/.next/server/app/api/settings/credentials/route.js.nft.json +1 -1
  47. package/app/apps/web/.next/server/app/api/settings/route.js +1 -1
  48. package/app/apps/web/.next/server/app/api/settings/route.js.nft.json +1 -1
  49. package/app/apps/web/.next/server/app/api/team/onboarding/start/route.js +1 -1
  50. package/app/apps/web/.next/server/app/api/team/onboarding/start/route.js.nft.json +1 -1
  51. package/app/apps/web/.next/server/app/api/team/sync-projects/route.js +1 -1
  52. package/app/apps/web/.next/server/app/api/team/sync-projects/route.js.nft.json +1 -1
  53. package/app/apps/web/.next/server/app/changelog/page_client-reference-manifest.js +1 -1
  54. package/app/apps/web/.next/server/app/day/[date]/page_client-reference-manifest.js +1 -1
  55. package/app/apps/web/.next/server/app/day/page_client-reference-manifest.js +1 -1
  56. package/app/apps/web/.next/server/app/digest/[date]/page_client-reference-manifest.js +1 -1
  57. package/app/apps/web/.next/server/app/digest/page_client-reference-manifest.js +1 -1
  58. package/app/apps/web/.next/server/app/insights/[key]/page_client-reference-manifest.js +1 -1
  59. package/app/apps/web/.next/server/app/insights/page_client-reference-manifest.js +1 -1
  60. package/app/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
  61. package/app/apps/web/.next/server/app/parallelism/page_client-reference-manifest.js +1 -1
  62. package/app/apps/web/.next/server/app/print/[key]/page_client-reference-manifest.js +1 -1
  63. package/app/apps/web/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  64. package/app/apps/web/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  65. package/app/apps/web/.next/server/app/runs/page_client-reference-manifest.js +1 -1
  66. package/app/apps/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  67. package/app/apps/web/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  68. package/app/apps/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  69. package/app/apps/web/.next/server/app/team/onboarding/page_client-reference-manifest.js +1 -1
  70. package/app/apps/web/.next/server/app/team/page_client-reference-manifest.js +1 -1
  71. package/app/apps/web/.next/server/app/usage/page_client-reference-manifest.js +1 -1
  72. package/app/apps/web/.next/server/chunks/{[root-of-the-server]__038-.1r._.js → [root-of-the-server]__0-09rjv._.js} +2 -2
  73. package/app/apps/web/.next/server/chunks/{[root-of-the-server]__0_5tf-2._.js → [root-of-the-server]__01oercw._.js} +5 -5
  74. package/app/apps/web/.next/server/chunks/[root-of-the-server]__02.51sr._.js +1 -1
  75. package/app/apps/web/.next/server/chunks/[root-of-the-server]__057w7kr._.js +28 -0
  76. package/app/apps/web/.next/server/chunks/{[root-of-the-server]__0pirsh0._.js → [root-of-the-server]__07b5796._.js} +2 -2
  77. package/app/apps/web/.next/server/chunks/{[root-of-the-server]__02puo0u._.js → [root-of-the-server]__07xaqv3._.js} +2 -2
  78. package/app/apps/web/.next/server/chunks/{[root-of-the-server]__06xto5z._.js → [root-of-the-server]__08c24et._.js} +2 -2
  79. package/app/apps/web/.next/server/chunks/{[root-of-the-server]__0mvl0qn._.js → [root-of-the-server]__08m2h38._.js} +2 -2
  80. package/app/apps/web/.next/server/chunks/{[root-of-the-server]__0mx_9mb._.js → [root-of-the-server]__0c7ght_._.js} +2 -2
  81. package/app/apps/web/.next/server/chunks/{[root-of-the-server]__12iid50._.js → [root-of-the-server]__0l5i8nk._.js} +2 -2
  82. package/app/apps/web/.next/server/chunks/{[root-of-the-server]__04g-b-m._.js → [root-of-the-server]__0mcer3z._.js} +2 -2
  83. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0o9lsie._.js +30 -0
  84. package/app/apps/web/.next/server/chunks/{[root-of-the-server]__0367vbv._.js → [root-of-the-server]__0ozooam._.js} +2 -2
  85. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0uf_ch4._.js +28 -0
  86. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0uiom2m._.js +28 -0
  87. package/app/apps/web/.next/server/chunks/{[root-of-the-server]__096_llw._.js → [root-of-the-server]__0usaajs._.js} +2 -2
  88. package/app/apps/web/.next/server/chunks/{[root-of-the-server]__06irs4z._.js → [root-of-the-server]__0zyh554._.js} +2 -2
  89. package/app/apps/web/.next/server/chunks/{[root-of-the-server]__0gvw6dk._.js → [root-of-the-server]__0~4wgaf._.js} +2 -2
  90. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0~~bpcw._.js +3 -0
  91. package/app/apps/web/.next/server/chunks/{[root-of-the-server]__01~cgp8._.js → [root-of-the-server]__10.g-w1._.js} +2 -2
  92. package/app/apps/web/.next/server/chunks/[root-of-the-server]__12vjv4c._.js +28 -0
  93. package/app/apps/web/.next/server/chunks/packages_entries_dist_node_0bckr7-.js +19 -19
  94. package/app/apps/web/.next/server/chunks/ssr/_0k8yioi._.js +1 -1
  95. package/app/apps/web/.next/server/chunks/ssr/apps_web_lib_changelog_ts_0n7_p1d._.js +1 -1
  96. package/app/apps/web/.next/server/chunks/ssr/apps_web_lib_changelog_ts_0nb5_-s._.js +1 -1
  97. package/app/apps/web/.next/server/middleware-build-manifest.js +3 -3
  98. package/app/apps/web/.next/server/middleware-manifest.json +5 -5
  99. package/app/apps/web/.next/server/pages/500.html +1 -1
  100. package/app/apps/web/.next/server/server-reference-manifest.js +1 -1
  101. package/app/apps/web/.next/server/server-reference-manifest.json +1 -1
  102. package/app/apps/web/.next/static/chunks/0ntt~a0712~pv.js +14 -0
  103. package/app/apps/web/app/api/ask/route.ts +8 -2
  104. package/app/apps/web/lib/agent/run.ts +11 -2
  105. package/app/apps/web/lib/changelog-data.generated.ts +1 -1
  106. package/app/apps/web/package.json +1 -1
  107. package/app/apps/web/tsconfig.tsbuildinfo +1 -1
  108. package/dist/daemon-worker.js +104 -55
  109. package/dist/index.js +174 -113
  110. package/menubar/Fleetlens.app/Contents/Info.plist +2 -2
  111. package/menubar/Fleetlens.app/Contents/MacOS/FleetlensMenubar +0 -0
  112. package/package.json +1 -1
  113. package/app/apps/web/.next/server/chunks/[root-of-the-server]__02faosk._.js +0 -30
  114. package/app/apps/web/.next/server/chunks/[root-of-the-server]__02petpy._.js +0 -3
  115. package/app/apps/web/.next/server/chunks/[root-of-the-server]__09cgmam._.js +0 -28
  116. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0tk8p3d._.js +0 -28
  117. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0u6pamj._.js +0 -28
  118. package/app/apps/web/.next/server/chunks/[root-of-the-server]__12jomao._.js +0 -28
  119. package/app/apps/web/.next/static/chunks/0dqhn7-3.038l.js +0 -14
  120. /package/app/apps/web/.next/static/{zyhoVMC9iNC5vofPFRY6z → Shk_TH0B6lHs9cBZekkf5}/_buildManifest.js +0 -0
  121. /package/app/apps/web/.next/static/{zyhoVMC9iNC5vofPFRY6z → Shk_TH0B6lHs9cBZekkf5}/_clientMiddlewareManifest.js +0 -0
  122. /package/app/apps/web/.next/static/{zyhoVMC9iNC5vofPFRY6z → Shk_TH0B6lHs9cBZekkf5}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},27174,e=>{"use strict";e.i(39587),e.s([])},37111,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),o=e.i(61916),s=e.i(74677),i=e.i(69741),l=e.i(16795),d=e.i(87718),p=e.i(95169),u=e.i(47587),c=e.i(66012),h=e.i(70101),x=e.i(74838),f=e.i(10372),R=e.i(93695);e.i(52474);var v=e.i(220),g=e.i(74533),w=e.i(2157),m=e.i(50227);e.i(27174);var y=e.i(79357),E=e.i(43427);async function C(e){let t=await e.json().catch(()=>null),r="string"==typeof t?.projectKey?t.projectKey:"",n="string"==typeof t?.path?t.path:"";if(!r||!n)return Response.json({error:"Missing project or folder path."},{status:400});if(!(0,m.isAbsolute)(n))return Response.json({error:"Only absolute local folder paths can be opened."},{status:400});if(!(await (0,E.listAllSessions)({limit:1e3}).then(e=>{let t=new Set;for(let n of e)(0,y.projectKey)(n.projectName)===r&&(n.cwd&&(0,m.isAbsolute)(n.cwd)&&t.add(n.cwd),(0,m.isAbsolute)(n.projectName)&&t.add(n.projectName));return t})).has(n))return Response.json({error:"That folder is not part of this project."},{status:403});if(!(0,w.statSync)(n,{throwIfNoEntry:!1})?.isDirectory())return Response.json({error:"That folder no longer exists locally."},{status:404});let{cmd:a,args:o}={cmd:"xdg-open",args:[n]};return(0,g.spawn)(a,o,{detached:!0,stdio:"ignore"}).unref(),Response.json({ok:!0})}e.s(["POST",0,C,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],74248);var b=e.i(74248);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/projects/open-folder/route",pathname:"/api/projects/open-folder",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/projects/open-folder/route.ts",nextConfigOutput:"standalone",userland:b,...{}}),{workAsyncStorage:j,workUnitAsyncStorage:N,serverHooks:T}=A;async function q(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),A.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/projects/open-folder/route";g=g.replace(/\/index$/,"")||"/";let w=await A.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:m,params:y,nextConfig:E,parsedUrl:C,isDraftMode:b,prerenderManifest:j,routerServerContext:N,isOnDemandRevalidate:T,revalidateOnlyGenerated:q,resolvedPathname:S,clientReferenceManifest:P,serverActionsManifest:_}=w,O=(0,i.normalizeAppPath)(g),k=!!(j.dynamicRoutes[O]||j.routes[S]),H=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,C,!1):t.end("This page could not be found"),null);if(k&&!b){let e=!!j.routes[S],t=j.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await H();throw new R.NoFallbackError}}let I=null;!k||A.isDev||b||(I="/index"===(I=S)?"/":I);let M=!0===A.isDev||!k,U=k&&!M;_&&P&&(0,s.setManifestsSingleton)({page:g,clientReferenceManifest:P,serverActionsManifest:_});let D=e.method||"GET",K=(0,o.getTracer)(),$=K.getActiveScopeSpan(),F=!!(null==N?void 0:N.isWrappedByNextServer),B=!!(0,a.getRequestMeta)(e,"minimalMode"),L=(0,a.getRequestMeta)(e,"incrementalCache")||await A.getIncrementalCache(e,E,j,B);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let G={params:y,previewProps:j.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:M,incrementalCache:L,cacheLifeProfiles:E.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>A.onRequestError(e,t,n,a,N)},sharedContext:{buildId:m}},V=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let a,s=async e=>A.handle(X,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=K.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${D} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",n),a.updateName(t))}else e.updateName(`${D} ${g}`)}),i=async a=>{var o,i;let l=async({previousCacheEntry:r})=>{try{if(!B&&T&&q&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await s(a);e.fetchMetrics=G.renderOpts.fetchMetrics;let i=G.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let l=G.renderOpts.collectedTags;if(!k)return await (0,c.sendResponse)(V,W,o,G.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(o.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,n=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:T})},!1,N),t}},d=await A.handleResponse({req:e,nextConfig:E,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:j,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:q,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:B});if(!k)return null;if((null==d||null==(o=d.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",T?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return B&&k||p.delete(f.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,x.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(V,W,new Response(d.value.body,{headers:p,status:d.value.status||200})),null};F&&$?await i($):(a=K.getActiveScopeSpan(),await K.withPropagatedContext(e.headers,()=>K.trace(p.BaseServerSpan.handleRequest,{spanName:`${D} ${g}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},i),void 0,!F))}catch(t){if(t instanceof R.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:T})},!1,N),k)throw t;return await (0,c.sendResponse)(V,W,new Response(null,{status:500})),null}}e.s(["handler",0,q,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:j,workUnitAsyncStorage:N})},"routeModule",0,A,"serverHooks",0,T,"workAsyncStorage",0,j,"workUnitAsyncStorage",0,N],37111)}];
1
+ module.exports=[50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},27174,e=>{"use strict";e.i(39587),e.s([])},37111,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),o=e.i(61916),s=e.i(74677),i=e.i(69741),l=e.i(16795),d=e.i(87718),p=e.i(95169),u=e.i(47587),c=e.i(66012),h=e.i(70101),x=e.i(74838),f=e.i(10372),R=e.i(93695);e.i(52474);var v=e.i(220),g=e.i(74533),w=e.i(2157),m=e.i(50227);e.i(27174);var y=e.i(79357),E=e.i(43427);async function C(e){let t=await e.json().catch(()=>null),r="string"==typeof t?.projectKey?t.projectKey:"",n="string"==typeof t?.path?t.path:"";if(!r||!n)return Response.json({error:"Missing project or folder path."},{status:400});if(!(0,m.isAbsolute)(n))return Response.json({error:"Only absolute local folder paths can be opened."},{status:400});if(!(await (0,E.listAllSessions)({limit:1e3}).then(e=>{let t=new Set;for(let n of e)(0,y.projectKey)(n.projectName)===r&&(n.cwd&&(0,m.isAbsolute)(n.cwd)&&t.add(n.cwd),(0,m.isAbsolute)(n.projectName)&&t.add(n.projectName));return t})).has(n))return Response.json({error:"That folder is not part of this project."},{status:403});if(!(0,w.statSync)(n,{throwIfNoEntry:!1})?.isDirectory())return Response.json({error:"That folder no longer exists locally."},{status:404});let{cmd:a,args:o}={cmd:"xdg-open",args:[n]};return(0,g.spawn)(a,o,{detached:!0,stdio:"ignore"}).unref(),Response.json({ok:!0})}e.s(["POST",0,C,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],74248);var b=e.i(74248);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/projects/open-folder/route",pathname:"/api/projects/open-folder",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/projects/open-folder/route.ts",nextConfigOutput:"standalone",userland:b,...{}}),{workAsyncStorage:j,workUnitAsyncStorage:N,serverHooks:T}=A;async function q(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),A.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/projects/open-folder/route";g=g.replace(/\/index$/,"")||"/";let w=await A.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:m,params:y,nextConfig:E,parsedUrl:C,isDraftMode:b,prerenderManifest:j,routerServerContext:N,isOnDemandRevalidate:T,revalidateOnlyGenerated:q,resolvedPathname:S,clientReferenceManifest:P,serverActionsManifest:_}=w,O=(0,i.normalizeAppPath)(g),k=!!(j.dynamicRoutes[O]||j.routes[S]),H=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,C,!1):t.end("This page could not be found"),null);if(k&&!b){let e=!!j.routes[S],t=j.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await H();throw new R.NoFallbackError}}let I=null;!k||A.isDev||b||(I="/index"===(I=S)?"/":I);let M=!0===A.isDev||!k,U=k&&!M;_&&P&&(0,s.setManifestsSingleton)({page:g,clientReferenceManifest:P,serverActionsManifest:_});let D=e.method||"GET",K=(0,o.getTracer)(),$=K.getActiveScopeSpan(),F=!!(null==N?void 0:N.isWrappedByNextServer),B=!!(0,a.getRequestMeta)(e,"minimalMode"),L=(0,a.getRequestMeta)(e,"incrementalCache")||await A.getIncrementalCache(e,E,j,B);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let G={params:y,previewProps:j.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:M,incrementalCache:L,cacheLifeProfiles:E.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>A.onRequestError(e,t,n,a,N)},sharedContext:{buildId:m}},V=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let a,s=async e=>A.handle(X,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=K.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${D} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",n),a.updateName(t))}else e.updateName(`${D} ${g}`)}),i=async a=>{var o,i;let l=async({previousCacheEntry:r})=>{try{if(!B&&T&&q&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await s(a);e.fetchMetrics=G.renderOpts.fetchMetrics;let i=G.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let l=G.renderOpts.collectedTags;if(!k)return await (0,c.sendResponse)(V,W,o,G.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(o.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,n=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:T})},!1,N),t}},d=await A.handleResponse({req:e,nextConfig:E,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:j,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:q,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:B});if(!k)return null;if((null==d||null==(o=d.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",T?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return B&&k||p.delete(f.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,x.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(V,W,new Response(d.value.body,{headers:p,status:d.value.status||200})),null};F&&$?await i($):(a=K.getActiveScopeSpan(),await K.withPropagatedContext(e.headers,()=>K.trace(p.BaseServerSpan.handleRequest,{spanName:`${D} ${g}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},i),void 0,!F))}catch(t){if(t instanceof R.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:T})},!1,N),k)throw t;return await (0,c.sendResponse)(V,W,new Response(null,{status:500})),null}}e.s(["handler",0,q,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:j,workUnitAsyncStorage:N})},"routeModule",0,A,"serverHooks",0,T,"workAsyncStorage",0,j,"workUnitAsyncStorage",0,N],37111)}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__12iid50._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0l5i8nk._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},27174,e=>{"use strict";e.i(39587),e.s([])},30212,e=>{"use strict";var t=e.i(79357);function r(e){return(0,t.toLocalDay)(e.getTime())}function n(e=new Date){let t=new Date(e.getFullYear(),e.getMonth(),e.getDate()),r=t.getDay(),a=new Date(t);a.setDate(t.getDate()-(r+6)%7);let s=new Date(a);return s.setDate(a.getDate()+6),{start:a,end:s}}e.s(["aggregateConcurrency",0,function(e,t){let n,a=function(e,t){let r=[],n=new Date(e.getFullYear(),e.getMonth(),e.getDate()),a=new Date(t.getFullYear(),t.getMonth(),t.getDate());for(;n.getTime()<=a.getTime();)r.push(new Date(n)),n.setDate(n.getDate()+1);return r}(t.start,t.end),s=new Map;for(let e of a)s.set(r(e),{peak:0,has_cross_project:!1});for(let t of e){let e=r(new Date(t.startMs)),n=s.get(e);n&&(t.peak>n.peak&&(n.peak=t.peak),t.crossProject&&(n.has_cross_project=!0))}let o=a.map(e=>{let t=r(e),n=s.get(t);return{date:t,peak:n.peak,has_cross_project:n.has_cross_project}}),i=0,l=0,u=0;for(let e of o)e.peak>i&&(i=e.peak,n=e.date),e.peak>=3&&l++,e.has_cross_project&&u++;return{by_day:o,peak:i,peak_day:n,multi_agent_days:l,cross_project_days:u}},"calendarMonth",0,function(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),1),end:new Date(e.getFullYear(),e.getMonth()+1,0)}},"calendarWeek",0,n,"priorCalendarMonth",0,function(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()-1,1),end:new Date(e.getFullYear(),e.getMonth(),0)}},"priorCalendarWeek",0,function(e=new Date){let t=n(e),r=new Date(t.start);r.setDate(t.start.getDate()-1);let a=new Date(r);return a.setDate(r.getDate()-6),{start:a,end:r}}])},75169,e=>{"use strict";function t(e){let t=new Date(e),r=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0");return`${r}-${n}-${a}`}function r(e=Date.now()){return t(e)}e.i(5737);let n=/^\d{4}-\d{2}-\d{2}$/;function a(e){return n.test(e)}let s=/^\d{4}-\d{2}$/;e.s(["asMonday",0,function(e){return a(e)&&1===new Date(`${e}T00:00:00`).getDay()?e:null},"currentWeekMonday",0,function(e=Date.now()){var n;let a,s;return n=r(e),s=(a=new Date(`${n}T00:00:00`)).getDay(),a.setDate(a.getDate()+(0===s?-6:1-s)),t(a.getTime())},"currentYearMonth",0,function(e=Date.now()){return r(e).slice(0,7)},"isValidDate",0,a,"isValidYearMonth",0,function(e){return s.test(e)},"todayLocal",0,r])},55459,e=>{"use strict";var t=e.i(2157),r=e.i(43427);function n(){return process.env.CCLENS_JOBS_FILE??(0,r.cclensPath)("jobs.jsonl")}function a(){let e=(0,r.cclensHome)();(0,t.existsSync)(e)||(0,t.mkdirSync)(e,{recursive:!0})}let s=null;function o(){a();let e=n();if(!(0,t.existsSync)(e))return new Map;let r=(0,t.statSync)(e).mtimeMs;if(s&&s.mtimeMs===r)return new Map(s.map);let o=new Map;for(let r of(0,t.readFileSync)(e,"utf8").split("\n"))if(r.trim())try{let e=JSON.parse(r);o.set(e.id,e)}catch{}return s={mtimeMs:r,map:new Map(o)},o}function i(e){a(),(0,t.appendFileSync)(n(),JSON.stringify(e)+"\n","utf8"),s=null}function l(e,t){let r=o().get(e);r&&i({...r,...t})}e.s(["completeJob",0,function(e,t=null){l(e,{status:"done",completedAt:new Date().toISOString(),resultUrl:t,progress:null})},"failJob",0,function(e,t){l(e,{status:"error",completedAt:new Date().toISOString(),error:t,progress:null})},"listRecentJobs",0,function(e=30){let t=o(),r=Date.now();for(let[e,n]of t)("running"===n.status||"queued"===n.status)&&r-Date.parse(n.startedAt)>18e5&&t.set(e,{...n,status:"error",error:"interrupted (server restart)"});let n=Array.from(t.values());return n.sort((e,t)=>{let r="queued"===e.status||"running"===e.status,n="queued"===t.status||"running"===t.status;if(r!==n)return r?-1:1;let a=r?Date.parse(e.startedAt):Date.parse(e.completedAt??e.startedAt);return(n?Date.parse(t.startedAt):Date.parse(t.completedAt??t.startedAt))-a}),n.slice(0,e)},"registerJob",0,function(e){let t=e.id??`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`;return i({id:t,kind:e.kind,label:e.label,target:e.target,status:"queued",startedAt:new Date().toISOString(),completedAt:null,progress:null,resultUrl:null,error:null,caller:e.caller}),t},"updateJob",0,l])},24786,e=>{"use strict";class t{map=new Map;async run(e,t){let r=this.map.get(e);if(r)return r;let n=t();this.map.set(e,n);try{return await n}finally{this.map.delete(e)}}inflight(e){return this.map.has(e)}}var r=e.i(55459);let n=new t;function a(e,t){return new Response(JSON.stringify(e),{status:t,headers:{"content-type":"application/json"}})}e.s(["handleDigestGet",0,function(e){if(null===e.key)return e.invalidResponse;if(e.isFuture)return e.futureResponse;if(e.isCurrent){let t=e.currentFallsBackToPersisted?e.readCurrentCache()??e.readPersisted():e.readCurrentCache();return t?a(t,200):a(e.pendingCurrentPayload,200)}let t=e.readPersisted();return t?a(t,200):a({pending:!0},200)},"handleDigestPost",0,function(e){if(null===e.key)return e.invalidResponse;if(e.isFuture)return e.futureResponse;let t=`${e.coalesceScope}|${e.key}|${+!!e.force}`,a=new TextEncoder;return new Response(new ReadableStream({async start(s){let o=!1;function i(e){if(!o)try{s.enqueue(a.encode(`event: ${e.type}
1
+ module.exports=[50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},27174,e=>{"use strict";e.i(39587),e.s([])},30212,e=>{"use strict";var t=e.i(79357);function r(e){return(0,t.toLocalDay)(e.getTime())}function n(e=new Date){let t=new Date(e.getFullYear(),e.getMonth(),e.getDate()),r=t.getDay(),a=new Date(t);a.setDate(t.getDate()-(r+6)%7);let s=new Date(a);return s.setDate(a.getDate()+6),{start:a,end:s}}e.s(["aggregateConcurrency",0,function(e,t){let n,a=function(e,t){let r=[],n=new Date(e.getFullYear(),e.getMonth(),e.getDate()),a=new Date(t.getFullYear(),t.getMonth(),t.getDate());for(;n.getTime()<=a.getTime();)r.push(new Date(n)),n.setDate(n.getDate()+1);return r}(t.start,t.end),s=new Map;for(let e of a)s.set(r(e),{peak:0,has_cross_project:!1});for(let t of e){let e=r(new Date(t.startMs)),n=s.get(e);n&&(t.peak>n.peak&&(n.peak=t.peak),t.crossProject&&(n.has_cross_project=!0))}let o=a.map(e=>{let t=r(e),n=s.get(t);return{date:t,peak:n.peak,has_cross_project:n.has_cross_project}}),i=0,l=0,u=0;for(let e of o)e.peak>i&&(i=e.peak,n=e.date),e.peak>=3&&l++,e.has_cross_project&&u++;return{by_day:o,peak:i,peak_day:n,multi_agent_days:l,cross_project_days:u}},"calendarMonth",0,function(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),1),end:new Date(e.getFullYear(),e.getMonth()+1,0)}},"calendarWeek",0,n,"priorCalendarMonth",0,function(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()-1,1),end:new Date(e.getFullYear(),e.getMonth(),0)}},"priorCalendarWeek",0,function(e=new Date){let t=n(e),r=new Date(t.start);r.setDate(t.start.getDate()-1);let a=new Date(r);return a.setDate(r.getDate()-6),{start:a,end:r}}])},55459,e=>{"use strict";var t=e.i(2157),r=e.i(43427);function n(){return process.env.CCLENS_JOBS_FILE??(0,r.cclensPath)("jobs.jsonl")}function a(){let e=(0,r.cclensHome)();(0,t.existsSync)(e)||(0,t.mkdirSync)(e,{recursive:!0})}let s=null;function o(){a();let e=n();if(!(0,t.existsSync)(e))return new Map;let r=(0,t.statSync)(e).mtimeMs;if(s&&s.mtimeMs===r)return new Map(s.map);let o=new Map;for(let r of(0,t.readFileSync)(e,"utf8").split("\n"))if(r.trim())try{let e=JSON.parse(r);o.set(e.id,e)}catch{}return s={mtimeMs:r,map:new Map(o)},o}function i(e){a(),(0,t.appendFileSync)(n(),JSON.stringify(e)+"\n","utf8"),s=null}function l(e,t){let r=o().get(e);r&&i({...r,...t})}e.s(["completeJob",0,function(e,t=null){l(e,{status:"done",completedAt:new Date().toISOString(),resultUrl:t,progress:null})},"failJob",0,function(e,t){l(e,{status:"error",completedAt:new Date().toISOString(),error:t,progress:null})},"listRecentJobs",0,function(e=30){let t=o(),r=Date.now();for(let[e,n]of t)("running"===n.status||"queued"===n.status)&&r-Date.parse(n.startedAt)>18e5&&t.set(e,{...n,status:"error",error:"interrupted (server restart)"});let n=Array.from(t.values());return n.sort((e,t)=>{let r="queued"===e.status||"running"===e.status,n="queued"===t.status||"running"===t.status;if(r!==n)return r?-1:1;let a=r?Date.parse(e.startedAt):Date.parse(e.completedAt??e.startedAt);return(n?Date.parse(t.startedAt):Date.parse(t.completedAt??t.startedAt))-a}),n.slice(0,e)},"registerJob",0,function(e){let t=e.id??`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`;return i({id:t,kind:e.kind,label:e.label,target:e.target,status:"queued",startedAt:new Date().toISOString(),completedAt:null,progress:null,resultUrl:null,error:null,caller:e.caller}),t},"updateJob",0,l])},75169,e=>{"use strict";function t(e){let t=new Date(e),r=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0");return`${r}-${n}-${a}`}function r(e=Date.now()){return t(e)}e.i(5737);let n=/^\d{4}-\d{2}-\d{2}$/;function a(e){return n.test(e)}let s=/^\d{4}-\d{2}$/;e.s(["asMonday",0,function(e){return a(e)&&1===new Date(`${e}T00:00:00`).getDay()?e:null},"currentWeekMonday",0,function(e=Date.now()){var n;let a,s;return n=r(e),s=(a=new Date(`${n}T00:00:00`)).getDay(),a.setDate(a.getDate()+(0===s?-6:1-s)),t(a.getTime())},"currentYearMonth",0,function(e=Date.now()){return r(e).slice(0,7)},"isValidDate",0,a,"isValidYearMonth",0,function(e){return s.test(e)},"todayLocal",0,r])},24786,e=>{"use strict";class t{map=new Map;async run(e,t){let r=this.map.get(e);if(r)return r;let n=t();this.map.set(e,n);try{return await n}finally{this.map.delete(e)}}inflight(e){return this.map.has(e)}}var r=e.i(55459);let n=new t;function a(e,t){return new Response(JSON.stringify(e),{status:t,headers:{"content-type":"application/json"}})}e.s(["handleDigestGet",0,function(e){if(null===e.key)return e.invalidResponse;if(e.isFuture)return e.futureResponse;if(e.isCurrent){let t=e.currentFallsBackToPersisted?e.readCurrentCache()??e.readPersisted():e.readCurrentCache();return t?a(t,200):a(e.pendingCurrentPayload,200)}let t=e.readPersisted();return t?a(t,200):a({pending:!0},200)},"handleDigestPost",0,function(e){if(null===e.key)return e.invalidResponse;if(e.isFuture)return e.futureResponse;let t=`${e.coalesceScope}|${e.key}|${+!!e.force}`,a=new TextEncoder;return new Response(new ReadableStream({async start(s){let o=!1;function i(e){if(!o)try{s.enqueue(a.encode(`event: ${e.type}
2
2
  data: ${JSON.stringify(e)}
3
3
 
4
4
  `))}catch{o=!0}}let l=n.inflight(t),u=null;try{if(await n.run(t,async()=>{if(!l){for await(let n of(u=(0,r.registerJob)({kind:e.jobKind,label:e.jobLabel,target:e.key,caller:"user"}),(0,r.updateJob)(u,{status:"running"}),e.runPipeline())){var t;i(n),u&&(t=u,"status"===n.type?(0,r.updateJob)(t,{progress:{phase:n.phase,text:n.text}}):"entry"===n.type?(0,r.updateJob)(t,{progress:{phase:"enrich",index:n.index,total:n.total}}):"progress"===n.type&&(0,r.updateJob)(t,{progress:{phase:n.phase,bytes:n.bytes}}))}u&&(0,r.completeJob)(u,e.resultUrl)}}),l){let t=e.readDigestForCoalescedRequest();t&&i({type:"digest",digest:t}),i({type:"status",phase:"persist",text:"coalesced with in-flight request"})}}catch(e){i({type:"error",message:e.message}),u&&(0,r.failJob)(u,e.message)}finally{try{s.enqueue(a.encode(`event: done
@@ -6,4 +6,4 @@ data: {}
6
6
 
7
7
  `))}catch{}if(!o){try{s.close()}catch{}o=!0}}}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive","X-Accel-Buffering":"no"}})},"jsonResponse",0,a,"jsonResponseBare",0,function(e,t){return new Response(JSON.stringify(e),{status:t})}],24786)},93161,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),s=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),g=e.i(74838),f=e.i(10372),y=e.i(93695);e.i(52474);var m=e.i(220);e.i(82111);var w=e.i(21628),D=e.i(56614),R=e.i(76956),x=e.i(75169),v=e.i(24786);async function C(e,t){let{yearMonth:r}=await t.params,n=(0,x.isValidYearMonth)(r),a=n&&r>(0,x.currentYearMonth)();return(0,v.handleDigestGet)({key:n?r:null,invalidResponse:(0,v.jsonResponse)({error:"invalid year-month"},400),isFuture:a,futureResponse:(0,v.jsonResponseBare)({error:"future month"},400),isCurrent:n&&r===(0,x.currentYearMonth)(),readCurrentCache:()=>(0,R.getCurrentMonthDigestFromCache)(r,Date.now()),readPersisted:()=>(0,R.readMonthDigest)(r),pendingCurrentPayload:{pending:!0,current:!0},currentFallsBackToPersisted:!1})}async function M(e,t){let{yearMonth:r}=await t.params,n=(0,x.isValidYearMonth)(r),a=n&&r>(0,x.currentYearMonth)(),s="1"===new URL(e.url).searchParams.get("force"),o=(0,D.readSettings)();return(0,v.handleDigestPost)({key:n?r:null,invalidResponse:(0,v.jsonResponseBare)({error:"invalid year-month"},400),isFuture:a,futureResponse:(0,v.jsonResponseBare)({error:"future month"},400),coalesceScope:"month",force:s,jobKind:"monthly.synth",jobLabel:`Month digest \xb7 ${r}`,resultUrl:`/insights/month-${r}`,runPipeline:()=>(0,w.runMonthDigestPipeline)(r,{settings:o.ai_features,force:s,currentYearMonth:(0,x.currentYearMonth)(),currentWeekMonday:(0,x.currentWeekMonday)(),todayLocalDay:(0,x.todayLocal)()}),readDigestForCoalescedRequest:()=>(0,R.readMonthDigest)(r)??(0,R.getCurrentMonthDigestFromCache)(r,Date.now())})}e.s(["GET",0,C,"POST",0,M,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],9941);var b=e.i(9941);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/digest/month/[yearMonth]/route",pathname:"/api/digest/month/[yearMonth]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/digest/month/[yearMonth]/route.ts",nextConfigOutput:"standalone",userland:b,...{}}),{workAsyncStorage:k,workUnitAsyncStorage:E,serverHooks:A}=S;async function P(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),S.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/digest/month/[yearMonth]/route";w=w.replace(/\/index$/,"")||"/";let D=await S.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!D)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:R,params:x,nextConfig:v,parsedUrl:C,isDraftMode:M,prerenderManifest:b,routerServerContext:k,isOnDemandRevalidate:E,revalidateOnlyGenerated:A,resolvedPathname:P,clientReferenceManifest:q,serverActionsManifest:T}=D,_=(0,i.normalizeAppPath)(w),j=!!(b.dynamicRoutes[_]||b.routes[P]),N=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,C,!1):t.end("This page could not be found"),null);if(j&&!M){let e=!!b.routes[P],t=b.dynamicRoutes[_];if(t&&!1===t.fallback&&!e){if(v.adapterPath)return await N();throw new y.NoFallbackError}}let O=null;!j||S.isDev||M||(O="/index"===(O=P)?"/":O);let F=!0===S.isDev||!j,$=j&&!F;T&&q&&(0,o.setManifestsSingleton)({page:w,clientReferenceManifest:q,serverActionsManifest:T});let I=e.method||"GET",U=(0,s.getTracer)(),H=U.getActiveScopeSpan(),J=!!(null==k?void 0:k.isWrappedByNextServer),Y=!!(0,a.getRequestMeta)(e,"minimalMode"),B=(0,a.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,v,b,Y);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let L={params:x,previewProps:b.preview,renderOpts:{experimental:{authInterrupts:!!v.experimental.authInterrupts},cacheComponents:!!v.cacheComponents,supportsDynamicResponse:F,incrementalCache:B,cacheLifeProfiles:v.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>S.onRequestError(e,t,n,a,k)},sharedContext:{buildId:R}},K=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(K,(0,u.signalFromNodeResponse)(t));try{let a,o=async e=>S.handle(V,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${I} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",n),a.updateName(t))}else e.updateName(`${I} ${w}`)}),i=async a=>{var s,i;let l=async({previousCacheEntry:r})=>{try{if(!Y&&E&&A&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(a);e.fetchMetrics=L.renderOpts.fetchMetrics;let i=L.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let l=L.renderOpts.collectedTags;if(!j)return await (0,p.sendResponse)(K,W,s,L.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,n=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:E})},!1,k),t}},u=await S.handleResponse({req:e,nextConfig:v,cacheKey:O,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:A,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:Y});if(!j)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(i=u.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});Y||t.setHeader("x-nextjs-cache",E?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),M&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return Y&&j||d.delete(f.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(K,W,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};J&&H?await i(H):(a=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(d.BaseServerSpan.handleRequest,{spanName:`${I} ${w}`,kind:s.SpanKind.SERVER,attributes:{"http.method":I,"http.target":e.url}},i),void 0,!J))}catch(t){if(t instanceof y.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:E})},!1,k),j)throw t;return await (0,p.sendResponse)(K,W,new Response(null,{status:500})),null}}e.s(["handler",0,P,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:E})},"routeModule",0,S,"serverHooks",0,A,"workAsyncStorage",0,k,"workUnitAsyncStorage",0,E],93161)}];
8
8
 
9
- //# sourceMappingURL=%5Broot-of-the-server%5D__04g-b-m._.js.map
9
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0mcer3z._.js.map
@@ -0,0 +1,30 @@
1
+ module.exports=[50227,(e,t,n)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,n)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,n)=>{t.exports=e.x("node:os",()=>require("node:os"))},66680,(e,t,n)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},74533,(e,t,n)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},18622,(e,t,n)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},70406,(e,t,n)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,n)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},27174,e=>{"use strict";e.i(39587),e.s([])},30212,e=>{"use strict";var t=e.i(79357);function n(e){return(0,t.toLocalDay)(e.getTime())}function r(e=new Date){let t=new Date(e.getFullYear(),e.getMonth(),e.getDate()),n=t.getDay(),s=new Date(t);s.setDate(t.getDate()-(n+6)%7);let a=new Date(s);return a.setDate(s.getDate()+6),{start:s,end:a}}e.s(["aggregateConcurrency",0,function(e,t){let r,s=function(e,t){let n=[],r=new Date(e.getFullYear(),e.getMonth(),e.getDate()),s=new Date(t.getFullYear(),t.getMonth(),t.getDate());for(;r.getTime()<=s.getTime();)n.push(new Date(r)),r.setDate(r.getDate()+1);return n}(t.start,t.end),a=new Map;for(let e of s)a.set(n(e),{peak:0,has_cross_project:!1});for(let t of e){let e=n(new Date(t.startMs)),r=a.get(e);r&&(t.peak>r.peak&&(r.peak=t.peak),t.crossProject&&(r.has_cross_project=!0))}let o=s.map(e=>{let t=n(e),r=a.get(t);return{date:t,peak:r.peak,has_cross_project:r.has_cross_project}}),i=0,l=0,u=0;for(let e of o)e.peak>i&&(i=e.peak,r=e.date),e.peak>=3&&l++,e.has_cross_project&&u++;return{by_day:o,peak:i,peak_day:r,multi_agent_days:l,cross_project_days:u}},"calendarMonth",0,function(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),1),end:new Date(e.getFullYear(),e.getMonth()+1,0)}},"calendarWeek",0,r,"priorCalendarMonth",0,function(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()-1,1),end:new Date(e.getFullYear(),e.getMonth(),0)}},"priorCalendarWeek",0,function(e=new Date){let t=r(e),n=new Date(t.start);n.setDate(t.start.getDate()-1);let s=new Date(n);return s.setDate(n.getDate()-6),{start:s,end:n}}])},45092,84497,84777,e=>{"use strict";var t=e.i(74533),n=e.i(2157),r=e.i(50227),s=e.i(66680),a=e.i(43427);e.i(82111);var o=e.i(81454);function i(){return(0,a.cclensPath)("agent-chats")}function l(e){return(0,r.join)(i(),`${e}.json`)}function u(e){(0,n.mkdirSync)(i(),{recursive:!0});let t=l(e.id),r=`${t}.tmp.${process.pid}`;(0,n.writeFileSync)(r,JSON.stringify(e),"utf8"),(0,n.renameSync)(r,t)}function d(e){if(!/^[a-zA-Z0-9-]+$/.test(e))return null;try{let t=JSON.parse((0,n.readFileSync)(l(e),"utf8"));return 1===t.version?t:null}catch{return null}}function c(){return{role:"assistant",segments:[]}}function p(e,t){if(t.seq<=e.lastSeq)return e;let n=[...e.messages],r=n[n.length-1];r&&"assistant"===r.role||(r=c(),n.push(r));let s={...r,segments:[...r.segments]};n[n.length-1]=s;let a=e.status;switch(t.type){case"delta":{let e=s.segments[s.segments.length-1];e?.kind==="text"?s.segments[s.segments.length-1]={kind:"text",text:e.text+t.text}:s.segments.push({kind:"text",text:t.text});break}case"tool":s.segments.push({kind:"tool",id:t.id,name:t.name,input:t.input,done:!1});break;case"tool_result":s.segments=s.segments.map(e=>"tool"===e.kind&&e.id===t.id?{...e,brief:t.brief,isError:t.isError,done:!0}:e);break;case"done":a="idle",s.segments=s.segments.map(e=>"tool"!==e.kind||e.done?e:{...e,done:!0});break;case"error":a="error",s.segments=s.segments.map(e=>"tool"!==e.kind||e.done?e:{...e,done:!0}),s.segments.push({kind:"text",text:`
2
+
3
+ **Error:** ${t.message}`})}return{...e,messages:n,status:a,lastSeq:t.seq,updated_at:new Date().toISOString()}}function h(){let e=new Date,t=e.toLocaleDateString("en-CA"),n=e.toLocaleDateString("en-US",{weekday:"long"});return`You are the Fleetlens Agent. Fleetlens is a local, privacy-first dashboard over the user's coding-agent history: every Claude Code, Codex, Gemini (and other) session recorded on this machine. You have tools that search and read those sessions.
4
+
5
+ Today is ${n}, ${t}. All session data is local; nothing you do leaves this machine.
6
+
7
+ What users come to you for:
8
+ 1. **Find** — locate past sessions: "where did I fix the daemon crash?", "what did I do last Tuesday?"
9
+ 2. **Synthesize** — explain what happened across sessions: decisions made, approaches tried, gotchas hit.
10
+ 3. **Draft a prompt** — package findings into a self-contained prompt the user can paste into a fresh coding-agent session as context for their next task.
11
+
12
+ Rules:
13
+ - Your ONLY tools are the four fleetlens session tools (search_sessions, get_session, list_sessions, list_projects). You have no filesystem, Bash, memory directory, or web access — never attempt Write, Edit, Read, or any other tool, and never claim you'll "update memory".
14
+ - Invoke tools through real tool calls only — never write function-call syntax or XML tags into your text response, and never simulate or invent tool output. If a tool fails or returns nothing, say so.
15
+ - Ground every claim about past work in tool results. Search before answering; if the first query is inconclusive, retry with different wording (synonyms, file names, error text). Never invent sessions or details.
16
+ - Don't re-fetch a session you already read this conversation — its content won't change.
17
+ - Cite sessions inline as markdown links using each hit's url, e.g. [fix daemon crash](/sessions/abc-123). Cite the sessions you actually drew from — not every hit. These session urls (and real web URLs from tool results) are the ONLY things you may link; never link file names, paths, or documents — mention them as plain text.
18
+ - When asked for a prompt / context pack / handoff, output it as a single fenced code block tagged \`prompt\` (\`\`\`prompt … \`\`\`). Make it self-contained: goal, relevant repo/file paths, decisions already made, known gotchas, and what to do next. No session links inside the block — the next agent can't open them.
19
+ - Be concise. Lead with the answer, then supporting detail. Don't narrate your tool use.
20
+ - If searches genuinely turn up nothing, say so plainly and suggest a better query.`}e.s(["deleteChat",0,function(e){/^[a-zA-Z0-9-]+$/.test(e)&&(0,n.rmSync)(l(e),{force:!0})},"listChats",0,function(){if(!(0,n.existsSync)(i()))return[];let e=[];for(let t of(0,n.readdirSync)(i())){if(!t.endsWith(".json"))continue;let n=d(t.slice(0,-5));n&&e.push({id:n.id,title:n.title,updated_at:n.updated_at,status:n.status,messageCount:n.messages.length})}return e.sort((e,t)=>t.updated_at.localeCompare(e.updated_at)),e},"readChat",0,d,"writeChat",0,u],84497),e.s(["applyRunEvent",0,p,"chatTitle",0,function(e){return e.replace(/\s+/g," ").trim().slice(0,80)},"createChat",0,function(){let e=new Date().toISOString();return{version:1,id:crypto.randomUUID(),title:"New conversation",created_at:e,updated_at:e,status:"idle",lastSeq:0,messages:[]}},"newAssistantMessage",0,c],84777);let g=globalThis.__fleetlensAgentRuns??={runs:new Map};e.s(["MAX_CONCURRENT_RUNS",0,3,"activeRunCount",0,function(){return g.runs.size},"discardRun",0,function(e){let t=g.runs.get(e);t&&(t.stoppedByUser=!0,t.discarded=!0,g.runs.delete(e),t.kill())},"getRun",0,function(e){return g.runs.get(e)},"killRun",0,function(e){let t=g.runs.get(e);t&&(t.stoppedByUser=!0,t.kill())},"reconcileChat",0,function(e){if("running"!==e.status||g.runs.has(e.id))return e;let t=p(e,{seq:e.lastSeq+1,type:"error",message:"run interrupted — the server restarted while it was working"});try{u(t)}catch{}return t},"startRun",0,function(e,i){if(g.runs.has(e.id))throw Error("run already active for this chat");let l=e.lastSeq,d=e,c=0,m={chatId:e.id,events:[],subscribers:new Set,stoppedByUser:!1,discarded:!1,kill:()=>{}};g.runs.set(e.id,m);let f=e=>{if(m.discarded)return;let t=Date.now();if(e||!(t-c<750)){c=t;try{u(d)}catch{}}},y=e=>{let t={seq:++l,...e};for(let e of(m.events.push(t),d=p(d,t),f("delta"!==t.type),m.subscribers))try{e(t)}catch{}},x=(0,a.cclensPath)("agent-runtime");(0,n.mkdirSync)(x,{recursive:!0});let w=(0,r.join)(x,"settings.json");(0,n.writeFileSync)(w,JSON.stringify({hooks:{SessionStart:[{hooks:[{type:"command",command:'node -e "setTimeout(()=>{},2000)"'}]}]}}));let _=["-p","--output-format","stream-json","--verbose","--include-partial-messages","--model",i.model,"--tools","","--disable-slash-commands","--no-session-persistence","--setting-sources","","--settings",w,"--strict-mcp-config","--mcp-config",JSON.stringify({mcpServers:{fleetlens:{type:"http",url:i.mcpUrl}}}),"--allowedTools","mcp__fleetlens__search_sessions","mcp__fleetlens__get_session","mcp__fleetlens__list_sessions","mcp__fleetlens__list_projects","--effort","medium","--append-system-prompt",h()],v=function(e){let t=e.slice(-12).map(e=>({role:e.role,text:e.text.length>4e3?e.text.slice(0,4e3)+"…":e.text})),n=t.pop();if(!n)return"";if(0===t.length)return n.text;let r=t.map(e=>`${"user"===e.role?"User":"You (assistant)"}: ${e.text}`).join("\n\n");return`Conversation so far:
21
+
22
+ ${r}
23
+
24
+ ---
25
+
26
+ User's new message: ${n.text}`}(e.messages.map(e=>"user"===e.role?{role:"user",text:e.text}:{role:"assistant",text:e.segments.filter(e=>"text"===e.kind).map(e=>e.text).join("")}).filter(e=>e.text.trim())),k=setTimeout(()=>{y({type:"error",message:"timed out after 5 minutes"}),m.kill()},3e5),R=()=>{clearTimeout(k),f(!0),g.runs.delete(e.id)},S=e=>{var l,u,c;let p,g,f,w,k;if(m.stoppedByUser||"running"!==d.status){m.stoppedByUser&&"running"===d.status&&y({type:"error",message:"stopped by user"}),R();return}let b=(l=i.model,u=v.length,c=h(),g=(0,a.cclensPath)("llm-runs"),f=`${new Date().toISOString().replace(/[:.]/g,"-")}_agent_chat_${(0,s.randomUUID)().slice(0,8)}`,w=(0,r.join)(g,`${f}.jsonl`),(k=(e,t=!1)=>{try{let r=JSON.stringify(e)+"\n";t?((0,n.mkdirSync)(g,{recursive:!0}),(0,n.writeFileSync)(w,r)):(0,n.appendFileSync)(w,r)}catch{}})({_meta:{type:"start",run_id:f,kind:"agent_chat",model:l,ts:new Date().toISOString(),runtime:"detached",user_prompt_chars:u}},!0),k({_meta:{type:"payload",run_id:f,system_prompt:c,user_prompt:v}}),{line:e=>{try{(0,n.appendFileSync)(w,e+"\n")}catch{}},end:e=>k({_meta:{type:"end",run_id:f,ts:new Date().toISOString(),...e}})}),C=Date.now(),D=(0,o.resolveClaudeBin)();if(!D){let e=new o.ClaudeBinNotFoundError;y({type:"error",message:e.message}),b.end({runtime:"detached",elapsed_ms:0,exit_code:-1,error:e.message}),R();return}let E=(0,t.spawn)(D,_,{stdio:["pipe","pipe","pipe"],env:(0,o.claudeSpawnEnv)(D),cwd:x});m.kill=()=>{try{E.kill("SIGTERM")}catch{}},E.stdin.write(v),E.stdin.end();let A=!1,T="",N="",q=!1,j=new Set,O=new Map,M=t=>{let n;try{n=JSON.parse(t)}catch{return}if("stream_event"!==n.type&&b.line(t),"system"===n.type&&"init"===n.subtype){let t=n.mcp_servers,r=t?.find(e=>"fleetlens"===e.name);if(r&&"connected"!==r.status){A=!0,b.end({runtime:"detached",elapsed_ms:Date.now()-C,mcp_status:r.status,retried:e<3});try{E.kill("SIGTERM")}catch{}e<3?setTimeout(()=>S(e+1),750):(y({type:"error",message:`session tools failed to connect (mcp status: ${r.status}) — try again`}),R())}return}if("stream_event"===n.type){let e=n.event;if(e?.type==="content_block_delta"){let t=e.delta;t?.type==="text_delta"&&"string"==typeof t.text&&("number"==typeof e.index&&j.add(e.index),y({type:"delta",text:t.text}))}return}if("assistant"===n.type){let e=n.message,t=e?.content;Array.isArray(t)&&t.forEach((e,t)=>{if("text"!==e.type||"string"!=typeof e.text||j.has(t)||y({type:"delta",text:e.text}),"tool_use"===e.type&&"string"==typeof e.name){var n;let t,r="string"==typeof e.id?e.id:"",s=e.name.replace(/^mcp__fleetlens__/,"");O.set(r,s),y({type:"tool",id:r,name:s,input:(t=JSON.stringify(n=e.input)??"{}").length<=300?n:{_truncated:t.slice(0,300)+"…"}})}}),j=new Set;return}if("user"===n.type){let e=n.message,t=e?.content;if(!Array.isArray(t))return;for(let e of t){if("tool_result"!==e.type)continue;let t="string"==typeof e.tool_use_id?e.tool_use_id:"",n=e.content,r=Array.isArray(n)?n.map(e=>e&&"object"==typeof e&&"text"in e?String(e.text):"").join(""):"string"==typeof n?n:"";y({type:"tool_result",id:t,name:O.get(t)??"tool",brief:function(e){try{let t=JSON.parse(e);if("number"==typeof t.total_matches)return`${t.total_matches} matching sessions`;if(Array.isArray(t.sessions))return`${t.total??t.sessions.length} sessions`;if(Array.isArray(t.projects))return`${t.projects.length} projects`}catch{}return`${e.length.toLocaleString()} chars`}(r),isError:!0===e.is_error})}return}"result"===n.type&&(q=!0,p=n.usage,y({type:"done",totalTokens:"number"==typeof p?.input_tokens&&"number"==typeof p?.output_tokens?p.input_tokens+p.output_tokens:void 0}))},U=new TextDecoder("utf-8");E.stdout.on("data",e=>{if(A)return;let t=(N+=U.decode(e,{stream:!0})).split("\n");for(let e of(N=t.pop()??"",t)){let t=e.trim();t&&!A&&M(t)}}),E.stderr.on("data",e=>{T.length<4e3&&(T+=e.toString("utf8"))}),E.on("close",e=>{A||(q||"running"!==d.status||y({type:"error",message:m.stoppedByUser?"stopped by user":T.trim().slice(0,400)||`claude exited with code ${e}`}),b.end({runtime:"detached",elapsed_ms:Date.now()-C,exit_code:e??0,input_tokens:p?.input_tokens,output_tokens:p?.output_tokens}),R())}),E.on("error",e=>{A||(y({type:"error",message:`Failed to spawn claude: ${e.message}`}),b.end({runtime:"detached",elapsed_ms:Date.now()-C,exit_code:-1,error:e.message}),R())})};S(1)}],45092)},37483,e=>{"use strict";var t=e.i(47909),n=e.i(74017),r=e.i(96250),s=e.i(59756),a=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),g=e.i(74838),m=e.i(10372),f=e.i(93695);e.i(52474);var y=e.i(220),x=e.i(84497),w=e.i(45092);async function _(e,{params:t}){let{id:n}=await t,r=Number(new URL(e.url).searchParams.get("after")??0)||0,s=new TextEncoder;return new Response(new ReadableStream({start(t){let a=!1,o=e=>{if(!a)try{t.enqueue(s.encode(`data: ${JSON.stringify(e)}
27
+
28
+ `))}catch{a=!0}},i=()=>{if(!a){a=!0,clearInterval(l);try{t.close()}catch{}}},l=setInterval(()=>{if(!a)try{t.enqueue(s.encode(": ping\n\n"))}catch{a=!0}},2e4),u=(0,w.getRun)(n);if(!u){let e=(0,x.readChat)(n);o({type:"sync",status:e?(0,w.reconcileChat)(e).status:"gone"}),i();return}let d=e=>{e.seq>r&&o(e),("done"===e.type||"error"===e.type)&&(u.subscribers.delete(d),i())};for(let e of u.events)d(e);a||u.subscribers.add(d),e.signal.addEventListener("abort",()=>{u.subscribers.delete(d),i()})}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive","X-Accel-Buffering":"no"}})}e.s(["GET",0,_,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],43469);var v=e.i(43469);let k=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/agent/chats/[id]/events/route",pathname:"/api/agent/chats/[id]/events",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/agent/chats/[id]/events/route.ts",nextConfigOutput:"standalone",userland:v,...{}}),{workAsyncStorage:R,workUnitAsyncStorage:S,serverHooks:b}=k;async function C(e,t,r){r.requestMeta&&(0,s.setRequestMeta)(e,r.requestMeta),k.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/agent/chats/[id]/events/route";x=x.replace(/\/index$/,"")||"/";let w=await k.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:_,params:v,nextConfig:R,parsedUrl:S,isDraftMode:b,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:A,resolvedPathname:T,clientReferenceManifest:N,serverActionsManifest:q}=w,j=(0,i.normalizeAppPath)(x),O=!!(C.dynamicRoutes[j]||C.routes[T]),M=async()=>((null==D?void 0:D.render404)?await D.render404(e,t,S,!1):t.end("This page could not be found"),null);if(O&&!b){let e=!!C.routes[T],t=C.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await M();throw new f.NoFallbackError}}let U=null;!O||k.isDev||b||(U="/index"===(U=T)?"/":U);let I=!0===k.isDev||!O,$=O&&!I;q&&N&&(0,o.setManifestsSingleton)({page:x,clientReferenceManifest:N,serverActionsManifest:q});let P=e.method||"GET",F=(0,a.getTracer)(),B=F.getActiveScopeSpan(),H=!!(null==D?void 0:D.isWrappedByNextServer),L=!!(0,s.getRequestMeta)(e,"minimalMode"),Y=(0,s.getRequestMeta)(e,"incrementalCache")||await k.getIncrementalCache(e,R,C,L);null==Y||Y.resetRequestCache(),globalThis.__incrementalCache=Y;let J={params:v,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:I,incrementalCache:Y,cacheLifeProfiles:R.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,s)=>k.onRequestError(e,t,r,s,D)},sharedContext:{buildId:_}},W=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),K=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(t));try{let s,o=async e=>k.handle(K,J).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=F.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=n.get("next.route");if(r){let t=`${P} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",r),s.updateName(t))}else e.updateName(`${P} ${x}`)}),i=async s=>{var a,i;let l=async({previousCacheEntry:n})=>{try{if(!L&&E&&A&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await o(s);e.fetchMetrics=J.renderOpts.fetchMetrics;let i=J.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let l=J.renderOpts.collectedTags;if(!O)return await (0,p.sendResponse)(W,G,a,J.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,r=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:J.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:r}}}}catch(t){throw(null==n?void 0:n.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:E})},!1,D),t}},u=await k.handleResponse({req:e,nextConfig:R,cacheKey:U,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:A,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:L});if(!O)return null;if((null==u||null==(a=u.value)?void 0:a.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(i=u.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",E?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return L&&O||d.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(W,G,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};H&&B?await i(B):(s=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${P} ${x}`,kind:a.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},i),void 0,!H))}catch(t){if(t instanceof f.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:E})},!1,D),O)throw t;return await (0,p.sendResponse)(W,G,new Response(null,{status:500})),null}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:R,workUnitAsyncStorage:S})},"routeModule",0,k,"serverHooks",0,b,"workAsyncStorage",0,R,"workUnitAsyncStorage",0,S],37483)}];
29
+
30
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0o9lsie._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},27174,e=>{"use strict";e.i(39587),e.s([])},30212,e=>{"use strict";var t=e.i(79357);function r(e){return(0,t.toLocalDay)(e.getTime())}function a(e=new Date){let t=new Date(e.getFullYear(),e.getMonth(),e.getDate()),r=t.getDay(),n=new Date(t);n.setDate(t.getDate()-(r+6)%7);let o=new Date(n);return o.setDate(n.getDate()+6),{start:n,end:o}}e.s(["aggregateConcurrency",0,function(e,t){let a,n=function(e,t){let r=[],a=new Date(e.getFullYear(),e.getMonth(),e.getDate()),n=new Date(t.getFullYear(),t.getMonth(),t.getDate());for(;a.getTime()<=n.getTime();)r.push(new Date(a)),a.setDate(a.getDate()+1);return r}(t.start,t.end),o=new Map;for(let e of n)o.set(r(e),{peak:0,has_cross_project:!1});for(let t of e){let e=r(new Date(t.startMs)),a=o.get(e);a&&(t.peak>a.peak&&(a.peak=t.peak),t.crossProject&&(a.has_cross_project=!0))}let s=n.map(e=>{let t=r(e),a=o.get(t);return{date:t,peak:a.peak,has_cross_project:a.has_cross_project}}),i=0,l=0,d=0;for(let e of s)e.peak>i&&(i=e.peak,a=e.date),e.peak>=3&&l++,e.has_cross_project&&d++;return{by_day:s,peak:i,peak_day:a,multi_agent_days:l,cross_project_days:d}},"calendarMonth",0,function(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),1),end:new Date(e.getFullYear(),e.getMonth()+1,0)}},"calendarWeek",0,a,"priorCalendarMonth",0,function(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()-1,1),end:new Date(e.getFullYear(),e.getMonth(),0)}},"priorCalendarWeek",0,function(e=new Date){let t=a(e),r=new Date(t.start);r.setDate(t.start.getDate()-1);let n=new Date(r);return n.setDate(r.getDate()-6),{start:n,end:r}}])},96735,e=>{"use strict";e.i(91530),e.s([],96735)},54358,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),o=e.i(61916),s=e.i(74677),i=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),g=e.i(74838),x=e.i(10372),w=e.i(93695);e.i(52474);var f=e.i(220);e.i(27174);var m=e.i(30212),v=e.i(5737),R=e.i(76956);e.i(96735);var D=e.i(54853);function y(e){let t=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0");return`${t}-${r}-${a}`}async function E(e){let t=Math.min(12,Math.max(1,parseInt(new URL(e.url).searchParams.get("count")??"6",10))),r=new Set((0,R.listMonthDigestKeys)()),a=new Set;for(let e of(0,v.listEntryKeys)()){let t=(0,D.parseEntryKey)(e);t&&a.add(t.local_day)}let n=(0,m.calendarMonth)(),o=(0,m.priorCalendarMonth)(),s=[];for(let e=0;e<t;e++){let t,i,l;if(0===e)t=n.start,i=n.end,l=!0;else{let r=new Date(o.start);r.setMonth(r.getMonth()-(e-1)),t=new Date(r.getFullYear(),r.getMonth(),1),i=new Date(r.getFullYear(),r.getMonth()+1,0),l=!1}let d=0,u=new Date(t);for(;u.getTime()<=i.getTime();)a.has(y(u))&&d++,u.setDate(u.getDate()+1);let p=function(e){let t=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,"0");return`${t}-${r}`}(t),c=r.has(p)?`month-${p}`:null,h=null,g=0,x=0;if(c){let e=(0,R.readMonthDigest)(p);e&&(h=e.headline,g=e.shipped.length,x=Math.round(e.agent_min_total))}s.push({year:t.getFullYear(),month:t.getMonth()+1,start:y(t),end:y(i),label:t.toLocaleDateString("en-US",{month:"long",year:"numeric"}),active_days:d,in_progress:l,saved_key:c,headline:h,shipped_count:g,agent_min:x})}return Response.json({months:s})}e.s(["GET",0,E,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],90364);var C=e.i(90364);let M=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/digest/month-index/route",pathname:"/api/digest/month-index",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/digest/month-index/route.ts",nextConfigOutput:"standalone",userland:C,...{}}),{workAsyncStorage:_,workUnitAsyncStorage:k,serverHooks:S}=M;async function b(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),M.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/digest/month-index/route";m=m.replace(/\/index$/,"")||"/";let v=await M.prepare(e,t,{srcPage:m,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:D,nextConfig:y,parsedUrl:E,isDraftMode:C,prerenderManifest:_,routerServerContext:k,isOnDemandRevalidate:S,revalidateOnlyGenerated:b,resolvedPathname:A,clientReferenceManifest:T,serverActionsManifest:q}=v,P=(0,i.normalizeAppPath)(m),N=!!(_.dynamicRoutes[P]||_.routes[A]),j=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,E,!1):t.end("This page could not be found"),null);if(N&&!C){let e=!!_.routes[A],t=_.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await j();throw new w.NoFallbackError}}let O=null;!N||M.isDev||C||(O="/index"===(O=A)?"/":O);let F=!0===M.isDev||!N,U=N&&!F;q&&T&&(0,s.setManifestsSingleton)({page:m,clientReferenceManifest:T,serverActionsManifest:q});let H=e.method||"GET",I=(0,o.getTracer)(),$=I.getActiveScopeSpan(),Y=!!(null==k?void 0:k.isWrappedByNextServer),K=!!(0,n.getRequestMeta)(e,"minimalMode"),L=(0,n.getRequestMeta)(e,"incrementalCache")||await M.getIncrementalCache(e,y,_,K);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let B={params:D,previewProps:_.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:F,incrementalCache:L,cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>M.onRequestError(e,t,a,n,k)},sharedContext:{buildId:R}},W=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),V=d.NextRequestAdapter.fromNodeNextRequest(W,(0,d.signalFromNodeResponse)(t));try{let n,s=async e=>M.handle(V,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=I.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${H} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${H} ${m}`)}),i=async n=>{var o,i;let l=async({previousCacheEntry:r})=>{try{if(!K&&S&&b&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await s(n);e.fetchMetrics=B.renderOpts.fetchMetrics;let i=B.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let l=B.renderOpts.collectedTags;if(!N)return await (0,c.sendResponse)(W,G,o,B.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(o.headers);l&&(t[x.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,a=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await M.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:S})},!1,k),t}},d=await M.handleResponse({req:e,nextConfig:y,cacheKey:O,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:b,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:K});if(!N)return null;if((null==d||null==(o=d.value)?void 0:o.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",S?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return K&&N||u.delete(x.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,g.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(W,G,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};Y&&$?await i($):(n=I.getActiveScopeSpan(),await I.withPropagatedContext(e.headers,()=>I.trace(u.BaseServerSpan.handleRequest,{spanName:`${H} ${m}`,kind:o.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},i),void 0,!Y))}catch(t){if(t instanceof w.NoFallbackError||await M.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:S})},!1,k),N)throw t;return await (0,c.sendResponse)(W,G,new Response(null,{status:500})),null}}e.s(["handler",0,b,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:k})},"routeModule",0,M,"serverHooks",0,S,"workAsyncStorage",0,_,"workUnitAsyncStorage",0,k],54358)}];
1
+ module.exports=[50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},27174,e=>{"use strict";e.i(39587),e.s([])},30212,e=>{"use strict";var t=e.i(79357);function r(e){return(0,t.toLocalDay)(e.getTime())}function a(e=new Date){let t=new Date(e.getFullYear(),e.getMonth(),e.getDate()),r=t.getDay(),n=new Date(t);n.setDate(t.getDate()-(r+6)%7);let o=new Date(n);return o.setDate(n.getDate()+6),{start:n,end:o}}e.s(["aggregateConcurrency",0,function(e,t){let a,n=function(e,t){let r=[],a=new Date(e.getFullYear(),e.getMonth(),e.getDate()),n=new Date(t.getFullYear(),t.getMonth(),t.getDate());for(;a.getTime()<=n.getTime();)r.push(new Date(a)),a.setDate(a.getDate()+1);return r}(t.start,t.end),o=new Map;for(let e of n)o.set(r(e),{peak:0,has_cross_project:!1});for(let t of e){let e=r(new Date(t.startMs)),a=o.get(e);a&&(t.peak>a.peak&&(a.peak=t.peak),t.crossProject&&(a.has_cross_project=!0))}let s=n.map(e=>{let t=r(e),a=o.get(t);return{date:t,peak:a.peak,has_cross_project:a.has_cross_project}}),i=0,l=0,d=0;for(let e of s)e.peak>i&&(i=e.peak,a=e.date),e.peak>=3&&l++,e.has_cross_project&&d++;return{by_day:s,peak:i,peak_day:a,multi_agent_days:l,cross_project_days:d}},"calendarMonth",0,function(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),1),end:new Date(e.getFullYear(),e.getMonth()+1,0)}},"calendarWeek",0,a,"priorCalendarMonth",0,function(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()-1,1),end:new Date(e.getFullYear(),e.getMonth(),0)}},"priorCalendarWeek",0,function(e=new Date){let t=a(e),r=new Date(t.start);r.setDate(t.start.getDate()-1);let n=new Date(r);return n.setDate(r.getDate()-6),{start:n,end:r}}])},96735,e=>{"use strict";e.i(91530),e.s([],96735)},54358,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),o=e.i(61916),s=e.i(74677),i=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),g=e.i(74838),x=e.i(10372),w=e.i(93695);e.i(52474);var f=e.i(220);e.i(27174);var m=e.i(30212),v=e.i(5737),R=e.i(76956);e.i(96735);var D=e.i(54853);function y(e){let t=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0");return`${t}-${r}-${a}`}async function E(e){let t=Math.min(12,Math.max(1,parseInt(new URL(e.url).searchParams.get("count")??"6",10))),r=new Set((0,R.listMonthDigestKeys)()),a=new Set;for(let e of(0,v.listEntryKeys)()){let t=(0,D.parseEntryKey)(e);t&&a.add(t.local_day)}let n=(0,m.calendarMonth)(),o=(0,m.priorCalendarMonth)(),s=[];for(let e=0;e<t;e++){let t,i,l;if(0===e)t=n.start,i=n.end,l=!0;else{let r=new Date(o.start);r.setMonth(r.getMonth()-(e-1)),t=new Date(r.getFullYear(),r.getMonth(),1),i=new Date(r.getFullYear(),r.getMonth()+1,0),l=!1}let d=0,u=new Date(t);for(;u.getTime()<=i.getTime();)a.has(y(u))&&d++,u.setDate(u.getDate()+1);let p=function(e){let t=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,"0");return`${t}-${r}`}(t),c=r.has(p)?`month-${p}`:null,h=null,g=0,x=0;if(c){let e=(0,R.readMonthDigest)(p);e&&(h=e.headline,g=e.shipped.length,x=Math.round(e.agent_min_total))}s.push({year:t.getFullYear(),month:t.getMonth()+1,start:y(t),end:y(i),label:t.toLocaleDateString("en-US",{month:"long",year:"numeric"}),active_days:d,in_progress:l,saved_key:c,headline:h,shipped_count:g,agent_min:x})}return Response.json({months:s})}e.s(["GET",0,E,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],90364);var C=e.i(90364);let M=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/digest/month-index/route",pathname:"/api/digest/month-index",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/digest/month-index/route.ts",nextConfigOutput:"standalone",userland:C,...{}}),{workAsyncStorage:_,workUnitAsyncStorage:k,serverHooks:S}=M;async function b(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),M.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/digest/month-index/route";m=m.replace(/\/index$/,"")||"/";let v=await M.prepare(e,t,{srcPage:m,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:D,nextConfig:y,parsedUrl:E,isDraftMode:C,prerenderManifest:_,routerServerContext:k,isOnDemandRevalidate:S,revalidateOnlyGenerated:b,resolvedPathname:A,clientReferenceManifest:T,serverActionsManifest:q}=v,P=(0,i.normalizeAppPath)(m),N=!!(_.dynamicRoutes[P]||_.routes[A]),j=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,E,!1):t.end("This page could not be found"),null);if(N&&!C){let e=!!_.routes[A],t=_.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await j();throw new w.NoFallbackError}}let O=null;!N||M.isDev||C||(O="/index"===(O=A)?"/":O);let F=!0===M.isDev||!N,U=N&&!F;q&&T&&(0,s.setManifestsSingleton)({page:m,clientReferenceManifest:T,serverActionsManifest:q});let H=e.method||"GET",I=(0,o.getTracer)(),$=I.getActiveScopeSpan(),Y=!!(null==k?void 0:k.isWrappedByNextServer),K=!!(0,n.getRequestMeta)(e,"minimalMode"),L=(0,n.getRequestMeta)(e,"incrementalCache")||await M.getIncrementalCache(e,y,_,K);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let B={params:D,previewProps:_.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:F,incrementalCache:L,cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>M.onRequestError(e,t,a,n,k)},sharedContext:{buildId:R}},W=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),V=d.NextRequestAdapter.fromNodeNextRequest(W,(0,d.signalFromNodeResponse)(t));try{let n,s=async e=>M.handle(V,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=I.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${H} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${H} ${m}`)}),i=async n=>{var o,i;let l=async({previousCacheEntry:r})=>{try{if(!K&&S&&b&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await s(n);e.fetchMetrics=B.renderOpts.fetchMetrics;let i=B.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let l=B.renderOpts.collectedTags;if(!N)return await (0,c.sendResponse)(W,G,o,B.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(o.headers);l&&(t[x.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,a=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await M.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:S})},!1,k),t}},d=await M.handleResponse({req:e,nextConfig:y,cacheKey:O,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:b,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:K});if(!N)return null;if((null==d||null==(o=d.value)?void 0:o.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",S?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return K&&N||u.delete(x.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,g.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(W,G,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};Y&&$?await i($):(n=I.getActiveScopeSpan(),await I.withPropagatedContext(e.headers,()=>I.trace(u.BaseServerSpan.handleRequest,{spanName:`${H} ${m}`,kind:o.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},i),void 0,!Y))}catch(t){if(t instanceof w.NoFallbackError||await M.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:S})},!1,k),N)throw t;return await (0,c.sendResponse)(W,G,new Response(null,{status:500})),null}}e.s(["handler",0,b,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:k})},"routeModule",0,M,"serverHooks",0,S,"workAsyncStorage",0,_,"workUnitAsyncStorage",0,k],54358)}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0367vbv._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0ozooam._.js.map
@@ -0,0 +1,28 @@
1
+ module.exports=[50227,(e,t,n)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,n)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,n)=>{t.exports=e.x("node:os",()=>require("node:os"))},66680,(e,t,n)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},74533,(e,t,n)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},18622,(e,t,n)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},70406,(e,t,n)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,n)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},27174,e=>{"use strict";e.i(39587),e.s([])},30212,e=>{"use strict";var t=e.i(79357);function n(e){return(0,t.toLocalDay)(e.getTime())}function s(e=new Date){let t=new Date(e.getFullYear(),e.getMonth(),e.getDate()),n=t.getDay(),r=new Date(t);r.setDate(t.getDate()-(n+6)%7);let a=new Date(r);return a.setDate(r.getDate()+6),{start:r,end:a}}e.s(["aggregateConcurrency",0,function(e,t){let s,r=function(e,t){let n=[],s=new Date(e.getFullYear(),e.getMonth(),e.getDate()),r=new Date(t.getFullYear(),t.getMonth(),t.getDate());for(;s.getTime()<=r.getTime();)n.push(new Date(s)),s.setDate(s.getDate()+1);return n}(t.start,t.end),a=new Map;for(let e of r)a.set(n(e),{peak:0,has_cross_project:!1});for(let t of e){let e=n(new Date(t.startMs)),s=a.get(e);s&&(t.peak>s.peak&&(s.peak=t.peak),t.crossProject&&(s.has_cross_project=!0))}let o=r.map(e=>{let t=n(e),s=a.get(t);return{date:t,peak:s.peak,has_cross_project:s.has_cross_project}}),i=0,l=0,u=0;for(let e of o)e.peak>i&&(i=e.peak,s=e.date),e.peak>=3&&l++,e.has_cross_project&&u++;return{by_day:o,peak:i,peak_day:s,multi_agent_days:l,cross_project_days:u}},"calendarMonth",0,function(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),1),end:new Date(e.getFullYear(),e.getMonth()+1,0)}},"calendarWeek",0,s,"priorCalendarMonth",0,function(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()-1,1),end:new Date(e.getFullYear(),e.getMonth(),0)}},"priorCalendarWeek",0,function(e=new Date){let t=s(e),n=new Date(t.start);n.setDate(t.start.getDate()-1);let r=new Date(n);return r.setDate(n.getDate()-6),{start:r,end:n}}])},45092,84497,84777,e=>{"use strict";var t=e.i(74533),n=e.i(2157),s=e.i(50227),r=e.i(66680),a=e.i(43427);e.i(82111);var o=e.i(81454);function i(){return(0,a.cclensPath)("agent-chats")}function l(e){return(0,s.join)(i(),`${e}.json`)}function u(e){(0,n.mkdirSync)(i(),{recursive:!0});let t=l(e.id),s=`${t}.tmp.${process.pid}`;(0,n.writeFileSync)(s,JSON.stringify(e),"utf8"),(0,n.renameSync)(s,t)}function d(e){if(!/^[a-zA-Z0-9-]+$/.test(e))return null;try{let t=JSON.parse((0,n.readFileSync)(l(e),"utf8"));return 1===t.version?t:null}catch{return null}}function c(){return{role:"assistant",segments:[]}}function p(e,t){if(t.seq<=e.lastSeq)return e;let n=[...e.messages],s=n[n.length-1];s&&"assistant"===s.role||(s=c(),n.push(s));let r={...s,segments:[...s.segments]};n[n.length-1]=r;let a=e.status;switch(t.type){case"delta":{let e=r.segments[r.segments.length-1];e?.kind==="text"?r.segments[r.segments.length-1]={kind:"text",text:e.text+t.text}:r.segments.push({kind:"text",text:t.text});break}case"tool":r.segments.push({kind:"tool",id:t.id,name:t.name,input:t.input,done:!1});break;case"tool_result":r.segments=r.segments.map(e=>"tool"===e.kind&&e.id===t.id?{...e,brief:t.brief,isError:t.isError,done:!0}:e);break;case"done":a="idle",r.segments=r.segments.map(e=>"tool"!==e.kind||e.done?e:{...e,done:!0});break;case"error":a="error",r.segments=r.segments.map(e=>"tool"!==e.kind||e.done?e:{...e,done:!0}),r.segments.push({kind:"text",text:`
2
+
3
+ **Error:** ${t.message}`})}return{...e,messages:n,status:a,lastSeq:t.seq,updated_at:new Date().toISOString()}}function h(){let e=new Date,t=e.toLocaleDateString("en-CA"),n=e.toLocaleDateString("en-US",{weekday:"long"});return`You are the Fleetlens Agent. Fleetlens is a local, privacy-first dashboard over the user's coding-agent history: every Claude Code, Codex, Gemini (and other) session recorded on this machine. You have tools that search and read those sessions.
4
+
5
+ Today is ${n}, ${t}. All session data is local; nothing you do leaves this machine.
6
+
7
+ What users come to you for:
8
+ 1. **Find** — locate past sessions: "where did I fix the daemon crash?", "what did I do last Tuesday?"
9
+ 2. **Synthesize** — explain what happened across sessions: decisions made, approaches tried, gotchas hit.
10
+ 3. **Draft a prompt** — package findings into a self-contained prompt the user can paste into a fresh coding-agent session as context for their next task.
11
+
12
+ Rules:
13
+ - Your ONLY tools are the four fleetlens session tools (search_sessions, get_session, list_sessions, list_projects). You have no filesystem, Bash, memory directory, or web access — never attempt Write, Edit, Read, or any other tool, and never claim you'll "update memory".
14
+ - Invoke tools through real tool calls only — never write function-call syntax or XML tags into your text response, and never simulate or invent tool output. If a tool fails or returns nothing, say so.
15
+ - Ground every claim about past work in tool results. Search before answering; if the first query is inconclusive, retry with different wording (synonyms, file names, error text). Never invent sessions or details.
16
+ - Don't re-fetch a session you already read this conversation — its content won't change.
17
+ - Cite sessions inline as markdown links using each hit's url, e.g. [fix daemon crash](/sessions/abc-123). Cite the sessions you actually drew from — not every hit. These session urls (and real web URLs from tool results) are the ONLY things you may link; never link file names, paths, or documents — mention them as plain text.
18
+ - When asked for a prompt / context pack / handoff, output it as a single fenced code block tagged \`prompt\` (\`\`\`prompt … \`\`\`). Make it self-contained: goal, relevant repo/file paths, decisions already made, known gotchas, and what to do next. No session links inside the block — the next agent can't open them.
19
+ - Be concise. Lead with the answer, then supporting detail. Don't narrate your tool use.
20
+ - If searches genuinely turn up nothing, say so plainly and suggest a better query.`}e.s(["deleteChat",0,function(e){/^[a-zA-Z0-9-]+$/.test(e)&&(0,n.rmSync)(l(e),{force:!0})},"listChats",0,function(){if(!(0,n.existsSync)(i()))return[];let e=[];for(let t of(0,n.readdirSync)(i())){if(!t.endsWith(".json"))continue;let n=d(t.slice(0,-5));n&&e.push({id:n.id,title:n.title,updated_at:n.updated_at,status:n.status,messageCount:n.messages.length})}return e.sort((e,t)=>t.updated_at.localeCompare(e.updated_at)),e},"readChat",0,d,"writeChat",0,u],84497),e.s(["applyRunEvent",0,p,"chatTitle",0,function(e){return e.replace(/\s+/g," ").trim().slice(0,80)},"createChat",0,function(){let e=new Date().toISOString();return{version:1,id:crypto.randomUUID(),title:"New conversation",created_at:e,updated_at:e,status:"idle",lastSeq:0,messages:[]}},"newAssistantMessage",0,c],84777);let g=globalThis.__fleetlensAgentRuns??={runs:new Map};e.s(["MAX_CONCURRENT_RUNS",0,3,"activeRunCount",0,function(){return g.runs.size},"discardRun",0,function(e){let t=g.runs.get(e);t&&(t.stoppedByUser=!0,t.discarded=!0,g.runs.delete(e),t.kill())},"getRun",0,function(e){return g.runs.get(e)},"killRun",0,function(e){let t=g.runs.get(e);t&&(t.stoppedByUser=!0,t.kill())},"reconcileChat",0,function(e){if("running"!==e.status||g.runs.has(e.id))return e;let t=p(e,{seq:e.lastSeq+1,type:"error",message:"run interrupted — the server restarted while it was working"});try{u(t)}catch{}return t},"startRun",0,function(e,i){if(g.runs.has(e.id))throw Error("run already active for this chat");let l=e.lastSeq,d=e,c=0,m={chatId:e.id,events:[],subscribers:new Set,stoppedByUser:!1,discarded:!1,kill:()=>{}};g.runs.set(e.id,m);let f=e=>{if(m.discarded)return;let t=Date.now();if(e||!(t-c<750)){c=t;try{u(d)}catch{}}},y=e=>{let t={seq:++l,...e};for(let e of(m.events.push(t),d=p(d,t),f("delta"!==t.type),m.subscribers))try{e(t)}catch{}},x=(0,a.cclensPath)("agent-runtime");(0,n.mkdirSync)(x,{recursive:!0});let _=(0,s.join)(x,"settings.json");(0,n.writeFileSync)(_,JSON.stringify({hooks:{SessionStart:[{hooks:[{type:"command",command:'node -e "setTimeout(()=>{},2000)"'}]}]}}));let w=["-p","--output-format","stream-json","--verbose","--include-partial-messages","--model",i.model,"--tools","","--disable-slash-commands","--no-session-persistence","--setting-sources","","--settings",_,"--strict-mcp-config","--mcp-config",JSON.stringify({mcpServers:{fleetlens:{type:"http",url:i.mcpUrl}}}),"--allowedTools","mcp__fleetlens__search_sessions","mcp__fleetlens__get_session","mcp__fleetlens__list_sessions","mcp__fleetlens__list_projects","--effort","medium","--append-system-prompt",h()],v=function(e){let t=e.slice(-12).map(e=>({role:e.role,text:e.text.length>4e3?e.text.slice(0,4e3)+"…":e.text})),n=t.pop();if(!n)return"";if(0===t.length)return n.text;let s=t.map(e=>`${"user"===e.role?"User":"You (assistant)"}: ${e.text}`).join("\n\n");return`Conversation so far:
21
+
22
+ ${s}
23
+
24
+ ---
25
+
26
+ User's new message: ${n.text}`}(e.messages.map(e=>"user"===e.role?{role:"user",text:e.text}:{role:"assistant",text:e.segments.filter(e=>"text"===e.kind).map(e=>e.text).join("")}).filter(e=>e.text.trim())),k=setTimeout(()=>{y({type:"error",message:"timed out after 5 minutes"}),m.kill()},3e5),S=()=>{clearTimeout(k),f(!0),g.runs.delete(e.id)},R=e=>{var l,u,c;let p,g,f,_,k;if(m.stoppedByUser||"running"!==d.status){m.stoppedByUser&&"running"===d.status&&y({type:"error",message:"stopped by user"}),S();return}let D=(l=i.model,u=v.length,c=h(),g=(0,a.cclensPath)("llm-runs"),f=`${new Date().toISOString().replace(/[:.]/g,"-")}_agent_chat_${(0,r.randomUUID)().slice(0,8)}`,_=(0,s.join)(g,`${f}.jsonl`),(k=(e,t=!1)=>{try{let s=JSON.stringify(e)+"\n";t?((0,n.mkdirSync)(g,{recursive:!0}),(0,n.writeFileSync)(_,s)):(0,n.appendFileSync)(_,s)}catch{}})({_meta:{type:"start",run_id:f,kind:"agent_chat",model:l,ts:new Date().toISOString(),runtime:"detached",user_prompt_chars:u}},!0),k({_meta:{type:"payload",run_id:f,system_prompt:c,user_prompt:v}}),{line:e=>{try{(0,n.appendFileSync)(_,e+"\n")}catch{}},end:e=>k({_meta:{type:"end",run_id:f,ts:new Date().toISOString(),...e}})}),b=Date.now(),C=(0,o.resolveClaudeBin)();if(!C){let e=new o.ClaudeBinNotFoundError;y({type:"error",message:e.message}),D.end({runtime:"detached",elapsed_ms:0,exit_code:-1,error:e.message}),S();return}let E=(0,t.spawn)(C,w,{stdio:["pipe","pipe","pipe"],env:(0,o.claudeSpawnEnv)(C),cwd:x});m.kill=()=>{try{E.kill("SIGTERM")}catch{}},E.stdin.write(v),E.stdin.end();let A=!1,T="",N="",j=!1,q=new Set,O=new Map,M=t=>{let n;try{n=JSON.parse(t)}catch{return}if("stream_event"!==n.type&&D.line(t),"system"===n.type&&"init"===n.subtype){let t=n.mcp_servers,s=t?.find(e=>"fleetlens"===e.name);if(s&&"connected"!==s.status){A=!0,D.end({runtime:"detached",elapsed_ms:Date.now()-b,mcp_status:s.status,retried:e<3});try{E.kill("SIGTERM")}catch{}e<3?setTimeout(()=>R(e+1),750):(y({type:"error",message:`session tools failed to connect (mcp status: ${s.status}) — try again`}),S())}return}if("stream_event"===n.type){let e=n.event;if(e?.type==="content_block_delta"){let t=e.delta;t?.type==="text_delta"&&"string"==typeof t.text&&("number"==typeof e.index&&q.add(e.index),y({type:"delta",text:t.text}))}return}if("assistant"===n.type){let e=n.message,t=e?.content;Array.isArray(t)&&t.forEach((e,t)=>{if("text"!==e.type||"string"!=typeof e.text||q.has(t)||y({type:"delta",text:e.text}),"tool_use"===e.type&&"string"==typeof e.name){var n;let t,s="string"==typeof e.id?e.id:"",r=e.name.replace(/^mcp__fleetlens__/,"");O.set(s,r),y({type:"tool",id:s,name:r,input:(t=JSON.stringify(n=e.input)??"{}").length<=300?n:{_truncated:t.slice(0,300)+"…"}})}}),q=new Set;return}if("user"===n.type){let e=n.message,t=e?.content;if(!Array.isArray(t))return;for(let e of t){if("tool_result"!==e.type)continue;let t="string"==typeof e.tool_use_id?e.tool_use_id:"",n=e.content,s=Array.isArray(n)?n.map(e=>e&&"object"==typeof e&&"text"in e?String(e.text):"").join(""):"string"==typeof n?n:"";y({type:"tool_result",id:t,name:O.get(t)??"tool",brief:function(e){try{let t=JSON.parse(e);if("number"==typeof t.total_matches)return`${t.total_matches} matching sessions`;if(Array.isArray(t.sessions))return`${t.total??t.sessions.length} sessions`;if(Array.isArray(t.projects))return`${t.projects.length} projects`}catch{}return`${e.length.toLocaleString()} chars`}(s),isError:!0===e.is_error})}return}"result"===n.type&&(j=!0,p=n.usage,y({type:"done",totalTokens:"number"==typeof p?.input_tokens&&"number"==typeof p?.output_tokens?p.input_tokens+p.output_tokens:void 0}))},U=new TextDecoder("utf-8");E.stdout.on("data",e=>{if(A)return;let t=(N+=U.decode(e,{stream:!0})).split("\n");for(let e of(N=t.pop()??"",t)){let t=e.trim();t&&!A&&M(t)}}),E.stderr.on("data",e=>{T.length<4e3&&(T+=e.toString("utf8"))}),E.on("close",e=>{A||(j||"running"!==d.status||y({type:"error",message:m.stoppedByUser?"stopped by user":T.trim().slice(0,400)||`claude exited with code ${e}`}),D.end({runtime:"detached",elapsed_ms:Date.now()-b,exit_code:e??0,input_tokens:p?.input_tokens,output_tokens:p?.output_tokens}),S())}),E.on("error",e=>{A||(y({type:"error",message:`Failed to spawn claude: ${e.message}`}),D.end({runtime:"detached",elapsed_ms:Date.now()-b,exit_code:-1,error:e.message}),S())})};R(1)}],45092)},1766,e=>{"use strict";var t=e.i(47909),n=e.i(74017),s=e.i(96250),r=e.i(59756),a=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),g=e.i(74838),m=e.i(10372),f=e.i(93695);e.i(52474);var y=e.i(220),x=e.i(45092);async function _(e,{params:t}){let{id:n}=await t;return(0,x.killRun)(n),Response.json({ok:!0})}e.s(["POST",0,_,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],14733);var w=e.i(14733);let v=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/agent/chats/[id]/stop/route",pathname:"/api/agent/chats/[id]/stop",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/agent/chats/[id]/stop/route.ts",nextConfigOutput:"standalone",userland:w,...{}}),{workAsyncStorage:k,workUnitAsyncStorage:S,serverHooks:R}=v;async function D(e,t,s){s.requestMeta&&(0,r.setRequestMeta)(e,s.requestMeta),v.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/agent/chats/[id]/stop/route";x=x.replace(/\/index$/,"")||"/";let _=await v.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!_)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:w,params:k,nextConfig:S,parsedUrl:R,isDraftMode:D,prerenderManifest:b,routerServerContext:C,isOnDemandRevalidate:E,revalidateOnlyGenerated:A,resolvedPathname:T,clientReferenceManifest:N,serverActionsManifest:j}=_,q=(0,i.normalizeAppPath)(x),O=!!(b.dynamicRoutes[q]||b.routes[T]),M=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,R,!1):t.end("This page could not be found"),null);if(O&&!D){let e=!!b.routes[T],t=b.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(S.adapterPath)return await M();throw new f.NoFallbackError}}let U=null;!O||v.isDev||D||(U="/index"===(U=T)?"/":U);let I=!0===v.isDev||!O,$=O&&!I;j&&N&&(0,o.setManifestsSingleton)({page:x,clientReferenceManifest:N,serverActionsManifest:j});let P=e.method||"GET",F=(0,a.getTracer)(),H=F.getActiveScopeSpan(),B=!!(null==C?void 0:C.isWrappedByNextServer),L=!!(0,r.getRequestMeta)(e,"minimalMode"),Y=(0,r.getRequestMeta)(e,"incrementalCache")||await v.getIncrementalCache(e,S,b,L);null==Y||Y.resetRequestCache(),globalThis.__incrementalCache=Y;let W={params:k,previewProps:b.preview,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:I,incrementalCache:Y,cacheLifeProfiles:S.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,s,r)=>v.onRequestError(e,t,s,r,C)},sharedContext:{buildId:w}},J=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(J,(0,u.signalFromNodeResponse)(t));try{let r,o=async e=>v.handle(G,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=F.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=n.get("next.route");if(s){let t=`${P} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),r&&r!==e&&(r.setAttribute("http.route",s),r.updateName(t))}else e.updateName(`${P} ${x}`)}),i=async r=>{var a,i;let l=async({previousCacheEntry:n})=>{try{if(!L&&E&&A&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await o(r);e.fetchMetrics=W.renderOpts.fetchMetrics;let i=W.renderOpts.pendingWaitUntil;i&&s.waitUntil&&(s.waitUntil(i),i=void 0);let l=W.renderOpts.collectedTags;if(!O)return await (0,p.sendResponse)(J,K,a,W.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,s=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:s}}}}catch(t){throw(null==n?void 0:n.isStale)&&await v.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:E})},!1,C),t}},u=await v.handleResponse({req:e,nextConfig:S,cacheKey:U,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:A,responseGenerator:l,waitUntil:s.waitUntil,isMinimalMode:L});if(!O)return null;if((null==u||null==(a=u.value)?void 0:a.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(i=u.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",E?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),D&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return L&&O||d.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(J,K,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};B&&H?await i(H):(r=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${P} ${x}`,kind:a.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},i),void 0,!B))}catch(t){if(t instanceof f.NoFallbackError||await v.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:E})},!1,C),O)throw t;return await (0,p.sendResponse)(J,K,new Response(null,{status:500})),null}}e.s(["handler",0,D,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:S})},"routeModule",0,v,"serverHooks",0,R,"workAsyncStorage",0,k,"workUnitAsyncStorage",0,S],1766)}];
27
+
28
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0uf_ch4._.js.map
@@ -0,0 +1,28 @@
1
+ module.exports=[50227,(e,t,s)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,s)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,s)=>{t.exports=e.x("node:os",()=>require("node:os"))},66680,(e,t,s)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},74533,(e,t,s)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},18622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},70406,(e,t,s)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},27174,e=>{"use strict";e.i(39587),e.s([])},30212,e=>{"use strict";var t=e.i(79357);function s(e){return(0,t.toLocalDay)(e.getTime())}function n(e=new Date){let t=new Date(e.getFullYear(),e.getMonth(),e.getDate()),s=t.getDay(),r=new Date(t);r.setDate(t.getDate()-(s+6)%7);let a=new Date(r);return a.setDate(r.getDate()+6),{start:r,end:a}}e.s(["aggregateConcurrency",0,function(e,t){let n,r=function(e,t){let s=[],n=new Date(e.getFullYear(),e.getMonth(),e.getDate()),r=new Date(t.getFullYear(),t.getMonth(),t.getDate());for(;n.getTime()<=r.getTime();)s.push(new Date(n)),n.setDate(n.getDate()+1);return s}(t.start,t.end),a=new Map;for(let e of r)a.set(s(e),{peak:0,has_cross_project:!1});for(let t of e){let e=s(new Date(t.startMs)),n=a.get(e);n&&(t.peak>n.peak&&(n.peak=t.peak),t.crossProject&&(n.has_cross_project=!0))}let o=r.map(e=>{let t=s(e),n=a.get(t);return{date:t,peak:n.peak,has_cross_project:n.has_cross_project}}),i=0,l=0,u=0;for(let e of o)e.peak>i&&(i=e.peak,n=e.date),e.peak>=3&&l++,e.has_cross_project&&u++;return{by_day:o,peak:i,peak_day:n,multi_agent_days:l,cross_project_days:u}},"calendarMonth",0,function(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),1),end:new Date(e.getFullYear(),e.getMonth()+1,0)}},"calendarWeek",0,n,"priorCalendarMonth",0,function(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()-1,1),end:new Date(e.getFullYear(),e.getMonth(),0)}},"priorCalendarWeek",0,function(e=new Date){let t=n(e),s=new Date(t.start);s.setDate(t.start.getDate()-1);let r=new Date(s);return r.setDate(s.getDate()-6),{start:r,end:s}}])},45092,84497,84777,e=>{"use strict";var t=e.i(74533),s=e.i(2157),n=e.i(50227),r=e.i(66680),a=e.i(43427);e.i(82111);var o=e.i(81454);function i(){return(0,a.cclensPath)("agent-chats")}function l(e){return(0,n.join)(i(),`${e}.json`)}function u(e){(0,s.mkdirSync)(i(),{recursive:!0});let t=l(e.id),n=`${t}.tmp.${process.pid}`;(0,s.writeFileSync)(n,JSON.stringify(e),"utf8"),(0,s.renameSync)(n,t)}function d(e){if(!/^[a-zA-Z0-9-]+$/.test(e))return null;try{let t=JSON.parse((0,s.readFileSync)(l(e),"utf8"));return 1===t.version?t:null}catch{return null}}function c(){return{role:"assistant",segments:[]}}function p(e,t){if(t.seq<=e.lastSeq)return e;let s=[...e.messages],n=s[s.length-1];n&&"assistant"===n.role||(n=c(),s.push(n));let r={...n,segments:[...n.segments]};s[s.length-1]=r;let a=e.status;switch(t.type){case"delta":{let e=r.segments[r.segments.length-1];e?.kind==="text"?r.segments[r.segments.length-1]={kind:"text",text:e.text+t.text}:r.segments.push({kind:"text",text:t.text});break}case"tool":r.segments.push({kind:"tool",id:t.id,name:t.name,input:t.input,done:!1});break;case"tool_result":r.segments=r.segments.map(e=>"tool"===e.kind&&e.id===t.id?{...e,brief:t.brief,isError:t.isError,done:!0}:e);break;case"done":a="idle",r.segments=r.segments.map(e=>"tool"!==e.kind||e.done?e:{...e,done:!0});break;case"error":a="error",r.segments=r.segments.map(e=>"tool"!==e.kind||e.done?e:{...e,done:!0}),r.segments.push({kind:"text",text:`
2
+
3
+ **Error:** ${t.message}`})}return{...e,messages:s,status:a,lastSeq:t.seq,updated_at:new Date().toISOString()}}function h(){let e=new Date,t=e.toLocaleDateString("en-CA"),s=e.toLocaleDateString("en-US",{weekday:"long"});return`You are the Fleetlens Agent. Fleetlens is a local, privacy-first dashboard over the user's coding-agent history: every Claude Code, Codex, Gemini (and other) session recorded on this machine. You have tools that search and read those sessions.
4
+
5
+ Today is ${s}, ${t}. All session data is local; nothing you do leaves this machine.
6
+
7
+ What users come to you for:
8
+ 1. **Find** — locate past sessions: "where did I fix the daemon crash?", "what did I do last Tuesday?"
9
+ 2. **Synthesize** — explain what happened across sessions: decisions made, approaches tried, gotchas hit.
10
+ 3. **Draft a prompt** — package findings into a self-contained prompt the user can paste into a fresh coding-agent session as context for their next task.
11
+
12
+ Rules:
13
+ - Your ONLY tools are the four fleetlens session tools (search_sessions, get_session, list_sessions, list_projects). You have no filesystem, Bash, memory directory, or web access — never attempt Write, Edit, Read, or any other tool, and never claim you'll "update memory".
14
+ - Invoke tools through real tool calls only — never write function-call syntax or XML tags into your text response, and never simulate or invent tool output. If a tool fails or returns nothing, say so.
15
+ - Ground every claim about past work in tool results. Search before answering; if the first query is inconclusive, retry with different wording (synonyms, file names, error text). Never invent sessions or details.
16
+ - Don't re-fetch a session you already read this conversation — its content won't change.
17
+ - Cite sessions inline as markdown links using each hit's url, e.g. [fix daemon crash](/sessions/abc-123). Cite the sessions you actually drew from — not every hit. These session urls (and real web URLs from tool results) are the ONLY things you may link; never link file names, paths, or documents — mention them as plain text.
18
+ - When asked for a prompt / context pack / handoff, output it as a single fenced code block tagged \`prompt\` (\`\`\`prompt … \`\`\`). Make it self-contained: goal, relevant repo/file paths, decisions already made, known gotchas, and what to do next. No session links inside the block — the next agent can't open them.
19
+ - Be concise. Lead with the answer, then supporting detail. Don't narrate your tool use.
20
+ - If searches genuinely turn up nothing, say so plainly and suggest a better query.`}e.s(["deleteChat",0,function(e){/^[a-zA-Z0-9-]+$/.test(e)&&(0,s.rmSync)(l(e),{force:!0})},"listChats",0,function(){if(!(0,s.existsSync)(i()))return[];let e=[];for(let t of(0,s.readdirSync)(i())){if(!t.endsWith(".json"))continue;let s=d(t.slice(0,-5));s&&e.push({id:s.id,title:s.title,updated_at:s.updated_at,status:s.status,messageCount:s.messages.length})}return e.sort((e,t)=>t.updated_at.localeCompare(e.updated_at)),e},"readChat",0,d,"writeChat",0,u],84497),e.s(["applyRunEvent",0,p,"chatTitle",0,function(e){return e.replace(/\s+/g," ").trim().slice(0,80)},"createChat",0,function(){let e=new Date().toISOString();return{version:1,id:crypto.randomUUID(),title:"New conversation",created_at:e,updated_at:e,status:"idle",lastSeq:0,messages:[]}},"newAssistantMessage",0,c],84777);let g=globalThis.__fleetlensAgentRuns??={runs:new Map};e.s(["MAX_CONCURRENT_RUNS",0,3,"activeRunCount",0,function(){return g.runs.size},"discardRun",0,function(e){let t=g.runs.get(e);t&&(t.stoppedByUser=!0,t.discarded=!0,g.runs.delete(e),t.kill())},"getRun",0,function(e){return g.runs.get(e)},"killRun",0,function(e){let t=g.runs.get(e);t&&(t.stoppedByUser=!0,t.kill())},"reconcileChat",0,function(e){if("running"!==e.status||g.runs.has(e.id))return e;let t=p(e,{seq:e.lastSeq+1,type:"error",message:"run interrupted — the server restarted while it was working"});try{u(t)}catch{}return t},"startRun",0,function(e,i){if(g.runs.has(e.id))throw Error("run already active for this chat");let l=e.lastSeq,d=e,c=0,m={chatId:e.id,events:[],subscribers:new Set,stoppedByUser:!1,discarded:!1,kill:()=>{}};g.runs.set(e.id,m);let f=e=>{if(m.discarded)return;let t=Date.now();if(e||!(t-c<750)){c=t;try{u(d)}catch{}}},y=e=>{let t={seq:++l,...e};for(let e of(m.events.push(t),d=p(d,t),f("delta"!==t.type),m.subscribers))try{e(t)}catch{}},_=(0,a.cclensPath)("agent-runtime");(0,s.mkdirSync)(_,{recursive:!0});let x=(0,n.join)(_,"settings.json");(0,s.writeFileSync)(x,JSON.stringify({hooks:{SessionStart:[{hooks:[{type:"command",command:'node -e "setTimeout(()=>{},2000)"'}]}]}}));let w=["-p","--output-format","stream-json","--verbose","--include-partial-messages","--model",i.model,"--tools","","--disable-slash-commands","--no-session-persistence","--setting-sources","","--settings",x,"--strict-mcp-config","--mcp-config",JSON.stringify({mcpServers:{fleetlens:{type:"http",url:i.mcpUrl}}}),"--allowedTools","mcp__fleetlens__search_sessions","mcp__fleetlens__get_session","mcp__fleetlens__list_sessions","mcp__fleetlens__list_projects","--effort","medium","--append-system-prompt",h()],v=function(e){let t=e.slice(-12).map(e=>({role:e.role,text:e.text.length>4e3?e.text.slice(0,4e3)+"…":e.text})),s=t.pop();if(!s)return"";if(0===t.length)return s.text;let n=t.map(e=>`${"user"===e.role?"User":"You (assistant)"}: ${e.text}`).join("\n\n");return`Conversation so far:
21
+
22
+ ${n}
23
+
24
+ ---
25
+
26
+ User's new message: ${s.text}`}(e.messages.map(e=>"user"===e.role?{role:"user",text:e.text}:{role:"assistant",text:e.segments.filter(e=>"text"===e.kind).map(e=>e.text).join("")}).filter(e=>e.text.trim())),R=setTimeout(()=>{y({type:"error",message:"timed out after 5 minutes"}),m.kill()},3e5),k=()=>{clearTimeout(R),f(!0),g.runs.delete(e.id)},S=e=>{var l,u,c;let p,g,f,x,R;if(m.stoppedByUser||"running"!==d.status){m.stoppedByUser&&"running"===d.status&&y({type:"error",message:"stopped by user"}),k();return}let C=(l=i.model,u=v.length,c=h(),g=(0,a.cclensPath)("llm-runs"),f=`${new Date().toISOString().replace(/[:.]/g,"-")}_agent_chat_${(0,r.randomUUID)().slice(0,8)}`,x=(0,n.join)(g,`${f}.jsonl`),(R=(e,t=!1)=>{try{let n=JSON.stringify(e)+"\n";t?((0,s.mkdirSync)(g,{recursive:!0}),(0,s.writeFileSync)(x,n)):(0,s.appendFileSync)(x,n)}catch{}})({_meta:{type:"start",run_id:f,kind:"agent_chat",model:l,ts:new Date().toISOString(),runtime:"detached",user_prompt_chars:u}},!0),R({_meta:{type:"payload",run_id:f,system_prompt:c,user_prompt:v}}),{line:e=>{try{(0,s.appendFileSync)(x,e+"\n")}catch{}},end:e=>R({_meta:{type:"end",run_id:f,ts:new Date().toISOString(),...e}})}),D=Date.now(),b=(0,o.resolveClaudeBin)();if(!b){let e=new o.ClaudeBinNotFoundError;y({type:"error",message:e.message}),C.end({runtime:"detached",elapsed_ms:0,exit_code:-1,error:e.message}),k();return}let E=(0,t.spawn)(b,w,{stdio:["pipe","pipe","pipe"],env:(0,o.claudeSpawnEnv)(b),cwd:_});m.kill=()=>{try{E.kill("SIGTERM")}catch{}},E.stdin.write(v),E.stdin.end();let A=!1,N="",T="",j=!1,O=new Set,q=new Map,U=t=>{let s;try{s=JSON.parse(t)}catch{return}if("stream_event"!==s.type&&C.line(t),"system"===s.type&&"init"===s.subtype){let t=s.mcp_servers,n=t?.find(e=>"fleetlens"===e.name);if(n&&"connected"!==n.status){A=!0,C.end({runtime:"detached",elapsed_ms:Date.now()-D,mcp_status:n.status,retried:e<3});try{E.kill("SIGTERM")}catch{}e<3?setTimeout(()=>S(e+1),750):(y({type:"error",message:`session tools failed to connect (mcp status: ${n.status}) — try again`}),k())}return}if("stream_event"===s.type){let e=s.event;if(e?.type==="content_block_delta"){let t=e.delta;t?.type==="text_delta"&&"string"==typeof t.text&&("number"==typeof e.index&&O.add(e.index),y({type:"delta",text:t.text}))}return}if("assistant"===s.type){let e=s.message,t=e?.content;Array.isArray(t)&&t.forEach((e,t)=>{if("text"!==e.type||"string"!=typeof e.text||O.has(t)||y({type:"delta",text:e.text}),"tool_use"===e.type&&"string"==typeof e.name){var s;let t,n="string"==typeof e.id?e.id:"",r=e.name.replace(/^mcp__fleetlens__/,"");q.set(n,r),y({type:"tool",id:n,name:r,input:(t=JSON.stringify(s=e.input)??"{}").length<=300?s:{_truncated:t.slice(0,300)+"…"}})}}),O=new Set;return}if("user"===s.type){let e=s.message,t=e?.content;if(!Array.isArray(t))return;for(let e of t){if("tool_result"!==e.type)continue;let t="string"==typeof e.tool_use_id?e.tool_use_id:"",s=e.content,n=Array.isArray(s)?s.map(e=>e&&"object"==typeof e&&"text"in e?String(e.text):"").join(""):"string"==typeof s?s:"";y({type:"tool_result",id:t,name:q.get(t)??"tool",brief:function(e){try{let t=JSON.parse(e);if("number"==typeof t.total_matches)return`${t.total_matches} matching sessions`;if(Array.isArray(t.sessions))return`${t.total??t.sessions.length} sessions`;if(Array.isArray(t.projects))return`${t.projects.length} projects`}catch{}return`${e.length.toLocaleString()} chars`}(n),isError:!0===e.is_error})}return}"result"===s.type&&(j=!0,p=s.usage,y({type:"done",totalTokens:"number"==typeof p?.input_tokens&&"number"==typeof p?.output_tokens?p.input_tokens+p.output_tokens:void 0}))},M=new TextDecoder("utf-8");E.stdout.on("data",e=>{if(A)return;let t=(T+=M.decode(e,{stream:!0})).split("\n");for(let e of(T=t.pop()??"",t)){let t=e.trim();t&&!A&&U(t)}}),E.stderr.on("data",e=>{N.length<4e3&&(N+=e.toString("utf8"))}),E.on("close",e=>{A||(j||"running"!==d.status||y({type:"error",message:m.stoppedByUser?"stopped by user":N.trim().slice(0,400)||`claude exited with code ${e}`}),C.end({runtime:"detached",elapsed_ms:Date.now()-D,exit_code:e??0,input_tokens:p?.input_tokens,output_tokens:p?.output_tokens}),k())}),E.on("error",e=>{A||(y({type:"error",message:`Failed to spawn claude: ${e.message}`}),C.end({runtime:"detached",elapsed_ms:Date.now()-D,exit_code:-1,error:e.message}),k())})};S(1)}],45092)},48711,e=>{"use strict";var t=e.i(47909),s=e.i(74017),n=e.i(96250),r=e.i(59756),a=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),g=e.i(74838),m=e.i(10372),f=e.i(93695);e.i(52474);var y=e.i(220);e.i(82111);var _=e.i(56614),x=e.i(84497),w=e.i(84777),v=e.i(45092);async function R(e,{params:t}){let s,{id:n}=await t;try{s=await e.json()}catch{return Response.json({error:"invalid JSON"},{status:400})}let r=s.text?.trim();if(!r)return Response.json({error:"text is required"},{status:400});let a=(0,x.readChat)(n);if(!a)return Response.json({error:"not found"},{status:404});if(a=(0,v.reconcileChat)(a),(0,v.getRun)(n))return Response.json({error:"a run is already active for this chat"},{status:409});if((0,v.activeRunCount)()>=v.MAX_CONCURRENT_RUNS)return Response.json({error:`at most ${v.MAX_CONCURRENT_RUNS} chats can run at once`},{status:429});let o=!a.messages.some(e=>"user"===e.role);return a={...a,title:o?(0,w.chatTitle)(r):a.title,status:"running",updated_at:new Date().toISOString(),messages:[...a.messages,{role:"user",text:r},(0,w.newAssistantMessage)()]},(0,x.writeChat)(a),(0,v.startRun)(a,{model:s.model||(0,_.readSettings)().ai_features.model||"sonnet",mcpUrl:new URL("/api/agent/mcp",e.url).toString()}),Response.json(a,{status:202})}e.s(["POST",0,R,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],53749);var k=e.i(53749);let S=new t.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/agent/chats/[id]/messages/route",pathname:"/api/agent/chats/[id]/messages",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/agent/chats/[id]/messages/route.ts",nextConfigOutput:"standalone",userland:k,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:D,serverHooks:b}=S;async function E(e,t,n){n.requestMeta&&(0,r.setRequestMeta)(e,n.requestMeta),S.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/agent/chats/[id]/messages/route";_=_.replace(/\/index$/,"")||"/";let x=await S.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:w,params:v,nextConfig:R,parsedUrl:k,isDraftMode:C,prerenderManifest:D,routerServerContext:b,isOnDemandRevalidate:E,revalidateOnlyGenerated:A,resolvedPathname:N,clientReferenceManifest:T,serverActionsManifest:j}=x,O=(0,i.normalizeAppPath)(_),q=!!(D.dynamicRoutes[O]||D.routes[N]),U=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,k,!1):t.end("This page could not be found"),null);if(q&&!C){let e=!!D.routes[N],t=D.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await U();throw new f.NoFallbackError}}let M=null;!q||S.isDev||C||(M="/index"===(M=N)?"/":M);let I=!0===S.isDev||!q,$=q&&!I;j&&T&&(0,o.setManifestsSingleton)({page:_,clientReferenceManifest:T,serverActionsManifest:j});let P=e.method||"GET",F=(0,a.getTracer)(),H=F.getActiveScopeSpan(),B=!!(null==b?void 0:b.isWrappedByNextServer),L=!!(0,r.getRequestMeta)(e,"minimalMode"),Y=(0,r.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,R,D,L);null==Y||Y.resetRequestCache(),globalThis.__incrementalCache=Y;let J={params:v,previewProps:D.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:I,incrementalCache:Y,cacheLifeProfiles:R.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,s,n,r)=>S.onRequestError(e,t,n,r,b)},sharedContext:{buildId:w}},W=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(t));try{let r,o=async e=>S.handle(G,J).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let s=F.getRootSpanAttributes();if(!s)return;if(s.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${s.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=s.get("next.route");if(n){let t=`${P} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),r&&r!==e&&(r.setAttribute("http.route",n),r.updateName(t))}else e.updateName(`${P} ${_}`)}),i=async r=>{var a,i;let l=async({previousCacheEntry:s})=>{try{if(!L&&E&&A&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await o(r);e.fetchMetrics=J.renderOpts.fetchMetrics;let i=J.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let l=J.renderOpts.collectedTags;if(!q)return await (0,p.sendResponse)(W,K,a,J.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let s=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,n=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:J.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:s,expire:n}}}}catch(t){throw(null==s?void 0:s.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:E})},!1,b),t}},u=await S.handleResponse({req:e,nextConfig:R,cacheKey:M,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:D,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:A,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:L});if(!q)return null;if((null==u||null==(a=u.value)?void 0:a.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(i=u.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",E?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return L&&q||d.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(W,K,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};B&&H?await i(H):(r=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${P} ${_}`,kind:a.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},i),void 0,!B))}catch(t){if(t instanceof f.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:E})},!1,b),q)throw t;return await (0,p.sendResponse)(W,K,new Response(null,{status:500})),null}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:D})},"routeModule",0,S,"serverHooks",0,b,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,D],48711)}];
27
+
28
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0uiom2m._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},27174,e=>{"use strict";e.i(39587),e.s([])},30212,e=>{"use strict";var t=e.i(79357);function r(e){return(0,t.toLocalDay)(e.getTime())}function a(e=new Date){let t=new Date(e.getFullYear(),e.getMonth(),e.getDate()),r=t.getDay(),n=new Date(t);n.setDate(t.getDate()-(r+6)%7);let s=new Date(n);return s.setDate(n.getDate()+6),{start:n,end:s}}e.s(["aggregateConcurrency",0,function(e,t){let a,n=function(e,t){let r=[],a=new Date(e.getFullYear(),e.getMonth(),e.getDate()),n=new Date(t.getFullYear(),t.getMonth(),t.getDate());for(;a.getTime()<=n.getTime();)r.push(new Date(a)),a.setDate(a.getDate()+1);return r}(t.start,t.end),s=new Map;for(let e of n)s.set(r(e),{peak:0,has_cross_project:!1});for(let t of e){let e=r(new Date(t.startMs)),a=s.get(e);a&&(t.peak>a.peak&&(a.peak=t.peak),t.crossProject&&(a.has_cross_project=!0))}let o=n.map(e=>{let t=r(e),a=s.get(t);return{date:t,peak:a.peak,has_cross_project:a.has_cross_project}}),p=0,l=0,i=0;for(let e of o)e.peak>p&&(p=e.peak,a=e.date),e.peak>=3&&l++,e.has_cross_project&&i++;return{by_day:o,peak:p,peak_day:a,multi_agent_days:l,cross_project_days:i}},"calendarMonth",0,function(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),1),end:new Date(e.getFullYear(),e.getMonth()+1,0)}},"calendarWeek",0,a,"priorCalendarMonth",0,function(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()-1,1),end:new Date(e.getFullYear(),e.getMonth(),0)}},"priorCalendarWeek",0,function(e=new Date){let t=a(e),r=new Date(t.start);r.setDate(t.start.getDate()-1);let n=new Date(r);return n.setDate(r.getDate()-6),{start:n,end:r}}])}];
1
+ module.exports=[50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},27174,e=>{"use strict";e.i(39587),e.s([])},30212,e=>{"use strict";var t=e.i(79357);function r(e){return(0,t.toLocalDay)(e.getTime())}function a(e=new Date){let t=new Date(e.getFullYear(),e.getMonth(),e.getDate()),r=t.getDay(),n=new Date(t);n.setDate(t.getDate()-(r+6)%7);let s=new Date(n);return s.setDate(n.getDate()+6),{start:n,end:s}}e.s(["aggregateConcurrency",0,function(e,t){let a,n=function(e,t){let r=[],a=new Date(e.getFullYear(),e.getMonth(),e.getDate()),n=new Date(t.getFullYear(),t.getMonth(),t.getDate());for(;a.getTime()<=n.getTime();)r.push(new Date(a)),a.setDate(a.getDate()+1);return r}(t.start,t.end),s=new Map;for(let e of n)s.set(r(e),{peak:0,has_cross_project:!1});for(let t of e){let e=r(new Date(t.startMs)),a=s.get(e);a&&(t.peak>a.peak&&(a.peak=t.peak),t.crossProject&&(a.has_cross_project=!0))}let o=n.map(e=>{let t=r(e),a=s.get(t);return{date:t,peak:a.peak,has_cross_project:a.has_cross_project}}),p=0,l=0,i=0;for(let e of o)e.peak>p&&(p=e.peak,a=e.date),e.peak>=3&&l++,e.has_cross_project&&i++;return{by_day:o,peak:p,peak_day:a,multi_agent_days:l,cross_project_days:i}},"calendarMonth",0,function(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),1),end:new Date(e.getFullYear(),e.getMonth()+1,0)}},"calendarWeek",0,a,"priorCalendarMonth",0,function(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()-1,1),end:new Date(e.getFullYear(),e.getMonth(),0)}},"priorCalendarWeek",0,function(e=new Date){let t=a(e),r=new Date(t.start);r.setDate(t.start.getDate()-1);let n=new Date(r);return n.setDate(r.getDate()-6),{start:n,end:r}}])}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__096_llw._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0usaajs._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[93695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},70406,(e,t,s)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},50227,(e,t,s)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,s)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,s)=>{t.exports=e.x("node:os",()=>require("node:os"))},66680,(e,t,s)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},27174,e=>{"use strict";e.i(39587),e.s([])},26996,e=>{"use strict";e.s(["default",0,{name:"@claude-lens/web",version:"1.0.2",private:!0,description:"Local-only dashboard for Claude Code sessions. Reads ~/.claude/projects/*.jsonl and visualizes agent activity.",license:"MIT",scripts:{dev:"next dev -p 3321",build:"next build",start:"next start -p 3321",lint:"eslint",typecheck:"tsc --noEmit",test:"vitest run --passWithNoTests",clean:"rm -rf .next .turbo dist *.tsbuildinfo","test:coverage":"vitest run --passWithNoTests --coverage"},dependencies:{"@claude-lens/entries":"workspace:^","@claude-lens/parser":"workspace:*","@tanstack/react-virtual":"^3.13.23",clsx:"^2.1.1","lucide-react":"^0.468.0",next:"16.2.2",react:"19.2.4","react-dom":"19.2.4","react-markdown":"^10.1.0",recharts:"^2.15.0","remark-gfm":"^4.0.1",zod:"^4.3.6"},devDependencies:{"@tailwindcss/postcss":"^4.1.0","@types/node":"^20.11.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0",eslint:"^9.0.0","eslint-config-next":"16.2.2",tailwindcss:"^4.1.0",typescript:"^5.5.0",vitest:"^2.0.0"}}])},86040,e=>{"use strict";e.i(27174);var t=e.i(36521);let s=/\[request interrupted|interrupted by user/i,r=/rate.?limit|overloaded_error|api error|Error sending message/i,n=/<command-name>(\/[^<\s]+)<\/command-name>(?:[\s\S]*?<command-args>([\s\S]*?)<\/command-args>)?/,o=/<task-notification>/;function i(e){for(let t of e)if(t?.type==="text")return t.text}function a(e){return e<1e3?String(e):e<1e4?(e/1e3).toFixed(1)+"k":e<1e6?Math.round(e/1e3)+"k":e<1e7?(e/1e6).toFixed(2)+"M":(e/1e6).toFixed(1)+"M"}function l(e){if(void 0===e||e<0)return"—";let t=Math.floor(e/1e3),s=Math.floor(t/3600),r=String(Math.floor(t%3600/60)).padStart(2,"0"),n=String(t%60).padStart(2,"0");return`${s}:${r}:${n}`}function u(e){if(void 0===e)return"—";if(e<1e3)return`${e}ms`;let t=Math.round(e/1e3);if(t<60)return`${t}s`;let s=Math.floor(t/60),r=t%60;if(s<60)return r?`${s}m ${r}s`:`${s}m`;let n=Math.floor(s/60),o=s%60;return o?`${n}h ${o}m`:`${n}h`}function p(e,t){if(!e)return"";let s=e.replace(/\s+/g," ").trim();return s.length>t?s.slice(0,t-1)+"…":s}e.s(["summarizeSessionForAI",0,function(e){let d,f=function(e){let a=new Map;for(let t of e){if(!t.messageId)continue;let e=a.get(t.messageId)??[];e.push(t),a.set(t.messageId,e)}let l=e.filter(e=>{if("system"===e.role||"meta"===e.role||"tool-result"===e.role||"agent-thinking"===e.role)return!1;if("user"===e.role){let s=i(e.blocks)??"";if(0===e.blocks.length||!s.trim())return!1;if(n.test(s)||o.test(s))return!0;if((0,t.isFrameworkInjectedUserInput)(s))return!1}return!0}),u=[];for(let e=0;e<l.length;e++){let t=l[e];if("tool-call"===t.role){let t=e;for(;e+1<l.length&&"tool-call"===l[e+1].role;)e++;let s=l.slice(t,e+1),r=[],n=new Map;for(let e of s){let t=e.toolName??"tool";n.has(t)||r.push(t),n.set(t,(n.get(t)??0)+1)}let o=r.map(e=>({name:e,count:n.get(e)??1}));u.push({kind:"tool-group",toolNames:o,count:s.length,events:s,tOffsetMs:s[0].tOffsetMs,gapMs:s[0].gapMs});continue}if("user"===t.role){let e=i(t.blocks)??"",r=function(e){if(!o.test(e))return null;let t=t=>{let s=e.match(RegExp(`<${t}>([\\s\\S]*?)<\\/${t}>`));return s?s[1].trim():void 0},s=(t("status")??"").toLowerCase(),r="unknown";return"success"===s||"ok"===s||"done"===s||"completed"===s?r="success":"failed"===s||"error"===s||"fail"===s?r="failed":("running"===s||"in_progress"===s)&&(r="running"),{status:r,summary:t("summary")??"Background task notification",taskId:t("task-id"),toolUseId:t("tool-use-id"),outputFile:t("output-file")}}(e);if(r){u.push({kind:"task-notification",event:t,status:r.status,summary:r.summary,taskId:r.taskId,toolUseId:r.toolUseId,outputFile:r.outputFile,tOffsetMs:t.tOffsetMs,gapMs:t.gapMs});continue}if(s.test(e)){u.push({kind:"interrupt",event:t,tOffsetMs:t.tOffsetMs,gapMs:t.gapMs});continue}let a=e.match(n);if(a){let e=a[1],s=(a[2]??"").trim(),r=s?`${e} ${s}`:e;u.push({kind:"user",event:t,displayPreview:r,displayBlocks:[{type:"text",text:r}],tOffsetMs:t.tOffsetMs,gapMs:t.gapMs});continue}u.push({kind:"user",event:t,tOffsetMs:t.tOffsetMs,gapMs:t.gapMs});continue}if("agent"===t.role){let e=i(t.blocks)??"";if(function(e){if(!e.usage)return!1;let t=e.usage;return 0===t.input&&0===t.output&&0===t.cacheRead&&0===t.cacheWrite}(t)){u.push({kind:"model",event:t,tOffsetMs:t.tOffsetMs,gapMs:t.gapMs}),r.test(e)&&e.length<500&&u.push({kind:"error",event:t,message:e,tOffsetMs:t.tOffsetMs,gapMs:0});continue}if(r.test(e)&&e.length<500){u.push({kind:"error",event:t,message:e,tOffsetMs:t.tOffsetMs,gapMs:t.gapMs});continue}let s=t.messageId?a.get(t.messageId)??[t]:[t];u.push({kind:"agent",event:t,groupedEvents:s,tOffsetMs:t.tOffsetMs,gapMs:t.gapMs});continue}}return u}(e.events),c=function(e){let t=[],s=[],r=null,n=()=>{let e,n;if(0===s.length)return;let o=0,i=0,a=0,l=new Map,u=new Set,p={input:0,output:0,cacheRead:0,cacheWrite:0};for(let t=0;t<s.length;t++){let r=s[t];if("agent"===r.kind){o++,void 0===e&&(e=t);let s=r.event.messageId,n=r.event.usage;s&&!u.has(s)&&n&&(u.add(s),p.input+=n.input,p.output+=n.output,p.cacheRead+=n.cacheRead,p.cacheWrite+=n.cacheWrite)}else if("tool-group"===r.kind)for(let e of(i+=r.count,r.toolNames))l.set(e.name,(l.get(e.name)??0)+e.count);else"error"===r.kind&&a++}for(let e=s.length-1;e>=0;e--){if("agent"!==s[e].kind)continue;let t=s[e-1];if(t?.kind!=="task-notification"){n=e;break}}if(void 0===n){for(let e=s.length-1;e>=0;e--)if("agent"===s[e].kind){n=e;break}}let d=void 0!==e&&"agent"===s[e].kind?s[e].event.preview:void 0,f=void 0!==n&&"agent"===s[n].kind?s[n].event.preview:void 0,c=Array.from(l.entries()).sort((e,t)=>t[1]-e[1]).map(([e,t])=>({name:e,count:t})),m=s[0],g=s[s.length-1],h=r?.tOffsetMs??m.tOffsetMs,v=g.tOffsetMs;t.push({kind:"turn",rows:s,firstPrimaryIndex:"tool-group"===m.kind?m.events[0].index:m.event.index,tOffsetMs:h,durationMs:void 0!==h&&void 0!==v&&v>=h?v-h:void 0,summary:{agentMessages:o,toolCalls:i,errors:a,firstAgentPreview:d,finalAgentPreview:f,firstAgentIndex:e,finalAgentIndex:n,toolNames:c,totalTokens:p}}),s=[]};for(let o of e)"user"===o.kind||"interrupt"===o.kind?(n(),t.push(o),r=o):s.push(o);return n(),t}(f),m=e.totalUsage.input+e.totalUsage.cacheRead+e.totalUsage.cacheWrite,g=e.totalUsage.cacheRead+e.totalUsage.cacheWrite,h=new Map;for(let e of f)if("tool-group"===e.kind)for(let t of e.toolNames)h.set(t.name,(h.get(t.name)??0)+t.count);let v=Array.from(h.entries()).sort((e,t)=>t[1]-e[1]).slice(0,8).map(([e,t])=>`${e}\xd7${t}`).join(", "),k=f.find(e=>"user"===e.kind&&!e.event.preview.startsWith("<command-name>")&&!e.event.preview.startsWith("Base directory for this skill:")),x=k?.kind==="user"?k.displayBlocks?.[0]?.type==="text"?k.displayBlocks[0].text:(d=k.event.blocks.find(e=>e?.type==="text"),d?.text??k.event.preview):"",M=f.filter(e=>"error"===e.kind),$=M.length>0?`${M.length} errors, first: "${p(M[0].message,160)}"`:"none",y=[],w=e.durationMs??0;for(let t of e.events){if("tool-call"!==t.role||"Bash"!==t.toolName)continue;let e=t.blocks.find(e=>e&&"tool_use"===e.type),s="string"==typeof e?.input?.command?e.input.command:"";if(!/gh\s+pr\s+create\b/i.test(s))continue;let r=s.match(/--title\s+["']([^"']+)["']/),n=r?.[1]??s.replace(/^gh pr create /,"").slice(0,120),o=w>0&&void 0!==t.tOffsetMs?Math.round(t.tOffsetMs/w*100):0;y.push({offsetPct:o,titleOrCmd:n})}let O="";for(let e=c.length-1;e>=0;e--){let t=c[e];if("turn"!==t.kind)continue;let s=t.summary.finalAgentIndex;if(void 0!==s){let e=t.rows[s];if(e?.kind==="agent"){let t=e.event.blocks.find(e=>e&&"text"===e.type);O=t?.text??e.event.preview;break}}}let b=[];for(let e of c){if(b.length>=40){b.push({offset:"...",line:`(+${c.length-b.length} more rows)`});break}if("user"===e.kind){let t=p(function(e){switch(e.kind){case"user":return e.displayPreview??e.event.preview;case"agent":return e.event.preview;case"tool-group":return e.toolNames.slice(0,4).map(e=>e.count>1?`${e.name} \xd7${e.count}`:e.name).join(", ");case"interrupt":return"[interrupted]";case"model":return"[zero-usage response]";case"error":return`ERROR: ${e.message}`;case"task-notification":return`BG task ${e.status}: ${e.summary}`;default:return""}}(e),180);t.startsWith("<command-name>")||b.push({offset:l(e.tOffsetMs),line:`USER: ${t}`})}else if("turn"===e.kind){let t=e.summary,s=t.firstAgentPreview?p(t.firstAgentPreview,180):"",r=t.finalAgentPreview?p(t.finalAgentPreview,180):"",n=s&&r&&s===r,o=t.toolNames.slice(0,3).map(e=>e.count>1?`${e.name}\xd7${e.count}`:e.name).join(", "),i=`${t.agentMessages} msg, ${t.toolCalls} tools${t.errors>0?`, ${t.errors} err`:""}`,a=n||!r?s:`${s} → ${r}`;b.push({offset:l(e.tOffsetMs),line:`TURN (${i}${o?`, ${o}`:""}): ${a}`})}else"interrupt"===e.kind&&b.push({offset:l(e.tOffsetMs),line:"INTERRUPT"})}let I=[];for(let t of(I.push(`# Session ${e.id}`),I.push(`project: ${e.projectName}`),e.model&&I.push(`model: ${e.model}`),I.push(`duration: ${u(e.durationMs)} | active: ${u(e.airTimeMs??e.durationMs)}`),I.push(`events: ${e.eventCount} | tokens: ${a(m)} in / ${a(e.totalUsage.output)} out${g>0?` (+${a(g)} cached)`:""}`),I.push(`tool calls: ${e.toolCallCount??0}${v?` (${v})`:""}`),I.push(`turns: ${e.turnCount??0}`),e.firstTimestamp&&I.push(`started: ${e.firstTimestamp}`),I.push(""),x&&(I.push("## First user message"),I.push(p(x,1200)),I.push("")),I.push("## Timeline"),b))I.push(`[${t.offset}] ${t.line}`);if(I.push(""),y.length>0){for(let e of(I.push("## PRs shipped"),y))I.push(`- at ${e.offsetPct}% into session: ${p(e.titleOrCmd,160)}`);I.push("")}return I.push("## Errors encountered"),I.push($),I.push(""),O&&(I.push("## Final agent message"),I.push(p(O,800))),I.join("\n")}],86040)}];
1
+ module.exports=[50227,(e,t,s)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,s)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,s)=>{t.exports=e.x("node:os",()=>require("node:os"))},66680,(e,t,s)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},18622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},70406,(e,t,s)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},27174,e=>{"use strict";e.i(39587),e.s([])},26996,e=>{"use strict";e.s(["default",0,{name:"@claude-lens/web",version:"1.0.3",private:!0,description:"Local-only dashboard for Claude Code sessions. Reads ~/.claude/projects/*.jsonl and visualizes agent activity.",license:"MIT",scripts:{dev:"next dev -p 3321",build:"next build",start:"next start -p 3321",lint:"eslint",typecheck:"tsc --noEmit",test:"vitest run --passWithNoTests",clean:"rm -rf .next .turbo dist *.tsbuildinfo","test:coverage":"vitest run --passWithNoTests --coverage"},dependencies:{"@claude-lens/entries":"workspace:^","@claude-lens/parser":"workspace:*","@tanstack/react-virtual":"^3.13.23",clsx:"^2.1.1","lucide-react":"^0.468.0",next:"16.2.2",react:"19.2.4","react-dom":"19.2.4","react-markdown":"^10.1.0",recharts:"^2.15.0","remark-gfm":"^4.0.1",zod:"^4.3.6"},devDependencies:{"@tailwindcss/postcss":"^4.1.0","@types/node":"^20.11.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0",eslint:"^9.0.0","eslint-config-next":"16.2.2",tailwindcss:"^4.1.0",typescript:"^5.5.0",vitest:"^2.0.0"}}])},86040,e=>{"use strict";e.i(27174);var t=e.i(36521);let s=/\[request interrupted|interrupted by user/i,r=/rate.?limit|overloaded_error|api error|Error sending message/i,n=/<command-name>(\/[^<\s]+)<\/command-name>(?:[\s\S]*?<command-args>([\s\S]*?)<\/command-args>)?/,o=/<task-notification>/;function i(e){for(let t of e)if(t?.type==="text")return t.text}function a(e){return e<1e3?String(e):e<1e4?(e/1e3).toFixed(1)+"k":e<1e6?Math.round(e/1e3)+"k":e<1e7?(e/1e6).toFixed(2)+"M":(e/1e6).toFixed(1)+"M"}function l(e){if(void 0===e||e<0)return"—";let t=Math.floor(e/1e3),s=Math.floor(t/3600),r=String(Math.floor(t%3600/60)).padStart(2,"0"),n=String(t%60).padStart(2,"0");return`${s}:${r}:${n}`}function u(e){if(void 0===e)return"—";if(e<1e3)return`${e}ms`;let t=Math.round(e/1e3);if(t<60)return`${t}s`;let s=Math.floor(t/60),r=t%60;if(s<60)return r?`${s}m ${r}s`:`${s}m`;let n=Math.floor(s/60),o=s%60;return o?`${n}h ${o}m`:`${n}h`}function p(e,t){if(!e)return"";let s=e.replace(/\s+/g," ").trim();return s.length>t?s.slice(0,t-1)+"…":s}e.s(["summarizeSessionForAI",0,function(e){let d,f=function(e){let a=new Map;for(let t of e){if(!t.messageId)continue;let e=a.get(t.messageId)??[];e.push(t),a.set(t.messageId,e)}let l=e.filter(e=>{if("system"===e.role||"meta"===e.role||"tool-result"===e.role||"agent-thinking"===e.role)return!1;if("user"===e.role){let s=i(e.blocks)??"";if(0===e.blocks.length||!s.trim())return!1;if(n.test(s)||o.test(s))return!0;if((0,t.isFrameworkInjectedUserInput)(s))return!1}return!0}),u=[];for(let e=0;e<l.length;e++){let t=l[e];if("tool-call"===t.role){let t=e;for(;e+1<l.length&&"tool-call"===l[e+1].role;)e++;let s=l.slice(t,e+1),r=[],n=new Map;for(let e of s){let t=e.toolName??"tool";n.has(t)||r.push(t),n.set(t,(n.get(t)??0)+1)}let o=r.map(e=>({name:e,count:n.get(e)??1}));u.push({kind:"tool-group",toolNames:o,count:s.length,events:s,tOffsetMs:s[0].tOffsetMs,gapMs:s[0].gapMs});continue}if("user"===t.role){let e=i(t.blocks)??"",r=function(e){if(!o.test(e))return null;let t=t=>{let s=e.match(RegExp(`<${t}>([\\s\\S]*?)<\\/${t}>`));return s?s[1].trim():void 0},s=(t("status")??"").toLowerCase(),r="unknown";return"success"===s||"ok"===s||"done"===s||"completed"===s?r="success":"failed"===s||"error"===s||"fail"===s?r="failed":("running"===s||"in_progress"===s)&&(r="running"),{status:r,summary:t("summary")??"Background task notification",taskId:t("task-id"),toolUseId:t("tool-use-id"),outputFile:t("output-file")}}(e);if(r){u.push({kind:"task-notification",event:t,status:r.status,summary:r.summary,taskId:r.taskId,toolUseId:r.toolUseId,outputFile:r.outputFile,tOffsetMs:t.tOffsetMs,gapMs:t.gapMs});continue}if(s.test(e)){u.push({kind:"interrupt",event:t,tOffsetMs:t.tOffsetMs,gapMs:t.gapMs});continue}let a=e.match(n);if(a){let e=a[1],s=(a[2]??"").trim(),r=s?`${e} ${s}`:e;u.push({kind:"user",event:t,displayPreview:r,displayBlocks:[{type:"text",text:r}],tOffsetMs:t.tOffsetMs,gapMs:t.gapMs});continue}u.push({kind:"user",event:t,tOffsetMs:t.tOffsetMs,gapMs:t.gapMs});continue}if("agent"===t.role){let e=i(t.blocks)??"";if(function(e){if(!e.usage)return!1;let t=e.usage;return 0===t.input&&0===t.output&&0===t.cacheRead&&0===t.cacheWrite}(t)){u.push({kind:"model",event:t,tOffsetMs:t.tOffsetMs,gapMs:t.gapMs}),r.test(e)&&e.length<500&&u.push({kind:"error",event:t,message:e,tOffsetMs:t.tOffsetMs,gapMs:0});continue}if(r.test(e)&&e.length<500){u.push({kind:"error",event:t,message:e,tOffsetMs:t.tOffsetMs,gapMs:t.gapMs});continue}let s=t.messageId?a.get(t.messageId)??[t]:[t];u.push({kind:"agent",event:t,groupedEvents:s,tOffsetMs:t.tOffsetMs,gapMs:t.gapMs});continue}}return u}(e.events),c=function(e){let t=[],s=[],r=null,n=()=>{let e,n;if(0===s.length)return;let o=0,i=0,a=0,l=new Map,u=new Set,p={input:0,output:0,cacheRead:0,cacheWrite:0};for(let t=0;t<s.length;t++){let r=s[t];if("agent"===r.kind){o++,void 0===e&&(e=t);let s=r.event.messageId,n=r.event.usage;s&&!u.has(s)&&n&&(u.add(s),p.input+=n.input,p.output+=n.output,p.cacheRead+=n.cacheRead,p.cacheWrite+=n.cacheWrite)}else if("tool-group"===r.kind)for(let e of(i+=r.count,r.toolNames))l.set(e.name,(l.get(e.name)??0)+e.count);else"error"===r.kind&&a++}for(let e=s.length-1;e>=0;e--){if("agent"!==s[e].kind)continue;let t=s[e-1];if(t?.kind!=="task-notification"){n=e;break}}if(void 0===n){for(let e=s.length-1;e>=0;e--)if("agent"===s[e].kind){n=e;break}}let d=void 0!==e&&"agent"===s[e].kind?s[e].event.preview:void 0,f=void 0!==n&&"agent"===s[n].kind?s[n].event.preview:void 0,c=Array.from(l.entries()).sort((e,t)=>t[1]-e[1]).map(([e,t])=>({name:e,count:t})),m=s[0],g=s[s.length-1],h=r?.tOffsetMs??m.tOffsetMs,v=g.tOffsetMs;t.push({kind:"turn",rows:s,firstPrimaryIndex:"tool-group"===m.kind?m.events[0].index:m.event.index,tOffsetMs:h,durationMs:void 0!==h&&void 0!==v&&v>=h?v-h:void 0,summary:{agentMessages:o,toolCalls:i,errors:a,firstAgentPreview:d,finalAgentPreview:f,firstAgentIndex:e,finalAgentIndex:n,toolNames:c,totalTokens:p}}),s=[]};for(let o of e)"user"===o.kind||"interrupt"===o.kind?(n(),t.push(o),r=o):s.push(o);return n(),t}(f),m=e.totalUsage.input+e.totalUsage.cacheRead+e.totalUsage.cacheWrite,g=e.totalUsage.cacheRead+e.totalUsage.cacheWrite,h=new Map;for(let e of f)if("tool-group"===e.kind)for(let t of e.toolNames)h.set(t.name,(h.get(t.name)??0)+t.count);let v=Array.from(h.entries()).sort((e,t)=>t[1]-e[1]).slice(0,8).map(([e,t])=>`${e}\xd7${t}`).join(", "),k=f.find(e=>"user"===e.kind&&!e.event.preview.startsWith("<command-name>")&&!e.event.preview.startsWith("Base directory for this skill:")),x=k?.kind==="user"?k.displayBlocks?.[0]?.type==="text"?k.displayBlocks[0].text:(d=k.event.blocks.find(e=>e?.type==="text"),d?.text??k.event.preview):"",M=f.filter(e=>"error"===e.kind),$=M.length>0?`${M.length} errors, first: "${p(M[0].message,160)}"`:"none",y=[],w=e.durationMs??0;for(let t of e.events){if("tool-call"!==t.role||"Bash"!==t.toolName)continue;let e=t.blocks.find(e=>e&&"tool_use"===e.type),s="string"==typeof e?.input?.command?e.input.command:"";if(!/gh\s+pr\s+create\b/i.test(s))continue;let r=s.match(/--title\s+["']([^"']+)["']/),n=r?.[1]??s.replace(/^gh pr create /,"").slice(0,120),o=w>0&&void 0!==t.tOffsetMs?Math.round(t.tOffsetMs/w*100):0;y.push({offsetPct:o,titleOrCmd:n})}let O="";for(let e=c.length-1;e>=0;e--){let t=c[e];if("turn"!==t.kind)continue;let s=t.summary.finalAgentIndex;if(void 0!==s){let e=t.rows[s];if(e?.kind==="agent"){let t=e.event.blocks.find(e=>e&&"text"===e.type);O=t?.text??e.event.preview;break}}}let b=[];for(let e of c){if(b.length>=40){b.push({offset:"...",line:`(+${c.length-b.length} more rows)`});break}if("user"===e.kind){let t=p(function(e){switch(e.kind){case"user":return e.displayPreview??e.event.preview;case"agent":return e.event.preview;case"tool-group":return e.toolNames.slice(0,4).map(e=>e.count>1?`${e.name} \xd7${e.count}`:e.name).join(", ");case"interrupt":return"[interrupted]";case"model":return"[zero-usage response]";case"error":return`ERROR: ${e.message}`;case"task-notification":return`BG task ${e.status}: ${e.summary}`;default:return""}}(e),180);t.startsWith("<command-name>")||b.push({offset:l(e.tOffsetMs),line:`USER: ${t}`})}else if("turn"===e.kind){let t=e.summary,s=t.firstAgentPreview?p(t.firstAgentPreview,180):"",r=t.finalAgentPreview?p(t.finalAgentPreview,180):"",n=s&&r&&s===r,o=t.toolNames.slice(0,3).map(e=>e.count>1?`${e.name}\xd7${e.count}`:e.name).join(", "),i=`${t.agentMessages} msg, ${t.toolCalls} tools${t.errors>0?`, ${t.errors} err`:""}`,a=n||!r?s:`${s} → ${r}`;b.push({offset:l(e.tOffsetMs),line:`TURN (${i}${o?`, ${o}`:""}): ${a}`})}else"interrupt"===e.kind&&b.push({offset:l(e.tOffsetMs),line:"INTERRUPT"})}let I=[];for(let t of(I.push(`# Session ${e.id}`),I.push(`project: ${e.projectName}`),e.model&&I.push(`model: ${e.model}`),I.push(`duration: ${u(e.durationMs)} | active: ${u(e.airTimeMs??e.durationMs)}`),I.push(`events: ${e.eventCount} | tokens: ${a(m)} in / ${a(e.totalUsage.output)} out${g>0?` (+${a(g)} cached)`:""}`),I.push(`tool calls: ${e.toolCallCount??0}${v?` (${v})`:""}`),I.push(`turns: ${e.turnCount??0}`),e.firstTimestamp&&I.push(`started: ${e.firstTimestamp}`),I.push(""),x&&(I.push("## First user message"),I.push(p(x,1200)),I.push("")),I.push("## Timeline"),b))I.push(`[${t.offset}] ${t.line}`);if(I.push(""),y.length>0){for(let e of(I.push("## PRs shipped"),y))I.push(`- at ${e.offsetPct}% into session: ${p(e.titleOrCmd,160)}`);I.push("")}return I.push("## Errors encountered"),I.push($),I.push(""),O&&(I.push("## Final agent message"),I.push(p(O,800))),I.join("\n")}],86040)}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__06irs4z._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0zyh554._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[93695,(e,t,a)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,a)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},70406,(e,t,a)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},24725,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},50227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,a)=>{t.exports=e.x("node:os",()=>require("node:os"))},66680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},74533,(e,t,a)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},27174,e=>{"use strict";e.i(39587),e.s([])},30212,e=>{"use strict";var t=e.i(79357);function a(e){return(0,t.toLocalDay)(e.getTime())}function r(e=new Date){let t=new Date(e.getFullYear(),e.getMonth(),e.getDate()),a=t.getDay(),n=new Date(t);n.setDate(t.getDate()-(a+6)%7);let s=new Date(n);return s.setDate(n.getDate()+6),{start:n,end:s}}e.s(["aggregateConcurrency",0,function(e,t){let r,n=function(e,t){let a=[],r=new Date(e.getFullYear(),e.getMonth(),e.getDate()),n=new Date(t.getFullYear(),t.getMonth(),t.getDate());for(;r.getTime()<=n.getTime();)a.push(new Date(r)),r.setDate(r.getDate()+1);return a}(t.start,t.end),s=new Map;for(let e of n)s.set(a(e),{peak:0,has_cross_project:!1});for(let t of e){let e=a(new Date(t.startMs)),r=s.get(e);r&&(t.peak>r.peak&&(r.peak=t.peak),t.crossProject&&(r.has_cross_project=!0))}let o=n.map(e=>{let t=a(e),r=s.get(t);return{date:t,peak:r.peak,has_cross_project:r.has_cross_project}}),i=0,l=0,u=0;for(let e of o)e.peak>i&&(i=e.peak,r=e.date),e.peak>=3&&l++,e.has_cross_project&&u++;return{by_day:o,peak:i,peak_day:r,multi_agent_days:l,cross_project_days:u}},"calendarMonth",0,function(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),1),end:new Date(e.getFullYear(),e.getMonth()+1,0)}},"calendarWeek",0,r,"priorCalendarMonth",0,function(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()-1,1),end:new Date(e.getFullYear(),e.getMonth(),0)}},"priorCalendarWeek",0,function(e=new Date){let t=r(e),a=new Date(t.start);a.setDate(t.start.getDate()-1);let n=new Date(a);return n.setDate(a.getDate()-6),{start:n,end:a}}])},45571,e=>{"use strict";var t=e.i(47909),a=e.i(74017),r=e.i(96250),n=e.i(59756),s=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),g=e.i(74838),f=e.i(10372),x=e.i(93695);e.i(52474);var v=e.i(220),w=e.i(89171);e.i(82111);var R=e.i(56614),m=e.i(78325),y=e.i(83740);let k=y.z.object({ai_features:y.z.object({enabled:y.z.boolean().optional(),autoBackfillLastWeek:y.z.boolean().optional(),autoBackfillYesterday:y.z.boolean().optional()}).refine(e=>Object.keys(e).length>0,{message:"ai_features must include at least one field"})});async function D(){return w.NextResponse.json({settings:(0,R.readSettings)(),month_to_date_spend_usd:(0,m.monthToDateSpend)()})}async function _(e){let t;try{t=await e.json()}catch{return w.NextResponse.json({error:"invalid JSON body"},{status:400})}let a=k.safeParse(t);if(!a.success)return w.NextResponse.json({error:"schema validation failed",issues:a.error.issues},{status:400});let r=(0,R.readSettings)(),n=a.data.ai_features;return(0,R.writeSettings)({ai_features:{...r.ai_features,...void 0!==n.enabled?{enabled:n.enabled}:{},...void 0!==n.autoBackfillLastWeek?{autoBackfillLastWeek:n.autoBackfillLastWeek}:{},...void 0!==n.autoBackfillYesterday?{autoBackfillYesterday:n.autoBackfillYesterday}:{}}}),w.NextResponse.json({ok:!0})}e.s(["GET",0,D,"PUT",0,_,"runtime",0,"nodejs"],63405);var E=e.i(63405);let b=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/settings/route",pathname:"/api/settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/settings/route.ts",nextConfigOutput:"standalone",userland:E,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:j,serverHooks:A}=b;async function T(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),b.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/settings/route";w=w.replace(/\/index$/,"")||"/";let R=await b.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:m,params:y,nextConfig:k,parsedUrl:D,isDraftMode:_,prerenderManifest:E,routerServerContext:C,isOnDemandRevalidate:j,revalidateOnlyGenerated:A,resolvedPathname:T,clientReferenceManifest:N,serverActionsManifest:q}=R,P=(0,i.normalizeAppPath)(w),S=!!(E.dynamicRoutes[P]||E.routes[T]),M=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,D,!1):t.end("This page could not be found"),null);if(S&&!_){let e=!!E.routes[T],t=E.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(k.adapterPath)return await M();throw new x.NoFallbackError}}let O=null;!S||b.isDev||_||(O="/index"===(O=T)?"/":O);let H=!0===b.isDev||!S,U=S&&!H;q&&N&&(0,o.setManifestsSingleton)({page:w,clientReferenceManifest:N,serverActionsManifest:q});let I=e.method||"GET",F=(0,s.getTracer)(),B=F.getActiveScopeSpan(),Y=!!(null==C?void 0:C.isWrappedByNextServer),L=!!(0,n.getRequestMeta)(e,"minimalMode"),W=(0,n.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,k,E,L);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let $={params:y,previewProps:E.preview,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:H,incrementalCache:W,cacheLifeProfiles:k.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>b.onRequestError(e,t,r,n,C)},sharedContext:{buildId:m}},K=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(K,(0,u.signalFromNodeResponse)(t));try{let n,o=async e=>b.handle(G,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=F.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${I} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${I} ${w}`)}),i=async n=>{var s,i;let l=async({previousCacheEntry:a})=>{try{if(!L&&j&&A&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(n);e.fetchMetrics=$.renderOpts.fetchMetrics;let i=$.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let l=$.renderOpts.collectedTags;if(!S)return await (0,c.sendResponse)(K,z,s,$.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,r=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:j})},!1,C),t}},u=await b.handleResponse({req:e,nextConfig:k,cacheKey:O,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:A,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:L});if(!S)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(i=u.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",j?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return L&&S||d.delete(f.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(K,z,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};Y&&B?await i(B):(n=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${I} ${w}`,kind:s.SpanKind.SERVER,attributes:{"http.method":I,"http.target":e.url}},i),void 0,!Y))}catch(t){if(t instanceof x.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:j})},!1,C),S)throw t;return await (0,c.sendResponse)(K,z,new Response(null,{status:500})),null}}e.s(["handler",0,T,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:j})},"routeModule",0,b,"serverHooks",0,A,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,j],45571)}];
1
+ module.exports=[24725,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},50227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,a)=>{t.exports=e.x("node:os",()=>require("node:os"))},66680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},74533,(e,t,a)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},18622,(e,t,a)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},70406,(e,t,a)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,a)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},27174,e=>{"use strict";e.i(39587),e.s([])},30212,e=>{"use strict";var t=e.i(79357);function a(e){return(0,t.toLocalDay)(e.getTime())}function r(e=new Date){let t=new Date(e.getFullYear(),e.getMonth(),e.getDate()),a=t.getDay(),n=new Date(t);n.setDate(t.getDate()-(a+6)%7);let s=new Date(n);return s.setDate(n.getDate()+6),{start:n,end:s}}e.s(["aggregateConcurrency",0,function(e,t){let r,n=function(e,t){let a=[],r=new Date(e.getFullYear(),e.getMonth(),e.getDate()),n=new Date(t.getFullYear(),t.getMonth(),t.getDate());for(;r.getTime()<=n.getTime();)a.push(new Date(r)),r.setDate(r.getDate()+1);return a}(t.start,t.end),s=new Map;for(let e of n)s.set(a(e),{peak:0,has_cross_project:!1});for(let t of e){let e=a(new Date(t.startMs)),r=s.get(e);r&&(t.peak>r.peak&&(r.peak=t.peak),t.crossProject&&(r.has_cross_project=!0))}let o=n.map(e=>{let t=a(e),r=s.get(t);return{date:t,peak:r.peak,has_cross_project:r.has_cross_project}}),i=0,l=0,u=0;for(let e of o)e.peak>i&&(i=e.peak,r=e.date),e.peak>=3&&l++,e.has_cross_project&&u++;return{by_day:o,peak:i,peak_day:r,multi_agent_days:l,cross_project_days:u}},"calendarMonth",0,function(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),1),end:new Date(e.getFullYear(),e.getMonth()+1,0)}},"calendarWeek",0,r,"priorCalendarMonth",0,function(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()-1,1),end:new Date(e.getFullYear(),e.getMonth(),0)}},"priorCalendarWeek",0,function(e=new Date){let t=r(e),a=new Date(t.start);a.setDate(t.start.getDate()-1);let n=new Date(a);return n.setDate(a.getDate()-6),{start:n,end:a}}])},45571,e=>{"use strict";var t=e.i(47909),a=e.i(74017),r=e.i(96250),n=e.i(59756),s=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),g=e.i(74838),f=e.i(10372),x=e.i(93695);e.i(52474);var v=e.i(220),w=e.i(89171);e.i(82111);var R=e.i(56614),m=e.i(78325),y=e.i(83740);let k=y.z.object({ai_features:y.z.object({enabled:y.z.boolean().optional(),autoBackfillLastWeek:y.z.boolean().optional(),autoBackfillYesterday:y.z.boolean().optional()}).refine(e=>Object.keys(e).length>0,{message:"ai_features must include at least one field"})});async function D(){return w.NextResponse.json({settings:(0,R.readSettings)(),month_to_date_spend_usd:(0,m.monthToDateSpend)()})}async function _(e){let t;try{t=await e.json()}catch{return w.NextResponse.json({error:"invalid JSON body"},{status:400})}let a=k.safeParse(t);if(!a.success)return w.NextResponse.json({error:"schema validation failed",issues:a.error.issues},{status:400});let r=(0,R.readSettings)(),n=a.data.ai_features;return(0,R.writeSettings)({ai_features:{...r.ai_features,...void 0!==n.enabled?{enabled:n.enabled}:{},...void 0!==n.autoBackfillLastWeek?{autoBackfillLastWeek:n.autoBackfillLastWeek}:{},...void 0!==n.autoBackfillYesterday?{autoBackfillYesterday:n.autoBackfillYesterday}:{}}}),w.NextResponse.json({ok:!0})}e.s(["GET",0,D,"PUT",0,_,"runtime",0,"nodejs"],63405);var E=e.i(63405);let b=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/settings/route",pathname:"/api/settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/settings/route.ts",nextConfigOutput:"standalone",userland:E,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:j,serverHooks:A}=b;async function T(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),b.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/settings/route";w=w.replace(/\/index$/,"")||"/";let R=await b.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:m,params:y,nextConfig:k,parsedUrl:D,isDraftMode:_,prerenderManifest:E,routerServerContext:C,isOnDemandRevalidate:j,revalidateOnlyGenerated:A,resolvedPathname:T,clientReferenceManifest:N,serverActionsManifest:q}=R,P=(0,i.normalizeAppPath)(w),S=!!(E.dynamicRoutes[P]||E.routes[T]),M=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,D,!1):t.end("This page could not be found"),null);if(S&&!_){let e=!!E.routes[T],t=E.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(k.adapterPath)return await M();throw new x.NoFallbackError}}let O=null;!S||b.isDev||_||(O="/index"===(O=T)?"/":O);let H=!0===b.isDev||!S,U=S&&!H;q&&N&&(0,o.setManifestsSingleton)({page:w,clientReferenceManifest:N,serverActionsManifest:q});let I=e.method||"GET",F=(0,s.getTracer)(),B=F.getActiveScopeSpan(),Y=!!(null==C?void 0:C.isWrappedByNextServer),L=!!(0,n.getRequestMeta)(e,"minimalMode"),W=(0,n.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,k,E,L);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let $={params:y,previewProps:E.preview,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:H,incrementalCache:W,cacheLifeProfiles:k.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>b.onRequestError(e,t,r,n,C)},sharedContext:{buildId:m}},K=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(K,(0,u.signalFromNodeResponse)(t));try{let n,o=async e=>b.handle(G,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=F.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${I} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${I} ${w}`)}),i=async n=>{var s,i;let l=async({previousCacheEntry:a})=>{try{if(!L&&j&&A&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(n);e.fetchMetrics=$.renderOpts.fetchMetrics;let i=$.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let l=$.renderOpts.collectedTags;if(!S)return await (0,c.sendResponse)(K,z,s,$.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,r=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:j})},!1,C),t}},u=await b.handleResponse({req:e,nextConfig:k,cacheKey:O,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:A,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:L});if(!S)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(i=u.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",j?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return L&&S||d.delete(f.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(K,z,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};Y&&B?await i(B):(n=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${I} ${w}`,kind:s.SpanKind.SERVER,attributes:{"http.method":I,"http.target":e.url}},i),void 0,!Y))}catch(t){if(t instanceof x.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:j})},!1,C),S)throw t;return await (0,c.sendResponse)(K,z,new Response(null,{status:500})),null}}e.s(["handler",0,T,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:j})},"routeModule",0,b,"serverHooks",0,A,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,j],45571)}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0gvw6dk._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0~4wgaf._.js.map