commandmate 0.3.0 → 0.3.2
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 +11 -11
- package/.next/app-path-routes-manifest.json +1 -1
- package/.next/build-manifest.json +2 -2
- 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/required-server-files.json +1 -1
- package/.next/routes-manifest.json +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/external-apps/[id]/health/route.js +1 -1
- package/.next/server/app/api/external-apps/[id]/route.js +1 -1
- package/.next/server/app/api/external-apps/route.js +1 -1
- package/.next/server/app/api/hooks/claude-done/route.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
- package/.next/server/app/api/repositories/clone/route.js +1 -1
- package/.next/server/app/api/repositories/excluded/route.js +7 -7
- package/.next/server/app/api/repositories/restore/route.js +3 -3
- package/.next/server/app/api/repositories/route.js +13 -11
- package/.next/server/app/api/repositories/scan/route.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js +3 -3
- package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js +1 -0
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js.nft.json +1 -0
- package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +9 -0
- package/.next/server/app/api/worktrees/[id]/execution-logs/route.js.nft.json +1 -0
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route.js +2 -2
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/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 -0
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js.nft.json +1 -0
- package/.next/server/app/api/worktrees/[id]/schedules/route.js +4 -0
- package/.next/server/app/api/worktrees/[id]/schedules/route.js.nft.json +1 -0
- package/.next/server/app/api/worktrees/[id]/search/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/start-polling/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route.js +1 -1
- package/.next/server/app/api/worktrees/route.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.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/proxy/[...path]/route.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 +8 -3
- 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.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 +13 -9
- package/.next/server/chunks/2314.js +1 -0
- package/.next/server/chunks/3860.js +1 -1
- package/.next/server/chunks/6228.js +1 -0
- package/.next/server/chunks/7425.js +85 -30
- package/.next/server/chunks/7536.js +1 -1
- package/.next/server/chunks/7566.js +2 -2
- package/.next/server/functions-config-manifest.json +1 -1
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/app/worktrees/[id]/page-0c889ab3f30d5af7.js +1 -0
- package/.next/static/css/bd6065b03ddb3efd.css +3 -0
- package/.next/trace +5 -5
- package/.next/types/app/api/worktrees/[id]/execution-logs/[logId]/route.ts +343 -0
- package/.next/types/app/api/worktrees/[id]/execution-logs/route.ts +343 -0
- package/.next/types/app/api/worktrees/[id]/schedules/[scheduleId]/route.ts +343 -0
- package/.next/types/app/api/worktrees/[id]/schedules/route.ts +343 -0
- package/dist/cli/utils/docs-reader.d.ts.map +1 -1
- package/dist/cli/utils/docs-reader.js +1 -0
- package/dist/server/server.js +5 -0
- package/dist/server/src/config/cmate-constants.js +79 -0
- package/dist/server/src/config/schedule-config.js +54 -0
- package/dist/server/src/lib/claude-executor.js +147 -0
- package/dist/server/src/lib/claude-session.js +31 -6
- package/dist/server/src/lib/cli-patterns.js +1 -1
- package/dist/server/src/lib/cmate-parser.js +240 -0
- package/dist/server/src/lib/db-instance.js +3 -0
- package/dist/server/src/lib/db-migrations.js +96 -2
- package/dist/server/src/lib/env-sanitizer.js +57 -0
- package/dist/server/src/lib/response-poller.js +3 -2
- package/dist/server/src/lib/schedule-manager.js +397 -0
- package/dist/server/src/types/cmate.js +6 -0
- package/package.json +2 -1
- package/.next/static/chunks/app/worktrees/[id]/page-9418e49bdc1de02c.js +0 -1
- package/.next/static/css/b9ea6a4fad17dc32.css +0 -3
- /package/.next/static/{clTo9tuAoPMLcGRuVENfO → j8HFvzDZj7tHjAnhpXUno}/_buildManifest.js +0 -0
- /package/.next/static/{clTo9tuAoPMLcGRuVENfO → j8HFvzDZj7tHjAnhpXUno}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var e={};e.id=2568,e.ids=[2568],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")},78893:e=>{e.exports=require("buffer")},61282:e=>{e.exports=require("child_process")},84770:e=>{e.exports=require("crypto")},17702:e=>{e.exports=require("events")},92048:e=>{e.exports=require("fs")},20629:e=>{e.exports=require("fs/promises")},32615:e=>{e.exports=require("http")},35240:e=>{e.exports=require("https")},98216:e=>{e.exports=require("net")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},76162:e=>{e.exports=require("stream")},82452:e=>{e.exports=require("tls")},17360:e=>{e.exports=require("url")},21764:e=>{e.exports=require("util")},71568:e=>{e.exports=require("zlib")},74859:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>g,patchFetch:()=>I,requestAsyncStorage:()=>q,routeModule:()=>k,serverHooks:()=>w,staticGenerationAsyncStorage:()=>h});var o={};t.r(o),t.d(o,{POST:()=>x});var s=t(49303),a=t(88716),u=t(60670),n=t(87070),i=t(97425),p=t(75748),d=t(62648),l=t(68507),c=t(89287),m=t(76966);async function x(e){try{let r;let t=(0,i.
|
|
1
|
+
"use strict";(()=>{var e={};e.id=2568,e.ids=[2568],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")},78893:e=>{e.exports=require("buffer")},61282:e=>{e.exports=require("child_process")},84770:e=>{e.exports=require("crypto")},17702:e=>{e.exports=require("events")},92048:e=>{e.exports=require("fs")},20629:e=>{e.exports=require("fs/promises")},32615:e=>{e.exports=require("http")},35240:e=>{e.exports=require("https")},98216:e=>{e.exports=require("net")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},76162:e=>{e.exports=require("stream")},82452:e=>{e.exports=require("tls")},17360:e=>{e.exports=require("url")},21764:e=>{e.exports=require("util")},71568:e=>{e.exports=require("zlib")},74859:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>g,patchFetch:()=>I,requestAsyncStorage:()=>q,routeModule:()=>k,serverHooks:()=>w,staticGenerationAsyncStorage:()=>h});var o={};t.r(o),t.d(o,{POST:()=>x});var s=t(49303),a=t(88716),u=t(60670),n=t(87070),i=t(97425),p=t(75748),d=t(62648),l=t(68507),c=t(89287),m=t(76966);async function x(e){try{let r;let t=(0,i.getDbInstance)(),o=await e.json();if(!o.worktreeId||"string"!=typeof o.worktreeId)return n.NextResponse.json({error:"worktreeId is required and must be a string"},{status:400});if(!(0,p.gU)(t,o.worktreeId))return n.NextResponse.json({error:`Worktree '${o.worktreeId}' not found`},{status:404});try{r=await (0,d.Lm)(o.worktreeId,1e4)}catch(r){console.error("Failed to capture Claude output:",r);let e=r instanceof Error?r.message:"Unknown error";return n.NextResponse.json({error:`Failed to capture Claude output: ${e}`},{status:500})}let s=(0,c.Z)(r);await (0,m.o)(t,o.worktreeId,s.content,"claude");let a=(0,p.tn)(t,{worktreeId:o.worktreeId,role:"assistant",content:s.content,summary:s.summary,timestamp:new Date,logFileName:s.logFileName,requestId:s.requestId,messageType:"normal",cliToolId:"claude"}),u=r.split("\n").length;return(0,p.IH)(t,o.worktreeId,"claude",u),(0,l.ps)("message",{worktreeId:o.worktreeId,message:a}),console.log(`✓ Processed Claude response for worktree: ${o.worktreeId}`),n.NextResponse.json({success:!0,messageId:a.id,summary:s.summary},{status:200})}catch(e){return console.error("Error processing Claude done hook:",e),n.NextResponse.json({error:"Failed to process Claude done hook"},{status:500})}}let k=new s.AppRouteRouteModule({definition:{kind:a.x.APP_ROUTE,page:"/api/hooks/claude-done/route",pathname:"/api/hooks/claude-done",filename:"route",bundlePath:"app/api/hooks/claude-done/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/hooks/claude-done/route.ts",nextConfigOutput:"",userland:o}),{requestAsyncStorage:q,staticGenerationAsyncStorage:h,serverHooks:w}=k,g="/api/hooks/claude-done/route";function I(){return(0,u.patchFetch)({serverHooks:w,staticGenerationAsyncStorage:h})}}};var r=require("../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),o=r.X(0,[8948,5972,3853,4893,7425,7566],()=>t(74859));module.exports=o})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var e={};e.id=9578,e.ids=[9578],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")},61282:e=>{e.exports=require("child_process")},84770:e=>{e.exports=require("crypto")},92048:e=>{e.exports=require("fs")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},21764:e=>{e.exports=require("util")},11303:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>m,patchFetch:()=>h,requestAsyncStorage:()=>x,routeModule:()=>l,serverHooks:()=>
|
|
1
|
+
"use strict";(()=>{var e={};e.id=9578,e.ids=[9578],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")},61282:e=>{e.exports=require("child_process")},84770:e=>{e.exports=require("crypto")},92048:e=>{e.exports=require("fs")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},21764:e=>{e.exports=require("util")},11303:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>m,patchFetch:()=>h,requestAsyncStorage:()=>x,routeModule:()=>l,serverHooks:()=>j,staticGenerationAsyncStorage:()=>b});var o={};t.r(o),t.d(o,{GET:()=>d});var s=t(49303),n=t(88716),i=t(60670),u=t(87070),a=t(97425),p=t(98838),c=t(65488);async function d(e,{params:r}){try{let{jobId:e}=await r;if(!e)return u.NextResponse.json({success:!1,error:"Job ID is required"},{status:400});let t=(0,a.getDbInstance)(),{CM_ROOT_DIR:o}=(0,p.dU)(),s=new c.v9(t,{basePath:o}).getCloneJobStatus(e);if(!s)return u.NextResponse.json({success:!1,error:"Clone job not found"},{status:404});let n={success:!0,jobId:s.jobId,status:s.status,progress:s.progress,repositoryId:s.repositoryId};return s.error&&(n.error=s.error),u.NextResponse.json(n,{status:200})}catch(e){return console.error("[Clone Status API] Unexpected error:",e),u.NextResponse.json({success:!1,error:"Failed to get clone job status"},{status:500})}}let l=new s.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/repositories/clone/[jobId]/route",pathname:"/api/repositories/clone/[jobId]",filename:"route",bundlePath:"app/api/repositories/clone/[jobId]/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/repositories/clone/[jobId]/route.ts",nextConfigOutput:"",userland:o}),{requestAsyncStorage:x,staticGenerationAsyncStorage:b,serverHooks:j}=l,m="/api/repositories/clone/[jobId]/route";function h(){return(0,i.patchFetch)({serverHooks:j,staticGenerationAsyncStorage:b})}}};var r=require("../../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),o=r.X(0,[8948,5972,7425,5488],()=>t(11303));module.exports=o})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var e={};e.id=541,e.ids=[541],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")},61282:e=>{e.exports=require("child_process")},84770:e=>{e.exports=require("crypto")},92048:e=>{e.exports=require("fs")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},21764:e=>{e.exports=require("util")},28841:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>j,patchFetch:()=>v,requestAsyncStorage:()=>m,routeModule:()=>g,serverHooks:()=>b,staticGenerationAsyncStorage:()=>x});var o={};t.r(o),t.d(o,{POST:()=>l});var s=t(49303),a=t(88716),n=t(60670),i=t(87070),c=t(97425),u=t(98838),p=t(65488);let d="[Clone API]";async function l(e){try{let{cloneUrl:r,targetDir:t}=await e.json();if(!r||"string"!=typeof r||""===r.trim())return i.NextResponse.json({success:!1,error:{category:"validation",code:"EMPTY_URL",message:"Clone URL is required",recoverable:!0,suggestedAction:"Please enter a valid git clone URL"}},{status:400});if(void 0!==t&&"string"!=typeof t)return i.NextResponse.json({success:!1,error:{category:"validation",code:"INVALID_TARGET_PATH",message:"targetDir must be a string",recoverable:!0,suggestedAction:"Provide a valid string path for targetDir"}},{status:400});let o=(0,c.
|
|
1
|
+
"use strict";(()=>{var e={};e.id=541,e.ids=[541],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")},61282:e=>{e.exports=require("child_process")},84770:e=>{e.exports=require("crypto")},92048:e=>{e.exports=require("fs")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},21764:e=>{e.exports=require("util")},28841:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>j,patchFetch:()=>v,requestAsyncStorage:()=>m,routeModule:()=>g,serverHooks:()=>b,staticGenerationAsyncStorage:()=>x});var o={};t.r(o),t.d(o,{POST:()=>l});var s=t(49303),a=t(88716),n=t(60670),i=t(87070),c=t(97425),u=t(98838),p=t(65488);let d="[Clone API]";async function l(e){try{let{cloneUrl:r,targetDir:t}=await e.json();if(!r||"string"!=typeof r||""===r.trim())return i.NextResponse.json({success:!1,error:{category:"validation",code:"EMPTY_URL",message:"Clone URL is required",recoverable:!0,suggestedAction:"Please enter a valid git clone URL"}},{status:400});if(void 0!==t&&"string"!=typeof t)return i.NextResponse.json({success:!1,error:{category:"validation",code:"INVALID_TARGET_PATH",message:"targetDir must be a string",recoverable:!0,suggestedAction:"Provide a valid string path for targetDir"}},{status:400});let o=(0,c.getDbInstance)(),{CM_ROOT_DIR:s}=(0,u.dU)(),a=new p.v9(o,{basePath:s});console.info(`${d} Starting clone job for: ${r}`);let n=await a.startCloneJob(r.trim(),t);if(!n.success){let e=400;return(n.error?.code==="DUPLICATE_CLONE_URL"||n.error?.code==="CLONE_IN_PROGRESS")&&(e=409),console.warn(`${d} Clone job failed: ${n.error?.code} - ${n.error?.message}`),i.NextResponse.json({success:!1,error:n.error,jobId:n.jobId},{status:e})}return console.info(`${d} Clone job created: ${n.jobId}`),i.NextResponse.json({success:!0,jobId:n.jobId,status:"pending",message:"Clone job started"},{status:202})}catch(e){return console.error(`${d} Unexpected error:`,e),i.NextResponse.json({success:!1,error:{category:"system",code:"INTERNAL_ERROR",message:"Failed to start clone job",recoverable:!1,suggestedAction:"Please try again later"}},{status:500})}}let g=new s.AppRouteRouteModule({definition:{kind:a.x.APP_ROUTE,page:"/api/repositories/clone/route",pathname:"/api/repositories/clone",filename:"route",bundlePath:"app/api/repositories/clone/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/repositories/clone/route.ts",nextConfigOutput:"",userland:o}),{requestAsyncStorage:m,staticGenerationAsyncStorage:x,serverHooks:b}=g,j="/api/repositories/clone/route";function v(){return(0,n.patchFetch)({serverHooks:b,staticGenerationAsyncStorage:x})}}};var r=require("../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),o=r.X(0,[8948,5972,7425,5488],()=>t(28841));module.exports=o})();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";(()=>{var e={};e.id=9036,e.ids=[9036],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")},1724:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>_,patchFetch:()=>
|
|
1
|
+
"use strict";(()=>{var e={};e.id=9036,e.ids=[9036],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")},1724:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>_,patchFetch:()=>g,requestAsyncStorage:()=>c,routeModule:()=>p,serverHooks:()=>h,staticGenerationAsyncStorage:()=>m});var o={};t.r(o),t.d(o,{GET:()=>u});var n=t(49303),a=t(88716),l=t(60670),s=t(87070),i=t(97425),d=t(4709);async function u(){try{let e=(0,i.getDbInstance)(),r=(0,d.Bj)(e);return s.NextResponse.json({success:!0,repositories:r})}catch(e){return console.error("[Excluded Repositories] Error:",e),s.NextResponse.json({success:!1,error:"Failed to get excluded repositories"},{status:500})}}let p=new n.AppRouteRouteModule({definition:{kind:a.x.APP_ROUTE,page:"/api/repositories/excluded/route",pathname:"/api/repositories/excluded",filename:"route",bundlePath:"app/api/repositories/excluded/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/repositories/excluded/route.ts",nextConfigOutput:"",userland:o}),{requestAsyncStorage:c,staticGenerationAsyncStorage:m,serverHooks:h}=p,_="/api/repositories/excluded/route";function g(){return(0,l.patchFetch)({serverHooks:h,staticGenerationAsyncStorage:m})}},4709:(e,r,t)=>{t.d(r,{Bj:()=>E,Bm:()=>f,L_:()=>C,RT:()=>v,VZ:()=>h,fC:()=>b,h4:()=>d,mm:()=>g,nJ:()=>_,nb:()=>u,sN:()=>U});var o=t(84770),n=t(55315),a=t.n(n),l=t(43753);function s(e){return{id:e.id,name:e.name,path:e.path,enabled:1===e.enabled,cloneUrl:e.clone_url||void 0,normalizedCloneUrl:e.normalized_clone_url||void 0,cloneSource:e.clone_source,isEnvManaged:1===e.is_env_managed,createdAt:new Date(e.created_at),updatedAt:new Date(e.updated_at)}}function i(e){return{id:e.id,cloneUrl:e.clone_url,normalizedCloneUrl:e.normalized_clone_url,targetPath:e.target_path,repositoryId:e.repository_id||void 0,status:e.status,pid:e.pid||void 0,progress:e.progress,errorCategory:e.error_category||void 0,errorCode:e.error_code||void 0,errorMessage:e.error_message||void 0,startedAt:e.started_at?new Date(e.started_at):void 0,completedAt:e.completed_at?new Date(e.completed_at):void 0,createdAt:new Date(e.created_at)}}function d(e,r){let t=(0,o.randomUUID)(),n=Date.now();return e.prepare(`
|
|
2
2
|
INSERT INTO repositories (
|
|
3
3
|
id, name, path, enabled, clone_url, normalized_clone_url,
|
|
4
4
|
clone_source, is_env_managed, created_at, updated_at
|
|
@@ -7,14 +7,14 @@
|
|
|
7
7
|
`).run(t,r.name,r.path,!1!==r.enabled?1:0,r.cloneUrl||null,r.normalizedCloneUrl||null,r.cloneSource,r.isEnvManaged?1:0,n,n),{id:t,name:r.name,path:r.path,enabled:!1!==r.enabled,cloneUrl:r.cloneUrl,normalizedCloneUrl:r.normalizedCloneUrl,cloneSource:r.cloneSource,isEnvManaged:r.isEnvManaged||!1,createdAt:new Date(n),updatedAt:new Date(n)}}function u(e,r){let t=e.prepare(`
|
|
8
8
|
SELECT * FROM repositories
|
|
9
9
|
WHERE normalized_clone_url = ?
|
|
10
|
-
`).get(r);return t?
|
|
10
|
+
`).get(r);return t?s(t):null}function p(e,r){let t=e.prepare(`
|
|
11
11
|
SELECT * FROM repositories
|
|
12
12
|
WHERE path = ?
|
|
13
|
-
`).get(r);return t?
|
|
13
|
+
`).get(r);return t?s(t):null}function c(e,r,t){let o=Date.now(),n=["updated_at = ?"],a=[o];void 0!==t.name&&(n.push("name = ?"),a.push(t.name)),void 0!==t.enabled&&(n.push("enabled = ?"),a.push(t.enabled?1:0)),void 0!==t.cloneUrl&&(n.push("clone_url = ?"),a.push(t.cloneUrl||null)),void 0!==t.normalizedCloneUrl&&(n.push("normalized_clone_url = ?"),a.push(t.normalizedCloneUrl||null)),a.push(r),e.prepare(`
|
|
14
14
|
UPDATE repositories
|
|
15
15
|
SET ${n.join(", ")}
|
|
16
16
|
WHERE id = ?
|
|
17
|
-
`).run(...a)}function m(e){return a().resolve(e)}function h(e){if(!e||"string"!=typeof e)return{valid:!1,error:"repositoryPath is required"};if(e.includes("\0"))return{valid:!1,error:"Invalid repository path"};let r=m(e);return(0,l.F)(r)?{valid:!1,error:"Invalid repository path"}:{valid:!0,resolvedPath:r}}function _(e,r){!function(e,r){for(let t of r){let r=m(t);p(e,r)||d(e,{name:a().basename(r),path:r,cloneSource:"local",isEnvManaged:!0,enabled:!0})}}(e,r);let t=function(e,r){let t=e.prepare("SELECT path FROM repositories WHERE enabled = 0").all().map(e=>e.path);return r.filter(e=>!t.includes(m(e)))}(e,r),o=r.filter(e=>!t.includes(e));return{filteredPaths:t,excludedPaths:o,excludedCount:o.length}}function
|
|
17
|
+
`).run(...a)}function m(e){return a().resolve(e)}function h(e){if(!e||"string"!=typeof e)return{valid:!1,error:"repositoryPath is required"};if(e.includes("\0"))return{valid:!1,error:"Invalid repository path"};let r=m(e);return(0,l.F)(r)?{valid:!1,error:"Invalid repository path"}:{valid:!0,resolvedPath:r}}function _(e,r){!function(e,r){for(let t of r){let r=m(t);p(e,r)||d(e,{name:a().basename(r),path:r,cloneSource:"local",isEnvManaged:!0,enabled:!0})}}(e,r);let t=function(e,r){let t=e.prepare("SELECT path FROM repositories WHERE enabled = 0").all().map(e=>e.path);return r.filter(e=>!t.includes(m(e)))}(e,r),o=r.filter(e=>!t.includes(e));return{filteredPaths:t,excludedPaths:o,excludedCount:o.length}}function g(e,r){let t=m(r),o=p(e,t);if(o)c(e,o.id,{enabled:!1});else{if(e.prepare("SELECT COUNT(*) as count FROM repositories WHERE enabled = 0").get().count>=1e3)throw Error("Disabled repository limit exceeded");d(e,{name:a().basename(t),path:t,cloneSource:"local",isEnvManaged:!1,enabled:!1})}}function E(e){return e.prepare("SELECT * FROM repositories WHERE enabled = 0 ORDER BY name ASC").all().map(s)}function v(e,r){let t=p(e,m(r));return t?(c(e,t.id,{enabled:!0}),{...t,enabled:!0}):null}function f(e,r){let t=(0,o.randomUUID)(),n=Date.now();return e.prepare(`
|
|
18
18
|
INSERT INTO clone_jobs (
|
|
19
19
|
id, clone_url, normalized_clone_url, target_path,
|
|
20
20
|
status, progress, created_at
|
|
@@ -23,14 +23,14 @@
|
|
|
23
23
|
`).run(t,r.cloneUrl,r.normalizedCloneUrl,r.targetPath,n),{id:t,cloneUrl:r.cloneUrl,normalizedCloneUrl:r.normalizedCloneUrl,targetPath:r.targetPath,status:"pending",progress:0,createdAt:new Date(n)}}function C(e,r){let t=e.prepare(`
|
|
24
24
|
SELECT * FROM clone_jobs
|
|
25
25
|
WHERE id = ?
|
|
26
|
-
`).get(r);return t?
|
|
26
|
+
`).get(r);return t?i(t):null}function U(e,r,t){let o=[],n=[];void 0!==t.status&&(o.push("status = ?"),n.push(t.status)),void 0!==t.pid&&(o.push("pid = ?"),n.push(t.pid)),void 0!==t.progress&&(o.push("progress = ?"),n.push(t.progress)),void 0!==t.repositoryId&&(o.push("repository_id = ?"),n.push(t.repositoryId)),void 0!==t.errorCategory&&(o.push("error_category = ?"),n.push(t.errorCategory)),void 0!==t.errorCode&&(o.push("error_code = ?"),n.push(t.errorCode)),void 0!==t.errorMessage&&(o.push("error_message = ?"),n.push(t.errorMessage)),void 0!==t.startedAt&&(o.push("started_at = ?"),n.push(t.startedAt.getTime())),void 0!==t.completedAt&&(o.push("completed_at = ?"),n.push(t.completedAt.getTime())),0!==o.length&&(n.push(r),e.prepare(`
|
|
27
27
|
UPDATE clone_jobs
|
|
28
28
|
SET ${o.join(", ")}
|
|
29
29
|
WHERE id = ?
|
|
30
|
-
`).run(...n))}function
|
|
30
|
+
`).run(...n))}function b(e,r){let t=e.prepare(`
|
|
31
31
|
SELECT * FROM clone_jobs
|
|
32
32
|
WHERE normalized_clone_url = ?
|
|
33
33
|
AND status IN ('pending', 'running')
|
|
34
34
|
ORDER BY created_at DESC
|
|
35
35
|
LIMIT 1
|
|
36
|
-
`).get(r);return t?
|
|
36
|
+
`).get(r);return t?i(t):null}}};var r=require("../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),o=r.X(0,[8948,5972,7425],()=>t(1724));module.exports=o})();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";(()=>{var e={};e.id=3286,e.ids=[3286],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")},61282:e=>{e.exports=require("child_process")},84770:e=>{e.exports=require("crypto")},92048:e=>{e.exports=require("fs")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},21764:e=>{e.exports=require("util")},14371:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>E,patchFetch:()=>v,requestAsyncStorage:()=>g,routeModule:()=>m,serverHooks:()=>_,staticGenerationAsyncStorage:()=>f});var o={};t.r(o),t.d(o,{PUT:()=>h});var n=t(49303),a=t(88716),s=t(60670),i=t(87070),l=t(97425),u=t(4709),p=t(67722),d=t(92048),c=t.n(d);async function h(e){try{let{repositoryPath:r}=await e.json(),t=(0,u.VZ)(r);if(!t.valid)return i.NextResponse.json({success:!1,error:t.error},{status:400});let o=t.resolvedPath,n=(0,l.
|
|
1
|
+
"use strict";(()=>{var e={};e.id=3286,e.ids=[3286],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")},61282:e=>{e.exports=require("child_process")},84770:e=>{e.exports=require("crypto")},92048:e=>{e.exports=require("fs")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},21764:e=>{e.exports=require("util")},14371:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>E,patchFetch:()=>v,requestAsyncStorage:()=>g,routeModule:()=>m,serverHooks:()=>_,staticGenerationAsyncStorage:()=>f});var o={};t.r(o),t.d(o,{PUT:()=>h});var n=t(49303),a=t(88716),s=t(60670),i=t(87070),l=t(97425),u=t(4709),p=t(67722),d=t(92048),c=t.n(d);async function h(e){try{let{repositoryPath:r}=await e.json(),t=(0,u.VZ)(r);if(!t.valid)return i.NextResponse.json({success:!1,error:t.error},{status:400});let o=t.resolvedPath,n=(0,l.getDbInstance)();if(!(0,u.RT)(n,r))return i.NextResponse.json({success:!1,error:"Repository not found in exclusion list"},{status:404});if(!c().existsSync(o))return i.NextResponse.json({success:!0,worktreeCount:0,warning:"Repository path not found on disk. No worktrees were restored."});let a=await (0,p.e9)(o);return a.length>0&&(0,p.h2)(n,a),i.NextResponse.json({success:!0,worktreeCount:a.length,message:`Repository restored with ${a.length} worktree(s)`})}catch(e){return console.error("[Repository Restore] Error:",e),i.NextResponse.json({success:!1,error:"Failed to restore repository"},{status:500})}}let m=new n.AppRouteRouteModule({definition:{kind:a.x.APP_ROUTE,page:"/api/repositories/restore/route",pathname:"/api/repositories/restore",filename:"route",bundlePath:"app/api/repositories/restore/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/repositories/restore/route.ts",nextConfigOutput:"",userland:o}),{requestAsyncStorage:g,staticGenerationAsyncStorage:f,serverHooks:_}=m,E="/api/repositories/restore/route";function v(){return(0,s.patchFetch)({serverHooks:_,staticGenerationAsyncStorage:f})}},4709:(e,r,t)=>{t.d(r,{Bj:()=>_,Bm:()=>v,L_:()=>R,RT:()=>E,VZ:()=>m,fC:()=>y,h4:()=>u,mm:()=>f,nJ:()=>g,nb:()=>p,sN:()=>b});var o=t(84770),n=t(55315),a=t.n(n),s=t(43753);function i(e){return{id:e.id,name:e.name,path:e.path,enabled:1===e.enabled,cloneUrl:e.clone_url||void 0,normalizedCloneUrl:e.normalized_clone_url||void 0,cloneSource:e.clone_source,isEnvManaged:1===e.is_env_managed,createdAt:new Date(e.created_at),updatedAt:new Date(e.updated_at)}}function l(e){return{id:e.id,cloneUrl:e.clone_url,normalizedCloneUrl:e.normalized_clone_url,targetPath:e.target_path,repositoryId:e.repository_id||void 0,status:e.status,pid:e.pid||void 0,progress:e.progress,errorCategory:e.error_category||void 0,errorCode:e.error_code||void 0,errorMessage:e.error_message||void 0,startedAt:e.started_at?new Date(e.started_at):void 0,completedAt:e.completed_at?new Date(e.completed_at):void 0,createdAt:new Date(e.created_at)}}function u(e,r){let t=(0,o.randomUUID)(),n=Date.now();return e.prepare(`
|
|
2
2
|
INSERT INTO repositories (
|
|
3
3
|
id, name, path, enabled, clone_url, normalized_clone_url,
|
|
4
4
|
clone_source, is_env_managed, created_at, updated_at
|
|
@@ -23,11 +23,11 @@
|
|
|
23
23
|
`).run(t,r.cloneUrl,r.normalizedCloneUrl,r.targetPath,n),{id:t,cloneUrl:r.cloneUrl,normalizedCloneUrl:r.normalizedCloneUrl,targetPath:r.targetPath,status:"pending",progress:0,createdAt:new Date(n)}}function R(e,r){let t=e.prepare(`
|
|
24
24
|
SELECT * FROM clone_jobs
|
|
25
25
|
WHERE id = ?
|
|
26
|
-
`).get(r);return t?l(t):null}function
|
|
26
|
+
`).get(r);return t?l(t):null}function b(e,r,t){let o=[],n=[];void 0!==t.status&&(o.push("status = ?"),n.push(t.status)),void 0!==t.pid&&(o.push("pid = ?"),n.push(t.pid)),void 0!==t.progress&&(o.push("progress = ?"),n.push(t.progress)),void 0!==t.repositoryId&&(o.push("repository_id = ?"),n.push(t.repositoryId)),void 0!==t.errorCategory&&(o.push("error_category = ?"),n.push(t.errorCategory)),void 0!==t.errorCode&&(o.push("error_code = ?"),n.push(t.errorCode)),void 0!==t.errorMessage&&(o.push("error_message = ?"),n.push(t.errorMessage)),void 0!==t.startedAt&&(o.push("started_at = ?"),n.push(t.startedAt.getTime())),void 0!==t.completedAt&&(o.push("completed_at = ?"),n.push(t.completedAt.getTime())),0!==o.length&&(n.push(r),e.prepare(`
|
|
27
27
|
UPDATE clone_jobs
|
|
28
28
|
SET ${o.join(", ")}
|
|
29
29
|
WHERE id = ?
|
|
30
|
-
`).run(...n))}function
|
|
30
|
+
`).run(...n))}function y(e,r){let t=e.prepare(`
|
|
31
31
|
SELECT * FROM clone_jobs
|
|
32
32
|
WHERE normalized_clone_url = ?
|
|
33
33
|
AND status IN ('pending', 'running')
|
|
@@ -1,36 +1,38 @@
|
|
|
1
|
-
"use strict";(()=>{var e={};e.id=5361,e.ids=[5361],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")},78893:e=>{e.exports=require("buffer")},61282:e=>{e.exports=require("child_process")},84770:e=>{e.exports=require("crypto")},17702:e=>{e.exports=require("events")},92048:e=>{e.exports=require("fs")},20629:e=>{e.exports=require("fs/promises")},32615:e=>{e.exports=require("http")},35240:e=>{e.exports=require("https")},98216:e=>{e.exports=require("net")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},76162:e=>{e.exports=require("stream")},82452:e=>{e.exports=require("tls")},17360:e=>{e.exports=require("url")},21764:e=>{e.exports=require("util")},71568:e=>{e.exports=require("zlib")},
|
|
1
|
+
"use strict";(()=>{var e={};e.id=5361,e.ids=[5361],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")},78893:e=>{e.exports=require("buffer")},61282:e=>{e.exports=require("child_process")},84770:e=>{e.exports=require("crypto")},17702:e=>{e.exports=require("events")},92048:e=>{e.exports=require("fs")},20629:e=>{e.exports=require("fs/promises")},32615:e=>{e.exports=require("http")},35240:e=>{e.exports=require("https")},98216:e=>{e.exports=require("net")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},76162:e=>{e.exports=require("stream")},82452:e=>{e.exports=require("tls")},17360:e=>{e.exports=require("url")},21764:e=>{e.exports=require("util")},71568:e=>{e.exports=require("zlib")},92745:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>A,patchFetch:()=>D,requestAsyncStorage:()=>R,routeModule:()=>y,serverHooks:()=>T,staticGenerationAsyncStorage:()=>U});var o={};t.r(o),t.d(o,{DELETE:()=>C});var s=t(49303),n=t(88716),l=t(60670),a=t(87070),i=t(97425),u=t(75748),d=t(4709),p=t(59991),c=t(38693);t(84770),t(92048),t(55315),t(95614),RegExp(t(8186).C4.source,"g");var h=t(41124);function g(){let{getDbInstance:e}=t(97425);return e()}function m(e,r,t,o){let s=g(),n=Date.now();s.prepare(`
|
|
2
|
+
UPDATE execution_logs SET status = ?, result = ?, exit_code = ?, completed_at = ? WHERE id = ?
|
|
3
|
+
`).run(r,t,o,n,e)}var f=t(83513);let E="[Session Cleanup]";async function _(e,r){let t={worktreeId:e,sessionsKilled:[],sessionErrors:[],pollersStopped:[],pollerErrors:[]};for(let o of f.t){try{await r(e,o)&&(t.sessionsKilled.push(o),console.info(`${E} Killed session: ${e}/${o}`))}catch(s){let r=`${o}: ${s instanceof Error?s.message:String(s)}`;t.sessionErrors.push(r),console.warn(`${E} Failed to kill session ${e}/${o}:`,s)}try{(0,p.FN)(e,o),t.pollersStopped.push(`response-poller:${o}`)}catch(s){let r=`response-poller:${o}: ${s instanceof Error?s.message:String(s)}`;t.pollerErrors.push(r),console.warn(`${E} Failed to stop response-poller ${e}/${o}:`,s)}}try{(0,c.Qz)(e),t.pollersStopped.push("auto-yes-poller")}catch(o){let r=`auto-yes-poller: ${o instanceof Error?o.message:String(o)}`;t.pollerErrors.push(r),console.warn(`${E} Failed to stop auto-yes-poller ${e}:`,o)}try{(function(){let e=(globalThis.__scheduleManagerStates||(globalThis.__scheduleManagerStates={timerId:null,schedules:new Map,initialized:!1}),globalThis.__scheduleManagerStates);for(let[,r]of(null!==e.timerId&&(clearInterval(e.timerId),e.timerId=null),e.schedules))try{r.cronJob.stop()}catch{}e.schedules.clear();let r=(0,h.U_)();for(let[e]of r)try{process.kill(e,"SIGKILL")}catch{}r.clear(),e.initialized=!1,console.log("[schedule-manager] All schedules stopped")})(),t.pollersStopped.push("schedule-manager")}catch(r){let e=`schedule-manager: ${r instanceof Error?r.message:String(r)}`;t.pollerErrors.push(e),console.warn(`${E} Failed to stop schedule-manager:`,r)}return t}async function v(e,r){let t=[],o=[];for(let s of e){let e=await _(s,r);for(let r of(t.push(e),e.sessionErrors))o.push(`Session kill error (${s}): ${r}`);for(let r of e.pollerErrors)o.push(`Poller stop error (${s}): ${r}`)}return{results:t,warnings:o}}var x=t(68507),$=t(43839),S=t(10927);let b="[Repository Delete]";async function w(e,r){let t=$.g.getInstance().getTool(r);if(!await t.isRunning(e))return!1;let o=t.getSessionName(e);return(0,S.AJ)(o)}async function C(e){try{let r;let{repositoryPath:t}=await e.json(),o=(0,d.VZ)(t);if(!o.valid)return a.NextResponse.json({success:!1,error:o.error},{status:400});let s=(0,i.getDbInstance)();(0,d.mm)(s,t);let n=(0,u.Pv)(s,t);if(0===n.length)return a.NextResponse.json({success:!1,error:"Repository not found"},{status:404});console.info(`${b} Starting deletion: ${t}, worktrees: ${n.length}`);let l=await v(n,w);for(let e of l.results)e.sessionsKilled.length>0&&console.info(`${b} Sessions killed for ${e.worktreeId}: ${e.sessionsKilled.join(", ")}`),e.sessionErrors.length>0&&console.warn(`${b} Session kill errors for ${e.worktreeId}: ${e.sessionErrors.join(", ")}`);(0,x.ZV)(n);try{r=(0,u.DF)(s,t).deletedCount,console.info(`${b} Successfully deleted ${r} worktrees from: ${t}`)}catch(e){return console.error(`${b} Database deletion failed for ${t}:`,e),a.NextResponse.json({success:!1,error:"Database deletion failed"},{status:500})}(0,x.ps)("repository_deleted",{worktreeId:"global",repositoryPath:t,deletedWorktreeIds:n});let p={success:!0,deletedWorktreeCount:r,deletedWorktreeIds:n};return l.warnings.length>0?(p.warnings=l.warnings,console.info(`${b} Completed with ${l.warnings.length} warnings: ${t}`)):console.info(`${b} Completed successfully: ${t}`),a.NextResponse.json(p,{status:200})}catch(e){return console.error(`${b} Unexpected error:`,e),a.NextResponse.json({success:!1,error:"Failed to delete repository"},{status:500})}}let y=new s.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/repositories/route",pathname:"/api/repositories",filename:"route",bundlePath:"app/api/repositories/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/repositories/route.ts",nextConfigOutput:"",userland:o}),{requestAsyncStorage:R,staticGenerationAsyncStorage:U,serverHooks:T}=y,A="/api/repositories/route";function D(){return(0,l.patchFetch)({serverHooks:T,staticGenerationAsyncStorage:U})}},8186:(e,r,t)=>{t.d(r,{C4:()=>o,oU:()=>s});let o=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F\x80-\x9F\u200B-\u200F\u2028-\u202F\uFEFF]/;function s(e){if(e.length>100)return!1;let r=e.trim().split(/\s+/);return r.length>=5&&r.length<=6}},95614:(e,r,t)=>{t.d(r,{ME:()=>o,wx:()=>l,xT:()=>s});let o=100,s=1e4,n=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function l(e){return n.test(e)}},41124:(e,r,t)=>{t.d(r,{U_:()=>s,pu:()=>o}),t(61282),t(19377);let o=new Set(["claude","codex"]);function s(){return globalThis.__scheduleActiveProcesses||(globalThis.__scheduleActiveProcesses=new Map),globalThis.__scheduleActiveProcesses}},83513:(e,r,t)=>{t.d(r,{t:()=>o});let o=["claude","codex","gemini"]},4709:(e,r,t)=>{t.d(r,{Bj:()=>E,Bm:()=>v,L_:()=>x,RT:()=>_,VZ:()=>g,fC:()=>S,h4:()=>u,mm:()=>f,nJ:()=>m,nb:()=>d,sN:()=>$});var o=t(84770),s=t(55315),n=t.n(s),l=t(43753);function a(e){return{id:e.id,name:e.name,path:e.path,enabled:1===e.enabled,cloneUrl:e.clone_url||void 0,normalizedCloneUrl:e.normalized_clone_url||void 0,cloneSource:e.clone_source,isEnvManaged:1===e.is_env_managed,createdAt:new Date(e.created_at),updatedAt:new Date(e.updated_at)}}function i(e){return{id:e.id,cloneUrl:e.clone_url,normalizedCloneUrl:e.normalized_clone_url,targetPath:e.target_path,repositoryId:e.repository_id||void 0,status:e.status,pid:e.pid||void 0,progress:e.progress,errorCategory:e.error_category||void 0,errorCode:e.error_code||void 0,errorMessage:e.error_message||void 0,startedAt:e.started_at?new Date(e.started_at):void 0,completedAt:e.completed_at?new Date(e.completed_at):void 0,createdAt:new Date(e.created_at)}}function u(e,r){let t=(0,o.randomUUID)(),s=Date.now();return e.prepare(`
|
|
2
4
|
INSERT INTO repositories (
|
|
3
5
|
id, name, path, enabled, clone_url, normalized_clone_url,
|
|
4
6
|
clone_source, is_env_managed, created_at, updated_at
|
|
5
7
|
)
|
|
6
8
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
7
|
-
`).run(
|
|
9
|
+
`).run(t,r.name,r.path,!1!==r.enabled?1:0,r.cloneUrl||null,r.normalizedCloneUrl||null,r.cloneSource,r.isEnvManaged?1:0,s,s),{id:t,name:r.name,path:r.path,enabled:!1!==r.enabled,cloneUrl:r.cloneUrl,normalizedCloneUrl:r.normalizedCloneUrl,cloneSource:r.cloneSource,isEnvManaged:r.isEnvManaged||!1,createdAt:new Date(s),updatedAt:new Date(s)}}function d(e,r){let t=e.prepare(`
|
|
8
10
|
SELECT * FROM repositories
|
|
9
11
|
WHERE normalized_clone_url = ?
|
|
10
|
-
`).get(r);return
|
|
12
|
+
`).get(r);return t?a(t):null}function p(e,r){let t=e.prepare(`
|
|
11
13
|
SELECT * FROM repositories
|
|
12
14
|
WHERE path = ?
|
|
13
|
-
`).get(r);return
|
|
15
|
+
`).get(r);return t?a(t):null}function c(e,r,t){let o=Date.now(),s=["updated_at = ?"],n=[o];void 0!==t.name&&(s.push("name = ?"),n.push(t.name)),void 0!==t.enabled&&(s.push("enabled = ?"),n.push(t.enabled?1:0)),void 0!==t.cloneUrl&&(s.push("clone_url = ?"),n.push(t.cloneUrl||null)),void 0!==t.normalizedCloneUrl&&(s.push("normalized_clone_url = ?"),n.push(t.normalizedCloneUrl||null)),n.push(r),e.prepare(`
|
|
14
16
|
UPDATE repositories
|
|
15
|
-
SET ${
|
|
17
|
+
SET ${s.join(", ")}
|
|
16
18
|
WHERE id = ?
|
|
17
|
-
`).run(...
|
|
19
|
+
`).run(...n)}function h(e){return n().resolve(e)}function g(e){if(!e||"string"!=typeof e)return{valid:!1,error:"repositoryPath is required"};if(e.includes("\0"))return{valid:!1,error:"Invalid repository path"};let r=h(e);return(0,l.F)(r)?{valid:!1,error:"Invalid repository path"}:{valid:!0,resolvedPath:r}}function m(e,r){!function(e,r){for(let t of r){let r=h(t);p(e,r)||u(e,{name:n().basename(r),path:r,cloneSource:"local",isEnvManaged:!0,enabled:!0})}}(e,r);let t=function(e,r){let t=e.prepare("SELECT path FROM repositories WHERE enabled = 0").all().map(e=>e.path);return r.filter(e=>!t.includes(h(e)))}(e,r),o=r.filter(e=>!t.includes(e));return{filteredPaths:t,excludedPaths:o,excludedCount:o.length}}function f(e,r){let t=h(r),o=p(e,t);if(o)c(e,o.id,{enabled:!1});else{if(e.prepare("SELECT COUNT(*) as count FROM repositories WHERE enabled = 0").get().count>=1e3)throw Error("Disabled repository limit exceeded");u(e,{name:n().basename(t),path:t,cloneSource:"local",isEnvManaged:!1,enabled:!1})}}function E(e){return e.prepare("SELECT * FROM repositories WHERE enabled = 0 ORDER BY name ASC").all().map(a)}function _(e,r){let t=p(e,h(r));return t?(c(e,t.id,{enabled:!0}),{...t,enabled:!0}):null}function v(e,r){let t=(0,o.randomUUID)(),s=Date.now();return e.prepare(`
|
|
18
20
|
INSERT INTO clone_jobs (
|
|
19
21
|
id, clone_url, normalized_clone_url, target_path,
|
|
20
22
|
status, progress, created_at
|
|
21
23
|
)
|
|
22
24
|
VALUES (?, ?, ?, ?, 'pending', 0, ?)
|
|
23
|
-
`).run(
|
|
25
|
+
`).run(t,r.cloneUrl,r.normalizedCloneUrl,r.targetPath,s),{id:t,cloneUrl:r.cloneUrl,normalizedCloneUrl:r.normalizedCloneUrl,targetPath:r.targetPath,status:"pending",progress:0,createdAt:new Date(s)}}function x(e,r){let t=e.prepare(`
|
|
24
26
|
SELECT * FROM clone_jobs
|
|
25
27
|
WHERE id = ?
|
|
26
|
-
`).get(r);return
|
|
28
|
+
`).get(r);return t?i(t):null}function $(e,r,t){let o=[],s=[];void 0!==t.status&&(o.push("status = ?"),s.push(t.status)),void 0!==t.pid&&(o.push("pid = ?"),s.push(t.pid)),void 0!==t.progress&&(o.push("progress = ?"),s.push(t.progress)),void 0!==t.repositoryId&&(o.push("repository_id = ?"),s.push(t.repositoryId)),void 0!==t.errorCategory&&(o.push("error_category = ?"),s.push(t.errorCategory)),void 0!==t.errorCode&&(o.push("error_code = ?"),s.push(t.errorCode)),void 0!==t.errorMessage&&(o.push("error_message = ?"),s.push(t.errorMessage)),void 0!==t.startedAt&&(o.push("started_at = ?"),s.push(t.startedAt.getTime())),void 0!==t.completedAt&&(o.push("completed_at = ?"),s.push(t.completedAt.getTime())),0!==o.length&&(s.push(r),e.prepare(`
|
|
27
29
|
UPDATE clone_jobs
|
|
28
|
-
SET ${
|
|
30
|
+
SET ${o.join(", ")}
|
|
29
31
|
WHERE id = ?
|
|
30
|
-
`).run(...
|
|
32
|
+
`).run(...s))}function S(e,r){let t=e.prepare(`
|
|
31
33
|
SELECT * FROM clone_jobs
|
|
32
34
|
WHERE normalized_clone_url = ?
|
|
33
35
|
AND status IN ('pending', 'running')
|
|
34
36
|
ORDER BY created_at DESC
|
|
35
37
|
LIMIT 1
|
|
36
|
-
`).get(r);return
|
|
38
|
+
`).get(r);return t?i(t):null}}};var r=require("../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),o=r.X(0,[8948,5972,3853,4893,2509,7425,7566,7536,8693],()=>t(92745));module.exports=o})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var e={};e.id=6865,e.ids=[6865],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")},61282:e=>{e.exports=require("child_process")},84770:e=>{e.exports=require("crypto")},92048:e=>{e.exports=require("fs")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},21764:e=>{e.exports=require("util")},75144:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>w,patchFetch:()=>x,requestAsyncStorage:()=>g,routeModule:()=>m,serverHooks:()=>v,staticGenerationAsyncStorage:()=>y});var o={};r.r(o),r.d(o,{POST:()=>f});var s=r(49303),n=r(88716),i=r(60670),a=r(87070),p=r(55315),l=r.n(p),u=r(97425),c=r(67722),d=r(57440),h=r(98838);async function f(e){try{let{repositoryPath:t}=await e.json();if(!t||"string"!=typeof t)return a.NextResponse.json({error:"Repository path is required"},{status:400});let{CM_ROOT_DIR:r}=(0,h.dU)();if(!(0,d.j)(t,r))return a.NextResponse.json({error:"Invalid or unsafe repository path"},{status:400});let o=l().resolve(r,t),s=await (0,c.e9)(o);if(0===s.length)return a.NextResponse.json({error:"No worktrees found in the specified path. Make sure it is a valid git repository."},{status:404});let n=(0,u.
|
|
1
|
+
"use strict";(()=>{var e={};e.id=6865,e.ids=[6865],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")},61282:e=>{e.exports=require("child_process")},84770:e=>{e.exports=require("crypto")},92048:e=>{e.exports=require("fs")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},21764:e=>{e.exports=require("util")},75144:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>w,patchFetch:()=>x,requestAsyncStorage:()=>g,routeModule:()=>m,serverHooks:()=>v,staticGenerationAsyncStorage:()=>y});var o={};r.r(o),r.d(o,{POST:()=>f});var s=r(49303),n=r(88716),i=r(60670),a=r(87070),p=r(55315),l=r.n(p),u=r(97425),c=r(67722),d=r(57440),h=r(98838);async function f(e){try{let{repositoryPath:t}=await e.json();if(!t||"string"!=typeof t)return a.NextResponse.json({error:"Repository path is required"},{status:400});let{CM_ROOT_DIR:r}=(0,h.dU)();if(!(0,d.j)(t,r))return a.NextResponse.json({error:"Invalid or unsafe repository path"},{status:400});let o=l().resolve(r,t),s=await (0,c.e9)(o);if(0===s.length)return a.NextResponse.json({error:"No worktrees found in the specified path. Make sure it is a valid git repository."},{status:404});let n=(0,u.getDbInstance)();return(0,c.h2)(n,s),a.NextResponse.json({success:!0,message:`Successfully scanned and added ${s.length} worktree(s)`,worktreeCount:s.length,repositoryPath:s[0].repositoryPath,repositoryName:s[0].repositoryName},{status:200})}catch(t){console.error("Error scanning repository:",t);let e=t instanceof Error?t.message:"Failed to scan repository";return a.NextResponse.json({error:e},{status:500})}}let m=new s.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/repositories/scan/route",pathname:"/api/repositories/scan",filename:"route",bundlePath:"app/api/repositories/scan/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/repositories/scan/route.ts",nextConfigOutput:"",userland:o}),{requestAsyncStorage:g,staticGenerationAsyncStorage:y,serverHooks:v}=m,w="/api/repositories/scan/route";function x(){return(0,i.patchFetch)({serverHooks:v,staticGenerationAsyncStorage:y})}},57440:(e,t,r)=>{r.d(t,{j:()=>n});var o=r(55315),s=r.n(o);function n(e,t){if(!e||""===e.trim()||e.includes("\0"))return!1;let r=e;try{r=decodeURIComponent(e)}catch{r=e}if(r.includes("\0"))return!1;let o=s().resolve(t),n=s().resolve(t,r),i=s().relative(o,n);return!(i.startsWith("..")||s().isAbsolute(i))}},67722:(e,t,r)=>{r.d(t,{Lj:()=>c,a$:()=>l,e9:()=>u,h2:()=>d});var o=r(61282),s=r(21764),n=r(55315),i=r.n(n),a=r(75748),p=r(98838);function l(){let e=process.env.WORKTREE_REPOS;if(e&&e.trim())return e.split(",").map(e=>e.trim()).filter(e=>e.length>0);let t=(0,p.Hb)("CM_ROOT_DIR");return t&&t.trim()?[t.trim()]:[]}async function u(e){let t=(0,s.promisify)(o.exec);try{let{stdout:r}=await t("git worktree list",{cwd:e}),o=function(e){if(!e||""===e.trim())return[];let t=e.trim().split("\n"),r=[];for(let e of t){let t=e.trim();if(!t)continue;let o=t.match(/^(.+?)\s+([a-z0-9]+)\s+(?:\[(.+?)\]|\(detached HEAD\))/);if(o){let[,e,t,s]=o;r.push({path:e.trim(),branch:s||`detached-${t}`,commit:t})}}return r}(r),s=i().resolve(e),n=i().basename(s);return o.map(e=>({id:function(e,t){if(!e)return"";let r=e=>e.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,""),o=r(e);if(t){let e=r(t);return`${e}-${o}`}return o}(e.branch,n),name:e.branch,path:i().resolve(e.path),repositoryPath:s,repositoryName:n})).filter(e=>["/etc","/root","/sys","/proc","/dev","/boot","/bin","/sbin","/usr/bin","/usr/sbin"].some(t=>e.path.startsWith(t))?(console.warn(`Skipping potentially unsafe worktree path: ${e.path}`),!1):!(e.path.includes("\0")||e.path.includes(".."))||(console.warn(`Skipping path with potentially malicious characters: ${e.path}`),!1))}catch(r){let e=r instanceof Error?r.message:String(r),t=r.code;if(e?.includes("not a git repository")||128===t)return[];throw r}}async function c(e){let t=[];for(let r of e)try{console.log(`Scanning repository: ${r}`);let e=await u(r);t.push(...e),console.log(` Found ${e.length} worktree(s)`)}catch(e){console.error(`Error scanning repository ${r}:`,e)}return t}function d(e,t){if(0===t.length)return;let r=new Map;for(let e of t){let t=e.repositoryPath||"";r.has(t)||r.set(t,[]),r.get(t).push(e)}for(let[t,o]of r){if(!t)continue;let r=(0,a.Pv)(e,t),s=new Set(o.map(e=>e.id)),n=r.filter(e=>!s.has(e));if(n.length>0){let r=(0,a.pM)(e,n);console.log(`Removed ${r.deletedCount} deleted worktree(s) from ${t}`)}for(let t of o)(0,a.ly)(e,t)}}}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),o=t.X(0,[8948,5972,7425],()=>r(75144));module.exports=o})();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";(()=>{var e={};e.id=3546,e.ids=[3546],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")},61282:e=>{e.exports=require("child_process")},84770:e=>{e.exports=require("crypto")},92048:e=>{e.exports=require("fs")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},21764:e=>{e.exports=require("util")},98165:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>f,patchFetch:()=>E,requestAsyncStorage:()=>h,routeModule:()=>c,serverHooks:()=>g,staticGenerationAsyncStorage:()=>m});var o={};t.r(o),t.d(o,{POST:()=>d});var n=t(49303),a=t(88716),s=t(60670),i=t(87070),l=t(97425),p=t(67722),u=t(4709);async function d(){try{let e=(0,p.a$)();if(0===e.length)return i.NextResponse.json({error:"No repositories configured. Please set WORKTREE_REPOS or CM_ROOT_DIR environment variable."},{status:400});let r=(0,l.
|
|
1
|
+
"use strict";(()=>{var e={};e.id=3546,e.ids=[3546],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")},61282:e=>{e.exports=require("child_process")},84770:e=>{e.exports=require("crypto")},92048:e=>{e.exports=require("fs")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},21764:e=>{e.exports=require("util")},98165:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>f,patchFetch:()=>E,requestAsyncStorage:()=>h,routeModule:()=>c,serverHooks:()=>g,staticGenerationAsyncStorage:()=>m});var o={};t.r(o),t.d(o,{POST:()=>d});var n=t(49303),a=t(88716),s=t(60670),i=t(87070),l=t(97425),p=t(67722),u=t(4709);async function d(){try{let e=(0,p.a$)();if(0===e.length)return i.NextResponse.json({error:"No repositories configured. Please set WORKTREE_REPOS or CM_ROOT_DIR environment variable."},{status:400});let r=(0,l.getDbInstance)(),{filteredPaths:t}=(0,u.nJ)(r,e),o=await (0,p.Lj)(t);(0,p.h2)(r,o);let n=new Set(o.map(e=>e.repositoryPath));return i.NextResponse.json({success:!0,message:`Successfully synced ${o.length} worktree(s) from ${n.size} repository/repositories`,worktreeCount:o.length,repositoryCount:n.size,repositories:Array.from(n)},{status:200})}catch(r){console.error("Error syncing repositories:",r);let e=r instanceof Error?r.message:"Failed to sync repositories";return i.NextResponse.json({error:e},{status:500})}}let c=new n.AppRouteRouteModule({definition:{kind:a.x.APP_ROUTE,page:"/api/repositories/sync/route",pathname:"/api/repositories/sync",filename:"route",bundlePath:"app/api/repositories/sync/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/repositories/sync/route.ts",nextConfigOutput:"",userland:o}),{requestAsyncStorage:h,staticGenerationAsyncStorage:m,serverHooks:g}=c,f="/api/repositories/sync/route";function E(){return(0,s.patchFetch)({serverHooks:g,staticGenerationAsyncStorage:m})}},4709:(e,r,t)=>{t.d(r,{Bj:()=>E,Bm:()=>v,L_:()=>y,RT:()=>_,VZ:()=>m,fC:()=>R,h4:()=>p,mm:()=>f,nJ:()=>g,nb:()=>u,sN:()=>b});var o=t(84770),n=t(55315),a=t.n(n),s=t(43753);function i(e){return{id:e.id,name:e.name,path:e.path,enabled:1===e.enabled,cloneUrl:e.clone_url||void 0,normalizedCloneUrl:e.normalized_clone_url||void 0,cloneSource:e.clone_source,isEnvManaged:1===e.is_env_managed,createdAt:new Date(e.created_at),updatedAt:new Date(e.updated_at)}}function l(e){return{id:e.id,cloneUrl:e.clone_url,normalizedCloneUrl:e.normalized_clone_url,targetPath:e.target_path,repositoryId:e.repository_id||void 0,status:e.status,pid:e.pid||void 0,progress:e.progress,errorCategory:e.error_category||void 0,errorCode:e.error_code||void 0,errorMessage:e.error_message||void 0,startedAt:e.started_at?new Date(e.started_at):void 0,completedAt:e.completed_at?new Date(e.completed_at):void 0,createdAt:new Date(e.created_at)}}function p(e,r){let t=(0,o.randomUUID)(),n=Date.now();return e.prepare(`
|
|
2
2
|
INSERT INTO repositories (
|
|
3
3
|
id, name, path, enabled, clone_url, normalized_clone_url,
|
|
4
4
|
clone_source, is_env_managed, created_at, updated_at
|
|
@@ -23,11 +23,11 @@
|
|
|
23
23
|
`).run(t,r.cloneUrl,r.normalizedCloneUrl,r.targetPath,n),{id:t,cloneUrl:r.cloneUrl,normalizedCloneUrl:r.normalizedCloneUrl,targetPath:r.targetPath,status:"pending",progress:0,createdAt:new Date(n)}}function y(e,r){let t=e.prepare(`
|
|
24
24
|
SELECT * FROM clone_jobs
|
|
25
25
|
WHERE id = ?
|
|
26
|
-
`).get(r);return t?l(t):null}function
|
|
26
|
+
`).get(r);return t?l(t):null}function b(e,r,t){let o=[],n=[];void 0!==t.status&&(o.push("status = ?"),n.push(t.status)),void 0!==t.pid&&(o.push("pid = ?"),n.push(t.pid)),void 0!==t.progress&&(o.push("progress = ?"),n.push(t.progress)),void 0!==t.repositoryId&&(o.push("repository_id = ?"),n.push(t.repositoryId)),void 0!==t.errorCategory&&(o.push("error_category = ?"),n.push(t.errorCategory)),void 0!==t.errorCode&&(o.push("error_code = ?"),n.push(t.errorCode)),void 0!==t.errorMessage&&(o.push("error_message = ?"),n.push(t.errorMessage)),void 0!==t.startedAt&&(o.push("started_at = ?"),n.push(t.startedAt.getTime())),void 0!==t.completedAt&&(o.push("completed_at = ?"),n.push(t.completedAt.getTime())),0!==o.length&&(n.push(r),e.prepare(`
|
|
27
27
|
UPDATE clone_jobs
|
|
28
28
|
SET ${o.join(", ")}
|
|
29
29
|
WHERE id = ?
|
|
30
|
-
`).run(...n))}function
|
|
30
|
+
`).run(...n))}function R(e,r){let t=e.prepare(`
|
|
31
31
|
SELECT * FROM clone_jobs
|
|
32
32
|
WHERE normalized_clone_url = ?
|
|
33
33
|
AND status IN ('pending', 'running')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var e={};e.id=5695,e.ids=[5695],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")},78893:e=>{e.exports=require("buffer")},61282:e=>{e.exports=require("child_process")},84770:e=>{e.exports=require("crypto")},17702:e=>{e.exports=require("events")},92048:e=>{e.exports=require("fs")},20629:e=>{e.exports=require("fs/promises")},32615:e=>{e.exports=require("http")},35240:e=>{e.exports=require("https")},98216:e=>{e.exports=require("net")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},76162:e=>{e.exports=require("stream")},82452:e=>{e.exports=require("tls")},17360:e=>{e.exports=require("url")},21764:e=>{e.exports=require("util")},71568:e=>{e.exports=require("zlib")},80134:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>h,patchFetch:()=>j,requestAsyncStorage:()=>v,routeModule:()=>m,serverHooks:()=>g,staticGenerationAsyncStorage:()=>y});var o={};t.r(o),t.d(o,{GET:()=>
|
|
1
|
+
"use strict";(()=>{var e={};e.id=5695,e.ids=[5695],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")},78893:e=>{e.exports=require("buffer")},61282:e=>{e.exports=require("child_process")},84770:e=>{e.exports=require("crypto")},17702:e=>{e.exports=require("events")},92048:e=>{e.exports=require("fs")},20629:e=>{e.exports=require("fs/promises")},32615:e=>{e.exports=require("http")},35240:e=>{e.exports=require("https")},98216:e=>{e.exports=require("net")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},76162:e=>{e.exports=require("stream")},82452:e=>{e.exports=require("tls")},17360:e=>{e.exports=require("url")},21764:e=>{e.exports=require("util")},71568:e=>{e.exports=require("zlib")},80134:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>h,patchFetch:()=>j,requestAsyncStorage:()=>v,routeModule:()=>m,serverHooks:()=>g,staticGenerationAsyncStorage:()=>y});var o={};t.r(o),t.d(o,{GET:()=>b,POST:()=>q});var s=t(49303),n=t(88716),a=t(60670),i=t(87070),u=t(97425),d=t(75748),l=t(38693),p=t(87946);let x=["claude","codex","gemini"];function c(e,r){let t={enabled:e?.enabled??!1,expiresAt:e?.enabled?e.expiresAt:null};return void 0!==r&&(t.pollingStarted=r),t}function f(e){let r=(0,u.getDbInstance)();return(0,d.gU)(r,e)?null:i.NextResponse.json({error:`Worktree '${e}' not found`},{status:404})}async function b(e,{params:r}){try{let e=f(r.id);if(e)return e;let t=(0,l.bq)(r.id);return i.NextResponse.json(c(t))}catch(e){return console.error("Error getting auto-yes state:",e),i.NextResponse.json({error:"Failed to get auto-yes state"},{status:500})}}async function q(e,{params:r}){try{var t;let o,s;if(!(0,l.m$)(r.id))return i.NextResponse.json({error:"Invalid worktree ID format"},{status:400});let n=f(r.id);if(n)return n;try{o=await e.json()}catch{return i.NextResponse.json({error:"Invalid JSON body"},{status:400})}if("boolean"!=typeof o.enabled)return i.NextResponse.json({error:"enabled must be a boolean"},{status:400});let a=p.Ad;if(o.enabled&&void 0!==o.duration){if(!(0,p.l1)(o.duration))return i.NextResponse.json({error:"Invalid duration value. Allowed values: 3600000, 10800000, 28800000"},{status:400});a=o.duration}if(o.enabled&&void 0!==o.stopPattern){let e="string"==typeof o.stopPattern?o.stopPattern.trim():"";if(e){let r=(0,p.go)(e);if(!r.valid)return i.NextResponse.json({error:r.error},{status:400});s=e}}let u=(t=o.cliToolId)&&x.includes(t)?o.cliToolId:"claude",d=(0,l.bY)(r.id,o.enabled,o.enabled?a:void 0,o.enabled?s:void 0),b=!1;if(o.enabled){let e=(0,l.w)(r.id,u);b=e.started,e.started||console.warn(`[Auto-Yes API] Polling not started: ${e.reason}`)}else(0,l.Qz)(r.id);return i.NextResponse.json(c(d,b))}catch(e){return console.error("Error setting auto-yes state:",e),i.NextResponse.json({error:"Failed to set auto-yes state"},{status:500})}}let m=new s.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/worktrees/[id]/auto-yes/route",pathname:"/api/worktrees/[id]/auto-yes",filename:"route",bundlePath:"app/api/worktrees/[id]/auto-yes/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/worktrees/[id]/auto-yes/route.ts",nextConfigOutput:"",userland:o}),{requestAsyncStorage:v,staticGenerationAsyncStorage:y,serverHooks:g}=m,h="/api/worktrees/[id]/auto-yes/route";function j(){return(0,a.patchFetch)({serverHooks:g,staticGenerationAsyncStorage:y})}}};var r=require("../../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),o=r.X(0,[8948,5972,3853,4893,2509,7425,7566,7536,8693],()=>t(80134));module.exports=o})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var e={};e.id=3096,e.ids=[3096],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")},37514:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>I,patchFetch:()=>
|
|
1
|
+
"use strict";(()=>{var e={};e.id=3096,e.ids=[3096],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")},37514:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>I,patchFetch:()=>g,requestAsyncStorage:()=>c,routeModule:()=>p,serverHooks:()=>m,staticGenerationAsyncStorage:()=>x});var o={};t.r(o),t.d(o,{PATCH:()=>d});var s=t(49303),i=t(88716),n=t(60670),a=t(87070),u=t(97425),l=t(75748);async function d(e,{params:r}){try{let t=(0,u.getDbInstance)(),o=(0,l.gU)(t,r.id);if(!o)return a.NextResponse.json({error:`Worktree '${r.id}' not found`},{status:404});let s=await e.json();if(!s.cliToolId)return a.NextResponse.json({error:"CLI tool ID is required"},{status:400});let i=["claude","codex","gemini"];if(!i.includes(s.cliToolId))return a.NextResponse.json({error:`Invalid CLI tool ID: ${s.cliToolId}. Valid values are: ${i.join(", ")}`},{status:400});let n={...o,cliToolId:s.cliToolId,updatedAt:new Date};return(0,l.ly)(t,n),a.NextResponse.json(n,{status:200})}catch(e){return console.error("Error updating CLI tool:",e),a.NextResponse.json({error:"Failed to update CLI tool"},{status:500})}}let p=new s.AppRouteRouteModule({definition:{kind:i.x.APP_ROUTE,page:"/api/worktrees/[id]/cli-tool/route",pathname:"/api/worktrees/[id]/cli-tool",filename:"route",bundlePath:"app/api/worktrees/[id]/cli-tool/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/worktrees/[id]/cli-tool/route.ts",nextConfigOutput:"",userland:o}),{requestAsyncStorage:c,staticGenerationAsyncStorage:x,serverHooks:m}=p,I="/api/worktrees/[id]/cli-tool/route";function g(){return(0,n.patchFetch)({serverHooks:m,staticGenerationAsyncStorage:x})}}};var r=require("../../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),o=r.X(0,[8948,5972,7425],()=>t(37514));module.exports=o})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var e={};e.id=1991,e.ids=[1991],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")},78893:e=>{e.exports=require("buffer")},61282:e=>{e.exports=require("child_process")},84770:e=>{e.exports=require("crypto")},17702:e=>{e.exports=require("events")},92048:e=>{e.exports=require("fs")},20629:e=>{e.exports=require("fs/promises")},32615:e=>{e.exports=require("http")},35240:e=>{e.exports=require("https")},98216:e=>{e.exports=require("net")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},76162:e=>{e.exports=require("stream")},82452:e=>{e.exports=require("tls")},17360:e=>{e.exports=require("url")},21764:e=>{e.exports=require("util")},71568:e=>{e.exports=require("zlib")},26683:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>P,patchFetch:()=>R,requestAsyncStorage:()=>v,routeModule:()=>q,serverHooks:()=>k,staticGenerationAsyncStorage:()=>w});var n={};r.r(n),r.d(n,{GET:()=>f});var o=r(49303),i=r(88716),s=r(60670),u=r(87070),a=r(97425),p=r(75748),l=r(63661),c=r(43839),d=r(89194),g=r(19377),m=r(13561),x=r(38693);let h=["claude","codex","gemini"];async function f(e,{params:t}){try{if(!(0,x.m$)(t.id))return u.NextResponse.json({error:"Invalid worktree ID format"},{status:400});let r=(0,a.
|
|
1
|
+
"use strict";(()=>{var e={};e.id=1991,e.ids=[1991],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")},78893:e=>{e.exports=require("buffer")},61282:e=>{e.exports=require("child_process")},84770:e=>{e.exports=require("crypto")},17702:e=>{e.exports=require("events")},92048:e=>{e.exports=require("fs")},20629:e=>{e.exports=require("fs/promises")},32615:e=>{e.exports=require("http")},35240:e=>{e.exports=require("https")},98216:e=>{e.exports=require("net")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},76162:e=>{e.exports=require("stream")},82452:e=>{e.exports=require("tls")},17360:e=>{e.exports=require("url")},21764:e=>{e.exports=require("util")},71568:e=>{e.exports=require("zlib")},26683:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>P,patchFetch:()=>R,requestAsyncStorage:()=>v,routeModule:()=>q,serverHooks:()=>k,staticGenerationAsyncStorage:()=>w});var n={};r.r(n),r.d(n,{GET:()=>f});var o=r(49303),i=r(88716),s=r(60670),u=r(87070),a=r(97425),p=r(75748),l=r(63661),c=r(43839),d=r(89194),g=r(19377),m=r(13561),x=r(38693);let h=["claude","codex","gemini"];async function f(e,{params:t}){try{if(!(0,x.m$)(t.id))return u.NextResponse.json({error:"Invalid worktree ID format"},{status:400});let r=(0,a.getDbInstance)(),n=(0,p.gU)(r,t.id);if(!n)return u.NextResponse.json({error:`Worktree '${t.id}' not found`},{status:404});let o=new URL(e.url).searchParams.get("cliTool"),i=o&&h.includes(o)?o:n.cliToolId||"claude",s=c.g.getInstance().getTool(i);if(!await s.isRunning(t.id))return u.NextResponse.json({isRunning:!1,content:"",lineCount:0,cliToolId:i},{status:200});let f=(0,p.zl)(r,t.id,i),q=f?.lastCapturedLine||0,v=await (0,d.NA)(t.id,i,1e4),w=v.split("\n"),k=w.length,P=w.slice(Math.max(0,q)).join("\n"),R=(0,g.vp)(v),A=(0,m._)(v,i),j="running"===A.status&&"thinking_indicator"===A.reason,b={isPrompt:!1,cleanContent:R};if(!j){let e=(0,g.Sg)(i);b=(0,l.F)(R,e)}let C=A.hasActivePrompt,_=w.slice(-100).join("\n"),y=(0,x.bq)(t.id),M=(0,x.gf)(t.id);return u.NextResponse.json({isRunning:!0,cliToolId:i,content:P,fullOutput:v,realtimeSnippet:_,lineCount:k,lastCapturedLine:q,isComplete:C,isGenerating:j,thinking:j,thinkingMessage:j?"Claude is thinking...":null,isPromptWaiting:C,promptData:C?b.promptData:null,autoYes:{enabled:y?.enabled??!1,expiresAt:y?.enabled?y.expiresAt:null,stopReason:y?.stopReason},lastServerResponseTimestamp:M})}catch(e){return console.error("Error getting current output:",e),u.NextResponse.json({error:"Failed to get current output"},{status:500})}}let q=new o.AppRouteRouteModule({definition:{kind:i.x.APP_ROUTE,page:"/api/worktrees/[id]/current-output/route",pathname:"/api/worktrees/[id]/current-output",filename:"route",bundlePath:"app/api/worktrees/[id]/current-output/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/worktrees/[id]/current-output/route.ts",nextConfigOutput:"",userland:n}),{requestAsyncStorage:v,staticGenerationAsyncStorage:w,serverHooks:k}=q,P="/api/worktrees/[id]/current-output/route";function R(){return(0,s.patchFetch)({serverHooks:k,staticGenerationAsyncStorage:w})}},13561:(e,t,r)=>{r.d(t,{_:()=>i});var n=r(19377),o=r(63661);function i(e,t,r){let i=(0,n.vp)(e),s=i.split("\n"),u=s.length-1;for(;u>=0&&""===s[u].trim();)u--;let a=s.slice(0,u+1),p=a.slice(-15).join("\n"),l=a.slice(-5).join("\n"),c=(0,n.Sg)(t);if((0,o.F)(i,c).isPrompt)return{status:"waiting",confidence:"high",reason:"prompt_detected",hasActivePrompt:!0};if((0,n.Wg)(t,l))return{status:"running",confidence:"high",reason:"thinking_indicator",hasActivePrompt:!1};let{promptPattern:d}=(0,n.bs)(t);return d.test(p)?{status:"ready",confidence:"high",reason:"input_prompt",hasActivePrompt:!1}:r&&Date.now()-r.getTime()>5e3?{status:"ready",confidence:"low",reason:"no_recent_output",hasActivePrompt:!1}:{status:"running",confidence:"low",reason:"default",hasActivePrompt:!1}}}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[8948,5972,3853,4893,2509,7425,7566,7536,8693],()=>r(26683));module.exports=n})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(()=>{var e={};e.id=2469,e.ids=[2469],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")},78893:e=>{e.exports=require("buffer")},61282:e=>{e.exports=require("child_process")},84770:e=>{e.exports=require("crypto")},17702:e=>{e.exports=require("events")},92048:e=>{e.exports=require("fs")},20629:e=>{e.exports=require("fs/promises")},32615:e=>{e.exports=require("http")},35240:e=>{e.exports=require("https")},98216:e=>{e.exports=require("net")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},76162:e=>{e.exports=require("stream")},82452:e=>{e.exports=require("tls")},17360:e=>{e.exports=require("url")},21764:e=>{e.exports=require("util")},71568:e=>{e.exports=require("zlib")},33731:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>m,patchFetch:()=>h,requestAsyncStorage:()=>g,routeModule:()=>c,serverHooks:()=>q,staticGenerationAsyncStorage:()=>f});var o={};t.r(o),t.d(o,{GET:()=>l});var s=t(49303),i=t(88716),n=t(60670),u=t(87070),a=t(97425),p=t(75748),d=t(38693),x=t(95614);async function l(e,{params:r}){try{if(!(0,d.m$)(r.id))return u.NextResponse.json({error:"Invalid worktree ID format"},{status:400});if(!(0,x.wx)(r.logId))return u.NextResponse.json({error:"Invalid log ID format"},{status:400});let e=(0,a.getDbInstance)();if(!(0,p.gU)(e,r.id))return u.NextResponse.json({error:`Worktree '${r.id}' not found`},{status:404});let t=e.prepare("SELECT * FROM execution_logs WHERE id = ? AND worktree_id = ?").get(r.logId,r.id);if(!t)return u.NextResponse.json({error:"Execution log not found"},{status:404});return u.NextResponse.json({log:t},{status:200})}catch(e){return console.error("Error fetching execution log:",e),u.NextResponse.json({error:"Failed to fetch execution log"},{status:500})}}let c=new s.AppRouteRouteModule({definition:{kind:i.x.APP_ROUTE,page:"/api/worktrees/[id]/execution-logs/[logId]/route",pathname:"/api/worktrees/[id]/execution-logs/[logId]",filename:"route",bundlePath:"app/api/worktrees/[id]/execution-logs/[logId]/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/worktrees/[id]/execution-logs/[logId]/route.ts",nextConfigOutput:"",userland:o}),{requestAsyncStorage:g,staticGenerationAsyncStorage:f,serverHooks:q}=c,m="/api/worktrees/[id]/execution-logs/[logId]/route";function h(){return(0,n.patchFetch)({serverHooks:q,staticGenerationAsyncStorage:f})}},95614:(e,r,t)=>{t.d(r,{ME:()=>o,wx:()=>n,xT:()=>s});let o=100,s=1e4,i=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function n(e){return i.test(e)}}};var r=require("../../../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),o=r.X(0,[8948,5972,3853,4893,2509,7425,7566,7536,8693],()=>t(33731));module.exports=o})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":1,"files":["../../../../../../../../data/cm.db","../../../../../../../../node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../../../../../node_modules/better-sqlite3/lib/database.js","../../../../../../../../node_modules/better-sqlite3/lib/index.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/backup.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/function.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/table.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../../../../node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../../../../node_modules/better-sqlite3/lib/util.js","../../../../../../../../node_modules/better-sqlite3/package.json","../../../../../../../../node_modules/bindings/bindings.js","../../../../../../../../node_modules/bindings/package.json","../../../../../../../../node_modules/file-uri-to-path/index.js","../../../../../../../../node_modules/file-uri-to-path/package.json","../../../../../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/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/server/lib/trace/constants.js","../../../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../../node_modules/next/package.json","../../../../../../../../package.json","../../../../../../../package.json","../../../../../../chunks/2509.js","../../../../../../chunks/3853.js","../../../../../../chunks/4893.js","../../../../../../chunks/5972.js","../../../../../../chunks/7425.js","../../../../../../chunks/7536.js","../../../../../../chunks/7566.js","../../../../../../chunks/8693.js","../../../../../../chunks/8948.js","../../../../../../webpack-runtime.js"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";(()=>{var e={};e.id=9542,e.ids=[9542],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")},78893:e=>{e.exports=require("buffer")},61282:e=>{e.exports=require("child_process")},84770:e=>{e.exports=require("crypto")},17702:e=>{e.exports=require("events")},92048:e=>{e.exports=require("fs")},20629:e=>{e.exports=require("fs/promises")},32615:e=>{e.exports=require("http")},35240:e=>{e.exports=require("https")},98216:e=>{e.exports=require("net")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},76162:e=>{e.exports=require("stream")},82452:e=>{e.exports=require("tls")},17360:e=>{e.exports=require("url")},21764:e=>{e.exports=require("util")},71568:e=>{e.exports=require("zlib")},82935:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>h,patchFetch:()=>g,requestAsyncStorage:()=>x,routeModule:()=>c,serverHooks:()=>q,staticGenerationAsyncStorage:()=>m});var o={};t.r(o),t.d(o,{GET:()=>d});var s=t(49303),i=t(88716),u=t(60670),n=t(87070),a=t(97425),p=t(75748),l=t(38693);async function d(e,{params:r}){try{if(!(0,l.m$)(r.id))return n.NextResponse.json({error:"Invalid worktree ID format"},{status:400});let e=(0,a.getDbInstance)();if(!(0,p.gU)(e,r.id))return n.NextResponse.json({error:`Worktree '${r.id}' not found`},{status:404});let t=e.prepare(`
|
|
2
|
+
SELECT el.id, el.schedule_id, el.worktree_id, el.message, el.exit_code, el.status, el.started_at, el.completed_at, el.created_at,
|
|
3
|
+
se.name AS schedule_name
|
|
4
|
+
FROM execution_logs el
|
|
5
|
+
LEFT JOIN scheduled_executions se ON el.schedule_id = se.id
|
|
6
|
+
WHERE el.worktree_id = ?
|
|
7
|
+
ORDER BY el.created_at DESC
|
|
8
|
+
LIMIT 100
|
|
9
|
+
`).all(r.id);return n.NextResponse.json({logs:t},{status:200})}catch(e){return console.error("Error fetching execution logs:",e),n.NextResponse.json({error:"Failed to fetch execution logs"},{status:500})}}let c=new s.AppRouteRouteModule({definition:{kind:i.x.APP_ROUTE,page:"/api/worktrees/[id]/execution-logs/route",pathname:"/api/worktrees/[id]/execution-logs",filename:"route",bundlePath:"app/api/worktrees/[id]/execution-logs/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/worktrees/[id]/execution-logs/route.ts",nextConfigOutput:"",userland:o}),{requestAsyncStorage:x,staticGenerationAsyncStorage:m,serverHooks:q}=c,h="/api/worktrees/[id]/execution-logs/route";function g(){return(0,u.patchFetch)({serverHooks:q,staticGenerationAsyncStorage:m})}}};var r=require("../../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),o=r.X(0,[8948,5972,3853,4893,2509,7425,7566,7536,8693],()=>t(82935));module.exports=o})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":1,"files":["../../../../../../../data/cm.db","../../../../../../../node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../../../../node_modules/better-sqlite3/lib/database.js","../../../../../../../node_modules/better-sqlite3/lib/index.js","../../../../../../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../../../node_modules/better-sqlite3/lib/methods/backup.js","../../../../../../../node_modules/better-sqlite3/lib/methods/function.js","../../../../../../../node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../../../node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../../../node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../../../node_modules/better-sqlite3/lib/methods/table.js","../../../../../../../node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../../../node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../../../node_modules/better-sqlite3/lib/util.js","../../../../../../../node_modules/better-sqlite3/package.json","../../../../../../../node_modules/bindings/bindings.js","../../../../../../../node_modules/bindings/package.json","../../../../../../../node_modules/file-uri-to-path/index.js","../../../../../../../node_modules/file-uri-to-path/package.json","../../../../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/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/server/lib/trace/constants.js","../../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../node_modules/next/package.json","../../../../../../../package.json","../../../../../../package.json","../../../../../chunks/2509.js","../../../../../chunks/3853.js","../../../../../chunks/4893.js","../../../../../chunks/5972.js","../../../../../chunks/7425.js","../../../../../chunks/7536.js","../../../../../chunks/7566.js","../../../../../chunks/8693.js","../../../../../chunks/8948.js","../../../../../webpack-runtime.js"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var e={};e.id=9325,e.ids=[9325],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")},20629:e=>{e.exports=require("fs/promises")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},25780:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>D,patchFetch:()=>F,requestAsyncStorage:()=>A,routeModule:()=>v,serverHooks:()=>w,staticGenerationAsyncStorage:()=>x});var i={};t.r(i),t.d(i,{DELETE:()=>L,GET:()=>_,PATCH:()=>O,POST:()=>y,PUT:()=>h});var n=t(49303),o=t(88716),s=t(60670),a=t(87070),c=t(97425),l=t(75748),u=t(55315),d=t(57440),p=t(68585),f=t(39365),E=t(81481);let m=[".mp4"],I=[{extension:".mp4",mimeType:"video/mp4",magicBytes:[102,116,121,112],magicBytesOffset:4}];var N=t(20629);let g={FILE_NOT_FOUND:404,WORKTREE_NOT_FOUND:404,PERMISSION_DENIED:403,NOT_EDITABLE:403,PROTECTED_DIRECTORY:403,INVALID_PATH:400,INVALID_REQUEST:400,INVALID_NAME:400,INVALID_CONTENT:400,DIRECTORY_NOT_EMPTY:400,DELETE_LIMIT_EXCEEDED:400,FILE_EXISTS:409,DISK_FULL:507,INTERNAL_ERROR:500,INVALID_EXTENSION:400,INVALID_MIME_TYPE:400,INVALID_MAGIC_BYTES:400,FILE_TOO_LARGE:413,INVALID_FILENAME:400,INVALID_FILE_CONTENT:400,MOVE_SAME_PATH:400,MOVE_INTO_SELF:400};function R(e,r,t=500){let i=g[e]??t;return a.NextResponse.json({success:!1,error:{code:e,message:r}},{status:i})}async function T(e,r){let t=(0,c.
|
|
1
|
+
"use strict";(()=>{var e={};e.id=9325,e.ids=[9325],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")},20629:e=>{e.exports=require("fs/promises")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},25780:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>D,patchFetch:()=>F,requestAsyncStorage:()=>A,routeModule:()=>v,serverHooks:()=>w,staticGenerationAsyncStorage:()=>x});var i={};t.r(i),t.d(i,{DELETE:()=>L,GET:()=>_,PATCH:()=>O,POST:()=>y,PUT:()=>h});var n=t(49303),o=t(88716),s=t(60670),a=t(87070),c=t(97425),l=t(75748),u=t(55315),d=t(57440),p=t(68585),f=t(39365),E=t(81481);let m=[".mp4"],I=[{extension:".mp4",mimeType:"video/mp4",magicBytes:[102,116,121,112],magicBytesOffset:4}];var N=t(20629);let g={FILE_NOT_FOUND:404,WORKTREE_NOT_FOUND:404,PERMISSION_DENIED:403,NOT_EDITABLE:403,PROTECTED_DIRECTORY:403,INVALID_PATH:400,INVALID_REQUEST:400,INVALID_NAME:400,INVALID_CONTENT:400,DIRECTORY_NOT_EMPTY:400,DELETE_LIMIT_EXCEEDED:400,FILE_EXISTS:409,DISK_FULL:507,INTERNAL_ERROR:500,INVALID_EXTENSION:400,INVALID_MIME_TYPE:400,INVALID_MAGIC_BYTES:400,FILE_TOO_LARGE:413,INVALID_FILENAME:400,INVALID_FILE_CONTENT:400,MOVE_SAME_PATH:400,MOVE_INTO_SELF:400};function R(e,r,t=500){let i=g[e]??t;return a.NextResponse.json({success:!1,error:{code:e,message:r}},{status:i})}async function T(e,r){let t=(0,c.getDbInstance)(),i=(0,l.gU)(t,e);if(!i)return{error:R("WORKTREE_NOT_FOUND","Worktree not found")};let n=r.join("/"),o=(0,u.normalize)(n);return(0,d.j)(o,i.path)?{worktree:i,relativePath:o}:{error:R("INVALID_PATH","Invalid file path")}}async function _(e,{params:r}){try{let e=await T(r.id,r.path);if("error"in e)return e.error;let{worktree:t,relativePath:i}=e,n=i.split(".").pop()||"",o=(0,u.extname)(i).toLowerCase();if((0,E.Db)(o)){let e=(0,u.join)(t.path,i);try{let r=await (0,N.readFile)(e),s=(0,E.gp)(o,r);if(!s.valid){if(s.error?.includes("5MB"))return R("FILE_TOO_LARGE",s.error);if(s.error?.includes("magic bytes"))return R("INVALID_MAGIC_BYTES",s.error);return R("INVALID_FILE_CONTENT",s.error||"Invalid image content")}let c=(0,E.Kc)(o),l=r.toString("base64"),u=`data:${c};base64,${l}`;return a.NextResponse.json({success:!0,path:i,content:u,extension:n,worktreePath:t.path,isImage:!0,mimeType:c})}catch(e){if("ENOENT"===e.code)return R("FILE_NOT_FOUND","File not found");throw e}}if(function(e){if(!e)return!1;let r=(0,E.Ab)(e);return m.includes(r)}(o)){let e=(0,u.join)(t.path,i);try{if((await (0,N.stat)(e)).size>15728640)return R("FILE_TOO_LARGE","File size exceeds 15MB limit");let r=await (0,N.readFile)(e),s=r.length>15728640?{valid:!1,error:"File size exceeds 15MB limit"}:!function(e,r){let t=(0,E.Ab)(e),i=I.find(e=>e.extension===t);if(!i?.magicBytes)return!1;let n=i.magicBytesOffset||0;return!(r.length<n+i.magicBytes.length)&&i.magicBytes.every((e,t)=>r[n+t]===e)}(o,r)?{valid:!1,error:"Invalid video magic bytes"}:{valid:!0};if(!s.valid){if(s.error?.includes("MB"))return R("FILE_TOO_LARGE",s.error);if(s.error?.includes("magic bytes"))return R("INVALID_MAGIC_BYTES",s.error);return R("INVALID_FILE_CONTENT",s.error||"Invalid video content")}let c=function(e){if(!e)return;let r=(0,E.Ab)(e),t=I.find(e=>e.extension===r);return t?.mimeType}(o)||"video/mp4",l=r.toString("base64"),u=`data:${c};base64,${l}`;return a.NextResponse.json({success:!0,path:i,content:u,extension:n,worktreePath:t.path,isVideo:!0,mimeType:c})}catch(e){if("ENOENT"===e.code)return R("FILE_NOT_FOUND","File not found");throw e}}let s=await (0,p.O2)(t.path,i);if(!s.success)return R(s.error?.code||"INTERNAL_ERROR",s.error?.message||"Failed to read file");return a.NextResponse.json({success:!0,path:i,content:s.content,extension:n,worktreePath:t.path})}catch(e){return console.error("Error reading file:",e),R("INTERNAL_ERROR","Failed to read file")}}async function h(e,{params:r}){try{let t=await T(r.id,r.path);if("error"in t)return t.error;let{worktree:i,relativePath:n}=t;if(!(0,p.rN)(n))return R("NOT_EDITABLE","File type is not editable");let{content:o}=await e.json();if(void 0===o)return R("INVALID_REQUEST","Content is required");let s=(0,u.extname)(n).toLowerCase(),c=(0,f.ty)(s,o);if(!c.valid)return R("INVALID_CONTENT",c.error||"Invalid content");let l=await (0,p.xH)(i.path,n,o);if(!l.success)return R(l.error?.code||"INTERNAL_ERROR",l.error?.message||"Failed to update file");return a.NextResponse.json({success:!0,path:n})}catch(e){return console.error("Error updating file:",e),R("INTERNAL_ERROR","Failed to update file")}}async function y(e,{params:r}){try{let t=await T(r.id,r.path);if("error"in t)return t.error;let{worktree:i,relativePath:n}=t,{type:o,content:s}=await e.json();if(!o||!["file","directory"].includes(o))return R("INVALID_REQUEST",'Type must be "file" or "directory"');if("file"===o&&void 0!==s){let e=(0,u.extname)(n).toLowerCase();if((0,f.ZI)(e)){let r=(0,f.ty)(e,s);if(!r.valid)return R("INVALID_CONTENT",r.error||"Invalid content")}}let c=await (0,p.D5)(i.path,n,o,s);if(!c.success)return R(c.error?.code||"INTERNAL_ERROR",c.error?.message||"Failed to create file/directory");return a.NextResponse.json({success:!0,path:n},{status:201})}catch(e){return console.error("Error creating file/directory:",e),R("INTERNAL_ERROR","Failed to create file/directory")}}async function L(e,{params:r}){try{let t=await T(r.id,r.path);if("error"in t)return t.error;let{worktree:i,relativePath:n}=t,{searchParams:o}=new URL(e.url),s="true"===o.get("recursive"),c=await (0,p.jN)(i.path,n,s);if(!c.success)return R(c.error?.code||"INTERNAL_ERROR",c.error?.message||"Failed to delete file/directory");return a.NextResponse.json({success:!0})}catch(e){return console.error("Error deleting file/directory:",e),R("INTERNAL_ERROR","Failed to delete file/directory")}}async function O(e,{params:r}){try{let t=await T(r.id,r.path);if("error"in t)return t.error;let{worktree:i,relativePath:n}=t,{action:o,newName:s,destination:c}=await e.json();switch(o){case"rename":{if(!s||"string"!=typeof s)return R("INVALID_REQUEST","newName is required");let e=await (0,p.nz)(i.path,n,s);if(!e.success)return R(e.error?.code||"INTERNAL_ERROR",e.error?.message||"Failed to rename file/directory");return a.NextResponse.json({success:!0,path:e.path})}case"move":{if(!c||"string"!=typeof c)return R("INVALID_REQUEST","destination is required and must be a string");let e=await (0,p.wB)(i.path,n,c);if(!e.success)return R(e.error?.code||"INTERNAL_ERROR",e.error?.message||"Failed to move file/directory");return a.NextResponse.json({success:!0,path:e.path})}default:return R("INVALID_REQUEST",'Unknown action. Supported: "rename", "move"')}}catch(e){return console.error("Error renaming file/directory:",e),R("INTERNAL_ERROR","Failed to rename file/directory")}}let v=new n.AppRouteRouteModule({definition:{kind:o.x.APP_ROUTE,page:"/api/worktrees/[id]/files/[...path]/route",pathname:"/api/worktrees/[id]/files/[...path]",filename:"route",bundlePath:"app/api/worktrees/[id]/files/[...path]/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/worktrees/[id]/files/[...path]/route.ts",nextConfigOutput:"",userland:i}),{requestAsyncStorage:A,staticGenerationAsyncStorage:x,serverHooks:w}=v,D="/api/worktrees/[id]/files/[...path]/route";function F(){return(0,s.patchFetch)({serverHooks:w,staticGenerationAsyncStorage:x})}},81481:(e,r,t)=>{t.d(r,{Ab:()=>o,Db:()=>a,Kc:()=>s,P7:()=>i,gp:()=>c});let i=[".png",".jpg",".jpeg",".gif",".webp",".svg"],n=[{extension:".png",mimeType:"image/png",magicBytes:[137,80,78,71]},{extension:".jpg",mimeType:"image/jpeg",magicBytes:[255,216,255]},{extension:".jpeg",mimeType:"image/jpeg",magicBytes:[255,216,255]},{extension:".gif",mimeType:"image/gif",magicBytes:[71,73,70,56]},{extension:".webp",mimeType:"image/webp",magicBytes:[82,73,70,70]},{extension:".svg",mimeType:"image/svg+xml"}];function o(e){return e?e.startsWith(".")?e.toLowerCase():"."+e.toLowerCase():""}function s(e){let r=o(e),t=n.find(e=>e.extension===r);return t?.mimeType||"application/octet-stream"}function a(e){if(!e)return!1;let r=o(e);return i.includes(r)}function c(e,r){if(r.length>5242880)return{valid:!1,error:"File size exceeds 5MB limit"};if(".svg"===o(e)){var t;return(t=r.toString("utf-8")).includes("<svg")||t.startsWith("<?xml")?/<script[\s>]/i.test(t)?{valid:!1,error:"SVG contains script tags"}:/\s+on\w+\s*=/i.test(t)?{valid:!1,error:"SVG contains event handler attributes"}:/(?:xlink:)?href\s*=\s*["']?\s*(?:javascript|data|vbscript):/i.test(t)?{valid:!1,error:"SVG contains dangerous URI scheme"}:/<foreignObject[\s>]/i.test(t)?{valid:!1,error:"SVG contains foreignObject element"}:{valid:!0}:{valid:!1,error:"Invalid SVG format"}}return!function(e,r){let t=o(e),i=n.find(e=>e.extension===t);if(!i?.magicBytes)return".svg"===t;let s=i.magicBytesOffset||0;return!(r.length<s+i.magicBytes.length)&&i.magicBytes.every((e,t)=>r[s+t]===e)}(e,r)?{valid:!1,error:"Invalid image magic bytes"}:{valid:!0}}}};var r=require("../../../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),i=r.X(0,[8948,5972,7425,8585],()=>t(25780));module.exports=i})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var e={};e.id=9495,e.ids=[9495],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")},78893:e=>{e.exports=require("buffer")},61282:e=>{e.exports=require("child_process")},84770:e=>{e.exports=require("crypto")},17702:e=>{e.exports=require("events")},92048:e=>{e.exports=require("fs")},20629:e=>{e.exports=require("fs/promises")},32615:e=>{e.exports=require("http")},35240:e=>{e.exports=require("https")},98216:e=>{e.exports=require("net")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},76162:e=>{e.exports=require("stream")},82452:e=>{e.exports=require("tls")},17360:e=>{e.exports=require("url")},21764:e=>{e.exports=require("util")},71568:e=>{e.exports=require("zlib")},2838:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>m,patchFetch:()=>w,requestAsyncStorage:()=>
|
|
1
|
+
"use strict";(()=>{var e={};e.id=9495,e.ids=[9495],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")},78893:e=>{e.exports=require("buffer")},61282:e=>{e.exports=require("child_process")},84770:e=>{e.exports=require("crypto")},17702:e=>{e.exports=require("events")},92048:e=>{e.exports=require("fs")},20629:e=>{e.exports=require("fs/promises")},32615:e=>{e.exports=require("http")},35240:e=>{e.exports=require("https")},98216:e=>{e.exports=require("net")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},76162:e=>{e.exports=require("stream")},82452:e=>{e.exports=require("tls")},17360:e=>{e.exports=require("url")},21764:e=>{e.exports=require("util")},71568:e=>{e.exports=require("zlib")},2838:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>m,patchFetch:()=>w,requestAsyncStorage:()=>q,routeModule:()=>g,serverHooks:()=>h,staticGenerationAsyncStorage:()=>f});var s={};t.r(s),t.d(s,{POST:()=>x});var o=t(49303),i=t(88716),n=t(60670),u=t(87070),p=t(97425),a=t(75748),d=t(43839),l=t(43895);let c=(0,l.h)("interrupt");async function x(e,{params:r}){let{id:t}=await r,s=(0,l.Y)(),o=c.withContext({worktreeId:t,requestId:s});o.info("interrupt:request");try{let r=(0,p.getDbInstance)();if(!(0,a.gU)(r,t))return o.warn("interrupt:worktree_not_found"),u.NextResponse.json({error:`Worktree '${t}' not found`},{status:404});let s={};try{s=await e.json()}catch{}let i=d.g.getInstance(),n=[];for(let e of s.cliToolId?[s.cliToolId]:["claude","codex","gemini"]){let r=i.getTool(e);if(await r.isRunning(t)){let s=r.getSessionName(t);o.debug("interrupt:sending",{cliToolId:e,sessionName:s}),await r.interrupt(t),n.push({cliToolId:e,sessionName:s}),o.info("interrupt:sent",{cliToolId:e,sessionName:s})}}if(0===n.length)return o.warn("interrupt:no_active_sessions"),u.NextResponse.json({error:"No active sessions found"},{status:404});return o.info("interrupt:success",{interruptedCount:n.length}),u.NextResponse.json({success:!0,message:`Interrupt sent to ${n.length} session(s)`,interrupted:n},{status:200})}catch(r){let e=r instanceof Error?r.message:String(r);return o.error("interrupt:error",{error:e}),u.NextResponse.json({error:"Failed to send interrupt"},{status:500})}}let g=new o.AppRouteRouteModule({definition:{kind:i.x.APP_ROUTE,page:"/api/worktrees/[id]/interrupt/route",pathname:"/api/worktrees/[id]/interrupt",filename:"route",bundlePath:"app/api/worktrees/[id]/interrupt/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/worktrees/[id]/interrupt/route.ts",nextConfigOutput:"",userland:s}),{requestAsyncStorage:q,staticGenerationAsyncStorage:f,serverHooks:h}=g,m="/api/worktrees/[id]/interrupt/route";function w(){return(0,n.patchFetch)({serverHooks:h,staticGenerationAsyncStorage:f})}}};var r=require("../../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[8948,5972,3853,4893,7425,7566,7536],()=>t(2838));module.exports=s})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var e={};e.id=2238,e.ids=[2238],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")},78893:e=>{e.exports=require("buffer")},61282:e=>{e.exports=require("child_process")},84770:e=>{e.exports=require("crypto")},17702:e=>{e.exports=require("events")},92048:e=>{e.exports=require("fs")},20629:e=>{e.exports=require("fs/promises")},32615:e=>{e.exports=require("http")},35240:e=>{e.exports=require("https")},98216:e=>{e.exports=require("net")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},76162:e=>{e.exports=require("stream")},82452:e=>{e.exports=require("tls")},17360:e=>{e.exports=require("url")},21764:e=>{e.exports=require("util")},71568:e=>{e.exports=require("zlib")},38877:(e,r,s)=>{s.r(r),s.d(r,{originalPathname:()=>h,patchFetch:()=>v,requestAsyncStorage:()=>
|
|
1
|
+
"use strict";(()=>{var e={};e.id=2238,e.ids=[2238],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")},78893:e=>{e.exports=require("buffer")},61282:e=>{e.exports=require("child_process")},84770:e=>{e.exports=require("crypto")},17702:e=>{e.exports=require("events")},92048:e=>{e.exports=require("fs")},20629:e=>{e.exports=require("fs/promises")},32615:e=>{e.exports=require("http")},35240:e=>{e.exports=require("https")},98216:e=>{e.exports=require("net")},19801:e=>{e.exports=require("os")},55315:e=>{e.exports=require("path")},76162:e=>{e.exports=require("stream")},82452:e=>{e.exports=require("tls")},17360:e=>{e.exports=require("url")},21764:e=>{e.exports=require("util")},71568:e=>{e.exports=require("zlib")},38877:(e,r,s)=>{s.r(r),s.d(r,{originalPathname:()=>h,patchFetch:()=>v,requestAsyncStorage:()=>k,routeModule:()=>g,serverHooks:()=>q,staticGenerationAsyncStorage:()=>m});var t={};s.r(t),s.d(t,{POST:()=>f});var o=s(49303),i=s(88716),n=s(60670),l=s(87070),u=s(97425),a=s(75748),p=s(43839),d=s(10927),c=s(68507),x=s(83513);async function f(e,{params:r}){try{let s=(0,u.getDbInstance)();if(!(0,a.gU)(s,r.id))return l.NextResponse.json({error:`Worktree '${r.id}' not found`},{status:404});let t=e.nextUrl.searchParams.get("cliTool");if(t&&!x.t.includes(t))return l.NextResponse.json({error:`Invalid cliTool: '${t}'. Valid values: ${x.t.join(", ")}`},{status:400});let o=p.g.getInstance(),i=t?[t]:[...x.t],n=[],f=!1;for(let e of i){let t=o.getTool(e);if(await t.isRunning(r.id)){f=!0;let i=t.getSessionName(r.id);await (0,d.AJ)(i)&&(n.push(i),console.log(`[kill-session] Killed ${e} session: ${i}`)),o.stopPollers(r.id,e),(0,a.j8)(s,r.id,e)}}if(!f){let e=t?` for ${t}`:"";return l.NextResponse.json({error:`No active sessions found${e} for this worktree`},{status:404})}return t?(0,a.GZ)(s,r.id,t):(0,a.HE)(s,r.id),(0,c.fM)(r.id,{type:"session_status_changed",worktreeId:r.id,isRunning:!1,messagesCleared:!0,cliTool:t||null}),l.NextResponse.json({success:!0,message:t?`Session killed successfully: ${n.join(", ")}`:`All sessions killed successfully: ${n.join(", ")}`,killedSessions:n,cliTool:t||null},{status:200})}catch(e){return console.error("Error killing sessions:",e),l.NextResponse.json({error:"Failed to kill sessions"},{status:500})}}let g=new o.AppRouteRouteModule({definition:{kind:i.x.APP_ROUTE,page:"/api/worktrees/[id]/kill-session/route",pathname:"/api/worktrees/[id]/kill-session",filename:"route",bundlePath:"app/api/worktrees/[id]/kill-session/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/worktrees/[id]/kill-session/route.ts",nextConfigOutput:"",userland:t}),{requestAsyncStorage:k,staticGenerationAsyncStorage:m,serverHooks:q}=g,h="/api/worktrees/[id]/kill-session/route";function v(){return(0,n.patchFetch)({serverHooks:q,staticGenerationAsyncStorage:m})}},83513:(e,r,s)=>{s.d(r,{t:()=>t});let t=["claude","codex","gemini"]}};var r=require("../../../../../webpack-runtime.js");r.C(e);var s=e=>r(r.s=e),t=r.X(0,[8948,5972,3853,4893,7425,7566,7536],()=>s(38877));module.exports=t})();
|