takt 0.3.4 → 0.3.6
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 +6 -12
- package/dist/cli.d.ts +9 -4
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +65 -21
- package/dist/cli.js.map +1 -1
- package/dist/commands/listTasks.d.ts +3 -2
- package/dist/commands/listTasks.d.ts.map +1 -1
- package/dist/commands/listTasks.js +6 -6
- package/dist/commands/listTasks.js.map +1 -1
- package/dist/commands/pipelineExecution.d.ts +5 -0
- package/dist/commands/pipelineExecution.d.ts.map +1 -1
- package/dist/commands/pipelineExecution.js +58 -45
- package/dist/commands/pipelineExecution.js.map +1 -1
- package/dist/commands/taskExecution.d.ts +8 -3
- package/dist/commands/taskExecution.d.ts.map +1 -1
- package/dist/commands/taskExecution.js +7 -5
- package/dist/commands/taskExecution.js.map +1 -1
- package/dist/commands/watchTasks.d.ts +2 -1
- package/dist/commands/watchTasks.d.ts.map +1 -1
- package/dist/commands/watchTasks.js +2 -2
- package/dist/commands/watchTasks.js.map +1 -1
- package/dist/commands/workflowExecution.d.ts +3 -0
- package/dist/commands/workflowExecution.d.ts.map +1 -1
- package/dist/commands/workflowExecution.js +28 -4
- package/dist/commands/workflowExecution.js.map +1 -1
- package/dist/config/initialization.d.ts.map +1 -1
- package/dist/config/initialization.js +1 -2
- package/dist/config/initialization.js.map +1 -1
- package/dist/exitCodes.d.ts +1 -0
- package/dist/exitCodes.d.ts.map +1 -1
- package/dist/exitCodes.js +1 -0
- package/dist/exitCodes.js.map +1 -1
- package/dist/utils/debug.d.ts.map +1 -1
- package/dist/utils/debug.js +21 -20
- package/dist/utils/debug.js.map +1 -1
- package/dist/workflow/engine.d.ts +5 -0
- package/dist/workflow/engine.d.ts.map +1 -1
- package/dist/workflow/engine.js +30 -6
- package/dist/workflow/engine.js.map +1 -1
- package/dist/workflow/types.d.ts +3 -0
- package/dist/workflow/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/resources/global/en/agents/review/pr-commenter.md +75 -0
- package/resources/global/en/workflows/default.yaml +1 -0
- package/resources/global/en/workflows/review-only.yaml +331 -0
- package/resources/global/ja/agents/review/pr-commenter.md +75 -0
- package/resources/global/ja/workflows/default.yaml +1 -0
- package/resources/global/ja/workflows/review-only.yaml +332 -0
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
* Task execution logic
|
|
3
3
|
*/
|
|
4
4
|
import { TaskRunner, type TaskInfo } from '../task/index.js';
|
|
5
|
+
import type { ProviderType } from '../providers/index.js';
|
|
6
|
+
export interface TaskExecutionOptions {
|
|
7
|
+
provider?: ProviderType;
|
|
8
|
+
model?: string;
|
|
9
|
+
}
|
|
5
10
|
/**
|
|
6
11
|
* Execute a single task with workflow
|
|
7
12
|
* @param task - Task content
|
|
@@ -9,7 +14,7 @@ import { TaskRunner, type TaskInfo } from '../task/index.js';
|
|
|
9
14
|
* @param workflowName - Workflow to use
|
|
10
15
|
* @param projectCwd - Project root (where .takt/ lives). Defaults to cwd.
|
|
11
16
|
*/
|
|
12
|
-
export declare function executeTask(task: string, cwd: string, workflowName?: string, projectCwd?: string): Promise<boolean>;
|
|
17
|
+
export declare function executeTask(task: string, cwd: string, workflowName?: string, projectCwd?: string, options?: TaskExecutionOptions): Promise<boolean>;
|
|
13
18
|
/**
|
|
14
19
|
* Execute a task: resolve clone → run workflow → auto-commit+push → remove clone → record completion.
|
|
15
20
|
*
|
|
@@ -18,14 +23,14 @@ export declare function executeTask(task: string, cwd: string, workflowName?: st
|
|
|
18
23
|
*
|
|
19
24
|
* @returns true if the task succeeded
|
|
20
25
|
*/
|
|
21
|
-
export declare function executeAndCompleteTask(task: TaskInfo, taskRunner: TaskRunner, cwd: string, workflowName: string): Promise<boolean>;
|
|
26
|
+
export declare function executeAndCompleteTask(task: TaskInfo, taskRunner: TaskRunner, cwd: string, workflowName: string, options?: TaskExecutionOptions): Promise<boolean>;
|
|
22
27
|
/**
|
|
23
28
|
* Run all pending tasks from .takt/tasks/
|
|
24
29
|
*
|
|
25
30
|
* タスクを動的に取得する。各タスク実行前に次のタスクを取得するため、
|
|
26
31
|
* 実行中にタスクファイルが追加・削除されても反映される。
|
|
27
32
|
*/
|
|
28
|
-
export declare function runAllTasks(cwd: string, workflowName?: string): Promise<void>;
|
|
33
|
+
export declare function runAllTasks(cwd: string, workflowName?: string, options?: TaskExecutionOptions): Promise<void>;
|
|
29
34
|
/**
|
|
30
35
|
* Resolve execution directory and workflow from task data.
|
|
31
36
|
* If the task has worktree settings, create a shared clone and use it as cwd.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taskExecution.d.ts","sourceRoot":"","sources":["../../src/commands/taskExecution.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"taskExecution.d.ts","sourceRoot":"","sources":["../../src/commands/taskExecution.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAe7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAI1D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,YAAY,GAAE,MAA8B,EAC5C,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,OAAO,CAAC,CAuBlB;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,OAAO,CAAC,CAqDlB;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,YAAY,GAAE,MAA8B,EAC5C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA0Cf;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiC1F"}
|
|
@@ -19,7 +19,7 @@ const log = createLogger('task');
|
|
|
19
19
|
* @param workflowName - Workflow to use
|
|
20
20
|
* @param projectCwd - Project root (where .takt/ lives). Defaults to cwd.
|
|
21
21
|
*/
|
|
22
|
-
export async function executeTask(task, cwd, workflowName = DEFAULT_WORKFLOW_NAME, projectCwd) {
|
|
22
|
+
export async function executeTask(task, cwd, workflowName = DEFAULT_WORKFLOW_NAME, projectCwd, options) {
|
|
23
23
|
const workflowConfig = loadWorkflow(workflowName);
|
|
24
24
|
if (!workflowConfig) {
|
|
25
25
|
error(`Workflow "${workflowName}" not found.`);
|
|
@@ -35,6 +35,8 @@ export async function executeTask(task, cwd, workflowName = DEFAULT_WORKFLOW_NAM
|
|
|
35
35
|
const result = await executeWorkflow(workflowConfig, task, cwd, {
|
|
36
36
|
projectCwd,
|
|
37
37
|
language: globalConfig.language,
|
|
38
|
+
provider: options?.provider,
|
|
39
|
+
model: options?.model,
|
|
38
40
|
});
|
|
39
41
|
return result.success;
|
|
40
42
|
}
|
|
@@ -46,13 +48,13 @@ export async function executeTask(task, cwd, workflowName = DEFAULT_WORKFLOW_NAM
|
|
|
46
48
|
*
|
|
47
49
|
* @returns true if the task succeeded
|
|
48
50
|
*/
|
|
49
|
-
export async function executeAndCompleteTask(task, taskRunner, cwd, workflowName) {
|
|
51
|
+
export async function executeAndCompleteTask(task, taskRunner, cwd, workflowName, options) {
|
|
50
52
|
const startedAt = new Date().toISOString();
|
|
51
53
|
const executionLog = [];
|
|
52
54
|
try {
|
|
53
55
|
const { execCwd, execWorkflow, isWorktree } = await resolveTaskExecution(task, cwd, workflowName);
|
|
54
56
|
// cwd is always the project root; pass it as projectCwd so reports/sessions go there
|
|
55
|
-
const taskSuccess = await executeTask(task.content, execCwd, execWorkflow, cwd);
|
|
57
|
+
const taskSuccess = await executeTask(task.content, execCwd, execWorkflow, cwd, options);
|
|
56
58
|
const completedAt = new Date().toISOString();
|
|
57
59
|
if (taskSuccess && isWorktree) {
|
|
58
60
|
const commitResult = autoCommitAndPush(execCwd, task.name, cwd);
|
|
@@ -101,7 +103,7 @@ export async function executeAndCompleteTask(task, taskRunner, cwd, workflowName
|
|
|
101
103
|
* タスクを動的に取得する。各タスク実行前に次のタスクを取得するため、
|
|
102
104
|
* 実行中にタスクファイルが追加・削除されても反映される。
|
|
103
105
|
*/
|
|
104
|
-
export async function runAllTasks(cwd, workflowName = DEFAULT_WORKFLOW_NAME) {
|
|
106
|
+
export async function runAllTasks(cwd, workflowName = DEFAULT_WORKFLOW_NAME, options) {
|
|
105
107
|
const taskRunner = new TaskRunner(cwd);
|
|
106
108
|
// 最初のタスクを取得
|
|
107
109
|
let task = taskRunner.getNextTask();
|
|
@@ -117,7 +119,7 @@ export async function runAllTasks(cwd, workflowName = DEFAULT_WORKFLOW_NAME) {
|
|
|
117
119
|
console.log();
|
|
118
120
|
info(`=== Task: ${task.name} ===`);
|
|
119
121
|
console.log();
|
|
120
|
-
const taskSuccess = await executeAndCompleteTask(task, taskRunner, cwd, workflowName);
|
|
122
|
+
const taskSuccess = await executeAndCompleteTask(task, taskRunner, cwd, workflowName, options);
|
|
121
123
|
if (taskSuccess) {
|
|
122
124
|
successCount++;
|
|
123
125
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taskExecution.js","sourceRoot":"","sources":["../../src/commands/taskExecution.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAiB,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,MAAM,EACN,IAAI,EACJ,KAAK,EACL,OAAO,EACP,MAAM,GACP,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"taskExecution.js","sourceRoot":"","sources":["../../src/commands/taskExecution.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
* Watches .takt/tasks/ for new task files and executes them automatically.
|
|
5
5
|
* Stays resident until Ctrl+C (SIGINT).
|
|
6
6
|
*/
|
|
7
|
+
import type { TaskExecutionOptions } from './taskExecution.js';
|
|
7
8
|
/**
|
|
8
9
|
* Watch for tasks and execute them as they appear.
|
|
9
10
|
* Runs until Ctrl+C.
|
|
10
11
|
*/
|
|
11
|
-
export declare function watchTasks(cwd: string): Promise<void>;
|
|
12
|
+
export declare function watchTasks(cwd: string, options?: TaskExecutionOptions): Promise<void>;
|
|
12
13
|
//# sourceMappingURL=watchTasks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchTasks.d.ts","sourceRoot":"","sources":["../../src/commands/watchTasks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"watchTasks.d.ts","sourceRoot":"","sources":["../../src/commands/watchTasks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D;;;GAGG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyD3F"}
|
|
@@ -14,7 +14,7 @@ import { DEFAULT_WORKFLOW_NAME } from '../constants.js';
|
|
|
14
14
|
* Watch for tasks and execute them as they appear.
|
|
15
15
|
* Runs until Ctrl+C.
|
|
16
16
|
*/
|
|
17
|
-
export async function watchTasks(cwd) {
|
|
17
|
+
export async function watchTasks(cwd, options) {
|
|
18
18
|
const workflowName = getCurrentWorkflow(cwd) || DEFAULT_WORKFLOW_NAME;
|
|
19
19
|
const taskRunner = new TaskRunner(cwd);
|
|
20
20
|
const watcher = new TaskWatcher(cwd);
|
|
@@ -39,7 +39,7 @@ export async function watchTasks(cwd) {
|
|
|
39
39
|
console.log();
|
|
40
40
|
info(`=== Task ${taskCount}: ${task.name} ===`);
|
|
41
41
|
console.log();
|
|
42
|
-
const taskSuccess = await executeAndCompleteTask(task, taskRunner, cwd, workflowName);
|
|
42
|
+
const taskSuccess = await executeAndCompleteTask(task, taskRunner, cwd, workflowName, options);
|
|
43
43
|
if (taskSuccess) {
|
|
44
44
|
successCount++;
|
|
45
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchTasks.js","sourceRoot":"","sources":["../../src/commands/watchTasks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAiB,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EACL,MAAM,EACN,IAAI,EACJ,OAAO,EACP,MAAM,GACP,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"watchTasks.js","sourceRoot":"","sources":["../../src/commands/watchTasks.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Workflow execution logic
|
|
3
3
|
*/
|
|
4
4
|
import type { WorkflowConfig, Language } from '../models/types.js';
|
|
5
|
+
import type { ProviderType } from '../providers/index.js';
|
|
5
6
|
/** Result of workflow execution */
|
|
6
7
|
export interface WorkflowExecutionResult {
|
|
7
8
|
success: boolean;
|
|
@@ -15,6 +16,8 @@ export interface WorkflowExecutionOptions {
|
|
|
15
16
|
projectCwd?: string;
|
|
16
17
|
/** Language for instruction metadata */
|
|
17
18
|
language?: Language;
|
|
19
|
+
provider?: ProviderType;
|
|
20
|
+
model?: string;
|
|
18
21
|
}
|
|
19
22
|
/**
|
|
20
23
|
* Execute a workflow and handle all events
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflowExecution.d.ts","sourceRoot":"","sources":["../../src/commands/workflowExecution.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"workflowExecution.d.ts","sourceRoot":"","sources":["../../src/commands/workflowExecution.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAsD1D,mCAAmC;AACnC,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qCAAqC;AACrC,MAAM,WAAW,wBAAwB;IACvC,gCAAgC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,uBAAuB,CAAC,CA2QlC"}
|
|
@@ -10,6 +10,7 @@ import { generateSessionId, createSessionLog, finalizeSessionLog, updateLatestPo
|
|
|
10
10
|
import { createLogger } from '../utils/debug.js';
|
|
11
11
|
import { notifySuccess, notifyError } from '../utils/notification.js';
|
|
12
12
|
import { selectOption, promptInput } from '../prompt/index.js';
|
|
13
|
+
import { EXIT_SIGINT } from '../exitCodes.js';
|
|
13
14
|
const log = createLogger('workflow');
|
|
14
15
|
/**
|
|
15
16
|
* Format elapsed time in human-readable format
|
|
@@ -105,6 +106,8 @@ export async function executeWorkflow(workflowConfig, task, cwd, options = {}) {
|
|
|
105
106
|
onIterationLimit: iterationLimitHandler,
|
|
106
107
|
projectCwd,
|
|
107
108
|
language: options.language,
|
|
109
|
+
provider: options.provider,
|
|
110
|
+
model: options.model,
|
|
108
111
|
});
|
|
109
112
|
let abortReason;
|
|
110
113
|
engine.on('step:start', (step, iteration, instruction) => {
|
|
@@ -227,10 +230,31 @@ export async function executeWorkflow(workflowConfig, task, cwd, options = {}) {
|
|
|
227
230
|
info(`Session log: ${ndjsonLogPath}`);
|
|
228
231
|
notifyError('TAKT', `中断: ${reason}`);
|
|
229
232
|
});
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
233
|
+
// SIGINT handler: 1st Ctrl+C = graceful abort, 2nd = force exit
|
|
234
|
+
let sigintCount = 0;
|
|
235
|
+
const onSigInt = () => {
|
|
236
|
+
sigintCount++;
|
|
237
|
+
if (sigintCount === 1) {
|
|
238
|
+
console.log();
|
|
239
|
+
warn('Ctrl+C: ワークフローを中断しています...');
|
|
240
|
+
engine.abort();
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
console.log();
|
|
244
|
+
error('Ctrl+C: 強制終了します');
|
|
245
|
+
process.exit(EXIT_SIGINT);
|
|
246
|
+
}
|
|
234
247
|
};
|
|
248
|
+
process.on('SIGINT', onSigInt);
|
|
249
|
+
try {
|
|
250
|
+
const finalState = await engine.run();
|
|
251
|
+
return {
|
|
252
|
+
success: finalState.status === 'completed',
|
|
253
|
+
reason: abortReason,
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
finally {
|
|
257
|
+
process.removeListener('SIGINT', onSigInt);
|
|
258
|
+
}
|
|
235
259
|
}
|
|
236
260
|
//# sourceMappingURL=workflowExecution.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflowExecution.js","sourceRoot":"","sources":["../../src/commands/workflowExecution.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"workflowExecution.js","sourceRoot":"","sources":["../../src/commands/workflowExecution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialization.d.ts","sourceRoot":"","sources":["../../src/config/initialization.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"initialization.d.ts","sourceRoot":"","sources":["../../src/config/initialization.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAYnD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,QAAQ,CAAC,CAiBjE;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,CAiB3E;AAED,kDAAkD;AAClD,MAAM,WAAW,qBAAqB;IACpC,yDAAyD;IACzD,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBnF;AAYD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAIxD"}
|
|
@@ -9,7 +9,7 @@ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
|
9
9
|
import { join } from 'node:path';
|
|
10
10
|
import { DEFAULT_LANGUAGE } from '../constants.js';
|
|
11
11
|
import { selectOptionWithDefault } from '../prompt/index.js';
|
|
12
|
-
import { getGlobalConfigDir, getGlobalConfigPath,
|
|
12
|
+
import { getGlobalConfigDir, getGlobalConfigPath, getProjectConfigDir, ensureDir, } from './paths.js';
|
|
13
13
|
import { copyProjectResourcesToDir, getLanguageResourcesDir } from '../resources/index.js';
|
|
14
14
|
import { setLanguage, setProvider } from './globalConfig.js';
|
|
15
15
|
/**
|
|
@@ -60,7 +60,6 @@ export async function promptProviderSelection() {
|
|
|
60
60
|
*/
|
|
61
61
|
export async function initGlobalDirs(options) {
|
|
62
62
|
ensureDir(getGlobalConfigDir());
|
|
63
|
-
ensureDir(getGlobalLogsDir());
|
|
64
63
|
if (needsLanguageSetup()) {
|
|
65
64
|
const isInteractive = !options?.nonInteractive && process.stdin.isTTY === true;
|
|
66
65
|
if (!isInteractive) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialization.js","sourceRoot":"","sources":["../../src/config/initialization.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"initialization.js","sourceRoot":"","sources":["../../src/config/initialization.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,GACV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,MAAM,OAAO,GAAyC;QACpD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;QACjC,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE;KACzC,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAC1C,qFAAqF,EACrF,OAAO,EACP,gBAAgB,CACjB,CAAC;IAEF,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,MAAM,OAAO,GAAmD;QAC9D,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE;QACzC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;KACnC,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAC1C,2DAA2D,EAC3D,OAAO,EACP,QAAQ,CACT,CAAC;IAEF,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAQD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA+B;IAClE,SAAS,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAEhC,IAAI,kBAAkB,EAAE,EAAE,CAAC;QACzB,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;QAE/E,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,yFAAyF;YACzF,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,uBAAuB,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,uBAAuB,EAAE,CAAC;QAEjD,gDAAgD;QAChD,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAE7B,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,WAAW,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,oFAAoF;AACpF,SAAS,sBAAsB,CAAC,IAAc;IAC5C,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IACvC,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjD,aAAa,CAAC,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB;IAChD,MAAM,SAAS,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAClD,SAAS,CAAC,SAAS,CAAC,CAAC;IACrB,yBAAyB,CAAC,SAAS,CAAC,CAAC;AACvC,CAAC"}
|
package/dist/exitCodes.d.ts
CHANGED
|
@@ -10,4 +10,5 @@ export declare const EXIT_ISSUE_FETCH_FAILED = 2;
|
|
|
10
10
|
export declare const EXIT_WORKFLOW_FAILED = 3;
|
|
11
11
|
export declare const EXIT_GIT_OPERATION_FAILED = 4;
|
|
12
12
|
export declare const EXIT_PR_CREATION_FAILED = 5;
|
|
13
|
+
export declare const EXIT_SIGINT = 130;
|
|
13
14
|
//# sourceMappingURL=exitCodes.d.ts.map
|
package/dist/exitCodes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exitCodes.d.ts","sourceRoot":"","sources":["../src/exitCodes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,eAAO,MAAM,uBAAuB,IAAI,CAAC"}
|
|
1
|
+
{"version":3,"file":"exitCodes.d.ts","sourceRoot":"","sources":["../src/exitCodes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,WAAW,MAAM,CAAC"}
|
package/dist/exitCodes.js
CHANGED
|
@@ -10,4 +10,5 @@ export const EXIT_ISSUE_FETCH_FAILED = 2;
|
|
|
10
10
|
export const EXIT_WORKFLOW_FAILED = 3;
|
|
11
11
|
export const EXIT_GIT_OPERATION_FAILED = 4;
|
|
12
12
|
export const EXIT_PR_CREATION_FAILED = 5;
|
|
13
|
+
export const EXIT_SIGINT = 130; // 128 + SIGINT(2), UNIX convention
|
|
13
14
|
//# sourceMappingURL=exitCodes.js.map
|
package/dist/exitCodes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exitCodes.js","sourceRoot":"","sources":["../src/exitCodes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAC9B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AACpC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAC3C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"exitCodes.js","sourceRoot":"","sources":["../src/exitCodes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAC9B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AACpC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAC3C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,mCAAmC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAgBtD,0CAA0C;AAC1C,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAoC/E;AAED,uCAAuC;AACvC,wBAAgB,gBAAgB,IAAI,IAAI,CAKvC;AAED,+CAA+C;AAC/C,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAExD;AAED,0CAA0C;AAC1C,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED,gCAAgC;AAChC,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED,sCAAsC;AACtC,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAE/C;AA8CD,8BAA8B;AAC9B,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAEjF;AAED,8BAA8B;AAC9B,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAEhF;AAED,+BAA+B;AAC/B,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAEjF;AAED,wCAAwC;AACxC,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAEpG;AAED,oCAAoC;AACpC,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAErF;AAED,6CAA6C;AAC7C,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM;qBAEzB,MAAM,SAAS,OAAO;oBACvB,MAAM,SAAS,OAAO;qBACrB,MAAM,SAAS,OAAO;sBACrB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;qBACvC,MAAM,WAAW,OAAO;EAE5C"}
|
package/dist/utils/debug.js
CHANGED
|
@@ -5,17 +5,16 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { existsSync, appendFileSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
7
7
|
import { dirname, join } from 'node:path';
|
|
8
|
-
import { homedir } from 'node:os';
|
|
9
8
|
/** Debug logger state */
|
|
10
9
|
let debugEnabled = false;
|
|
11
10
|
let debugLogFile = null;
|
|
12
11
|
let initialized = false;
|
|
13
12
|
/** Verbose console output state */
|
|
14
13
|
let verboseConsoleEnabled = false;
|
|
15
|
-
/** Get default debug log file path */
|
|
16
|
-
function getDefaultLogFile() {
|
|
14
|
+
/** Get default debug log file path (requires projectDir) */
|
|
15
|
+
function getDefaultLogFile(projectDir) {
|
|
17
16
|
const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
|
|
18
|
-
return join(
|
|
17
|
+
return join(projectDir, '.takt', 'logs', `debug-${timestamp}.log`);
|
|
19
18
|
}
|
|
20
19
|
/** Initialize debug logger from config */
|
|
21
20
|
export function initDebugLogger(config, projectDir) {
|
|
@@ -27,24 +26,26 @@ export function initDebugLogger(config, projectDir) {
|
|
|
27
26
|
if (config?.logFile) {
|
|
28
27
|
debugLogFile = config.logFile;
|
|
29
28
|
}
|
|
30
|
-
else {
|
|
31
|
-
debugLogFile = getDefaultLogFile();
|
|
29
|
+
else if (projectDir) {
|
|
30
|
+
debugLogFile = getDefaultLogFile(projectDir);
|
|
32
31
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
32
|
+
if (debugLogFile) {
|
|
33
|
+
// Ensure log directory exists
|
|
34
|
+
const logDir = dirname(debugLogFile);
|
|
35
|
+
if (!existsSync(logDir)) {
|
|
36
|
+
mkdirSync(logDir, { recursive: true });
|
|
37
|
+
}
|
|
38
|
+
// Write initial log header
|
|
39
|
+
const header = [
|
|
40
|
+
'='.repeat(60),
|
|
41
|
+
`TAKT Debug Log`,
|
|
42
|
+
`Started: ${new Date().toISOString()}`,
|
|
43
|
+
`Project: ${projectDir || 'N/A'}`,
|
|
44
|
+
'='.repeat(60),
|
|
45
|
+
'',
|
|
46
|
+
].join('\n');
|
|
47
|
+
writeFileSync(debugLogFile, header, 'utf-8');
|
|
37
48
|
}
|
|
38
|
-
// Write initial log header
|
|
39
|
-
const header = [
|
|
40
|
-
'='.repeat(60),
|
|
41
|
-
`TAKT Debug Log`,
|
|
42
|
-
`Started: ${new Date().toISOString()}`,
|
|
43
|
-
`Project: ${projectDir || 'N/A'}`,
|
|
44
|
-
'='.repeat(60),
|
|
45
|
-
'',
|
|
46
|
-
].join('\n');
|
|
47
|
-
writeFileSync(debugLogFile, header, 'utf-8');
|
|
48
49
|
}
|
|
49
50
|
initialized = true;
|
|
50
51
|
}
|
package/dist/utils/debug.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ export declare class WorkflowEngine extends EventEmitter {
|
|
|
17
17
|
private loopDetector;
|
|
18
18
|
private language;
|
|
19
19
|
private reportDir;
|
|
20
|
+
private abortRequested;
|
|
20
21
|
constructor(config: WorkflowConfig, cwd: string, task: string, options?: WorkflowEngineOptions);
|
|
21
22
|
/** Ensure report directory exists (always in project root, not clone) */
|
|
22
23
|
private ensureReportDirExists;
|
|
@@ -32,6 +33,10 @@ export declare class WorkflowEngine extends EventEmitter {
|
|
|
32
33
|
getCwd(): string;
|
|
33
34
|
/** Get project root directory (where .takt/ lives) */
|
|
34
35
|
getProjectCwd(): string;
|
|
36
|
+
/** Request graceful abort: interrupt running queries and stop after current step */
|
|
37
|
+
abort(): void;
|
|
38
|
+
/** Check if abort has been requested */
|
|
39
|
+
isAbortRequested(): boolean;
|
|
35
40
|
/** Build instruction from template */
|
|
36
41
|
private buildInstruction;
|
|
37
42
|
/** Get step by name */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/workflow/engine.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EAEb,aAAa,EACd,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/workflow/engine.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EAEb,aAAa,EACd,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAqBxD,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE3D,wDAAwD;AACxD,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAS;gBAEnB,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B;IAqBlG,yEAAyE;IACzE,OAAO,CAAC,qBAAqB;IAmB7B,2DAA2D;IAC3D,OAAO,CAAC,cAAc;IAuBtB,iCAAiC;IACjC,QAAQ,IAAI,aAAa;IAIzB,qBAAqB;IACrB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIjC,+BAA+B;IAC/B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,oCAAoC;IACpC,MAAM,IAAI,MAAM;IAIhB,sDAAsD;IACtD,aAAa,IAAI,MAAM;IAIvB,oFAAoF;IACpF,KAAK,IAAI,IAAI;IAOb,wCAAwC;IACxC,gBAAgB,IAAI,OAAO;IAI3B,sCAAsC;IACtC,OAAO,CAAC,gBAAgB;IAexB,uBAAuB;IACvB,OAAO,CAAC,OAAO;IAQf;;;OAGG;IACH,OAAO,CAAC,eAAe;IAgBvB,iDAAiD;IACjD,OAAO,CAAC,kBAAkB;IAO1B,sFAAsF;YACxE,OAAO;IAOrB,wDAAwD;IACxD,OAAO,CAAC,gBAAgB;IAcxB,kEAAkE;IAClE,OAAO,CAAC,iBAAiB;IAazB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B,sEAAsE;IACtE,OAAO,CAAC,kBAAkB;IAW1B,yDAAyD;IACzD,OAAO,CAAC,uBAAuB;IAW/B,uCAAuC;YACzB,aAAa;IA6C3B;;;;;;OAMG;YACW,eAAe;IAkG7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB,qCAAqC;IAC/B,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;IA+GnC,oDAAoD;IAC9C,kBAAkB,IAAI,OAAO,CAAC;QAClC,QAAQ,EAAE,aAAa,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,OAAO,CAAC;QACpB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CAgCH"}
|
package/dist/workflow/engine.js
CHANGED
|
@@ -16,6 +16,7 @@ import { needsStatusJudgmentPhase, runReportPhase, runStatusJudgmentPhase } from
|
|
|
16
16
|
import { createInitialState, addUserInput, getPreviousOutput, incrementStepIteration, } from './state-manager.js';
|
|
17
17
|
import { generateReportDir } from '../utils/session.js';
|
|
18
18
|
import { createLogger } from '../utils/debug.js';
|
|
19
|
+
import { interruptAllQueries } from '../claude/query-manager.js';
|
|
19
20
|
const log = createLogger('engine');
|
|
20
21
|
export { COMPLETE_STEP, ABORT_STEP } from './constants.js';
|
|
21
22
|
/** Workflow engine for orchestrating agent execution */
|
|
@@ -29,6 +30,7 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
29
30
|
loopDetector;
|
|
30
31
|
language;
|
|
31
32
|
reportDir;
|
|
33
|
+
abortRequested = false;
|
|
32
34
|
constructor(config, cwd, task, options = {}) {
|
|
33
35
|
super();
|
|
34
36
|
this.config = config;
|
|
@@ -103,6 +105,18 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
103
105
|
getProjectCwd() {
|
|
104
106
|
return this.projectCwd;
|
|
105
107
|
}
|
|
108
|
+
/** Request graceful abort: interrupt running queries and stop after current step */
|
|
109
|
+
abort() {
|
|
110
|
+
if (this.abortRequested)
|
|
111
|
+
return;
|
|
112
|
+
this.abortRequested = true;
|
|
113
|
+
log.info('Abort requested');
|
|
114
|
+
interruptAllQueries();
|
|
115
|
+
}
|
|
116
|
+
/** Check if abort has been requested */
|
|
117
|
+
isAbortRequested() {
|
|
118
|
+
return this.abortRequested;
|
|
119
|
+
}
|
|
106
120
|
/** Build instruction from template */
|
|
107
121
|
buildInstruction(step, stepIteration) {
|
|
108
122
|
return buildInstructionFromTemplate(step, {
|
|
@@ -114,7 +128,7 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
114
128
|
projectCwd: this.projectCwd,
|
|
115
129
|
userInputs: this.state.userInputs,
|
|
116
130
|
previousOutput: getPreviousOutput(this.state),
|
|
117
|
-
reportDir: join(this.
|
|
131
|
+
reportDir: join(this.cwd, this.reportDir),
|
|
118
132
|
language: this.language,
|
|
119
133
|
});
|
|
120
134
|
}
|
|
@@ -166,8 +180,8 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
166
180
|
return {
|
|
167
181
|
cwd: this.cwd,
|
|
168
182
|
agentPath: step.agentPath,
|
|
169
|
-
provider: step.provider,
|
|
170
|
-
model: step.model,
|
|
183
|
+
provider: step.provider ?? this.options.provider,
|
|
184
|
+
model: step.model ?? this.options.model,
|
|
171
185
|
permissionMode: step.permissionMode,
|
|
172
186
|
onStream: this.options.onStream,
|
|
173
187
|
onPermissionRequest: this.options.onPermissionRequest,
|
|
@@ -212,7 +226,7 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
212
226
|
buildPhaseRunnerContext() {
|
|
213
227
|
return {
|
|
214
228
|
cwd: this.cwd,
|
|
215
|
-
reportDir: join(this.
|
|
229
|
+
reportDir: join(this.cwd, this.reportDir),
|
|
216
230
|
language: this.language,
|
|
217
231
|
getSessionId: (agent) => this.state.agentSessions.get(agent),
|
|
218
232
|
buildResumeOptions: this.buildResumeOptions.bind(this),
|
|
@@ -355,6 +369,11 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
355
369
|
/** Run the workflow to completion */
|
|
356
370
|
async run() {
|
|
357
371
|
while (this.state.status === 'running') {
|
|
372
|
+
if (this.abortRequested) {
|
|
373
|
+
this.state.status = 'aborted';
|
|
374
|
+
this.emit('workflow:abort', this.state, 'Workflow interrupted by user (SIGINT)');
|
|
375
|
+
break;
|
|
376
|
+
}
|
|
358
377
|
if (this.state.iteration >= this.config.maxIterations) {
|
|
359
378
|
this.emit('iteration:limit', this.state.iteration, this.config.maxIterations);
|
|
360
379
|
if (this.options.onIterationLimit) {
|
|
@@ -429,9 +448,14 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
429
448
|
this.state.currentStep = nextStep;
|
|
430
449
|
}
|
|
431
450
|
catch (error) {
|
|
432
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
433
451
|
this.state.status = 'aborted';
|
|
434
|
-
|
|
452
|
+
if (this.abortRequested) {
|
|
453
|
+
this.emit('workflow:abort', this.state, 'Workflow interrupted by user (SIGINT)');
|
|
454
|
+
}
|
|
455
|
+
else {
|
|
456
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
457
|
+
this.emit('workflow:abort', this.state, ERROR_MESSAGES.STEP_EXECUTION_FAILED(message));
|
|
458
|
+
}
|
|
435
459
|
break;
|
|
436
460
|
}
|
|
437
461
|
}
|