@jhorst11/wt 2.0.2 → 2.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import type { Config, HookResult, HookOptions } from './types.js';
2
+ /** Distinct hex colors (with #) for worktree tab/UI; cycle through for unique assignment. */
3
+ export declare const WORKTREE_COLORS_PALETTE: readonly string[];
4
+ /**
5
+ * Load worktree name → hex color map from repo's .wt/worktree-colors.json.
6
+ */
7
+ export declare function loadWorktreeColors(repoRoot: string): Record<string, string>;
8
+ /**
9
+ * Save worktree name → hex color map to repo's .wt/worktree-colors.json.
10
+ */
11
+ export declare function saveWorktreeColors(repoRoot: string, mapping: Record<string, string>): void;
12
+ /**
13
+ * Assign a unique color to a new worktree. Checks config overrides first, then
14
+ * uses first palette color not used by existing worktrees.
15
+ * Persists and returns the hex color (e.g. "#E53935").
16
+ */
17
+ export declare function assignWorktreeColor(repoRoot: string, worktreeName: string): string;
18
+ /**
19
+ * Get the assigned hex color for a worktree, or null if none.
20
+ */
21
+ export declare function getWorktreeColor(repoRoot: string, worktreeName: string): string | null;
22
+ /**
23
+ * Remove a worktree's color assignment so the color can be reused.
24
+ */
25
+ export declare function removeWorktreeColor(repoRoot: string, worktreeName: string): void;
26
+ /**
27
+ * Load configuration from .wt/config.json or config.json at the given directory.
28
+ * Tries .wt/config.json first (for repo/directory configs), then config.json (for global configs).
29
+ * Returns an object with defaults for any missing fields.
30
+ */
31
+ export declare function loadConfig(dirPath: string): Config;
32
+ /**
33
+ * Resolve hierarchical config by walking up from cwd to repoRoot.
34
+ * Returns merged config with defaults for any missing fields.
35
+ */
36
+ export declare function resolveConfig(cwd: string | undefined, repoRoot: string, globalConfigPath?: string): Config;
37
+ /**
38
+ * Run hook commands sequentially. Each command runs with cwd set to `wtPath`
39
+ * and receives WT_SOURCE, WT_BRANCH, and WT_PATH as environment variables.
40
+ *
41
+ * Returns an array of { command, success, error? } results.
42
+ * Hook failures are non-fatal — they produce warnings but don't throw.
43
+ */
44
+ export declare function runHooks(hookName: string, config: Config, context: {
45
+ source: string;
46
+ path: string;
47
+ branch: string;
48
+ name?: string;
49
+ color?: string | null;
50
+ }, options?: HookOptions): Promise<HookResult[]>;
51
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMlE,6FAA6F;AAC7F,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAGpD,CAAC;AAMF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmB3E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAS1F;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CA+BlF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGtF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAMhF;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAiFlD;AAuGD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,YAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAwC9G;AAID;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAC5B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAC/F,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,EAAE,CAAC,CAkEvB"}
@@ -0,0 +1,384 @@
1
+ import { readFileSync, writeFileSync, mkdirSync } from 'fs';
2
+ import { join } from 'path';
3
+ import { spawn } from 'child_process';
4
+ import { homedir } from 'os';
5
+ import { once } from 'events';
6
+ const CONFIG_DIR = '.wt';
7
+ const CONFIG_FILE = 'config.json';
8
+ const WORKTREE_COLORS_FILE = 'worktree-colors.json';
9
+ /** Distinct hex colors (with #) for worktree tab/UI; cycle through for unique assignment. */
10
+ export const WORKTREE_COLORS_PALETTE = [
11
+ '#E53935', '#D81B60', '#8E24AA', '#5E35B1', '#3949AB', '#1E88E5', '#039BE5', '#00ACC1',
12
+ '#00897B', '#43A047', '#7CB342', '#C0CA33', '#FDD835', '#FFB300', '#FB8C00', '#F4511E',
13
+ ];
14
+ function getWorktreeColorsPath(repoRoot) {
15
+ return join(repoRoot, CONFIG_DIR, WORKTREE_COLORS_FILE);
16
+ }
17
+ /**
18
+ * Load worktree name → hex color map from repo's .wt/worktree-colors.json.
19
+ */
20
+ export function loadWorktreeColors(repoRoot) {
21
+ const path = getWorktreeColorsPath(repoRoot);
22
+ try {
23
+ const raw = readFileSync(path, 'utf8');
24
+ const data = JSON.parse(raw);
25
+ if (typeof data === 'object' && data !== null && !Array.isArray(data)) {
26
+ const out = {};
27
+ for (const [name, hex] of Object.entries(data)) {
28
+ // Filter out numeric keys (Object.entries converts them to strings, but we want to exclude them)
29
+ if (typeof name === 'string' && !/^\d+$/.test(name) && typeof hex === 'string' && /^#[0-9A-Fa-f]{6}$/.test(hex)) {
30
+ out[name] = hex;
31
+ }
32
+ }
33
+ return out;
34
+ }
35
+ }
36
+ catch {
37
+ // file missing or invalid
38
+ }
39
+ return {};
40
+ }
41
+ /**
42
+ * Save worktree name → hex color map to repo's .wt/worktree-colors.json.
43
+ */
44
+ export function saveWorktreeColors(repoRoot, mapping) {
45
+ const dir = join(repoRoot, CONFIG_DIR);
46
+ const path = getWorktreeColorsPath(repoRoot);
47
+ try {
48
+ mkdirSync(dir, { recursive: true });
49
+ writeFileSync(path, JSON.stringify(mapping, null, 2) + '\n', 'utf8');
50
+ }
51
+ catch {
52
+ // ignore write errors (e.g. read-only repo)
53
+ }
54
+ }
55
+ /**
56
+ * Assign a unique color to a new worktree. Checks config overrides first, then
57
+ * uses first palette color not used by existing worktrees.
58
+ * Persists and returns the hex color (e.g. "#E53935").
59
+ */
60
+ export function assignWorktreeColor(repoRoot, worktreeName) {
61
+ const current = loadWorktreeColors(repoRoot);
62
+ // Check if already assigned
63
+ let hex = current[worktreeName];
64
+ if (hex)
65
+ return hex;
66
+ // Check config override - use repoRoot as cwd to ensure we find repo-level configs
67
+ const config = resolveConfig(repoRoot, repoRoot);
68
+ if (config.worktreeColors?.[worktreeName]) {
69
+ hex = config.worktreeColors[worktreeName];
70
+ current[worktreeName] = hex;
71
+ saveWorktreeColors(repoRoot, current);
72
+ return hex;
73
+ }
74
+ // Auto-assign from palette (prefer custom palette if configured)
75
+ const palette = config.colorPalette || [...WORKTREE_COLORS_PALETTE];
76
+ const usedColors = new Set(Object.values(current));
77
+ for (const c of palette) {
78
+ if (!usedColors.has(c)) {
79
+ hex = c;
80
+ break;
81
+ }
82
+ }
83
+ hex = hex || palette[usedColors.size % palette.length];
84
+ current[worktreeName] = hex;
85
+ saveWorktreeColors(repoRoot, current);
86
+ return hex;
87
+ }
88
+ /**
89
+ * Get the assigned hex color for a worktree, or null if none.
90
+ */
91
+ export function getWorktreeColor(repoRoot, worktreeName) {
92
+ const current = loadWorktreeColors(repoRoot);
93
+ return current[worktreeName] ?? null;
94
+ }
95
+ /**
96
+ * Remove a worktree's color assignment so the color can be reused.
97
+ */
98
+ export function removeWorktreeColor(repoRoot, worktreeName) {
99
+ const current = loadWorktreeColors(repoRoot);
100
+ if (worktreeName in current) {
101
+ delete current[worktreeName];
102
+ saveWorktreeColors(repoRoot, current);
103
+ }
104
+ }
105
+ /**
106
+ * Load configuration from .wt/config.json or config.json at the given directory.
107
+ * Tries .wt/config.json first (for repo/directory configs), then config.json (for global configs).
108
+ * Returns an object with defaults for any missing fields.
109
+ */
110
+ export function loadConfig(dirPath) {
111
+ const configPaths = [
112
+ join(dirPath, CONFIG_DIR, CONFIG_FILE), // .wt/config.json (for repo/directory)
113
+ join(dirPath, CONFIG_FILE), // config.json (for global config dir)
114
+ ];
115
+ const defaults = {
116
+ projectsDir: undefined,
117
+ worktreesDir: undefined,
118
+ branchPrefix: undefined,
119
+ hooks: {},
120
+ worktreeColors: {},
121
+ colorPalette: undefined,
122
+ };
123
+ let raw;
124
+ for (const configPath of configPaths) {
125
+ try {
126
+ raw = readFileSync(configPath, 'utf8');
127
+ break;
128
+ }
129
+ catch {
130
+ // Try next path
131
+ }
132
+ }
133
+ if (!raw) {
134
+ return defaults;
135
+ }
136
+ let parsed;
137
+ try {
138
+ parsed = JSON.parse(raw);
139
+ }
140
+ catch {
141
+ return defaults;
142
+ }
143
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
144
+ return defaults;
145
+ }
146
+ const parsedObj = parsed;
147
+ const result = { ...defaults };
148
+ if (typeof parsedObj.projectsDir === 'string') {
149
+ result.projectsDir = parsedObj.projectsDir;
150
+ }
151
+ if (typeof parsedObj.worktreesDir === 'string') {
152
+ result.worktreesDir = parsedObj.worktreesDir;
153
+ }
154
+ if (typeof parsedObj.branchPrefix === 'string') {
155
+ result.branchPrefix = parsedObj.branchPrefix;
156
+ }
157
+ if (typeof parsedObj.hooks === 'object' && parsedObj.hooks !== null && !Array.isArray(parsedObj.hooks)) {
158
+ for (const [hookName, commands] of Object.entries(parsedObj.hooks)) {
159
+ if (Array.isArray(commands) && commands.every((c) => typeof c === 'string')) {
160
+ result.hooks[hookName] = commands;
161
+ }
162
+ }
163
+ }
164
+ if (typeof parsedObj.worktreeColors === 'object' && parsedObj.worktreeColors !== null && !Array.isArray(parsedObj.worktreeColors)) {
165
+ result.worktreeColors = {};
166
+ for (const [name, hex] of Object.entries(parsedObj.worktreeColors)) {
167
+ if (typeof name === 'string' && typeof hex === 'string' && /^#[0-9A-Fa-f]{6}$/.test(hex)) {
168
+ result.worktreeColors[name] = hex;
169
+ }
170
+ }
171
+ }
172
+ if (Array.isArray(parsedObj.colorPalette)) {
173
+ const validColors = parsedObj.colorPalette.filter((hex) => typeof hex === 'string' && /^#[0-9A-Fa-f]{6}$/.test(hex));
174
+ if (validColors.length > 0) {
175
+ result.colorPalette = validColors;
176
+ }
177
+ }
178
+ return result;
179
+ }
180
+ /**
181
+ * Find all config files from global to cwd within repo boundaries.
182
+ * Walks up from cwd to repoRoot, collecting all .wt/config.json paths.
183
+ */
184
+ function findConfigFiles(cwd, repoRoot, globalConfigPath = join(homedir(), '.wt', CONFIG_FILE)) {
185
+ const paths = [];
186
+ // Add global config if it exists
187
+ try {
188
+ readFileSync(globalConfigPath, 'utf8');
189
+ paths.push(globalConfigPath);
190
+ }
191
+ catch {
192
+ // Global config doesn't exist, that's fine
193
+ }
194
+ // Build list of directories from repoRoot down to cwd
195
+ // Normalize paths for comparison
196
+ const normalizedCwd = cwd.replace(/\/$/, '');
197
+ const normalizedRepoRoot = repoRoot.replace(/\/$/, '');
198
+ if (!normalizedCwd.startsWith(normalizedRepoRoot)) {
199
+ // cwd is outside repo root, skip walking
200
+ return paths;
201
+ }
202
+ // Collect config paths from repoRoot up to cwd
203
+ const configPaths = [];
204
+ // Start at repoRoot
205
+ let current = normalizedRepoRoot;
206
+ const parts = normalizedCwd.slice(normalizedRepoRoot.length).split('/').filter(Boolean);
207
+ // Add repo root config
208
+ const repoConfigPath = join(normalizedRepoRoot, CONFIG_DIR, CONFIG_FILE);
209
+ try {
210
+ readFileSync(repoConfigPath, 'utf8');
211
+ configPaths.push(repoConfigPath);
212
+ }
213
+ catch {
214
+ // No config at repo root
215
+ }
216
+ // Add configs for each directory down to cwd
217
+ for (const part of parts) {
218
+ current = join(current, part);
219
+ const configPath = join(current, CONFIG_DIR, CONFIG_FILE);
220
+ try {
221
+ readFileSync(configPath, 'utf8');
222
+ configPaths.push(configPath);
223
+ }
224
+ catch {
225
+ // No config at this directory
226
+ }
227
+ }
228
+ return paths.concat(configPaths);
229
+ }
230
+ /**
231
+ * Merge multiple config objects with last-wins strategy.
232
+ * For scalar fields, last defined value wins.
233
+ * For hooks object, merge all hook definitions.
234
+ */
235
+ function mergeConfigs(configs) {
236
+ const result = {
237
+ projectsDir: undefined,
238
+ worktreesDir: undefined,
239
+ branchPrefix: undefined,
240
+ hooks: {},
241
+ worktreeColors: {},
242
+ colorPalette: undefined,
243
+ };
244
+ for (const config of configs) {
245
+ if (config.projectsDir !== undefined) {
246
+ result.projectsDir = config.projectsDir;
247
+ }
248
+ if (config.worktreesDir !== undefined) {
249
+ result.worktreesDir = config.worktreesDir;
250
+ }
251
+ if (config.branchPrefix !== undefined) {
252
+ result.branchPrefix = config.branchPrefix;
253
+ }
254
+ if (config.hooks && typeof config.hooks === 'object') {
255
+ if (!result.hooks)
256
+ result.hooks = {};
257
+ for (const [hookName, commands] of Object.entries(config.hooks)) {
258
+ if (Array.isArray(commands)) {
259
+ result.hooks[hookName] = commands;
260
+ }
261
+ }
262
+ }
263
+ if (config.worktreeColors && typeof config.worktreeColors === 'object') {
264
+ if (!result.worktreeColors)
265
+ result.worktreeColors = {};
266
+ Object.assign(result.worktreeColors, config.worktreeColors);
267
+ }
268
+ if (config.colorPalette !== undefined) {
269
+ result.colorPalette = config.colorPalette;
270
+ }
271
+ }
272
+ return result;
273
+ }
274
+ /**
275
+ * Resolve hierarchical config by walking up from cwd to repoRoot.
276
+ * Returns merged config with defaults for any missing fields.
277
+ */
278
+ export function resolveConfig(cwd = process.cwd(), repoRoot, globalConfigPath) {
279
+ const defaults = {
280
+ projectsDir: join(homedir(), 'projects'),
281
+ worktreesDir: join(homedir(), 'projects', 'worktrees'),
282
+ branchPrefix: '',
283
+ hooks: {},
284
+ };
285
+ // Determine the effective global config path
286
+ const effectiveGlobalConfigPath = globalConfigPath || join(homedir(), '.wt', CONFIG_FILE);
287
+ // Find all config files from global to cwd
288
+ const configPaths = findConfigFiles(cwd, repoRoot, effectiveGlobalConfigPath);
289
+ // Load each config file by extracting the directory path
290
+ const configs = configPaths.map((path) => {
291
+ // For global config, extract the directory containing it
292
+ if (path === effectiveGlobalConfigPath) {
293
+ const globalConfigDir = path.endsWith(CONFIG_FILE)
294
+ ? path.slice(0, path.lastIndexOf('/'))
295
+ : path;
296
+ return loadConfig(globalConfigDir);
297
+ }
298
+ // For other configs at /path/.wt/config.json, directory is /path
299
+ const dirPath = path.slice(0, path.lastIndexOf('/.wt'));
300
+ return loadConfig(dirPath);
301
+ });
302
+ // Merge configs
303
+ const merged = mergeConfigs(configs);
304
+ // Apply defaults for missing fields
305
+ return {
306
+ projectsDir: merged.projectsDir ?? defaults.projectsDir,
307
+ worktreesDir: merged.worktreesDir ?? defaults.worktreesDir,
308
+ branchPrefix: merged.branchPrefix ?? defaults.branchPrefix,
309
+ hooks: merged.hooks ?? defaults.hooks,
310
+ worktreeColors: merged.worktreeColors ?? {},
311
+ colorPalette: merged.colorPalette,
312
+ };
313
+ }
314
+ const HOOK_TIMEOUT_MS = 300_000; // 5 minutes per command
315
+ /**
316
+ * Run hook commands sequentially. Each command runs with cwd set to `wtPath`
317
+ * and receives WT_SOURCE, WT_BRANCH, and WT_PATH as environment variables.
318
+ *
319
+ * Returns an array of { command, success, error? } results.
320
+ * Hook failures are non-fatal — they produce warnings but don't throw.
321
+ */
322
+ export async function runHooks(hookName, config, context, options = {}) {
323
+ const commands = config.hooks?.[hookName];
324
+ if (!commands || commands.length === 0)
325
+ return [];
326
+ const { verbose = false, onCommandStart } = options;
327
+ const total = commands.length;
328
+ const env = {
329
+ ...process.env,
330
+ WT_SOURCE: context.source,
331
+ WT_BRANCH: context.branch,
332
+ WT_PATH: context.path,
333
+ ...(context.name !== undefined && { WT_NAME: context.name }),
334
+ ...(context.color !== undefined && context.color !== null && { WT_COLOR: context.color }),
335
+ };
336
+ const results = [];
337
+ for (let i = 0; i < commands.length; i++) {
338
+ const cmd = commands[i];
339
+ if (typeof onCommandStart === 'function') {
340
+ onCommandStart(cmd, i + 1, total);
341
+ }
342
+ const child = spawn(cmd, [], {
343
+ shell: true,
344
+ cwd: context.path,
345
+ env,
346
+ stdio: ['inherit', 'pipe', 'pipe'],
347
+ });
348
+ const stderrChunks = [];
349
+ if (verbose) {
350
+ child.stdout?.pipe(process.stdout);
351
+ child.stderr?.on('data', (chunk) => {
352
+ process.stderr.write(chunk);
353
+ stderrChunks.push(chunk);
354
+ });
355
+ }
356
+ else {
357
+ child.stdout?.on('data', () => { }); // consume to avoid blocking the child
358
+ child.stderr?.on('data', (chunk) => stderrChunks.push(chunk));
359
+ }
360
+ const timeoutId = setTimeout(() => {
361
+ child.kill('SIGTERM');
362
+ }, HOOK_TIMEOUT_MS);
363
+ try {
364
+ const [code, signal] = (await once(child, 'exit'));
365
+ clearTimeout(timeoutId);
366
+ if (code === 0 && !signal) {
367
+ results.push({ command: cmd, success: true });
368
+ }
369
+ else {
370
+ const stderr = Buffer.concat(stderrChunks).toString().trim();
371
+ const detail = stderr || (signal ? `Killed by ${signal}` : `Exited with code ${code}`);
372
+ results.push({ command: cmd, success: false, error: detail });
373
+ }
374
+ }
375
+ catch (err) {
376
+ clearTimeout(timeoutId);
377
+ const stderr = Buffer.concat(stderrChunks).toString().trim();
378
+ const errorMessage = err instanceof Error ? err.message : String(err);
379
+ results.push({ command: cmd, success: false, error: stderr || errorMessage });
380
+ }
381
+ }
382
+ return results;
383
+ }
384
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,MAAM,UAAU,GAAG,KAAK,CAAC;AACzB,MAAM,WAAW,GAAG,aAAa,CAAC;AAClC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAEpD,6FAA6F;AAC7F,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACtF,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;CACvF,CAAC;AAEF,SAAS,qBAAqB,CAAC,QAAgB;IAC7C,OAAO,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,MAAM,IAAI,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;QACxC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACtE,MAAM,GAAG,GAA2B,EAAE,CAAC;YACvC,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/C,iGAAiG;gBACjG,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChH,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;gBAClB,CAAC;YACH,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,0BAA0B;IAC5B,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,OAA+B;IAClF,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC;QACH,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,4CAA4C;IAC9C,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB,EAAE,YAAoB;IACxE,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAE7C,4BAA4B;IAC5B,IAAI,GAAG,GAAuB,OAAO,CAAC,YAAY,CAAC,CAAC;IACpD,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IAEpB,mFAAmF;IACnF,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1C,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAC1C,OAAO,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC;QAC5B,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,iEAAiE;IACjE,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,GAAG,uBAAuB,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAEnD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,GAAG,GAAG,CAAC,CAAC;YACR,MAAM;QACR,CAAC;IACH,CAAC;IAED,GAAG,GAAG,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,OAAO,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC;IAC5B,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtC,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,YAAoB;IACrE,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB,EAAE,YAAoB;IACxE,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,YAAY,IAAI,OAAO,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7B,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,MAAM,WAAW,GAAG;QAClB,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,EAAG,uCAAuC;QAChF,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,EAAgB,sCAAsC;KACjF,CAAC;IACF,MAAM,QAAQ,GAAW;QACvB,WAAW,EAAE,SAAS;QACtB,YAAY,EAAE,SAAS;QACvB,YAAY,EAAE,SAAS;QACvB,KAAK,EAAE,EAAE;QACT,cAAc,EAAE,EAAE;QAClB,YAAY,EAAE,SAAS;KACxB,CAAC;IAEF,IAAI,GAAuB,CAAC;IAC5B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACvC,MAAM;QACR,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,MAAiC,CAAC;IACpD,MAAM,MAAM,GAAW,EAAE,GAAG,QAAQ,EAAE,CAAC;IAEvC,IAAI,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC9C,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;IAC7C,CAAC;IAED,IAAI,OAAO,SAAS,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC/C,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;IAC/C,CAAC;IAED,IAAI,OAAO,SAAS,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC/C,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;IAC/C,CAAC;IAED,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACvG,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACnE,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC5E,MAAM,CAAC,KAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO,SAAS,CAAC,cAAc,KAAK,QAAQ,IAAI,SAAS,CAAC,cAAc,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;QAClI,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;YACnE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzF,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1C,MAAM,WAAW,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAY,EAAiB,EAAE,CAChF,OAAO,GAAG,KAAK,QAAQ,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CACzD,CAAC;QACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,YAAY,GAAG,WAAW,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,GAAW,EAAE,QAAgB,EAAE,mBAA2B,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC;IACpH,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,iCAAiC;IACjC,IAAI,CAAC;QACH,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;IAC7C,CAAC;IAED,sDAAsD;IACtD,iCAAiC;IACjC,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC7C,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAEvD,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAClD,yCAAyC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,+CAA+C;IAC/C,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,oBAAoB;IACpB,IAAI,OAAO,GAAG,kBAAkB,CAAC;IACjC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAExF,uBAAuB;IACvB,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IACzE,IAAI,CAAC;QACH,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACrC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,yBAAyB;IAC3B,CAAC;IAED,6CAA6C;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC;YACH,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACjC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;QAChC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,OAAiB;IACrC,MAAM,MAAM,GAAW;QACrB,WAAW,EAAE,SAAS;QACtB,YAAY,EAAE,SAAS;QACvB,YAAY,EAAE,SAAS;QACvB,KAAK,EAAE,EAAE;QACT,cAAc,EAAE,EAAE;QAClB,YAAY,EAAE,SAAS;KACxB,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QAC1C,CAAC;QACD,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QAC5C,CAAC;QACD,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QAC5C,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,KAAK;gBAAE,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;YACrC,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChE,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5B,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,cAAc,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;YACvE,IAAI,CAAC,MAAM,CAAC,cAAc;gBAAE,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;YACvD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE,EAAE,QAAgB,EAAE,gBAAyB;IACpG,MAAM,QAAQ,GAAsF;QAClG,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC;QACxC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC;QACtD,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,EAAE;KACV,CAAC;IAEF,6CAA6C;IAC7C,MAAM,yBAAyB,GAAG,gBAAgB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAE1F,2CAA2C;IAC3C,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,yBAAyB,CAAC,CAAC;IAE9E,yDAAyD;IACzD,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACvC,yDAAyD;QACzD,IAAI,IAAI,KAAK,yBAAyB,EAAE,CAAC;YACvC,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAChD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACtC,CAAC,CAAC,IAAI,CAAC;YACT,OAAO,UAAU,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC;QACD,iEAAiE;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QACxD,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,gBAAgB;IAChB,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAErC,oCAAoC;IACpC,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW;QACvD,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY;QAC1D,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY;QAC1D,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK;QACrC,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,EAAE;QAC3C,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,eAAe,GAAG,OAAO,CAAC,CAAC,wBAAwB;AAEzD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,QAAgB,EAChB,MAAc,EACd,OAA+F,EAC/F,UAAuB,EAAE;IAEzB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElD,MAAM,EAAE,OAAO,GAAG,KAAK,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;IAE9B,MAAM,GAAG,GAAsB;QAC7B,GAAG,OAAO,CAAC,GAAG;QACd,SAAS,EAAE,OAAO,CAAC,MAAM;QACzB,SAAS,EAAE,OAAO,CAAC,MAAM;QACzB,OAAO,EAAE,OAAO,CAAC,IAAI;QACrB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5D,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;KAC1F,CAAC;IAEF,MAAM,OAAO,GAAiB,EAAE,CAAC;IAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE,CAAC;YACzC,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE;YAC3B,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,OAAO,CAAC,IAAI;YACjB,GAAG;YACH,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;SACnC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACnC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC5B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,sCAAsC;YAC1E,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC,EAAE,eAAe,CAAC,CAAC;QAEpB,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAA2C,CAAC;YAC7F,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;gBACvF,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAC7D,MAAM,YAAY,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,IAAI,YAAY,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { SimpleGit } from 'simple-git';
2
+ import type { Config, Branch, Worktree, BranchResult, WorktreeResult } from './types.js';
3
+ export declare function getGit(cwd?: string): Promise<SimpleGit>;
4
+ export declare function isGitRepo(cwd?: string): Promise<boolean>;
5
+ export declare function getRepoRoot(cwd?: string): Promise<string | null>;
6
+ export declare function getCurrentBranch(cwd?: string): Promise<string | null>;
7
+ export declare function getLocalBranches(cwd?: string): Promise<Branch[]>;
8
+ export declare function getRemoteBranches(cwd?: string): Promise<Branch[]>;
9
+ export declare function getAllBranches(cwd?: string): Promise<{
10
+ local: Branch[];
11
+ remote: Branch[];
12
+ all: Branch[];
13
+ }>;
14
+ export declare function getWorktreesBase(repoRoot: string, config: Config): string;
15
+ export declare function getWorktrees(cwd?: string): Promise<Worktree[]>;
16
+ export declare function getWorktreesInBase(repoRoot: string, config: Config): Promise<Array<{
17
+ name: string;
18
+ path: string;
19
+ branch: string;
20
+ }>>;
21
+ export declare function getMainRepoPath(cwd?: string): Promise<string | null>;
22
+ export declare function buildBranchName(leaf: string, config: Config): string;
23
+ export declare function branchExistsLocal(branchName: string, cwd?: string): Promise<boolean>;
24
+ export declare function branchExistsRemote(branchName: string, cwd?: string): Promise<boolean>;
25
+ export declare function ensureBranch(branchName: string, baseBranch?: string | null, cwd?: string): Promise<BranchResult>;
26
+ export declare function createWorktree(name: string, branchName: string, baseBranch?: string | null, cwd?: string): Promise<WorktreeResult>;
27
+ export declare function removeWorktree(path: string, force?: boolean, cwd?: string): Promise<{
28
+ success: boolean;
29
+ }>;
30
+ export declare function pruneWorktrees(cwd?: string): Promise<{
31
+ success: boolean;
32
+ }>;
33
+ export declare function isValidBranchName(name: string | null | undefined): boolean;
34
+ export declare function mergeBranch(sourceBranch: string, targetBranch?: string | null, cwd?: string): Promise<{
35
+ success: boolean;
36
+ merged: string;
37
+ into: string | null;
38
+ result: unknown;
39
+ }>;
40
+ export declare function getMainBranch(cwd?: string): Promise<string>;
41
+ export declare function hasUncommittedChanges(cwd?: string): Promise<boolean>;
42
+ export declare function deleteBranch(branchName: string, force?: boolean, cwd?: string): Promise<{
43
+ success: boolean;
44
+ }>;
45
+ /**
46
+ * Get information about the current worktree if user is inside one.
47
+ * Returns the worktree object with name, path, and branch if inside a worktree.
48
+ * Returns null if in main repository or error occurs.
49
+ */
50
+ export declare function getCurrentWorktreeInfo(repoRoot: string, config: Config): Promise<{
51
+ name: string;
52
+ path: string;
53
+ branch: string;
54
+ } | null>;
55
+ //# sourceMappingURL=git.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAE,MAAM,YAAY,CAAC;AAIlD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEzF,wBAAsB,MAAM,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,SAAS,CAAC,CAE5E;AAED,wBAAsB,SAAS,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ7E;AAED,wBAAsB,WAAW,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQrF;AAED,wBAAsB,gBAAgB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQ1F;AAED,wBAAsB,gBAAgB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAWrF;AAED,wBAAsB,iBAAiB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAgBtF;AAED,wBAAsB,cAAc,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC;IACzE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,EAAE,MAAM,EAAE,CAAC;CACf,CAAC,CAeD;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAWzE;AAED,wBAAsB,YAAY,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAiCnF;AAED,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CA4BzI;AAED,wBAAsB,eAAe,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CASzF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAOpE;AAED,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CAazG;AAED,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ1G;AAED,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,GAAG,IAAW,EAAE,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,YAAY,CAAC,CAqE3I;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,GAAG,IAAW,EAAE,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,CAyC7J;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe,EAAE,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAYrI;AAED,wBAAsB,cAAc,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAI/F;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAQ1E;AAED,wBAAsB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,GAAE,MAAM,GAAG,IAAW,EAAE,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC;IAChI,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC,CAiBD;AAED,wBAAsB,aAAa,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBhF;AAED,wBAAsB,qBAAqB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CAIzF;AAED,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe,EAAE,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAKzI;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAS7I"}