@projectarachne/cli 0.1.0-beta.2 → 0.1.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/tui/App.d.ts.map +1 -1
  2. package/dist/tui/App.js +54 -12
  3. package/dist/tui/App.js.map +1 -1
  4. package/dist/tui/components/ApprovalPrompt.d.ts +10 -0
  5. package/dist/tui/components/ApprovalPrompt.d.ts.map +1 -0
  6. package/dist/tui/components/ApprovalPrompt.js +50 -0
  7. package/dist/tui/components/ApprovalPrompt.js.map +1 -0
  8. package/dist/tui/components/Box.d.ts.map +1 -1
  9. package/dist/tui/components/Box.js +4 -1
  10. package/dist/tui/components/Box.js.map +1 -1
  11. package/dist/tui/components/ChatInput.d.ts.map +1 -1
  12. package/dist/tui/components/ChatInput.js +10 -2
  13. package/dist/tui/components/ChatInput.js.map +1 -1
  14. package/dist/tui/components/CommandInput.d.ts.map +1 -1
  15. package/dist/tui/components/CommandInput.js +9 -2
  16. package/dist/tui/components/CommandInput.js.map +1 -1
  17. package/dist/tui/components/Content.d.ts.map +1 -1
  18. package/dist/tui/components/Content.js +11 -4
  19. package/dist/tui/components/Content.js.map +1 -1
  20. package/dist/tui/components/DagView.d.ts.map +1 -1
  21. package/dist/tui/components/DagView.js +5 -3
  22. package/dist/tui/components/DagView.js.map +1 -1
  23. package/dist/tui/components/ElapsedTimer.d.ts +8 -0
  24. package/dist/tui/components/ElapsedTimer.d.ts.map +1 -0
  25. package/dist/tui/components/ElapsedTimer.js +35 -0
  26. package/dist/tui/components/ElapsedTimer.js.map +1 -0
  27. package/dist/tui/components/FileChangesList.d.ts +8 -0
  28. package/dist/tui/components/FileChangesList.d.ts.map +1 -0
  29. package/dist/tui/components/FileChangesList.js +40 -0
  30. package/dist/tui/components/FileChangesList.js.map +1 -0
  31. package/dist/tui/components/Footer.d.ts.map +1 -1
  32. package/dist/tui/components/Footer.js +10 -1
  33. package/dist/tui/components/Footer.js.map +1 -1
  34. package/dist/tui/components/Frame.d.ts.map +1 -1
  35. package/dist/tui/components/Frame.js +8 -1
  36. package/dist/tui/components/Frame.js.map +1 -1
  37. package/dist/tui/components/GoalInput.d.ts.map +1 -1
  38. package/dist/tui/components/GoalInput.js +10 -1
  39. package/dist/tui/components/GoalInput.js.map +1 -1
  40. package/dist/tui/components/Header.d.ts +1 -1
  41. package/dist/tui/components/Header.d.ts.map +1 -1
  42. package/dist/tui/components/Header.js +9 -2
  43. package/dist/tui/components/Header.js.map +1 -1
  44. package/dist/tui/components/Help.d.ts.map +1 -1
  45. package/dist/tui/components/Help.js +8 -1
  46. package/dist/tui/components/Help.js.map +1 -1
  47. package/dist/tui/components/HomeView.d.ts.map +1 -1
  48. package/dist/tui/components/HomeView.js +2 -1
  49. package/dist/tui/components/HomeView.js.map +1 -1
  50. package/dist/tui/components/OutputView.d.ts.map +1 -1
  51. package/dist/tui/components/OutputView.js +9 -2
  52. package/dist/tui/components/OutputView.js.map +1 -1
  53. package/dist/tui/components/PlannerView.d.ts +6 -2
  54. package/dist/tui/components/PlannerView.d.ts.map +1 -1
  55. package/dist/tui/components/PlannerView.js +19 -4
  56. package/dist/tui/components/PlannerView.js.map +1 -1
  57. package/dist/tui/components/Settings.d.ts.map +1 -1
  58. package/dist/tui/components/Settings.js +171 -4
  59. package/dist/tui/components/Settings.js.map +1 -1
  60. package/dist/tui/components/Sidebar.d.ts.map +1 -1
  61. package/dist/tui/components/Sidebar.js +11 -2
  62. package/dist/tui/components/Sidebar.js.map +1 -1
  63. package/dist/tui/components/Splash.d.ts.map +1 -1
  64. package/dist/tui/components/Splash.js +4 -1
  65. package/dist/tui/components/Splash.js.map +1 -1
  66. package/dist/tui/components/StepEditor.d.ts.map +1 -1
  67. package/dist/tui/components/StepEditor.js +10 -3
  68. package/dist/tui/components/StepEditor.js.map +1 -1
  69. package/dist/tui/components/ThemeDesigner.d.ts.map +1 -1
  70. package/dist/tui/components/ThemeDesigner.js +297 -8
  71. package/dist/tui/components/ThemeDesigner.js.map +1 -1
  72. package/dist/tui/components/VerboseOutput.d.ts +8 -0
  73. package/dist/tui/components/VerboseOutput.d.ts.map +1 -0
  74. package/dist/tui/components/VerboseOutput.js +34 -0
  75. package/dist/tui/components/VerboseOutput.js.map +1 -0
  76. package/dist/tui/components/WorkflowPicker.d.ts.map +1 -1
  77. package/dist/tui/components/WorkflowPicker.js +3 -2
  78. package/dist/tui/components/WorkflowPicker.js.map +1 -1
  79. package/dist/tui/components/index.d.ts +4 -0
  80. package/dist/tui/components/index.d.ts.map +1 -1
  81. package/dist/tui/components/index.js +4 -0
  82. package/dist/tui/components/index.js.map +1 -1
  83. package/dist/tui/services/executor.d.ts +3 -2
  84. package/dist/tui/services/executor.d.ts.map +1 -1
  85. package/dist/tui/services/executor.js +56 -1
  86. package/dist/tui/services/executor.js.map +1 -1
  87. package/dist/tui/services/fileWatcher.d.ts +17 -0
  88. package/dist/tui/services/fileWatcher.d.ts.map +1 -0
  89. package/dist/tui/services/fileWatcher.js +150 -0
  90. package/dist/tui/services/fileWatcher.js.map +1 -0
  91. package/dist/tui/services/generateSteps.d.ts +12 -1
  92. package/dist/tui/services/generateSteps.d.ts.map +1 -1
  93. package/dist/tui/services/generateSteps.js +66 -3
  94. package/dist/tui/services/generateSteps.js.map +1 -1
  95. package/dist/tui/services/settings.d.ts +12 -1
  96. package/dist/tui/services/settings.d.ts.map +1 -1
  97. package/dist/tui/services/settings.js +79 -0
  98. package/dist/tui/services/settings.js.map +1 -1
  99. package/dist/tui/services/theme.d.ts +48 -0
  100. package/dist/tui/services/theme.d.ts.map +1 -1
  101. package/dist/tui/services/theme.js +209 -0
  102. package/dist/tui/services/theme.js.map +1 -1
  103. package/dist/tui/services/themeGenerator.d.ts.map +1 -1
  104. package/dist/tui/services/themeGenerator.js +26 -1
  105. package/dist/tui/services/themeGenerator.js.map +1 -1
  106. package/dist/tui/types.d.ts +47 -0
  107. package/dist/tui/types.d.ts.map +1 -1
  108. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
- import type { Step, ApprovalMode } from '../types.js';
1
+ import type { Step, ApprovalMode, ApprovalRequest, ExecutionSettings } from '../types.js';
2
2
  import type { ProjectContext } from './context.js';
3
3
  export type ExecutorCallback = (output: string) => void;
4
+ export type ApprovalCallback = (request: ApprovalRequest) => Promise<boolean>;
4
5
  export interface ExecutionResult {
5
6
  success: boolean;
6
7
  output: string;
@@ -8,6 +9,6 @@ export interface ExecutionResult {
8
9
  commitHash?: string;
9
10
  duration: number;
10
11
  }
11
- export declare function executeStep(step: Step, workingDir: string, approvalMode: ApprovalMode, context: ProjectContext | null, onOutput?: ExecutorCallback): Promise<ExecutionResult>;
12
+ export declare function executeStep(step: Step, workingDir: string, approvalMode: ApprovalMode, context: ProjectContext | null, executionSettings?: ExecutionSettings, onOutput?: ExecutorCallback, onApproval?: ApprovalCallback): Promise<ExecutionResult>;
12
13
  export declare function rollbackStep(commitHash: string, workingDir: string): Promise<boolean>;
13
14
  //# sourceMappingURL=executor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/tui/services/executor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AA+BxD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAmCD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,cAAc,GAAG,IAAI,EAC9B,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,OAAO,CAAC,eAAe,CAAC,CA+H1B;AAED,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAclB"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/tui/services/executor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,eAAe,EAAuB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAG/G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AACxD,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AA+F9E,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAmCD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,cAAc,GAAG,IAAI,EAC9B,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,QAAQ,CAAC,EAAE,gBAAgB,EAC3B,UAAU,CAAC,EAAE,gBAAgB,GAC5B,OAAO,CAAC,eAAe,CAAC,CA+H1B;AAED,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAclB"}
@@ -1,6 +1,61 @@
1
1
  import { spawn, execSync } from 'node:child_process';
2
2
  import { buildExecutionCommand } from './providers.js';
3
3
  import { getProviderEnv, hasApiKey } from './settings.js';
4
+ // Patterns that trigger approval prompts
5
+ const APPROVAL_PATTERNS = [
6
+ {
7
+ type: 'packageInstall',
8
+ patterns: [
9
+ /npm install\s+([^\s]+)/i,
10
+ /npm i\s+([^\s]+)/i,
11
+ /yarn add\s+([^\s]+)/i,
12
+ /pnpm add\s+([^\s]+)/i,
13
+ /pip install\s+([^\s]+)/i,
14
+ /cargo add\s+([^\s]+)/i,
15
+ ],
16
+ descriptionExtractor: (match) => `Installing package: ${match}`,
17
+ },
18
+ {
19
+ type: 'fileDelete',
20
+ patterns: [
21
+ /rm\s+-rf?\s+([^\s]+)/i,
22
+ /rm\s+([^\s]+)/i,
23
+ /unlink\s+([^\s]+)/i,
24
+ /rmdir\s+([^\s]+)/i,
25
+ ],
26
+ descriptionExtractor: (match) => `Deleting: ${match}`,
27
+ },
28
+ {
29
+ type: 'configChange',
30
+ patterns: [
31
+ /writing to.*\.env/i,
32
+ /modifying.*config\.(json|yaml|yml|toml)/i,
33
+ /updating.*\.env/i,
34
+ ],
35
+ descriptionExtractor: (match) => `Modifying configuration: ${match}`,
36
+ },
37
+ ];
38
+ function detectApprovalNeeded(output, settings) {
39
+ for (const { type, patterns, descriptionExtractor } of APPROVAL_PATTERNS) {
40
+ // Check if this approval type is enabled
41
+ const isEnabled = settings.approvalPrompts[type];
42
+ if (!isEnabled)
43
+ continue;
44
+ for (const pattern of patterns) {
45
+ const match = output.match(pattern);
46
+ if (match) {
47
+ return {
48
+ id: `approval-${Date.now()}`,
49
+ type,
50
+ description: descriptionExtractor(match[0]),
51
+ command: match[0],
52
+ timestamp: Date.now(),
53
+ };
54
+ }
55
+ }
56
+ }
57
+ return null;
58
+ }
4
59
  // Strip ANSI escape codes that corrupt Ink rendering
5
60
  function stripAnsi(text) {
6
61
  // Remove all ANSI escape sequences
@@ -59,7 +114,7 @@ function gitCommit(workingDir, message) {
59
114
  return null;
60
115
  }
61
116
  }
62
- export async function executeStep(step, workingDir, approvalMode, context, onOutput) {
117
+ export async function executeStep(step, workingDir, approvalMode, context, executionSettings, onOutput, onApproval) {
63
118
  const startTime = Date.now();
64
119
  // Warn if manual mode - it's limited
65
120
  if (approvalMode === 'manual') {
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/tui/services/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/tui/services/executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { FileChange } from '../types.js';
2
+ export type FileChangeCallback = (changes: FileChange[]) => void;
3
+ export declare class FileWatcher {
4
+ private watcher;
5
+ private changes;
6
+ private callback;
7
+ private workingDir;
8
+ private debounceTimer;
9
+ private initialFiles;
10
+ start(workingDir: string, onChange: FileChangeCallback): void;
11
+ private handleChange;
12
+ private emitChanges;
13
+ stop(): void;
14
+ getChanges(): FileChange[];
15
+ clearChanges(): void;
16
+ }
17
+ //# sourceMappingURL=fileWatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileWatcher.d.ts","sourceRoot":"","sources":["../../../src/tui/services/fileWatcher.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAoD9C,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;AAEjE,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,aAAa,CAA8C;IACnE,OAAO,CAAC,YAAY,CAA0B;IAE9C,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IA8B7D,OAAO,CAAC,YAAY;IA4CpB,OAAO,CAAC,WAAW;IASnB,IAAI,IAAI,IAAI;IAeZ,UAAU,IAAI,UAAU,EAAE;IAK1B,YAAY,IAAI,IAAI;CAMrB"}
@@ -0,0 +1,150 @@
1
+ import { watch, existsSync } from 'node:fs';
2
+ import { join, relative } from 'node:path';
3
+ // Directories to ignore
4
+ const IGNORE_DIRS = [
5
+ 'node_modules',
6
+ '.git',
7
+ '.next',
8
+ '.nuxt',
9
+ 'dist',
10
+ 'build',
11
+ '.cache',
12
+ 'coverage',
13
+ '__pycache__',
14
+ '.pytest_cache',
15
+ 'target', // Rust
16
+ 'vendor', // Go
17
+ ];
18
+ // Files to ignore
19
+ const IGNORE_FILES = [
20
+ '.DS_Store',
21
+ 'Thumbs.db',
22
+ '*.swp',
23
+ '*.swo',
24
+ '*~',
25
+ ];
26
+ function shouldIgnore(path) {
27
+ const parts = path.split('/');
28
+ // Check if any path segment is in ignore list
29
+ for (const part of parts) {
30
+ if (IGNORE_DIRS.includes(part)) {
31
+ return true;
32
+ }
33
+ }
34
+ // Check file patterns
35
+ const filename = parts[parts.length - 1];
36
+ for (const pattern of IGNORE_FILES) {
37
+ if (pattern.startsWith('*')) {
38
+ if (filename.endsWith(pattern.slice(1))) {
39
+ return true;
40
+ }
41
+ }
42
+ else if (filename === pattern) {
43
+ return true;
44
+ }
45
+ }
46
+ return false;
47
+ }
48
+ export class FileWatcher {
49
+ watcher = null;
50
+ changes = new Map();
51
+ callback = null;
52
+ workingDir = '';
53
+ debounceTimer = null;
54
+ initialFiles = new Set();
55
+ start(workingDir, onChange) {
56
+ this.workingDir = workingDir;
57
+ this.callback = onChange;
58
+ this.changes.clear();
59
+ this.initialFiles.clear();
60
+ // Don't watch if directory doesn't exist
61
+ if (!existsSync(workingDir)) {
62
+ return;
63
+ }
64
+ try {
65
+ // Try recursive watch (works on macOS and Windows, may not work on older Linux)
66
+ this.watcher = watch(workingDir, { recursive: true }, (eventType, filename) => {
67
+ if (!filename)
68
+ return;
69
+ this.handleChange(eventType, filename);
70
+ });
71
+ }
72
+ catch {
73
+ // Fallback: watch without recursive option
74
+ this.watcher = watch(workingDir, (eventType, filename) => {
75
+ if (!filename)
76
+ return;
77
+ this.handleChange(eventType, filename);
78
+ });
79
+ }
80
+ }
81
+ handleChange(eventType, filename) {
82
+ // Ignore filtered paths
83
+ if (shouldIgnore(filename)) {
84
+ return;
85
+ }
86
+ const fullPath = join(this.workingDir, filename);
87
+ const relativePath = relative(this.workingDir, fullPath);
88
+ // Determine change type
89
+ let changeType;
90
+ if (!existsSync(fullPath)) {
91
+ changeType = 'deleted';
92
+ }
93
+ else {
94
+ // Check if it's a new file or modification
95
+ const isNew = !this.initialFiles.has(relativePath) &&
96
+ !this.changes.has(relativePath);
97
+ if (isNew) {
98
+ changeType = 'created';
99
+ this.initialFiles.add(relativePath);
100
+ }
101
+ else {
102
+ changeType = 'modified';
103
+ }
104
+ }
105
+ // Update change record
106
+ this.changes.set(relativePath, {
107
+ path: relativePath,
108
+ type: changeType,
109
+ timestamp: Date.now(),
110
+ });
111
+ // Debounce callback to batch rapid changes
112
+ if (this.debounceTimer) {
113
+ clearTimeout(this.debounceTimer);
114
+ }
115
+ this.debounceTimer = setTimeout(() => {
116
+ this.emitChanges();
117
+ }, 100);
118
+ }
119
+ emitChanges() {
120
+ if (this.callback) {
121
+ // Sort by timestamp, most recent first
122
+ const sortedChanges = Array.from(this.changes.values())
123
+ .sort((a, b) => b.timestamp - a.timestamp);
124
+ this.callback(sortedChanges);
125
+ }
126
+ }
127
+ stop() {
128
+ if (this.debounceTimer) {
129
+ clearTimeout(this.debounceTimer);
130
+ this.debounceTimer = null;
131
+ }
132
+ if (this.watcher) {
133
+ this.watcher.close();
134
+ this.watcher = null;
135
+ }
136
+ this.changes.clear();
137
+ this.callback = null;
138
+ }
139
+ getChanges() {
140
+ return Array.from(this.changes.values())
141
+ .sort((a, b) => b.timestamp - a.timestamp);
142
+ }
143
+ clearChanges() {
144
+ this.changes.clear();
145
+ if (this.callback) {
146
+ this.callback([]);
147
+ }
148
+ }
149
+ }
150
+ //# sourceMappingURL=fileWatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileWatcher.js","sourceRoot":"","sources":["../../../src/tui/services/fileWatcher.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,18 @@
1
- import type { Step, ProviderName, PlannerPhase } from '../types.js';
1
+ import type { Step, ProviderName, PlannerPhase, ProviderAssignmentConfig } from '../types.js';
2
2
  import type { ProjectContext } from './context.js';
3
3
  export type GenerateCallback = (status: string) => void;
4
4
  export type GenerateStreamCallback = (chunk: string, source: 'stdout' | 'stderr') => void;
5
5
  export declare const generateStepsFromGoal: (goal: string, context: ProjectContext, provider?: ProviderName, onStatus?: GenerateCallback, onStream?: GenerateStreamCallback) => Promise<Step[]>;
6
6
  export declare const generatePlanFromGoal: (goal: string, context: ProjectContext, provider?: ProviderName, onStatus?: GenerateCallback, onStream?: GenerateStreamCallback) => Promise<PlannerPhase[]>;
7
+ /**
8
+ * Apply user's provider assignment settings to override AI-chosen providers.
9
+ * - aiDecide: Keep AI's choices (no override)
10
+ * - singleProvider: Override all steps to use the default provider/model
11
+ * - byTaskType: Override based on each step's taskType
12
+ */
13
+ export declare const applyProviderAssignment: (steps: Step[], config?: ProviderAssignmentConfig) => Step[];
14
+ /**
15
+ * Apply provider assignment to all steps in all phases
16
+ */
17
+ export declare const applyProviderAssignmentToPhases: (phases: PlannerPhase[], config?: ProviderAssignmentConfig) => PlannerPhase[];
7
18
  //# sourceMappingURL=generateSteps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateSteps.d.ts","sourceRoot":"","sources":["../../../src/tui/services/generateSteps.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA6DnD,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AACxD,MAAM,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;AAE1F,eAAO,MAAM,qBAAqB,GAChC,MAAM,MAAM,EACZ,SAAS,cAAc,EACvB,WAAU,YAAuB,EACjC,WAAW,gBAAgB,EAC3B,WAAW,sBAAsB,KAChC,OAAO,CAAC,IAAI,EAAE,CA+FhB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,MAAM,EACZ,SAAS,cAAc,EACvB,WAAU,YAAuB,EACjC,WAAW,gBAAgB,EAC3B,WAAW,sBAAsB,KAChC,OAAO,CAAC,YAAY,EAAE,CAgHxB,CAAC"}
1
+ {"version":3,"file":"generateSteps.d.ts","sourceRoot":"","sources":["../../../src/tui/services/generateSteps.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAY,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACxG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA8EnD,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AACxD,MAAM,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;AAE1F,eAAO,MAAM,qBAAqB,GAChC,MAAM,MAAM,EACZ,SAAS,cAAc,EACvB,WAAU,YAAuB,EACjC,WAAW,gBAAgB,EAC3B,WAAW,sBAAsB,KAChC,OAAO,CAAC,IAAI,EAAE,CAgGhB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,MAAM,EACZ,SAAS,cAAc,EACvB,WAAU,YAAuB,EACjC,WAAW,gBAAgB,EAC3B,WAAW,sBAAsB,KAChC,OAAO,CAAC,YAAY,EAAE,CAkHxB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAAI,OAAO,IAAI,EAAE,EAAE,SAAS,wBAAwB,KAAG,IAAI,EA+B9F,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,+BAA+B,GAAI,QAAQ,YAAY,EAAE,EAAE,SAAS,wBAAwB,KAAG,YAAY,EAKvH,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { spawn } from 'node:child_process';
2
+ import { getProviderAssignment } from './settings.js';
2
3
  const PLANNER_PROMPT = `You are a workflow planner for an AI coding assistant. Given a goal and project context, break it down into discrete steps that will be executed by AI agents with FULL FILESYSTEM ACCESS.
3
4
 
4
5
  Each step will be executed by an AI agent (claude/codex/gemini) that can:
@@ -15,8 +16,8 @@ Generate steps that are:
15
16
 
16
17
  Respond with ONLY a JSON array, no markdown, no explanation:
17
18
  [
18
- {"id": "step_1", "provider": "codex", "title": "Short title", "prompt": "Detailed instruction..."},
19
- {"id": "step_2", "provider": "codex", "title": "Short title", "prompt": "..."},
19
+ {"id": "step_1", "provider": "codex", "taskType": "coding", "title": "Short title", "prompt": "Detailed instruction..."},
20
+ {"id": "step_2", "provider": "claude", "taskType": "analysis", "title": "Short title", "prompt": "..."},
20
21
  ]
21
22
 
22
23
  Use providers appropriately:
@@ -24,6 +25,14 @@ Use providers appropriately:
24
25
  - claude: Analysis, planning, documentation, complex reasoning
25
26
  - gemini: Multi-modal tasks, alternative to claude
26
27
 
28
+ Assign a taskType to each step:
29
+ - planning: High-level planning, architecture design, breaking down work
30
+ - coding: Writing code, implementing features, fixing bugs
31
+ - analysis: Code review, debugging, understanding existing code
32
+ - research: Investigating libraries, APIs, best practices
33
+ - documentation: Writing docs, comments, READMEs
34
+ - commands: Running shell commands, git operations, builds
35
+
27
36
  PROJECT CONTEXT:
28
37
  `;
29
38
  const PHASED_PLANNER_PROMPT = `You are a workflow planner for an AI coding assistant. Given a goal and project context, break it down into PHASES with concrete steps for each phase.
@@ -42,7 +51,7 @@ Return ONLY JSON (no markdown) in this exact shape:
42
51
  "id": "phase_1",
43
52
  "title": "Phase title",
44
53
  "steps": [
45
- { "id": "step_1", "provider": "codex", "title": "Short title", "prompt": "Detailed instruction..." }
54
+ { "id": "step_1", "provider": "codex", "taskType": "coding", "title": "Short title", "prompt": "Detailed instruction..." }
46
55
  ]
47
56
  }
48
57
  ]
@@ -54,6 +63,14 @@ Rules:
54
63
  - Steps must be actionable and reference real files where possible
55
64
  - Use providers appropriately: codex for coding, claude for analysis/planning
56
65
 
66
+ Assign a taskType to each step:
67
+ - planning: High-level planning, architecture design, breaking down work
68
+ - coding: Writing code, implementing features, fixing bugs
69
+ - analysis: Code review, debugging, understanding existing code
70
+ - research: Investigating libraries, APIs, best practices
71
+ - documentation: Writing docs, comments, READMEs
72
+ - commands: Running shell commands, git operations, builds
73
+
57
74
  PROJECT CONTEXT:
58
75
  `;
59
76
  export const generateStepsFromGoal = async (goal, context, provider = 'claude', onStatus, onStream) => {
@@ -119,6 +136,7 @@ export const generateStepsFromGoal = async (goal, context, provider = 'claude',
119
136
  model: item.model,
120
137
  title: item.title || `Step ${index + 1}`,
121
138
  prompt: item.prompt || '',
139
+ taskType: (item.taskType || 'coding'),
122
140
  status: 'pending',
123
141
  }));
124
142
  if (steps.length === 0) {
@@ -196,6 +214,7 @@ export const generatePlanFromGoal = async (goal, context, provider = 'claude', o
196
214
  model: item.model,
197
215
  title: item.title || `Step ${index + 1}`,
198
216
  prompt: item.prompt || '',
217
+ taskType: (item.taskType || 'coding'),
199
218
  status: 'pending',
200
219
  }));
201
220
  phases = [
@@ -216,6 +235,7 @@ export const generatePlanFromGoal = async (goal, context, provider = 'claude', o
216
235
  model: item.model,
217
236
  title: item.title || `Step ${stepIndex + 1}`,
218
237
  prompt: item.prompt || '',
238
+ taskType: (item.taskType || 'coding'),
219
239
  status: 'pending',
220
240
  })),
221
241
  }));
@@ -235,4 +255,47 @@ export const generatePlanFromGoal = async (goal, context, provider = 'claude', o
235
255
  });
236
256
  });
237
257
  };
258
+ /**
259
+ * Apply user's provider assignment settings to override AI-chosen providers.
260
+ * - aiDecide: Keep AI's choices (no override)
261
+ * - singleProvider: Override all steps to use the default provider/model
262
+ * - byTaskType: Override based on each step's taskType
263
+ */
264
+ export const applyProviderAssignment = (steps, config) => {
265
+ const settings = config || getProviderAssignment();
266
+ if (settings.mode === 'aiDecide') {
267
+ return steps;
268
+ }
269
+ if (settings.mode === 'singleProvider') {
270
+ return steps.map(step => ({
271
+ ...step,
272
+ provider: settings.defaultProvider || step.provider,
273
+ model: settings.defaultModel || step.model,
274
+ }));
275
+ }
276
+ if (settings.mode === 'byTaskType' && settings.taskProviders) {
277
+ return steps.map(step => {
278
+ const taskType = step.taskType || 'coding';
279
+ const taskConfig = settings.taskProviders[taskType];
280
+ if (taskConfig) {
281
+ return {
282
+ ...step,
283
+ provider: taskConfig.provider,
284
+ model: taskConfig.model || step.model,
285
+ };
286
+ }
287
+ return step;
288
+ });
289
+ }
290
+ return steps;
291
+ };
292
+ /**
293
+ * Apply provider assignment to all steps in all phases
294
+ */
295
+ export const applyProviderAssignmentToPhases = (phases, config) => {
296
+ return phases.map(phase => ({
297
+ ...phase,
298
+ steps: applyProviderAssignment(phase.steps, config),
299
+ }));
300
+ };
238
301
  //# sourceMappingURL=generateSteps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateSteps.js","sourceRoot":"","sources":["../../../src/tui/services/generateSteps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateSteps.js","sourceRoot":"","sources":["../../../src/tui/services/generateSteps.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ProviderName, ApprovalMode, RunMode } from '../types.js';
1
+ import type { ProviderName, ApprovalMode, RunMode, ExecutionSettings, ApprovalPromptConfig, ProviderAssignmentConfig } from '../types.js';
2
2
  export declare const API_KEY_ENV_VARS: Record<ProviderName, string>;
3
3
  export interface ArachneConfig {
4
4
  apiKeys: {
@@ -16,6 +16,13 @@ export interface ArachneConfig {
16
16
  showSplash: boolean;
17
17
  theme?: string;
18
18
  };
19
+ execution: {
20
+ verboseOutput: boolean;
21
+ showFileChanges: boolean;
22
+ showElapsedTimer: boolean;
23
+ approvalPrompts: ApprovalPromptConfig;
24
+ };
25
+ providerAssignment: ProviderAssignmentConfig;
19
26
  }
20
27
  export declare function loadConfig(): ArachneConfig;
21
28
  export declare function saveConfig(config: ArachneConfig): void;
@@ -26,4 +33,8 @@ export declare function hasApiKey(provider: ProviderName): boolean;
26
33
  export declare function maskApiKey(key: string): string;
27
34
  export declare function getDefaults(): ArachneConfig['defaults'];
28
35
  export declare function setDefaults(defaults: Partial<ArachneConfig['defaults']>): void;
36
+ export declare function getExecutionSettings(): ExecutionSettings;
37
+ export declare function setExecutionSettings(settings: Partial<ExecutionSettings>): void;
38
+ export declare function getProviderAssignment(): ProviderAssignmentConfig;
39
+ export declare function setProviderAssignment(settings: Partial<ProviderAssignmentConfig>): void;
29
40
  //# sourceMappingURL=settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/tui/services/settings.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAOvE,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAKzD,CAAC;AAGF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,EAAE;QACR,QAAQ,EAAE,YAAY,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,EAAE,YAAY,CAAC;QAC3B,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,EAAE,EAAE;QACF,UAAU,EAAE,OAAO,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAwBD,wBAAgB,UAAU,IAAI,aAAa,CAmB1C;AAGD,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAGtD;AAGD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAGpE;AAGD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAQ/E;AAGD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAU7E;AAGD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAGzD;AAGD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG9C;AAGD,wBAAgB,WAAW,IAAI,aAAa,CAAC,UAAU,CAAC,CAEvD;AAGD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAI9E"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/tui/services/settings.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,wBAAwB,EAAiB,MAAM,aAAa,CAAC;AAOzJ,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAKzD,CAAC;AAGF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,EAAE;QACR,QAAQ,EAAE,YAAY,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,EAAE,YAAY,CAAC;QAC3B,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,EAAE,EAAE;QACF,UAAU,EAAE,OAAO,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,SAAS,EAAE;QACT,aAAa,EAAE,OAAO,CAAC;QACvB,eAAe,EAAE,OAAO,CAAC;QACzB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,eAAe,EAAE,oBAAoB,CAAC;KACvC,CAAC;IACF,kBAAkB,EAAE,wBAAwB,CAAC;CAC9C;AA+CD,wBAAgB,UAAU,IAAI,aAAa,CAmC1C;AAGD,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAGtD;AAGD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAGpE;AAGD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAQ/E;AAGD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAU7E;AAGD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAGzD;AAGD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG9C;AAGD,wBAAgB,WAAW,IAAI,aAAa,CAAC,UAAU,CAAC,CAEvD;AAGD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAI9E;AAGD,wBAAgB,oBAAoB,IAAI,iBAAiB,CAExD;AAGD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAW/E;AAGD,wBAAgB,qBAAqB,IAAI,wBAAwB,CAEhE;AAGD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAkBvF"}
@@ -23,6 +23,29 @@ const DEFAULT_CONFIG = {
23
23
  showSplash: true,
24
24
  theme: 'obsidian-web',
25
25
  },
26
+ execution: {
27
+ verboseOutput: false,
28
+ showFileChanges: true,
29
+ showElapsedTimer: true,
30
+ approvalPrompts: {
31
+ packageInstall: true,
32
+ fileDelete: true,
33
+ configChanges: false,
34
+ },
35
+ },
36
+ providerAssignment: {
37
+ mode: 'aiDecide',
38
+ defaultProvider: 'codex',
39
+ defaultModel: 'o4-mini',
40
+ taskProviders: {
41
+ planning: { provider: 'claude', model: 'claude-sonnet-4-20250514' },
42
+ coding: { provider: 'codex', model: 'o4-mini' },
43
+ analysis: { provider: 'claude', model: 'claude-sonnet-4-20250514' },
44
+ research: { provider: 'claude', model: 'claude-sonnet-4-20250514' },
45
+ documentation: { provider: 'claude', model: 'claude-sonnet-4-20250514' },
46
+ commands: { provider: 'codex', model: 'o4-mini' },
47
+ },
48
+ },
26
49
  };
27
50
  // Ensure config directory exists
28
51
  function ensureConfigDir() {
@@ -46,6 +69,22 @@ export function loadConfig() {
46
69
  apiKeys: { ...DEFAULT_CONFIG.apiKeys, ...parsed.apiKeys },
47
70
  defaults: { ...DEFAULT_CONFIG.defaults, ...parsed.defaults },
48
71
  ui: { ...DEFAULT_CONFIG.ui, ...parsed.ui },
72
+ execution: {
73
+ ...DEFAULT_CONFIG.execution,
74
+ ...parsed.execution,
75
+ approvalPrompts: {
76
+ ...DEFAULT_CONFIG.execution.approvalPrompts,
77
+ ...parsed.execution?.approvalPrompts,
78
+ },
79
+ },
80
+ providerAssignment: {
81
+ ...DEFAULT_CONFIG.providerAssignment,
82
+ ...parsed.providerAssignment,
83
+ taskProviders: {
84
+ ...DEFAULT_CONFIG.providerAssignment.taskProviders,
85
+ ...parsed.providerAssignment?.taskProviders,
86
+ },
87
+ },
49
88
  };
50
89
  }
51
90
  catch {
@@ -104,4 +143,44 @@ export function setDefaults(defaults) {
104
143
  config.defaults = { ...config.defaults, ...defaults };
105
144
  saveConfig(config);
106
145
  }
146
+ // Get execution settings
147
+ export function getExecutionSettings() {
148
+ return loadConfig().execution;
149
+ }
150
+ // Update execution settings
151
+ export function setExecutionSettings(settings) {
152
+ const config = loadConfig();
153
+ config.execution = {
154
+ ...config.execution,
155
+ ...settings,
156
+ approvalPrompts: {
157
+ ...config.execution.approvalPrompts,
158
+ ...settings.approvalPrompts,
159
+ },
160
+ };
161
+ saveConfig(config);
162
+ }
163
+ // Get provider assignment settings
164
+ export function getProviderAssignment() {
165
+ return loadConfig().providerAssignment;
166
+ }
167
+ // Update provider assignment settings
168
+ export function setProviderAssignment(settings) {
169
+ const config = loadConfig();
170
+ const currentTaskProviders = config.providerAssignment.taskProviders || DEFAULT_CONFIG.providerAssignment.taskProviders;
171
+ const newTaskProviders = settings.taskProviders || {};
172
+ config.providerAssignment = {
173
+ ...config.providerAssignment,
174
+ ...settings,
175
+ taskProviders: {
176
+ planning: newTaskProviders.planning ?? currentTaskProviders.planning,
177
+ coding: newTaskProviders.coding ?? currentTaskProviders.coding,
178
+ analysis: newTaskProviders.analysis ?? currentTaskProviders.analysis,
179
+ research: newTaskProviders.research ?? currentTaskProviders.research,
180
+ documentation: newTaskProviders.documentation ?? currentTaskProviders.documentation,
181
+ commands: newTaskProviders.commands ?? currentTaskProviders.commands,
182
+ },
183
+ };
184
+ saveConfig(config);
185
+ }
107
186
  //# sourceMappingURL=settings.js.map