@proletariat/cli 0.3.94 → 0.3.95
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/agent/cleanup.d.ts +3 -4
- package/dist/commands/agent/cleanup.js +5 -4
- package/dist/commands/agent/cleanup.js.map +1 -1
- package/dist/commands/agent/gc.d.ts +3 -4
- package/dist/commands/agent/gc.js +5 -4
- package/dist/commands/agent/gc.js.map +1 -1
- package/dist/commands/agent/index.d.ts +3 -4
- package/dist/commands/agent/index.js +5 -4
- package/dist/commands/agent/index.js.map +1 -1
- package/dist/commands/agent/list.d.ts +3 -4
- package/dist/commands/agent/list.js +5 -4
- package/dist/commands/agent/list.js.map +1 -1
- package/dist/commands/agent/remove.d.ts +3 -4
- package/dist/commands/agent/remove.js +5 -4
- package/dist/commands/agent/remove.js.map +1 -1
- package/dist/commands/agent/staff/index.d.ts +3 -4
- package/dist/commands/agent/staff/index.js +5 -4
- package/dist/commands/agent/staff/index.js.map +1 -1
- package/dist/commands/agent/staff/remove.d.ts +3 -4
- package/dist/commands/agent/staff/remove.js +5 -4
- package/dist/commands/agent/staff/remove.js.map +1 -1
- package/dist/commands/agent/status.d.ts +3 -4
- package/dist/commands/agent/status.js +5 -4
- package/dist/commands/agent/status.js.map +1 -1
- package/dist/commands/agent/visit.d.ts +3 -4
- package/dist/commands/agent/visit.js +5 -4
- package/dist/commands/agent/visit.js.map +1 -1
- package/dist/commands/branch/create.js +1 -12
- package/dist/commands/branch/create.js.map +1 -1
- package/dist/commands/branch/list.d.ts +3 -4
- package/dist/commands/branch/list.js +5 -4
- package/dist/commands/branch/list.js.map +1 -1
- package/dist/commands/branch/validate.d.ts +3 -4
- package/dist/commands/branch/validate.js +6 -5
- package/dist/commands/branch/validate.js.map +1 -1
- package/dist/commands/branch/where.d.ts +3 -4
- package/dist/commands/branch/where.js +5 -4
- package/dist/commands/branch/where.js.map +1 -1
- package/dist/commands/commit.js +1 -1
- package/dist/commands/commit.js.map +1 -1
- package/dist/commands/db/backup.d.ts +16 -0
- package/dist/commands/db/backup.js +125 -0
- package/dist/commands/db/backup.js.map +1 -0
- package/dist/commands/db/repair.js +8 -11
- package/dist/commands/db/repair.js.map +1 -1
- package/dist/commands/execution/config.d.ts +3 -4
- package/dist/commands/execution/config.js +5 -4
- package/dist/commands/execution/config.js.map +1 -1
- package/dist/commands/execution/index.d.ts +3 -4
- package/dist/commands/execution/index.js +5 -4
- package/dist/commands/execution/index.js.map +1 -1
- package/dist/commands/execution/list.d.ts +3 -4
- package/dist/commands/execution/list.js +5 -4
- package/dist/commands/execution/list.js.map +1 -1
- package/dist/commands/execution/logs.d.ts +3 -4
- package/dist/commands/execution/logs.js +5 -4
- package/dist/commands/execution/logs.js.map +1 -1
- package/dist/commands/execution/stop.d.ts +3 -4
- package/dist/commands/execution/stop.js +5 -4
- package/dist/commands/execution/stop.js.map +1 -1
- package/dist/commands/execution/view.d.ts +3 -4
- package/dist/commands/execution/view.js +5 -4
- package/dist/commands/execution/view.js.map +1 -1
- package/dist/commands/hook/export.d.ts +3 -4
- package/dist/commands/hook/export.js +5 -4
- package/dist/commands/hook/export.js.map +1 -1
- package/dist/commands/hook/fire.d.ts +3 -4
- package/dist/commands/hook/fire.js +5 -4
- package/dist/commands/hook/fire.js.map +1 -1
- package/dist/commands/hook/list.d.ts +3 -4
- package/dist/commands/hook/list.js +5 -4
- package/dist/commands/hook/list.js.map +1 -1
- package/dist/commands/hook/preset.d.ts +3 -4
- package/dist/commands/hook/preset.js +5 -4
- package/dist/commands/hook/preset.js.map +1 -1
- package/dist/commands/orchestrate/index.d.ts +3 -4
- package/dist/commands/orchestrate/index.js +5 -4
- package/dist/commands/orchestrate/index.js.map +1 -1
- package/dist/commands/orchestrator/index.d.ts +3 -4
- package/dist/commands/orchestrator/index.js +5 -4
- package/dist/commands/orchestrator/index.js.map +1 -1
- package/dist/commands/pr/checks.d.ts +3 -4
- package/dist/commands/pr/checks.js +5 -4
- package/dist/commands/pr/checks.js.map +1 -1
- package/dist/commands/repo/add.d.ts +3 -4
- package/dist/commands/repo/add.js +5 -4
- package/dist/commands/repo/add.js.map +1 -1
- package/dist/commands/repo/create.d.ts +3 -4
- package/dist/commands/repo/create.js +5 -4
- package/dist/commands/repo/create.js.map +1 -1
- package/dist/commands/repo/fix-remotes.d.ts +3 -4
- package/dist/commands/repo/fix-remotes.js +5 -4
- package/dist/commands/repo/fix-remotes.js.map +1 -1
- package/dist/commands/repo/index.d.ts +3 -4
- package/dist/commands/repo/index.js +5 -4
- package/dist/commands/repo/index.js.map +1 -1
- package/dist/commands/repo/list.d.ts +3 -4
- package/dist/commands/repo/list.js +5 -4
- package/dist/commands/repo/list.js.map +1 -1
- package/dist/commands/session/cleanup.d.ts +3 -4
- package/dist/commands/session/cleanup.js +5 -4
- package/dist/commands/session/cleanup.js.map +1 -1
- package/dist/commands/session/create.d.ts +3 -4
- package/dist/commands/session/create.js +5 -4
- package/dist/commands/session/create.js.map +1 -1
- package/dist/commands/session/exec.d.ts +3 -4
- package/dist/commands/session/exec.js +5 -4
- package/dist/commands/session/exec.js.map +1 -1
- package/dist/commands/session/health.js +18 -0
- package/dist/commands/session/health.js.map +1 -1
- package/dist/commands/session/index.d.ts +3 -4
- package/dist/commands/session/index.js +9 -4
- package/dist/commands/session/index.js.map +1 -1
- package/dist/commands/session/inspect.d.ts +3 -4
- package/dist/commands/session/inspect.js +5 -4
- package/dist/commands/session/inspect.js.map +1 -1
- package/dist/commands/session/list.d.ts +3 -4
- package/dist/commands/session/list.js +19 -5
- package/dist/commands/session/list.js.map +1 -1
- package/dist/commands/session/prune.d.ts +3 -4
- package/dist/commands/session/prune.js +5 -4
- package/dist/commands/session/prune.js.map +1 -1
- package/dist/commands/session/report.d.ts +25 -5
- package/dist/commands/session/report.js +201 -5
- package/dist/commands/session/report.js.map +1 -1
- package/dist/commands/session/restart.d.ts +3 -4
- package/dist/commands/session/restart.js +5 -4
- package/dist/commands/session/restart.js.map +1 -1
- package/dist/commands/session/watch.d.ts +17 -0
- package/dist/commands/session/watch.js +139 -0
- package/dist/commands/session/watch.js.map +1 -0
- package/dist/commands/ticket/index.d.ts +3 -4
- package/dist/commands/ticket/index.js +5 -4
- package/dist/commands/ticket/index.js.map +1 -1
- package/dist/commands/web.d.ts +20 -0
- package/dist/commands/web.js +82 -0
- package/dist/commands/web.js.map +1 -0
- package/dist/commands/work/hooks/add.d.ts +3 -4
- package/dist/commands/work/hooks/add.js +5 -4
- package/dist/commands/work/hooks/add.js.map +1 -1
- package/dist/commands/work/hooks/list.d.ts +3 -4
- package/dist/commands/work/hooks/list.js +5 -4
- package/dist/commands/work/hooks/list.js.map +1 -1
- package/dist/commands/work/hooks/toggle.d.ts +3 -4
- package/dist/commands/work/hooks/toggle.js +5 -4
- package/dist/commands/work/hooks/toggle.js.map +1 -1
- package/dist/commands/work/peek.d.ts +3 -4
- package/dist/commands/work/peek.js +5 -4
- package/dist/commands/work/peek.js.map +1 -1
- package/dist/commands/work/propose.d.ts +23 -0
- package/dist/commands/work/propose.js +57 -0
- package/dist/commands/work/propose.js.map +1 -0
- package/dist/commands/work/ready.js +2 -2
- package/dist/commands/work/ready.js.map +1 -1
- package/dist/commands/work/rebase.d.ts +1 -1
- package/dist/commands/work/rebase.js +52 -49
- package/dist/commands/work/rebase.js.map +1 -1
- package/dist/commands/work/ship.d.ts +6 -0
- package/dist/commands/work/ship.js +217 -48
- package/dist/commands/work/ship.js.map +1 -1
- package/dist/commands/work/start.js +3 -6
- package/dist/commands/work/start.js.map +1 -1
- package/dist/commands/work/stop.d.ts +3 -4
- package/dist/commands/work/stop.js +5 -4
- package/dist/commands/work/stop.js.map +1 -1
- package/dist/hooks/init.js +11 -1
- package/dist/hooks/init.js.map +1 -1
- package/dist/lib/branch/index.d.ts +6 -5
- package/dist/lib/branch/index.js +8 -13
- package/dist/lib/branch/index.js.map +1 -1
- package/dist/lib/dashboard/html.d.ts +2 -1
- package/dist/lib/dashboard/html.js +150 -522
- package/dist/lib/dashboard/html.js.map +1 -1
- package/dist/lib/database/db-safety.d.ts +48 -9
- package/dist/lib/database/db-safety.js +308 -43
- package/dist/lib/database/db-safety.js.map +1 -1
- package/dist/lib/database/index.d.ts +1 -1
- package/dist/lib/database/index.js +1 -1
- package/dist/lib/database/index.js.map +1 -1
- package/dist/lib/database/workspace.js +3 -1
- package/dist/lib/database/workspace.js.map +1 -1
- package/dist/lib/execution/runners/docker.js +8 -0
- package/dist/lib/execution/runners/docker.js.map +1 -1
- package/dist/lib/execution/runners/prompt-builder.js +9 -6
- package/dist/lib/execution/runners/prompt-builder.js.map +1 -1
- package/dist/lib/execution/spawner.js +2 -4
- package/dist/lib/execution/spawner.js.map +1 -1
- package/dist/lib/execution/storage.d.ts +29 -1
- package/dist/lib/execution/storage.js +77 -0
- package/dist/lib/execution/storage.js.map +1 -1
- package/dist/lib/execution/types.d.ts +17 -6
- package/dist/lib/execution/types.js +10 -7
- package/dist/lib/execution/types.js.map +1 -1
- package/dist/lib/machine-config.d.ts +8 -0
- package/dist/lib/machine-config.js +37 -0
- package/dist/lib/machine-config.js.map +1 -1
- package/dist/lib/orchestrate/poller.d.ts +1 -1
- package/dist/lib/orchestrate/poller.js +1 -1
- package/dist/lib/pmo/storage/base.js +5 -3
- package/dist/lib/pmo/storage/base.js.map +1 -1
- package/dist/lib/providers/index.d.ts +1 -0
- package/dist/lib/providers/index.js +1 -0
- package/dist/lib/providers/index.js.map +1 -1
- package/dist/lib/providers/resolver.js +16 -0
- package/dist/lib/providers/resolver.js.map +1 -1
- package/dist/lib/providers/trello-provider.d.ts +28 -0
- package/dist/lib/providers/trello-provider.js +381 -0
- package/dist/lib/providers/trello-provider.js.map +1 -0
- package/dist/lib/session/heartbeat.d.ts +45 -0
- package/dist/lib/session/heartbeat.js +150 -0
- package/dist/lib/session/heartbeat.js.map +1 -0
- package/dist/lib/session/index.d.ts +7 -0
- package/dist/lib/session/index.js +8 -0
- package/dist/lib/session/index.js.map +1 -0
- package/dist/lib/session/watcher.d.ts +79 -0
- package/dist/lib/session/watcher.js +142 -0
- package/dist/lib/session/watcher.js.map +1 -0
- package/dist/lib/shipping/auto-merge.d.ts +57 -0
- package/dist/lib/shipping/auto-merge.js +311 -0
- package/dist/lib/shipping/auto-merge.js.map +1 -0
- package/dist/lib/shipping/github.d.ts +68 -0
- package/dist/lib/shipping/github.js +217 -0
- package/dist/lib/shipping/github.js.map +1 -0
- package/dist/lib/shipping/index.d.ts +13 -0
- package/dist/lib/shipping/index.js +11 -0
- package/dist/lib/shipping/index.js.map +1 -0
- package/dist/lib/shipping/rebase.d.ts +35 -0
- package/dist/lib/shipping/rebase.js +107 -0
- package/dist/lib/shipping/rebase.js.map +1 -0
- package/dist/lib/shipping/types.d.ts +181 -0
- package/dist/lib/shipping/types.js +9 -0
- package/dist/lib/shipping/types.js.map +1 -0
- package/dist/lib/trello/client.d.ts +1 -0
- package/dist/lib/trello/client.js +6 -0
- package/dist/lib/trello/client.js.map +1 -1
- package/oclif.manifest.json +908 -1009
- package/package.json +8 -8
|
@@ -6,7 +6,8 @@ import { getWorkColumnSetting, findColumnByName } from '../../lib/pmo/utils.js';
|
|
|
6
6
|
import { styles } from '../../lib/styles.js';
|
|
7
7
|
import { getWorkspaceInfo } from '../../lib/agents/commands.js';
|
|
8
8
|
import { ExecutionStorage } from '../../lib/execution/storage.js';
|
|
9
|
-
import { isGHInstalled, isGHAuthenticated, getPRByNumber, getPRForBranch, getPRChecks, mergePR, getGitHubRepo,
|
|
9
|
+
import { isGHInstalled, isGHAuthenticated, getPRByNumber, getPRForBranch, getPRChecks, mergePR, getGitHubRepo, listOpenPRs, } from '../../lib/pr/index.js';
|
|
10
|
+
import { rebaseSiblingPRs, watchAndShip, GitHubAutoMergeProvider, } from '../../lib/shipping/index.js';
|
|
10
11
|
import { shouldOutputJson, outputErrorAsJson, outputSuccessAsJson, createMetadata, } from '../../lib/prompt-json.js';
|
|
11
12
|
import { getEventBus } from '../../lib/events/event-bus.js';
|
|
12
13
|
import { validateBranchName } from '../../lib/branch/index.js';
|
|
@@ -27,6 +28,9 @@ export default class WorkShip extends PMOCommand {
|
|
|
27
28
|
'<%= config.bin %> <%= command.id %> --pr 929',
|
|
28
29
|
'<%= config.bin %> <%= command.id %> TKT-001 --dry-run',
|
|
29
30
|
'<%= config.bin %> <%= command.id %> TKT-001 --wait',
|
|
31
|
+
'<%= config.bin %> <%= command.id %> TKT-001 --when-green',
|
|
32
|
+
'<%= config.bin %> <%= command.id %> --when-green --pr 990',
|
|
33
|
+
'<%= config.bin %> <%= command.id %> --when-green --all',
|
|
30
34
|
'<%= config.bin %> <%= command.id %> TKT-001 --no-rebase',
|
|
31
35
|
'<%= config.bin %> <%= command.id %> TKT-001 --no-rebase-siblings',
|
|
32
36
|
];
|
|
@@ -51,6 +55,14 @@ export default class WorkShip extends PMOCommand {
|
|
|
51
55
|
description: 'Wait for CI to go green before merging',
|
|
52
56
|
default: false,
|
|
53
57
|
}),
|
|
58
|
+
'when-green': Flags.boolean({
|
|
59
|
+
description: 'Watch CI and auto-merge when all checks pass. Rebases if behind main.',
|
|
60
|
+
default: false,
|
|
61
|
+
}),
|
|
62
|
+
all: Flags.boolean({
|
|
63
|
+
description: 'Ship all currently-green PRs (use with --when-green to watch all)',
|
|
64
|
+
default: false,
|
|
65
|
+
}),
|
|
54
66
|
'no-rebase': Flags.boolean({
|
|
55
67
|
description: 'Fail on conflicts instead of auto-rebasing',
|
|
56
68
|
default: false,
|
|
@@ -103,6 +115,11 @@ export default class WorkShip extends PMOCommand {
|
|
|
103
115
|
const db = openWorkspaceDatabase(workspaceInfo.path);
|
|
104
116
|
const executionStorage = new ExecutionStorage(db);
|
|
105
117
|
try {
|
|
118
|
+
// --- Handle --all flag: batch ship all green PRs ---
|
|
119
|
+
if (flags.all) {
|
|
120
|
+
await this.shipAll(flags, workspaceInfo, executionStorage, db, jsonMode);
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
106
123
|
// --- Step 1: Resolve ticket and PR ---
|
|
107
124
|
let ticketId = args.ticketId;
|
|
108
125
|
let prNumber = flags.pr;
|
|
@@ -204,6 +221,7 @@ export default class WorkShip extends PMOCommand {
|
|
|
204
221
|
this.log(styles.muted(` PR: #${prNumber} — ${prInfo.title}`));
|
|
205
222
|
this.log(styles.muted(` Branch: ${prInfo.headBranch} → ${prInfo.baseBranch}`));
|
|
206
223
|
this.log(styles.muted(` Method: ${flags.method}`));
|
|
224
|
+
this.log(styles.muted(` Mode: ${flags['when-green'] ? 'when-green (watch + auto-merge)' : 'immediate'}`));
|
|
207
225
|
if (ticketId) {
|
|
208
226
|
this.log(styles.muted(` Ticket: ${ticketId}${ticket ? ` — ${ticket.title}` : ''}`));
|
|
209
227
|
}
|
|
@@ -248,49 +266,73 @@ export default class WorkShip extends PMOCommand {
|
|
|
248
266
|
db.close();
|
|
249
267
|
return;
|
|
250
268
|
}
|
|
251
|
-
// --- Step 2:
|
|
269
|
+
// --- Step 2+3+4: CI check, rebase, and merge ---
|
|
270
|
+
const method = flags.method;
|
|
252
271
|
this.log('');
|
|
253
272
|
this.log(styles.info(`Shipping PR #${prNumber}: ${prInfo.title}`));
|
|
254
|
-
|
|
255
|
-
if (
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
273
|
+
let whenGreenResult;
|
|
274
|
+
if (flags['when-green']) {
|
|
275
|
+
// --- When-green mode: watch CI and auto-merge ---
|
|
276
|
+
whenGreenResult = await watchAndShip({
|
|
277
|
+
prNumber,
|
|
278
|
+
method,
|
|
279
|
+
deleteBranch: flags['delete-branch'],
|
|
280
|
+
admin: flags.admin,
|
|
281
|
+
noRebase: flags['no-rebase'],
|
|
282
|
+
cwd,
|
|
283
|
+
headBranch: prInfo.headBranch,
|
|
284
|
+
baseBranch: prInfo.baseBranch,
|
|
285
|
+
onProgress: (msg) => this.log(styles.muted(` ${msg}`)),
|
|
286
|
+
onWarning: (msg) => this.warn(msg),
|
|
287
|
+
}, new GitHubAutoMergeProvider());
|
|
288
|
+
if (!whenGreenResult.merged) {
|
|
263
289
|
db.close();
|
|
264
|
-
return handleError('
|
|
290
|
+
return handleError(whenGreenResult.errorCode || 'WHEN_GREEN_FAILED', whenGreenResult.error || 'Auto-merge failed for unknown reason.');
|
|
265
291
|
}
|
|
266
|
-
this.log(styles.
|
|
267
|
-
|
|
268
|
-
|
|
292
|
+
this.log(styles.success(` PR #${prNumber} merged`));
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
// --- Standard mode: immediate CI check + merge ---
|
|
296
|
+
const ciResult = await this.waitForCI(prNumber, flags.wait, cwd);
|
|
297
|
+
if (!ciResult.passed) {
|
|
269
298
|
db.close();
|
|
270
|
-
return handleError('
|
|
299
|
+
return handleError('CI_FAILED', ciResult.message);
|
|
271
300
|
}
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
301
|
+
// Check for merge conflicts and rebase if needed
|
|
302
|
+
const hasConflicts = this.checkMergeConflicts(prNumber, cwd);
|
|
303
|
+
if (hasConflicts) {
|
|
304
|
+
if (flags['no-rebase']) {
|
|
305
|
+
db.close();
|
|
306
|
+
return handleError('MERGE_CONFLICTS', `PR #${prNumber} has merge conflicts. Resolve them manually or run without --no-rebase to auto-rebase.`);
|
|
307
|
+
}
|
|
308
|
+
this.log(styles.muted(' Merge conflicts detected, rebasing...'));
|
|
309
|
+
const rebaseResult = this.rebaseOntoBase(prInfo.headBranch, prInfo.baseBranch, cwd);
|
|
310
|
+
if (!rebaseResult.success) {
|
|
311
|
+
db.close();
|
|
312
|
+
return handleError('REBASE_FAILED', `Rebase failed: ${rebaseResult.error}. Resolve conflicts manually.`);
|
|
313
|
+
}
|
|
314
|
+
this.log(styles.muted(' Rebased and force-pushed. Waiting for CI...'));
|
|
315
|
+
// Wait for CI to rerun after rebase
|
|
316
|
+
const postRebaseCI = await this.waitForCI(prNumber, true, cwd);
|
|
317
|
+
if (!postRebaseCI.passed) {
|
|
318
|
+
db.close();
|
|
319
|
+
return handleError('CI_FAILED_AFTER_REBASE', postRebaseCI.message);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
// Merge the PR
|
|
323
|
+
this.log(styles.muted(` Merging PR #${prNumber} (${method})...`));
|
|
324
|
+
const mergeResult = mergePR(prNumber, {
|
|
325
|
+
method,
|
|
326
|
+
deleteBranch: flags['delete-branch'],
|
|
327
|
+
admin: flags.admin,
|
|
328
|
+
cwd,
|
|
329
|
+
});
|
|
330
|
+
if (!mergeResult.success) {
|
|
276
331
|
db.close();
|
|
277
|
-
return handleError('
|
|
332
|
+
return handleError('MERGE_FAILED', `Failed to merge PR #${prNumber}: ${mergeResult.error}`);
|
|
278
333
|
}
|
|
334
|
+
this.log(styles.success(` PR #${prNumber} merged`));
|
|
279
335
|
}
|
|
280
|
-
// --- Step 4: Merge the PR ---
|
|
281
|
-
const method = flags.method;
|
|
282
|
-
this.log(styles.muted(` Merging PR #${prNumber} (${method})...`));
|
|
283
|
-
const mergeResult = mergePR(prNumber, {
|
|
284
|
-
method,
|
|
285
|
-
deleteBranch: flags['delete-branch'],
|
|
286
|
-
admin: flags.admin,
|
|
287
|
-
cwd,
|
|
288
|
-
});
|
|
289
|
-
if (!mergeResult.success) {
|
|
290
|
-
db.close();
|
|
291
|
-
return handleError('MERGE_FAILED', `Failed to merge PR #${prNumber}: ${mergeResult.error}`);
|
|
292
|
-
}
|
|
293
|
-
this.log(styles.success(` PR #${prNumber} merged`));
|
|
294
336
|
// --- Step 5: Move ticket to Done ---
|
|
295
337
|
let ticketMovedToDone = false;
|
|
296
338
|
let ticketTransitionProvider;
|
|
@@ -366,24 +408,38 @@ export default class WorkShip extends PMOCommand {
|
|
|
366
408
|
if (flags['rebase-siblings']) {
|
|
367
409
|
try {
|
|
368
410
|
this.log(styles.muted(' Checking sibling PRs for conflicts...'));
|
|
369
|
-
const
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
})
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
411
|
+
const rebaseResult = rebaseSiblingPRs({
|
|
412
|
+
excludePRNumber: prNumber,
|
|
413
|
+
cwd,
|
|
414
|
+
onProgress: (msg) => this.log(styles.muted(` ${msg}`)),
|
|
415
|
+
labelConflicts: true,
|
|
416
|
+
commentOnConflicts: true,
|
|
417
|
+
});
|
|
418
|
+
// Combine succeeded + failed for backward-compatible output
|
|
419
|
+
siblingRebaseResults = [
|
|
420
|
+
...rebaseResult.succeeded.map(r => ({
|
|
421
|
+
prNumber: r.prNumber,
|
|
422
|
+
headBranch: r.headBranch,
|
|
423
|
+
success: true,
|
|
424
|
+
error: undefined,
|
|
425
|
+
})),
|
|
426
|
+
...rebaseResult.failed.map(r => ({
|
|
427
|
+
prNumber: r.prNumber,
|
|
428
|
+
headBranch: r.headBranch,
|
|
429
|
+
success: false,
|
|
430
|
+
error: r.error,
|
|
431
|
+
})),
|
|
432
|
+
];
|
|
433
|
+
if (rebaseResult.succeeded.length === 0 && rebaseResult.failed.length === 0) {
|
|
379
434
|
this.log(styles.muted(' No conflicting sibling PRs found'));
|
|
380
435
|
}
|
|
381
436
|
else {
|
|
382
|
-
for (const r of succeeded) {
|
|
437
|
+
for (const r of rebaseResult.succeeded) {
|
|
383
438
|
this.log(styles.success(` Rebased sibling PR #${r.prNumber} (${r.headBranch})`));
|
|
384
439
|
}
|
|
385
|
-
for (const r of failed) {
|
|
386
|
-
|
|
440
|
+
for (const r of rebaseResult.failed) {
|
|
441
|
+
const conflictNote = r.hasConflicts ? ' (labeled rebase-conflict)' : '';
|
|
442
|
+
this.log(styles.warning(` Failed to rebase PR #${r.prNumber}: ${r.error}${conflictNote}`));
|
|
387
443
|
}
|
|
388
444
|
}
|
|
389
445
|
}
|
|
@@ -405,6 +461,11 @@ export default class WorkShip extends PMOCommand {
|
|
|
405
461
|
ticketMovedToDone,
|
|
406
462
|
ticketTransitionProvider: ticketTransitionProvider ?? null,
|
|
407
463
|
siblingRebases: siblingRebaseResults,
|
|
464
|
+
whenGreen: whenGreenResult ? {
|
|
465
|
+
autoMergeEnabled: whenGreenResult.autoMergeEnabled,
|
|
466
|
+
pollCycles: whenGreenResult.pollCycles,
|
|
467
|
+
rebasePerformed: whenGreenResult.rebasePerformed,
|
|
468
|
+
} : null,
|
|
408
469
|
}, createMetadata('work ship', flags));
|
|
409
470
|
return;
|
|
410
471
|
}
|
|
@@ -426,6 +487,12 @@ export default class WorkShip extends PMOCommand {
|
|
|
426
487
|
const failed = siblingRebaseResults.filter(r => !r.success).length;
|
|
427
488
|
this.log(styles.muted(` Sibling rebases: ${succeeded} succeeded, ${failed} failed`));
|
|
428
489
|
}
|
|
490
|
+
if (whenGreenResult) {
|
|
491
|
+
if (whenGreenResult.rebasePerformed) {
|
|
492
|
+
this.log(styles.muted(' Rebase: performed during watch'));
|
|
493
|
+
}
|
|
494
|
+
this.log(styles.muted(` Watch: ${whenGreenResult.pollCycles} poll cycles`));
|
|
495
|
+
}
|
|
429
496
|
}
|
|
430
497
|
catch (error) {
|
|
431
498
|
db.close();
|
|
@@ -628,5 +695,107 @@ export default class WorkShip extends PMOCommand {
|
|
|
628
695
|
}
|
|
629
696
|
return undefined;
|
|
630
697
|
}
|
|
698
|
+
/**
|
|
699
|
+
* Ship all currently-green PRs, or watch all open PRs when --when-green is set.
|
|
700
|
+
*/
|
|
701
|
+
async shipAll(flags, workspaceInfo, executionStorage, db, jsonMode) {
|
|
702
|
+
const handleError = (code, message) => {
|
|
703
|
+
if (jsonMode) {
|
|
704
|
+
outputErrorAsJson(code, message, createMetadata('work ship', flags));
|
|
705
|
+
return;
|
|
706
|
+
}
|
|
707
|
+
this.error(message);
|
|
708
|
+
};
|
|
709
|
+
const cwd = this.resolveWorktreePath(workspaceInfo, executionStorage);
|
|
710
|
+
// Get all open PRs
|
|
711
|
+
const openPRs = listOpenPRs(cwd);
|
|
712
|
+
if (openPRs.length === 0) {
|
|
713
|
+
db.close();
|
|
714
|
+
if (jsonMode) {
|
|
715
|
+
outputSuccessAsJson({ shipped: [], skipped: [], message: 'No open PRs found.' }, createMetadata('work ship', flags));
|
|
716
|
+
return;
|
|
717
|
+
}
|
|
718
|
+
this.log(styles.info('No open PRs found.'));
|
|
719
|
+
return;
|
|
720
|
+
}
|
|
721
|
+
const method = flags.method || 'squash';
|
|
722
|
+
const whenGreen = flags['when-green'];
|
|
723
|
+
const shipped = [];
|
|
724
|
+
const skipped = [];
|
|
725
|
+
const failed = [];
|
|
726
|
+
this.log('');
|
|
727
|
+
this.log(styles.info(`Processing ${openPRs.length} open PRs...`));
|
|
728
|
+
for (const pr of openPRs) {
|
|
729
|
+
// Check CI status
|
|
730
|
+
const checks = getPRChecks(pr.number, cwd);
|
|
731
|
+
const ciPending = checks.filter(c => !c.conclusion || c.status === 'IN_PROGRESS' || c.status === 'QUEUED');
|
|
732
|
+
const ciFailed = checks.filter(c => c.conclusion === 'FAILURE');
|
|
733
|
+
const ciPassed = checks.length === 0 || (ciPending.length === 0 && ciFailed.length === 0);
|
|
734
|
+
if (!ciPassed && !whenGreen) {
|
|
735
|
+
const reason = ciFailed.length > 0
|
|
736
|
+
? `CI failed: ${ciFailed.map(c => c.name).join(', ')}`
|
|
737
|
+
: `CI pending: ${ciPending.map(c => c.name).join(', ')}`;
|
|
738
|
+
skipped.push({ prNumber: pr.number, title: pr.title, reason });
|
|
739
|
+
this.log(styles.muted(` Skip #${pr.number}: ${reason}`));
|
|
740
|
+
continue;
|
|
741
|
+
}
|
|
742
|
+
if (whenGreen) {
|
|
743
|
+
// Enable auto-merge on each PR and move on (non-blocking)
|
|
744
|
+
const autoMergeProvider = new GitHubAutoMergeProvider();
|
|
745
|
+
const result = autoMergeProvider.enableAutoMerge(pr.number, method, cwd);
|
|
746
|
+
if (result.success) {
|
|
747
|
+
shipped.push({ prNumber: pr.number, title: pr.title });
|
|
748
|
+
this.log(styles.success(` #${pr.number}: auto-merge enabled (${pr.title})`));
|
|
749
|
+
}
|
|
750
|
+
else {
|
|
751
|
+
failed.push({ prNumber: pr.number, title: pr.title, error: result.error || 'Unknown error' });
|
|
752
|
+
this.log(styles.warning(` #${pr.number}: failed to enable auto-merge: ${result.error}`));
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
else {
|
|
756
|
+
// Ship immediately — CI is green
|
|
757
|
+
this.log(styles.muted(` Shipping #${pr.number}: ${pr.title}...`));
|
|
758
|
+
const mergeResult = mergePR(pr.number, {
|
|
759
|
+
method: method,
|
|
760
|
+
deleteBranch: flags['delete-branch'] ?? true,
|
|
761
|
+
admin: flags.admin ?? false,
|
|
762
|
+
cwd,
|
|
763
|
+
});
|
|
764
|
+
if (mergeResult.success) {
|
|
765
|
+
shipped.push({ prNumber: pr.number, title: pr.title });
|
|
766
|
+
this.log(styles.success(` #${pr.number} merged`));
|
|
767
|
+
// Try to resolve and update the linked ticket
|
|
768
|
+
const ticket = await this.resolveLinkedTicket(pr.number, pr.headBranch, flags.project);
|
|
769
|
+
if (ticket) {
|
|
770
|
+
try {
|
|
771
|
+
const targetColumnName = getWorkColumnSetting(db, 'done');
|
|
772
|
+
const board = ticket.projectId ? await this.storage.getProjectBoard(ticket.projectId) : null;
|
|
773
|
+
const columnNames = board ? board.columns.map(col => col.name) : [];
|
|
774
|
+
const doneColumn = findColumnByName(columnNames, targetColumnName);
|
|
775
|
+
if (doneColumn && ticket.projectId) {
|
|
776
|
+
await this.storage.moveTicket(ticket.projectId, ticket.id, doneColumn);
|
|
777
|
+
this.log(styles.muted(` ${ticket.id} → ${doneColumn}`));
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
catch {
|
|
781
|
+
// Non-fatal
|
|
782
|
+
}
|
|
783
|
+
}
|
|
784
|
+
}
|
|
785
|
+
else {
|
|
786
|
+
failed.push({ prNumber: pr.number, title: pr.title, error: mergeResult.error || 'Unknown error' });
|
|
787
|
+
this.log(styles.warning(` #${pr.number} merge failed: ${mergeResult.error}`));
|
|
788
|
+
}
|
|
789
|
+
}
|
|
790
|
+
}
|
|
791
|
+
db.close();
|
|
792
|
+
// Output
|
|
793
|
+
if (jsonMode) {
|
|
794
|
+
outputSuccessAsJson({ shipped, skipped, failed, mode: whenGreen ? 'when-green' : 'immediate' }, createMetadata('work ship', flags));
|
|
795
|
+
return;
|
|
796
|
+
}
|
|
797
|
+
this.log('');
|
|
798
|
+
this.log(styles.success(`Done: ${shipped.length} shipped, ${skipped.length} skipped, ${failed.length} failed`));
|
|
799
|
+
}
|
|
631
800
|
}
|
|
632
801
|
//# sourceMappingURL=ship.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ship.js","sourceRoot":"","sources":["../../../src/commands/work/ship.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,WAAW,EACX,OAAO,EACP,aAAa,EAEb,2BAA2B,GAG5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,GACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE;;GAEG;AACH,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,UAAU;IAC9C,MAAM,CAAC,WAAW,GAAG,sDAAsD,CAAC;IAE5E,MAAM,CAAC,QAAQ,GAAG;QAChB,6CAA6C;QAC7C,+CAA+C;QAC/C,8CAA8C;QAC9C,uDAAuD;QACvD,oDAAoD;QACpD,yDAAyD;QACzD,kEAAkE;KACnE,CAAC;IAEF,MAAM,CAAC,IAAI,GAAG;QACZ,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,mDAAmD;YAChE,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,YAAY;QACf,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC;YAChB,WAAW,EAAE,sDAAsD;YACnE,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,WAAW,EAAE,cAAc;YAC3B,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;YACtC,OAAO,EAAE,QAAQ;SAClB,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAClB,WAAW,EAAE,wCAAwC;YACrD,OAAO,EAAE,KAAK;SACf,CAAC;QACF,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC;YACzB,WAAW,EAAE,4CAA4C;YACzD,OAAO,EAAE,KAAK;SACf,CAAC;QACF,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;YACvB,WAAW,EAAE,yCAAyC;YACtD,OAAO,EAAE,KAAK;SACf,CAAC;QACF,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC;YAC7B,WAAW,EAAE,oCAAoC;YACjD,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SACd,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,WAAW,EAAE,mDAAmD;YAChE,OAAO,EAAE,KAAK;SACf,CAAC;QACF,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC;YAC/B,WAAW,EAAE,8DAA8D;YAC3E,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SACd,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,OAAO;QACX,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,SAAS,GAAI,KAA8B,CAAC,OAAO,CAAC;QAE1D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAEzC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,OAAe,EAAQ,EAAE;YAC1D,IAAI,QAAQ,EAAE,CAAC;gBACb,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC,CAAC;QAEF,eAAe;QACf,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACrB,OAAO,WAAW,CAAC,kBAAkB,EAAE,2EAA2E,CAAC,CAAC;QACtH,CAAC;QAED,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACzB,OAAO,WAAW,CAAC,sBAAsB,EAAE,6DAA6D,CAAC,CAAC;QAC5G,CAAC;QAED,qBAAqB;QACrB,IAAI,aAAa,CAAC;QAClB,IAAI,CAAC;YACH,aAAa,GAAG,gBAAgB,EAAE,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,WAAW,CAAC,kBAAkB,EAAE,2CAA2C,CAAC,CAAC;QACtF,CAAC;QAED,MAAM,EAAE,GAAG,qBAAqB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAElD,IAAI,CAAC;YACH,wCAAwC;YACxC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,IAAI,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,MAAM,GAAkB,IAAI,CAAC;YACjC,IAAI,MAAM,GAAkB,IAAI,CAAC;YAEjC,IAAI,QAAQ,EAAE,CAAC;gBACb,qEAAqE;gBACrE,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACjC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,EAAE,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,WAAW,CAAC,cAAc,EAAE,OAAO,QAAQ,aAAa,CAAC,CAAC;gBACnE,CAAC;gBAED,mCAAmC;gBACnC,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;gBAChF,IAAI,MAAM,EAAE,CAAC;oBACX,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;gBACvB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,uBAAuB;gBACvB,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,gFAAgF;oBAChF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;oBAC7D,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC7C,CAAC,CAAC,cAAc,KAAK,SAAS;wBAC9B,CAAC,CAAC,CAAC,UAAU,IAAI,CACf,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;4BAC/C,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC9C,CAAC,CACH,CAAC;oBAEF,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAClC,EAAE,CAAC,KAAK,EAAE,CAAC;wBACX,IAAI,QAAQ,EAAE,CAAC;4BACb,iBAAiB,CAAC,mBAAmB,EAAE,yCAAyC,EAAE,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;4BACtH,OAAO;wBACT,CAAC;wBACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;wBACjE,OAAO;oBACT,CAAC;oBAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC;wBACzC,OAAO,EAAE,sBAAsB;wBAC/B,KAAK,EAAE,gBAAgB;wBACvB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,UAAU,GAAG;wBACxD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE;wBACrB,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,SAAS;wBAClD,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;qBAChE,CAAC,CAAC;oBAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,EAAE,CAAC,KAAK,EAAE,CAAC;wBACX,OAAO;oBACT,CAAC;oBACD,QAAQ,GAAG,QAAQ,CAAC;gBACtB,CAAC;gBAED,aAAa;gBACb,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAS,CAAC,CAAC;gBACjD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,EAAE,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,WAAW,CAAC,kBAAkB,EAAE,WAAW,QAAQ,cAAc,CAAC,CAAC;gBAC5E,CAAC;gBACD,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;gBAErB,yCAAyC;gBACzC,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAE5F,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACnC,CAAC;gBAED,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,uCAAuC;oBACvC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,QAAS,CAAC,CAAC;oBACzE,MAAM,MAAM,GAAG,gBAAgB,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;oBACzD,IAAI,MAAM,EAAE,CAAC;wBACX,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;wBAChC,IAAI,MAAM,EAAE,CAAC;4BACX,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;wBAC3B,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACzB,EAAE,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,WAAW,CAAC,aAAa,EAAE,qCAAqC,QAAQ,uCAAuC,QAAQ,SAAS,CAAC,CAAC;gBAC3I,CAAC;YACH,CAAC;YAED,oBAAoB;YACpB,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,QAAQ,EAAE,CAAC;oBACb,mBAAmB,CACjB,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,IAAI,IAAI,EAAE,EAClF,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,CACnC,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,QAAQ,qBAAqB,CAAC,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;YAED,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,WAAW,CAAC,WAAW,EAAE,OAAO,QAAQ,8BAA8B,CAAC,CAAC;YACjF,CAAC;YAED,mDAAmD;YACnD,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;YAEhF,0BAA0B;YAC1B,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC;gBAC5D,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,QAAQ,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACrE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBAClF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBACtD,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBACzF,CAAC;gBAED,WAAW;gBACX,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAC1C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC;oBAC9F,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,KAAK,aAAa,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;oBACzG,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC;oBAE9D,IAAI,SAAS,EAAE,CAAC;wBACd,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC7E,CAAC;yBAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC9B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,OAAO,CAAC,MAAM,aAAa,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC;oBAC3F,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC;oBAChE,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;gBAC7D,CAAC;gBAED,kBAAkB;gBAClB,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAC7D,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAExF,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;gBAC1D,IAAI,YAAY,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;oBACxC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;oBACvE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;gBACvD,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,YAAY,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,sBAAsB,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC9G,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,YAAY,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,iBAAiB,QAAQ,UAAU,CAAC,CAAC,CAAC;gBACnH,CAAC;gBACD,IAAI,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;oBAC3B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,YAAY,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,0BAA0B,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBAC7H,CAAC;gBACD,IAAI,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,YAAY,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,4CAA4C,CAAC,CAAC,CAAC;gBAC5H,CAAC;gBAED,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YAED,kCAAkC;YAClC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,QAAQ,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAEnE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACjE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACrB,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC;YAED,iEAAiE;YACjE,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC7D,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;oBACvB,EAAE,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,WAAW,CAAC,iBAAiB,EAAE,OAAO,QAAQ,wFAAwF,CAAC,CAAC;gBACjJ,CAAC;gBAED,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC;gBACnE,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gBACpF,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;oBAC1B,EAAE,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,WAAW,CAAC,eAAe,EAAE,kBAAkB,YAAY,CAAC,KAAK,+BAA+B,CAAC,CAAC;gBAC3G,CAAC;gBAED,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC,CAAC;gBAEzE,oCAAoC;gBACpC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC/D,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;oBACzB,EAAE,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,WAAW,CAAC,wBAAwB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;YAED,+BAA+B;YAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAuC,CAAC;YAC7D,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,QAAQ,KAAK,MAAM,MAAM,CAAC,CAAC,CAAC;YAEpE,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE;gBACpC,MAAM;gBACN,YAAY,EAAE,KAAK,CAAC,eAAe,CAAC;gBACpC,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,GAAG;aACJ,CAAC,CAAC;YAEH,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,WAAW,CAAC,cAAc,EAAE,uBAAuB,QAAQ,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9F,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,QAAQ,SAAS,CAAC,CAAC,CAAC;YAEtD,sCAAsC;YACtC,IAAI,iBAAiB,GAAG,KAAK,CAAC;YAC9B,IAAI,wBAA4C,CAAC;YACjD,IAAI,cAAkC,CAAC;YACvC,IAAI,UAAqC,CAAC;YAE1C,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;gBACvB,qBAAqB;gBACrB,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE;oBACxC,QAAQ,EAAE;wBACR,GAAG,MAAM,CAAC,QAAQ;wBAClB,QAAQ,EAAE,QAAQ;wBAClB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACpC;iBACF,CAAC,CAAC;gBAEH,IAAI,CAAC;oBACH,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;oBAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC7F,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpE,UAAU,GAAG,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;oBAE7D,IAAI,UAAU,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;wBACnC,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC;wBACnC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;wBACtE,iBAAiB,GAAG,IAAI,CAAC;wBAEzB,4BAA4B;wBAC5B,IAAI,CAAC;4BACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;4BAC9E,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gCAC5B,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gCACnE,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oCACvB,wBAAwB,GAAG,UAAU,CAAC,QAAQ,CAAC;oCAC/C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,UAAU,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,CAAC,CAAC;gCAC/E,CAAC;4BACH,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC;4BACP,YAAY;wBACd,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,IAAI,CAAC,yBAAyB,QAAQ,aAAa,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtG,CAAC;gBAED,oBAAoB;gBACpB,MAAM,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAEpD,8BAA8B;gBAC9B,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;gBACxE,IAAI,gBAAgB,EAAE,CAAC;oBACrB,gBAAgB,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;oBAChE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,gBAAgB,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC;YAED,6BAA6B;YAC7B,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;oBAChC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,sBAAsB,IAAI,SAAS,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oBAE1E,WAAW,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE;wBACnC,UAAU,EAAE,QAAQ;wBACpB,MAAM,EAAE,QAAQ;wBAChB,QAAQ;wBACR,OAAO,EAAE,MAAM,CAAC,KAAK;wBACrB,KAAK;wBACL,WAAW,EAAE,MAAM;wBACnB,SAAS,EAAE,IAAI,IAAI,EAAE;qBACtB,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;oBACP,eAAe;gBACjB,CAAC;YACH,CAAC;YAED,sDAAsD;YACtD,IAAI,oBAAoB,GAAsF,EAAE,CAAC;YACjH,IAAI,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC;oBACnE,MAAM,OAAO,GAAG,2BAA2B,CACzC,QAAQ,EACR,GAAG,EACH,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAC7C,CAAC;oBAEF,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACvC,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,UAAU,EAAE,CAAC,CAAC,UAAU;wBACxB,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,KAAK,EAAE,CAAC,CAAC,KAAK;qBACf,CAAC,CAAC,CAAC;oBAEJ,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBACjD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBAE/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACzB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;oBAChE,CAAC;yBAAM,CAAC;wBACN,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;4BAC1B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;wBACrF,CAAC;wBACD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;4BACvB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;wBAChF,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,8DAA8D;oBAC9D,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;YAED,EAAE,CAAC,KAAK,EAAE,CAAC;YAEX,iBAAiB;YACjB,IAAI,QAAQ,EAAE,CAAC;gBACb,mBAAmB,CACjB;oBACE,OAAO,EAAE,IAAI;oBACb,QAAQ;oBACR,OAAO,EAAE,MAAM,CAAC,KAAK;oBACrB,MAAM;oBACN,aAAa,EAAE,KAAK,CAAC,eAAe,CAAC;oBACrC,QAAQ,EAAE,QAAQ,IAAI,IAAI;oBAC1B,iBAAiB;oBACjB,wBAAwB,EAAE,wBAAwB,IAAI,IAAI;oBAC1D,cAAc,EAAE,oBAAoB;iBACrC,EACD,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,CACnC,CAAC;gBACF,OAAO;YACT,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,QAAQ,IAAI,OAAO,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,QAAQ,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,MAAM,EAAE,CAAC,CAAC,CAAC;YAC/C,IAAI,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,MAAM,CAAC,UAAU,UAAU,CAAC,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,iBAAiB,IAAI,QAAQ,EAAE,CAAC;gBAClC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,QAAQ,MAAM,UAAU,EAAE,CAAC,CAAC,CAAC;gBACjE,IAAI,cAAc,EAAE,CAAC;oBACnB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,cAAc,EAAE,CAAC,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;YACD,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;gBACrE,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;gBACnE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,SAAS,eAAe,MAAM,SAAS,CAAC,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAC/B,QAAgB,EAChB,UAAkB,EAClB,SAA6B;QAE7B,oCAAoC;QACpC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACrC,CAAC,CAAC,QAAQ,EAAE,SAAS,KAAK,MAAM,CAAC,QAAQ,CAAC;YAC1C,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,QAAQ,EAAE,CAAC;YACjD,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC,CAC7C,CAAC;QACF,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC;QAElC,kDAAkD;QAClD,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CACpB,yBAAyB,UAAU,CAAC,UAAU,2BAA2B,CAC1E,CAAC,GAAG,CAAC,UAAU,CAAsC,CAAC;YACvD,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3D,IAAI,MAAM;oBAAE,OAAO,MAAM,CAAC;YAC5B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2BAA2B;QAC7B,CAAC;QAED,sCAAsC;QACtC,MAAM,YAAY,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;YACvD,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC;YAEnD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAClE,IAAI,YAAY;gBAAE,OAAO,YAAY,CAAC;YAEtC,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACxC,CAAC,CAAC,QAAQ,EAAE,YAAY,KAAK,cAAc,CAC5C,CAAC;YACF,IAAI,aAAa;gBAAE,OAAO,aAAa,CAAC;QAC1C,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,SAAS,CACrB,QAAgB,EAChB,UAAmB,EACnB,GAAY;QAEZ,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,iCAAiC;QAC1D,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,OAAO,QAAQ,GAAG,WAAW,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAE1C,sCAAsC;YACtC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;gBACrD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YACvC,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAChC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,KAAK,aAAa,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CACrE,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC/B,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,CACzD,CAAC;YAEF,WAAW;YACX,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvD,OAAO;wBACL,MAAM,EAAE,KAAK;wBACb,OAAO,EAAE,qBAAqB,WAAW,qCAAqC;qBAC/E,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,MAAM,gBAAgB,CAAC,CAAC,CAAC;gBAChE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YACvC,CAAC;YAED,uBAAuB;YACvB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzD,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE,4BAA4B,YAAY,+DAA+D;iBACjH,CAAC;YACJ,CAAC;YAED,iBAAiB;YACjB,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,OAAO,CAAC,MAAM,cAAc,CAAC,CAAC,CAAC;YAC7E,CAAC;YACD,QAAQ,EAAE,CAAC;YACX,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAED,OAAO;YACL,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,+DAA+D;SACzE,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,QAAgB,EAAE,GAAY;QACxD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CACrB,cAAc,QAAQ,iCAAiC,EACvD;gBACE,GAAG;gBACH,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CACF,CAAC,IAAI,EAAE,CAAC;YAET,OAAO,MAAM,KAAK,aAAa,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACK,cAAc,CACpB,UAAkB,EAClB,UAAkB,EAClB,GAAY;QAEZ,IAAI,CAAC;YACH,2BAA2B;YAC3B,QAAQ,CAAC,kBAAkB,EAAE;gBAC3B,GAAG;gBACH,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC;YAEH,4BAA4B;YAC5B,QAAQ,CAAC,gBAAgB,UAAU,EAAE,EAAE;gBACrC,GAAG;gBACH,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC;YAEH,mBAAmB;YACnB,QAAQ,CAAC,qBAAqB,UAAU,EAAE,EAAE;gBAC1C,GAAG;gBACH,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC;YAEH,aAAa;YACb,QAAQ,CAAC,sCAAsC,UAAU,EAAE,EAAE;gBAC3D,GAAG;gBACH,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC;YAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,0BAA0B;YAC1B,IAAI,CAAC;gBACH,QAAQ,CAAC,oBAAoB,EAAE;oBAC7B,GAAG;oBACH,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;iBAChC,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB;aACvE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,mBAAmB,CACzB,aAAkD,EAClD,gBAAkC,EAClC,QAAiB;QAEjB,yCAAyC;QACzC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAClC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,CACxE,CAAC;gBACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,eAAe;YACjB,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,SAAS,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YACjE,IAAI,SAAS,EAAE,SAAS,EAAE,CAAC;gBACzB,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,SAAS,CAAC,CAAC;gBACnF,IAAI,QAA4B,CAAC;gBACjC,IAAI,WAAW,EAAE,aAAa,EAAE,CAAC;oBAC/B,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;gBACtE,CAAC;qBAAM,IAAI,WAAW,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;oBAC7C,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,kBAAkB,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC5G,CAAC;qBAAM,IAAI,WAAW,EAAE,CAAC;oBACvB,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,mBAAmB,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC7G,CAAC;gBAED,IAAI,QAAQ,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACxC,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;wBAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAClC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,CACxE,CAAC;wBACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACxB,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBAC/C,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,eAAe;oBACjB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"ship.js","sourceRoot":"","sources":["../../../src/commands/work/ship.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ import { openWorkspaceDatabase } from '../../lib/database/index.js';
|
|
|
16
16
|
import { generateBranchName, DEFAULT_EXECUTION_CONFIG, } from '../../lib/execution/types.js';
|
|
17
17
|
import { runExecution, isDockerRunning, isGitHubTokenAvailable, isDevcontainerCliInstalled, dockerCredentialsExist, getDockerCredentialInfo, isClaudeExecutor, getExecutorDisplayName } from '../../lib/execution/runners.js';
|
|
18
18
|
import { ExecutionStorage, ContainerStorage } from '../../lib/execution/storage.js';
|
|
19
|
-
import { loadExecutionConfig, getTerminalApp, promptTerminalPreference, getShell, promptShellPreference, hasTerminalPreference, hasShellPreference,
|
|
19
|
+
import { loadExecutionConfig, getTerminalApp, promptTerminalPreference, getShell, promptShellPreference, hasTerminalPreference, hasShellPreference, getAuthMethod, saveAuthMethod, getCreatePrDefault, getMirrorToPmoDefault, getCleanupPolicy } from '../../lib/execution/config.js';
|
|
20
20
|
import { hasDevcontainerConfig } from '../../lib/execution/devcontainer.js';
|
|
21
21
|
import { detectRepoWorktrees, resolveWorktreePath, buildWorkspaceRepos } from '../../lib/execution/context.js';
|
|
22
22
|
import { isGHInstalled, isGHAuthenticated } from '../../lib/pr/index.js';
|
|
@@ -1111,14 +1111,12 @@ export default class WorkStart extends PMOCommand {
|
|
|
1111
1111
|
else if (repoWorktrees.length === 0) {
|
|
1112
1112
|
this.log(styles.muted(` No git worktree found for agent, using current directory`));
|
|
1113
1113
|
}
|
|
1114
|
-
// Get coder name for branch naming (prompts on first use)
|
|
1115
|
-
const coderName = await getOrPromptCoderName(db);
|
|
1116
1114
|
// Use ticket's existing branch or generate a new one
|
|
1117
1115
|
// When ticket was imported from an external source, use the external key
|
|
1118
1116
|
// (e.g. PRLT-962) instead of the internal PMO ID (e.g. TKT-134) for branch naming
|
|
1119
1117
|
const externalMeta = getTicketExternalMetadata(ticket);
|
|
1120
1118
|
const branchTicketId = externalMeta.key || ticket.id;
|
|
1121
|
-
const branch = ticket.branch || generateBranchName(branchTicketId, ticket.title,
|
|
1119
|
+
const branch = ticket.branch || generateBranchName(branchTicketId, ticket.title, ticket.category);
|
|
1122
1120
|
const isExistingBranch = !!ticket.branch;
|
|
1123
1121
|
// Get epic info if linked
|
|
1124
1122
|
let epicTitle;
|
|
@@ -2764,11 +2762,10 @@ export default class WorkStart extends PMOCommand {
|
|
|
2764
2762
|
const repoWorktrees = detectRepoWorktrees(agentDir);
|
|
2765
2763
|
const worktreePath = resolveWorktreePath(agentDir, repoWorktrees);
|
|
2766
2764
|
// Get coder name for branch naming (prompts on first use)
|
|
2767
|
-
const coderName = await getOrPromptCoderName(db);
|
|
2768
2765
|
// Use ticket's existing branch or generate a new one
|
|
2769
2766
|
// Prefer external provider key (e.g. PRLT-1065) over internal TKT ID for branch naming
|
|
2770
2767
|
const branchTicketId = resolveExternalTicketId(ticket);
|
|
2771
|
-
const branch = ticket.branch || generateBranchName(branchTicketId, ticket.title,
|
|
2768
|
+
const branch = ticket.branch || generateBranchName(branchTicketId, ticket.title, ticket.category);
|
|
2772
2769
|
const isExistingBranch = !!ticket.branch;
|
|
2773
2770
|
// Get epic info
|
|
2774
2771
|
let epicTitle;
|