fixo-cli 1.0.4 → 2.0.0

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.

Potentially problematic release.


This version of fixo-cli might be problematic. Click here for more details.

Files changed (199) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/README.md +18 -14
  3. package/dist/agent/agent-client.d.ts +28 -6
  4. package/dist/agent/agent-client.d.ts.map +1 -1
  5. package/dist/agent/agent-client.js +118 -39
  6. package/dist/agent/agent-client.js.map +1 -1
  7. package/dist/agent/agent-pool.d.ts +55 -6
  8. package/dist/agent/agent-pool.d.ts.map +1 -1
  9. package/dist/agent/agent-pool.js +120 -20
  10. package/dist/agent/agent-pool.js.map +1 -1
  11. package/dist/agent/auto-verifier.d.ts +55 -0
  12. package/dist/agent/auto-verifier.d.ts.map +1 -0
  13. package/dist/agent/auto-verifier.js +50 -0
  14. package/dist/agent/auto-verifier.js.map +1 -0
  15. package/dist/agent/command-parser.d.ts.map +1 -1
  16. package/dist/agent/command-parser.js +176 -0
  17. package/dist/agent/command-parser.js.map +1 -1
  18. package/dist/agent/context-builder.d.ts +24 -0
  19. package/dist/agent/context-builder.d.ts.map +1 -0
  20. package/dist/agent/context-builder.js +197 -0
  21. package/dist/agent/context-builder.js.map +1 -0
  22. package/dist/agent/conversation.d.ts +14 -1
  23. package/dist/agent/conversation.d.ts.map +1 -1
  24. package/dist/agent/conversation.js +53 -7
  25. package/dist/agent/conversation.js.map +1 -1
  26. package/dist/agent/mcp-bridge.js +1 -1
  27. package/dist/agent/mcp-bridge.js.map +1 -1
  28. package/dist/agent/orchestrator.d.ts +45 -0
  29. package/dist/agent/orchestrator.d.ts.map +1 -1
  30. package/dist/agent/orchestrator.js +140 -3
  31. package/dist/agent/orchestrator.js.map +1 -1
  32. package/dist/agent/parser-adapter.d.ts +17 -0
  33. package/dist/agent/parser-adapter.d.ts.map +1 -1
  34. package/dist/agent/parser-adapter.js +254 -2
  35. package/dist/agent/parser-adapter.js.map +1 -1
  36. package/dist/agent/predictive-gate.d.ts.map +1 -1
  37. package/dist/agent/predictive-gate.js +4 -1
  38. package/dist/agent/predictive-gate.js.map +1 -1
  39. package/dist/agent/providers-manager.d.ts +5 -0
  40. package/dist/agent/providers-manager.d.ts.map +1 -1
  41. package/dist/agent/providers-manager.js +119 -8
  42. package/dist/agent/providers-manager.js.map +1 -1
  43. package/dist/agent/repo-map.d.ts +18 -1
  44. package/dist/agent/repo-map.d.ts.map +1 -1
  45. package/dist/agent/repo-map.js +144 -54
  46. package/dist/agent/repo-map.js.map +1 -1
  47. package/dist/agent/retry.js +1 -2
  48. package/dist/agent/retry.js.map +1 -1
  49. package/dist/agent/single-agent.d.ts.map +1 -1
  50. package/dist/agent/single-agent.js +129 -22
  51. package/dist/agent/single-agent.js.map +1 -1
  52. package/dist/agent/skills.d.ts.map +1 -1
  53. package/dist/agent/skills.js +2 -1
  54. package/dist/agent/skills.js.map +1 -1
  55. package/dist/agent/subagent.js +2 -2
  56. package/dist/agent/subagent.js.map +1 -1
  57. package/dist/agent/task-router.d.ts +46 -0
  58. package/dist/agent/task-router.d.ts.map +1 -0
  59. package/dist/agent/task-router.js +352 -0
  60. package/dist/agent/task-router.js.map +1 -0
  61. package/dist/agent/telemetry.d.ts +29 -1
  62. package/dist/agent/telemetry.d.ts.map +1 -1
  63. package/dist/agent/telemetry.js +25 -10
  64. package/dist/agent/telemetry.js.map +1 -1
  65. package/dist/agent/tool-definitions.d.ts +3 -0
  66. package/dist/agent/tool-definitions.d.ts.map +1 -0
  67. package/dist/agent/tool-definitions.js +519 -0
  68. package/dist/agent/tool-definitions.js.map +1 -0
  69. package/dist/agent/tool-executor.d.ts +6 -1
  70. package/dist/agent/tool-executor.d.ts.map +1 -1
  71. package/dist/agent/tool-executor.js +99 -553
  72. package/dist/agent/tool-executor.js.map +1 -1
  73. package/dist/agent/tools/command-tools.d.ts +6 -0
  74. package/dist/agent/tools/command-tools.d.ts.map +1 -0
  75. package/dist/agent/tools/command-tools.js +104 -0
  76. package/dist/agent/tools/command-tools.js.map +1 -0
  77. package/dist/agent/tools/file-tools.d.ts +15 -0
  78. package/dist/agent/tools/file-tools.d.ts.map +1 -0
  79. package/dist/agent/tools/file-tools.js +551 -0
  80. package/dist/agent/tools/file-tools.js.map +1 -0
  81. package/dist/agent/tools/todo-tools.d.ts +3 -0
  82. package/dist/agent/tools/todo-tools.d.ts.map +1 -0
  83. package/dist/agent/tools/todo-tools.js +70 -0
  84. package/dist/agent/tools/todo-tools.js.map +1 -0
  85. package/dist/agent/web-impl.d.ts.map +1 -1
  86. package/dist/agent/web-impl.js +45 -0
  87. package/dist/agent/web-impl.js.map +1 -1
  88. package/dist/agent/worker-agent.d.ts +3 -1
  89. package/dist/agent/worker-agent.d.ts.map +1 -1
  90. package/dist/agent/worker-agent.js +51 -14
  91. package/dist/agent/worker-agent.js.map +1 -1
  92. package/dist/config.d.ts +242 -0
  93. package/dist/config.d.ts.map +1 -1
  94. package/dist/config.js +79 -0
  95. package/dist/config.js.map +1 -1
  96. package/dist/git/git-manager.d.ts +33 -2
  97. package/dist/git/git-manager.d.ts.map +1 -1
  98. package/dist/git/git-manager.js +111 -15
  99. package/dist/git/git-manager.js.map +1 -1
  100. package/dist/git/git-ops.d.ts.map +1 -1
  101. package/dist/git/git-ops.js +2 -1
  102. package/dist/git/git-ops.js.map +1 -1
  103. package/dist/index.js +85 -8
  104. package/dist/index.js.map +1 -1
  105. package/dist/lsp/lsp-manager.js +1 -1
  106. package/dist/lsp/lsp-manager.js.map +1 -1
  107. package/dist/model-outcomes.d.ts.map +1 -1
  108. package/dist/model-outcomes.js +2 -1
  109. package/dist/model-outcomes.js.map +1 -1
  110. package/dist/planner.d.ts +0 -9
  111. package/dist/planner.d.ts.map +1 -1
  112. package/dist/planner.js +0 -9
  113. package/dist/planner.js.map +1 -1
  114. package/dist/project-memory.d.ts +12 -1
  115. package/dist/project-memory.d.ts.map +1 -1
  116. package/dist/project-memory.js +8 -6
  117. package/dist/project-memory.js.map +1 -1
  118. package/dist/runtime/loop-mitigation.d.ts +78 -7
  119. package/dist/runtime/loop-mitigation.d.ts.map +1 -1
  120. package/dist/runtime/loop-mitigation.js +122 -9
  121. package/dist/runtime/loop-mitigation.js.map +1 -1
  122. package/dist/runtime/os-sandbox.d.ts +100 -0
  123. package/dist/runtime/os-sandbox.d.ts.map +1 -0
  124. package/dist/runtime/os-sandbox.js +246 -0
  125. package/dist/runtime/os-sandbox.js.map +1 -0
  126. package/dist/runtime/run-inventory.d.ts +17 -0
  127. package/dist/runtime/run-inventory.d.ts.map +1 -0
  128. package/dist/runtime/run-inventory.js +49 -0
  129. package/dist/runtime/run-inventory.js.map +1 -0
  130. package/dist/runtime/staging.d.ts.map +1 -1
  131. package/dist/runtime/staging.js +4 -1
  132. package/dist/runtime/staging.js.map +1 -1
  133. package/dist/runtime/task-session.d.ts +14 -0
  134. package/dist/runtime/task-session.d.ts.map +1 -1
  135. package/dist/runtime/task-session.js +26 -0
  136. package/dist/runtime/task-session.js.map +1 -1
  137. package/dist/setup-wizard.d.ts +11 -3
  138. package/dist/setup-wizard.d.ts.map +1 -1
  139. package/dist/setup-wizard.js +113 -15
  140. package/dist/setup-wizard.js.map +1 -1
  141. package/dist/types.d.ts +8 -0
  142. package/dist/types.d.ts.map +1 -1
  143. package/dist/ui/commands/context-commands.d.ts +7 -0
  144. package/dist/ui/commands/context-commands.d.ts.map +1 -0
  145. package/dist/ui/commands/context-commands.js +241 -0
  146. package/dist/ui/commands/context-commands.js.map +1 -0
  147. package/dist/ui/commands/index.d.ts +3 -0
  148. package/dist/ui/commands/index.d.ts.map +1 -0
  149. package/dist/ui/commands/index.js +46 -0
  150. package/dist/ui/commands/index.js.map +1 -0
  151. package/dist/ui/commands/info-commands.d.ts +15 -0
  152. package/dist/ui/commands/info-commands.d.ts.map +1 -0
  153. package/dist/ui/commands/info-commands.js +122 -0
  154. package/dist/ui/commands/info-commands.js.map +1 -0
  155. package/dist/ui/commands/model-commands.d.ts +5 -0
  156. package/dist/ui/commands/model-commands.d.ts.map +1 -0
  157. package/dist/ui/commands/model-commands.js +417 -0
  158. package/dist/ui/commands/model-commands.js.map +1 -0
  159. package/dist/ui/commands/session-commands.d.ts +5 -0
  160. package/dist/ui/commands/session-commands.d.ts.map +1 -0
  161. package/dist/ui/commands/session-commands.js +154 -0
  162. package/dist/ui/commands/session-commands.js.map +1 -0
  163. package/dist/ui/commands/task-commands.d.ts +8 -0
  164. package/dist/ui/commands/task-commands.d.ts.map +1 -0
  165. package/dist/ui/commands/task-commands.js +152 -0
  166. package/dist/ui/commands/task-commands.js.map +1 -0
  167. package/dist/ui/commands/types.d.ts +46 -0
  168. package/dist/ui/commands/types.d.ts.map +1 -0
  169. package/dist/ui/commands/types.js +2 -0
  170. package/dist/ui/commands/types.js.map +1 -0
  171. package/dist/ui/commands/workspace-commands.d.ts +8 -0
  172. package/dist/ui/commands/workspace-commands.d.ts.map +1 -0
  173. package/dist/ui/commands/workspace-commands.js +131 -0
  174. package/dist/ui/commands/workspace-commands.js.map +1 -0
  175. package/dist/ui/loading-animation.d.ts +24 -0
  176. package/dist/ui/loading-animation.d.ts.map +1 -0
  177. package/dist/ui/loading-animation.js +123 -0
  178. package/dist/ui/loading-animation.js.map +1 -0
  179. package/dist/ui/markdown-stream.js +2 -2
  180. package/dist/ui/markdown-stream.js.map +1 -1
  181. package/dist/ui/prompt.d.ts +7 -0
  182. package/dist/ui/prompt.d.ts.map +1 -1
  183. package/dist/ui/prompt.js +435 -1214
  184. package/dist/ui/prompt.js.map +1 -1
  185. package/dist/ui/render-primitives.d.ts +6 -0
  186. package/dist/ui/render-primitives.d.ts.map +1 -1
  187. package/dist/ui/render-primitives.js +30 -13
  188. package/dist/ui/render-primitives.js.map +1 -1
  189. package/dist/ui/render.d.ts.map +1 -1
  190. package/dist/ui/render.js +2 -0
  191. package/dist/ui/render.js.map +1 -1
  192. package/package.json +17 -3
  193. package/scripts/check-vendor-wasm.js +11 -0
  194. package/vendor/tree-sitter-go.wasm +0 -0
  195. package/vendor/tree-sitter-javascript.wasm +0 -0
  196. package/vendor/tree-sitter-python.wasm +0 -0
  197. package/vendor/tree-sitter-rust.wasm +0 -0
  198. package/vendor/tree-sitter-tsx.wasm +0 -0
  199. package/vendor/tree-sitter-typescript.wasm +0 -0
@@ -0,0 +1,241 @@
1
+ import { colors } from '../colors.js';
2
+ import { addItem, loadTodoList, removeItem, renderTodoList, saveTodoList, setItemStatus, summariseTodoList, } from '../../context/todo.js';
3
+ export const todoCommand = async (ctx) => {
4
+ const sub = ctx.args[0]?.toLowerCase();
5
+ if (!sub || sub === 'list' || sub === 'ls') {
6
+ const list = loadTodoList(ctx.cwd);
7
+ const summary = summariseTodoList(list);
8
+ console.log('');
9
+ console.log(renderTodoList(list));
10
+ if (summary.length > 0) {
11
+ console.log(`\n${colors.dim}(${summary})${colors.reset}`);
12
+ }
13
+ return;
14
+ }
15
+ if (sub === 'add') {
16
+ const text = ctx.args.slice(1).join(' ').trim();
17
+ if (text.length === 0) {
18
+ console.log(`\n${colors.yellow}Usage: /todo add <text>${colors.reset}`);
19
+ return;
20
+ }
21
+ const list = addItem(loadTodoList(ctx.cwd), { content: text });
22
+ const result = saveTodoList(ctx.cwd, list);
23
+ if (!result.ok) {
24
+ console.log(`\n${colors.red}✗ Failed to save todo: ${result.error}${colors.reset}`);
25
+ return;
26
+ }
27
+ console.log(`\n${colors.green}✓ Added todo:${colors.reset} ${text}`);
28
+ return;
29
+ }
30
+ if (sub === 'done' || sub === 'complete' || sub === 'cancel') {
31
+ const id = ctx.args[1];
32
+ if (!id) {
33
+ console.log(`\n${colors.yellow}Usage: /todo ${sub} <id>${colors.reset}`);
34
+ return;
35
+ }
36
+ const status = sub === 'cancel' ? 'cancelled' : 'done';
37
+ let list = loadTodoList(ctx.cwd);
38
+ const exists = list.items.some((it) => it.id === id);
39
+ if (!exists) {
40
+ console.log(`\n${colors.red}✗ No todo with id "${id}"${colors.reset}`);
41
+ return;
42
+ }
43
+ list = setItemStatus(list, { id, status });
44
+ const result = saveTodoList(ctx.cwd, list);
45
+ if (!result.ok) {
46
+ console.log(`\n${colors.red}✗ Failed to save todo: ${result.error}${colors.reset}`);
47
+ return;
48
+ }
49
+ console.log(`\n${colors.green}✓ Marked ${status}${colors.reset}`);
50
+ return;
51
+ }
52
+ if (sub === 'start' || sub === 'progress') {
53
+ const id = ctx.args[1];
54
+ if (!id) {
55
+ console.log(`\n${colors.yellow}Usage: /todo ${sub} <id>${colors.reset}`);
56
+ return;
57
+ }
58
+ let list = loadTodoList(ctx.cwd);
59
+ const exists = list.items.some((it) => it.id === id);
60
+ if (!exists) {
61
+ console.log(`\n${colors.red}✗ No todo with id "${id}"${colors.reset}`);
62
+ return;
63
+ }
64
+ list = setItemStatus(list, { id, status: 'in_progress' });
65
+ const result = saveTodoList(ctx.cwd, list);
66
+ if (!result.ok) {
67
+ console.log(`\n${colors.red}✗ Failed to save todo: ${result.error}${colors.reset}`);
68
+ return;
69
+ }
70
+ console.log(`\n${colors.green}✓ Marked in_progress${colors.reset}`);
71
+ return;
72
+ }
73
+ if (sub === 'remove' || sub === 'rm' || sub === 'delete') {
74
+ const id = ctx.args[1];
75
+ if (!id) {
76
+ console.log(`\n${colors.yellow}Usage: /todo remove <id>${colors.reset}`);
77
+ return;
78
+ }
79
+ let list = loadTodoList(ctx.cwd);
80
+ const exists = list.items.some((it) => it.id === id);
81
+ if (!exists) {
82
+ console.log(`\n${colors.red}✗ No todo with id "${id}"${colors.reset}`);
83
+ return;
84
+ }
85
+ list = removeItem(list, { id });
86
+ const result = saveTodoList(ctx.cwd, list);
87
+ if (!result.ok) {
88
+ console.log(`\n${colors.red}✗ Failed to save todo: ${result.error}${colors.reset}`);
89
+ return;
90
+ }
91
+ console.log(`\n${colors.green}✓ Removed todo${colors.reset}`);
92
+ return;
93
+ }
94
+ if (sub === 'clear') {
95
+ const list = loadTodoList(ctx.cwd);
96
+ const kept = list.items.filter((it) => it.status !== 'done' && it.status !== 'cancelled');
97
+ const result = saveTodoList(ctx.cwd, { ...list, items: kept, updatedAt: Date.now() });
98
+ if (!result.ok) {
99
+ console.log(`\n${colors.red}✗ Failed to save todo: ${result.error}${colors.reset}`);
100
+ return;
101
+ }
102
+ const cleared = list.items.length - kept.length;
103
+ console.log(`\n${colors.green}✓ Cleared ${cleared} completed todo(s)${colors.reset}`);
104
+ return;
105
+ }
106
+ if (sub === 'help' || sub === '-h' || sub === '--help') {
107
+ console.log(`\n${colors.bold}Usage: /todo <subcommand>${colors.reset}`);
108
+ console.log(` list List all todo items`);
109
+ console.log(` add <text> Add a new todo`);
110
+ console.log(` start <id> Mark a todo as in-progress`);
111
+ console.log(` done <id> Mark a todo as done`);
112
+ console.log(` cancel <id> Cancel a todo`);
113
+ console.log(` remove <id> Remove a todo entirely`);
114
+ console.log(` clear Remove all done/cancelled todos`);
115
+ return;
116
+ }
117
+ console.log(`\n${colors.yellow}Unknown /todo subcommand "${sub}". Try /todo help.${colors.reset}`);
118
+ return;
119
+ };
120
+ export const mcpCommand = async (ctx) => {
121
+ const sub = ctx.args[0]?.toLowerCase();
122
+ if (!sub || sub === 'list') {
123
+ const { listAllMcpSources, mergedMcpServers } = await import('../../agent/mcp-registry.js');
124
+ const view = listAllMcpSources(ctx.cwd);
125
+ console.log(`\n${colors.bold}${colors.cyan}MCP Servers${colors.reset} ${colors.dim}(project-wins precedence: local > project > global)${colors.reset}`);
126
+ console.log(`${colors.dim}${'─'.repeat(60)}${colors.reset}`);
127
+ const renderSource = (label, s) => {
128
+ const names = Object.keys(s.servers);
129
+ if (names.length === 0) {
130
+ console.log(` ${colors.dim}${label}: (empty)${s.configPath ? ` ${colors.dim}${s.configPath}${colors.reset}` : ''}`);
131
+ return;
132
+ }
133
+ console.log(` ${colors.bold}${label}${colors.reset}${s.configPath ? ` ${colors.dim}${s.configPath}${colors.reset}` : ''}`);
134
+ for (const n of names) {
135
+ console.log(` ${colors.cyan}•${colors.reset} ${n}`);
136
+ }
137
+ };
138
+ renderSource('global', view.global);
139
+ renderSource('project', view.project);
140
+ renderSource('local', view.local);
141
+ const merged = mergedMcpServers(ctx.cwd);
142
+ const mergedCount = Object.keys(merged).length;
143
+ console.log(`\n${colors.dim}merged total: ${mergedCount} server(s)${colors.reset}`);
144
+ return;
145
+ }
146
+ if (sub === 'add') {
147
+ const name = ctx.args[1];
148
+ if (!name || ctx.args.length < 3) {
149
+ console.log(`\n${colors.yellow}Usage: /mcp add <name> <command> [ctx.args...]${colors.reset}`);
150
+ return;
151
+ }
152
+ const cmd = ctx.args[2];
153
+ const cmdArgs = ctx.args.slice(3);
154
+ const { addLocalMcpServer } = await import('../../agent/mcp-registry.js');
155
+ addLocalMcpServer(ctx.cwd, name, { command: cmd, args: cmdArgs, type: 'stdio' });
156
+ console.log(`\n${colors.green}✓ Added local MCP server:${colors.reset} ${name} ${colors.dim}(command=${cmd} ctx.args=${JSON.stringify(cmdArgs)})${colors.reset}`);
157
+ return;
158
+ }
159
+ if (sub === 'remove' || sub === 'rm') {
160
+ const name = ctx.args[1];
161
+ if (!name) {
162
+ console.log(`\n${colors.yellow}Usage: /mcp remove <name>${colors.reset}`);
163
+ return;
164
+ }
165
+ const { removeLocalMcpServer } = await import('../../agent/mcp-registry.js');
166
+ const removed = removeLocalMcpServer(ctx.cwd, name);
167
+ if (removed) {
168
+ console.log(`\n${colors.green}✓ Removed local MCP server:${colors.reset} ${name}`);
169
+ }
170
+ else {
171
+ console.log(`\n${colors.yellow}No local MCP server named ${name}${colors.reset}`);
172
+ }
173
+ return;
174
+ }
175
+ if (sub === 'test') {
176
+ const name = ctx.args[1];
177
+ if (!name) {
178
+ console.log(`\n${colors.yellow}Usage: /mcp test <name>${colors.reset}`);
179
+ return;
180
+ }
181
+ const { mergedMcpServers } = await import('../../agent/mcp-registry.js');
182
+ const all = mergedMcpServers(ctx.cwd);
183
+ const cfg = all[name];
184
+ if (!cfg) {
185
+ console.log(`\n${colors.yellow}No MCP server named ${name} (in any source)${colors.reset}`);
186
+ return;
187
+ }
188
+ const hasCommand = typeof cfg.command === 'string';
189
+ const hasUrl = typeof cfg.url === 'string';
190
+ if (hasCommand || hasUrl) {
191
+ console.log(`\n${colors.green}✓ ${name}${colors.reset} — ctx.config looks valid (${hasCommand ? 'stdio' : 'sse'})`);
192
+ }
193
+ else {
194
+ console.log(`\n${colors.red}✗ ${name}${colors.reset} — missing 'command' or 'url'`);
195
+ }
196
+ return;
197
+ }
198
+ console.log(`\n${colors.yellow}Unknown /mcp subcommand: ${sub}. Use: list | add | remove | test${colors.reset}`);
199
+ return;
200
+ };
201
+ export const compactCommand = async (ctx) => {
202
+ const msgCount = ctx.conversation.getMessageCount();
203
+ if (msgCount === 0) {
204
+ console.log(`\n${colors.dim}Nothing to compact — ctx.conversation is empty.${colors.reset}`);
205
+ return;
206
+ }
207
+ const tokensBefore = ctx.conversation.getTotalTokens();
208
+ const contextLimit = ctx.conversation.getContextLimit();
209
+ console.log(`\n${colors.cyan}[Compact] Summarising ${msgCount} messages to free context tokens...${colors.reset}`);
210
+ console.log(`${colors.dim} Current context: ${(tokensBefore / 1000).toFixed(0)}k / ${(contextLimit / 1000).toFixed(0)}k tokens${colors.reset}`);
211
+ try {
212
+ const compacted = await ctx.conversation.compact(ctx.agent.getClient(), ctx.state.currentModel);
213
+ if (compacted) {
214
+ const info = ctx.conversation.getLastCompactionInfo();
215
+ const tokensAfter = ctx.conversation.getTotalTokens();
216
+ console.log(`${colors.green}✓ Compacted: ${info?.messagesBefore ?? msgCount} messages → summary + ${ctx.conversation.getMessageCount()} recent messages.${colors.reset}`);
217
+ console.log(`${colors.dim} Context: ${(tokensBefore / 1000).toFixed(0)}k → ${(tokensAfter / 1000).toFixed(0)}k tokens (~${((info?.tokensFreed ?? 0) / 1000).toFixed(0)}k freed).${colors.reset}`);
218
+ }
219
+ else {
220
+ console.log(`${colors.dim}Not enough messages to compact (need more than 4 messages).${colors.reset}`);
221
+ }
222
+ }
223
+ catch (err) {
224
+ console.log(`${colors.red}✗ Compact failed: ${err.message}${colors.reset}`);
225
+ }
226
+ return;
227
+ };
228
+ export const clearCommand = async (ctx) => {
229
+ ctx.conversation.clear();
230
+ ctx.state.pendingAttachments = [];
231
+ console.log(`\n${colors.green}✓ Conversation cleared${colors.reset}`);
232
+ return;
233
+ };
234
+ export const variantCommand = async (ctx) => {
235
+ const { themeMode, setThemeMode } = await import('../colors.js');
236
+ const newMode = themeMode === 'dark' ? 'inverted' : 'dark';
237
+ setThemeMode(newMode);
238
+ console.log(`\n${colors.cyan}✓ Theme set to: ${newMode === 'dark' ? 'Dark Void Minimalist' : 'High-Contrast Inverted'}${colors.reset}`);
239
+ return;
240
+ };
241
+ //# sourceMappingURL=context-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-commands.js","sourceRoot":"","sources":["../../../src/ui/commands/context-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type CommandHandler } from './types.js';
2
+ export declare const commandRegistry: Record<string, CommandHandler>;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAQjD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CA2C1D,CAAC"}
@@ -0,0 +1,46 @@
1
+ import * as sessionCmds from './session-commands.js';
2
+ import * as modelCmds from './model-commands.js';
3
+ import * as workspaceCmds from './workspace-commands.js';
4
+ import * as taskCmds from './task-commands.js';
5
+ import * as infoCmds from './info-commands.js';
6
+ import * as contextCmds from './context-commands.js';
7
+ export const commandRegistry = {
8
+ '/session': sessionCmds.sessionCommand,
9
+ '/rename': sessionCmds.renameCommand,
10
+ '/snapshot': sessionCmds.snapshotCommand,
11
+ '/model': modelCmds.modelCommand,
12
+ '/providers': modelCmds.providersCommand,
13
+ '/model-routing': modelCmds.modelRoutingCommand,
14
+ '/select': workspaceCmds.selectCommand,
15
+ '/unselect': workspaceCmds.unselectCommand,
16
+ '/diff': workspaceCmds.diffCommand,
17
+ '/undo': workspaceCmds.undoCommand,
18
+ '/image': workspaceCmds.imageCommand,
19
+ '/mode': workspaceCmds.modeCommand,
20
+ '/review': taskCmds.reviewCommand,
21
+ '/test': taskCmds.testCommand,
22
+ '/fix-tests': taskCmds.fixTestsCommand,
23
+ '/fix-ci': taskCmds.fixCiCommand,
24
+ '/plan': taskCmds.planCommand,
25
+ '/run-plan': taskCmds.runPlanCommand,
26
+ '/log': infoCmds.logCommand,
27
+ '/stats': infoCmds.statsCommand,
28
+ '/runs': infoCmds.runsCommand,
29
+ '/show-run': infoCmds.showRunCommand,
30
+ '/memory': infoCmds.memoryCommand,
31
+ '/remember': infoCmds.rememberCommand,
32
+ '/forget': infoCmds.forgetCommand,
33
+ '/doctor': infoCmds.doctorCommand,
34
+ '/index': infoCmds.indexCommand,
35
+ '/find': infoCmds.findCommand,
36
+ '/explain': infoCmds.explainCommand,
37
+ '/skills': infoCmds.skillsCommand,
38
+ '/telemetry': infoCmds.telemetryCommand,
39
+ '/todo': contextCmds.todoCommand,
40
+ '/mcp': contextCmds.mcpCommand,
41
+ '/compact': contextCmds.compactCommand,
42
+ '/clear': contextCmds.clearCommand,
43
+ '/variant': contextCmds.variantCommand,
44
+ '/theme': contextCmds.variantCommand,
45
+ };
46
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/commands/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAC;AAErD,MAAM,CAAC,MAAM,eAAe,GAAmC;IAC7D,UAAU,EAAE,WAAW,CAAC,cAAc;IACtC,SAAS,EAAE,WAAW,CAAC,aAAa;IACpC,WAAW,EAAE,WAAW,CAAC,eAAe;IAExC,QAAQ,EAAE,SAAS,CAAC,YAAY;IAChC,YAAY,EAAE,SAAS,CAAC,gBAAgB;IACxC,gBAAgB,EAAE,SAAS,CAAC,mBAAmB;IAE/C,SAAS,EAAE,aAAa,CAAC,aAAa;IACtC,WAAW,EAAE,aAAa,CAAC,eAAe;IAC1C,OAAO,EAAE,aAAa,CAAC,WAAW;IAClC,OAAO,EAAE,aAAa,CAAC,WAAW;IAClC,QAAQ,EAAE,aAAa,CAAC,YAAY;IACpC,OAAO,EAAE,aAAa,CAAC,WAAW;IAElC,SAAS,EAAE,QAAQ,CAAC,aAAa;IACjC,OAAO,EAAE,QAAQ,CAAC,WAAW;IAC7B,YAAY,EAAE,QAAQ,CAAC,eAAe;IACtC,SAAS,EAAE,QAAQ,CAAC,YAAY;IAChC,OAAO,EAAE,QAAQ,CAAC,WAAW;IAC7B,WAAW,EAAE,QAAQ,CAAC,cAAc;IAEpC,MAAM,EAAE,QAAQ,CAAC,UAAU;IAC3B,QAAQ,EAAE,QAAQ,CAAC,YAAY;IAC/B,OAAO,EAAE,QAAQ,CAAC,WAAW;IAC7B,WAAW,EAAE,QAAQ,CAAC,cAAc;IACpC,SAAS,EAAE,QAAQ,CAAC,aAAa;IACjC,WAAW,EAAE,QAAQ,CAAC,eAAe;IACrC,SAAS,EAAE,QAAQ,CAAC,aAAa;IACjC,SAAS,EAAE,QAAQ,CAAC,aAAa;IACjC,QAAQ,EAAE,QAAQ,CAAC,YAAY;IAC/B,OAAO,EAAE,QAAQ,CAAC,WAAW;IAC7B,UAAU,EAAE,QAAQ,CAAC,cAAc;IACnC,SAAS,EAAE,QAAQ,CAAC,aAAa;IACjC,YAAY,EAAE,QAAQ,CAAC,gBAAgB;IAEvC,OAAO,EAAE,WAAW,CAAC,WAAW;IAChC,MAAM,EAAE,WAAW,CAAC,UAAU;IAC9B,UAAU,EAAE,WAAW,CAAC,cAAc;IACtC,QAAQ,EAAE,WAAW,CAAC,YAAY;IAClC,UAAU,EAAE,WAAW,CAAC,cAAc;IACtC,QAAQ,EAAE,WAAW,CAAC,cAAc;CACrC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { type CommandHandler } from './types.js';
2
+ export declare const logCommand: CommandHandler;
3
+ export declare const statsCommand: CommandHandler;
4
+ export declare const runsCommand: CommandHandler;
5
+ export declare const showRunCommand: CommandHandler;
6
+ export declare const memoryCommand: CommandHandler;
7
+ export declare const rememberCommand: CommandHandler;
8
+ export declare const forgetCommand: CommandHandler;
9
+ export declare const doctorCommand: CommandHandler;
10
+ export declare const indexCommand: CommandHandler;
11
+ export declare const findCommand: CommandHandler;
12
+ export declare const explainCommand: CommandHandler;
13
+ export declare const skillsCommand: CommandHandler;
14
+ export declare const telemetryCommand: CommandHandler;
15
+ //# sourceMappingURL=info-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info-commands.d.ts","sourceRoot":"","sources":["../../../src/ui/commands/info-commands.ts"],"names":[],"mappings":"AAsCA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,eAAO,MAAM,UAAU,EAAE,cAIxB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,cAgB1B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,cAMzB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,cAI5B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,cAI3B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,cAc7B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,cAY3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,cAI3B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,cAQ1B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,cAIzB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,cAI5B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,cAY3B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,cAc9B,CAAC"}
@@ -0,0 +1,122 @@
1
+ import * as p from '@clack/prompts';
2
+ import { saveConfig } from '../../config.js';
3
+ import { listRuns, showRun } from '../../runtime/task-session.js';
4
+ import { appendMemory, doctor, forgetMemory, readMemory } from '../../project-memory.js';
5
+ import { buildIndex, explainIndexedTarget, findInIndex } from '../../indexer.js';
6
+ import { colors } from '../colors.js';
7
+ export const logCommand = async (ctx) => {
8
+ console.log(`\n${ctx.git.getRecentCommits(10)}`);
9
+ return;
10
+ };
11
+ export const statsCommand = async (ctx) => {
12
+ if (ctx.printStats)
13
+ ctx.printStats(ctx.state.stats);
14
+ {
15
+ const ctxTokens = ctx.conversation.getTotalTokens();
16
+ const ctxLimit = ctx.conversation.getContextLimit();
17
+ const ctxPct = Math.round((ctxTokens / ctxLimit) * 100);
18
+ const hasSummary = ctx.conversation.getSummary() ? ' (compacted)' : '';
19
+ console.log(`${colors.cyan}${colors.bold}📊 Context Window${colors.reset}`);
20
+ console.log(`${colors.dim}${'─'.repeat(40)}${colors.reset}`);
21
+ console.log(` History messages: ${colors.bold}${ctx.conversation.getMessageCount()}${colors.reset}${hasSummary}`);
22
+ console.log(` Context usage: ${colors.bold}${(ctxTokens / 1000).toFixed(0)}k / ${(ctxLimit / 1000).toFixed(0)}k${colors.reset} (${ctxPct}%)`);
23
+ console.log(` Turns: ${colors.bold}${ctx.conversation.getTurnCount()}${colors.reset}`);
24
+ console.log('');
25
+ }
26
+ return;
27
+ };
28
+ export const runsCommand = async (ctx) => {
29
+ const runs = listRuns(ctx.cwd, 12);
30
+ console.log(runs.length
31
+ ? `\n${runs.map(run => `${run.id} ${run.status} ${run.task.slice(0, 80)}`).join('\n')}`
32
+ : '\n(no FixO runs recorded)');
33
+ return;
34
+ };
35
+ export const showRunCommand = async (ctx) => {
36
+ console.log(`\n${showRun(ctx.cwd, ctx.args[0] ?? '')}`);
37
+ return;
38
+ };
39
+ export const memoryCommand = async (ctx) => {
40
+ console.log(`\n${readMemory(ctx.cwd)}`);
41
+ return;
42
+ };
43
+ export const rememberCommand = async (ctx) => {
44
+ const text = ctx.args.join(' ').trim();
45
+ if (!text) {
46
+ console.log(`\n${colors.yellow}Usage: /remember <project fact>${colors.reset}`);
47
+ return;
48
+ }
49
+ ctx.rl.pause();
50
+ const confirmed = await p.confirm({ message: `Add to project memory: ${text}?`, initialValue: false });
51
+ ctx.rl.resume();
52
+ if (!p.isCancel(confirmed) && confirmed) {
53
+ appendMemory(ctx.cwd, text);
54
+ console.log(`\n${colors.green}✓ Memory updated${colors.reset}`);
55
+ }
56
+ return;
57
+ };
58
+ export const forgetCommand = async (ctx) => {
59
+ ctx.rl.pause();
60
+ {
61
+ const confirmed = await p.confirm({ message: 'Clear FixO project memory?', initialValue: false });
62
+ ctx.rl.resume();
63
+ if (!p.isCancel(confirmed) && confirmed) {
64
+ forgetMemory(ctx.cwd);
65
+ console.log(`\n${colors.green}✓ Memory cleared${colors.reset}`);
66
+ }
67
+ }
68
+ return;
69
+ };
70
+ export const doctorCommand = async (ctx) => {
71
+ console.log(`\n${doctor(ctx.cwd)}`);
72
+ return;
73
+ };
74
+ export const indexCommand = async (ctx) => {
75
+ const index = await buildIndex(ctx.cwd);
76
+ if (ctx.workspaceFiles) {
77
+ ctx.workspaceFiles.length = 0;
78
+ ctx.workspaceFiles.push(...index.files.map(f => f.path));
79
+ }
80
+ console.log(`\n${colors.green}✓ Indexed ${index.files.length} files${colors.reset}`);
81
+ return;
82
+ };
83
+ export const findCommand = async (ctx) => {
84
+ console.log(`\n${await findInIndex(ctx.cwd, ctx.args.join(' '))}`);
85
+ return;
86
+ };
87
+ export const explainCommand = async (ctx) => {
88
+ console.log(`\n${await explainIndexedTarget(ctx.cwd, ctx.args.join(' '))}`);
89
+ return;
90
+ };
91
+ export const skillsCommand = async (ctx) => {
92
+ const { skillsManager } = await import('../../agent/skills.js');
93
+ const list = skillsManager.getSkills();
94
+ if (list.length === 0) {
95
+ console.log(`\n${colors.dim}No skills registered. Register skill profiles by adding SKILL.md under ~/.fixocli/skills/<name>/ or .fixocli/skills/<name>/${colors.reset}`);
96
+ }
97
+ else {
98
+ console.log(`\n${colors.cyan}${colors.bold}Registered Skills:${colors.reset}`);
99
+ for (const skill of list) {
100
+ console.log(` - ${colors.bold}${skill.name}${colors.reset}${skill.description ? `: ${skill.description}` : ''} ${colors.dim}(${skill.location})${colors.reset}`);
101
+ }
102
+ }
103
+ return;
104
+ };
105
+ export const telemetryCommand = async (ctx) => {
106
+ const sub = ctx.args[0]?.toLowerCase();
107
+ if (sub === 'on' || sub === 'enable') {
108
+ ctx.config.preferences.telemetry = true;
109
+ saveConfig(ctx.config);
110
+ console.log(`\n${colors.green}✓ Telemetry enabled${colors.reset}`);
111
+ }
112
+ else if (sub === 'off' || sub === 'disable') {
113
+ ctx.config.preferences.telemetry = false;
114
+ saveConfig(ctx.config);
115
+ console.log(`\n${colors.green}✓ Telemetry disabled${colors.reset}`);
116
+ }
117
+ else {
118
+ console.log(`\n${colors.dim}Telemetry is currently ${ctx.config.preferences.telemetry ? `${colors.green}ON${colors.reset}${colors.dim}` : `${colors.red}OFF${colors.reset}${colors.dim}`}. Usage: /telemetry on|off${colors.reset}`);
119
+ }
120
+ return;
121
+ };
122
+ //# sourceMappingURL=info-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info-commands.js","sourceRoot":"","sources":["../../../src/ui/commands/info-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type CommandHandler } from './types.js';
2
+ export declare const modelCommand: CommandHandler;
3
+ export declare const providersCommand: CommandHandler;
4
+ export declare const modelRoutingCommand: CommandHandler;
5
+ //# sourceMappingURL=model-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-commands.d.ts","sourceRoot":"","sources":["../../../src/ui/commands/model-commands.ts"],"names":[],"mappings":"AAsCA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAgBjD,eAAO,MAAM,YAAY,EAAE,cAqJ1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,cA0N9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,cA8CjC,CAAC"}