@compilr-dev/cli 0.5.3 → 0.5.4
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.
- package/dist/.tsbuildinfo.app +1 -1
- package/dist/.tsbuildinfo.domain +1 -1
- package/dist/compilr-diff-companion.vsix +0 -0
- package/dist/repl-v2.js +28 -21
- package/dist/tools.d.ts +5 -0
- package/dist/tools.js +9 -0
- package/package.json +3 -3
|
Binary file
|
package/dist/repl-v2.js
CHANGED
|
@@ -19,7 +19,7 @@ import { initSessionRegistry, getSessionRegistry, setActiveTerminalSessionId, ge
|
|
|
19
19
|
import { initFileLockManager } from './multi-agent/file-locks.js';
|
|
20
20
|
import { initNotificationManager, getNotificationManager } from './multi-agent/notification-manager.js';
|
|
21
21
|
import { getSessionsPath } from './settings/paths.js';
|
|
22
|
-
import { setMetaToolFilter } from './tools.js';
|
|
22
|
+
import { setMetaToolFilter, isMetaToolSilent, todoStore } from './tools.js';
|
|
23
23
|
import { getCurrentProject } from './tools/project-db.js';
|
|
24
24
|
import { TerminalUI } from './ui/terminal-ui.js';
|
|
25
25
|
import * as terminal from './ui/terminal.js';
|
|
@@ -2357,7 +2357,7 @@ export class ReplV2 {
|
|
|
2357
2357
|
this.ui.addBashCommand(event.toolUseId, command);
|
|
2358
2358
|
}
|
|
2359
2359
|
// Update spinner with tool name (skip silent tools)
|
|
2360
|
-
if (!this.agent?.isToolSilent(event.name)) {
|
|
2360
|
+
if (!this.agent?.isToolSilent(event.name) && !isMetaToolSilent(event.name)) {
|
|
2361
2361
|
if (event.name === 'task' && event.toolUseId) {
|
|
2362
2362
|
const subagentType = typeof lastToolInput.subagent_type === 'string'
|
|
2363
2363
|
? lastToolInput.subagent_type
|
|
@@ -2434,30 +2434,37 @@ export class ReplV2 {
|
|
|
2434
2434
|
this.ui.setCurrentTool(null);
|
|
2435
2435
|
continue;
|
|
2436
2436
|
}
|
|
2437
|
-
// Handle todo_write - update UI state
|
|
2438
|
-
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
|
|
2445
|
-
const
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
const activeForm = typeof t.activeForm === 'string' ? t.activeForm : undefined;
|
|
2449
|
-
const owner = typeof t.owner === 'string' ? t.owner : undefined;
|
|
2450
|
-
const blockedBy = Array.isArray(t.blockedBy)
|
|
2451
|
-
? t.blockedBy.filter((n) => typeof n === 'number')
|
|
2452
|
-
: undefined;
|
|
2453
|
-
return { content, status, activeForm, owner, blockedBy };
|
|
2437
|
+
// Handle todo_write - update UI state from todoStore
|
|
2438
|
+
// (store is already updated by the tool's execute handler, regardless of
|
|
2439
|
+
// whether the tool was called directly or via the meta-registry fallback)
|
|
2440
|
+
if (toolName === 'todo_write') {
|
|
2441
|
+
// Get todos in creation order (getAll() sorts by status which breaks
|
|
2442
|
+
// task numbering — the footer renderer handles status sorting itself)
|
|
2443
|
+
const storeTodos = todoStore.getAll()
|
|
2444
|
+
.sort((a, b) => {
|
|
2445
|
+
const aNum = parseInt(a.id.replace('todo-', ''), 10);
|
|
2446
|
+
const bNum = parseInt(b.id.replace('todo-', ''), 10);
|
|
2447
|
+
return aNum - bNum;
|
|
2454
2448
|
});
|
|
2455
|
-
|
|
2449
|
+
const allDone = storeTodos.length > 0 && storeTodos.every((t) => t.status === 'completed');
|
|
2450
|
+
if (allDone) {
|
|
2451
|
+
this.ui.setTodos([]);
|
|
2452
|
+
}
|
|
2453
|
+
else {
|
|
2454
|
+
this.ui.setTodos(storeTodos.map((t) => ({
|
|
2455
|
+
content: t.content,
|
|
2456
|
+
status: t.status,
|
|
2457
|
+
activeForm: t.activeForm,
|
|
2458
|
+
owner: t.owner,
|
|
2459
|
+
blockedBy: t.blockedBy,
|
|
2460
|
+
})));
|
|
2461
|
+
}
|
|
2456
2462
|
this.ui.setCurrentTool(null);
|
|
2457
2463
|
continue;
|
|
2458
2464
|
}
|
|
2459
2465
|
// Skip silent tools (no output needed)
|
|
2460
|
-
|
|
2466
|
+
// Check both direct registry and meta-registry for the silent flag
|
|
2467
|
+
if (this.agent?.isToolSilent(toolName) || isMetaToolSilent(toolName)) {
|
|
2461
2468
|
this.ui.setCurrentTool(null);
|
|
2462
2469
|
continue;
|
|
2463
2470
|
}
|
package/dist/tools.d.ts
CHANGED
|
@@ -19,6 +19,11 @@ import { TodoStore, type Tool } from '@compilr-dev/sdk';
|
|
|
19
19
|
export declare const todoStore: TodoStore;
|
|
20
20
|
import { setMetaToolFilter, getRegisteredMetaTools } from './tools/meta-tools.js';
|
|
21
21
|
export { setMetaToolFilter, getRegisteredMetaTools };
|
|
22
|
+
/**
|
|
23
|
+
* Check if a tool in the meta-registry is marked as silent.
|
|
24
|
+
* Used by the repl to suppress output for warm tools like todo_write/todo_read.
|
|
25
|
+
*/
|
|
26
|
+
export declare function isMetaToolSilent(name: string): boolean;
|
|
22
27
|
/**
|
|
23
28
|
* Creates the tool registry with all available tools.
|
|
24
29
|
* Returns tools as-is - the Agent.registerTools() method handles typing.
|
package/dist/tools.js
CHANGED
|
@@ -132,6 +132,15 @@ import { allDbTools, allFactoryTools } from './tools/db-tools.js';
|
|
|
132
132
|
import { initializeMetaToolRegistry, generateToolIndex, getMetaToolCount, META_TOOLS_SYSTEM_PROMPT_PREFIX, setMetaToolFilter, getRegisteredMetaTools, createMetaToolFallback, getToolInfoTool, } from './tools/meta-tools.js';
|
|
133
133
|
// Re-export for use in agent.ts
|
|
134
134
|
export { setMetaToolFilter, getRegisteredMetaTools };
|
|
135
|
+
/**
|
|
136
|
+
* Check if a tool in the meta-registry is marked as silent.
|
|
137
|
+
* Used by the repl to suppress output for warm tools like todo_write/todo_read.
|
|
138
|
+
*/
|
|
139
|
+
export function isMetaToolSilent(name) {
|
|
140
|
+
const tools = getRegisteredMetaTools();
|
|
141
|
+
const tool = tools.find((t) => t.definition.name === name);
|
|
142
|
+
return tool?.silent === true;
|
|
143
|
+
}
|
|
135
144
|
// =============================================================================
|
|
136
145
|
// DIRECT TOOLS - Always available, called by name
|
|
137
146
|
// =============================================================================
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@compilr-dev/cli",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.4",
|
|
4
4
|
"description": "AI-powered coding assistant CLI using @compilr-dev/agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -54,11 +54,11 @@
|
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
56
|
"@anthropic-ai/sdk": "^0.74.0",
|
|
57
|
-
"@compilr-dev/agents": "^0.3.
|
|
57
|
+
"@compilr-dev/agents": "^0.3.23",
|
|
58
58
|
"@compilr-dev/agents-coding": "^1.0.4",
|
|
59
59
|
"@compilr-dev/editor-core": "^0.0.2",
|
|
60
60
|
"@compilr-dev/factory": "^0.1.12",
|
|
61
|
-
"@compilr-dev/sdk": "^0.1.
|
|
61
|
+
"@compilr-dev/sdk": "^0.1.20",
|
|
62
62
|
"@compilr-dev/ui-core": "^0.0.1",
|
|
63
63
|
"@modelcontextprotocol/sdk": "^1.23.0",
|
|
64
64
|
"better-sqlite3": "^12.5.0",
|