@idea1/cli 1.5.2 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +123 -92
- package/dist/commands/approve-pr.d.ts.map +1 -1
- package/dist/commands/approve-pr.js +7 -163
- package/dist/commands/approve-pr.js.map +1 -1
- package/dist/commands/attach-project-item.d.ts.map +1 -1
- package/dist/commands/attach-project-item.js +38 -89
- package/dist/commands/attach-project-item.js.map +1 -1
- package/dist/commands/close-worktree.d.ts.map +1 -1
- package/dist/commands/close-worktree.js +12 -9
- package/dist/commands/close-worktree.js.map +1 -1
- package/dist/commands/create-worktree.d.ts.map +1 -1
- package/dist/commands/create-worktree.js +3 -2
- package/dist/commands/create-worktree.js.map +1 -1
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +19 -14
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/index.d.ts +3 -2
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +5 -3
- 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 +38 -77
- 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 +66 -51
- package/dist/commands/next-workflow-step.js.map +1 -1
- package/dist/commands/push.d.ts.map +1 -1
- package/dist/commands/push.js +5 -3
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/ready-for-approval.d.ts.map +1 -1
- package/dist/commands/ready-for-approval.js +7 -66
- package/dist/commands/ready-for-approval.js.map +1 -1
- package/dist/commands/release.d.ts.map +1 -1
- package/dist/commands/release.js +5 -4
- package/dist/commands/release.js.map +1 -1
- package/dist/commands/start-agent-implementation.d.ts +3 -0
- package/dist/commands/start-agent-implementation.d.ts.map +1 -0
- package/dist/commands/start-agent-implementation.js +41 -0
- package/dist/commands/start-agent-implementation.js.map +1 -0
- package/dist/commands/start-dev-implementation.d.ts.map +1 -1
- package/dist/commands/start-dev-implementation.js +8 -55
- package/dist/commands/start-dev-implementation.js.map +1 -1
- package/dist/commands/start.d.ts +13 -0
- package/dist/commands/start.d.ts.map +1 -0
- package/dist/commands/start.js +81 -0
- package/dist/commands/start.js.map +1 -0
- package/dist/interactive.d.ts.map +1 -1
- package/dist/interactive.js +29 -9
- package/dist/interactive.js.map +1 -1
- package/dist/lib/claude-options.d.ts +33 -0
- package/dist/lib/claude-options.d.ts.map +1 -0
- package/dist/lib/claude-options.js +83 -0
- package/dist/lib/claude-options.js.map +1 -0
- package/dist/lib/settings.d.ts +18 -0
- package/dist/lib/settings.d.ts.map +1 -1
- package/dist/lib/settings.js +23 -5
- package/dist/lib/settings.js.map +1 -1
- package/dist/lib/workflow-states.d.ts +21 -3
- package/dist/lib/workflow-states.d.ts.map +1 -1
- package/dist/lib/workflow-states.generated.d.ts +21 -0
- package/dist/lib/workflow-states.generated.d.ts.map +1 -0
- package/dist/lib/workflow-states.generated.js +34 -0
- package/dist/lib/workflow-states.generated.js.map +1 -0
- package/dist/lib/workflow-states.js +47 -26
- package/dist/lib/workflow-states.js.map +1 -1
- package/dist/services/branch-setup.d.ts +42 -0
- package/dist/services/branch-setup.d.ts.map +1 -0
- package/dist/services/branch-setup.js +118 -0
- package/dist/services/branch-setup.js.map +1 -0
- package/dist/services/claude.d.ts +14 -4
- package/dist/services/claude.d.ts.map +1 -1
- package/dist/services/claude.js +39 -4
- package/dist/services/claude.js.map +1 -1
- package/dist/services/config.d.ts +3 -3
- package/dist/services/config.d.ts.map +1 -1
- package/dist/services/config.js +6 -4
- package/dist/services/config.js.map +1 -1
- package/dist/services/git.d.ts +66 -0
- package/dist/services/git.d.ts.map +1 -1
- package/dist/services/git.js +188 -8
- package/dist/services/git.js.map +1 -1
- package/dist/services/setup.d.ts +3 -1
- package/dist/services/setup.d.ts.map +1 -1
- package/dist/services/setup.js +19 -7
- package/dist/services/setup.js.map +1 -1
- package/dist/services/workflow-engine.d.ts +67 -0
- package/dist/services/workflow-engine.d.ts.map +1 -0
- package/dist/services/workflow-engine.js +371 -0
- package/dist/services/workflow-engine.js.map +1 -0
- package/dist/services/workflow-handlers/agent-implementation.d.ts +9 -0
- package/dist/services/workflow-handlers/agent-implementation.d.ts.map +1 -0
- package/dist/services/workflow-handlers/agent-implementation.js +37 -0
- package/dist/services/workflow-handlers/agent-implementation.js.map +1 -0
- package/dist/services/workflow-handlers/approve-pr.d.ts +8 -0
- package/dist/services/workflow-handlers/approve-pr.d.ts.map +1 -0
- package/dist/services/workflow-handlers/approve-pr.js +161 -0
- package/dist/services/workflow-handlers/approve-pr.js.map +1 -0
- package/dist/services/workflow-handlers/dev-implementation.d.ts +8 -0
- package/dist/services/workflow-handlers/dev-implementation.d.ts.map +1 -0
- package/dist/services/workflow-handlers/dev-implementation.js +34 -0
- package/dist/services/workflow-handlers/dev-implementation.js.map +1 -0
- package/dist/services/workflow-handlers/index.d.ts +18 -0
- package/dist/services/workflow-handlers/index.d.ts.map +1 -0
- package/dist/services/workflow-handlers/index.js +36 -0
- package/dist/services/workflow-handlers/index.js.map +1 -0
- package/dist/services/workflow-handlers/ready-for-approval.d.ts +8 -0
- package/dist/services/workflow-handlers/ready-for-approval.d.ts.map +1 -0
- package/dist/services/workflow-handlers/ready-for-approval.js +60 -0
- package/dist/services/workflow-handlers/ready-for-approval.js.map +1 -0
- package/dist/services/workflow.d.ts +1 -21
- package/dist/services/workflow.d.ts.map +1 -1
- package/dist/services/workflow.js +1 -67
- package/dist/services/workflow.js.map +1 -1
- package/dist/services/worktree.d.ts +23 -33
- package/dist/services/worktree.d.ts.map +1 -1
- package/dist/services/worktree.js +61 -140
- package/dist/services/worktree.js.map +1 -1
- package/dist/types/index.d.ts +41 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
- package/dist/commands/start-project-item.d.ts +0 -27
- package/dist/commands/start-project-item.d.ts.map +0 -1
- package/dist/commands/start-project-item.js +0 -325
- package/dist/commands/start-project-item.js.map +0 -1
package/dist/lib/settings.js
CHANGED
|
@@ -1,27 +1,45 @@
|
|
|
1
1
|
import { readFile } from 'fs/promises';
|
|
2
2
|
import { existsSync } from 'fs';
|
|
3
3
|
import { join } from 'path';
|
|
4
|
-
import { normalizeWorkflowState } from './workflow-states.js';
|
|
4
|
+
import { WorkflowStates, normalizeWorkflowState } from './workflow-states.js';
|
|
5
5
|
/**
|
|
6
6
|
* Settings files read from `.idea1/`, in increasing order of precedence.
|
|
7
7
|
* `settings.local.json` holds developer-specific overrides and is not committed.
|
|
8
8
|
*/
|
|
9
9
|
export const SETTINGS_FILES = ['settings.json', 'settings.local.json'];
|
|
10
|
+
/**
|
|
11
|
+
* The branch names used when neither the repository's settings nor the user's
|
|
12
|
+
* own configuration name one. This repository's own convention: `working/agent/*`
|
|
13
|
+
* branches onto `working/release`, released by merging into `main`.
|
|
14
|
+
*
|
|
15
|
+
* A repository states its own convention in `.idea1/settings.json` — DataFabrIQ
|
|
16
|
+
* customer repos are seeded with one naming `draft` as the branch work lands on.
|
|
17
|
+
*/
|
|
18
|
+
export const DEFAULT_BRANCH_SETTINGS = {
|
|
19
|
+
branchPrefix: 'working/agent',
|
|
20
|
+
baseBranch: 'working/release',
|
|
21
|
+
releaseBranch: 'working/release',
|
|
22
|
+
releaseTargetBranch: 'main',
|
|
23
|
+
integrationBranchPrefix: 'working/integration',
|
|
24
|
+
integrationBranchTemplate: '{prefix}/{name}-main',
|
|
25
|
+
integrationWorkBranchTemplate: '{prefix}/{name}/agent/{branchName}',
|
|
26
|
+
testCommand: 'npm run test'
|
|
27
|
+
};
|
|
10
28
|
/**
|
|
11
29
|
* Workflow states a worktree can be removed at, in the order they are reached.
|
|
12
30
|
* Removal happens on the first transition that reaches the configured state,
|
|
13
31
|
* so 'Agent Implementation' (where the worktree is created) is not a choice.
|
|
14
32
|
*/
|
|
15
33
|
export const REMOVE_WORKTREE_STATES = [
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
34
|
+
WorkflowStates.DevImplementation,
|
|
35
|
+
WorkflowStates.NeedsApprovalForRelease,
|
|
36
|
+
WorkflowStates.ApprovedAndMerged
|
|
19
37
|
];
|
|
20
38
|
/**
|
|
21
39
|
* Worktree removal point used when `defaults.removeWorktreeAtState` is not set:
|
|
22
40
|
* the worktree is removed by the `ready-for-approval` transition.
|
|
23
41
|
*/
|
|
24
|
-
export const DEFAULT_REMOVE_WORKTREE_AT_STATE =
|
|
42
|
+
export const DEFAULT_REMOVE_WORKTREE_AT_STATE = WorkflowStates.NeedsApprovalForRelease;
|
|
25
43
|
/**
|
|
26
44
|
* Read a single settings file, returning null when it is absent or unreadable
|
|
27
45
|
*/
|
package/dist/lib/settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/lib/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/lib/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9E;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAsB,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;AAE1F;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,YAAY,EAAE,eAAe;IAC7B,UAAU,EAAE,iBAAiB;IAC7B,aAAa,EAAE,iBAAiB;IAChC,mBAAmB,EAAE,MAAM;IAC3B,uBAAuB,EAAE,qBAAqB;IAC9C,yBAAyB,EAAE,sBAAsB;IACjD,6BAA6B,EAAE,oCAAoC;IACnE,WAAW,EAAE,cAAc;CACnB,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA6B;IAC9D,cAAc,CAAC,iBAAiB;IAChC,cAAc,CAAC,uBAAuB;IACtC,cAAc,CAAC,iBAAiB;CACjC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAkB,cAAc,CAAC,uBAAuB,CAAC;AAEtG;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAAC,IAAY;IAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAkB,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAgB;IACjD,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAC7E,CAAC;IAEF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;QACL,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE;QAC1C,QAAQ,EAAE,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE;KACpD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,QAAgB;IACzD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,QAAQ,EAAE,KAAK,EAAE,CAAC,gBAAgB,CAAC,CAAC;IACjD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IACD,wCAAwC;IACxC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAgB;IACpD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,QAAQ,EAAE,QAAQ,EAAE,YAAY,IAAI,IAAI,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,QAAgB;IAClD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,QAAQ,EAAE,QAAQ,EAAE,UAAU,IAAI,IAAI,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,QAAQ,EAAE,QAAQ,EAAE,WAAW,IAAI,IAAI,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IACrD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,QAAQ,EAAE,QAAQ,EAAE,aAAa,IAAI,IAAI,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,QAAgB;IAC3D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,QAAQ,EAAE,QAAQ,EAAE,mBAAmB,IAAI,IAAI,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,QAAgB;IAC7D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,kBAAkB,GAAG,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,CAAC;IAErE,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO,gCAAgC,CAAC;IAC1C,CAAC;IAED,MAAM,eAAe,GAAG,sBAAsB,CAAC,kBAAkB,CAAC,IAAI,kBAAkB,CAAC;IAEzF,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACtD,MAAM,WAAW,GAAG,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjF,MAAM,IAAI,KAAK,CACb,0CAA0C,eAAe,uCAAuC,WAAW,GAAG,CAC/G,CAAC;IACJ,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,QAAgB;IAC/D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,QAAQ,EAAE,QAAQ,EAAE,uBAAuB,IAAI,IAAI,CAAC;AAC7D,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,QAAgB;IACjE,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,QAAQ,EAAE,QAAQ,EAAE,yBAAyB,IAAI,IAAI,CAAC;AAC/D,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gCAAgC,CAAC,QAAgB;IACrE,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,QAAQ,EAAE,QAAQ,EAAE,6BAA6B,IAAI,IAAI,CAAC;AACnE,CAAC"}
|
|
@@ -1,12 +1,30 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type WorkflowState } from './workflow-states.generated.js';
|
|
2
|
+
export { WORKFLOW_STATES, WorkflowStates, LEGACY_WORKFLOW_STATE_ALIASES } from './workflow-states.generated.js';
|
|
3
|
+
export type { WorkflowState } from './workflow-states.generated.js';
|
|
2
4
|
/**
|
|
3
5
|
* Workflow states in the order they are reached
|
|
4
6
|
*/
|
|
5
7
|
export declare const WORKFLOW_STATE_ORDER: readonly WorkflowState[];
|
|
6
8
|
/**
|
|
7
9
|
* Normalize a stored workflow state value to a current WorkflowState.
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
+
* Accepts current names (case-insensitively, since older metadata files carry
|
|
11
|
+
* variants like "Dev implementation"), maps legacy state names to their current
|
|
12
|
+
* equivalents, and returns null for unrecognized values.
|
|
10
13
|
*/
|
|
11
14
|
export declare function normalizeWorkflowState(raw: string | null | undefined): WorkflowState | null;
|
|
15
|
+
/**
|
|
16
|
+
* The state that follows the given one in the workflow sequence. A null current
|
|
17
|
+
* state (an item that has never been started) advances to the first state; the
|
|
18
|
+
* last state has no successor.
|
|
19
|
+
*/
|
|
20
|
+
export declare function getNextWorkflowState(state: WorkflowState | null): WorkflowState | null;
|
|
21
|
+
/**
|
|
22
|
+
* The states strictly after `from` up to and including `to`, in workflow order.
|
|
23
|
+
* Throws when `to` is not later than `from`.
|
|
24
|
+
*/
|
|
25
|
+
export declare function getWorkflowStatesBetween(from: WorkflowState | null, to: WorkflowState): WorkflowState[];
|
|
26
|
+
/**
|
|
27
|
+
* Whether a workflow state is the target state or a later one in the sequence
|
|
28
|
+
*/
|
|
29
|
+
export declare function isStateAtOrAfter(state: WorkflowState, targetState: WorkflowState): boolean;
|
|
12
30
|
//# sourceMappingURL=workflow-states.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-states.d.ts","sourceRoot":"","sources":["../../src/lib/workflow-states.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"workflow-states.d.ts","sourceRoot":"","sources":["../../src/lib/workflow-states.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAChH,YAAY,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,aAAa,EAAoB,CAAC;AAE9E;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,aAAa,GAAG,IAAI,CAiB3F;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,aAAa,GAAG,IAAI,CAStF;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,EAAE,EAAE,EAAE,aAAa,GAAG,aAAa,EAAE,CASvG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,GAAG,OAAO,CAE1F"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** Every workflow state, in workflow order. */
|
|
2
|
+
export declare const WORKFLOW_STATES: readonly ["Build Spec in Progress", "Refinement - Build Spec", "Refinement - Implementation", "Ready for Agent Implementation", "Agent Implementation", "Dev Implementation", "Needs Approval for Release", "Approved and Merged", "Released"];
|
|
3
|
+
export type WorkflowState = (typeof WORKFLOW_STATES)[number];
|
|
4
|
+
/** The workflow states as named constants. */
|
|
5
|
+
export declare const WorkflowStates: {
|
|
6
|
+
readonly BuildSpecInProgress: "Build Spec in Progress";
|
|
7
|
+
readonly RefinementBuildSpec: "Refinement - Build Spec";
|
|
8
|
+
readonly RefinementImplementation: "Refinement - Implementation";
|
|
9
|
+
readonly ReadyForAgentImplementation: "Ready for Agent Implementation";
|
|
10
|
+
readonly AgentImplementation: "Agent Implementation";
|
|
11
|
+
readonly DevImplementation: "Dev Implementation";
|
|
12
|
+
readonly NeedsApprovalForRelease: "Needs Approval for Release";
|
|
13
|
+
readonly ApprovedAndMerged: "Approved and Merged";
|
|
14
|
+
readonly Released: "Released";
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Retired state names still found on older project items and branch metadata, mapped to their
|
|
18
|
+
* current equivalents. Keys are lowercase; compare case-insensitively.
|
|
19
|
+
*/
|
|
20
|
+
export declare const LEGACY_WORKFLOW_STATE_ALIASES: Readonly<Record<string, WorkflowState>>;
|
|
21
|
+
//# sourceMappingURL=workflow-states.generated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-states.generated.d.ts","sourceRoot":"","sources":["../../src/lib/workflow-states.generated.ts"],"names":[],"mappings":"AAEA,+CAA+C;AAC/C,eAAO,MAAM,eAAe,gPAUlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,8CAA8C;AAC9C,eAAO,MAAM,cAAc;;;;;;;;;;CAUjB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAGjF,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// AUTO-GENERATED — Do not edit. Modify shared-config/workflow-states.json instead.
|
|
2
|
+
/** Every workflow state, in workflow order. */
|
|
3
|
+
export const WORKFLOW_STATES = [
|
|
4
|
+
'Build Spec in Progress',
|
|
5
|
+
'Refinement - Build Spec',
|
|
6
|
+
'Refinement - Implementation',
|
|
7
|
+
'Ready for Agent Implementation',
|
|
8
|
+
'Agent Implementation',
|
|
9
|
+
'Dev Implementation',
|
|
10
|
+
'Needs Approval for Release',
|
|
11
|
+
'Approved and Merged',
|
|
12
|
+
'Released',
|
|
13
|
+
];
|
|
14
|
+
/** The workflow states as named constants. */
|
|
15
|
+
export const WorkflowStates = {
|
|
16
|
+
BuildSpecInProgress: 'Build Spec in Progress',
|
|
17
|
+
RefinementBuildSpec: 'Refinement - Build Spec',
|
|
18
|
+
RefinementImplementation: 'Refinement - Implementation',
|
|
19
|
+
ReadyForAgentImplementation: 'Ready for Agent Implementation',
|
|
20
|
+
AgentImplementation: 'Agent Implementation',
|
|
21
|
+
DevImplementation: 'Dev Implementation',
|
|
22
|
+
NeedsApprovalForRelease: 'Needs Approval for Release',
|
|
23
|
+
ApprovedAndMerged: 'Approved and Merged',
|
|
24
|
+
Released: 'Released',
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Retired state names still found on older project items and branch metadata, mapped to their
|
|
28
|
+
* current equivalents. Keys are lowercase; compare case-insensitively.
|
|
29
|
+
*/
|
|
30
|
+
export const LEGACY_WORKFLOW_STATE_ALIASES = {
|
|
31
|
+
'pr needs approval': 'Needs Approval for Release',
|
|
32
|
+
'complete': 'Approved and Merged',
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=workflow-states.generated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-states.generated.js","sourceRoot":"","sources":["../../src/lib/workflow-states.generated.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAEnF,+CAA+C;AAC/C,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,wBAAwB;IACxB,yBAAyB;IACzB,6BAA6B;IAC7B,gCAAgC;IAChC,sBAAsB;IACtB,oBAAoB;IACpB,4BAA4B;IAC5B,qBAAqB;IACrB,UAAU;CACF,CAAC;AAIX,8CAA8C;AAC9C,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,mBAAmB,EAAE,wBAAwB;IAC7C,mBAAmB,EAAE,yBAAyB;IAC9C,wBAAwB,EAAE,6BAA6B;IACvD,2BAA2B,EAAE,gCAAgC;IAC7D,mBAAmB,EAAE,sBAAsB;IAC3C,iBAAiB,EAAE,oBAAoB;IACvC,uBAAuB,EAAE,4BAA4B;IACrD,iBAAiB,EAAE,qBAAqB;IACxC,QAAQ,EAAE,UAAU;CACZ,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAA4C;IACpF,mBAAmB,EAAE,4BAA4B;IACjD,UAAU,EAAE,qBAAqB;CAClC,CAAC"}
|
|
@@ -1,39 +1,60 @@
|
|
|
1
|
+
import { WORKFLOW_STATES, LEGACY_WORKFLOW_STATE_ALIASES } from './workflow-states.generated.js';
|
|
2
|
+
export { WORKFLOW_STATES, WorkflowStates, LEGACY_WORKFLOW_STATE_ALIASES } from './workflow-states.generated.js';
|
|
1
3
|
/**
|
|
2
4
|
* Workflow states in the order they are reached
|
|
3
5
|
*/
|
|
4
|
-
export const WORKFLOW_STATE_ORDER =
|
|
5
|
-
'Build Spec in Progress',
|
|
6
|
-
'Refinement - Build Spec',
|
|
7
|
-
'Refinement - Implementation',
|
|
8
|
-
'Ready for Agent Implementation',
|
|
9
|
-
'Agent Implementation',
|
|
10
|
-
'Dev Implementation',
|
|
11
|
-
'Needs Approval for Release',
|
|
12
|
-
'Approved and Merged',
|
|
13
|
-
'Released'
|
|
14
|
-
];
|
|
15
|
-
/**
|
|
16
|
-
* Legacy workflow state names mapped to their current equivalents.
|
|
17
|
-
* Keys are lowercase for case-insensitive lookup.
|
|
18
|
-
*/
|
|
19
|
-
const LEGACY_STATE_MAP = {
|
|
20
|
-
'agent implementation': 'Agent Implementation',
|
|
21
|
-
'dev implementation': 'Dev Implementation',
|
|
22
|
-
'pr needs approval': 'Needs Approval for Release',
|
|
23
|
-
'complete': 'Approved and Merged'
|
|
24
|
-
};
|
|
6
|
+
export const WORKFLOW_STATE_ORDER = WORKFLOW_STATES;
|
|
25
7
|
/**
|
|
26
8
|
* Normalize a stored workflow state value to a current WorkflowState.
|
|
27
|
-
*
|
|
28
|
-
*
|
|
9
|
+
* Accepts current names (case-insensitively, since older metadata files carry
|
|
10
|
+
* variants like "Dev implementation"), maps legacy state names to their current
|
|
11
|
+
* equivalents, and returns null for unrecognized values.
|
|
29
12
|
*/
|
|
30
13
|
export function normalizeWorkflowState(raw) {
|
|
31
14
|
if (!raw) {
|
|
32
15
|
return null;
|
|
33
16
|
}
|
|
34
|
-
|
|
35
|
-
|
|
17
|
+
const trimmed = raw.trim();
|
|
18
|
+
if (WORKFLOW_STATE_ORDER.includes(trimmed)) {
|
|
19
|
+
return trimmed;
|
|
20
|
+
}
|
|
21
|
+
const lower = trimmed.toLowerCase();
|
|
22
|
+
const caseInsensitiveMatch = WORKFLOW_STATE_ORDER.find(state => state.toLowerCase() === lower);
|
|
23
|
+
if (caseInsensitiveMatch) {
|
|
24
|
+
return caseInsensitiveMatch;
|
|
25
|
+
}
|
|
26
|
+
return LEGACY_WORKFLOW_STATE_ALIASES[lower] ?? null;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* The state that follows the given one in the workflow sequence. A null current
|
|
30
|
+
* state (an item that has never been started) advances to the first state; the
|
|
31
|
+
* last state has no successor.
|
|
32
|
+
*/
|
|
33
|
+
export function getNextWorkflowState(state) {
|
|
34
|
+
if (state === null) {
|
|
35
|
+
return WORKFLOW_STATE_ORDER[0];
|
|
36
|
+
}
|
|
37
|
+
const index = WORKFLOW_STATE_ORDER.indexOf(state);
|
|
38
|
+
return index >= 0 && index < WORKFLOW_STATE_ORDER.length - 1
|
|
39
|
+
? WORKFLOW_STATE_ORDER[index + 1]
|
|
40
|
+
: null;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The states strictly after `from` up to and including `to`, in workflow order.
|
|
44
|
+
* Throws when `to` is not later than `from`.
|
|
45
|
+
*/
|
|
46
|
+
export function getWorkflowStatesBetween(from, to) {
|
|
47
|
+
const fromIndex = from === null ? -1 : WORKFLOW_STATE_ORDER.indexOf(from);
|
|
48
|
+
const toIndex = WORKFLOW_STATE_ORDER.indexOf(to);
|
|
49
|
+
if (toIndex <= fromIndex) {
|
|
50
|
+
throw new Error(`Cannot move the workflow from "${from ?? '(none)'}" to "${to}": it is not a later state.`);
|
|
36
51
|
}
|
|
37
|
-
return
|
|
52
|
+
return WORKFLOW_STATE_ORDER.slice(fromIndex + 1, toIndex + 1);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Whether a workflow state is the target state or a later one in the sequence
|
|
56
|
+
*/
|
|
57
|
+
export function isStateAtOrAfter(state, targetState) {
|
|
58
|
+
return WORKFLOW_STATE_ORDER.indexOf(state) >= WORKFLOW_STATE_ORDER.indexOf(targetState);
|
|
38
59
|
}
|
|
39
60
|
//# sourceMappingURL=workflow-states.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-states.js","sourceRoot":"","sources":["../../src/lib/workflow-states.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workflow-states.js","sourceRoot":"","sources":["../../src/lib/workflow-states.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,6BAA6B,EAE9B,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAGhH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA6B,eAAe,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAA8B;IACnE,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,oBAAoB,CAAC,QAAQ,CAAC,OAAwB,CAAC,EAAE,CAAC;QAC5D,OAAO,OAAwB,CAAC;IAClC,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;IAC/F,IAAI,oBAAoB,EAAE,CAAC;QACzB,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,OAAO,6BAA6B,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAA2B;IAC9D,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClD,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,oBAAoB,CAAC,MAAM,GAAG,CAAC;QAC1D,CAAC,CAAC,oBAAoB,CAAC,KAAK,GAAG,CAAC,CAAC;QACjC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAA0B,EAAE,EAAiB;IACpF,MAAM,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEjD,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,IAAI,QAAQ,SAAS,EAAE,6BAA6B,CAAC,CAAC;IAC9G,CAAC;IAED,OAAO,oBAAoB,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAoB,EAAE,WAA0B;IAC/E,OAAO,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,oBAAoB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAC1F,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { CommandOption, DevWorkflowType } from '../types/index.js';
|
|
2
|
+
export declare const WORKFLOW_CHOICES: {
|
|
3
|
+
label: string;
|
|
4
|
+
value: string;
|
|
5
|
+
}[];
|
|
6
|
+
export interface IntegrationBranchSelection {
|
|
7
|
+
integrationName: string;
|
|
8
|
+
integrationBranchName: string;
|
|
9
|
+
isNew: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The options every command that can create an item's branch shares: which
|
|
13
|
+
* branch to base it on and which branching workflow to use.
|
|
14
|
+
*/
|
|
15
|
+
export declare const branchCreationOptions: CommandOption[];
|
|
16
|
+
/**
|
|
17
|
+
* The branching decisions collected from the user before a branch is created.
|
|
18
|
+
*/
|
|
19
|
+
export interface BranchCreationChoices {
|
|
20
|
+
shortBranchName: string | null;
|
|
21
|
+
baseBranch: string;
|
|
22
|
+
workflowType: DevWorkflowType;
|
|
23
|
+
stackBranch: string | null;
|
|
24
|
+
integrationSelection: IntegrationBranchSelection | null;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Collect every branching decision up front (stack branch, integration branch)
|
|
28
|
+
* so all user questions are asked before any slow git or MCP work starts.
|
|
29
|
+
*/
|
|
30
|
+
export declare function collectBranchCreationChoices(resolved: Record<string, string>): Promise<BranchCreationChoices>;
|
|
31
|
+
/**
|
|
32
|
+
* Prompt the user whether to stack this branch on another and resolve the
|
|
33
|
+
* chosen stack branch. Prompt-only: performs no branch writes. Returns the
|
|
34
|
+
* resolved stack branch name, or null when the user opts not to stack.
|
|
35
|
+
*/
|
|
36
|
+
export declare function promptForStackBranch(): Promise<string | null>;
|
|
37
|
+
/**
|
|
38
|
+
* Prompt the user for integration-branch selection. Prompt-only: does not
|
|
39
|
+
* perform any branch writes.
|
|
40
|
+
*/
|
|
41
|
+
export declare function promptForIntegrationBranch(): Promise<IntegrationBranchSelection>;
|
|
42
|
+
//# sourceMappingURL=branch-setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branch-setup.d.ts","sourceRoot":"","sources":["../../src/services/branch-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAMxE,eAAO,MAAM,gBAAgB;;;GAG5B,CAAC;AAaF,MAAM,WAAW,0BAA0B;IACzC,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,aAAa,EAyBhD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,eAAe,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,oBAAoB,EAAE,0BAA0B,GAAG,IAAI,CAAC;CACzD;AAED;;;GAGG;AACH,wBAAsB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAYnH;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA6BnE;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,0BAA0B,CAAC,CAoBtF"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { logger } from '../lib/logger.js';
|
|
2
|
+
import { promptInput, promptSelect } from '../lib/prompt.js';
|
|
3
|
+
import * as git from './git.js';
|
|
4
|
+
import * as worktree from './worktree.js';
|
|
5
|
+
export const WORKFLOW_CHOICES = [
|
|
6
|
+
{ label: 'Independent Feature', value: 'independent' },
|
|
7
|
+
{ label: 'Work for Integration', value: 'integration' }
|
|
8
|
+
];
|
|
9
|
+
const STACK_CHOICES = [
|
|
10
|
+
{ label: 'No', value: 'no' },
|
|
11
|
+
{ label: 'Yes - specify a branch', value: 'branch' },
|
|
12
|
+
{ label: 'Yes - specify a project item URL', value: 'url' }
|
|
13
|
+
];
|
|
14
|
+
const INTEGRATION_BRANCH_CHOICES = [
|
|
15
|
+
{ label: 'Create new integration branch', value: 'new' },
|
|
16
|
+
{ label: 'Use existing integration branch', value: 'existing' }
|
|
17
|
+
];
|
|
18
|
+
/**
|
|
19
|
+
* The options every command that can create an item's branch shares: which
|
|
20
|
+
* branch to base it on and which branching workflow to use.
|
|
21
|
+
*/
|
|
22
|
+
export const branchCreationOptions = [
|
|
23
|
+
{
|
|
24
|
+
longName: 'branch-name',
|
|
25
|
+
shortName: 'n',
|
|
26
|
+
description: 'Branch name (auto-generated if not provided)',
|
|
27
|
+
defaultValue: undefined,
|
|
28
|
+
promptWhenDefaultExists: true
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
// Left empty so the repo's `.idea1/settings.json` still has a say: a default here
|
|
32
|
+
// would always be non-empty and would short-circuit `worktree.resolveBaseBranch()`,
|
|
33
|
+
// which is what consults the settings file.
|
|
34
|
+
longName: 'base-branch',
|
|
35
|
+
shortName: 'b',
|
|
36
|
+
description: 'Base branch',
|
|
37
|
+
defaultValue: '',
|
|
38
|
+
promptWhenDefaultExists: false
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
longName: 'workflow-type',
|
|
42
|
+
shortName: 'w',
|
|
43
|
+
description: 'Development workflow type',
|
|
44
|
+
defaultValue: undefined,
|
|
45
|
+
choices: WORKFLOW_CHOICES
|
|
46
|
+
}
|
|
47
|
+
];
|
|
48
|
+
/**
|
|
49
|
+
* Collect every branching decision up front (stack branch, integration branch)
|
|
50
|
+
* so all user questions are asked before any slow git or MCP work starts.
|
|
51
|
+
*/
|
|
52
|
+
export async function collectBranchCreationChoices(resolved) {
|
|
53
|
+
const workflowType = (resolved['workflow-type'] || 'independent');
|
|
54
|
+
const stackBranch = await promptForStackBranch();
|
|
55
|
+
const integrationSelection = workflowType === 'integration' ? await promptForIntegrationBranch() : null;
|
|
56
|
+
return {
|
|
57
|
+
shortBranchName: resolved['branch-name'] || null,
|
|
58
|
+
baseBranch: resolved['base-branch'] || await worktree.resolveBaseBranch(),
|
|
59
|
+
workflowType,
|
|
60
|
+
stackBranch,
|
|
61
|
+
integrationSelection
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Prompt the user whether to stack this branch on another and resolve the
|
|
66
|
+
* chosen stack branch. Prompt-only: performs no branch writes. Returns the
|
|
67
|
+
* resolved stack branch name, or null when the user opts not to stack.
|
|
68
|
+
*/
|
|
69
|
+
export async function promptForStackBranch() {
|
|
70
|
+
const stackChoice = await promptSelect('Stack this branch on another?', STACK_CHOICES);
|
|
71
|
+
if (stackChoice === 'branch') {
|
|
72
|
+
const stackBranch = await promptInput('Branch to stack on');
|
|
73
|
+
if (!stackBranch) {
|
|
74
|
+
throw new Error('Stack branch is required when stacking');
|
|
75
|
+
}
|
|
76
|
+
const stackExists = await git.branchExists(stackBranch);
|
|
77
|
+
if (!stackExists) {
|
|
78
|
+
throw new Error(`Stack branch '${stackBranch}' does not exist locally or on origin`);
|
|
79
|
+
}
|
|
80
|
+
return stackBranch;
|
|
81
|
+
}
|
|
82
|
+
if (stackChoice === 'url') {
|
|
83
|
+
const stackUrl = await promptInput('Project item URL to stack on');
|
|
84
|
+
if (!stackUrl) {
|
|
85
|
+
throw new Error('Project item URL is required when stacking by URL');
|
|
86
|
+
}
|
|
87
|
+
const stackBranch = await git.resolveBranchFromProjectItemUrl(stackUrl);
|
|
88
|
+
if (!stackBranch) {
|
|
89
|
+
throw new Error(`No branch found for project item URL: ${stackUrl}. Make sure the project item has been started.`);
|
|
90
|
+
}
|
|
91
|
+
logger.info(`Resolved stack branch: ${stackBranch}`);
|
|
92
|
+
return stackBranch;
|
|
93
|
+
}
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Prompt the user for integration-branch selection. Prompt-only: does not
|
|
98
|
+
* perform any branch writes.
|
|
99
|
+
*/
|
|
100
|
+
export async function promptForIntegrationBranch() {
|
|
101
|
+
const existingBranches = await worktree.listExistingIntegrationBranches();
|
|
102
|
+
const branchChoice = existingBranches.length > 0
|
|
103
|
+
? await promptSelect('Integration branch', INTEGRATION_BRANCH_CHOICES)
|
|
104
|
+
: 'new';
|
|
105
|
+
if (branchChoice === 'existing') {
|
|
106
|
+
const branchChoices = existingBranches.map(b => ({ label: b, value: b }));
|
|
107
|
+
const integrationBranchName = await promptSelect('Select integration branch', branchChoices);
|
|
108
|
+
const integrationName = await worktree.extractIntegrationName(integrationBranchName);
|
|
109
|
+
return { integrationName, integrationBranchName, isNew: false };
|
|
110
|
+
}
|
|
111
|
+
const integrationName = await promptInput('Integration name (e.g., my-cool-feature)');
|
|
112
|
+
if (!integrationName) {
|
|
113
|
+
throw new Error('Integration name is required');
|
|
114
|
+
}
|
|
115
|
+
const integrationBranchName = await worktree.buildIntegrationBranchName(integrationName);
|
|
116
|
+
return { integrationName, integrationBranchName, isNew: true };
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=branch-setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branch-setup.js","sourceRoot":"","sources":["../../src/services/branch-setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ClaudeEffortLevel, ClaudeModel } from '../types/index.js';
|
|
1
2
|
/**
|
|
2
3
|
* Ensure Claude CLI is available
|
|
3
4
|
*/
|
|
@@ -6,8 +7,10 @@ export declare function ensureClaudeCli(): Promise<boolean>;
|
|
|
6
7
|
* Options shared by non-interactive claude runs.
|
|
7
8
|
*/
|
|
8
9
|
export interface ClaudeRunOptions {
|
|
10
|
+
/** Model alias passed to claude via --model. */
|
|
11
|
+
model?: ClaudeModel;
|
|
9
12
|
/** Effort level passed to claude via --effort. */
|
|
10
|
-
effort?:
|
|
13
|
+
effort?: ClaudeEffortLevel;
|
|
11
14
|
}
|
|
12
15
|
/**
|
|
13
16
|
* Run claude with a specific prompt (non-interactive, returns output).
|
|
@@ -18,11 +21,18 @@ export declare function runWithPrompt(prompt: string, options?: ClaudeRunOptions
|
|
|
18
21
|
/**
|
|
19
22
|
* Launch interactive claude session
|
|
20
23
|
*/
|
|
21
|
-
export declare function runInteractive(initialPrompt?: string, cwd?: string, permissionMode?: string, effort?: string): Promise<number>;
|
|
24
|
+
export declare function runInteractive(initialPrompt?: string, cwd?: string, permissionMode?: string, model?: string, effort?: string): Promise<number>;
|
|
22
25
|
/**
|
|
23
|
-
* Set workflow status on an idea1.ai project item
|
|
26
|
+
* Set workflow status on an idea1.ai project item. When the item's branch is
|
|
27
|
+
* known it is recorded on the item too, so the web client can find the branch
|
|
28
|
+
* without scanning the repository.
|
|
24
29
|
*/
|
|
25
|
-
export declare function setWorkflowStatus(itemUrl: string, status: string): Promise<boolean>;
|
|
30
|
+
export declare function setWorkflowStatus(itemUrl: string, status: string, branchName?: string): Promise<boolean>;
|
|
31
|
+
/**
|
|
32
|
+
* Read the current workflow status of an idea1.ai project item. Returns null
|
|
33
|
+
* when the item has no status yet.
|
|
34
|
+
*/
|
|
35
|
+
export declare function getWorkflowStatus(itemUrl: string): Promise<string | null>;
|
|
26
36
|
/**
|
|
27
37
|
* Generate a branch name from a project item description
|
|
28
38
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/services/claude.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/services/claude.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAcxE;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAMxD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gDAAgD;IAChD,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,kDAAkD;IAClD,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAwDD;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAS/F;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,aAAa,CAAC,EAAE,MAAM,EACtB,GAAG,CAAC,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,MAAM,EACvB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAqBjB;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAsB9G;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiB/E;AAcD;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBzE;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBtE;AAcD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAa9E"}
|
package/dist/services/claude.js
CHANGED
|
@@ -28,6 +28,9 @@ async function runStructured(prompt, jsonSchema, options) {
|
|
|
28
28
|
'--output-format', 'json',
|
|
29
29
|
'--json-schema', JSON.stringify(jsonSchema)
|
|
30
30
|
];
|
|
31
|
+
if (options?.model) {
|
|
32
|
+
args.push('--model', options.model);
|
|
33
|
+
}
|
|
31
34
|
if (options?.effort) {
|
|
32
35
|
args.push('--effort', options.effort);
|
|
33
36
|
}
|
|
@@ -65,7 +68,7 @@ export async function runWithPrompt(prompt, options) {
|
|
|
65
68
|
/**
|
|
66
69
|
* Launch interactive claude session
|
|
67
70
|
*/
|
|
68
|
-
export async function runInteractive(initialPrompt, cwd, permissionMode, effort) {
|
|
71
|
+
export async function runInteractive(initialPrompt, cwd, permissionMode, model, effort) {
|
|
69
72
|
const hasClaude = await ensureClaudeCli();
|
|
70
73
|
if (!hasClaude) {
|
|
71
74
|
logger.error('Claude CLI is not available');
|
|
@@ -75,6 +78,9 @@ export async function runInteractive(initialPrompt, cwd, permissionMode, effort)
|
|
|
75
78
|
if (permissionMode) {
|
|
76
79
|
args.push('--permission-mode', permissionMode);
|
|
77
80
|
}
|
|
81
|
+
if (model) {
|
|
82
|
+
args.push('--model', model);
|
|
83
|
+
}
|
|
78
84
|
if (effort) {
|
|
79
85
|
args.push('--effort', effort);
|
|
80
86
|
}
|
|
@@ -84,17 +90,20 @@ export async function runInteractive(initialPrompt, cwd, permissionMode, effort)
|
|
|
84
90
|
return execWithOutput('claude', args, { cwd });
|
|
85
91
|
}
|
|
86
92
|
/**
|
|
87
|
-
* Set workflow status on an idea1.ai project item
|
|
93
|
+
* Set workflow status on an idea1.ai project item. When the item's branch is
|
|
94
|
+
* known it is recorded on the item too, so the web client can find the branch
|
|
95
|
+
* without scanning the repository.
|
|
88
96
|
*/
|
|
89
|
-
export async function setWorkflowStatus(itemUrl, status) {
|
|
97
|
+
export async function setWorkflowStatus(itemUrl, status, branchName) {
|
|
90
98
|
const hasClaude = await ensureClaudeCli();
|
|
91
99
|
if (!hasClaude) {
|
|
92
100
|
logger.warning('Claude CLI not available, skipping workflow status update');
|
|
93
101
|
return false;
|
|
94
102
|
}
|
|
95
103
|
logger.step(`Setting workflow status to "${status}"...`);
|
|
104
|
+
const branchClause = branchName ? ` and pass branchName "${branchName}"` : '';
|
|
96
105
|
try {
|
|
97
|
-
await runWithPrompt(`Set the workflow status of ${itemUrl} to "${status}". Put "done" in the "result" field on success, or an explanation in the "error" field on failure.`);
|
|
106
|
+
await runWithPrompt(`Set the workflow status of ${itemUrl} to "${status}"${branchClause} using the set_item_workflow_status MCP tool. Put "done" in the "result" field on success, or an explanation in the "error" field on failure.`);
|
|
98
107
|
logger.success(`Workflow status updated to "${status}"`);
|
|
99
108
|
return true;
|
|
100
109
|
}
|
|
@@ -106,6 +115,32 @@ export async function setWorkflowStatus(itemUrl, status) {
|
|
|
106
115
|
return false;
|
|
107
116
|
}
|
|
108
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Read the current workflow status of an idea1.ai project item. Returns null
|
|
120
|
+
* when the item has no status yet.
|
|
121
|
+
*/
|
|
122
|
+
export async function getWorkflowStatus(itemUrl) {
|
|
123
|
+
const hasClaude = await ensureClaudeCli();
|
|
124
|
+
if (!hasClaude) {
|
|
125
|
+
throw new Error('Claude CLI is required to read the project item workflow status');
|
|
126
|
+
}
|
|
127
|
+
logger.step('Reading workflow status from idea1.ai...');
|
|
128
|
+
const output = await runStructured(`Get the idea1 project item ${itemUrl} using the get_item MCP tool and put its workflowStatus value in the "workflowStatus" field. Use an empty string when the item has no workflow status.`, workflowStatusSchema, { effort: 'low' });
|
|
129
|
+
const status = typeof output.workflowStatus === 'string' ? output.workflowStatus.trim() : '';
|
|
130
|
+
logger.dim(`Workflow status on idea1.ai: ${status || '(none)'}`);
|
|
131
|
+
return status || null;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* JSON schema for the get-workflow-status structured output.
|
|
135
|
+
*/
|
|
136
|
+
const workflowStatusSchema = {
|
|
137
|
+
type: 'object',
|
|
138
|
+
properties: {
|
|
139
|
+
workflowStatus: { type: 'string', description: 'The workflowStatus of the idea1 project item, or an empty string when it has none' }
|
|
140
|
+
},
|
|
141
|
+
required: ['workflowStatus'],
|
|
142
|
+
additionalProperties: false
|
|
143
|
+
};
|
|
109
144
|
/**
|
|
110
145
|
* Generate a branch name from a project item description
|
|
111
146
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/services/claude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/services/claude.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ export declare const configService: {
|
|
|
3
3
|
/**
|
|
4
4
|
* Get the default base branch
|
|
5
5
|
*/
|
|
6
|
-
getDefaultBaseBranch(): string;
|
|
6
|
+
getDefaultBaseBranch(): string | undefined;
|
|
7
7
|
/**
|
|
8
8
|
* Set the default base branch
|
|
9
9
|
*/
|
|
@@ -11,7 +11,7 @@ export declare const configService: {
|
|
|
11
11
|
/**
|
|
12
12
|
* Get the default branch prefix
|
|
13
13
|
*/
|
|
14
|
-
getDefaultBranchPrefix(): string;
|
|
14
|
+
getDefaultBranchPrefix(): string | undefined;
|
|
15
15
|
/**
|
|
16
16
|
* Set the default branch prefix
|
|
17
17
|
*/
|
|
@@ -28,7 +28,7 @@ export declare const configService: {
|
|
|
28
28
|
/**
|
|
29
29
|
* Get the default integration branch prefix
|
|
30
30
|
*/
|
|
31
|
-
getDefaultIntegrationBranchPrefix(): string;
|
|
31
|
+
getDefaultIntegrationBranchPrefix(): string | undefined;
|
|
32
32
|
/**
|
|
33
33
|
* Set the default integration branch prefix
|
|
34
34
|
*/
|