commandmate 0.1.11 → 0.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +9 -9
  3. package/.next/app-path-routes-manifest.json +1 -1
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/cache/.tsbuildinfo +1 -1
  6. package/.next/cache/config.json +3 -3
  7. package/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/.next/cache/webpack/client-production/1.pack +0 -0
  9. package/.next/cache/webpack/client-production/2.pack +0 -0
  10. package/.next/cache/webpack/client-production/index.pack +0 -0
  11. package/.next/cache/webpack/client-production/index.pack.old +0 -0
  12. package/.next/cache/webpack/edge-server-production/0.pack +0 -0
  13. package/.next/cache/webpack/edge-server-production/index.pack +0 -0
  14. package/.next/cache/webpack/server-production/0.pack +0 -0
  15. package/.next/cache/webpack/server-production/index.pack +0 -0
  16. package/.next/next-server.js.nft.json +1 -1
  17. package/.next/prerender-manifest.json +1 -1
  18. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/.next/server/app/_not-found.html +1 -1
  20. package/.next/server/app/_not-found.rsc +1 -1
  21. package/.next/server/app/api/hooks/claude-done/route.js +6 -6
  22. package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
  23. package/.next/server/app/api/repositories/route.js +1 -1
  24. package/.next/server/app/api/repositories/route.js.nft.json +1 -1
  25. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
  26. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
  27. package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
  28. package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
  29. package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
  30. package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
  31. package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
  32. package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
  33. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
  34. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
  35. package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
  36. package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
  37. package/.next/server/app/api/worktrees/[id]/route.js +1 -1
  38. package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
  39. package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
  40. package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
  41. package/.next/server/app/api/worktrees/[id]/start-polling/route.js +1 -1
  42. package/.next/server/app/api/worktrees/[id]/start-polling/route.js.nft.json +1 -1
  43. package/.next/server/app/api/worktrees/route.js +1 -1
  44. package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
  45. package/.next/server/app/index.html +1 -1
  46. package/.next/server/app/index.rsc +1 -1
  47. package/.next/server/app/page_client-reference-manifest.js +1 -1
  48. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  49. package/.next/server/app/worktrees/[id]/page.js +4 -4
  50. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  51. package/.next/server/app/worktrees/[id]/simple-terminal/page_client-reference-manifest.js +1 -1
  52. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  53. package/.next/server/app-paths-manifest.json +8 -8
  54. package/.next/server/chunks/2597.js +1 -0
  55. package/.next/server/chunks/2648.js +1 -0
  56. package/.next/server/middleware-manifest.json +5 -5
  57. package/.next/server/pages/404.html +1 -1
  58. package/.next/server/pages/500.html +1 -1
  59. package/.next/server/server-reference-manifest.json +1 -1
  60. package/.next/static/chunks/app/worktrees/[id]/page-58fcf2e63c056743.js +1 -0
  61. package/.next/trace +5 -5
  62. package/dist/server/src/lib/auto-yes-manager.js +6 -7
  63. package/dist/server/src/lib/claude-session.js +134 -28
  64. package/package.json +1 -1
  65. package/.next/server/chunks/1528.js +0 -1
  66. package/.next/server/chunks/7213.js +0 -1
  67. package/.next/static/chunks/app/worktrees/[id]/page-720605c2fb074444.js +0 -1
  68. /package/.next/static/{gRNW5YXY43KqCKbCdaJoJ → 564GHwluX5xIv9qpqLJV2}/_buildManifest.js +0 -0
  69. /package/.next/static/{gRNW5YXY43KqCKbCdaJoJ → 564GHwluX5xIv9qpqLJV2}/_ssgManifest.js +0 -0
@@ -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")},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")},80134:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>y,patchFetch:()=>A,requestAsyncStorage:()=>w,routeModule:()=>x,serverHooks:()=>v,staticGenerationAsyncStorage:()=>b});var n={};r.r(n),r.d(n,{GET:()=>m,POST:()=>g});var o=r(49303),s=r(88716),a=r(60670),i=r(87070),u=r(97425),l=r(75748),d=r(60667);let p=["claude","codex","gemini"];function c(e,t){let r={enabled:e?.enabled??!1,expiresAt:e?.enabled?e.expiresAt:null};return void 0!==t&&(r.pollingStarted=t),r}function f(e){let t=(0,u.n)();return(0,l.gU)(t,e)?null:i.NextResponse.json({error:`Worktree '${e}' not found`},{status:404})}async function m(e,{params:t}){try{let e=f(t.id);if(e)return e;let r=(0,d.bq)(t.id);return i.NextResponse.json(c(r))}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 g(e,{params:t}){try{var r;let n=f(t.id);if(n)return n;let o=await e.json();if("boolean"!=typeof o.enabled)return i.NextResponse.json({error:"enabled must be a boolean"},{status:400});let s=(r=o.cliToolId)&&p.includes(r)?o.cliToolId:"claude",a=(0,d.bY)(t.id,o.enabled),u=!1;if(o.enabled){let e=(0,d.w)(t.id,s);u=e.started,e.started||console.warn(`[Auto-Yes API] Polling not started: ${e.reason}`)}else(0,d.Qz)(t.id);return i.NextResponse.json(c(a,u))}catch(e){return console.error("Error setting auto-yes state:",e),i.NextResponse.json({error:"Failed to set auto-yes state"},{status:500})}}let x=new o.AppRouteRouteModule({definition:{kind:s.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:n}),{requestAsyncStorage:w,staticGenerationAsyncStorage:b,serverHooks:v}=x,y="/api/worktrees/[id]/auto-yes/route";function A(){return(0,a.patchFetch)({serverHooks:v,staticGenerationAsyncStorage:b})}},60667:(e,t,r)=>{r.d(t,{bq:()=>c,gf:()=>m,bY:()=>f,w:()=>w,Qz:()=>b});var n=r(89194),o=r(63661),s=r(10927),a=r(97213),i=r(19377);let u=/^[a-zA-Z0-9_-]+$/,l=new Map,d=new Map;function p(e){return Date.now()>e.expiresAt}function c(e){let t=l.get(e);if(!t)return null;if(p(t)){let r={...t,enabled:!1};return l.set(e,r),r}return t}function f(e,t){if(t){let t=Date.now(),r={enabled:!0,enabledAt:t,expiresAt:t+36e5};return l.set(e,r),r}{let t=l.get(e),r={enabled:!1,enabledAt:t?.enabledAt??0,expiresAt:t?.expiresAt??0};return l.set(e,r),r}}function m(e){let t=d.get(e);return t?.lastServerResponseTimestamp??null}async function g(e,t){if(!d.get(e))return;let r=c(e);if(!r?.enabled||p(r)){b(e);return}try{let r=await (0,n.NA)(e,t,5e3),u=(0,i.vp)(r),l=(0,o.F)(u);if(!l.isPrompt||!l.promptData){x(e,t);return}let p=function(e){if("yes_no"===e.type)return"y";if("multiple_choice"===e.type){let t=e.options.find(e=>e.isDefault)??e.options[0];return!t||t.requiresTextInput?null:t.number.toString()}return null}(l.promptData);if(null===p){x(e,t);return}let c=a.g.getInstance().getTool(t).getSessionName(e);await (0,s.Is)(c,p,!1),await new Promise(e=>setTimeout(e,100)),await (0,s.Is)(c,"",!0),function(e,t){let r=d.get(e);r&&(r.lastServerResponseTimestamp=t)}(e,Date.now()),function(e){let t=d.get(e);t&&(t.consecutiveErrors=0,t.currentInterval=2e3)}(e),console.info(`[Auto-Yes Poller] Sent response for worktree: ${e}`)}catch(r){!function(e){let t=d.get(e);if(t){var r;t.consecutiveErrors++,t.currentInterval=(r=t.consecutiveErrors)<5?2e3:Math.min(2e3*Math.pow(2,r-5+1),6e4)}}(e);let t=r instanceof Error?r.message:"Unknown error";console.warn(`[Auto-Yes Poller] Error for worktree ${e}: ${t}`)}x(e,t)}function x(e,t){let r=d.get(e);r&&(r.timerId=setTimeout(()=>{g(e,t)},r.currentInterval))}function w(e,t){if(!(e&&0!==e.length&&u.test(e)))return{started:!1,reason:"invalid worktree ID"};let r=c(e);if(!r?.enabled)return{started:!1,reason:"auto-yes not enabled"};let n=d.has(e);if(!n&&d.size>=50)return{started:!1,reason:"max concurrent pollers reached"};n&&b(e);let o={timerId:null,cliToolId:t,consecutiveErrors:0,currentInterval:2e3,lastServerResponseTimestamp:null};return d.set(e,o),o.timerId=setTimeout(()=>{g(e,t)},2e3),console.info(`[Auto-Yes Poller] Started for worktree: ${e}, cliTool: ${t}`),{started:!0}}function b(e){let t=d.get(e);t&&(t.timerId&&clearTimeout(t.timerId),d.delete(e),console.info(`[Auto-Yes Poller] Stopped for worktree: ${e}`))}}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[8948,5972,7425,7213,1528],()=>r(80134));module.exports=n})();
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")},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")},80134:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>h,patchFetch:()=>y,requestAsyncStorage:()=>x,routeModule:()=>b,serverHooks:()=>v,staticGenerationAsyncStorage:()=>w});var o={};r.r(o),r.d(o,{GET:()=>m,POST:()=>g});var n=r(49303),s=r(88716),a=r(60670),i=r(87070),l=r(97425),u=r(75748),d=r(60667);let p=["claude","codex","gemini"];function c(e,t){let r={enabled:e?.enabled??!1,expiresAt:e?.enabled?e.expiresAt:null};return void 0!==t&&(r.pollingStarted=t),r}function f(e){let t=(0,l.n)();return(0,u.gU)(t,e)?null:i.NextResponse.json({error:`Worktree '${e}' not found`},{status:404})}async function m(e,{params:t}){try{let e=f(t.id);if(e)return e;let r=(0,d.bq)(t.id);return i.NextResponse.json(c(r))}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 g(e,{params:t}){try{var r;let o=f(t.id);if(o)return o;let n=await e.json();if("boolean"!=typeof n.enabled)return i.NextResponse.json({error:"enabled must be a boolean"},{status:400});let s=(r=n.cliToolId)&&p.includes(r)?n.cliToolId:"claude",a=(0,d.bY)(t.id,n.enabled),l=!1;if(n.enabled){let e=(0,d.w)(t.id,s);l=e.started,e.started||console.warn(`[Auto-Yes API] Polling not started: ${e.reason}`)}else(0,d.Qz)(t.id);return i.NextResponse.json(c(a,l))}catch(e){return console.error("Error setting auto-yes state:",e),i.NextResponse.json({error:"Failed to set auto-yes state"},{status:500})}}let b=new n.AppRouteRouteModule({definition:{kind:s.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:x,staticGenerationAsyncStorage:w,serverHooks:v}=b,h="/api/worktrees/[id]/auto-yes/route";function y(){return(0,a.patchFetch)({serverHooks:v,staticGenerationAsyncStorage:w})}},60667:(e,t,r)=>{r.d(t,{bq:()=>c,gf:()=>m,bY:()=>f,w:()=>x,Qz:()=>w});var o=r(89194),n=r(63661),s=r(10927),a=r(97213),i=r(19377);let l=/^[a-zA-Z0-9_-]+$/,u=globalThis.__autoYesStates??(globalThis.__autoYesStates=new Map),d=globalThis.__autoYesPollerStates??(globalThis.__autoYesPollerStates=new Map);function p(e){return Date.now()>e.expiresAt}function c(e){let t=u.get(e);if(!t)return null;if(p(t)){let r={...t,enabled:!1};return u.set(e,r),r}return t}function f(e,t){if(t){let t=Date.now(),r={enabled:!0,enabledAt:t,expiresAt:t+36e5};return u.set(e,r),r}{let t=u.get(e),r={enabled:!1,enabledAt:t?.enabledAt??0,expiresAt:t?.expiresAt??0};return u.set(e,r),r}}function m(e){let t=d.get(e);return t?.lastServerResponseTimestamp??null}async function g(e,t){if(!d.get(e))return;let r=c(e);if(!r?.enabled||p(r)){w(e);return}try{let r=await (0,o.NA)(e,t,5e3),l=(0,i.vp)(r),u=(0,n.F)(l);if(!u.isPrompt||!u.promptData){b(e,t);return}let p=function(e){if("yes_no"===e.type)return"y";if("multiple_choice"===e.type){let t=e.options.find(e=>e.isDefault)??e.options[0];return!t||t.requiresTextInput?null:t.number.toString()}return null}(u.promptData);if(null===p){b(e,t);return}let c=a.g.getInstance().getTool(t).getSessionName(e);await (0,s.Is)(c,p,!1),await new Promise(e=>setTimeout(e,100)),await (0,s.Is)(c,"",!0),function(e,t){let r=d.get(e);r&&(r.lastServerResponseTimestamp=t)}(e,Date.now()),function(e){let t=d.get(e);t&&(t.consecutiveErrors=0,t.currentInterval=2e3)}(e),console.info(`[Auto-Yes Poller] Sent response for worktree: ${e}`)}catch(r){!function(e){let t=d.get(e);if(t){var r;t.consecutiveErrors++,t.currentInterval=(r=t.consecutiveErrors)<5?2e3:Math.min(2e3*Math.pow(2,r-5+1),6e4)}}(e);let t=r instanceof Error?r.message:"Unknown error";console.warn(`[Auto-Yes Poller] Error for worktree ${e}: ${t}`)}b(e,t)}function b(e,t){let r=d.get(e);r&&(r.timerId=setTimeout(()=>{g(e,t)},r.currentInterval))}function x(e,t){if(!(e&&0!==e.length&&l.test(e)))return{started:!1,reason:"invalid worktree ID"};let r=c(e);if(!r?.enabled)return{started:!1,reason:"auto-yes not enabled"};let o=d.has(e);if(!o&&d.size>=50)return{started:!1,reason:"max concurrent pollers reached"};o&&w(e);let n={timerId:null,cliToolId:t,consecutiveErrors:0,currentInterval:2e3,lastServerResponseTimestamp:null};return d.set(e,n),n.timerId=setTimeout(()=>{g(e,t)},2e3),console.info(`[Auto-Yes Poller] Started for worktree: ${e}, cliTool: ${t}`),{started:!0}}function w(e){let t=d.get(e);t&&(t.timerId&&clearTimeout(t.timerId),d.delete(e),console.info(`[Auto-Yes Poller] Stopped for worktree: ${e}`))}}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),o=t.X(0,[8948,5972,7425,2648,2597],()=>r(80134));module.exports=o})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../../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/1528.js","../../../../../chunks/5972.js","../../../../../chunks/7213.js","../../../../../chunks/7425.js","../../../../../chunks/8948.js","../../../../../webpack-runtime.js"]}
1
+ {"version":1,"files":["../../../../../../../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/2597.js","../../../../../chunks/2648.js","../../../../../chunks/5972.js","../../../../../chunks/7425.js","../../../../../chunks/8948.js","../../../../../webpack-runtime.js"]}
@@ -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")},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")},26683:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>b,patchFetch:()=>k,requestAsyncStorage:()=>v,routeModule:()=>x,serverHooks:()=>A,staticGenerationAsyncStorage:()=>h});var n={};r.r(n),r.d(n,{GET:()=>w});var o=r(49303),i=r(88716),s=r(60670),u=r(87070),a=r(97425),l=r(75748),p=r(63661),c=r(97213),d=r(89194),m=r(19377),f=r(60667);let g=["claude","codex","gemini"];async function w(e,{params:t}){try{let r=(0,a.n)(),n=(0,l.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&&g.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 w=(0,l.zl)(r,t.id,i),x=w?.lastCapturedLine||0,v=await (0,d.NA)(t.id,i,1e4),h=v.split("\n"),A=h.length,b=h.slice(Math.max(0,x)).join("\n"),k=h.map(e=>(0,m.vp)(e)).filter(e=>""!==e.trim()).slice(-15).join("\n"),I=(0,m.vp)(v),q=(0,p.F)(I),T=q.isPrompt,P=!T&&(0,m.Wg)(i,k),R=h.slice(-100).join("\n"),y=(0,f.bq)(t.id),j=(0,f.gf)(t.id);return u.NextResponse.json({isRunning:!0,cliToolId:i,content:b,fullOutput:v,realtimeSnippet:R,lineCount:A,lastCapturedLine:x,isComplete:T,isGenerating:P,thinking:P,thinkingMessage:P?"Claude is thinking...":null,isPromptWaiting:T,promptData:T?q.promptData:null,autoYes:{enabled:y?.enabled??!1,expiresAt:y?.enabled?y.expiresAt:null},lastServerResponseTimestamp:j})}catch(e){return console.error("Error getting current output:",e),u.NextResponse.json({error:"Failed to get current output"},{status:500})}}let x=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:h,serverHooks:A}=x,b="/api/worktrees/[id]/current-output/route";function k(){return(0,s.patchFetch)({serverHooks:A,staticGenerationAsyncStorage:h})}},60667:(e,t,r)=>{r.d(t,{bq:()=>d,gf:()=>f,bY:()=>m,w:()=>x,Qz:()=>v});var n=r(89194),o=r(63661),i=r(10927),s=r(97213),u=r(19377);let a=/^[a-zA-Z0-9_-]+$/,l=new Map,p=new Map;function c(e){return Date.now()>e.expiresAt}function d(e){let t=l.get(e);if(!t)return null;if(c(t)){let r={...t,enabled:!1};return l.set(e,r),r}return t}function m(e,t){if(t){let t=Date.now(),r={enabled:!0,enabledAt:t,expiresAt:t+36e5};return l.set(e,r),r}{let t=l.get(e),r={enabled:!1,enabledAt:t?.enabledAt??0,expiresAt:t?.expiresAt??0};return l.set(e,r),r}}function f(e){let t=p.get(e);return t?.lastServerResponseTimestamp??null}async function g(e,t){if(!p.get(e))return;let r=d(e);if(!r?.enabled||c(r)){v(e);return}try{let r=await (0,n.NA)(e,t,5e3),a=(0,u.vp)(r),l=(0,o.F)(a);if(!l.isPrompt||!l.promptData){w(e,t);return}let c=function(e){if("yes_no"===e.type)return"y";if("multiple_choice"===e.type){let t=e.options.find(e=>e.isDefault)??e.options[0];return!t||t.requiresTextInput?null:t.number.toString()}return null}(l.promptData);if(null===c){w(e,t);return}let d=s.g.getInstance().getTool(t).getSessionName(e);await (0,i.Is)(d,c,!1),await new Promise(e=>setTimeout(e,100)),await (0,i.Is)(d,"",!0),function(e,t){let r=p.get(e);r&&(r.lastServerResponseTimestamp=t)}(e,Date.now()),function(e){let t=p.get(e);t&&(t.consecutiveErrors=0,t.currentInterval=2e3)}(e),console.info(`[Auto-Yes Poller] Sent response for worktree: ${e}`)}catch(r){!function(e){let t=p.get(e);if(t){var r;t.consecutiveErrors++,t.currentInterval=(r=t.consecutiveErrors)<5?2e3:Math.min(2e3*Math.pow(2,r-5+1),6e4)}}(e);let t=r instanceof Error?r.message:"Unknown error";console.warn(`[Auto-Yes Poller] Error for worktree ${e}: ${t}`)}w(e,t)}function w(e,t){let r=p.get(e);r&&(r.timerId=setTimeout(()=>{g(e,t)},r.currentInterval))}function x(e,t){if(!(e&&0!==e.length&&a.test(e)))return{started:!1,reason:"invalid worktree ID"};let r=d(e);if(!r?.enabled)return{started:!1,reason:"auto-yes not enabled"};let n=p.has(e);if(!n&&p.size>=50)return{started:!1,reason:"max concurrent pollers reached"};n&&v(e);let o={timerId:null,cliToolId:t,consecutiveErrors:0,currentInterval:2e3,lastServerResponseTimestamp:null};return p.set(e,o),o.timerId=setTimeout(()=>{g(e,t)},2e3),console.info(`[Auto-Yes Poller] Started for worktree: ${e}, cliTool: ${t}`),{started:!0}}function v(e){let t=p.get(e);t&&(t.timerId&&clearTimeout(t.timerId),p.delete(e),console.info(`[Auto-Yes Poller] Stopped for worktree: ${e}`))}}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[8948,5972,7425,7213,1528],()=>r(26683));module.exports=n})();
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")},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")},26683:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>A,patchFetch:()=>T,requestAsyncStorage:()=>h,routeModule:()=>x,serverHooks:()=>b,staticGenerationAsyncStorage:()=>v});var n={};r.r(n),r.d(n,{GET:()=>w});var o=r(49303),i=r(88716),s=r(60670),u=r(87070),a=r(97425),l=r(75748),p=r(63661),c=r(97213),d=r(89194),m=r(19377),f=r(60667);let g=["claude","codex","gemini"];async function w(e,{params:t}){try{let r=(0,a.n)(),n=(0,l.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&&g.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 w=(0,l.zl)(r,t.id,i),x=w?.lastCapturedLine||0,h=await (0,d.NA)(t.id,i,1e4),v=h.split("\n"),b=v.length,A=v.slice(Math.max(0,x)).join("\n"),T=v.map(e=>(0,m.vp)(e)).filter(e=>""!==e.trim()).slice(-15).join("\n"),k=(0,m.vp)(h),I=(0,p.F)(k),P=I.isPrompt,q=!P&&(0,m.Wg)(i,T),R=v.slice(-100).join("\n"),S=(0,f.bq)(t.id),_=(0,f.gf)(t.id);return u.NextResponse.json({isRunning:!0,cliToolId:i,content:A,fullOutput:h,realtimeSnippet:R,lineCount:b,lastCapturedLine:x,isComplete:P,isGenerating:q,thinking:q,thinkingMessage:q?"Claude is thinking...":null,isPromptWaiting:P,promptData:P?I.promptData:null,autoYes:{enabled:S?.enabled??!1,expiresAt:S?.enabled?S.expiresAt:null},lastServerResponseTimestamp:_})}catch(e){return console.error("Error getting current output:",e),u.NextResponse.json({error:"Failed to get current output"},{status:500})}}let x=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:h,staticGenerationAsyncStorage:v,serverHooks:b}=x,A="/api/worktrees/[id]/current-output/route";function T(){return(0,s.patchFetch)({serverHooks:b,staticGenerationAsyncStorage:v})}},60667:(e,t,r)=>{r.d(t,{bq:()=>d,gf:()=>f,bY:()=>m,w:()=>x,Qz:()=>h});var n=r(89194),o=r(63661),i=r(10927),s=r(97213),u=r(19377);let a=/^[a-zA-Z0-9_-]+$/,l=globalThis.__autoYesStates??(globalThis.__autoYesStates=new Map),p=globalThis.__autoYesPollerStates??(globalThis.__autoYesPollerStates=new Map);function c(e){return Date.now()>e.expiresAt}function d(e){let t=l.get(e);if(!t)return null;if(c(t)){let r={...t,enabled:!1};return l.set(e,r),r}return t}function m(e,t){if(t){let t=Date.now(),r={enabled:!0,enabledAt:t,expiresAt:t+36e5};return l.set(e,r),r}{let t=l.get(e),r={enabled:!1,enabledAt:t?.enabledAt??0,expiresAt:t?.expiresAt??0};return l.set(e,r),r}}function f(e){let t=p.get(e);return t?.lastServerResponseTimestamp??null}async function g(e,t){if(!p.get(e))return;let r=d(e);if(!r?.enabled||c(r)){h(e);return}try{let r=await (0,n.NA)(e,t,5e3),a=(0,u.vp)(r),l=(0,o.F)(a);if(!l.isPrompt||!l.promptData){w(e,t);return}let c=function(e){if("yes_no"===e.type)return"y";if("multiple_choice"===e.type){let t=e.options.find(e=>e.isDefault)??e.options[0];return!t||t.requiresTextInput?null:t.number.toString()}return null}(l.promptData);if(null===c){w(e,t);return}let d=s.g.getInstance().getTool(t).getSessionName(e);await (0,i.Is)(d,c,!1),await new Promise(e=>setTimeout(e,100)),await (0,i.Is)(d,"",!0),function(e,t){let r=p.get(e);r&&(r.lastServerResponseTimestamp=t)}(e,Date.now()),function(e){let t=p.get(e);t&&(t.consecutiveErrors=0,t.currentInterval=2e3)}(e),console.info(`[Auto-Yes Poller] Sent response for worktree: ${e}`)}catch(r){!function(e){let t=p.get(e);if(t){var r;t.consecutiveErrors++,t.currentInterval=(r=t.consecutiveErrors)<5?2e3:Math.min(2e3*Math.pow(2,r-5+1),6e4)}}(e);let t=r instanceof Error?r.message:"Unknown error";console.warn(`[Auto-Yes Poller] Error for worktree ${e}: ${t}`)}w(e,t)}function w(e,t){let r=p.get(e);r&&(r.timerId=setTimeout(()=>{g(e,t)},r.currentInterval))}function x(e,t){if(!(e&&0!==e.length&&a.test(e)))return{started:!1,reason:"invalid worktree ID"};let r=d(e);if(!r?.enabled)return{started:!1,reason:"auto-yes not enabled"};let n=p.has(e);if(!n&&p.size>=50)return{started:!1,reason:"max concurrent pollers reached"};n&&h(e);let o={timerId:null,cliToolId:t,consecutiveErrors:0,currentInterval:2e3,lastServerResponseTimestamp:null};return p.set(e,o),o.timerId=setTimeout(()=>{g(e,t)},2e3),console.info(`[Auto-Yes Poller] Started for worktree: ${e}, cliTool: ${t}`),{started:!0}}function h(e){let t=p.get(e);t&&(t.timerId&&clearTimeout(t.timerId),p.delete(e),console.info(`[Auto-Yes Poller] Stopped for worktree: ${e}`))}}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[8948,5972,7425,2648,2597],()=>r(26683));module.exports=n})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../../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/1528.js","../../../../../chunks/5972.js","../../../../../chunks/7213.js","../../../../../chunks/7425.js","../../../../../chunks/8948.js","../../../../../webpack-runtime.js"]}
1
+ {"version":1,"files":["../../../../../../../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/2597.js","../../../../../chunks/2648.js","../../../../../chunks/5972.js","../../../../../chunks/7425.js","../../../../../chunks/8948.js","../../../../../webpack-runtime.js"]}
@@ -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")},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")},2838:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>E,patchFetch:()=>h,requestAsyncStorage:()=>g,routeModule:()=>f,serverHooks:()=>w,staticGenerationAsyncStorage:()=>m});var n={};t.r(n),t.d(n,{POST:()=>x});var o=t(49303),i=t(88716),s=t(60670),a=t(87070),u=t(97425),p=t(75748),l=t(97213),c=t(43895);let d=(0,c.h)("interrupt");async function x(e,{params:r}){let{id:t}=await r,n=(0,c.Y)(),o=d.withContext({worktreeId:t,requestId:n});o.info("interrupt:request");try{let r=(0,u.n)();if(!(0,p.gU)(r,t))return o.warn("interrupt:worktree_not_found"),a.NextResponse.json({error:`Worktree '${t}' not found`},{status:404});let n={};try{n=await e.json()}catch{}let i=l.g.getInstance(),s=[];for(let e of n.cliToolId?[n.cliToolId]:["claude","codex","gemini"]){let r=i.getTool(e);if(await r.isRunning(t)){let n=r.getSessionName(t);o.debug("interrupt:sending",{cliToolId:e,sessionName:n}),await r.interrupt(t),s.push({cliToolId:e,sessionName:n}),o.info("interrupt:sent",{cliToolId:e,sessionName:n})}}if(0===s.length)return o.warn("interrupt:no_active_sessions"),a.NextResponse.json({error:"No active sessions found"},{status:404});return o.info("interrupt:success",{interruptedCount:s.length}),a.NextResponse.json({success:!0,message:`Interrupt sent to ${s.length} session(s)`,interrupted:s},{status:200})}catch(r){let e=r instanceof Error?r.message:String(r);return o.error("interrupt:error",{error:e}),a.NextResponse.json({error:"Failed to send interrupt"},{status:500})}}let f=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:n}),{requestAsyncStorage:g,staticGenerationAsyncStorage:m,serverHooks:w}=f,E="/api/worktrees/[id]/interrupt/route";function h(){return(0,s.patchFetch)({serverHooks:w,staticGenerationAsyncStorage:m})}},43895:(e,r,t)=>{t.d(r,{Y:()=>u,h:()=>p});var n=t(93346);let o=[{pattern:/Bearer\s+[A-Za-z0-9\-._~+/]+=*/gi,replacement:"Bearer [REDACTED]"},{pattern:/(password|passwd|pwd)[=:]\s*\S+/gi,replacement:"$1=[REDACTED]"},{pattern:/(token|secret|api_key|apikey|auth)[=:]\s*\S+/gi,replacement:"$1=[REDACTED]"},{pattern:/CM_AUTH_TOKEN=\S+/gi,replacement:"CM_AUTH_TOKEN=[REDACTED]"},{pattern:/MCBD_AUTH_TOKEN=\S+/gi,replacement:"MCBD_AUTH_TOKEN=[REDACTED]"},{pattern:/Authorization:\s*\S+/gi,replacement:"Authorization: [REDACTED]"},{pattern:/-----BEGIN\s+\w+\s+PRIVATE\s+KEY-----[\s\S]*?-----END\s+\w+\s+PRIVATE\s+KEY-----/g,replacement:"[SSH_KEY_REDACTED]"}],i=/password|secret|token|key|auth/i,s={debug:0,info:1,warn:2,error:3};function a(e,r,t,a,u){let p=(0,n.LI)().level;if(s[e]<s[p])return;let l=a?function e(r){if("string"==typeof r){let e=r;for(let{pattern:r,replacement:t}of o)e=e.replace(r,t);return e}if("object"==typeof r&&null!==r){if(Array.isArray(r))return r.map(e);let t={};for(let[n,o]of Object.entries(r))i.test(n)?t[n]="[REDACTED]":t[n]=e(o);return t}return r}(a):void 0,c=function(e){if("json"===(0,n.LI)().format)return JSON.stringify(e);let{timestamp:r,level:t,module:o,action:i,data:s,worktreeId:a,cliToolId:u,requestId:p}=e,l=[a,u].filter(Boolean),c=l.length>0?` [${l.join(":")}]`:"",d=p?` (${p.slice(0,8)})`:"",x=s?` ${JSON.stringify(s)}`:"";return`[${r}] [${t.toUpperCase()}] [${o}]${c}${d} ${i}${x}`}({level:e,module:r,action:t,timestamp:new Date().toISOString(),...u,...l&&{data:l}});switch(e){case"error":console.error(c);break;case"warn":console.warn(c);break;default:console.log(c)}}function u(){return"undefined"!=typeof crypto&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let r=16*Math.random()|0;return("x"===e?r:3&r|8).toString(16)})}function p(e){let r=t=>({debug:(r,n)=>a("debug",e,r,n,t),info:(r,n)=>a("info",e,r,n,t),warn:(r,n)=>a("warn",e,r,n,t),error:(r,n)=>a("error",e,r,n,t),withContext:e=>r({...t,...e})});return r()}}};var r=require("../../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),n=r.X(0,[8948,5972,7425,7213],()=>t(2838));module.exports=n})();
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")},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")},2838:(e,t,s)=>{s.r(t),s.d(t,{originalPathname:()=>y,patchFetch:()=>f,requestAsyncStorage:()=>w,routeModule:()=>p,serverHooks:()=>x,staticGenerationAsyncStorage:()=>h});var r={};s.r(r),s.d(r,{POST:()=>g});var i=s(49303),o=s(88716),n=s(60670),a=s(87070),l=s(97425),c=s(75748),u=s(97213),d=s(43895);let m=(0,d.h)("interrupt");async function g(e,{params:t}){let{id:s}=await t,r=(0,d.Y)(),i=m.withContext({worktreeId:s,requestId:r});i.info("interrupt:request");try{let t=(0,l.n)();if(!(0,c.gU)(t,s))return i.warn("interrupt:worktree_not_found"),a.NextResponse.json({error:`Worktree '${s}' not found`},{status:404});let r={};try{r=await e.json()}catch{}let o=u.g.getInstance(),n=[];for(let e of r.cliToolId?[r.cliToolId]:["claude","codex","gemini"]){let t=o.getTool(e);if(await t.isRunning(s)){let r=t.getSessionName(s);i.debug("interrupt:sending",{cliToolId:e,sessionName:r}),await t.interrupt(s),n.push({cliToolId:e,sessionName:r}),i.info("interrupt:sent",{cliToolId:e,sessionName:r})}}if(0===n.length)return i.warn("interrupt:no_active_sessions"),a.NextResponse.json({error:"No active sessions found"},{status:404});return i.info("interrupt:success",{interruptedCount:n.length}),a.NextResponse.json({success:!0,message:`Interrupt sent to ${n.length} session(s)`,interrupted:n},{status:200})}catch(t){let e=t instanceof Error?t.message:String(t);return i.error("interrupt:error",{error:e}),a.NextResponse.json({error:"Failed to send interrupt"},{status:500})}}let p=new i.AppRouteRouteModule({definition:{kind:o.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:r}),{requestAsyncStorage:w,staticGenerationAsyncStorage:h,serverHooks:x}=p,y="/api/worktrees/[id]/interrupt/route";function f(){return(0,n.patchFetch)({serverHooks:x,staticGenerationAsyncStorage:h})}},97213:(e,t,s)=>{s.d(t,{g:()=>p});var r=s(61282),i=s(21764),o=s(10927);let n=(0,i.promisify)(r.exec);class a{async isInstalled(){try{return await n(`which ${this.command}`,{timeout:5e3}),!0}catch{return!1}}getSessionName(e){return`mcbd-${this.id}-${e}`}async interrupt(e){let t=this.getSessionName(e);await (0,o.ZV)(t,"Escape")}}var l=s(62648);class c extends a{async isInstalled(){return await (0,l.Uv)()}async isRunning(e){return await (0,l.YI)(e)}async startSession(e,t){await (0,l.ym)({worktreeId:e,worktreePath:t})}async sendMessage(e,t){await (0,l.xd)(e,t)}async killSession(e){await (0,l._f)(e)}constructor(...e){super(...e),this.id="claude",this.name="Claude Code",this.command="claude"}}let u=(0,i.promisify)(r.exec);class d extends a{async isRunning(e){let t=this.getSessionName(e);return await (0,o.Hk)(t)}async startSession(e,t){if(!await this.isInstalled())throw Error("Codex CLI is not installed or not in PATH");let s=this.getSessionName(e);if(await (0,o.Hk)(s)){console.log(`Codex session ${s} already exists`);return}try{await (0,o.ed)({sessionName:s,workingDirectory:t,historyLimit:5e4}),await new Promise(e=>setTimeout(e,100)),await (0,o.Is)(s,"codex",!0),await new Promise(e=>setTimeout(e,3e3)),await (0,o.Is)(s,"2",!0),await new Promise(e=>setTimeout(e,500)),console.log(`✓ Started Codex session: ${s}`)}catch(t){let e=t instanceof Error?t.message:String(t);throw Error(`Failed to start Codex session: ${e}`)}}async sendMessage(e,t){let s=this.getSessionName(e);if(!await (0,o.Hk)(s))throw Error(`Codex session ${s} does not exist. Start the session first.`);try{await (0,o.Is)(s,t,!1),await new Promise(e=>setTimeout(e,100)),await u(`tmux send-keys -t "${s}" C-m`),await new Promise(e=>setTimeout(e,200)),console.log(`✓ Sent message to Codex session: ${s}`)}catch(t){let e=t instanceof Error?t.message:String(t);throw Error(`Failed to send message to Codex: ${e}`)}}async killSession(e){let t=this.getSessionName(e);try{await (0,o.Hk)(t)&&(await u(`tmux send-keys -t "${t}" C-d`),await new Promise(e=>setTimeout(e,500))),await (0,o.AJ)(t)&&console.log(`✓ Stopped Codex session: ${t}`)}catch(t){let e=t instanceof Error?t.message:String(t);throw console.error(`Error stopping Codex session: ${e}`),t}}constructor(...e){super(...e),this.id="codex",this.name="Codex CLI",this.command="codex"}}let m=(0,i.promisify)(r.exec);class g extends a{async isRunning(e){let t=this.getSessionName(e);return await (0,o.Hk)(t)}async startSession(e,t){if(!await this.isInstalled())throw Error("Gemini CLI is not installed or not in PATH");let s=this.getSessionName(e);if(await (0,o.Hk)(s)){console.log(`Gemini session ${s} already exists`);return}try{await (0,o.ed)({sessionName:s,workingDirectory:t,historyLimit:5e4}),console.log(`✓ Started Gemini session: ${s}`)}catch(t){let e=t instanceof Error?t.message:String(t);throw Error(`Failed to start Gemini session: ${e}`)}}async sendMessage(e,t){let s=this.getSessionName(e);if(!await (0,o.Hk)(s))throw Error(`Gemini session ${s} does not exist. Start the session first.`);try{let e=t.replace(/'/g,"'\\''");await (0,o.Is)(s,`echo '${e}' | gemini`,!0),console.log(`✓ Sent message to Gemini session: ${s}`)}catch(t){let e=t instanceof Error?t.message:String(t);throw Error(`Failed to send message to Gemini: ${e}`)}}async killSession(e){let t=this.getSessionName(e);try{await (0,o.Hk)(t)&&(await m(`tmux send-keys -t "${t}" C-d`),await new Promise(e=>setTimeout(e,500))),await (0,o.AJ)(t)&&console.log(`✓ Stopped Gemini session: ${t}`)}catch(t){let e=t instanceof Error?t.message:String(t);throw console.error(`Error stopping Gemini session: ${e}`),t}}constructor(...e){super(...e),this.id="gemini",this.name="Gemini CLI",this.command="gemini"}}class p{constructor(){this.tools=new Map,this.tools.set("claude",new c),this.tools.set("codex",new d),this.tools.set("gemini",new g)}static getInstance(){return p.instance||(p.instance=new p),p.instance}getTool(e){let t=this.tools.get(e);if(!t)throw Error(`CLI tool '${e}' not found`);return t}getAllTools(){return Array.from(this.tools.values())}async getToolInfo(e){let t=this.getTool(e),s=await t.isInstalled();return{id:t.id,name:t.name,command:t.command,installed:s}}async getAllToolsInfo(){return Promise.all(this.getAllTools().map(async e=>{let t=await e.isInstalled();return{id:e.id,name:e.name,command:e.command,installed:t}}))}async getInstalledTools(){return(await this.getAllToolsInfo()).filter(e=>e.installed)}}}};var t=require("../../../../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),r=t.X(0,[8948,5972,7425,2648],()=>s(2838));module.exports=r})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../../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/5972.js","../../../../../chunks/7213.js","../../../../../chunks/7425.js","../../../../../chunks/8948.js","../../../../../webpack-runtime.js"]}
1
+ {"version":1,"files":["../../../../../../../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/2648.js","../../../../../chunks/5972.js","../../../../../chunks/7425.js","../../../../../chunks/8948.js","../../../../../webpack-runtime.js"]}
@@ -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:()=>w,requestAsyncStorage:()=>m,routeModule:()=>k,serverHooks:()=>f,staticGenerationAsyncStorage:()=>g});var t={};s.r(t),s.d(t,{POST:()=>q});var o=s(49303),i=s(88716),n=s(60670),u=s(87070),a=s(97425),p=s(75748),l=s(97213),d=s(10927),c=s(25079),x=s(59991);async function q(e,{params:r}){try{let e=(0,a.n)();if(!(0,p.gU)(e,r.id))return u.NextResponse.json({error:`Worktree '${r.id}' not found`},{status:404});let s=l.g.getInstance(),t=[],o=!1;for(let i of["claude","codex","gemini"]){let n=s.getTool(i);if(await n.isRunning(r.id)){o=!0;let s=n.getSessionName(r.id);await (0,d.AJ)(s)&&(t.push(s),console.log(`[kill-session] Killed ${i} session: ${s}`)),(0,x.FN)(r.id,i),(0,p.j8)(e,r.id,i)}}if(!o)return u.NextResponse.json({error:"No active sessions found for this worktree"},{status:404});return(0,p.HE)(e,r.id),(0,c.fM)(r.id,{type:"session_status_changed",worktreeId:r.id,isRunning:!1,messagesCleared:!0}),u.NextResponse.json({success:!0,message:`All sessions killed successfully: ${t.join(", ")}`,killedSessions:t},{status:200})}catch(e){return console.error("Error killing sessions:",e),u.NextResponse.json({error:"Failed to kill sessions"},{status:500})}}let k=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:m,staticGenerationAsyncStorage:g,serverHooks:f}=k,h="/api/worktrees/[id]/kill-session/route";function w(){return(0,n.patchFetch)({serverHooks:f,staticGenerationAsyncStorage:g})}}};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,7213,1528,9723],()=>s(38877));module.exports=t})();
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:()=>w,requestAsyncStorage:()=>m,routeModule:()=>k,serverHooks:()=>f,staticGenerationAsyncStorage:()=>g});var t={};s.r(t),s.d(t,{POST:()=>q});var o=s(49303),i=s(88716),n=s(60670),u=s(87070),a=s(97425),p=s(75748),l=s(97213),d=s(10927),c=s(25079),x=s(59991);async function q(e,{params:r}){try{let e=(0,a.n)();if(!(0,p.gU)(e,r.id))return u.NextResponse.json({error:`Worktree '${r.id}' not found`},{status:404});let s=l.g.getInstance(),t=[],o=!1;for(let i of["claude","codex","gemini"]){let n=s.getTool(i);if(await n.isRunning(r.id)){o=!0;let s=n.getSessionName(r.id);await (0,d.AJ)(s)&&(t.push(s),console.log(`[kill-session] Killed ${i} session: ${s}`)),(0,x.FN)(r.id,i),(0,p.j8)(e,r.id,i)}}if(!o)return u.NextResponse.json({error:"No active sessions found for this worktree"},{status:404});return(0,p.HE)(e,r.id),(0,c.fM)(r.id,{type:"session_status_changed",worktreeId:r.id,isRunning:!1,messagesCleared:!0}),u.NextResponse.json({success:!0,message:`All sessions killed successfully: ${t.join(", ")}`,killedSessions:t},{status:200})}catch(e){return console.error("Error killing sessions:",e),u.NextResponse.json({error:"Failed to kill sessions"},{status:500})}}let k=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:m,staticGenerationAsyncStorage:g,serverHooks:f}=k,h="/api/worktrees/[id]/kill-session/route";function w(){return(0,n.patchFetch)({serverHooks:f,staticGenerationAsyncStorage:g})}}};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,2648,2597,9723],()=>s(38877));module.exports=t})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../../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/1528.js","../../../../../chunks/3853.js","../../../../../chunks/4893.js","../../../../../chunks/5972.js","../../../../../chunks/7213.js","../../../../../chunks/7425.js","../../../../../chunks/8948.js","../../../../../chunks/9723.js","../../../../../webpack-runtime.js"]}
1
+ {"version":1,"files":["../../../../../../../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/2597.js","../../../../../chunks/2648.js","../../../../../chunks/3853.js","../../../../../chunks/4893.js","../../../../../chunks/5972.js","../../../../../chunks/7425.js","../../../../../chunks/8948.js","../../../../../chunks/9723.js","../../../../../webpack-runtime.js"]}
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=6366,e.ids=[6366],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")},45762:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>h,patchFetch:()=>q,requestAsyncStorage:()=>x,routeModule:()=>m,serverHooks:()=>g,staticGenerationAsyncStorage:()=>w});var s={};t.r(s),t.d(s,{POST:()=>l});var o=t(49303),n=t(88716),i=t(60670),a=t(87070),p=t(97425),u=t(75748),d=t(10927),c=t(97213);async function l(e,{params:r}){try{let{answer:t,cliTool:s}=await e.json();if(!t)return a.NextResponse.json({error:"answer is required"},{status:400});let o=(0,p.n)(),n=(0,u.gU)(o,r.id);if(!n)return a.NextResponse.json({error:`Worktree '${r.id}' not found`},{status:404});let i=s||n.cliToolId||"claude",l=c.g.getInstance().getTool(i);if(!await l.isRunning(r.id))return a.NextResponse.json({error:`${l.name} session is not running`},{status:400});let m=l.getSessionName(r.id);try{await (0,d.Is)(m,t,!1),await new Promise(e=>setTimeout(e,100)),await (0,d.Is)(m,"",!0)}catch(r){let e=r instanceof Error?r.message:"Unknown error";return a.NextResponse.json({error:`Failed to send answer to tmux: ${e}`},{status:500})}return a.NextResponse.json({success:!0,answer:t})}catch(r){console.error("Failed to respond to prompt:",r);let e=r instanceof Error?r.message:"Internal server error";return a.NextResponse.json({error:e},{status:500})}}let m=new o.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/worktrees/[id]/prompt-response/route",pathname:"/api/worktrees/[id]/prompt-response",filename:"route",bundlePath:"app/api/worktrees/[id]/prompt-response/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/worktrees/[id]/prompt-response/route.ts",nextConfigOutput:"",userland:s}),{requestAsyncStorage:x,staticGenerationAsyncStorage:w,serverHooks:g}=m,h="/api/worktrees/[id]/prompt-response/route";function q(){return(0,i.patchFetch)({serverHooks:g,staticGenerationAsyncStorage:w})}}};var r=require("../../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[8948,5972,7425,7213],()=>t(45762));module.exports=s})();
1
+ "use strict";(()=>{var e={};e.id=6366,e.ids=[6366],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")},45762:(e,t,s)=>{s.r(t),s.d(t,{originalPathname:()=>x,patchFetch:()=>y,requestAsyncStorage:()=>w,routeModule:()=>p,serverHooks:()=>h,staticGenerationAsyncStorage:()=>g});var o={};s.r(o),s.d(o,{POST:()=>u});var r=s(49303),i=s(88716),n=s(60670),a=s(87070),l=s(97425),c=s(75748),d=s(10927),m=s(97213);async function u(e,{params:t}){try{let{answer:s,cliTool:o}=await e.json();if(!s)return a.NextResponse.json({error:"answer is required"},{status:400});let r=(0,l.n)(),i=(0,c.gU)(r,t.id);if(!i)return a.NextResponse.json({error:`Worktree '${t.id}' not found`},{status:404});let n=o||i.cliToolId||"claude",u=m.g.getInstance().getTool(n);if(!await u.isRunning(t.id))return a.NextResponse.json({error:`${u.name} session is not running`},{status:400});let p=u.getSessionName(t.id);try{await (0,d.Is)(p,s,!1),await new Promise(e=>setTimeout(e,100)),await (0,d.Is)(p,"",!0)}catch(t){let e=t instanceof Error?t.message:"Unknown error";return a.NextResponse.json({error:`Failed to send answer to tmux: ${e}`},{status:500})}return a.NextResponse.json({success:!0,answer:s})}catch(t){console.error("Failed to respond to prompt:",t);let e=t instanceof Error?t.message:"Internal server error";return a.NextResponse.json({error:e},{status:500})}}let p=new r.AppRouteRouteModule({definition:{kind:i.x.APP_ROUTE,page:"/api/worktrees/[id]/prompt-response/route",pathname:"/api/worktrees/[id]/prompt-response",filename:"route",bundlePath:"app/api/worktrees/[id]/prompt-response/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/worktrees/[id]/prompt-response/route.ts",nextConfigOutput:"",userland:o}),{requestAsyncStorage:w,staticGenerationAsyncStorage:g,serverHooks:h}=p,x="/api/worktrees/[id]/prompt-response/route";function y(){return(0,n.patchFetch)({serverHooks:h,staticGenerationAsyncStorage:g})}},97213:(e,t,s)=>{s.d(t,{g:()=>w});var o=s(61282),r=s(21764),i=s(10927);let n=(0,r.promisify)(o.exec);class a{async isInstalled(){try{return await n(`which ${this.command}`,{timeout:5e3}),!0}catch{return!1}}getSessionName(e){return`mcbd-${this.id}-${e}`}async interrupt(e){let t=this.getSessionName(e);await (0,i.ZV)(t,"Escape")}}var l=s(62648);class c extends a{async isInstalled(){return await (0,l.Uv)()}async isRunning(e){return await (0,l.YI)(e)}async startSession(e,t){await (0,l.ym)({worktreeId:e,worktreePath:t})}async sendMessage(e,t){await (0,l.xd)(e,t)}async killSession(e){await (0,l._f)(e)}constructor(...e){super(...e),this.id="claude",this.name="Claude Code",this.command="claude"}}let d=(0,r.promisify)(o.exec);class m extends a{async isRunning(e){let t=this.getSessionName(e);return await (0,i.Hk)(t)}async startSession(e,t){if(!await this.isInstalled())throw Error("Codex CLI is not installed or not in PATH");let s=this.getSessionName(e);if(await (0,i.Hk)(s)){console.log(`Codex session ${s} already exists`);return}try{await (0,i.ed)({sessionName:s,workingDirectory:t,historyLimit:5e4}),await new Promise(e=>setTimeout(e,100)),await (0,i.Is)(s,"codex",!0),await new Promise(e=>setTimeout(e,3e3)),await (0,i.Is)(s,"2",!0),await new Promise(e=>setTimeout(e,500)),console.log(`✓ Started Codex session: ${s}`)}catch(t){let e=t instanceof Error?t.message:String(t);throw Error(`Failed to start Codex session: ${e}`)}}async sendMessage(e,t){let s=this.getSessionName(e);if(!await (0,i.Hk)(s))throw Error(`Codex session ${s} does not exist. Start the session first.`);try{await (0,i.Is)(s,t,!1),await new Promise(e=>setTimeout(e,100)),await d(`tmux send-keys -t "${s}" C-m`),await new Promise(e=>setTimeout(e,200)),console.log(`✓ Sent message to Codex session: ${s}`)}catch(t){let e=t instanceof Error?t.message:String(t);throw Error(`Failed to send message to Codex: ${e}`)}}async killSession(e){let t=this.getSessionName(e);try{await (0,i.Hk)(t)&&(await d(`tmux send-keys -t "${t}" C-d`),await new Promise(e=>setTimeout(e,500))),await (0,i.AJ)(t)&&console.log(`✓ Stopped Codex session: ${t}`)}catch(t){let e=t instanceof Error?t.message:String(t);throw console.error(`Error stopping Codex session: ${e}`),t}}constructor(...e){super(...e),this.id="codex",this.name="Codex CLI",this.command="codex"}}let u=(0,r.promisify)(o.exec);class p extends a{async isRunning(e){let t=this.getSessionName(e);return await (0,i.Hk)(t)}async startSession(e,t){if(!await this.isInstalled())throw Error("Gemini CLI is not installed or not in PATH");let s=this.getSessionName(e);if(await (0,i.Hk)(s)){console.log(`Gemini session ${s} already exists`);return}try{await (0,i.ed)({sessionName:s,workingDirectory:t,historyLimit:5e4}),console.log(`✓ Started Gemini session: ${s}`)}catch(t){let e=t instanceof Error?t.message:String(t);throw Error(`Failed to start Gemini session: ${e}`)}}async sendMessage(e,t){let s=this.getSessionName(e);if(!await (0,i.Hk)(s))throw Error(`Gemini session ${s} does not exist. Start the session first.`);try{let e=t.replace(/'/g,"'\\''");await (0,i.Is)(s,`echo '${e}' | gemini`,!0),console.log(`✓ Sent message to Gemini session: ${s}`)}catch(t){let e=t instanceof Error?t.message:String(t);throw Error(`Failed to send message to Gemini: ${e}`)}}async killSession(e){let t=this.getSessionName(e);try{await (0,i.Hk)(t)&&(await u(`tmux send-keys -t "${t}" C-d`),await new Promise(e=>setTimeout(e,500))),await (0,i.AJ)(t)&&console.log(`✓ Stopped Gemini session: ${t}`)}catch(t){let e=t instanceof Error?t.message:String(t);throw console.error(`Error stopping Gemini session: ${e}`),t}}constructor(...e){super(...e),this.id="gemini",this.name="Gemini CLI",this.command="gemini"}}class w{constructor(){this.tools=new Map,this.tools.set("claude",new c),this.tools.set("codex",new m),this.tools.set("gemini",new p)}static getInstance(){return w.instance||(w.instance=new w),w.instance}getTool(e){let t=this.tools.get(e);if(!t)throw Error(`CLI tool '${e}' not found`);return t}getAllTools(){return Array.from(this.tools.values())}async getToolInfo(e){let t=this.getTool(e),s=await t.isInstalled();return{id:t.id,name:t.name,command:t.command,installed:s}}async getAllToolsInfo(){return Promise.all(this.getAllTools().map(async e=>{let t=await e.isInstalled();return{id:e.id,name:e.name,command:e.command,installed:t}}))}async getInstalledTools(){return(await this.getAllToolsInfo()).filter(e=>e.installed)}}}};var t=require("../../../../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),o=t.X(0,[8948,5972,7425,2648],()=>s(45762));module.exports=o})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../../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/5972.js","../../../../../chunks/7213.js","../../../../../chunks/7425.js","../../../../../chunks/8948.js","../../../../../webpack-runtime.js"]}
1
+ {"version":1,"files":["../../../../../../../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/2648.js","../../../../../chunks/5972.js","../../../../../chunks/7425.js","../../../../../chunks/8948.js","../../../../../webpack-runtime.js"]}
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=4230,e.ids=[4230],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")},1464:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>j,patchFetch:()=>R,requestAsyncStorage:()=>w,routeModule:()=>f,serverHooks:()=>h,staticGenerationAsyncStorage:()=>q});var s={};t.r(s),t.d(s,{POST:()=>g});var o=t(49303),n=t(88716),a=t(60670),i=t(87070),p=t(97425),u=t(75748),d=t(10927),l=t(97213),m=t(59991),c=t(63661),x=t(25079);async function g(e,{params:r}){try{let t;let{messageId:s,answer:o}=await e.json();if(!s||!o)return i.NextResponse.json({error:"messageId and answer are required"},{status:400});let n=(0,p.n)(),a=(0,u.S$)(n,s);if(!a)return i.NextResponse.json({error:"Message not found"},{status:404});if("prompt"!==a.messageType)return i.NextResponse.json({error:"Message is not a prompt"},{status:400});if(!a.promptData)return i.NextResponse.json({error:"Prompt data not found"},{status:400});if("answered"===a.promptData.status)return i.NextResponse.json({error:"Prompt already answered"},{status:400});if("multiple_choice"===a.promptData.type){let e=parseInt(o,10);if(isNaN(e))t=o;else{let r=a.promptData.options.map(e=>e.number);if(!r.includes(e))return i.NextResponse.json({error:`Invalid choice: ${o}. Valid options are: ${r.join(", ")}`},{status:400});t=e.toString()}}else try{t=(0,c.J)(o,a.promptData.type)}catch(r){let e=r instanceof Error?r.message:"Unknown error";return i.NextResponse.json({error:`Invalid answer: ${e}`},{status:400})}let g={...a.promptData,status:"answered",answer:o,answeredAt:new Date().toISOString()};(0,u.GA)(n,s,g);let f=(0,u.gU)(n,r.id);if(!f)return i.NextResponse.json({error:`Worktree '${r.id}' not found`},{status:404});let w=a.cliToolId||f.cliToolId||"claude",q=l.g.getInstance().getTool(w),h=q.getSessionName(r.id);try{await (0,d.Is)(h,t,!1),console.log(`✓ Sent answer '${t}' to ${h} (${q.name})`),await new Promise(e=>setTimeout(e,100)),await (0,d.Is)(h,"",!0),console.log(`✓ Sent Enter to ${h}`)}catch(r){let e=r instanceof Error?r.message:"Unknown error";return i.NextResponse.json({error:`Failed to send answer to tmux: ${e}`},{status:500})}let j={...a,promptData:g};return(0,x.ps)("message_updated",{worktreeId:r.id,message:j}),(0,m.cn)(r.id,w),console.log(`✓ Resumed polling for ${r.id} (${w})`),i.NextResponse.json({success:!0,message:j})}catch(r){console.error("Failed to respond to prompt:",r);let e=r instanceof Error?r.message:"Internal server error";return i.NextResponse.json({error:e},{status:500})}}let f=new o.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/worktrees/[id]/respond/route",pathname:"/api/worktrees/[id]/respond",filename:"route",bundlePath:"app/api/worktrees/[id]/respond/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/worktrees/[id]/respond/route.ts",nextConfigOutput:"",userland:s}),{requestAsyncStorage:w,staticGenerationAsyncStorage:q,serverHooks:h}=f,j="/api/worktrees/[id]/respond/route";function R(){return(0,a.patchFetch)({serverHooks:h,staticGenerationAsyncStorage:q})}}};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,7213,1528,9723],()=>t(1464));module.exports=s})();
1
+ "use strict";(()=>{var e={};e.id=4230,e.ids=[4230],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")},1464:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>j,patchFetch:()=>R,requestAsyncStorage:()=>w,routeModule:()=>f,serverHooks:()=>h,staticGenerationAsyncStorage:()=>q});var s={};t.r(s),t.d(s,{POST:()=>g});var o=t(49303),n=t(88716),a=t(60670),i=t(87070),p=t(97425),u=t(75748),d=t(10927),l=t(97213),m=t(59991),c=t(63661),x=t(25079);async function g(e,{params:r}){try{let t;let{messageId:s,answer:o}=await e.json();if(!s||!o)return i.NextResponse.json({error:"messageId and answer are required"},{status:400});let n=(0,p.n)(),a=(0,u.S$)(n,s);if(!a)return i.NextResponse.json({error:"Message not found"},{status:404});if("prompt"!==a.messageType)return i.NextResponse.json({error:"Message is not a prompt"},{status:400});if(!a.promptData)return i.NextResponse.json({error:"Prompt data not found"},{status:400});if("answered"===a.promptData.status)return i.NextResponse.json({error:"Prompt already answered"},{status:400});if("multiple_choice"===a.promptData.type){let e=parseInt(o,10);if(isNaN(e))t=o;else{let r=a.promptData.options.map(e=>e.number);if(!r.includes(e))return i.NextResponse.json({error:`Invalid choice: ${o}. Valid options are: ${r.join(", ")}`},{status:400});t=e.toString()}}else try{t=(0,c.J)(o,a.promptData.type)}catch(r){let e=r instanceof Error?r.message:"Unknown error";return i.NextResponse.json({error:`Invalid answer: ${e}`},{status:400})}let g={...a.promptData,status:"answered",answer:o,answeredAt:new Date().toISOString()};(0,u.GA)(n,s,g);let f=(0,u.gU)(n,r.id);if(!f)return i.NextResponse.json({error:`Worktree '${r.id}' not found`},{status:404});let w=a.cliToolId||f.cliToolId||"claude",q=l.g.getInstance().getTool(w),h=q.getSessionName(r.id);try{await (0,d.Is)(h,t,!1),console.log(`✓ Sent answer '${t}' to ${h} (${q.name})`),await new Promise(e=>setTimeout(e,100)),await (0,d.Is)(h,"",!0),console.log(`✓ Sent Enter to ${h}`)}catch(r){let e=r instanceof Error?r.message:"Unknown error";return i.NextResponse.json({error:`Failed to send answer to tmux: ${e}`},{status:500})}let j={...a,promptData:g};return(0,x.ps)("message_updated",{worktreeId:r.id,message:j}),(0,m.cn)(r.id,w),console.log(`✓ Resumed polling for ${r.id} (${w})`),i.NextResponse.json({success:!0,message:j})}catch(r){console.error("Failed to respond to prompt:",r);let e=r instanceof Error?r.message:"Internal server error";return i.NextResponse.json({error:e},{status:500})}}let f=new o.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/worktrees/[id]/respond/route",pathname:"/api/worktrees/[id]/respond",filename:"route",bundlePath:"app/api/worktrees/[id]/respond/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/worktrees/[id]/respond/route.ts",nextConfigOutput:"",userland:s}),{requestAsyncStorage:w,staticGenerationAsyncStorage:q,serverHooks:h}=f,j="/api/worktrees/[id]/respond/route";function R(){return(0,a.patchFetch)({serverHooks:h,staticGenerationAsyncStorage:q})}}};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,2648,2597,9723],()=>t(1464));module.exports=s})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../../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/1528.js","../../../../../chunks/3853.js","../../../../../chunks/4893.js","../../../../../chunks/5972.js","../../../../../chunks/7213.js","../../../../../chunks/7425.js","../../../../../chunks/8948.js","../../../../../chunks/9723.js","../../../../../webpack-runtime.js"]}
1
+ {"version":1,"files":["../../../../../../../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/2597.js","../../../../../chunks/2648.js","../../../../../chunks/3853.js","../../../../../chunks/4893.js","../../../../../chunks/5972.js","../../../../../chunks/7425.js","../../../../../chunks/8948.js","../../../../../chunks/9723.js","../../../../../webpack-runtime.js"]}
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=4931,e.ids=[4931],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")},46769:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>y,patchFetch:()=>R,requestAsyncStorage:()=>x,routeModule:()=>h,serverHooks:()=>v,staticGenerationAsyncStorage:()=>k});var o={};r.r(o),r.d(o,{GET:()=>f,PATCH:()=>w});var i=r(49303),n=r(88716),s=r(60670),a=r(87070),u=r(97425),d=r(75748),l=r(97213),c=r(89194),p=r(19377),g=r(63661),m=r(3979);async function f(e,{params:t}){try{let e;let r=(0,u.n)(),o=(0,d.gU)(r,t.id);if(!o)return a.NextResponse.json({error:`Worktree '${t.id}' not found`},{status:404});let i=l.g.getInstance(),n={},s=!1,f=!1,w=!1;for(let e of["claude","codex","gemini"]){let o=i.getTool(e),a=await o.isRunning(t.id),u=!1,l=!1;if(a)try{let o=await (0,c.NA)(t.id,e,100),i=(0,p.vp)(o),n=(0,g.F)(i);if(n.isPrompt)u=!0;else{let t=i.split("\n").filter(e=>""!==e.trim()).slice(-15).join("\n");(0,p.Wg)(e,t)?l=!0:/^[>❯](\s*$|\s+\S)/m.test(t)||(l=!0)}!n.isPrompt&&(0,d._U)(r,t.id,void 0,10,e).some(e=>"prompt"===e.messageType&&e.promptData?.status!=="answered")&&(0,d.GP)(r,t.id,e)}catch{l=!0}n[e]={isRunning:a,isWaitingForResponse:u,isProcessing:l},a&&(s=!0),u&&(f=!0),l&&(w=!0)}try{let i=(0,d.Q7)(r,t.id);e=await (0,m.v)(o.path,i)}catch(e){console.error("[GET /api/worktrees/:id] Failed to get git status:",e)}return a.NextResponse.json({...o,gitStatus:e,isSessionRunning:s,isWaitingForResponse:f,isProcessing:w,sessionStatusByCli:n},{status:200})}catch(e){return console.error("Error fetching worktree:",e),a.NextResponse.json({error:"Failed to fetch worktree"},{status:500})}}async function w(e,{params:t}){try{let r=(0,u.n)();if(!(0,d.gU)(r,t.id))return a.NextResponse.json({error:`Worktree '${t.id}' not found`},{status:404});let o=await e.json();"description"in o&&(0,d.xr)(r,t.id,o.description),"link"in o&&(0,d.y)(r,t.id,o.link),"favorite"in o&&"boolean"==typeof o.favorite&&(0,d.R3)(r,t.id,o.favorite),"status"in o&&["todo","doing","done",null].includes(o.status)&&(0,d.Nf)(r,t.id,o.status),"cliToolId"in o&&["claude","codex","gemini"].includes(o.cliToolId)&&(0,d.VW)(r,t.id,o.cliToolId);let i=(0,d.gU)(r,t.id),n=l.g.getInstance(),s=i?.cliToolId||"claude",c=n.getTool(s),p=await c.isRunning(t.id);return a.NextResponse.json({...i,isSessionRunning:p},{status:200})}catch(e){return console.error("Error updating worktree:",e),a.NextResponse.json({error:"Failed to update worktree"},{status:500})}}let h=new i.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/worktrees/[id]/route",pathname:"/api/worktrees/[id]",filename:"route",bundlePath:"app/api/worktrees/[id]/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/worktrees/[id]/route.ts",nextConfigOutput:"",userland:o}),{requestAsyncStorage:x,staticGenerationAsyncStorage:k,serverHooks:v}=h,y="/api/worktrees/[id]/route";function R(){return(0,s.patchFetch)({serverHooks:v,staticGenerationAsyncStorage:k})}},3979:(e,t,r)=>{r.d(t,{v:()=>s});var o=r(61282);let i=(0,r(21764).promisify)(o.execFile);async function n(e,t){try{let{stdout:r}=await i("git",e,{cwd:t,timeout:1e3});return r.trim()}catch(t){return console.error("[git-utils] Git command failed:",{args:e,error:t instanceof Error?t.message:"Unknown error"}),null}}async function s(e,t){let r;let o=await n(["rev-parse","--abbrev-ref","HEAD"],e);r=null===o?"(unknown)":"HEAD"===o?"(detached HEAD)":o;let i=await n(["rev-parse","--short","HEAD"],e),s=await n(["status","--porcelain"],e);return{currentBranch:r,initialBranch:t,isBranchMismatch:null!==t&&"(unknown)"!==r&&"(detached HEAD)"!==r&&r!==t,commitHash:i??"(unknown)",isDirty:null!==s&&s.length>0}}}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),o=t.X(0,[8948,5972,7425,7213,1528],()=>r(46769));module.exports=o})();
1
+ "use strict";(()=>{var e={};e.id=4931,e.ids=[4931],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")},46769:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>y,patchFetch:()=>R,requestAsyncStorage:()=>x,routeModule:()=>h,serverHooks:()=>v,staticGenerationAsyncStorage:()=>k});var o={};r.r(o),r.d(o,{GET:()=>f,PATCH:()=>w});var i=r(49303),n=r(88716),s=r(60670),a=r(87070),u=r(97425),d=r(75748),l=r(97213),c=r(89194),p=r(19377),g=r(63661),m=r(3979);async function f(e,{params:t}){try{let e;let r=(0,u.n)(),o=(0,d.gU)(r,t.id);if(!o)return a.NextResponse.json({error:`Worktree '${t.id}' not found`},{status:404});let i=l.g.getInstance(),n={},s=!1,f=!1,w=!1;for(let e of["claude","codex","gemini"]){let o=i.getTool(e),a=await o.isRunning(t.id),u=!1,l=!1;if(a)try{let o=await (0,c.NA)(t.id,e,100),i=(0,p.vp)(o),n=(0,g.F)(i);if(n.isPrompt)u=!0;else{let t=i.split("\n").filter(e=>""!==e.trim()).slice(-15).join("\n");(0,p.Wg)(e,t)?l=!0:/^[>❯](\s*$|\s+\S)/m.test(t)||(l=!0)}!n.isPrompt&&(0,d._U)(r,t.id,void 0,10,e).some(e=>"prompt"===e.messageType&&e.promptData?.status!=="answered")&&(0,d.GP)(r,t.id,e)}catch{l=!0}n[e]={isRunning:a,isWaitingForResponse:u,isProcessing:l},a&&(s=!0),u&&(f=!0),l&&(w=!0)}try{let i=(0,d.Q7)(r,t.id);e=await (0,m.v)(o.path,i)}catch(e){console.error("[GET /api/worktrees/:id] Failed to get git status:",e)}return a.NextResponse.json({...o,gitStatus:e,isSessionRunning:s,isWaitingForResponse:f,isProcessing:w,sessionStatusByCli:n},{status:200})}catch(e){return console.error("Error fetching worktree:",e),a.NextResponse.json({error:"Failed to fetch worktree"},{status:500})}}async function w(e,{params:t}){try{let r=(0,u.n)();if(!(0,d.gU)(r,t.id))return a.NextResponse.json({error:`Worktree '${t.id}' not found`},{status:404});let o=await e.json();"description"in o&&(0,d.xr)(r,t.id,o.description),"link"in o&&(0,d.y)(r,t.id,o.link),"favorite"in o&&"boolean"==typeof o.favorite&&(0,d.R3)(r,t.id,o.favorite),"status"in o&&["todo","doing","done",null].includes(o.status)&&(0,d.Nf)(r,t.id,o.status),"cliToolId"in o&&["claude","codex","gemini"].includes(o.cliToolId)&&(0,d.VW)(r,t.id,o.cliToolId);let i=(0,d.gU)(r,t.id),n=l.g.getInstance(),s=i?.cliToolId||"claude",c=n.getTool(s),p=await c.isRunning(t.id);return a.NextResponse.json({...i,isSessionRunning:p},{status:200})}catch(e){return console.error("Error updating worktree:",e),a.NextResponse.json({error:"Failed to update worktree"},{status:500})}}let h=new i.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/worktrees/[id]/route",pathname:"/api/worktrees/[id]",filename:"route",bundlePath:"app/api/worktrees/[id]/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/worktrees/[id]/route.ts",nextConfigOutput:"",userland:o}),{requestAsyncStorage:x,staticGenerationAsyncStorage:k,serverHooks:v}=h,y="/api/worktrees/[id]/route";function R(){return(0,s.patchFetch)({serverHooks:v,staticGenerationAsyncStorage:k})}},3979:(e,t,r)=>{r.d(t,{v:()=>s});var o=r(61282);let i=(0,r(21764).promisify)(o.execFile);async function n(e,t){try{let{stdout:r}=await i("git",e,{cwd:t,timeout:1e3});return r.trim()}catch(t){return console.error("[git-utils] Git command failed:",{args:e,error:t instanceof Error?t.message:"Unknown error"}),null}}async function s(e,t){let r;let o=await n(["rev-parse","--abbrev-ref","HEAD"],e);r=null===o?"(unknown)":"HEAD"===o?"(detached HEAD)":o;let i=await n(["rev-parse","--short","HEAD"],e),s=await n(["status","--porcelain"],e);return{currentBranch:r,initialBranch:t,isBranchMismatch:null!==t&&"(unknown)"!==r&&"(detached HEAD)"!==r&&r!==t,commitHash:i??"(unknown)",isDirty:null!==s&&s.length>0}}}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),o=t.X(0,[8948,5972,7425,2648,2597],()=>r(46769));module.exports=o})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../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/1528.js","../../../../chunks/5972.js","../../../../chunks/7213.js","../../../../chunks/7425.js","../../../../chunks/8948.js","../../../../webpack-runtime.js"]}
1
+ {"version":1,"files":["../../../../../../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/2597.js","../../../../chunks/2648.js","../../../../chunks/5972.js","../../../../chunks/7425.js","../../../../chunks/8948.js","../../../../webpack-runtime.js"]}
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=2702,e.ids=[2702],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")},41306:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>A,patchFetch:()=>b,requestAsyncStorage:()=>y,routeModule:()=>q,serverHooks:()=>k,staticGenerationAsyncStorage:()=>R});var s={};r.r(s),r.d(s,{POST:()=>$});var n=r(49303),o=r(88716),i=r(60670),a=r(87070),l=r(97425),u=r(75748),c=r(97213),d=r(59991),p=r(89194),m=r(25079),g=r(19377);let f=[/^[╭╮╰╯│─\s]+$/,/Claude Code v[\d.]+/,/^─{10,}$/,/^❯\s*$/,/^\s*$/,/CLAUDE_HOOKS_/,/\/bin\/claude/,/@.*\s+%/,/localhost/,/:3000/,/curl.*POST/,/export\s+/,/Tips for getting started/,/Welcome back/,/\?\s*for shortcuts/];async function h(e,t,r,s){try{let n;let o=(0,u.zl)(e,t,r),i=o?.lastCapturedLine||0;try{n=await (0,p.NA)(t,r,1e4)}catch{return console.log(`[savePendingAssistantResponse] Failed to capture session output for ${t}`),null}if(!n)return null;let a=n.split("\n"),l=a.length,{bufferReset:c,reason:h}=l>0&&i>25&&l+25<i?{bufferReset:!0,reason:"shrink"}:l>0&&i>50&&l<50?{bufferReset:!0,reason:"restart"}:{bufferReset:!1,reason:null};if(c&&console.log(`[savePendingAssistantResponse] Buffer reset detected (${h}): current=${l}, last=${i}`),!c&&l<=i)return console.log(`[savePendingAssistantResponse] No new output (current: ${l}, last: ${i})`),null;let x=a.slice(c?0:i).join("\n"),w="claude"===r?function(e,t){if(!e||""===e.trim())return"";if("claude"!==t)return e.trim();let r=(0,g.vp)(e).split("\n"),s=r.length;for(let e=r.length-1;e>=0;e--)if(/^❯\s+\S/.test(r[e])){s=e;break}return r.slice(0,s).filter(e=>{let t=e.trim();return!!t&&!f.some(e=>e.test(t))}).join("\n").trim()}(x,r):function(e,t){switch(t){case"claude":return(0,d.ci)(e);case"gemini":return(0,d.RJ)(e);default:return e.trim()}}(x,r);if(!w||""===w.trim())return(0,u.IH)(e,t,r,l),console.log(`[savePendingAssistantResponse] Cleaned response is empty, updating position to ${l}`),null;let v=new Date(s.getTime()-1),$=(0,u.tn)(e,{worktreeId:t,role:"assistant",content:w,messageType:"normal",timestamp:v,cliToolId:r});return(0,u.IH)(e,t,r,l),(0,m.ps)("message",{worktreeId:t,message:$}),console.log(`[savePendingAssistantResponse] Saved assistant response (lines ${i}-${l})`),$}catch(e){return console.error("[savePendingAssistantResponse] Error:",e),null}}var x=r(3979);let w=["claude","codex","gemini"];function v(e){return e instanceof Error?e.message:"Unknown error"}async function $(e,{params:t}){try{let r=(0,l.n)(),s=(0,u.gU)(r,t.id);if(!s)return a.NextResponse.json({error:`Worktree '${t.id}' not found`},{status:404});let n=await e.json();if(!n.content||"string"!=typeof n.content||""===n.content.trim())return a.NextResponse.json({error:"Message content is required and must be a non-empty string"},{status:400});let o=n.cliToolId||s.cliToolId||"claude";if(!w.includes(o))return a.NextResponse.json({error:`Invalid CLI tool ID: ${o}. Must be one of: ${w.join(", ")}`},{status:400});let i=c.g.getInstance().getTool(o);if(!await i.isInstalled())return a.NextResponse.json({error:`${i.name} is not installed. Please install it first.`},{status:503});if(!await i.isRunning(t.id))try{await i.startSession(t.id,s.path);let e=(0,u.Q7)(r,t.id);if(null===e)try{let e=await (0,x.v)(s.path,null);"(unknown)"!==e.currentBranch&&"(detached HEAD)"!==e.currentBranch&&((0,u.Ek)(r,t.id,e.currentBranch),console.log(`[send] Saved initial branch for ${t.id}: ${e.currentBranch}`))}catch(e){console.error("[send] Failed to get/save initial branch:",e)}}catch(e){return console.error(`Failed to start ${i.name} session:`,e),a.NextResponse.json({error:`Failed to start ${i.name} session: ${v(e)}`},{status:500})}let p=new Date;try{await h(r,t.id,o,p)}catch(e){console.error("[send] Failed to save pending assistant response:",e)}try{await i.sendMessage(t.id,n.content)}catch(e){return console.error(`Failed to send message to ${i.name}:`,e),a.NextResponse.json({error:`Failed to send message to ${i.name}: ${v(e)}`},{status:500})}let m=(0,u.tn)(r,{worktreeId:t.id,role:"user",content:n.content,messageType:"normal",timestamp:p,cliToolId:o});return(0,u.OK)(r,t.id,n.content,p),(0,u.Mf)(r,t.id,o),console.log(`✓ Cleared in-progress message for ${t.id} (${o})`),(0,d.cn)(t.id,o),a.NextResponse.json(m,{status:201})}catch(e){return console.error("Error sending message:",e),a.NextResponse.json({error:"Failed to send message"},{status:500})}}let q=new n.AppRouteRouteModule({definition:{kind:o.x.APP_ROUTE,page:"/api/worktrees/[id]/send/route",pathname:"/api/worktrees/[id]/send",filename:"route",bundlePath:"app/api/worktrees/[id]/send/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/worktrees/[id]/send/route.ts",nextConfigOutput:"",userland:s}),{requestAsyncStorage:y,staticGenerationAsyncStorage:R,serverHooks:k}=q,A="/api/worktrees/[id]/send/route";function b(){return(0,i.patchFetch)({serverHooks:k,staticGenerationAsyncStorage:R})}},3979:(e,t,r)=>{r.d(t,{v:()=>i});var s=r(61282);let n=(0,r(21764).promisify)(s.execFile);async function o(e,t){try{let{stdout:r}=await n("git",e,{cwd:t,timeout:1e3});return r.trim()}catch(t){return console.error("[git-utils] Git command failed:",{args:e,error:t instanceof Error?t.message:"Unknown error"}),null}}async function i(e,t){let r;let s=await o(["rev-parse","--abbrev-ref","HEAD"],e);r=null===s?"(unknown)":"HEAD"===s?"(detached HEAD)":s;let n=await o(["rev-parse","--short","HEAD"],e),i=await o(["status","--porcelain"],e);return{currentBranch:r,initialBranch:t,isBranchMismatch:null!==t&&"(unknown)"!==r&&"(detached HEAD)"!==r&&r!==t,commitHash:n??"(unknown)",isDirty:null!==i&&i.length>0}}}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[8948,5972,3853,4893,7425,7213,1528,9723],()=>r(41306));module.exports=s})();
1
+ "use strict";(()=>{var e={};e.id=2702,e.ids=[2702],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")},41306:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>A,patchFetch:()=>b,requestAsyncStorage:()=>y,routeModule:()=>q,serverHooks:()=>k,staticGenerationAsyncStorage:()=>R});var s={};r.r(s),r.d(s,{POST:()=>$});var n=r(49303),o=r(88716),i=r(60670),a=r(87070),l=r(97425),u=r(75748),c=r(97213),d=r(59991),p=r(89194),m=r(25079),g=r(19377);let f=[/^[╭╮╰╯│─\s]+$/,/Claude Code v[\d.]+/,/^─{10,}$/,/^❯\s*$/,/^\s*$/,/CLAUDE_HOOKS_/,/\/bin\/claude/,/@.*\s+%/,/localhost/,/:3000/,/curl.*POST/,/export\s+/,/Tips for getting started/,/Welcome back/,/\?\s*for shortcuts/];async function h(e,t,r,s){try{let n;let o=(0,u.zl)(e,t,r),i=o?.lastCapturedLine||0;try{n=await (0,p.NA)(t,r,1e4)}catch{return console.log(`[savePendingAssistantResponse] Failed to capture session output for ${t}`),null}if(!n)return null;let a=n.split("\n"),l=a.length,{bufferReset:c,reason:h}=l>0&&i>25&&l+25<i?{bufferReset:!0,reason:"shrink"}:l>0&&i>50&&l<50?{bufferReset:!0,reason:"restart"}:{bufferReset:!1,reason:null};if(c&&console.log(`[savePendingAssistantResponse] Buffer reset detected (${h}): current=${l}, last=${i}`),!c&&l<=i)return console.log(`[savePendingAssistantResponse] No new output (current: ${l}, last: ${i})`),null;let x=a.slice(c?0:i).join("\n"),w="claude"===r?function(e,t){if(!e||""===e.trim())return"";if("claude"!==t)return e.trim();let r=(0,g.vp)(e).split("\n"),s=r.length;for(let e=r.length-1;e>=0;e--)if(/^❯\s+\S/.test(r[e])){s=e;break}return r.slice(0,s).filter(e=>{let t=e.trim();return!!t&&!f.some(e=>e.test(t))}).join("\n").trim()}(x,r):function(e,t){switch(t){case"claude":return(0,d.ci)(e);case"gemini":return(0,d.RJ)(e);default:return e.trim()}}(x,r);if(!w||""===w.trim())return(0,u.IH)(e,t,r,l),console.log(`[savePendingAssistantResponse] Cleaned response is empty, updating position to ${l}`),null;let v=new Date(s.getTime()-1),$=(0,u.tn)(e,{worktreeId:t,role:"assistant",content:w,messageType:"normal",timestamp:v,cliToolId:r});return(0,u.IH)(e,t,r,l),(0,m.ps)("message",{worktreeId:t,message:$}),console.log(`[savePendingAssistantResponse] Saved assistant response (lines ${i}-${l})`),$}catch(e){return console.error("[savePendingAssistantResponse] Error:",e),null}}var x=r(3979);let w=["claude","codex","gemini"];function v(e){return e instanceof Error?e.message:"Unknown error"}async function $(e,{params:t}){try{let r=(0,l.n)(),s=(0,u.gU)(r,t.id);if(!s)return a.NextResponse.json({error:`Worktree '${t.id}' not found`},{status:404});let n=await e.json();if(!n.content||"string"!=typeof n.content||""===n.content.trim())return a.NextResponse.json({error:"Message content is required and must be a non-empty string"},{status:400});let o=n.cliToolId||s.cliToolId||"claude";if(!w.includes(o))return a.NextResponse.json({error:`Invalid CLI tool ID: ${o}. Must be one of: ${w.join(", ")}`},{status:400});let i=c.g.getInstance().getTool(o);if(!await i.isInstalled())return a.NextResponse.json({error:`${i.name} is not installed. Please install it first.`},{status:503});if(!await i.isRunning(t.id))try{await i.startSession(t.id,s.path);let e=(0,u.Q7)(r,t.id);if(null===e)try{let e=await (0,x.v)(s.path,null);"(unknown)"!==e.currentBranch&&"(detached HEAD)"!==e.currentBranch&&((0,u.Ek)(r,t.id,e.currentBranch),console.log(`[send] Saved initial branch for ${t.id}: ${e.currentBranch}`))}catch(e){console.error("[send] Failed to get/save initial branch:",e)}}catch(e){return console.error(`Failed to start ${i.name} session:`,e),a.NextResponse.json({error:`Failed to start ${i.name} session: ${v(e)}`},{status:500})}let p=new Date;try{await h(r,t.id,o,p)}catch(e){console.error("[send] Failed to save pending assistant response:",e)}try{await i.sendMessage(t.id,n.content)}catch(e){return console.error(`Failed to send message to ${i.name}:`,e),a.NextResponse.json({error:`Failed to send message to ${i.name}: ${v(e)}`},{status:500})}let m=(0,u.tn)(r,{worktreeId:t.id,role:"user",content:n.content,messageType:"normal",timestamp:p,cliToolId:o});return(0,u.OK)(r,t.id,n.content,p),(0,u.Mf)(r,t.id,o),console.log(`✓ Cleared in-progress message for ${t.id} (${o})`),(0,d.cn)(t.id,o),a.NextResponse.json(m,{status:201})}catch(e){return console.error("Error sending message:",e),a.NextResponse.json({error:"Failed to send message"},{status:500})}}let q=new n.AppRouteRouteModule({definition:{kind:o.x.APP_ROUTE,page:"/api/worktrees/[id]/send/route",pathname:"/api/worktrees/[id]/send",filename:"route",bundlePath:"app/api/worktrees/[id]/send/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/worktrees/[id]/send/route.ts",nextConfigOutput:"",userland:s}),{requestAsyncStorage:y,staticGenerationAsyncStorage:R,serverHooks:k}=q,A="/api/worktrees/[id]/send/route";function b(){return(0,i.patchFetch)({serverHooks:k,staticGenerationAsyncStorage:R})}},3979:(e,t,r)=>{r.d(t,{v:()=>i});var s=r(61282);let n=(0,r(21764).promisify)(s.execFile);async function o(e,t){try{let{stdout:r}=await n("git",e,{cwd:t,timeout:1e3});return r.trim()}catch(t){return console.error("[git-utils] Git command failed:",{args:e,error:t instanceof Error?t.message:"Unknown error"}),null}}async function i(e,t){let r;let s=await o(["rev-parse","--abbrev-ref","HEAD"],e);r=null===s?"(unknown)":"HEAD"===s?"(detached HEAD)":s;let n=await o(["rev-parse","--short","HEAD"],e),i=await o(["status","--porcelain"],e);return{currentBranch:r,initialBranch:t,isBranchMismatch:null!==t&&"(unknown)"!==r&&"(detached HEAD)"!==r&&r!==t,commitHash:n??"(unknown)",isDirty:null!==i&&i.length>0}}}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[8948,5972,3853,4893,7425,2648,2597,9723],()=>r(41306));module.exports=s})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../../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/1528.js","../../../../../chunks/3853.js","../../../../../chunks/4893.js","../../../../../chunks/5972.js","../../../../../chunks/7213.js","../../../../../chunks/7425.js","../../../../../chunks/8948.js","../../../../../chunks/9723.js","../../../../../webpack-runtime.js"]}
1
+ {"version":1,"files":["../../../../../../../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/2597.js","../../../../../chunks/2648.js","../../../../../chunks/3853.js","../../../../../chunks/4893.js","../../../../../chunks/5972.js","../../../../../chunks/7425.js","../../../../../chunks/8948.js","../../../../../chunks/9723.js","../../../../../webpack-runtime.js"]}
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=9086,e.ids=[9086],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")},51057:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>m,patchFetch:()=>f,requestAsyncStorage:()=>x,routeModule:()=>c,serverHooks:()=>q,staticGenerationAsyncStorage:()=>g});var o={};t.r(o),t.d(o,{POST:()=>d});var s=t(49303),i=t(88716),n=t(60670),p=t(87070),u=t(97425),a=t(75748),l=t(59991);async function d(e,{params:r}){try{let t=(0,u.n)();if(!(0,a.gU)(t,r.id))return p.NextResponse.json({error:`Worktree '${r.id}' not found`},{status:404});let o=await e.json(),s=["claude","codex","gemini"];if(!o.cliToolId||!s.includes(o.cliToolId))return p.NextResponse.json({error:`Invalid CLI tool ID. Must be one of: ${s.join(", ")}`},{status:400});return console.log(`[API] Manually starting polling for ${r.id} (${o.cliToolId})`),(0,l.cn)(r.id,o.cliToolId),p.NextResponse.json({success:!0,message:`Started polling for ${o.cliToolId} session`})}catch(e){return console.error("Error starting polling:",e),p.NextResponse.json({error:"Failed to start polling"},{status:500})}}let c=new s.AppRouteRouteModule({definition:{kind:i.x.APP_ROUTE,page:"/api/worktrees/[id]/start-polling/route",pathname:"/api/worktrees/[id]/start-polling",filename:"route",bundlePath:"app/api/worktrees/[id]/start-polling/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/worktrees/[id]/start-polling/route.ts",nextConfigOutput:"",userland:o}),{requestAsyncStorage:x,staticGenerationAsyncStorage:g,serverHooks:q}=c,m="/api/worktrees/[id]/start-polling/route";function f(){return(0,n.patchFetch)({serverHooks:q,staticGenerationAsyncStorage:g})}}};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,7213,1528,9723],()=>t(51057));module.exports=o})();
1
+ "use strict";(()=>{var e={};e.id=9086,e.ids=[9086],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")},51057:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>m,patchFetch:()=>f,requestAsyncStorage:()=>x,routeModule:()=>c,serverHooks:()=>q,staticGenerationAsyncStorage:()=>g});var o={};t.r(o),t.d(o,{POST:()=>d});var s=t(49303),i=t(88716),n=t(60670),p=t(87070),u=t(97425),a=t(75748),l=t(59991);async function d(e,{params:r}){try{let t=(0,u.n)();if(!(0,a.gU)(t,r.id))return p.NextResponse.json({error:`Worktree '${r.id}' not found`},{status:404});let o=await e.json(),s=["claude","codex","gemini"];if(!o.cliToolId||!s.includes(o.cliToolId))return p.NextResponse.json({error:`Invalid CLI tool ID. Must be one of: ${s.join(", ")}`},{status:400});return console.log(`[API] Manually starting polling for ${r.id} (${o.cliToolId})`),(0,l.cn)(r.id,o.cliToolId),p.NextResponse.json({success:!0,message:`Started polling for ${o.cliToolId} session`})}catch(e){return console.error("Error starting polling:",e),p.NextResponse.json({error:"Failed to start polling"},{status:500})}}let c=new s.AppRouteRouteModule({definition:{kind:i.x.APP_ROUTE,page:"/api/worktrees/[id]/start-polling/route",pathname:"/api/worktrees/[id]/start-polling",filename:"route",bundlePath:"app/api/worktrees/[id]/start-polling/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/worktrees/[id]/start-polling/route.ts",nextConfigOutput:"",userland:o}),{requestAsyncStorage:x,staticGenerationAsyncStorage:g,serverHooks:q}=c,m="/api/worktrees/[id]/start-polling/route";function f(){return(0,n.patchFetch)({serverHooks:q,staticGenerationAsyncStorage:g})}}};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,2648,2597,9723],()=>t(51057));module.exports=o})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../../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/1528.js","../../../../../chunks/3853.js","../../../../../chunks/4893.js","../../../../../chunks/5972.js","../../../../../chunks/7213.js","../../../../../chunks/7425.js","../../../../../chunks/8948.js","../../../../../chunks/9723.js","../../../../../webpack-runtime.js"]}
1
+ {"version":1,"files":["../../../../../../../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/2597.js","../../../../../chunks/2648.js","../../../../../chunks/3853.js","../../../../../chunks/4893.js","../../../../../chunks/5972.js","../../../../../chunks/7425.js","../../../../../chunks/8948.js","../../../../../chunks/9723.js","../../../../../webpack-runtime.js"]}
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=3058,e.ids=[3058],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")},17679:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>k,patchFetch:()=>q,requestAsyncStorage:()=>w,routeModule:()=>h,serverHooks:()=>v,staticGenerationAsyncStorage:()=>f});var s={};t.r(s),t.d(s,{GET:()=>g,dynamic:()=>x});var o=t(49303),i=t(88716),a=t(60670),n=t(87070),p=t(97425),u=t(75748),c=t(97213),d=t(89194),l=t(19377),m=t(63661);let x="force-dynamic";async function g(e){try{let r=(0,p.n)(),t=e.nextUrl?.searchParams,s=t?.get("repository"),o=(0,u.Xv)(r,s||void 0),i=c.g.getInstance(),a=["claude","codex","gemini"],x=await Promise.all(o.map(async e=>{let t={},s=!1,o=!1,n=!1;for(let p of a){let a=i.getTool(p),c=await a.isRunning(e.id),x=!1,g=!1;if(c)try{let t=await (0,d.NA)(e.id,p,100),s=(0,l.vp)(t),o=(0,m.F)(s);if(o.isPrompt)x=!0;else{let e=s.split("\n").filter(e=>""!==e.trim()).slice(-15).join("\n");(0,l.Wg)(p,e)?g=!0:/^[>❯](\s*$|\s+\S)/m.test(e)||(g=!0)}!o.isPrompt&&(0,u._U)(r,e.id,void 0,10,p).some(e=>"prompt"===e.messageType&&e.promptData?.status!=="answered")&&(0,u.GP)(r,e.id,p)}catch{g=!0}t[p]={isRunning:c,isWaitingForResponse:x,isProcessing:g},c&&(s=!0),x&&(o=!0),g&&(n=!0)}return{...e,isSessionRunning:s,isWaitingForResponse:o,isProcessing:n,sessionStatusByCli:t}})),g=(0,u.ER)(r);return n.NextResponse.json({worktrees:x,repositories:g},{status:200})}catch(e){return console.error("Error fetching worktrees:",e),n.NextResponse.json({error:"Failed to fetch worktrees"},{status:500})}}let h=new o.AppRouteRouteModule({definition:{kind:i.x.APP_ROUTE,page:"/api/worktrees/route",pathname:"/api/worktrees",filename:"route",bundlePath:"app/api/worktrees/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/worktrees/route.ts",nextConfigOutput:"",userland:s}),{requestAsyncStorage:w,staticGenerationAsyncStorage:f,serverHooks:v}=h,k="/api/worktrees/route";function q(){return(0,a.patchFetch)({serverHooks:v,staticGenerationAsyncStorage:f})}}};var r=require("../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[8948,5972,7425,7213,1528],()=>t(17679));module.exports=s})();
1
+ "use strict";(()=>{var e={};e.id=3058,e.ids=[3058],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")},17679:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>k,patchFetch:()=>q,requestAsyncStorage:()=>w,routeModule:()=>h,serverHooks:()=>v,staticGenerationAsyncStorage:()=>f});var s={};t.r(s),t.d(s,{GET:()=>g,dynamic:()=>x});var o=t(49303),i=t(88716),a=t(60670),n=t(87070),p=t(97425),u=t(75748),c=t(97213),d=t(89194),l=t(19377),m=t(63661);let x="force-dynamic";async function g(e){try{let r=(0,p.n)(),t=e.nextUrl?.searchParams,s=t?.get("repository"),o=(0,u.Xv)(r,s||void 0),i=c.g.getInstance(),a=["claude","codex","gemini"],x=await Promise.all(o.map(async e=>{let t={},s=!1,o=!1,n=!1;for(let p of a){let a=i.getTool(p),c=await a.isRunning(e.id),x=!1,g=!1;if(c)try{let t=await (0,d.NA)(e.id,p,100),s=(0,l.vp)(t),o=(0,m.F)(s);if(o.isPrompt)x=!0;else{let e=s.split("\n").filter(e=>""!==e.trim()).slice(-15).join("\n");(0,l.Wg)(p,e)?g=!0:/^[>❯](\s*$|\s+\S)/m.test(e)||(g=!0)}!o.isPrompt&&(0,u._U)(r,e.id,void 0,10,p).some(e=>"prompt"===e.messageType&&e.promptData?.status!=="answered")&&(0,u.GP)(r,e.id,p)}catch{g=!0}t[p]={isRunning:c,isWaitingForResponse:x,isProcessing:g},c&&(s=!0),x&&(o=!0),g&&(n=!0)}return{...e,isSessionRunning:s,isWaitingForResponse:o,isProcessing:n,sessionStatusByCli:t}})),g=(0,u.ER)(r);return n.NextResponse.json({worktrees:x,repositories:g},{status:200})}catch(e){return console.error("Error fetching worktrees:",e),n.NextResponse.json({error:"Failed to fetch worktrees"},{status:500})}}let h=new o.AppRouteRouteModule({definition:{kind:i.x.APP_ROUTE,page:"/api/worktrees/route",pathname:"/api/worktrees",filename:"route",bundlePath:"app/api/worktrees/route"},resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/worktrees/route.ts",nextConfigOutput:"",userland:s}),{requestAsyncStorage:w,staticGenerationAsyncStorage:f,serverHooks:v}=h,k="/api/worktrees/route";function q(){return(0,a.patchFetch)({serverHooks:v,staticGenerationAsyncStorage:f})}}};var r=require("../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[8948,5972,7425,2648,2597],()=>t(17679));module.exports=s})();