takt 0.2.1 → 0.2.2
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/cli.d.ts +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +6 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/reviewTasks.d.ts +13 -2
- package/dist/commands/reviewTasks.d.ts.map +1 -1
- package/dist/commands/reviewTasks.js +145 -10
- package/dist/commands/reviewTasks.js.map +1 -1
- package/dist/commands/taskExecution.d.ts.map +1 -1
- package/dist/commands/taskExecution.js +5 -3
- package/dist/commands/taskExecution.js.map +1 -1
- package/dist/commands/workflowExecution.d.ts.map +1 -1
- package/dist/commands/workflowExecution.js +10 -9
- package/dist/commands/workflowExecution.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 +3 -1
- package/dist/config/paths.js.map +1 -1
- package/dist/config/sessionStore.d.ts +10 -0
- package/dist/config/sessionStore.d.ts.map +1 -1
- package/dist/config/sessionStore.js +54 -0
- package/dist/config/sessionStore.js.map +1 -1
- package/dist/task/runner.d.ts +14 -0
- package/dist/task/runner.d.ts.map +1 -1
- package/dist/task/runner.js +30 -7
- package/dist/task/runner.js.map +1 -1
- package/dist/task/summarize.d.ts +20 -0
- package/dist/task/summarize.d.ts.map +1 -0
- package/dist/task/summarize.js +50 -0
- package/dist/task/summarize.js.map +1 -0
- package/dist/workflow/instruction-builder.d.ts +6 -5
- package/dist/workflow/instruction-builder.d.ts.map +1 -1
- package/dist/workflow/instruction-builder.js +35 -16
- package/dist/workflow/instruction-builder.js.map +1 -1
- package/package.json +1 -1
- package/resources/global/en/workflows/default.yaml +0 -50
- package/resources/global/en/workflows/{expert-review.yaml → expert-cqrs.yaml} +6 -48
- package/resources/global/en/workflows/expert.yaml +1099 -0
- package/resources/global/en/workflows/magi.yaml +0 -9
- package/resources/global/en/workflows/research.yaml +0 -9
- package/resources/global/en/workflows/simple.yaml +0 -25
- package/resources/global/ja/workflows/default.yaml +0 -50
- package/resources/global/ja/workflows/{expert-review.yaml → expert-cqrs.yaml} +6 -54
- package/resources/global/ja/workflows/expert.yaml +1099 -0
- package/resources/global/ja/workflows/magi.yaml +0 -9
- package/resources/global/ja/workflows/research.yaml +0 -9
- package/resources/global/ja/workflows/simple.yaml +0 -25
- /package/resources/global/en/agents/{expert-review → expert}/frontend-reviewer.md +0 -0
- /package/resources/global/en/agents/{expert-review → expert}/qa-reviewer.md +0 -0
- /package/resources/global/en/agents/{expert-review → expert}/security-reviewer.md +0 -0
- /package/resources/global/en/agents/{expert-review → expert}/supervisor.md +0 -0
- /package/resources/global/en/agents/{expert-review → expert-cqrs}/cqrs-es-reviewer.md +0 -0
- /package/resources/global/ja/agents/{expert-review → expert}/frontend-reviewer.md +0 -0
- /package/resources/global/ja/agents/{expert-review → expert}/qa-reviewer.md +0 -0
- /package/resources/global/ja/agents/{expert-review → expert}/security-reviewer.md +0 -0
- /package/resources/global/ja/agents/{expert-review → expert}/supervisor.md +0 -0
- /package/resources/global/ja/agents/{expert-review → expert-cqrs}/cqrs-es-reviewer.md +0 -0
|
@@ -143,6 +143,60 @@ export function clearAgentSessions(projectDir) {
|
|
|
143
143
|
// Also clear Claude CLI project sessions
|
|
144
144
|
clearClaudeProjectSessions(projectDir);
|
|
145
145
|
}
|
|
146
|
+
// ============ Worktree Sessions ============
|
|
147
|
+
/** Get the worktree sessions directory */
|
|
148
|
+
export function getWorktreeSessionsDir(projectDir) {
|
|
149
|
+
return join(getProjectConfigDir(projectDir), 'worktree-sessions');
|
|
150
|
+
}
|
|
151
|
+
/** Encode a worktree path to a safe filename */
|
|
152
|
+
export function encodeWorktreePath(worktreePath) {
|
|
153
|
+
const resolved = resolve(worktreePath);
|
|
154
|
+
return resolved.replace(/[/\\:]/g, '-');
|
|
155
|
+
}
|
|
156
|
+
/** Get path for a worktree's session file */
|
|
157
|
+
export function getWorktreeSessionPath(projectDir, worktreePath) {
|
|
158
|
+
const dir = getWorktreeSessionsDir(projectDir);
|
|
159
|
+
const encoded = encodeWorktreePath(worktreePath);
|
|
160
|
+
return join(dir, `${encoded}.json`);
|
|
161
|
+
}
|
|
162
|
+
/** Load saved agent sessions for a worktree */
|
|
163
|
+
export function loadWorktreeSessions(projectDir, worktreePath) {
|
|
164
|
+
const sessionPath = getWorktreeSessionPath(projectDir, worktreePath);
|
|
165
|
+
if (existsSync(sessionPath)) {
|
|
166
|
+
try {
|
|
167
|
+
const content = readFileSync(sessionPath, 'utf-8');
|
|
168
|
+
const data = JSON.parse(content);
|
|
169
|
+
return data.agentSessions || {};
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
return {};
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
return {};
|
|
176
|
+
}
|
|
177
|
+
/** Update a single agent session for a worktree (atomic) */
|
|
178
|
+
export function updateWorktreeSession(projectDir, worktreePath, agentName, sessionId) {
|
|
179
|
+
const dir = getWorktreeSessionsDir(projectDir);
|
|
180
|
+
ensureDir(dir);
|
|
181
|
+
const sessionPath = getWorktreeSessionPath(projectDir, worktreePath);
|
|
182
|
+
let sessions = {};
|
|
183
|
+
if (existsSync(sessionPath)) {
|
|
184
|
+
try {
|
|
185
|
+
const content = readFileSync(sessionPath, 'utf-8');
|
|
186
|
+
const data = JSON.parse(content);
|
|
187
|
+
sessions = data.agentSessions || {};
|
|
188
|
+
}
|
|
189
|
+
catch {
|
|
190
|
+
sessions = {};
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
sessions[agentName] = sessionId;
|
|
194
|
+
const data = {
|
|
195
|
+
agentSessions: sessions,
|
|
196
|
+
updatedAt: new Date().toISOString(),
|
|
197
|
+
};
|
|
198
|
+
writeFileAtomic(sessionPath, JSON.stringify(data, null, 2));
|
|
199
|
+
}
|
|
146
200
|
/**
|
|
147
201
|
* Get the Claude CLI project session directory path.
|
|
148
202
|
* Claude CLI stores sessions in ~/.claude/projects/{encoded-project-path}/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionStore.js","sourceRoot":"","sources":["../../src/config/sessionStore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sessionStore.js","sourceRoot":"","sources":["../../src/config/sessionStore.ts"],"names":[],"mappings":"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"}
|
package/dist/task/runner.d.ts
CHANGED
|
@@ -38,6 +38,7 @@ export declare class TaskRunner {
|
|
|
38
38
|
private projectDir;
|
|
39
39
|
private tasksDir;
|
|
40
40
|
private completedDir;
|
|
41
|
+
private failedDir;
|
|
41
42
|
constructor(projectDir: string);
|
|
42
43
|
/** ディレクトリ構造を作成 */
|
|
43
44
|
ensureDirs(): void;
|
|
@@ -66,6 +67,19 @@ export declare class TaskRunner {
|
|
|
66
67
|
* @returns レポートファイルのパス
|
|
67
68
|
*/
|
|
68
69
|
completeTask(result: TaskResult): string;
|
|
70
|
+
/**
|
|
71
|
+
* タスクを失敗としてマーク
|
|
72
|
+
*
|
|
73
|
+
* タスクファイルを .takt/failed に移動し、
|
|
74
|
+
* レポートファイルを作成する。
|
|
75
|
+
*
|
|
76
|
+
* @returns レポートファイルのパス
|
|
77
|
+
*/
|
|
78
|
+
failTask(result: TaskResult): string;
|
|
79
|
+
/**
|
|
80
|
+
* タスクファイルを指定ディレクトリに移動し、レポート・ログを生成する
|
|
81
|
+
*/
|
|
82
|
+
private moveTask;
|
|
69
83
|
/**
|
|
70
84
|
* レポートを生成
|
|
71
85
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/task/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,YAAY;AACZ,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;CAC3B;AAED,cAAc;AACd,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAAS;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/task/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,YAAY;AACZ,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;CAC3B;AAED,cAAc;AACd,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;gBAEd,UAAU,EAAE,MAAM;IAO9B,kBAAkB;IAClB,UAAU,IAAI,IAAI;IAMlB,sBAAsB;IACtB,WAAW,IAAI,MAAM;IAIrB;;;OAGG;IACH,SAAS,IAAI,QAAQ,EAAE;IAgBvB;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAsBtC;;OAEG;IACH,WAAW,IAAI,QAAQ,GAAG,IAAI;IAK9B;;;;;;;OAOG;IACH,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAOxC;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAIpC;;OAEG;IACH,OAAO,CAAC,QAAQ;IAsChB;;OAEG;IACH,OAAO,CAAC,cAAc;CA2BvB"}
|
package/dist/task/runner.js
CHANGED
|
@@ -22,15 +22,18 @@ export class TaskRunner {
|
|
|
22
22
|
projectDir;
|
|
23
23
|
tasksDir;
|
|
24
24
|
completedDir;
|
|
25
|
+
failedDir;
|
|
25
26
|
constructor(projectDir) {
|
|
26
27
|
this.projectDir = projectDir;
|
|
27
28
|
this.tasksDir = path.join(projectDir, '.takt', 'tasks');
|
|
28
29
|
this.completedDir = path.join(projectDir, '.takt', 'completed');
|
|
30
|
+
this.failedDir = path.join(projectDir, '.takt', 'failed');
|
|
29
31
|
}
|
|
30
32
|
/** ディレクトリ構造を作成 */
|
|
31
33
|
ensureDirs() {
|
|
32
34
|
fs.mkdirSync(this.tasksDir, { recursive: true });
|
|
33
35
|
fs.mkdirSync(this.completedDir, { recursive: true });
|
|
36
|
+
fs.mkdirSync(this.failedDir, { recursive: true });
|
|
34
37
|
}
|
|
35
38
|
/** タスクディレクトリのパスを取得 */
|
|
36
39
|
getTasksDir() {
|
|
@@ -93,22 +96,42 @@ export class TaskRunner {
|
|
|
93
96
|
* @returns レポートファイルのパス
|
|
94
97
|
*/
|
|
95
98
|
completeTask(result) {
|
|
99
|
+
if (!result.success) {
|
|
100
|
+
throw new Error('Cannot complete a failed task. Use failTask() instead.');
|
|
101
|
+
}
|
|
102
|
+
return this.moveTask(result, this.completedDir);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* タスクを失敗としてマーク
|
|
106
|
+
*
|
|
107
|
+
* タスクファイルを .takt/failed に移動し、
|
|
108
|
+
* レポートファイルを作成する。
|
|
109
|
+
*
|
|
110
|
+
* @returns レポートファイルのパス
|
|
111
|
+
*/
|
|
112
|
+
failTask(result) {
|
|
113
|
+
return this.moveTask(result, this.failedDir);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* タスクファイルを指定ディレクトリに移動し、レポート・ログを生成する
|
|
117
|
+
*/
|
|
118
|
+
moveTask(result, targetDir) {
|
|
96
119
|
this.ensureDirs();
|
|
97
120
|
// タイムスタンプを生成
|
|
98
121
|
const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
|
|
99
|
-
//
|
|
100
|
-
const
|
|
101
|
-
fs.mkdirSync(
|
|
122
|
+
// ターゲットディレクトリにサブディレクトリを作成
|
|
123
|
+
const taskTargetDir = path.join(targetDir, `${timestamp}_${result.task.name}`);
|
|
124
|
+
fs.mkdirSync(taskTargetDir, { recursive: true });
|
|
102
125
|
// 元のタスクファイルを移動(元の拡張子を保持)
|
|
103
126
|
const originalExt = path.extname(result.task.filePath);
|
|
104
|
-
const
|
|
105
|
-
fs.renameSync(result.task.filePath,
|
|
127
|
+
const movedTaskFile = path.join(taskTargetDir, `${result.task.name}${originalExt}`);
|
|
128
|
+
fs.renameSync(result.task.filePath, movedTaskFile);
|
|
106
129
|
// レポートを生成
|
|
107
|
-
const reportFile = path.join(
|
|
130
|
+
const reportFile = path.join(taskTargetDir, 'report.md');
|
|
108
131
|
const reportContent = this.generateReport(result);
|
|
109
132
|
fs.writeFileSync(reportFile, reportContent, 'utf-8');
|
|
110
133
|
// ログを保存
|
|
111
|
-
const logFile = path.join(
|
|
134
|
+
const logFile = path.join(taskTargetDir, 'log.json');
|
|
112
135
|
const logData = {
|
|
113
136
|
taskName: result.task.name,
|
|
114
137
|
success: result.success,
|
package/dist/task/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/task/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAmB,MAAM,aAAa,CAAC;AAuB7E;;GAEG;AACH,MAAM,OAAO,UAAU;IACb,UAAU,CAAS;IACnB,QAAQ,CAAS;IACjB,YAAY,CAAS;
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/task/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task name summarization using AI
|
|
3
|
+
*
|
|
4
|
+
* Generates concise English summaries for use in branch names and worktree paths.
|
|
5
|
+
*/
|
|
6
|
+
export interface SummarizeOptions {
|
|
7
|
+
/** Working directory for Claude execution */
|
|
8
|
+
cwd: string;
|
|
9
|
+
/** Model to use (optional, defaults to haiku for speed) */
|
|
10
|
+
model?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Summarize a task name into a concise English slug using AI.
|
|
14
|
+
*
|
|
15
|
+
* @param taskName - Original task name (can be in any language)
|
|
16
|
+
* @param options - Summarization options
|
|
17
|
+
* @returns English slug suitable for branch names
|
|
18
|
+
*/
|
|
19
|
+
export declare function summarizeTaskName(taskName: string, options: SummarizeOptions): Promise<string>;
|
|
20
|
+
//# sourceMappingURL=summarize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summarize.d.ts","sourceRoot":"","sources":["../../src/task/summarize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAuBH,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,CAAC,CAsBjB"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task name summarization using AI
|
|
3
|
+
*
|
|
4
|
+
* Generates concise English summaries for use in branch names and worktree paths.
|
|
5
|
+
*/
|
|
6
|
+
import { callClaude } from '../claude/client.js';
|
|
7
|
+
import { createLogger } from '../utils/debug.js';
|
|
8
|
+
const log = createLogger('summarize');
|
|
9
|
+
const SUMMARIZE_SYSTEM_PROMPT = `You are a helpful assistant that generates concise English slugs for git branch names.
|
|
10
|
+
|
|
11
|
+
Rules:
|
|
12
|
+
- Output ONLY the slug, nothing else
|
|
13
|
+
- Use lowercase letters, numbers, and hyphens only
|
|
14
|
+
- Maximum 30 characters
|
|
15
|
+
- No leading/trailing hyphens
|
|
16
|
+
- Be descriptive but concise
|
|
17
|
+
- If the input is already in English and short, simplify it
|
|
18
|
+
|
|
19
|
+
Examples:
|
|
20
|
+
- "認証機能を追加する" → "add-auth"
|
|
21
|
+
- "Fix the login bug" → "fix-login-bug"
|
|
22
|
+
- "worktreeを作るときブランチ名をAIで生成" → "ai-branch-naming"
|
|
23
|
+
- "Add user registration with email verification" → "add-user-registration"`;
|
|
24
|
+
/**
|
|
25
|
+
* Summarize a task name into a concise English slug using AI.
|
|
26
|
+
*
|
|
27
|
+
* @param taskName - Original task name (can be in any language)
|
|
28
|
+
* @param options - Summarization options
|
|
29
|
+
* @returns English slug suitable for branch names
|
|
30
|
+
*/
|
|
31
|
+
export async function summarizeTaskName(taskName, options) {
|
|
32
|
+
log.info('Summarizing task name', { taskName });
|
|
33
|
+
const response = await callClaude('summarizer', `Summarize this task: "${taskName}"`, {
|
|
34
|
+
cwd: options.cwd,
|
|
35
|
+
model: options.model ?? 'haiku',
|
|
36
|
+
maxTurns: 1,
|
|
37
|
+
systemPrompt: SUMMARIZE_SYSTEM_PROMPT,
|
|
38
|
+
allowedTools: [],
|
|
39
|
+
});
|
|
40
|
+
const slug = response.content
|
|
41
|
+
.trim()
|
|
42
|
+
.toLowerCase()
|
|
43
|
+
.replace(/[^a-z0-9-]/g, '-')
|
|
44
|
+
.replace(/-+/g, '-')
|
|
45
|
+
.replace(/^-|-$/g, '')
|
|
46
|
+
.slice(0, 30);
|
|
47
|
+
log.info('Task name summarized', { original: taskName, slug });
|
|
48
|
+
return slug || 'task';
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=summarize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summarize.js","sourceRoot":"","sources":["../../src/task/summarize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AAEtC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;4EAc4C,CAAC;AAS7E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAgB,EAChB,OAAyB;IAEzB,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEhD,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,yBAAyB,QAAQ,GAAG,EAAE;QACpF,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,OAAO;QAC/B,QAAQ,EAAE,CAAC;QACX,YAAY,EAAE,uBAAuB;QACrC,YAAY,EAAE,EAAE;KACjB,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO;SAC1B,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEhB,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/D,OAAO,IAAI,IAAI,MAAM,CAAC;AACxB,CAAC"}
|
|
@@ -34,8 +34,6 @@ export interface InstructionContext {
|
|
|
34
34
|
export interface ExecutionMetadata {
|
|
35
35
|
/** The agent's working directory (may be a worktree) */
|
|
36
36
|
readonly workingDirectory: string;
|
|
37
|
-
/** Project root where .takt/ lives. Present only in worktree mode. */
|
|
38
|
-
readonly projectRoot?: string;
|
|
39
37
|
/** Language for metadata rendering */
|
|
40
38
|
readonly language: Language;
|
|
41
39
|
}
|
|
@@ -43,15 +41,18 @@ export interface ExecutionMetadata {
|
|
|
43
41
|
* Build execution metadata from instruction context.
|
|
44
42
|
*
|
|
45
43
|
* Pure function: InstructionContext → ExecutionMetadata.
|
|
46
|
-
* Sets `projectRoot` only when cwd differs from projectCwd (worktree mode).
|
|
47
44
|
*/
|
|
48
45
|
export declare function buildExecutionMetadata(context: InstructionContext): ExecutionMetadata;
|
|
46
|
+
/**
|
|
47
|
+
* Render status rules header.
|
|
48
|
+
* Prepended to status_rules_prompt when it exists.
|
|
49
|
+
*/
|
|
50
|
+
export declare function renderStatusRulesHeader(language: Language): string;
|
|
49
51
|
/**
|
|
50
52
|
* Render execution metadata as a markdown string.
|
|
51
53
|
*
|
|
52
54
|
* Pure function: ExecutionMetadata → string.
|
|
53
|
-
* Always includes heading + Working Directory.
|
|
54
|
-
* Adds Project Root and Mode only in worktree mode (when projectRoot is present).
|
|
55
|
+
* Always includes heading + Working Directory + Execution Rules.
|
|
55
56
|
* Language determines the output language; 'en' includes a note about language consistency.
|
|
56
57
|
*/
|
|
57
58
|
export declare function renderExecutionMetadata(metadata: ExecutionMetadata): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instruction-builder.d.ts","sourceRoot":"","sources":["../../src/workflow/instruction-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGhF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,aAAa,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,GAAG,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,wCAAwC;IACxC,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,qEAAqE;AACrE,MAAM,WAAW,iBAAiB;IAChC,wDAAwD;IACxD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,
|
|
1
|
+
{"version":3,"file":"instruction-builder.d.ts","sourceRoot":"","sources":["../../src/workflow/instruction-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGhF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,aAAa,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,GAAG,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,wCAAwC;IACxC,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,qEAAqE;AACrE,MAAM,WAAW,iBAAiB;IAChC,wDAAwD;IACxD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,kBAAkB,GAAG,iBAAiB,CAKrF;AAgBD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAGlE;AAsBD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAgB3E;AASD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,kBAAkB,GAC1B,MAAM,CAyDR"}
|
|
@@ -10,31 +10,50 @@ import { getGitDiff } from '../agents/runner.js';
|
|
|
10
10
|
* Build execution metadata from instruction context.
|
|
11
11
|
*
|
|
12
12
|
* Pure function: InstructionContext → ExecutionMetadata.
|
|
13
|
-
* Sets `projectRoot` only when cwd differs from projectCwd (worktree mode).
|
|
14
13
|
*/
|
|
15
14
|
export function buildExecutionMetadata(context) {
|
|
16
|
-
const projectRoot = context.projectCwd ?? context.cwd;
|
|
17
|
-
const isWorktree = context.cwd !== projectRoot;
|
|
18
15
|
return {
|
|
19
16
|
workingDirectory: context.cwd,
|
|
20
|
-
...(isWorktree ? { projectRoot } : {}),
|
|
21
17
|
language: context.language ?? 'en',
|
|
22
18
|
};
|
|
23
19
|
}
|
|
20
|
+
/** Localized strings for status rules header */
|
|
21
|
+
const STATUS_RULES_HEADER_STRINGS = {
|
|
22
|
+
en: {
|
|
23
|
+
heading: '# ⚠️ Required: Status Output Rules ⚠️',
|
|
24
|
+
warning: '**The workflow will stop without this tag.**',
|
|
25
|
+
instruction: 'Your final output MUST include a status tag following the rules below.',
|
|
26
|
+
},
|
|
27
|
+
ja: {
|
|
28
|
+
heading: '# ⚠️ 必須: ステータス出力ルール ⚠️',
|
|
29
|
+
warning: '**このタグがないとワークフローが停止します。**',
|
|
30
|
+
instruction: '最終出力には必ず以下のルールに従ったステータスタグを含めてください。',
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Render status rules header.
|
|
35
|
+
* Prepended to status_rules_prompt when it exists.
|
|
36
|
+
*/
|
|
37
|
+
export function renderStatusRulesHeader(language) {
|
|
38
|
+
const strings = STATUS_RULES_HEADER_STRINGS[language];
|
|
39
|
+
return [strings.heading, '', strings.warning, strings.instruction, ''].join('\n');
|
|
40
|
+
}
|
|
24
41
|
/** Localized strings for execution metadata rendering */
|
|
25
42
|
const METADATA_STRINGS = {
|
|
26
43
|
en: {
|
|
27
44
|
heading: '## Execution Context',
|
|
28
45
|
workingDirectory: 'Working Directory',
|
|
29
|
-
|
|
30
|
-
|
|
46
|
+
rulesHeading: '## Execution Rules',
|
|
47
|
+
noCommit: '**Do NOT run git commit.** Commits are handled automatically by the system after workflow completion.',
|
|
48
|
+
noCd: '**Do NOT use `cd` in Bash commands.** Your working directory is already set correctly. Run commands directly without changing directories.',
|
|
31
49
|
note: 'Note: This section is metadata. Follow the language used in the rest of the prompt.',
|
|
32
50
|
},
|
|
33
51
|
ja: {
|
|
34
52
|
heading: '## 実行コンテキスト',
|
|
35
53
|
workingDirectory: '作業ディレクトリ',
|
|
36
|
-
|
|
37
|
-
|
|
54
|
+
rulesHeading: '## 実行ルール',
|
|
55
|
+
noCommit: '**git commit を実行しないでください。** コミットはワークフロー完了後にシステムが自動で行います。',
|
|
56
|
+
noCd: '**Bashコマンドで `cd` を使用しないでください。** 作業ディレクトリは既に正しく設定されています。ディレクトリを変更せずにコマンドを実行してください。',
|
|
38
57
|
note: '',
|
|
39
58
|
},
|
|
40
59
|
};
|
|
@@ -42,8 +61,7 @@ const METADATA_STRINGS = {
|
|
|
42
61
|
* Render execution metadata as a markdown string.
|
|
43
62
|
*
|
|
44
63
|
* Pure function: ExecutionMetadata → string.
|
|
45
|
-
* Always includes heading + Working Directory.
|
|
46
|
-
* Adds Project Root and Mode only in worktree mode (when projectRoot is present).
|
|
64
|
+
* Always includes heading + Working Directory + Execution Rules.
|
|
47
65
|
* Language determines the output language; 'en' includes a note about language consistency.
|
|
48
66
|
*/
|
|
49
67
|
export function renderExecutionMetadata(metadata) {
|
|
@@ -51,11 +69,11 @@ export function renderExecutionMetadata(metadata) {
|
|
|
51
69
|
const lines = [
|
|
52
70
|
strings.heading,
|
|
53
71
|
`- ${strings.workingDirectory}: ${metadata.workingDirectory}`,
|
|
72
|
+
'',
|
|
73
|
+
strings.rulesHeading,
|
|
74
|
+
`- ${strings.noCommit}`,
|
|
75
|
+
`- ${strings.noCd}`,
|
|
54
76
|
];
|
|
55
|
-
if (metadata.projectRoot !== undefined) {
|
|
56
|
-
lines.push(`- ${strings.projectRoot}: ${metadata.projectRoot}`);
|
|
57
|
-
lines.push(`- ${strings.mode}`);
|
|
58
|
-
}
|
|
59
77
|
if (strings.note) {
|
|
60
78
|
lines.push('');
|
|
61
79
|
lines.push(strings.note);
|
|
@@ -115,9 +133,10 @@ export function buildInstruction(step, context) {
|
|
|
115
133
|
instruction = instruction.replace(/\.takt\/reports\/\{report_dir\}/g, reportDirFullPath);
|
|
116
134
|
instruction = instruction.replace(/\{report_dir\}/g, context.reportDir);
|
|
117
135
|
}
|
|
118
|
-
// Append status_rules_prompt if present
|
|
136
|
+
// Append status_rules_prompt with localized header if present
|
|
119
137
|
if (step.statusRulesPrompt) {
|
|
120
|
-
|
|
138
|
+
const statusHeader = renderStatusRulesHeader(context.language ?? 'en');
|
|
139
|
+
instruction = `${instruction}\n\n${statusHeader}\n${step.statusRulesPrompt}`;
|
|
121
140
|
}
|
|
122
141
|
// Prepend execution context metadata so agents see it first.
|
|
123
142
|
// Now language-aware, so no need to hide it at the end.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instruction-builder.js","sourceRoot":"","sources":["../../src/workflow/instruction-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"instruction-builder.js","sourceRoot":"","sources":["../../src/workflow/instruction-builder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -29,11 +29,6 @@ steps:
|
|
|
29
29
|
- WebSearch
|
|
30
30
|
- WebFetch
|
|
31
31
|
status_rules_prompt: |
|
|
32
|
-
# ⚠️ REQUIRED: Status Output Rules ⚠️
|
|
33
|
-
|
|
34
|
-
**Without this tag, the workflow will stop.**
|
|
35
|
-
Your final output MUST include a status tag following the rules below.
|
|
36
|
-
|
|
37
32
|
## Judgment Criteria
|
|
38
33
|
|
|
39
34
|
| Situation | Judgment |
|
|
@@ -149,11 +144,6 @@ steps:
|
|
|
149
144
|
- WebFetch
|
|
150
145
|
permission_mode: acceptEdits
|
|
151
146
|
status_rules_prompt: |
|
|
152
|
-
# ⚠️ REQUIRED: Status Output Rules ⚠️
|
|
153
|
-
|
|
154
|
-
**Without this tag, the workflow will stop.**
|
|
155
|
-
Your final output MUST include a status tag following the rules below.
|
|
156
|
-
|
|
157
147
|
## Output Format
|
|
158
148
|
|
|
159
149
|
| Situation | Tag |
|
|
@@ -249,11 +239,6 @@ steps:
|
|
|
249
239
|
- WebSearch
|
|
250
240
|
- WebFetch
|
|
251
241
|
status_rules_prompt: |
|
|
252
|
-
# ⚠️ REQUIRED: Status Output Rules ⚠️
|
|
253
|
-
|
|
254
|
-
**Without this tag, the workflow will stop.**
|
|
255
|
-
Your final output MUST include a status tag following the rules below.
|
|
256
|
-
|
|
257
242
|
## Judgment Criteria
|
|
258
243
|
|
|
259
244
|
| Situation | Judgment |
|
|
@@ -379,11 +364,6 @@ steps:
|
|
|
379
364
|
- WebFetch
|
|
380
365
|
permission_mode: acceptEdits
|
|
381
366
|
status_rules_prompt: |
|
|
382
|
-
# ⚠️ REQUIRED: Status Output Rules ⚠️
|
|
383
|
-
|
|
384
|
-
**Without this tag, the workflow will stop.**
|
|
385
|
-
Your final output MUST include a status tag following the rules below.
|
|
386
|
-
|
|
387
367
|
## Output Format
|
|
388
368
|
|
|
389
369
|
| Situation | Tag |
|
|
@@ -452,11 +432,6 @@ steps:
|
|
|
452
432
|
- WebSearch
|
|
453
433
|
- WebFetch
|
|
454
434
|
status_rules_prompt: |
|
|
455
|
-
# ⚠️ REQUIRED: Status Output Rules ⚠️
|
|
456
|
-
|
|
457
|
-
**Without this tag, the workflow will stop.**
|
|
458
|
-
Your final output MUST include a status tag following the rules below.
|
|
459
|
-
|
|
460
435
|
## Judgment Criteria
|
|
461
436
|
|
|
462
437
|
| Situation | Judgment |
|
|
@@ -565,11 +540,6 @@ steps:
|
|
|
565
540
|
- WebFetch
|
|
566
541
|
permission_mode: acceptEdits
|
|
567
542
|
status_rules_prompt: |
|
|
568
|
-
# ⚠️ REQUIRED: Status Output Rules ⚠️
|
|
569
|
-
|
|
570
|
-
**Without this tag, the workflow will stop.**
|
|
571
|
-
Your final output MUST include a status tag following the rules below.
|
|
572
|
-
|
|
573
543
|
## Output Format
|
|
574
544
|
|
|
575
545
|
| Situation | Tag |
|
|
@@ -635,11 +605,6 @@ steps:
|
|
|
635
605
|
- WebSearch
|
|
636
606
|
- WebFetch
|
|
637
607
|
status_rules_prompt: |
|
|
638
|
-
# ⚠️ REQUIRED: Status Output Rules ⚠️
|
|
639
|
-
|
|
640
|
-
**Without this tag, the workflow will stop.**
|
|
641
|
-
Your final output MUST include a status tag following the rules below.
|
|
642
|
-
|
|
643
608
|
## Judgment Criteria
|
|
644
609
|
|
|
645
610
|
| Situation | Judgment |
|
|
@@ -748,11 +713,6 @@ steps:
|
|
|
748
713
|
- WebFetch
|
|
749
714
|
permission_mode: acceptEdits
|
|
750
715
|
status_rules_prompt: |
|
|
751
|
-
# ⚠️ REQUIRED: Status Output Rules ⚠️
|
|
752
|
-
|
|
753
|
-
**Without this tag, the workflow will stop.**
|
|
754
|
-
Your final output MUST include a status tag following the rules below.
|
|
755
|
-
|
|
756
716
|
## Output Format
|
|
757
717
|
|
|
758
718
|
| Situation | Tag |
|
|
@@ -818,11 +778,6 @@ steps:
|
|
|
818
778
|
- WebFetch
|
|
819
779
|
permission_mode: acceptEdits
|
|
820
780
|
status_rules_prompt: |
|
|
821
|
-
# ⚠️ REQUIRED: Status Output Rules ⚠️
|
|
822
|
-
|
|
823
|
-
**Without this tag, the workflow will stop.**
|
|
824
|
-
Your final output MUST include a status tag following the rules below.
|
|
825
|
-
|
|
826
781
|
## Output Format
|
|
827
782
|
|
|
828
783
|
| Situation | Tag |
|
|
@@ -887,11 +842,6 @@ steps:
|
|
|
887
842
|
- WebSearch
|
|
888
843
|
- WebFetch
|
|
889
844
|
status_rules_prompt: |
|
|
890
|
-
# ⚠️ REQUIRED: Status Output Rules ⚠️
|
|
891
|
-
|
|
892
|
-
**Without this tag, the workflow will stop.**
|
|
893
|
-
Your final output MUST include a status tag following the rules below.
|
|
894
|
-
|
|
895
845
|
## Judgment Criteria
|
|
896
846
|
|
|
897
847
|
| Situation | Judgment |
|