takt 0.2.3 → 0.3.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.
Files changed (185) hide show
  1. package/README.md +186 -162
  2. package/dist/agents/runner.d.ts +2 -4
  3. package/dist/agents/runner.d.ts.map +1 -1
  4. package/dist/agents/runner.js +6 -35
  5. package/dist/agents/runner.js.map +1 -1
  6. package/dist/claude/client.d.ts +31 -6
  7. package/dist/claude/client.d.ts.map +1 -1
  8. package/dist/claude/client.js +78 -30
  9. package/dist/claude/client.js.map +1 -1
  10. package/dist/claude/executor.d.ts.map +1 -1
  11. package/dist/claude/executor.js +17 -8
  12. package/dist/claude/executor.js.map +1 -1
  13. package/dist/claude/index.d.ts +1 -1
  14. package/dist/claude/index.d.ts.map +1 -1
  15. package/dist/claude/index.js +1 -1
  16. package/dist/claude/index.js.map +1 -1
  17. package/dist/cli.d.ts +5 -5
  18. package/dist/cli.d.ts.map +1 -1
  19. package/dist/cli.js +160 -119
  20. package/dist/cli.js.map +1 -1
  21. package/dist/codex/client.d.ts +0 -1
  22. package/dist/codex/client.d.ts.map +1 -1
  23. package/dist/codex/client.js +3 -6
  24. package/dist/codex/client.js.map +1 -1
  25. package/dist/commands/addTask.d.ts +15 -8
  26. package/dist/commands/addTask.d.ts.map +1 -1
  27. package/dist/commands/addTask.js +63 -26
  28. package/dist/commands/addTask.js.map +1 -1
  29. package/dist/commands/eject.d.ts +13 -0
  30. package/dist/commands/eject.d.ts.map +1 -0
  31. package/dist/commands/eject.js +105 -0
  32. package/dist/commands/eject.js.map +1 -0
  33. package/dist/commands/index.d.ts +2 -2
  34. package/dist/commands/index.d.ts.map +1 -1
  35. package/dist/commands/index.js +2 -2
  36. package/dist/commands/index.js.map +1 -1
  37. package/dist/commands/interactive.d.ts +28 -0
  38. package/dist/commands/interactive.d.ts.map +1 -0
  39. package/dist/commands/interactive.js +186 -0
  40. package/dist/commands/interactive.js.map +1 -0
  41. package/dist/commands/taskExecution.js +2 -2
  42. package/dist/commands/taskExecution.js.map +1 -1
  43. package/dist/commands/workflowExecution.d.ts.map +1 -1
  44. package/dist/commands/workflowExecution.js +85 -18
  45. package/dist/commands/workflowExecution.js.map +1 -1
  46. package/dist/config/agentLoader.d.ts +3 -1
  47. package/dist/config/agentLoader.d.ts.map +1 -1
  48. package/dist/config/agentLoader.js +17 -24
  49. package/dist/config/agentLoader.js.map +1 -1
  50. package/dist/config/globalConfig.d.ts +2 -0
  51. package/dist/config/globalConfig.d.ts.map +1 -1
  52. package/dist/config/globalConfig.js +14 -0
  53. package/dist/config/globalConfig.js.map +1 -1
  54. package/dist/config/initialization.d.ts +7 -5
  55. package/dist/config/initialization.d.ts.map +1 -1
  56. package/dist/config/initialization.js +23 -21
  57. package/dist/config/initialization.js.map +1 -1
  58. package/dist/config/paths.d.ts +5 -0
  59. package/dist/config/paths.d.ts.map +1 -1
  60. package/dist/config/paths.js +9 -0
  61. package/dist/config/paths.js.map +1 -1
  62. package/dist/config/workflowLoader.d.ts +6 -4
  63. package/dist/config/workflowLoader.d.ts.map +1 -1
  64. package/dist/config/workflowLoader.js +190 -35
  65. package/dist/config/workflowLoader.js.map +1 -1
  66. package/dist/github/issue.d.ts +72 -0
  67. package/dist/github/issue.d.ts.map +1 -0
  68. package/dist/github/issue.js +143 -0
  69. package/dist/github/issue.js.map +1 -0
  70. package/dist/models/index.d.ts +1 -1
  71. package/dist/models/index.d.ts.map +1 -1
  72. package/dist/models/index.js.map +1 -1
  73. package/dist/models/schemas.d.ts +164 -90
  74. package/dist/models/schemas.d.ts.map +1 -1
  75. package/dist/models/schemas.js +77 -51
  76. package/dist/models/schemas.js.map +1 -1
  77. package/dist/models/types.d.ts +51 -20
  78. package/dist/models/types.d.ts.map +1 -1
  79. package/dist/prompt/index.d.ts +0 -7
  80. package/dist/prompt/index.d.ts.map +1 -1
  81. package/dist/prompt/index.js +0 -11
  82. package/dist/prompt/index.js.map +1 -1
  83. package/dist/providers/claude.js +2 -2
  84. package/dist/providers/claude.js.map +1 -1
  85. package/dist/providers/codex.d.ts.map +1 -1
  86. package/dist/providers/codex.js +0 -2
  87. package/dist/providers/codex.js.map +1 -1
  88. package/dist/providers/index.d.ts +2 -1
  89. package/dist/providers/index.d.ts.map +1 -1
  90. package/dist/providers/index.js.map +1 -1
  91. package/dist/resources/index.d.ts +3 -22
  92. package/dist/resources/index.d.ts.map +1 -1
  93. package/dist/resources/index.js +3 -73
  94. package/dist/resources/index.js.map +1 -1
  95. package/dist/task/display.js +1 -1
  96. package/dist/task/display.js.map +1 -1
  97. package/dist/utils/session.d.ts +74 -10
  98. package/dist/utils/session.d.ts.map +1 -1
  99. package/dist/utils/session.js +101 -51
  100. package/dist/utils/session.js.map +1 -1
  101. package/dist/workflow/engine.d.ts +34 -1
  102. package/dist/workflow/engine.d.ts.map +1 -1
  103. package/dist/workflow/engine.js +228 -36
  104. package/dist/workflow/engine.js.map +1 -1
  105. package/dist/workflow/index.d.ts +1 -1
  106. package/dist/workflow/index.d.ts.map +1 -1
  107. package/dist/workflow/index.js +1 -1
  108. package/dist/workflow/index.js.map +1 -1
  109. package/dist/workflow/instruction-builder.d.ts +87 -18
  110. package/dist/workflow/instruction-builder.d.ts.map +1 -1
  111. package/dist/workflow/instruction-builder.js +404 -57
  112. package/dist/workflow/instruction-builder.js.map +1 -1
  113. package/dist/workflow/parallel-logger.d.ts +76 -0
  114. package/dist/workflow/parallel-logger.d.ts.map +1 -0
  115. package/dist/workflow/parallel-logger.js +173 -0
  116. package/dist/workflow/parallel-logger.js.map +1 -0
  117. package/dist/workflow/phase-runner.d.ts +40 -0
  118. package/dist/workflow/phase-runner.d.ts.map +1 -0
  119. package/dist/workflow/phase-runner.js +69 -0
  120. package/dist/workflow/phase-runner.js.map +1 -0
  121. package/dist/workflow/rule-evaluator.d.ts +64 -0
  122. package/dist/workflow/rule-evaluator.d.ts.map +1 -0
  123. package/dist/workflow/rule-evaluator.js +178 -0
  124. package/dist/workflow/rule-evaluator.js.map +1 -0
  125. package/dist/workflow/rule-utils.d.ts +13 -0
  126. package/dist/workflow/rule-utils.d.ts.map +1 -0
  127. package/dist/workflow/rule-utils.js +17 -0
  128. package/dist/workflow/rule-utils.js.map +1 -0
  129. package/dist/workflow/transitions.d.ts +5 -13
  130. package/dist/workflow/transitions.d.ts.map +1 -1
  131. package/dist/workflow/transitions.js +8 -78
  132. package/dist/workflow/transitions.js.map +1 -1
  133. package/dist/workflow/types.d.ts +2 -1
  134. package/dist/workflow/types.d.ts.map +1 -1
  135. package/package.json +1 -1
  136. package/resources/global/en/agents/default/ai-antipattern-reviewer.md +84 -15
  137. package/resources/global/en/agents/default/{architect.md → architecture-reviewer.md} +144 -44
  138. package/resources/global/en/agents/default/coder.md +4 -4
  139. package/resources/global/en/agents/default/planner.md +16 -9
  140. package/resources/global/en/agents/default/{security.md → security-reviewer.md} +23 -5
  141. package/resources/global/en/agents/default/supervisor.md +22 -2
  142. package/resources/global/en/agents/expert/frontend-reviewer.md +0 -17
  143. package/resources/global/en/agents/expert/qa-reviewer.md +0 -16
  144. package/resources/global/en/agents/expert/security-reviewer.md +0 -16
  145. package/resources/global/en/agents/expert/supervisor.md +2 -0
  146. package/resources/global/en/agents/expert-cqrs/cqrs-es-reviewer.md +0 -17
  147. package/resources/global/en/agents/templates/coder.md +128 -0
  148. package/resources/global/en/agents/templates/planner.md +44 -0
  149. package/resources/global/en/agents/templates/reviewer.md +57 -0
  150. package/resources/global/en/agents/templates/supervisor.md +64 -0
  151. package/resources/global/en/workflows/default.yaml +232 -772
  152. package/resources/global/en/workflows/expert-cqrs.yaml +319 -698
  153. package/resources/global/en/workflows/expert.yaml +348 -723
  154. package/resources/global/en/workflows/magi.yaml +45 -52
  155. package/resources/global/en/workflows/research.yaml +18 -99
  156. package/resources/global/en/workflows/simple.yaml +152 -421
  157. package/resources/global/ja/agents/default/ai-antipattern-reviewer.md +84 -15
  158. package/resources/global/ja/agents/default/{architect.md → architecture-reviewer.md} +148 -48
  159. package/resources/global/ja/agents/default/coder.md +4 -4
  160. package/resources/global/ja/agents/default/planner.md +16 -9
  161. package/resources/global/ja/agents/default/{security.md → security-reviewer.md} +23 -5
  162. package/resources/global/ja/agents/default/supervisor.md +22 -2
  163. package/resources/global/ja/agents/expert/frontend-reviewer.md +0 -18
  164. package/resources/global/ja/agents/expert/qa-reviewer.md +0 -16
  165. package/resources/global/ja/agents/expert/security-reviewer.md +0 -16
  166. package/resources/global/ja/agents/expert/supervisor.md +2 -0
  167. package/resources/global/ja/agents/expert-cqrs/cqrs-es-reviewer.md +0 -18
  168. package/resources/global/ja/agents/templates/coder.md +128 -0
  169. package/resources/global/ja/agents/templates/planner.md +44 -0
  170. package/resources/global/ja/agents/templates/reviewer.md +57 -0
  171. package/resources/global/ja/agents/templates/supervisor.md +64 -0
  172. package/resources/global/ja/workflows/default.yaml +227 -773
  173. package/resources/global/ja/workflows/expert-cqrs.yaml +309 -833
  174. package/resources/global/ja/workflows/expert.yaml +325 -712
  175. package/resources/global/ja/workflows/magi.yaml +45 -52
  176. package/resources/global/ja/workflows/research.yaml +18 -99
  177. package/resources/global/ja/workflows/simple.yaml +145 -415
  178. package/dist/commands/help.d.ts +0 -8
  179. package/dist/commands/help.d.ts.map +0 -1
  180. package/dist/commands/help.js +0 -48
  181. package/dist/commands/help.js.map +0 -1
  182. package/dist/commands/refreshBuiltin.d.ts +0 -11
  183. package/dist/commands/refreshBuiltin.d.ts.map +0 -1
  184. package/dist/commands/refreshBuiltin.js +0 -37
  185. package/dist/commands/refreshBuiltin.js.map +0 -1
@@ -1,10 +1,11 @@
1
1
  /**
2
2
  * Workflow execution logic
3
3
  */
4
+ import { readFileSync } from 'node:fs';
4
5
  import { WorkflowEngine } from '../workflow/engine.js';
5
6
  import { loadAgentSessions, updateAgentSession, loadWorktreeSessions, updateWorktreeSession, } from '../config/paths.js';
6
7
  import { header, info, warn, error, success, status, StreamDisplay, } from '../utils/ui.js';
7
- import { generateSessionId, createSessionLog, addToSessionLog, finalizeSessionLog, saveSessionLog, updateLatestPointer, } from '../utils/session.js';
8
+ import { generateSessionId, createSessionLog, finalizeSessionLog, updateLatestPointer, initNdjsonLog, appendNdjsonLine, } from '../utils/session.js';
8
9
  import { createLogger } from '../utils/debug.js';
9
10
  import { notifySuccess, notifyError } from '../utils/notification.js';
10
11
  import { selectOption, promptInput } from '../prompt/index.js';
@@ -35,14 +36,27 @@ export async function executeWorkflow(workflowConfig, task, cwd, options = {}) {
35
36
  log.debug('Continuing session (use /clear to reset)');
36
37
  header(`${headerPrefix} ${workflowConfig.name}`);
37
38
  const workflowSessionId = generateSessionId();
38
- const sessionLog = createSessionLog(task, projectCwd, workflowConfig.name);
39
- // Persist initial log + pointer at workflow start (enables crash recovery)
40
- saveSessionLog(sessionLog, workflowSessionId, projectCwd);
39
+ let sessionLog = createSessionLog(task, projectCwd, workflowConfig.name);
40
+ // Initialize NDJSON log file + pointer at workflow start
41
+ const ndjsonLogPath = initNdjsonLog(workflowSessionId, task, workflowConfig.name, projectCwd);
41
42
  updateLatestPointer(sessionLog, workflowSessionId, projectCwd, { copyToPrevious: true });
43
+ // Track current step name for stream log records
44
+ const stepRef = { current: '' };
42
45
  // Track current display for streaming
43
46
  const displayRef = { current: null };
44
- // Create stream handler that delegates to current display
47
+ // Create stream handler that delegates to UI display + writes NDJSON log
45
48
  const streamHandler = (event) => {
49
+ // Write stream event to NDJSON log (real-time)
50
+ if (stepRef.current) {
51
+ const record = {
52
+ type: 'stream',
53
+ step: stepRef.current,
54
+ event,
55
+ timestamp: new Date().toISOString(),
56
+ };
57
+ appendNdjsonLine(ndjsonLogPath, record);
58
+ }
59
+ // Delegate to UI display
46
60
  if (!displayRef.current)
47
61
  return;
48
62
  if (event.type === 'result')
@@ -108,11 +122,23 @@ export async function executeWorkflow(workflowConfig, task, cwd, options = {}) {
108
122
  log.debug('Step starting', { step: step.name, agent: step.agentDisplayName, iteration });
109
123
  info(`[${iteration}/${workflowConfig.maxIterations}] ${step.name} (${step.agentDisplayName})`);
110
124
  displayRef.current = new StreamDisplay(step.agentDisplayName);
125
+ stepRef.current = step.name;
126
+ // Write step_start record to NDJSON log
127
+ const record = {
128
+ type: 'step_start',
129
+ step: step.name,
130
+ agent: step.agentDisplayName,
131
+ iteration,
132
+ timestamp: new Date().toISOString(),
133
+ };
134
+ appendNdjsonLine(ndjsonLogPath, record);
111
135
  });
112
- engine.on('step:complete', (step, response) => {
136
+ engine.on('step:complete', (step, response, instruction) => {
113
137
  log.debug('Step completed', {
114
138
  step: step.name,
115
139
  status: response.status,
140
+ matchedRuleIndex: response.matchedRuleIndex,
141
+ matchedRuleMethod: response.matchedRuleMethod,
116
142
  contentLength: response.content.length,
117
143
  sessionId: response.sessionId,
118
144
  error: response.error,
@@ -122,30 +148,65 @@ export async function executeWorkflow(workflowConfig, task, cwd, options = {}) {
122
148
  displayRef.current = null;
123
149
  }
124
150
  console.log();
125
- status('Status', response.status);
151
+ if (response.matchedRuleIndex != null && step.rules) {
152
+ const rule = step.rules[response.matchedRuleIndex];
153
+ if (rule) {
154
+ const methodLabel = response.matchedRuleMethod ? ` (${response.matchedRuleMethod})` : '';
155
+ status('Status', `${rule.condition}${methodLabel}`);
156
+ }
157
+ else {
158
+ status('Status', response.status);
159
+ }
160
+ }
161
+ else {
162
+ status('Status', response.status);
163
+ }
126
164
  if (response.error) {
127
165
  error(`Error: ${response.error}`);
128
166
  }
129
167
  if (response.sessionId) {
130
168
  status('Session', response.sessionId);
131
169
  }
132
- addToSessionLog(sessionLog, step.name, response);
133
- // Incremental save after each step
134
- saveSessionLog(sessionLog, workflowSessionId, projectCwd);
170
+ // Write step_complete record to NDJSON log
171
+ const record = {
172
+ type: 'step_complete',
173
+ step: step.name,
174
+ agent: response.agent,
175
+ status: response.status,
176
+ content: response.content,
177
+ instruction,
178
+ ...(response.matchedRuleIndex != null ? { matchedRuleIndex: response.matchedRuleIndex } : {}),
179
+ ...(response.matchedRuleMethod ? { matchedRuleMethod: response.matchedRuleMethod } : {}),
180
+ ...(response.error ? { error: response.error } : {}),
181
+ timestamp: response.timestamp.toISOString(),
182
+ };
183
+ appendNdjsonLine(ndjsonLogPath, record);
184
+ // Update in-memory log for pointer metadata (immutable)
185
+ sessionLog = { ...sessionLog, iterations: sessionLog.iterations + 1 };
135
186
  updateLatestPointer(sessionLog, workflowSessionId, projectCwd);
136
187
  });
188
+ engine.on('step:report', (_step, filePath, fileName) => {
189
+ const content = readFileSync(filePath, 'utf-8');
190
+ console.log(`\n📄 Report: ${fileName}\n`);
191
+ console.log(content);
192
+ });
137
193
  engine.on('workflow:complete', (state) => {
138
194
  log.info('Workflow completed successfully', { iterations: state.iteration });
139
- finalizeSessionLog(sessionLog, 'completed');
140
- // Save log to project root so user can find it easily
141
- const logPath = saveSessionLog(sessionLog, workflowSessionId, projectCwd);
195
+ sessionLog = finalizeSessionLog(sessionLog, 'completed');
196
+ // Write workflow_complete record to NDJSON log
197
+ const record = {
198
+ type: 'workflow_complete',
199
+ iterations: state.iteration,
200
+ endTime: new Date().toISOString(),
201
+ };
202
+ appendNdjsonLine(ndjsonLogPath, record);
142
203
  updateLatestPointer(sessionLog, workflowSessionId, projectCwd);
143
204
  const elapsed = sessionLog.endTime
144
205
  ? formatElapsedTime(sessionLog.startTime, sessionLog.endTime)
145
206
  : '';
146
207
  const elapsedDisplay = elapsed ? `, ${elapsed}` : '';
147
208
  success(`Workflow completed (${state.iteration} iterations${elapsedDisplay})`);
148
- info(`Session log: ${logPath}`);
209
+ info(`Session log: ${ndjsonLogPath}`);
149
210
  notifySuccess('TAKT', `ワークフロー完了 (${state.iteration} iterations)`);
150
211
  });
151
212
  engine.on('workflow:abort', (state, reason) => {
@@ -155,16 +216,22 @@ export async function executeWorkflow(workflowConfig, task, cwd, options = {}) {
155
216
  displayRef.current = null;
156
217
  }
157
218
  abortReason = reason;
158
- finalizeSessionLog(sessionLog, 'aborted');
159
- // Save log to project root so user can find it easily
160
- const logPath = saveSessionLog(sessionLog, workflowSessionId, projectCwd);
219
+ sessionLog = finalizeSessionLog(sessionLog, 'aborted');
220
+ // Write workflow_abort record to NDJSON log
221
+ const record = {
222
+ type: 'workflow_abort',
223
+ iterations: state.iteration,
224
+ reason,
225
+ endTime: new Date().toISOString(),
226
+ };
227
+ appendNdjsonLine(ndjsonLogPath, record);
161
228
  updateLatestPointer(sessionLog, workflowSessionId, projectCwd);
162
229
  const elapsed = sessionLog.endTime
163
230
  ? formatElapsedTime(sessionLog.startTime, sessionLog.endTime)
164
231
  : '';
165
232
  const elapsedDisplay = elapsed ? ` (${elapsed})` : '';
166
233
  error(`Workflow aborted after ${state.iteration} iterations${elapsedDisplay}: ${reason}`);
167
- info(`Session log: ${logPath}`);
234
+ info(`Session log: ${ndjsonLogPath}`);
168
235
  notifyError('TAKT', `中断: ${reason}`);
169
236
  });
170
237
  const finalState = await engine.run();
@@ -1 +1 @@
1
- {"version":3,"file":"workflowExecution.js","sourceRoot":"","sources":["../../src/commands/workflowExecution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflowExecution.js","sourceRoot":"","sources":["../../src/commands/workflowExecution.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  /**
2
2
  * Agent configuration loader
3
3
  *
4
- * Loads agents from ~/.takt/agents/ directory only.
4
+ * Loads agents with user builtin fallback:
5
+ * 1. User agents: ~/.takt/agents/*.md
6
+ * 2. Builtin agents: resources/global/{lang}/agents/*.md
5
7
  */
6
8
  import type { CustomAgentConfig } from '../models/types.js';
7
9
  /** Load agents from markdown files in a directory */
@@ -1 +1 @@
1
- {"version":3,"file":"agentLoader.d.ts","sourceRoot":"","sources":["../../src/config/agentLoader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAO5D,qDAAqD;AACrD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAgBtE;AAED,qEAAqE;AACrE,wBAAgB,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CASjE;AAED,mCAAmC;AACnC,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CA+BhE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAuBjE"}
1
+ {"version":3,"file":"agentLoader.d.ts","sourceRoot":"","sources":["../../src/config/agentLoader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAqB5D,qDAAqD;AACrD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAgBtE;AAED,qEAAqE;AACrE,wBAAgB,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CASjE;AAED,mCAAmC;AACnC,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAmBhE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAWjE"}
@@ -1,11 +1,24 @@
1
1
  /**
2
2
  * Agent configuration loader
3
3
  *
4
- * Loads agents from ~/.takt/agents/ directory only.
4
+ * Loads agents with user builtin fallback:
5
+ * 1. User agents: ~/.takt/agents/*.md
6
+ * 2. Builtin agents: resources/global/{lang}/agents/*.md
5
7
  */
6
8
  import { readFileSync, existsSync, readdirSync } from 'node:fs';
7
9
  import { join, basename } from 'node:path';
8
- import { getGlobalAgentsDir, getGlobalWorkflowsDir, isPathSafe, } from './paths.js';
10
+ import { getGlobalAgentsDir, getGlobalWorkflowsDir, getBuiltinAgentsDir, getBuiltinWorkflowsDir, isPathSafe, } from './paths.js';
11
+ import { getLanguage } from './globalConfig.js';
12
+ /** Get all allowed base directories for agent prompt files */
13
+ function getAllowedAgentBases() {
14
+ const lang = getLanguage();
15
+ return [
16
+ getGlobalAgentsDir(),
17
+ getGlobalWorkflowsDir(),
18
+ getBuiltinAgentsDir(lang),
19
+ getBuiltinWorkflowsDir(lang),
20
+ ];
21
+ }
9
22
  /** Load agents from markdown files in a directory */
10
23
  export function loadAgentsFromDir(dirPath) {
11
24
  if (!existsSync(dirPath)) {
@@ -48,17 +61,7 @@ export function loadAgentPrompt(agent) {
48
61
  return agent.prompt;
49
62
  }
50
63
  if (agent.promptFile) {
51
- const allowedBases = [
52
- getGlobalAgentsDir(),
53
- getGlobalWorkflowsDir(),
54
- ];
55
- let isValid = false;
56
- for (const base of allowedBases) {
57
- if (isPathSafe(base, agent.promptFile)) {
58
- isValid = true;
59
- break;
60
- }
61
- }
64
+ const isValid = getAllowedAgentBases().some((base) => isPathSafe(base, agent.promptFile));
62
65
  if (!isValid) {
63
66
  throw new Error(`Agent prompt file path is not allowed: ${agent.promptFile}`);
64
67
  }
@@ -74,17 +77,7 @@ export function loadAgentPrompt(agent) {
74
77
  * Used by workflow engine when agentPath is already resolved.
75
78
  */
76
79
  export function loadAgentPromptFromPath(agentPath) {
77
- const allowedBases = [
78
- getGlobalAgentsDir(),
79
- getGlobalWorkflowsDir(),
80
- ];
81
- let isValid = false;
82
- for (const base of allowedBases) {
83
- if (isPathSafe(base, agentPath)) {
84
- isValid = true;
85
- break;
86
- }
87
- }
80
+ const isValid = getAllowedAgentBases().some((base) => isPathSafe(base, agentPath));
88
81
  if (!isValid) {
89
82
  throw new Error(`Agent prompt file path is not allowed: ${agentPath}`);
90
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agentLoader.js","sourceRoot":"","sources":["../../src/config/agentLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentLoader.js","sourceRoot":"","sources":["../../src/config/agentLoader.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ import type { GlobalConfig, DebugConfig, Language } from '../models/types.js';
8
8
  export declare function loadGlobalConfig(): GlobalConfig;
9
9
  /** Save global configuration */
10
10
  export declare function saveGlobalConfig(config: GlobalConfig): void;
11
+ /** Get list of disabled builtin names */
12
+ export declare function getDisabledBuiltins(): string[];
11
13
  /** Get current language setting */
12
14
  export declare function getLanguage(): Language;
13
15
  /** Set language setting */
@@ -1 +1 @@
1
- {"version":3,"file":"globalConfig.d.ts","sourceRoot":"","sources":["../../src/config/globalConfig.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAI9E,gCAAgC;AAChC,wBAAgB,gBAAgB,IAAI,YAAY,CAwB/C;AAED,gCAAgC;AAChC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAsB3D;AAED,mCAAmC;AACnC,wBAAgB,WAAW,IAAI,QAAQ,CAOtC;AAED,2BAA2B;AAC3B,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAIpD;AAED,2BAA2B;AAC3B,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CAI9D;AAED,8BAA8B;AAC9B,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAOrD;AAED,sCAAsC;AACtC,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAMvD;AAED,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAqBlF;AAED,4DAA4D;AAC5D,wBAAgB,uBAAuB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAYpF"}
1
+ {"version":3,"file":"globalConfig.d.ts","sourceRoot":"","sources":["../../src/config/globalConfig.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAI9E,gCAAgC;AAChC,wBAAgB,gBAAgB,IAAI,YAAY,CAyB/C;AAED,gCAAgC;AAChC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAyB3D;AAED,yCAAyC;AACzC,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAO9C;AAED,mCAAmC;AACnC,wBAAgB,WAAW,IAAI,QAAQ,CAOtC;AAED,2BAA2B;AAC3B,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAIpD;AAED,2BAA2B;AAC3B,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CAI9D;AAED,8BAA8B;AAC9B,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAOrD;AAED,sCAAsC;AACtC,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAMvD;AAED,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAqBlF;AAED,4DAA4D;AAC5D,wBAAgB,uBAAuB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAYpF"}
@@ -31,6 +31,7 @@ export function loadGlobalConfig() {
31
31
  logFile: parsed.debug.log_file,
32
32
  } : undefined,
33
33
  worktreeDir: parsed.worktree_dir,
34
+ disabledBuiltins: parsed.disabled_builtins,
34
35
  };
35
36
  }
36
37
  /** Save global configuration */
@@ -55,8 +56,21 @@ export function saveGlobalConfig(config) {
55
56
  if (config.worktreeDir) {
56
57
  raw.worktree_dir = config.worktreeDir;
57
58
  }
59
+ if (config.disabledBuiltins && config.disabledBuiltins.length > 0) {
60
+ raw.disabled_builtins = config.disabledBuiltins;
61
+ }
58
62
  writeFileSync(configPath, stringifyYaml(raw), 'utf-8');
59
63
  }
64
+ /** Get list of disabled builtin names */
65
+ export function getDisabledBuiltins() {
66
+ try {
67
+ const config = loadGlobalConfig();
68
+ return config.disabledBuiltins ?? [];
69
+ }
70
+ catch {
71
+ return [];
72
+ }
73
+ }
60
74
  /** Get current language setting */
61
75
  export function getLanguage() {
62
76
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"globalConfig.js","sourceRoot":"","sources":["../../src/config/globalConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"globalConfig.js","sourceRoot":"","sources":["../../src/config/globalConfig.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
1
  /**
2
2
  * Initialization module for first-time setup
3
3
  *
4
- * Handles language selection and initial resource setup.
5
- * Separated from paths.ts to avoid UI dependencies in utility modules.
4
+ * Handles language selection and initial config.yaml creation.
5
+ * Builtin agents/workflows are loaded via fallback from resources/
6
+ * and no longer copied to ~/.takt/ on setup.
6
7
  */
7
8
  import type { Language } from '../models/types.js';
8
9
  /**
9
- * Check if language-specific resources need to be initialized.
10
- * Returns true if agents or workflows directories don't exist.
10
+ * Check if initial setup is needed.
11
+ * Returns true if config.yaml doesn't exist yet.
11
12
  */
12
13
  export declare function needsLanguageSetup(): boolean;
13
14
  /**
@@ -23,7 +24,8 @@ export declare function promptLanguageSelection(): Promise<Language>;
23
24
  export declare function promptProviderSelection(): Promise<'claude' | 'codex'>;
24
25
  /**
25
26
  * Initialize global takt directory structure with language selection.
26
- * If agents/workflows don't exist, prompts user for language preference.
27
+ * On first run, creates config.yaml from language template.
28
+ * Agents/workflows are NOT copied — they are loaded via builtin fallback.
27
29
  */
28
30
  export declare function initGlobalDirs(): Promise<void>;
29
31
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"initialization.d.ts","sourceRoot":"","sources":["../../src/config/initialization.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAkBnD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAI5C;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,QAAQ,CAAC,CAiBjE;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,CAiB3E;AAED;;;GAGG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAsBpD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAIxD"}
1
+ {"version":3,"file":"initialization.d.ts","sourceRoot":"","sources":["../../src/config/initialization.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAanD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,QAAQ,CAAC,CAiBjE;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,CAiB3E;AAED;;;;GAIG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAcpD;AAYD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAIxD"}
@@ -1,23 +1,23 @@
1
1
  /**
2
2
  * Initialization module for first-time setup
3
3
  *
4
- * Handles language selection and initial resource setup.
5
- * Separated from paths.ts to avoid UI dependencies in utility modules.
4
+ * Handles language selection and initial config.yaml creation.
5
+ * Builtin agents/workflows are loaded via fallback from resources/
6
+ * and no longer copied to ~/.takt/ on setup.
6
7
  */
7
- import { existsSync } from 'node:fs';
8
+ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
9
+ import { join } from 'node:path';
8
10
  import { DEFAULT_LANGUAGE } from '../constants.js';
9
11
  import { selectOptionWithDefault } from '../prompt/index.js';
10
- import { getGlobalConfigDir, getGlobalAgentsDir, getGlobalWorkflowsDir, getGlobalLogsDir, getProjectConfigDir, ensureDir, } from './paths.js';
11
- import { copyGlobalResourcesToDir, copyLanguageResourcesToDir, copyProjectResourcesToDir, } from '../resources/index.js';
12
+ import { getGlobalConfigDir, getGlobalConfigPath, getGlobalLogsDir, getProjectConfigDir, ensureDir, } from './paths.js';
13
+ import { copyProjectResourcesToDir, getLanguageResourcesDir } from '../resources/index.js';
12
14
  import { setLanguage, setProvider } from './globalConfig.js';
13
15
  /**
14
- * Check if language-specific resources need to be initialized.
15
- * Returns true if agents or workflows directories don't exist.
16
+ * Check if initial setup is needed.
17
+ * Returns true if config.yaml doesn't exist yet.
16
18
  */
17
19
  export function needsLanguageSetup() {
18
- const agentsDir = getGlobalAgentsDir();
19
- const workflowsDir = getGlobalWorkflowsDir();
20
- return !existsSync(agentsDir) || !existsSync(workflowsDir);
20
+ return !existsSync(getGlobalConfigPath());
21
21
  }
22
22
  /**
23
23
  * Prompt user to select language for resources.
@@ -52,26 +52,28 @@ export async function promptProviderSelection() {
52
52
  }
53
53
  /**
54
54
  * Initialize global takt directory structure with language selection.
55
- * If agents/workflows don't exist, prompts user for language preference.
55
+ * On first run, creates config.yaml from language template.
56
+ * Agents/workflows are NOT copied — they are loaded via builtin fallback.
56
57
  */
57
58
  export async function initGlobalDirs() {
58
59
  ensureDir(getGlobalConfigDir());
59
60
  ensureDir(getGlobalLogsDir());
60
- // Check if we need to set up language-specific resources
61
- const needsSetup = needsLanguageSetup();
62
- if (needsSetup) {
63
- // Ask user for language preference
61
+ if (needsLanguageSetup()) {
64
62
  const lang = await promptLanguageSelection();
65
63
  const provider = await promptProviderSelection();
66
- // Copy language-specific resources (agents, workflows, config.yaml)
67
- copyLanguageResourcesToDir(getGlobalConfigDir(), lang);
68
- // Explicitly save the selected language (handles case where config.yaml existed)
64
+ // Copy only config.yaml from language resources
65
+ copyLanguageConfigYaml(lang);
69
66
  setLanguage(lang);
70
67
  setProvider(provider);
71
68
  }
72
- else {
73
- // Just copy base global resources (won't overwrite existing)
74
- copyGlobalResourcesToDir(getGlobalConfigDir());
69
+ }
70
+ /** Copy config.yaml from language resources to ~/.takt/ (if not already present) */
71
+ function copyLanguageConfigYaml(lang) {
72
+ const langDir = getLanguageResourcesDir(lang);
73
+ const srcPath = join(langDir, 'config.yaml');
74
+ const destPath = getGlobalConfigPath();
75
+ if (existsSync(srcPath) && !existsSync(destPath)) {
76
+ writeFileSync(destPath, readFileSync(srcPath));
75
77
  }
76
78
  }
77
79
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"initialization.js","sourceRoot":"","sources":["../../src/config/initialization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initialization.js","sourceRoot":"","sources":["../../src/config/initialization.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * This module provides pure path utilities without UI dependencies.
5
5
  * For initialization with language selection, use initialization.ts.
6
6
  */
7
+ import type { Language } from '../models/types.js';
7
8
  /** Get takt global config directory (~/.takt) */
8
9
  export declare function getGlobalConfigDir(): string;
9
10
  /** Get takt global agents directory (~/.takt/agents) */
@@ -14,6 +15,10 @@ export declare function getGlobalWorkflowsDir(): string;
14
15
  export declare function getGlobalLogsDir(): string;
15
16
  /** Get takt global config file path */
16
17
  export declare function getGlobalConfigPath(): string;
18
+ /** Get builtin workflows directory (resources/global/{lang}/workflows) */
19
+ export declare function getBuiltinWorkflowsDir(lang: Language): string;
20
+ /** Get builtin agents directory (resources/global/{lang}/agents) */
21
+ export declare function getBuiltinAgentsDir(lang: Language): string;
17
22
  /** Get project takt config directory (.takt in project) */
18
23
  export declare function getProjectConfigDir(projectDir: string): string;
19
24
  /** Get project config file path */
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,iDAAiD;AACjD,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,wDAAwD;AACxD,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,8DAA8D;AAC9D,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,qCAAqC;AACrC,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,uCAAuC;AACvC,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,2DAA2D;AAC3D,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,mCAAmC;AACnC,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,kCAAkC;AAClC,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,4CAA4C;AAC5C,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,iCAAiC;AACjC,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,+CAA+C;AAC/C,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI/C;AAED,qDAAqD;AACrD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAIxE;AAGD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAElB,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGnD,iDAAiD;AACjD,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,wDAAwD;AACxD,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,8DAA8D;AAC9D,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,qCAAqC;AACrC,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,uCAAuC;AACvC,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,0EAA0E;AAC1E,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAE7D;AAED,oEAAoE;AACpE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAE1D;AAED,2DAA2D;AAC3D,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,mCAAmC;AACnC,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,kCAAkC;AAClC,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,4CAA4C;AAC5C,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,iCAAiC;AACjC,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,+CAA+C;AAC/C,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI/C;AAED,qDAAqD;AACrD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAIxE;AAGD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAElB,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC"}
@@ -7,6 +7,7 @@
7
7
  import { homedir } from 'node:os';
8
8
  import { join, resolve } from 'node:path';
9
9
  import { existsSync, mkdirSync } from 'node:fs';
10
+ import { getLanguageResourcesDir } from '../resources/index.js';
10
11
  /** Get takt global config directory (~/.takt) */
11
12
  export function getGlobalConfigDir() {
12
13
  return join(homedir(), '.takt');
@@ -27,6 +28,14 @@ export function getGlobalLogsDir() {
27
28
  export function getGlobalConfigPath() {
28
29
  return join(getGlobalConfigDir(), 'config.yaml');
29
30
  }
31
+ /** Get builtin workflows directory (resources/global/{lang}/workflows) */
32
+ export function getBuiltinWorkflowsDir(lang) {
33
+ return join(getLanguageResourcesDir(lang), 'workflows');
34
+ }
35
+ /** Get builtin agents directory (resources/global/{lang}/agents) */
36
+ export function getBuiltinAgentsDir(lang) {
37
+ return join(getLanguageResourcesDir(lang), 'agents');
38
+ }
30
39
  /** Get project takt config directory (.takt in project) */
31
40
  export function getProjectConfigDir(projectDir) {
32
41
  return join(resolve(projectDir), '.takt');
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  /**
2
2
  * Workflow configuration loader
3
3
  *
4
- * Loads workflows from ~/.takt/workflows/ directory only.
4
+ * Loads workflows with user builtin fallback:
5
+ * 1. User workflows: ~/.takt/workflows/{name}.yaml
6
+ * 2. Builtin workflows: resources/global/{lang}/workflows/{name}.yaml
5
7
  */
6
8
  import type { WorkflowConfig } from '../models/types.js';
7
9
  /** Get builtin workflow by name */
@@ -12,12 +14,12 @@ export declare function getBuiltinWorkflow(name: string): WorkflowConfig | null;
12
14
  */
13
15
  export declare function loadWorkflowFromFile(filePath: string): WorkflowConfig;
14
16
  /**
15
- * Load workflow by name from global directory.
16
- * Looks for ~/.takt/workflows/{name}.yaml
17
+ * Load workflow by name.
18
+ * Priority: user (~/.takt/workflows/) → builtin (resources/global/{lang}/workflows/)
17
19
  */
18
20
  export declare function loadWorkflow(name: string): WorkflowConfig | null;
19
21
  /** Load all workflows with descriptions (for switch command) */
20
22
  export declare function loadAllWorkflows(): Map<string, WorkflowConfig>;
21
- /** List available workflows from global directory (~/.takt/workflows/) */
23
+ /** List available workflows (user + builtin, excluding disabled) */
22
24
  export declare function listWorkflows(): string[];
23
25
  //# sourceMappingURL=workflowLoader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflowLoader.d.ts","sourceRoot":"","sources":["../../src/config/workflowLoader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,oBAAoB,CAAC;AAGvE,mCAAmC;AACnC,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAItE;AA0ED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAQrE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAQhE;AAED,gEAAgE;AAChE,wBAAgB,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAuB9D;AAED,0EAA0E;AAC1E,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAiBxC"}
1
+ {"version":3,"file":"workflowLoader.d.ts","sourceRoot":"","sources":["../../src/config/workflowLoader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAgE,MAAM,oBAAoB,CAAC;AAIvH,mCAAmC;AACnC,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAWtE;AAwMD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAQrE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAUhE;AAED,gEAAgE;AAChE,wBAAgB,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CA4C9D;AAED,oEAAoE;AACpE,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAcxC"}