commandmate 0.3.5 → 0.4.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/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +19 -23
- package/.next/app-path-routes-manifest.json +1 -1
- package/.next/build-manifest.json +5 -5
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/1.pack +0 -0
- package/.next/cache/webpack/client-production/2.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack.old +0 -0
- package/.next/cache/webpack/edge-server-production/0.pack +0 -0
- package/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/react-loadable-manifest.json +69 -55
- package/.next/required-server-files.json +1 -1
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update-check/route.js +1 -1
- package/.next/server/app/api/repositories/clone/route.js +1 -1
- package/.next/server/app/api/repositories/route.js +8 -8
- package/.next/server/app/api/repositories/scan/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -2
- package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route.js +2 -2
- package/.next/server/app/api/worktrees/[id]/search/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/route.js +1 -1
- package/.next/server/app/login/page.js +1 -1
- package/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js +3 -3
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/proxy/[...path]/route.js +4 -4
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/page.js +6 -6
- package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page.js +2 -4
- package/.next/server/app/worktrees/[id]/terminal/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +8 -8
- package/.next/server/chunks/{3294.js → 1628.js} +3 -3
- package/.next/server/chunks/185.js +36 -0
- package/.next/server/chunks/3860.js +1 -1
- package/.next/server/chunks/4893.js +2 -2
- package/.next/server/chunks/4952.js +1 -1
- package/.next/server/chunks/5488.js +6 -6
- package/.next/server/chunks/7425.js +34 -31
- package/.next/server/chunks/7566.js +2 -2
- package/.next/server/chunks/8199.js +1 -0
- package/.next/server/chunks/8585.js +1 -1
- package/.next/server/chunks/8693.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/12-00c528d46a0a0a1d.js +1 -0
- package/.next/static/chunks/{13.feeafc7cc620f8c4.js → 13.b9521543496f4468.js} +1 -1
- package/.next/static/chunks/1334.bfedf44ee9fe2761.js +1 -0
- package/.next/static/chunks/143.eb6b4671490cd223.js +1 -0
- package/.next/static/chunks/{3574.7a94c27e6a496a56.js → 1442.74b5f4de9a4b4e1b.js} +1 -1
- package/.next/static/chunks/2083-b5bed0c77cc53281.js +1 -0
- package/.next/static/chunks/2725.eb2d236c8030711c.js +1 -0
- package/.next/static/chunks/3398-3d40a17387bd554b.js +1 -0
- package/.next/static/chunks/3516.3c576047408cae6b.js +1 -0
- package/.next/static/chunks/3559.422c6ca760b85750.js +1 -0
- package/.next/static/chunks/3956.52c5b9a0071a641d.js +1 -0
- package/.next/static/chunks/4012.32b576a4fa621774.js +1 -0
- package/.next/static/chunks/4212.e7ba1009bc1da62d.js +131 -0
- package/.next/static/chunks/4303.caf91e86105d5e70.js +1 -0
- package/.next/static/chunks/4327.4dcda9b6fab6a385.js +82 -0
- package/.next/static/chunks/4671.d86d21d0dfdace41.js +1 -0
- package/.next/static/chunks/5518.ec88dcb5a27b17fe.js +1 -0
- package/.next/static/chunks/6434.08d262283371d333.js +1 -0
- package/.next/static/chunks/{656.5e2de0173f5a06bd.js → 656.dc26b973d07d9627.js} +5 -5
- package/.next/static/chunks/7119.01777af21b55740c.js +1 -0
- package/.next/static/chunks/7293.fb88bb102af4aa04.js +1 -0
- package/.next/static/chunks/8913-40625650292eb3d0.js +1 -0
- package/.next/static/chunks/8977.fc18b8260cd8bc1f.js +1 -0
- package/.next/static/chunks/9552.d959149efd41e84b.js +1 -0
- package/.next/static/chunks/app/layout-7198a7a49aa21a97.js +1 -0
- package/.next/static/chunks/app/page-7498cf75e69d9227.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/files/[...path]/page-0599f64a8e80d255.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/page-94ad7a1ce1f0c440.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/terminal/page-175b618c047bc992.js +1 -0
- package/.next/static/chunks/d3ac728e.daf595a898e9b720.js +1 -0
- package/.next/static/chunks/webpack-f7111aab807d73b9.js +1 -0
- package/.next/static/css/f7dc01350168df01.css +3 -0
- package/.next/trace +5 -5
- package/README.md +66 -56
- package/dist/server/server.js +5 -0
- package/dist/server/src/lib/auto-yes-manager.js +58 -18
- package/dist/server/src/lib/claude-session.js +9 -3
- package/dist/server/src/lib/cli-session.js +60 -10
- package/dist/server/src/lib/cli-tools/codex.js +7 -7
- package/dist/server/src/lib/cli-tools/gemini.js +3 -0
- package/dist/server/src/lib/cli-tools/opencode-config.js +179 -33
- package/dist/server/src/lib/cli-tools/opencode.js +5 -0
- package/dist/server/src/lib/cli-tools/vibe-local.js +3 -0
- package/dist/server/src/lib/cmate-parser.js +7 -7
- package/dist/server/src/lib/db-migrations.js +18 -1
- package/dist/server/src/lib/errors.js +153 -0
- package/dist/server/src/lib/prompt-answer-sender.js +3 -0
- package/dist/server/src/lib/prompt-detector.js +49 -7
- package/dist/server/src/lib/resource-cleanup.js +257 -0
- package/dist/server/src/lib/schedule-manager.js +269 -83
- package/dist/server/src/lib/tmux-capture-cache.js +221 -0
- package/dist/server/src/lib/tmux.js +41 -20
- package/dist/server/src/types/markdown-editor.js +9 -1
- package/package.json +11 -8
- package/.next/server/chunks/539.js +0 -35
- package/.next/server/chunks/7458.js +0 -1
- package/.next/server/chunks/7808.js +0 -1
- package/.next/static/chunks/1038-3509435b68c0967e.js +0 -1
- package/.next/static/chunks/1098.49268c9fe1b028fa.js +0 -1
- package/.next/static/chunks/2335-98a211e00b94c7ac.js +0 -1
- package/.next/static/chunks/3559.f073f72c4466ce0e.js +0 -1
- package/.next/static/chunks/3843.3fdda732987f7bb8.js +0 -1
- package/.next/static/chunks/4212.52c1bb34fc97d0d0.js +0 -131
- package/.next/static/chunks/4327.157a4c226d919531.js +0 -60
- package/.next/static/chunks/4362.7bd6f0282e49d79b.js +0 -1
- package/.next/static/chunks/4721.40615a5f4f32b5fb.js +0 -1
- package/.next/static/chunks/5112.17318d1c6b28044b.js +0 -1
- package/.next/static/chunks/6406.9653f0d41ab85059.js +0 -1
- package/.next/static/chunks/6792.3c01ac4dda4b5c6d.js +0 -1
- package/.next/static/chunks/8091-d65d2ab6daed23c6.js +0 -1
- package/.next/static/chunks/8125.245a9df052d274fb.js +0 -1
- package/.next/static/chunks/8522.1607e96011c66877.js +0 -1
- package/.next/static/chunks/8841.dadeb1ece8e46004.js +0 -1
- package/.next/static/chunks/8885.f8d9912b40d74811.js +0 -1
- package/.next/static/chunks/9178-88850a7c48deea07.js +0 -1
- package/.next/static/chunks/9552.b7dfb7903ead934b.js +0 -1
- package/.next/static/chunks/app/layout-9110f9a5e41c6bf4.js +0 -1
- package/.next/static/chunks/app/page-9e523a8f415bc707.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/files/[...path]/page-4a3c0861367e0391.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-8fb4dc30b58a5681.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/terminal/page-5d85a7e508ce36d3.js +0 -1
- package/.next/static/chunks/d3ac728e.6c9c508274d4d2d5.js +0 -1
- package/.next/static/chunks/webpack-81c97591dd5567ac.js +0 -1
- package/.next/static/css/45b3a41370668314.css +0 -3
- /package/.next/static/chunks/{30d07d85-393352a92199f695.js → 30d07d85.1dc99a921fc18e34.js} +0 -0
- /package/.next/static/{p3hosTZoJ22r35fWwUoLr → dwGMLEU53HOvFOWqiZOT0}/_buildManifest.js +0 -0
- /package/.next/static/{p3hosTZoJ22r35fWwUoLr → dwGMLEU53HOvFOWqiZOT0}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"12846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"18828":{"*":{"id":"2108","name":"*","chunks":[],"async":false}},"19107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"
|
|
1
|
+
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"12846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"18828":{"*":{"id":"2108","name":"*","chunks":[],"async":false}},"19107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"26514":{"*":{"id":"30349","name":"*","chunks":[],"async":false}},"27323":{"*":{"id":"45763","name":"*","chunks":[],"async":false}},"36423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"50653":{"*":{"id":"89829","name":"*","chunks":[],"async":false}},"61060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"66677":{"*":{"id":"42106","name":"*","chunks":[],"async":false}},"88880":{"*":{"id":"25546","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/client/components/app-router.js":{"id":12846,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/esm/client/components/app-router.js":{"id":12846,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/client/components/client-page.js":{"id":19107,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/esm/client/components/client-page.js":{"id":19107,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/client/components/error-boundary.js":{"id":61060,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":61060,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/client/components/layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/esm/client/components/layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/client/components/not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/client/components/render-from-template-context.js":{"id":36423,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":36423,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/src/app/globals.css":{"id":2778,"name":"*","chunks":["9234","static/chunks/9234-b0304101384ca079.js","8528","static/chunks/8528-4d554d3b94d4cf9b.js","3185","static/chunks/app/layout-7198a7a49aa21a97.js"],"async":false},"/home/runner/work/CommandMate/CommandMate/src/components/providers/AppProviders.tsx":{"id":18828,"name":"*","chunks":["9234","static/chunks/9234-b0304101384ca079.js","8528","static/chunks/8528-4d554d3b94d4cf9b.js","3185","static/chunks/app/layout-7198a7a49aa21a97.js"],"async":false},"/home/runner/work/CommandMate/CommandMate/src/app/login/page.tsx":{"id":88880,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/src/app/page.tsx":{"id":66677,"name":"*","chunks":["9234","static/chunks/9234-b0304101384ca079.js","216","static/chunks/216-f18f4a9d8b04a91e.js","12","static/chunks/12-00c528d46a0a0a1d.js","8528","static/chunks/8528-4d554d3b94d4cf9b.js","2083","static/chunks/2083-b5bed0c77cc53281.js","1931","static/chunks/app/page-7498cf75e69d9227.js"],"async":false},"/home/runner/work/CommandMate/CommandMate/src/app/worktrees/[id]/files/[...path]/page.tsx":{"id":50653,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/src/app/worktrees/[id]/page.tsx":{"id":26514,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/src/app/worktrees/[id]/terminal/page.tsx":{"id":27323,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/home/runner/work/CommandMate/CommandMate/src/":[],"/home/runner/work/CommandMate/CommandMate/src/app/layout":["static/css/f7dc01350168df01.css"],"/home/runner/work/CommandMate/CommandMate/src/app/page":[]}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";(()=>{var e={};e.id=4650,e.ids=[4650],e.modules={85890:e=>{e.exports=require("better-sqlite3")},20399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},30517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},84770:e=>{e.exports=require("crypto")},92048:e=>{e.exports=require("fs")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},6490:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()
|
|
1
|
+
"use strict";(()=>{var e={};e.id=4650,e.ids=[4650],e.modules={85890:e=>{e.exports=require("better-sqlite3")},20399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},30517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},84770:e=>{e.exports=require("crypto")},92048:e=>{e.exports=require("fs")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},6490:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>C,patchFetch:()=>O,requestAsyncStorage:()=>U,routeModule:()=>v,serverHooks:()=>$,staticGenerationAsyncStorage:()=>S});var a={};r.r(a),r.d(a,{DELETE:()=>P,GET:()=>A,PATCH:()=>k,POST:()=>T,PUT:()=>D,dynamic:()=>b});var n=r(49303),o=r(88716),s=r(60670),i=r(87070),p=r(97425),c=r(73068);let l={DEFAULT_MS:3e4},d=["host","connection","keep-alive","transfer-encoding","te","trailer","upgrade"],u=["cookie","authorization","proxy-authorization","x-forwarded-for","x-forwarded-host","x-forwarded-proto","x-real-ip"],h=["transfer-encoding","connection","keep-alive"],f=["set-cookie","content-security-policy","content-security-policy-report-only","x-frame-options","strict-transport-security","access-control-allow-origin","access-control-allow-credentials","access-control-allow-methods","access-control-allow-headers","access-control-expose-headers","access-control-max-age"],_={BAD_GATEWAY:502,GATEWAY_TIMEOUT:504,UPGRADE_REQUIRED:426},E={GATEWAY_TIMEOUT:"The upstream server did not respond in time",BAD_GATEWAY:"Unable to connect to upstream server",UPGRADE_REQUIRED:"WebSocket connections are not supported through the proxy Route Handler"};function w(e,...t){let r=new Headers;return e.forEach((e,a)=>{let n=a.toLowerCase();t.some(e=>e.includes(n))||r.set(a,e)}),r}async function x(e,t,r){let a=`http://${t.targetHost}:${t.targetPort}${r}`,n=w(e.headers,d,u);try{let t=new AbortController,r=setTimeout(()=>t.abort(),l.DEFAULT_MS),o=await fetch(a,{method:e.method,headers:n,body:"GET"!==e.method&&"HEAD"!==e.method?e.body:void 0,signal:t.signal,duplex:"half"});clearTimeout(r);let s=w(o.headers,h,f);return new Response(o.body,{status:o.status,statusText:o.statusText,headers:s})}catch(e){if(e instanceof Error&&("AbortError"===e.name||"TimeoutError"===e.name))return new Response(JSON.stringify({error:"Gateway Timeout",message:E.GATEWAY_TIMEOUT}),{status:_.GATEWAY_TIMEOUT,headers:{"Content-Type":"application/json"}});return new Response(JSON.stringify({error:"Bad Gateway",message:E.BAD_GATEWAY}),{status:_.BAD_GATEWAY,headers:{"Content-Type":"application/json"}})}}async function m(e,t,r){return new Response(JSON.stringify({error:"Upgrade Required",message:E.UPGRADE_REQUIRED}),{status:_.UPGRADE_REQUIRED,headers:{"Content-Type":"application/json",Upgrade:"websocket"}})}let y=(0,r(43895).h)("proxy");function g(e){let t=`[Proxy] ${e.method} ${e.path} -> ${e.statusCode} (${e.responseTime}ms)`;e.error?y.warn(t,{...e}):y.info(t,{...e})}let b="force-dynamic";async function R(e,t){let r=Date.now(),a=e.method,[n]=t,o="/proxy/"+t.join("/");if(!n)return i.NextResponse.json({error:"Path prefix is required"},{status:400});try{let t=(0,p.getDbInstance)(),s=(0,c.V_)(t),l=await s.getByPathPrefix(n);if(!l)return i.NextResponse.json({error:"No external app found for the requested path"},{status:404});if(!l.enabled)return i.NextResponse.json({error:"The requested external app is currently disabled"},{status:503});if(function(e){let t=e.headers.get("upgrade");return t?.toLowerCase()==="websocket"}(e)){let t=await m(e,l,o),s={timestamp:Date.now(),pathPrefix:n,method:a,path:o,statusCode:t.status,responseTime:Date.now()-r,isWebSocket:!0};return g(s),t}let d=await x(e,l,o),u={timestamp:Date.now(),pathPrefix:n,method:a,path:o,statusCode:d.status,responseTime:Date.now()-r,isWebSocket:!1};return d.status>=400&&(u.error=`HTTP ${d.status}`),g(u),d}catch(e){return y.error(`[Proxy] ${a} ${o} failed: ${e.message}`,{pathPrefix:n,method:a,path:o,error:e.message,stack:e.stack}),i.NextResponse.json({error:"Proxy error",message:E.BAD_GATEWAY},{status:502})}}async function A(e,{params:t}){let{path:r}=await t;return R(e,r)}async function T(e,{params:t}){let{path:r}=await t;return R(e,r)}async function D(e,{params:t}){let{path:r}=await t;return R(e,r)}async function k(e,{params:t}){let{path:r}=await t;return R(e,r)}async function P(e,{params:t}){let{path:r}=await t;return R(e,r)}let v=new n.AppRouteRouteModule({definition:{kind:o.x.APP_ROUTE,page:"/proxy/[...path]/route",pathname:"/proxy/[...path]",filename:"route",bundlePath:"app/proxy/[...path]/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/proxy/[...path]/route.ts",nextConfigOutput:"",userland:a}),{requestAsyncStorage:U,staticGenerationAsyncStorage:S,serverHooks:$}=v,C="/proxy/[...path]/route";function O(){return(0,s.patchFetch)({serverHooks:$,staticGenerationAsyncStorage:S})}},73068:(e,t,r)=>{r.d(t,{V_:()=>s});var a=r(51172);class n{constructor(e,t=3e4){this.cache=new Map,this.allAppsCache=null,this.lastRefresh=0,this.db=e,this.ttl=t}getTTL(){return this.ttl}isStale(){return Date.now()-this.lastRefresh>this.ttl}async refresh(){let e=(0,a.J6)(this.db);for(let t of(this.cache.clear(),e))this.cache.set(t.pathPrefix,t);this.allAppsCache=e,this.lastRefresh=Date.now()}async getByPathPrefix(e){return this.isStale()&&await this.refresh(),this.cache.get(e)??null}async getAll(){return this.isStale()&&await this.refresh(),this.allAppsCache??[]}invalidate(){this.cache.clear(),this.allAppsCache=null,this.lastRefresh=0}invalidateByIssueNo(e){this.invalidate()}}let o=null;function s(e){if(!o){if(!e)throw Error("Database instance required to initialize cache");o=new n(e)}return o}},51172:(e,t,r)=>{r.d(t,{F1:()=>p,J6:()=>u,JF:()=>i,j6:()=>s,ke:()=>c,uz:()=>l,vV:()=>d});var a=r(84770);class n extends Error{constructor(e,t,r){super(e),this.code=t,this.cause=r,this.name="ExternalAppDbError"}}function o(e){return{id:e.id,name:e.name,displayName:e.display_name,description:e.description??void 0,pathPrefix:e.path_prefix,targetPort:e.target_port,targetHost:e.target_host,appType:e.app_type,websocketEnabled:1===e.websocket_enabled,websocketPathPattern:e.websocket_path_pattern??void 0,enabled:1===e.enabled,createdAt:e.created_at,updatedAt:e.updated_at}}function s(e,t){let r=(0,a.randomUUID)(),o=Date.now(),s={name:t.name,display_name:t.displayName,description:t.description??null,path_prefix:t.pathPrefix,target_port:t.targetPort,target_host:t.targetHost??"localhost",app_type:t.appType,websocket_enabled:t.websocketEnabled?1:0,websocket_path_pattern:t.websocketPathPattern??null};try{return e.prepare(`
|
|
2
2
|
INSERT INTO external_apps (
|
|
3
3
|
id, name, display_name, description, path_prefix,
|
|
4
4
|
target_port, target_host, app_type,
|
|
@@ -20,14 +20,14 @@
|
|
|
20
20
|
enabled, created_at, updated_at
|
|
21
21
|
FROM external_apps
|
|
22
22
|
WHERE path_prefix = ?
|
|
23
|
-
`).get(t);if(!r)return null;return o(r)}catch(e){throw new n(`Failed to get external app by path prefix: ${e instanceof Error?e.message:"Unknown error"}`,"DB_ERROR",e instanceof Error?e:void 0)}}function
|
|
23
|
+
`).get(t);if(!r)return null;return o(r)}catch(e){throw new n(`Failed to get external app by path prefix: ${e instanceof Error?e.message:"Unknown error"}`,"DB_ERROR",e instanceof Error?e:void 0)}}function c(e){try{return e.prepare(`
|
|
24
24
|
SELECT id, name, display_name, description, path_prefix,
|
|
25
25
|
target_port, target_host, app_type,
|
|
26
26
|
websocket_enabled, websocket_path_pattern,
|
|
27
27
|
enabled, created_at, updated_at
|
|
28
28
|
FROM external_apps
|
|
29
29
|
ORDER BY name ASC
|
|
30
|
-
`).all().map(o)}catch(e){throw new n(`Failed to get all external apps: ${e instanceof Error?e.message:"Unknown error"}`,"DB_ERROR",e instanceof Error?e:void 0)}}function
|
|
30
|
+
`).all().map(o)}catch(e){throw new n(`Failed to get all external apps: ${e instanceof Error?e.message:"Unknown error"}`,"DB_ERROR",e instanceof Error?e:void 0)}}function l(e,t,r){if(!i(e,t))throw new n(`External app not found: ${t}`,"NOT_FOUND");try{let a=Date.now(),n=["updated_at = ?"],o=[a];return void 0!==r.displayName&&(n.push("display_name = ?"),o.push(r.displayName)),void 0!==r.description&&(n.push("description = ?"),o.push(r.description)),void 0!==r.targetPort&&(n.push("target_port = ?"),o.push(r.targetPort)),void 0!==r.targetHost&&(n.push("target_host = ?"),o.push(r.targetHost)),void 0!==r.websocketEnabled&&(n.push("websocket_enabled = ?"),o.push(r.websocketEnabled?1:0)),void 0!==r.websocketPathPattern&&(n.push("websocket_path_pattern = ?"),o.push(r.websocketPathPattern)),void 0!==r.enabled&&(n.push("enabled = ?"),o.push(r.enabled?1:0)),o.push(t),e.prepare(`
|
|
31
31
|
UPDATE external_apps
|
|
32
32
|
SET ${n.join(", ")}
|
|
33
33
|
WHERE id = ?
|
|
@@ -41,4 +41,4 @@
|
|
|
41
41
|
enabled, created_at, updated_at, issue_no
|
|
42
42
|
FROM external_apps
|
|
43
43
|
WHERE enabled = 1
|
|
44
|
-
`,a=[];t?.issueNo===null?r+=" AND issue_no IS NULL":t?.issueNo!==void 0&&(r+=" AND issue_no = ?",a.push(t.issueNo)),r+=" ORDER BY name ASC";let n=e.prepare(r);return(a.length>0?n.all(...a):n.all()).map(o)}catch(e){throw new n(`Failed to get enabled external apps: ${e instanceof Error?e.message:"Unknown error"}`,"DB_ERROR",e instanceof Error?e:void 0)}}},43895:(e,t,r)=>{r.d(t,{Y:()=>p,h:()=>
|
|
44
|
+
`,a=[];t?.issueNo===null?r+=" AND issue_no IS NULL":t?.issueNo!==void 0&&(r+=" AND issue_no = ?",a.push(t.issueNo)),r+=" ORDER BY name ASC";let n=e.prepare(r);return(a.length>0?n.all(...a):n.all()).map(o)}catch(e){throw new n(`Failed to get enabled external apps: ${e instanceof Error?e.message:"Unknown error"}`,"DB_ERROR",e instanceof Error?e:void 0)}}},43895:(e,t,r)=>{r.d(t,{Y:()=>p,h:()=>c});var a=r(98838);let n=[{pattern:/Bearer\s+[A-Za-z0-9\-._~+/]+=*/gi,replacement:"Bearer [REDACTED]"},{pattern:/(password|passwd|pwd)[=:]\s*\S+/gi,replacement:"$1=[REDACTED]"},{pattern:/(token|secret|api_key|apikey|auth)[=:]\s*\S+/gi,replacement:"$1=[REDACTED]"},{pattern:/Authorization:\s*\S+/gi,replacement:"Authorization: [REDACTED]"},{pattern:/-----BEGIN\s+\w+\s+PRIVATE\s+KEY-----[\s\S]*?-----END\s+\w+\s+PRIVATE\s+KEY-----/g,replacement:"[SSH_KEY_REDACTED]"}],o=/password|secret|token|key|auth/i,s={debug:0,info:1,warn:2,error:3};function i(e,t,r,i,p){let c=(0,a.LI)().level;if(s[e]<s[c])return;let l=i?function e(t){if("string"==typeof t){let e=t;for(let{pattern:t,replacement:r}of n)e=e.replace(t,r);return e}if("object"==typeof t&&null!==t){if(Array.isArray(t))return t.map(e);let r={};for(let[a,n]of Object.entries(t))o.test(a)?r[a]="[REDACTED]":r[a]=e(n);return r}return t}(i):void 0,d=function(e){if("json"===(0,a.LI)().format)return JSON.stringify(e);let{timestamp:t,level:r,module:n,action:o,data:s,worktreeId:i,cliToolId:p,requestId:c}=e,l=[i,p].filter(Boolean),d=l.length>0?` [${l.join(":")}]`:"",u=c?` (${c.slice(0,8)})`:"",h=s?` ${JSON.stringify(s)}`:"";return`[${t}] [${r.toUpperCase()}] [${n}]${d}${u} ${o}${h}`}({level:e,module:t,action:r,timestamp:new Date().toISOString(),...p,...l&&{data:l}});switch(e){case"error":console.error(d);break;case"warn":console.warn(d);break;default:console.log(d)}}function p(){return"undefined"!=typeof crypto&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})}function c(e){let t=r=>({debug:(t,a)=>i("debug",e,t,a,r),info:(t,a)=>i("info",e,t,a,r),warn:(t,a)=>i("warn",e,t,a,r),error:(t,a)=>i("error",e,t,a,r),withContext:e=>t({...r,...e})});return t()}}};var t=require("../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),a=t.X(0,[8948,5972,7425],()=>r(6490));module.exports=a})();
|