agent-log-viewer 0.1.1 → 0.2.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/README.md +171 -51
- package/bin/cli.mjs +89 -22
- package/bin/tailscale.mjs +101 -41
- package/dist/standalone/.next/BUILD_ID +1 -1
- package/dist/standalone/.next/app-path-routes-manifest.json +6 -5
- package/dist/standalone/.next/build-manifest.json +2 -2
- package/dist/standalone/.next/prerender-manifest.json +3 -3
- package/dist/standalone/.next/routes-manifest.json +6 -0
- package/dist/standalone/.next/server/app/_global-error/page.js +2 -2
- 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.js +2 -2
- 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 +4 -4
- package/dist/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
- 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/access/route.js +1 -1
- package/dist/standalone/.next/server/app/api/answer/route.js +1 -1
- package/dist/standalone/.next/server/app/api/files/route.js +1 -1
- package/dist/standalone/.next/server/app/api/flows/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/flows/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/flows/route.js +1 -1
- package/dist/standalone/.next/server/app/api/flows/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/inbox/route.js +1 -1
- package/dist/standalone/.next/server/app/api/limits/route.js +1 -1
- package/dist/standalone/.next/server/app/api/log/route.js +1 -1
- package/dist/standalone/.next/server/app/api/proc/route.js +1 -1
- package/dist/standalone/.next/server/app/api/push/route.js +1 -1
- package/dist/standalone/.next/server/app/api/spawn/route.js +1 -1
- package/dist/standalone/.next/server/app/api/timeline/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tmux/route.js +2 -2
- package/dist/standalone/.next/server/app/api/transcribe/route.js +1 -1
- package/dist/standalone/.next/server/app/api/transcribe/token/route.js +1 -0
- package/dist/standalone/.next/server/app/api/transcribe/token/route.js.nft.json +1 -0
- package/dist/standalone/.next/server/app/api/transcribe/token/route_client-reference-manifest.js +1 -0
- package/dist/standalone/.next/server/app/favicon.ico/route.js +1 -1
- package/dist/standalone/.next/server/app/index.html +1 -1
- package/dist/standalone/.next/server/app/index.rsc +5 -5
- package/dist/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/index.segments/_full.segment.rsc +5 -5
- 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 +3 -6
- package/dist/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/app-paths-manifest.json +6 -5
- package/dist/standalone/.next/server/chunks/289.js +2 -0
- package/dist/standalone/.next/server/chunks/871.js +2 -3
- package/dist/standalone/.next/server/functions-config-manifest.json +2 -1
- package/dist/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/dist/standalone/.next/server/middleware.js +3 -3
- 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/159-d2dbe811eeab290f.js +1 -0
- package/dist/standalone/.next/static/chunks/app/_global-error/page-81fecd9eba007478.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/access/route-81fecd9eba007478.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/answer/route-81fecd9eba007478.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/files/route-81fecd9eba007478.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-81fecd9eba007478.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/flows/route-81fecd9eba007478.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/inbox/route-81fecd9eba007478.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/limits/route-81fecd9eba007478.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/route-81fecd9eba007478.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/proc/route-81fecd9eba007478.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/push/route-81fecd9eba007478.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/spawn/route-81fecd9eba007478.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/timeline/route-81fecd9eba007478.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tmux/route-81fecd9eba007478.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/transcribe/route-81fecd9eba007478.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-81fecd9eba007478.js +1 -0
- package/dist/standalone/.next/static/chunks/app/page-39971eba742f6b2e.js +2 -0
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-81fecd9eba007478.js +1 -0
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-81fecd9eba007478.js +1 -0
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-81fecd9eba007478.js +1 -0
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-81fecd9eba007478.js +1 -0
- package/dist/standalone/.next/static/css/331d03725ce2ef2f.css +1 -0
- package/dist/standalone/.next/static/eVZqd0xcmD_g_vTrSrlTL/_buildManifest.js +1 -0
- package/dist/standalone/package.json +4 -2
- package/package.json +4 -2
- package/dist/standalone/.next/static/0YxRBiEgYCSV92_fZOmmC/_buildManifest.js +0 -1
- package/dist/standalone/.next/static/chunks/703-1f675e3bf3e228de.js +0 -1
- package/dist/standalone/.next/static/chunks/app/_global-error/page-b58291c8001879c8.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/access/route-b58291c8001879c8.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/answer/route-b58291c8001879c8.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/files/route-b58291c8001879c8.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-b58291c8001879c8.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/flows/route-b58291c8001879c8.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/inbox/route-b58291c8001879c8.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/limits/route-b58291c8001879c8.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/route-b58291c8001879c8.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/proc/route-b58291c8001879c8.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/push/route-b58291c8001879c8.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/spawn/route-b58291c8001879c8.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/timeline/route-b58291c8001879c8.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tmux/route-b58291c8001879c8.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/transcribe/route-b58291c8001879c8.js +0 -1
- package/dist/standalone/.next/static/chunks/app/page-169f116d08445993.js +0 -5
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-b58291c8001879c8.js +0 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-b58291c8001879c8.js +0 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-b58291c8001879c8.js +0 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-b58291c8001879c8.js +0 -1
- package/dist/standalone/.next/static/css/e3457e19c8be328e.css +0 -1
- /package/dist/standalone/.next/static/{0YxRBiEgYCSV92_fZOmmC → eVZqd0xcmD_g_vTrSrlTL}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=403,a.ids=[403],a.modules={151:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>S,patchFetch:()=>R,routeModule:()=>N,serverHooks:()=>Q,workAsyncStorage:()=>O,workUnitAsyncStorage:()=>P});var d={};c.r(d),c.d(d,{GET:()=>L,POST:()=>M,dynamic:()=>I,runtime:()=>H});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(26474),D=c(35961),E=c(24116),F=c(89333),G=c(75051);let H="nodejs",I="force-dynamic";function J(a){let b,c;try{b=w().realpathSync(a),c=w().statSync(b)}catch{return!1}return!!c.isFile()&&!!b.endsWith(".jsonl")&&["claude-projects","codex-sessions"].some(a=>{try{return b.startsWith(w().realpathSync(F.GH[a])+A().sep)}catch{return!1}})}function K(a){let b;try{let c=w().openSync(a,"r");try{let a=Buffer.alloc(8192),d=w().readSync(c,a,0,8192,0);b=a.subarray(0,d).toString("utf8")}finally{w().closeSync(c)}}catch{return null}for(let a of b.split("\n").slice(0,20))try{let b=JSON.parse(a),c="string"==typeof b.cwd?b.cwd:"string"==typeof b.payload?.cwd?b.payload.cwd:null;if(c&&w().existsSync(c))return c}catch{}return null}async function L(a){let b=a.nextUrl.searchParams.get("project")??"",c=a.nextUrl.searchParams.get("src"),d=c&&J(c)?K(c):null,e=(await (0,E.C)()).filter(a=>a.path.endsWith(".jsonl")&&("claude-projects"===a.root||"codex-sessions"===a.root)).filter(a=>!a.path.includes(A().sep+"subagents"+A().sep)).sort((a,c)=>Number(c.project===b)-Number(a.project===b)||c.mtime-a.mtime).slice(0,80),f=d?[d]:[];for(let a of e){if(f.length>=10)break;let b=K(a.path);b&&!f.includes(b)&&f.push(b)}return f.length||f.push(y().homedir()),B.NextResponse.json({dirs:f,cwd:d})}async function M(a){let b,c,d=(0,D.W)(a);if(d)return d;try{b=await a.json()}catch{return B.NextResponse.json({error:"некоректний JSON"},{status:400})}let e="claude"===b.engine||"codex"===b.engine?b.engine:null;if(!e)return B.NextResponse.json({error:"engine має бути claude або codex"},{status:400});let f="string"==typeof b.cwd?b.cwd.trim():"";if(!f)return B.NextResponse.json({error:"потрібна робоча директорія"},{status:400});let g=A().resolve("~"===f||f.startsWith("~/")?A().join(y().homedir(),f.slice(1)):f);try{c=w().statSync(g)}catch{return B.NextResponse.json({error:`директорії не існує: ${g}`},{status:400})}if(!c.isDirectory())return B.NextResponse.json({error:`не директорія: ${g}`},{status:400});let h="string"==typeof b.prompt?b.prompt.trim():"",{images:i,error:j}=(0,G.Fu)(b);if(j)return B.NextResponse.json({error:j.error},{status:j.status});let k=[];try{let a=(0,G.Am)(h,i);k=a.imagePaths;let c=(0,G.lV)(e,g),d=await (0,G.Tk)(c,a.payload),f="string"==typeof b.src?b.src:"";return f&&J(f)&&(c.transcript&&(0,C.A6)(c.transcript,f),d.panePid&&(0,C.a9)(d.panePid,f),(0,C.OA)()),B.NextResponse.json({ok:!0,target:d.display,path:c.transcript??null})}catch(a){return(0,G.IJ)(k),B.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:500})}}let N=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/spawn/route",pathname:"/api/spawn",filename:"route",bundlePath:"app/api/spawn/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/latand/.agents/tools/live-log-viewer-next/src/app/api/spawn/route.ts",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:O,workUnitAsyncStorage:P,serverHooks:Q}=N;function R(){return(0,g.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:P})}async function S(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),N.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/spawn/route";"/index"===d&&(d="/");let e=await N.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||N.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===N.isDev||!I,M=I&&!L;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 N.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)=>N.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=>N.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 N.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await N.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 N.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}}},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")},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")},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,871],()=>b(b.s=151));module.exports=c})();
|
|
1
|
+
"use strict";(()=>{var a={};a.id=403,a.ids=[403],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")},6572:(a,b,c)=>{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,{GET:()=>M,POST:()=>N,dynamic:()=>K,runtime:()=>J});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(16089),E=c(26474),F=c(35961),G=c(24116),H=c(89333),I=c(75051);let J="nodejs",K="force-dynamic";function L(a){let b,c;try{b=w().realpathSync(a),c=w().statSync(b)}catch{return!1}return!!c.isFile()&&!!b.endsWith(".jsonl")&&["claude-projects","codex-sessions"].some(a=>{try{return b.startsWith(w().realpathSync(H.GH[a])+A().sep)}catch{return!1}})}async function M(a){let b=a.nextUrl.searchParams.get("project")??"",c=a.nextUrl.searchParams.get("src"),d=c&&L(c)?(0,D.tX)(c,{requireDir:!0}):null,e=(await (0,G.C)()).filter(a=>a.path.endsWith(".jsonl")&&("claude-projects"===a.root||"codex-sessions"===a.root)).filter(a=>!a.path.includes(A().sep+"subagents"+A().sep)).sort((a,c)=>Number(c.project===b)-Number(a.project===b)||c.mtime-a.mtime).slice(0,80),f=d?[d]:[];for(let a of e){if(f.length>=10)break;let b=(0,D.tX)(a.path,{requireDir:!0});b&&!f.includes(b)&&f.push(b)}return f.length||f.push(y().homedir()),B.NextResponse.json({dirs:f,cwd:d})}async function N(a){let b,c,d=(0,F.W)(a);if(d)return d;try{b=await a.json()}catch{return B.NextResponse.json({error:"некоректний JSON"},{status:400})}let e="claude"===b.engine||"codex"===b.engine?b.engine:null;if(!e)return B.NextResponse.json({error:"engine має бути claude або codex"},{status:400});let f="string"==typeof b.cwd?b.cwd.trim():"";if(!f)return B.NextResponse.json({error:"потрібна робоча директорія"},{status:400});let g=A().resolve("~"===f||f.startsWith("~/")?A().join(y().homedir(),f.slice(1)):f);try{c=w().statSync(g)}catch{return B.NextResponse.json({error:`директорії не існує: ${g}`},{status:400})}if(!c.isDirectory())return B.NextResponse.json({error:`не директорія: ${g}`},{status:400});let h="string"==typeof b.prompt?b.prompt.trim():"",{images:i,error:j}=(0,I.Fu)(b);if(j)return B.NextResponse.json({error:j.error},{status:j.status});let k=[];try{let a=(0,I.Am)(h,i);k=a.imagePaths;let c=(0,C.lV)(e,g),d=await (0,I.Tk)(c,a.payload),f="string"==typeof b.src?b.src:"";return f&&L(f)&&(c.transcript&&(0,E.A6)(c.transcript,f),d.panePid&&(0,E.a9)(d.panePid,f),(0,E.OA)()),B.NextResponse.json({ok:!0,target:d.display,path:c.transcript??null})}catch(a){return(0,I.IJ)(k),B.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:500})}}let O=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/spawn/route",pathname:"/api/spawn",filename:"route",bundlePath:"app/api/spawn/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/latand/.agents/tools/live-log-viewer-next/src/app/api/spawn/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/spawn/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}}},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},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")},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,871],()=>b(b.s=6572));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=831,a.ids=[831],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")},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")},
|
|
1
|
+
"use strict";(()=>{var a={};a.id=831,a.ids=[831],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")},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")},63882:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>P,patchFetch:()=>O,routeModule:()=>K,serverHooks:()=>N,workAsyncStorage:()=>L,workUnitAsyncStorage:()=>M});var d={};c.r(d),c.d(d,{GET:()=>J,dynamic:()=>I,runtime:()=>H});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(24116),x=c(23855),y=c(52509),z=c(30795);let A=(0,y.E)("timeline-events");function B(a){return"string"==typeof a?a:""}function C(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}function D(a){return Array.isArray(a)?a.filter(a=>!!a&&"object"==typeof a&&!Array.isArray(a)):[]}function E(a){if("string"!=typeof a&&"number"!=typeof a)return null;let b=new Date(a).getTime();return Number.isNaN(b)?null:b/1e3}let F=/<teammate-message\b[^>]*summary="([^"]*)"/;function G(a,b=72){return(0,z.cr)(a,b)}let H="nodejs",I="force-dynamic";async function J(a){var b;let c,d=a.nextUrl.searchParams.get("project")??"";if(!d)return v.NextResponse.json({error:"project required"},{status:400});let e=Number(a.nextUrl.searchParams.get("limit")??"240");(!Number.isFinite(e)||e<=0)&&(e=240);let f=await (0,w.C)();return v.NextResponse.json({events:(b=Math.min(e,600),c=Date.now()/1e3,f.filter(a=>a.project===d&&a.path.endsWith(".jsonl")&&c-a.mtime<86400).sort((a,b)=>b.mtime-a.mtime).slice(0,18).flatMap(a=>(function(a){let b=A.get(a.path);if(b&&b[0]===a.size)return b[1];let c=(0,z.cr)(a.title,36),d="claude"===a.fmt?function(a,b){let c=[];for(let d of(0,x.He)(a.path,a.size)){let e=E(d.timestamp);if(null!==e){if("user"===d.type){let f=C(d.message).content,g="string"==typeof f?f:D(f).filter(a=>"text"===a.type).map(a=>B(a.text)).join(" ").trim();if(!g)continue;if(g.includes("<teammate-message")){let d=g.match(F)?.[1];d&&c.push({ts:e,file:a.path,actor:b,kind:"msg",label:"від тімейта: "+G(d)});continue}g.startsWith("<")||g.startsWith("[")||c.push({ts:e,file:a.path,actor:b,kind:"user",label:G(g)});continue}if("assistant"===d.type){for(let f of D(C(d.message).content))if("text"===f.type&&B(f.text).trim())c.push({ts:e,file:a.path,actor:b,kind:"turn",label:G(B(f.text))});else if("tool_use"===f.type){let d=B(f.name),g=C(f.input);"Task"===d||"Agent"===d?c.push({ts:e,file:a.path,actor:b,kind:"spawn",label:"запустив агента: "+G(B(g.description)||B(g.prompt),56)}):"SendMessage"===d&&"string"==typeof g.message&&c.push({ts:e,file:a.path,actor:b,kind:"msg",label:`до ${B(g.to)}: `+G(B(g.summary),56)})}}}}return c}(a,c):"codex"===a.fmt?function(a,b){let c=[];for(let d of(0,x.He)(a.path,a.size)){let e=E(d.timestamp);if(null===e)continue;let f=C(d.payload);"user_message"===f.type&&B(f.message)?c.push({ts:e,file:a.path,actor:b,kind:"user",label:G(B(f.message))}):"agent_message"===f.type&&B(f.message)&&c.push({ts:e,file:a.path,actor:b,kind:"turn",label:G(B(f.message))})}return c}(a,c):[];return A.set(a.path,[a.size,d]),d})(a)).sort((a,b)=>b.ts-a.ts).slice(0,b))})}let K=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/timeline/route",pathname:"/api/timeline",filename:"route",bundlePath:"app/api/timeline/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/latand/.agents/tools/live-log-viewer-next/src/app/api/timeline/route.ts",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:L,workUnitAsyncStorage:M,serverHooks:N}=K;function O(){return(0,g.patchFetch)({workAsyncStorage:L,workUnitAsyncStorage:M})}async function P(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),K.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/timeline/route";"/index"===d&&(d="/");let e=await K.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 L=null;!I||K.isDev||z||(L="/index"===(L=E)?"/":L);let M=!0===K.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 K.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)=>K.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=>K.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 K.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),b}},k=await K.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(!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 K.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}}},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,871],()=>b(b.s=63882));module.exports=c})();
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=868,a.ids=[868],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},
|
|
2
|
-
${
|
|
1
|
+
"use strict";(()=>{var a={};a.id=868,a.ids=[868],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1785:(a,b,c)=>{c.d(b,{AB:()=>k,F5:()=>l,Ku:()=>q,LJ:()=>m,X$:()=>o,dV:()=>j,m3:()=>n,yv:()=>p});var d=c(14509),e=c(24116),f=c(89333),g=c(27359),h=c(75051);function i(a,b=500){return{error:a instanceof Error?a.message:String(a),status:b}}async function j(a){return(await (0,h.aI)()).has(a)?(0,h.u1)(a):"unknown"}async function k(a){let b=(await (0,e.C)()).find(b=>b.path===a);if(b&&null!==b.pid){let a=await (0,h.u1)(b.pid);if(null!==a)return a}let c=await (0,h.mB)(a);return c?c.display:null}async function l(a){if(!a||!(0,f.EG)(a))return{error:"для переривання потрібен path розмови",status:400};let b=await k(a);if(null===b)return{error:"немає активного пейна агента для переривання",status:409};try{return await (0,h.EW)(b),{ok:!0,target:b}}catch(a){return i(a)}}async function m(a){if(!a||!(0,f.EG)(a))return{error:"для стискання потрібен path розмови",status:400};let b=await k(a);if(null===b)return{error:"немає активного пейна агента для стискання",status:409};try{return await (0,h.oF)(b,"/compact"),{ok:!0,target:b}}catch(a){return i(a)}}async function n(a,b,c,d){if(!a||!(0,f.EG)(a))return{error:"для відповіді потрібен path розмови",status:400};if(!/^([1-9]|Tab|Enter|Escape)$/.test(b))return{error:"некоректна клавіша",status:400};let e=await k(a);if(null===e)return{error:"немає активного пейна агента",status:409};try{let a=await (0,h.WS)(e,async()=>{let a=function(a,b,c,d){if(null!==(0,g._1)(a))return"blocked";if(!(0,g.cZ)(a))return"closed";let e=(0,g.fm)(a);if(/^[1-9]$/.test(b)){let a=e?.options.find(a=>String(a.value)===b);if(!a||"string"==typeof c&&c!==a.label||"string"==typeof d&&d!==e?.question)return"changed"}else if(e&&"string"==typeof d&&d!==e.question)return"changed";return null}(await (0,h.ZB)(e),b,c,d);return null===a&&await (0,h.V1)(e,[b]),a});if("blocked"===a)return{error:"пейн чекає на підтвердження, яке потребує ручного рішення",status:409};if("closed"===a)return{error:"пейн уже не чекає на відповідь",status:409};if("changed"===a)return{error:"меню на екрані вже змінилось",status:409};return{ok:!0,target:e}}catch(a){return i(a)}}async function o(a){if(!a||!(0,f.EG)(a))return{error:"для відкриття потрібен path розмови",status:400};let b=(await (0,e.C)()).find(b=>b.path===a);if(!b)return{error:"файл невідомий переглядачу",status:403};let c=(0,d.A9)(b.root,b.path);if(!c)return{error:"цю розмову неможливо відновити",status:409};try{let a=await (0,h.KY)(b.path,c,"");return{ok:!0,target:a.target,spawned:a.spawned}}catch(a){return i(a)}}async function p(a){if(!a||!(0,f.EG)(a))return{error:"для закриття потрібен path розмови",status:400};let b=(await (0,e.C)()).find(b=>b.path===a);if(b&&b.parent)return{ok:!0,target:""};let c=await k(a);if(null===c)return{ok:!0,target:""};try{return await (0,h.VT)(c),(0,h.HZ)(a),{ok:!0,target:c}}catch(a){return i(a)}}async function q(a){let{pid:b,path:c,images:g}=a,k=a.text.trim(),l=null;if(null!==b){let a=await j(b);if("unknown"===a&&!c)return{error:"процес невідомий переглядачу",status:403};l="unknown"===a?null:a}let m=[];try{if(null!==l){let a=(0,h.Am)(k,g);return m=a.imagePaths,await (0,h.oF)(l,a.payload),{ok:!0,target:l,...m.length?{imagePaths:m}:{}}}if(!c||!(0,f.EG)(c))return{error:"процес не у tmux-сесії",status:409};let a=await (0,e.C)(),b=a.find(a=>a.path===c);if(!b)return{error:"файл невідомий переглядачу",status:403};let i=(0,d.A9)(b.root,b.path);if(i){let a=(0,h.Am)(k,g);m=a.imagePaths;let c=await (0,h.KY)(b.path,i,a.payload);return{ok:!0,target:c.target,spawned:c.spawned,...m.length?{imagePaths:m}:{}}}let j=new Map(a.map(a=>[a.path,a])),n=new Set,o=b;for(;o.parent&&j.has(o.parent)&&!n.has(o.path);)n.add(o.path),o=j.get(o.parent);if(o.path===b.path)return{error:"цю розмову неможливо відновити",status:409};let p=null!==o.pid?await (0,h.u1)(o.pid):null,q=null===p?(0,d.A9)(o.root,o.path):null;if(null===p&&!q)return{error:"коренева сесія недоступна для повідомлення",status:409};let r=(0,h.Am)(k,g);m=r.imagePaths;let s=`Повідомлення від користувача для твоєї гілки \xab${b.title.slice(0,100)}\xbb — передай або обробʼи сам:
|
|
2
|
+
${r.payload}`,t=m.length?{imagePaths:m}:{};if(null!==p)return await (0,h.oF)(p,s),{ok:!0,target:p,...t};let u=await (0,h.KY)(o.path,q,s);return{ok:!0,target:u.target,spawned:u.spawned,...t}}catch(a){return(0,h.IJ)(m),i(a)}}},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")},10888:(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,{GET:()=>D,POST:()=>E,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(23211),w=c(1785),x=c(35961),y=c(89333),z=c(75051);let A="nodejs",B="force-dynamic";function C(a){return"error"in a?v.NextResponse.json({error:a.error},{status:a.status}):v.NextResponse.json(a)}async function D(a){let b=a.nextUrl.searchParams.get("pid"),c=a.nextUrl.searchParams.get("path")??"",d=Number(b),e=Number.isInteger(d)&&d>0;if(!e&&!c)return v.NextResponse.json({error:"потрібен pid або path"},{status:400});if(e){let a=await (0,w.dV)(d);if("unknown"!==a&&null!==a)return v.NextResponse.json({target:a})}if(c&&(0,y.EG)(c)){let a=await (0,z.mB)(c);if(a)return v.NextResponse.json({target:a.display})}return v.NextResponse.json({target:null})}async function E(a){let b,c=(0,x.W)(a);if(c)return c;try{b=await a.json()}catch{return v.NextResponse.json({error:"некоректний JSON"},{status:400})}let d=Number(b.pid),e=Number.isInteger(d)&&d>0,f="string"==typeof b.path?b.path:"";if(!e&&!f)return v.NextResponse.json({error:"потрібен pid або path"},{status:400});if("interrupt"===b.action)return C(await (0,w.F5)(f));if("compact"===b.action)return C(await (0,w.LJ)(f));if("dialog-key"===b.action){let a="string"==typeof b.key?b.key:"";return C(await (0,w.m3)(f,a,b.label,b.question))}if("resume"===b.action)return C(await (0,w.X$)(f));if("kill"===b.action)return C(await (0,w.yv)(f));let g="string"==typeof b.text?b.text:"",{images:h,error:i}=(0,z.Fu)(b);return i?v.NextResponse.json({error:i.error},{status:i.status}):g.trim()||h.length?C(await (0,w.Ku)({pid:e?d:null,path:f,text:g,images:h})):v.NextResponse.json({error:"порожнє повідомлення"},{status:400})}let F=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/tmux/route",pathname:"/api/tmux",filename:"route",bundlePath:"app/api/tmux/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/latand/.agents/tools/live-log-viewer-next/src/app/api/tmux/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/tmux/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}}},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")},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,871],()=>b(b.s=10888));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
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")},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})}},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")},54804:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>U,patchFetch:()=>T,routeModule:()=>P,serverHooks:()=>S,workAsyncStorage:()=>Q,workUnitAsyncStorage:()=>R});var d={};c.r(d),c.d(d,{POST:()=>O,dynamic:()=>H,runtime:()=>G});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(31421),w=c(73024),x=c.n(w),y=c(48161),z=c.n(y),A=c(76760),B=c.n(A),C=c(23211),D=c(35961);let E=B().join(z().homedir(),".config","live-log-viewer","transcribe-backend"),F=B().join(z().homedir(),".config","live-log-viewer","elevenlabs-api-key"),G="nodejs",H="force-dynamic",I=/^[a-z]{2}(?:-[A-Z]{2})?$/,J=process.env.LLV_WHISPER_VENV||B().join(z().homedir(),".cache","live-log-viewer","whisper-venv"),K=process.env.LLV_WHISPER_MODEL||"small",L=process.env.LLV_WHISPER_DEVICE||"cpu",M=process.env.LLV_ELEVENLABS_STT_MODEL||"scribe_v1";async function N(a,b,c){let d=new FormData;d.append("model_id",M),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:""}}async function O(a){let b,c=(0,D.W)(a);if(c)return c;try{b=await a.formData()}catch{return C.NextResponse.json({error:"очікується multipart/form-data з полем file"},{status:400})}let d=b.get("file");if(!(d instanceof File))return C.NextResponse.json({error:"нема аудіофайла в полі file"},{status:400});if(d.size>0x1000000)return C.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 C.NextResponse.json({error:"очікується аудіо"},{status:415});let f=b.get("language"),g="string"==typeof f&&I.test(f)?f:"",h=function(){let a=process.env.LLV_TRANSCRIBE_BACKEND?.trim().toLowerCase();if("chatgpt"===a||"local"===a||"elevenlabs"===a)return a;try{let a=x().readFileSync(E,"utf8").trim().toLowerCase();if("chatgpt"===a||"elevenlabs"===a)return a}catch{}return"local"}();if("elevenlabs"===h){let a=function(){let a=process.env.ELEVENLABS_API_KEY?.trim();if(a)return a;try{return x().readFileSync(F,"utf8").trim()||null}catch{return null}}();if(!a)return C.NextResponse.json({error:"нема ключа ElevenLabs (~/.config/live-log-viewer/elevenlabs-api-key або ELEVENLABS_API_KEY)"},{status:503});try{return C.NextResponse.json(await N(a,d,g))}catch(a){return C.NextResponse.json({error:`ElevenLabs STT: ${a instanceof Error?a.message:String(a)}`},{status:502})}}let i=B().join(z().tmpdir(),`viewer-dictation-${Date.now()}-${Math.floor(1e6*Math.random())}.webm`);try{let a;if(x().writeFileSync(i,Buffer.from(await d.arrayBuffer())),"local"===h){let a,b,c=await (a=B().join(J,"bin","python"),b=B().join(process.cwd(),"scripts","whisper_transcribe.py"),new Promise((c,d)=>{(0,v.execFile)(a,[b,i,K,L,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 C.NextResponse.json(c)}let b=function(){try{let a=JSON.parse(x().readFileSync(B().join(z().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 C.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,v.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 C.NextResponse.json({error:"ChatGPT-токен протух — відкрий Codex, щоб він оновив токен"},{status:502});if(200!==c.status)return C.NextResponse.json({error:`бекенд транскрипції: HTTP ${c.status||"0 (мережа)"}`},{status:502});let f=JSON.parse(c.body);return C.NextResponse.json({text:"string"==typeof f.text?f.text:""})}catch(a){return C.NextResponse.json({error:`${"local"===h?"локальний STT":"бекенд транскрипції"}: ${a instanceof Error?a.message:String(a)}`},{status:502})}finally{x().rmSync(i,{force:!0})}}let P=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/latand/.agents/tools/live-log-viewer-next/src/app/api/transcribe/route.ts",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:Q,workUnitAsyncStorage:R,serverHooks:S}=P;function T(){return(0,g.patchFetch)({workAsyncStorage:Q,workUnitAsyncStorage:R})}async function U(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),P.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/transcribe/route";"/index"===d&&(d="/");let e=await P.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||P.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===P.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)(),Q=O.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await P.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)=>P.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=>P.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 P.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await P.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=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,!R))}catch(b){if(b instanceof t.NoFallbackError||await P.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=54804));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")},3144:(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/latand/.agents/tools/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}}},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})}},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=3144));module.exports=c})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(()=>{var a={};a.id=781,a.ids=[781],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}}},27964:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>G,patchFetch:()=>F,routeModule:()=>B,serverHooks:()=>E,workAsyncStorage:()=>C,workUnitAsyncStorage:()=>D});var d={};c.r(d),c.d(d,{POST:()=>A,dynamic:()=>z,runtime:()=>y});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(35961),x=c(14904);let y="nodejs",z="force-dynamic";async function A(a){let b=(0,w.W)(a);if(b)return b;if("elevenlabs"!==(0,x.y)())return v.NextResponse.json({error:"live-транскрипція доступна лише з бекендом elevenlabs"},{status:409});let c=(0,x.F)();if(!c)return v.NextResponse.json({error:"нема ключа ElevenLabs (~/.config/agent-log-viewer/elevenlabs-api-key або ELEVENLABS_API_KEY)"},{status:503});try{let a=await fetch("https://api.elevenlabs.io/v1/single-use-token/realtime_scribe",{method:"POST",headers:{"xi-api-key":c},signal:AbortSignal.timeout(1e4)});if(!a.ok)return v.NextResponse.json({error:`ElevenLabs token: HTTP ${a.status}`},{status:502});let b=await a.json();if("string"!=typeof b.token||!b.token)return v.NextResponse.json({error:"ElevenLabs token: відповідь без token"},{status:502});return v.NextResponse.json({token:b.token})}catch(a){return v.NextResponse.json({error:`ElevenLabs token: ${a instanceof Error?a.message:String(a)}`},{status:502})}}let B=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/transcribe/token/route",pathname:"/api/transcribe/token",filename:"route",bundlePath:"app/api/transcribe/token/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/latand/.agents/tools/live-log-viewer-next/src/app/api/transcribe/token/route.ts",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:D,serverHooks:E}=B;function F(){return(0,g.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:D})}async function G(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),B.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/transcribe/token/route";"/index"===d&&(d="/");let e=await B.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:C,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==C?void 0:C.render404)?await C.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||B.isDev||z||(L="/index"===(L=F)?"/":L);let M=!0===B.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await B.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)=>B.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>B.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 B.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await B.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 B.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},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")},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=27964));module.exports=c})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":1,"files":["../../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../../node_modules/@swc/helpers/package.json","../../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../../node_modules/next/dist/client/lib/console.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../../node_modules/next/dist/lib/constants.js","../../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../../node_modules/next/dist/lib/is-error.js","../../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../../node_modules/next/dist/lib/scheduler.js","../../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../../node_modules/next/dist/server/lib/parse-stack.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../node_modules/next/dist/server/lib/source-maps.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../../node_modules/next/dist/server/node-environment-baseline.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../../node_modules/next/dist/server/node-environment.js","../../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../../node_modules/next/dist/server/require-hook.js","../../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../../node_modules/next/dist/shared/lib/segment.js","../../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../node_modules/next/package.json","../../../../../../node_modules/react/cjs/react.development.js","../../../../../../node_modules/react/cjs/react.production.js","../../../../../../node_modules/react/index.js","../../../../../../node_modules/react/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/445.js","../../../../chunks/813.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
|
package/dist/standalone/.next/server/app/api/transcribe/token/route_client-reference-manifest.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/transcribe/token/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"/home/latand/.agents/tools/live-log-viewer-next/src/app/api/transcribe/token/route":[]},"rscModuleMapping":{},"edgeRscModuleMapping":{}};
|