attocode 0.1.0 → 0.1.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.
- package/CHANGELOG.md +64 -1
- package/README.md +138 -10
- package/dist/src/agent.d.ts +75 -1
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +700 -25
- package/dist/src/agent.js.map +1 -1
- 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 +135 -19
- 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/defaults.d.ts +29 -1
- package/dist/src/defaults.d.ts.map +1 -1
- package/dist/src/defaults.js +66 -0
- package/dist/src/defaults.js.map +1 -1
- 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/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/index.d.ts +12 -2
- package/dist/src/integrations/index.d.ts.map +1 -1
- package/dist/src/integrations/index.js +22 -2
- package/dist/src/integrations/index.js.map +1 -1
- package/dist/src/integrations/interactive-planning.d.ts +322 -0
- package/dist/src/integrations/interactive-planning.d.ts.map +1 -0
- package/dist/src/integrations/interactive-planning.js +655 -0
- package/dist/src/integrations/interactive-planning.js.map +1 -0
- package/dist/src/integrations/learning-store.d.ts +291 -0
- package/dist/src/integrations/learning-store.d.ts.map +1 -0
- package/dist/src/integrations/learning-store.js +640 -0
- package/dist/src/integrations/learning-store.js.map +1 -0
- package/dist/src/integrations/pending-plan.d.ts.map +1 -1
- package/dist/src/integrations/pending-plan.js +69 -10
- package/dist/src/integrations/pending-plan.js.map +1 -1
- 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/providers/circuit-breaker.d.ts +180 -0
- package/dist/src/providers/circuit-breaker.d.ts.map +1 -0
- package/dist/src/providers/circuit-breaker.js +349 -0
- package/dist/src/providers/circuit-breaker.js.map +1 -0
- package/dist/src/providers/fallback-chain.d.ts +194 -0
- package/dist/src/providers/fallback-chain.d.ts.map +1 -0
- package/dist/src/providers/fallback-chain.js +363 -0
- package/dist/src/providers/fallback-chain.js.map +1 -0
- package/dist/src/providers/llm-resilience.d.ts +126 -0
- package/dist/src/providers/llm-resilience.d.ts.map +1 -0
- package/dist/src/providers/llm-resilience.js +261 -0
- package/dist/src/providers/llm-resilience.js.map +1 -0
- package/dist/src/providers/resilient-provider.d.ts +124 -0
- package/dist/src/providers/resilient-provider.d.ts.map +1 -0
- package/dist/src/providers/resilient-provider.js +242 -0
- package/dist/src/providers/resilient-provider.js.map +1 -0
- package/dist/src/tricks/recursive-context.d.ts +296 -0
- package/dist/src/tricks/recursive-context.d.ts.map +1 -0
- package/dist/src/tricks/recursive-context.js +518 -0
- package/dist/src/tricks/recursive-context.js.map +1 -0
- package/dist/src/tui/app.d.ts.map +1 -1
- package/dist/src/tui/app.js +226 -29
- package/dist/src/tui/app.js.map +1 -1
- package/dist/src/tui/components/ApprovalDialog.d.ts.map +1 -1
- package/dist/src/tui/components/ApprovalDialog.js +1 -1
- package/dist/src/tui/components/ApprovalDialog.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 +155 -0
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Capabilities Registry
|
|
3
|
+
*
|
|
4
|
+
* Unified view of all agent capabilities: tools, skills, agents, MCP tools, and commands.
|
|
5
|
+
* Enables discovery through /powers command and semantic search.
|
|
6
|
+
*/
|
|
7
|
+
import type { ToolDefinition } from '../types.js';
|
|
8
|
+
import type { SkillManager } from './skills.js';
|
|
9
|
+
import type { AgentRegistry } from './agent-registry.js';
|
|
10
|
+
import type { MCPClient } from './mcp-client.js';
|
|
11
|
+
/**
|
|
12
|
+
* Capability types in the system.
|
|
13
|
+
*/
|
|
14
|
+
export type CapabilityType = 'tool' | 'skill' | 'agent' | 'mcp_tool' | 'command';
|
|
15
|
+
/**
|
|
16
|
+
* A capability represents any action the agent can perform.
|
|
17
|
+
*/
|
|
18
|
+
export interface Capability {
|
|
19
|
+
/** Unique identifier (e.g., "tool:read_file", "skill:review") */
|
|
20
|
+
id: string;
|
|
21
|
+
/** Display name */
|
|
22
|
+
name: string;
|
|
23
|
+
/** Type of capability */
|
|
24
|
+
type: CapabilityType;
|
|
25
|
+
/** Human-readable description */
|
|
26
|
+
description: string;
|
|
27
|
+
/** Whether this capability is currently active/available */
|
|
28
|
+
active: boolean;
|
|
29
|
+
/** Source of the capability (e.g., "built-in", "mcp:github", "skills/review.md") */
|
|
30
|
+
source: string;
|
|
31
|
+
/** Tags for discovery */
|
|
32
|
+
tags: string[];
|
|
33
|
+
/** Additional metadata */
|
|
34
|
+
metadata?: Record<string, unknown>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Search result with relevance score.
|
|
38
|
+
*/
|
|
39
|
+
export interface CapabilitySearchResult {
|
|
40
|
+
capability: Capability;
|
|
41
|
+
score: number;
|
|
42
|
+
matches: string[];
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Counts by capability type.
|
|
46
|
+
*/
|
|
47
|
+
export interface CapabilityCounts {
|
|
48
|
+
total: number;
|
|
49
|
+
active: number;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Command definition for discovery.
|
|
53
|
+
*/
|
|
54
|
+
export interface CommandDefinition {
|
|
55
|
+
name: string;
|
|
56
|
+
description: string;
|
|
57
|
+
category?: string;
|
|
58
|
+
aliases?: string[];
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Registry event types.
|
|
62
|
+
*/
|
|
63
|
+
export type CapabilitiesEvent = {
|
|
64
|
+
type: 'capability.added';
|
|
65
|
+
capability: Capability;
|
|
66
|
+
} | {
|
|
67
|
+
type: 'capability.removed';
|
|
68
|
+
id: string;
|
|
69
|
+
} | {
|
|
70
|
+
type: 'capability.updated';
|
|
71
|
+
capability: Capability;
|
|
72
|
+
} | {
|
|
73
|
+
type: 'registry.refreshed';
|
|
74
|
+
counts: Record<CapabilityType, CapabilityCounts>;
|
|
75
|
+
};
|
|
76
|
+
export type CapabilitiesEventListener = (event: CapabilitiesEvent) => void;
|
|
77
|
+
/**
|
|
78
|
+
* Unified registry for all agent capabilities.
|
|
79
|
+
*/
|
|
80
|
+
export declare class CapabilitiesRegistry {
|
|
81
|
+
private capabilities;
|
|
82
|
+
private eventListeners;
|
|
83
|
+
private toolRegistry?;
|
|
84
|
+
private skillManager?;
|
|
85
|
+
private agentRegistry?;
|
|
86
|
+
private mcpClient?;
|
|
87
|
+
/**
|
|
88
|
+
* Register the tool registry as a capability source.
|
|
89
|
+
*/
|
|
90
|
+
registerToolRegistry(registry: {
|
|
91
|
+
getTools(): ToolDefinition[];
|
|
92
|
+
}): void;
|
|
93
|
+
/**
|
|
94
|
+
* Register the skill manager as a capability source.
|
|
95
|
+
*/
|
|
96
|
+
registerSkillManager(manager: SkillManager): void;
|
|
97
|
+
/**
|
|
98
|
+
* Register the agent registry as a capability source.
|
|
99
|
+
*/
|
|
100
|
+
registerAgentRegistry(registry: AgentRegistry): void;
|
|
101
|
+
/**
|
|
102
|
+
* Register the MCP client as a capability source.
|
|
103
|
+
*/
|
|
104
|
+
registerMCPClient(client: MCPClient): void;
|
|
105
|
+
/**
|
|
106
|
+
* Refresh all capabilities from registered sources.
|
|
107
|
+
*/
|
|
108
|
+
refresh(): void;
|
|
109
|
+
private refreshTools;
|
|
110
|
+
private refreshSkills;
|
|
111
|
+
private refreshAgents;
|
|
112
|
+
private refreshMCPTools;
|
|
113
|
+
private refreshCommands;
|
|
114
|
+
/**
|
|
115
|
+
* Extract tags from description text.
|
|
116
|
+
*/
|
|
117
|
+
private extractTags;
|
|
118
|
+
/**
|
|
119
|
+
* Get all capabilities.
|
|
120
|
+
*/
|
|
121
|
+
getAll(): Capability[];
|
|
122
|
+
/**
|
|
123
|
+
* Get capabilities by type.
|
|
124
|
+
*/
|
|
125
|
+
getByType(type: CapabilityType): Capability[];
|
|
126
|
+
/**
|
|
127
|
+
* Search capabilities by query.
|
|
128
|
+
*/
|
|
129
|
+
search(query: string): CapabilitySearchResult[];
|
|
130
|
+
/**
|
|
131
|
+
* Get counts by type.
|
|
132
|
+
*/
|
|
133
|
+
getCounts(): Record<CapabilityType, CapabilityCounts>;
|
|
134
|
+
/**
|
|
135
|
+
* Get a specific capability by ID.
|
|
136
|
+
*/
|
|
137
|
+
get(id: string): Capability | undefined;
|
|
138
|
+
/**
|
|
139
|
+
* Subscribe to registry events.
|
|
140
|
+
*/
|
|
141
|
+
subscribe(listener: CapabilitiesEventListener): () => void;
|
|
142
|
+
private emit;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Create a capabilities registry.
|
|
146
|
+
*/
|
|
147
|
+
export declare function createCapabilitiesRegistry(): CapabilitiesRegistry;
|
|
148
|
+
/**
|
|
149
|
+
* Format capabilities summary for display.
|
|
150
|
+
*/
|
|
151
|
+
export declare function formatCapabilitiesSummary(counts: Record<CapabilityType, CapabilityCounts>): string;
|
|
152
|
+
/**
|
|
153
|
+
* Format capabilities list for a specific type.
|
|
154
|
+
*/
|
|
155
|
+
export declare function formatCapabilitiesList(capabilities: Capability[], type: CapabilityType): string;
|
|
156
|
+
/**
|
|
157
|
+
* Format search results for display.
|
|
158
|
+
*/
|
|
159
|
+
export declare function formatSearchResults(results: CapabilitySearchResult[], limit?: number): string;
|
|
160
|
+
//# sourceMappingURL=capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../src/integrations/capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,426 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Capabilities Registry
|
|
3
|
+
*
|
|
4
|
+
* Unified view of all agent capabilities: tools, skills, agents, MCP tools, and commands.
|
|
5
|
+
* Enables discovery through /powers command and semantic search.
|
|
6
|
+
*/
|
|
7
|
+
// =============================================================================
|
|
8
|
+
// BUILT-IN COMMANDS
|
|
9
|
+
// =============================================================================
|
|
10
|
+
const BUILT_IN_COMMANDS = [
|
|
11
|
+
// General
|
|
12
|
+
{ name: '/help', description: 'Show help and available commands', category: 'general', aliases: ['/h', '/?'] },
|
|
13
|
+
{ name: '/status', description: 'Show session stats, metrics & token usage', category: 'general' },
|
|
14
|
+
{ name: '/clear', description: 'Clear the screen', category: 'general' },
|
|
15
|
+
{ name: '/reset', description: 'Reset agent state (clears conversation)', category: 'general' },
|
|
16
|
+
{ name: '/quit', description: 'Exit attocode', category: 'general', aliases: ['/exit', '/q'] },
|
|
17
|
+
// Modes
|
|
18
|
+
{ name: '/mode', description: 'Show/change current mode (build, plan, review, debug)', category: 'modes' },
|
|
19
|
+
{ name: '/plan', description: 'Toggle plan mode (writes queued for approval)', category: 'modes' },
|
|
20
|
+
// Plan approval
|
|
21
|
+
{ name: '/show-plan', description: 'Show pending plan with proposed changes', category: 'plan' },
|
|
22
|
+
{ name: '/approve', description: 'Approve and execute pending changes', category: 'plan' },
|
|
23
|
+
{ name: '/reject', description: 'Reject and discard pending changes', category: 'plan' },
|
|
24
|
+
// Sessions
|
|
25
|
+
{ name: '/save', description: 'Save current session to disk', category: 'sessions' },
|
|
26
|
+
{ name: '/load', description: 'Load a previous session by ID', category: 'sessions' },
|
|
27
|
+
{ name: '/sessions', description: 'List all saved sessions', category: 'sessions' },
|
|
28
|
+
{ name: '/resume', description: 'Resume most recent session', category: 'sessions' },
|
|
29
|
+
// Context
|
|
30
|
+
{ name: '/context', description: 'Show context window usage', category: 'context' },
|
|
31
|
+
{ name: '/compact', description: 'Summarize & compress context', category: 'context' },
|
|
32
|
+
// Checkpoints
|
|
33
|
+
{ name: '/checkpoint', description: 'Create a named checkpoint', category: 'checkpoints', aliases: ['/cp'] },
|
|
34
|
+
{ name: '/checkpoints', description: 'List all checkpoints', category: 'checkpoints', aliases: ['/cps'] },
|
|
35
|
+
{ name: '/restore', description: 'Restore to a checkpoint', category: 'checkpoints' },
|
|
36
|
+
{ name: '/rollback', description: 'Rollback n steps', category: 'checkpoints', aliases: ['/rb'] },
|
|
37
|
+
// Subagents
|
|
38
|
+
{ name: '/agents', description: 'List available agents', category: 'subagents' },
|
|
39
|
+
{ name: '/spawn', description: 'Spawn a specific agent', category: 'subagents' },
|
|
40
|
+
{ name: '/find', description: 'Find agents by keyword', category: 'subagents' },
|
|
41
|
+
{ name: '/suggest', description: 'AI-powered agent suggestion', category: 'subagents' },
|
|
42
|
+
{ name: '/auto', description: 'Auto-route task to best agent', category: 'subagents' },
|
|
43
|
+
// MCP
|
|
44
|
+
{ name: '/mcp', description: 'Manage MCP servers and tools', category: 'mcp' },
|
|
45
|
+
// Budget
|
|
46
|
+
{ name: '/budget', description: 'Show token/cost budget', category: 'budget' },
|
|
47
|
+
{ name: '/extend', description: 'Extend budget limit', category: 'budget' },
|
|
48
|
+
// Security
|
|
49
|
+
{ name: '/grants', description: 'Show active permission grants', category: 'security' },
|
|
50
|
+
{ name: '/audit', description: 'Show security audit log', category: 'security' },
|
|
51
|
+
// Debugging
|
|
52
|
+
{ name: '/skills', description: 'List loaded skills', category: 'debugging' },
|
|
53
|
+
{ name: '/sandbox', description: 'Show sandbox modes', category: 'debugging' },
|
|
54
|
+
{ name: '/shell', description: 'Show PTY shell info', category: 'debugging' },
|
|
55
|
+
{ name: '/powers', description: 'Show all agent capabilities', category: 'debugging' },
|
|
56
|
+
];
|
|
57
|
+
// =============================================================================
|
|
58
|
+
// CAPABILITIES REGISTRY
|
|
59
|
+
// =============================================================================
|
|
60
|
+
/**
|
|
61
|
+
* Unified registry for all agent capabilities.
|
|
62
|
+
*/
|
|
63
|
+
export class CapabilitiesRegistry {
|
|
64
|
+
capabilities = new Map();
|
|
65
|
+
eventListeners = new Set();
|
|
66
|
+
// Registered sources
|
|
67
|
+
toolRegistry;
|
|
68
|
+
skillManager;
|
|
69
|
+
agentRegistry;
|
|
70
|
+
mcpClient;
|
|
71
|
+
/**
|
|
72
|
+
* Register the tool registry as a capability source.
|
|
73
|
+
*/
|
|
74
|
+
registerToolRegistry(registry) {
|
|
75
|
+
this.toolRegistry = registry;
|
|
76
|
+
this.refreshTools();
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Register the skill manager as a capability source.
|
|
80
|
+
*/
|
|
81
|
+
registerSkillManager(manager) {
|
|
82
|
+
this.skillManager = manager;
|
|
83
|
+
this.refreshSkills();
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Register the agent registry as a capability source.
|
|
87
|
+
*/
|
|
88
|
+
registerAgentRegistry(registry) {
|
|
89
|
+
this.agentRegistry = registry;
|
|
90
|
+
this.refreshAgents();
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Register the MCP client as a capability source.
|
|
94
|
+
*/
|
|
95
|
+
registerMCPClient(client) {
|
|
96
|
+
this.mcpClient = client;
|
|
97
|
+
this.refreshMCPTools();
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Refresh all capabilities from registered sources.
|
|
101
|
+
*/
|
|
102
|
+
refresh() {
|
|
103
|
+
this.refreshTools();
|
|
104
|
+
this.refreshSkills();
|
|
105
|
+
this.refreshAgents();
|
|
106
|
+
this.refreshMCPTools();
|
|
107
|
+
this.refreshCommands();
|
|
108
|
+
this.emit({ type: 'registry.refreshed', counts: this.getCounts() });
|
|
109
|
+
}
|
|
110
|
+
refreshTools() {
|
|
111
|
+
if (!this.toolRegistry)
|
|
112
|
+
return;
|
|
113
|
+
// Remove old tools
|
|
114
|
+
for (const [id, cap] of this.capabilities) {
|
|
115
|
+
if (cap.type === 'tool') {
|
|
116
|
+
this.capabilities.delete(id);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
// Add current tools
|
|
120
|
+
for (const tool of this.toolRegistry.getTools()) {
|
|
121
|
+
// Skip MCP tools (they're handled separately)
|
|
122
|
+
if (tool.name.startsWith('mcp_'))
|
|
123
|
+
continue;
|
|
124
|
+
const capability = {
|
|
125
|
+
id: `tool:${tool.name}`,
|
|
126
|
+
name: tool.name,
|
|
127
|
+
type: 'tool',
|
|
128
|
+
description: tool.description,
|
|
129
|
+
active: true,
|
|
130
|
+
source: 'built-in',
|
|
131
|
+
tags: this.extractTags(tool.description),
|
|
132
|
+
metadata: {
|
|
133
|
+
dangerLevel: tool.dangerLevel,
|
|
134
|
+
parameters: tool.parameters,
|
|
135
|
+
},
|
|
136
|
+
};
|
|
137
|
+
this.capabilities.set(capability.id, capability);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
refreshSkills() {
|
|
141
|
+
if (!this.skillManager)
|
|
142
|
+
return;
|
|
143
|
+
// Remove old skills
|
|
144
|
+
for (const [id, cap] of this.capabilities) {
|
|
145
|
+
if (cap.type === 'skill') {
|
|
146
|
+
this.capabilities.delete(id);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
// Add current skills
|
|
150
|
+
for (const skill of this.skillManager.getAllSkills()) {
|
|
151
|
+
const capability = {
|
|
152
|
+
id: `skill:${skill.name}`,
|
|
153
|
+
name: skill.name,
|
|
154
|
+
type: 'skill',
|
|
155
|
+
description: skill.description,
|
|
156
|
+
active: this.skillManager.isSkillActive(skill.name),
|
|
157
|
+
source: skill.sourcePath,
|
|
158
|
+
tags: [...(skill.tags || []), ...(skill.invokable ? ['invokable'] : [])],
|
|
159
|
+
metadata: {
|
|
160
|
+
invokable: skill.invokable,
|
|
161
|
+
arguments: skill.arguments,
|
|
162
|
+
tools: skill.tools,
|
|
163
|
+
},
|
|
164
|
+
};
|
|
165
|
+
this.capabilities.set(capability.id, capability);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
refreshAgents() {
|
|
169
|
+
if (!this.agentRegistry)
|
|
170
|
+
return;
|
|
171
|
+
// Remove old agents
|
|
172
|
+
for (const [id, cap] of this.capabilities) {
|
|
173
|
+
if (cap.type === 'agent') {
|
|
174
|
+
this.capabilities.delete(id);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
// Add current agents
|
|
178
|
+
for (const agent of this.agentRegistry.getAllAgents()) {
|
|
179
|
+
const capability = {
|
|
180
|
+
id: `agent:${agent.name}`,
|
|
181
|
+
name: agent.name,
|
|
182
|
+
type: 'agent',
|
|
183
|
+
description: agent.description,
|
|
184
|
+
active: true,
|
|
185
|
+
source: agent.source || 'built-in',
|
|
186
|
+
tags: agent.capabilities || [],
|
|
187
|
+
metadata: {
|
|
188
|
+
model: agent.model,
|
|
189
|
+
maxIterations: agent.maxIterations,
|
|
190
|
+
},
|
|
191
|
+
};
|
|
192
|
+
this.capabilities.set(capability.id, capability);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
refreshMCPTools() {
|
|
196
|
+
if (!this.mcpClient)
|
|
197
|
+
return;
|
|
198
|
+
// Remove old MCP tools
|
|
199
|
+
for (const [id, cap] of this.capabilities) {
|
|
200
|
+
if (cap.type === 'mcp_tool') {
|
|
201
|
+
this.capabilities.delete(id);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
// Add current MCP tools
|
|
205
|
+
for (const tool of this.mcpClient.getAllTools()) {
|
|
206
|
+
const capability = {
|
|
207
|
+
id: `mcp_tool:${tool.name}`,
|
|
208
|
+
name: tool.name,
|
|
209
|
+
type: 'mcp_tool',
|
|
210
|
+
description: tool.description || 'No description',
|
|
211
|
+
active: this.mcpClient.isToolLoaded(tool.name),
|
|
212
|
+
source: `mcp:${tool.name.split('_')[1] || 'unknown'}`,
|
|
213
|
+
tags: this.extractTags(tool.description || ''),
|
|
214
|
+
};
|
|
215
|
+
this.capabilities.set(capability.id, capability);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
refreshCommands() {
|
|
219
|
+
// Remove old commands
|
|
220
|
+
for (const [id, cap] of this.capabilities) {
|
|
221
|
+
if (cap.type === 'command') {
|
|
222
|
+
this.capabilities.delete(id);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
// Add built-in commands
|
|
226
|
+
for (const cmd of BUILT_IN_COMMANDS) {
|
|
227
|
+
const capability = {
|
|
228
|
+
id: `command:${cmd.name}`,
|
|
229
|
+
name: cmd.name,
|
|
230
|
+
type: 'command',
|
|
231
|
+
description: cmd.description,
|
|
232
|
+
active: true,
|
|
233
|
+
source: 'built-in',
|
|
234
|
+
tags: [cmd.category || 'general'],
|
|
235
|
+
metadata: {
|
|
236
|
+
aliases: cmd.aliases,
|
|
237
|
+
category: cmd.category,
|
|
238
|
+
},
|
|
239
|
+
};
|
|
240
|
+
this.capabilities.set(capability.id, capability);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Extract tags from description text.
|
|
245
|
+
*/
|
|
246
|
+
extractTags(text) {
|
|
247
|
+
const tags = [];
|
|
248
|
+
const keywords = ['file', 'search', 'edit', 'read', 'write', 'bash', 'git', 'code', 'test', 'debug'];
|
|
249
|
+
const lowerText = text.toLowerCase();
|
|
250
|
+
for (const keyword of keywords) {
|
|
251
|
+
if (lowerText.includes(keyword)) {
|
|
252
|
+
tags.push(keyword);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
return tags;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Get all capabilities.
|
|
259
|
+
*/
|
|
260
|
+
getAll() {
|
|
261
|
+
return Array.from(this.capabilities.values());
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Get capabilities by type.
|
|
265
|
+
*/
|
|
266
|
+
getByType(type) {
|
|
267
|
+
return this.getAll().filter(c => c.type === type);
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Search capabilities by query.
|
|
271
|
+
*/
|
|
272
|
+
search(query) {
|
|
273
|
+
const queryLower = query.toLowerCase();
|
|
274
|
+
const queryTerms = queryLower.split(/\s+/);
|
|
275
|
+
const results = [];
|
|
276
|
+
for (const capability of this.capabilities.values()) {
|
|
277
|
+
let score = 0;
|
|
278
|
+
const matches = [];
|
|
279
|
+
// Check name match
|
|
280
|
+
const nameLower = capability.name.toLowerCase();
|
|
281
|
+
if (nameLower.includes(queryLower)) {
|
|
282
|
+
score += 10;
|
|
283
|
+
matches.push('name');
|
|
284
|
+
}
|
|
285
|
+
for (const term of queryTerms) {
|
|
286
|
+
if (nameLower.includes(term)) {
|
|
287
|
+
score += 3;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
// Check description match
|
|
291
|
+
const descLower = capability.description.toLowerCase();
|
|
292
|
+
for (const term of queryTerms) {
|
|
293
|
+
if (descLower.includes(term)) {
|
|
294
|
+
score += 2;
|
|
295
|
+
if (!matches.includes('description')) {
|
|
296
|
+
matches.push('description');
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
// Check tags match
|
|
301
|
+
for (const tag of capability.tags) {
|
|
302
|
+
const tagLower = tag.toLowerCase();
|
|
303
|
+
if (tagLower.includes(queryLower) || queryLower.includes(tagLower)) {
|
|
304
|
+
score += 5;
|
|
305
|
+
matches.push(`tag:${tag}`);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
// Boost active capabilities
|
|
309
|
+
if (capability.active) {
|
|
310
|
+
score *= 1.2;
|
|
311
|
+
}
|
|
312
|
+
if (score > 0) {
|
|
313
|
+
results.push({ capability, score, matches });
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
return results.sort((a, b) => b.score - a.score);
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Get counts by type.
|
|
320
|
+
*/
|
|
321
|
+
getCounts() {
|
|
322
|
+
const counts = {
|
|
323
|
+
tool: { total: 0, active: 0 },
|
|
324
|
+
skill: { total: 0, active: 0 },
|
|
325
|
+
agent: { total: 0, active: 0 },
|
|
326
|
+
mcp_tool: { total: 0, active: 0 },
|
|
327
|
+
command: { total: 0, active: 0 },
|
|
328
|
+
};
|
|
329
|
+
for (const capability of this.capabilities.values()) {
|
|
330
|
+
counts[capability.type].total++;
|
|
331
|
+
if (capability.active) {
|
|
332
|
+
counts[capability.type].active++;
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
return counts;
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Get a specific capability by ID.
|
|
339
|
+
*/
|
|
340
|
+
get(id) {
|
|
341
|
+
return this.capabilities.get(id);
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* Subscribe to registry events.
|
|
345
|
+
*/
|
|
346
|
+
subscribe(listener) {
|
|
347
|
+
this.eventListeners.add(listener);
|
|
348
|
+
return () => this.eventListeners.delete(listener);
|
|
349
|
+
}
|
|
350
|
+
emit(event) {
|
|
351
|
+
for (const listener of this.eventListeners) {
|
|
352
|
+
try {
|
|
353
|
+
listener(event);
|
|
354
|
+
}
|
|
355
|
+
catch {
|
|
356
|
+
// Ignore listener errors
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
// =============================================================================
|
|
362
|
+
// FACTORY FUNCTIONS
|
|
363
|
+
// =============================================================================
|
|
364
|
+
/**
|
|
365
|
+
* Create a capabilities registry.
|
|
366
|
+
*/
|
|
367
|
+
export function createCapabilitiesRegistry() {
|
|
368
|
+
return new CapabilitiesRegistry();
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* Format capabilities summary for display.
|
|
372
|
+
*/
|
|
373
|
+
export function formatCapabilitiesSummary(counts) {
|
|
374
|
+
const lines = [
|
|
375
|
+
'Agent Capabilities:',
|
|
376
|
+
` Tools: ${counts.tool.active}/${counts.tool.total}`,
|
|
377
|
+
` Skills: ${counts.skill.active}/${counts.skill.total}`,
|
|
378
|
+
` Agents: ${counts.agent.active}/${counts.agent.total}`,
|
|
379
|
+
` MCP Tools: ${counts.mcp_tool.active}/${counts.mcp_tool.total}`,
|
|
380
|
+
` Commands: ${counts.command.active}/${counts.command.total}`,
|
|
381
|
+
];
|
|
382
|
+
const total = Object.values(counts).reduce((sum, c) => sum + c.total, 0);
|
|
383
|
+
const active = Object.values(counts).reduce((sum, c) => sum + c.active, 0);
|
|
384
|
+
lines.push(` Total: ${active}/${total}`);
|
|
385
|
+
return lines.join('\n');
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* Format capabilities list for a specific type.
|
|
389
|
+
*/
|
|
390
|
+
export function formatCapabilitiesList(capabilities, type) {
|
|
391
|
+
if (capabilities.length === 0) {
|
|
392
|
+
return `No ${type}s available.`;
|
|
393
|
+
}
|
|
394
|
+
const lines = [`${capitalize(type)}s (${capabilities.length}):`];
|
|
395
|
+
for (const cap of capabilities) {
|
|
396
|
+
const status = cap.active ? '+' : 'o';
|
|
397
|
+
const tags = cap.tags.length > 0 ? ` [${cap.tags.slice(0, 3).join(', ')}]` : '';
|
|
398
|
+
lines.push(` ${status} ${cap.name} - ${cap.description.slice(0, 60)}${cap.description.length > 60 ? '...' : ''}${tags}`);
|
|
399
|
+
}
|
|
400
|
+
return lines.join('\n');
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* Format search results for display.
|
|
404
|
+
*/
|
|
405
|
+
export function formatSearchResults(results, limit = 10) {
|
|
406
|
+
if (results.length === 0) {
|
|
407
|
+
return 'No matching capabilities found.';
|
|
408
|
+
}
|
|
409
|
+
const lines = [`Found ${results.length} result(s):`];
|
|
410
|
+
const shown = results.slice(0, limit);
|
|
411
|
+
for (const { capability, score, matches } of shown) {
|
|
412
|
+
const type = capability.type.replace('_', ' ');
|
|
413
|
+
const matchInfo = matches.slice(0, 2).join(', ');
|
|
414
|
+
lines.push(` [${type}] ${capability.name} (score: ${score.toFixed(1)})`);
|
|
415
|
+
lines.push(` ${capability.description.slice(0, 70)}${capability.description.length > 70 ? '...' : ''}`);
|
|
416
|
+
lines.push(` Matched: ${matchInfo}`);
|
|
417
|
+
}
|
|
418
|
+
if (results.length > limit) {
|
|
419
|
+
lines.push(` ... and ${results.length - limit} more`);
|
|
420
|
+
}
|
|
421
|
+
return lines.join('\n');
|
|
422
|
+
}
|
|
423
|
+
function capitalize(s) {
|
|
424
|
+
return s.charAt(0).toUpperCase() + s.slice(1);
|
|
425
|
+
}
|
|
426
|
+
//# sourceMappingURL=capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../src/integrations/capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
import { stableStringify, type CacheStats } from '../tricks/kv-cache-context.js';
|
|
15
15
|
import { calculateOptimalFrequency, type RecitationState } from '../tricks/recitation.js';
|
|
16
16
|
import { createReconstructionPrompt, type Reference } from '../tricks/reversible-compaction.js';
|
|
17
|
-
import { extractInsights, type Failure, type FailurePattern } from '../tricks/failure-evidence.js';
|
|
17
|
+
import { FailureTracker, extractInsights, type Failure, type FailurePattern } from '../tricks/failure-evidence.js';
|
|
18
18
|
import { type DiversityStats } from '../tricks/serialization-diversity.js';
|
|
19
19
|
/**
|
|
20
20
|
* Configuration for context engineering.
|
|
@@ -169,6 +169,11 @@ export declare class ContextEngineeringManager {
|
|
|
169
169
|
* Mark a failure as resolved.
|
|
170
170
|
*/
|
|
171
171
|
resolveFailure(failureId: string): boolean;
|
|
172
|
+
/**
|
|
173
|
+
* Get the underlying failure tracker for external integrations.
|
|
174
|
+
* Useful for connecting to LearningStore for cross-session learning.
|
|
175
|
+
*/
|
|
176
|
+
getFailureTracker(): FailureTracker | undefined;
|
|
172
177
|
/**
|
|
173
178
|
* Get current statistics.
|
|
174
179
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-engineering.d.ts","sourceRoot":"","sources":["../../../src/integrations/context-engineering.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAGL,eAAe,EAEf,KAAK,UAAU,EAChB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAGL,yBAAyB,EACzB,KAAK,eAAe,EACrB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAGL,0BAA0B,EAC1B,KAAK,SAAS,EAEf,MAAM,oCAAoC,CAAC;AAE5C,OAAO,
|
|
1
|
+
{"version":3,"file":"context-engineering.d.ts","sourceRoot":"","sources":["../../../src/integrations/context-engineering.ts"],"names":[],"mappings":"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"}
|