takt 0.2.0 → 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 (123) hide show
  1. package/README.md +55 -15
  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 +64 -18
  13. package/dist/cli.js.map +1 -1
  14. package/dist/commands/addTask.d.ts.map +1 -1
  15. package/dist/commands/addTask.js +27 -9
  16. package/dist/commands/addTask.js.map +1 -1
  17. package/dist/commands/help.d.ts.map +1 -1
  18. package/dist/commands/help.js +5 -3
  19. package/dist/commands/help.js.map +1 -1
  20. package/dist/commands/index.d.ts +1 -0
  21. package/dist/commands/index.d.ts.map +1 -1
  22. package/dist/commands/index.js +1 -0
  23. package/dist/commands/index.js.map +1 -1
  24. package/dist/commands/reviewTasks.d.ts +32 -0
  25. package/dist/commands/reviewTasks.d.ts.map +1 -0
  26. package/dist/commands/reviewTasks.js +198 -0
  27. package/dist/commands/reviewTasks.js.map +1 -0
  28. package/dist/commands/taskExecution.d.ts +16 -2
  29. package/dist/commands/taskExecution.d.ts.map +1 -1
  30. package/dist/commands/taskExecution.js +75 -39
  31. package/dist/commands/taskExecution.js.map +1 -1
  32. package/dist/commands/watchTasks.d.ts.map +1 -1
  33. package/dist/commands/watchTasks.js +6 -36
  34. package/dist/commands/watchTasks.js.map +1 -1
  35. package/dist/commands/workflowExecution.d.ts +5 -1
  36. package/dist/commands/workflowExecution.d.ts.map +1 -1
  37. package/dist/commands/workflowExecution.js +35 -12
  38. package/dist/commands/workflowExecution.js.map +1 -1
  39. package/dist/config/initialization.d.ts +2 -0
  40. package/dist/config/initialization.d.ts.map +1 -1
  41. package/dist/config/initialization.js +12 -2
  42. package/dist/config/initialization.js.map +1 -1
  43. package/dist/config/paths.d.ts +1 -1
  44. package/dist/config/paths.d.ts.map +1 -1
  45. package/dist/config/paths.js +1 -1
  46. package/dist/config/paths.js.map +1 -1
  47. package/dist/config/sessionStore.d.ts +5 -0
  48. package/dist/config/sessionStore.d.ts.map +1 -1
  49. package/dist/config/sessionStore.js +1 -1
  50. package/dist/config/sessionStore.js.map +1 -1
  51. package/dist/config/workflowLoader.d.ts.map +1 -1
  52. package/dist/config/workflowLoader.js +1 -0
  53. package/dist/config/workflowLoader.js.map +1 -1
  54. package/dist/models/schemas.d.ts +22 -0
  55. package/dist/models/schemas.d.ts.map +1 -1
  56. package/dist/models/schemas.js +8 -0
  57. package/dist/models/schemas.js.map +1 -1
  58. package/dist/models/types.d.ts +8 -2
  59. package/dist/models/types.d.ts.map +1 -1
  60. package/dist/prompt/index.d.ts +60 -11
  61. package/dist/prompt/index.d.ts.map +1 -1
  62. package/dist/prompt/index.js +246 -72
  63. package/dist/prompt/index.js.map +1 -1
  64. package/dist/providers/claude.d.ts.map +1 -1
  65. package/dist/providers/claude.js +2 -0
  66. package/dist/providers/claude.js.map +1 -1
  67. package/dist/providers/index.d.ts +3 -1
  68. package/dist/providers/index.d.ts.map +1 -1
  69. package/dist/providers/index.js.map +1 -1
  70. package/dist/task/autoCommit.d.ts +28 -0
  71. package/dist/task/autoCommit.d.ts.map +1 -0
  72. package/dist/task/autoCommit.js +68 -0
  73. package/dist/task/autoCommit.js.map +1 -0
  74. package/dist/task/index.d.ts +2 -1
  75. package/dist/task/index.d.ts.map +1 -1
  76. package/dist/task/index.js +2 -1
  77. package/dist/task/index.js.map +1 -1
  78. package/dist/task/worktree.d.ts +39 -0
  79. package/dist/task/worktree.d.ts.map +1 -1
  80. package/dist/task/worktree.js +111 -2
  81. package/dist/task/worktree.js.map +1 -1
  82. package/dist/utils/debug.d.ts +6 -1
  83. package/dist/utils/debug.d.ts.map +1 -1
  84. package/dist/utils/debug.js +30 -24
  85. package/dist/utils/debug.js.map +1 -1
  86. package/dist/utils/index.d.ts +1 -0
  87. package/dist/utils/index.d.ts.map +1 -1
  88. package/dist/utils/index.js +1 -0
  89. package/dist/utils/index.js.map +1 -1
  90. package/dist/utils/session.d.ts +20 -0
  91. package/dist/utils/session.d.ts.map +1 -1
  92. package/dist/utils/session.js +32 -3
  93. package/dist/utils/session.js.map +1 -1
  94. package/dist/utils/text.d.ts +22 -0
  95. package/dist/utils/text.d.ts.map +1 -0
  96. package/dist/utils/text.js +54 -0
  97. package/dist/utils/text.js.map +1 -0
  98. package/dist/workflow/engine.d.ts +5 -6
  99. package/dist/workflow/engine.d.ts.map +1 -1
  100. package/dist/workflow/engine.js +32 -12
  101. package/dist/workflow/engine.js.map +1 -1
  102. package/dist/workflow/index.d.ts +2 -2
  103. package/dist/workflow/index.d.ts.map +1 -1
  104. package/dist/workflow/index.js +2 -2
  105. package/dist/workflow/index.js.map +1 -1
  106. package/dist/workflow/instruction-builder.d.ts +31 -2
  107. package/dist/workflow/instruction-builder.d.ts.map +1 -1
  108. package/dist/workflow/instruction-builder.js +69 -1
  109. package/dist/workflow/instruction-builder.js.map +1 -1
  110. package/dist/workflow/transitions.d.ts.map +1 -1
  111. package/dist/workflow/transitions.js +1 -0
  112. package/dist/workflow/transitions.js.map +1 -1
  113. package/dist/workflow/types.d.ts +5 -1
  114. package/dist/workflow/types.d.ts.map +1 -1
  115. package/package.json +1 -1
  116. package/resources/global/en/workflows/default.yaml +22 -1
  117. package/resources/global/en/workflows/simple.yaml +18 -1
  118. package/resources/global/ja/agents/default/ai-reviewer.md +24 -1
  119. package/resources/global/ja/agents/default/architect.md +37 -4
  120. package/resources/global/ja/agents/default/coder.md +1 -0
  121. package/resources/global/ja/workflows/default.yaml +27 -2
  122. package/resources/global/ja/workflows/expert-review.yaml +169 -10
  123. package/resources/global/ja/workflows/simple.yaml +18 -1
package/README.md CHANGED
@@ -23,7 +23,7 @@ npm install -g takt
23
23
  ## Quick Start
24
24
 
25
25
  ```bash
26
- # Run a task (will prompt for workflow selection)
26
+ # Run a task (will prompt for workflow selection and optional worktree creation)
27
27
  takt "Add a login feature"
28
28
 
29
29
  # Add a task to the queue
@@ -35,24 +35,28 @@ takt /run-tasks
35
35
  # Watch for tasks and auto-execute
36
36
  takt /watch
37
37
 
38
+ # Review worktree results (merge or delete)
39
+ takt /review-tasks
40
+
38
41
  # Switch workflow
39
42
  takt /switch
40
43
  ```
41
44
 
42
45
  ## Commands
43
46
 
44
- | Command | Description |
45
- |---------|-------------|
46
- | `takt "task"` | Execute task with current workflow (continues session) |
47
- | `takt -r "task"` | Execute task, resuming previous session |
48
- | `takt /run-tasks` | Run all pending tasks from `.takt/tasks/` |
49
- | `takt /watch` | Watch `.takt/tasks/` and auto-execute tasks (stays resident) |
50
- | `takt /add-task` | Add a new task interactively (YAML format) |
51
- | `takt /switch` | Switch workflow interactively |
52
- | `takt /clear` | Clear agent conversation sessions |
53
- | `takt /refresh-builtin` | Update builtin agents/workflows to latest version |
54
- | `takt /config` | Display current configuration |
55
- | `takt /help` | Show help |
47
+ | Command | Alias | Description |
48
+ |---------|-------|-------------|
49
+ | `takt "task"` | | Execute task with current workflow (continues session) |
50
+ | `takt -r "task"` | | Execute task, resuming previous session |
51
+ | `takt /run-tasks` | `/run` | Run all pending tasks from `.takt/tasks/` |
52
+ | `takt /watch` | | Watch `.takt/tasks/` and auto-execute tasks (stays resident) |
53
+ | `takt /add-task` | `/add` | Add a new task interactively (YAML format, multiline supported) |
54
+ | `takt /review-tasks` | `/review` | Review worktree task results (try merge, merge & cleanup, or delete) |
55
+ | `takt /switch` | | Switch workflow interactively |
56
+ | `takt /clear` | | Clear agent conversation sessions |
57
+ | `takt /refresh-builtin` | | Update builtin agents/workflows to latest version |
58
+ | `takt /config` | | Display current configuration |
59
+ | `takt /help` | | Show help |
56
60
 
57
61
  ## Workflows
58
62
 
@@ -183,7 +187,10 @@ Available Codex models:
183
187
  ├── completed/ # Completed tasks with reports
184
188
  ├── worktrees/ # Git worktrees for isolated task execution
185
189
  ├── reports/ # Execution reports (auto-generated)
186
- └── logs/ # Session logs
190
+ └── logs/ # Session logs (incremental)
191
+ ├── latest.json # Pointer to current/latest session
192
+ ├── previous.json # Pointer to previous session
193
+ └── {sessionId}.json # Full session log per workflow run
187
194
  ```
188
195
 
189
196
  ### Global Configuration
@@ -224,6 +231,15 @@ takt -r "The bug occurs when the password contains special characters"
224
231
 
225
232
  The `-r` flag preserves the agent's conversation history, allowing for natural back-and-forth interaction.
226
233
 
234
+ ### Interactive Workflow
235
+
236
+ When running `takt "task"`, you are prompted to:
237
+
238
+ 1. **Select a workflow** - Choose from available workflows (arrow keys, ESC to cancel)
239
+ 2. **Create a worktree** (optional) - Optionally run the task in an isolated git worktree
240
+
241
+ This interactive flow ensures each task runs with the right workflow and isolation level.
242
+
227
243
  ### Adding Custom Workflows
228
244
 
229
245
  Create your own workflow by adding YAML files to `~/.takt/workflows/`:
@@ -335,6 +351,8 @@ YAML task files can specify `worktree` to run each task in an isolated git workt
335
351
  - `branch: "feat/xxx"` - Use specified branch (auto-generated as `takt/{timestamp}-{slug}` if omitted)
336
352
  - Omit `worktree` - Run in current working directory (default)
337
353
 
354
+ When a worktree task completes successfully, TAKT automatically commits all changes (`auto-commit`). Use `takt /review-tasks` to review, try-merge, or delete completed worktree branches.
355
+
338
356
  #### Running Tasks with `/run-tasks`
339
357
 
340
358
  ```bash
@@ -356,6 +374,27 @@ Watch mode polls `.takt/tasks/` for new task files and auto-executes them as the
356
374
  - Automated workflows where tasks are added by external processes
357
375
  - Long-running development sessions where tasks are queued over time
358
376
 
377
+ #### Reviewing Worktree Results with `/review-tasks`
378
+
379
+ ```bash
380
+ takt /review-tasks
381
+ ```
382
+
383
+ Lists all `takt/`-prefixed worktree branches with file change counts. For each branch you can:
384
+ - **Try merge** - Attempt merge into main (dry-run check, then actual merge)
385
+ - **Merge & cleanup** - Merge and remove the worktree
386
+ - **Delete** - Remove the worktree and branch without merging
387
+
388
+ ### Session Logs
389
+
390
+ TAKT writes session logs incrementally to `.takt/logs/`. Logs are saved at workflow start, after each step, and at workflow end — so even if the process crashes mid-execution, partial logs are preserved.
391
+
392
+ - `.takt/logs/latest.json` - Pointer to the current (or most recent) session
393
+ - `.takt/logs/previous.json` - Pointer to the previous session
394
+ - `.takt/logs/{sessionId}.json` - Full session log with step history
395
+
396
+ Agents can read `previous.json` to pick up context from a prior run (e.g., when resuming with `takt "続けて"`).
397
+
359
398
  ### Workflow Variables
360
399
 
361
400
  Available variables in `instruction_template`:
@@ -401,7 +440,7 @@ transitions:
401
440
  next_step: ABORT # End workflow with failure
402
441
  ```
403
442
 
404
- Available transition conditions: `done`, `blocked`, `approved`, `rejected`, `improve`, `always`.
443
+ Available transition conditions: `done`, `blocked`, `approved`, `rejected`, `improve`, `answer`, `always`.
405
444
  Special next_step values: `COMPLETE` (success), `ABORT` (failure).
406
445
 
407
446
  **Step options:**
@@ -413,6 +452,7 @@ Special next_step values: `COMPLETE` (success), `ABORT` (failure).
413
452
  | `allowed_tools` | - | List of tools the agent can use (Read, Glob, Grep, Edit, Write, Bash, etc.) |
414
453
  | `provider` | - | Override provider for this step (`claude` or `codex`) |
415
454
  | `model` | - | Override model for this step |
455
+ | `permission_mode` | `default` | Permission mode: `default`, `acceptEdits`, or `bypassPermissions` |
416
456
 
417
457
  ## API Usage
418
458
 
@@ -2,7 +2,7 @@
2
2
  * Agent execution runners
3
3
  */
4
4
  import { type StreamCallback, type PermissionHandler, type AskUserQuestionHandler } from '../claude/process.js';
5
- import type { AgentResponse, CustomAgentConfig } from '../models/types.js';
5
+ import type { AgentResponse, CustomAgentConfig, PermissionMode } from '../models/types.js';
6
6
  export type { StreamCallback };
7
7
  /** Common options for running agents */
8
8
  export interface RunAgentOptions {
@@ -16,6 +16,8 @@ export interface RunAgentOptions {
16
16
  allowedTools?: string[];
17
17
  /** Status output rules to inject into system prompt */
18
18
  statusRulesPrompt?: string;
19
+ /** Permission mode for tool execution (from workflow step) */
20
+ permissionMode?: PermissionMode;
19
21
  onStream?: StreamCallback;
20
22
  onPermissionRequest?: PermissionHandler;
21
23
  onAskUserQuestion?: AskUserQuestionHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/agents/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAKhH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE3E,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,wCAAwC;AACxC,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACvC,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;IACxC,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C,0DAA0D;IAC1D,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AA6BD,sCAAsC;AACtC,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAoB9C;AAED,yBAAyB;AACzB,wBAAsB,cAAc,CAClC,WAAW,EAAE,iBAAiB,EAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,aAAa,CAAC,CAyDxB;AAqCD,mCAAmC;AACnC,wBAAsB,QAAQ,CAC5B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,aAAa,CAAC,CA0CxB"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/agents/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAKhH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAK3F,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,wCAAwC;AACxC,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACvC,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;IACxC,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C,0DAA0D;IAC1D,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AA6BD,sCAAsC;AACtC,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAoB9C;AAED,yBAAyB;AACzB,wBAAsB,cAAc,CAClC,WAAW,EAAE,iBAAiB,EAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,aAAa,CAAC,CA4DxB;AAqCD,mCAAmC;AACnC,wBAAsB,QAAQ,CAC5B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,aAAa,CAAC,CAoDxB"}
@@ -9,6 +9,8 @@ import { loadCustomAgents, loadAgentPrompt } from '../config/loader.js';
9
9
  import { loadGlobalConfig } from '../config/globalConfig.js';
10
10
  import { loadProjectConfig } from '../config/projectConfig.js';
11
11
  import { getProvider } from '../providers/index.js';
12
+ import { createLogger } from '../utils/debug.js';
13
+ const log = createLogger('runner');
12
14
  function resolveProvider(cwd, options, agentConfig) {
13
15
  // Mock provider must be explicitly specified (no fallback)
14
16
  if (options?.provider)
@@ -76,6 +78,7 @@ export async function runCustomAgent(agentConfig, task, options) {
76
78
  sessionId: options.sessionId,
77
79
  allowedTools,
78
80
  model: resolveModel(options.cwd, options, agentConfig),
81
+ permissionMode: options.permissionMode,
79
82
  onStream: options.onStream,
80
83
  onPermissionRequest: options.onPermissionRequest,
81
84
  onAskUserQuestion: options.onAskUserQuestion,
@@ -90,6 +93,7 @@ export async function runCustomAgent(agentConfig, task, options) {
90
93
  sessionId: options.sessionId,
91
94
  allowedTools,
92
95
  model: resolveModel(options.cwd, options, agentConfig),
96
+ permissionMode: options.permissionMode,
93
97
  onStream: options.onStream,
94
98
  onPermissionRequest: options.onPermissionRequest,
95
99
  onAskUserQuestion: options.onAskUserQuestion,
@@ -111,6 +115,7 @@ export async function runCustomAgent(agentConfig, task, options) {
111
115
  allowedTools,
112
116
  model: resolveModel(options.cwd, options, agentConfig),
113
117
  statusPatterns: agentConfig.statusPatterns,
118
+ permissionMode: options.permissionMode,
114
119
  onStream: options.onStream,
115
120
  onPermissionRequest: options.onPermissionRequest,
116
121
  onAskUserQuestion: options.onAskUserQuestion,
@@ -151,6 +156,15 @@ function extractAgentName(agentSpec) {
151
156
  /** Run an agent by name or path */
152
157
  export async function runAgent(agentSpec, task, options) {
153
158
  const agentName = extractAgentName(agentSpec);
159
+ log.debug('Running agent', {
160
+ agentSpec,
161
+ agentName,
162
+ provider: options.provider,
163
+ model: options.model,
164
+ hasAgentPath: !!options.agentPath,
165
+ hasSession: !!options.sessionId,
166
+ permissionMode: options.permissionMode,
167
+ });
154
168
  // If agentPath is provided (from workflow), use it to load prompt
155
169
  if (options.agentPath) {
156
170
  if (!existsSync(options.agentPath)) {
@@ -169,6 +183,7 @@ export async function runAgent(agentSpec, task, options) {
169
183
  allowedTools: options.allowedTools,
170
184
  model: resolveModel(options.cwd, options),
171
185
  systemPrompt,
186
+ permissionMode: options.permissionMode,
172
187
  onStream: options.onStream,
173
188
  onPermissionRequest: options.onPermissionRequest,
174
189
  onAskUserQuestion: options.onAskUserQuestion,
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/agents/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EACL,eAAe,EACf,eAAe,GAEhB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAA+C,MAAM,uBAAuB,CAAC;AAwBjG,SAAS,eAAe,CAAC,GAAW,EAAE,OAAyB,EAAE,WAA+B;IAC9F,2DAA2D;IAC3D,IAAI,OAAO,EAAE,QAAQ;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC/C,IAAI,WAAW,EAAE,QAAQ;QAAE,OAAO,WAAW,CAAC,QAAQ,CAAC;IACvD,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,aAAa,CAAC,QAAQ;QAAE,OAAO,aAAa,CAAC,QAAQ,CAAC;IAC1D,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;QACxC,IAAI,YAAY,CAAC,QAAQ;YAAE,OAAO,YAAY,CAAC,QAAQ,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CAAC,GAAW,EAAE,OAAyB,EAAE,WAA+B;IAC3F,IAAI,OAAO,EAAE,KAAK;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC;IACzC,IAAI,WAAW,EAAE,KAAK;QAAE,OAAO,WAAW,CAAC,KAAK,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;QACxC,IAAI,YAAY,CAAC,KAAK;YAAE,OAAO,YAAY,CAAC,KAAK,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,+BAA+B;IACjC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,IAAI,CAAC;QACH,kEAAkE;QAClE,IAAI,CAAC;YACH,QAAQ,CAAC,oBAAoB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5E,CAAC;QAAC,MAAM,CAAC;YACP,oCAAoC;YACpC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,EAAE;YACrC,GAAG;YACH,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,EAAE,OAAO;YACpC,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,yBAAyB;AACzB,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,WAA8B,EAC9B,IAAY,EACZ,OAAwB;IAExB,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,WAAW,CAAC,YAAY,CAAC;IAEtE,0CAA0C;IAC1C,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAsB;YACrC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY;YACZ,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC;YACtD,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;SAC7C,CAAC;QACF,OAAO,eAAe,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACrE,CAAC;IAED,0CAA0C;IAC1C,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAsB;YACrC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY;YACZ,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC;YACtD,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;SAC7C,CAAC;QACF,OAAO,eAAe,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACrE,CAAC;IAED,2BAA2B;IAC3B,IAAI,YAAY,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAEhD,kCAAkC;IAClC,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC9B,YAAY,GAAG,GAAG,YAAY,OAAO,OAAO,CAAC,iBAAiB,EAAE,CAAC;IACnE,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IAE3C,MAAM,WAAW,GAAwB;QACvC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,YAAY;QACZ,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC;QACtD,cAAc,EAAE,WAAW,CAAC,cAAc;QAC1C,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;KAC7C,CAAC;IAEF,OAAO,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;AAChF,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,SAAiB;IAChD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,gBAAgB,CAAC,SAAiB;IACzC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAEzC,qDAAqD;IACrD,oFAAoF;IACpF,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED,mCAAmC;AACnC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,SAAiB,EACjB,IAAY,EACZ,OAAwB;IAExB,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAE9C,kEAAkE;IAClE,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,YAAY,GAAG,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE9D,kCAAkC;QAClC,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC9B,YAAY,GAAG,GAAG,YAAY,OAAO,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACnE,CAAC;QAED,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;QAE3C,MAAM,WAAW,GAAwB;YACvC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC;YACzC,YAAY;YACZ,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;SAC7C,CAAC;QAEF,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;IAED,0CAA0C;IAC1C,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;IACxC,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEhD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,kBAAkB,SAAS,EAAE,CAAC,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/agents/runner.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { type StreamCallback, type PermissionHandler, type AskUserQuestionHandler } from './process.js';
7
7
  import type { AgentDefinition } from '@anthropic-ai/claude-agent-sdk';
8
- import type { AgentResponse, Status } from '../models/types.js';
8
+ import type { AgentResponse, Status, PermissionMode } from '../models/types.js';
9
9
  /** Options for calling Claude */
10
10
  export interface ClaudeCallOptions {
11
11
  cwd: string;
@@ -17,6 +17,8 @@ export interface ClaudeCallOptions {
17
17
  statusPatterns?: Record<string, string>;
18
18
  /** SDK agents to register for sub-agent execution */
19
19
  agents?: Record<string, AgentDefinition>;
20
+ /** Permission mode for tool execution (from workflow step) */
21
+ permissionMode?: PermissionMode;
20
22
  /** Enable streaming mode with callback for real-time output */
21
23
  onStream?: StreamCallback;
22
24
  /** Custom permission handler for interactive permission prompts */
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/claude/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAA6C,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACnJ,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGhE,iCAAiC;AACjC,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACzC,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,mEAAmE;IACnE,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;IACxC,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C,0DAA0D;IAC1D,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,8CAA8C;AAC9C,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,MAAM,CAYR;AAED,8CAA8C;AAC9C,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAuBpD;AAED,oDAAoD;AACpD,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGnF;AAoBD,uCAAuC;AACvC,wBAAsB,UAAU,CAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,aAAa,CAAC,CA0BxB;AAED,oDAAoD;AACpD,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,aAAa,CAAC,CA0BxB;AAED,iFAAiF;AACjF,wBAAsB,eAAe,CACnC,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,aAAa,CAAC,CAMxB;AAED,sDAAsD;AACtD,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,aAAa,CAAC,CAyBxB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/claude/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAA6C,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACnJ,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAMhF,iCAAiC;AACjC,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACzC,8DAA8D;IAC9D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,mEAAmE;IACnE,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;IACxC,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C,0DAA0D;IAC1D,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,8CAA8C;AAC9C,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,MAAM,CAYR;AAED,8CAA8C;AAC9C,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAuBpD;AAED,oDAAoD;AACpD,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGnF;AAoBD,uCAAuC;AACvC,wBAAsB,UAAU,CAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,aAAa,CAAC,CAgCxB;AAED,oDAAoD;AACpD,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,aAAa,CAAC,CAgCxB;AAED,iFAAiF;AACjF,wBAAsB,eAAe,CACnC,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,aAAa,CAAC,CAMxB;AAED,sDAAsD;AACtD,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,aAAa,CAAC,CA+BxB"}
@@ -5,6 +5,8 @@
5
5
  */
6
6
  import { executeClaudeCli } from './process.js';
7
7
  import { GENERIC_STATUS_PATTERNS } from '../models/schemas.js';
8
+ import { createLogger } from '../utils/debug.js';
9
+ const log = createLogger('client');
8
10
  /** Detect status from agent output content */
9
11
  export function detectStatus(content, patterns) {
10
12
  for (const [status, pattern] of Object.entries(patterns)) {
@@ -71,6 +73,7 @@ export async function callClaude(agentType, prompt, options) {
71
73
  maxTurns: options.maxTurns,
72
74
  systemPrompt: options.systemPrompt,
73
75
  agents: options.agents,
76
+ permissionMode: options.permissionMode,
74
77
  onStream: options.onStream,
75
78
  onPermissionRequest: options.onPermissionRequest,
76
79
  onAskUserQuestion: options.onAskUserQuestion,
@@ -79,12 +82,16 @@ export async function callClaude(agentType, prompt, options) {
79
82
  const result = await executeClaudeCli(prompt, spawnOptions);
80
83
  const patterns = options.statusPatterns || getBuiltinStatusPatterns(agentType);
81
84
  const status = determineStatus(result, patterns);
85
+ if (!result.success && result.error) {
86
+ log.error('Agent query failed', { agent: agentType, error: result.error });
87
+ }
82
88
  return {
83
89
  agent: agentType,
84
90
  status,
85
91
  content: result.content,
86
92
  timestamp: new Date(),
87
93
  sessionId: result.sessionId,
94
+ error: result.error,
88
95
  };
89
96
  }
90
97
  /** Call Claude with a custom agent configuration */
@@ -96,6 +103,7 @@ export async function callClaudeCustom(agentName, prompt, systemPrompt, options)
96
103
  model: options.model,
97
104
  maxTurns: options.maxTurns,
98
105
  systemPrompt,
106
+ permissionMode: options.permissionMode,
99
107
  onStream: options.onStream,
100
108
  onPermissionRequest: options.onPermissionRequest,
101
109
  onAskUserQuestion: options.onAskUserQuestion,
@@ -105,12 +113,16 @@ export async function callClaudeCustom(agentName, prompt, systemPrompt, options)
105
113
  // Use provided patterns, or fall back to built-in patterns for known agents
106
114
  const patterns = options.statusPatterns || getBuiltinStatusPatterns(agentName);
107
115
  const status = determineStatus(result, patterns);
116
+ if (!result.success && result.error) {
117
+ log.error('Agent query failed', { agent: agentName, error: result.error });
118
+ }
108
119
  return {
109
120
  agent: agentName,
110
121
  status,
111
122
  content: result.content,
112
123
  timestamp: new Date(),
113
124
  sessionId: result.sessionId,
125
+ error: result.error,
114
126
  };
115
127
  }
116
128
  /** Call a Claude Code built-in agent (using claude --agent flag if available) */
@@ -130,18 +142,23 @@ export async function callClaudeSkill(skillName, prompt, options) {
130
142
  allowedTools: options.allowedTools,
131
143
  model: options.model,
132
144
  maxTurns: options.maxTurns,
145
+ permissionMode: options.permissionMode,
133
146
  onStream: options.onStream,
134
147
  onPermissionRequest: options.onPermissionRequest,
135
148
  onAskUserQuestion: options.onAskUserQuestion,
136
149
  bypassPermissions: options.bypassPermissions,
137
150
  };
138
151
  const result = await executeClaudeCli(fullPrompt, spawnOptions);
152
+ if (!result.success && result.error) {
153
+ log.error('Skill query failed', { skill: skillName, error: result.error });
154
+ }
139
155
  return {
140
156
  agent: `skill:${skillName}`,
141
157
  status: result.success ? 'done' : 'blocked',
142
158
  content: result.content,
143
159
  timestamp: new Date(),
144
160
  sessionId: result.sessionId,
161
+ error: result.error,
145
162
  };
146
163
  }
147
164
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/claude/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/claude/client.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -10,5 +10,13 @@
10
10
  * takt /help - Show help
11
11
  * takt /config - Select permission mode interactively
12
12
  */
13
- export {};
13
+ export interface WorktreeConfirmationResult {
14
+ execCwd: string;
15
+ isWorktree: boolean;
16
+ }
17
+ /**
18
+ * Ask user whether to create a worktree, and create one if confirmed.
19
+ * Returns the execution directory and whether a worktree was created.
20
+ */
21
+ export declare function confirmAndCreateWorktree(cwd: string, task: string): Promise<WorktreeConfirmationResult>;
14
22
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;GAUG"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;GAUG;AAgCH,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,0BAA0B,CAAC,CAcrC"}
package/dist/cli.js CHANGED
@@ -15,12 +15,30 @@ import { resolve } from 'node:path';
15
15
  import { initGlobalDirs, initProjectDirs, loadGlobalConfig, getEffectiveDebugConfig, } from './config/index.js';
16
16
  import { clearAgentSessions, getCurrentWorkflow, isVerboseMode } from './config/paths.js';
17
17
  import { info, error, success, setLogLevel } from './utils/ui.js';
18
- import { initDebugLogger, createLogger } from './utils/debug.js';
19
- import { executeTask, runAllTasks, showHelp, switchWorkflow, switchConfig, addTask, refreshBuiltin, watchTasks, } from './commands/index.js';
18
+ import { initDebugLogger, createLogger, setVerboseConsole } from './utils/debug.js';
19
+ import { executeTask, runAllTasks, showHelp, switchWorkflow, switchConfig, addTask, refreshBuiltin, watchTasks, reviewTasks, } from './commands/index.js';
20
20
  import { listWorkflows } from './config/workflowLoader.js';
21
- import { selectOptionWithDefault } from './prompt/index.js';
21
+ import { selectOptionWithDefault, confirm } from './prompt/index.js';
22
+ import { createWorktree } from './task/worktree.js';
23
+ import { autoCommitWorktree } from './task/autoCommit.js';
22
24
  import { DEFAULT_WORKFLOW_NAME } from './constants.js';
23
25
  const log = createLogger('cli');
26
+ /**
27
+ * Ask user whether to create a worktree, and create one if confirmed.
28
+ * Returns the execution directory and whether a worktree was created.
29
+ */
30
+ export async function confirmAndCreateWorktree(cwd, task) {
31
+ const useWorktree = await confirm('Create worktree?', false);
32
+ if (!useWorktree) {
33
+ return { execCwd: cwd, isWorktree: false };
34
+ }
35
+ const result = createWorktree(cwd, {
36
+ worktree: true,
37
+ taskSlug: task,
38
+ });
39
+ info(`Worktree created: ${result.path} (branch: ${result.branch})`);
40
+ return { execCwd: result.path, isWorktree: true };
41
+ }
24
42
  const program = new Command();
25
43
  program
26
44
  .name('takt')
@@ -34,30 +52,37 @@ program
34
52
  await initGlobalDirs();
35
53
  // Initialize project directories (.takt/)
36
54
  initProjectDirs(cwd);
37
- // Initialize debug logger from config
38
- const debugConfig = getEffectiveDebugConfig(cwd);
55
+ // Determine verbose mode and initialize logging
56
+ const verbose = isVerboseMode(cwd);
57
+ let debugConfig = getEffectiveDebugConfig(cwd);
58
+ // verbose=true enables file logging automatically
59
+ if (verbose && (!debugConfig || !debugConfig.enabled)) {
60
+ debugConfig = { enabled: true };
61
+ }
39
62
  initDebugLogger(debugConfig, cwd);
40
- log.info('TAKT CLI starting', {
41
- version: '0.1.0',
42
- cwd,
43
- task: task || null,
44
- });
45
- // Set log level from config
46
- if (isVerboseMode(cwd)) {
63
+ // Enable verbose console output (stderr) for debug logs
64
+ if (verbose) {
65
+ setVerboseConsole(true);
47
66
  setLogLevel('debug');
48
- log.debug('Verbose mode enabled (from config)');
49
67
  }
50
68
  else {
51
69
  const config = loadGlobalConfig();
52
70
  setLogLevel(config.logLevel);
53
71
  }
72
+ log.info('TAKT CLI starting', {
73
+ version: '0.1.0',
74
+ cwd,
75
+ task: task || null,
76
+ verbose,
77
+ });
54
78
  // Handle slash commands
55
79
  if (task?.startsWith('/')) {
56
80
  const parts = task.slice(1).split(/\s+/);
57
81
  const command = parts[0]?.toLowerCase() || '';
58
82
  const args = parts.slice(1);
59
83
  switch (command) {
60
- case 'run-tasks': {
84
+ case 'run-tasks':
85
+ case 'run': {
61
86
  const workflow = getCurrentWorkflow(cwd);
62
87
  await runAllTasks(cwd, workflow);
63
88
  return;
@@ -77,6 +102,7 @@ program
77
102
  await switchConfig(cwd, args[0]);
78
103
  return;
79
104
  case 'add-task':
105
+ case 'add':
80
106
  await addTask(cwd, args);
81
107
  return;
82
108
  case 'refresh-builtin':
@@ -85,9 +111,13 @@ program
85
111
  case 'watch':
86
112
  await watchTasks(cwd);
87
113
  return;
114
+ case 'review-tasks':
115
+ case 'review':
116
+ await reviewTasks(cwd);
117
+ return;
88
118
  default:
89
119
  error(`Unknown command: /${command}`);
90
- info('Available: /run-tasks, /watch, /add-task, /switch, /clear, /refresh-builtin, /help, /config');
120
+ info('Available: /run-tasks (/run), /watch, /add-task (/add), /review-tasks (/review), /switch (/sw), /clear, /refresh-builtin, /help, /config');
91
121
  process.exit(1);
92
122
  }
93
123
  }
@@ -118,10 +148,26 @@ program
118
148
  : (availableWorkflows.includes(DEFAULT_WORKFLOW_NAME)
119
149
  ? DEFAULT_WORKFLOW_NAME
120
150
  : availableWorkflows[0] || DEFAULT_WORKFLOW_NAME);
121
- selectedWorkflow = await selectOptionWithDefault('Select workflow:', options, defaultWorkflow);
151
+ const selected = await selectOptionWithDefault('Select workflow:', options, defaultWorkflow);
152
+ if (selected === null) {
153
+ info('Cancelled');
154
+ return;
155
+ }
156
+ selectedWorkflow = selected;
157
+ }
158
+ // Ask whether to create a worktree
159
+ const { execCwd, isWorktree } = await confirmAndCreateWorktree(cwd, task);
160
+ log.info('Starting task execution', { task, workflow: selectedWorkflow, worktree: isWorktree });
161
+ const taskSuccess = await executeTask(task, execCwd, selectedWorkflow, cwd);
162
+ if (taskSuccess && isWorktree) {
163
+ const commitResult = autoCommitWorktree(execCwd, task);
164
+ if (commitResult.success && commitResult.commitHash) {
165
+ success(`Auto-committed: ${commitResult.commitHash}`);
166
+ }
167
+ else if (!commitResult.success) {
168
+ error(`Auto-commit failed: ${commitResult.message}`);
169
+ }
122
170
  }
123
- log.info('Starting task execution', { task, workflow: selectedWorkflow });
124
- const taskSuccess = await executeTask(task, cwd, selectedWorkflow);
125
171
  if (!taskSuccess) {
126
172
  process.exit(1);
127
173
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EACL,WAAW,EACX,WAAW,EACX,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,OAAO,EACP,cAAc,EACd,UAAU,GACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AAEhC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,MAAM,CAAC;KACZ,WAAW,CAAC,oCAAoC,CAAC;KACjD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,QAAQ,CAAC,QAAQ,EAAE,kCAAkC,CAAC;KACtD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAEnC,sCAAsC;IACtC,MAAM,cAAc,EAAE,CAAC;IAEvB,0CAA0C;IAC1C,eAAe,CAAC,GAAG,CAAC,CAAC;IAErB,sCAAsC;IACtC,MAAM,WAAW,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IACjD,eAAe,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAElC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE;QAC5B,OAAO,EAAE,OAAO;QAChB,GAAG;QACH,IAAI,EAAE,IAAI,IAAI,IAAI;KACnB,CAAC,CAAC;IAEH,4BAA4B;IAC5B,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,WAAW,CAAC,OAAO,CAAC,CAAC;QACrB,GAAG,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAClC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,wBAAwB;IACxB,IAAI,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE5B,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACzC,MAAM,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACjC,OAAO;YACT,CAAC;YAED,KAAK,OAAO;gBACV,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACxB,OAAO,CAAC,wBAAwB,CAAC,CAAC;gBAClC,OAAO;YAET,KAAK,QAAQ,CAAC;YACd,KAAK,IAAI;gBACP,MAAM,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,OAAO;YAET,KAAK,MAAM;gBACT,QAAQ,EAAE,CAAC;gBACX,OAAO;YAET,KAAK,QAAQ;gBACX,MAAM,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,OAAO;YAET,KAAK,UAAU;gBACb,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACzB,OAAO;YAET,KAAK,iBAAiB;gBACpB,MAAM,cAAc,EAAE,CAAC;gBACvB,OAAO;YAET,KAAK,OAAO;gBACV,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;gBACtB,OAAO;YAET;gBACE,KAAK,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;gBACtC,IAAI,CAAC,6FAA6F,CAAC,CAAC;gBACpG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,IAAI,IAAI,EAAE,CAAC;QACT,oDAAoD;QACpD,MAAM,kBAAkB,GAAG,aAAa,EAAE,CAAC;QAC3C,MAAM,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAEhD,IAAI,gBAAwB,CAAC;QAE7B,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,sCAAsC;YACtC,gBAAgB,GAAG,qBAAqB,CAAC;YACzC,IAAI,CAAC,sCAAsC,gBAAgB,EAAE,CAAC,CAAC;QACjE,CAAC;aAAM,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,qCAAqC;YACrC,gBAAgB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,4CAA4C;YAC5C,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAChD,KAAK,EAAE,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI;gBAC5D,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC,CAAC;YAEJ,qEAAqE;YACrE,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,eAAe,CAAC;gBAClE,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,qBAAqB,CAAC;oBACjD,CAAC,CAAC,qBAAqB;oBACvB,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,qBAAqB,CAAC,CAAC;YAExD,gBAAgB,GAAG,MAAM,uBAAuB,CAC9C,kBAAkB,EAClB,OAAO,EACP,eAAe,CAChB,CAAC;QACJ,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC1E,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;QACnE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO;IACT,CAAC;IAED,+BAA+B;IAC/B,QAAQ,EAAE,CAAC;AACb,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"addTask.d.ts","sourceRoot":"","sources":["../../src/commands/addTask.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA8BH;;;;;;GAMG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwExE"}
1
+ {"version":3,"file":"addTask.d.ts","sourceRoot":"","sources":["../../src/commands/addTask.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgCH;;;;;;GAMG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwFxE"}
@@ -7,10 +7,12 @@
7
7
  import * as fs from 'node:fs';
8
8
  import * as path from 'node:path';
9
9
  import { stringify as stringifyYaml } from 'yaml';
10
- import { promptInput, confirm } from '../prompt/index.js';
10
+ import { promptInput, promptMultilineInput, confirm, selectOption } from '../prompt/index.js';
11
11
  import { success, info } from '../utils/ui.js';
12
12
  import { slugify } from '../utils/slug.js';
13
13
  import { createLogger } from '../utils/debug.js';
14
+ import { listWorkflows } from '../config/workflowLoader.js';
15
+ import { getCurrentWorkflow } from '../config/paths.js';
14
16
  const log = createLogger('add-task');
15
17
  /**
16
18
  * Generate a unique task filename
@@ -45,8 +47,8 @@ export async function addTask(cwd, args) {
45
47
  taskContent = args.join(' ');
46
48
  }
47
49
  else {
48
- // Interactive mode
49
- const input = await promptInput('Task content');
50
+ // Interactive mode (multiline: empty line to finish)
51
+ const input = await promptMultilineInput('Task content');
50
52
  if (!input) {
51
53
  info('Cancelled.');
52
54
  return;
@@ -64,10 +66,25 @@ export async function addTask(cwd, args) {
64
66
  branch = customBranch;
65
67
  }
66
68
  }
67
- // Ask about workflow
68
- const customWorkflow = await promptInput('Workflow name (Enter for default)');
69
- if (customWorkflow) {
70
- workflow = customWorkflow;
69
+ // Ask about workflow using interactive selector
70
+ const availableWorkflows = listWorkflows();
71
+ if (availableWorkflows.length > 0) {
72
+ const currentWorkflow = getCurrentWorkflow(cwd);
73
+ const defaultWorkflow = availableWorkflows.includes(currentWorkflow)
74
+ ? currentWorkflow
75
+ : availableWorkflows[0];
76
+ const options = availableWorkflows.map((name) => ({
77
+ label: name === currentWorkflow ? `${name} (current)` : name,
78
+ value: name,
79
+ }));
80
+ const selected = await selectOption('Select workflow:', options);
81
+ if (selected === null) {
82
+ info('Cancelled.');
83
+ return;
84
+ }
85
+ if (selected !== defaultWorkflow) {
86
+ workflow = selected;
87
+ }
71
88
  }
72
89
  // Build task data
73
90
  const taskData = { task: taskContent };
@@ -80,8 +97,9 @@ export async function addTask(cwd, args) {
80
97
  if (workflow) {
81
98
  taskData.workflow = workflow;
82
99
  }
83
- // Write YAML filea
84
- const filename = generateFilename(tasksDir, taskContent);
100
+ // Write YAML file (use first line for filename to keep it short)
101
+ const firstLine = taskContent.split('\n')[0] || taskContent;
102
+ const filename = generateFilename(tasksDir, firstLine);
85
103
  const filePath = path.join(tasksDir, filename);
86
104
  const yamlContent = stringifyYaml(taskData);
87
105
  fs.writeFileSync(filePath, yamlContent, 'utf-8');