viba-cli 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +2 -2
  3. package/.next/fallback-build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/server/app/_global-error.html +2 -2
  6. package/.next/server/app/_global-error.rsc +1 -1
  7. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/.next/server/app/_not-found.html +1 -1
  13. package/.next/server/app/_not-found.rsc +1 -1
  14. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  15. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  16. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  17. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  18. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  20. package/.next/server/app/index.html +1 -1
  21. package/.next/server/app/index.rsc +2 -2
  22. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  23. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  24. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  25. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  26. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  27. package/.next/server/app/new/page/server-reference-manifest.json +23 -23
  28. package/.next/server/app/new/page.js +1 -1
  29. package/.next/server/app/new/page.js.nft.json +1 -1
  30. package/.next/server/app/new/page_client-reference-manifest.js +1 -1
  31. package/.next/server/app/page/server-reference-manifest.json +23 -23
  32. package/.next/server/app/page.js +1 -1
  33. package/.next/server/app/page.js.nft.json +1 -1
  34. package/.next/server/app/page_client-reference-manifest.js +1 -1
  35. package/.next/server/app/session/[sessionId]/page/server-reference-manifest.json +17 -17
  36. package/.next/server/app/session/[sessionId]/page.js +1 -1
  37. package/.next/server/app/session/[sessionId]/page.js.nft.json +1 -1
  38. package/.next/server/app/session/[sessionId]/page_client-reference-manifest.js +1 -1
  39. package/.next/server/chunks/ssr/[root-of-the-server]__36769160._.js +3 -0
  40. package/.next/server/chunks/ssr/[root-of-the-server]__36769160._.js.map +1 -0
  41. package/.next/server/chunks/ssr/[root-of-the-server]__41b2f23a._.js +1 -1
  42. package/.next/server/chunks/ssr/[root-of-the-server]__41b2f23a._.js.map +1 -1
  43. package/.next/server/chunks/ssr/{[root-of-the-server]__d050ef76._.js → [root-of-the-server]__528f3aa4._.js} +2 -2
  44. package/.next/server/chunks/ssr/{[root-of-the-server]__d050ef76._.js.map → [root-of-the-server]__528f3aa4._.js.map} +1 -1
  45. package/.next/server/chunks/ssr/[root-of-the-server]__8174ed94._.js +1 -1
  46. package/.next/server/chunks/ssr/[root-of-the-server]__8174ed94._.js.map +1 -1
  47. package/.next/server/chunks/ssr/{[root-of-the-server]__fedccef4._.js → [root-of-the-server]__f1bfaf02._.js} +2 -2
  48. package/.next/server/chunks/ssr/{[root-of-the-server]__fedccef4._.js.map → [root-of-the-server]__f1bfaf02._.js.map} +1 -1
  49. package/.next/server/chunks/ssr/{_eec59082._.js → _3819cc0f._.js} +3 -3
  50. package/.next/server/chunks/ssr/{_eec59082._.js.map → _3819cc0f._.js.map} +1 -1
  51. package/.next/server/chunks/ssr/{_10959ad1._.js → _44154301._.js} +2 -2
  52. package/.next/server/chunks/ssr/{_10959ad1._.js.map → _44154301._.js.map} +1 -1
  53. package/.next/server/chunks/ssr/{_26ea44d4._.js → _782ca804._.js} +2 -2
  54. package/.next/server/chunks/ssr/{_26ea44d4._.js.map → _782ca804._.js.map} +1 -1
  55. package/.next/server/chunks/ssr/src_app_session_[sessionId]_SessionPageClient_tsx_dab490d7._.js +2 -2
  56. package/.next/server/chunks/ssr/src_app_session_[sessionId]_SessionPageClient_tsx_dab490d7._.js.map +1 -1
  57. package/.next/server/chunks/ssr/src_components_GitRepoSelector_tsx_05c81afa._.js +1 -1
  58. package/.next/server/chunks/ssr/src_components_GitRepoSelector_tsx_05c81afa._.js.map +1 -1
  59. package/.next/server/pages/404.html +1 -1
  60. package/.next/server/pages/500.html +2 -2
  61. package/.next/server/server-reference-manifest.js +1 -1
  62. package/.next/server/server-reference-manifest.json +36 -36
  63. package/.next/static/chunks/{51412f0d40e61752.js → 6dfe6be0458c7506.js} +3 -3
  64. package/.next/static/chunks/{e8ae5f3295b07660.js → 800bdfe84e30a5fa.js} +1 -1
  65. package/.next/static/chunks/{61955dd121e7694e.js → 8cc2a20e51da8dab.js} +2 -2
  66. package/.next/static/chunks/d57d32332080776c.js +3 -0
  67. package/.next/static/chunks/{250a6b7dbee6d40a.js → f61d984b4435e61d.js} +2 -2
  68. package/README.md +2 -2
  69. package/bin/viba.mjs +30 -23
  70. package/package.json +1 -1
  71. package/.next/server/chunks/ssr/[root-of-the-server]__ef9ee460._.js +0 -3
  72. package/.next/server/chunks/ssr/[root-of-the-server]__ef9ee460._.js.map +0 -1
  73. package/.next/static/chunks/2e1f57afdfdadc44.js +0 -3
  74. /package/.next/static/{lmo2PE5qBiau0B18MyHY0 → Xe9W13zKv2qP1o6wN_YEA}/_buildManifest.js +0 -0
  75. /package/.next/static/{lmo2PE5qBiau0B18MyHY0 → Xe9W13zKv2qP1o6wN_YEA}/_clientMiddlewareManifest.json +0 -0
  76. /package/.next/static/{lmo2PE5qBiau0B18MyHY0 → Xe9W13zKv2qP1o6wN_YEA}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[33405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},70722,(a,b,c)=>{b.exports=a.x("tty",()=>require("tty"))},24868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},46786,(a,b,c)=>{b.exports=a.x("os",()=>require("os"))},98624,a=>{"use strict";var b=a.i(37936),c=a.i(24868),d=a.i(14747),e=a.i(38642);let f=new Set([".git","node_modules",".next",".viba","dist","build","coverage"]);function g(){return global.repoResolutionCache||(global.repoResolutionCache=new Map),global.repoResolutionCache}function h(a,b){g().set(a.toLowerCase(),{repoPath:b,resolvedAt:Date.now()})}async function i(a){let b=g().get(a.toLowerCase());return b?Date.now()-b.resolvedAt>3e5?(g().delete(a.toLowerCase()),null):await j(b.repoPath)?b.repoPath:(g().delete(a.toLowerCase()),null):null}async function j(a){try{return await c.default.access(d.default.join(a,".git")),!0}catch{return!1}}async function k(a,b){let e=d.default.join(a,b);if(await j(e))return e;let g=[{dirPath:a,depth:0}],h=0,i=b.toLowerCase();for(let a=0;a<g.length;a+=1){let b,e=g[a];if((h+=1)>5e3)break;try{b=await c.default.readdir(e.dirPath,{withFileTypes:!0})}catch{continue}for(let a of b){if(!a.isDirectory()||function(a,b){let c=a.toLowerCase();return c!==b&&!!(f.has(c)||a.startsWith("."))}(a.name,i))continue;let b=d.default.join(e.dirPath,a.name);if(a.name.toLowerCase()===i&&await j(b))return b;e.depth+1<=5&&g.push({dirPath:b,depth:e.depth+1})}}return null}async function l(a){let b=a.trim();if(!b)return null;let c=await i(b);if(c)return c;let f=await (0,e.getConfig)();for(let a of f.recentRepos.filter(a=>d.default.basename(a).toLowerCase()===b.toLowerCase()))if(await j(a))return h(b,a),a;let g=[],l=new Set;for(let a of f.recentRepos){let b=d.default.dirname(a);l.has(b)||(l.add(b),g.push(b))}for(let a of(f.defaultRoot&&!l.has(f.defaultRoot)&&(l.add(f.defaultRoot),g.push(f.defaultRoot)),g)){let c=await k(a,b);if(c)return h(b,c),c}return null}async function m(a){try{let b=await l(a);return{success:!0,repoPath:b}}catch(a){return console.error("Failed to resolve repository by name:",a),{success:!1,repoPath:null,error:"Failed to search repositories. Please try again."}}}(0,a.i(13095).ensureServerEntryExports)([m]),(0,b.registerServerReference)(m,"4011152a20180fbb385f93ebb86bd7fe20b0eb54dc",null),a.s(["resolveRepositoryByName",()=>m],98624)},92930,a=>{"use strict";var b=a.i(15271),c=a.i(98624),d=a.i(51817),e=a.i(38642);a.s([],39728),a.i(39728),a.s(["003f179b879bf486bcea4539d064b0df6354894815",()=>e.getConfig,"00ab8a0c236ad9d559b78b2f40023323c37ac6bdd1",()=>b.getHomeDirectory,"4011152a20180fbb385f93ebb86bd7fe20b0eb54dc",()=>c.resolveRepositoryByName,"4047c4346bb861e2383148077a2da70450459e30d3",()=>b.checkDirectoryAccessible,"405480f3067c9cdbe36de30371cca15ac062ade0d7",()=>b.checkAgentCliInstalled,"406172e43e0b5adc6925e32b40d2c4ad9e3e002c62",()=>b.getBranches,"406a426c7539a88960c1ca8a896edf4361198ca1be",()=>d.listSessions,"408264874ede3ac6d4c0ea65d1fb31e2ab2e4e74af",()=>b.checkIsGitRepo,"40875a5f93c26e7693d4a9cd7eb51cf74ebb29c847",()=>d.getSessionPrefillContext,"4095b399654cd9d1e32df72f6d4d02fcd15eee79fa",()=>b.listDirectories,"40b315600ca709ca663ce338fb735311774a956de3",()=>b.installAgentCli,"40b60c4c60b29ca628a121c12dd5c6c169cb53475f",()=>e.updateConfig,"40fabb2453b5f94d32cc70c178973f78bff2624265",()=>d.deleteSession,"603744c6a6f1812a186c873768b506ad50f8b2e576",()=>b.checkoutBranch,"60821ae7d20a7942f7225bf61b2b468e134691322c",()=>d.saveSessionLaunchContext,"609adbe6e9c89e41912f5632cdd5cc97288df2d36d",()=>e.updateRepoSettings,"700469d830d4fde2816e6d39c2de48189f59ed0db3",()=>d.copySessionAttachments,"700603c4aea3d88f3ba7d04f36928ba19e4cca8958",()=>d.createSession,"7f669dbdb5ea560b8752062c3594a56189db7ebea9",()=>b.listRepoFiles,"7f7ae33c4eab367d29219887a5215871af15cf74f5",()=>b.saveAttachments,"7f9c2c53945538da0d13943166f06f05a488eef871",()=>b.getDefaultDevServerScript,"7f9ee07126919f7ff76d3216d51e1391fffaeac277",()=>b.startTtydProcess,"7fe39b9c4688be51bdc4a0ab57659e0f7959dd3785",()=>b.getStartupScript],92930)},44264,a=>{a.v(a=>Promise.resolve().then(()=>a(33405)))},37706,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__edf0aa7a._.js"].map(b=>a.l(b))).then(()=>b(78775)))}];
1
+ module.exports=[33405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},70722,(a,b,c)=>{b.exports=a.x("tty",()=>require("tty"))},24868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},46786,(a,b,c)=>{b.exports=a.x("os",()=>require("os"))},98624,a=>{"use strict";var b=a.i(37936),c=a.i(24868),d=a.i(14747),e=a.i(38642);let f=new Set([".git","node_modules",".next",".viba","dist","build","coverage"]);function g(){return global.repoResolutionCache||(global.repoResolutionCache=new Map),global.repoResolutionCache}function h(a,b){g().set(a.toLowerCase(),{repoPath:b,resolvedAt:Date.now()})}async function i(a){let b=g().get(a.toLowerCase());return b?Date.now()-b.resolvedAt>3e5?(g().delete(a.toLowerCase()),null):await j(b.repoPath)?b.repoPath:(g().delete(a.toLowerCase()),null):null}async function j(a){try{return await c.default.access(d.default.join(a,".git")),!0}catch{return!1}}async function k(a,b){let e=d.default.join(a,b);if(await j(e))return e;let g=[{dirPath:a,depth:0}],h=0,i=b.toLowerCase();for(let a=0;a<g.length;a+=1){let b,e=g[a];if((h+=1)>5e3)break;try{b=await c.default.readdir(e.dirPath,{withFileTypes:!0})}catch{continue}for(let a of b){if(!a.isDirectory()||function(a,b){let c=a.toLowerCase();return c!==b&&!!(f.has(c)||a.startsWith("."))}(a.name,i))continue;let b=d.default.join(e.dirPath,a.name);if(a.name.toLowerCase()===i&&await j(b))return b;e.depth+1<=5&&g.push({dirPath:b,depth:e.depth+1})}}return null}async function l(a){let b=a.trim();if(!b)return null;let c=await i(b);if(c)return c;let f=await (0,e.getConfig)();for(let a of f.recentRepos.filter(a=>d.default.basename(a).toLowerCase()===b.toLowerCase()))if(await j(a))return h(b,a),a;let g=[],l=new Set;for(let a of f.recentRepos){let b=d.default.dirname(a);l.has(b)||(l.add(b),g.push(b))}for(let a of(f.defaultRoot&&!l.has(f.defaultRoot)&&(l.add(f.defaultRoot),g.push(f.defaultRoot)),g)){let c=await k(a,b);if(c)return h(b,c),c}return null}async function m(a){try{let b=await l(a);return{success:!0,repoPath:b}}catch(a){return console.error("Failed to resolve repository by name:",a),{success:!1,repoPath:null,error:"Failed to search repositories. Please try again."}}}(0,a.i(13095).ensureServerEntryExports)([m]),(0,b.registerServerReference)(m,"40642b5e03d55c14e450b5d9ed00241038d23516fa",null),a.s(["resolveRepositoryByName",()=>m],98624)},92930,a=>{"use strict";var b=a.i(15271),c=a.i(98624),d=a.i(51817),e=a.i(38642);a.s([],39728),a.i(39728),a.s(["003408daf503f563bd7702d8eae85f3b1294f2f284",()=>e.getConfig,"00b2f585aab02de15106087cb132626fb625c0db26",()=>b.getHomeDirectory,"400782a3f97715c98c967e2f396d19d693c2041dad",()=>b.checkIsGitRepo,"40146ea4475c4e00f7633055de4ed6516650b2e88c",()=>e.updateConfig,"401b05e1609d7de213bdbd2f05ccb4a50355b81c8c",()=>b.checkAgentCliInstalled,"4043d0168426852ee7d28bc7b8672390ce05409e35",()=>d.deleteSession,"405fb3fbd5af2014f0e0bd23a9c24cea6ad6c2c1ac",()=>d.getSessionPrefillContext,"40642b5e03d55c14e450b5d9ed00241038d23516fa",()=>c.resolveRepositoryByName,"40950c45c77b1159158894addef799cbfa1868f05c",()=>d.listSessions,"40aa54365d229ff47bf5d53b3e4bfdd21ee82193aa",()=>b.getBranches,"40e04cf2a2afa6c7d306984663d4883f00455b36c3",()=>b.checkDirectoryAccessible,"40f0690e83fc46a0314a2ec86c258299ccb7c986ab",()=>b.installAgentCli,"40ffd9754caf8d0c6f363b1ab1c5e87fcb004ac06d",()=>b.listDirectories,"6001b7cb18e9eda22799a38833b5ada49df5ca199f",()=>e.updateRepoSettings,"600382d582a4b4cf6c5b442390aacd42b500f83837",()=>b.checkoutBranch,"60a9dccd117bb437e297b227dac6296c048e8a7a0b",()=>d.saveSessionLaunchContext,"7000ceadf25434a3fee9e40e378cdd319c2d1ea8f1",()=>d.createSession,"70065a92fb1e241bd84f05b4e3b13affa3d1946c02",()=>d.copySessionAttachments,"7f76c1c5fa2a2a8ac1ef4cd8262e536b2376830e89",()=>b.startTtydProcess,"7f9ed5e1e4229c377fd85f4f7524069b137baa5b87",()=>b.getStartupScript,"7fc47c9eed1b7933ba384f96662dafa0a9b380bd60",()=>b.getDefaultDevServerScript,"7fccca6ac13459bb9638e3a08cb7913c923227fc5d",()=>b.listRepoFiles,"7ffb2975f419e7c26bdfb7b886d1a926fa4e634448",()=>b.saveAttachments],92930)},44264,a=>{a.v(a=>Promise.resolve().then(()=>a(33405)))},37706,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__edf0aa7a._.js"].map(b=>a.l(b))).then(()=>b(78775)))}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__d050ef76._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__528f3aa4._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/repo-resolver.ts","../../../../src/app/actions/repository.ts","../../../../.next-internal/server/app/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["import fs from 'fs/promises';\nimport type { Dirent } from 'fs';\nimport path from 'path';\nimport { getConfig } from '@/app/actions/config';\n\nconst MAX_SCAN_DEPTH = 5;\nconst MAX_SCANNED_DIRECTORIES = 5000;\nconst RESOLUTION_CACHE_TTL_MS = 5 * 60 * 1000;\nconst SKIPPED_DIR_NAMES = new Set([\n '.git',\n 'node_modules',\n '.next',\n '.viba',\n 'dist',\n 'build',\n 'coverage',\n]);\n\ntype RepoResolutionCacheEntry = {\n repoPath: string;\n resolvedAt: number;\n};\n\ndeclare global {\n var repoResolutionCache: Map<string, RepoResolutionCacheEntry> | undefined;\n}\n\nfunction getResolutionCache(): Map<string, RepoResolutionCacheEntry> {\n if (!global.repoResolutionCache) {\n global.repoResolutionCache = new Map<string, RepoResolutionCacheEntry>();\n }\n return global.repoResolutionCache;\n}\n\nfunction cacheResolution(repoName: string, repoPath: string): void {\n getResolutionCache().set(repoName.toLowerCase(), {\n repoPath,\n resolvedAt: Date.now(),\n });\n}\n\nasync function getValidCachedResolution(repoName: string): Promise<string | null> {\n const entry = getResolutionCache().get(repoName.toLowerCase());\n if (!entry) return null;\n if (Date.now() - entry.resolvedAt > RESOLUTION_CACHE_TTL_MS) {\n getResolutionCache().delete(repoName.toLowerCase());\n return null;\n }\n\n if (await isGitRepository(entry.repoPath)) {\n return entry.repoPath;\n }\n\n getResolutionCache().delete(repoName.toLowerCase());\n return null;\n}\n\nasync function isGitRepository(dirPath: string): Promise<boolean> {\n try {\n await fs.access(path.join(dirPath, '.git'));\n return true;\n } catch {\n return false;\n }\n}\n\nfunction hasMatchingName(repoPath: string, repoName: string): boolean {\n return path.basename(repoPath).toLowerCase() === repoName.toLowerCase();\n}\n\nfunction shouldSkipDirectory(entryName: string, targetName: string): boolean {\n const lowerName = entryName.toLowerCase();\n if (lowerName === targetName) return false;\n if (SKIPPED_DIR_NAMES.has(lowerName)) return true;\n if (entryName.startsWith('.')) return true;\n return false;\n}\n\nasync function findByNameWithinRoot(rootPath: string, repoName: string): Promise<string | null> {\n const directCandidate = path.join(rootPath, repoName);\n if (await isGitRepository(directCandidate)) {\n return directCandidate;\n }\n\n const queue: Array<{ dirPath: string; depth: number }> = [{ dirPath: rootPath, depth: 0 }];\n let scannedCount = 0;\n const targetName = repoName.toLowerCase();\n\n for (let index = 0; index < queue.length; index += 1) {\n const current = queue[index];\n scannedCount += 1;\n if (scannedCount > MAX_SCANNED_DIRECTORIES) {\n break;\n }\n\n let entries: Dirent[];\n try {\n entries = await fs.readdir(current.dirPath, { withFileTypes: true });\n } catch {\n continue;\n }\n\n for (const entry of entries) {\n if (!entry.isDirectory()) continue;\n if (shouldSkipDirectory(entry.name, targetName)) continue;\n\n const nextDirPath = path.join(current.dirPath, entry.name);\n\n if (entry.name.toLowerCase() === targetName && await isGitRepository(nextDirPath)) {\n return nextDirPath;\n }\n\n if (current.depth + 1 <= MAX_SCAN_DEPTH) {\n queue.push({ dirPath: nextDirPath, depth: current.depth + 1 });\n }\n }\n }\n\n return null;\n}\n\nexport async function resolveRepositoryPathByName(repoName: string): Promise<string | null> {\n const trimmedName = repoName.trim();\n if (!trimmedName) return null;\n\n const cachedResolution = await getValidCachedResolution(trimmedName);\n if (cachedResolution) {\n return cachedResolution;\n }\n\n const config = await getConfig();\n\n const recentMatches = config.recentRepos.filter((repoPath) => hasMatchingName(repoPath, trimmedName));\n for (const repoPath of recentMatches) {\n if (await isGitRepository(repoPath)) {\n cacheResolution(trimmedName, repoPath);\n return repoPath;\n }\n }\n\n const searchRoots: string[] = [];\n const visitedRoots = new Set<string>();\n for (const repoPath of config.recentRepos) {\n const parentPath = path.dirname(repoPath);\n if (!visitedRoots.has(parentPath)) {\n visitedRoots.add(parentPath);\n searchRoots.push(parentPath);\n }\n }\n if (config.defaultRoot && !visitedRoots.has(config.defaultRoot)) {\n visitedRoots.add(config.defaultRoot);\n searchRoots.push(config.defaultRoot);\n }\n\n for (const rootPath of searchRoots) {\n const resolvedPath = await findByNameWithinRoot(rootPath, trimmedName);\n if (resolvedPath) {\n cacheResolution(trimmedName, resolvedPath);\n return resolvedPath;\n }\n }\n\n return null;\n}\n","'use server';\n\nimport { resolveRepositoryPathByName } from '@/lib/repo-resolver';\n\ntype ResolveRepositoryResult = {\n success: boolean;\n repoPath: string | null;\n error?: string;\n};\n\nexport async function resolveRepositoryByName(repoName: string): Promise<ResolveRepositoryResult> {\n try {\n const resolvedPath = await resolveRepositoryPathByName(repoName);\n return {\n success: true,\n repoPath: resolvedPath,\n };\n } catch (error) {\n console.error('Failed to resolve repository by name:', error);\n return {\n success: false,\n repoPath: null,\n error: 'Failed to search repositories. Please try again.',\n };\n }\n}\n","export {checkDirectoryAccessible as '4047c4346bb861e2383148077a2da70450459e30d3'} from 'ACTIONS_MODULE0'\nexport {listDirectories as '4095b399654cd9d1e32df72f6d4d02fcd15eee79fa'} from 'ACTIONS_MODULE0'\nexport {getHomeDirectory as '00ab8a0c236ad9d559b78b2f40023323c37ac6bdd1'} from 'ACTIONS_MODULE0'\nexport {checkIsGitRepo as '408264874ede3ac6d4c0ea65d1fb31e2ab2e4e74af'} from 'ACTIONS_MODULE0'\nexport {getBranches as '406172e43e0b5adc6925e32b40d2c4ad9e3e002c62'} from 'ACTIONS_MODULE0'\nexport {checkoutBranch as '603744c6a6f1812a186c873768b506ad50f8b2e576'} from 'ACTIONS_MODULE0'\nexport {startTtydProcess as '7f9ee07126919f7ff76d3216d51e1391fffaeac277'} from 'ACTIONS_MODULE0'\nexport {getStartupScript as '7fe39b9c4688be51bdc4a0ab57659e0f7959dd3785'} from 'ACTIONS_MODULE0'\nexport {getDefaultDevServerScript as '7f9c2c53945538da0d13943166f06f05a488eef871'} from 'ACTIONS_MODULE0'\nexport {listRepoFiles as '7f669dbdb5ea560b8752062c3594a56189db7ebea9'} from 'ACTIONS_MODULE0'\nexport {saveAttachments as '7f7ae33c4eab367d29219887a5215871af15cf74f5'} from 'ACTIONS_MODULE0'\nexport {checkAgentCliInstalled as '405480f3067c9cdbe36de30371cca15ac062ade0d7'} from 'ACTIONS_MODULE0'\nexport {installAgentCli as '40b315600ca709ca663ce338fb735311774a956de3'} from 'ACTIONS_MODULE0'\nexport {resolveRepositoryByName as '4011152a20180fbb385f93ebb86bd7fe20b0eb54dc'} from 'ACTIONS_MODULE1'\nexport {copySessionAttachments as '700469d830d4fde2816e6d39c2de48189f59ed0db3'} from 'ACTIONS_MODULE2'\nexport {createSession as '700603c4aea3d88f3ba7d04f36928ba19e4cca8958'} from 'ACTIONS_MODULE2'\nexport {deleteSession as '40fabb2453b5f94d32cc70c178973f78bff2624265'} from 'ACTIONS_MODULE2'\nexport {getSessionPrefillContext as '40875a5f93c26e7693d4a9cd7eb51cf74ebb29c847'} from 'ACTIONS_MODULE2'\nexport {listSessions as '406a426c7539a88960c1ca8a896edf4361198ca1be'} from 'ACTIONS_MODULE2'\nexport {saveSessionLaunchContext as '60821ae7d20a7942f7225bf61b2b468e134691322c'} from 'ACTIONS_MODULE2'\nexport {getConfig as '003f179b879bf486bcea4539d064b0df6354894815'} from 'ACTIONS_MODULE3'\nexport {updateConfig as '40b60c4c60b29ca628a121c12dd5c6c169cb53475f'} from 'ACTIONS_MODULE3'\nexport {updateRepoSettings as '609adbe6e9c89e41912f5632cdd5cc97288df2d36d'} from 'ACTIONS_MODULE3'\n"],"names":[],"mappings":"8TAAA,EAAA,EAAA,CAAA,CAAA,OAEA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAKA,IAAM,EAAoB,IAAI,IAAI,CAChC,OACA,eACA,QACA,QACA,OACA,QACA,WACD,EAWD,SAAS,IAIP,OAHK,AAAD,OAAQ,mBAAmB,EAAE,CAC/B,OAAO,mBAAmB,CAAG,IAAI,GAAA,EAE5B,OAAO,mBAAmB,AACnC,CAEA,SAAS,EAAgB,CAAgB,CAAE,CAAgB,EACzD,IAAqB,GAAG,CAAC,EAAS,WAAW,GAAI,CAC/C,WACA,WAAY,KAAK,GAAG,EACtB,EACF,CAEA,eAAe,EAAyB,CAAgB,EACtD,IAAM,EAAQ,IAAqB,GAAG,CAAC,EAAS,WAAW,WAC3D,AAAK,EACD,EADA,GAAQ,AACH,GAAG,GAAK,EAAM,UAAU,CArCH,EAqCM,EArCF,CAsChC,IAAqB,AAtCgB,MAsCV,CAAC,EAAS,SADsB,EACX,IACzC,MAGL,MAAM,EAAgB,EAAM,QAAQ,EAC/B,CADkC,CAC5B,QAAQ,EAGvB,IAAqB,MAAM,CAAC,EAAS,WAAW,IACzC,MAXY,IAYrB,CAEA,eAAe,EAAgB,CAAe,EAC5C,GAAI,CAEF,OADA,MAAM,EAAA,OAAE,CAAC,MAAM,CAAC,EAAA,OAAI,CAAC,IAAI,CAAC,EAAS,UAC5B,CACT,CAAE,KAAM,CACN,OAAO,CACT,CACF,CAcA,eAAe,EAAqB,CAAgB,CAAE,CAAgB,EACpE,IAAM,EAAkB,EAAA,OAAI,CAAC,IAAI,CAAC,EAAU,GAC5C,GAAI,MAAM,EAAgB,GACxB,OAAO,EAGT,IAAM,EAJsC,AAIa,CAAC,CAAE,QAAS,EAAU,MAAO,CAAE,EAAE,CACtF,EAAe,EACb,EAAa,EAAS,WAAW,GAEvC,IAAK,IAAI,EAAQ,EAAG,EAAQ,EAAM,MAAM,CAAE,GAAS,EAAG,CACpD,IAMI,EANE,EAAU,CAAK,CAAC,EAAM,CAE5B,GAAI,CADJ,IAAgB,EApFY,IAsF1B,IADiB,EAKnB,GAAI,CACF,EAAU,MAAM,EAAA,OAAE,CAAC,CANuB,MAMhB,CAAC,EAAQ,OAAO,CAAE,CAAE,eAAe,CAAK,EACpE,CAAE,KAAM,CACN,QACF,CAEA,IAAK,IAAM,KAAS,EAAS,CAC3B,GAAI,CAAC,EAAM,WAAW,IAClB,AAlCV,SAA6B,AAApB,CAAqC,CAAE,CAAkB,EAChE,IAAM,EAAY,EAAU,WAAW,UACvC,AAAI,IAAc,MACd,EAAkB,GAAG,CADK,AACJ,IACtB,EAAU,CAFuB,KACC,IACd,CAAC,EADoB,GAG/C,CAFiC,CA8BH,EAAM,IA9BI,AA8BA,CAAE,GADV,SAG1B,CAFiD,GAE3C,EAAc,EAAA,OAAI,CAAC,IAAI,CAAC,EAAQ,OAAO,CAAE,EAAM,IAAI,EAEzD,GAAI,EAAM,IAAI,CAAC,WAAW,KAAO,GAAc,MAAM,EAAgB,GACnE,OAAO,EAGL,EAJ+E,AAIvE,KAAK,CAAG,GA3GH,EA2GQ,CACvB,EAAM,IAAI,CAAC,CAAE,OAD0B,CACjB,EAAa,MAAO,EAAQ,KAAK,CAAG,CAAE,EAEhE,CACF,CAEA,OAAO,IACT,CAEO,eAAe,EAA4B,CAAgB,EAChE,IAAM,EAAc,EAAS,IAAI,GACjC,GAAI,CAAC,EAAa,OAAO,KAEzB,IAAM,EAAmB,MAAM,EAAyB,GACxD,GAAI,EACF,OAAO,EAGT,IAAM,EAAS,CAJO,KAID,CAAA,EAAA,EAAA,SAAA,AAAS,IAG9B,IAAK,IAAM,KADW,EAAO,KACN,MADiB,CAAC,MAAM,CAAE,AACX,AADU,GAjEzC,EAAA,MAiEuD,CAjEnD,CAAC,QAAQ,CAiE0D,AAjEzD,GAAU,WAAW,KAiE8C,AAjEvC,EAAS,WAAW,IAmEnE,GAAI,MAAM,EAAgB,GAExB,OADA,CADmC,CACnB,EAAa,GACtB,EAIX,IAAM,EAAwB,EAAE,CAC1B,EAAe,IAAI,IACzB,IAAK,IAAM,KAAY,EAAO,WAAW,CAAE,CACzC,IAAM,EAAa,EAAA,OAAI,CAAC,OAAO,CAAC,GAC3B,EAAa,GAAG,CAAC,KACpB,EAAa,GAAG,CAAC,EADgB,CAEjC,EAAY,IAAI,CAAC,GAErB,CAMA,IAAK,IAAM,KALP,EAAO,WAAW,EAAI,CAAC,EAAa,GAAG,CAAC,EAAO,WAAW,GAAG,CAC/D,EAAa,GAAG,CAAC,EAAO,WAAW,EACnC,EAAY,IAAI,CAAC,EAAO,WAAW,GAGd,GAAa,CAClC,IAAM,EAAe,MAAM,EAAqB,EAAU,GAC1D,GAAI,EAEF,OADA,EAAgB,EAAa,CADb,EAET,CAEX,CAEA,OAAO,IACT,CCzJO,eAAe,EAAwB,CAAgB,EAC5D,GAAI,CACF,IAAM,EAAe,MAAM,EAA4B,GACvD,MAAO,CACL,SAAS,EACT,SAAU,CACZ,CACF,CAAE,MAAO,EAAO,CAEd,OADA,QAAQ,KAAK,CAAC,wCAAyC,GAChD,CACL,SAAS,EACT,SAAU,KACV,MAAO,kDACT,CACF,CACF,0CAfsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,2ECVtB,IAAA,EAAA,EAAA,CAAA,CAAA,OAaA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAMA,EAAA,EAAA,CAAA,CAAA"}
1
+ {"version":3,"sources":["../../../../src/lib/repo-resolver.ts","../../../../src/app/actions/repository.ts","../../../../.next-internal/server/app/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["import fs from 'fs/promises';\nimport type { Dirent } from 'fs';\nimport path from 'path';\nimport { getConfig } from '@/app/actions/config';\n\nconst MAX_SCAN_DEPTH = 5;\nconst MAX_SCANNED_DIRECTORIES = 5000;\nconst RESOLUTION_CACHE_TTL_MS = 5 * 60 * 1000;\nconst SKIPPED_DIR_NAMES = new Set([\n '.git',\n 'node_modules',\n '.next',\n '.viba',\n 'dist',\n 'build',\n 'coverage',\n]);\n\ntype RepoResolutionCacheEntry = {\n repoPath: string;\n resolvedAt: number;\n};\n\ndeclare global {\n var repoResolutionCache: Map<string, RepoResolutionCacheEntry> | undefined;\n}\n\nfunction getResolutionCache(): Map<string, RepoResolutionCacheEntry> {\n if (!global.repoResolutionCache) {\n global.repoResolutionCache = new Map<string, RepoResolutionCacheEntry>();\n }\n return global.repoResolutionCache;\n}\n\nfunction cacheResolution(repoName: string, repoPath: string): void {\n getResolutionCache().set(repoName.toLowerCase(), {\n repoPath,\n resolvedAt: Date.now(),\n });\n}\n\nasync function getValidCachedResolution(repoName: string): Promise<string | null> {\n const entry = getResolutionCache().get(repoName.toLowerCase());\n if (!entry) return null;\n if (Date.now() - entry.resolvedAt > RESOLUTION_CACHE_TTL_MS) {\n getResolutionCache().delete(repoName.toLowerCase());\n return null;\n }\n\n if (await isGitRepository(entry.repoPath)) {\n return entry.repoPath;\n }\n\n getResolutionCache().delete(repoName.toLowerCase());\n return null;\n}\n\nasync function isGitRepository(dirPath: string): Promise<boolean> {\n try {\n await fs.access(path.join(dirPath, '.git'));\n return true;\n } catch {\n return false;\n }\n}\n\nfunction hasMatchingName(repoPath: string, repoName: string): boolean {\n return path.basename(repoPath).toLowerCase() === repoName.toLowerCase();\n}\n\nfunction shouldSkipDirectory(entryName: string, targetName: string): boolean {\n const lowerName = entryName.toLowerCase();\n if (lowerName === targetName) return false;\n if (SKIPPED_DIR_NAMES.has(lowerName)) return true;\n if (entryName.startsWith('.')) return true;\n return false;\n}\n\nasync function findByNameWithinRoot(rootPath: string, repoName: string): Promise<string | null> {\n const directCandidate = path.join(rootPath, repoName);\n if (await isGitRepository(directCandidate)) {\n return directCandidate;\n }\n\n const queue: Array<{ dirPath: string; depth: number }> = [{ dirPath: rootPath, depth: 0 }];\n let scannedCount = 0;\n const targetName = repoName.toLowerCase();\n\n for (let index = 0; index < queue.length; index += 1) {\n const current = queue[index];\n scannedCount += 1;\n if (scannedCount > MAX_SCANNED_DIRECTORIES) {\n break;\n }\n\n let entries: Dirent[];\n try {\n entries = await fs.readdir(current.dirPath, { withFileTypes: true });\n } catch {\n continue;\n }\n\n for (const entry of entries) {\n if (!entry.isDirectory()) continue;\n if (shouldSkipDirectory(entry.name, targetName)) continue;\n\n const nextDirPath = path.join(current.dirPath, entry.name);\n\n if (entry.name.toLowerCase() === targetName && await isGitRepository(nextDirPath)) {\n return nextDirPath;\n }\n\n if (current.depth + 1 <= MAX_SCAN_DEPTH) {\n queue.push({ dirPath: nextDirPath, depth: current.depth + 1 });\n }\n }\n }\n\n return null;\n}\n\nexport async function resolveRepositoryPathByName(repoName: string): Promise<string | null> {\n const trimmedName = repoName.trim();\n if (!trimmedName) return null;\n\n const cachedResolution = await getValidCachedResolution(trimmedName);\n if (cachedResolution) {\n return cachedResolution;\n }\n\n const config = await getConfig();\n\n const recentMatches = config.recentRepos.filter((repoPath) => hasMatchingName(repoPath, trimmedName));\n for (const repoPath of recentMatches) {\n if (await isGitRepository(repoPath)) {\n cacheResolution(trimmedName, repoPath);\n return repoPath;\n }\n }\n\n const searchRoots: string[] = [];\n const visitedRoots = new Set<string>();\n for (const repoPath of config.recentRepos) {\n const parentPath = path.dirname(repoPath);\n if (!visitedRoots.has(parentPath)) {\n visitedRoots.add(parentPath);\n searchRoots.push(parentPath);\n }\n }\n if (config.defaultRoot && !visitedRoots.has(config.defaultRoot)) {\n visitedRoots.add(config.defaultRoot);\n searchRoots.push(config.defaultRoot);\n }\n\n for (const rootPath of searchRoots) {\n const resolvedPath = await findByNameWithinRoot(rootPath, trimmedName);\n if (resolvedPath) {\n cacheResolution(trimmedName, resolvedPath);\n return resolvedPath;\n }\n }\n\n return null;\n}\n","'use server';\n\nimport { resolveRepositoryPathByName } from '@/lib/repo-resolver';\n\ntype ResolveRepositoryResult = {\n success: boolean;\n repoPath: string | null;\n error?: string;\n};\n\nexport async function resolveRepositoryByName(repoName: string): Promise<ResolveRepositoryResult> {\n try {\n const resolvedPath = await resolveRepositoryPathByName(repoName);\n return {\n success: true,\n repoPath: resolvedPath,\n };\n } catch (error) {\n console.error('Failed to resolve repository by name:', error);\n return {\n success: false,\n repoPath: null,\n error: 'Failed to search repositories. Please try again.',\n };\n }\n}\n","export {checkDirectoryAccessible as '40e04cf2a2afa6c7d306984663d4883f00455b36c3'} from 'ACTIONS_MODULE0'\nexport {listDirectories as '40ffd9754caf8d0c6f363b1ab1c5e87fcb004ac06d'} from 'ACTIONS_MODULE0'\nexport {getHomeDirectory as '00b2f585aab02de15106087cb132626fb625c0db26'} from 'ACTIONS_MODULE0'\nexport {checkIsGitRepo as '400782a3f97715c98c967e2f396d19d693c2041dad'} from 'ACTIONS_MODULE0'\nexport {getBranches as '40aa54365d229ff47bf5d53b3e4bfdd21ee82193aa'} from 'ACTIONS_MODULE0'\nexport {checkoutBranch as '600382d582a4b4cf6c5b442390aacd42b500f83837'} from 'ACTIONS_MODULE0'\nexport {startTtydProcess as '7f76c1c5fa2a2a8ac1ef4cd8262e536b2376830e89'} from 'ACTIONS_MODULE0'\nexport {getStartupScript as '7f9ed5e1e4229c377fd85f4f7524069b137baa5b87'} from 'ACTIONS_MODULE0'\nexport {getDefaultDevServerScript as '7fc47c9eed1b7933ba384f96662dafa0a9b380bd60'} from 'ACTIONS_MODULE0'\nexport {listRepoFiles as '7fccca6ac13459bb9638e3a08cb7913c923227fc5d'} from 'ACTIONS_MODULE0'\nexport {saveAttachments as '7ffb2975f419e7c26bdfb7b886d1a926fa4e634448'} from 'ACTIONS_MODULE0'\nexport {checkAgentCliInstalled as '401b05e1609d7de213bdbd2f05ccb4a50355b81c8c'} from 'ACTIONS_MODULE0'\nexport {installAgentCli as '40f0690e83fc46a0314a2ec86c258299ccb7c986ab'} from 'ACTIONS_MODULE0'\nexport {resolveRepositoryByName as '40642b5e03d55c14e450b5d9ed00241038d23516fa'} from 'ACTIONS_MODULE1'\nexport {copySessionAttachments as '70065a92fb1e241bd84f05b4e3b13affa3d1946c02'} from 'ACTIONS_MODULE2'\nexport {createSession as '7000ceadf25434a3fee9e40e378cdd319c2d1ea8f1'} from 'ACTIONS_MODULE2'\nexport {deleteSession as '4043d0168426852ee7d28bc7b8672390ce05409e35'} from 'ACTIONS_MODULE2'\nexport {getSessionPrefillContext as '405fb3fbd5af2014f0e0bd23a9c24cea6ad6c2c1ac'} from 'ACTIONS_MODULE2'\nexport {listSessions as '40950c45c77b1159158894addef799cbfa1868f05c'} from 'ACTIONS_MODULE2'\nexport {saveSessionLaunchContext as '60a9dccd117bb437e297b227dac6296c048e8a7a0b'} from 'ACTIONS_MODULE2'\nexport {getConfig as '003408daf503f563bd7702d8eae85f3b1294f2f284'} from 'ACTIONS_MODULE3'\nexport {updateConfig as '40146ea4475c4e00f7633055de4ed6516650b2e88c'} from 'ACTIONS_MODULE3'\nexport {updateRepoSettings as '6001b7cb18e9eda22799a38833b5ada49df5ca199f'} from 'ACTIONS_MODULE3'\n"],"names":[],"mappings":"8TAAA,EAAA,EAAA,CAAA,CAAA,OAEA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAKA,IAAM,EAAoB,IAAI,IAAI,CAChC,OACA,eACA,QACA,QACA,OACA,QACA,WACD,EAWD,SAAS,IAIP,OAHK,AAAD,OAAQ,mBAAmB,EAAE,CAC/B,OAAO,mBAAmB,CAAG,IAAI,GAAA,EAE5B,OAAO,mBAAmB,AACnC,CAEA,SAAS,EAAgB,CAAgB,CAAE,CAAgB,EACzD,IAAqB,GAAG,CAAC,EAAS,WAAW,GAAI,CAC/C,WACA,WAAY,KAAK,GAAG,EACtB,EACF,CAEA,eAAe,EAAyB,CAAgB,EACtD,IAAM,EAAQ,IAAqB,GAAG,CAAC,EAAS,WAAW,WAC3D,AAAK,EACD,EADA,GAAQ,AACH,GAAG,GAAK,EAAM,UAAU,CArCH,EAqCM,EArCF,CAsChC,IAAqB,AAtCgB,MAsCV,CAAC,EAAS,SADsB,EACX,IACzC,MAGL,MAAM,EAAgB,EAAM,QAAQ,EAC/B,CADkC,CAC5B,QAAQ,EAGvB,IAAqB,MAAM,CAAC,EAAS,WAAW,IACzC,MAXY,IAYrB,CAEA,eAAe,EAAgB,CAAe,EAC5C,GAAI,CAEF,OADA,MAAM,EAAA,OAAE,CAAC,MAAM,CAAC,EAAA,OAAI,CAAC,IAAI,CAAC,EAAS,UAC5B,CACT,CAAE,KAAM,CACN,OAAO,CACT,CACF,CAcA,eAAe,EAAqB,CAAgB,CAAE,CAAgB,EACpE,IAAM,EAAkB,EAAA,OAAI,CAAC,IAAI,CAAC,EAAU,GAC5C,GAAI,MAAM,EAAgB,GACxB,OAAO,EAGT,IAAM,EAJsC,AAIa,CAAC,CAAE,QAAS,EAAU,MAAO,CAAE,EAAE,CACtF,EAAe,EACb,EAAa,EAAS,WAAW,GAEvC,IAAK,IAAI,EAAQ,EAAG,EAAQ,EAAM,MAAM,CAAE,GAAS,EAAG,CACpD,IAMI,EANE,EAAU,CAAK,CAAC,EAAM,CAE5B,GAAI,CADJ,IAAgB,EApFY,IAsF1B,IADiB,EAKnB,GAAI,CACF,EAAU,MAAM,EAAA,OAAE,CAAC,CANuB,MAMhB,CAAC,EAAQ,OAAO,CAAE,CAAE,eAAe,CAAK,EACpE,CAAE,KAAM,CACN,QACF,CAEA,IAAK,IAAM,KAAS,EAAS,CAC3B,GAAI,CAAC,EAAM,WAAW,IAClB,AAlCV,SAA6B,AAApB,CAAqC,CAAE,CAAkB,EAChE,IAAM,EAAY,EAAU,WAAW,UACvC,AAAI,IAAc,MACd,EAAkB,GAAG,CADK,AACJ,IACtB,EAAU,CAFuB,KACC,IACd,CAAC,EADoB,GAG/C,CAFiC,CA8BH,EAAM,IA9BI,AA8BA,CAAE,GADV,SAG1B,CAFiD,GAE3C,EAAc,EAAA,OAAI,CAAC,IAAI,CAAC,EAAQ,OAAO,CAAE,EAAM,IAAI,EAEzD,GAAI,EAAM,IAAI,CAAC,WAAW,KAAO,GAAc,MAAM,EAAgB,GACnE,OAAO,EAGL,EAJ+E,AAIvE,KAAK,CAAG,GA3GH,EA2GQ,CACvB,EAAM,IAAI,CAAC,CAAE,OAD0B,CACjB,EAAa,MAAO,EAAQ,KAAK,CAAG,CAAE,EAEhE,CACF,CAEA,OAAO,IACT,CAEO,eAAe,EAA4B,CAAgB,EAChE,IAAM,EAAc,EAAS,IAAI,GACjC,GAAI,CAAC,EAAa,OAAO,KAEzB,IAAM,EAAmB,MAAM,EAAyB,GACxD,GAAI,EACF,OAAO,EAGT,IAAM,EAAS,CAJO,KAID,CAAA,EAAA,EAAA,SAAA,AAAS,IAG9B,IAAK,IAAM,KADW,EAAO,KACN,MADiB,CAAC,MAAM,CAAE,AACX,AADU,GAjEzC,EAAA,MAiEuD,CAjEnD,CAAC,QAAQ,CAiE0D,AAjEzD,GAAU,WAAW,KAiE8C,AAjEvC,EAAS,WAAW,IAmEnE,GAAI,MAAM,EAAgB,GAExB,OADA,CADmC,CACnB,EAAa,GACtB,EAIX,IAAM,EAAwB,EAAE,CAC1B,EAAe,IAAI,IACzB,IAAK,IAAM,KAAY,EAAO,WAAW,CAAE,CACzC,IAAM,EAAa,EAAA,OAAI,CAAC,OAAO,CAAC,GAC3B,EAAa,GAAG,CAAC,KACpB,EAAa,GAAG,CAAC,EADgB,CAEjC,EAAY,IAAI,CAAC,GAErB,CAMA,IAAK,IAAM,KALP,EAAO,WAAW,EAAI,CAAC,EAAa,GAAG,CAAC,EAAO,WAAW,GAAG,CAC/D,EAAa,GAAG,CAAC,EAAO,WAAW,EACnC,EAAY,IAAI,CAAC,EAAO,WAAW,GAGd,GAAa,CAClC,IAAM,EAAe,MAAM,EAAqB,EAAU,GAC1D,GAAI,EAEF,OADA,EAAgB,EAAa,CADb,EAET,CAEX,CAEA,OAAO,IACT,CCzJO,eAAe,EAAwB,CAAgB,EAC5D,GAAI,CACF,IAAM,EAAe,MAAM,EAA4B,GACvD,MAAO,CACL,SAAS,EACT,SAAU,CACZ,CACF,CAAE,MAAO,EAAO,CAEd,OADA,QAAQ,KAAK,CAAC,wCAAyC,GAChD,CACL,SAAS,EACT,SAAU,KACV,MAAO,kDACT,CACF,CACF,0CAfsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,2ECVtB,IAAA,EAAA,EAAA,CAAA,CAAA,OAaA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAMA,EAAA,EAAA,CAAA,CAAA"}
@@ -1,4 +1,4 @@
1
1
  module.exports=[37936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},51615,(a,b,c)=>{b.exports=a.x("node:buffer",()=>require("node:buffer"))},22734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},41202,(a,b,c)=>{function d(a,b,c,d){return Math.round(a/c)+" "+d+(b>=1.5*c?"s":"")}b.exports=function(a,b){b=b||{};var c,e,f,g,h=typeof a;if("string"===h&&a.length>0){var i=a;if(!((i=String(i)).length>100)){var j=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(i);if(j){var k=parseFloat(j[1]);switch((j[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*k;case"weeks":case"week":case"w":return 6048e5*k;case"days":case"day":case"d":return 864e5*k;case"hours":case"hour":case"hrs":case"hr":case"h":return 36e5*k;case"minutes":case"minute":case"mins":case"min":case"m":return 6e4*k;case"seconds":case"second":case"secs":case"sec":case"s":return 1e3*k;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return k;default:break}}}return}if("number"===h&&isFinite(a)){return b.long?(e=Math.abs(c=a))>=864e5?d(c,e,864e5,"day"):e>=36e5?d(c,e,36e5,"hour"):e>=6e4?d(c,e,6e4,"minute"):e>=1e3?d(c,e,1e3,"second"):c+" ms":(g=Math.abs(f=a))>=864e5?Math.round(f/864e5)+"d":g>=36e5?Math.round(f/36e5)+"h":g>=6e4?Math.round(f/6e4)+"m":g>=1e3?Math.round(f/1e3)+"s":f+"ms"}throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(a))}},93830,(a,b,c)=>{b.exports=function(b){function c(a){let b,e,f,g=null;function h(...a){if(!h.enabled)return;let d=Number(new Date);h.diff=d-(b||d),h.prev=b,h.curr=d,b=d,a[0]=c.coerce(a[0]),"string"!=typeof a[0]&&a.unshift("%O");let e=0;a[0]=a[0].replace(/%([a-zA-Z%])/g,(b,d)=>{if("%%"===b)return"%";e++;let f=c.formatters[d];if("function"==typeof f){let c=a[e];b=f.call(h,c),a.splice(e,1),e--}return b}),c.formatArgs.call(h,a),(h.log||c.log).apply(h,a)}return h.namespace=a,h.useColors=c.useColors(),h.color=c.selectColor(a),h.extend=d,h.destroy=c.destroy,Object.defineProperty(h,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==g?g:(e!==c.namespaces&&(e=c.namespaces,f=c.enabled(a)),f),set:a=>{g=a}}),"function"==typeof c.init&&c.init(h),h}function d(a,b){let d=c(this.namespace+(void 0===b?":":b)+a);return d.log=this.log,d}function e(a,b){let c=0,d=0,e=-1,f=0;for(;c<a.length;)if(d<b.length&&(b[d]===a[c]||"*"===b[d]))"*"===b[d]?(e=d,f=c):c++,d++;else{if(-1===e)return!1;d=e+1,c=++f}for(;d<b.length&&"*"===b[d];)d++;return d===b.length}return c.debug=c,c.default=c,c.coerce=function(a){return a instanceof Error?a.stack||a.message:a},c.disable=function(){let a=[...c.names,...c.skips.map(a=>"-"+a)].join(",");return c.enable(""),a},c.enable=function(a){for(let b of(c.save(a),c.namespaces=a,c.names=[],c.skips=[],("string"==typeof a?a:"").trim().replace(/\s+/g,",").split(",").filter(Boolean)))"-"===b[0]?c.skips.push(b.slice(1)):c.names.push(b)},c.enabled=function(a){for(let b of c.skips)if(e(a,b))return!1;for(let b of c.names)if(e(a,b))return!0;return!1},c.humanize=a.r(41202),c.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(b).forEach(a=>{c[a]=b[a]}),c.names=[],c.skips=[],c.formatters={},c.selectColor=function(a){let b=0;for(let c=0;c<a.length;c++)b=(b<<5)-b+a.charCodeAt(c)|0;return c.colors[Math.abs(b)%c.colors.length]},c.enable(c.load()),c}},36354,(a,b,c)=>{"use strict";b.exports=(a,b=process.argv)=>{let c=a.startsWith("-")?"":1===a.length?"-":"--",d=b.indexOf(c+a),e=b.indexOf("--");return -1!==d&&(-1===e||d<e)}},45681,(a,b,c)=>{"use strict";let d;a.r(46786);let e=a.r(70722),f=a.r(36354),{env:g}=process;function h(a){return 0!==a&&{level:a,hasBasic:!0,has256:a>=2,has16m:a>=3}}function i(a,b){if(0===d)return 0;if(f("color=16m")||f("color=full")||f("color=truecolor"))return 3;if(f("color=256"))return 2;if(a&&!b&&void 0===d)return 0;let c=d||0;if("dumb"===g.TERM)return c;if("CI"in g)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(a=>a in g)||"codeship"===g.CI_NAME?1:c;if("TEAMCITY_VERSION"in g)return+!!/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(g.TEAMCITY_VERSION);if("truecolor"===g.COLORTERM)return 3;if("TERM_PROGRAM"in g){let a=parseInt((g.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(g.TERM_PROGRAM){case"iTerm.app":return a>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(g.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(g.TERM)||"COLORTERM"in g?1:c}f("no-color")||f("no-colors")||f("color=false")||f("color=never")?d=0:(f("color")||f("colors")||f("color=true")||f("color=always"))&&(d=1),"FORCE_COLOR"in g&&(d="true"===g.FORCE_COLOR?1:"false"===g.FORCE_COLOR?0:0===g.FORCE_COLOR.length?1:Math.min(parseInt(g.FORCE_COLOR,10),3)),b.exports={supportsColor:function(a){return h(i(a,a&&a.isTTY))},stdout:h(i(!0,e.isatty(1))),stderr:h(i(!0,e.isatty(2)))}},16956,(a,b,c)=>{let d=a.r(70722),e=a.r(24361);c.init=function(a){a.inspectOpts={};let b=Object.keys(c.inspectOpts);for(let d=0;d<b.length;d++)a.inspectOpts[b[d]]=c.inspectOpts[b[d]]},c.log=function(...a){return process.stderr.write(e.formatWithOptions(c.inspectOpts,...a)+"\n")},c.formatArgs=function(a){let{namespace:d,useColors:e}=this;if(e){let c=this.color,e="\x1b[3"+(c<8?c:"8;5;"+c),f=` ${e};1m${d} \u001B[0m`;a[0]=f+a[0].split("\n").join("\n"+f),a.push(e+"m+"+b.exports.humanize(this.diff)+"\x1b[0m")}else a[0]=(c.inspectOpts.hideDate?"":new Date().toISOString()+" ")+d+" "+a[0]},c.save=function(a){a?process.env.DEBUG=a:delete process.env.DEBUG},c.load=function(){return process.env.DEBUG},c.useColors=function(){return"colors"in c.inspectOpts?!!c.inspectOpts.colors:d.isatty(process.stderr.fd)},c.destroy=e.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),c.colors=[6,2,3,4,5,1];try{let b=a.r(45681);b&&(b.stderr||b).level>=2&&(c.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch(a){}c.inspectOpts=Object.keys(process.env).filter(a=>/^debug_/i.test(a)).reduce((a,b)=>{let c=b.substring(6).toLowerCase().replace(/_([a-z])/g,(a,b)=>b.toUpperCase()),d=process.env[b];return d=!!/^(yes|on|true|enabled)$/i.test(d)||!/^(no|off|false|disabled)$/i.test(d)&&("null"===d?null:Number(d)),a[c]=d,a},{}),b.exports=a.r(93830)(c);let{formatters:f}=b.exports;f.o=function(a){return this.inspectOpts.colors=this.useColors,e.inspect(a,this.inspectOpts).split("\n").map(a=>a.trim()).join(" ")},f.O=function(a){return this.inspectOpts.colors=this.useColors,e.inspect(a,this.inspectOpts)}},58077,(a,b,c)=>{let d;c.formatArgs=function(a){if(a[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+a[0]+(this.useColors?"%c ":" ")+"+"+b.exports.humanize(this.diff),!this.useColors)return;let c="color: "+this.color;a.splice(1,0,c,"color: inherit");let d=0,e=0;a[0].replace(/%[a-zA-Z%]/g,a=>{"%%"!==a&&(d++,"%c"===a&&(e=d))}),a.splice(e,0,c)},c.save=function(a){try{a?c.storage.setItem("debug",a):c.storage.removeItem("debug")}catch(a){}},c.load=function(){let a;try{a=c.storage.getItem("debug")||c.storage.getItem("DEBUG")}catch(a){}return!a&&"u">typeof process&&"env"in process&&(a=process.env.DEBUG),a},c.useColors=function(){let a;return!("u">typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&("u">typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"u">typeof navigator&&navigator.userAgent&&(a=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(a[1],10)>=31||"u">typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},c.storage=function(){try{return localStorage}catch(a){}}(),d=!1,c.destroy=()=>{d||(d=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))},c.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],c.log=console.debug||console.log||(()=>{}),b.exports=a.r(93830)(c);let{formatters:e}=b.exports;e.j=function(a){try{return JSON.stringify(a)}catch(a){return"[UnexpectedJSONParseError]: "+a.message}}},61998,(a,b,c)=>{"u"<typeof process||"renderer"===process.type||process.__nwjs?b.exports=a.r(58077):b.exports=a.r(16956)},50023,(a,b,c)=>{"use strict";var d=a.e&&a.e.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(c,"__esModule",{value:!0});let e=a.r(22734),f=d(a.r(61998)).default("@kwsites/file-exists");c.exists=function(a,b=c.READABLE){return function(a,b,c){f("checking %s",a);try{let d=e.statSync(a);if(d.isFile()&&b)return f("[OK] path represents a file"),!0;if(d.isDirectory()&&c)return f("[OK] path represents a directory"),!0;return f("[FAIL] path represents something other than a file or directory"),!1}catch(a){if("ENOENT"===a.code)return f("[FAIL] path is not accessible: %o",a),!1;throw f("[FATAL] %o",a),a}}(a,(b&c.FILE)>0,(b&c.FOLDER)>0)},c.FILE=1,c.FOLDER=2,c.READABLE=c.FILE+c.FOLDER},2355,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d=a.r(50023);for(var e in d)c.hasOwnProperty(e)||(c[e]=d[e])},68076,(a,b,c)=>{"use strict";function d(){let a,b,c="pending";return{promise:new Promise((c,d)=>{a=c,b=d}),done(b){"pending"===c&&(c="resolved",a(b))},fail(a){"pending"===c&&(c="rejected",b(a))},get fulfilled(){return"pending"!==c},get status(){return c}}}Object.defineProperty(c,"__esModule",{value:!0}),c.createDeferred=c.deferred=void 0,c.deferred=d,c.createDeferred=d,c.default=d},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},87769,(a,b,c)=>{b.exports=a.x("node:events",()=>require("node:events"))},13095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},15271,4503,a=>{"use strict";let b,c;var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aI,aJ,aK,aL,aM,aN,aO,aP,aQ,aR,aS,aT,aU,aV,aW,aX=a.i(37936),aY=a.i(24868),aZ=a.i(14747),a$=a.i(46786),a_=a.i(51615),a0=a.i(2355),a1=a.i(61998),a2=a.i(33405),a3=a.i(68076),a4=a.i(50227),a5=a.i(87769),a6=Object.defineProperty,a7=Object.getOwnPropertyDescriptor,a8=Object.getOwnPropertyNames,a9=Object.prototype.hasOwnProperty,ba=(a,b)=>function(){return a&&(b=(0,a[a8(a)[0]])(a=0)),b},bb=(a,b)=>{for(var c in b)a6(a,c,{get:b[c],enumerable:!0})},bc=a=>((a,b,c,d)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let e of a8(b))a9.call(a,e)||e===c||a6(a,e,{get:()=>b[e],enumerable:!(d=a7(b,e))||d.enumerable});return a})(a6({},"__esModule",{value:!0}),a);function bd(a){return a instanceof String&&d.has(a)}function be(a){return d.get(a)||[]}var bf=ba({"src/lib/args/pathspec.ts"(){d=new WeakMap}}),bg=ba({"src/lib/errors/git-error.ts"(){e=class extends Error{constructor(a,b){super(b),this.task=a,Object.setPrototypeOf(this,new.target.prototype)}}}}),bh=ba({"src/lib/errors/git-response-error.ts"(){bg(),f=class extends e{constructor(a,b){super(void 0,b||String(a)),this.git=a}}}}),bi=ba({"src/lib/errors/task-configuration-error.ts"(){bg(),g=class extends e{constructor(a){super(void 0,a)}}}});function bj(a){return"function"!=typeof a?i:a}function bk(a){return"function"==typeof a&&a!==i}function bl(a,b){let c=a.indexOf(b);return c<=0?[a,""]:[a.substr(0,c),a.substr(c+1)]}function bm(a,b=0){return o(a)&&a.length>b?a[b]:void 0}function bn(a,b=0){if(o(a)&&a.length>b)return a[a.length-1-b]}function bo(a="",b=!0,c="\n"){return a.split(c).reduce((a,c)=>{let d=b?c.trim():c;return d&&a.push(d),a},[])}function bp(a,b){return bo(a,!0).map(a=>b(a))}function bq(a){return(0,a0.exists)(a,a0.FOLDER)}function br(a,b){return Array.isArray(a)?a.includes(b)||a.push(b):a.add(b),b}function bs(a,b){return Array.isArray(a)&&!a.includes(b)&&a.push(b),a}function bt(a,b){if(Array.isArray(a)){let c=a.indexOf(b);c>=0&&a.splice(c,1)}else a.delete(b);return b}function bu(a){return Array.isArray(a)?a:[a]}function bv(a){return a.replace(/[\s-]+(.)/g,(a,b)=>b.toUpperCase())}function bw(a){return bu(a).map(a=>a instanceof String?a:String(a))}function bx(a,b=0){if(null==a)return b;let c=parseInt(a,10);return Number.isNaN(c)?b:c}function by(a,b){let c=[];for(let d=0,e=a.length;d<e;d++)c.push(b,a[d]);return c}function bz(a){return(Array.isArray(a)?a_.Buffer.concat(a):a).toString("utf-8")}function bA(a,b){let c={};return b.forEach(b=>{void 0!==a[b]&&(c[b]=a[b])}),c}function bB(a=0){return new Promise(b=>setTimeout(b,a))}function bC(a){if(!1!==a)return a}var bD=ba({"src/lib/utils/util.ts"(){bI(),h="\0",i=()=>{},j=Object.prototype.toString.call.bind(Object.prototype.toString)}});function bE(a,b,c){return b(a)?a:arguments.length>2?c:void 0}function bF(a,b){let c=bd(a)?"string":typeof a;return/number|string|boolean/.test(c)&&(!b||!b.includes(c))}function bG(a){return!!a&&"[object Object]"===j(a)}function bH(a){return"function"==typeof a}var bI=ba({"src/lib/utils/argument-filters.ts"(){bf(),bD(),k=a=>Array.isArray(a),l=a=>"number"==typeof a,m=a=>"string"==typeof a,n=a=>m(a)||Array.isArray(a)&&a.every(m),o=a=>!(null==a||"number|boolean|function".includes(typeof a))&&"number"==typeof a.length}}),bJ=ba({"src/lib/utils/exit-codes.ts"(){var a;(a=p||{})[a.SUCCESS=0]="SUCCESS",a[a.ERROR=1]="ERROR",a[a.NOT_FOUND=-2]="NOT_FOUND",a[a.UNCLEAN=128]="UNCLEAN",p=a}}),bK=ba({"src/lib/utils/git-output-streams.ts"(){q=class a{constructor(a,b){this.stdOut=a,this.stdErr=b}asStrings(){return new a(this.stdOut.toString("utf8"),this.stdErr.toString("utf8"))}}}});function bL(){throw Error("LineParser:useMatches not implemented")}var bM=ba({"src/lib/utils/line-parser.ts"(){r=class{constructor(a,b){this.matches=[],this.useMatches=bL,this.parse=(a,b)=>(this.resetMatches(),!!this._regExp.every((b,c)=>this.addMatch(b,c,a(c)))&&!1!==this.useMatches(b,this.prepareMatches())),this._regExp=Array.isArray(a)?a:[a],b&&(this.useMatches=b)}resetMatches(){this.matches.length=0}prepareMatches(){return this.matches}addMatch(a,b,c){let d=c&&a.exec(c);return d&&this.pushMatch(b,d),!!d}pushMatch(a,b){this.matches.push(...b.slice(1))}},s=class extends r{addMatch(a,b,c){return/^remote:\s/.test(String(c))&&super.addMatch(a,b,c)}pushMatch(a,b){(a>0||b.length>1)&&super.pushMatch(a,b)}}}});function bN(...a){let b=process.cwd(),c=Object.assign({baseDir:b,...t},...a.filter(a=>"object"==typeof a&&a));return c.baseDir=c.baseDir||b,c.trimmed=!0===c.trimmed,c}var bO=ba({"src/lib/utils/simple-git-options.ts"(){t={binary:"git",maxConcurrentProcesses:5,config:[],trimmed:!1}}});function bP(a,b=[]){return bG(a)?Object.keys(a).reduce((b,c)=>{let d=a[c];if(bd(d))b.push(d);else if(bF(d,["boolean"]))b.push(c+"="+d);else if(Array.isArray(d))for(let a of d)bF(a,["string","number"])||b.push(c+"="+a);else b.push(c);return b},b):b}function bQ(a,b=0,c=!1){var d;let e,f=[];for(let c=0,d=b<0?a.length:b;c<d;c++)"string|number".includes(typeof a[c])&&f.push(String(a[c]));return bP(bR(a),f),c||f.push(...(e="function"==typeof bn(d=a),bw(bE(bn(d,+!!e),k,[])))),f}function bR(a){let b=bH(bn(a));return bE(bn(a,+!!b),bG)}function bS(a,b=!0){let c=bj(bn(a));return b||bk(c)?c:void 0}var bT=ba({"src/lib/utils/task-options.ts"(){bI(),bD(),bf()}});function bU(a,b){return a(b.stdOut,b.stdErr)}function bV(a,b,c,d=!0){return bu(c).forEach(c=>{for(let e=bo(c,d),f=0,g=e.length;f<g;f++){let c=(a=0)=>{if(!(f+a>=g))return e[f+a]};b.some(({parse:b})=>b(c,a))}}),a}var bW=ba({"src/lib/utils/task-parser.ts"(){bD()}}),bX={};bb(bX,{ExitCodes:()=>p,GitOutputStreams:()=>q,LineParser:()=>r,NOOP:()=>i,NULL:()=>h,RemoteLineParser:()=>s,append:()=>br,appendTaskOptions:()=>bP,asArray:()=>bu,asCamelCase:()=>bv,asFunction:()=>bj,asNumber:()=>bx,asStringArray:()=>bw,bufferToString:()=>bz,callTaskParser:()=>bU,createInstanceConfig:()=>bN,delay:()=>bB,filterArray:()=>k,filterFunction:()=>bH,filterHasLength:()=>o,filterNumber:()=>l,filterPlainObject:()=>bG,filterPrimitives:()=>bF,filterString:()=>m,filterStringOrStringArray:()=>n,filterType:()=>bE,first:()=>bm,folderExists:()=>bq,forEachLineWithContent:()=>bp,getTrailingOptions:()=>bQ,including:()=>bs,isUserFunction:()=>bk,last:()=>bn,objectToString:()=>j,orVoid:()=>bC,parseStringResponse:()=>bV,pick:()=>bA,prefixedArray:()=>by,remove:()=>bt,splitOn:()=>bl,toLinesWithContent:()=>bo,trailingFunctionArgument:()=>bS,trailingOptionsArgument:()=>bR});var bY=ba({"src/lib/utils/index.ts"(){bI(),bJ(),bK(),bM(),bO(),bT(),bW(),bD()}}),bZ={};function b$(a){switch(a){case"bare":return b0();case"root":return b_()}return{commands:["rev-parse","--is-inside-work-tree"],format:"utf-8",onError:v,parser:w}}function b_(){return{commands:["rev-parse","--git-dir"],format:"utf-8",onError:v,parser:a=>/^\.(git)?$/.test(a.trim())}}function b0(){return{commands:["rev-parse","--is-bare-repository"],format:"utf-8",onError:v,parser:w}}bb(bZ,{CheckRepoActions:()=>u,checkIsBareRepoTask:()=>b0,checkIsRepoRootTask:()=>b_,checkIsRepoTask:()=>b$});var b1=ba({"src/lib/tasks/check-is-repo.ts"(){var a;bY(),(a=u||{}).BARE="bare",a.IN_TREE="tree",a.IS_REPO_ROOT="root",u=a,v=({exitCode:a},b,c,d)=>{if(128===a&&/(Not a git repository|Kein Git-Repository)/i.test(String(b)))return c(Buffer.from("false"));d(b)},w=a=>"true"===a.trim()}}),b2=ba({"src/lib/responses/CleanSummary.ts"(){bY(),x=class{constructor(a){this.dryRun=a,this.paths=[],this.files=[],this.folders=[]}},y=/^[a-z]+\s*/i,z=/^[a-z]+\s+[a-z]+\s*/i,A=/\/$/}}),b3={};function b4(a){return{commands:B,format:"empty",parser:a}}function b5(a){return{commands:B,format:"empty",parser(){throw"string"==typeof a?new g(a):a}}}function b6(a,b=!1){return{commands:a,format:"utf-8",parser:a=>b?String(a).trim():a}}function b7(a){return{commands:a,format:"buffer",parser:a=>a}}function b8(a){return"buffer"===a.format}function b9(a){return"empty"===a.format||!a.commands.length}bb(b3,{EMPTY_COMMANDS:()=>B,adhocExecTask:()=>b4,configurationErrorTask:()=>b5,isBufferTask:()=>b8,isEmptyTask:()=>b9,straightThroughBufferTask:()=>b7,straightThroughStringTask:()=>b6});var ca=ba({"src/lib/tasks/task.ts"(){bi(),B=[]}}),cb={};function cc(a,b){let c,d,e,{cleanMode:f,options:g,valid:h}=(d=[],e={cleanMode:!1,options:!0},a.replace(/[^a-z]i/g,"").split("").forEach(a=>{var b,f;"f"===(b=a)||"n"===b?(c=a,e.cleanMode=!0):e.options=e.options&&(f=d[d.length]=`-${a}`,/^-[a-z]$/i.test(f)&&G.has(f.charAt(1)))}),{cleanMode:c,options:d,valid:e});return f?h.options?(g.push(...b),g.some(cf))?b5(C):cd(f,g):b5(E+JSON.stringify(a)):b5(D)}function cd(a,b){return{commands:["clean",`-${a}`,...b],format:"utf-8",parser:b=>{var c;let d,e;return d=new x(c="n"===a),e=c?z:y,bo(b).forEach(a=>{let b=a.replace(e,"");d.paths.push(b),(A.test(b)?d.folders:d.files).push(b)}),d}}}function ce(a){return Array.isArray(a)&&a.every(a=>G.has(a))}function cf(a){return/^-[^\-]/.test(a)?a.indexOf("i")>0:"--interactive"===a}bb(cb,{CONFIG_ERROR_INTERACTIVE_MODE:()=>C,CONFIG_ERROR_MODE_REQUIRED:()=>D,CONFIG_ERROR_UNKNOWN_OPTION:()=>E,CleanOptions:()=>F,cleanTask:()=>cd,cleanWithOptionsTask:()=>cc,isCleanOptionsArray:()=>ce});var cg=ba({"src/lib/tasks/clean.ts"(){var a;b2(),bY(),ca(),C="Git clean interactive mode is not supported",D='Git clean mode parameter ("n" or "f") is required',E="Git clean unknown option found in: ",(a=F||{}).DRY_RUN="n",a.FORCE="f",a.IGNORED_INCLUDED="x",a.IGNORED_ONLY="X",a.EXCLUDING="e",a.QUIET="q",a.RECURSIVE="d",G=new Set(["i",...bw(Object.values(F=a))])}});function*ch(a,b=null){let c=a.split("\0");for(let a=0,d=c.length-1;a<d;){let d=c[a++].replace(/^(file):/,""),e=c[a++],f=b;if(e.includes("\n")){let a=bl(e,"\n");f=a[0],e=a[1]}yield{file:d,key:f,value:e}}}var ci=ba({"src/lib/responses/ConfigList.ts"(){bY(),H=class{constructor(){this.files=[],this.values=Object.create(null)}get all(){return this._all||(this._all=this.files.reduce((a,b)=>Object.assign(a,this.values[b]),{})),this._all}addFile(a){if(!(a in this.values)){let b=bn(this.files);this.values[a]=b?Object.create(this.values[b]):{},this.files.push(a)}return this.values[a]}addValue(a,b,c){let d=this.addFile(a);Object.hasOwn(d,b)?Array.isArray(d[b])?d[b].push(c):d[b]=[d[b],c]:d[b]=c,this._all=void 0}}}});function cj(a,b){return"string"==typeof a&&Object.hasOwn(I,a)?a:b}var ck=ba({"src/lib/tasks/config.ts"(){var a;ci(),bY(),(a=I||{}).system="system",a.global="global",a.local="local",a.worktree="worktree",I=a}}),cl=ba({"src/lib/tasks/diff-name-status.ts"(){var a;(a=J||{}).ADDED="A",a.COPIED="C",a.DELETED="D",a.MODIFIED="M",a.RENAMED="R",a.CHANGED="T",a.UNMERGED="U",a.UNKNOWN="X",a.BROKEN="B",K=new Set(Object.values(J=a))}}),cm=ba({"src/lib/tasks/grep.ts"(){bY(),ca(),L=["-h"],M=Symbol("grepQuery"),O=class{constructor(){this[N]=[]}*[(N=M,Symbol.iterator)](){for(let a of this[M])yield a}and(...a){return a.length&&this[M].push("--and","(",...by(a,"-e"),")"),this}param(...a){return this[M].push(...by(a,"-e")),this}}}}),cn={};function co(a,b){let c=["reset"];return cq(a)&&c.push(`--${a}`),c.push(...b),b6(c)}function cp(a){if(cq(a))return a;switch(typeof a){case"string":case"undefined":return"soft"}}function cq(a){return"string"==typeof a&&Q.includes(a)}bb(cn,{ResetMode:()=>P,getResetMode:()=>cp,resetTask:()=>co});var cr=ba({"src/lib/tasks/reset.ts"(){var a;bY(),ca(),(a=P||{}).MIXED="mixed",a.SOFT="soft",a.HARD="hard",a.MERGE="merge",a.KEEP="keep",Q=bw(Object.values(P=a))}});function cs(a,b,c){return b&&String(b).replace(/\s*/,"")?(d,...e)=>{a(`%s ${d}`,b,...e),c&&c(d,...e)}:c?(b,...d)=>{a(b,...d),c(b,...d)}:a}function ct(a,b,c,d=(0,a1.default)("simple-git")){let e=a&&`[${a}]`||"",f=[],g="string"==typeof b?d.extend(b):b,h=function(a,b,{namespace:c}){if("string"==typeof a)return a;let d=b&&b.namespace||"";return d.startsWith(c)?d.substr(c.length+1):d||c}(bE(b,m),g,d);return function b(c){let f=c&&`[${c}]`||"",h=g&&cs(g,f)||i,k=cs(d,`${e} ${f}`,h);return Object.assign(g?h:k,{label:a,sibling:j,info:k,step:b})}(c);function j(b,c){return br(f,ct(a,h.replace(/^[^:]+/,b),c,d))}}var cu=ba({"src/lib/git-logger.ts"(){bY(),a1.default.formatters.L=a=>String(o(a)?a.length:"-"),a1.default.formatters.B=a=>Buffer.isBuffer(a)?a.toString("utf8"):j(a)}}),cv=ba({"src/lib/runners/tasks-pending-queue.ts"(){bg(),cu(),R=class a{constructor(a="GitExecutor"){this.logLabel=a,this._queue=new Map}withProgress(a){return this._queue.get(a)}createProgress(b){let c=a.getName(b.commands[0]);return{task:b,logger:ct(this.logLabel,c),name:c}}push(a){let b=this.createProgress(a);return b.logger("Adding task to the queue, commands = %o",a.commands),this._queue.set(a,b),b}fatal(a){for(let[b,{logger:c}]of Array.from(this._queue.entries()))b===a.task?(c.info("Failed %o",a),c("Fatal exception, any as-yet un-started tasks run through this executor will not be attempted")):c.info("A fatal exception occurred in a previous task, the queue has been purged: %o",a.message),this.complete(b);if(0!==this._queue.size)throw Error(`Queue size should be zero after fatal: ${this._queue.size}`)}complete(a){this.withProgress(a)&&this._queue.delete(a)}attempt(a){let b=this.withProgress(a);if(!b)throw new e(void 0,"TasksPendingQueue: attempt called for an unknown task");return b.logger("Starting task"),b}static getName(b="empty"){return`task:${b}:${++a.counter}`}static{this.counter=0}}}});function cw(a,b){return{method:bm(a.commands)||"",commands:b}}function cx(a,b,c,d){return e=>{c("%s received %L bytes",b,e),d("%B",e),a.push(e)}}var cy=ba({"src/lib/runners/git-executor-chain.ts"(){bg(),ca(),bY(),cv(),S=class{constructor(a,b,c){this._executor=a,this._scheduler=b,this._plugins=c,this._chain=Promise.resolve(),this._queue=new R}get cwd(){return this._cwd||this._executor.cwd}set cwd(a){this._cwd=a}get env(){return this._executor.env}get outputHandler(){return this._executor.outputHandler}chain(){return this}push(a){return this._queue.push(a),this._chain=this._chain.then(()=>this.attemptTask(a))}async attemptTask(a){let b=await this._scheduler.next(),c=()=>this._queue.complete(a);try{let{logger:b}=this._queue.attempt(a);return await (b9(a)?this.attemptEmptyTask(a,b):this.attemptRemoteTask(a,b))}catch(b){throw this.onFatalException(a,b)}finally{c(),b()}}onFatalException(a,b){let c=b instanceof e?Object.assign(b,{task:a}):new e(a,b&&String(b));return this._chain=Promise.resolve(),this._queue.fatal(c),c}async attemptRemoteTask(a,b){let c=this._plugins.exec("spawn.binary","",cw(a,a.commands)),d=this._plugins.exec("spawn.args",[...a.commands],cw(a,a.commands)),e=await this.gitResponse(a,c,d,this.outputHandler,b.step("SPAWN")),f=await this.handleTaskData(a,d,e,b.step("HANDLE"));return(b("passing response to task's parser as a %s",a.format),b8(a))?bU(a.parser,f):bU(a.parser,f.asStrings())}async attemptEmptyTask(a,b){return b("empty task bypassing child process to call to task's parser"),a.parser(this)}handleTaskData(a,b,c,d){let{exitCode:e,rejection:f,stdOut:g,stdErr:h}=c;return new Promise((i,k)=>{d("Preparing to handle process response exitCode=%d stdOut=",e);let{error:l}=this._plugins.exec("task.error",{error:f},{...cw(a,b),...c});return l&&a.onError?(d.info("exitCode=%s handling with custom error handler"),a.onError(c,l,a=>{d.info("custom error handler treated as success"),d("custom error returned a %s",j(a)),i(new q(Array.isArray(a)?Buffer.concat(a):a,Buffer.concat(h)))},k)):l?(d.info("handling as error: exitCode=%s stdErr=%s rejection=%o",e,h.length,f),k(l)):void(d.info("retrieving task output complete"),i(new q(Buffer.concat(g),Buffer.concat(h))))})}async gitResponse(a,b,c,d,e){let f=e.sibling("output"),g=this._plugins.exec("spawn.options",{cwd:this.cwd,env:this.env,windowsHide:!0},cw(a,a.commands));return new Promise(h=>{let i=[],j=[];e.info("%s %o",b,c),e("%O",g);let k=this._beforeSpawn(a,c);if(k)return h({stdOut:i,stdErr:j,exitCode:9901,rejection:k});this._plugins.exec("spawn.before",void 0,{...cw(a,c),kill(a){k=a||k}});let l=(0,a2.spawn)(b,c,g);l.stdout.on("data",cx(i,"stdOut",e,f.step("stdOut"))),l.stderr.on("data",cx(j,"stdErr",e,f.step("stdErr"))),l.on("error",a=>{e("[ERROR] child process exception %o",a),j.push(Buffer.from(String(a.stack),"ascii"))}),d&&(e("Passing child process stdOut/stdErr to custom outputHandler"),d(b,l.stdout,l.stderr,[...c])),this._plugins.exec("spawn.after",void 0,{...cw(a,c),spawned:l,close(a,b){h({stdOut:i,stdErr:j,exitCode:a,rejection:k||b})},kill(a){l.killed||(k=a,l.kill("SIGINT"))}})})}_beforeSpawn(a,b){let c;return this._plugins.exec("spawn.before",void 0,{...cw(a,b),kill(a){c=a||c}}),c}}}}),cz={};bb(cz,{GitExecutor:()=>T});var cA=ba({"src/lib/runners/git-executor.ts"(){cy(),T=class{constructor(a,b,c){this.cwd=a,this._scheduler=b,this._plugins=c,this._chain=new S(this,this._scheduler,this._plugins)}chain(){return new S(this,this._scheduler,this._plugins)}push(a){return this._chain.push(a)}}}}),cB=ba({"src/lib/task-callback.ts"(){bh(),bY()}});function cC(a,b){return b4(c=>{if(!bq(a))throw Error(`Git.cwd: cannot change to non-directory "${a}"`);return(b||c).cwd=a})}var cD=ba({"src/lib/tasks/change-working-directory.ts"(){bY(),ca()}});function cE(a){let b=["checkout",...a];return"-b"===b[1]&&b.includes("-B")&&(b[1]=bt(b,"-B")),b6(b)}var cF=ba({"src/lib/tasks/checkout.ts"(){bY(),ca()}}),cG=ba({"src/lib/tasks/count-objects.ts"(){bY(),U=new r(/([a-z-]+): (\d+)$/,(a,[b,c])=>{let d=bv(b);Object.hasOwn(a,d)&&(a[d]=bx(c))})}});function cH(a){return bV({author:null,branch:"",commit:"",root:!1,summary:{changes:0,insertions:0,deletions:0}},V,a)}var cI=ba({"src/lib/parsers/parse-commit.ts"(){bY(),V=[new r(/^\[([^\s]+)( \([^)]+\))? ([^\]]+)/,(a,[b,c,d])=>{a.branch=b,a.commit=d,a.root=!!c}),new r(/\s*Author:\s(.+)/i,(a,[b])=>{let c=b.split("<"),d=c.pop();d&&d.includes("@")&&(a.author={email:d.substr(0,d.length-1),name:c.join("<").trim()})}),new r(/(\d+)[^,]*(?:,\s*(\d+)[^,]*)(?:,\s*(\d+))/g,(a,[b,c,d])=>{a.summary.changes=parseInt(b,10)||0,a.summary.insertions=parseInt(c,10)||0,a.summary.deletions=parseInt(d,10)||0}),new r(/^(\d+)[^,]*(?:,\s*(\d+)[^(]+\(([+-]))?/,(a,[b,c,d])=>{a.summary.changes=parseInt(b,10)||0;let e=parseInt(c,10)||0;"-"===d?a.summary.deletions=e:"+"===d&&(a.summary.insertions=e)})]}}),cJ=ba({"src/lib/tasks/commit.ts"(){cI(),bY(),ca()}}),cK=ba({"src/lib/tasks/first-commit.ts"(){bY(),ca()}}),cL=ba({"src/lib/tasks/hash-object.ts"(){ca()}}),cM=ba({"src/lib/responses/InitSummary.ts"(){W=class{constructor(a,b,c,d){this.bare=a,this.path=b,this.existing=c,this.gitDir=d}},X=/^Init.+ repository in (.+)$/,Y=/^Rein.+ in (.+)$/}}),cN=ba({"src/lib/tasks/init.ts"(){cM(),Z="--bare"}});function cO(a){for(let b=0;b<a.length;b++){let c=$.exec(a[b]);if(c)return`--${c[1]}`}return""}function cP(a){return $.test(a)}var cQ=ba({"src/lib/args/log-format.ts"(){$=/^--(stat|numstat|name-only|name-status)(=|$)/}}),cR=ba({"src/lib/responses/DiffSummary.ts"(){_=class{constructor(){this.changed=0,this.deletions=0,this.insertions=0,this.files=[]}}}});function cS(a=""){let b=ad[a];return a=>bV(new _,b,a,!1)}var cT=ba({"src/lib/parsers/parse-diff-summary.ts"(){cQ(),cR(),cl(),bY(),aa=[new r(/^(.+)\s+\|\s+(\d+)(\s+[+\-]+)?$/,(a,[b,c,d=""])=>{a.files.push({file:b.trim(),changes:bx(c),insertions:d.replace(/[^+]/g,"").length,deletions:d.replace(/[^-]/g,"").length,binary:!1})}),new r(/^(.+) \|\s+Bin ([0-9.]+) -> ([0-9.]+) ([a-z]+)/,(a,[b,c,d])=>{a.files.push({file:b.trim(),before:bx(c),after:bx(d),binary:!0})}),new r(/(\d+) files? changed\s*((?:, \d+ [^,]+){0,2})/,(a,[b,c])=>{let d=/(\d+) i/.exec(c),e=/(\d+) d/.exec(c);a.changed=bx(b),a.insertions=bx(d?.[1]),a.deletions=bx(e?.[1])})],ab=[new r(/(\d+)\t(\d+)\t(.+)$/,(a,[b,c,d])=>{let e=bx(b),f=bx(c);a.changed++,a.insertions+=e,a.deletions+=f,a.files.push({file:d,changes:e+f,insertions:e,deletions:f,binary:!1})}),new r(/-\t-\t(.+)$/,(a,[b])=>{a.changed++,a.files.push({file:b,after:0,before:0,binary:!0})})],ac=[new r(/(.+)$/,(a,[b])=>{a.changed++,a.files.push({file:b,changes:0,insertions:0,deletions:0,binary:!1})})],ad={"":aa,"--stat":aa,"--numstat":ab,"--name-status":[new r(/([ACDMRTUXB])([0-9]{0,3})\t(.[^\t]*)(\t(.[^\t]*))?$/,(a,[b,c,d,e,f])=>{a.changed++,a.files.push({file:f??d,changes:0,insertions:0,deletions:0,binary:!1,status:bC(K.has(b)&&b),from:bC(!!f&&d!==f&&d),similarity:bx(c)})})],"--name-only":ac}}});function cU(a=ag,b=ah,c=""){let d=cS(c);return function(c){let e=bo(c.trim(),!1,ae).map(function(c){var e;let f=c.split(af),g=(e=f[0].split(a),b.reduce((a,b,c)=>(a[b]=e[c]||"",a),Object.create({diff:null})));return f.length>1&&f[1].trim()&&(g.diff=d(f[1])),g});return{all:e,latest:e.length&&e[0]||null,total:e.length}}}var cV=ba({"src/lib/parsers/parse-list-log-summary.ts"(){bY(),cT(),cQ(),ae="òòòòòò ",af=" òò",ag=" ò ",ah=["hash","date","message","refs","author_name","author_email"]}}),cW={};function cX(a){let b=cO(a),c=["diff"];return""===b&&(b="--stat",c.push("--stat=4096")),c.push(...a),cY(c)||{commands:c,format:"utf-8",parser:cS(b)}}function cY(a){let b=a.filter(cP);return b.length>1?b5(`Summary flags are mutually exclusive - pick one of ${b.join(",")}`):b.length&&a.includes("-z")?b5(`Summary flag ${b} parsing is not compatible with null termination option '-z'`):void 0}bb(cW,{diffSummaryTask:()=>cX,validateLogFormatConfig:()=>cY});var cZ=ba({"src/lib/tasks/diff.ts"(){cQ(),cT(),ca()}});function c$(a={},b=[]){var c;let e,f,g=bE(a.splitter,m,ag),[h,i]=(c=bG(a.format)?a.format:{hash:"%H",date:!1===a.strictDate?"%ai":"%aI",message:"%s",refs:"%D",body:a.multiLine?"%B":"%b",author_name:!1!==a.mailMap?"%aN":"%an",author_email:!1!==a.mailMap?"%aE":"%ae"},e=[],f=[],Object.keys(c).forEach(a=>{e.push(a),f.push(String(c[a]))}),[e,f.join(g)]),j=[],k=[`--pretty=format:${ae}${i}${af}`,...b],l=a.n||a["max-count"]||a.maxCount;if(l&&k.push(`--max-count=${l}`),a.from||a.to){let b=!1!==a.symmetric?"...":"..";j.push(`${a.from||""}${b}${a.to||""}`)}return m(a.file)&&k.push("--follow",function(...a){let b=new String(a);return d.set(b,a),b}(a.file)),bP(Object.keys(a).reduce((b,c)=>(c in ai||(b[c]=a[c]),b),{}),k),{fields:h,splitter:g,commands:[...k,...j]}}var c_=ba({"src/lib/tasks/log.ts"(){var a;cQ(),bf(),cV(),bY(),ca(),cZ(),(a=ai||{})[a["--pretty"]=0]="--pretty",a[a["max-count"]=1]="max-count",a[a.maxCount=2]="maxCount",a[a.n=3]="n",a[a.file=4]="file",a[a.format=5]="format",a[a.from=6]="from",a[a.to=7]="to",a[a.splitter=8]="splitter",a[a.symmetric=9]="symmetric",a[a.mailMap=10]="mailMap",a[a.multiLine=11]="multiLine",a[a.strictDate=12]="strictDate",ai=a}}),c0=ba({"src/lib/responses/MergeSummary.ts"(){aj=class{constructor(a,b=null,c){this.reason=a,this.file=b,this.meta=c}toString(){return`${this.file}:${this.reason}`}},ak=class{constructor(){this.conflicts=[],this.merges=[],this.result="success"}get failed(){return this.conflicts.length>0}get reason(){return this.result}toString(){return this.conflicts.length?`CONFLICTS: ${this.conflicts.join(", ")}`:"OK"}}}}),c1=ba({"src/lib/responses/PullSummary.ts"(){al=class{constructor(){this.remoteMessages={all:[]},this.created=[],this.deleted=[],this.files=[],this.deletions={},this.insertions={},this.summary={changes:0,deletions:0,insertions:0}}},am=class{constructor(){this.remote="",this.hash={local:"",remote:""},this.branch={local:"",remote:""},this.message=""}toString(){return this.message}}}});function c2(a){return a.objects=a.objects||{compressing:0,counting:0,enumerating:0,packReused:0,reused:{count:0,delta:0},total:{count:0,delta:0}}}function c3(a){let b=/^\s*(\d+)/.exec(a),c=/delta (\d+)/i.exec(a);return{count:bx(b&&b[1]||"0"),delta:bx(c&&c[1]||"0")}}var c4=ba({"src/lib/parsers/parse-remote-objects.ts"(){bY(),an=[new s(/^remote:\s*(enumerating|counting|compressing) objects: (\d+),/i,(a,[b,c])=>{let d=b.toLowerCase();Object.assign(c2(a.remoteMessages),{[d]:bx(c)})}),new s(/^remote:\s*(enumerating|counting|compressing) objects: \d+% \(\d+\/(\d+)\),/i,(a,[b,c])=>{let d=b.toLowerCase();Object.assign(c2(a.remoteMessages),{[d]:bx(c)})}),new s(/total ([^,]+), reused ([^,]+), pack-reused (\d+)/i,(a,[b,c,d])=>{let e=c2(a.remoteMessages);e.total=c3(b),e.reused=c3(c),e.packReused=bx(d)})]}});function c5(a,b){return bV({remoteMessages:new ap},ao,b)}var c6=ba({"src/lib/parsers/parse-remote-messages.ts"(){bY(),c4(),ao=[new s(/^remote:\s*(.+)$/,(a,[b])=>(a.remoteMessages.all.push(b.trim()),!1)),...an,new s([/create a (?:pull|merge) request/i,/\s(https?:\/\/\S+)$/],(a,[b])=>{a.remoteMessages.pullRequestUrl=b}),new s([/found (\d+) vulnerabilities.+\(([^)]+)\)/i,/\s(https?:\/\/\S+)$/],(a,[b,c,d])=>{a.remoteMessages.vulnerabilities={count:bx(b),summary:c,url:d}})],ap=class{constructor(){this.all=[]}}}}),c7=ba({"src/lib/parsers/parse-pull.ts"(){c1(),bY(),c6(),aq=/(\d+)\D+((\d+)\D+\(\+\))?(\D+(\d+)\D+\(-\))?/,ar=/^(create|delete) mode \d+ (.+)/,as=[new r(/^\s*(.+?)\s+\|\s+\d+\s*(\+*)(-*)/,(a,[b,c,d])=>{a.files.push(b),c&&(a.insertions[b]=c.length),d&&(a.deletions[b]=d.length)}),new r(aq,(a,[b,,c,,d])=>(void 0!==c||void 0!==d)&&(a.summary.changes=+b||0,a.summary.insertions=+c||0,a.summary.deletions=+d||0,!0)),new r(ar,(a,[b,c])=>{br(a.files,c),br("create"===b?a.created:a.deleted,c)})],at=[new r(/^from\s(.+)$/i,(a,[b])=>void(a.remote=b)),new r(/^fatal:\s(.+)$/,(a,[b])=>void(a.message=b)),new r(/([a-z0-9]+)\.\.([a-z0-9]+)\s+(\S+)\s+->\s+(\S+)$/,(a,[b,c,d,e])=>{a.branch.local=d,a.hash.local=b,a.branch.remote=e,a.hash.remote=c})],au=(a,b)=>Object.assign(new al,bV(new al,as,[a,b]),c5(a,b))}}),c8=ba({"src/lib/parsers/parse-merge.ts"(){c0(),bY(),c7(),av=[new r(/^Auto-merging\s+(.+)$/,(a,[b])=>{a.merges.push(b)}),new r(/^CONFLICT\s+\((.+)\): Merge conflict in (.+)$/,(a,[b,c])=>{a.conflicts.push(new aj(b,c))}),new r(/^CONFLICT\s+\((.+\/delete)\): (.+) deleted in (.+) and/,(a,[b,c,d])=>{a.conflicts.push(new aj(b,c,{deleteRef:d}))}),new r(/^CONFLICT\s+\((.+)\):/,(a,[b])=>{a.conflicts.push(new aj(b,null))}),new r(/^Automatic merge failed;\s+(.+)$/,(a,[b])=>{a.result=b})],aw=(a,b)=>Object.assign(ax(a,b),au(a,b)),ax=a=>bV(new ak,av,a)}});function c9(a){return a.length?{commands:["merge",...a],format:"utf-8",parser(a,b){let c=aw(a,b);if(c.failed)throw new f(c);return c}}:b5("Git.merge requires at least one option")}var da=ba({"src/lib/tasks/merge.ts"(){bh(),c8(),ca()}}),db=ba({"src/lib/parsers/parse-push.ts"(){bY(),c6(),ay=[new r(/^Pushing to (.+)$/,(a,[b])=>{a.repo=b}),new r(/^updating local tracking ref '(.+)'/,(a,[b])=>{a.ref={...a.ref||{},local:b}}),new r(/^[=*-]\s+([^:]+):(\S+)\s+\[(.+)]$/,(a,[b,c,d])=>{let e,f,g;a.pushed.push((e=d.includes("deleted"),f=d.includes("tag")||/^refs\/tags/.test(b),{deleted:e,tag:f,branch:!f,new:!(g=!d.includes("new")),alreadyUpdated:g,local:b,remote:c}))}),new r(/^Branch '([^']+)' set up to track remote branch '([^']+)' from '([^']+)'/,(a,[b,c,d])=>{a.branch={...a.branch||{},local:b,remote:c,remoteName:d}}),new r(/^([^:]+):(\S+)\s+([a-z0-9]+)\.\.([a-z0-9]+)$/,(a,[b,c,d,e])=>{a.update={head:{local:b,remote:c},hash:{from:d,to:e}}})],az=(a,b)=>{let c=aA(a,b),d=c5(a,b);return{...c,...d}},aA=(a,b)=>bV({pushed:[]},ay,[a,b])}}),dc={};function dd(a={},b){return br(b,"--tags"),de(a,b)}function de(a={},b){let c=["push",...b];return a.branch&&c.splice(1,0,a.branch),a.remote&&c.splice(1,0,a.remote),bt(c,"-v"),br(c,"--verbose"),br(c,"--porcelain"),{commands:c,format:"utf-8",parser:az}}bb(dc,{pushTagsTask:()=>dd,pushTask:()=>de});var df=ba({"src/lib/tasks/push.ts"(){db(),bY()}}),dg=ba({"src/lib/tasks/show.ts"(){bY(),ca()}}),dh=ba({"src/lib/responses/FileStatusSummary.ts"(){aB=/^(.+)\0(.+)$/,aC=class{constructor(a,b,c){if(this.path=a,this.index=b,this.working_dir=c,"R"===b||"R"===c){const b=aB.exec(a)||[null,a,a];this.from=b[2]||"",this.path=b[1]||""}}}}});function di(a){let[b,c]=a.split(h);return{from:c||b,to:b}}function dj(a,b,c){return[`${a}${b}`,c]}function dk(a,...b){return b.map(b=>dj(a,b,(a,b)=>br(a.conflicted,b)))}var dl=ba({"src/lib/responses/StatusSummary.ts"(){bY(),dh(),aD=class{constructor(){this.not_added=[],this.conflicted=[],this.created=[],this.deleted=[],this.ignored=void 0,this.modified=[],this.renamed=[],this.files=[],this.staged=[],this.ahead=0,this.behind=0,this.current=null,this.tracking=null,this.detached=!1,this.isClean=()=>!this.files.length}},aE=new Map([dj(" ","A",(a,b)=>br(a.created,b)),dj(" ","D",(a,b)=>br(a.deleted,b)),dj(" ","M",(a,b)=>br(a.modified,b)),dj("A"," ",(a,b)=>br(a.created,b)&&br(a.staged,b)),dj("A","M",(a,b)=>br(a.created,b)&&br(a.staged,b)&&br(a.modified,b)),dj("D"," ",(a,b)=>br(a.deleted,b)&&br(a.staged,b)),dj("M"," ",(a,b)=>br(a.modified,b)&&br(a.staged,b)),dj("M","M",(a,b)=>br(a.modified,b)&&br(a.staged,b)),dj("R"," ",(a,b)=>{br(a.renamed,di(b))}),dj("R","M",(a,b)=>{let c=di(b);br(a.renamed,c),br(a.modified,c.to)}),dj("!","!",(a,b)=>{br(a.ignored=a.ignored||[],b)}),dj("?","?",(a,b)=>br(a.not_added,b)),...dk("A","A","U"),...dk("D","D","U"),...dk("U","A","D","U"),["##",(a,b)=>{let c=/ahead (\d+)/.exec(b);a.ahead=c&&+c[1]||0,a.behind=(c=/behind (\d+)/.exec(b))&&+c[1]||0,c=/^(.+?(?=(?:\.{3}|\s|$)))/.exec(b),a.current=bE(c?.[1],m,null),c=/\.{3}(\S*)/.exec(b),a.tracking=bE(c?.[1],m,null),(c=/\son\s(\S+?)(?=\.{3}|$)/.exec(b))&&(a.current=bE(c?.[1],m,a.current)),a.detached=/\(no branch\)/.test(b)}]]),aF=function(a){let b=a.split(h),c=new aD;for(let a=0,d=b.length;a<d;){let d=b[a++].trim();d&&("R"===d.charAt(0)&&(d+=h+(b[a++]||"")),function(a,b){let c=b.trim();switch(" "){case c.charAt(2):return d(c.charAt(0),c.charAt(1),c.substr(3));case c.charAt(1):return d(" ",c.charAt(0),c.substr(2));default:return}function d(b,c,d){let e=`${b}${c}`,f=aE.get(e);f&&f(a,d),"##"!==e&&"!!"!==e&&a.files.push(new aC(d,b,c))}}(c,d))}return c}}}),dm=ba({"src/lib/tasks/status.ts"(){dl(),aG=["--null","-z"]}});function dn(a=0,b=0,c=0,d="",e=!0){return Object.defineProperty({major:a,minor:b,patch:c,agent:d,installed:e},"toString",{value(){return`${this.major}.${this.minor}.${this.patch}`},configurable:!1,enumerable:!1})}function dp(a){return a===aH?dn(0,0,0,"",!1):bV(dn(0,0,0,a),aI,a)}var dq=ba({"src/lib/tasks/version.ts"(){bY(),aH="installed=false",aI=[new r(/version (\d+)\.(\d+)\.(\d+)(?:\s*\((.+)\))?/,(a,[b,c,d,e=""])=>{Object.assign(a,dn(bx(b),bx(c),bx(d),e))}),new r(/version (\d+)\.(\d+)\.(\D+)(.+)?$/,(a,[b,c,d,e=""])=>{Object.assign(a,dn(bx(b),bx(c),d,e))})]}}),dr={};bb(dr,{SimpleGitApi:()=>aJ});var ds=ba({"src/lib/simple-git-api.ts"(){cB(),cD(),cF(),cG(),cJ(),ck(),cK(),cm(),cL(),cN(),c_(),da(),df(),dg(),dm(),ca(),dq(),bY(),Object.assign((aJ=class{constructor(a){this._executor=a}_runTask(a,b){let c=this._executor.chain(),d=c.push(a);return b&&function(a,b,c=i){b.then(a=>{c(null,a)},b=>{var d;let e;b?.task===a&&c(b instanceof f?(d=b,e=a=>{console.warn(`simple-git deprecation notice: accessing GitResponseError.${a} should be GitResponseError.git.${a}, this will no longer be available in version 3`),e=i},Object.create(d,Object.getOwnPropertyNames(d.git).reduce(function(a,b){return b in d||(a[b]={enumerable:!1,configurable:!1,get:()=>(e(b),d.git[b])}),a},{}))):b,void 0)})}(a,d,b),Object.create(this,{then:{value:d.then.bind(d)},catch:{value:d.catch.bind(d)},_executor:{value:c}})}add(a){return this._runTask(b6(["add",...bu(a)]),bS(arguments))}cwd(a){let b=bS(arguments);return"string"==typeof a?this._runTask(cC(a,this._executor),b):"string"==typeof a?.path?this._runTask(cC(a.path,a.root&&this._executor||void 0),b):this._runTask(b5("Git.cwd: workingDirectory must be supplied as a string"),b)}hashObject(a,b){var c;let d;return this._runTask((c=!0===b,d=["hash-object",a],c&&d.push("-w"),b6(d,!0)),bS(arguments))}init(a){return this._runTask(function(a=!1,b,c){let d=["init",...c];return a&&!d.includes(Z)&&d.splice(1,0,Z),{commands:d,format:"utf-8",parser:a=>(function(a,b,c){let d,e=String(c).trim();if(d=X.exec(e))return new W(a,b,!1,d[1]);if(d=Y.exec(e))return new W(a,b,!0,d[1]);let f="",g=e.split(" ");for(;g.length;)if("in"===g.shift()){f=g.join(" ");break}return new W(a,b,/^re/i.test(e),f)})(d.includes("--bare"),b,a)}}(!0===a,this._executor.cwd,bQ(arguments)),bS(arguments))}merge(){return this._runTask(c9(bQ(arguments)),bS(arguments))}mergeFromTo(a,b){return m(a)&&m(b)?this._runTask(c9([a,b,...bQ(arguments)]),bS(arguments,!1)):this._runTask(b5("Git.mergeFromTo requires that the 'remote' and 'branch' arguments are supplied as strings"))}outputHandler(a){return this._executor.outputHandler=a,this}push(){let a=de({remote:bE(arguments[0],m),branch:bE(arguments[1],m)},bQ(arguments));return this._runTask(a,bS(arguments))}stash(){return this._runTask(b6(["stash",...bQ(arguments)]),bS(arguments))}status(){var a;return this._runTask((a=bQ(arguments),{format:"utf-8",commands:["status","--porcelain","-b","-u","--null",...a.filter(a=>!aG.includes(a))],parser:a=>aF(a)}),bS(arguments))}}).prototype,{checkout(){return this._runTask(cE(bQ(arguments,1)),bS(arguments))},checkoutBranch(a,b){return this._runTask(cE(["-b",a,b,...bQ(arguments)]),bS(arguments))},checkoutLocalBranch(a){return this._runTask(cE(["-b",a,...bQ(arguments)]),bS(arguments))}},{commit(a,...b){var c,d,e;let f=bS(arguments),g=!n(a)&&b5("git.commit: requires the commit message to be supplied as a string/string[]")||(c=bu(a),d=bu(bE(b[0],n,[])),e=[...bw(bE(b[1],k,[])),...bQ(arguments,0,!0)],{commands:["-c","core.abbrev=40","commit",...by(c,"-m"),...d,...e],format:"utf-8",parser:cH});return this._runTask(g,f)}},{addConfig(a,b,...c){var d,e;let f;return this._runTask((d=!0===c[0],e=cj(c[1],"local"),f=["config",`--${e}`],d&&f.push("--add"),f.push(a,b),{commands:f,format:"utf-8",parser:a=>a}),bS(arguments))},getConfig(a,b){var c;let d;return this._runTask((c=cj(b,void 0),d=["config","--null","--show-origin","--get-all",a],c&&d.splice(1,0,`--${c}`),{commands:d,format:"utf-8",parser:b=>(function(a,b){let c=null,d=[],e=new Map;for(let f of ch(a,b))f.key===b&&(d.push(c=f.value),e.has(f.file)||e.set(f.file,[]),e.get(f.file).push(c));return{key:b,paths:Array.from(e.keys()),scopes:e,value:c,values:d}})(b,a)}),bS(arguments))},listConfig(...a){var b;let c;return this._runTask((b=cj(a[0],void 0),c=["config","--list","--show-origin","--null"],b&&c.push(`--${b}`),{commands:c,format:"utf-8",parser:a=>(function(a){let b=new H;for(let c of ch(a))b.addValue(c.file,String(c.key),c.value);return b})(a)}),bS(arguments))}},{countObjects(){return this._runTask({commands:["count-objects","--verbose"],format:"utf-8",parser:a=>bV({count:0,garbage:0,inPack:0,packs:0,prunePackable:0,size:0,sizeGarbage:0,sizePack:0},[U],a)})}},{firstCommit(){return this._runTask(b6(["rev-list","--max-parents=0","HEAD"],!0),bS(arguments))}},{grep(a){let b=bS(arguments),c=bQ(arguments);for(let a of L)if(c.includes(a))return this._runTask(b5(`git.grep: use of "${a}" is not supported.`),b);"string"==typeof a&&(a=(function(...a){return new O().param(...a)})().param(a));let d=["grep","--null","-n","--full-name",...c,...a];return this._runTask({commands:d,format:"utf-8",parser:a=>{let b,c;return b=new Set,c={},bp(a,a=>{let[d,e,f]=a.split(h);b.add(d),(c[d]=c[d]||[]).push({line:bx(e),path:d,preview:f})}),{paths:b,results:c}}},b)}},{log(...a){var b,c;let d,e=bS(arguments),f=c$(bR(arguments),bw(bE(arguments[0],k,[]))),g=function(a,b){return m(a)&&m(b)&&b5("git.log(string, string) should be replaced with git.log({ from: string, to: string })")}(...a)||cY(f.commands)||(d=cU((b=f).splitter,b.fields,cO(c=b.commands)),{commands:["log",...c],format:"utf-8",parser:d});return this._runTask(g,e)}},{showBuffer(){let a=["show",...bQ(arguments,1)];return a.includes("--binary")||a.splice(1,0,"--binary"),this._runTask(b7(a),bS(arguments))},show(){let a=["show",...bQ(arguments,1)];return this._runTask(b6(a),bS(arguments))}},{version(){return this._runTask({commands:["--version"],format:"utf-8",parser:dp,onError(a,b,c,d){if(-2===a.exitCode)return c(Buffer.from(aH));d(b)}})}})}}),dt={};bb(dt,{Scheduler:()=>aK});var du=ba({"src/lib/runners/scheduler.ts"(){let a;bY(),cu(),a=0,aK=class{constructor(a=2){this.concurrency=a,this.logger=ct("","scheduler"),this.pending=[],this.running=[],this.logger("Constructed, concurrency=%s",a)}schedule(){if(!this.pending.length||this.running.length>=this.concurrency)return void this.logger("Schedule attempt ignored, pending=%s running=%s concurrency=%s",this.pending.length,this.running.length,this.concurrency);let a=br(this.running,this.pending.shift());this.logger("Attempting id=%s",a.id),a.done(()=>{this.logger("Completing id=",a.id),bt(this.running,a),this.schedule()})}next(){let{promise:b,id:c}=br(this.pending,(()=>{a++;let{promise:b,done:c}=(0,a3.createDeferred)();return{promise:b,done:c,id:a}})());return this.logger("Scheduling id=%s",c),this.schedule(),b}}}}),dv={};function dw(a,b){return b6(["apply",...b,...a])}bb(dv,{applyPatchTask:()=>dw});var dx=ba({"src/lib/tasks/apply-patch.ts"(){ca()}}),dy=ba({"src/lib/responses/BranchDeleteSummary.ts"(){aL=class{constructor(){this.all=[],this.branches={},this.errors=[]}get success(){return!this.errors.length}}}});function dz(a,b){return 1===b&&aM.test(a)}var dA=ba({"src/lib/parsers/parse-branch-delete.ts"(){dy(),bY(),aM=/^error[^']+'([^']+)'/m,aN=[new r(/(\S+)\s+\(\S+\s([^)]+)\)/,(a,[b,c])=>{let d={branch:b,hash:c,success:!0};a.all.push(d),a.branches[b]=d}),new r(aM,(a,[b])=>{let c={branch:b,hash:null,success:!1};a.errors.push(c),a.all.push(c),a.branches[b]=c})],aO=(a,b)=>bV(new aL,aN,[a,b])}}),dB=ba({"src/lib/responses/BranchSummary.ts"(){aP=class{constructor(){this.all=[],this.branches={},this.current="",this.detached=!1}push(a,b,c,d,e){"*"===a&&(this.detached=b,this.current=c),this.all.push(c),this.branches[c]={current:"*"===a,linkedWorkTree:"+"===a,name:c,commit:d,label:e}}}}});function dC(a){return a?a.charAt(0):""}function dD(a,b=!1){return bV(new aP,b?[aR]:aQ,a)}var dE=ba({"src/lib/parsers/parse-branch.ts"(){dB(),bY(),aQ=[new r(/^([*+]\s)?\((?:HEAD )?detached (?:from|at) (\S+)\)\s+([a-z0-9]+)\s(.*)$/,(a,[b,c,d,e])=>{a.push(dC(b),!0,c,d,e)}),new r(/^([*+]\s)?(\S+)\s+([a-z0-9]+)\s?(.*)$/s,(a,[b,c,d,e])=>{a.push(dC(b),!1,c,d,e)})],aR=new r(/^(\S+)$/s,(a,[b])=>{a.push("*",!1,b,"","")})}}),dF={};function dG(a){let b=["-d","-D","--delete"];return a.some(a=>b.includes(a))}function dH(a){let b=dG(a),c=a.includes("--show-current"),d=["branch",...a];return 1===d.length&&d.push("-a"),d.includes("-v")||d.splice(1,0,"-v"),{format:"utf-8",commands:d,parser:(a,d)=>b?aO(a,d).all[0]:dD(a,c)}}function dI(){return{format:"utf-8",commands:["branch","-v"],parser:a=>dD(a)}}function dJ(a,b=!1){return{format:"utf-8",commands:["branch","-v",b?"-D":"-d",...a],parser:(a,b)=>aO(a,b),onError({exitCode:a,stdOut:b},c,d,e){if(!dz(String(c),a))return e(c);d(b)}}}function dK(a,b=!1){let c={format:"utf-8",commands:["branch","-v",b?"-D":"-d",a],parser:(b,c)=>aO(b,c).branches[a],onError({exitCode:a,stdErr:b,stdOut:d},e,g,h){if(!dz(String(e),a))return h(e);throw new f(c.parser(bz(d),bz(b)),String(e))}};return c}bb(dF,{branchLocalTask:()=>dI,branchTask:()=>dH,containsDeleteBranchCommand:()=>dG,deleteBranchTask:()=>dK,deleteBranchesTask:()=>dJ});var dL=ba({"src/lib/tasks/branch.ts"(){bh(),dA(),dE(),bY()}});function dM(a){let b=a.trim().replace(/^["']|["']$/g,"");return b&&(0,a4.normalize)(b)}var dN=ba({"src/lib/responses/CheckIgnore.ts"(){aS=a=>a.split(/\n/g).map(dM).filter(Boolean)}}),dO={};function dP(a){return{commands:["check-ignore",...a],format:"utf-8",parser:aS}}bb(dO,{checkIgnoreTask:()=>dP});var dQ=ba({"src/lib/tasks/check-ignore.ts"(){dN()}}),dR={};function dS(a){return/^--upload-pack(=|$)/.test(a)}function dT(a,b,c){let d=["clone",...c];return(m(a)&&d.push(a),m(b)&&d.push(b),d.find(dS))?b5("git.fetch: potential exploit argument blocked."):b6(d)}function dU(a,b,c){return br(c,"--mirror"),dT(a,b,c)}bb(dR,{cloneMirrorTask:()=>dU,cloneTask:()=>dT});var dV=ba({"src/lib/tasks/clone.ts"(){ca(),bY()}});function dW(a,b){return bV({raw:a,remote:null,branches:[],tags:[],updated:[],deleted:[]},aT,[a,b])}var dX=ba({"src/lib/parsers/parse-fetch.ts"(){bY(),aT=[new r(/From (.+)$/,(a,[b])=>{a.remote=b}),new r(/\* \[new branch]\s+(\S+)\s*-> (.+)$/,(a,[b,c])=>{a.branches.push({name:b,tracking:c})}),new r(/\* \[new tag]\s+(\S+)\s*-> (.+)$/,(a,[b,c])=>{a.tags.push({name:b,tracking:c})}),new r(/- \[deleted]\s+\S+\s*-> (.+)$/,(a,[b])=>{a.deleted.push({tracking:b})}),new r(/\s*([^.]+)\.\.(\S+)\s+(\S+)\s*-> (.+)$/,(a,[b,c,d,e])=>{a.updated.push({name:d,tracking:e,to:c,from:b})})]}}),dY={};function dZ(a){return/^--upload-pack(=|$)/.test(a)}function d$(a,b,c){let d=["fetch",...c];return(a&&b&&d.push(a,b),d.find(dZ))?b5("git.fetch: potential exploit argument blocked."):{commands:d,format:"utf-8",parser:dW}}bb(dY,{fetchTask:()=>d$});var d_=ba({"src/lib/tasks/fetch.ts"(){dX(),ca()}});function d0(a){return bV({moves:[]},aU,a)}var d1=ba({"src/lib/parsers/parse-move.ts"(){bY(),aU=[new r(/^Renaming (.+) to (.+)$/,(a,[b,c])=>{a.moves.push({from:b,to:c})})]}}),d2={};function d3(a,b){return{commands:["mv","-v",...bu(a),b],format:"utf-8",parser:d0}}bb(d2,{moveTask:()=>d3});var d4=ba({"src/lib/tasks/move.ts"(){d1(),bY()}}),d5={};function d6(a,b,c){let d=["pull",...c];return a&&b&&d.splice(1,0,a,b),{commands:d,format:"utf-8",parser:(a,b)=>au(a,b),onError(a,b,c,d){var e,g;let h,i=(e=bz(a.stdOut),g=bz(a.stdErr),(h=bV(new am,at,[e,g])).message&&h);if(i)return d(new f(i));d(b)}}}bb(d5,{pullTask:()=>d6});var d7=ba({"src/lib/tasks/pull.ts"(){bh(),c7(),bY()}});function d8(a){let b={};return ea(a,([a])=>b[a]={name:a}),Object.values(b)}function d9(a){let b={};return ea(a,([a,c,d])=>{Object.hasOwn(b,a)||(b[a]={name:a,refs:{fetch:"",push:""}}),d&&c&&(b[a].refs[d.replace(/[^a-z]/g,"")]=c)}),Object.values(b)}function ea(a,b){bp(a,a=>b(a.split(/\s+/)))}var eb=ba({"src/lib/responses/GetRemoteSummary.ts"(){bY()}}),ec={};function ed(a,b,c){return b6(["remote","add",...c,a,b])}function ee(a){let b=["remote"];return a&&b.push("-v"),{commands:b,format:"utf-8",parser:a?d9:d8}}function ef(a){let b=[...a];return"ls-remote"!==b[0]&&b.unshift("ls-remote"),b6(b)}function eg(a){let b=[...a];return"remote"!==b[0]&&b.unshift("remote"),b6(b)}function eh(a){return b6(["remote","remove",a])}bb(ec,{addRemoteTask:()=>ed,getRemotesTask:()=>ee,listRemotesTask:()=>ef,remoteTask:()=>eg,removeRemoteTask:()=>eh});var ei=ba({"src/lib/tasks/remote.ts"(){eb(),ca()}}),ej={};function ek(a={},b){let c=c$(a),d=["stash","list",...c.commands,...b],e=cU(c.splitter,c.fields,cO(d));return cY(d)||{commands:d,format:"utf-8",parser:e}}bb(ej,{stashListTask:()=>ek});var el=ba({"src/lib/tasks/stash-list.ts"(){cQ(),cV(),cZ(),c_()}}),em={};function en(a,b){return ep(["add",a,b])}function eo(a){return ep(["init",...a])}function ep(a){let b=[...a];return"submodule"!==b[0]&&b.unshift("submodule"),b6(b)}function eq(a){return ep(["update",...a])}bb(em,{addSubModuleTask:()=>en,initSubModuleTask:()=>eo,subModuleTask:()=>ep,updateSubModuleTask:()=>eq});var er=ba({"src/lib/tasks/sub-module.ts"(){ca()}});function es(a,b){return a===b?0:a>b?1:-1}function et(a){return a.trim()}function eu(a){return"string"==typeof a&&parseInt(a.replace(/^\D+/g,""),10)||0}var ev=ba({"src/lib/responses/TagList.ts"(){aV=class{constructor(a,b){this.all=a,this.latest=b}},aW=function(a,b=!1){let c=a.split("\n").map(et).filter(Boolean);b||c.sort(function(a,b){let c=a.split("."),d=b.split(".");if(1===c.length||1===d.length){var e,f;let a;return e=eu(c[0]),f=eu(d[0]),(a=Number.isNaN(e))!==Number.isNaN(f)?a?1:-1:a?es(e,f):0}for(let a=0,b=Math.max(c.length,d.length);a<b;a++){let b=es(eu(c[a]),eu(d[a]));if(b)return b}return 0});let d=b?c[0]:[...c].reverse().find(a=>a.indexOf(".")>=0);return new aV(c,d)}}}),ew={};function ex(a=[]){let b=a.some(a=>/^--sort=/.test(a));return{format:"utf-8",commands:["tag","-l",...a],parser:a=>aW(a,b)}}function ey(a){return{format:"utf-8",commands:["tag",a],parser:()=>({name:a})}}function ez(a,b){return{format:"utf-8",commands:["tag","-a","-m",b,a],parser:()=>({name:a})}}bb(ew,{addAnnotatedTagTask:()=>ez,addTagTask:()=>ey,tagListTask:()=>ex});var eA=ba({"src/lib/tasks/tag.ts"(){ev()}}),eB=(b={"src/git.js"(a,b){var{GitExecutor:c}=(cA(),bc(cz)),{SimpleGitApi:d}=(ds(),bc(dr)),{Scheduler:e}=(du(),bc(dt)),{configurationErrorTask:f}=(ca(),bc(b3)),{asArray:g,filterArray:h,filterPrimitives:i,filterString:j,filterStringOrStringArray:k,filterType:l,getTrailingOptions:m,trailingFunctionArgument:n,trailingOptionsArgument:o}=(bY(),bc(bX)),{applyPatchTask:p}=(dx(),bc(dv)),{branchTask:q,branchLocalTask:r,deleteBranchesTask:s,deleteBranchTask:t}=(dL(),bc(dF)),{checkIgnoreTask:u}=(dQ(),bc(dO)),{checkIsRepoTask:v}=(b1(),bc(bZ)),{cloneTask:w,cloneMirrorTask:x}=(dV(),bc(dR)),{cleanWithOptionsTask:y,isCleanOptionsArray:z}=(cg(),bc(cb)),{diffSummaryTask:A}=(cZ(),bc(cW)),{fetchTask:B}=(d_(),bc(dY)),{moveTask:C}=(d4(),bc(d2)),{pullTask:D}=(d7(),bc(d5)),{pushTagsTask:E}=(df(),bc(dc)),{addRemoteTask:F,getRemotesTask:G,listRemotesTask:H,remoteTask:I,removeRemoteTask:J}=(ei(),bc(ec)),{getResetMode:K,resetTask:L}=(cr(),bc(cn)),{stashListTask:M}=(el(),bc(ej)),{addSubModuleTask:N,initSubModuleTask:O,subModuleTask:P,updateSubModuleTask:Q}=(er(),bc(em)),{addAnnotatedTagTask:R,addTagTask:S,tagListTask:T}=(eA(),bc(ew)),{straightThroughBufferTask:U,straightThroughStringTask:V}=(ca(),bc(b3));function W(a,b){this._plugins=b,this._executor=new c(a.baseDir,new e(a.maxConcurrentProcesses),b),this._trimmed=a.trimmed}function X(a,b,c,d){return"string"!=typeof c?f(`git.${a}() requires a string 'repoPath'`):b(c,l(d,j),m(arguments))}(W.prototype=Object.create(d.prototype)).constructor=W,W.prototype.customBinary=function(a){return this._plugins.reconfigure("binary",a),this},W.prototype.env=function(a,b){return 1==arguments.length&&"object"==typeof a?this._executor.env=a:(this._executor.env=this._executor.env||{})[a]=b,this},W.prototype.stashList=function(a){return this._runTask(M(o(arguments)||{},h(a)&&a||[]),n(arguments))},W.prototype.clone=function(){return this._runTask(X("clone",w,...arguments),n(arguments))},W.prototype.mirror=function(){return this._runTask(X("mirror",x,...arguments),n(arguments))},W.prototype.mv=function(a,b){return this._runTask(C(a,b),n(arguments))},W.prototype.checkoutLatestTag=function(a){var b=this;return this.pull(function(){b.tags(function(c,d){b.checkout(d.latest,a)})})},W.prototype.pull=function(a,b,c,d){return this._runTask(D(l(a,j),l(b,j),m(arguments)),n(arguments))},W.prototype.fetch=function(a,b){return this._runTask(B(l(a,j),l(b,j),m(arguments)),n(arguments))},W.prototype.silent=function(a){return console.warn("simple-git deprecation notice: git.silent: logging should be configured using the `debug` library / `DEBUG` environment variable, this will be an error in version 3"),this},W.prototype.tags=function(a,b){return this._runTask(T(m(arguments)),n(arguments))},W.prototype.rebase=function(){return this._runTask(V(["rebase",...m(arguments)]),n(arguments))},W.prototype.reset=function(a){return this._runTask(L(K(a),m(arguments)),n(arguments))},W.prototype.revert=function(a){let b=n(arguments);return"string"!=typeof a?this._runTask(f("Commit must be a string"),b):this._runTask(V(["revert",...m(arguments,0,!0),a]),b)},W.prototype.addTag=function(a){let b="string"==typeof a?S(a):f("Git.addTag requires a tag name");return this._runTask(b,n(arguments))},W.prototype.addAnnotatedTag=function(a,b){return this._runTask(R(a,b),n(arguments))},W.prototype.deleteLocalBranch=function(a,b,c){return this._runTask(t(a,"boolean"==typeof b&&b),n(arguments))},W.prototype.deleteLocalBranches=function(a,b,c){return this._runTask(s(a,"boolean"==typeof b&&b),n(arguments))},W.prototype.branch=function(a,b){return this._runTask(q(m(arguments)),n(arguments))},W.prototype.branchLocal=function(a){return this._runTask(r(),n(arguments))},W.prototype.raw=function(a){let b=!Array.isArray(a),c=[].slice.call(b?arguments:a,0);for(let a=0;a<c.length&&b;a++)if(!i(c[a])){c.splice(a,c.length-a);break}c.push(...m(arguments,0,!0));var d=n(arguments);return c.length?this._runTask(V(c,this._trimmed),d):this._runTask(f("Raw: must supply one or more command to execute"),d)},W.prototype.submoduleAdd=function(a,b,c){return this._runTask(N(a,b),n(arguments))},W.prototype.submoduleUpdate=function(a,b){return this._runTask(Q(m(arguments,!0)),n(arguments))},W.prototype.submoduleInit=function(a,b){return this._runTask(O(m(arguments,!0)),n(arguments))},W.prototype.subModule=function(a,b){return this._runTask(P(m(arguments)),n(arguments))},W.prototype.listRemote=function(){return this._runTask(H(m(arguments)),n(arguments))},W.prototype.addRemote=function(a,b,c){return this._runTask(F(a,b,m(arguments)),n(arguments))},W.prototype.removeRemote=function(a,b){return this._runTask(J(a),n(arguments))},W.prototype.getRemotes=function(a,b){return this._runTask(G(!0===a),n(arguments))},W.prototype.remote=function(a,b){return this._runTask(I(m(arguments)),n(arguments))},W.prototype.tag=function(a,b){let c=m(arguments);return"tag"!==c[0]&&c.unshift("tag"),this._runTask(V(c),n(arguments))},W.prototype.updateServerInfo=function(a){return this._runTask(V(["update-server-info"]),n(arguments))},W.prototype.pushTags=function(a,b){let c=E({remote:l(a,j)},m(arguments));return this._runTask(c,n(arguments))},W.prototype.rm=function(a){return this._runTask(V(["rm","-f",...g(a)]),n(arguments))},W.prototype.rmKeepLocal=function(a){return this._runTask(V(["rm","--cached",...g(a)]),n(arguments))},W.prototype.catFile=function(a,b){return this._catFile("utf-8",arguments)},W.prototype.binaryCatFile=function(){return this._catFile("buffer",arguments)},W.prototype._catFile=function(a,b){var c=n(b),d=["cat-file"],e=b[0];if("string"==typeof e)return this._runTask(f("Git.catFile: options must be supplied as an array of strings"),c);Array.isArray(e)&&d.push.apply(d,e);let g="buffer"===a?U(d):V(d);return this._runTask(g,c)},W.prototype.diff=function(a,b){let c=j(a)?f("git.diff: supplying options as a single string is no longer supported, switch to an array of strings"):V(["diff",...m(arguments)]);return this._runTask(c,n(arguments))},W.prototype.diffSummary=function(){return this._runTask(A(m(arguments,1)),n(arguments))},W.prototype.applyPatch=function(a){let b=k(a)?p(g(a),m([].slice.call(arguments,1))):f("git.applyPatch requires one or more string patches as the first argument");return this._runTask(b,n(arguments))},W.prototype.revparse=function(){let a=["rev-parse",...m(arguments,!0)];return this._runTask(V(a,!0),n(arguments))},W.prototype.clean=function(a,b,c){let d=z(a),e=d&&a.join("")||l(a,j)||"",f=m([].slice.call(arguments,+!!d));return this._runTask(y(e,f),n(arguments))},W.prototype.exec=function(a){return this._runTask({commands:[],format:"utf-8",parser(){"function"==typeof a&&a()}})},W.prototype.clearQueue=function(){return this},W.prototype.checkIgnore=function(a,b){return this._runTask(u(g(l(a,k,[]))),n(arguments))},W.prototype.checkIsRepo=function(a,b){return this._runTask(v(l(a,j)),n(arguments))},b.exports=W}},function(){return c||(0,b[a8(b)[0]])((c={exports:{}}).exports,c),c.exports});bf(),bg();var eC=class extends e{constructor(a,b){super(void 0,b),this.config=a}};bg(),bg();var eD=class extends e{constructor(a,b,c){super(a,c),this.task=a,this.plugin=b,Object.setPrototypeOf(this,new.target.prototype)}};bh(),bi(),b1(),cg(),ck(),cl(),cm(),cr(),bY(),bY();var eE=(0,a3.deferred)().promise;bY();var eF="Invalid value supplied for custom binary, restricted characters must be removed or supply the unsafe.allowUnsafeCustomBinary option";function eG(a){return!a||!/^([a-z]:)?([a-z0-9/.\\_-]+)$/i.test(a)}function eH(a,b){if(a.length<1||a.length>2)throw new eD(void 0,"binary","Invalid value supplied for custom binary, requires a single string or an array containing either one or two strings");if(a.some(eG))if(b)console.warn(eF);else throw new eD(void 0,"binary",eF);let[c,d]=a;return{binary:c,prefix:d}}function eI(a){return{type:"task.error",action(b,c){let d=a(b.error,{stdErr:c.stdErr,stdOut:c.stdOut,exitCode:c.exitCode});return Buffer.isBuffer(d)?{error:new e(void 0,d.toString("utf-8"))}:{error:d}}}}bg(),bY();var eJ=class{constructor(){this.plugins=new Set,this.events=new a5.EventEmitter}on(a,b){this.events.on(a,b)}reconfigure(a,b){this.events.emit(a,b)}append(a,b){let c=br(this.plugins,{type:a,action:b});return()=>this.plugins.delete(c)}add(a){let b=[];return bu(a).forEach(a=>a&&this.plugins.add(br(b,a))),()=>{b.forEach(a=>this.plugins.delete(a))}}exec(a,b,c){let d=b,e=Object.freeze(Object.create(c));for(let b of this.plugins)b.type===a&&(d=b.action(d,e));return d}};bY(),bY(),bf(),bY();var eK=eB();bh();var eL=function(a,b){var c;let d,e,f,g,h=new eJ,i=bN(a&&("string"==typeof a?{baseDir:a}:a)||{},b);if(!bq(i.baseDir))throw new eC(i,"Cannot use simple-git on a directory that does not exist");return Array.isArray(i.config)&&h.add((d=by(i.config,"-c"),{type:"spawn.args",action:a=>[...d,...a]})),h.add(function({allowUnsafeProtocolOverride:a=!1,allowUnsafePack:b=!1}={}){return{type:"spawn.args",action:(c,d)=>(c.forEach((e,f)=>{let g=f<c.length?c[f+1]:"";a||function(a,b){if("string"==typeof a&&"-c"===a.trim().toLowerCase()&&/^\s*protocol(.[a-z]+)?.allow/.test(b))throw new eD(void 0,"unsafe","Configuring protocol.allow is not permitted without enabling allowUnsafeExtProtocol")}(e,g),b||function(a,b){if(/^\s*--(upload|receive)-pack/.test(a))throw new eD(void 0,"unsafe","Use of --upload-pack or --receive-pack is not permitted without enabling allowUnsafePack");if("clone"===b&&/^\s*-u\b/.test(a))throw new eD(void 0,"unsafe","Use of clone with option -u is not permitted without enabling allowUnsafePack");if("push"===b&&/^\s*--exec\b/.test(a))throw new eD(void 0,"unsafe","Use of push with option --exec is not permitted without enabling allowUnsafePack")}(e,d.method)}),c)}}(i.unsafe)),h.add({type:"spawn.args",action(a){let b,c=[];function d(a){(b=b||[]).push(...a)}for(let b=0;b<a.length;b++){let e=a[b];if(bd(e)){d(be(e));continue}if("--"===e){d(a.slice(b+1).flatMap(a=>bd(a)&&be(a)||a));break}c.push(e)}return b?[...c,"--",...b.map(String)]:c}}),h.add(function({onClose:a=!0,onExit:b=50}={}){function c(a,b,c){!1!==a&&(!0===a?b.promise:b.promise.then(()=>bB(a))).then(c.done)}return{type:"spawn.after",async action(d,{spawned:e,close:f}){let g,h,i,j=(g=-1,h={close:(0,a3.deferred)(),closeTimeout:(0,a3.deferred)(),exit:(0,a3.deferred)(),exitTimeout:(0,a3.deferred)()},i=Promise.race([!1===a?eE:h.closeTimeout.promise,!1===b?eE:h.exitTimeout.promise]),c(a,h.close,h.closeTimeout),c(b,h.exit,h.exitTimeout),{close(a){g=a,h.close.done()},exit(a){g=a,h.exit.done()},get exitCode(){return g},result:i}),k=!0,l=()=>void(k=!1);e.stdout?.on("data",l),e.stderr?.on("data",l),e.on("error",l),e.on("close",a=>j.close(a)),e.on("exit",a=>j.exit(a));try{await j.result,k&&await bB(50),f(j.exitCode)}catch(a){f(j.exitCode,a)}}}}(i.completion)),i.abort&&h.add(function(a){if(a)return[{type:"spawn.before",action(b,c){a.aborted&&c.kill(new eD(void 0,"abort","Abort already signaled"))}},{type:"spawn.after",action(b,c){function d(){c.kill(new eD(void 0,"abort","Abort signal received"))}a.addEventListener("abort",d),c.spawned.on("close",()=>a.removeEventListener("abort",d))}}]}(i.abort)),i.progress&&h.add((c=i.progress,e="--progress",f=["checkout","clone","fetch","pull","push"],[{type:"spawn.args",action:(a,b)=>f.includes(b.method)?bs(a,e):a},{type:"spawn.after",action(a,b){b.commands.includes(e)&&b.spawned.stderr?.on("data",a=>{let d=/^([\s\S]+?):\s*(\d+)% \((\d+)\/(\d+)\)/.exec(a.toString("utf8"));d&&c({method:b.method,stage:String(d[1].toLowerCase().split(" ",1))||"unknown",progress:bx(d[2]),processed:bx(d[3]),total:bx(d[4])})})}}])),i.timeout&&h.add(function({block:a,stdErr:b=!0,stdOut:c=!0}){if(a>0)return{type:"spawn.after",action(d,e){let f;function g(){f&&clearTimeout(f),f=setTimeout(i,a)}function h(){e.spawned.stdout?.off("data",g),e.spawned.stderr?.off("data",g),e.spawned.off("exit",h),e.spawned.off("close",h),f&&clearTimeout(f)}function i(){h(),e.kill(new eD(void 0,"timeout","block timeout reached"))}c&&e.spawned.stdout?.on("data",g),b&&e.spawned.stderr?.on("data",g),e.spawned.on("exit",h),e.spawned.on("close",h),g()}}}(i.timeout)),i.spawnOptions&&h.add((g=bA(i.spawnOptions,["uid","gid"]),{type:"spawn.options",action:a=>({...g,...a})})),h.add(eI(function(a=!1,b=function(a){return!!(a.exitCode&&a.stdErr.length)},c=function(a){return Buffer.concat([...a.stdOut,...a.stdErr])}){return(d,e)=>(a||!d)&&b(e)?c(e):d}(!0))),i.errors&&h.add(eI(i.errors)),!function(a,b=["git"],c=!1){let d=eH(bu(b),c);a.on("binary",a=>{d=eH(bu(a),c)}),a.append("spawn.binary",()=>d.binary),a.append("spawn.args",a=>d.prefix?[d.prefix,...a]:a)}(h,i.binary,i.unsafe?.allowUnsafeCustomBinary),new eK(i,h)};a.s(["default",()=>eL],4503);var eM=a.i(13095);let eN={gemini:{executable:"gemini",installCommand:"npm install -g google/gemini-cli"},codex:{executable:"codex",installCommand:"npm i -g openai/codex"},agent:{executable:"agent",installCommand:"curl https://cursor.com/install -fsS | bash"}};function eO(a){return"gemini"===a||"codex"===a||"agent"===a?a:null}async function eP(){return a$.default.homedir()}async function eQ(a){try{let b=(await aY.default.readdir(a,{withFileTypes:!0})).sort((a,b)=>a.isDirectory()&&!b.isDirectory()?-1:!a.isDirectory()&&b.isDirectory()?1:a.name.localeCompare(b.name)),c=[];for(let d of b){if(!d.isDirectory()&&!d.isFile())continue;let b=aZ.default.join(a,d.name),e=!1;if(d.isDirectory())try{let a=aZ.default.join(b,".git");await aY.default.access(a),e=!0}catch{e=!1}c.push({name:d.name,path:b,isDirectory:d.isDirectory(),isGitRepo:e})}return c}catch(a){return console.error("Error listing directory entries:",a),[]}}async function eR(a){return(await eQ(a)).filter(a=>a.isDirectory)}async function eS(a){try{if(!(await aY.default.stat(a)).isDirectory())return!1;return await aY.default.readdir(a),!0}catch{return!1}}async function eT(a){try{let b=eL(a),c=await b.branchLocal();return c.all.map(a=>({name:a,current:c.current===a}))}catch(a){throw console.error("Error fetching branches:",a),Error("Failed to fetch branches. Make sure the path is a valid git repository.")}}async function eU(a,b){try{let c=eL(a);await c.checkout(b)}catch(a){throw console.error("Error checking out branch:",a),Error(`Failed to checkout branch ${b}`)}}async function eV(a){try{let b=aZ.default.join(a,".git");return await aY.default.access(b),!0}catch{return!1}}async function eW(b){let c=eO(b);if(!c)return{success:!1,installed:!1,error:`Unsupported coding agent CLI: ${b}`};try{let{spawn:b}=await a.A(44264),d=eN[c];a$.default.platform();let e=["-lc",`command -v ${d.executable}`],f=await new Promise(a=>{let c=b("bash",e,{stdio:"ignore"});c.on("close",b=>a(b??1)),c.on("error",()=>a(1))});return{success:!0,installed:0===f}}catch(a){return console.error("Failed to detect coding agent CLI:",a),{success:!1,installed:!1,error:"Failed to detect coding agent CLI installation status."}}}async function eX(b){let c=eO(b);if(!c)return{success:!1,error:`Unsupported coding agent CLI: ${b}`};try{let{spawn:b}=await a.A(44264),d=eN[c];a$.default.platform();let e=["-lc",d.installCommand],f=[],g=await new Promise(a=>{let c=b("bash",e,{cwd:a$.default.homedir(),env:process.env,stdio:["ignore","pipe","pipe"]});c.stdout.on("data",a=>{f.push(a.toString())}),c.stderr.on("data",a=>{f.push(a.toString())}),c.on("close",b=>a(b??1)),c.on("error",()=>a(1))});if(0===g)return{success:!0};let h=f.join("").trim();return{success:!1,error:h||`Failed to install ${c} CLI.`}}catch(a){return console.error("Failed to install coding agent CLI:",a),{success:!1,error:"Failed to install coding agent CLI."}}}async function eY(){if(global.ttydProcess)return{success:!0};try{let{spawn:b}=await a.A(44264),c={...process.env};delete c.TURBOPACK,delete c.PORT,delete c.NODE_ENV;let d="win32"===a$.default.platform()?"TURBOPACK unreachable":"bash",e=a$.default.homedir(),f=b("ttyd",["-p","7681","-t",'theme={"background": "white", "foreground": "black", "cursor": "black", "selectionBackground": "rgba(59, 130, 246, 0.4)"}',"-t","disableResizeOverlay=true","-t","fontSize=12","-t","fontWeight=300","-t","fontWeightBold=500","-w",e,"-W",d],{stdio:"ignore",detached:!1,cwd:e,env:{...c,TERM:"xterm-256color",COLORTERM:"truecolor"}});return f.on("error",a=>{console.error("Failed to start ttyd:",a),global.ttydProcess=void 0}),f.on("exit",()=>{global.ttydProcess=void 0}),global.ttydProcess=f,await new Promise(a=>setTimeout(a,1e3)),{success:!0}}catch(a){return console.error("Error starting ttyd:",a),{success:!1,error:"Failed to start ttyd. Make sure ttyd is installed and in your PATH."}}}async function eZ(b,c){try{let{v4:d}=await a.A(37706),e=d().split("-")[0],f=new Date,g=f.toISOString().replace(/[-:]/g,"").slice(0,8)+"-"+f.getHours().toString().padStart(2,"0")+f.getMinutes().toString().padStart(2,"0"),h=`${g}-${e}`,i=`viba/${h}`,j=aZ.default.basename(b),k=aZ.default.dirname(b),l=aZ.default.join(k,".viba",j),m=aZ.default.join(l,h);await aY.default.mkdir(l,{recursive:!0});let n=eL(b);return await n.raw(["worktree","add","-b",i,m,c]),{success:!0,sessionName:h,worktreePath:m,branchName:i}}catch(a){return console.error("Failed to create worktree:",a),{success:!1,error:a.message||String(a)}}}async function e$(a,b,c){try{let d=eL(a);try{await d.raw(["worktree","remove","--force",b])}catch(c){let a=c.message||String(c);a.includes("is not a working tree")||a.includes("not a valid path")?console.warn(`Path ${b} is not a valid working tree according to git, continuing cleanup...`):console.error(`Git worktree remove failed, but continuing with cleanup: ${a}`);try{await d.raw(["worktree","prune"])}catch{}}try{await d.deleteLocalBranch(c,!0)}catch(a){console.warn(`Failed to delete branch ${c}: ${a.message||a}`)}try{await aY.default.rm(b,{recursive:!0,force:!0})}catch{}try{let a=`${b}-attachments`;await aY.default.rm(a,{recursive:!0,force:!0})}catch{}return{success:!0}}catch(a){return console.error("Failed to cleanup worktree (critical error):",a),{success:!0}}}async function e_(a){try{let b=await aY.default.readdir(a);if(b.includes("package-lock.json"))return"npm install";if(b.includes("pnpm-lock.yaml"))return"pnpm install";if(b.includes("yarn.lock"))return"yarn install";return""}catch(a){return console.error("Error determining startup script:",a),""}}async function e0(a){try{let b=aZ.default.join(a,"package.json"),c=await aY.default.readFile(b,"utf-8"),d=JSON.parse(c).scripts;if(!d||"object"!=typeof d)return"";if("string"==typeof d.dev&&d.dev.trim())return"npm run dev";if("string"==typeof d.watch&&d.watch.trim())return"npm run watch";if("string"==typeof d.start&&d.start.trim())return"npm run start";return""}catch(a){return"ENOENT"!==("object"==typeof a&&null!==a&&"code"in a?a.code:void 0)&&console.error("Error determining default dev server script:",a),""}}async function e1(a,b=""){try{let c=eL(a),d=(await c.raw(["ls-files"])).split("\n").filter(Boolean);if(!b)return d.slice(0,50);let e=b.toLowerCase();return d.filter(a=>a.toLowerCase().includes(e)).slice(0,50)}catch(a){return console.error("Failed to list repo files:",a),[]}}async function e2(a,b){try{let c=`${a}-attachments`;await aY.default.mkdir(c,{recursive:!0});let d=[];for(let[,a]of Array.from(b.entries()))if(a instanceof File){let b=Buffer.from(await a.arrayBuffer()),e=a.name.replace(/[^a-zA-Z0-9._-]/g,"_"),f=aZ.default.join(c,e);await aY.default.writeFile(f,b),d.push(e)}return d}catch(a){return console.error("Failed to save attachments:",a),[]}}(0,eM.ensureServerEntryExports)([eP,eQ,eR,eS,eT,eU,eV,eW,eX,eY,eZ,e$,e_,e0,e1,e2]),(0,aX.registerServerReference)(eP,"00ab8a0c236ad9d559b78b2f40023323c37ac6bdd1",null),(0,aX.registerServerReference)(eQ,"40cf9b8c016a6a5700129b5b22acb5083024107ff7",null),(0,aX.registerServerReference)(eR,"4095b399654cd9d1e32df72f6d4d02fcd15eee79fa",null),(0,aX.registerServerReference)(eS,"4047c4346bb861e2383148077a2da70450459e30d3",null),(0,aX.registerServerReference)(eT,"406172e43e0b5adc6925e32b40d2c4ad9e3e002c62",null),(0,aX.registerServerReference)(eU,"603744c6a6f1812a186c873768b506ad50f8b2e576",null),(0,aX.registerServerReference)(eV,"408264874ede3ac6d4c0ea65d1fb31e2ab2e4e74af",null),(0,aX.registerServerReference)(eW,"405480f3067c9cdbe36de30371cca15ac062ade0d7",null),(0,aX.registerServerReference)(eX,"40b315600ca709ca663ce338fb735311774a956de3",null),(0,aX.registerServerReference)(eY,"7f9ee07126919f7ff76d3216d51e1391fffaeac277",null),(0,aX.registerServerReference)(eZ,"7f46ad1dc0cab28d2523cbddb4463e4bb84dc742c1",null),(0,aX.registerServerReference)(e$,"7fe80ef96f195d9f9a33a45bc002dfbf83ba4ca700",null),(0,aX.registerServerReference)(e_,"7fe39b9c4688be51bdc4a0ab57659e0f7959dd3785",null),(0,aX.registerServerReference)(e0,"7f9c2c53945538da0d13943166f06f05a488eef871",null),(0,aX.registerServerReference)(e1,"7f669dbdb5ea560b8752062c3594a56189db7ebea9",null),(0,aX.registerServerReference)(e2,"7f7ae33c4eab367d29219887a5215871af15cf74f5",null),a.s(["checkAgentCliInstalled",()=>eW,"checkDirectoryAccessible",()=>eS,"checkIsGitRepo",()=>eV,"checkoutBranch",()=>eU,"getBranches",()=>eT,"getDefaultDevServerScript",()=>e0,"getHomeDirectory",()=>eP,"getStartupScript",()=>e_,"installAgentCli",()=>eX,"listDirectories",()=>eR,"listPathEntries",()=>eQ,"listRepoFiles",()=>e1,"prepareSessionWorktree",()=>eZ,"removeWorktree",()=>e$,"saveAttachments",()=>e2,"startTtydProcess",()=>eY],15271)},38642,a=>{"use strict";var b=a.i(37936),c=a.i(24868),d=a.i(14747),e=a.i(46786),f=a.i(13095);let g={recentRepos:[],defaultRoot:"",selectedIde:"vscode",agentWidth:66.666,repoSettings:{},pinnedFolderShortcuts:[]};async function h(){let a=e.default.homedir(),b=d.default.join(a,".viba");try{await c.default.mkdir(b,{recursive:!0})}catch(a){}return d.default.join(b,"config.json")}async function i(){try{let a=await h(),b=await c.default.readFile(a,"utf-8"),d=JSON.parse(b);return{...g,...d}}catch(a){return g}}async function j(a){try{let b=await h();await c.default.writeFile(b,JSON.stringify(a,null,2),"utf-8")}catch(a){throw console.error("Failed to save config:",a),Error("Failed to save configuration.")}}async function k(a){let b={...await i(),...a};return await j(b),b}async function l(a,b){let c=await i(),d=c.repoSettings[a]||{},e={...c,repoSettings:{...c.repoSettings,[a]:{...d,...b}}};return await j(e),e}(0,f.ensureServerEntryExports)([i,j,k,l]),(0,b.registerServerReference)(i,"003f179b879bf486bcea4539d064b0df6354894815",null),(0,b.registerServerReference)(j,"4041d2f83b6db5828e6cd6d6bb2b14f488a8def1ef",null),(0,b.registerServerReference)(k,"40b60c4c60b29ca628a121c12dd5c6c169cb53475f",null),(0,b.registerServerReference)(l,"609adbe6e9c89e41912f5632cdd5cc97288df2d36d",null),a.s(["getConfig",()=>i,"updateConfig",()=>k,"updateRepoSettings",()=>l])},51817,a=>{"use strict";var b=a.i(37936),c=a.i(24868),d=a.i(14747),e=a.i(46786),f=a.i(4503),g=a.i(15271);function h(a){return a instanceof Error?a.message:String(a)}async function i(){let a=e.default.homedir(),b=d.default.join(a,".viba","sessions");try{await c.default.mkdir(b,{recursive:!0})}catch{}return b}async function j(){let a=e.default.homedir(),b=d.default.join(a,".viba","session-contexts");try{await c.default.mkdir(b,{recursive:!0})}catch{}return b}async function k(a){let b=await j();return d.default.join(b,`${a}.json`)}async function l(){let a=e.default.homedir(),b=d.default.join(a,".viba","session-prompts");try{await c.default.mkdir(b,{recursive:!0})}catch{}return b}async function m(a){let b=await i(),e=d.default.join(b,`${a.sessionName}.json`);await c.default.writeFile(e,JSON.stringify(a,null,2),"utf-8")}async function n(a,b){try{let e=await l(),f=d.default.join(e,`${a}.txt`);return await c.default.writeFile(f,b,"utf-8"),{success:!0,filePath:f}}catch(a){return console.error("Failed to write session prompt file:",a),{success:!1,error:h(a)}}}async function o(a,b){try{let d=await k(a),e={sessionName:a,...b,timestamp:new Date().toISOString()};return await c.default.writeFile(d,JSON.stringify(e,null,2),"utf-8"),{success:!0}}catch(a){return console.error("Failed to save session launch context:",a),{success:!1,error:h(a)}}}async function p(a){try{let b=await k(a),d=await c.default.readFile(b,"utf-8"),e=JSON.parse(d);return{success:!0,context:e}}catch(a){if("ENOENT"===("object"==typeof a&&null!==a&&"code"in a?a.code:void 0))return{success:!0};return console.error("Failed to consume session launch context:",a),{success:!1,error:h(a)}}}async function q(a){try{let b=await k(a),d=await c.default.readFile(b,"utf-8"),e=JSON.parse(d);return{success:!0,context:e}}catch(a){if("ENOENT"===("object"==typeof a&&null!==a&&"code"in a?a.code:void 0))return{success:!0};return console.error("Failed to read session launch context:",a),{success:!1,error:h(a)}}}async function r(a){let b=await t(a);if(!b)return{success:!1,error:"Session metadata not found"};let c=await q(a);if(!c.success)return{success:!1,error:c.error||"Failed to load session launch context"};let d=c.context;return{success:!0,context:{sourceSessionName:a,repoPath:b.repoPath,title:d?.title||b.title,initialMessage:d?.rawInitialMessage||d?.initialMessage,attachmentNames:d?.attachmentNames||[],agentProvider:d?.agentProvider||b.agent,model:d?.model||b.model}}}async function s(a,b,e){try{let f=await t(a);if(!f)return{success:!1,copiedAttachmentNames:[],missingAttachmentNames:[],error:"Source session metadata not found"};let g=`${f.worktreePath}-attachments`,h=`${b}-attachments`;await c.default.mkdir(h,{recursive:!0});let i=[],j=[];for(let a of Array.from(new Set(e.map(a=>a.trim()).filter(Boolean)))){let b=a.replace(/[^a-zA-Z0-9._-]/g,"_"),e=d.default.join(g,b),f=d.default.join(h,b);try{await c.default.copyFile(e,f),i.push(b)}catch(c){let b="object"==typeof c&&null!==c&&"code"in c?c.code:void 0;if("ENOENT"===b){j.push(a);continue}throw c}}return{success:!0,copiedAttachmentNames:i,missingAttachmentNames:j}}catch(a){return console.error("Failed to copy session attachments:",a),{success:!1,copiedAttachmentNames:[],missingAttachmentNames:[],error:h(a)}}}async function t(a){try{let b=await i(),e=d.default.join(b,`${a}.json`),f=await c.default.readFile(e,"utf-8");return JSON.parse(f)}catch{return null}}async function u(a){try{let b=await i(),e=await c.default.readdir(b),f=[];for(let g of e)if(g.endsWith(".json"))try{let e=d.default.join(b,g),h=await c.default.readFile(e,"utf-8"),i=JSON.parse(h);if(a&&i.repoPath!==a)continue;f.push(i)}catch(a){console.error(`Failed to parse session file ${g}:`,a)}return f.sort((a,b)=>new Date(b.timestamp).getTime()-new Date(a.timestamp).getTime())}catch(a){return console.error("Failed to list sessions:",a),[]}}async function v(a,b,c){try{let d=await (0,g.prepareSessionWorktree)(a,b);if(!d.success||!d.sessionName||!d.worktreePath||!d.branchName)return d;let e={sessionName:d.sessionName,repoPath:a,worktreePath:d.worktreePath,branchName:d.branchName,baseBranch:b,agent:c.agent,model:c.model,title:c.title,devServerScript:c.devServerScript,initialized:!1,timestamp:new Date().toISOString()};return await m(e),d}catch(a){return console.error("Failed to create session:",a),{success:!1,error:h(a)}}}async function w(a){let b=await t(a);!b||b.initialized||(b.initialized=!0,await m(b))}async function x(a){try{let b=await t(a);if(!b)return{success:!1,error:"Session metadata not found"};let e=await (0,g.removeWorktree)(b.repoPath,b.worktreePath,b.branchName);if(!e.success)return e;let f=await i(),h=d.default.join(f,`${a}.json`);await c.default.rm(h,{force:!0});let j=await k(a);await c.default.rm(j,{force:!0});let m=await l(),n=d.default.join(m,`${a}.txt`);return await c.default.rm(n,{force:!0}),{success:!0}}catch(a){return console.error("Failed to delete session:",a),{success:!1,error:h(a)}}}async function y(a){try{if(!await t(a))return{success:!1,error:"Session metadata not found"};return x(a).catch(b=>{console.error(`Background cleanup of session ${a} failed:`,b)}),{success:!0}}catch(a){return console.error("Failed to schedule background session deletion:",a),{success:!1,error:h(a)}}}async function z(a){try{let b=await t(a);if(!b)return{success:!1,error:"Session metadata not found"};let c=b.baseBranch?.trim();if(!c)return{success:!1,error:"Base branch is missing for this session. This session may be from an older version."};let d=(0,f.default)(b.worktreePath);if(!(await d.status()).isClean())return{success:!1,error:"Worktree has uncommitted changes. Commit your changes first."};let e=(0,f.default)(b.repoPath),g=await e.branchLocal();if(!g.all.includes(c))return{success:!1,error:`Base branch "${c}" not found in repository.`};if(!g.all.includes(b.branchName))return{success:!1,error:`Session branch "${b.branchName}" not found in repository.`};let h=g.current;return h!==c&&await e.checkout(c),await e.merge(["--no-ff",b.branchName]),h&&h!==c&&await e.checkout(h),{success:!0,branchName:b.branchName,baseBranch:c}}catch(a){return console.error("Failed to merge session branch:",a),{success:!1,error:h(a)}}}async function A(a){try{let b=await t(a);if(!b)return{success:!1,error:"Session metadata not found"};let c=b.baseBranch?.trim();if(!c)return{success:!1,error:"Base branch is missing for this session. This session may be from an older version."};let d=(0,f.default)(b.worktreePath);if(!(await d.status()).isClean())return{success:!1,error:"Worktree has uncommitted changes. Commit your changes first."};let e=(0,f.default)(b.repoPath),g=await e.branchLocal();if(!g.all.includes(c))return{success:!1,error:`Base branch "${c}" not found in repository.`};if(!g.all.includes(b.branchName))return{success:!1,error:`Session branch "${b.branchName}" not found in repository.`};return(await d.branchLocal()).current!==b.branchName&&await d.checkout(b.branchName),await d.rebase([c]),{success:!0,branchName:b.branchName,baseBranch:c}}catch(a){return console.error("Failed to rebase session branch:",a),{success:!1,error:h(a)}}}async function B(a){try{let b=await t(a);if(!b)return{success:!1,error:"Session metadata not found"};let c=(0,f.default)(b.worktreePath),d=await c.status();return{success:!0,count:d.files.length}}catch(a){return console.error("Failed to get uncommitted file count:",a),{success:!1,error:h(a)}}}async function C(a){try{let b=await t(a);if(!b)return{success:!1,error:"Session metadata not found"};let c=b.baseBranch?.trim();if(!c)return{success:!1,error:"Base branch is unavailable for this session."};let d=(0,f.default)(b.repoPath),e=await d.branchLocal();if(!e.all.includes(c))return{success:!1,error:`Base branch "${c}" not found in repository.`};if(!e.all.includes(b.branchName))return{success:!1,error:`Session branch "${b.branchName}" not found in repository.`};let[g,h]=(await d.raw(["rev-list","--left-right","--count",`${c}...${b.branchName}`])).trim().split(/\s+/),i=Number.parseInt(g,10),j=Number.parseInt(h,10);if(Number.isNaN(i)||Number.isNaN(j))return{success:!1,error:"Failed to parse git divergence output."};return{success:!0,ahead:j,behind:i}}catch(a){return console.error("Failed to get session divergence:",a),{success:!1,error:h(a)}}}async function D(a){try{let b=await t(a);if(!b)return{success:!1,error:"Session metadata not found"};let c=(0,f.default)(b.repoPath),d=[...(await c.branchLocal()).all].sort((a,b)=>a.localeCompare(b)),e=b.baseBranch?.trim();return{success:!0,baseBranch:e,branches:d}}catch(a){return console.error("Failed to list session base branches:",a),{success:!1,error:h(a)}}}async function E(a,b){try{let c=await t(a);if(!c)return{success:!1,error:"Session metadata not found"};let d=b.trim();if(!d)return{success:!1,error:"Base branch cannot be empty."};let e=(0,f.default)(c.repoPath);if(!(await e.branchLocal()).all.includes(d))return{success:!1,error:`Base branch "${d}" not found in repository.`};return c.baseBranch=d,await m(c),{success:!0,baseBranch:d}}catch(a){return console.error("Failed to update session base branch:",a),{success:!1,error:h(a)}}}(0,a.i(13095).ensureServerEntryExports)([m,n,o,p,r,s,t,u,v,w,x,y,z,A,B,C,D,E]),(0,b.registerServerReference)(m,"40ccc86b3da6a5bd50623c2b14e82bba3aeacdf722",null),(0,b.registerServerReference)(n,"60b8598f5616868573041f2d8daceacdd5e3fdd3f4",null),(0,b.registerServerReference)(o,"60821ae7d20a7942f7225bf61b2b468e134691322c",null),(0,b.registerServerReference)(p,"40bc84b1df92f9bf7ec14659b50e2fadeb502fc149",null),(0,b.registerServerReference)(r,"40875a5f93c26e7693d4a9cd7eb51cf74ebb29c847",null),(0,b.registerServerReference)(s,"700469d830d4fde2816e6d39c2de48189f59ed0db3",null),(0,b.registerServerReference)(t,"4094911d3dea3adc499026b8cf99fe8baed9d64542",null),(0,b.registerServerReference)(u,"406a426c7539a88960c1ca8a896edf4361198ca1be",null),(0,b.registerServerReference)(v,"700603c4aea3d88f3ba7d04f36928ba19e4cca8958",null),(0,b.registerServerReference)(w,"40796d29d1bf40c8b8ef295f916e0b7e9689fe6d51",null),(0,b.registerServerReference)(x,"40fabb2453b5f94d32cc70c178973f78bff2624265",null),(0,b.registerServerReference)(y,"40813875624d06a1f8787f36deabef6ff29aeaf787",null),(0,b.registerServerReference)(z,"40a4fd6ce1ba2e70c09fb3886daffd6e4d53442f75",null),(0,b.registerServerReference)(A,"4048b7196f1061cefd703b46f17c51d615364c60f7",null),(0,b.registerServerReference)(B,"4082b1ccb87044a99f81729754159bc203cdc9ebf7",null),(0,b.registerServerReference)(C,"40e88a6c6053be3677d1c1aae4183336e81d8e2df8",null),(0,b.registerServerReference)(D,"4048cbacc60989a956e398b97c5d6dff843eb9c8d1",null),(0,b.registerServerReference)(E,"6082549f5590043959fd70c4b3cd9ba1486cf31469",null),a.s(["consumeSessionLaunchContext",()=>p,"copySessionAttachments",()=>s,"createSession",()=>v,"deleteSession",()=>x,"deleteSessionInBackground",()=>y,"getSessionDivergence",()=>C,"getSessionMetadata",()=>t,"getSessionPrefillContext",()=>r,"getSessionUncommittedFileCount",()=>B,"listSessionBaseBranches",()=>D,"listSessions",()=>u,"markSessionInitialized",()=>w,"mergeSessionToBase",()=>z,"rebaseSessionOntoBase",()=>A,"saveSessionLaunchContext",()=>o,"updateSessionBaseBranch",()=>E,"writeSessionPromptFile",()=>n])}];
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},15271,4503,a=>{"use strict";let b,c;var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aI,aJ,aK,aL,aM,aN,aO,aP,aQ,aR,aS,aT,aU,aV,aW,aX=a.i(37936),aY=a.i(24868),aZ=a.i(14747),a$=a.i(46786),a_=a.i(51615),a0=a.i(2355),a1=a.i(61998),a2=a.i(33405),a3=a.i(68076),a4=a.i(50227),a5=a.i(87769),a6=Object.defineProperty,a7=Object.getOwnPropertyDescriptor,a8=Object.getOwnPropertyNames,a9=Object.prototype.hasOwnProperty,ba=(a,b)=>function(){return a&&(b=(0,a[a8(a)[0]])(a=0)),b},bb=(a,b)=>{for(var c in b)a6(a,c,{get:b[c],enumerable:!0})},bc=a=>((a,b,c,d)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let e of a8(b))a9.call(a,e)||e===c||a6(a,e,{get:()=>b[e],enumerable:!(d=a7(b,e))||d.enumerable});return a})(a6({},"__esModule",{value:!0}),a);function bd(a){return a instanceof String&&d.has(a)}function be(a){return d.get(a)||[]}var bf=ba({"src/lib/args/pathspec.ts"(){d=new WeakMap}}),bg=ba({"src/lib/errors/git-error.ts"(){e=class extends Error{constructor(a,b){super(b),this.task=a,Object.setPrototypeOf(this,new.target.prototype)}}}}),bh=ba({"src/lib/errors/git-response-error.ts"(){bg(),f=class extends e{constructor(a,b){super(void 0,b||String(a)),this.git=a}}}}),bi=ba({"src/lib/errors/task-configuration-error.ts"(){bg(),g=class extends e{constructor(a){super(void 0,a)}}}});function bj(a){return"function"!=typeof a?i:a}function bk(a){return"function"==typeof a&&a!==i}function bl(a,b){let c=a.indexOf(b);return c<=0?[a,""]:[a.substr(0,c),a.substr(c+1)]}function bm(a,b=0){return o(a)&&a.length>b?a[b]:void 0}function bn(a,b=0){if(o(a)&&a.length>b)return a[a.length-1-b]}function bo(a="",b=!0,c="\n"){return a.split(c).reduce((a,c)=>{let d=b?c.trim():c;return d&&a.push(d),a},[])}function bp(a,b){return bo(a,!0).map(a=>b(a))}function bq(a){return(0,a0.exists)(a,a0.FOLDER)}function br(a,b){return Array.isArray(a)?a.includes(b)||a.push(b):a.add(b),b}function bs(a,b){return Array.isArray(a)&&!a.includes(b)&&a.push(b),a}function bt(a,b){if(Array.isArray(a)){let c=a.indexOf(b);c>=0&&a.splice(c,1)}else a.delete(b);return b}function bu(a){return Array.isArray(a)?a:[a]}function bv(a){return a.replace(/[\s-]+(.)/g,(a,b)=>b.toUpperCase())}function bw(a){return bu(a).map(a=>a instanceof String?a:String(a))}function bx(a,b=0){if(null==a)return b;let c=parseInt(a,10);return Number.isNaN(c)?b:c}function by(a,b){let c=[];for(let d=0,e=a.length;d<e;d++)c.push(b,a[d]);return c}function bz(a){return(Array.isArray(a)?a_.Buffer.concat(a):a).toString("utf-8")}function bA(a,b){let c={};return b.forEach(b=>{void 0!==a[b]&&(c[b]=a[b])}),c}function bB(a=0){return new Promise(b=>setTimeout(b,a))}function bC(a){if(!1!==a)return a}var bD=ba({"src/lib/utils/util.ts"(){bI(),h="\0",i=()=>{},j=Object.prototype.toString.call.bind(Object.prototype.toString)}});function bE(a,b,c){return b(a)?a:arguments.length>2?c:void 0}function bF(a,b){let c=bd(a)?"string":typeof a;return/number|string|boolean/.test(c)&&(!b||!b.includes(c))}function bG(a){return!!a&&"[object Object]"===j(a)}function bH(a){return"function"==typeof a}var bI=ba({"src/lib/utils/argument-filters.ts"(){bf(),bD(),k=a=>Array.isArray(a),l=a=>"number"==typeof a,m=a=>"string"==typeof a,n=a=>m(a)||Array.isArray(a)&&a.every(m),o=a=>!(null==a||"number|boolean|function".includes(typeof a))&&"number"==typeof a.length}}),bJ=ba({"src/lib/utils/exit-codes.ts"(){var a;(a=p||{})[a.SUCCESS=0]="SUCCESS",a[a.ERROR=1]="ERROR",a[a.NOT_FOUND=-2]="NOT_FOUND",a[a.UNCLEAN=128]="UNCLEAN",p=a}}),bK=ba({"src/lib/utils/git-output-streams.ts"(){q=class a{constructor(a,b){this.stdOut=a,this.stdErr=b}asStrings(){return new a(this.stdOut.toString("utf8"),this.stdErr.toString("utf8"))}}}});function bL(){throw Error("LineParser:useMatches not implemented")}var bM=ba({"src/lib/utils/line-parser.ts"(){r=class{constructor(a,b){this.matches=[],this.useMatches=bL,this.parse=(a,b)=>(this.resetMatches(),!!this._regExp.every((b,c)=>this.addMatch(b,c,a(c)))&&!1!==this.useMatches(b,this.prepareMatches())),this._regExp=Array.isArray(a)?a:[a],b&&(this.useMatches=b)}resetMatches(){this.matches.length=0}prepareMatches(){return this.matches}addMatch(a,b,c){let d=c&&a.exec(c);return d&&this.pushMatch(b,d),!!d}pushMatch(a,b){this.matches.push(...b.slice(1))}},s=class extends r{addMatch(a,b,c){return/^remote:\s/.test(String(c))&&super.addMatch(a,b,c)}pushMatch(a,b){(a>0||b.length>1)&&super.pushMatch(a,b)}}}});function bN(...a){let b=process.cwd(),c=Object.assign({baseDir:b,...t},...a.filter(a=>"object"==typeof a&&a));return c.baseDir=c.baseDir||b,c.trimmed=!0===c.trimmed,c}var bO=ba({"src/lib/utils/simple-git-options.ts"(){t={binary:"git",maxConcurrentProcesses:5,config:[],trimmed:!1}}});function bP(a,b=[]){return bG(a)?Object.keys(a).reduce((b,c)=>{let d=a[c];if(bd(d))b.push(d);else if(bF(d,["boolean"]))b.push(c+"="+d);else if(Array.isArray(d))for(let a of d)bF(a,["string","number"])||b.push(c+"="+a);else b.push(c);return b},b):b}function bQ(a,b=0,c=!1){var d;let e,f=[];for(let c=0,d=b<0?a.length:b;c<d;c++)"string|number".includes(typeof a[c])&&f.push(String(a[c]));return bP(bR(a),f),c||f.push(...(e="function"==typeof bn(d=a),bw(bE(bn(d,+!!e),k,[])))),f}function bR(a){let b=bH(bn(a));return bE(bn(a,+!!b),bG)}function bS(a,b=!0){let c=bj(bn(a));return b||bk(c)?c:void 0}var bT=ba({"src/lib/utils/task-options.ts"(){bI(),bD(),bf()}});function bU(a,b){return a(b.stdOut,b.stdErr)}function bV(a,b,c,d=!0){return bu(c).forEach(c=>{for(let e=bo(c,d),f=0,g=e.length;f<g;f++){let c=(a=0)=>{if(!(f+a>=g))return e[f+a]};b.some(({parse:b})=>b(c,a))}}),a}var bW=ba({"src/lib/utils/task-parser.ts"(){bD()}}),bX={};bb(bX,{ExitCodes:()=>p,GitOutputStreams:()=>q,LineParser:()=>r,NOOP:()=>i,NULL:()=>h,RemoteLineParser:()=>s,append:()=>br,appendTaskOptions:()=>bP,asArray:()=>bu,asCamelCase:()=>bv,asFunction:()=>bj,asNumber:()=>bx,asStringArray:()=>bw,bufferToString:()=>bz,callTaskParser:()=>bU,createInstanceConfig:()=>bN,delay:()=>bB,filterArray:()=>k,filterFunction:()=>bH,filterHasLength:()=>o,filterNumber:()=>l,filterPlainObject:()=>bG,filterPrimitives:()=>bF,filterString:()=>m,filterStringOrStringArray:()=>n,filterType:()=>bE,first:()=>bm,folderExists:()=>bq,forEachLineWithContent:()=>bp,getTrailingOptions:()=>bQ,including:()=>bs,isUserFunction:()=>bk,last:()=>bn,objectToString:()=>j,orVoid:()=>bC,parseStringResponse:()=>bV,pick:()=>bA,prefixedArray:()=>by,remove:()=>bt,splitOn:()=>bl,toLinesWithContent:()=>bo,trailingFunctionArgument:()=>bS,trailingOptionsArgument:()=>bR});var bY=ba({"src/lib/utils/index.ts"(){bI(),bJ(),bK(),bM(),bO(),bT(),bW(),bD()}}),bZ={};function b$(a){switch(a){case"bare":return b0();case"root":return b_()}return{commands:["rev-parse","--is-inside-work-tree"],format:"utf-8",onError:v,parser:w}}function b_(){return{commands:["rev-parse","--git-dir"],format:"utf-8",onError:v,parser:a=>/^\.(git)?$/.test(a.trim())}}function b0(){return{commands:["rev-parse","--is-bare-repository"],format:"utf-8",onError:v,parser:w}}bb(bZ,{CheckRepoActions:()=>u,checkIsBareRepoTask:()=>b0,checkIsRepoRootTask:()=>b_,checkIsRepoTask:()=>b$});var b1=ba({"src/lib/tasks/check-is-repo.ts"(){var a;bY(),(a=u||{}).BARE="bare",a.IN_TREE="tree",a.IS_REPO_ROOT="root",u=a,v=({exitCode:a},b,c,d)=>{if(128===a&&/(Not a git repository|Kein Git-Repository)/i.test(String(b)))return c(Buffer.from("false"));d(b)},w=a=>"true"===a.trim()}}),b2=ba({"src/lib/responses/CleanSummary.ts"(){bY(),x=class{constructor(a){this.dryRun=a,this.paths=[],this.files=[],this.folders=[]}},y=/^[a-z]+\s*/i,z=/^[a-z]+\s+[a-z]+\s*/i,A=/\/$/}}),b3={};function b4(a){return{commands:B,format:"empty",parser:a}}function b5(a){return{commands:B,format:"empty",parser(){throw"string"==typeof a?new g(a):a}}}function b6(a,b=!1){return{commands:a,format:"utf-8",parser:a=>b?String(a).trim():a}}function b7(a){return{commands:a,format:"buffer",parser:a=>a}}function b8(a){return"buffer"===a.format}function b9(a){return"empty"===a.format||!a.commands.length}bb(b3,{EMPTY_COMMANDS:()=>B,adhocExecTask:()=>b4,configurationErrorTask:()=>b5,isBufferTask:()=>b8,isEmptyTask:()=>b9,straightThroughBufferTask:()=>b7,straightThroughStringTask:()=>b6});var ca=ba({"src/lib/tasks/task.ts"(){bi(),B=[]}}),cb={};function cc(a,b){let c,d,e,{cleanMode:f,options:g,valid:h}=(d=[],e={cleanMode:!1,options:!0},a.replace(/[^a-z]i/g,"").split("").forEach(a=>{var b,f;"f"===(b=a)||"n"===b?(c=a,e.cleanMode=!0):e.options=e.options&&(f=d[d.length]=`-${a}`,/^-[a-z]$/i.test(f)&&G.has(f.charAt(1)))}),{cleanMode:c,options:d,valid:e});return f?h.options?(g.push(...b),g.some(cf))?b5(C):cd(f,g):b5(E+JSON.stringify(a)):b5(D)}function cd(a,b){return{commands:["clean",`-${a}`,...b],format:"utf-8",parser:b=>{var c;let d,e;return d=new x(c="n"===a),e=c?z:y,bo(b).forEach(a=>{let b=a.replace(e,"");d.paths.push(b),(A.test(b)?d.folders:d.files).push(b)}),d}}}function ce(a){return Array.isArray(a)&&a.every(a=>G.has(a))}function cf(a){return/^-[^\-]/.test(a)?a.indexOf("i")>0:"--interactive"===a}bb(cb,{CONFIG_ERROR_INTERACTIVE_MODE:()=>C,CONFIG_ERROR_MODE_REQUIRED:()=>D,CONFIG_ERROR_UNKNOWN_OPTION:()=>E,CleanOptions:()=>F,cleanTask:()=>cd,cleanWithOptionsTask:()=>cc,isCleanOptionsArray:()=>ce});var cg=ba({"src/lib/tasks/clean.ts"(){var a;b2(),bY(),ca(),C="Git clean interactive mode is not supported",D='Git clean mode parameter ("n" or "f") is required',E="Git clean unknown option found in: ",(a=F||{}).DRY_RUN="n",a.FORCE="f",a.IGNORED_INCLUDED="x",a.IGNORED_ONLY="X",a.EXCLUDING="e",a.QUIET="q",a.RECURSIVE="d",G=new Set(["i",...bw(Object.values(F=a))])}});function*ch(a,b=null){let c=a.split("\0");for(let a=0,d=c.length-1;a<d;){let d=c[a++].replace(/^(file):/,""),e=c[a++],f=b;if(e.includes("\n")){let a=bl(e,"\n");f=a[0],e=a[1]}yield{file:d,key:f,value:e}}}var ci=ba({"src/lib/responses/ConfigList.ts"(){bY(),H=class{constructor(){this.files=[],this.values=Object.create(null)}get all(){return this._all||(this._all=this.files.reduce((a,b)=>Object.assign(a,this.values[b]),{})),this._all}addFile(a){if(!(a in this.values)){let b=bn(this.files);this.values[a]=b?Object.create(this.values[b]):{},this.files.push(a)}return this.values[a]}addValue(a,b,c){let d=this.addFile(a);Object.hasOwn(d,b)?Array.isArray(d[b])?d[b].push(c):d[b]=[d[b],c]:d[b]=c,this._all=void 0}}}});function cj(a,b){return"string"==typeof a&&Object.hasOwn(I,a)?a:b}var ck=ba({"src/lib/tasks/config.ts"(){var a;ci(),bY(),(a=I||{}).system="system",a.global="global",a.local="local",a.worktree="worktree",I=a}}),cl=ba({"src/lib/tasks/diff-name-status.ts"(){var a;(a=J||{}).ADDED="A",a.COPIED="C",a.DELETED="D",a.MODIFIED="M",a.RENAMED="R",a.CHANGED="T",a.UNMERGED="U",a.UNKNOWN="X",a.BROKEN="B",K=new Set(Object.values(J=a))}}),cm=ba({"src/lib/tasks/grep.ts"(){bY(),ca(),L=["-h"],M=Symbol("grepQuery"),O=class{constructor(){this[N]=[]}*[(N=M,Symbol.iterator)](){for(let a of this[M])yield a}and(...a){return a.length&&this[M].push("--and","(",...by(a,"-e"),")"),this}param(...a){return this[M].push(...by(a,"-e")),this}}}}),cn={};function co(a,b){let c=["reset"];return cq(a)&&c.push(`--${a}`),c.push(...b),b6(c)}function cp(a){if(cq(a))return a;switch(typeof a){case"string":case"undefined":return"soft"}}function cq(a){return"string"==typeof a&&Q.includes(a)}bb(cn,{ResetMode:()=>P,getResetMode:()=>cp,resetTask:()=>co});var cr=ba({"src/lib/tasks/reset.ts"(){var a;bY(),ca(),(a=P||{}).MIXED="mixed",a.SOFT="soft",a.HARD="hard",a.MERGE="merge",a.KEEP="keep",Q=bw(Object.values(P=a))}});function cs(a,b,c){return b&&String(b).replace(/\s*/,"")?(d,...e)=>{a(`%s ${d}`,b,...e),c&&c(d,...e)}:c?(b,...d)=>{a(b,...d),c(b,...d)}:a}function ct(a,b,c,d=(0,a1.default)("simple-git")){let e=a&&`[${a}]`||"",f=[],g="string"==typeof b?d.extend(b):b,h=function(a,b,{namespace:c}){if("string"==typeof a)return a;let d=b&&b.namespace||"";return d.startsWith(c)?d.substr(c.length+1):d||c}(bE(b,m),g,d);return function b(c){let f=c&&`[${c}]`||"",h=g&&cs(g,f)||i,k=cs(d,`${e} ${f}`,h);return Object.assign(g?h:k,{label:a,sibling:j,info:k,step:b})}(c);function j(b,c){return br(f,ct(a,h.replace(/^[^:]+/,b),c,d))}}var cu=ba({"src/lib/git-logger.ts"(){bY(),a1.default.formatters.L=a=>String(o(a)?a.length:"-"),a1.default.formatters.B=a=>Buffer.isBuffer(a)?a.toString("utf8"):j(a)}}),cv=ba({"src/lib/runners/tasks-pending-queue.ts"(){bg(),cu(),R=class a{constructor(a="GitExecutor"){this.logLabel=a,this._queue=new Map}withProgress(a){return this._queue.get(a)}createProgress(b){let c=a.getName(b.commands[0]);return{task:b,logger:ct(this.logLabel,c),name:c}}push(a){let b=this.createProgress(a);return b.logger("Adding task to the queue, commands = %o",a.commands),this._queue.set(a,b),b}fatal(a){for(let[b,{logger:c}]of Array.from(this._queue.entries()))b===a.task?(c.info("Failed %o",a),c("Fatal exception, any as-yet un-started tasks run through this executor will not be attempted")):c.info("A fatal exception occurred in a previous task, the queue has been purged: %o",a.message),this.complete(b);if(0!==this._queue.size)throw Error(`Queue size should be zero after fatal: ${this._queue.size}`)}complete(a){this.withProgress(a)&&this._queue.delete(a)}attempt(a){let b=this.withProgress(a);if(!b)throw new e(void 0,"TasksPendingQueue: attempt called for an unknown task");return b.logger("Starting task"),b}static getName(b="empty"){return`task:${b}:${++a.counter}`}static{this.counter=0}}}});function cw(a,b){return{method:bm(a.commands)||"",commands:b}}function cx(a,b,c,d){return e=>{c("%s received %L bytes",b,e),d("%B",e),a.push(e)}}var cy=ba({"src/lib/runners/git-executor-chain.ts"(){bg(),ca(),bY(),cv(),S=class{constructor(a,b,c){this._executor=a,this._scheduler=b,this._plugins=c,this._chain=Promise.resolve(),this._queue=new R}get cwd(){return this._cwd||this._executor.cwd}set cwd(a){this._cwd=a}get env(){return this._executor.env}get outputHandler(){return this._executor.outputHandler}chain(){return this}push(a){return this._queue.push(a),this._chain=this._chain.then(()=>this.attemptTask(a))}async attemptTask(a){let b=await this._scheduler.next(),c=()=>this._queue.complete(a);try{let{logger:b}=this._queue.attempt(a);return await (b9(a)?this.attemptEmptyTask(a,b):this.attemptRemoteTask(a,b))}catch(b){throw this.onFatalException(a,b)}finally{c(),b()}}onFatalException(a,b){let c=b instanceof e?Object.assign(b,{task:a}):new e(a,b&&String(b));return this._chain=Promise.resolve(),this._queue.fatal(c),c}async attemptRemoteTask(a,b){let c=this._plugins.exec("spawn.binary","",cw(a,a.commands)),d=this._plugins.exec("spawn.args",[...a.commands],cw(a,a.commands)),e=await this.gitResponse(a,c,d,this.outputHandler,b.step("SPAWN")),f=await this.handleTaskData(a,d,e,b.step("HANDLE"));return(b("passing response to task's parser as a %s",a.format),b8(a))?bU(a.parser,f):bU(a.parser,f.asStrings())}async attemptEmptyTask(a,b){return b("empty task bypassing child process to call to task's parser"),a.parser(this)}handleTaskData(a,b,c,d){let{exitCode:e,rejection:f,stdOut:g,stdErr:h}=c;return new Promise((i,k)=>{d("Preparing to handle process response exitCode=%d stdOut=",e);let{error:l}=this._plugins.exec("task.error",{error:f},{...cw(a,b),...c});return l&&a.onError?(d.info("exitCode=%s handling with custom error handler"),a.onError(c,l,a=>{d.info("custom error handler treated as success"),d("custom error returned a %s",j(a)),i(new q(Array.isArray(a)?Buffer.concat(a):a,Buffer.concat(h)))},k)):l?(d.info("handling as error: exitCode=%s stdErr=%s rejection=%o",e,h.length,f),k(l)):void(d.info("retrieving task output complete"),i(new q(Buffer.concat(g),Buffer.concat(h))))})}async gitResponse(a,b,c,d,e){let f=e.sibling("output"),g=this._plugins.exec("spawn.options",{cwd:this.cwd,env:this.env,windowsHide:!0},cw(a,a.commands));return new Promise(h=>{let i=[],j=[];e.info("%s %o",b,c),e("%O",g);let k=this._beforeSpawn(a,c);if(k)return h({stdOut:i,stdErr:j,exitCode:9901,rejection:k});this._plugins.exec("spawn.before",void 0,{...cw(a,c),kill(a){k=a||k}});let l=(0,a2.spawn)(b,c,g);l.stdout.on("data",cx(i,"stdOut",e,f.step("stdOut"))),l.stderr.on("data",cx(j,"stdErr",e,f.step("stdErr"))),l.on("error",a=>{e("[ERROR] child process exception %o",a),j.push(Buffer.from(String(a.stack),"ascii"))}),d&&(e("Passing child process stdOut/stdErr to custom outputHandler"),d(b,l.stdout,l.stderr,[...c])),this._plugins.exec("spawn.after",void 0,{...cw(a,c),spawned:l,close(a,b){h({stdOut:i,stdErr:j,exitCode:a,rejection:k||b})},kill(a){l.killed||(k=a,l.kill("SIGINT"))}})})}_beforeSpawn(a,b){let c;return this._plugins.exec("spawn.before",void 0,{...cw(a,b),kill(a){c=a||c}}),c}}}}),cz={};bb(cz,{GitExecutor:()=>T});var cA=ba({"src/lib/runners/git-executor.ts"(){cy(),T=class{constructor(a,b,c){this.cwd=a,this._scheduler=b,this._plugins=c,this._chain=new S(this,this._scheduler,this._plugins)}chain(){return new S(this,this._scheduler,this._plugins)}push(a){return this._chain.push(a)}}}}),cB=ba({"src/lib/task-callback.ts"(){bh(),bY()}});function cC(a,b){return b4(c=>{if(!bq(a))throw Error(`Git.cwd: cannot change to non-directory "${a}"`);return(b||c).cwd=a})}var cD=ba({"src/lib/tasks/change-working-directory.ts"(){bY(),ca()}});function cE(a){let b=["checkout",...a];return"-b"===b[1]&&b.includes("-B")&&(b[1]=bt(b,"-B")),b6(b)}var cF=ba({"src/lib/tasks/checkout.ts"(){bY(),ca()}}),cG=ba({"src/lib/tasks/count-objects.ts"(){bY(),U=new r(/([a-z-]+): (\d+)$/,(a,[b,c])=>{let d=bv(b);Object.hasOwn(a,d)&&(a[d]=bx(c))})}});function cH(a){return bV({author:null,branch:"",commit:"",root:!1,summary:{changes:0,insertions:0,deletions:0}},V,a)}var cI=ba({"src/lib/parsers/parse-commit.ts"(){bY(),V=[new r(/^\[([^\s]+)( \([^)]+\))? ([^\]]+)/,(a,[b,c,d])=>{a.branch=b,a.commit=d,a.root=!!c}),new r(/\s*Author:\s(.+)/i,(a,[b])=>{let c=b.split("<"),d=c.pop();d&&d.includes("@")&&(a.author={email:d.substr(0,d.length-1),name:c.join("<").trim()})}),new r(/(\d+)[^,]*(?:,\s*(\d+)[^,]*)(?:,\s*(\d+))/g,(a,[b,c,d])=>{a.summary.changes=parseInt(b,10)||0,a.summary.insertions=parseInt(c,10)||0,a.summary.deletions=parseInt(d,10)||0}),new r(/^(\d+)[^,]*(?:,\s*(\d+)[^(]+\(([+-]))?/,(a,[b,c,d])=>{a.summary.changes=parseInt(b,10)||0;let e=parseInt(c,10)||0;"-"===d?a.summary.deletions=e:"+"===d&&(a.summary.insertions=e)})]}}),cJ=ba({"src/lib/tasks/commit.ts"(){cI(),bY(),ca()}}),cK=ba({"src/lib/tasks/first-commit.ts"(){bY(),ca()}}),cL=ba({"src/lib/tasks/hash-object.ts"(){ca()}}),cM=ba({"src/lib/responses/InitSummary.ts"(){W=class{constructor(a,b,c,d){this.bare=a,this.path=b,this.existing=c,this.gitDir=d}},X=/^Init.+ repository in (.+)$/,Y=/^Rein.+ in (.+)$/}}),cN=ba({"src/lib/tasks/init.ts"(){cM(),Z="--bare"}});function cO(a){for(let b=0;b<a.length;b++){let c=$.exec(a[b]);if(c)return`--${c[1]}`}return""}function cP(a){return $.test(a)}var cQ=ba({"src/lib/args/log-format.ts"(){$=/^--(stat|numstat|name-only|name-status)(=|$)/}}),cR=ba({"src/lib/responses/DiffSummary.ts"(){_=class{constructor(){this.changed=0,this.deletions=0,this.insertions=0,this.files=[]}}}});function cS(a=""){let b=ad[a];return a=>bV(new _,b,a,!1)}var cT=ba({"src/lib/parsers/parse-diff-summary.ts"(){cQ(),cR(),cl(),bY(),aa=[new r(/^(.+)\s+\|\s+(\d+)(\s+[+\-]+)?$/,(a,[b,c,d=""])=>{a.files.push({file:b.trim(),changes:bx(c),insertions:d.replace(/[^+]/g,"").length,deletions:d.replace(/[^-]/g,"").length,binary:!1})}),new r(/^(.+) \|\s+Bin ([0-9.]+) -> ([0-9.]+) ([a-z]+)/,(a,[b,c,d])=>{a.files.push({file:b.trim(),before:bx(c),after:bx(d),binary:!0})}),new r(/(\d+) files? changed\s*((?:, \d+ [^,]+){0,2})/,(a,[b,c])=>{let d=/(\d+) i/.exec(c),e=/(\d+) d/.exec(c);a.changed=bx(b),a.insertions=bx(d?.[1]),a.deletions=bx(e?.[1])})],ab=[new r(/(\d+)\t(\d+)\t(.+)$/,(a,[b,c,d])=>{let e=bx(b),f=bx(c);a.changed++,a.insertions+=e,a.deletions+=f,a.files.push({file:d,changes:e+f,insertions:e,deletions:f,binary:!1})}),new r(/-\t-\t(.+)$/,(a,[b])=>{a.changed++,a.files.push({file:b,after:0,before:0,binary:!0})})],ac=[new r(/(.+)$/,(a,[b])=>{a.changed++,a.files.push({file:b,changes:0,insertions:0,deletions:0,binary:!1})})],ad={"":aa,"--stat":aa,"--numstat":ab,"--name-status":[new r(/([ACDMRTUXB])([0-9]{0,3})\t(.[^\t]*)(\t(.[^\t]*))?$/,(a,[b,c,d,e,f])=>{a.changed++,a.files.push({file:f??d,changes:0,insertions:0,deletions:0,binary:!1,status:bC(K.has(b)&&b),from:bC(!!f&&d!==f&&d),similarity:bx(c)})})],"--name-only":ac}}});function cU(a=ag,b=ah,c=""){let d=cS(c);return function(c){let e=bo(c.trim(),!1,ae).map(function(c){var e;let f=c.split(af),g=(e=f[0].split(a),b.reduce((a,b,c)=>(a[b]=e[c]||"",a),Object.create({diff:null})));return f.length>1&&f[1].trim()&&(g.diff=d(f[1])),g});return{all:e,latest:e.length&&e[0]||null,total:e.length}}}var cV=ba({"src/lib/parsers/parse-list-log-summary.ts"(){bY(),cT(),cQ(),ae="òòòòòò ",af=" òò",ag=" ò ",ah=["hash","date","message","refs","author_name","author_email"]}}),cW={};function cX(a){let b=cO(a),c=["diff"];return""===b&&(b="--stat",c.push("--stat=4096")),c.push(...a),cY(c)||{commands:c,format:"utf-8",parser:cS(b)}}function cY(a){let b=a.filter(cP);return b.length>1?b5(`Summary flags are mutually exclusive - pick one of ${b.join(",")}`):b.length&&a.includes("-z")?b5(`Summary flag ${b} parsing is not compatible with null termination option '-z'`):void 0}bb(cW,{diffSummaryTask:()=>cX,validateLogFormatConfig:()=>cY});var cZ=ba({"src/lib/tasks/diff.ts"(){cQ(),cT(),ca()}});function c$(a={},b=[]){var c;let e,f,g=bE(a.splitter,m,ag),[h,i]=(c=bG(a.format)?a.format:{hash:"%H",date:!1===a.strictDate?"%ai":"%aI",message:"%s",refs:"%D",body:a.multiLine?"%B":"%b",author_name:!1!==a.mailMap?"%aN":"%an",author_email:!1!==a.mailMap?"%aE":"%ae"},e=[],f=[],Object.keys(c).forEach(a=>{e.push(a),f.push(String(c[a]))}),[e,f.join(g)]),j=[],k=[`--pretty=format:${ae}${i}${af}`,...b],l=a.n||a["max-count"]||a.maxCount;if(l&&k.push(`--max-count=${l}`),a.from||a.to){let b=!1!==a.symmetric?"...":"..";j.push(`${a.from||""}${b}${a.to||""}`)}return m(a.file)&&k.push("--follow",function(...a){let b=new String(a);return d.set(b,a),b}(a.file)),bP(Object.keys(a).reduce((b,c)=>(c in ai||(b[c]=a[c]),b),{}),k),{fields:h,splitter:g,commands:[...k,...j]}}var c_=ba({"src/lib/tasks/log.ts"(){var a;cQ(),bf(),cV(),bY(),ca(),cZ(),(a=ai||{})[a["--pretty"]=0]="--pretty",a[a["max-count"]=1]="max-count",a[a.maxCount=2]="maxCount",a[a.n=3]="n",a[a.file=4]="file",a[a.format=5]="format",a[a.from=6]="from",a[a.to=7]="to",a[a.splitter=8]="splitter",a[a.symmetric=9]="symmetric",a[a.mailMap=10]="mailMap",a[a.multiLine=11]="multiLine",a[a.strictDate=12]="strictDate",ai=a}}),c0=ba({"src/lib/responses/MergeSummary.ts"(){aj=class{constructor(a,b=null,c){this.reason=a,this.file=b,this.meta=c}toString(){return`${this.file}:${this.reason}`}},ak=class{constructor(){this.conflicts=[],this.merges=[],this.result="success"}get failed(){return this.conflicts.length>0}get reason(){return this.result}toString(){return this.conflicts.length?`CONFLICTS: ${this.conflicts.join(", ")}`:"OK"}}}}),c1=ba({"src/lib/responses/PullSummary.ts"(){al=class{constructor(){this.remoteMessages={all:[]},this.created=[],this.deleted=[],this.files=[],this.deletions={},this.insertions={},this.summary={changes:0,deletions:0,insertions:0}}},am=class{constructor(){this.remote="",this.hash={local:"",remote:""},this.branch={local:"",remote:""},this.message=""}toString(){return this.message}}}});function c2(a){return a.objects=a.objects||{compressing:0,counting:0,enumerating:0,packReused:0,reused:{count:0,delta:0},total:{count:0,delta:0}}}function c3(a){let b=/^\s*(\d+)/.exec(a),c=/delta (\d+)/i.exec(a);return{count:bx(b&&b[1]||"0"),delta:bx(c&&c[1]||"0")}}var c4=ba({"src/lib/parsers/parse-remote-objects.ts"(){bY(),an=[new s(/^remote:\s*(enumerating|counting|compressing) objects: (\d+),/i,(a,[b,c])=>{let d=b.toLowerCase();Object.assign(c2(a.remoteMessages),{[d]:bx(c)})}),new s(/^remote:\s*(enumerating|counting|compressing) objects: \d+% \(\d+\/(\d+)\),/i,(a,[b,c])=>{let d=b.toLowerCase();Object.assign(c2(a.remoteMessages),{[d]:bx(c)})}),new s(/total ([^,]+), reused ([^,]+), pack-reused (\d+)/i,(a,[b,c,d])=>{let e=c2(a.remoteMessages);e.total=c3(b),e.reused=c3(c),e.packReused=bx(d)})]}});function c5(a,b){return bV({remoteMessages:new ap},ao,b)}var c6=ba({"src/lib/parsers/parse-remote-messages.ts"(){bY(),c4(),ao=[new s(/^remote:\s*(.+)$/,(a,[b])=>(a.remoteMessages.all.push(b.trim()),!1)),...an,new s([/create a (?:pull|merge) request/i,/\s(https?:\/\/\S+)$/],(a,[b])=>{a.remoteMessages.pullRequestUrl=b}),new s([/found (\d+) vulnerabilities.+\(([^)]+)\)/i,/\s(https?:\/\/\S+)$/],(a,[b,c,d])=>{a.remoteMessages.vulnerabilities={count:bx(b),summary:c,url:d}})],ap=class{constructor(){this.all=[]}}}}),c7=ba({"src/lib/parsers/parse-pull.ts"(){c1(),bY(),c6(),aq=/(\d+)\D+((\d+)\D+\(\+\))?(\D+(\d+)\D+\(-\))?/,ar=/^(create|delete) mode \d+ (.+)/,as=[new r(/^\s*(.+?)\s+\|\s+\d+\s*(\+*)(-*)/,(a,[b,c,d])=>{a.files.push(b),c&&(a.insertions[b]=c.length),d&&(a.deletions[b]=d.length)}),new r(aq,(a,[b,,c,,d])=>(void 0!==c||void 0!==d)&&(a.summary.changes=+b||0,a.summary.insertions=+c||0,a.summary.deletions=+d||0,!0)),new r(ar,(a,[b,c])=>{br(a.files,c),br("create"===b?a.created:a.deleted,c)})],at=[new r(/^from\s(.+)$/i,(a,[b])=>void(a.remote=b)),new r(/^fatal:\s(.+)$/,(a,[b])=>void(a.message=b)),new r(/([a-z0-9]+)\.\.([a-z0-9]+)\s+(\S+)\s+->\s+(\S+)$/,(a,[b,c,d,e])=>{a.branch.local=d,a.hash.local=b,a.branch.remote=e,a.hash.remote=c})],au=(a,b)=>Object.assign(new al,bV(new al,as,[a,b]),c5(a,b))}}),c8=ba({"src/lib/parsers/parse-merge.ts"(){c0(),bY(),c7(),av=[new r(/^Auto-merging\s+(.+)$/,(a,[b])=>{a.merges.push(b)}),new r(/^CONFLICT\s+\((.+)\): Merge conflict in (.+)$/,(a,[b,c])=>{a.conflicts.push(new aj(b,c))}),new r(/^CONFLICT\s+\((.+\/delete)\): (.+) deleted in (.+) and/,(a,[b,c,d])=>{a.conflicts.push(new aj(b,c,{deleteRef:d}))}),new r(/^CONFLICT\s+\((.+)\):/,(a,[b])=>{a.conflicts.push(new aj(b,null))}),new r(/^Automatic merge failed;\s+(.+)$/,(a,[b])=>{a.result=b})],aw=(a,b)=>Object.assign(ax(a,b),au(a,b)),ax=a=>bV(new ak,av,a)}});function c9(a){return a.length?{commands:["merge",...a],format:"utf-8",parser(a,b){let c=aw(a,b);if(c.failed)throw new f(c);return c}}:b5("Git.merge requires at least one option")}var da=ba({"src/lib/tasks/merge.ts"(){bh(),c8(),ca()}}),db=ba({"src/lib/parsers/parse-push.ts"(){bY(),c6(),ay=[new r(/^Pushing to (.+)$/,(a,[b])=>{a.repo=b}),new r(/^updating local tracking ref '(.+)'/,(a,[b])=>{a.ref={...a.ref||{},local:b}}),new r(/^[=*-]\s+([^:]+):(\S+)\s+\[(.+)]$/,(a,[b,c,d])=>{let e,f,g;a.pushed.push((e=d.includes("deleted"),f=d.includes("tag")||/^refs\/tags/.test(b),{deleted:e,tag:f,branch:!f,new:!(g=!d.includes("new")),alreadyUpdated:g,local:b,remote:c}))}),new r(/^Branch '([^']+)' set up to track remote branch '([^']+)' from '([^']+)'/,(a,[b,c,d])=>{a.branch={...a.branch||{},local:b,remote:c,remoteName:d}}),new r(/^([^:]+):(\S+)\s+([a-z0-9]+)\.\.([a-z0-9]+)$/,(a,[b,c,d,e])=>{a.update={head:{local:b,remote:c},hash:{from:d,to:e}}})],az=(a,b)=>{let c=aA(a,b),d=c5(a,b);return{...c,...d}},aA=(a,b)=>bV({pushed:[]},ay,[a,b])}}),dc={};function dd(a={},b){return br(b,"--tags"),de(a,b)}function de(a={},b){let c=["push",...b];return a.branch&&c.splice(1,0,a.branch),a.remote&&c.splice(1,0,a.remote),bt(c,"-v"),br(c,"--verbose"),br(c,"--porcelain"),{commands:c,format:"utf-8",parser:az}}bb(dc,{pushTagsTask:()=>dd,pushTask:()=>de});var df=ba({"src/lib/tasks/push.ts"(){db(),bY()}}),dg=ba({"src/lib/tasks/show.ts"(){bY(),ca()}}),dh=ba({"src/lib/responses/FileStatusSummary.ts"(){aB=/^(.+)\0(.+)$/,aC=class{constructor(a,b,c){if(this.path=a,this.index=b,this.working_dir=c,"R"===b||"R"===c){const b=aB.exec(a)||[null,a,a];this.from=b[2]||"",this.path=b[1]||""}}}}});function di(a){let[b,c]=a.split(h);return{from:c||b,to:b}}function dj(a,b,c){return[`${a}${b}`,c]}function dk(a,...b){return b.map(b=>dj(a,b,(a,b)=>br(a.conflicted,b)))}var dl=ba({"src/lib/responses/StatusSummary.ts"(){bY(),dh(),aD=class{constructor(){this.not_added=[],this.conflicted=[],this.created=[],this.deleted=[],this.ignored=void 0,this.modified=[],this.renamed=[],this.files=[],this.staged=[],this.ahead=0,this.behind=0,this.current=null,this.tracking=null,this.detached=!1,this.isClean=()=>!this.files.length}},aE=new Map([dj(" ","A",(a,b)=>br(a.created,b)),dj(" ","D",(a,b)=>br(a.deleted,b)),dj(" ","M",(a,b)=>br(a.modified,b)),dj("A"," ",(a,b)=>br(a.created,b)&&br(a.staged,b)),dj("A","M",(a,b)=>br(a.created,b)&&br(a.staged,b)&&br(a.modified,b)),dj("D"," ",(a,b)=>br(a.deleted,b)&&br(a.staged,b)),dj("M"," ",(a,b)=>br(a.modified,b)&&br(a.staged,b)),dj("M","M",(a,b)=>br(a.modified,b)&&br(a.staged,b)),dj("R"," ",(a,b)=>{br(a.renamed,di(b))}),dj("R","M",(a,b)=>{let c=di(b);br(a.renamed,c),br(a.modified,c.to)}),dj("!","!",(a,b)=>{br(a.ignored=a.ignored||[],b)}),dj("?","?",(a,b)=>br(a.not_added,b)),...dk("A","A","U"),...dk("D","D","U"),...dk("U","A","D","U"),["##",(a,b)=>{let c=/ahead (\d+)/.exec(b);a.ahead=c&&+c[1]||0,a.behind=(c=/behind (\d+)/.exec(b))&&+c[1]||0,c=/^(.+?(?=(?:\.{3}|\s|$)))/.exec(b),a.current=bE(c?.[1],m,null),c=/\.{3}(\S*)/.exec(b),a.tracking=bE(c?.[1],m,null),(c=/\son\s(\S+?)(?=\.{3}|$)/.exec(b))&&(a.current=bE(c?.[1],m,a.current)),a.detached=/\(no branch\)/.test(b)}]]),aF=function(a){let b=a.split(h),c=new aD;for(let a=0,d=b.length;a<d;){let d=b[a++].trim();d&&("R"===d.charAt(0)&&(d+=h+(b[a++]||"")),function(a,b){let c=b.trim();switch(" "){case c.charAt(2):return d(c.charAt(0),c.charAt(1),c.substr(3));case c.charAt(1):return d(" ",c.charAt(0),c.substr(2));default:return}function d(b,c,d){let e=`${b}${c}`,f=aE.get(e);f&&f(a,d),"##"!==e&&"!!"!==e&&a.files.push(new aC(d,b,c))}}(c,d))}return c}}}),dm=ba({"src/lib/tasks/status.ts"(){dl(),aG=["--null","-z"]}});function dn(a=0,b=0,c=0,d="",e=!0){return Object.defineProperty({major:a,minor:b,patch:c,agent:d,installed:e},"toString",{value(){return`${this.major}.${this.minor}.${this.patch}`},configurable:!1,enumerable:!1})}function dp(a){return a===aH?dn(0,0,0,"",!1):bV(dn(0,0,0,a),aI,a)}var dq=ba({"src/lib/tasks/version.ts"(){bY(),aH="installed=false",aI=[new r(/version (\d+)\.(\d+)\.(\d+)(?:\s*\((.+)\))?/,(a,[b,c,d,e=""])=>{Object.assign(a,dn(bx(b),bx(c),bx(d),e))}),new r(/version (\d+)\.(\d+)\.(\D+)(.+)?$/,(a,[b,c,d,e=""])=>{Object.assign(a,dn(bx(b),bx(c),d,e))})]}}),dr={};bb(dr,{SimpleGitApi:()=>aJ});var ds=ba({"src/lib/simple-git-api.ts"(){cB(),cD(),cF(),cG(),cJ(),ck(),cK(),cm(),cL(),cN(),c_(),da(),df(),dg(),dm(),ca(),dq(),bY(),Object.assign((aJ=class{constructor(a){this._executor=a}_runTask(a,b){let c=this._executor.chain(),d=c.push(a);return b&&function(a,b,c=i){b.then(a=>{c(null,a)},b=>{var d;let e;b?.task===a&&c(b instanceof f?(d=b,e=a=>{console.warn(`simple-git deprecation notice: accessing GitResponseError.${a} should be GitResponseError.git.${a}, this will no longer be available in version 3`),e=i},Object.create(d,Object.getOwnPropertyNames(d.git).reduce(function(a,b){return b in d||(a[b]={enumerable:!1,configurable:!1,get:()=>(e(b),d.git[b])}),a},{}))):b,void 0)})}(a,d,b),Object.create(this,{then:{value:d.then.bind(d)},catch:{value:d.catch.bind(d)},_executor:{value:c}})}add(a){return this._runTask(b6(["add",...bu(a)]),bS(arguments))}cwd(a){let b=bS(arguments);return"string"==typeof a?this._runTask(cC(a,this._executor),b):"string"==typeof a?.path?this._runTask(cC(a.path,a.root&&this._executor||void 0),b):this._runTask(b5("Git.cwd: workingDirectory must be supplied as a string"),b)}hashObject(a,b){var c;let d;return this._runTask((c=!0===b,d=["hash-object",a],c&&d.push("-w"),b6(d,!0)),bS(arguments))}init(a){return this._runTask(function(a=!1,b,c){let d=["init",...c];return a&&!d.includes(Z)&&d.splice(1,0,Z),{commands:d,format:"utf-8",parser:a=>(function(a,b,c){let d,e=String(c).trim();if(d=X.exec(e))return new W(a,b,!1,d[1]);if(d=Y.exec(e))return new W(a,b,!0,d[1]);let f="",g=e.split(" ");for(;g.length;)if("in"===g.shift()){f=g.join(" ");break}return new W(a,b,/^re/i.test(e),f)})(d.includes("--bare"),b,a)}}(!0===a,this._executor.cwd,bQ(arguments)),bS(arguments))}merge(){return this._runTask(c9(bQ(arguments)),bS(arguments))}mergeFromTo(a,b){return m(a)&&m(b)?this._runTask(c9([a,b,...bQ(arguments)]),bS(arguments,!1)):this._runTask(b5("Git.mergeFromTo requires that the 'remote' and 'branch' arguments are supplied as strings"))}outputHandler(a){return this._executor.outputHandler=a,this}push(){let a=de({remote:bE(arguments[0],m),branch:bE(arguments[1],m)},bQ(arguments));return this._runTask(a,bS(arguments))}stash(){return this._runTask(b6(["stash",...bQ(arguments)]),bS(arguments))}status(){var a;return this._runTask((a=bQ(arguments),{format:"utf-8",commands:["status","--porcelain","-b","-u","--null",...a.filter(a=>!aG.includes(a))],parser:a=>aF(a)}),bS(arguments))}}).prototype,{checkout(){return this._runTask(cE(bQ(arguments,1)),bS(arguments))},checkoutBranch(a,b){return this._runTask(cE(["-b",a,b,...bQ(arguments)]),bS(arguments))},checkoutLocalBranch(a){return this._runTask(cE(["-b",a,...bQ(arguments)]),bS(arguments))}},{commit(a,...b){var c,d,e;let f=bS(arguments),g=!n(a)&&b5("git.commit: requires the commit message to be supplied as a string/string[]")||(c=bu(a),d=bu(bE(b[0],n,[])),e=[...bw(bE(b[1],k,[])),...bQ(arguments,0,!0)],{commands:["-c","core.abbrev=40","commit",...by(c,"-m"),...d,...e],format:"utf-8",parser:cH});return this._runTask(g,f)}},{addConfig(a,b,...c){var d,e;let f;return this._runTask((d=!0===c[0],e=cj(c[1],"local"),f=["config",`--${e}`],d&&f.push("--add"),f.push(a,b),{commands:f,format:"utf-8",parser:a=>a}),bS(arguments))},getConfig(a,b){var c;let d;return this._runTask((c=cj(b,void 0),d=["config","--null","--show-origin","--get-all",a],c&&d.splice(1,0,`--${c}`),{commands:d,format:"utf-8",parser:b=>(function(a,b){let c=null,d=[],e=new Map;for(let f of ch(a,b))f.key===b&&(d.push(c=f.value),e.has(f.file)||e.set(f.file,[]),e.get(f.file).push(c));return{key:b,paths:Array.from(e.keys()),scopes:e,value:c,values:d}})(b,a)}),bS(arguments))},listConfig(...a){var b;let c;return this._runTask((b=cj(a[0],void 0),c=["config","--list","--show-origin","--null"],b&&c.push(`--${b}`),{commands:c,format:"utf-8",parser:a=>(function(a){let b=new H;for(let c of ch(a))b.addValue(c.file,String(c.key),c.value);return b})(a)}),bS(arguments))}},{countObjects(){return this._runTask({commands:["count-objects","--verbose"],format:"utf-8",parser:a=>bV({count:0,garbage:0,inPack:0,packs:0,prunePackable:0,size:0,sizeGarbage:0,sizePack:0},[U],a)})}},{firstCommit(){return this._runTask(b6(["rev-list","--max-parents=0","HEAD"],!0),bS(arguments))}},{grep(a){let b=bS(arguments),c=bQ(arguments);for(let a of L)if(c.includes(a))return this._runTask(b5(`git.grep: use of "${a}" is not supported.`),b);"string"==typeof a&&(a=(function(...a){return new O().param(...a)})().param(a));let d=["grep","--null","-n","--full-name",...c,...a];return this._runTask({commands:d,format:"utf-8",parser:a=>{let b,c;return b=new Set,c={},bp(a,a=>{let[d,e,f]=a.split(h);b.add(d),(c[d]=c[d]||[]).push({line:bx(e),path:d,preview:f})}),{paths:b,results:c}}},b)}},{log(...a){var b,c;let d,e=bS(arguments),f=c$(bR(arguments),bw(bE(arguments[0],k,[]))),g=function(a,b){return m(a)&&m(b)&&b5("git.log(string, string) should be replaced with git.log({ from: string, to: string })")}(...a)||cY(f.commands)||(d=cU((b=f).splitter,b.fields,cO(c=b.commands)),{commands:["log",...c],format:"utf-8",parser:d});return this._runTask(g,e)}},{showBuffer(){let a=["show",...bQ(arguments,1)];return a.includes("--binary")||a.splice(1,0,"--binary"),this._runTask(b7(a),bS(arguments))},show(){let a=["show",...bQ(arguments,1)];return this._runTask(b6(a),bS(arguments))}},{version(){return this._runTask({commands:["--version"],format:"utf-8",parser:dp,onError(a,b,c,d){if(-2===a.exitCode)return c(Buffer.from(aH));d(b)}})}})}}),dt={};bb(dt,{Scheduler:()=>aK});var du=ba({"src/lib/runners/scheduler.ts"(){let a;bY(),cu(),a=0,aK=class{constructor(a=2){this.concurrency=a,this.logger=ct("","scheduler"),this.pending=[],this.running=[],this.logger("Constructed, concurrency=%s",a)}schedule(){if(!this.pending.length||this.running.length>=this.concurrency)return void this.logger("Schedule attempt ignored, pending=%s running=%s concurrency=%s",this.pending.length,this.running.length,this.concurrency);let a=br(this.running,this.pending.shift());this.logger("Attempting id=%s",a.id),a.done(()=>{this.logger("Completing id=",a.id),bt(this.running,a),this.schedule()})}next(){let{promise:b,id:c}=br(this.pending,(()=>{a++;let{promise:b,done:c}=(0,a3.createDeferred)();return{promise:b,done:c,id:a}})());return this.logger("Scheduling id=%s",c),this.schedule(),b}}}}),dv={};function dw(a,b){return b6(["apply",...b,...a])}bb(dv,{applyPatchTask:()=>dw});var dx=ba({"src/lib/tasks/apply-patch.ts"(){ca()}}),dy=ba({"src/lib/responses/BranchDeleteSummary.ts"(){aL=class{constructor(){this.all=[],this.branches={},this.errors=[]}get success(){return!this.errors.length}}}});function dz(a,b){return 1===b&&aM.test(a)}var dA=ba({"src/lib/parsers/parse-branch-delete.ts"(){dy(),bY(),aM=/^error[^']+'([^']+)'/m,aN=[new r(/(\S+)\s+\(\S+\s([^)]+)\)/,(a,[b,c])=>{let d={branch:b,hash:c,success:!0};a.all.push(d),a.branches[b]=d}),new r(aM,(a,[b])=>{let c={branch:b,hash:null,success:!1};a.errors.push(c),a.all.push(c),a.branches[b]=c})],aO=(a,b)=>bV(new aL,aN,[a,b])}}),dB=ba({"src/lib/responses/BranchSummary.ts"(){aP=class{constructor(){this.all=[],this.branches={},this.current="",this.detached=!1}push(a,b,c,d,e){"*"===a&&(this.detached=b,this.current=c),this.all.push(c),this.branches[c]={current:"*"===a,linkedWorkTree:"+"===a,name:c,commit:d,label:e}}}}});function dC(a){return a?a.charAt(0):""}function dD(a,b=!1){return bV(new aP,b?[aR]:aQ,a)}var dE=ba({"src/lib/parsers/parse-branch.ts"(){dB(),bY(),aQ=[new r(/^([*+]\s)?\((?:HEAD )?detached (?:from|at) (\S+)\)\s+([a-z0-9]+)\s(.*)$/,(a,[b,c,d,e])=>{a.push(dC(b),!0,c,d,e)}),new r(/^([*+]\s)?(\S+)\s+([a-z0-9]+)\s?(.*)$/s,(a,[b,c,d,e])=>{a.push(dC(b),!1,c,d,e)})],aR=new r(/^(\S+)$/s,(a,[b])=>{a.push("*",!1,b,"","")})}}),dF={};function dG(a){let b=["-d","-D","--delete"];return a.some(a=>b.includes(a))}function dH(a){let b=dG(a),c=a.includes("--show-current"),d=["branch",...a];return 1===d.length&&d.push("-a"),d.includes("-v")||d.splice(1,0,"-v"),{format:"utf-8",commands:d,parser:(a,d)=>b?aO(a,d).all[0]:dD(a,c)}}function dI(){return{format:"utf-8",commands:["branch","-v"],parser:a=>dD(a)}}function dJ(a,b=!1){return{format:"utf-8",commands:["branch","-v",b?"-D":"-d",...a],parser:(a,b)=>aO(a,b),onError({exitCode:a,stdOut:b},c,d,e){if(!dz(String(c),a))return e(c);d(b)}}}function dK(a,b=!1){let c={format:"utf-8",commands:["branch","-v",b?"-D":"-d",a],parser:(b,c)=>aO(b,c).branches[a],onError({exitCode:a,stdErr:b,stdOut:d},e,g,h){if(!dz(String(e),a))return h(e);throw new f(c.parser(bz(d),bz(b)),String(e))}};return c}bb(dF,{branchLocalTask:()=>dI,branchTask:()=>dH,containsDeleteBranchCommand:()=>dG,deleteBranchTask:()=>dK,deleteBranchesTask:()=>dJ});var dL=ba({"src/lib/tasks/branch.ts"(){bh(),dA(),dE(),bY()}});function dM(a){let b=a.trim().replace(/^["']|["']$/g,"");return b&&(0,a4.normalize)(b)}var dN=ba({"src/lib/responses/CheckIgnore.ts"(){aS=a=>a.split(/\n/g).map(dM).filter(Boolean)}}),dO={};function dP(a){return{commands:["check-ignore",...a],format:"utf-8",parser:aS}}bb(dO,{checkIgnoreTask:()=>dP});var dQ=ba({"src/lib/tasks/check-ignore.ts"(){dN()}}),dR={};function dS(a){return/^--upload-pack(=|$)/.test(a)}function dT(a,b,c){let d=["clone",...c];return(m(a)&&d.push(a),m(b)&&d.push(b),d.find(dS))?b5("git.fetch: potential exploit argument blocked."):b6(d)}function dU(a,b,c){return br(c,"--mirror"),dT(a,b,c)}bb(dR,{cloneMirrorTask:()=>dU,cloneTask:()=>dT});var dV=ba({"src/lib/tasks/clone.ts"(){ca(),bY()}});function dW(a,b){return bV({raw:a,remote:null,branches:[],tags:[],updated:[],deleted:[]},aT,[a,b])}var dX=ba({"src/lib/parsers/parse-fetch.ts"(){bY(),aT=[new r(/From (.+)$/,(a,[b])=>{a.remote=b}),new r(/\* \[new branch]\s+(\S+)\s*-> (.+)$/,(a,[b,c])=>{a.branches.push({name:b,tracking:c})}),new r(/\* \[new tag]\s+(\S+)\s*-> (.+)$/,(a,[b,c])=>{a.tags.push({name:b,tracking:c})}),new r(/- \[deleted]\s+\S+\s*-> (.+)$/,(a,[b])=>{a.deleted.push({tracking:b})}),new r(/\s*([^.]+)\.\.(\S+)\s+(\S+)\s*-> (.+)$/,(a,[b,c,d,e])=>{a.updated.push({name:d,tracking:e,to:c,from:b})})]}}),dY={};function dZ(a){return/^--upload-pack(=|$)/.test(a)}function d$(a,b,c){let d=["fetch",...c];return(a&&b&&d.push(a,b),d.find(dZ))?b5("git.fetch: potential exploit argument blocked."):{commands:d,format:"utf-8",parser:dW}}bb(dY,{fetchTask:()=>d$});var d_=ba({"src/lib/tasks/fetch.ts"(){dX(),ca()}});function d0(a){return bV({moves:[]},aU,a)}var d1=ba({"src/lib/parsers/parse-move.ts"(){bY(),aU=[new r(/^Renaming (.+) to (.+)$/,(a,[b,c])=>{a.moves.push({from:b,to:c})})]}}),d2={};function d3(a,b){return{commands:["mv","-v",...bu(a),b],format:"utf-8",parser:d0}}bb(d2,{moveTask:()=>d3});var d4=ba({"src/lib/tasks/move.ts"(){d1(),bY()}}),d5={};function d6(a,b,c){let d=["pull",...c];return a&&b&&d.splice(1,0,a,b),{commands:d,format:"utf-8",parser:(a,b)=>au(a,b),onError(a,b,c,d){var e,g;let h,i=(e=bz(a.stdOut),g=bz(a.stdErr),(h=bV(new am,at,[e,g])).message&&h);if(i)return d(new f(i));d(b)}}}bb(d5,{pullTask:()=>d6});var d7=ba({"src/lib/tasks/pull.ts"(){bh(),c7(),bY()}});function d8(a){let b={};return ea(a,([a])=>b[a]={name:a}),Object.values(b)}function d9(a){let b={};return ea(a,([a,c,d])=>{Object.hasOwn(b,a)||(b[a]={name:a,refs:{fetch:"",push:""}}),d&&c&&(b[a].refs[d.replace(/[^a-z]/g,"")]=c)}),Object.values(b)}function ea(a,b){bp(a,a=>b(a.split(/\s+/)))}var eb=ba({"src/lib/responses/GetRemoteSummary.ts"(){bY()}}),ec={};function ed(a,b,c){return b6(["remote","add",...c,a,b])}function ee(a){let b=["remote"];return a&&b.push("-v"),{commands:b,format:"utf-8",parser:a?d9:d8}}function ef(a){let b=[...a];return"ls-remote"!==b[0]&&b.unshift("ls-remote"),b6(b)}function eg(a){let b=[...a];return"remote"!==b[0]&&b.unshift("remote"),b6(b)}function eh(a){return b6(["remote","remove",a])}bb(ec,{addRemoteTask:()=>ed,getRemotesTask:()=>ee,listRemotesTask:()=>ef,remoteTask:()=>eg,removeRemoteTask:()=>eh});var ei=ba({"src/lib/tasks/remote.ts"(){eb(),ca()}}),ej={};function ek(a={},b){let c=c$(a),d=["stash","list",...c.commands,...b],e=cU(c.splitter,c.fields,cO(d));return cY(d)||{commands:d,format:"utf-8",parser:e}}bb(ej,{stashListTask:()=>ek});var el=ba({"src/lib/tasks/stash-list.ts"(){cQ(),cV(),cZ(),c_()}}),em={};function en(a,b){return ep(["add",a,b])}function eo(a){return ep(["init",...a])}function ep(a){let b=[...a];return"submodule"!==b[0]&&b.unshift("submodule"),b6(b)}function eq(a){return ep(["update",...a])}bb(em,{addSubModuleTask:()=>en,initSubModuleTask:()=>eo,subModuleTask:()=>ep,updateSubModuleTask:()=>eq});var er=ba({"src/lib/tasks/sub-module.ts"(){ca()}});function es(a,b){return a===b?0:a>b?1:-1}function et(a){return a.trim()}function eu(a){return"string"==typeof a&&parseInt(a.replace(/^\D+/g,""),10)||0}var ev=ba({"src/lib/responses/TagList.ts"(){aV=class{constructor(a,b){this.all=a,this.latest=b}},aW=function(a,b=!1){let c=a.split("\n").map(et).filter(Boolean);b||c.sort(function(a,b){let c=a.split("."),d=b.split(".");if(1===c.length||1===d.length){var e,f;let a;return e=eu(c[0]),f=eu(d[0]),(a=Number.isNaN(e))!==Number.isNaN(f)?a?1:-1:a?es(e,f):0}for(let a=0,b=Math.max(c.length,d.length);a<b;a++){let b=es(eu(c[a]),eu(d[a]));if(b)return b}return 0});let d=b?c[0]:[...c].reverse().find(a=>a.indexOf(".")>=0);return new aV(c,d)}}}),ew={};function ex(a=[]){let b=a.some(a=>/^--sort=/.test(a));return{format:"utf-8",commands:["tag","-l",...a],parser:a=>aW(a,b)}}function ey(a){return{format:"utf-8",commands:["tag",a],parser:()=>({name:a})}}function ez(a,b){return{format:"utf-8",commands:["tag","-a","-m",b,a],parser:()=>({name:a})}}bb(ew,{addAnnotatedTagTask:()=>ez,addTagTask:()=>ey,tagListTask:()=>ex});var eA=ba({"src/lib/tasks/tag.ts"(){ev()}}),eB=(b={"src/git.js"(a,b){var{GitExecutor:c}=(cA(),bc(cz)),{SimpleGitApi:d}=(ds(),bc(dr)),{Scheduler:e}=(du(),bc(dt)),{configurationErrorTask:f}=(ca(),bc(b3)),{asArray:g,filterArray:h,filterPrimitives:i,filterString:j,filterStringOrStringArray:k,filterType:l,getTrailingOptions:m,trailingFunctionArgument:n,trailingOptionsArgument:o}=(bY(),bc(bX)),{applyPatchTask:p}=(dx(),bc(dv)),{branchTask:q,branchLocalTask:r,deleteBranchesTask:s,deleteBranchTask:t}=(dL(),bc(dF)),{checkIgnoreTask:u}=(dQ(),bc(dO)),{checkIsRepoTask:v}=(b1(),bc(bZ)),{cloneTask:w,cloneMirrorTask:x}=(dV(),bc(dR)),{cleanWithOptionsTask:y,isCleanOptionsArray:z}=(cg(),bc(cb)),{diffSummaryTask:A}=(cZ(),bc(cW)),{fetchTask:B}=(d_(),bc(dY)),{moveTask:C}=(d4(),bc(d2)),{pullTask:D}=(d7(),bc(d5)),{pushTagsTask:E}=(df(),bc(dc)),{addRemoteTask:F,getRemotesTask:G,listRemotesTask:H,remoteTask:I,removeRemoteTask:J}=(ei(),bc(ec)),{getResetMode:K,resetTask:L}=(cr(),bc(cn)),{stashListTask:M}=(el(),bc(ej)),{addSubModuleTask:N,initSubModuleTask:O,subModuleTask:P,updateSubModuleTask:Q}=(er(),bc(em)),{addAnnotatedTagTask:R,addTagTask:S,tagListTask:T}=(eA(),bc(ew)),{straightThroughBufferTask:U,straightThroughStringTask:V}=(ca(),bc(b3));function W(a,b){this._plugins=b,this._executor=new c(a.baseDir,new e(a.maxConcurrentProcesses),b),this._trimmed=a.trimmed}function X(a,b,c,d){return"string"!=typeof c?f(`git.${a}() requires a string 'repoPath'`):b(c,l(d,j),m(arguments))}(W.prototype=Object.create(d.prototype)).constructor=W,W.prototype.customBinary=function(a){return this._plugins.reconfigure("binary",a),this},W.prototype.env=function(a,b){return 1==arguments.length&&"object"==typeof a?this._executor.env=a:(this._executor.env=this._executor.env||{})[a]=b,this},W.prototype.stashList=function(a){return this._runTask(M(o(arguments)||{},h(a)&&a||[]),n(arguments))},W.prototype.clone=function(){return this._runTask(X("clone",w,...arguments),n(arguments))},W.prototype.mirror=function(){return this._runTask(X("mirror",x,...arguments),n(arguments))},W.prototype.mv=function(a,b){return this._runTask(C(a,b),n(arguments))},W.prototype.checkoutLatestTag=function(a){var b=this;return this.pull(function(){b.tags(function(c,d){b.checkout(d.latest,a)})})},W.prototype.pull=function(a,b,c,d){return this._runTask(D(l(a,j),l(b,j),m(arguments)),n(arguments))},W.prototype.fetch=function(a,b){return this._runTask(B(l(a,j),l(b,j),m(arguments)),n(arguments))},W.prototype.silent=function(a){return console.warn("simple-git deprecation notice: git.silent: logging should be configured using the `debug` library / `DEBUG` environment variable, this will be an error in version 3"),this},W.prototype.tags=function(a,b){return this._runTask(T(m(arguments)),n(arguments))},W.prototype.rebase=function(){return this._runTask(V(["rebase",...m(arguments)]),n(arguments))},W.prototype.reset=function(a){return this._runTask(L(K(a),m(arguments)),n(arguments))},W.prototype.revert=function(a){let b=n(arguments);return"string"!=typeof a?this._runTask(f("Commit must be a string"),b):this._runTask(V(["revert",...m(arguments,0,!0),a]),b)},W.prototype.addTag=function(a){let b="string"==typeof a?S(a):f("Git.addTag requires a tag name");return this._runTask(b,n(arguments))},W.prototype.addAnnotatedTag=function(a,b){return this._runTask(R(a,b),n(arguments))},W.prototype.deleteLocalBranch=function(a,b,c){return this._runTask(t(a,"boolean"==typeof b&&b),n(arguments))},W.prototype.deleteLocalBranches=function(a,b,c){return this._runTask(s(a,"boolean"==typeof b&&b),n(arguments))},W.prototype.branch=function(a,b){return this._runTask(q(m(arguments)),n(arguments))},W.prototype.branchLocal=function(a){return this._runTask(r(),n(arguments))},W.prototype.raw=function(a){let b=!Array.isArray(a),c=[].slice.call(b?arguments:a,0);for(let a=0;a<c.length&&b;a++)if(!i(c[a])){c.splice(a,c.length-a);break}c.push(...m(arguments,0,!0));var d=n(arguments);return c.length?this._runTask(V(c,this._trimmed),d):this._runTask(f("Raw: must supply one or more command to execute"),d)},W.prototype.submoduleAdd=function(a,b,c){return this._runTask(N(a,b),n(arguments))},W.prototype.submoduleUpdate=function(a,b){return this._runTask(Q(m(arguments,!0)),n(arguments))},W.prototype.submoduleInit=function(a,b){return this._runTask(O(m(arguments,!0)),n(arguments))},W.prototype.subModule=function(a,b){return this._runTask(P(m(arguments)),n(arguments))},W.prototype.listRemote=function(){return this._runTask(H(m(arguments)),n(arguments))},W.prototype.addRemote=function(a,b,c){return this._runTask(F(a,b,m(arguments)),n(arguments))},W.prototype.removeRemote=function(a,b){return this._runTask(J(a),n(arguments))},W.prototype.getRemotes=function(a,b){return this._runTask(G(!0===a),n(arguments))},W.prototype.remote=function(a,b){return this._runTask(I(m(arguments)),n(arguments))},W.prototype.tag=function(a,b){let c=m(arguments);return"tag"!==c[0]&&c.unshift("tag"),this._runTask(V(c),n(arguments))},W.prototype.updateServerInfo=function(a){return this._runTask(V(["update-server-info"]),n(arguments))},W.prototype.pushTags=function(a,b){let c=E({remote:l(a,j)},m(arguments));return this._runTask(c,n(arguments))},W.prototype.rm=function(a){return this._runTask(V(["rm","-f",...g(a)]),n(arguments))},W.prototype.rmKeepLocal=function(a){return this._runTask(V(["rm","--cached",...g(a)]),n(arguments))},W.prototype.catFile=function(a,b){return this._catFile("utf-8",arguments)},W.prototype.binaryCatFile=function(){return this._catFile("buffer",arguments)},W.prototype._catFile=function(a,b){var c=n(b),d=["cat-file"],e=b[0];if("string"==typeof e)return this._runTask(f("Git.catFile: options must be supplied as an array of strings"),c);Array.isArray(e)&&d.push.apply(d,e);let g="buffer"===a?U(d):V(d);return this._runTask(g,c)},W.prototype.diff=function(a,b){let c=j(a)?f("git.diff: supplying options as a single string is no longer supported, switch to an array of strings"):V(["diff",...m(arguments)]);return this._runTask(c,n(arguments))},W.prototype.diffSummary=function(){return this._runTask(A(m(arguments,1)),n(arguments))},W.prototype.applyPatch=function(a){let b=k(a)?p(g(a),m([].slice.call(arguments,1))):f("git.applyPatch requires one or more string patches as the first argument");return this._runTask(b,n(arguments))},W.prototype.revparse=function(){let a=["rev-parse",...m(arguments,!0)];return this._runTask(V(a,!0),n(arguments))},W.prototype.clean=function(a,b,c){let d=z(a),e=d&&a.join("")||l(a,j)||"",f=m([].slice.call(arguments,+!!d));return this._runTask(y(e,f),n(arguments))},W.prototype.exec=function(a){return this._runTask({commands:[],format:"utf-8",parser(){"function"==typeof a&&a()}})},W.prototype.clearQueue=function(){return this},W.prototype.checkIgnore=function(a,b){return this._runTask(u(g(l(a,k,[]))),n(arguments))},W.prototype.checkIsRepo=function(a,b){return this._runTask(v(l(a,j)),n(arguments))},b.exports=W}},function(){return c||(0,b[a8(b)[0]])((c={exports:{}}).exports,c),c.exports});bf(),bg();var eC=class extends e{constructor(a,b){super(void 0,b),this.config=a}};bg(),bg();var eD=class extends e{constructor(a,b,c){super(a,c),this.task=a,this.plugin=b,Object.setPrototypeOf(this,new.target.prototype)}};bh(),bi(),b1(),cg(),ck(),cl(),cm(),cr(),bY(),bY();var eE=(0,a3.deferred)().promise;bY();var eF="Invalid value supplied for custom binary, restricted characters must be removed or supply the unsafe.allowUnsafeCustomBinary option";function eG(a){return!a||!/^([a-z]:)?([a-z0-9/.\\_-]+)$/i.test(a)}function eH(a,b){if(a.length<1||a.length>2)throw new eD(void 0,"binary","Invalid value supplied for custom binary, requires a single string or an array containing either one or two strings");if(a.some(eG))if(b)console.warn(eF);else throw new eD(void 0,"binary",eF);let[c,d]=a;return{binary:c,prefix:d}}function eI(a){return{type:"task.error",action(b,c){let d=a(b.error,{stdErr:c.stdErr,stdOut:c.stdOut,exitCode:c.exitCode});return Buffer.isBuffer(d)?{error:new e(void 0,d.toString("utf-8"))}:{error:d}}}}bg(),bY();var eJ=class{constructor(){this.plugins=new Set,this.events=new a5.EventEmitter}on(a,b){this.events.on(a,b)}reconfigure(a,b){this.events.emit(a,b)}append(a,b){let c=br(this.plugins,{type:a,action:b});return()=>this.plugins.delete(c)}add(a){let b=[];return bu(a).forEach(a=>a&&this.plugins.add(br(b,a))),()=>{b.forEach(a=>this.plugins.delete(a))}}exec(a,b,c){let d=b,e=Object.freeze(Object.create(c));for(let b of this.plugins)b.type===a&&(d=b.action(d,e));return d}};bY(),bY(),bf(),bY();var eK=eB();bh();var eL=function(a,b){var c;let d,e,f,g,h=new eJ,i=bN(a&&("string"==typeof a?{baseDir:a}:a)||{},b);if(!bq(i.baseDir))throw new eC(i,"Cannot use simple-git on a directory that does not exist");return Array.isArray(i.config)&&h.add((d=by(i.config,"-c"),{type:"spawn.args",action:a=>[...d,...a]})),h.add(function({allowUnsafeProtocolOverride:a=!1,allowUnsafePack:b=!1}={}){return{type:"spawn.args",action:(c,d)=>(c.forEach((e,f)=>{let g=f<c.length?c[f+1]:"";a||function(a,b){if("string"==typeof a&&"-c"===a.trim().toLowerCase()&&/^\s*protocol(.[a-z]+)?.allow/.test(b))throw new eD(void 0,"unsafe","Configuring protocol.allow is not permitted without enabling allowUnsafeExtProtocol")}(e,g),b||function(a,b){if(/^\s*--(upload|receive)-pack/.test(a))throw new eD(void 0,"unsafe","Use of --upload-pack or --receive-pack is not permitted without enabling allowUnsafePack");if("clone"===b&&/^\s*-u\b/.test(a))throw new eD(void 0,"unsafe","Use of clone with option -u is not permitted without enabling allowUnsafePack");if("push"===b&&/^\s*--exec\b/.test(a))throw new eD(void 0,"unsafe","Use of push with option --exec is not permitted without enabling allowUnsafePack")}(e,d.method)}),c)}}(i.unsafe)),h.add({type:"spawn.args",action(a){let b,c=[];function d(a){(b=b||[]).push(...a)}for(let b=0;b<a.length;b++){let e=a[b];if(bd(e)){d(be(e));continue}if("--"===e){d(a.slice(b+1).flatMap(a=>bd(a)&&be(a)||a));break}c.push(e)}return b?[...c,"--",...b.map(String)]:c}}),h.add(function({onClose:a=!0,onExit:b=50}={}){function c(a,b,c){!1!==a&&(!0===a?b.promise:b.promise.then(()=>bB(a))).then(c.done)}return{type:"spawn.after",async action(d,{spawned:e,close:f}){let g,h,i,j=(g=-1,h={close:(0,a3.deferred)(),closeTimeout:(0,a3.deferred)(),exit:(0,a3.deferred)(),exitTimeout:(0,a3.deferred)()},i=Promise.race([!1===a?eE:h.closeTimeout.promise,!1===b?eE:h.exitTimeout.promise]),c(a,h.close,h.closeTimeout),c(b,h.exit,h.exitTimeout),{close(a){g=a,h.close.done()},exit(a){g=a,h.exit.done()},get exitCode(){return g},result:i}),k=!0,l=()=>void(k=!1);e.stdout?.on("data",l),e.stderr?.on("data",l),e.on("error",l),e.on("close",a=>j.close(a)),e.on("exit",a=>j.exit(a));try{await j.result,k&&await bB(50),f(j.exitCode)}catch(a){f(j.exitCode,a)}}}}(i.completion)),i.abort&&h.add(function(a){if(a)return[{type:"spawn.before",action(b,c){a.aborted&&c.kill(new eD(void 0,"abort","Abort already signaled"))}},{type:"spawn.after",action(b,c){function d(){c.kill(new eD(void 0,"abort","Abort signal received"))}a.addEventListener("abort",d),c.spawned.on("close",()=>a.removeEventListener("abort",d))}}]}(i.abort)),i.progress&&h.add((c=i.progress,e="--progress",f=["checkout","clone","fetch","pull","push"],[{type:"spawn.args",action:(a,b)=>f.includes(b.method)?bs(a,e):a},{type:"spawn.after",action(a,b){b.commands.includes(e)&&b.spawned.stderr?.on("data",a=>{let d=/^([\s\S]+?):\s*(\d+)% \((\d+)\/(\d+)\)/.exec(a.toString("utf8"));d&&c({method:b.method,stage:String(d[1].toLowerCase().split(" ",1))||"unknown",progress:bx(d[2]),processed:bx(d[3]),total:bx(d[4])})})}}])),i.timeout&&h.add(function({block:a,stdErr:b=!0,stdOut:c=!0}){if(a>0)return{type:"spawn.after",action(d,e){let f;function g(){f&&clearTimeout(f),f=setTimeout(i,a)}function h(){e.spawned.stdout?.off("data",g),e.spawned.stderr?.off("data",g),e.spawned.off("exit",h),e.spawned.off("close",h),f&&clearTimeout(f)}function i(){h(),e.kill(new eD(void 0,"timeout","block timeout reached"))}c&&e.spawned.stdout?.on("data",g),b&&e.spawned.stderr?.on("data",g),e.spawned.on("exit",h),e.spawned.on("close",h),g()}}}(i.timeout)),i.spawnOptions&&h.add((g=bA(i.spawnOptions,["uid","gid"]),{type:"spawn.options",action:a=>({...g,...a})})),h.add(eI(function(a=!1,b=function(a){return!!(a.exitCode&&a.stdErr.length)},c=function(a){return Buffer.concat([...a.stdOut,...a.stdErr])}){return(d,e)=>(a||!d)&&b(e)?c(e):d}(!0))),i.errors&&h.add(eI(i.errors)),!function(a,b=["git"],c=!1){let d=eH(bu(b),c);a.on("binary",a=>{d=eH(bu(a),c)}),a.append("spawn.binary",()=>d.binary),a.append("spawn.args",a=>d.prefix?[d.prefix,...a]:a)}(h,i.binary,i.unsafe?.allowUnsafeCustomBinary),new eK(i,h)};a.s(["default",()=>eL],4503);var eM=a.i(13095);let eN={gemini:{executable:"gemini",installCommand:"npm install -g google/gemini-cli"},codex:{executable:"codex",installCommand:"npm i -g openai/codex"},agent:{executable:"agent",installCommand:"curl https://cursor.com/install -fsS | bash"}};function eO(a){return"gemini"===a||"codex"===a||"agent"===a?a:null}async function eP(){return a$.default.homedir()}async function eQ(a){try{let b=(await aY.default.readdir(a,{withFileTypes:!0})).sort((a,b)=>a.isDirectory()&&!b.isDirectory()?-1:!a.isDirectory()&&b.isDirectory()?1:a.name.localeCompare(b.name)),c=[];for(let d of b){if(!d.isDirectory()&&!d.isFile())continue;let b=aZ.default.join(a,d.name),e=!1;if(d.isDirectory())try{let a=aZ.default.join(b,".git");await aY.default.access(a),e=!0}catch{e=!1}c.push({name:d.name,path:b,isDirectory:d.isDirectory(),isGitRepo:e})}return c}catch(a){return console.error("Error listing directory entries:",a),[]}}async function eR(a){return(await eQ(a)).filter(a=>a.isDirectory)}async function eS(a){try{if(!(await aY.default.stat(a)).isDirectory())return!1;return await aY.default.readdir(a),!0}catch{return!1}}async function eT(a){try{let b=eL(a),c=await b.branchLocal();return c.all.map(a=>({name:a,current:c.current===a}))}catch(a){throw console.error("Error fetching branches:",a),Error("Failed to fetch branches. Make sure the path is a valid git repository.")}}async function eU(a,b){try{let c=eL(a);await c.checkout(b)}catch(a){throw console.error("Error checking out branch:",a),Error(`Failed to checkout branch ${b}`)}}async function eV(a){try{let b=aZ.default.join(a,".git");return await aY.default.access(b),!0}catch{return!1}}async function eW(b){let c=eO(b);if(!c)return{success:!1,installed:!1,error:`Unsupported coding agent CLI: ${b}`};try{let{spawn:b}=await a.A(44264),d=eN[c];a$.default.platform();let e=["-lc",`command -v ${d.executable}`],f=await new Promise(a=>{let c=b("bash",e,{stdio:"ignore"});c.on("close",b=>a(b??1)),c.on("error",()=>a(1))});return{success:!0,installed:0===f}}catch(a){return console.error("Failed to detect coding agent CLI:",a),{success:!1,installed:!1,error:"Failed to detect coding agent CLI installation status."}}}async function eX(b){let c=eO(b);if(!c)return{success:!1,error:`Unsupported coding agent CLI: ${b}`};try{let{spawn:b}=await a.A(44264),d=eN[c];a$.default.platform();let e=["-lc",d.installCommand],f=[],g=await new Promise(a=>{let c=b("bash",e,{cwd:a$.default.homedir(),env:process.env,stdio:["ignore","pipe","pipe"]});c.stdout.on("data",a=>{f.push(a.toString())}),c.stderr.on("data",a=>{f.push(a.toString())}),c.on("close",b=>a(b??1)),c.on("error",()=>a(1))});if(0===g)return{success:!0};let h=f.join("").trim();return{success:!1,error:h||`Failed to install ${c} CLI.`}}catch(a){return console.error("Failed to install coding agent CLI:",a),{success:!1,error:"Failed to install coding agent CLI."}}}async function eY(){if(global.ttydProcess)return{success:!0,persistenceMode:global.ttydPersistenceMode||"shell"};try{let{spawn:b,spawnSync:c}=await a.A(44264),d={...process.env};delete d.TURBOPACK,delete d.PORT,delete d.NODE_ENV;let e=a$.default.homedir(),f="win32"!==a$.default.platform()&&0===c("which",["tmux"],{stdio:"ignore",env:process.env}).status,g=["-p","7681","-t",'theme={"background": "white", "foreground": "black", "cursor": "black", "selectionBackground": "rgba(59, 130, 246, 0.4)"}',"-t","disableResizeOverlay=true","-t","fontSize=12","-t","fontWeight=300","-t","fontWeightBold=500","-w",e,"-W"],h="shell";f?(c("tmux",["start-server"],{stdio:"ignore",env:process.env}),c("tmux",["set-option","-g","mouse","on"],{stdio:"ignore",env:process.env}),c("tmux",["set-option","-g","history-limit","200000"],{stdio:"ignore",env:process.env}),g.push("-a","tmux"),h="tmux"):(console.warn("tmux is unavailable; falling back to non-persistent ttyd shell mode."),g.push("bash"));let i=b("ttyd",g,{stdio:"ignore",detached:!1,cwd:e,env:{...d,TERM:"xterm-256color",COLORTERM:"truecolor"}});return i.on("error",a=>{console.error("Failed to start ttyd:",a),global.ttydProcess=void 0,global.ttydPersistenceMode=void 0}),i.on("exit",()=>{global.ttydProcess=void 0,global.ttydPersistenceMode=void 0}),global.ttydProcess=i,global.ttydPersistenceMode=h,await new Promise(a=>setTimeout(a,1e3)),{success:!0,persistenceMode:h}}catch(a){return console.error("Error starting ttyd:",a),{success:!1,error:"Failed to start ttyd. Make sure ttyd is installed and in your PATH."}}}async function eZ(b){a$.default.platform();try{let{spawnSync:e}=await a.A(44264);if(0!==e("which",["tmux"],{stdio:"ignore",env:process.env}).status)return;for(let a of["agent","terminal"]){var c,d;let f=(c=b,d=a,`viba-${(c.trim().replace(/[^a-zA-Z0-9_-]/g,"-")||"session").slice(0,40)}-${d}`);e("tmux",["kill-session","-t",f],{stdio:"ignore",env:process.env})}}catch(a){console.error("Failed to terminate session terminal sessions:",a)}}async function e$(b,c){try{let{v4:d}=await a.A(37706),e=d().split("-")[0],f=new Date,g=f.toISOString().replace(/[-:]/g,"").slice(0,8)+"-"+f.getHours().toString().padStart(2,"0")+f.getMinutes().toString().padStart(2,"0"),h=`${g}-${e}`,i=`viba/${h}`,j=aZ.default.basename(b),k=aZ.default.dirname(b),l=aZ.default.join(k,".viba",j),m=aZ.default.join(l,h);await aY.default.mkdir(l,{recursive:!0});let n=eL(b);return await n.raw(["worktree","add","-b",i,m,c]),{success:!0,sessionName:h,worktreePath:m,branchName:i}}catch(a){return console.error("Failed to create worktree:",a),{success:!1,error:a.message||String(a)}}}async function e_(a,b,c){try{let d=eL(a);try{await d.raw(["worktree","remove","--force",b])}catch(c){let a=c.message||String(c);a.includes("is not a working tree")||a.includes("not a valid path")?console.warn(`Path ${b} is not a valid working tree according to git, continuing cleanup...`):console.error(`Git worktree remove failed, but continuing with cleanup: ${a}`);try{await d.raw(["worktree","prune"])}catch{}}try{await d.deleteLocalBranch(c,!0)}catch(a){console.warn(`Failed to delete branch ${c}: ${a.message||a}`)}try{await aY.default.rm(b,{recursive:!0,force:!0})}catch{}try{let a=`${b}-attachments`;await aY.default.rm(a,{recursive:!0,force:!0})}catch{}return{success:!0}}catch(a){return console.error("Failed to cleanup worktree (critical error):",a),{success:!0}}}async function e0(a){try{let b=await aY.default.readdir(a);if(b.includes("package-lock.json"))return"npm install";if(b.includes("pnpm-lock.yaml"))return"pnpm install";if(b.includes("yarn.lock"))return"yarn install";return""}catch(a){return console.error("Error determining startup script:",a),""}}async function e1(a){try{let b=aZ.default.join(a,"package.json"),c=await aY.default.readFile(b,"utf-8"),d=JSON.parse(c).scripts;if(!d||"object"!=typeof d)return"";if("string"==typeof d.dev&&d.dev.trim())return"npm run dev";if("string"==typeof d.watch&&d.watch.trim())return"npm run watch";if("string"==typeof d.start&&d.start.trim())return"npm run start";return""}catch(a){return"ENOENT"!==("object"==typeof a&&null!==a&&"code"in a?a.code:void 0)&&console.error("Error determining default dev server script:",a),""}}async function e2(a,b=""){try{let c=eL(a),d=(await c.raw(["ls-files"])).split("\n").filter(Boolean);if(!b)return d.slice(0,50);let e=b.toLowerCase();return d.filter(a=>a.toLowerCase().includes(e)).slice(0,50)}catch(a){return console.error("Failed to list repo files:",a),[]}}async function e3(a,b){try{let c=`${a}-attachments`;await aY.default.mkdir(c,{recursive:!0});let d=[];for(let[,a]of Array.from(b.entries()))if(a instanceof File){let b=Buffer.from(await a.arrayBuffer()),e=a.name.replace(/[^a-zA-Z0-9._-]/g,"_"),f=aZ.default.join(c,e);await aY.default.writeFile(f,b),d.push(e)}return d}catch(a){return console.error("Failed to save attachments:",a),[]}}(0,eM.ensureServerEntryExports)([eP,eQ,eR,eS,eT,eU,eV,eW,eX,eY,eZ,e$,e_,e0,e1,e2,e3]),(0,aX.registerServerReference)(eP,"00b2f585aab02de15106087cb132626fb625c0db26",null),(0,aX.registerServerReference)(eQ,"40024a74a076553ddc0a054ddc034fd02410f0a4eb",null),(0,aX.registerServerReference)(eR,"40ffd9754caf8d0c6f363b1ab1c5e87fcb004ac06d",null),(0,aX.registerServerReference)(eS,"40e04cf2a2afa6c7d306984663d4883f00455b36c3",null),(0,aX.registerServerReference)(eT,"40aa54365d229ff47bf5d53b3e4bfdd21ee82193aa",null),(0,aX.registerServerReference)(eU,"600382d582a4b4cf6c5b442390aacd42b500f83837",null),(0,aX.registerServerReference)(eV,"400782a3f97715c98c967e2f396d19d693c2041dad",null),(0,aX.registerServerReference)(eW,"401b05e1609d7de213bdbd2f05ccb4a50355b81c8c",null),(0,aX.registerServerReference)(eX,"40f0690e83fc46a0314a2ec86c258299ccb7c986ab",null),(0,aX.registerServerReference)(eY,"7f76c1c5fa2a2a8ac1ef4cd8262e536b2376830e89",null),(0,aX.registerServerReference)(eZ,"7f5087952ef6eb8dcd006bcf6b0de4907437b7e3ae",null),(0,aX.registerServerReference)(e$,"7fac5be872423ebea53dbc584f2aedd92641d114ab",null),(0,aX.registerServerReference)(e_,"7f09edc8fe54707fb1989511bfc77ca336ce03fb66",null),(0,aX.registerServerReference)(e0,"7f9ed5e1e4229c377fd85f4f7524069b137baa5b87",null),(0,aX.registerServerReference)(e1,"7fc47c9eed1b7933ba384f96662dafa0a9b380bd60",null),(0,aX.registerServerReference)(e2,"7fccca6ac13459bb9638e3a08cb7913c923227fc5d",null),(0,aX.registerServerReference)(e3,"7ffb2975f419e7c26bdfb7b886d1a926fa4e634448",null),a.s(["checkAgentCliInstalled",()=>eW,"checkDirectoryAccessible",()=>eS,"checkIsGitRepo",()=>eV,"checkoutBranch",()=>eU,"getBranches",()=>eT,"getDefaultDevServerScript",()=>e1,"getHomeDirectory",()=>eP,"getStartupScript",()=>e0,"installAgentCli",()=>eX,"listDirectories",()=>eR,"listPathEntries",()=>eQ,"listRepoFiles",()=>e2,"prepareSessionWorktree",()=>e$,"removeWorktree",()=>e_,"saveAttachments",()=>e3,"startTtydProcess",()=>eY,"terminateSessionTerminalSessions",()=>eZ],15271)},38642,a=>{"use strict";var b=a.i(37936),c=a.i(24868),d=a.i(14747),e=a.i(46786),f=a.i(13095);let g={recentRepos:[],defaultRoot:"",selectedIde:"vscode",agentWidth:66.666,repoSettings:{},pinnedFolderShortcuts:[]};async function h(){let a=e.default.homedir(),b=d.default.join(a,".viba");try{await c.default.mkdir(b,{recursive:!0})}catch(a){}return d.default.join(b,"config.json")}async function i(){try{let a=await h(),b=await c.default.readFile(a,"utf-8"),d=JSON.parse(b);return{...g,...d}}catch(a){return g}}async function j(a){try{let b=await h();await c.default.writeFile(b,JSON.stringify(a,null,2),"utf-8")}catch(a){throw console.error("Failed to save config:",a),Error("Failed to save configuration.")}}async function k(a){let b={...await i(),...a};return await j(b),b}async function l(a,b){let c=await i(),d=c.repoSettings[a]||{},e={...c,repoSettings:{...c.repoSettings,[a]:{...d,...b}}};return await j(e),e}(0,f.ensureServerEntryExports)([i,j,k,l]),(0,b.registerServerReference)(i,"003408daf503f563bd7702d8eae85f3b1294f2f284",null),(0,b.registerServerReference)(j,"4007377b06957fd2dd64f6c6a845353f0b21940c1e",null),(0,b.registerServerReference)(k,"40146ea4475c4e00f7633055de4ed6516650b2e88c",null),(0,b.registerServerReference)(l,"6001b7cb18e9eda22799a38833b5ada49df5ca199f",null),a.s(["getConfig",()=>i,"updateConfig",()=>k,"updateRepoSettings",()=>l])},51817,a=>{"use strict";var b=a.i(37936),c=a.i(24868),d=a.i(14747),e=a.i(46786),f=a.i(4503),g=a.i(15271);function h(a){return a instanceof Error?a.message:String(a)}async function i(){let a=e.default.homedir(),b=d.default.join(a,".viba","sessions");try{await c.default.mkdir(b,{recursive:!0})}catch{}return b}async function j(){let a=e.default.homedir(),b=d.default.join(a,".viba","session-contexts");try{await c.default.mkdir(b,{recursive:!0})}catch{}return b}async function k(a){let b=await j();return d.default.join(b,`${a}.json`)}async function l(){let a=e.default.homedir(),b=d.default.join(a,".viba","session-prompts");try{await c.default.mkdir(b,{recursive:!0})}catch{}return b}async function m(a){let b=await i(),e=d.default.join(b,`${a.sessionName}.json`);await c.default.writeFile(e,JSON.stringify(a,null,2),"utf-8")}async function n(a,b){try{let e=await l(),f=d.default.join(e,`${a}.txt`);return await c.default.writeFile(f,b,"utf-8"),{success:!0,filePath:f}}catch(a){return console.error("Failed to write session prompt file:",a),{success:!1,error:h(a)}}}async function o(a,b){try{let d=await k(a),e={sessionName:a,...b,timestamp:new Date().toISOString()};return await c.default.writeFile(d,JSON.stringify(e,null,2),"utf-8"),{success:!0}}catch(a){return console.error("Failed to save session launch context:",a),{success:!1,error:h(a)}}}async function p(a){try{let b=await k(a),d=await c.default.readFile(b,"utf-8"),e=JSON.parse(d);return{success:!0,context:e}}catch(a){if("ENOENT"===("object"==typeof a&&null!==a&&"code"in a?a.code:void 0))return{success:!0};return console.error("Failed to consume session launch context:",a),{success:!1,error:h(a)}}}async function q(a){try{let b=await k(a),d=await c.default.readFile(b,"utf-8"),e=JSON.parse(d);return{success:!0,context:e}}catch(a){if("ENOENT"===("object"==typeof a&&null!==a&&"code"in a?a.code:void 0))return{success:!0};return console.error("Failed to read session launch context:",a),{success:!1,error:h(a)}}}async function r(a){let b=await t(a);if(!b)return{success:!1,error:"Session metadata not found"};let c=await q(a);if(!c.success)return{success:!1,error:c.error||"Failed to load session launch context"};let d=c.context;return{success:!0,context:{sourceSessionName:a,repoPath:b.repoPath,title:d?.title||b.title,initialMessage:d?.rawInitialMessage||d?.initialMessage,attachmentNames:d?.attachmentNames||[],agentProvider:d?.agentProvider||b.agent,model:d?.model||b.model}}}async function s(a,b,e){try{let f=await t(a);if(!f)return{success:!1,copiedAttachmentNames:[],missingAttachmentNames:[],error:"Source session metadata not found"};let g=`${f.worktreePath}-attachments`,h=`${b}-attachments`;await c.default.mkdir(h,{recursive:!0});let i=[],j=[];for(let a of Array.from(new Set(e.map(a=>a.trim()).filter(Boolean)))){let b=a.replace(/[^a-zA-Z0-9._-]/g,"_"),e=d.default.join(g,b),f=d.default.join(h,b);try{await c.default.copyFile(e,f),i.push(b)}catch(c){let b="object"==typeof c&&null!==c&&"code"in c?c.code:void 0;if("ENOENT"===b){j.push(a);continue}throw c}}return{success:!0,copiedAttachmentNames:i,missingAttachmentNames:j}}catch(a){return console.error("Failed to copy session attachments:",a),{success:!1,copiedAttachmentNames:[],missingAttachmentNames:[],error:h(a)}}}async function t(a){try{let b=await i(),e=d.default.join(b,`${a}.json`),f=await c.default.readFile(e,"utf-8");return JSON.parse(f)}catch{return null}}async function u(a){try{let b=await i(),e=await c.default.readdir(b),f=[];for(let g of e)if(g.endsWith(".json"))try{let e=d.default.join(b,g),h=await c.default.readFile(e,"utf-8"),i=JSON.parse(h);if(a&&i.repoPath!==a)continue;f.push(i)}catch(a){console.error(`Failed to parse session file ${g}:`,a)}return f.sort((a,b)=>new Date(b.timestamp).getTime()-new Date(a.timestamp).getTime())}catch(a){return console.error("Failed to list sessions:",a),[]}}async function v(a,b,c){try{let d=await (0,g.prepareSessionWorktree)(a,b);if(!d.success||!d.sessionName||!d.worktreePath||!d.branchName)return d;let e={sessionName:d.sessionName,repoPath:a,worktreePath:d.worktreePath,branchName:d.branchName,baseBranch:b,agent:c.agent,model:c.model,title:c.title,devServerScript:c.devServerScript,initialized:!1,timestamp:new Date().toISOString()};return await m(e),d}catch(a){return console.error("Failed to create session:",a),{success:!1,error:h(a)}}}async function w(a){let b=await t(a);!b||b.initialized||(b.initialized=!0,await m(b))}async function x(a){try{let b=await t(a);if(!b)return{success:!1,error:"Session metadata not found"};let e=await (0,g.removeWorktree)(b.repoPath,b.worktreePath,b.branchName);if(await (0,g.terminateSessionTerminalSessions)(a),!e.success)return e;let f=await i(),h=d.default.join(f,`${a}.json`);await c.default.rm(h,{force:!0});let j=await k(a);await c.default.rm(j,{force:!0});let m=await l(),n=d.default.join(m,`${a}.txt`);return await c.default.rm(n,{force:!0}),{success:!0}}catch(a){return console.error("Failed to delete session:",a),{success:!1,error:h(a)}}}async function y(a){try{if(!await t(a))return{success:!1,error:"Session metadata not found"};return x(a).catch(b=>{console.error(`Background cleanup of session ${a} failed:`,b)}),{success:!0}}catch(a){return console.error("Failed to schedule background session deletion:",a),{success:!1,error:h(a)}}}async function z(a){try{let b=await t(a);if(!b)return{success:!1,error:"Session metadata not found"};let c=b.baseBranch?.trim();if(!c)return{success:!1,error:"Base branch is missing for this session. This session may be from an older version."};let d=(0,f.default)(b.worktreePath);if(!(await d.status()).isClean())return{success:!1,error:"Worktree has uncommitted changes. Commit your changes first."};let e=(0,f.default)(b.repoPath),g=await e.branchLocal();if(!g.all.includes(c))return{success:!1,error:`Base branch "${c}" not found in repository.`};if(!g.all.includes(b.branchName))return{success:!1,error:`Session branch "${b.branchName}" not found in repository.`};let h=g.current;return h!==c&&await e.checkout(c),await e.merge(["--no-ff",b.branchName]),h&&h!==c&&await e.checkout(h),{success:!0,branchName:b.branchName,baseBranch:c}}catch(a){return console.error("Failed to merge session branch:",a),{success:!1,error:h(a)}}}async function A(a){try{let b=await t(a);if(!b)return{success:!1,error:"Session metadata not found"};let c=b.baseBranch?.trim();if(!c)return{success:!1,error:"Base branch is missing for this session. This session may be from an older version."};let d=(0,f.default)(b.worktreePath);if(!(await d.status()).isClean())return{success:!1,error:"Worktree has uncommitted changes. Commit your changes first."};let e=(0,f.default)(b.repoPath),g=await e.branchLocal();if(!g.all.includes(c))return{success:!1,error:`Base branch "${c}" not found in repository.`};if(!g.all.includes(b.branchName))return{success:!1,error:`Session branch "${b.branchName}" not found in repository.`};return(await d.branchLocal()).current!==b.branchName&&await d.checkout(b.branchName),await d.rebase([c]),{success:!0,branchName:b.branchName,baseBranch:c}}catch(a){return console.error("Failed to rebase session branch:",a),{success:!1,error:h(a)}}}async function B(a){try{let b=await t(a);if(!b)return{success:!1,error:"Session metadata not found"};let c=(0,f.default)(b.worktreePath),d=await c.status();return{success:!0,count:d.files.length}}catch(a){return console.error("Failed to get uncommitted file count:",a),{success:!1,error:h(a)}}}async function C(a){try{let b=await t(a);if(!b)return{success:!1,error:"Session metadata not found"};let c=b.baseBranch?.trim();if(!c)return{success:!1,error:"Base branch is unavailable for this session."};let d=(0,f.default)(b.repoPath),e=await d.branchLocal();if(!e.all.includes(c))return{success:!1,error:`Base branch "${c}" not found in repository.`};if(!e.all.includes(b.branchName))return{success:!1,error:`Session branch "${b.branchName}" not found in repository.`};let[g,h]=(await d.raw(["rev-list","--left-right","--count",`${c}...${b.branchName}`])).trim().split(/\s+/),i=Number.parseInt(g,10),j=Number.parseInt(h,10);if(Number.isNaN(i)||Number.isNaN(j))return{success:!1,error:"Failed to parse git divergence output."};return{success:!0,ahead:j,behind:i}}catch(a){return console.error("Failed to get session divergence:",a),{success:!1,error:h(a)}}}async function D(a){try{let b=await t(a);if(!b)return{success:!1,error:"Session metadata not found"};let c=(0,f.default)(b.repoPath),d=[...(await c.branchLocal()).all].sort((a,b)=>a.localeCompare(b)),e=b.baseBranch?.trim();return{success:!0,baseBranch:e,branches:d}}catch(a){return console.error("Failed to list session base branches:",a),{success:!1,error:h(a)}}}async function E(a,b){try{let c=await t(a);if(!c)return{success:!1,error:"Session metadata not found"};let d=b.trim();if(!d)return{success:!1,error:"Base branch cannot be empty."};let e=(0,f.default)(c.repoPath);if(!(await e.branchLocal()).all.includes(d))return{success:!1,error:`Base branch "${d}" not found in repository.`};return c.baseBranch=d,await m(c),{success:!0,baseBranch:d}}catch(a){return console.error("Failed to update session base branch:",a),{success:!1,error:h(a)}}}(0,a.i(13095).ensureServerEntryExports)([m,n,o,p,r,s,t,u,v,w,x,y,z,A,B,C,D,E]),(0,b.registerServerReference)(m,"404f5b40ae2dbbeb875c7173d5df795c6dacd7ad15",null),(0,b.registerServerReference)(n,"60b60ec457e8634b8a85f37e92b7a1bc033666a3a2",null),(0,b.registerServerReference)(o,"60a9dccd117bb437e297b227dac6296c048e8a7a0b",null),(0,b.registerServerReference)(p,"4038cad6cc6ba362da1bf4e8f3a2741eb54af698e5",null),(0,b.registerServerReference)(r,"405fb3fbd5af2014f0e0bd23a9c24cea6ad6c2c1ac",null),(0,b.registerServerReference)(s,"70065a92fb1e241bd84f05b4e3b13affa3d1946c02",null),(0,b.registerServerReference)(t,"40228d4f31abd0db248f23ec294c9f7d2f82230b46",null),(0,b.registerServerReference)(u,"40950c45c77b1159158894addef799cbfa1868f05c",null),(0,b.registerServerReference)(v,"7000ceadf25434a3fee9e40e378cdd319c2d1ea8f1",null),(0,b.registerServerReference)(w,"402b085644e5160ec39fd4691327bd8609c052cdbe",null),(0,b.registerServerReference)(x,"4043d0168426852ee7d28bc7b8672390ce05409e35",null),(0,b.registerServerReference)(y,"4080f30965531c84cb50b1c989974a6044e7b67698",null),(0,b.registerServerReference)(z,"406d0132feb29302f5e4fa6dd18e08e3f806bb9f96",null),(0,b.registerServerReference)(A,"4077f6780d85da4631b6c37ae999be92516a4e7149",null),(0,b.registerServerReference)(B,"40796f533a22555fc1d21e5582320a88ec6a30d8b2",null),(0,b.registerServerReference)(C,"4078f4a3f36ff93bb764b982f6a48d555d8dd37763",null),(0,b.registerServerReference)(D,"40a1335a1e3e60dc00c6e97edc26331047827fc33f",null),(0,b.registerServerReference)(E,"60536d40a4bb494aa5aaa1c720b229b7208dc13778",null),a.s(["consumeSessionLaunchContext",()=>p,"copySessionAttachments",()=>s,"createSession",()=>v,"deleteSession",()=>x,"deleteSessionInBackground",()=>y,"getSessionDivergence",()=>C,"getSessionMetadata",()=>t,"getSessionPrefillContext",()=>r,"getSessionUncommittedFileCount",()=>B,"listSessionBaseBranches",()=>D,"listSessions",()=>u,"markSessionInitialized",()=>w,"mergeSessionToBase",()=>z,"rebaseSessionOntoBase",()=>A,"saveSessionLaunchContext",()=>o,"updateSessionBaseBranch",()=>E,"writeSessionPromptFile",()=>n])}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__8174ed94._.js.map