takt 0.35.2 → 0.35.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/models/piece-types.d.ts +3 -0
- package/dist/core/models/piece-types.d.ts.map +1 -1
- package/dist/core/models/workflow-schemas.d.ts +98 -0
- package/dist/core/models/workflow-schemas.d.ts.map +1 -1
- package/dist/core/models/workflow-schemas.js +2 -0
- package/dist/core/models/workflow-schemas.js.map +1 -1
- package/dist/core/piece/engine/MovementExecutor.d.ts +3 -3
- package/dist/core/piece/engine/MovementExecutor.d.ts.map +1 -1
- package/dist/core/piece/engine/MovementExecutor.js +7 -7
- package/dist/core/piece/engine/MovementExecutor.js.map +1 -1
- package/dist/core/piece/engine/OptionsBuilder.d.ts +7 -7
- package/dist/core/piece/engine/OptionsBuilder.d.ts.map +1 -1
- package/dist/core/piece/engine/OptionsBuilder.js +18 -15
- package/dist/core/piece/engine/OptionsBuilder.js.map +1 -1
- package/dist/core/piece/engine/PieceEngine.d.ts.map +1 -1
- package/dist/core/piece/engine/PieceEngine.js +36 -6
- package/dist/core/piece/engine/PieceEngine.js.map +1 -1
- package/dist/core/piece/phase-runner.js +3 -1
- package/dist/core/piece/phase-runner.js.map +1 -1
- package/dist/core/piece/provider-model-compatibility.d.ts +7 -0
- package/dist/core/piece/provider-model-compatibility.d.ts.map +1 -0
- package/dist/core/piece/provider-model-compatibility.js +20 -0
- package/dist/core/piece/provider-model-compatibility.js.map +1 -0
- package/dist/core/piece/provider-resolution.d.ts +13 -1
- package/dist/core/piece/provider-resolution.d.ts.map +1 -1
- package/dist/core/piece/provider-resolution.js +13 -0
- package/dist/core/piece/provider-resolution.js.map +1 -1
- package/dist/core/piece/session-key.d.ts +2 -1
- package/dist/core/piece/session-key.d.ts.map +1 -1
- package/dist/core/piece/session-key.js +3 -2
- package/dist/core/piece/session-key.js.map +1 -1
- package/dist/core/piece/types.d.ts +3 -0
- package/dist/core/piece/types.d.ts.map +1 -1
- package/dist/features/tasks/execute/postExecution.d.ts.map +1 -1
- package/dist/features/tasks/execute/postExecution.js +14 -22
- package/dist/features/tasks/execute/postExecution.js.map +1 -1
- package/dist/features/tasks/list/index.js +2 -2
- package/dist/features/tasks/list/index.js.map +1 -1
- package/dist/features/tasks/list/listNonInteractive.d.ts.map +1 -1
- package/dist/features/tasks/list/listNonInteractive.js +8 -16
- package/dist/features/tasks/list/listNonInteractive.js.map +1 -1
- package/dist/features/tasks/list/taskActionTarget.d.ts +1 -0
- package/dist/features/tasks/list/taskActionTarget.d.ts.map +1 -1
- package/dist/features/tasks/list/taskActionTarget.js +43 -2
- package/dist/features/tasks/list/taskActionTarget.js.map +1 -1
- package/dist/features/tasks/list/taskActions.d.ts +1 -1
- package/dist/features/tasks/list/taskActions.d.ts.map +1 -1
- package/dist/features/tasks/list/taskActions.js +1 -1
- package/dist/features/tasks/list/taskActions.js.map +1 -1
- package/dist/features/tasks/list/taskBranchLifecycleActions.d.ts.map +1 -1
- package/dist/features/tasks/list/taskBranchLifecycleActions.js +24 -3
- package/dist/features/tasks/list/taskBranchLifecycleActions.js.map +1 -1
- package/dist/features/tasks/list/taskDiffActions.d.ts +2 -1
- package/dist/features/tasks/list/taskDiffActions.d.ts.map +1 -1
- package/dist/features/tasks/list/taskDiffActions.js +22 -9
- package/dist/features/tasks/list/taskDiffActions.js.map +1 -1
- package/dist/features/tasks/list/taskSyncAction.d.ts.map +1 -1
- package/dist/features/tasks/list/taskSyncAction.js +30 -10
- package/dist/features/tasks/list/taskSyncAction.js.map +1 -1
- package/dist/infra/codex/client.d.ts.map +1 -1
- package/dist/infra/codex/client.js +7 -5
- package/dist/infra/codex/client.js.map +1 -1
- package/dist/infra/config/loaders/pieceParser.d.ts.map +1 -1
- package/dist/infra/config/loaders/pieceParser.js +30 -3
- package/dist/infra/config/loaders/pieceParser.js.map +1 -1
- package/dist/infra/config/providerModelCompatibility.d.ts +1 -6
- package/dist/infra/config/providerModelCompatibility.d.ts.map +1 -1
- package/dist/infra/config/providerModelCompatibility.js +1 -19
- package/dist/infra/config/providerModelCompatibility.js.map +1 -1
- package/dist/infra/task/autoCommit.js +3 -3
- package/dist/infra/task/autoCommit.js.map +1 -1
- package/dist/infra/task/clone.d.ts +1 -1
- package/dist/infra/task/clone.d.ts.map +1 -1
- package/dist/infra/task/clone.js +1 -1
- package/dist/infra/task/clone.js.map +1 -1
- package/dist/infra/task/git.d.ts +1 -0
- package/dist/infra/task/git.d.ts.map +1 -1
- package/dist/infra/task/git.js +7 -0
- package/dist/infra/task/git.js.map +1 -1
- package/dist/infra/task/index.d.ts +2 -2
- package/dist/infra/task/index.d.ts.map +1 -1
- package/dist/infra/task/index.js +2 -2
- package/dist/infra/task/index.js.map +1 -1
- package/dist/shared/utils/providerModel.js +1 -1
- package/dist/shared/utils/providerModel.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/features/tasks/list/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/features/tasks/list/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listNonInteractive.d.ts","sourceRoot":"","sources":["../../../../src/features/tasks/list/listNonInteractive.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;
|
|
1
|
+
{"version":3,"file":"listNonInteractive.d.ts","sourceRoot":"","sources":["../../../../src/features/tasks/list/listNonInteractive.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAqBD;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,yBAAyB,GACxC,OAAO,CAAC,IAAI,CAAC,CA4Df"}
|
|
@@ -4,13 +4,12 @@
|
|
|
4
4
|
* Handles --non-interactive output (text/JSON) and
|
|
5
5
|
* non-interactive branch actions (--action, --branch).
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
8
|
-
import { detectDefaultBranch, TaskRunner, serializeTaskListItemForJson, } from '../../../infra/task/index.js';
|
|
7
|
+
import { TaskRunner, serializeTaskListItemForJson, } from '../../../infra/task/index.js';
|
|
9
8
|
import { info } from '../../../shared/ui/index.js';
|
|
10
|
-
import { tryMergeBranch, mergeBranch, deleteBranch, } from './taskActions.js';
|
|
9
|
+
import { tryMergeBranch, mergeBranch, deleteBranch, showDiffStatForTask, syncBranchWithRoot, } from './taskActions.js';
|
|
11
10
|
import { formatTaskStatusLabel, formatShortDate } from './taskStatusLabel.js';
|
|
12
11
|
function isValidAction(action) {
|
|
13
|
-
return action === 'diff' || action === 'try' || action === 'merge' || action === 'delete';
|
|
12
|
+
return action === 'diff' || action === 'sync' || action === 'try' || action === 'merge' || action === 'delete';
|
|
14
13
|
}
|
|
15
14
|
function printNonInteractiveList(tasks, format) {
|
|
16
15
|
const outputFormat = format ?? 'text';
|
|
@@ -25,20 +24,10 @@ function printNonInteractiveList(tasks, format) {
|
|
|
25
24
|
info(`${formatTaskStatusLabel(task)} - ${task.summary ?? task.content} (${formatShortDate(task.createdAt)})`);
|
|
26
25
|
}
|
|
27
26
|
}
|
|
28
|
-
function showDiffStat(projectDir, defaultBranch, branch) {
|
|
29
|
-
try {
|
|
30
|
-
const stat = execFileSync('git', ['diff', '--stat', `${defaultBranch}...${branch}`], { cwd: projectDir, encoding: 'utf-8', stdio: 'pipe' });
|
|
31
|
-
info(stat);
|
|
32
|
-
}
|
|
33
|
-
catch {
|
|
34
|
-
info('Could not generate diff stat');
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
27
|
/**
|
|
38
28
|
* Run list-tasks in non-interactive mode.
|
|
39
29
|
*/
|
|
40
30
|
export async function listTasksNonInteractive(cwd, nonInteractive) {
|
|
41
|
-
const defaultBranch = detectDefaultBranch(cwd);
|
|
42
31
|
const runner = new TaskRunner(cwd);
|
|
43
32
|
const tasks = runner.listAllTaskItems();
|
|
44
33
|
if (tasks.length === 0) {
|
|
@@ -59,7 +48,7 @@ export async function listTasksNonInteractive(cwd, nonInteractive) {
|
|
|
59
48
|
process.exit(1);
|
|
60
49
|
}
|
|
61
50
|
if (!isValidAction(nonInteractive.action)) {
|
|
62
|
-
info('Invalid --action. Use one of: diff, try, merge, delete.');
|
|
51
|
+
info('Invalid --action. Use one of: diff, sync, try, merge, delete.');
|
|
63
52
|
process.exit(1);
|
|
64
53
|
}
|
|
65
54
|
const task = tasks.find((entry) => entry.kind === 'completed' && entry.branch === nonInteractive.branch);
|
|
@@ -69,11 +58,14 @@ export async function listTasksNonInteractive(cwd, nonInteractive) {
|
|
|
69
58
|
}
|
|
70
59
|
switch (nonInteractive.action) {
|
|
71
60
|
case 'diff':
|
|
72
|
-
|
|
61
|
+
showDiffStatForTask(cwd, task);
|
|
73
62
|
return;
|
|
74
63
|
case 'try':
|
|
75
64
|
tryMergeBranch(cwd, task);
|
|
76
65
|
return;
|
|
66
|
+
case 'sync':
|
|
67
|
+
await syncBranchWithRoot(cwd, task);
|
|
68
|
+
return;
|
|
77
69
|
case 'merge':
|
|
78
70
|
if (mergeBranch(cwd, task)) {
|
|
79
71
|
runner.deleteTask(task.name, 'completed');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listNonInteractive.js","sourceRoot":"","sources":["../../../../src/features/tasks/list/listNonInteractive.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"listNonInteractive.js","sourceRoot":"","sources":["../../../../src/features/tasks/list/listNonInteractive.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ export declare function resolveTargetInstruction(target: BranchActionTarget): st
|
|
|
12
12
|
export declare function validateWorktreeTarget(target: BranchActionTarget, actionName: string): target is TaskListItem & {
|
|
13
13
|
worktreePath: string;
|
|
14
14
|
};
|
|
15
|
+
export declare function ensureRootBranchReady(projectDir: string, target: BranchActionTarget, actionName: string): boolean;
|
|
15
16
|
/** Relay push: clone HEAD を root repo 経由で origin へ転送する(checked-out branch を変更しない) */
|
|
16
17
|
export declare function pushWorktreeToOrigin(worktreePath: string, projectDir: string, branch: string): void;
|
|
17
18
|
//# sourceMappingURL=taskActionTarget.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taskActionTarget.d.ts","sourceRoot":"","sources":["../../../../src/features/tasks/list/taskActionTarget.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAIjF,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5F,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,qBAAqB,CAAC,CAAC;AAErG,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAQtE;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAKxF;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAK3E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,kBAAkB,EAC1B,UAAU,EAAE,MAAM,GACjB,MAAM,IAAI,YAAY,GAAG;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,CAUnD;AAED,qFAAqF;AACrF,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"taskActionTarget.d.ts","sourceRoot":"","sources":["../../../../src/features/tasks/list/taskActionTarget.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAIjF,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5F,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,qBAAqB,CAAC,CAAC;AAErG,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAQtE;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAKxF;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAK3E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,kBAAkB,EAC1B,UAAU,EAAE,MAAM,GACjB,MAAM,IAAI,YAAY,GAAG;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,CAUnD;AAED,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,kBAAkB,EAC1B,UAAU,EAAE,MAAM,GACjB,OAAO,CAwCT;AAED,qFAAqF;AACrF,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAInG"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as fs from 'node:fs';
|
|
2
|
-
import {
|
|
2
|
+
import { localBranchExists, materializeCloneHeadToRootBranch, relayPushCloneToOrigin } from '../../../infra/task/index.js';
|
|
3
|
+
import { error as logError, info } from '../../../shared/ui/index.js';
|
|
3
4
|
import { createLogger } from '../../../shared/utils/index.js';
|
|
4
|
-
import { relayPushCloneToOrigin } from '../../../infra/task/index.js';
|
|
5
5
|
const log = createLogger('list-tasks');
|
|
6
6
|
export function resolveTargetBranch(target) {
|
|
7
7
|
if ('kind' in target) {
|
|
@@ -39,8 +39,49 @@ export function validateWorktreeTarget(target, actionName) {
|
|
|
39
39
|
}
|
|
40
40
|
return true;
|
|
41
41
|
}
|
|
42
|
+
export function ensureRootBranchReady(projectDir, target, actionName) {
|
|
43
|
+
const branch = resolveTargetBranch(target);
|
|
44
|
+
if (localBranchExists(projectDir, branch)) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
const worktreePath = resolveTargetWorktreePath(target);
|
|
48
|
+
if (!worktreePath || !fs.existsSync(worktreePath)) {
|
|
49
|
+
logError(`Branch ${branch} is missing in root, and no worktree is available to restore it.`);
|
|
50
|
+
log.error('Root branch missing and worktree unavailable', {
|
|
51
|
+
projectDir,
|
|
52
|
+
branch,
|
|
53
|
+
actionName,
|
|
54
|
+
worktreePath,
|
|
55
|
+
});
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
try {
|
|
59
|
+
materializeCloneHeadToRootBranch(worktreePath, projectDir, branch);
|
|
60
|
+
info(`Restored missing root branch ${branch} from worktree.`);
|
|
61
|
+
log.info('Restored missing root branch from worktree', {
|
|
62
|
+
projectDir,
|
|
63
|
+
branch,
|
|
64
|
+
actionName,
|
|
65
|
+
worktreePath,
|
|
66
|
+
});
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
const error = err instanceof Error ? err.message : String(err);
|
|
71
|
+
logError(`Failed to restore missing root branch ${branch}: ${error}`);
|
|
72
|
+
log.error('Failed to restore missing root branch from worktree', {
|
|
73
|
+
projectDir,
|
|
74
|
+
branch,
|
|
75
|
+
actionName,
|
|
76
|
+
worktreePath,
|
|
77
|
+
error,
|
|
78
|
+
});
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
42
82
|
/** Relay push: clone HEAD を root repo 経由で origin へ転送する(checked-out branch を変更しない) */
|
|
43
83
|
export function pushWorktreeToOrigin(worktreePath, projectDir, branch) {
|
|
84
|
+
materializeCloneHeadToRootBranch(worktreePath, projectDir, branch);
|
|
44
85
|
relayPushCloneToOrigin(worktreePath, projectDir, branch);
|
|
45
86
|
log.info('Relay pushed to origin', { worktreePath, projectDir, branch });
|
|
46
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taskActionTarget.js","sourceRoot":"","sources":["../../../../src/features/tasks/list/taskActionTarget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"taskActionTarget.js","sourceRoot":"","sources":["../../../../src/features/tasks/list/taskActionTarget.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Individual actions for task-centric list items.
|
|
3
3
|
*/
|
|
4
4
|
export type { ListAction } from './taskActionTarget.js';
|
|
5
|
-
export { showFullDiff, showDiffAndPromptActionForTask, } from './taskDiffActions.js';
|
|
5
|
+
export { showFullDiff, showDiffStatForTask, showDiffAndPromptActionForTask, } from './taskDiffActions.js';
|
|
6
6
|
export { isBranchMerged, tryMergeBranch, mergeBranch, deleteBranch, } from './taskBranchLifecycleActions.js';
|
|
7
7
|
export { instructBranch } from './taskInstructionActions.js';
|
|
8
8
|
export { syncBranchWithRoot } from './taskSyncAction.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taskActions.d.ts","sourceRoot":"","sources":["../../../../src/features/tasks/list/taskActions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EACL,YAAY,EACZ,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,cAAc,EACd,cAAc,EACd,WAAW,EACX,YAAY,GACb,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"taskActions.d.ts","sourceRoot":"","sources":["../../../../src/features/tasks/list/taskActions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,cAAc,EACd,cAAc,EACd,WAAW,EACX,YAAY,GACb,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Individual actions for task-centric list items.
|
|
3
3
|
*/
|
|
4
|
-
export { showFullDiff, showDiffAndPromptActionForTask, } from './taskDiffActions.js';
|
|
4
|
+
export { showFullDiff, showDiffStatForTask, showDiffAndPromptActionForTask, } from './taskDiffActions.js';
|
|
5
5
|
export { isBranchMerged, tryMergeBranch, mergeBranch, deleteBranch, } from './taskBranchLifecycleActions.js';
|
|
6
6
|
export { instructBranch } from './taskInstructionActions.js';
|
|
7
7
|
export { syncBranchWithRoot } from './taskSyncAction.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taskActions.js","sourceRoot":"","sources":["../../../../src/features/tasks/list/taskActions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EACL,YAAY,EACZ,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,cAAc,EACd,cAAc,EACd,WAAW,EACX,YAAY,GACb,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"taskActions.js","sourceRoot":"","sources":["../../../../src/features/tasks/list/taskActions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,cAAc,EACd,cAAc,EACd,WAAW,EACX,YAAY,GACb,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taskBranchLifecycleActions.d.ts","sourceRoot":"","sources":["../../../../src/features/tasks/list/taskBranchLifecycleActions.ts"],"names":[],"mappings":"AAOA,OAAO,
|
|
1
|
+
{"version":3,"file":"taskBranchLifecycleActions.d.ts","sourceRoot":"","sources":["../../../../src/features/tasks/list/taskBranchLifecycleActions.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,uBAAuB,CAAC;AAqB/B,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAgB1E;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAyBtF;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAkDnF;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAwCpF"}
|
|
@@ -5,8 +5,23 @@ import { cleanupOrphanedClone } from '../../../infra/task/index.js';
|
|
|
5
5
|
import { encodeWorktreePath } from '../../../infra/config/project/sessionStore.js';
|
|
6
6
|
import { info, success, error as logError, warn } from '../../../shared/ui/index.js';
|
|
7
7
|
import { createLogger, getErrorMessage } from '../../../shared/utils/index.js';
|
|
8
|
-
import { resolveTargetBranch, resolveTargetWorktreePath } from './taskActionTarget.js';
|
|
8
|
+
import { ensureRootBranchReady, resolveTargetBranch, resolveTargetWorktreePath, } from './taskActionTarget.js';
|
|
9
9
|
const log = createLogger('list-tasks');
|
|
10
|
+
function getGitCommandErrorDetail(err) {
|
|
11
|
+
if (typeof err === 'object' && err !== null && 'stderr' in err) {
|
|
12
|
+
const stderr = err.stderr;
|
|
13
|
+
if (typeof stderr === 'string' && stderr.trim()) {
|
|
14
|
+
return stderr.trim();
|
|
15
|
+
}
|
|
16
|
+
if (Buffer.isBuffer(stderr)) {
|
|
17
|
+
const text = stderr.toString('utf-8').trim();
|
|
18
|
+
if (text) {
|
|
19
|
+
return text;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return getErrorMessage(err);
|
|
24
|
+
}
|
|
10
25
|
export function isBranchMerged(projectDir, branch) {
|
|
11
26
|
const result = spawnSync('git', ['merge-base', '--is-ancestor', branch, 'HEAD'], {
|
|
12
27
|
cwd: projectDir,
|
|
@@ -23,6 +38,9 @@ export function isBranchMerged(projectDir, branch) {
|
|
|
23
38
|
return result.status === 0;
|
|
24
39
|
}
|
|
25
40
|
export function tryMergeBranch(projectDir, target) {
|
|
41
|
+
if (!ensureRootBranchReady(projectDir, target, 'try merge')) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
26
44
|
const branch = resolveTargetBranch(target);
|
|
27
45
|
try {
|
|
28
46
|
execFileSync('git', ['merge', '--squash', branch], {
|
|
@@ -36,7 +54,7 @@ export function tryMergeBranch(projectDir, target) {
|
|
|
36
54
|
return true;
|
|
37
55
|
}
|
|
38
56
|
catch (err) {
|
|
39
|
-
const msg =
|
|
57
|
+
const msg = getGitCommandErrorDetail(err);
|
|
40
58
|
logError(`Squash merge failed: ${msg}`);
|
|
41
59
|
logError('You may need to resolve conflicts manually.');
|
|
42
60
|
log.error('Try-merge (squash) failed', { branch, error: msg });
|
|
@@ -44,6 +62,9 @@ export function tryMergeBranch(projectDir, target) {
|
|
|
44
62
|
}
|
|
45
63
|
}
|
|
46
64
|
export function mergeBranch(projectDir, target) {
|
|
65
|
+
if (!ensureRootBranchReady(projectDir, target, 'merge')) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
47
68
|
const branch = resolveTargetBranch(target);
|
|
48
69
|
const alreadyMerged = isBranchMerged(projectDir, branch);
|
|
49
70
|
try {
|
|
@@ -82,7 +103,7 @@ export function mergeBranch(projectDir, target) {
|
|
|
82
103
|
return true;
|
|
83
104
|
}
|
|
84
105
|
catch (err) {
|
|
85
|
-
const msg =
|
|
106
|
+
const msg = getGitCommandErrorDetail(err);
|
|
86
107
|
logError(`Merge failed: ${msg}`);
|
|
87
108
|
logError('You may need to resolve conflicts manually.');
|
|
88
109
|
log.error('Merge & cleanup failed', { branch, error: msg });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taskBranchLifecycleActions.js","sourceRoot":"","sources":["../../../../src/features/tasks/list/taskBranchLifecycleActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,
|
|
1
|
+
{"version":3,"file":"taskBranchLifecycleActions.js","sourceRoot":"","sources":["../../../../src/features/tasks/list/taskBranchLifecycleActions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type BranchActionTarget, type ListAction } from './taskActionTarget.js';
|
|
2
|
-
export declare function showFullDiff(cwd: string,
|
|
2
|
+
export declare function showFullDiff(cwd: string, target: BranchActionTarget): void;
|
|
3
|
+
export declare function showDiffStatForTask(cwd: string, target: BranchActionTarget): void;
|
|
3
4
|
export declare function showDiffAndPromptActionForTask(cwd: string, target: BranchActionTarget): Promise<ListAction | null>;
|
|
4
5
|
//# sourceMappingURL=taskDiffActions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taskDiffActions.d.ts","sourceRoot":"","sources":["../../../../src/features/tasks/list/taskDiffActions.ts"],"names":[],"mappings":"AAMA,OAAO,
|
|
1
|
+
{"version":3,"file":"taskDiffActions.d.ts","sourceRoot":"","sources":["../../../../src/features/tasks/list/taskDiffActions.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAIhB,MAAM,uBAAuB,CAAC;AAI/B,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAyB1E;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAuBjF;AAED,wBAAsB,8BAA8B,CAClD,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAwB5B"}
|
|
@@ -4,9 +4,14 @@ import { detectDefaultBranch } from '../../../infra/task/index.js';
|
|
|
4
4
|
import { selectOption } from '../../../shared/prompt/index.js';
|
|
5
5
|
import { info, warn, header, blankLine } from '../../../shared/ui/index.js';
|
|
6
6
|
import { createLogger, getErrorMessage } from '../../../shared/utils/index.js';
|
|
7
|
-
import { resolveTargetBranch, resolveTargetInstruction } from './taskActionTarget.js';
|
|
7
|
+
import { ensureRootBranchReady, resolveTargetBranch, resolveTargetInstruction, } from './taskActionTarget.js';
|
|
8
8
|
const log = createLogger('list-tasks');
|
|
9
|
-
export function showFullDiff(cwd,
|
|
9
|
+
export function showFullDiff(cwd, target) {
|
|
10
|
+
if (!ensureRootBranchReady(cwd, target, 'full diff')) {
|
|
11
|
+
warn('Could not display diff');
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const branch = resolveTargetBranch(target);
|
|
10
15
|
const defaultBranch = detectDefaultBranch(cwd);
|
|
11
16
|
try {
|
|
12
17
|
const result = spawnSync('git', ['diff', '--color=always', `${defaultBranch}...${branch}`], {
|
|
@@ -27,15 +32,13 @@ export function showFullDiff(cwd, branch) {
|
|
|
27
32
|
});
|
|
28
33
|
}
|
|
29
34
|
}
|
|
30
|
-
export
|
|
35
|
+
export function showDiffStatForTask(cwd, target) {
|
|
36
|
+
if (!ensureRootBranchReady(cwd, target, 'diff stat')) {
|
|
37
|
+
warn('Could not generate diff stat');
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
31
40
|
const branch = resolveTargetBranch(target);
|
|
32
|
-
const instruction = resolveTargetInstruction(target);
|
|
33
41
|
const defaultBranch = detectDefaultBranch(cwd);
|
|
34
|
-
header(branch);
|
|
35
|
-
if (instruction) {
|
|
36
|
-
info(chalk.dim(` ${instruction}`));
|
|
37
|
-
}
|
|
38
|
-
blankLine();
|
|
39
42
|
try {
|
|
40
43
|
const stat = execFileSync('git', ['diff', '--stat', `${defaultBranch}...${branch}`], { cwd, encoding: 'utf-8', stdio: 'pipe' });
|
|
41
44
|
info(stat);
|
|
@@ -48,6 +51,16 @@ export async function showDiffAndPromptActionForTask(cwd, target) {
|
|
|
48
51
|
error: getErrorMessage(err),
|
|
49
52
|
});
|
|
50
53
|
}
|
|
54
|
+
}
|
|
55
|
+
export async function showDiffAndPromptActionForTask(cwd, target) {
|
|
56
|
+
const branch = resolveTargetBranch(target);
|
|
57
|
+
const instruction = resolveTargetInstruction(target);
|
|
58
|
+
header(branch);
|
|
59
|
+
if (instruction) {
|
|
60
|
+
info(chalk.dim(` ${instruction}`));
|
|
61
|
+
}
|
|
62
|
+
blankLine();
|
|
63
|
+
showDiffStatForTask(cwd, target);
|
|
51
64
|
return await selectOption(`Action for ${branch}:`, [
|
|
52
65
|
{ label: 'View diff', value: 'diff', description: 'Show full diff in pager' },
|
|
53
66
|
{ label: 'Instruct', value: 'instruct', description: 'Craft additional instructions and requeue this task' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taskDiffActions.js","sourceRoot":"","sources":["../../../../src/features/tasks/list/taskDiffActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,
|
|
1
|
+
{"version":3,"file":"taskDiffActions.js","sourceRoot":"","sources":["../../../../src/features/tasks/list/taskDiffActions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taskSyncAction.d.ts","sourceRoot":"","sources":["../../../../src/features/tasks/list/taskSyncAction.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"taskSyncAction.d.ts","sourceRoot":"","sources":["../../../../src/features/tasks/list/taskSyncAction.ts"],"names":[],"mappings":"AASA,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,uBAAuB,CAAC;AAuB/B,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,OAAO,CAAC,CAkFlB"}
|
|
@@ -3,11 +3,28 @@ import { success, error as logError, StreamDisplay } from '../../../shared/ui/in
|
|
|
3
3
|
import { createLogger, getErrorMessage } from '../../../shared/utils/index.js';
|
|
4
4
|
import { getProvider } from '../../../infra/providers/index.js';
|
|
5
5
|
import { resolveConfigValues } from '../../../infra/config/index.js';
|
|
6
|
+
import { resolveAssistantProviderModelFromConfig } from '../../../core/config/provider-resolution.js';
|
|
6
7
|
import { loadTemplate } from '../../../shared/prompts/index.js';
|
|
7
8
|
import { getLanguage } from '../../../infra/config/index.js';
|
|
9
|
+
import { resolveAssistantConfigLayers } from '../../interactive/assistantConfig.js';
|
|
8
10
|
import { resolveTargetBranch, resolveTargetInstruction, validateWorktreeTarget, pushWorktreeToOrigin, } from './taskActionTarget.js';
|
|
9
11
|
const log = createLogger('list-tasks');
|
|
10
12
|
const SYNC_REF = 'refs/remotes/root/sync-target';
|
|
13
|
+
function getGitCommandErrorDetail(err) {
|
|
14
|
+
if (typeof err === 'object' && err !== null && 'stderr' in err) {
|
|
15
|
+
const stderr = err.stderr;
|
|
16
|
+
if (typeof stderr === 'string' && stderr.trim()) {
|
|
17
|
+
return stderr.trim();
|
|
18
|
+
}
|
|
19
|
+
if (Buffer.isBuffer(stderr)) {
|
|
20
|
+
const text = stderr.toString('utf-8').trim();
|
|
21
|
+
if (text) {
|
|
22
|
+
return text;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return getErrorMessage(err);
|
|
27
|
+
}
|
|
11
28
|
export async function syncBranchWithRoot(projectDir, target) {
|
|
12
29
|
if (!validateWorktreeTarget(target, 'Sync')) {
|
|
13
30
|
return false;
|
|
@@ -23,7 +40,7 @@ export async function syncBranchWithRoot(projectDir, target) {
|
|
|
23
40
|
log.info('Fetched root HEAD into sync-target ref', { worktreePath, projectDir });
|
|
24
41
|
}
|
|
25
42
|
catch (err) {
|
|
26
|
-
const msg =
|
|
43
|
+
const msg = getGitCommandErrorDetail(err);
|
|
27
44
|
logError(`Failed to fetch from root: ${msg}`);
|
|
28
45
|
log.error('git fetch failed', { worktreePath, projectDir, error: msg });
|
|
29
46
|
return false;
|
|
@@ -40,7 +57,7 @@ export async function syncBranchWithRoot(projectDir, target) {
|
|
|
40
57
|
mergeConflict = true;
|
|
41
58
|
log.info('Merge conflict detected, attempting AI resolution', {
|
|
42
59
|
worktreePath,
|
|
43
|
-
error:
|
|
60
|
+
error: getGitCommandErrorDetail(err),
|
|
44
61
|
});
|
|
45
62
|
}
|
|
46
63
|
if (!mergeConflict) {
|
|
@@ -55,17 +72,18 @@ export async function syncBranchWithRoot(projectDir, target) {
|
|
|
55
72
|
const originalInstruction = resolveTargetInstruction(target);
|
|
56
73
|
const systemPrompt = loadTemplate('sync_conflict_resolver_system_prompt', lang);
|
|
57
74
|
const prompt = loadTemplate('sync_conflict_resolver_message', lang, { originalInstruction });
|
|
58
|
-
const config = resolveConfigValues(projectDir, ['
|
|
59
|
-
|
|
75
|
+
const config = resolveConfigValues(projectDir, ['syncConflictResolver']);
|
|
76
|
+
const resolvedProviderModel = resolveAssistantProviderModelFromConfig(resolveAssistantConfigLayers(projectDir));
|
|
77
|
+
if (!resolvedProviderModel.provider) {
|
|
60
78
|
throw new Error('No provider configured. Set "provider" in ~/.takt/config.yaml');
|
|
61
79
|
}
|
|
62
|
-
const providerType =
|
|
80
|
+
const providerType = resolvedProviderModel.provider;
|
|
63
81
|
const provider = getProvider(providerType);
|
|
64
82
|
const agent = provider.setup({ name: 'conflict-resolver', systemPrompt });
|
|
65
83
|
const onPermissionRequest = config.syncConflictResolver?.autoApproveTools ? autoApproveBash : undefined;
|
|
66
84
|
const response = await agent.call(prompt, {
|
|
67
85
|
cwd: worktreePath,
|
|
68
|
-
model:
|
|
86
|
+
model: resolvedProviderModel.model,
|
|
69
87
|
permissionMode: 'edit',
|
|
70
88
|
onPermissionRequest,
|
|
71
89
|
onStream: new StreamDisplay('conflict-resolver', false).createHandler(),
|
|
@@ -92,8 +110,9 @@ function pushSynced(worktreePath, projectDir, target) {
|
|
|
92
110
|
pushWorktreeToOrigin(worktreePath, projectDir, branch);
|
|
93
111
|
}
|
|
94
112
|
catch (err) {
|
|
95
|
-
|
|
96
|
-
|
|
113
|
+
const error = getGitCommandErrorDetail(err);
|
|
114
|
+
logError(`Push failed after sync: ${error}`);
|
|
115
|
+
log.error('pushWorktreeToOrigin failed', { worktreePath, projectDir, branch, error });
|
|
97
116
|
return false;
|
|
98
117
|
}
|
|
99
118
|
return true;
|
|
@@ -108,8 +127,9 @@ function abortMerge(worktreePath) {
|
|
|
108
127
|
log.info('git merge --abort completed', { worktreePath });
|
|
109
128
|
}
|
|
110
129
|
catch (err) {
|
|
111
|
-
|
|
112
|
-
|
|
130
|
+
const error = getGitCommandErrorDetail(err);
|
|
131
|
+
logError(`Failed to abort merge: ${error}`);
|
|
132
|
+
log.error('git merge --abort failed', { worktreePath, error });
|
|
113
133
|
}
|
|
114
134
|
}
|
|
115
135
|
//# sourceMappingURL=taskSyncAction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taskSyncAction.js","sourceRoot":"","sources":["../../../../src/features/tasks/list/taskSyncAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAqB,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAEL,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAEvC,MAAM,QAAQ,GAAG,+BAA+B,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAAkB,EAClB,MAA0B;IAE1B,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAEzC,+EAA+E;IAC/E,IAAI,CAAC;QACH,YAAY,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,QAAQ,EAAE,CAAC,EAAE;YAC7D,GAAG,EAAE,YAAY;YACjB,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,wCAAwC,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;IACnF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"taskSyncAction.js","sourceRoot":"","sources":["../../../../src/features/tasks/list/taskSyncAction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/infra/codex/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAyB,MAAM,4BAA4B,CAAC;AAEvF,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAa1E,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/infra/codex/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAyB,MAAM,4BAA4B,CAAC;AAEvF,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAa1E,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA+DnD;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,gBAAgB;YASV,iBAAiB;IA4B/B,sCAAsC;IAChC,IAAI,CACR,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,aAAa,CAAC;IAgQzB,4EAA4E;IACtE,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,aAAa,CAAC;CAM1B;AAID,wBAAsB,SAAS,CAC7B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,aAAa,CAAC,CAExB;AAED,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,aAAa,CAAC,CAExB"}
|
|
@@ -11,8 +11,9 @@ import { createStreamTrackingState, extractThreadId, emitInit, emitResult, emitC
|
|
|
11
11
|
const log = createLogger('codex-sdk');
|
|
12
12
|
const CODEX_STREAM_IDLE_TIMEOUT_MS = 10 * 60 * 1000;
|
|
13
13
|
const CODEX_STREAM_ABORTED_MESSAGE = 'Codex execution aborted';
|
|
14
|
-
const
|
|
15
|
-
const
|
|
14
|
+
const CODEX_RETRY_MAX_RETRIES = 8;
|
|
15
|
+
const CODEX_RETRY_TOTAL_ATTEMPTS = CODEX_RETRY_MAX_RETRIES + 1;
|
|
16
|
+
const CODEX_RETRY_BASE_DELAY_MS = 1000;
|
|
16
17
|
const CODEX_RETRYABLE_ERROR_PATTERNS = [
|
|
17
18
|
'stream disconnected before completion',
|
|
18
19
|
'transport error',
|
|
@@ -22,6 +23,7 @@ const CODEX_RETRYABLE_ERROR_PATTERNS = [
|
|
|
22
23
|
'etimedout',
|
|
23
24
|
'eai_again',
|
|
24
25
|
'fetch failed',
|
|
26
|
+
'at capacity',
|
|
25
27
|
];
|
|
26
28
|
function toNumber(value) {
|
|
27
29
|
return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
|
|
@@ -114,7 +116,7 @@ export class CodexClient {
|
|
|
114
116
|
const fullPrompt = options.systemPrompt
|
|
115
117
|
? `${options.systemPrompt}\n\n${prompt}`
|
|
116
118
|
: prompt;
|
|
117
|
-
for (let attempt = 1; attempt <=
|
|
119
|
+
for (let attempt = 1; attempt <= CODEX_RETRY_TOTAL_ATTEMPTS; attempt++) {
|
|
118
120
|
const codexClientOptions = {
|
|
119
121
|
...(options.openaiApiKey ? { apiKey: options.openaiApiKey } : {}),
|
|
120
122
|
...(options.codexPathOverride ? { codexPathOverride: options.codexPathOverride } : {}),
|
|
@@ -260,7 +262,7 @@ export class CodexClient {
|
|
|
260
262
|
if (!success) {
|
|
261
263
|
const message = failureMessage || 'Codex execution failed';
|
|
262
264
|
const retriable = this.isRetriableError(message, streamAbortController.signal.aborted, abortCause);
|
|
263
|
-
if (retriable && attempt
|
|
265
|
+
if (retriable && attempt <= CODEX_RETRY_MAX_RETRIES) {
|
|
264
266
|
log.info('Retrying Codex call after transient failure', { agentType, attempt, message });
|
|
265
267
|
threadId = currentThreadId;
|
|
266
268
|
await this.waitForRetryDelay(attempt, options.abortSignal);
|
|
@@ -301,7 +303,7 @@ export class CodexClient {
|
|
|
301
303
|
: message;
|
|
302
304
|
diagRef?.onCompleted(abortCause === 'timeout' ? 'timeout' : streamAbortController.signal.aborted ? 'abort' : 'error', errorMessage);
|
|
303
305
|
const retriable = this.isRetriableError(errorMessage, streamAbortController.signal.aborted, abortCause);
|
|
304
|
-
if (retriable && attempt
|
|
306
|
+
if (retriable && attempt <= CODEX_RETRY_MAX_RETRIES) {
|
|
305
307
|
log.info('Retrying Codex call after transient exception', { agentType, attempt, errorMessage });
|
|
306
308
|
threadId = currentThreadId;
|
|
307
309
|
await this.waitForRetryDelay(attempt, options.abortSignal);
|