agent-log-viewer 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/standalone/.next/BUILD_ID +1 -1
- package/dist/standalone/.next/app-path-routes-manifest.json +5 -5
- package/dist/standalone/.next/build-manifest.json +2 -2
- package/dist/standalone/.next/prerender-manifest.json +3 -3
- package/dist/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/app/_global-error.html +1 -1
- package/dist/standalone/.next/server/app/_global-error.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/app/_not-found.html +1 -1
- package/dist/standalone/.next/server/app/_not-found.rsc +2 -2
- package/dist/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/api/files/route.js +1 -1
- package/dist/standalone/.next/server/app/api/inbox/route.js +2 -1
- package/dist/standalone/.next/server/app/api/limits/route.js +2 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/route.js +2 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/route.js +2 -1
- package/dist/standalone/.next/server/app/api/transcribe/route.js +2 -1
- package/dist/standalone/.next/server/app/api/transcribe/token/route.js +2 -1
- package/dist/standalone/.next/server/app/index.html +1 -1
- package/dist/standalone/.next/server/app/index.rsc +3 -3
- package/dist/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/dist/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/page.js +2 -2
- package/dist/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/app-paths-manifest.json +5 -5
- package/dist/standalone/.next/server/chunks/51.js +2 -2
- package/dist/standalone/.next/server/chunks/628.js +2 -1
- package/dist/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/dist/standalone/.next/server/pages/404.html +1 -1
- package/dist/standalone/.next/server/pages/500.html +1 -1
- package/dist/standalone/.next/server/server-reference-manifest.json +1 -1
- package/dist/standalone/.next/static/chunks/app/page-c6746d8aedb3bb25.js +2 -0
- package/dist/standalone/.next/static/css/814718514cf80abf.css +1 -0
- package/dist/standalone/package.json +1 -1
- package/package.json +1 -1
- package/dist/standalone/.next/static/chunks/app/page-f48448e03fac75b1.js +0 -2
- package/dist/standalone/.next/static/css/543219aee607c693.css +0 -1
- /package/dist/standalone/.next/static/{_Dl3LKxoOqqIiQ3cL5oOx → GpFv4wOFo4Yel9NcevkIK}/_buildManifest.js +0 -0
- /package/dist/standalone/.next/static/{_Dl3LKxoOqqIiQ3cL5oOx → GpFv4wOFo4Yel9NcevkIK}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=635,a.ids=[635],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21153:(a,b,c)=>{c.d(b,{h6:()=>p,z4:()=>q});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(48161),i=c.n(h),j=c(76760),k=c.n(j);let l=k().join(i().homedir(),".claude","viewer-state"),m=k().join(l,"tasks.json");function n(a){var b;return!(!a||"object"!=typeof a||Array.isArray(a))&&("string"==typeof a.path||null===a.path)&&("number"==typeof a.panePid||null===a.panePid)&&(null===a.panePid||Number.isInteger(a.panePid)&&a.panePid>0)&&("delivered"===(b=a.state)||"failed"===b||"spawning"===b)&&("string"==typeof a.error||null===a.error)&&"string"==typeof a.at}function o(a){var b,c;return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.id&&"string"==typeof a.project&&("inbox"===(b=a.status)||"assigned"===b||"blocked"===b||"done"===b)&&"string"==typeof a.text&&!(!(c=a.pos)||"object"!=typeof c||Array.isArray(c))&&"number"==typeof c.x&&Number.isFinite(c.x)&&"number"==typeof c.y&&Number.isFinite(c.y)&&Array.isArray(a.assignments)&&a.assignments.every(n)&&"string"==typeof a.createdAt&&"string"==typeof a.updatedAt}function p(a=m){let b=function(a){try{return JSON.parse(g().readFileSync(a,"utf8"))}catch{return null}}(a);return Array.isArray(b?.tasks)?b.tasks.filter(o):[]}function q(a,b=m){let c=a(p(b));return c.tasks&&function(a,b=m){let c;g().mkdirSync(k().dirname(b),{recursive:!0}),c=k().join(k().dirname(b),`.${k().basename(b)}.${process.pid}.${e().randomUUID()}.tmp`),g().writeFileSync(c,JSON.stringify({tasks:a},null,2)+"\n","utf8"),g().renameSync(c,b)}(c.tasks,b),c.result}},23396:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>N,patchFetch:()=>M,routeModule:()=>I,serverHooks:()=>L,workAsyncStorage:()=>J,workUnitAsyncStorage:()=>K});var d={};c.r(d),c.d(d,{GET:()=>H,dynamic:()=>G,runtime:()=>F});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(69232),x=c(7378),y=c(98590),z=c(76760),A=c.n(z);function B(a){return!("claude-projects"!==a.root||!a.path.endsWith(".jsonl")||a.path.includes(A().sep+"subagents"+A().sep))&&2===a.name.split(A().sep).length}function C(a,b){let c=new Map(b.map(a=>[a.path,a])),d=c.get(a);if(!d?.parent||d.handoff)return null;let e=c.get(d.parent);return e&&B(d)&&B(e)?e.path:null}var D=c(21153),E=c(46825);let F="nodejs",G="force-dynamic";async function H(){let a=await (0,w.C)(),b=(0,D.z4)(b=>{let c=function(a,b,c={}){let d=!1,e=b.map(b=>{let e=!1,f=b.assignments.map(b=>{let d=function(a,b,c){let d=c.now?.()??new Date().toISOString();if(a.path){let e=function(a,b,c){let d=c??C,e=new Set([a]),f=a,g=null;for(;;){let a=d(f,b);if(!a||e.has(a))return g;g=a,f=a,e.add(f)}}(a.path,b,c.successorForPath);return e&&e!==a.path?{assignment:{...a,path:e,state:"delivered",error:null,at:d},dirty:!0}:{assignment:a,dirty:!1}}if(null!==a.panePid){let e=c.pathForPanePid?.(a.panePid,b)??null;if(e)return{assignment:{...a,path:e,state:"delivered",error:null,at:d},dirty:!0};if(!(c.panePidAlive?.(a.panePid)??!0)&&"failed"!==a.state)return{assignment:{...a,state:"failed",error:"агент не запустився",at:d},dirty:!0}}return{assignment:a,dirty:!1}}(b,a,c);return d.dirty&&(e=!0),d.assignment});return e?(d=!0,{...b,assignments:f,updatedAt:c.now?.()??new Date().toISOString()}):b});return{tasks:d?e:b,dirty:d}}(a,b,{pathForPanePid:(a,b)=>(function(a,b,c){if(!Number.isInteger(b)||b<=0)return null;for(let d of a){if(null===d.pid)continue;let a=new Set;for(let e=d.pid;null!==e&&!a.has(e)&&(a.add(e),!(a.size>15));e=c(e))if(e===b)return d.path}return null})(b,a,x.Ib),panePidAlive:x.pl});return{tasks:c.dirty?c.tasks:void 0,result:c.tasks}});return v.NextResponse.json({files:a,flows:(0,y.mL)(),workflows:(0,E.Ny)(),tasks:b})}let I=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/files/route",pathname:"/api/files",filename:"route",bundlePath:"app/api/files/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/live-log-viewer-next/live-log-viewer-next/src/app/api/files/route.ts",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:J,workUnitAsyncStorage:K,serverHooks:L}=I;function M(){return(0,g.patchFetch)({workAsyncStorage:J,workUnitAsyncStorage:K})}async function N(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),I.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/files/route";"/index"===d&&(d="/");let e=await I.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[H]||A.routes[E]),K=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||I.isDev||z||(L="/index"===(L=E)?"/":L);let M=!0===I.isDev||!J,N=J&&!M;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await I.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>I.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>I.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await I.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),b}},k=await I.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await I.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{a.exports=require("node:os")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[445,813,628,51],()=>b(b.s=23396));module.exports=c})();
|
|
1
|
+
"use strict";(()=>{var a={};a.id=635,a.ids=[635],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21153:(a,b,c)=>{c.d(b,{h6:()=>m,z4:()=>n});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h);let j=(0,c(91724).BQ)("tasks.json");function k(a){var b;return!(!a||"object"!=typeof a||Array.isArray(a))&&("string"==typeof a.path||null===a.path)&&("number"==typeof a.panePid||null===a.panePid)&&(null===a.panePid||Number.isInteger(a.panePid)&&a.panePid>0)&&("delivered"===(b=a.state)||"failed"===b||"spawning"===b)&&("string"==typeof a.error||null===a.error)&&"string"==typeof a.at}function l(a){var b,c;return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.id&&"string"==typeof a.project&&("inbox"===(b=a.status)||"assigned"===b||"blocked"===b||"done"===b)&&"string"==typeof a.text&&!(!(c=a.pos)||"object"!=typeof c||Array.isArray(c))&&"number"==typeof c.x&&Number.isFinite(c.x)&&"number"==typeof c.y&&Number.isFinite(c.y)&&Array.isArray(a.assignments)&&a.assignments.every(k)&&"string"==typeof a.createdAt&&"string"==typeof a.updatedAt}function m(a=j){let b=function(a){try{return JSON.parse(g().readFileSync(a,"utf8"))}catch{return null}}(a);return Array.isArray(b?.tasks)?b.tasks.filter(l):[]}function n(a,b=j){let c=a(m(b));return c.tasks&&function(a,b=j){let c;g().mkdirSync(i().dirname(b),{recursive:!0}),c=i().join(i().dirname(b),`.${i().basename(b)}.${process.pid}.${e().randomUUID()}.tmp`),g().writeFileSync(c,JSON.stringify({tasks:a},null,2)+"\n","utf8"),g().renameSync(c,b)}(c.tasks,b),c.result}},23396:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>N,patchFetch:()=>M,routeModule:()=>I,serverHooks:()=>L,workAsyncStorage:()=>J,workUnitAsyncStorage:()=>K});var d={};c.r(d),c.d(d,{GET:()=>H,dynamic:()=>G,runtime:()=>F});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(69232),x=c(7378),y=c(98590),z=c(76760),A=c.n(z);function B(a){return!("claude-projects"!==a.root||!a.path.endsWith(".jsonl")||a.path.includes(A().sep+"subagents"+A().sep))&&2===a.name.split(A().sep).length}function C(a,b){let c=new Map(b.map(a=>[a.path,a])),d=c.get(a);if(!d?.parent||d.handoff)return null;let e=c.get(d.parent);return e&&B(d)&&B(e)?e.path:null}var D=c(21153),E=c(46825);let F="nodejs",G="force-dynamic";async function H(){let a=await (0,w.C)(),b=(0,D.z4)(b=>{let c=function(a,b,c={}){let d=!1,e=b.map(b=>{let e=!1,f=b.assignments.map(b=>{let d=function(a,b,c){let d=c.now?.()??new Date().toISOString();if(a.path){let e=function(a,b,c){let d=c??C,e=new Set([a]),f=a,g=null;for(;;){let a=d(f,b);if(!a||e.has(a))return g;g=a,f=a,e.add(f)}}(a.path,b,c.successorForPath);return e&&e!==a.path?{assignment:{...a,path:e,state:"delivered",error:null,at:d},dirty:!0}:{assignment:a,dirty:!1}}if(null!==a.panePid){let e=c.pathForPanePid?.(a.panePid,b)??null;if(e)return{assignment:{...a,path:e,state:"delivered",error:null,at:d},dirty:!0};if(!(c.panePidAlive?.(a.panePid)??!0)&&"failed"!==a.state)return{assignment:{...a,state:"failed",error:"агент не запустився",at:d},dirty:!0}}return{assignment:a,dirty:!1}}(b,a,c);return d.dirty&&(e=!0),d.assignment});return e?(d=!0,{...b,assignments:f,updatedAt:c.now?.()??new Date().toISOString()}):b});return{tasks:d?e:b,dirty:d}}(a,b,{pathForPanePid:(a,b)=>(function(a,b,c){if(!Number.isInteger(b)||b<=0)return null;for(let d of a){if(null===d.pid)continue;let a=new Set;for(let e=d.pid;null!==e&&!a.has(e)&&(a.add(e),!(a.size>15));e=c(e))if(e===b)return d.path}return null})(b,a,x.Ib),panePidAlive:x.pl});return{tasks:c.dirty?c.tasks:void 0,result:c.tasks}});return v.NextResponse.json({files:a,flows:(0,y.mL)(),workflows:(0,E.Ny)(),tasks:b})}let I=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/files/route",pathname:"/api/files",filename:"route",bundlePath:"app/api/files/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/live-log-viewer-next/live-log-viewer-next/src/app/api/files/route.ts",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:J,workUnitAsyncStorage:K,serverHooks:L}=I;function M(){return(0,g.patchFetch)({workAsyncStorage:J,workUnitAsyncStorage:K})}async function N(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),I.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/files/route";"/index"===d&&(d="/");let e=await I.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[H]||A.routes[E]),K=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||I.isDev||z||(L="/index"===(L=E)?"/":L);let M=!0===I.isDev||!J,N=J&&!M;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await I.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>I.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>I.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await I.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),b}},k=await I.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await I.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{a.exports=require("node:os")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[445,813,628,51],()=>b(b.s=23396));module.exports=c})();
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
(()=>{var a={};a.id=910,a.ids=[910],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},2344:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>J,patchFetch:()=>I,routeModule:()=>E,serverHooks:()=>H,workAsyncStorage:()=>F,workUnitAsyncStorage:()=>G});var d={};c.r(d),c.d(d,{DELETE:()=>D,GET:()=>C,dynamic:()=>B,runtime:()=>A});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(51455),w=c.n(v),x=c(23211),y=c(14289),z=c(35961);let A="nodejs",B="force-dynamic";async function C(a){let b,c=(0,y.Z)(a.nextUrl.searchParams.get("name")??"");if(!c)return x.NextResponse.json({error:"недопустиме ім'я файлу"},{status:400});try{b=await w().readFile(c.path)}catch{return x.NextResponse.json({error:"файл не знайдено"},{status:404})}return new x.NextResponse(new Uint8Array(b),{headers:{"content-type":c.mime,"cache-control":"no-store"}})}async function D(a){let b=(0,z.W)(a);if(b)return b;let c=(0,y.Z)(a.nextUrl.searchParams.get("name")??"");if(!c)return x.NextResponse.json({error:"недопустиме ім'я файлу"},{status:400});try{await w().unlink(c.path)}catch(a){if("ENOENT"===a.code)return x.NextResponse.json({ok:!0,missing:!0});return x.NextResponse.json({error:"не вдалося видалити файл"},{status:500})}return x.NextResponse.json({ok:!0})}let E=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/inbox/route",pathname:"/api/inbox",filename:"route",bundlePath:"app/api/inbox/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/live-log-viewer-next/live-log-viewer-next/src/app/api/inbox/route.ts",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:F,workUnitAsyncStorage:G,serverHooks:H}=E;function I(){return(0,g.patchFetch)({workAsyncStorage:F,workUnitAsyncStorage:G})}async function J(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),E.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/inbox/route";"/index"===d&&(d="/");let e=await E.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[I]||A.routes[F]),K=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[F],b=A.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||E.isDev||z||(L="/index"===(L=F)?"/":L);let M=!0===E.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await E.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>E.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>E.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await E.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),b}},k=await E.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await E.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14289:(a,b,c)=>{"use strict";c.d(b,{Z:()=>
|
|
1
|
+
(()=>{var a={};a.id=910,a.ids=[910],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},2344:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>J,patchFetch:()=>I,routeModule:()=>E,serverHooks:()=>H,workAsyncStorage:()=>F,workUnitAsyncStorage:()=>G});var d={};c.r(d),c.d(d,{DELETE:()=>D,GET:()=>C,dynamic:()=>B,runtime:()=>A});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(51455),w=c.n(v),x=c(23211),y=c(14289),z=c(35961);let A="nodejs",B="force-dynamic";async function C(a){let b,c=(0,y.Z)(a.nextUrl.searchParams.get("name")??"");if(!c)return x.NextResponse.json({error:"недопустиме ім'я файлу"},{status:400});try{b=await w().readFile(c.path)}catch{return x.NextResponse.json({error:"файл не знайдено"},{status:404})}return new x.NextResponse(new Uint8Array(b),{headers:{"content-type":c.mime,"cache-control":"no-store"}})}async function D(a){let b=(0,z.W)(a);if(b)return b;let c=(0,y.Z)(a.nextUrl.searchParams.get("name")??"");if(!c)return x.NextResponse.json({error:"недопустиме ім'я файлу"},{status:400});try{await w().unlink(c.path)}catch(a){if("ENOENT"===a.code)return x.NextResponse.json({ok:!0,missing:!0});return x.NextResponse.json({error:"не вдалося видалити файл"},{status:500})}return x.NextResponse.json({ok:!0})}let E=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/inbox/route",pathname:"/api/inbox",filename:"route",bundlePath:"app/api/inbox/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/live-log-viewer-next/live-log-viewer-next/src/app/api/inbox/route.ts",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:F,workUnitAsyncStorage:G,serverHooks:H}=E;function I(){return(0,g.patchFetch)({workAsyncStorage:F,workUnitAsyncStorage:G})}async function J(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),E.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/inbox/route";"/index"===d&&(d="/");let e=await E.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[I]||A.routes[F]),K=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[F],b=A.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||E.isDev||z||(L="/index"===(L=F)?"/":L);let M=!0===E.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await E.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>E.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>E.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await E.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),b}},k=await E.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await E.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14289:(a,b,c)=>{"use strict";c.d(b,{Z:()=>i,j:()=>f});var d=c(76760),e=c.n(d);let f=(0,c(91724).oy)(),g={png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp"},h=/^[A-Za-z0-9._-]+\.(png|jpe?g|gif|webp)$/i;function i(a){let b=a.match(h);if(!b||e().basename(a)!==a)return null;let c=g[(b[1]??"").toLowerCase()];return c?{path:e().join(f,a),mime:c}:null}},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},35961:(a,b,c)=>{"use strict";c.d(b,{W:()=>g});var d=c(23211);let e=["localhost","127.0.0.1","::1"];function f(a){if(a.startsWith("[")){let b=a.indexOf("]");return -1===b?a:a.slice(1,b)}let b=a.lastIndexOf(":");return -1===b?a:a.slice(0,b)}function g(a){let b=new Set(e),c=process.env.LLV_TS_HOST;c&&b.add(f(c));let d=a.headers.get("host");if(null===d||!b.has(f(d)))return h();let g=a.headers.get("origin");if(null!==g){let a;try{a=new URL(g).host}catch{a=null}if(null===a||!b.has(f(a)))return h()}let i=a.headers.get("sec-fetch-site");return null!==i&&"same-origin"!==i&&"none"!==i?h():null}function h(){return d.NextResponse.json({error:"заборонено: запит з іншого origin"},{status:403})}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},91724:(a,b,c)=>{"use strict";c.d(b,{BQ:()=>r,UT:()=>m,ks:()=>l,oy:()=>s});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h);let j="agent-log-viewer";function k(){return process.env.XDG_CONFIG_HOME||i().join(g().homedir(),".config")}function l(a){return n(k(),a)}function m(a){return n(process.env.XDG_CACHE_HOME||i().join(g().homedir(),".cache"),a)}function n(a,b){let c=i().join(a,j,b);if(e().existsSync(c))return c;let d=i().join(a,"live-log-viewer",b);return e().existsSync(d)?d:c}let o=new Set,p=".migrated-from-legacy";function q(a,b){if(o.has(a))return;let c=i().join(a,p),d=()=>`${new Date().toISOString()} ${b}
|
|
2
|
+
`;try{if(e().existsSync(c))return void o.add(a);if(!e().existsSync(b)){e().mkdirSync(a,{recursive:!0}),e().writeFileSync(c,d()),o.add(a);return}if(!e().existsSync(a)){e().mkdirSync(i().dirname(a),{recursive:!0});let c=`${a}.migrating.${process.pid}`;e().rmSync(c,{recursive:!0,force:!0});try{e().cpSync(b,c,{recursive:!0}),e().writeFileSync(i().join(c,p),d()),e().renameSync(c,a)}catch(a){throw e().rmSync(c,{recursive:!0,force:!0}),a}o.add(a);return}e().cpSync(b,a,{recursive:!0,force:!1,errorOnExist:!1}),e().writeFileSync(c,d()),o.add(a)}catch(c){console.error(`viewer state migration ${b} -> ${a} failed; will retry:`,c)}}function r(...a){return i().join(function(){let a=process.env.LLV_STATE_DIR;if(a)return a;let b=i().join(k(),j,"state");return q(b,i().join(g().homedir(),".claude","viewer-state")),b}(),...a)}function s(){let a=i().join(k(),j,"inbox");return q(a,i().join(g().homedir(),".claude","viewer-inbox")),a}},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[445,813],()=>b(b.s=2344));module.exports=c})();
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
(()=>{var a={};a.id=758,a.ids=[758],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{"use strict";a.exports=require("node:os")},55483:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>W,patchFetch:()=>V,routeModule:()=>R,serverHooks:()=>U,workAsyncStorage:()=>S,workUnitAsyncStorage:()=>T});var d={};c.r(d),c.d(d,{GET:()=>Q,dynamic:()=>P,runtime:()=>O});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(73024),x=c.n(w),y=c(48161),z=c.n(y),A=c(76760),B=c.n(A);let C=z().homedir(),D=B().join(C,".claude",".credentials.json"),E=B().join(C,".claude","viewer-state","limits-cache.json"),F=B().join(C,".codex","sessions"),G=globalThis;function H(a){return!!(a.claude||a.codex)}function I(a){return{claude:a.claude,codex:a.codex,staleSince:a.staleSince??null}}async function J(){let a,b=G.__llvLimitsCache?G.__llvLimitsCache:(G.__llvLimitsCache=function(){try{let a=JSON.parse(x().readFileSync(E,"utf8"));if(!a||"number"!=typeof a.at||!a.data)return null;let b=I(a.data);if(!H(b))return null;return{at:a.at,data:b}}catch{return null}}(),G.__llvLimitsCache??null);if(b&&Date.now()-b.at<3e4)return b.data;let c=new Date().toISOString(),[d,e]=await Promise.all([K(),Promise.resolve(function(){let a=0;for(let b of function*(){let a=0;for(let b of M(F))for(let c of M(B().join(F,b)))for(let d of M(B().join(F,b,c))){let e=B().join(F,b,c,d),f=[];for(let a of M(e)){if(!a.endsWith(".jsonl"))continue;let b=B().join(e,a);try{f.push({p:b,m:x().statSync(b).mtimeMs})}catch{}}for(let b of(f.sort((a,b)=>b.m-a.m),f))if(yield b.p,++a>=12)return}}()){a+=1;let c=function(a){let b=function(a){let b;try{b=x().openSync(a,"r")}catch{return null}try{let a=x().fstatSync(b).size,c=Math.min(a,196608),d=Buffer.alloc(c);return x().readSync(b,d,0,c,a-c),d.toString("utf8")}catch{return null}finally{x().closeSync(b)}}(a);if(!b)return null;let c=b.split("\n");for(let a=c.length-1;a>=0;a--){let b=c[a];if(b.includes('"rate_limits"'))try{let a=JSON.parse(b),c=a.payload?.rate_limits;if(!c)continue;let d="string"==typeof a.timestamp?Date.parse(a.timestamp):NaN,e=Number.isFinite(d)?Math.round(d/1e3):null;return{session:N(c.primary,e),weekly:N(c.secondary,e),plan:"string"==typeof c.plan_type?c.plan_type:null,capturedAt:e}}catch{}}return null}(b);if(c)return{data:c,reason:null}}return{data:null,reason:0===a?"no codex session files":`no rate_limits event in newest ${a} session files`}}())]),f={claude:d.data??b?.data.claude??null,codex:e.data??b?.data.codex??null,staleSince:d.data&&e.data?null:c};if(H(f)){let a;d.data&&e.data||(a=`claude=${d.reason??"ok"} codex=${e.reason??"ok"}`,console.warn(`[limits] refresh used cached value for one engine; ${a}`));let b={at:Date.now(),data:I(f)};G.__llvLimitsCache=b;var g,h={...b,data:I({...f,staleSince:null})};try{x().mkdirSync(B().dirname(E),{recursive:!0}),x().writeFileSync(E,JSON.stringify(h,null,2)+"\n","utf8")}catch(a){console.warn("[limits] failed to persist cache",a)}return b.data}return g=!!b,a=`claude=${d.reason??"ok"} codex=${e.reason??"ok"}`,console.warn(`[limits] refresh returned no fresh values; ${a}; cached=${g?"yes":"no"}`),b?{...b.data,staleSince:c}:{claude:null,codex:null,staleSince:c}}async function K(){let a="",b=null;try{let c=JSON.parse(x().readFileSync(D,"utf8"));"string"==typeof c.claudeAiOauth?.accessToken&&(a=c.claudeAiOauth.accessToken),"string"==typeof c.claudeAiOauth?.subscriptionType&&(b=c.claudeAiOauth.subscriptionType)}catch(a){return{data:null,reason:`credentials unreadable: ${a instanceof Error?a.message:String(a)}`}}if(!a)return{data:null,reason:"credentials missing access token"};try{let c=await fetch("https://api.anthropic.com/api/oauth/usage",{headers:{authorization:"Bearer "+a,"anthropic-beta":"oauth-2025-04-20"},signal:AbortSignal.timeout(8e3)});if(!c.ok)return{data:null,reason:`oauth usage status ${c.status}`};let d=await c.json(),e={session:L(d.five_hour),weekly:L(d.seven_day),plan:b,capturedAt:null};if(!e.session&&!e.weekly)return{data:null,reason:"oauth usage response had no windows"};return{data:e,reason:null}}catch(a){return{data:null,reason:`oauth usage fetch failed: ${a instanceof Error?a.message:String(a)}`}}}function L(a){if(!a||"number"!=typeof a.utilization)return null;let b="string"==typeof a.resets_at?Date.parse(a.resets_at):NaN;return{usedPercent:a.utilization,resetsAt:Number.isFinite(b)?Math.round(b/1e3):null}}function M(a){try{return x().readdirSync(a).sort().reverse()}catch{return[]}}function N(a,b){if(!a||"number"!=typeof a.used_percent)return null;let c=null;return"number"==typeof a.resets_at?c=a.resets_at:"number"==typeof a.resets_in_seconds&&null!==b&&(c=b+a.resets_in_seconds),{usedPercent:a.used_percent,resetsAt:c}}let O="nodejs",P="force-dynamic";async function Q(){return v.NextResponse.json(await J())}let R=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/limits/route",pathname:"/api/limits",filename:"route",bundlePath:"app/api/limits/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/live-log-viewer-next/live-log-viewer-next/src/app/api/limits/route.ts",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:S,workUnitAsyncStorage:T,serverHooks:U}=R;function V(){return(0,g.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:T})}async function W(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),R.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/limits/route";"/index"===d&&(d="/");let e=await R.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||R.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===R.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await R.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:L,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>R.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>R.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!I)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await R.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await R.handleResponse({req:a,nextConfig:x,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await R.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[445,813],()=>b(b.s=55483));module.exports=c})();
|
|
1
|
+
(()=>{var a={};a.id=758,a.ids=[758],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{"use strict";a.exports=require("node:os")},55483:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>X,patchFetch:()=>W,routeModule:()=>S,serverHooks:()=>V,workAsyncStorage:()=>T,workUnitAsyncStorage:()=>U});var d={};c.r(d),c.d(d,{GET:()=>R,dynamic:()=>Q,runtime:()=>P});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(73024),x=c.n(w),y=c(48161),z=c.n(y),A=c(76760),B=c.n(A),C=c(91724);let D=z().homedir(),E=B().join(D,".claude",".credentials.json"),F=(0,C.BQ)("limits-cache.json"),G=B().join(D,".codex","sessions"),H=globalThis;function I(a){return!!(a.claude||a.codex)}function J(a){return{claude:a.claude,codex:a.codex,staleSince:a.staleSince??null}}async function K(){let a,b=H.__llvLimitsCache?H.__llvLimitsCache:(H.__llvLimitsCache=function(){try{let a=JSON.parse(x().readFileSync(F,"utf8"));if(!a||"number"!=typeof a.at||!a.data)return null;let b=J(a.data);if(!I(b))return null;return{at:a.at,data:b}}catch{return null}}(),H.__llvLimitsCache??null);if(b&&Date.now()-b.at<3e4)return b.data;let c=new Date().toISOString(),[d,e]=await Promise.all([L(),Promise.resolve(function(){let a=0;for(let b of function*(){let a=0;for(let b of N(G))for(let c of N(B().join(G,b)))for(let d of N(B().join(G,b,c))){let e=B().join(G,b,c,d),f=[];for(let a of N(e)){if(!a.endsWith(".jsonl"))continue;let b=B().join(e,a);try{f.push({p:b,m:x().statSync(b).mtimeMs})}catch{}}for(let b of(f.sort((a,b)=>b.m-a.m),f))if(yield b.p,++a>=12)return}}()){a+=1;let c=function(a){let b=function(a){let b;try{b=x().openSync(a,"r")}catch{return null}try{let a=x().fstatSync(b).size,c=Math.min(a,196608),d=Buffer.alloc(c);return x().readSync(b,d,0,c,a-c),d.toString("utf8")}catch{return null}finally{x().closeSync(b)}}(a);if(!b)return null;let c=b.split("\n");for(let a=c.length-1;a>=0;a--){let b=c[a];if(b.includes('"rate_limits"'))try{let a=JSON.parse(b),c=a.payload?.rate_limits;if(!c)continue;let d="string"==typeof a.timestamp?Date.parse(a.timestamp):NaN,e=Number.isFinite(d)?Math.round(d/1e3):null;return{session:O(c.primary,e),weekly:O(c.secondary,e),plan:"string"==typeof c.plan_type?c.plan_type:null,capturedAt:e}}catch{}}return null}(b);if(c)return{data:c,reason:null}}return{data:null,reason:0===a?"no codex session files":`no rate_limits event in newest ${a} session files`}}())]),f={claude:d.data??b?.data.claude??null,codex:e.data??b?.data.codex??null,staleSince:d.data&&e.data?null:c};if(I(f)){let a;d.data&&e.data||(a=`claude=${d.reason??"ok"} codex=${e.reason??"ok"}`,console.warn(`[limits] refresh used cached value for one engine; ${a}`));let b={at:Date.now(),data:J(f)};H.__llvLimitsCache=b;var g,h={...b,data:J({...f,staleSince:null})};try{x().mkdirSync(B().dirname(F),{recursive:!0}),x().writeFileSync(F,JSON.stringify(h,null,2)+"\n","utf8")}catch(a){console.warn("[limits] failed to persist cache",a)}return b.data}return g=!!b,a=`claude=${d.reason??"ok"} codex=${e.reason??"ok"}`,console.warn(`[limits] refresh returned no fresh values; ${a}; cached=${g?"yes":"no"}`),b?{...b.data,staleSince:c}:{claude:null,codex:null,staleSince:c}}async function L(){let a="",b=null;try{let c=JSON.parse(x().readFileSync(E,"utf8"));"string"==typeof c.claudeAiOauth?.accessToken&&(a=c.claudeAiOauth.accessToken),"string"==typeof c.claudeAiOauth?.subscriptionType&&(b=c.claudeAiOauth.subscriptionType)}catch(a){return{data:null,reason:`credentials unreadable: ${a instanceof Error?a.message:String(a)}`}}if(!a)return{data:null,reason:"credentials missing access token"};try{let c=await fetch("https://api.anthropic.com/api/oauth/usage",{headers:{authorization:"Bearer "+a,"anthropic-beta":"oauth-2025-04-20"},signal:AbortSignal.timeout(8e3)});if(!c.ok)return{data:null,reason:`oauth usage status ${c.status}`};let d=await c.json(),e={session:M(d.five_hour),weekly:M(d.seven_day),plan:b,capturedAt:null};if(!e.session&&!e.weekly)return{data:null,reason:"oauth usage response had no windows"};return{data:e,reason:null}}catch(a){return{data:null,reason:`oauth usage fetch failed: ${a instanceof Error?a.message:String(a)}`}}}function M(a){if(!a||"number"!=typeof a.utilization)return null;let b="string"==typeof a.resets_at?Date.parse(a.resets_at):NaN;return{usedPercent:a.utilization,resetsAt:Number.isFinite(b)?Math.round(b/1e3):null}}function N(a){try{return x().readdirSync(a).sort().reverse()}catch{return[]}}function O(a,b){if(!a||"number"!=typeof a.used_percent)return null;let c=null;return"number"==typeof a.resets_at?c=a.resets_at:"number"==typeof a.resets_in_seconds&&null!==b&&(c=b+a.resets_in_seconds),{usedPercent:a.used_percent,resetsAt:c}}let P="nodejs",Q="force-dynamic";async function R(){return v.NextResponse.json(await K())}let S=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/limits/route",pathname:"/api/limits",filename:"route",bundlePath:"app/api/limits/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/live-log-viewer-next/live-log-viewer-next/src/app/api/limits/route.ts",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:T,workUnitAsyncStorage:U,serverHooks:V}=S;function W(){return(0,g.patchFetch)({workAsyncStorage:T,workUnitAsyncStorage:U})}async function X(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),S.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/limits/route";"/index"===d&&(d="/");let e=await S.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||S.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===S.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await S.getIncrementalCache(a,x,A,R);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:L,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>S.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>S.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!I)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await S.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await S.handleResponse({req:a,nextConfig:x,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await S.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},91724:(a,b,c)=>{"use strict";c.d(b,{BQ:()=>r,UT:()=>m,ks:()=>l,oy:()=>s});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h);let j="agent-log-viewer";function k(){return process.env.XDG_CONFIG_HOME||i().join(g().homedir(),".config")}function l(a){return n(k(),a)}function m(a){return n(process.env.XDG_CACHE_HOME||i().join(g().homedir(),".cache"),a)}function n(a,b){let c=i().join(a,j,b);if(e().existsSync(c))return c;let d=i().join(a,"live-log-viewer",b);return e().existsSync(d)?d:c}let o=new Set,p=".migrated-from-legacy";function q(a,b){if(o.has(a))return;let c=i().join(a,p),d=()=>`${new Date().toISOString()} ${b}
|
|
2
|
+
`;try{if(e().existsSync(c))return void o.add(a);if(!e().existsSync(b)){e().mkdirSync(a,{recursive:!0}),e().writeFileSync(c,d()),o.add(a);return}if(!e().existsSync(a)){e().mkdirSync(i().dirname(a),{recursive:!0});let c=`${a}.migrating.${process.pid}`;e().rmSync(c,{recursive:!0,force:!0});try{e().cpSync(b,c,{recursive:!0}),e().writeFileSync(i().join(c,p),d()),e().renameSync(c,a)}catch(a){throw e().rmSync(c,{recursive:!0,force:!0}),a}o.add(a);return}e().cpSync(b,a,{recursive:!0,force:!1,errorOnExist:!1}),e().writeFileSync(c,d()),o.add(a)}catch(c){console.error(`viewer state migration ${b} -> ${a} failed; will retry:`,c)}}function r(...a){return i().join(function(){let a=process.env.LLV_STATE_DIR;if(a)return a;let b=i().join(k(),j,"state");return q(b,i().join(g().homedir(),".claude","viewer-state")),b}(),...a)}function s(){let a=i().join(k(),j,"inbox");return q(a,i().join(g().homedir(),".claude","viewer-inbox")),a}},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[445,813],()=>b(b.s=55483));module.exports=c})();
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
(()=>{var a={};a.id=658,a.ids=[658],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21153:(a,b,c)=>{"use strict";c.d(b,{h6:()=>p,z4:()=>q});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(48161),i=c.n(h),j=c(76760),k=c.n(j);let l=k().join(i().homedir(),".claude","viewer-state"),m=k().join(l,"tasks.json");function n(a){var b;return!(!a||"object"!=typeof a||Array.isArray(a))&&("string"==typeof a.path||null===a.path)&&("number"==typeof a.panePid||null===a.panePid)&&(null===a.panePid||Number.isInteger(a.panePid)&&a.panePid>0)&&("delivered"===(b=a.state)||"failed"===b||"spawning"===b)&&("string"==typeof a.error||null===a.error)&&"string"==typeof a.at}function o(a){var b,c;return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.id&&"string"==typeof a.project&&("inbox"===(b=a.status)||"assigned"===b||"blocked"===b||"done"===b)&&"string"==typeof a.text&&!(!(c=a.pos)||"object"!=typeof c||Array.isArray(c))&&"number"==typeof c.x&&Number.isFinite(c.x)&&"number"==typeof c.y&&Number.isFinite(c.y)&&Array.isArray(a.assignments)&&a.assignments.every(n)&&"string"==typeof a.createdAt&&"string"==typeof a.updatedAt}function p(a=m){let b=function(a){try{return JSON.parse(g().readFileSync(a,"utf8"))}catch{return null}}(a);return Array.isArray(b?.tasks)?b.tasks.filter(o):[]}function q(a,b=m){let c=a(p(b));return c.tasks&&function(a,b=m){let c;g().mkdirSync(k().dirname(b),{recursive:!0}),c=k().join(k().dirname(b),`.${k().basename(b)}.${process.pid}.${e().randomUUID()}.tmp`),g().writeFileSync(c,JSON.stringify({tasks:a},null,2)+"\n","utf8"),g().renameSync(c,b)}(c.tasks,b),c.result}},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33802:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>I,patchFetch:()=>H,routeModule:()=>D,serverHooks:()=>G,workAsyncStorage:()=>E,workUnitAsyncStorage:()=>F});var d={};c.r(d),c.d(d,{DELETE:()=>C,PATCH:()=>B,dynamic:()=>A,runtime:()=>z});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(90748),x=c(21153),y=c(35961);let z="nodejs",A="force-dynamic";async function B(a,b){let c,d=(0,y.W)(a);if(d)return d;try{c=await a.json()}catch{return v.NextResponse.json({error:"некоректний JSON"},{status:400})}let{id:e}=await b.params,f=(0,x.z4)(a=>{let b=(0,w.mQ)(a,e,c);return{tasks:b.ok?b.tasks:void 0,result:b}});return f.ok?v.NextResponse.json({ok:!0,task:f.task}):v.NextResponse.json({error:f.error},{status:f.status})}async function C(a,b){let c=(0,y.W)(a);if(c)return c;let{id:d}=await b.params,e=(0,x.z4)(a=>{let b=(0,w.vq)(a,d);return{tasks:b.ok?b.tasks:void 0,result:b}});return e.ok?v.NextResponse.json({ok:!0}):v.NextResponse.json({error:e.error},{status:e.status})}let D=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/tasks/[id]/route",pathname:"/api/tasks/[id]",filename:"route",bundlePath:"app/api/tasks/[id]/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/live-log-viewer-next/live-log-viewer-next/src/app/api/tasks/[id]/route.ts",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:F,serverHooks:G}=D;function H(){return(0,g.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:F})}async function I(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),D.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/tasks/[id]/route";"/index"===d&&(d="/");let e=await D.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[I]||A.routes[F]),K=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[F],b=A.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||D.isDev||z||(L="/index"===(L=F)?"/":L);let M=!0===D.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await D.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>D.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>D.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&C&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await D.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),b}},k=await D.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await D.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},35961:(a,b,c)=>{"use strict";c.d(b,{W:()=>g});var d=c(23211);let e=["localhost","127.0.0.1","::1"];function f(a){if(a.startsWith("[")){let b=a.indexOf("]");return -1===b?a:a.slice(1,b)}let b=a.lastIndexOf(":");return -1===b?a:a.slice(0,b)}function g(a){let b=new Set(e),c=process.env.LLV_TS_HOST;c&&b.add(f(c));let d=a.headers.get("host");if(null===d||!b.has(f(d)))return h();let g=a.headers.get("origin");if(null!==g){let a;try{a=new URL(g).host}catch{a=null}if(null===a||!b.has(f(a)))return h()}let i=a.headers.get("sec-fetch-site");return null!==i&&"same-origin"!==i&&"none"!==i?h():null}function h(){return d.NextResponse.json({error:"заборонено: запит з іншого origin"},{status:403})}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{"use strict";a.exports=require("node:os")},60641:(a,b,c)=>{"use strict";function d(){return new Date().toISOString()}function e(a,b){return`Задача #${a.slice(0,8)}: ${b}`}c.d(b,{Ec:()=>d,F7:()=>e})},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},90748:(a,b,c)=>{"use strict";c.d(b,{O6:()=>m,UT:()=>j,mQ:()=>k,vq:()=>l});var d=c(77598),e=c.n(d),f=c(60641);function g(a){return"string"!=typeof a?null:a.trim()||null}function h(a){return!a||"object"!=typeof a||Array.isArray(a)?null:"number"==typeof a.x&&Number.isFinite(a.x)&&"number"==typeof a.y&&Number.isFinite(a.y)?{x:a.x,y:a.y}:null}function i(){return{ok:!1,error:"Текст задачі має бути не довший за 6000 символів",status:400}}function j(a,b,c={}){var d;let k="string"!=typeof(d=b.project)?null:d.trim()||null;if(!k)return{ok:!1,error:"потрібен project",status:400};let l=g(b.text);if(!l)return{ok:!1,error:"потрібен текст задачі",status:400};if(l.length>6e3)return i();let m=h(b.pos);if(!m)return{ok:!1,error:"потрібна позиція задачі",status:400};if(a.filter(a=>a.project===k).length>=300)return{ok:!1,error:"У проєкті вже є 300 задач. Закрийте або видаліть зайві задачі.",status:409};let n=c.now?.()??(0,f.Ec)(),o={id:c.id?.()??e().randomUUID(),project:k,status:"inbox",text:l,pos:m,assignments:[],createdAt:n,updatedAt:n};return{ok:!0,tasks:[...a,o],task:o}}function k(a,b,c,d=(0,f.Ec)()){let e=a.findIndex(a=>a.id===b);if(e<0)return{ok:!1,error:"задачу не знайдено",status:404};let j=a[e],l={};if(Object.hasOwn(c,"text")){let a=g(c.text);if(!a)return{ok:!1,error:"потрібен текст задачі",status:400};if(a.length>6e3)return i();l.text=a}if(Object.hasOwn(c,"status")){var m;let a="inbox"===(m=c.status)||"assigned"===m||"blocked"===m||"done"===m?m:null;if(!a)return{ok:!1,error:"некоректний статус задачі",status:400};l.status=a}if(Object.hasOwn(c,"pos")){let a=h(c.pos);if(!a)return{ok:!1,error:"некоректна позиція задачі",status:400};l.pos=a}let n={...j,...l,updatedAt:d},o=a.slice();return o[e]=n,{ok:!0,tasks:o,task:n}}function l(a,b){let c=a.filter(a=>a.id!==b);return c.length===a.length?{ok:!1,error:"задачу не знайдено",status:404}:{ok:!0,tasks:c}}function m(a,b,c,d=(0,f.Ec)()){let e=a.findIndex(a=>a.id===b);if(e<0)return{ok:!1,error:"задачу не знайдено",status:404};let g=a[e],h=c.some(a=>"delivered"===a.state||"spawning"===a.state),i={...g,status:"inbox"===g.status&&h?"assigned":g.status,assignments:function(a,b){let c=a.slice();for(let a of b){let b=c.findIndex(b=>null!==a.path&&b.path===a.path||null===a.path&&null!==a.panePid&&null===b.path&&b.panePid===a.panePid),d={path:a.path,panePid:a.panePid,state:a.state,error:a.error,at:a.at};c=b>=0?[...c.slice(0,b),d,...c.slice(b+1)]:[...c,d]}return c}(g.assignments,c),updatedAt:d},j=a.slice();return j[e]=i,{ok:!0,tasks:j,task:i}}},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[445,813],()=>b(b.s=33802));module.exports=c})();
|
|
1
|
+
(()=>{var a={};a.id=658,a.ids=[658],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21153:(a,b,c)=>{"use strict";c.d(b,{h6:()=>m,z4:()=>n});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h);let j=(0,c(91724).BQ)("tasks.json");function k(a){var b;return!(!a||"object"!=typeof a||Array.isArray(a))&&("string"==typeof a.path||null===a.path)&&("number"==typeof a.panePid||null===a.panePid)&&(null===a.panePid||Number.isInteger(a.panePid)&&a.panePid>0)&&("delivered"===(b=a.state)||"failed"===b||"spawning"===b)&&("string"==typeof a.error||null===a.error)&&"string"==typeof a.at}function l(a){var b,c;return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.id&&"string"==typeof a.project&&("inbox"===(b=a.status)||"assigned"===b||"blocked"===b||"done"===b)&&"string"==typeof a.text&&!(!(c=a.pos)||"object"!=typeof c||Array.isArray(c))&&"number"==typeof c.x&&Number.isFinite(c.x)&&"number"==typeof c.y&&Number.isFinite(c.y)&&Array.isArray(a.assignments)&&a.assignments.every(k)&&"string"==typeof a.createdAt&&"string"==typeof a.updatedAt}function m(a=j){let b=function(a){try{return JSON.parse(g().readFileSync(a,"utf8"))}catch{return null}}(a);return Array.isArray(b?.tasks)?b.tasks.filter(l):[]}function n(a,b=j){let c=a(m(b));return c.tasks&&function(a,b=j){let c;g().mkdirSync(i().dirname(b),{recursive:!0}),c=i().join(i().dirname(b),`.${i().basename(b)}.${process.pid}.${e().randomUUID()}.tmp`),g().writeFileSync(c,JSON.stringify({tasks:a},null,2)+"\n","utf8"),g().renameSync(c,b)}(c.tasks,b),c.result}},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33802:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>I,patchFetch:()=>H,routeModule:()=>D,serverHooks:()=>G,workAsyncStorage:()=>E,workUnitAsyncStorage:()=>F});var d={};c.r(d),c.d(d,{DELETE:()=>C,PATCH:()=>B,dynamic:()=>A,runtime:()=>z});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(90748),x=c(21153),y=c(35961);let z="nodejs",A="force-dynamic";async function B(a,b){let c,d=(0,y.W)(a);if(d)return d;try{c=await a.json()}catch{return v.NextResponse.json({error:"некоректний JSON"},{status:400})}let{id:e}=await b.params,f=(0,x.z4)(a=>{let b=(0,w.mQ)(a,e,c);return{tasks:b.ok?b.tasks:void 0,result:b}});return f.ok?v.NextResponse.json({ok:!0,task:f.task}):v.NextResponse.json({error:f.error},{status:f.status})}async function C(a,b){let c=(0,y.W)(a);if(c)return c;let{id:d}=await b.params,e=(0,x.z4)(a=>{let b=(0,w.vq)(a,d);return{tasks:b.ok?b.tasks:void 0,result:b}});return e.ok?v.NextResponse.json({ok:!0}):v.NextResponse.json({error:e.error},{status:e.status})}let D=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/tasks/[id]/route",pathname:"/api/tasks/[id]",filename:"route",bundlePath:"app/api/tasks/[id]/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/live-log-viewer-next/live-log-viewer-next/src/app/api/tasks/[id]/route.ts",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:F,serverHooks:G}=D;function H(){return(0,g.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:F})}async function I(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),D.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/tasks/[id]/route";"/index"===d&&(d="/");let e=await D.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[I]||A.routes[F]),K=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[F],b=A.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||D.isDev||z||(L="/index"===(L=F)?"/":L);let M=!0===D.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await D.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>D.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>D.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&C&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await D.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),b}},k=await D.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await D.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},35961:(a,b,c)=>{"use strict";c.d(b,{W:()=>g});var d=c(23211);let e=["localhost","127.0.0.1","::1"];function f(a){if(a.startsWith("[")){let b=a.indexOf("]");return -1===b?a:a.slice(1,b)}let b=a.lastIndexOf(":");return -1===b?a:a.slice(0,b)}function g(a){let b=new Set(e),c=process.env.LLV_TS_HOST;c&&b.add(f(c));let d=a.headers.get("host");if(null===d||!b.has(f(d)))return h();let g=a.headers.get("origin");if(null!==g){let a;try{a=new URL(g).host}catch{a=null}if(null===a||!b.has(f(a)))return h()}let i=a.headers.get("sec-fetch-site");return null!==i&&"same-origin"!==i&&"none"!==i?h():null}function h(){return d.NextResponse.json({error:"заборонено: запит з іншого origin"},{status:403})}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{"use strict";a.exports=require("node:os")},60641:(a,b,c)=>{"use strict";function d(){return new Date().toISOString()}function e(a,b){return`Задача #${a.slice(0,8)}: ${b}`}c.d(b,{Ec:()=>d,F7:()=>e})},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},90748:(a,b,c)=>{"use strict";c.d(b,{O6:()=>m,UT:()=>j,mQ:()=>k,vq:()=>l});var d=c(77598),e=c.n(d),f=c(60641);function g(a){return"string"!=typeof a?null:a.trim()||null}function h(a){return!a||"object"!=typeof a||Array.isArray(a)?null:"number"==typeof a.x&&Number.isFinite(a.x)&&"number"==typeof a.y&&Number.isFinite(a.y)?{x:a.x,y:a.y}:null}function i(){return{ok:!1,error:"Текст задачі має бути не довший за 6000 символів",status:400}}function j(a,b,c={}){var d;let k="string"!=typeof(d=b.project)?null:d.trim()||null;if(!k)return{ok:!1,error:"потрібен project",status:400};let l=g(b.text);if(!l)return{ok:!1,error:"потрібен текст задачі",status:400};if(l.length>6e3)return i();let m=h(b.pos);if(!m)return{ok:!1,error:"потрібна позиція задачі",status:400};if(a.filter(a=>a.project===k).length>=300)return{ok:!1,error:"У проєкті вже є 300 задач. Закрийте або видаліть зайві задачі.",status:409};let n=c.now?.()??(0,f.Ec)(),o={id:c.id?.()??e().randomUUID(),project:k,status:"inbox",text:l,pos:m,assignments:[],createdAt:n,updatedAt:n};return{ok:!0,tasks:[...a,o],task:o}}function k(a,b,c,d=(0,f.Ec)()){let e=a.findIndex(a=>a.id===b);if(e<0)return{ok:!1,error:"задачу не знайдено",status:404};let j=a[e],l={};if(Object.hasOwn(c,"text")){let a=g(c.text);if(!a)return{ok:!1,error:"потрібен текст задачі",status:400};if(a.length>6e3)return i();l.text=a}if(Object.hasOwn(c,"status")){var m;let a="inbox"===(m=c.status)||"assigned"===m||"blocked"===m||"done"===m?m:null;if(!a)return{ok:!1,error:"некоректний статус задачі",status:400};l.status=a}if(Object.hasOwn(c,"pos")){let a=h(c.pos);if(!a)return{ok:!1,error:"некоректна позиція задачі",status:400};l.pos=a}let n={...j,...l,updatedAt:d},o=a.slice();return o[e]=n,{ok:!0,tasks:o,task:n}}function l(a,b){let c=a.filter(a=>a.id!==b);return c.length===a.length?{ok:!1,error:"задачу не знайдено",status:404}:{ok:!0,tasks:c}}function m(a,b,c,d=(0,f.Ec)()){let e=a.findIndex(a=>a.id===b);if(e<0)return{ok:!1,error:"задачу не знайдено",status:404};let g=a[e],h=c.some(a=>"delivered"===a.state||"spawning"===a.state),i={...g,status:"inbox"===g.status&&h?"assigned":g.status,assignments:function(a,b){let c=a.slice();for(let a of b){let b=c.findIndex(b=>null!==a.path&&b.path===a.path||null===a.path&&null!==a.panePid&&null===b.path&&b.panePid===a.panePid),d={path:a.path,panePid:a.panePid,state:a.state,error:a.error,at:a.at};c=b>=0?[...c.slice(0,b),d,...c.slice(b+1)]:[...c,d]}return c}(g.assignments,c),updatedAt:d},j=a.slice();return j[e]=i,{ok:!0,tasks:j,task:i}}},91724:(a,b,c)=>{"use strict";c.d(b,{BQ:()=>r,UT:()=>m,ks:()=>l,oy:()=>s});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h);let j="agent-log-viewer";function k(){return process.env.XDG_CONFIG_HOME||i().join(g().homedir(),".config")}function l(a){return n(k(),a)}function m(a){return n(process.env.XDG_CACHE_HOME||i().join(g().homedir(),".cache"),a)}function n(a,b){let c=i().join(a,j,b);if(e().existsSync(c))return c;let d=i().join(a,"live-log-viewer",b);return e().existsSync(d)?d:c}let o=new Set,p=".migrated-from-legacy";function q(a,b){if(o.has(a))return;let c=i().join(a,p),d=()=>`${new Date().toISOString()} ${b}
|
|
2
|
+
`;try{if(e().existsSync(c))return void o.add(a);if(!e().existsSync(b)){e().mkdirSync(a,{recursive:!0}),e().writeFileSync(c,d()),o.add(a);return}if(!e().existsSync(a)){e().mkdirSync(i().dirname(a),{recursive:!0});let c=`${a}.migrating.${process.pid}`;e().rmSync(c,{recursive:!0,force:!0});try{e().cpSync(b,c,{recursive:!0}),e().writeFileSync(i().join(c,p),d()),e().renameSync(c,a)}catch(a){throw e().rmSync(c,{recursive:!0,force:!0}),a}o.add(a);return}e().cpSync(b,a,{recursive:!0,force:!1,errorOnExist:!1}),e().writeFileSync(c,d()),o.add(a)}catch(c){console.error(`viewer state migration ${b} -> ${a} failed; will retry:`,c)}}function r(...a){return i().join(function(){let a=process.env.LLV_STATE_DIR;if(a)return a;let b=i().join(k(),j,"state");return q(b,i().join(g().homedir(),".claude","viewer-state")),b}(),...a)}function s(){let a=i().join(k(),j,"inbox");return q(a,i().join(g().homedir(),".claude","viewer-inbox")),a}},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[445,813],()=>b(b.s=33802));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=791,a.ids=[791],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21153:(a,b,c)=>{c.d(b,{h6:()=>p,z4:()=>q});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(48161),i=c.n(h),j=c(76760),k=c.n(j);let l=k().join(i().homedir(),".claude","viewer-state"),m=k().join(l,"tasks.json");function n(a){var b;return!(!a||"object"!=typeof a||Array.isArray(a))&&("string"==typeof a.path||null===a.path)&&("number"==typeof a.panePid||null===a.panePid)&&(null===a.panePid||Number.isInteger(a.panePid)&&a.panePid>0)&&("delivered"===(b=a.state)||"failed"===b||"spawning"===b)&&("string"==typeof a.error||null===a.error)&&"string"==typeof a.at}function o(a){var b,c;return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.id&&"string"==typeof a.project&&("inbox"===(b=a.status)||"assigned"===b||"blocked"===b||"done"===b)&&"string"==typeof a.text&&!(!(c=a.pos)||"object"!=typeof c||Array.isArray(c))&&"number"==typeof c.x&&Number.isFinite(c.x)&&"number"==typeof c.y&&Number.isFinite(c.y)&&Array.isArray(a.assignments)&&a.assignments.every(n)&&"string"==typeof a.createdAt&&"string"==typeof a.updatedAt}function p(a=m){let b=function(a){try{return JSON.parse(g().readFileSync(a,"utf8"))}catch{return null}}(a);return Array.isArray(b?.tasks)?b.tasks.filter(o):[]}function q(a,b=m){let c=a(p(b));return c.tasks&&function(a,b=m){let c;g().mkdirSync(k().dirname(b),{recursive:!0}),c=k().join(k().dirname(b),`.${k().basename(b)}.${process.pid}.${e().randomUUID()}.tmp`),g().writeFileSync(c,JSON.stringify({tasks:a},null,2)+"\n","utf8"),g().renameSync(c,b)}(c.tasks,b),c.result}},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},35961:(a,b,c)=>{c.d(b,{W:()=>g});var d=c(23211);let e=["localhost","127.0.0.1","::1"];function f(a){if(a.startsWith("[")){let b=a.indexOf("]");return -1===b?a:a.slice(1,b)}let b=a.lastIndexOf(":");return -1===b?a:a.slice(0,b)}function g(a){let b=new Set(e),c=process.env.LLV_TS_HOST;c&&b.add(f(c));let d=a.headers.get("host");if(null===d||!b.has(f(d)))return h();let g=a.headers.get("origin");if(null!==g){let a;try{a=new URL(g).host}catch{a=null}if(null===a||!b.has(f(a)))return h()}let i=a.headers.get("sec-fetch-site");return null!==i&&"same-origin"!==i&&"none"!==i?h():null}function h(){return d.NextResponse.json({error:"заборонено: запит з іншого origin"},{status:403})}},42655:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>K,patchFetch:()=>J,routeModule:()=>F,serverHooks:()=>I,workAsyncStorage:()=>G,workUnitAsyncStorage:()=>H});var d={};c.r(d),c.d(d,{POST:()=>E,dynamic:()=>D,runtime:()=>C});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(1785),x=c(35961),y=c(69232),z=c(90748),A=c(60641),B=c(21153);let C="nodejs",D="force-dynamic";async function E(a,b){let c,d=(0,x.W)(a);if(d)return d;try{c=await a.json()}catch{return v.NextResponse.json({error:"некоректний JSON"},{status:400})}let e=function(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b=a.paths;if(!Array.isArray(b))return null;let c=b.filter(a=>"string"==typeof a&&a.trim().length>0).map(a=>a.trim());return c.length===b.length&&c.length>0?[...new Set(c)]:null}(c);if(!e)return v.NextResponse.json({error:"потрібен paths із розмовами"},{status:400});let{id:f}=await b.params,g=(0,B.h6)().find(a=>a.id===f);if(!g)return v.NextResponse.json({error:"задачу не знайдено"},{status:404});let h=new Map((await (0,y.C)()).map(a=>[a.path,a])),i=(0,A.F7)(g.id,g.text),j=[];for(let a of e){let b=h.get(a);j.push(await (0,w.Ku)({pid:b?.pid??null,path:a,text:i,images:[]}))}let k=(0,A.Ec)(),l=function(a,b,c,d){let e=[],f=[];for(let a=0;a<b.length;a+=1){let g=b[a],h=c[a]??{error:"немає результату доставки",status:500};"ok"in h&&!0===h.ok?(e.push({path:g,ok:!0,target:h.target,error:null}),f.push({path:g,panePid:null,state:"delivered",error:null,at:d})):(e.push({path:g,ok:!1,target:null,error:h.error}),f.push({path:g,panePid:null,state:"failed",error:h.error,at:d}))}let g=e.filter(a=>a.ok).length;return{message:(0,A.F7)(a.id,a.text),results:e,patches:f,delivered:g,failed:e.length-g}}(g,e,j,k),m=(0,B.z4)(a=>{let b=(0,z.O6)(a,f,l.patches,k);return{tasks:b.ok?b.tasks:void 0,result:b}});return m.ok?v.NextResponse.json({ok:!0,task:m.task,results:l.results,delivered:l.delivered,failed:l.failed}):v.NextResponse.json({error:m.error},{status:m.status})}let F=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/tasks/[id]/send/route",pathname:"/api/tasks/[id]/send",filename:"route",bundlePath:"app/api/tasks/[id]/send/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/live-log-viewer-next/live-log-viewer-next/src/app/api/tasks/[id]/send/route.ts",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:G,workUnitAsyncStorage:H,serverHooks:I}=F;function J(){return(0,g.patchFetch)({workAsyncStorage:G,workUnitAsyncStorage:H})}async function K(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),F.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/tasks/[id]/send/route";"/index"===d&&(d="/");let e=await F.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[I]||A.routes[E]),K=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||F.isDev||z||(L="/index"===(L=E)?"/":L);let M=!0===F.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await F.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>F.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>F.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await F.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),b}},k=await F.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await F.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{a.exports=require("node:os")},60641:(a,b,c)=>{function d(){return new Date().toISOString()}function e(a,b){return`Задача #${a.slice(0,8)}: ${b}`}c.d(b,{Ec:()=>d,F7:()=>e})},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},90748:(a,b,c)=>{c.d(b,{O6:()=>m,UT:()=>j,mQ:()=>k,vq:()=>l});var d=c(77598),e=c.n(d),f=c(60641);function g(a){return"string"!=typeof a?null:a.trim()||null}function h(a){return!a||"object"!=typeof a||Array.isArray(a)?null:"number"==typeof a.x&&Number.isFinite(a.x)&&"number"==typeof a.y&&Number.isFinite(a.y)?{x:a.x,y:a.y}:null}function i(){return{ok:!1,error:"Текст задачі має бути не довший за 6000 символів",status:400}}function j(a,b,c={}){var d;let k="string"!=typeof(d=b.project)?null:d.trim()||null;if(!k)return{ok:!1,error:"потрібен project",status:400};let l=g(b.text);if(!l)return{ok:!1,error:"потрібен текст задачі",status:400};if(l.length>6e3)return i();let m=h(b.pos);if(!m)return{ok:!1,error:"потрібна позиція задачі",status:400};if(a.filter(a=>a.project===k).length>=300)return{ok:!1,error:"У проєкті вже є 300 задач. Закрийте або видаліть зайві задачі.",status:409};let n=c.now?.()??(0,f.Ec)(),o={id:c.id?.()??e().randomUUID(),project:k,status:"inbox",text:l,pos:m,assignments:[],createdAt:n,updatedAt:n};return{ok:!0,tasks:[...a,o],task:o}}function k(a,b,c,d=(0,f.Ec)()){let e=a.findIndex(a=>a.id===b);if(e<0)return{ok:!1,error:"задачу не знайдено",status:404};let j=a[e],l={};if(Object.hasOwn(c,"text")){let a=g(c.text);if(!a)return{ok:!1,error:"потрібен текст задачі",status:400};if(a.length>6e3)return i();l.text=a}if(Object.hasOwn(c,"status")){var m;let a="inbox"===(m=c.status)||"assigned"===m||"blocked"===m||"done"===m?m:null;if(!a)return{ok:!1,error:"некоректний статус задачі",status:400};l.status=a}if(Object.hasOwn(c,"pos")){let a=h(c.pos);if(!a)return{ok:!1,error:"некоректна позиція задачі",status:400};l.pos=a}let n={...j,...l,updatedAt:d},o=a.slice();return o[e]=n,{ok:!0,tasks:o,task:n}}function l(a,b){let c=a.filter(a=>a.id!==b);return c.length===a.length?{ok:!1,error:"задачу не знайдено",status:404}:{ok:!0,tasks:c}}function m(a,b,c,d=(0,f.Ec)()){let e=a.findIndex(a=>a.id===b);if(e<0)return{ok:!1,error:"задачу не знайдено",status:404};let g=a[e],h=c.some(a=>"delivered"===a.state||"spawning"===a.state),i={...g,status:"inbox"===g.status&&h?"assigned":g.status,assignments:function(a,b){let c=a.slice();for(let a of b){let b=c.findIndex(b=>null!==a.path&&b.path===a.path||null===a.path&&null!==a.panePid&&null===b.path&&b.panePid===a.panePid),d={path:a.path,panePid:a.panePid,state:a.state,error:a.error,at:a.at};c=b>=0?[...c.slice(0,b),d,...c.slice(b+1)]:[...c,d]}return c}(g.assignments,c),updatedAt:d},j=a.slice();return j[e]=i,{ok:!0,tasks:j,task:i}}}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[445,813,628,51],()=>b(b.s=42655));module.exports=c})();
|
|
1
|
+
"use strict";(()=>{var a={};a.id=791,a.ids=[791],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21153:(a,b,c)=>{c.d(b,{h6:()=>m,z4:()=>n});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h);let j=(0,c(91724).BQ)("tasks.json");function k(a){var b;return!(!a||"object"!=typeof a||Array.isArray(a))&&("string"==typeof a.path||null===a.path)&&("number"==typeof a.panePid||null===a.panePid)&&(null===a.panePid||Number.isInteger(a.panePid)&&a.panePid>0)&&("delivered"===(b=a.state)||"failed"===b||"spawning"===b)&&("string"==typeof a.error||null===a.error)&&"string"==typeof a.at}function l(a){var b,c;return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.id&&"string"==typeof a.project&&("inbox"===(b=a.status)||"assigned"===b||"blocked"===b||"done"===b)&&"string"==typeof a.text&&!(!(c=a.pos)||"object"!=typeof c||Array.isArray(c))&&"number"==typeof c.x&&Number.isFinite(c.x)&&"number"==typeof c.y&&Number.isFinite(c.y)&&Array.isArray(a.assignments)&&a.assignments.every(k)&&"string"==typeof a.createdAt&&"string"==typeof a.updatedAt}function m(a=j){let b=function(a){try{return JSON.parse(g().readFileSync(a,"utf8"))}catch{return null}}(a);return Array.isArray(b?.tasks)?b.tasks.filter(l):[]}function n(a,b=j){let c=a(m(b));return c.tasks&&function(a,b=j){let c;g().mkdirSync(i().dirname(b),{recursive:!0}),c=i().join(i().dirname(b),`.${i().basename(b)}.${process.pid}.${e().randomUUID()}.tmp`),g().writeFileSync(c,JSON.stringify({tasks:a},null,2)+"\n","utf8"),g().renameSync(c,b)}(c.tasks,b),c.result}},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},35961:(a,b,c)=>{c.d(b,{W:()=>g});var d=c(23211);let e=["localhost","127.0.0.1","::1"];function f(a){if(a.startsWith("[")){let b=a.indexOf("]");return -1===b?a:a.slice(1,b)}let b=a.lastIndexOf(":");return -1===b?a:a.slice(0,b)}function g(a){let b=new Set(e),c=process.env.LLV_TS_HOST;c&&b.add(f(c));let d=a.headers.get("host");if(null===d||!b.has(f(d)))return h();let g=a.headers.get("origin");if(null!==g){let a;try{a=new URL(g).host}catch{a=null}if(null===a||!b.has(f(a)))return h()}let i=a.headers.get("sec-fetch-site");return null!==i&&"same-origin"!==i&&"none"!==i?h():null}function h(){return d.NextResponse.json({error:"заборонено: запит з іншого origin"},{status:403})}},42655:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>K,patchFetch:()=>J,routeModule:()=>F,serverHooks:()=>I,workAsyncStorage:()=>G,workUnitAsyncStorage:()=>H});var d={};c.r(d),c.d(d,{POST:()=>E,dynamic:()=>D,runtime:()=>C});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(1785),x=c(35961),y=c(69232),z=c(90748),A=c(60641),B=c(21153);let C="nodejs",D="force-dynamic";async function E(a,b){let c,d=(0,x.W)(a);if(d)return d;try{c=await a.json()}catch{return v.NextResponse.json({error:"некоректний JSON"},{status:400})}let e=function(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b=a.paths;if(!Array.isArray(b))return null;let c=b.filter(a=>"string"==typeof a&&a.trim().length>0).map(a=>a.trim());return c.length===b.length&&c.length>0?[...new Set(c)]:null}(c);if(!e)return v.NextResponse.json({error:"потрібен paths із розмовами"},{status:400});let{id:f}=await b.params,g=(0,B.h6)().find(a=>a.id===f);if(!g)return v.NextResponse.json({error:"задачу не знайдено"},{status:404});let h=new Map((await (0,y.C)()).map(a=>[a.path,a])),i=(0,A.F7)(g.id,g.text),j=[];for(let a of e){let b=h.get(a);j.push(await (0,w.Ku)({pid:b?.pid??null,path:a,text:i,images:[]}))}let k=(0,A.Ec)(),l=function(a,b,c,d){let e=[],f=[];for(let a=0;a<b.length;a+=1){let g=b[a],h=c[a]??{error:"немає результату доставки",status:500};"ok"in h&&!0===h.ok?(e.push({path:g,ok:!0,target:h.target,error:null}),f.push({path:g,panePid:null,state:"delivered",error:null,at:d})):(e.push({path:g,ok:!1,target:null,error:h.error}),f.push({path:g,panePid:null,state:"failed",error:h.error,at:d}))}let g=e.filter(a=>a.ok).length;return{message:(0,A.F7)(a.id,a.text),results:e,patches:f,delivered:g,failed:e.length-g}}(g,e,j,k),m=(0,B.z4)(a=>{let b=(0,z.O6)(a,f,l.patches,k);return{tasks:b.ok?b.tasks:void 0,result:b}});return m.ok?v.NextResponse.json({ok:!0,task:m.task,results:l.results,delivered:l.delivered,failed:l.failed}):v.NextResponse.json({error:m.error},{status:m.status})}let F=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/tasks/[id]/send/route",pathname:"/api/tasks/[id]/send",filename:"route",bundlePath:"app/api/tasks/[id]/send/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/live-log-viewer-next/live-log-viewer-next/src/app/api/tasks/[id]/send/route.ts",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:G,workUnitAsyncStorage:H,serverHooks:I}=F;function J(){return(0,g.patchFetch)({workAsyncStorage:G,workUnitAsyncStorage:H})}async function K(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),F.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/tasks/[id]/send/route";"/index"===d&&(d="/");let e=await F.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[I]||A.routes[E]),K=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||F.isDev||z||(L="/index"===(L=E)?"/":L);let M=!0===F.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await F.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>F.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>F.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await F.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),b}},k=await F.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await F.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{a.exports=require("node:os")},60641:(a,b,c)=>{function d(){return new Date().toISOString()}function e(a,b){return`Задача #${a.slice(0,8)}: ${b}`}c.d(b,{Ec:()=>d,F7:()=>e})},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},90748:(a,b,c)=>{c.d(b,{O6:()=>m,UT:()=>j,mQ:()=>k,vq:()=>l});var d=c(77598),e=c.n(d),f=c(60641);function g(a){return"string"!=typeof a?null:a.trim()||null}function h(a){return!a||"object"!=typeof a||Array.isArray(a)?null:"number"==typeof a.x&&Number.isFinite(a.x)&&"number"==typeof a.y&&Number.isFinite(a.y)?{x:a.x,y:a.y}:null}function i(){return{ok:!1,error:"Текст задачі має бути не довший за 6000 символів",status:400}}function j(a,b,c={}){var d;let k="string"!=typeof(d=b.project)?null:d.trim()||null;if(!k)return{ok:!1,error:"потрібен project",status:400};let l=g(b.text);if(!l)return{ok:!1,error:"потрібен текст задачі",status:400};if(l.length>6e3)return i();let m=h(b.pos);if(!m)return{ok:!1,error:"потрібна позиція задачі",status:400};if(a.filter(a=>a.project===k).length>=300)return{ok:!1,error:"У проєкті вже є 300 задач. Закрийте або видаліть зайві задачі.",status:409};let n=c.now?.()??(0,f.Ec)(),o={id:c.id?.()??e().randomUUID(),project:k,status:"inbox",text:l,pos:m,assignments:[],createdAt:n,updatedAt:n};return{ok:!0,tasks:[...a,o],task:o}}function k(a,b,c,d=(0,f.Ec)()){let e=a.findIndex(a=>a.id===b);if(e<0)return{ok:!1,error:"задачу не знайдено",status:404};let j=a[e],l={};if(Object.hasOwn(c,"text")){let a=g(c.text);if(!a)return{ok:!1,error:"потрібен текст задачі",status:400};if(a.length>6e3)return i();l.text=a}if(Object.hasOwn(c,"status")){var m;let a="inbox"===(m=c.status)||"assigned"===m||"blocked"===m||"done"===m?m:null;if(!a)return{ok:!1,error:"некоректний статус задачі",status:400};l.status=a}if(Object.hasOwn(c,"pos")){let a=h(c.pos);if(!a)return{ok:!1,error:"некоректна позиція задачі",status:400};l.pos=a}let n={...j,...l,updatedAt:d},o=a.slice();return o[e]=n,{ok:!0,tasks:o,task:n}}function l(a,b){let c=a.filter(a=>a.id!==b);return c.length===a.length?{ok:!1,error:"задачу не знайдено",status:404}:{ok:!0,tasks:c}}function m(a,b,c,d=(0,f.Ec)()){let e=a.findIndex(a=>a.id===b);if(e<0)return{ok:!1,error:"задачу не знайдено",status:404};let g=a[e],h=c.some(a=>"delivered"===a.state||"spawning"===a.state),i={...g,status:"inbox"===g.status&&h?"assigned":g.status,assignments:function(a,b){let c=a.slice();for(let a of b){let b=c.findIndex(b=>null!==a.path&&b.path===a.path||null===a.path&&null!==a.panePid&&null===b.path&&b.panePid===a.panePid),d={path:a.path,panePid:a.panePid,state:a.state,error:a.error,at:a.at};c=b>=0?[...c.slice(0,b),d,...c.slice(b+1)]:[...c,d]}return c}(g.assignments,c),updatedAt:d},j=a.slice();return j[e]=i,{ok:!0,tasks:j,task:i}}}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[445,813,628,51],()=>b(b.s=42655));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=90,a.ids=[90],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},18476:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>Q,patchFetch:()=>P,routeModule:()=>L,serverHooks:()=>O,workAsyncStorage:()=>M,workUnitAsyncStorage:()=>N});var d={};c.r(d),c.d(d,{POST:()=>K,dynamic:()=>J,runtime:()=>I});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(73024),w=c.n(v),x=c(48161),y=c.n(x),z=c(76760),A=c.n(z),B=c(23211),C=c(14509),D=c(35961),E=c(90748),F=c(60641),G=c(21153),H=c(75051);let I="nodejs",J="force-dynamic";async function K(a,b){let c,d=(0,D.W)(a);if(d)return d;try{c=await a.json()}catch{return B.NextResponse.json({error:"некоректний JSON"},{status:400})}let e="claude"===c.engine||"codex"===c.engine?c.engine:null;if(!e)return B.NextResponse.json({error:"engine має бути claude або codex"},{status:400});let f=function(a){let b,c="string"==typeof a?a.trim():"";if(!c)return{error:"потрібна робоча директорія",status:400};let d=A().resolve("~"===c||c.startsWith("~/")?A().join(y().homedir(),c.slice(1)):c);try{b=w().statSync(d)}catch{return{error:`директорії не існує: ${d}`,status:400}}return b.isDirectory()?{cwd:d}:{error:`не директорія: ${d}`,status:400}}(c.cwd);if(!f.cwd)return B.NextResponse.json({error:f.error??"некоректна робоча директорія"},{status:f.status??400});let{id:g}=await b.params,h=(0,G.h6)().find(a=>a.id===g);if(!h)return B.NextResponse.json({error:"задачу не знайдено"},{status:404});try{let a,b=(0,C.lV)(e,f.cwd),c=await (0,H.Tk)(b,h.text),d=(0,F.Ec)();a=b.transcript?{path:b.transcript,panePid:c.panePid??null,state:"delivered",error:null,at:d}:c.panePid?{path:null,panePid:c.panePid,state:"spawning",error:null,at:d}:{path:null,panePid:null,state:"failed",error:"tmux не повернув pid пейна",at:d};let i=(0,G.z4)(b=>{let c=(0,E.O6)(b,g,[a],d);return{tasks:c.ok?c.tasks:void 0,result:c}});if(!i.ok)return B.NextResponse.json({error:i.error},{status:i.status});return B.NextResponse.json({ok:!0,task:i.task,target:c.display,path:a.path,panePid:a.panePid})}catch(a){return B.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:500})}}let L=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/tasks/[id]/spawn/route",pathname:"/api/tasks/[id]/spawn",filename:"route",bundlePath:"app/api/tasks/[id]/spawn/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/live-log-viewer-next/live-log-viewer-next/src/app/api/tasks/[id]/spawn/route.ts",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:M,workUnitAsyncStorage:N,serverHooks:O}=L;function P(){return(0,g.patchFetch)({workAsyncStorage:M,workUnitAsyncStorage:N})}async function Q(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),L.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/tasks/[id]/spawn/route";"/index"===d&&(d="/");let e=await L.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||L.isDev||z||(K="/index"===(K=E)?"/":K);let M=!0===L.isDev||!I,N=I&&!M;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await L.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>L.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>L.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!I)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await L.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),b}},k=await L.handleResponse({req:a,nextConfig:x,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await L.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},21153:(a,b,c)=>{c.d(b,{h6:()=>p,z4:()=>q});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(48161),i=c.n(h),j=c(76760),k=c.n(j);let l=k().join(i().homedir(),".claude","viewer-state"),m=k().join(l,"tasks.json");function n(a){var b;return!(!a||"object"!=typeof a||Array.isArray(a))&&("string"==typeof a.path||null===a.path)&&("number"==typeof a.panePid||null===a.panePid)&&(null===a.panePid||Number.isInteger(a.panePid)&&a.panePid>0)&&("delivered"===(b=a.state)||"failed"===b||"spawning"===b)&&("string"==typeof a.error||null===a.error)&&"string"==typeof a.at}function o(a){var b,c;return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.id&&"string"==typeof a.project&&("inbox"===(b=a.status)||"assigned"===b||"blocked"===b||"done"===b)&&"string"==typeof a.text&&!(!(c=a.pos)||"object"!=typeof c||Array.isArray(c))&&"number"==typeof c.x&&Number.isFinite(c.x)&&"number"==typeof c.y&&Number.isFinite(c.y)&&Array.isArray(a.assignments)&&a.assignments.every(n)&&"string"==typeof a.createdAt&&"string"==typeof a.updatedAt}function p(a=m){let b=function(a){try{return JSON.parse(g().readFileSync(a,"utf8"))}catch{return null}}(a);return Array.isArray(b?.tasks)?b.tasks.filter(o):[]}function q(a,b=m){let c=a(p(b));return c.tasks&&function(a,b=m){let c;g().mkdirSync(k().dirname(b),{recursive:!0}),c=k().join(k().dirname(b),`.${k().basename(b)}.${process.pid}.${e().randomUUID()}.tmp`),g().writeFileSync(c,JSON.stringify({tasks:a},null,2)+"\n","utf8"),g().renameSync(c,b)}(c.tasks,b),c.result}},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},35961:(a,b,c)=>{c.d(b,{W:()=>g});var d=c(23211);let e=["localhost","127.0.0.1","::1"];function f(a){if(a.startsWith("[")){let b=a.indexOf("]");return -1===b?a:a.slice(1,b)}let b=a.lastIndexOf(":");return -1===b?a:a.slice(0,b)}function g(a){let b=new Set(e),c=process.env.LLV_TS_HOST;c&&b.add(f(c));let d=a.headers.get("host");if(null===d||!b.has(f(d)))return h();let g=a.headers.get("origin");if(null!==g){let a;try{a=new URL(g).host}catch{a=null}if(null===a||!b.has(f(a)))return h()}let i=a.headers.get("sec-fetch-site");return null!==i&&"same-origin"!==i&&"none"!==i?h():null}function h(){return d.NextResponse.json({error:"заборонено: запит з іншого origin"},{status:403})}},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{a.exports=require("node:os")},60641:(a,b,c)=>{function d(){return new Date().toISOString()}function e(a,b){return`Задача #${a.slice(0,8)}: ${b}`}c.d(b,{Ec:()=>d,F7:()=>e})},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},90748:(a,b,c)=>{c.d(b,{O6:()=>m,UT:()=>j,mQ:()=>k,vq:()=>l});var d=c(77598),e=c.n(d),f=c(60641);function g(a){return"string"!=typeof a?null:a.trim()||null}function h(a){return!a||"object"!=typeof a||Array.isArray(a)?null:"number"==typeof a.x&&Number.isFinite(a.x)&&"number"==typeof a.y&&Number.isFinite(a.y)?{x:a.x,y:a.y}:null}function i(){return{ok:!1,error:"Текст задачі має бути не довший за 6000 символів",status:400}}function j(a,b,c={}){var d;let k="string"!=typeof(d=b.project)?null:d.trim()||null;if(!k)return{ok:!1,error:"потрібен project",status:400};let l=g(b.text);if(!l)return{ok:!1,error:"потрібен текст задачі",status:400};if(l.length>6e3)return i();let m=h(b.pos);if(!m)return{ok:!1,error:"потрібна позиція задачі",status:400};if(a.filter(a=>a.project===k).length>=300)return{ok:!1,error:"У проєкті вже є 300 задач. Закрийте або видаліть зайві задачі.",status:409};let n=c.now?.()??(0,f.Ec)(),o={id:c.id?.()??e().randomUUID(),project:k,status:"inbox",text:l,pos:m,assignments:[],createdAt:n,updatedAt:n};return{ok:!0,tasks:[...a,o],task:o}}function k(a,b,c,d=(0,f.Ec)()){let e=a.findIndex(a=>a.id===b);if(e<0)return{ok:!1,error:"задачу не знайдено",status:404};let j=a[e],l={};if(Object.hasOwn(c,"text")){let a=g(c.text);if(!a)return{ok:!1,error:"потрібен текст задачі",status:400};if(a.length>6e3)return i();l.text=a}if(Object.hasOwn(c,"status")){var m;let a="inbox"===(m=c.status)||"assigned"===m||"blocked"===m||"done"===m?m:null;if(!a)return{ok:!1,error:"некоректний статус задачі",status:400};l.status=a}if(Object.hasOwn(c,"pos")){let a=h(c.pos);if(!a)return{ok:!1,error:"некоректна позиція задачі",status:400};l.pos=a}let n={...j,...l,updatedAt:d},o=a.slice();return o[e]=n,{ok:!0,tasks:o,task:n}}function l(a,b){let c=a.filter(a=>a.id!==b);return c.length===a.length?{ok:!1,error:"задачу не знайдено",status:404}:{ok:!0,tasks:c}}function m(a,b,c,d=(0,f.Ec)()){let e=a.findIndex(a=>a.id===b);if(e<0)return{ok:!1,error:"задачу не знайдено",status:404};let g=a[e],h=c.some(a=>"delivered"===a.state||"spawning"===a.state),i={...g,status:"inbox"===g.status&&h?"assigned":g.status,assignments:function(a,b){let c=a.slice();for(let a of b){let b=c.findIndex(b=>null!==a.path&&b.path===a.path||null===a.path&&null!==a.panePid&&null===b.path&&b.panePid===a.panePid),d={path:a.path,panePid:a.panePid,state:a.state,error:a.error,at:a.at};c=b>=0?[...c.slice(0,b),d,...c.slice(b+1)]:[...c,d]}return c}(g.assignments,c),updatedAt:d},j=a.slice();return j[e]=i,{ok:!0,tasks:j,task:i}}}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[445,813,628,51],()=>b(b.s=18476));module.exports=c})();
|
|
1
|
+
"use strict";(()=>{var a={};a.id=90,a.ids=[90],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},18476:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>Q,patchFetch:()=>P,routeModule:()=>L,serverHooks:()=>O,workAsyncStorage:()=>M,workUnitAsyncStorage:()=>N});var d={};c.r(d),c.d(d,{POST:()=>K,dynamic:()=>J,runtime:()=>I});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(73024),w=c.n(v),x=c(48161),y=c.n(x),z=c(76760),A=c.n(z),B=c(23211),C=c(14509),D=c(35961),E=c(90748),F=c(60641),G=c(21153),H=c(75051);let I="nodejs",J="force-dynamic";async function K(a,b){let c,d=(0,D.W)(a);if(d)return d;try{c=await a.json()}catch{return B.NextResponse.json({error:"некоректний JSON"},{status:400})}let e="claude"===c.engine||"codex"===c.engine?c.engine:null;if(!e)return B.NextResponse.json({error:"engine має бути claude або codex"},{status:400});let f=function(a){let b,c="string"==typeof a?a.trim():"";if(!c)return{error:"потрібна робоча директорія",status:400};let d=A().resolve("~"===c||c.startsWith("~/")?A().join(y().homedir(),c.slice(1)):c);try{b=w().statSync(d)}catch{return{error:`директорії не існує: ${d}`,status:400}}return b.isDirectory()?{cwd:d}:{error:`не директорія: ${d}`,status:400}}(c.cwd);if(!f.cwd)return B.NextResponse.json({error:f.error??"некоректна робоча директорія"},{status:f.status??400});let{id:g}=await b.params,h=(0,G.h6)().find(a=>a.id===g);if(!h)return B.NextResponse.json({error:"задачу не знайдено"},{status:404});try{let a,b=(0,C.lV)(e,f.cwd),c=await (0,H.Tk)(b,h.text),d=(0,F.Ec)();a=b.transcript?{path:b.transcript,panePid:c.panePid??null,state:"delivered",error:null,at:d}:c.panePid?{path:null,panePid:c.panePid,state:"spawning",error:null,at:d}:{path:null,panePid:null,state:"failed",error:"tmux не повернув pid пейна",at:d};let i=(0,G.z4)(b=>{let c=(0,E.O6)(b,g,[a],d);return{tasks:c.ok?c.tasks:void 0,result:c}});if(!i.ok)return B.NextResponse.json({error:i.error},{status:i.status});return B.NextResponse.json({ok:!0,task:i.task,target:c.display,path:a.path,panePid:a.panePid})}catch(a){return B.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:500})}}let L=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/tasks/[id]/spawn/route",pathname:"/api/tasks/[id]/spawn",filename:"route",bundlePath:"app/api/tasks/[id]/spawn/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/live-log-viewer-next/live-log-viewer-next/src/app/api/tasks/[id]/spawn/route.ts",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:M,workUnitAsyncStorage:N,serverHooks:O}=L;function P(){return(0,g.patchFetch)({workAsyncStorage:M,workUnitAsyncStorage:N})}async function Q(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),L.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/tasks/[id]/spawn/route";"/index"===d&&(d="/");let e=await L.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||L.isDev||z||(K="/index"===(K=E)?"/":K);let M=!0===L.isDev||!I,N=I&&!M;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await L.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>L.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>L.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!I)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await L.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),b}},k=await L.handleResponse({req:a,nextConfig:x,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await L.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},21153:(a,b,c)=>{c.d(b,{h6:()=>m,z4:()=>n});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h);let j=(0,c(91724).BQ)("tasks.json");function k(a){var b;return!(!a||"object"!=typeof a||Array.isArray(a))&&("string"==typeof a.path||null===a.path)&&("number"==typeof a.panePid||null===a.panePid)&&(null===a.panePid||Number.isInteger(a.panePid)&&a.panePid>0)&&("delivered"===(b=a.state)||"failed"===b||"spawning"===b)&&("string"==typeof a.error||null===a.error)&&"string"==typeof a.at}function l(a){var b,c;return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.id&&"string"==typeof a.project&&("inbox"===(b=a.status)||"assigned"===b||"blocked"===b||"done"===b)&&"string"==typeof a.text&&!(!(c=a.pos)||"object"!=typeof c||Array.isArray(c))&&"number"==typeof c.x&&Number.isFinite(c.x)&&"number"==typeof c.y&&Number.isFinite(c.y)&&Array.isArray(a.assignments)&&a.assignments.every(k)&&"string"==typeof a.createdAt&&"string"==typeof a.updatedAt}function m(a=j){let b=function(a){try{return JSON.parse(g().readFileSync(a,"utf8"))}catch{return null}}(a);return Array.isArray(b?.tasks)?b.tasks.filter(l):[]}function n(a,b=j){let c=a(m(b));return c.tasks&&function(a,b=j){let c;g().mkdirSync(i().dirname(b),{recursive:!0}),c=i().join(i().dirname(b),`.${i().basename(b)}.${process.pid}.${e().randomUUID()}.tmp`),g().writeFileSync(c,JSON.stringify({tasks:a},null,2)+"\n","utf8"),g().renameSync(c,b)}(c.tasks,b),c.result}},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},35961:(a,b,c)=>{c.d(b,{W:()=>g});var d=c(23211);let e=["localhost","127.0.0.1","::1"];function f(a){if(a.startsWith("[")){let b=a.indexOf("]");return -1===b?a:a.slice(1,b)}let b=a.lastIndexOf(":");return -1===b?a:a.slice(0,b)}function g(a){let b=new Set(e),c=process.env.LLV_TS_HOST;c&&b.add(f(c));let d=a.headers.get("host");if(null===d||!b.has(f(d)))return h();let g=a.headers.get("origin");if(null!==g){let a;try{a=new URL(g).host}catch{a=null}if(null===a||!b.has(f(a)))return h()}let i=a.headers.get("sec-fetch-site");return null!==i&&"same-origin"!==i&&"none"!==i?h():null}function h(){return d.NextResponse.json({error:"заборонено: запит з іншого origin"},{status:403})}},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{a.exports=require("node:os")},60641:(a,b,c)=>{function d(){return new Date().toISOString()}function e(a,b){return`Задача #${a.slice(0,8)}: ${b}`}c.d(b,{Ec:()=>d,F7:()=>e})},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},90748:(a,b,c)=>{c.d(b,{O6:()=>m,UT:()=>j,mQ:()=>k,vq:()=>l});var d=c(77598),e=c.n(d),f=c(60641);function g(a){return"string"!=typeof a?null:a.trim()||null}function h(a){return!a||"object"!=typeof a||Array.isArray(a)?null:"number"==typeof a.x&&Number.isFinite(a.x)&&"number"==typeof a.y&&Number.isFinite(a.y)?{x:a.x,y:a.y}:null}function i(){return{ok:!1,error:"Текст задачі має бути не довший за 6000 символів",status:400}}function j(a,b,c={}){var d;let k="string"!=typeof(d=b.project)?null:d.trim()||null;if(!k)return{ok:!1,error:"потрібен project",status:400};let l=g(b.text);if(!l)return{ok:!1,error:"потрібен текст задачі",status:400};if(l.length>6e3)return i();let m=h(b.pos);if(!m)return{ok:!1,error:"потрібна позиція задачі",status:400};if(a.filter(a=>a.project===k).length>=300)return{ok:!1,error:"У проєкті вже є 300 задач. Закрийте або видаліть зайві задачі.",status:409};let n=c.now?.()??(0,f.Ec)(),o={id:c.id?.()??e().randomUUID(),project:k,status:"inbox",text:l,pos:m,assignments:[],createdAt:n,updatedAt:n};return{ok:!0,tasks:[...a,o],task:o}}function k(a,b,c,d=(0,f.Ec)()){let e=a.findIndex(a=>a.id===b);if(e<0)return{ok:!1,error:"задачу не знайдено",status:404};let j=a[e],l={};if(Object.hasOwn(c,"text")){let a=g(c.text);if(!a)return{ok:!1,error:"потрібен текст задачі",status:400};if(a.length>6e3)return i();l.text=a}if(Object.hasOwn(c,"status")){var m;let a="inbox"===(m=c.status)||"assigned"===m||"blocked"===m||"done"===m?m:null;if(!a)return{ok:!1,error:"некоректний статус задачі",status:400};l.status=a}if(Object.hasOwn(c,"pos")){let a=h(c.pos);if(!a)return{ok:!1,error:"некоректна позиція задачі",status:400};l.pos=a}let n={...j,...l,updatedAt:d},o=a.slice();return o[e]=n,{ok:!0,tasks:o,task:n}}function l(a,b){let c=a.filter(a=>a.id!==b);return c.length===a.length?{ok:!1,error:"задачу не знайдено",status:404}:{ok:!0,tasks:c}}function m(a,b,c,d=(0,f.Ec)()){let e=a.findIndex(a=>a.id===b);if(e<0)return{ok:!1,error:"задачу не знайдено",status:404};let g=a[e],h=c.some(a=>"delivered"===a.state||"spawning"===a.state),i={...g,status:"inbox"===g.status&&h?"assigned":g.status,assignments:function(a,b){let c=a.slice();for(let a of b){let b=c.findIndex(b=>null!==a.path&&b.path===a.path||null===a.path&&null!==a.panePid&&null===b.path&&b.panePid===a.panePid),d={path:a.path,panePid:a.panePid,state:a.state,error:a.error,at:a.at};c=b>=0?[...c.slice(0,b),d,...c.slice(b+1)]:[...c,d]}return c}(g.assignments,c),updatedAt:d},j=a.slice();return j[e]=i,{ok:!0,tasks:j,task:i}}}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[445,813,628,51],()=>b(b.s=18476));module.exports=c})();
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
(()=>{var a={};a.id=456,a.ids=[456],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21153:(a,b,c)=>{"use strict";c.d(b,{h6:()=>p,z4:()=>q});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(48161),i=c.n(h),j=c(76760),k=c.n(j);let l=k().join(i().homedir(),".claude","viewer-state"),m=k().join(l,"tasks.json");function n(a){var b;return!(!a||"object"!=typeof a||Array.isArray(a))&&("string"==typeof a.path||null===a.path)&&("number"==typeof a.panePid||null===a.panePid)&&(null===a.panePid||Number.isInteger(a.panePid)&&a.panePid>0)&&("delivered"===(b=a.state)||"failed"===b||"spawning"===b)&&("string"==typeof a.error||null===a.error)&&"string"==typeof a.at}function o(a){var b,c;return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.id&&"string"==typeof a.project&&("inbox"===(b=a.status)||"assigned"===b||"blocked"===b||"done"===b)&&"string"==typeof a.text&&!(!(c=a.pos)||"object"!=typeof c||Array.isArray(c))&&"number"==typeof c.x&&Number.isFinite(c.x)&&"number"==typeof c.y&&Number.isFinite(c.y)&&Array.isArray(a.assignments)&&a.assignments.every(n)&&"string"==typeof a.createdAt&&"string"==typeof a.updatedAt}function p(a=m){let b=function(a){try{return JSON.parse(g().readFileSync(a,"utf8"))}catch{return null}}(a);return Array.isArray(b?.tasks)?b.tasks.filter(o):[]}function q(a,b=m){let c=a(p(b));return c.tasks&&function(a,b=m){let c;g().mkdirSync(k().dirname(b),{recursive:!0}),c=k().join(k().dirname(b),`.${k().basename(b)}.${process.pid}.${e().randomUUID()}.tmp`),g().writeFileSync(c,JSON.stringify({tasks:a},null,2)+"\n","utf8"),g().renameSync(c,b)}(c.tasks,b),c.result}},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},35961:(a,b,c)=>{"use strict";c.d(b,{W:()=>g});var d=c(23211);let e=["localhost","127.0.0.1","::1"];function f(a){if(a.startsWith("[")){let b=a.indexOf("]");return -1===b?a:a.slice(1,b)}let b=a.lastIndexOf(":");return -1===b?a:a.slice(0,b)}function g(a){let b=new Set(e),c=process.env.LLV_TS_HOST;c&&b.add(f(c));let d=a.headers.get("host");if(null===d||!b.has(f(d)))return h();let g=a.headers.get("origin");if(null!==g){let a;try{a=new URL(g).host}catch{a=null}if(null===a||!b.has(f(a)))return h()}let i=a.headers.get("sec-fetch-site");return null!==i&&"same-origin"!==i&&"none"!==i?h():null}function h(){return d.NextResponse.json({error:"заборонено: запит з іншого origin"},{status:403})}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46324:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>H,patchFetch:()=>G,routeModule:()=>C,serverHooks:()=>F,workAsyncStorage:()=>D,workUnitAsyncStorage:()=>E});var d={};c.r(d),c.d(d,{POST:()=>B,dynamic:()=>A,runtime:()=>z});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(90748),x=c(21153),y=c(35961);let z="nodejs",A="force-dynamic";async function B(a){let b,c=(0,y.W)(a);if(c)return c;try{b=await a.json()}catch{return v.NextResponse.json({error:"некоректний JSON"},{status:400})}let d=(0,x.z4)(a=>{let c=(0,w.UT)(a,b);return{tasks:c.ok?c.tasks:void 0,result:c}});return d.ok?v.NextResponse.json({ok:!0,task:d.task}):v.NextResponse.json({error:d.error},{status:d.status})}let C=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/tasks/route",pathname:"/api/tasks",filename:"route",bundlePath:"app/api/tasks/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/live-log-viewer-next/live-log-viewer-next/src/app/api/tasks/route.ts",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:D,workUnitAsyncStorage:E,serverHooks:F}=C;function G(){return(0,g.patchFetch)({workAsyncStorage:D,workUnitAsyncStorage:E})}async function H(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),C.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/tasks/route";"/index"===d&&(d="/");let e=await C.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[I]||A.routes[F]),K=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[F],b=A.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||C.isDev||z||(L="/index"===(L=F)?"/":L);let M=!0===C.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await C.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>C.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>C.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await C.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,B),b}},k=await C.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await C.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,B),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},48161:a=>{"use strict";a.exports=require("node:os")},60641:(a,b,c)=>{"use strict";function d(){return new Date().toISOString()}function e(a,b){return`Задача #${a.slice(0,8)}: ${b}`}c.d(b,{Ec:()=>d,F7:()=>e})},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},90748:(a,b,c)=>{"use strict";c.d(b,{O6:()=>m,UT:()=>j,mQ:()=>k,vq:()=>l});var d=c(77598),e=c.n(d),f=c(60641);function g(a){return"string"!=typeof a?null:a.trim()||null}function h(a){return!a||"object"!=typeof a||Array.isArray(a)?null:"number"==typeof a.x&&Number.isFinite(a.x)&&"number"==typeof a.y&&Number.isFinite(a.y)?{x:a.x,y:a.y}:null}function i(){return{ok:!1,error:"Текст задачі має бути не довший за 6000 символів",status:400}}function j(a,b,c={}){var d;let k="string"!=typeof(d=b.project)?null:d.trim()||null;if(!k)return{ok:!1,error:"потрібен project",status:400};let l=g(b.text);if(!l)return{ok:!1,error:"потрібен текст задачі",status:400};if(l.length>6e3)return i();let m=h(b.pos);if(!m)return{ok:!1,error:"потрібна позиція задачі",status:400};if(a.filter(a=>a.project===k).length>=300)return{ok:!1,error:"У проєкті вже є 300 задач. Закрийте або видаліть зайві задачі.",status:409};let n=c.now?.()??(0,f.Ec)(),o={id:c.id?.()??e().randomUUID(),project:k,status:"inbox",text:l,pos:m,assignments:[],createdAt:n,updatedAt:n};return{ok:!0,tasks:[...a,o],task:o}}function k(a,b,c,d=(0,f.Ec)()){let e=a.findIndex(a=>a.id===b);if(e<0)return{ok:!1,error:"задачу не знайдено",status:404};let j=a[e],l={};if(Object.hasOwn(c,"text")){let a=g(c.text);if(!a)return{ok:!1,error:"потрібен текст задачі",status:400};if(a.length>6e3)return i();l.text=a}if(Object.hasOwn(c,"status")){var m;let a="inbox"===(m=c.status)||"assigned"===m||"blocked"===m||"done"===m?m:null;if(!a)return{ok:!1,error:"некоректний статус задачі",status:400};l.status=a}if(Object.hasOwn(c,"pos")){let a=h(c.pos);if(!a)return{ok:!1,error:"некоректна позиція задачі",status:400};l.pos=a}let n={...j,...l,updatedAt:d},o=a.slice();return o[e]=n,{ok:!0,tasks:o,task:n}}function l(a,b){let c=a.filter(a=>a.id!==b);return c.length===a.length?{ok:!1,error:"задачу не знайдено",status:404}:{ok:!0,tasks:c}}function m(a,b,c,d=(0,f.Ec)()){let e=a.findIndex(a=>a.id===b);if(e<0)return{ok:!1,error:"задачу не знайдено",status:404};let g=a[e],h=c.some(a=>"delivered"===a.state||"spawning"===a.state),i={...g,status:"inbox"===g.status&&h?"assigned":g.status,assignments:function(a,b){let c=a.slice();for(let a of b){let b=c.findIndex(b=>null!==a.path&&b.path===a.path||null===a.path&&null!==a.panePid&&null===b.path&&b.panePid===a.panePid),d={path:a.path,panePid:a.panePid,state:a.state,error:a.error,at:a.at};c=b>=0?[...c.slice(0,b),d,...c.slice(b+1)]:[...c,d]}return c}(g.assignments,c),updatedAt:d},j=a.slice();return j[e]=i,{ok:!0,tasks:j,task:i}}},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[445,813],()=>b(b.s=46324));module.exports=c})();
|
|
1
|
+
(()=>{var a={};a.id=456,a.ids=[456],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21153:(a,b,c)=>{"use strict";c.d(b,{h6:()=>m,z4:()=>n});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h);let j=(0,c(91724).BQ)("tasks.json");function k(a){var b;return!(!a||"object"!=typeof a||Array.isArray(a))&&("string"==typeof a.path||null===a.path)&&("number"==typeof a.panePid||null===a.panePid)&&(null===a.panePid||Number.isInteger(a.panePid)&&a.panePid>0)&&("delivered"===(b=a.state)||"failed"===b||"spawning"===b)&&("string"==typeof a.error||null===a.error)&&"string"==typeof a.at}function l(a){var b,c;return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.id&&"string"==typeof a.project&&("inbox"===(b=a.status)||"assigned"===b||"blocked"===b||"done"===b)&&"string"==typeof a.text&&!(!(c=a.pos)||"object"!=typeof c||Array.isArray(c))&&"number"==typeof c.x&&Number.isFinite(c.x)&&"number"==typeof c.y&&Number.isFinite(c.y)&&Array.isArray(a.assignments)&&a.assignments.every(k)&&"string"==typeof a.createdAt&&"string"==typeof a.updatedAt}function m(a=j){let b=function(a){try{return JSON.parse(g().readFileSync(a,"utf8"))}catch{return null}}(a);return Array.isArray(b?.tasks)?b.tasks.filter(l):[]}function n(a,b=j){let c=a(m(b));return c.tasks&&function(a,b=j){let c;g().mkdirSync(i().dirname(b),{recursive:!0}),c=i().join(i().dirname(b),`.${i().basename(b)}.${process.pid}.${e().randomUUID()}.tmp`),g().writeFileSync(c,JSON.stringify({tasks:a},null,2)+"\n","utf8"),g().renameSync(c,b)}(c.tasks,b),c.result}},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},35961:(a,b,c)=>{"use strict";c.d(b,{W:()=>g});var d=c(23211);let e=["localhost","127.0.0.1","::1"];function f(a){if(a.startsWith("[")){let b=a.indexOf("]");return -1===b?a:a.slice(1,b)}let b=a.lastIndexOf(":");return -1===b?a:a.slice(0,b)}function g(a){let b=new Set(e),c=process.env.LLV_TS_HOST;c&&b.add(f(c));let d=a.headers.get("host");if(null===d||!b.has(f(d)))return h();let g=a.headers.get("origin");if(null!==g){let a;try{a=new URL(g).host}catch{a=null}if(null===a||!b.has(f(a)))return h()}let i=a.headers.get("sec-fetch-site");return null!==i&&"same-origin"!==i&&"none"!==i?h():null}function h(){return d.NextResponse.json({error:"заборонено: запит з іншого origin"},{status:403})}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46324:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>H,patchFetch:()=>G,routeModule:()=>C,serverHooks:()=>F,workAsyncStorage:()=>D,workUnitAsyncStorage:()=>E});var d={};c.r(d),c.d(d,{POST:()=>B,dynamic:()=>A,runtime:()=>z});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(90748),x=c(21153),y=c(35961);let z="nodejs",A="force-dynamic";async function B(a){let b,c=(0,y.W)(a);if(c)return c;try{b=await a.json()}catch{return v.NextResponse.json({error:"некоректний JSON"},{status:400})}let d=(0,x.z4)(a=>{let c=(0,w.UT)(a,b);return{tasks:c.ok?c.tasks:void 0,result:c}});return d.ok?v.NextResponse.json({ok:!0,task:d.task}):v.NextResponse.json({error:d.error},{status:d.status})}let C=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/tasks/route",pathname:"/api/tasks",filename:"route",bundlePath:"app/api/tasks/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/live-log-viewer-next/live-log-viewer-next/src/app/api/tasks/route.ts",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:D,workUnitAsyncStorage:E,serverHooks:F}=C;function G(){return(0,g.patchFetch)({workAsyncStorage:D,workUnitAsyncStorage:E})}async function H(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),C.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/tasks/route";"/index"===d&&(d="/");let e=await C.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[I]||A.routes[F]),K=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[F],b=A.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||C.isDev||z||(L="/index"===(L=F)?"/":L);let M=!0===C.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await C.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>C.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>C.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await C.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,B),b}},k=await C.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await C.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,B),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},48161:a=>{"use strict";a.exports=require("node:os")},60641:(a,b,c)=>{"use strict";function d(){return new Date().toISOString()}function e(a,b){return`Задача #${a.slice(0,8)}: ${b}`}c.d(b,{Ec:()=>d,F7:()=>e})},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},90748:(a,b,c)=>{"use strict";c.d(b,{O6:()=>m,UT:()=>j,mQ:()=>k,vq:()=>l});var d=c(77598),e=c.n(d),f=c(60641);function g(a){return"string"!=typeof a?null:a.trim()||null}function h(a){return!a||"object"!=typeof a||Array.isArray(a)?null:"number"==typeof a.x&&Number.isFinite(a.x)&&"number"==typeof a.y&&Number.isFinite(a.y)?{x:a.x,y:a.y}:null}function i(){return{ok:!1,error:"Текст задачі має бути не довший за 6000 символів",status:400}}function j(a,b,c={}){var d;let k="string"!=typeof(d=b.project)?null:d.trim()||null;if(!k)return{ok:!1,error:"потрібен project",status:400};let l=g(b.text);if(!l)return{ok:!1,error:"потрібен текст задачі",status:400};if(l.length>6e3)return i();let m=h(b.pos);if(!m)return{ok:!1,error:"потрібна позиція задачі",status:400};if(a.filter(a=>a.project===k).length>=300)return{ok:!1,error:"У проєкті вже є 300 задач. Закрийте або видаліть зайві задачі.",status:409};let n=c.now?.()??(0,f.Ec)(),o={id:c.id?.()??e().randomUUID(),project:k,status:"inbox",text:l,pos:m,assignments:[],createdAt:n,updatedAt:n};return{ok:!0,tasks:[...a,o],task:o}}function k(a,b,c,d=(0,f.Ec)()){let e=a.findIndex(a=>a.id===b);if(e<0)return{ok:!1,error:"задачу не знайдено",status:404};let j=a[e],l={};if(Object.hasOwn(c,"text")){let a=g(c.text);if(!a)return{ok:!1,error:"потрібен текст задачі",status:400};if(a.length>6e3)return i();l.text=a}if(Object.hasOwn(c,"status")){var m;let a="inbox"===(m=c.status)||"assigned"===m||"blocked"===m||"done"===m?m:null;if(!a)return{ok:!1,error:"некоректний статус задачі",status:400};l.status=a}if(Object.hasOwn(c,"pos")){let a=h(c.pos);if(!a)return{ok:!1,error:"некоректна позиція задачі",status:400};l.pos=a}let n={...j,...l,updatedAt:d},o=a.slice();return o[e]=n,{ok:!0,tasks:o,task:n}}function l(a,b){let c=a.filter(a=>a.id!==b);return c.length===a.length?{ok:!1,error:"задачу не знайдено",status:404}:{ok:!0,tasks:c}}function m(a,b,c,d=(0,f.Ec)()){let e=a.findIndex(a=>a.id===b);if(e<0)return{ok:!1,error:"задачу не знайдено",status:404};let g=a[e],h=c.some(a=>"delivered"===a.state||"spawning"===a.state),i={...g,status:"inbox"===g.status&&h?"assigned":g.status,assignments:function(a,b){let c=a.slice();for(let a of b){let b=c.findIndex(b=>null!==a.path&&b.path===a.path||null===a.path&&null!==a.panePid&&null===b.path&&b.panePid===a.panePid),d={path:a.path,panePid:a.panePid,state:a.state,error:a.error,at:a.at};c=b>=0?[...c.slice(0,b),d,...c.slice(b+1)]:[...c,d]}return c}(g.assignments,c),updatedAt:d},j=a.slice();return j[e]=i,{ok:!0,tasks:j,task:i}}},91724:(a,b,c)=>{"use strict";c.d(b,{BQ:()=>r,UT:()=>m,ks:()=>l,oy:()=>s});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h);let j="agent-log-viewer";function k(){return process.env.XDG_CONFIG_HOME||i().join(g().homedir(),".config")}function l(a){return n(k(),a)}function m(a){return n(process.env.XDG_CACHE_HOME||i().join(g().homedir(),".cache"),a)}function n(a,b){let c=i().join(a,j,b);if(e().existsSync(c))return c;let d=i().join(a,"live-log-viewer",b);return e().existsSync(d)?d:c}let o=new Set,p=".migrated-from-legacy";function q(a,b){if(o.has(a))return;let c=i().join(a,p),d=()=>`${new Date().toISOString()} ${b}
|
|
2
|
+
`;try{if(e().existsSync(c))return void o.add(a);if(!e().existsSync(b)){e().mkdirSync(a,{recursive:!0}),e().writeFileSync(c,d()),o.add(a);return}if(!e().existsSync(a)){e().mkdirSync(i().dirname(a),{recursive:!0});let c=`${a}.migrating.${process.pid}`;e().rmSync(c,{recursive:!0,force:!0});try{e().cpSync(b,c,{recursive:!0}),e().writeFileSync(i().join(c,p),d()),e().renameSync(c,a)}catch(a){throw e().rmSync(c,{recursive:!0,force:!0}),a}o.add(a);return}e().cpSync(b,a,{recursive:!0,force:!1,errorOnExist:!1}),e().writeFileSync(c,d()),o.add(a)}catch(c){console.error(`viewer state migration ${b} -> ${a} failed; will retry:`,c)}}function r(...a){return i().join(function(){let a=process.env.LLV_STATE_DIR;if(a)return a;let b=i().join(k(),j,"state");return q(b,i().join(g().homedir(),".claude","viewer-state")),b}(),...a)}function s(){let a=i().join(k(),j,"inbox");return q(a,i().join(g().homedir(),".claude","viewer-inbox")),a}},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[445,813],()=>b(b.s=46324));module.exports=c})();
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
(()=>{var a={};a.id=391,a.ids=[391],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14904:(a,b,c)=>{"use strict";c.d(b,{F:()=>h,y:()=>g});var d=c(73024),e=c.n(d),f=c(91724);function g(){let a=process.env.LLV_TRANSCRIBE_BACKEND?.trim().toLowerCase();if("chatgpt"===a||"local"===a||"elevenlabs"===a)return a;try{let a=e().readFileSync((0,f.k)("transcribe-backend"),"utf8").trim().toLowerCase();if("chatgpt"===a||"elevenlabs"===a)return a}catch{}return"local"}function h(){let a=process.env.ELEVENLABS_API_KEY?.trim();if(a)return a;try{return e().readFileSync((0,f.k)("elevenlabs-api-key"),"utf8").trim()||null}catch{return null}}},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},35961:(a,b,c)=>{"use strict";c.d(b,{W:()=>g});var d=c(23211);let e=["localhost","127.0.0.1","::1"];function f(a){if(a.startsWith("[")){let b=a.indexOf("]");return -1===b?a:a.slice(1,b)}let b=a.lastIndexOf(":");return -1===b?a:a.slice(0,b)}function g(a){let b=new Set(e),c=process.env.LLV_TS_HOST;c&&b.add(f(c));let d=a.headers.get("host");if(null===d||!b.has(f(d)))return h();let g=a.headers.get("origin");if(null!==g){let a;try{a=new URL(g).host}catch{a=null}if(null===a||!b.has(f(a)))return h()}let i=a.headers.get("sec-fetch-site");return null!==i&&"same-origin"!==i&&"none"!==i?h():null}function h(){return d.NextResponse.json({error:"заборонено: запит з іншого origin"},{status:403})}},38639:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>T,patchFetch:()=>S,routeModule:()=>O,serverHooks:()=>R,workAsyncStorage:()=>P,workUnitAsyncStorage:()=>Q});var d={};c.r(d),c.d(d,{POST:()=>N,dynamic:()=>L,runtime:()=>K});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(73024),w=c.n(v),x=c(48161),y=c.n(x),z=c(76760),A=c.n(z),B=c(23211),C=c(35961),D=c(31421);let E=process.env.LLV_ELEVENLABS_STT_MODEL||"scribe_v1";async function F(a,b,c){let d=new FormData;d.append("model_id",E),d.append("file",b,"dictation.webm"),c&&d.append("language_code",c);let e=await fetch("https://api.elevenlabs.io/v1/speech-to-text",{method:"POST",headers:{"xi-api-key":a},body:d,signal:AbortSignal.timeout(9e4)});if(!e.ok){let a=await e.text().catch(()=>"");throw Error(`HTTP ${e.status}${a?` — ${a.slice(0,200)}`:""}`)}let f=await e.json();return{text:"string"==typeof f.text?f.text:""}}var G=c(91724);let H=process.env.LLV_WHISPER_MODEL||"small",I=process.env.LLV_WHISPER_DEVICE||"cpu";var J=c(14904);let K="nodejs",L="force-dynamic",M=/^[a-z]{2}(?:-[A-Z]{2})?$/;async function N(a){let b,c=(0,C.W)(a);if(c)return c;try{b=await a.formData()}catch{return B.NextResponse.json({error:"очікується multipart/form-data з полем file"},{status:400})}let d=b.get("file");if(!(d instanceof File))return B.NextResponse.json({error:"нема аудіофайла в полі file"},{status:400});if(d.size>0x1000000)return B.NextResponse.json({error:"аудіо завелике (ліміт 16 МБ)"},{status:413});let e=d.type&&d.type.startsWith("audio/")?d.type.split(";")[0]:"audio/webm";if(d.type&&!d.type.startsWith("audio/"))return B.NextResponse.json({error:"очікується аудіо"},{status:415});let f=b.get("language"),g="string"==typeof f&&M.test(f)?f:"",h=(0,J.y)();if("elevenlabs"===h){let a=(0,J.F)();if(!a)return B.NextResponse.json({error:"нема ключа ElevenLabs (~/.config/agent-log-viewer/elevenlabs-api-key або ELEVENLABS_API_KEY)"},{status:503});try{return B.NextResponse.json(await F(a,d,g))}catch(a){return B.NextResponse.json({error:`ElevenLabs STT: ${a instanceof Error?a.message:String(a)}`},{status:502})}}let i=A().join(y().tmpdir(),`viewer-dictation-${Date.now()}-${Math.floor(1e6*Math.random())}.webm`);try{let a;if(w().writeFileSync(i,Buffer.from(await d.arrayBuffer())),"local"===h){let a,b,c=await (a=A().join(process.env.LLV_WHISPER_VENV||(0,G.U)("whisper-venv"),"bin","python"),b=A().join(process.cwd(),"scripts","whisper_transcribe.py"),new Promise((c,d)=>{(0,D.execFile)(a,[b,i,H,I,g],{maxBuffer:4194304,timeout:12e4},(a,b)=>{if(a&&!b){let b="ENOENT"===a.code?" (запусти scripts/setup-whisper.sh)":"";d(Error(a.message+b));return}try{let a=JSON.parse(b.trim().split("\n").at(-1)??"{}");if("string"==typeof a.error)return void d(Error(a.error));c({text:"string"==typeof a.text?a.text:""})}catch{d(Error("локальний STT повернув некоректний вивід"))}})}));return B.NextResponse.json(c)}let b=function(){try{let a=JSON.parse(w().readFileSync(A().join(y().homedir(),".codex","auth.json"),"utf8")),b="string"==typeof a.tokens?.access_token?a.tokens.access_token:"",c="string"==typeof a.tokens?.account_id?a.tokens.account_id:"";return b&&c?{accessToken:b,accountId:c}:null}catch{return null}}();if(!b)return B.NextResponse.json({error:"нема ChatGPT-токена Codex (~/.codex/auth.json) — залогінься в Codex"},{status:503});let c=await (a=['url = "https://chatgpt.com/backend-api/transcribe"','request = "POST"',"silent","max-time = 90",`header = "Authorization: Bearer ${b.accessToken}"`,`header = "chatgpt-account-id: ${b.accountId}"`,'header = "originator: codex_cli_rs"','header = "User-Agent: codex_cli_rs (live-log-viewer)"',`form = "file=@${i};type=${e}"`,...g?[`form = "language=${g}"`]:[],'write-out = "\\n%{http_code}"'].join("\n"),new Promise((b,c)=>{let d=(0,D.execFile)("curl",["--config","-"],{maxBuffer:4194304,timeout:95e3},(a,d)=>{if(a&&!d)return void c(Error(a.message));let e=d.lastIndexOf("\n"),f=Number(d.slice(e+1).trim());b({status:Number.isInteger(f)?f:0,body:d.slice(0,e)})});d.stdin?.end(a)}));if(401===c.status)return B.NextResponse.json({error:"ChatGPT-токен протух — відкрий Codex, щоб він оновив токен"},{status:502});if(200!==c.status)return B.NextResponse.json({error:`бекенд транскрипції: HTTP ${c.status||"0 (мережа)"}`},{status:502});let f=JSON.parse(c.body);return B.NextResponse.json({text:"string"==typeof f.text?f.text:""})}catch(a){return B.NextResponse.json({error:`${"local"===h?"локальний STT":"бекенд транскрипції"}: ${a instanceof Error?a.message:String(a)}`},{status:502})}finally{w().rmSync(i,{force:!0})}}let O=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/transcribe/route",pathname:"/api/transcribe",filename:"route",bundlePath:"app/api/transcribe/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/live-log-viewer-next/live-log-viewer-next/src/app/api/transcribe/route.ts",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:P,workUnitAsyncStorage:Q,serverHooks:R}=O;function S(){return(0,g.patchFetch)({workAsyncStorage:P,workUnitAsyncStorage:Q})}async function T(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),O.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/transcribe/route";"/index"===d&&(d="/");let e=await O.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||O.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===O.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await O.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:L,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>O.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>O.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!I)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await O.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await O.handleResponse({req:a,nextConfig:x,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await O.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{"use strict";a.exports=require("node:os")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},91724:(a,b,c)=>{"use strict";c.d(b,{U:()=>k,k:()=>j});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h);function j(a){return l(process.env.XDG_CONFIG_HOME||i().join(g().homedir(),".config"),a)}function k(a){return l(process.env.XDG_CACHE_HOME||i().join(g().homedir(),".cache"),a)}function l(a,b){let c=i().join(a,"agent-log-viewer",b);if(e().existsSync(c))return c;let d=i().join(a,"live-log-viewer",b);return e().existsSync(d)?d:c}},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[445,813],()=>b(b.s=38639));module.exports=c})();
|
|
1
|
+
(()=>{var a={};a.id=391,a.ids=[391],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14904:(a,b,c)=>{"use strict";c.d(b,{F:()=>h,y:()=>g});var d=c(73024),e=c.n(d),f=c(91724);function g(){let a=process.env.LLV_TRANSCRIBE_BACKEND?.trim().toLowerCase();if("chatgpt"===a||"local"===a||"elevenlabs"===a)return a;try{let a=e().readFileSync((0,f.ks)("transcribe-backend"),"utf8").trim().toLowerCase();if("chatgpt"===a||"elevenlabs"===a)return a}catch{}return"local"}function h(){let a=process.env.ELEVENLABS_API_KEY?.trim();if(a)return a;try{return e().readFileSync((0,f.ks)("elevenlabs-api-key"),"utf8").trim()||null}catch{return null}}},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},35961:(a,b,c)=>{"use strict";c.d(b,{W:()=>g});var d=c(23211);let e=["localhost","127.0.0.1","::1"];function f(a){if(a.startsWith("[")){let b=a.indexOf("]");return -1===b?a:a.slice(1,b)}let b=a.lastIndexOf(":");return -1===b?a:a.slice(0,b)}function g(a){let b=new Set(e),c=process.env.LLV_TS_HOST;c&&b.add(f(c));let d=a.headers.get("host");if(null===d||!b.has(f(d)))return h();let g=a.headers.get("origin");if(null!==g){let a;try{a=new URL(g).host}catch{a=null}if(null===a||!b.has(f(a)))return h()}let i=a.headers.get("sec-fetch-site");return null!==i&&"same-origin"!==i&&"none"!==i?h():null}function h(){return d.NextResponse.json({error:"заборонено: запит з іншого origin"},{status:403})}},38639:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>T,patchFetch:()=>S,routeModule:()=>O,serverHooks:()=>R,workAsyncStorage:()=>P,workUnitAsyncStorage:()=>Q});var d={};c.r(d),c.d(d,{POST:()=>N,dynamic:()=>L,runtime:()=>K});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(73024),w=c.n(v),x=c(48161),y=c.n(x),z=c(76760),A=c.n(z),B=c(23211),C=c(35961),D=c(31421);let E=process.env.LLV_ELEVENLABS_STT_MODEL||"scribe_v1";async function F(a,b,c){let d=new FormData;d.append("model_id",E),d.append("file",b,"dictation.webm"),c&&d.append("language_code",c);let e=await fetch("https://api.elevenlabs.io/v1/speech-to-text",{method:"POST",headers:{"xi-api-key":a},body:d,signal:AbortSignal.timeout(9e4)});if(!e.ok){let a=await e.text().catch(()=>"");throw Error(`HTTP ${e.status}${a?` — ${a.slice(0,200)}`:""}`)}let f=await e.json();return{text:"string"==typeof f.text?f.text:""}}var G=c(91724);let H=process.env.LLV_WHISPER_MODEL||"small",I=process.env.LLV_WHISPER_DEVICE||"cpu";var J=c(14904);let K="nodejs",L="force-dynamic",M=/^[a-z]{2}(?:-[A-Z]{2})?$/;async function N(a){let b,c=(0,C.W)(a);if(c)return c;try{b=await a.formData()}catch{return B.NextResponse.json({error:"очікується multipart/form-data з полем file"},{status:400})}let d=b.get("file");if(!(d instanceof File))return B.NextResponse.json({error:"нема аудіофайла в полі file"},{status:400});if(d.size>0x1000000)return B.NextResponse.json({error:"аудіо завелике (ліміт 16 МБ)"},{status:413});let e=d.type&&d.type.startsWith("audio/")?d.type.split(";")[0]:"audio/webm";if(d.type&&!d.type.startsWith("audio/"))return B.NextResponse.json({error:"очікується аудіо"},{status:415});let f=b.get("language"),g="string"==typeof f&&M.test(f)?f:"",h=(0,J.y)();if("elevenlabs"===h){let a=(0,J.F)();if(!a)return B.NextResponse.json({error:"нема ключа ElevenLabs (~/.config/agent-log-viewer/elevenlabs-api-key або ELEVENLABS_API_KEY)"},{status:503});try{return B.NextResponse.json(await F(a,d,g))}catch(a){return B.NextResponse.json({error:`ElevenLabs STT: ${a instanceof Error?a.message:String(a)}`},{status:502})}}let i=A().join(y().tmpdir(),`viewer-dictation-${Date.now()}-${Math.floor(1e6*Math.random())}.webm`);try{let a;if(w().writeFileSync(i,Buffer.from(await d.arrayBuffer())),"local"===h){let a,b,c=await (a=A().join(process.env.LLV_WHISPER_VENV||(0,G.UT)("whisper-venv"),"bin","python"),b=A().join(process.cwd(),"scripts","whisper_transcribe.py"),new Promise((c,d)=>{(0,D.execFile)(a,[b,i,H,I,g],{maxBuffer:4194304,timeout:12e4},(a,b)=>{if(a&&!b){let b="ENOENT"===a.code?" (запусти scripts/setup-whisper.sh)":"";d(Error(a.message+b));return}try{let a=JSON.parse(b.trim().split("\n").at(-1)??"{}");if("string"==typeof a.error)return void d(Error(a.error));c({text:"string"==typeof a.text?a.text:""})}catch{d(Error("локальний STT повернув некоректний вивід"))}})}));return B.NextResponse.json(c)}let b=function(){try{let a=JSON.parse(w().readFileSync(A().join(y().homedir(),".codex","auth.json"),"utf8")),b="string"==typeof a.tokens?.access_token?a.tokens.access_token:"",c="string"==typeof a.tokens?.account_id?a.tokens.account_id:"";return b&&c?{accessToken:b,accountId:c}:null}catch{return null}}();if(!b)return B.NextResponse.json({error:"нема ChatGPT-токена Codex (~/.codex/auth.json) — залогінься в Codex"},{status:503});let c=await (a=['url = "https://chatgpt.com/backend-api/transcribe"','request = "POST"',"silent","max-time = 90",`header = "Authorization: Bearer ${b.accessToken}"`,`header = "chatgpt-account-id: ${b.accountId}"`,'header = "originator: codex_cli_rs"','header = "User-Agent: codex_cli_rs (live-log-viewer)"',`form = "file=@${i};type=${e}"`,...g?[`form = "language=${g}"`]:[],'write-out = "\\n%{http_code}"'].join("\n"),new Promise((b,c)=>{let d=(0,D.execFile)("curl",["--config","-"],{maxBuffer:4194304,timeout:95e3},(a,d)=>{if(a&&!d)return void c(Error(a.message));let e=d.lastIndexOf("\n"),f=Number(d.slice(e+1).trim());b({status:Number.isInteger(f)?f:0,body:d.slice(0,e)})});d.stdin?.end(a)}));if(401===c.status)return B.NextResponse.json({error:"ChatGPT-токен протух — відкрий Codex, щоб він оновив токен"},{status:502});if(200!==c.status)return B.NextResponse.json({error:`бекенд транскрипції: HTTP ${c.status||"0 (мережа)"}`},{status:502});let f=JSON.parse(c.body);return B.NextResponse.json({text:"string"==typeof f.text?f.text:""})}catch(a){return B.NextResponse.json({error:`${"local"===h?"локальний STT":"бекенд транскрипції"}: ${a instanceof Error?a.message:String(a)}`},{status:502})}finally{w().rmSync(i,{force:!0})}}let O=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/transcribe/route",pathname:"/api/transcribe",filename:"route",bundlePath:"app/api/transcribe/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/live-log-viewer-next/live-log-viewer-next/src/app/api/transcribe/route.ts",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:P,workUnitAsyncStorage:Q,serverHooks:R}=O;function S(){return(0,g.patchFetch)({workAsyncStorage:P,workUnitAsyncStorage:Q})}async function T(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),O.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/transcribe/route";"/index"===d&&(d="/");let e=await O.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||O.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===O.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await O.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:L,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>O.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>O.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!I)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await O.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await O.handleResponse({req:a,nextConfig:x,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await O.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{"use strict";a.exports=require("node:os")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},91724:(a,b,c)=>{"use strict";c.d(b,{BQ:()=>r,UT:()=>m,ks:()=>l,oy:()=>s});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h);let j="agent-log-viewer";function k(){return process.env.XDG_CONFIG_HOME||i().join(g().homedir(),".config")}function l(a){return n(k(),a)}function m(a){return n(process.env.XDG_CACHE_HOME||i().join(g().homedir(),".cache"),a)}function n(a,b){let c=i().join(a,j,b);if(e().existsSync(c))return c;let d=i().join(a,"live-log-viewer",b);return e().existsSync(d)?d:c}let o=new Set,p=".migrated-from-legacy";function q(a,b){if(o.has(a))return;let c=i().join(a,p),d=()=>`${new Date().toISOString()} ${b}
|
|
2
|
+
`;try{if(e().existsSync(c))return void o.add(a);if(!e().existsSync(b)){e().mkdirSync(a,{recursive:!0}),e().writeFileSync(c,d()),o.add(a);return}if(!e().existsSync(a)){e().mkdirSync(i().dirname(a),{recursive:!0});let c=`${a}.migrating.${process.pid}`;e().rmSync(c,{recursive:!0,force:!0});try{e().cpSync(b,c,{recursive:!0}),e().writeFileSync(i().join(c,p),d()),e().renameSync(c,a)}catch(a){throw e().rmSync(c,{recursive:!0,force:!0}),a}o.add(a);return}e().cpSync(b,a,{recursive:!0,force:!1,errorOnExist:!1}),e().writeFileSync(c,d()),o.add(a)}catch(c){console.error(`viewer state migration ${b} -> ${a} failed; will retry:`,c)}}function r(...a){return i().join(function(){let a=process.env.LLV_STATE_DIR;if(a)return a;let b=i().join(k(),j,"state");return q(b,i().join(g().homedir(),".claude","viewer-state")),b}(),...a)}function s(){let a=i().join(k(),j,"inbox");return q(a,i().join(g().homedir(),".claude","viewer-inbox")),a}},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[445,813],()=>b(b.s=38639));module.exports=c})();
|