takt 0.1.7 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/README.md +179 -43
  2. package/dist/agents/runner.d.ts +3 -1
  3. package/dist/agents/runner.d.ts.map +1 -1
  4. package/dist/agents/runner.js +15 -0
  5. package/dist/agents/runner.js.map +1 -1
  6. package/dist/claude/client.d.ts +3 -1
  7. package/dist/claude/client.d.ts.map +1 -1
  8. package/dist/claude/client.js +17 -0
  9. package/dist/claude/client.js.map +1 -1
  10. package/dist/cli.d.ts +9 -1
  11. package/dist/cli.d.ts.map +1 -1
  12. package/dist/cli.js +73 -18
  13. package/dist/cli.js.map +1 -1
  14. package/dist/commands/addTask.d.ts +15 -0
  15. package/dist/commands/addTask.d.ts.map +1 -0
  16. package/dist/commands/addTask.js +119 -0
  17. package/dist/commands/addTask.js.map +1 -0
  18. package/dist/commands/help.d.ts.map +1 -1
  19. package/dist/commands/help.js +18 -5
  20. package/dist/commands/help.js.map +1 -1
  21. package/dist/commands/index.d.ts +4 -0
  22. package/dist/commands/index.d.ts.map +1 -1
  23. package/dist/commands/index.js +4 -0
  24. package/dist/commands/index.js.map +1 -1
  25. package/dist/commands/refreshBuiltin.d.ts +11 -0
  26. package/dist/commands/refreshBuiltin.d.ts.map +1 -0
  27. package/dist/commands/refreshBuiltin.js +37 -0
  28. package/dist/commands/refreshBuiltin.js.map +1 -0
  29. package/dist/commands/reviewTasks.d.ts +32 -0
  30. package/dist/commands/reviewTasks.d.ts.map +1 -0
  31. package/dist/commands/reviewTasks.js +198 -0
  32. package/dist/commands/reviewTasks.js.map +1 -0
  33. package/dist/commands/taskExecution.d.ts +24 -1
  34. package/dist/commands/taskExecution.d.ts.map +1 -1
  35. package/dist/commands/taskExecution.js +100 -36
  36. package/dist/commands/taskExecution.js.map +1 -1
  37. package/dist/commands/watchTasks.d.ts +12 -0
  38. package/dist/commands/watchTasks.d.ts.map +1 -0
  39. package/dist/commands/watchTasks.js +68 -0
  40. package/dist/commands/watchTasks.js.map +1 -0
  41. package/dist/commands/workflowExecution.d.ts +5 -1
  42. package/dist/commands/workflowExecution.d.ts.map +1 -1
  43. package/dist/commands/workflowExecution.js +35 -12
  44. package/dist/commands/workflowExecution.js.map +1 -1
  45. package/dist/config/initialization.d.ts +2 -0
  46. package/dist/config/initialization.d.ts.map +1 -1
  47. package/dist/config/initialization.js +12 -2
  48. package/dist/config/initialization.js.map +1 -1
  49. package/dist/config/paths.d.ts +1 -1
  50. package/dist/config/paths.d.ts.map +1 -1
  51. package/dist/config/paths.js +1 -1
  52. package/dist/config/paths.js.map +1 -1
  53. package/dist/config/sessionStore.d.ts +5 -0
  54. package/dist/config/sessionStore.d.ts.map +1 -1
  55. package/dist/config/sessionStore.js +1 -1
  56. package/dist/config/sessionStore.js.map +1 -1
  57. package/dist/config/workflowLoader.d.ts.map +1 -1
  58. package/dist/config/workflowLoader.js +1 -0
  59. package/dist/config/workflowLoader.js.map +1 -1
  60. package/dist/models/schemas.d.ts +22 -0
  61. package/dist/models/schemas.d.ts.map +1 -1
  62. package/dist/models/schemas.js +8 -0
  63. package/dist/models/schemas.js.map +1 -1
  64. package/dist/models/types.d.ts +8 -2
  65. package/dist/models/types.d.ts.map +1 -1
  66. package/dist/prompt/index.d.ts +60 -11
  67. package/dist/prompt/index.d.ts.map +1 -1
  68. package/dist/prompt/index.js +246 -72
  69. package/dist/prompt/index.js.map +1 -1
  70. package/dist/providers/claude.d.ts.map +1 -1
  71. package/dist/providers/claude.js +2 -0
  72. package/dist/providers/claude.js.map +1 -1
  73. package/dist/providers/index.d.ts +3 -1
  74. package/dist/providers/index.d.ts.map +1 -1
  75. package/dist/providers/index.js.map +1 -1
  76. package/dist/resources/index.d.ts +5 -0
  77. package/dist/resources/index.d.ts.map +1 -1
  78. package/dist/resources/index.js +33 -9
  79. package/dist/resources/index.js.map +1 -1
  80. package/dist/task/autoCommit.d.ts +28 -0
  81. package/dist/task/autoCommit.d.ts.map +1 -0
  82. package/dist/task/autoCommit.js +68 -0
  83. package/dist/task/autoCommit.js.map +1 -0
  84. package/dist/task/display.d.ts.map +1 -1
  85. package/dist/task/display.js +19 -1
  86. package/dist/task/display.js.map +1 -1
  87. package/dist/task/index.d.ts +5 -0
  88. package/dist/task/index.d.ts.map +1 -1
  89. package/dist/task/index.js +5 -0
  90. package/dist/task/index.js.map +1 -1
  91. package/dist/task/parser.d.ts +33 -0
  92. package/dist/task/parser.d.ts.map +1 -0
  93. package/dist/task/parser.js +86 -0
  94. package/dist/task/parser.js.map +1 -0
  95. package/dist/task/runner.d.ts +6 -0
  96. package/dist/task/runner.d.ts.map +1 -1
  97. package/dist/task/runner.js +33 -42
  98. package/dist/task/runner.js.map +1 -1
  99. package/dist/task/schema.d.ts +32 -0
  100. package/dist/task/schema.d.ts.map +1 -0
  101. package/dist/task/schema.js +31 -0
  102. package/dist/task/schema.js.map +1 -0
  103. package/dist/task/watcher.d.ts +33 -0
  104. package/dist/task/watcher.d.ts.map +1 -0
  105. package/dist/task/watcher.js +69 -0
  106. package/dist/task/watcher.js.map +1 -0
  107. package/dist/task/worktree.d.ts +70 -0
  108. package/dist/task/worktree.d.ts.map +1 -0
  109. package/dist/task/worktree.js +221 -0
  110. package/dist/task/worktree.js.map +1 -0
  111. package/dist/utils/debug.d.ts +6 -1
  112. package/dist/utils/debug.d.ts.map +1 -1
  113. package/dist/utils/debug.js +30 -24
  114. package/dist/utils/debug.js.map +1 -1
  115. package/dist/utils/index.d.ts +1 -0
  116. package/dist/utils/index.d.ts.map +1 -1
  117. package/dist/utils/index.js +1 -0
  118. package/dist/utils/index.js.map +1 -1
  119. package/dist/utils/session.d.ts +20 -0
  120. package/dist/utils/session.d.ts.map +1 -1
  121. package/dist/utils/session.js +32 -3
  122. package/dist/utils/session.js.map +1 -1
  123. package/dist/utils/slug.d.ts +12 -0
  124. package/dist/utils/slug.d.ts.map +1 -0
  125. package/dist/utils/slug.js +18 -0
  126. package/dist/utils/slug.js.map +1 -0
  127. package/dist/utils/text.d.ts +22 -0
  128. package/dist/utils/text.d.ts.map +1 -0
  129. package/dist/utils/text.js +54 -0
  130. package/dist/utils/text.js.map +1 -0
  131. package/dist/workflow/engine.d.ts +5 -6
  132. package/dist/workflow/engine.d.ts.map +1 -1
  133. package/dist/workflow/engine.js +32 -12
  134. package/dist/workflow/engine.js.map +1 -1
  135. package/dist/workflow/index.d.ts +2 -2
  136. package/dist/workflow/index.d.ts.map +1 -1
  137. package/dist/workflow/index.js +2 -2
  138. package/dist/workflow/index.js.map +1 -1
  139. package/dist/workflow/instruction-builder.d.ts +31 -2
  140. package/dist/workflow/instruction-builder.d.ts.map +1 -1
  141. package/dist/workflow/instruction-builder.js +69 -1
  142. package/dist/workflow/instruction-builder.js.map +1 -1
  143. package/dist/workflow/transitions.d.ts.map +1 -1
  144. package/dist/workflow/transitions.js +1 -0
  145. package/dist/workflow/transitions.js.map +1 -1
  146. package/dist/workflow/types.d.ts +5 -1
  147. package/dist/workflow/types.d.ts.map +1 -1
  148. package/package.json +3 -2
  149. package/resources/global/en/workflows/default.yaml +22 -1
  150. package/resources/global/en/workflows/simple.yaml +18 -1
  151. package/resources/global/ja/agents/default/ai-reviewer.md +24 -1
  152. package/resources/global/ja/agents/default/architect.md +157 -4
  153. package/resources/global/ja/agents/default/coder.md +1 -0
  154. package/resources/global/ja/workflows/default.yaml +38 -1
  155. package/resources/global/ja/workflows/expert-review.yaml +169 -10
  156. package/resources/global/ja/workflows/simple.yaml +18 -1
@@ -17,6 +17,7 @@ export interface SessionLog {
17
17
  status: string;
18
18
  timestamp: string;
19
19
  content: string;
20
+ error?: string;
20
21
  }>;
21
22
  }
22
23
  /** Generate a session ID */
@@ -38,6 +39,25 @@ export declare function saveSessionLog(log: SessionLog, sessionId: string, proje
38
39
  export declare function loadSessionLog(filepath: string): SessionLog | null;
39
40
  /** Load project context (CLAUDE.md files) */
40
41
  export declare function loadProjectContext(projectDir: string): string;
42
+ /** Pointer metadata for latest/previous log files */
43
+ export interface LatestLogPointer {
44
+ sessionId: string;
45
+ logFile: string;
46
+ task: string;
47
+ workflowName: string;
48
+ status: SessionLog['status'];
49
+ startTime: string;
50
+ updatedAt: string;
51
+ iterations: number;
52
+ }
53
+ /**
54
+ * Update latest.json pointer file.
55
+ * On first call (workflow start), copies existing latest.json to previous.json.
56
+ * On subsequent calls (step complete / workflow end), only overwrites latest.json.
57
+ */
58
+ export declare function updateLatestPointer(log: SessionLog, sessionId: string, projectDir?: string, options?: {
59
+ copyToPrevious?: boolean;
60
+ }): void;
41
61
  /** Convert workflow state to session log */
42
62
  export declare function workflowStateToSessionLog(state: WorkflowState, task: string, projectDir: string): SessionLog;
43
63
  //# sourceMappingURL=session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGvE,wBAAwB;AACxB,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IAC5C,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ;AAED,4BAA4B;AAC5B,wBAAgB,iBAAiB,IAAI,MAAM,CAI1C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgBtD;AAED,+BAA+B;AAC/B,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,UAAU,CAUZ;AAED,wCAAwC;AACxC,wBAAgB,eAAe,CAC7B,GAAG,EAAE,UAAU,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,aAAa,GACtB,IAAI,CASN;AAED,2BAA2B;AAC3B,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,WAAW,GAAG,SAAS,GAC9B,IAAI,CAGN;AAED,+BAA+B;AAC/B,wBAAgB,cAAc,CAC5B,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CAWR;AAED,iCAAiC;AACjC,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAMlE;AAED,6CAA6C;AAC7C,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAgB7D;AAED,4CAA4C;AAC5C,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,UAAU,CAsBZ"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGvE,wBAAwB;AACxB,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IAC5C,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACJ;AAED,4BAA4B;AAC5B,wBAAgB,iBAAiB,IAAI,MAAM,CAI1C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgBtD;AAED,+BAA+B;AAC/B,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,UAAU,CAUZ;AAED,wCAAwC;AACxC,wBAAgB,eAAe,CAC7B,GAAG,EAAE,UAAU,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,aAAa,GACtB,IAAI,CAUN;AAED,2BAA2B;AAC3B,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,WAAW,GAAG,SAAS,GAC9B,IAAI,CAGN;AAED,+BAA+B;AAC/B,wBAAgB,cAAc,CAC5B,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CAWR;AAED,iCAAiC;AACjC,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAMlE;AAED,6CAA6C;AAC7C,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAgB7D;AAED,qDAAqD;AACrD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GACrC,IAAI,CA0BN;AAED,4CAA4C;AAC5C,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,UAAU,CAsBZ"}
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * Session management utilities
3
3
  */
4
- import { writeFileSync, existsSync, readFileSync } from 'node:fs';
4
+ import { existsSync, readFileSync, copyFileSync } from 'node:fs';
5
5
  import { join } from 'node:path';
6
- import { getProjectLogsDir, getGlobalLogsDir, ensureDir } from '../config/paths.js';
6
+ import { getProjectLogsDir, getGlobalLogsDir, ensureDir, writeFileAtomic } from '../config/paths.js';
7
7
  /** Generate a session ID */
8
8
  export function generateSessionId() {
9
9
  const timestamp = Date.now().toString(36);
@@ -49,6 +49,7 @@ export function addToSessionLog(log, stepName, response) {
49
49
  status: response.status,
50
50
  timestamp: response.timestamp.toISOString(),
51
51
  content: response.content,
52
+ ...(response.error ? { error: response.error } : {}),
52
53
  });
53
54
  log.iterations++;
54
55
  }
@@ -65,7 +66,7 @@ export function saveSessionLog(log, sessionId, projectDir) {
65
66
  ensureDir(logsDir);
66
67
  const filename = `${sessionId}.json`;
67
68
  const filepath = join(logsDir, filename);
68
- writeFileSync(filepath, JSON.stringify(log, null, 2), 'utf-8');
69
+ writeFileAtomic(filepath, JSON.stringify(log, null, 2));
69
70
  return filepath;
70
71
  }
71
72
  /** Load session log from file */
@@ -91,6 +92,34 @@ export function loadProjectContext(projectDir) {
91
92
  }
92
93
  return contextParts.join('\n\n---\n\n');
93
94
  }
95
+ /**
96
+ * Update latest.json pointer file.
97
+ * On first call (workflow start), copies existing latest.json to previous.json.
98
+ * On subsequent calls (step complete / workflow end), only overwrites latest.json.
99
+ */
100
+ export function updateLatestPointer(log, sessionId, projectDir, options) {
101
+ const logsDir = projectDir
102
+ ? getProjectLogsDir(projectDir)
103
+ : getGlobalLogsDir();
104
+ ensureDir(logsDir);
105
+ const latestPath = join(logsDir, 'latest.json');
106
+ const previousPath = join(logsDir, 'previous.json');
107
+ // Copy latest → previous only when explicitly requested (workflow start)
108
+ if (options?.copyToPrevious && existsSync(latestPath)) {
109
+ copyFileSync(latestPath, previousPath);
110
+ }
111
+ const pointer = {
112
+ sessionId,
113
+ logFile: `${sessionId}.json`,
114
+ task: log.task,
115
+ workflowName: log.workflowName,
116
+ status: log.status,
117
+ startTime: log.startTime,
118
+ updatedAt: new Date().toISOString(),
119
+ iterations: log.iterations,
120
+ };
121
+ writeFileAtomic(latestPath, JSON.stringify(pointer, null, 2));
122
+ }
94
123
  /** Convert workflow state to session log */
95
124
  export function workflowStateToSessionLog(state, task, projectDir) {
96
125
  const log = {
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Text slugification utility
3
+ *
4
+ * Converts text into URL/filename-safe slugs.
5
+ * Supports ASCII alphanumerics and CJK characters.
6
+ */
7
+ /**
8
+ * Convert text into a slug for use in filenames, paths, and branch names.
9
+ * Preserves CJK characters (U+3000-9FFF, FF00-FFEF).
10
+ */
11
+ export declare function slugify(text: string): string;
12
+ //# sourceMappingURL=slug.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slug.d.ts","sourceRoot":"","sources":["../../src/utils/slug.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM5C"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Text slugification utility
3
+ *
4
+ * Converts text into URL/filename-safe slugs.
5
+ * Supports ASCII alphanumerics and CJK characters.
6
+ */
7
+ /**
8
+ * Convert text into a slug for use in filenames, paths, and branch names.
9
+ * Preserves CJK characters (U+3000-9FFF, FF00-FFEF).
10
+ */
11
+ export function slugify(text) {
12
+ return text
13
+ .toLowerCase()
14
+ .replace(/[^a-z0-9\u3000-\u9fff\uff00-\uffef]+/g, '-')
15
+ .replace(/^-+|-+$/g, '')
16
+ .slice(0, 50);
17
+ }
18
+ //# sourceMappingURL=slug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slug.js","sourceRoot":"","sources":["../../src/utils/slug.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,IAAI;SACR,WAAW,EAAE;SACb,OAAO,CAAC,uCAAuC,EAAE,GAAG,CAAC;SACrD,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClB,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Text display width utilities
3
+ *
4
+ * Pure functions for calculating and truncating text based on
5
+ * terminal display width, with full-width (CJK) character support.
6
+ */
7
+ /**
8
+ * Check if a Unicode code point is full-width (occupies 2 columns).
9
+ * Covers CJK unified ideographs, Hangul, fullwidth forms, etc.
10
+ */
11
+ export declare function isFullWidth(code: number): boolean;
12
+ /**
13
+ * Calculate the display width of a plain text string.
14
+ * Full-width characters (CJK etc.) count as 2, others as 1.
15
+ */
16
+ export declare function getDisplayWidth(text: string): number;
17
+ /**
18
+ * Truncate plain text to fit within maxWidth display columns.
19
+ * Appends '…' if truncated. The ellipsis itself counts as 1 column.
20
+ */
21
+ export declare function truncateText(text: string, maxWidth: number): string;
22
+ //# sourceMappingURL=text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/utils/text.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAWjD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOpD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAcnE"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Text display width utilities
3
+ *
4
+ * Pure functions for calculating and truncating text based on
5
+ * terminal display width, with full-width (CJK) character support.
6
+ */
7
+ /**
8
+ * Check if a Unicode code point is full-width (occupies 2 columns).
9
+ * Covers CJK unified ideographs, Hangul, fullwidth forms, etc.
10
+ */
11
+ export function isFullWidth(code) {
12
+ return ((code >= 0x1100 && code <= 0x115F) || // Hangul Jamo
13
+ (code >= 0x2E80 && code <= 0x9FFF) || // CJK radicals, symbols, ideographs
14
+ (code >= 0xAC00 && code <= 0xD7AF) || // Hangul syllables
15
+ (code >= 0xF900 && code <= 0xFAFF) || // CJK compatibility ideographs
16
+ (code >= 0xFE10 && code <= 0xFE6F) || // CJK compatibility forms
17
+ (code >= 0xFF01 && code <= 0xFF60) || // Fullwidth ASCII variants
18
+ (code >= 0xFFE0 && code <= 0xFFE6) || // Fullwidth symbols
19
+ (code >= 0x20000 && code <= 0x2FA1F) // CJK extension B+
20
+ );
21
+ }
22
+ /**
23
+ * Calculate the display width of a plain text string.
24
+ * Full-width characters (CJK etc.) count as 2, others as 1.
25
+ */
26
+ export function getDisplayWidth(text) {
27
+ let width = 0;
28
+ for (const char of text) {
29
+ const code = char.codePointAt(0) ?? 0;
30
+ width += isFullWidth(code) ? 2 : 1;
31
+ }
32
+ return width;
33
+ }
34
+ /**
35
+ * Truncate plain text to fit within maxWidth display columns.
36
+ * Appends '…' if truncated. The ellipsis itself counts as 1 column.
37
+ */
38
+ export function truncateText(text, maxWidth) {
39
+ if (maxWidth <= 0)
40
+ return '';
41
+ let width = 0;
42
+ let i = 0;
43
+ for (const char of text) {
44
+ const charWidth = isFullWidth(char.codePointAt(0) ?? 0) ? 2 : 1;
45
+ if (width + charWidth > maxWidth - 1) {
46
+ // Not enough room; truncate and add ellipsis
47
+ return text.slice(0, i) + '…';
48
+ }
49
+ width += charWidth;
50
+ i += char.length;
51
+ }
52
+ return text;
53
+ }
54
+ //# sourceMappingURL=text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/utils/text.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,CACL,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,IAAK,cAAc;QACrD,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,IAAK,oCAAoC;QAC3E,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,IAAK,mBAAmB;QAC1D,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,IAAK,+BAA+B;QACtE,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,IAAK,0BAA0B;QACjE,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,IAAK,2BAA2B;QAClE,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,IAAK,oBAAoB;QAC3D,CAAC,IAAI,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,CAAG,mBAAmB;KAC3D,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtC,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,QAAgB;IACzD,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC;YACrC,6CAA6C;YAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;QAChC,CAAC;QACD,KAAK,IAAI,SAAS,CAAC;QACnB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -10,14 +10,15 @@ export { COMPLETE_STEP, ABORT_STEP } from './constants.js';
10
10
  export declare class WorkflowEngine extends EventEmitter {
11
11
  private state;
12
12
  private config;
13
- private originalCwd;
13
+ private projectCwd;
14
14
  private cwd;
15
15
  private task;
16
16
  private options;
17
17
  private loopDetector;
18
+ private language;
18
19
  private reportDir;
19
20
  constructor(config: WorkflowConfig, cwd: string, task: string, options?: WorkflowEngineOptions);
20
- /** Ensure report directory exists (always in original cwd) */
21
+ /** Ensure report directory exists (always in project root, not worktree) */
21
22
  private ensureReportDirExists;
22
23
  /** Validate workflow configuration at construction time */
23
24
  private validateConfig;
@@ -29,8 +30,8 @@ export declare class WorkflowEngine extends EventEmitter {
29
30
  updateCwd(newCwd: string): void;
30
31
  /** Get current working directory */
31
32
  getCwd(): string;
32
- /** Get original working directory (for .takt data) */
33
- getOriginalCwd(): string;
33
+ /** Get project root directory (where .takt/ lives) */
34
+ getProjectCwd(): string;
34
35
  /** Build instruction from template */
35
36
  private buildInstruction;
36
37
  /** Get step by name */
@@ -47,6 +48,4 @@ export declare class WorkflowEngine extends EventEmitter {
47
48
  loopDetected?: boolean;
48
49
  }>;
49
50
  }
50
- /** Create and run a workflow */
51
- export declare function executeWorkflow(config: WorkflowConfig, cwd: string, task: string): Promise<WorkflowState>;
52
51
  //# sourceMappingURL=engine.d.ts.map
@@ -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;AAcxD,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,WAAW,CAAS;IAC5B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B;IAclG,8DAA8D;IAC9D,OAAO,CAAC,qBAAqB;IAO7B,2DAA2D;IAC3D,OAAO,CAAC,cAAc;IAqBtB,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,cAAc,IAAI,MAAM;IAIxB,sCAAsC;IACtC,OAAO,CAAC,gBAAgB;IAaxB,uBAAuB;IACvB,OAAO,CAAC,OAAO;IAQf,wBAAwB;YACV,OAAO;IAmCrB,qCAAqC;IAC/B,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;IAuFnC,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;AAED,gCAAgC;AAChC,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,aAAa,CAAC,CAGxB"}
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;AAiBxD,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;gBAEd,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B;IAqBlG,4EAA4E;IAC5E,OAAO,CAAC,qBAAqB;IAO7B,2DAA2D;IAC3D,OAAO,CAAC,cAAc;IAqBtB,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,sCAAsC;IACtC,OAAO,CAAC,gBAAgB;IAexB,uBAAuB;IACvB,OAAO,CAAC,OAAO;IAQf,wBAAwB;YACV,OAAO;IA2CrB,qCAAqC;IAC/B,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;IA4FnC,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"}
@@ -12,33 +12,43 @@ import { LoopDetector } from './loop-detector.js';
12
12
  import { handleBlocked } from './blocked-handler.js';
13
13
  import { createInitialState, addUserInput, getPreviousOutput, incrementStepIteration, } from './state-manager.js';
14
14
  import { generateReportDir } from '../utils/session.js';
15
+ import { createLogger } from '../utils/debug.js';
16
+ const log = createLogger('engine');
15
17
  export { COMPLETE_STEP, ABORT_STEP } from './constants.js';
16
18
  /** Workflow engine for orchestrating agent execution */
17
19
  export class WorkflowEngine extends EventEmitter {
18
20
  state;
19
21
  config;
20
- originalCwd;
22
+ projectCwd;
21
23
  cwd;
22
24
  task;
23
25
  options;
24
26
  loopDetector;
27
+ language;
25
28
  reportDir;
26
29
  constructor(config, cwd, task, options = {}) {
27
30
  super();
28
31
  this.config = config;
29
- this.originalCwd = cwd;
32
+ this.projectCwd = options.projectCwd ?? cwd;
30
33
  this.cwd = cwd;
31
34
  this.task = task;
32
35
  this.options = options;
36
+ this.language = options.language;
33
37
  this.loopDetector = new LoopDetector(config.loopDetection);
34
38
  this.reportDir = generateReportDir(task);
35
39
  this.ensureReportDirExists();
36
40
  this.validateConfig();
37
41
  this.state = createInitialState(config, options);
42
+ log.debug('WorkflowEngine initialized', {
43
+ workflow: config.name,
44
+ steps: config.steps.map(s => s.name),
45
+ initialStep: config.initialStep,
46
+ maxIterations: config.maxIterations,
47
+ });
38
48
  }
39
- /** Ensure report directory exists (always in original cwd) */
49
+ /** Ensure report directory exists (always in project root, not worktree) */
40
50
  ensureReportDirExists() {
41
- const reportDirPath = join(this.originalCwd, '.takt', 'reports', this.reportDir);
51
+ const reportDirPath = join(this.projectCwd, '.takt', 'reports', this.reportDir);
42
52
  if (!existsSync(reportDirPath)) {
43
53
  mkdirSync(reportDirPath, { recursive: true });
44
54
  }
@@ -76,9 +86,9 @@ export class WorkflowEngine extends EventEmitter {
76
86
  getCwd() {
77
87
  return this.cwd;
78
88
  }
79
- /** Get original working directory (for .takt data) */
80
- getOriginalCwd() {
81
- return this.originalCwd;
89
+ /** Get project root directory (where .takt/ lives) */
90
+ getProjectCwd() {
91
+ return this.projectCwd;
82
92
  }
83
93
  /** Build instruction from template */
84
94
  buildInstruction(step, stepIteration) {
@@ -88,9 +98,11 @@ export class WorkflowEngine extends EventEmitter {
88
98
  maxIterations: this.config.maxIterations,
89
99
  stepIteration,
90
100
  cwd: this.cwd,
101
+ projectCwd: this.projectCwd,
91
102
  userInputs: this.state.userInputs,
92
103
  previousOutput: getPreviousOutput(this.state),
93
104
  reportDir: this.reportDir,
105
+ language: this.language,
94
106
  });
95
107
  }
96
108
  /** Get step by name */
@@ -107,6 +119,13 @@ export class WorkflowEngine extends EventEmitter {
107
119
  const stepIteration = incrementStepIteration(this.state, step.name);
108
120
  const instruction = this.buildInstruction(step, stepIteration);
109
121
  const sessionId = this.state.agentSessions.get(step.agent);
122
+ log.debug('Running step', {
123
+ step: step.name,
124
+ agent: step.agent,
125
+ stepIteration,
126
+ iteration: this.state.iteration,
127
+ sessionId: sessionId ?? 'new',
128
+ });
110
129
  const agentOptions = {
111
130
  cwd: this.cwd,
112
131
  sessionId,
@@ -115,6 +134,7 @@ export class WorkflowEngine extends EventEmitter {
115
134
  statusRulesPrompt: step.statusRulesPrompt,
116
135
  provider: step.provider,
117
136
  model: step.model,
137
+ permissionMode: step.permissionMode,
118
138
  onStream: this.options.onStream,
119
139
  onPermissionRequest: this.options.onPermissionRequest,
120
140
  onAskUserQuestion: this.options.onAskUserQuestion,
@@ -182,6 +202,11 @@ export class WorkflowEngine extends EventEmitter {
182
202
  break;
183
203
  }
184
204
  const nextStep = determineNextStep(step, response.status, this.config);
205
+ log.debug('Step transition', {
206
+ from: step.name,
207
+ status: response.status,
208
+ nextStep,
209
+ });
185
210
  if (nextStep === COMPLETE_STEP) {
186
211
  this.state.status = 'completed';
187
212
  this.emit('workflow:complete', this.state);
@@ -234,9 +259,4 @@ export class WorkflowEngine extends EventEmitter {
234
259
  return { response, nextStep, isComplete, loopDetected: loopCheck.isLoop };
235
260
  }
236
261
  }
237
- /** Create and run a workflow */
238
- export async function executeWorkflow(config, cwd, task) {
239
- const engine = new WorkflowEngine(config, cwd, task);
240
- return engine.run();
241
- }
242
262
  //# sourceMappingURL=engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/workflow/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/workflow/engine.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,12 @@
4
4
  * This file exports all public types, functions, and classes
5
5
  * from the workflow module.
6
6
  */
7
- export { WorkflowEngine, executeWorkflow } from './engine.js';
7
+ export { WorkflowEngine } from './engine.js';
8
8
  export { COMPLETE_STEP, ABORT_STEP, ERROR_MESSAGES } from './constants.js';
9
9
  export type { WorkflowEvents, UserInputRequest, IterationLimitRequest, SessionUpdateCallback, IterationLimitCallback, WorkflowEngineOptions, LoopCheckResult, } from './types.js';
10
10
  export { determineNextStep, matchesCondition, extractBlockedPrompt } from './transitions.js';
11
11
  export { LoopDetector } from './loop-detector.js';
12
12
  export { createInitialState, addUserInput, getPreviousOutput, storeStepOutput, } from './state-manager.js';
13
- export { buildInstruction, type InstructionContext } from './instruction-builder.js';
13
+ export { buildInstruction, buildExecutionMetadata, renderExecutionMetadata, type InstructionContext, type ExecutionMetadata, } from './instruction-builder.js';
14
14
  export { handleBlocked, type BlockedHandlerResult } from './blocked-handler.js';
15
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAG3E,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAG7F,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGrF,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAG3E,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAG7F,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -5,7 +5,7 @@
5
5
  * from the workflow module.
6
6
  */
7
7
  // Main engine
8
- export { WorkflowEngine, executeWorkflow } from './engine.js';
8
+ export { WorkflowEngine } from './engine.js';
9
9
  // Constants
10
10
  export { COMPLETE_STEP, ABORT_STEP, ERROR_MESSAGES } from './constants.js';
11
11
  // Transitions
@@ -15,7 +15,7 @@ export { LoopDetector } from './loop-detector.js';
15
15
  // State management
16
16
  export { createInitialState, addUserInput, getPreviousOutput, storeStepOutput, } from './state-manager.js';
17
17
  // Instruction building
18
- export { buildInstruction } from './instruction-builder.js';
18
+ export { buildInstruction, buildExecutionMetadata, renderExecutionMetadata, } from './instruction-builder.js';
19
19
  // Blocked handling
20
20
  export { handleBlocked } from './blocked-handler.js';
21
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc;AACd,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9D,YAAY;AACZ,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAa3E,cAAc;AACd,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7F,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,mBAAmB;AACnB,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAE5B,uBAAuB;AACvB,OAAO,EAAE,gBAAgB,EAA2B,MAAM,0BAA0B,CAAC;AAErF,mBAAmB;AACnB,OAAO,EAAE,aAAa,EAA6B,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc;AACd,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,YAAY;AACZ,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAa3E,cAAc;AACd,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7F,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,mBAAmB;AACnB,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAE5B,uBAAuB;AACvB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,GAGxB,MAAM,0BAA0B,CAAC;AAElC,mBAAmB;AACnB,OAAO,EAAE,aAAa,EAA6B,MAAM,sBAAsB,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Builds the instruction string for agent execution by replacing
5
5
  * template placeholders with actual values.
6
6
  */
7
- import type { WorkflowStep, AgentResponse } from '../models/types.js';
7
+ import type { WorkflowStep, AgentResponse, Language } from '../models/types.js';
8
8
  /**
9
9
  * Context for building instruction from template.
10
10
  */
@@ -17,15 +17,44 @@ export interface InstructionContext {
17
17
  maxIterations: number;
18
18
  /** Current step's iteration number (how many times this step has been executed) */
19
19
  stepIteration: number;
20
- /** Working directory */
20
+ /** Working directory (agent work dir, may be a worktree) */
21
21
  cwd: string;
22
+ /** Project root directory (where .takt/ lives). Defaults to cwd. */
23
+ projectCwd?: string;
22
24
  /** User inputs accumulated during workflow */
23
25
  userInputs: string[];
24
26
  /** Previous step output if available */
25
27
  previousOutput?: AgentResponse;
26
28
  /** Report directory path */
27
29
  reportDir?: string;
30
+ /** Language for metadata rendering. Defaults to 'en'. */
31
+ language?: Language;
28
32
  }
33
+ /** Execution environment metadata prepended to agent instructions */
34
+ export interface ExecutionMetadata {
35
+ /** The agent's working directory (may be a worktree) */
36
+ readonly workingDirectory: string;
37
+ /** Project root where .takt/ lives. Present only in worktree mode. */
38
+ readonly projectRoot?: string;
39
+ /** Language for metadata rendering */
40
+ readonly language: Language;
41
+ }
42
+ /**
43
+ * Build execution metadata from instruction context.
44
+ *
45
+ * Pure function: InstructionContext → ExecutionMetadata.
46
+ * Sets `projectRoot` only when cwd differs from projectCwd (worktree mode).
47
+ */
48
+ export declare function buildExecutionMetadata(context: InstructionContext): ExecutionMetadata;
49
+ /**
50
+ * Render execution metadata as a markdown string.
51
+ *
52
+ * 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
+ * Language determines the output language; 'en' includes a note about language consistency.
56
+ */
57
+ export declare function renderExecutionMetadata(metadata: ExecutionMetadata): string;
29
58
  /**
30
59
  * Build instruction from template with context values.
31
60
  *
@@ -1 +1 @@
1
- {"version":3,"file":"instruction-builder.d.ts","sourceRoot":"","sources":["../../src/workflow/instruction-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGtE;;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,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,8CAA8C;IAC9C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,wCAAwC;IACxC,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AASD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,kBAAkB,GAC1B,MAAM,CA6CR"}
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,sEAAsE;IACtE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,kBAAkB,GAAG,iBAAiB,CASrF;AAoBD;;;;;;;GAOG;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,CAwDR"}