@idea1/cli 1.9.1 → 1.10.1
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/README.md +123 -66
- package/dist/cli/named-lists.d.ts +1 -1
- package/dist/cli/named-lists.d.ts.map +1 -1
- package/dist/cli/named-lists.js +18 -2
- package/dist/cli/named-lists.js.map +1 -1
- package/dist/cli/parser.d.ts +3 -2
- package/dist/cli/parser.d.ts.map +1 -1
- package/dist/cli/parser.js +4 -3
- package/dist/cli/parser.js.map +1 -1
- package/dist/cli/resolver.d.ts +3 -0
- package/dist/cli/resolver.d.ts.map +1 -1
- package/dist/cli/resolver.js +41 -36
- package/dist/cli/resolver.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +15 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/approve-pr.d.ts.map +1 -1
- package/dist/commands/approve-pr.js +2 -54
- package/dist/commands/approve-pr.js.map +1 -1
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +11 -6
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/index.d.ts +2 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +5 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/join-project-item.d.ts.map +1 -1
- package/dist/commands/join-project-item.js +31 -12
- package/dist/commands/join-project-item.js.map +1 -1
- package/dist/commands/next-workflow-step.d.ts.map +1 -1
- package/dist/commands/next-workflow-step.js +1 -0
- package/dist/commands/next-workflow-step.js.map +1 -1
- package/dist/commands/ready-for-approval.d.ts.map +1 -1
- package/dist/commands/ready-for-approval.js +7 -67
- package/dist/commands/ready-for-approval.js.map +1 -1
- package/dist/commands/release.d.ts.map +1 -1
- package/dist/commands/release.js +7 -9
- package/dist/commands/release.js.map +1 -1
- package/dist/commands/ship-local-changes.d.ts +2 -0
- package/dist/commands/ship-local-changes.d.ts.map +1 -1
- package/dist/commands/ship-local-changes.js +30 -5
- package/dist/commands/ship-local-changes.js.map +1 -1
- package/dist/commands/start-agent-implementation.d.ts.map +1 -1
- package/dist/commands/start-agent-implementation.js +4 -1
- package/dist/commands/start-agent-implementation.js.map +1 -1
- package/dist/commands/start-dev-implementation.d.ts.map +1 -1
- package/dist/commands/start-dev-implementation.js +1 -0
- package/dist/commands/start-dev-implementation.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +6 -3
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/url-handler.d.ts +5 -0
- package/dist/commands/url-handler.d.ts.map +1 -0
- package/dist/commands/url-handler.js +38 -0
- package/dist/commands/url-handler.js.map +1 -0
- package/dist/jobs/targets.d.ts +6 -1
- package/dist/jobs/targets.d.ts.map +1 -1
- package/dist/jobs/targets.js +12 -8
- package/dist/jobs/targets.js.map +1 -1
- package/dist/lib/claude-options.d.ts +47 -34
- package/dist/lib/claude-options.d.ts.map +1 -1
- package/dist/lib/claude-options.js +95 -82
- package/dist/lib/claude-options.js.map +1 -1
- package/dist/lib/claude-sessions.generated.d.ts +25 -0
- package/dist/lib/claude-sessions.generated.d.ts.map +1 -0
- package/dist/lib/claude-sessions.generated.js +16 -0
- package/dist/lib/claude-sessions.generated.js.map +1 -0
- package/dist/lib/settings.d.ts +10 -4
- package/dist/lib/settings.d.ts.map +1 -1
- package/dist/lib/settings.js +45 -15
- package/dist/lib/settings.js.map +1 -1
- package/dist/prompts/platform-prompts.d.ts +2 -0
- package/dist/prompts/platform-prompts.d.ts.map +1 -1
- package/dist/prompts/platform-prompts.js +9 -4
- package/dist/prompts/platform-prompts.js.map +1 -1
- package/dist/prompts/project-item-prompts.d.ts +3 -12
- package/dist/prompts/project-item-prompts.d.ts.map +1 -1
- package/dist/prompts/project-item-prompts.js +3 -18
- package/dist/prompts/project-item-prompts.js.map +1 -1
- package/dist/services/claude.d.ts +12 -7
- package/dist/services/claude.d.ts.map +1 -1
- package/dist/services/claude.js +7 -4
- package/dist/services/claude.js.map +1 -1
- package/dist/services/config.d.ts +5 -0
- package/dist/services/config.d.ts.map +1 -1
- package/dist/services/config.js +9 -0
- package/dist/services/config.js.map +1 -1
- package/dist/services/git.d.ts +5 -0
- package/dist/services/git.d.ts.map +1 -1
- package/dist/services/git.js +15 -3
- package/dist/services/git.js.map +1 -1
- package/dist/services/github.d.ts +25 -7
- package/dist/services/github.d.ts.map +1 -1
- package/dist/services/github.js +23 -9
- package/dist/services/github.js.map +1 -1
- package/dist/services/os-launcher.d.ts +29 -0
- package/dist/services/os-launcher.d.ts.map +1 -0
- package/dist/services/os-launcher.js +104 -0
- package/dist/services/os-launcher.js.map +1 -0
- package/dist/services/platform.d.ts +17 -3
- package/dist/services/platform.d.ts.map +1 -1
- package/dist/services/platform.js +79 -7
- package/dist/services/platform.js.map +1 -1
- package/dist/services/repository-registry.d.ts +11 -0
- package/dist/services/repository-registry.d.ts.map +1 -0
- package/dist/services/repository-registry.js +43 -0
- package/dist/services/repository-registry.js.map +1 -0
- package/dist/services/setup.d.ts.map +1 -1
- package/dist/services/setup.js +21 -1
- package/dist/services/setup.js.map +1 -1
- package/dist/services/url-handler.d.ts +23 -0
- package/dist/services/url-handler.d.ts.map +1 -0
- package/dist/services/url-handler.js +236 -0
- package/dist/services/url-handler.js.map +1 -0
- package/dist/services/worktree.d.ts +1 -19
- package/dist/services/worktree.d.ts.map +1 -1
- package/dist/services/worktree.js +0 -34
- package/dist/services/worktree.js.map +1 -1
- package/dist/types/index.d.ts +27 -25
- package/dist/types/index.d.ts.map +1 -1
- package/dist/workflow/data/project-item.d.ts +4 -0
- package/dist/workflow/data/project-item.d.ts.map +1 -1
- package/dist/workflow/data/team-member.d.ts +14 -0
- package/dist/workflow/data/team-member.d.ts.map +1 -0
- package/dist/workflow/data/team-member.js +2 -0
- package/dist/workflow/data/team-member.js.map +1 -0
- package/dist/workflow/data/workflow-context.d.ts +1 -1
- package/dist/workflow/data/workflow-states.d.ts +11 -2
- package/dist/workflow/data/workflow-states.d.ts.map +1 -1
- package/dist/workflow/data/workflow-states.generated.d.ts +17 -0
- package/dist/workflow/data/workflow-states.generated.d.ts.map +1 -1
- package/dist/workflow/data/workflow-states.generated.js +41 -0
- package/dist/workflow/data/workflow-states.generated.js.map +1 -1
- package/dist/workflow/data/workflow-states.js +21 -1
- package/dist/workflow/data/workflow-states.js.map +1 -1
- package/dist/workflow/engine/agent-session.d.ts +16 -0
- package/dist/workflow/engine/agent-session.d.ts.map +1 -0
- package/dist/workflow/engine/agent-session.js +109 -0
- package/dist/workflow/engine/agent-session.js.map +1 -0
- package/dist/workflow/engine/approval-flow.d.ts +39 -5
- package/dist/workflow/engine/approval-flow.d.ts.map +1 -1
- package/dist/workflow/engine/approval-flow.js +156 -2
- package/dist/workflow/engine/approval-flow.js.map +1 -1
- package/dist/workflow/engine/handlers/agent-implementation.d.ts +5 -4
- package/dist/workflow/engine/handlers/agent-implementation.d.ts.map +1 -1
- package/dist/workflow/engine/handlers/agent-implementation.js +13 -19
- package/dist/workflow/engine/handlers/agent-implementation.js.map +1 -1
- package/dist/workflow/engine/handlers/dev-implementation.js +1 -1
- package/dist/workflow/engine/handlers/dev-implementation.js.map +1 -1
- package/dist/workflow/engine/handlers/ready-for-approval.d.ts +7 -6
- package/dist/workflow/engine/handlers/ready-for-approval.d.ts.map +1 -1
- package/dist/workflow/engine/handlers/ready-for-approval.js +17 -19
- package/dist/workflow/engine/handlers/ready-for-approval.js.map +1 -1
- package/dist/workflow/engine/release-engine.d.ts +16 -5
- package/dist/workflow/engine/release-engine.d.ts.map +1 -1
- package/dist/workflow/engine/release-engine.js +81 -9
- package/dist/workflow/engine/release-engine.js.map +1 -1
- package/dist/workflow/engine/ship-flow.d.ts +15 -4
- package/dist/workflow/engine/ship-flow.d.ts.map +1 -1
- package/dist/workflow/engine/ship-flow.js +80 -21
- package/dist/workflow/engine/ship-flow.js.map +1 -1
- package/dist/workflow/engine/workflow-engine.d.ts +52 -16
- package/dist/workflow/engine/workflow-engine.d.ts.map +1 -1
- package/dist/workflow/engine/workflow-engine.js +146 -31
- package/dist/workflow/engine/workflow-engine.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next-workflow-step.js","sourceRoot":"","sources":["../../src/commands/next-workflow-step.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"next-workflow-step.js","sourceRoot":"","sources":["../../src/commands/next-workflow-step.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ready-for-approval.d.ts","sourceRoot":"","sources":["../../src/commands/ready-for-approval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ready-for-approval.d.ts","sourceRoot":"","sources":["../../src/commands/ready-for-approval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAQjD,eAAO,MAAM,uBAAuB,EAAE,OA0CrC,CAAC"}
|
|
@@ -1,78 +1,16 @@
|
|
|
1
|
-
import { logger } from '../lib/logger.js';
|
|
2
|
-
import { promptInput } from '../lib/prompt.js';
|
|
3
|
-
import { readBranchSettings } from '../lib/settings.js';
|
|
4
1
|
import { WorkflowStates } from '../workflow/data/workflow-states.js';
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import * as worktree from '../services/worktree.js';
|
|
8
|
-
import { ensurePrReadyForApproval } from '../workflow/engine/approval-flow.js';
|
|
9
|
-
import { validateSourceBranch } from '../workflow/engine/release-engine.js';
|
|
10
|
-
import { advanceAsNeededTo, resolveTarget } from '../workflow/engine/workflow-engine.js';
|
|
2
|
+
import { readyForApprovalOnBranchWithNoItem, resolveApproverForBranch } from '../workflow/engine/approval-flow.js';
|
|
3
|
+
import { advanceOrReenter, resolveTarget } from '../workflow/engine/workflow-engine.js';
|
|
11
4
|
import { runForTargets, targetOption } from '../jobs/targets.js';
|
|
12
5
|
import { deferredHandlerOptions } from '../workflow/engine/handlers/index.js';
|
|
13
6
|
import { readyForApprovalHandler } from '../workflow/engine/handlers/ready-for-approval.js';
|
|
14
|
-
/**
|
|
15
|
-
* Stage 1 for a branch with no project item - an integration branch carrying approved work items,
|
|
16
|
-
* for instance: the PR into the base branch is opened when the branch has none, with the approval
|
|
17
|
-
* chain of what it carries as its body, and gets its assignee. No workflow status is recorded.
|
|
18
|
-
*/
|
|
19
|
-
async function readyForApprovalOnBranchWithNoItem(branchName, resolved) {
|
|
20
|
-
await github.ensureGitHubCli();
|
|
21
|
-
const existingPr = await github.getPrInfo(branchName);
|
|
22
|
-
const openPr = existingPr && existingPr.state.toUpperCase() === 'OPEN' ? existingPr : null;
|
|
23
|
-
const requestedBase = resolved['base-branch'] || null;
|
|
24
|
-
const targetBranch = openPr?.baseRefName ?? requestedBase ?? await worktree.resolveBaseBranch();
|
|
25
|
-
if (openPr?.baseRefName && requestedBase && openPr.baseRefName !== requestedBase) {
|
|
26
|
-
logger.warning(`PR #${openPr.number} targets ${openPr.baseRefName}; --base-branch ${requestedBase} is ignored. Retarget the PR in GitHub if that is wrong.`);
|
|
27
|
-
}
|
|
28
|
-
if (branchName === targetBranch) {
|
|
29
|
-
throw new Error(`${targetBranch} is the branch changes are approved into, not a change to approve. Pass --target <the branch, item or PR to approve>.`);
|
|
30
|
-
}
|
|
31
|
-
const releaseTargetBranch = (await readBranchSettings(await git.getRepoRoot())).releaseTargetBranch;
|
|
32
|
-
if (targetBranch === releaseTargetBranch) {
|
|
33
|
-
throw new Error(`A change is approved into ${await worktree.resolveBaseBranch()}, never straight into ${releaseTargetBranch}; ` +
|
|
34
|
-
'use idea1 release for that (change-management-policy.md clause 2).');
|
|
35
|
-
}
|
|
36
|
-
logger.header(`Ready for approval: ${branchName} -> ${targetBranch}`);
|
|
37
|
-
logger.info('This branch has no project item, so no workflow status is recorded.');
|
|
38
|
-
logger.newline();
|
|
39
|
-
if (!await git.fetchRemoteBranch(branchName)) {
|
|
40
|
-
throw new Error(`Branch ${branchName} is not on origin. Push it first: git push -u origin ${branchName}`);
|
|
41
|
-
}
|
|
42
|
-
// A local checkout of the branch (the working directory, once the target is resolved) must
|
|
43
|
-
// carry exactly what origin has; a branch with no checkout here is what origin has.
|
|
44
|
-
if (await git.getCheckoutPathForBranch(branchName)) {
|
|
45
|
-
await validateSourceBranch(branchName);
|
|
46
|
-
}
|
|
47
|
-
const title = openPr ? '' : (resolved['title'] || await promptPrTitle(branchName));
|
|
48
|
-
await ensurePrReadyForApproval({
|
|
49
|
-
branchName,
|
|
50
|
-
baseBranch: targetBranch,
|
|
51
|
-
assignee: resolved['assignee'],
|
|
52
|
-
reviewers: resolved['reviewers'] ?? '',
|
|
53
|
-
createWhenMissing: openPr ? null : { title }
|
|
54
|
-
});
|
|
55
|
-
logger.newline();
|
|
56
|
-
logger.success('PR is ready for approval');
|
|
57
|
-
logger.hint(`The assignee approves it by running: idea1 approve-pr --target ${branchName} (which merges it)`);
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* The PR title, defaulting to `Integration <name> <date>` for an integration branch and to the
|
|
61
|
-
* branch name otherwise.
|
|
62
|
-
*/
|
|
63
|
-
async function promptPrTitle(branchName) {
|
|
64
|
-
const integrationBranches = await worktree.listExistingIntegrationBranches();
|
|
65
|
-
const defaultTitle = integrationBranches.includes(branchName)
|
|
66
|
-
? `Integration ${await worktree.extractIntegrationName(branchName)} ${new Date().toISOString().split('T')[0]}`
|
|
67
|
-
: branchName;
|
|
68
|
-
return promptInput('Enter PR title:', { default: defaultTitle });
|
|
69
|
-
}
|
|
70
7
|
export const readyForApprovalCommand = {
|
|
71
8
|
name: 'ready-for-approval',
|
|
72
9
|
aliases: ['rfa'],
|
|
73
|
-
description: 'Mark PRs ready for approval
|
|
10
|
+
description: 'Mark PRs ready for approval, assigned to the teammate who approves them - project items (assigned to that teammate too, advancing each through every state before it) or branches with no item; several run in parallel',
|
|
74
11
|
options: [
|
|
75
12
|
targetOption(true),
|
|
13
|
+
// The assignee is asked for by the engine (for an item) or once the branch is known (for a branch with no item).
|
|
76
14
|
...(readyForApprovalHandler.options ?? []),
|
|
77
15
|
{
|
|
78
16
|
longName: 'base-branch',
|
|
@@ -95,10 +33,12 @@ export const readyForApprovalCommand = {
|
|
|
95
33
|
await runForTargets(readyForApprovalCommand, resolved, {
|
|
96
34
|
advancesTo: () => WorkflowStates.NeedsApprovalForRelease,
|
|
97
35
|
itemlessBranches: true,
|
|
36
|
+
resolveOptionsForBranch: resolveApproverForBranch,
|
|
98
37
|
run: async (target) => {
|
|
99
38
|
const resolvedTarget = await resolveTarget({ target, options: resolved });
|
|
100
39
|
if (resolvedTarget.kind === 'item') {
|
|
101
|
-
|
|
40
|
+
// An item already awaiting approval re-enters the state, so its PR gets the assignee named now.
|
|
41
|
+
await advanceOrReenter(resolvedTarget.transition, WorkflowStates.NeedsApprovalForRelease);
|
|
102
42
|
return;
|
|
103
43
|
}
|
|
104
44
|
await readyForApprovalOnBranchWithNoItem(resolvedTarget.branchName, resolved);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ready-for-approval.js","sourceRoot":"","sources":["../../src/commands/ready-for-approval.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ready-for-approval.js","sourceRoot":"","sources":["../../src/commands/ready-for-approval.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,kCAAkC,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AACnH,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAE5F,MAAM,CAAC,MAAM,uBAAuB,GAAY;IAC9C,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,CAAC,KAAK,CAAC;IAChB,WAAW,EAAE,yNAAyN;IACtO,OAAO,EAAE;QACP,YAAY,CAAC,IAAI,CAAC;QAClB,iHAAiH;QACjH,GAAG,CAAC,uBAAuB,CAAC,OAAO,IAAI,EAAE,CAAC;QAC1C;YACE,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE,GAAG;YACd,WAAW,EAAE,2HAA2H;YACxI,YAAY,EAAE,EAAE;YAChB,uBAAuB,EAAE,KAAK;SAC/B;QACD;YACE,QAAQ,EAAE,OAAO;YACjB,WAAW,EAAE,mFAAmF;YAChG,YAAY,EAAE,EAAE;YAChB,uBAAuB,EAAE,KAAK;SAC/B;QACD,4FAA4F;QAC5F,eAAe;QACf,GAAG,sBAAsB,CAAC,uBAAuB,CAAC,OAAO,IAAI,EAAE,CAAC;KACjE;IAED,KAAK,CAAC,OAAO,CAAC,QAAgC;QAC5C,MAAM,aAAa,CAAC,uBAAuB,EAAE,QAAQ,EAAE;YACrD,UAAU,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,uBAAuB;YACxD,gBAAgB,EAAE,IAAI;YACtB,uBAAuB,EAAE,wBAAwB;YACjD,GAAG,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;gBAClB,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC1E,IAAI,cAAc,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACnC,gGAAgG;oBAChG,MAAM,gBAAgB,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,uBAAuB,CAAC,CAAC;oBAC1F,OAAO;gBACT,CAAC;gBACD,MAAM,kCAAkC,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAChF,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../src/commands/release.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../src/commands/release.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAgOjD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,EAAE,OAoH5B,CAAC"}
|
package/dist/commands/release.js
CHANGED
|
@@ -9,7 +9,7 @@ import { TARGET_OPTION_NAME, parseTargets, prepareTargetRuns, promptForTargets }
|
|
|
9
9
|
import { WorkflowStates } from '../workflow/data/workflow-states.js';
|
|
10
10
|
import { mergeConfirmationOption } from '../workflow/engine/approval-flow.js';
|
|
11
11
|
import { approvePrCommand } from './approve-pr.js';
|
|
12
|
-
import { PR_MODE_OPTION, RELEASE_KIND, VERSION_BUMP_TYPES, approveRelease, commitVersionBumps, createGatedPr, detectPendingVersionBumps, runPrMode, validateSourceBranch } from '../workflow/engine/release-engine.js';
|
|
12
|
+
import { PR_MODE_OPTION, RELEASE_KIND, VERSION_BUMP_TYPES, approveRelease, commitVersionBumps, createGatedPr, detectPendingVersionBumps, ensureReleasable, runPrMode, validateSourceBranch } from '../workflow/engine/release-engine.js';
|
|
13
13
|
/**
|
|
14
14
|
* Resolve the release branch (source branch)
|
|
15
15
|
*/
|
|
@@ -62,8 +62,8 @@ function parseBumpsOption(value) {
|
|
|
62
62
|
* The versioned packages that need a bump for the release, with the bump type of each: from
|
|
63
63
|
* `--bumps`, else asked. Counts the changes of `incomingBranches`, the branches approved into the
|
|
64
64
|
* release branch before it is released, as the release's own. None when the repository declares no
|
|
65
|
-
* versioned packages
|
|
66
|
-
* release PR, which may already be approved.
|
|
65
|
+
* versioned packages. The caller has already refused a release with a PR open, so a bump is never
|
|
66
|
+
* made onto an open release PR, which may already be approved.
|
|
67
67
|
*/
|
|
68
68
|
async function resolvePendingBumps(sourceBranch, targetBranch, requestedBumps, incomingBranches) {
|
|
69
69
|
const settings = await readReleaseSettings(await git.getRepoRoot());
|
|
@@ -79,11 +79,6 @@ async function resolvePendingBumps(sourceBranch, targetBranch, requestedBumps, i
|
|
|
79
79
|
throw new Error(`--bumps names unknown package(s): ${unknownNames.join(', ')}. ` +
|
|
80
80
|
`The versioned packages are: ${knownNames.join(', ')}.`);
|
|
81
81
|
}
|
|
82
|
-
if (await github.checkPrExists(sourceBranch, targetBranch)) {
|
|
83
|
-
logger.dim('A release PR is already open, so no version bump is made onto it');
|
|
84
|
-
logger.newline();
|
|
85
|
-
return { pending: [], bumps: {} };
|
|
86
|
-
}
|
|
87
82
|
logger.step('Checking which versioned packages changed since the last release...');
|
|
88
83
|
const pending = await detectPendingVersionBumps(settings.versionedPackages, sourceBranch, targetBranch, incomingBranches);
|
|
89
84
|
if (pending.length === 0) {
|
|
@@ -134,9 +129,11 @@ async function releaseWithApprovals(sourceBranch, targetBranch, targets, resolve
|
|
|
134
129
|
logger.newline();
|
|
135
130
|
// The release runs in this checkout once the approvals have merged, so it must be fit for that now.
|
|
136
131
|
await validateSourceBranch(sourceBranch);
|
|
132
|
+
await ensureReleasable(sourceBranch, targetBranch);
|
|
137
133
|
const { runs, summaries } = await prepareTargetRuns(approvePrCommand, targets, resolved, {
|
|
138
134
|
advancesTo: () => WorkflowStates.ApprovedAndMerged,
|
|
139
|
-
itemlessBranches: true
|
|
135
|
+
itemlessBranches: true,
|
|
136
|
+
resolveOptionsForBranch: null
|
|
140
137
|
});
|
|
141
138
|
const { bumps } = await resolvePendingBumps(sourceBranch, targetBranch, parseBumpsOption(resolved['bumps']), summaries.flatMap(summary => summary.branchName ? [summary.branchName] : []));
|
|
142
139
|
const title = resolved['title'] || await promptPrTitle();
|
|
@@ -252,6 +249,7 @@ export const releaseCommand = {
|
|
|
252
249
|
logger.header(`Release: ${sourceBranch} -> ${targetBranch}`);
|
|
253
250
|
logger.newline();
|
|
254
251
|
await validateSourceBranch(sourceBranch);
|
|
252
|
+
await ensureReleasable(sourceBranch, targetBranch);
|
|
255
253
|
await bumpPendingVersions(sourceBranch, targetBranch, parseBumpsOption(resolved['bumps']));
|
|
256
254
|
const prTitle = titleArg ?? await promptPrTitle();
|
|
257
255
|
logger.info(`Using title: ${prTitle}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release.js","sourceRoot":"","sources":["../../src/commands/release.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"release.js","sourceRoot":"","sources":["../../src/commands/release.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,8 @@ import type { Command } from '../types/index.js';
|
|
|
3
3
|
* `start --carry-local-changes --approve-and-merge` with nothing asked beyond what a new item
|
|
4
4
|
* needs (its title and Project): the uncommitted changes of the base branch checkout become a
|
|
5
5
|
* project item's branch and PR, which merges into the base branch once the required checks pass.
|
|
6
|
+
* With the title left blank no item is created: the changes become a branch with no project item,
|
|
7
|
+
* which goes through the same approval and merge.
|
|
6
8
|
*/
|
|
7
9
|
export declare const shipLocalChangesCommand: Command;
|
|
8
10
|
//# sourceMappingURL=ship-local-changes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ship-local-changes.d.ts","sourceRoot":"","sources":["../../src/commands/ship-local-changes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ship-local-changes.d.ts","sourceRoot":"","sources":["../../src/commands/ship-local-changes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAajD;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,EAAE,OA8CrC,CAAC"}
|
|
@@ -1,21 +1,38 @@
|
|
|
1
1
|
import { isolationModeOption } from '../lib/isolation.js';
|
|
2
2
|
import { branchCreationOptions } from '../workflow/engine/branch-setup.js';
|
|
3
|
-
import { approveAndMergeOption, carryLocalChangesOption, commitMessageOption, unpromptedReviewersOption } from '../workflow/engine/ship-flow.js';
|
|
3
|
+
import { approveAndMergeOption, carryLocalChangesOption, commitMessageOption, shipWithoutItem, unpromptedReviewersOption } from '../workflow/engine/ship-flow.js';
|
|
4
4
|
import { TARGET_OPTION_NAME } from '../jobs/targets.js';
|
|
5
5
|
import { projectItemTargetOptions, startProjectItem } from './start.js';
|
|
6
6
|
/**
|
|
7
7
|
* `start --carry-local-changes --approve-and-merge` with nothing asked beyond what a new item
|
|
8
8
|
* needs (its title and Project): the uncommitted changes of the base branch checkout become a
|
|
9
9
|
* project item's branch and PR, which merges into the base branch once the required checks pass.
|
|
10
|
+
* With the title left blank no item is created: the changes become a branch with no project item,
|
|
11
|
+
* which goes through the same approval and merge.
|
|
10
12
|
*/
|
|
11
13
|
export const shipLocalChangesCommand = {
|
|
12
14
|
name: 'ship-local-changes',
|
|
13
15
|
aliases: ['ship'],
|
|
14
|
-
description: 'Ship the uncommitted changes of your base branch checkout: create a project item and its branch, commit and push the changes there, and advance it through approval, merging its PR once the checks pass',
|
|
16
|
+
description: 'Ship the uncommitted changes of your base branch checkout: create a project item (optional) and its branch, commit and push the changes there, and advance it through approval, merging its PR once the checks pass',
|
|
15
17
|
options: [
|
|
16
|
-
...projectItemTargetOptions.map(option =>
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
...projectItemTargetOptions.map(option => {
|
|
19
|
+
switch (option.longName) {
|
|
20
|
+
case TARGET_OPTION_NAME:
|
|
21
|
+
return { ...option, description: 'Project item URL, or its branch name or PR URL (default: create a new item)', promptWhenDefaultExists: false };
|
|
22
|
+
case 'title':
|
|
23
|
+
return {
|
|
24
|
+
...option,
|
|
25
|
+
description: 'Title for the new project item (leave blank to ship without a project item)',
|
|
26
|
+
defaultValue: '',
|
|
27
|
+
promptWhenDefaultExists: true,
|
|
28
|
+
validate: undefined
|
|
29
|
+
};
|
|
30
|
+
case 'project':
|
|
31
|
+
return { ...option, dependsOn: (resolved) => !resolved[TARGET_OPTION_NAME] && !!resolved['title'].trim() };
|
|
32
|
+
default:
|
|
33
|
+
return option;
|
|
34
|
+
}
|
|
35
|
+
}),
|
|
19
36
|
...branchCreationOptions
|
|
20
37
|
.filter(option => option.longName !== 'workflow-type')
|
|
21
38
|
.map(option => ({ ...option, dependsOn: undefined, defaultValue: '', promptWhenDefaultExists: false })),
|
|
@@ -24,6 +41,14 @@ export const shipLocalChangesCommand = {
|
|
|
24
41
|
unpromptedReviewersOption
|
|
25
42
|
],
|
|
26
43
|
async execute(resolved) {
|
|
44
|
+
if (!resolved[TARGET_OPTION_NAME].trim() && !resolved['title'].trim()) {
|
|
45
|
+
const sourcePath = resolved['source-path'];
|
|
46
|
+
if (sourcePath) {
|
|
47
|
+
process.chdir(sourcePath);
|
|
48
|
+
}
|
|
49
|
+
await shipWithoutItem(resolved);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
27
52
|
await startProjectItem({
|
|
28
53
|
...resolved,
|
|
29
54
|
[carryLocalChangesOption.longName]: 'true',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ship-local-changes.js","sourceRoot":"","sources":["../../src/commands/ship-local-changes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAExE
|
|
1
|
+
{"version":3,"file":"ship-local-changes.js","sourceRoot":"","sources":["../../src/commands/ship-local-changes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,yBAAyB,EAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAExE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAY;IAC9C,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,CAAC,MAAM,CAAC;IACjB,WAAW,EAAE,qNAAqN;IAClO,OAAO,EAAE;QACP,GAAG,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACvC,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACxB,KAAK,kBAAkB;oBACrB,OAAO,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,6EAA6E,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC;gBACnJ,KAAK,OAAO;oBACV,OAAO;wBACL,GAAG,MAAM;wBACT,WAAW,EAAE,6EAA6E;wBAC1F,YAAY,EAAE,EAAE;wBAChB,uBAAuB,EAAE,IAAI;wBAC7B,QAAQ,EAAE,SAAS;qBACpB,CAAC;gBACJ,KAAK,SAAS;oBACZ,OAAO,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,CAAC,QAAgC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrI;oBACE,OAAO,MAAM,CAAC;YAClB,CAAC;QACH,CAAC,CAAC;QACF,GAAG,qBAAqB;aACrB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,eAAe,CAAC;aACrD,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC,CAAC;QACzG,mBAAmB;QACnB,EAAE,GAAG,mBAAmB,EAAE,WAAW,EAAE,iDAAiD,EAAE,YAAY,EAAE,UAAU,EAAE,uBAAuB,EAAE,KAAK,EAAE;QACpJ,yBAAyB;KAC1B;IAED,KAAK,CAAC,OAAO,CAAC,QAAgC;QAC5C,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACtE,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC3C,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC5B,CAAC;YACD,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QACD,MAAM,gBAAgB,CAAC;YACrB,GAAG,QAAQ;YACX,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,MAAM;YAC1C,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM;SACzC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-agent-implementation.d.ts","sourceRoot":"","sources":["../../src/commands/start-agent-implementation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"start-agent-implementation.d.ts","sourceRoot":"","sources":["../../src/commands/start-agent-implementation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAUjD,eAAO,MAAM,+BAA+B,EAAE,OAgD7C,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { WorkflowStates, isStateAtOrAfter } from '../workflow/data/workflow-stat
|
|
|
4
4
|
import { branchCreationOptions } from '../workflow/engine/branch-setup.js';
|
|
5
5
|
import { advanceAsNeededTo, reenterState, resolveTransition } from '../workflow/engine/workflow-engine.js';
|
|
6
6
|
import { agentImplementationHandler } from '../workflow/engine/handlers/agent-implementation.js';
|
|
7
|
+
import { assigneeOption } from '../workflow/engine/approval-flow.js';
|
|
7
8
|
import { projectItemTargetOptions, resolveOrCreateProjectItem } from './start.js';
|
|
8
9
|
export const startAgentImplementationCommand = {
|
|
9
10
|
name: 'start-agent-implementation',
|
|
@@ -13,7 +14,9 @@ export const startAgentImplementationCommand = {
|
|
|
13
14
|
options: [
|
|
14
15
|
...projectItemTargetOptions,
|
|
15
16
|
...branchCreationOptions,
|
|
16
|
-
...(agentImplementationHandler.options ?? [])
|
|
17
|
+
...(agentImplementationHandler.options ?? []),
|
|
18
|
+
// The states on the way take an optional assignment; the engine asks for it.
|
|
19
|
+
assigneeOption
|
|
17
20
|
],
|
|
18
21
|
async execute(resolved) {
|
|
19
22
|
const sourcePath = resolved['source-path'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-agent-implementation.js","sourceRoot":"","sources":["../../src/commands/start-agent-implementation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC3G,OAAO,EAAE,0BAA0B,EAAE,MAAM,qDAAqD,CAAC;AACjG,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAElF,MAAM,CAAC,MAAM,+BAA+B,GAAY;IACtD,IAAI,EAAE,4BAA4B;IAClC,gFAAgF;IAChF,OAAO,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,oBAAoB,CAAC;IACnD,WAAW,EAAE,sKAAsK;IACnL,OAAO,EAAE;QACP,GAAG,wBAAwB;QAC3B,GAAG,qBAAqB;QACxB,GAAG,CAAC,0BAA0B,CAAC,OAAO,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"start-agent-implementation.js","sourceRoot":"","sources":["../../src/commands/start-agent-implementation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC3G,OAAO,EAAE,0BAA0B,EAAE,MAAM,qDAAqD,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAElF,MAAM,CAAC,MAAM,+BAA+B,GAAY;IACtD,IAAI,EAAE,4BAA4B;IAClC,gFAAgF;IAChF,OAAO,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,oBAAoB,CAAC;IACnD,WAAW,EAAE,sKAAsK;IACnL,OAAO,EAAE;QACP,GAAG,wBAAwB;QAC3B,GAAG,qBAAqB;QACxB,GAAG,CAAC,0BAA0B,CAAC,OAAO,IAAI,EAAE,CAAC;QAC7C,6EAA6E;QAC7E,cAAc;KACf;IAED,KAAK,CAAC,OAAO,CAAC,QAAgC;QAC5C,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC3C,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QAE1F,IAAI,UAAU,CAAC,YAAY,IAAI,gBAAgB,CAAC,UAAU,CAAC,YAAY,EAAE,cAAc,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC3G,MAAM,IAAI,KAAK,CACb,GAAG,cAAc,iDAAiD,UAAU,CAAC,YAAY,KAAK;gBAC9F,yCAAyC,cAAc,oCAAoC,CAC5F,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAEvC,IAAI,UAAU,CAAC,YAAY,KAAK,cAAc,CAAC,mBAAmB,EAAE,CAAC;YACnE,mGAAmG;YACnG,MAAM,QAAQ,GAAG,MAAM,aAAa,CAClC,GAAG,cAAc,sGAAsG,EACvH,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;YACF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;gBAC/C,OAAO;YACT,CAAC;YAED,MAAM,YAAY,CAAC,UAAU,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QAED,MAAM,iBAAiB,CAAC,UAAU,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAC1E,CAAC;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-dev-implementation.d.ts","sourceRoot":"","sources":["../../src/commands/start-dev-implementation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAMjD,eAAO,MAAM,6BAA6B,EAAE,
|
|
1
|
+
{"version":3,"file":"start-dev-implementation.d.ts","sourceRoot":"","sources":["../../src/commands/start-dev-implementation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAMjD,eAAO,MAAM,6BAA6B,EAAE,OA6B3C,CAAC"}
|
|
@@ -25,6 +25,7 @@ export const startDevImplementationCommand = {
|
|
|
25
25
|
await runForTargets(startDevImplementationCommand, resolved, {
|
|
26
26
|
advancesTo: () => WorkflowStates.DevImplementation,
|
|
27
27
|
itemlessBranches: false,
|
|
28
|
+
resolveOptionsForBranch: null,
|
|
28
29
|
run: async (target) => advanceAsNeededTo(await resolveTransition({ target, options: resolved }), WorkflowStates.DevImplementation)
|
|
29
30
|
});
|
|
30
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-dev-implementation.js","sourceRoot":"","sources":["../../src/commands/start-dev-implementation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEjE,MAAM,CAAC,MAAM,6BAA6B,GAAY;IACpD,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE,CAAC,KAAK,CAAC;IAChB,WAAW,EAAE,uLAAuL;IACpM,OAAO,EAAE;QACP,YAAY,CAAC,KAAK,CAAC;QACnB;YACE,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE,GAAG;YACd,WAAW,EAAE,4BAA4B;YACzC,YAAY,EAAE,EAAE;YAChB,uBAAuB,EAAE,KAAK;SAC/B;QACD,GAAG,sBAAsB,CAAC,EAAE,CAAC;KAC9B;IAED,KAAK,CAAC,OAAO,CAAC,QAAgC;QAC5C,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC3C,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,aAAa,CAAC,6BAA6B,EAAE,QAAQ,EAAE;YAC3D,UAAU,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,iBAAiB;YAClD,gBAAgB,EAAE,KAAK;YACvB,GAAG,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE,CAAC,iBAAiB,CAAC,MAAM,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,cAAc,CAAC,iBAAiB,CAAC;SACjI,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"start-dev-implementation.js","sourceRoot":"","sources":["../../src/commands/start-dev-implementation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEjE,MAAM,CAAC,MAAM,6BAA6B,GAAY;IACpD,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE,CAAC,KAAK,CAAC;IAChB,WAAW,EAAE,uLAAuL;IACpM,OAAO,EAAE;QACP,YAAY,CAAC,KAAK,CAAC;QACnB;YACE,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE,GAAG;YACd,WAAW,EAAE,4BAA4B;YACzC,YAAY,EAAE,EAAE;YAChB,uBAAuB,EAAE,KAAK;SAC/B;QACD,GAAG,sBAAsB,CAAC,EAAE,CAAC;KAC9B;IAED,KAAK,CAAC,OAAO,CAAC,QAAgC;QAC5C,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC3C,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,aAAa,CAAC,6BAA6B,EAAE,QAAQ,EAAE;YAC3D,UAAU,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,iBAAiB;YAClD,gBAAgB,EAAE,KAAK;YACvB,uBAAuB,EAAE,IAAI;YAC7B,GAAG,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE,CAAC,iBAAiB,CAAC,MAAM,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,cAAc,CAAC,iBAAiB,CAAC;SACjI,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAsBhE;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,aAAa,EAsCnD,CAAC;AAEF;;;GAGG;AACH,wBAAsB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAclG;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA6CtF;AAED,eAAO,MAAM,YAAY,EAAE,OAiB1B,CAAC"}
|
package/dist/commands/start.js
CHANGED
|
@@ -4,6 +4,7 @@ import * as git from '../services/git.js';
|
|
|
4
4
|
import * as platform from '../services/platform.js';
|
|
5
5
|
import * as worktree from '../services/worktree.js';
|
|
6
6
|
import { WorkflowStates } from '../workflow/data/workflow-states.js';
|
|
7
|
+
import { assigneeOption } from '../workflow/engine/approval-flow.js';
|
|
7
8
|
import { advanceAsNeededTo, readTarget, requireLiveContext, resolveTransition } from '../workflow/engine/workflow-engine.js';
|
|
8
9
|
import { TARGET_OPTION_NAME, parseTargets } from '../jobs/targets.js';
|
|
9
10
|
import { approveAndMerge, approveAndMergeOption, approvesAndMerges, branchCreationOptionsWithCarrying, carriesLocalChanges, carryLocalChanges, carryLocalChangesOption, findLocalChanges, shipOptions } from '../workflow/engine/ship-flow.js';
|
|
@@ -61,10 +62,10 @@ export async function resolveOrCreateProjectItem(resolved) {
|
|
|
61
62
|
return target;
|
|
62
63
|
}
|
|
63
64
|
const summary = await readTarget(target);
|
|
64
|
-
if (!summary.
|
|
65
|
+
if (!summary.item) {
|
|
65
66
|
throw new Error(`${summary.branchName} is not a project item's branch. Pass the project item URL, or leave the target blank to create a new item.`);
|
|
66
67
|
}
|
|
67
|
-
return summary.projectItemUrl;
|
|
68
|
+
return summary.item.projectItemUrl;
|
|
68
69
|
}
|
|
69
70
|
/**
|
|
70
71
|
* Put a project item under workflow management, optionally carrying the uncommitted changes of the
|
|
@@ -119,7 +120,9 @@ export const startCommand = {
|
|
|
119
120
|
approveAndMergeOption,
|
|
120
121
|
...projectItemTargetOptions,
|
|
121
122
|
...branchCreationOptionsWithCarrying,
|
|
122
|
-
...shipOptions
|
|
123
|
+
...shipOptions,
|
|
124
|
+
// Entering the first state takes an optional assignment; the engine asks for it.
|
|
125
|
+
assigneeOption
|
|
123
126
|
],
|
|
124
127
|
async execute(resolved) {
|
|
125
128
|
await startProjectItem(resolved);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC7H,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,iCAAiC,EACjC,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,WAAW,EACZ,MAAM,iCAAiC,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAoB;IACvD;QACE,uEAAuE;QACvE,qCAAqC;QACrC,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE,mFAAmF;QAChG,YAAY,EAAE,EAAE;QAChB,uBAAuB,EAAE,IAAI;QAC7B,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,yDAAyD,CAAC,CAAC,CAAC,SAAS,CAAC;KACtI;IACD;QACE,0EAA0E;QAC1E,yEAAyE;QACzE,QAAQ,EAAE,OAAO;QACjB,SAAS,EAAE,GAAG;QACd,WAAW,EAAE,gCAAgC;QAC7C,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACtD,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAC1B,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,8CAA8C;KAC5E;IACD;QACE,yFAAyF;QACzF,6EAA6E;QAC7E,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,GAAG;QACd,WAAW,EAAE,+BAA+B;QAC5C,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACtD,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAC1B,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gDAAgD;KAC9E;IACD;QACE,QAAQ,EAAE,aAAa;QACvB,SAAS,EAAE,GAAG;QACd,WAAW,EAAE,0BAA0B;QACvC,YAAY,EAAE,EAAE;QAChB,uBAAuB,EAAE,KAAK;KAC/B;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,QAAgC;IAC/E,MAAM,MAAM,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,CAAC;IACnD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url-handler.d.ts","sourceRoot":"","sources":["../../src/commands/url-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAIjD,eAAO,MAAM,yBAAyB,EAAE,OAUvC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,OAUzC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,OAe5B,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { logger } from '../lib/logger.js';
|
|
2
|
+
import { openIdea1Url, registerUrlHandler, unregisterUrlHandler } from '../services/url-handler.js';
|
|
3
|
+
export const registerUrlHandlerCommand = {
|
|
4
|
+
name: 'register-url-handler',
|
|
5
|
+
aliases: [],
|
|
6
|
+
description: 'Register the CLI as this computer\'s handler of idea1:// links (done automatically whenever the CLI runs)',
|
|
7
|
+
options: [],
|
|
8
|
+
async execute() {
|
|
9
|
+
await registerUrlHandler();
|
|
10
|
+
logger.success('idea1:// links now open with this CLI.');
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
export const unregisterUrlHandlerCommand = {
|
|
14
|
+
name: 'unregister-url-handler',
|
|
15
|
+
aliases: [],
|
|
16
|
+
description: 'Remove the CLI\'s idea1:// link handler, and stop registering it automatically',
|
|
17
|
+
options: [],
|
|
18
|
+
async execute() {
|
|
19
|
+
await unregisterUrlHandler();
|
|
20
|
+
logger.success('idea1:// links no longer open with this CLI. Run \'idea1 register-url-handler\' to register it again.');
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
export const openUrlCommand = {
|
|
24
|
+
name: 'open-url',
|
|
25
|
+
aliases: [],
|
|
26
|
+
description: 'Open an idea1:// link: join the project item it names in a new terminal (run by the idea1:// link handler)',
|
|
27
|
+
options: [
|
|
28
|
+
{
|
|
29
|
+
longName: 'url',
|
|
30
|
+
description: 'The idea1:// link',
|
|
31
|
+
validate: (value) => (value.trim() ? undefined : 'An idea1:// link is required')
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
async execute(resolved) {
|
|
35
|
+
await openIdea1Url(resolved['url'].trim());
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=url-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url-handler.js","sourceRoot":"","sources":["../../src/commands/url-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEpG,MAAM,CAAC,MAAM,yBAAyB,GAAY;IAChD,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,2GAA2G;IACxH,OAAO,EAAE,EAAE;IAEX,KAAK,CAAC,OAAO;QACX,MAAM,kBAAkB,EAAE,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;IAC3D,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAY;IAClD,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,gFAAgF;IAC7F,OAAO,EAAE,EAAE;IAEX,KAAK,CAAC,OAAO;QACX,MAAM,oBAAoB,EAAE,CAAC;QAC7B,MAAM,CAAC,OAAO,CAAC,uGAAuG,CAAC,CAAC;IAC1H,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAY;IACrC,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,4GAA4G;IACzH,OAAO,EAAE;QACP;YACE,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,mBAAmB;YAChC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,8BAA8B,CAAC;SACzF;KACF;IAED,KAAK,CAAC,OAAO,CAAC,QAAgC;QAC5C,MAAM,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC"}
|
package/dist/jobs/targets.d.ts
CHANGED
|
@@ -26,6 +26,11 @@ export interface TargetCommandSpec {
|
|
|
26
26
|
advancesTo: (currentState: WorkflowState | null) => WorkflowState | null;
|
|
27
27
|
/** Whether the command also operates on a branch with no project item. */
|
|
28
28
|
itemlessBranches: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Ask for what a run on a branch with no project item needs that was not supplied, into the
|
|
31
|
+
* options every run gets; null when such a run needs nothing asked.
|
|
32
|
+
*/
|
|
33
|
+
resolveOptionsForBranch: ((options: Record<string, string>) => Promise<void>) | null;
|
|
29
34
|
/** Run the command on one target in this process; null is the current branch. */
|
|
30
35
|
run: (target: string | null) => Promise<void>;
|
|
31
36
|
}
|
|
@@ -54,5 +59,5 @@ export interface PreparedTargetRuns {
|
|
|
54
59
|
runs: RunSpec[];
|
|
55
60
|
summaries: TargetSummary[];
|
|
56
61
|
}
|
|
57
|
-
export declare function prepareTargetRuns(command: Command, targets: readonly string[], resolved: Record<string, string>, spec: Pick<TargetCommandSpec, 'advancesTo' | 'itemlessBranches'>): Promise<PreparedTargetRuns>;
|
|
62
|
+
export declare function prepareTargetRuns(command: Command, targets: readonly string[], resolved: Record<string, string>, spec: Pick<TargetCommandSpec, 'advancesTo' | 'itemlessBranches' | 'resolveOptionsForBranch'>): Promise<PreparedTargetRuns>;
|
|
58
63
|
//# sourceMappingURL=targets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"targets.d.ts","sourceRoot":"","sources":["../../src/jobs/targets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAQhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAU,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAEhD;;;;;GAKG;AAEH,yGAAyG;AACzG,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,gBAAgB,EAAE,OAAO,GAAG,aAAa,CASrE;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAEpD;AAED,MAAM,WAAW,iBAAiB;IAChC,kGAAkG;IAClG,UAAU,EAAE,CAAC,YAAY,EAAE,aAAa,GAAG,IAAI,KAAK,aAAa,GAAG,IAAI,CAAC;IACzE,0EAA0E;IAC1E,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iFAAiF;IACjF,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAa9H;AAaD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuBlF;AA+BD;;;;;;;GAOG;AACH,mFAAmF;AACnF,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,SAAS,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"targets.d.ts","sourceRoot":"","sources":["../../src/jobs/targets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAQhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAU,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAEhD;;;;;GAKG;AAEH,yGAAyG;AACzG,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,gBAAgB,EAAE,OAAO,GAAG,aAAa,CASrE;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAEpD;AAED,MAAM,WAAW,iBAAiB;IAChC,kGAAkG;IAClG,UAAU,EAAE,CAAC,YAAY,EAAE,aAAa,GAAG,IAAI,KAAK,aAAa,GAAG,IAAI,CAAC;IACzE,0EAA0E;IAC1E,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IACrF,iFAAiF;IACjF,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAa9H;AAaD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuBlF;AA+BD;;;;;;;GAOG;AACH,mFAAmF;AACnF,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,SAAS,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,kBAAkB,GAAG,yBAAyB,CAAC,GAC3F,OAAO,CAAC,kBAAkB,CAAC,CA0C7B"}
|
package/dist/jobs/targets.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
-
import {
|
|
2
|
+
import { CLAUDE_ENTRY_POINT_OPTION_NAME } from '../lib/claude-options.js';
|
|
3
3
|
import { isolationModeOption } from '../lib/isolation.js';
|
|
4
4
|
import { logger } from '../lib/logger.js';
|
|
5
5
|
import { promptConfirm, promptInput, promptMultiSelect } from '../lib/prompt.js';
|
|
@@ -126,18 +126,22 @@ export async function prepareTargetRuns(command, targets, resolved, spec) {
|
|
|
126
126
|
const options = {
|
|
127
127
|
...resolved,
|
|
128
128
|
[isolationModeOption.longName]: 'worktree',
|
|
129
|
-
[
|
|
129
|
+
[CLAUDE_ENTRY_POINT_OPTION_NAME]: 'none'
|
|
130
130
|
};
|
|
131
|
-
for (const summary of summaries
|
|
132
|
-
|
|
131
|
+
for (const summary of summaries) {
|
|
132
|
+
if (summary.item === null) {
|
|
133
|
+
await spec.resolveOptionsForBranch?.(options);
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
const targetState = spec.advancesTo(summary.item.currentState);
|
|
133
137
|
if (targetState) {
|
|
134
|
-
await resolveOptionsForAdvancing(summary.
|
|
138
|
+
await resolveOptionsForAdvancing(summary.item, targetState, options);
|
|
135
139
|
}
|
|
136
140
|
}
|
|
137
141
|
logger.newline();
|
|
138
142
|
logger.info(`${command.name} on ${summaries.length} targets, in parallel:`);
|
|
139
143
|
for (const summary of summaries) {
|
|
140
|
-
const where = summary.
|
|
144
|
+
const where = summary.item ? `${summary.item.currentState ?? '(not started)'} on ${summary.branchName}` : 'no project item';
|
|
141
145
|
logger.plain(` ${summary.label} ${chalk.dim(`(${where})`)}`);
|
|
142
146
|
}
|
|
143
147
|
logger.newline();
|
|
@@ -170,9 +174,9 @@ async function readTargets(targets, spec) {
|
|
|
170
174
|
const summary = result.value;
|
|
171
175
|
const { branchName } = summary;
|
|
172
176
|
if (!branchName) {
|
|
173
|
-
problems.push(`${target}: ${summary.label} has no live branch in this repository - start it first (idea1 start --target ${summary.projectItemUrl})`);
|
|
177
|
+
problems.push(`${target}: ${summary.label} has no live branch in this repository - start it first (idea1 start --target ${summary.item?.projectItemUrl})`);
|
|
174
178
|
}
|
|
175
|
-
else if (!summary.
|
|
179
|
+
else if (!summary.item && !spec.itemlessBranches) {
|
|
176
180
|
problems.push(`${target}: ${branchName} is not a project item's branch`);
|
|
177
181
|
}
|
|
178
182
|
else if (branches.has(branchName)) {
|