takt 0.2.0 → 0.2.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 +55 -15
- package/dist/agents/runner.d.ts +3 -1
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +15 -0
- package/dist/agents/runner.js.map +1 -1
- package/dist/claude/client.d.ts +3 -1
- package/dist/claude/client.d.ts.map +1 -1
- package/dist/claude/client.js +17 -0
- package/dist/claude/client.js.map +1 -1
- package/dist/cli.d.ts +9 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +64 -18
- package/dist/cli.js.map +1 -1
- package/dist/commands/addTask.d.ts.map +1 -1
- package/dist/commands/addTask.js +27 -9
- package/dist/commands/addTask.js.map +1 -1
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +5 -3
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +1 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/reviewTasks.d.ts +32 -0
- package/dist/commands/reviewTasks.d.ts.map +1 -0
- package/dist/commands/reviewTasks.js +198 -0
- package/dist/commands/reviewTasks.js.map +1 -0
- package/dist/commands/taskExecution.d.ts +16 -2
- package/dist/commands/taskExecution.d.ts.map +1 -1
- package/dist/commands/taskExecution.js +75 -39
- package/dist/commands/taskExecution.js.map +1 -1
- package/dist/commands/watchTasks.d.ts.map +1 -1
- package/dist/commands/watchTasks.js +6 -36
- package/dist/commands/watchTasks.js.map +1 -1
- package/dist/commands/workflowExecution.d.ts +5 -1
- package/dist/commands/workflowExecution.d.ts.map +1 -1
- package/dist/commands/workflowExecution.js +35 -12
- package/dist/commands/workflowExecution.js.map +1 -1
- package/dist/config/initialization.d.ts +2 -0
- package/dist/config/initialization.d.ts.map +1 -1
- package/dist/config/initialization.js +12 -2
- package/dist/config/initialization.js.map +1 -1
- package/dist/config/paths.d.ts +1 -1
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +1 -1
- package/dist/config/paths.js.map +1 -1
- package/dist/config/sessionStore.d.ts +5 -0
- package/dist/config/sessionStore.d.ts.map +1 -1
- package/dist/config/sessionStore.js +1 -1
- package/dist/config/sessionStore.js.map +1 -1
- package/dist/config/workflowLoader.d.ts.map +1 -1
- package/dist/config/workflowLoader.js +1 -0
- package/dist/config/workflowLoader.js.map +1 -1
- package/dist/models/schemas.d.ts +22 -0
- package/dist/models/schemas.d.ts.map +1 -1
- package/dist/models/schemas.js +8 -0
- package/dist/models/schemas.js.map +1 -1
- package/dist/models/types.d.ts +8 -2
- package/dist/models/types.d.ts.map +1 -1
- package/dist/prompt/index.d.ts +60 -11
- package/dist/prompt/index.d.ts.map +1 -1
- package/dist/prompt/index.js +246 -72
- package/dist/prompt/index.js.map +1 -1
- package/dist/providers/claude.d.ts.map +1 -1
- package/dist/providers/claude.js +2 -0
- package/dist/providers/claude.js.map +1 -1
- package/dist/providers/index.d.ts +3 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/task/autoCommit.d.ts +28 -0
- package/dist/task/autoCommit.d.ts.map +1 -0
- package/dist/task/autoCommit.js +68 -0
- package/dist/task/autoCommit.js.map +1 -0
- package/dist/task/index.d.ts +2 -1
- package/dist/task/index.d.ts.map +1 -1
- package/dist/task/index.js +2 -1
- package/dist/task/index.js.map +1 -1
- package/dist/task/worktree.d.ts +39 -0
- package/dist/task/worktree.d.ts.map +1 -1
- package/dist/task/worktree.js +111 -2
- package/dist/task/worktree.js.map +1 -1
- package/dist/utils/debug.d.ts +6 -1
- package/dist/utils/debug.d.ts.map +1 -1
- package/dist/utils/debug.js +30 -24
- package/dist/utils/debug.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/session.d.ts +20 -0
- package/dist/utils/session.d.ts.map +1 -1
- package/dist/utils/session.js +32 -3
- package/dist/utils/session.js.map +1 -1
- package/dist/utils/text.d.ts +22 -0
- package/dist/utils/text.d.ts.map +1 -0
- package/dist/utils/text.js +54 -0
- package/dist/utils/text.js.map +1 -0
- package/dist/workflow/engine.d.ts +5 -6
- package/dist/workflow/engine.d.ts.map +1 -1
- package/dist/workflow/engine.js +32 -12
- package/dist/workflow/engine.js.map +1 -1
- package/dist/workflow/index.d.ts +2 -2
- package/dist/workflow/index.d.ts.map +1 -1
- package/dist/workflow/index.js +2 -2
- package/dist/workflow/index.js.map +1 -1
- package/dist/workflow/instruction-builder.d.ts +31 -2
- package/dist/workflow/instruction-builder.d.ts.map +1 -1
- package/dist/workflow/instruction-builder.js +69 -1
- package/dist/workflow/instruction-builder.js.map +1 -1
- package/dist/workflow/transitions.d.ts.map +1 -1
- package/dist/workflow/transitions.js +1 -0
- package/dist/workflow/transitions.js.map +1 -1
- package/dist/workflow/types.d.ts +5 -1
- package/dist/workflow/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/resources/global/en/workflows/default.yaml +22 -1
- package/resources/global/en/workflows/simple.yaml +18 -1
- package/resources/global/ja/agents/default/ai-reviewer.md +24 -1
- package/resources/global/ja/agents/default/architect.md +37 -4
- package/resources/global/ja/agents/default/coder.md +1 -0
- package/resources/global/ja/workflows/default.yaml +27 -2
- package/resources/global/ja/workflows/expert-review.yaml +169 -10
- package/resources/global/ja/workflows/simple.yaml +18 -1
package/dist/prompt/index.d.ts
CHANGED
|
@@ -1,32 +1,81 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Interactive prompts for CLI
|
|
3
3
|
*
|
|
4
|
-
* Provides
|
|
4
|
+
* Provides cursor-based selection menus using arrow keys.
|
|
5
|
+
* Users navigate with ↑/↓ keys and confirm with Enter.
|
|
5
6
|
*/
|
|
6
|
-
/**
|
|
7
|
-
|
|
8
|
-
* @returns Selected option or null if cancelled
|
|
9
|
-
*/
|
|
10
|
-
export declare function selectOption<T extends string>(message: string, options: {
|
|
7
|
+
/** Option type for selectOption */
|
|
8
|
+
export interface SelectOptionItem<T extends string> {
|
|
11
9
|
label: string;
|
|
12
10
|
value: T;
|
|
13
11
|
description?: string;
|
|
14
12
|
details?: string[];
|
|
15
|
-
}
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Render the menu options to the terminal.
|
|
16
|
+
* Writes directly to stdout using ANSI escape codes.
|
|
17
|
+
* Labels are truncated to fit within the terminal width.
|
|
18
|
+
* Exported for testing.
|
|
19
|
+
*/
|
|
20
|
+
export declare function renderMenu<T extends string>(options: SelectOptionItem<T>[], selectedIndex: number, hasCancelOption: boolean): string[];
|
|
21
|
+
/**
|
|
22
|
+
* Count total rendered lines for a set of options.
|
|
23
|
+
* Exported for testing.
|
|
24
|
+
*/
|
|
25
|
+
export declare function countRenderedLines<T extends string>(options: SelectOptionItem<T>[], hasCancelOption: boolean): number;
|
|
26
|
+
/** Result of handling a key input */
|
|
27
|
+
export type KeyInputResult = {
|
|
28
|
+
action: 'move';
|
|
29
|
+
newIndex: number;
|
|
30
|
+
} | {
|
|
31
|
+
action: 'confirm';
|
|
32
|
+
selectedIndex: number;
|
|
33
|
+
} | {
|
|
34
|
+
action: 'cancel';
|
|
35
|
+
cancelIndex: number;
|
|
36
|
+
} | {
|
|
37
|
+
action: 'exit';
|
|
38
|
+
} | {
|
|
39
|
+
action: 'none';
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Pure function for key input state transitions.
|
|
43
|
+
* Maps a key string to an action and new state.
|
|
44
|
+
* Exported for testing.
|
|
45
|
+
*/
|
|
46
|
+
export declare function handleKeyInput(key: string, currentIndex: number, totalItems: number, hasCancelOption: boolean, optionCount: number): KeyInputResult;
|
|
47
|
+
/**
|
|
48
|
+
* Prompt user to select from a list of options using cursor navigation.
|
|
49
|
+
* @returns Selected option or null if cancelled
|
|
50
|
+
*/
|
|
51
|
+
export declare function selectOption<T extends string>(message: string, options: SelectOptionItem<T>[]): Promise<T | null>;
|
|
16
52
|
/**
|
|
17
53
|
* Prompt user for simple text input
|
|
18
54
|
* @returns User input or null if cancelled
|
|
19
55
|
*/
|
|
20
56
|
export declare function promptInput(message: string): Promise<string | null>;
|
|
21
57
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
58
|
+
* Read multiline input from a readable stream.
|
|
59
|
+
* An empty line finishes input. If the first line is empty, returns null.
|
|
60
|
+
* Exported for testing.
|
|
61
|
+
*/
|
|
62
|
+
export declare function readMultilineFromStream(input: NodeJS.ReadableStream): Promise<string | null>;
|
|
63
|
+
/**
|
|
64
|
+
* Prompt user for multiline text input.
|
|
65
|
+
* Each line is entered with Enter. An empty line finishes input.
|
|
66
|
+
* If the first line is empty, returns null (cancel).
|
|
67
|
+
* @returns Multiline text or null if cancelled
|
|
68
|
+
*/
|
|
69
|
+
export declare function promptMultilineInput(message: string): Promise<string | null>;
|
|
70
|
+
/**
|
|
71
|
+
* Prompt user to select from a list of options with a default value.
|
|
72
|
+
* Uses cursor navigation. Enter immediately selects the default.
|
|
73
|
+
* @returns Selected option value, or null if cancelled (ESC pressed)
|
|
25
74
|
*/
|
|
26
75
|
export declare function selectOptionWithDefault<T extends string>(message: string, options: {
|
|
27
76
|
label: string;
|
|
28
77
|
value: T;
|
|
29
|
-
}[], defaultValue: T): Promise<T>;
|
|
78
|
+
}[], defaultValue: T): Promise<T | null>;
|
|
30
79
|
/**
|
|
31
80
|
* Prompt user for yes/no confirmation
|
|
32
81
|
* @returns true for yes, false for no
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompt/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompt/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,mCAAmC;AACnC,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,MAAM;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;IACT,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EACzC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAC9B,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,OAAO,GACvB,MAAM,EAAE,CAuCV;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EACjD,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAC9B,eAAe,EAAE,OAAO,GACvB,MAAM,CASR;AAED,qCAAqC;AACrC,MAAM,MAAM,cAAc,GACtB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvB;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,OAAO,EACxB,WAAW,EAAE,MAAM,GAClB,cAAc,CAsBhB;AAsHD;;;GAGG;AACH,wBAAsB,YAAY,CAAC,CAAC,SAAS,MAAM,EACjD,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAC7B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAiBnB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmBzE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgC5F;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAIlF;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,SAAS,MAAM,EAC5D,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,EAAE,EACtC,YAAY,EAAE,CAAC,GACd,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CA2BnB;AAED;;;GAGG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,UAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAsBlF"}
|
package/dist/prompt/index.js
CHANGED
|
@@ -1,57 +1,203 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Interactive prompts for CLI
|
|
3
3
|
*
|
|
4
|
-
* Provides
|
|
4
|
+
* Provides cursor-based selection menus using arrow keys.
|
|
5
|
+
* Users navigate with ↑/↓ keys and confirm with Enter.
|
|
5
6
|
*/
|
|
6
7
|
import * as readline from 'node:readline';
|
|
7
8
|
import chalk from 'chalk';
|
|
9
|
+
import { truncateText } from '../utils/text.js';
|
|
8
10
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
+
* Render the menu options to the terminal.
|
|
12
|
+
* Writes directly to stdout using ANSI escape codes.
|
|
13
|
+
* Labels are truncated to fit within the terminal width.
|
|
14
|
+
* Exported for testing.
|
|
11
15
|
*/
|
|
12
|
-
export
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
16
|
+
export function renderMenu(options, selectedIndex, hasCancelOption) {
|
|
17
|
+
const maxWidth = process.stdout.columns || 80;
|
|
18
|
+
// Prefix " ❯ " = 4 visible columns (2 spaces + cursor + space)
|
|
19
|
+
const labelPrefix = 4;
|
|
20
|
+
// Description prefix " " = 5 visible columns
|
|
21
|
+
const descPrefix = 5;
|
|
22
|
+
// Detail prefix " • " = 9 visible columns
|
|
23
|
+
const detailPrefix = 9;
|
|
24
|
+
const lines = [];
|
|
25
|
+
for (let i = 0; i < options.length; i++) {
|
|
26
|
+
const opt = options[i];
|
|
27
|
+
const isSelected = i === selectedIndex;
|
|
28
|
+
const cursor = isSelected ? chalk.cyan('❯') : ' ';
|
|
29
|
+
const truncatedLabel = truncateText(opt.label, maxWidth - labelPrefix);
|
|
30
|
+
const label = isSelected ? chalk.cyan.bold(truncatedLabel) : truncatedLabel;
|
|
31
|
+
lines.push(` ${cursor} ${label}`);
|
|
23
32
|
if (opt.description) {
|
|
24
|
-
|
|
33
|
+
const truncatedDesc = truncateText(opt.description, maxWidth - descPrefix);
|
|
34
|
+
lines.push(chalk.gray(` ${truncatedDesc}`));
|
|
25
35
|
}
|
|
26
|
-
// Display additional details if provided
|
|
27
36
|
if (opt.details && opt.details.length > 0) {
|
|
28
|
-
opt.details
|
|
29
|
-
|
|
30
|
-
|
|
37
|
+
for (const detail of opt.details) {
|
|
38
|
+
const truncatedDetail = truncateText(detail, maxWidth - detailPrefix);
|
|
39
|
+
lines.push(chalk.dim(` • ${truncatedDetail}`));
|
|
40
|
+
}
|
|
31
41
|
}
|
|
32
|
-
}
|
|
33
|
-
|
|
42
|
+
}
|
|
43
|
+
if (hasCancelOption) {
|
|
44
|
+
const isCancelSelected = selectedIndex === options.length;
|
|
45
|
+
const cursor = isCancelSelected ? chalk.cyan('❯') : ' ';
|
|
46
|
+
const label = isCancelSelected ? chalk.cyan.bold('Cancel') : chalk.gray('Cancel');
|
|
47
|
+
lines.push(` ${cursor} ${label}`);
|
|
48
|
+
}
|
|
49
|
+
return lines;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Count total rendered lines for a set of options.
|
|
53
|
+
* Exported for testing.
|
|
54
|
+
*/
|
|
55
|
+
export function countRenderedLines(options, hasCancelOption) {
|
|
56
|
+
let count = 0;
|
|
57
|
+
for (const opt of options) {
|
|
58
|
+
count++; // main label line
|
|
59
|
+
if (opt.description)
|
|
60
|
+
count++;
|
|
61
|
+
if (opt.details)
|
|
62
|
+
count += opt.details.length;
|
|
63
|
+
}
|
|
64
|
+
if (hasCancelOption)
|
|
65
|
+
count++;
|
|
66
|
+
return count;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Pure function for key input state transitions.
|
|
70
|
+
* Maps a key string to an action and new state.
|
|
71
|
+
* Exported for testing.
|
|
72
|
+
*/
|
|
73
|
+
export function handleKeyInput(key, currentIndex, totalItems, hasCancelOption, optionCount) {
|
|
74
|
+
// Up arrow or vim 'k'
|
|
75
|
+
if (key === '\x1B[A' || key === 'k') {
|
|
76
|
+
return { action: 'move', newIndex: (currentIndex - 1 + totalItems) % totalItems };
|
|
77
|
+
}
|
|
78
|
+
// Down arrow or vim 'j'
|
|
79
|
+
if (key === '\x1B[B' || key === 'j') {
|
|
80
|
+
return { action: 'move', newIndex: (currentIndex + 1) % totalItems };
|
|
81
|
+
}
|
|
82
|
+
// Enter
|
|
83
|
+
if (key === '\r' || key === '\n') {
|
|
84
|
+
return { action: 'confirm', selectedIndex: currentIndex };
|
|
85
|
+
}
|
|
86
|
+
// Ctrl+C - exit process
|
|
87
|
+
if (key === '\x03') {
|
|
88
|
+
return { action: 'exit' };
|
|
89
|
+
}
|
|
90
|
+
// Escape - cancel
|
|
91
|
+
if (key === '\x1B') {
|
|
92
|
+
return { action: 'cancel', cancelIndex: hasCancelOption ? optionCount : -1 };
|
|
93
|
+
}
|
|
94
|
+
return { action: 'none' };
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Print the menu header (message + hint).
|
|
98
|
+
*/
|
|
99
|
+
function printHeader(message) {
|
|
100
|
+
console.log();
|
|
101
|
+
console.log(chalk.cyan(message));
|
|
102
|
+
console.log(chalk.gray(' (↑↓ to move, Enter to select)'));
|
|
34
103
|
console.log();
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Set up raw mode on stdin and return cleanup function.
|
|
107
|
+
*/
|
|
108
|
+
function setupRawMode() {
|
|
109
|
+
const wasRaw = process.stdin.isRaw;
|
|
110
|
+
process.stdin.setRawMode(true);
|
|
111
|
+
process.stdin.resume();
|
|
112
|
+
return {
|
|
113
|
+
wasRaw,
|
|
114
|
+
cleanup(listener) {
|
|
115
|
+
process.stdin.removeListener('data', listener);
|
|
116
|
+
process.stdin.setRawMode(wasRaw ?? false);
|
|
117
|
+
process.stdin.pause();
|
|
118
|
+
},
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Redraw the menu using relative cursor movement.
|
|
123
|
+
* Auto-wrap is disabled during menu interaction, so
|
|
124
|
+
* 1 logical line = 1 physical line, making line-count movement accurate.
|
|
125
|
+
*/
|
|
126
|
+
function redrawMenu(options, selectedIndex, hasCancelOption, totalLines) {
|
|
127
|
+
process.stdout.write(`\x1B[${totalLines}A`); // Move up to menu start
|
|
128
|
+
process.stdout.write('\x1B[J'); // Clear from cursor to end
|
|
129
|
+
const newLines = renderMenu(options, selectedIndex, hasCancelOption);
|
|
130
|
+
process.stdout.write(newLines.join('\n') + '\n');
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Interactive cursor-based menu selection.
|
|
134
|
+
* Uses raw mode to capture arrow key input for navigation.
|
|
135
|
+
*/
|
|
136
|
+
function interactiveSelect(message, options, initialIndex, hasCancelOption) {
|
|
35
137
|
return new Promise((resolve) => {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
138
|
+
const totalItems = hasCancelOption ? options.length + 1 : options.length;
|
|
139
|
+
let selectedIndex = initialIndex;
|
|
140
|
+
printHeader(message);
|
|
141
|
+
// Disable auto-wrap so 1 logical line = 1 physical line
|
|
142
|
+
process.stdout.write('\x1B[?7l');
|
|
143
|
+
const totalLines = countRenderedLines(options, hasCancelOption);
|
|
144
|
+
const lines = renderMenu(options, selectedIndex, hasCancelOption);
|
|
145
|
+
process.stdout.write(lines.join('\n') + '\n');
|
|
146
|
+
if (!process.stdin.isTTY) {
|
|
147
|
+
process.stdout.write('\x1B[?7h'); // Re-enable auto-wrap
|
|
148
|
+
resolve(initialIndex);
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
const rawMode = setupRawMode();
|
|
152
|
+
const cleanup = (listener) => {
|
|
153
|
+
rawMode.cleanup(listener);
|
|
154
|
+
process.stdout.write('\x1B[?7h'); // Re-enable auto-wrap
|
|
155
|
+
};
|
|
156
|
+
const onKeypress = (data) => {
|
|
157
|
+
const result = handleKeyInput(data.toString(), selectedIndex, totalItems, hasCancelOption, options.length);
|
|
158
|
+
switch (result.action) {
|
|
159
|
+
case 'move':
|
|
160
|
+
selectedIndex = result.newIndex;
|
|
161
|
+
redrawMenu(options, selectedIndex, hasCancelOption, totalLines);
|
|
162
|
+
break;
|
|
163
|
+
case 'confirm':
|
|
164
|
+
cleanup(onKeypress);
|
|
165
|
+
resolve(result.selectedIndex);
|
|
166
|
+
break;
|
|
167
|
+
case 'cancel':
|
|
168
|
+
cleanup(onKeypress);
|
|
169
|
+
resolve(result.cancelIndex);
|
|
170
|
+
break;
|
|
171
|
+
case 'exit':
|
|
172
|
+
cleanup(onKeypress);
|
|
173
|
+
process.exit(130);
|
|
174
|
+
break;
|
|
175
|
+
case 'none':
|
|
176
|
+
break;
|
|
49
177
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
});
|
|
178
|
+
};
|
|
179
|
+
process.stdin.on('data', onKeypress);
|
|
53
180
|
});
|
|
54
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* Prompt user to select from a list of options using cursor navigation.
|
|
184
|
+
* @returns Selected option or null if cancelled
|
|
185
|
+
*/
|
|
186
|
+
export async function selectOption(message, options) {
|
|
187
|
+
if (options.length === 0)
|
|
188
|
+
return null;
|
|
189
|
+
const selectedIndex = await interactiveSelect(message, options, 0, true);
|
|
190
|
+
// Cancel selected (last item or escape)
|
|
191
|
+
if (selectedIndex === options.length || selectedIndex === -1) {
|
|
192
|
+
return null;
|
|
193
|
+
}
|
|
194
|
+
const selected = options[selectedIndex];
|
|
195
|
+
if (selected) {
|
|
196
|
+
console.log(chalk.green(` ✓ ${selected.label}`));
|
|
197
|
+
return selected.value;
|
|
198
|
+
}
|
|
199
|
+
return null;
|
|
200
|
+
}
|
|
55
201
|
/**
|
|
56
202
|
* Prompt user for simple text input
|
|
57
203
|
* @returns User input or null if cancelled
|
|
@@ -74,49 +220,77 @@ export async function promptInput(message) {
|
|
|
74
220
|
});
|
|
75
221
|
}
|
|
76
222
|
/**
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
223
|
+
* Read multiline input from a readable stream.
|
|
224
|
+
* An empty line finishes input. If the first line is empty, returns null.
|
|
225
|
+
* Exported for testing.
|
|
80
226
|
*/
|
|
81
|
-
export
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
output: process.stdout,
|
|
85
|
-
});
|
|
86
|
-
console.log();
|
|
87
|
-
console.log(chalk.cyan(message));
|
|
88
|
-
console.log();
|
|
89
|
-
const defaultIndex = options.findIndex((opt) => opt.value === defaultValue);
|
|
90
|
-
options.forEach((opt, idx) => {
|
|
91
|
-
const isDefault = opt.value === defaultValue;
|
|
92
|
-
const marker = isDefault ? chalk.green(' (default)') : '';
|
|
93
|
-
console.log(chalk.yellow(` ${idx + 1}. `) + opt.label + marker);
|
|
94
|
-
});
|
|
95
|
-
console.log();
|
|
96
|
-
const hint = defaultIndex >= 0 ? ` [Enter=${defaultIndex + 1}]` : '';
|
|
227
|
+
export function readMultilineFromStream(input) {
|
|
228
|
+
const lines = [];
|
|
229
|
+
const rl = readline.createInterface({ input });
|
|
97
230
|
return new Promise((resolve) => {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
231
|
+
let resolved = false;
|
|
232
|
+
rl.on('line', (line) => {
|
|
233
|
+
if (line === '' && lines.length > 0) {
|
|
234
|
+
resolved = true;
|
|
235
|
+
rl.close();
|
|
236
|
+
const result = lines.join('\n').trim();
|
|
237
|
+
resolve(result || null);
|
|
104
238
|
return;
|
|
105
239
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
240
|
+
if (line === '' && lines.length === 0) {
|
|
241
|
+
resolved = true;
|
|
242
|
+
rl.close();
|
|
243
|
+
resolve(null);
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
lines.push(line);
|
|
247
|
+
});
|
|
248
|
+
rl.on('close', () => {
|
|
249
|
+
if (!resolved) {
|
|
250
|
+
resolve(lines.length > 0 ? lines.join('\n').trim() : null);
|
|
113
251
|
}
|
|
114
|
-
// Invalid input, use default
|
|
115
|
-
console.log(chalk.gray(`Invalid selection, using default: ${defaultValue}`));
|
|
116
|
-
resolve(defaultValue);
|
|
117
252
|
});
|
|
118
253
|
});
|
|
119
254
|
}
|
|
255
|
+
/**
|
|
256
|
+
* Prompt user for multiline text input.
|
|
257
|
+
* Each line is entered with Enter. An empty line finishes input.
|
|
258
|
+
* If the first line is empty, returns null (cancel).
|
|
259
|
+
* @returns Multiline text or null if cancelled
|
|
260
|
+
*/
|
|
261
|
+
export async function promptMultilineInput(message) {
|
|
262
|
+
console.log(chalk.green(`${message} (empty line to finish):`));
|
|
263
|
+
process.stdout.write(chalk.gray('> '));
|
|
264
|
+
return readMultilineFromStream(process.stdin);
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Prompt user to select from a list of options with a default value.
|
|
268
|
+
* Uses cursor navigation. Enter immediately selects the default.
|
|
269
|
+
* @returns Selected option value, or null if cancelled (ESC pressed)
|
|
270
|
+
*/
|
|
271
|
+
export async function selectOptionWithDefault(message, options, defaultValue) {
|
|
272
|
+
if (options.length === 0)
|
|
273
|
+
return defaultValue;
|
|
274
|
+
// Find default index
|
|
275
|
+
const defaultIndex = options.findIndex((opt) => opt.value === defaultValue);
|
|
276
|
+
const initialIndex = defaultIndex >= 0 ? defaultIndex : 0;
|
|
277
|
+
// Mark default in label
|
|
278
|
+
const decoratedOptions = options.map((opt) => ({
|
|
279
|
+
...opt,
|
|
280
|
+
label: opt.value === defaultValue ? `${opt.label} ${chalk.green('(default)')}` : opt.label,
|
|
281
|
+
}));
|
|
282
|
+
const selectedIndex = await interactiveSelect(message, decoratedOptions, initialIndex, true);
|
|
283
|
+
// Cancel selected (last item) or Escape pressed
|
|
284
|
+
if (selectedIndex === options.length || selectedIndex === -1) {
|
|
285
|
+
return null;
|
|
286
|
+
}
|
|
287
|
+
const selected = options[selectedIndex];
|
|
288
|
+
if (selected) {
|
|
289
|
+
console.log(chalk.green(` ✓ ${selected.label}`));
|
|
290
|
+
return selected.value;
|
|
291
|
+
}
|
|
292
|
+
return defaultValue;
|
|
293
|
+
}
|
|
120
294
|
/**
|
|
121
295
|
* Prompt user for yes/no confirmation
|
|
122
296
|
* @returns true for yes, false for no
|
package/dist/prompt/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompt/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompt/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEhE,qDAAqD;AACrD,qBAAa,cAAe,YAAW,QAAQ;IACvC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEhE,qDAAqD;AACrD,qBAAa,cAAe,YAAW,QAAQ;IACvC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAkB7F,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;CAgBhI"}
|
package/dist/providers/claude.js
CHANGED
|
@@ -12,6 +12,7 @@ export class ClaudeProvider {
|
|
|
12
12
|
model: options.model,
|
|
13
13
|
systemPrompt: options.systemPrompt,
|
|
14
14
|
statusPatterns: options.statusPatterns,
|
|
15
|
+
permissionMode: options.permissionMode,
|
|
15
16
|
onStream: options.onStream,
|
|
16
17
|
onPermissionRequest: options.onPermissionRequest,
|
|
17
18
|
onAskUserQuestion: options.onAskUserQuestion,
|
|
@@ -26,6 +27,7 @@ export class ClaudeProvider {
|
|
|
26
27
|
allowedTools: options.allowedTools,
|
|
27
28
|
model: options.model,
|
|
28
29
|
statusPatterns: options.statusPatterns,
|
|
30
|
+
permissionMode: options.permissionMode,
|
|
29
31
|
onStream: options.onStream,
|
|
30
32
|
onPermissionRequest: options.onPermissionRequest,
|
|
31
33
|
onAskUserQuestion: options.onAskUserQuestion,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAA0B,MAAM,qBAAqB,CAAC;AAI3F,qDAAqD;AACrD,MAAM,OAAO,cAAc;IACzB,KAAK,CAAC,IAAI,CAAC,SAAiB,EAAE,MAAc,EAAE,OAA4B;QACxE,MAAM,WAAW,GAAsB;YACrC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;SAC7C,CAAC;QAEF,OAAO,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAiB,EAAE,MAAc,EAAE,YAAoB,EAAE,OAA4B;QACpG,MAAM,WAAW,GAAsB;YACrC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;SAC7C,CAAC;QAEF,OAAO,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IACxE,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAA0B,MAAM,qBAAqB,CAAC;AAI3F,qDAAqD;AACrD,MAAM,OAAO,cAAc;IACzB,KAAK,CAAC,IAAI,CAAC,SAAiB,EAAE,MAAc,EAAE,OAA4B;QACxE,MAAM,WAAW,GAAsB;YACrC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;SAC7C,CAAC;QAEF,OAAO,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAiB,EAAE,MAAc,EAAE,YAAoB,EAAE,OAA4B;QACpG,MAAM,WAAW,GAAsB;YACrC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;SAC7C,CAAC;QAEF,OAAO,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IACxE,CAAC;CACF"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* This enables adding new providers without modifying the runner logic.
|
|
6
6
|
*/
|
|
7
7
|
import type { StreamCallback, PermissionHandler, AskUserQuestionHandler } from '../claude/process.js';
|
|
8
|
-
import type { AgentResponse } from '../models/types.js';
|
|
8
|
+
import type { AgentResponse, PermissionMode } from '../models/types.js';
|
|
9
9
|
/** Common options for all providers */
|
|
10
10
|
export interface ProviderCallOptions {
|
|
11
11
|
cwd: string;
|
|
@@ -14,6 +14,8 @@ export interface ProviderCallOptions {
|
|
|
14
14
|
systemPrompt?: string;
|
|
15
15
|
allowedTools?: string[];
|
|
16
16
|
statusPatterns?: Record<string, string>;
|
|
17
|
+
/** Permission mode for tool execution (from workflow step) */
|
|
18
|
+
permissionMode?: PermissionMode;
|
|
17
19
|
onStream?: StreamCallback;
|
|
18
20
|
onPermissionRequest?: PermissionHandler;
|
|
19
21
|
onAskUserQuestion?: AskUserQuestionHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAKxE,uCAAuC;AACvC,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,8DAA8D;IAC9D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;IACxC,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,6DAA6D;AAC7D,MAAM,WAAW,QAAQ;IACvB,oFAAoF;IACpF,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE9F,oDAAoD;IACpD,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CAC3H;AAED,oBAAoB;AACpB,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AASvD;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,QAAQ,CAMxD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAEvE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AA8BzC,wBAAwB;AACxB,MAAM,SAAS,GAAmC;IAChD,MAAM,EAAE,IAAI,cAAc,EAAE;IAC5B,KAAK,EAAE,IAAI,aAAa,EAAE;IAC1B,IAAI,EAAE,IAAI,YAAY,EAAE;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAkB;IAC5C,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,QAAkB;IAC9D,SAAsC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-commit for worktree tasks
|
|
3
|
+
*
|
|
4
|
+
* After a successful workflow completion in a worktree,
|
|
5
|
+
* automatically stages all changes and creates a commit.
|
|
6
|
+
* No co-author trailer is added.
|
|
7
|
+
*/
|
|
8
|
+
export interface AutoCommitResult {
|
|
9
|
+
/** Whether the commit was created successfully */
|
|
10
|
+
success: boolean;
|
|
11
|
+
/** The short commit hash (if committed) */
|
|
12
|
+
commitHash?: string;
|
|
13
|
+
/** Human-readable message */
|
|
14
|
+
message: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Auto-commit all changes in a worktree directory.
|
|
18
|
+
*
|
|
19
|
+
* Steps:
|
|
20
|
+
* 1. Stage all changes (git add -A)
|
|
21
|
+
* 2. Check if there are staged changes (git status --porcelain)
|
|
22
|
+
* 3. If changes exist, create a commit with "takt: {taskName}"
|
|
23
|
+
*
|
|
24
|
+
* @param worktreeCwd - The worktree directory
|
|
25
|
+
* @param taskName - Task name used in commit message
|
|
26
|
+
*/
|
|
27
|
+
export declare function autoCommitWorktree(worktreeCwd: string, taskName: string): AutoCommitResult;
|
|
28
|
+
//# sourceMappingURL=autoCommit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autoCommit.d.ts","sourceRoot":"","sources":["../../src/task/autoCommit.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAoD1F"}
|