attocode 0.1.2 → 0.1.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/CHANGELOG.md +51 -1
- package/README.md +180 -0
- package/dist/src/agent.d.ts +78 -1
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +639 -36
- package/dist/src/agent.js.map +1 -1
- package/dist/src/analysis/feedback-loop.d.ts +115 -0
- package/dist/src/analysis/feedback-loop.d.ts.map +1 -0
- package/dist/src/analysis/feedback-loop.js +226 -0
- package/dist/src/analysis/feedback-loop.js.map +1 -0
- package/dist/src/analysis/index.d.ts +9 -0
- package/dist/src/analysis/index.d.ts.map +1 -0
- package/dist/src/analysis/index.js +9 -0
- package/dist/src/analysis/index.js.map +1 -0
- package/dist/src/analysis/prompt-templates.d.ts +36 -0
- package/dist/src/analysis/prompt-templates.d.ts.map +1 -0
- package/dist/src/analysis/prompt-templates.js +198 -0
- package/dist/src/analysis/prompt-templates.js.map +1 -0
- package/dist/src/analysis/trace-summary.d.ts +56 -0
- package/dist/src/analysis/trace-summary.d.ts.map +1 -0
- package/dist/src/analysis/trace-summary.js +261 -0
- package/dist/src/analysis/trace-summary.js.map +1 -0
- package/dist/src/commands/agents-commands.d.ts +24 -0
- package/dist/src/commands/agents-commands.d.ts.map +1 -0
- package/dist/src/commands/agents-commands.js +284 -0
- package/dist/src/commands/agents-commands.js.map +1 -0
- package/dist/src/commands/handler.d.ts.map +1 -1
- package/dist/src/commands/handler.js +329 -21
- package/dist/src/commands/handler.js.map +1 -1
- package/dist/src/commands/init-commands.d.ts +35 -0
- package/dist/src/commands/init-commands.d.ts.map +1 -0
- package/dist/src/commands/init-commands.js +187 -0
- package/dist/src/commands/init-commands.js.map +1 -0
- package/dist/src/commands/skills-commands.d.ts +26 -0
- package/dist/src/commands/skills-commands.d.ts.map +1 -0
- package/dist/src/commands/skills-commands.js +309 -0
- package/dist/src/commands/skills-commands.js.map +1 -0
- package/dist/src/commands/types.d.ts +13 -2
- package/dist/src/commands/types.d.ts.map +1 -1
- package/dist/src/config.d.ts +3 -0
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js.map +1 -1
- package/dist/src/defaults.d.ts +31 -2
- package/dist/src/defaults.d.ts.map +1 -1
- package/dist/src/defaults.js +69 -2
- package/dist/src/defaults.js.map +1 -1
- package/dist/src/errors/index.d.ts +233 -0
- package/dist/src/errors/index.d.ts.map +1 -0
- package/dist/src/errors/index.js +427 -0
- package/dist/src/errors/index.js.map +1 -0
- package/dist/src/integrations/agent-registry.d.ts +68 -2
- package/dist/src/integrations/agent-registry.d.ts.map +1 -1
- package/dist/src/integrations/agent-registry.js +230 -23
- package/dist/src/integrations/agent-registry.js.map +1 -1
- package/dist/src/integrations/auto-compaction.d.ts +33 -0
- package/dist/src/integrations/auto-compaction.d.ts.map +1 -1
- package/dist/src/integrations/auto-compaction.js +47 -3
- package/dist/src/integrations/auto-compaction.js.map +1 -1
- package/dist/src/integrations/cancellation.d.ts +5 -0
- package/dist/src/integrations/cancellation.d.ts.map +1 -1
- package/dist/src/integrations/cancellation.js +7 -0
- package/dist/src/integrations/cancellation.js.map +1 -1
- package/dist/src/integrations/capabilities.d.ts +160 -0
- package/dist/src/integrations/capabilities.d.ts.map +1 -0
- package/dist/src/integrations/capabilities.js +426 -0
- package/dist/src/integrations/capabilities.js.map +1 -0
- package/dist/src/integrations/context-engineering.d.ts +6 -1
- package/dist/src/integrations/context-engineering.d.ts.map +1 -1
- package/dist/src/integrations/context-engineering.js +7 -0
- package/dist/src/integrations/context-engineering.js.map +1 -1
- package/dist/src/integrations/dead-letter-queue.d.ts +208 -0
- package/dist/src/integrations/dead-letter-queue.d.ts.map +1 -0
- package/dist/src/integrations/dead-letter-queue.js +458 -0
- package/dist/src/integrations/dead-letter-queue.js.map +1 -0
- package/dist/src/integrations/health-check.d.ts +218 -0
- package/dist/src/integrations/health-check.d.ts.map +1 -0
- package/dist/src/integrations/health-check.js +400 -0
- package/dist/src/integrations/health-check.js.map +1 -0
- package/dist/src/integrations/index.d.ts +11 -2
- package/dist/src/integrations/index.d.ts.map +1 -1
- package/dist/src/integrations/index.js +19 -2
- package/dist/src/integrations/index.js.map +1 -1
- package/dist/src/integrations/mcp-client.d.ts +9 -0
- package/dist/src/integrations/mcp-client.d.ts.map +1 -1
- package/dist/src/integrations/mcp-client.js +49 -7
- package/dist/src/integrations/mcp-client.js.map +1 -1
- package/dist/src/integrations/openrouter-pricing.d.ts +28 -3
- package/dist/src/integrations/openrouter-pricing.d.ts.map +1 -1
- package/dist/src/integrations/openrouter-pricing.js +57 -16
- package/dist/src/integrations/openrouter-pricing.js.map +1 -1
- package/dist/src/integrations/retry.d.ts +131 -0
- package/dist/src/integrations/retry.d.ts.map +1 -0
- package/dist/src/integrations/retry.js +233 -0
- package/dist/src/integrations/retry.js.map +1 -0
- package/dist/src/integrations/skill-executor.d.ts +113 -0
- package/dist/src/integrations/skill-executor.d.ts.map +1 -0
- package/dist/src/integrations/skill-executor.js +270 -0
- package/dist/src/integrations/skill-executor.js.map +1 -0
- package/dist/src/integrations/skills.d.ts +98 -7
- package/dist/src/integrations/skills.d.ts.map +1 -1
- package/dist/src/integrations/skills.js +210 -11
- package/dist/src/integrations/skills.js.map +1 -1
- package/dist/src/integrations/sqlite-store.d.ts +42 -0
- package/dist/src/integrations/sqlite-store.d.ts.map +1 -1
- package/dist/src/integrations/sqlite-store.js +111 -0
- package/dist/src/integrations/sqlite-store.js.map +1 -1
- package/dist/src/main.js +88 -7
- package/dist/src/main.js.map +1 -1
- package/dist/src/modes/repl.d.ts.map +1 -1
- package/dist/src/modes/repl.js +37 -1
- package/dist/src/modes/repl.js.map +1 -1
- package/dist/src/modes/tui.d.ts.map +1 -1
- package/dist/src/modes/tui.js +46 -5
- package/dist/src/modes/tui.js.map +1 -1
- package/dist/src/modes.d.ts.map +1 -1
- package/dist/src/modes.js +10 -3
- package/dist/src/modes.js.map +1 -1
- package/dist/src/persistence/schema.d.ts +4 -0
- package/dist/src/persistence/schema.d.ts.map +1 -1
- package/dist/src/persistence/schema.js +49 -0
- package/dist/src/persistence/schema.js.map +1 -1
- package/dist/src/providers/adapters/anthropic.d.ts +24 -2
- package/dist/src/providers/adapters/anthropic.d.ts.map +1 -1
- package/dist/src/providers/adapters/anthropic.js +184 -0
- package/dist/src/providers/adapters/anthropic.js.map +1 -1
- package/dist/src/tools/bash.d.ts.map +1 -1
- package/dist/src/tools/bash.js +7 -4
- package/dist/src/tools/bash.js.map +1 -1
- package/dist/src/tools/file.d.ts.map +1 -1
- package/dist/src/tools/file.js +31 -10
- package/dist/src/tools/file.js.map +1 -1
- package/dist/src/tools/permission.d.ts +12 -0
- package/dist/src/tools/permission.d.ts.map +1 -1
- package/dist/src/tools/permission.js +136 -0
- package/dist/src/tools/permission.js.map +1 -1
- package/dist/src/tools/registry.d.ts +23 -1
- package/dist/src/tools/registry.d.ts.map +1 -1
- package/dist/src/tools/registry.js +77 -17
- package/dist/src/tools/registry.js.map +1 -1
- package/dist/src/tools/standard.d.ts.map +1 -1
- package/dist/src/tools/standard.js +8 -0
- package/dist/src/tools/standard.js.map +1 -1
- package/dist/src/tools/types.d.ts +20 -1
- package/dist/src/tools/types.d.ts.map +1 -1
- package/dist/src/tools/types.js.map +1 -1
- package/dist/src/tracing/trace-collector.d.ts +198 -2
- package/dist/src/tracing/trace-collector.d.ts.map +1 -1
- package/dist/src/tracing/trace-collector.js +315 -3
- package/dist/src/tracing/trace-collector.js.map +1 -1
- package/dist/src/tracing/types.d.ts +470 -2
- package/dist/src/tracing/types.d.ts.map +1 -1
- package/dist/src/tracing/types.js +25 -0
- package/dist/src/tracing/types.js.map +1 -1
- package/dist/src/tui/app.d.ts.map +1 -1
- package/dist/src/tui/app.js +292 -18
- package/dist/src/tui/app.js.map +1 -1
- package/dist/src/tui/index.d.ts +1 -0
- package/dist/src/tui/index.d.ts.map +1 -1
- package/dist/src/tui/index.js +2 -0
- package/dist/src/tui/index.js.map +1 -1
- package/dist/src/tui/transparency-aggregator.d.ts +100 -0
- package/dist/src/tui/transparency-aggregator.d.ts.map +1 -0
- package/dist/src/tui/transparency-aggregator.js +234 -0
- package/dist/src/tui/transparency-aggregator.js.map +1 -0
- package/dist/src/types.d.ts +129 -0
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +6 -3
- package/dist/src/hello.d.ts +0 -2
- package/dist/src/hello.d.ts.map +0 -1
- package/dist/src/hello.js +0 -4
- package/dist/src/hello.js.map +0 -1
- package/dist/src/test-sqlite.d.ts +0 -2
- package/dist/src/test-sqlite.d.ts.map +0 -1
- package/dist/src/test-sqlite.js +0 -114
- package/dist/src/test-sqlite.js.map +0 -1
|
@@ -23,11 +23,15 @@ export interface AgentDefinition {
|
|
|
23
23
|
capabilities?: string[];
|
|
24
24
|
tags?: string[];
|
|
25
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Agent source type for display and management.
|
|
28
|
+
*/
|
|
29
|
+
export type AgentSourceType = 'builtin' | 'user' | 'project' | 'legacy';
|
|
26
30
|
/**
|
|
27
31
|
* Loaded agent with source info.
|
|
28
32
|
*/
|
|
29
33
|
export interface LoadedAgent extends AgentDefinition {
|
|
30
|
-
source:
|
|
34
|
+
source: AgentSourceType;
|
|
31
35
|
filePath?: string;
|
|
32
36
|
loadedAt: Date;
|
|
33
37
|
}
|
|
@@ -79,6 +83,30 @@ export type RegistryEvent = {
|
|
|
79
83
|
success: boolean;
|
|
80
84
|
};
|
|
81
85
|
export type RegistryEventListener = (event: RegistryEvent) => void;
|
|
86
|
+
/**
|
|
87
|
+
* Default agent directories with priority hierarchy:
|
|
88
|
+
* built-in < ~/.attocode/ < .attocode/ (later entries override earlier)
|
|
89
|
+
*
|
|
90
|
+
* Legacy paths (.agents/) are included for backward compatibility.
|
|
91
|
+
*/
|
|
92
|
+
export declare function getDefaultAgentDirectories(): string[];
|
|
93
|
+
/**
|
|
94
|
+
* Get the directory where new agents should be created.
|
|
95
|
+
* Prefers .attocode/agents/ in the project root.
|
|
96
|
+
*/
|
|
97
|
+
export declare function getAgentCreationDirectory(): string;
|
|
98
|
+
/**
|
|
99
|
+
* Get the user-level agent directory.
|
|
100
|
+
*/
|
|
101
|
+
export declare function getUserAgentDirectory(): string;
|
|
102
|
+
/**
|
|
103
|
+
* Determine the source type of an agent based on its path.
|
|
104
|
+
*/
|
|
105
|
+
export declare function getAgentSourceType(agentPath: string): AgentSourceType;
|
|
106
|
+
/**
|
|
107
|
+
* Get a human-readable location string for an agent.
|
|
108
|
+
*/
|
|
109
|
+
export declare function getAgentLocationDisplay(agent: LoadedAgent): string;
|
|
82
110
|
/**
|
|
83
111
|
* AgentRegistry manages agent definitions and spawning.
|
|
84
112
|
*/
|
|
@@ -89,9 +117,15 @@ export declare class AgentRegistry {
|
|
|
89
117
|
private baseDir;
|
|
90
118
|
constructor(baseDir?: string);
|
|
91
119
|
/**
|
|
92
|
-
* Load user-defined agents from
|
|
120
|
+
* Load user-defined agents from all configured directories.
|
|
121
|
+
* Loads in priority order: user-level, project-level, legacy.
|
|
122
|
+
* Later entries with the same name override earlier ones.
|
|
93
123
|
*/
|
|
94
124
|
loadUserAgents(): Promise<void>;
|
|
125
|
+
/**
|
|
126
|
+
* Find an agent definition file in a directory.
|
|
127
|
+
*/
|
|
128
|
+
private findAgentFileInDir;
|
|
95
129
|
/**
|
|
96
130
|
* Load an agent from a file.
|
|
97
131
|
*/
|
|
@@ -151,10 +185,42 @@ export declare class AgentRegistry {
|
|
|
151
185
|
export declare function createAgentRegistry(baseDir?: string): Promise<AgentRegistry>;
|
|
152
186
|
/**
|
|
153
187
|
* Filter tools based on agent's tool whitelist.
|
|
188
|
+
* MCP tools (prefixed with 'mcp_') are always included to enable external integrations.
|
|
154
189
|
*/
|
|
155
190
|
export declare function filterToolsForAgent(agent: AgentDefinition, allTools: ToolDefinition[]): ToolDefinition[];
|
|
156
191
|
/**
|
|
157
192
|
* Get a formatted list of agents for display.
|
|
158
193
|
*/
|
|
159
194
|
export declare function formatAgentList(agents: LoadedAgent[]): string;
|
|
195
|
+
/**
|
|
196
|
+
* Get an agent scaffold template in YAML format.
|
|
197
|
+
*/
|
|
198
|
+
export declare function getAgentScaffold(name: string, options?: {
|
|
199
|
+
description?: string;
|
|
200
|
+
model?: 'fast' | 'balanced' | 'quality';
|
|
201
|
+
capabilities?: string[];
|
|
202
|
+
tools?: string[];
|
|
203
|
+
}): string;
|
|
204
|
+
/**
|
|
205
|
+
* Result of creating an agent scaffold.
|
|
206
|
+
*/
|
|
207
|
+
export interface AgentScaffoldResult {
|
|
208
|
+
success: boolean;
|
|
209
|
+
path?: string;
|
|
210
|
+
error?: string;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Create an agent scaffold in the .attocode/agents/ directory.
|
|
214
|
+
*/
|
|
215
|
+
export declare function createAgentScaffold(name: string, options?: {
|
|
216
|
+
description?: string;
|
|
217
|
+
model?: 'fast' | 'balanced' | 'quality';
|
|
218
|
+
capabilities?: string[];
|
|
219
|
+
tools?: string[];
|
|
220
|
+
userLevel?: boolean;
|
|
221
|
+
}): Promise<AgentScaffoldResult>;
|
|
222
|
+
/**
|
|
223
|
+
* Get statistics about loaded agents by source.
|
|
224
|
+
*/
|
|
225
|
+
export declare function getAgentStats(agents: LoadedAgent[]): Record<AgentSourceType, number>;
|
|
160
226
|
//# sourceMappingURL=agent-registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-registry.d.ts","sourceRoot":"","sources":["../../../src/integrations/agent-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"agent-registry.d.ts","sourceRoot":"","sources":["../../../src/integrations/agent-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,9 +8,14 @@
|
|
|
8
8
|
* - Hot-reload of agent definitions
|
|
9
9
|
* - NL-based agent selection
|
|
10
10
|
*/
|
|
11
|
-
import { readFile, readdir } from 'node:fs/promises';
|
|
11
|
+
import { readFile, readdir, writeFile, mkdir } from 'node:fs/promises';
|
|
12
12
|
import { existsSync } from 'node:fs';
|
|
13
|
-
import { join, extname } from 'node:path';
|
|
13
|
+
import { join, extname, dirname } from 'node:path';
|
|
14
|
+
import { homedir } from 'node:os';
|
|
15
|
+
import { fileURLToPath } from 'node:url';
|
|
16
|
+
// ES Module __dirname equivalent
|
|
17
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
18
|
+
const __dirname = dirname(__filename);
|
|
14
19
|
// =============================================================================
|
|
15
20
|
// BUILT-IN AGENTS
|
|
16
21
|
// =============================================================================
|
|
@@ -119,6 +124,76 @@ Focus on clarity and usefulness. Write for your audience.`,
|
|
|
119
124
|
},
|
|
120
125
|
];
|
|
121
126
|
// =============================================================================
|
|
127
|
+
// DEFAULT DIRECTORIES
|
|
128
|
+
// =============================================================================
|
|
129
|
+
/**
|
|
130
|
+
* Default agent directories with priority hierarchy:
|
|
131
|
+
* built-in < ~/.attocode/ < .attocode/ (later entries override earlier)
|
|
132
|
+
*
|
|
133
|
+
* Legacy paths (.agents/) are included for backward compatibility.
|
|
134
|
+
*/
|
|
135
|
+
export function getDefaultAgentDirectories() {
|
|
136
|
+
const homeDir = homedir();
|
|
137
|
+
return [
|
|
138
|
+
// User-level agents (medium priority)
|
|
139
|
+
join(homeDir, '.attocode', 'agents'),
|
|
140
|
+
// Project-level agents (highest priority)
|
|
141
|
+
join(process.cwd(), '.attocode', 'agents'),
|
|
142
|
+
// Legacy project path (backward compat)
|
|
143
|
+
join(process.cwd(), '.agents'),
|
|
144
|
+
];
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Get the directory where new agents should be created.
|
|
148
|
+
* Prefers .attocode/agents/ in the project root.
|
|
149
|
+
*/
|
|
150
|
+
export function getAgentCreationDirectory() {
|
|
151
|
+
return join(process.cwd(), '.attocode', 'agents');
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Get the user-level agent directory.
|
|
155
|
+
*/
|
|
156
|
+
export function getUserAgentDirectory() {
|
|
157
|
+
return join(homedir(), '.attocode', 'agents');
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Determine the source type of an agent based on its path.
|
|
161
|
+
*/
|
|
162
|
+
export function getAgentSourceType(agentPath) {
|
|
163
|
+
const homeDir = homedir();
|
|
164
|
+
const cwd = process.cwd();
|
|
165
|
+
// Check for project-level (.attocode/agents/)
|
|
166
|
+
if (agentPath.startsWith(join(cwd, '.attocode', 'agents'))) {
|
|
167
|
+
return 'project';
|
|
168
|
+
}
|
|
169
|
+
// Check for user-level (~/.attocode/agents/)
|
|
170
|
+
if (agentPath.startsWith(join(homeDir, '.attocode', 'agents'))) {
|
|
171
|
+
return 'user';
|
|
172
|
+
}
|
|
173
|
+
// Legacy paths (.agents/)
|
|
174
|
+
if (agentPath.includes('.agents')) {
|
|
175
|
+
return 'legacy';
|
|
176
|
+
}
|
|
177
|
+
return 'project'; // Default to project
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Get a human-readable location string for an agent.
|
|
181
|
+
*/
|
|
182
|
+
export function getAgentLocationDisplay(agent) {
|
|
183
|
+
switch (agent.source) {
|
|
184
|
+
case 'builtin':
|
|
185
|
+
return 'built-in';
|
|
186
|
+
case 'user':
|
|
187
|
+
return '~/.attocode/agents/';
|
|
188
|
+
case 'project':
|
|
189
|
+
return '.attocode/agents/';
|
|
190
|
+
case 'legacy':
|
|
191
|
+
return '.agents/ (legacy)';
|
|
192
|
+
default:
|
|
193
|
+
return agent.filePath || 'unknown';
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
// =============================================================================
|
|
122
197
|
// AGENT REGISTRY
|
|
123
198
|
// =============================================================================
|
|
124
199
|
/**
|
|
@@ -141,26 +216,59 @@ export class AgentRegistry {
|
|
|
141
216
|
}
|
|
142
217
|
}
|
|
143
218
|
/**
|
|
144
|
-
* Load user-defined agents from
|
|
219
|
+
* Load user-defined agents from all configured directories.
|
|
220
|
+
* Loads in priority order: user-level, project-level, legacy.
|
|
221
|
+
* Later entries with the same name override earlier ones.
|
|
145
222
|
*/
|
|
146
223
|
async loadUserAgents() {
|
|
147
|
-
const
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
const
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
224
|
+
const directories = getDefaultAgentDirectories();
|
|
225
|
+
for (const agentsDir of directories) {
|
|
226
|
+
if (!existsSync(agentsDir)) {
|
|
227
|
+
continue; // Directory doesn't exist, skip
|
|
228
|
+
}
|
|
229
|
+
try {
|
|
230
|
+
const files = await readdir(agentsDir);
|
|
231
|
+
for (const file of files) {
|
|
232
|
+
const ext = extname(file).toLowerCase();
|
|
233
|
+
if (!['.json', '.yaml', '.yml'].includes(ext))
|
|
234
|
+
continue;
|
|
235
|
+
const filePath = join(agentsDir, file);
|
|
236
|
+
await this.loadAgentFile(filePath);
|
|
237
|
+
}
|
|
238
|
+
// Also check for subdirectories with AGENT.yaml
|
|
239
|
+
for (const file of files) {
|
|
240
|
+
const fullPath = join(agentsDir, file);
|
|
241
|
+
try {
|
|
242
|
+
const stat = await import('node:fs/promises').then(m => m.stat(fullPath));
|
|
243
|
+
if (stat.isDirectory()) {
|
|
244
|
+
const agentFile = await this.findAgentFileInDir(fullPath);
|
|
245
|
+
if (agentFile) {
|
|
246
|
+
await this.loadAgentFile(agentFile);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
catch {
|
|
251
|
+
// Not a directory or can't stat
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
catch (err) {
|
|
256
|
+
// Directory read failed, continue to next
|
|
159
257
|
}
|
|
160
258
|
}
|
|
161
|
-
|
|
162
|
-
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Find an agent definition file in a directory.
|
|
262
|
+
*/
|
|
263
|
+
async findAgentFileInDir(dir) {
|
|
264
|
+
const possibleFiles = ['AGENT.yaml', 'AGENT.yml', 'agent.yaml', 'agent.yml', 'agent.json'];
|
|
265
|
+
for (const filename of possibleFiles) {
|
|
266
|
+
const filePath = join(dir, filename);
|
|
267
|
+
if (existsSync(filePath)) {
|
|
268
|
+
return filePath;
|
|
269
|
+
}
|
|
163
270
|
}
|
|
271
|
+
return null;
|
|
164
272
|
}
|
|
165
273
|
/**
|
|
166
274
|
* Load an agent from a file.
|
|
@@ -184,10 +292,12 @@ export class AgentRegistry {
|
|
|
184
292
|
if (!definition.name || !definition.description || !definition.systemPrompt) {
|
|
185
293
|
throw new Error('Missing required fields: name, description, systemPrompt');
|
|
186
294
|
}
|
|
295
|
+
// Determine source type from path
|
|
296
|
+
const sourceType = getAgentSourceType(filePath);
|
|
187
297
|
// Store as loaded agent
|
|
188
298
|
const loaded = {
|
|
189
299
|
...definition,
|
|
190
|
-
source:
|
|
300
|
+
source: sourceType,
|
|
191
301
|
filePath,
|
|
192
302
|
loadedAt: new Date(),
|
|
193
303
|
};
|
|
@@ -415,12 +525,13 @@ export async function createAgentRegistry(baseDir) {
|
|
|
415
525
|
// =============================================================================
|
|
416
526
|
/**
|
|
417
527
|
* Filter tools based on agent's tool whitelist.
|
|
528
|
+
* MCP tools (prefixed with 'mcp_') are always included to enable external integrations.
|
|
418
529
|
*/
|
|
419
530
|
export function filterToolsForAgent(agent, allTools) {
|
|
420
531
|
if (!agent.tools || agent.tools.length === 0) {
|
|
421
532
|
return allTools; // No whitelist = all tools
|
|
422
533
|
}
|
|
423
|
-
return allTools.filter(t => agent.tools.includes(t.name));
|
|
534
|
+
return allTools.filter(t => agent.tools.includes(t.name) || t.name.startsWith('mcp_'));
|
|
424
535
|
}
|
|
425
536
|
/**
|
|
426
537
|
* Get a formatted list of agents for display.
|
|
@@ -428,19 +539,115 @@ export function filterToolsForAgent(agent, allTools) {
|
|
|
428
539
|
export function formatAgentList(agents) {
|
|
429
540
|
const lines = [];
|
|
430
541
|
const builtIn = agents.filter(a => a.source === 'builtin');
|
|
431
|
-
const
|
|
542
|
+
const userOrProject = agents.filter(a => a.source === 'user' || a.source === 'project');
|
|
543
|
+
const legacy = agents.filter(a => a.source === 'legacy');
|
|
432
544
|
if (builtIn.length > 0) {
|
|
433
545
|
lines.push('Built-in Agents:');
|
|
434
546
|
for (const agent of builtIn) {
|
|
435
547
|
lines.push(` ${agent.name} - ${agent.description.split('.')[0]}`);
|
|
436
548
|
}
|
|
437
549
|
}
|
|
438
|
-
if (
|
|
439
|
-
lines.push('\
|
|
440
|
-
for (const agent of
|
|
550
|
+
if (userOrProject.length > 0) {
|
|
551
|
+
lines.push('\nCustom Agents:');
|
|
552
|
+
for (const agent of userOrProject) {
|
|
553
|
+
const location = getAgentLocationDisplay(agent);
|
|
554
|
+
lines.push(` ${agent.name} - ${agent.description.split('.')[0]} (${location})`);
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
if (legacy.length > 0) {
|
|
558
|
+
lines.push('\nLegacy Agents (.agents/):');
|
|
559
|
+
for (const agent of legacy) {
|
|
441
560
|
lines.push(` ${agent.name} - ${agent.description.split('.')[0]}`);
|
|
442
561
|
}
|
|
443
562
|
}
|
|
444
563
|
return lines.join('\n');
|
|
445
564
|
}
|
|
565
|
+
/**
|
|
566
|
+
* Get an agent scaffold template in YAML format.
|
|
567
|
+
*/
|
|
568
|
+
export function getAgentScaffold(name, options = {}) {
|
|
569
|
+
const { description = '[Add description here]', model = 'balanced', capabilities = [], tools = [], } = options;
|
|
570
|
+
return `name: ${name}
|
|
571
|
+
description: ${description}
|
|
572
|
+
model: ${model}
|
|
573
|
+
maxIterations: 30
|
|
574
|
+
maxTokenBudget: 80000
|
|
575
|
+
|
|
576
|
+
capabilities:
|
|
577
|
+
${capabilities.length > 0 ? capabilities.map(c => ` - ${c}`).join('\n') : ' - # Add capabilities for NL matching'}
|
|
578
|
+
|
|
579
|
+
tools:
|
|
580
|
+
${tools.length > 0 ? tools.map(t => ` - ${t}`).join('\n') : ' - read_file\n - list_files\n - glob\n - grep'}
|
|
581
|
+
|
|
582
|
+
systemPrompt: |
|
|
583
|
+
You are ${name}. Your job is to:
|
|
584
|
+
- [Add primary responsibilities]
|
|
585
|
+
- [Add secondary tasks]
|
|
586
|
+
|
|
587
|
+
Guidelines:
|
|
588
|
+
- Be thorough but concise
|
|
589
|
+
- Focus on the user's specific needs
|
|
590
|
+
- Ask clarifying questions when needed
|
|
591
|
+
|
|
592
|
+
tags:
|
|
593
|
+
- ${name}
|
|
594
|
+
`;
|
|
595
|
+
}
|
|
596
|
+
/**
|
|
597
|
+
* Create an agent scaffold in the .attocode/agents/ directory.
|
|
598
|
+
*/
|
|
599
|
+
export async function createAgentScaffold(name, options = {}) {
|
|
600
|
+
try {
|
|
601
|
+
// Validate name
|
|
602
|
+
if (!/^[a-z][a-z0-9-]*$/.test(name)) {
|
|
603
|
+
return {
|
|
604
|
+
success: false,
|
|
605
|
+
error: 'Agent name must start with a letter and contain only lowercase letters, numbers, and hyphens',
|
|
606
|
+
};
|
|
607
|
+
}
|
|
608
|
+
// Determine target directory
|
|
609
|
+
const baseDir = options.userLevel
|
|
610
|
+
? getUserAgentDirectory()
|
|
611
|
+
: getAgentCreationDirectory();
|
|
612
|
+
const agentDir = join(baseDir, name);
|
|
613
|
+
const agentPath = join(agentDir, 'AGENT.yaml');
|
|
614
|
+
// Check if agent already exists
|
|
615
|
+
if (existsSync(agentPath)) {
|
|
616
|
+
return {
|
|
617
|
+
success: false,
|
|
618
|
+
error: `Agent "${name}" already exists at ${agentPath}`,
|
|
619
|
+
};
|
|
620
|
+
}
|
|
621
|
+
// Create directory structure
|
|
622
|
+
await mkdir(agentDir, { recursive: true });
|
|
623
|
+
// Write agent file
|
|
624
|
+
const content = getAgentScaffold(name, options);
|
|
625
|
+
await writeFile(agentPath, content, 'utf-8');
|
|
626
|
+
return {
|
|
627
|
+
success: true,
|
|
628
|
+
path: agentPath,
|
|
629
|
+
};
|
|
630
|
+
}
|
|
631
|
+
catch (error) {
|
|
632
|
+
return {
|
|
633
|
+
success: false,
|
|
634
|
+
error: error instanceof Error ? error.message : String(error),
|
|
635
|
+
};
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
/**
|
|
639
|
+
* Get statistics about loaded agents by source.
|
|
640
|
+
*/
|
|
641
|
+
export function getAgentStats(agents) {
|
|
642
|
+
const stats = {
|
|
643
|
+
builtin: 0,
|
|
644
|
+
user: 0,
|
|
645
|
+
project: 0,
|
|
646
|
+
legacy: 0,
|
|
647
|
+
};
|
|
648
|
+
for (const agent of agents) {
|
|
649
|
+
stats[agent.source]++;
|
|
650
|
+
}
|
|
651
|
+
return stats;
|
|
652
|
+
}
|
|
446
653
|
//# sourceMappingURL=agent-registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-registry.js","sourceRoot":"","sources":["../../../src/integrations/agent-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-registry.js","sourceRoot":"","sources":["../../../src/integrations/agent-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,27 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import type { Message } from '../types.js';
|
|
11
11
|
import type { Compactor } from './compaction.js';
|
|
12
|
+
import type { Reference } from '../tricks/reversible-compaction.js';
|
|
13
|
+
/**
|
|
14
|
+
* Result from a custom compaction handler (supports reversible compaction).
|
|
15
|
+
*/
|
|
16
|
+
export interface CustomCompactionResult {
|
|
17
|
+
/** The summarized content */
|
|
18
|
+
summary: string;
|
|
19
|
+
/** Token count before compaction */
|
|
20
|
+
tokensBefore: number;
|
|
21
|
+
/** Token count after compaction */
|
|
22
|
+
tokensAfter: number;
|
|
23
|
+
/** Messages to preserve in context */
|
|
24
|
+
preservedMessages: Message[];
|
|
25
|
+
/** Preserved references for retrieval (from reversible compaction) */
|
|
26
|
+
references?: Reference[];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Custom compaction handler function type.
|
|
30
|
+
* Allows integration with reversible compaction or other compaction strategies.
|
|
31
|
+
*/
|
|
32
|
+
export type CompactHandler = (messages: Message[]) => Promise<CustomCompactionResult>;
|
|
12
33
|
/**
|
|
13
34
|
* Configuration for automatic compaction behavior.
|
|
14
35
|
*/
|
|
@@ -29,6 +50,8 @@ export interface AutoCompactionConfig {
|
|
|
29
50
|
cooldownMs: number;
|
|
30
51
|
/** Max context window tokens (default: 200000 for Claude) */
|
|
31
52
|
maxContextTokens: number;
|
|
53
|
+
/** Optional custom compaction handler (e.g., for reversible compaction with reference preservation) */
|
|
54
|
+
compactHandler?: CompactHandler;
|
|
32
55
|
}
|
|
33
56
|
/**
|
|
34
57
|
* Result of checking token usage and potentially compacting.
|
|
@@ -46,6 +69,8 @@ export interface CompactionCheckResult {
|
|
|
46
69
|
compactedMessages?: Message[];
|
|
47
70
|
/** Summary generated during compaction */
|
|
48
71
|
summary?: string;
|
|
72
|
+
/** Preserved references from reversible compaction (for later retrieval) */
|
|
73
|
+
references?: Reference[];
|
|
49
74
|
}
|
|
50
75
|
/**
|
|
51
76
|
* Events emitted by AutoCompactionManager.
|
|
@@ -152,6 +177,14 @@ export declare class AutoCompactionManager {
|
|
|
152
177
|
* Perform the actual compaction.
|
|
153
178
|
*/
|
|
154
179
|
private performCompaction;
|
|
180
|
+
/**
|
|
181
|
+
* Perform compaction using custom handler (supports reversible compaction with references).
|
|
182
|
+
*/
|
|
183
|
+
private performCustomCompaction;
|
|
184
|
+
/**
|
|
185
|
+
* Perform compaction using default compactor.
|
|
186
|
+
*/
|
|
187
|
+
private performDefaultCompaction;
|
|
155
188
|
/**
|
|
156
189
|
* Emergency truncation fallback when LLM-based compaction fails.
|
|
157
190
|
* Simply keeps system message and last N messages without summarization.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-compaction.d.ts","sourceRoot":"","sources":["../../../src/integrations/auto-compaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"auto-compaction.d.ts","sourceRoot":"","sources":["../../../src/integrations/auto-compaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -248,15 +248,59 @@ export class AutoCompactionManager {
|
|
|
248
248
|
/**
|
|
249
249
|
* Perform the actual compaction.
|
|
250
250
|
*/
|
|
251
|
-
async performCompaction(messages, currentTokens, maxTokens,
|
|
251
|
+
async performCompaction(messages, currentTokens, maxTokens, _ratio) {
|
|
252
252
|
this.emit({
|
|
253
253
|
type: 'autocompaction.triggered',
|
|
254
254
|
mode: this.config.mode,
|
|
255
255
|
currentTokens,
|
|
256
256
|
});
|
|
257
|
+
// Use custom compaction handler if provided (e.g., for reversible compaction)
|
|
258
|
+
if (this.config.compactHandler) {
|
|
259
|
+
return this.performCustomCompaction(messages, maxTokens);
|
|
260
|
+
}
|
|
261
|
+
// Otherwise use the default compactor
|
|
262
|
+
return this.performDefaultCompaction(messages, maxTokens);
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Perform compaction using custom handler (supports reversible compaction with references).
|
|
266
|
+
*/
|
|
267
|
+
async performCustomCompaction(messages, maxTokens) {
|
|
268
|
+
const totalPreserve = this.config.preserveRecentUserMessages + this.config.preserveRecentAssistantMessages;
|
|
269
|
+
try {
|
|
270
|
+
const result = await this.config.compactHandler(messages);
|
|
271
|
+
// Update cooldown
|
|
272
|
+
this.lastCompactionTime = Date.now();
|
|
273
|
+
const reduction = result.tokensBefore > 0
|
|
274
|
+
? Math.round((1 - result.tokensAfter / result.tokensBefore) * 100)
|
|
275
|
+
: 0;
|
|
276
|
+
this.emit({
|
|
277
|
+
type: 'autocompaction.completed',
|
|
278
|
+
tokensBefore: result.tokensBefore,
|
|
279
|
+
tokensAfter: result.tokensAfter,
|
|
280
|
+
reduction,
|
|
281
|
+
});
|
|
282
|
+
return {
|
|
283
|
+
status: 'compacted',
|
|
284
|
+
currentTokens: result.tokensAfter,
|
|
285
|
+
maxTokens,
|
|
286
|
+
ratio: result.tokensAfter / maxTokens,
|
|
287
|
+
compactedMessages: result.preservedMessages,
|
|
288
|
+
summary: result.summary,
|
|
289
|
+
references: result.references, // Preserve references from reversible compaction
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
catch (compactionError) {
|
|
293
|
+
console.error('[AutoCompaction] Custom compaction failed, using emergency truncation:', compactionError);
|
|
294
|
+
const emergencyResult = this.emergencyTruncate(messages, totalPreserve);
|
|
295
|
+
this.lastCompactionTime = Date.now();
|
|
296
|
+
return emergencyResult;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Perform compaction using default compactor.
|
|
301
|
+
*/
|
|
302
|
+
async performDefaultCompaction(messages, maxTokens) {
|
|
257
303
|
// Configure compactor to preserve the specified number of messages
|
|
258
|
-
// The compactor already handles preserving recent messages, but we can
|
|
259
|
-
// update its config if needed based on our preservation settings
|
|
260
304
|
const totalPreserve = this.config.preserveRecentUserMessages + this.config.preserveRecentAssistantMessages;
|
|
261
305
|
const currentCompactorConfig = this.compactor.getConfig();
|
|
262
306
|
// Temporarily adjust if our preserve count differs
|