@blackms/aistack 1.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.
- package/README.md +244 -0
- package/dist/agents/definitions/analyst.d.ts +6 -0
- package/dist/agents/definitions/analyst.d.ts.map +1 -0
- package/dist/agents/definitions/analyst.js +53 -0
- package/dist/agents/definitions/analyst.js.map +1 -0
- package/dist/agents/definitions/architect.d.ts +6 -0
- package/dist/agents/definitions/architect.d.ts.map +1 -0
- package/dist/agents/definitions/architect.js +46 -0
- package/dist/agents/definitions/architect.js.map +1 -0
- package/dist/agents/definitions/coder.d.ts +6 -0
- package/dist/agents/definitions/coder.d.ts.map +1 -0
- package/dist/agents/definitions/coder.js +39 -0
- package/dist/agents/definitions/coder.js.map +1 -0
- package/dist/agents/definitions/coordinator.d.ts +6 -0
- package/dist/agents/definitions/coordinator.d.ts.map +1 -0
- package/dist/agents/definitions/coordinator.js +54 -0
- package/dist/agents/definitions/coordinator.js.map +1 -0
- package/dist/agents/definitions/index.d.ts +11 -0
- package/dist/agents/definitions/index.d.ts.map +1 -0
- package/dist/agents/definitions/index.js +11 -0
- package/dist/agents/definitions/index.js.map +1 -0
- package/dist/agents/definitions/researcher.d.ts +6 -0
- package/dist/agents/definitions/researcher.d.ts.map +1 -0
- package/dist/agents/definitions/researcher.js +39 -0
- package/dist/agents/definitions/researcher.js.map +1 -0
- package/dist/agents/definitions/reviewer.d.ts +6 -0
- package/dist/agents/definitions/reviewer.d.ts.map +1 -0
- package/dist/agents/definitions/reviewer.js +46 -0
- package/dist/agents/definitions/reviewer.js.map +1 -0
- package/dist/agents/definitions/tester.d.ts +6 -0
- package/dist/agents/definitions/tester.d.ts.map +1 -0
- package/dist/agents/definitions/tester.js +44 -0
- package/dist/agents/definitions/tester.js.map +1 -0
- package/dist/agents/index.d.ts +7 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +7 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/registry.d.ts +41 -0
- package/dist/agents/registry.d.ts.map +1 -0
- package/dist/agents/registry.js +107 -0
- package/dist/agents/registry.js.map +1 -0
- package/dist/agents/spawner.d.ts +62 -0
- package/dist/agents/spawner.d.ts.map +1 -0
- package/dist/agents/spawner.js +169 -0
- package/dist/agents/spawner.js.map +1 -0
- package/dist/cli/commands/agent.d.ts +6 -0
- package/dist/cli/commands/agent.d.ts.map +1 -0
- package/dist/cli/commands/agent.js +144 -0
- package/dist/cli/commands/agent.js.map +1 -0
- package/dist/cli/commands/index.d.ts +10 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/index.js +10 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/init.d.ts +6 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +50 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/mcp.d.ts +6 -0
- package/dist/cli/commands/mcp.d.ts.map +1 -0
- package/dist/cli/commands/mcp.js +82 -0
- package/dist/cli/commands/mcp.js.map +1 -0
- package/dist/cli/commands/memory.d.ts +6 -0
- package/dist/cli/commands/memory.d.ts.map +1 -0
- package/dist/cli/commands/memory.js +157 -0
- package/dist/cli/commands/memory.js.map +1 -0
- package/dist/cli/commands/plugin.d.ts +6 -0
- package/dist/cli/commands/plugin.d.ts.map +1 -0
- package/dist/cli/commands/plugin.js +146 -0
- package/dist/cli/commands/plugin.js.map +1 -0
- package/dist/cli/commands/status.d.ts +6 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +115 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/index.d.ts +6 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +41 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/coordination/index.d.ts +7 -0
- package/dist/coordination/index.d.ts.map +1 -0
- package/dist/coordination/index.js +7 -0
- package/dist/coordination/index.js.map +1 -0
- package/dist/coordination/message-bus.d.ts +64 -0
- package/dist/coordination/message-bus.d.ts.map +1 -0
- package/dist/coordination/message-bus.js +148 -0
- package/dist/coordination/message-bus.js.map +1 -0
- package/dist/coordination/task-queue.d.ts +71 -0
- package/dist/coordination/task-queue.d.ts.map +1 -0
- package/dist/coordination/task-queue.js +140 -0
- package/dist/coordination/task-queue.js.map +1 -0
- package/dist/coordination/topology.d.ts +68 -0
- package/dist/coordination/topology.d.ts.map +1 -0
- package/dist/coordination/topology.js +195 -0
- package/dist/coordination/topology.js.map +1 -0
- package/dist/github/client.d.ts +56 -0
- package/dist/github/client.d.ts.map +1 -0
- package/dist/github/client.js +179 -0
- package/dist/github/client.js.map +1 -0
- package/dist/github/index.d.ts +5 -0
- package/dist/github/index.d.ts.map +1 -0
- package/dist/github/index.js +5 -0
- package/dist/github/index.js.map +1 -0
- package/dist/hooks/index.d.ts +29 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +112 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/session.d.ts +16 -0
- package/dist/hooks/session.d.ts.map +1 -0
- package/dist/hooks/session.js +60 -0
- package/dist/hooks/session.js.map +1 -0
- package/dist/hooks/task.d.ts +16 -0
- package/dist/hooks/task.d.ts.map +1 -0
- package/dist/hooks/task.js +82 -0
- package/dist/hooks/task.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/index.d.ts +6 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +6 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/server.d.ts +22 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +128 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools/agent-tools.d.ts +174 -0
- package/dist/mcp/tools/agent-tools.d.ts.map +1 -0
- package/dist/mcp/tools/agent-tools.js +214 -0
- package/dist/mcp/tools/agent-tools.js.map +1 -0
- package/dist/mcp/tools/github-tools.d.ts +229 -0
- package/dist/mcp/tools/github-tools.d.ts.map +1 -0
- package/dist/mcp/tools/github-tools.js +286 -0
- package/dist/mcp/tools/github-tools.js.map +1 -0
- package/dist/mcp/tools/index.d.ts +10 -0
- package/dist/mcp/tools/index.d.ts.map +1 -0
- package/dist/mcp/tools/index.js +10 -0
- package/dist/mcp/tools/index.js.map +1 -0
- package/dist/mcp/tools/memory-tools.d.ts +190 -0
- package/dist/mcp/tools/memory-tools.d.ts.map +1 -0
- package/dist/mcp/tools/memory-tools.js +207 -0
- package/dist/mcp/tools/memory-tools.js.map +1 -0
- package/dist/mcp/tools/session-tools.d.ts +116 -0
- package/dist/mcp/tools/session-tools.d.ts.map +1 -0
- package/dist/mcp/tools/session-tools.js +151 -0
- package/dist/mcp/tools/session-tools.js.map +1 -0
- package/dist/mcp/tools/system-tools.d.ts +98 -0
- package/dist/mcp/tools/system-tools.d.ts.map +1 -0
- package/dist/mcp/tools/system-tools.js +165 -0
- package/dist/mcp/tools/system-tools.js.map +1 -0
- package/dist/mcp/tools/task-tools.d.ts +170 -0
- package/dist/mcp/tools/task-tools.d.ts.map +1 -0
- package/dist/mcp/tools/task-tools.js +188 -0
- package/dist/mcp/tools/task-tools.js.map +1 -0
- package/dist/memory/fts-search.d.ts +46 -0
- package/dist/memory/fts-search.d.ts.map +1 -0
- package/dist/memory/fts-search.js +136 -0
- package/dist/memory/fts-search.js.map +1 -0
- package/dist/memory/index.d.ts +77 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +203 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/sqlite-store.d.ts +36 -0
- package/dist/memory/sqlite-store.d.ts.map +1 -0
- package/dist/memory/sqlite-store.js +371 -0
- package/dist/memory/sqlite-store.js.map +1 -0
- package/dist/memory/vector-search.d.ts +43 -0
- package/dist/memory/vector-search.d.ts.map +1 -0
- package/dist/memory/vector-search.js +179 -0
- package/dist/memory/vector-search.js.map +1 -0
- package/dist/plugins/index.d.ts +7 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +7 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/loader.d.ts +33 -0
- package/dist/plugins/loader.d.ts.map +1 -0
- package/dist/plugins/loader.js +147 -0
- package/dist/plugins/loader.js.map +1 -0
- package/dist/plugins/registry.d.ts +48 -0
- package/dist/plugins/registry.d.ts.map +1 -0
- package/dist/plugins/registry.js +72 -0
- package/dist/plugins/registry.js.map +1 -0
- package/dist/plugins/types.d.ts +5 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/plugins/types.js +5 -0
- package/dist/plugins/types.js.map +1 -0
- package/dist/providers/index.d.ts +49 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +254 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/types.d.ts +189 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +10 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/config.d.ts +32 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +194 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/embeddings.d.ts +23 -0
- package/dist/utils/embeddings.d.ts.map +1 -0
- package/dist/utils/embeddings.js +151 -0
- package/dist/utils/embeddings.js.map +1 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +8 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +24 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +96 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/validation.d.ts +264 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +144 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +84 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tester agent definition
|
|
3
|
+
*/
|
|
4
|
+
export const testerAgent = {
|
|
5
|
+
type: 'tester',
|
|
6
|
+
name: 'Tester',
|
|
7
|
+
description: 'Write and run tests to ensure code quality',
|
|
8
|
+
systemPrompt: `You are an expert in software testing focused on ensuring code quality.
|
|
9
|
+
|
|
10
|
+
## Core Principles
|
|
11
|
+
- Test behavior, not implementation details
|
|
12
|
+
- Write tests that are easy to understand and maintain
|
|
13
|
+
- Focus on edge cases and error conditions
|
|
14
|
+
- Tests should be fast and reliable
|
|
15
|
+
|
|
16
|
+
## Approach
|
|
17
|
+
1. Understand what functionality needs testing
|
|
18
|
+
2. Identify the testing framework in use
|
|
19
|
+
3. Write clear, focused test cases
|
|
20
|
+
4. Cover happy path and error scenarios
|
|
21
|
+
5. Run tests and verify they pass
|
|
22
|
+
|
|
23
|
+
## Guidelines
|
|
24
|
+
- Follow the existing test patterns in the codebase
|
|
25
|
+
- Use descriptive test names that explain the scenario
|
|
26
|
+
- Keep tests independent - no shared state
|
|
27
|
+
- Mock external dependencies appropriately
|
|
28
|
+
- Aim for meaningful coverage, not 100% coverage
|
|
29
|
+
|
|
30
|
+
## Test Structure
|
|
31
|
+
- Arrange: Set up test data and preconditions
|
|
32
|
+
- Act: Execute the code being tested
|
|
33
|
+
- Assert: Verify the expected outcome
|
|
34
|
+
|
|
35
|
+
When writing tests, focus on what matters most: does the code work correctly under normal and edge conditions?`,
|
|
36
|
+
capabilities: [
|
|
37
|
+
'write-tests',
|
|
38
|
+
'run-tests',
|
|
39
|
+
'identify-edge-cases',
|
|
40
|
+
'coverage-analysis',
|
|
41
|
+
'test-debugging',
|
|
42
|
+
],
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=tester.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tester.js","sourceRoot":"","sources":["../../../src/agents/definitions/tester.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,MAAM,WAAW,GAAoB;IAC1C,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,4CAA4C;IACzD,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;+GA2B+F;IAC7G,YAAY,EAAE;QACZ,aAAa;QACb,WAAW;QACX,qBAAqB;QACrB,mBAAmB;QACnB,gBAAgB;KACjB;CACF,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agents module exports
|
|
3
|
+
*/
|
|
4
|
+
export { getAgentDefinition, listAgentTypes, listAgentDefinitions, registerAgent, unregisterAgent, hasAgentType, getAgentCount as getRegisteredAgentCount, clearCustomAgents, } from './registry.js';
|
|
5
|
+
export { spawnAgent, getAgent, getAgentByName, listAgents, updateAgentStatus, stopAgent, stopAgentByName, stopAllAgents, getAgentCount as getActiveAgentCount, getAgentsByStatus, clearAgents, getAgentPrompt, getAgentCapabilities, type SpawnOptions, } from './spawner.js';
|
|
6
|
+
export * from './definitions/index.js';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,aAAa,IAAI,uBAAuB,EACxC,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,UAAU,EACV,QAAQ,EACR,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,SAAS,EACT,eAAe,EACf,aAAa,EACb,aAAa,IAAI,mBAAmB,EACpC,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC;AAEtB,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agents module exports
|
|
3
|
+
*/
|
|
4
|
+
export { getAgentDefinition, listAgentTypes, listAgentDefinitions, registerAgent, unregisterAgent, hasAgentType, getAgentCount as getRegisteredAgentCount, clearCustomAgents, } from './registry.js';
|
|
5
|
+
export { spawnAgent, getAgent, getAgentByName, listAgents, updateAgentStatus, stopAgent, stopAgentByName, stopAllAgents, getAgentCount as getActiveAgentCount, getAgentsByStatus, clearAgents, getAgentPrompt, getAgentCapabilities, } from './spawner.js';
|
|
6
|
+
export * from './definitions/index.js';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,aAAa,IAAI,uBAAuB,EACxC,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,UAAU,EACV,QAAQ,EACR,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,SAAS,EACT,eAAe,EACf,aAAa,EACb,aAAa,IAAI,mBAAmB,EACpC,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,oBAAoB,GAErB,MAAM,cAAc,CAAC;AAEtB,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent type registry - manages core and custom agent definitions
|
|
3
|
+
*/
|
|
4
|
+
import type { AgentDefinition } from '../types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Get an agent definition by type
|
|
7
|
+
*/
|
|
8
|
+
export declare function getAgentDefinition(type: string): AgentDefinition | null;
|
|
9
|
+
/**
|
|
10
|
+
* List all available agent types
|
|
11
|
+
*/
|
|
12
|
+
export declare function listAgentTypes(): string[];
|
|
13
|
+
/**
|
|
14
|
+
* List all agent definitions
|
|
15
|
+
*/
|
|
16
|
+
export declare function listAgentDefinitions(): AgentDefinition[];
|
|
17
|
+
/**
|
|
18
|
+
* Register a custom agent type from a plugin
|
|
19
|
+
*/
|
|
20
|
+
export declare function registerAgent(definition: AgentDefinition): void;
|
|
21
|
+
/**
|
|
22
|
+
* Unregister a custom agent type
|
|
23
|
+
*/
|
|
24
|
+
export declare function unregisterAgent(type: string): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Check if an agent type exists
|
|
27
|
+
*/
|
|
28
|
+
export declare function hasAgentType(type: string): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Get the count of registered agents
|
|
31
|
+
*/
|
|
32
|
+
export declare function getAgentCount(): {
|
|
33
|
+
core: number;
|
|
34
|
+
custom: number;
|
|
35
|
+
total: number;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Clear all custom agents (used for testing)
|
|
39
|
+
*/
|
|
40
|
+
export declare function clearCustomAgents(): void;
|
|
41
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/agents/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAa,MAAM,aAAa,CAAC;AA4B9D;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CASvE;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAYzC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,eAAe,EAAE,CAYxD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAY/D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAWrD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAM/E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent type registry - manages core and custom agent definitions
|
|
3
|
+
*/
|
|
4
|
+
import { coderAgent, researcherAgent, testerAgent, reviewerAgent, architectAgent, coordinatorAgent, analystAgent, } from './definitions/index.js';
|
|
5
|
+
import { logger } from '../utils/logger.js';
|
|
6
|
+
const log = logger.child('registry');
|
|
7
|
+
// Core agent types
|
|
8
|
+
const CORE_AGENTS = new Map([
|
|
9
|
+
['coder', coderAgent],
|
|
10
|
+
['researcher', researcherAgent],
|
|
11
|
+
['tester', testerAgent],
|
|
12
|
+
['reviewer', reviewerAgent],
|
|
13
|
+
['architect', architectAgent],
|
|
14
|
+
['coordinator', coordinatorAgent],
|
|
15
|
+
['analyst', analystAgent],
|
|
16
|
+
]);
|
|
17
|
+
// Custom agents from plugins
|
|
18
|
+
const customAgents = new Map();
|
|
19
|
+
/**
|
|
20
|
+
* Get an agent definition by type
|
|
21
|
+
*/
|
|
22
|
+
export function getAgentDefinition(type) {
|
|
23
|
+
// Check core agents first
|
|
24
|
+
const coreAgent = CORE_AGENTS.get(type);
|
|
25
|
+
if (coreAgent) {
|
|
26
|
+
return coreAgent;
|
|
27
|
+
}
|
|
28
|
+
// Check custom agents
|
|
29
|
+
return customAgents.get(type) ?? null;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* List all available agent types
|
|
33
|
+
*/
|
|
34
|
+
export function listAgentTypes() {
|
|
35
|
+
const types = [];
|
|
36
|
+
for (const type of CORE_AGENTS.keys()) {
|
|
37
|
+
types.push(type);
|
|
38
|
+
}
|
|
39
|
+
for (const type of customAgents.keys()) {
|
|
40
|
+
types.push(type);
|
|
41
|
+
}
|
|
42
|
+
return types;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* List all agent definitions
|
|
46
|
+
*/
|
|
47
|
+
export function listAgentDefinitions() {
|
|
48
|
+
const definitions = [];
|
|
49
|
+
for (const def of CORE_AGENTS.values()) {
|
|
50
|
+
definitions.push(def);
|
|
51
|
+
}
|
|
52
|
+
for (const def of customAgents.values()) {
|
|
53
|
+
definitions.push(def);
|
|
54
|
+
}
|
|
55
|
+
return definitions;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Register a custom agent type from a plugin
|
|
59
|
+
*/
|
|
60
|
+
export function registerAgent(definition) {
|
|
61
|
+
if (CORE_AGENTS.has(definition.type)) {
|
|
62
|
+
log.warn('Cannot override core agent type', { type: definition.type });
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
if (customAgents.has(definition.type)) {
|
|
66
|
+
log.warn('Overwriting existing custom agent', { type: definition.type });
|
|
67
|
+
}
|
|
68
|
+
customAgents.set(definition.type, definition);
|
|
69
|
+
log.info('Registered custom agent', { type: definition.type });
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Unregister a custom agent type
|
|
73
|
+
*/
|
|
74
|
+
export function unregisterAgent(type) {
|
|
75
|
+
if (CORE_AGENTS.has(type)) {
|
|
76
|
+
log.warn('Cannot unregister core agent type', { type });
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
const deleted = customAgents.delete(type);
|
|
80
|
+
if (deleted) {
|
|
81
|
+
log.info('Unregistered custom agent', { type });
|
|
82
|
+
}
|
|
83
|
+
return deleted;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Check if an agent type exists
|
|
87
|
+
*/
|
|
88
|
+
export function hasAgentType(type) {
|
|
89
|
+
return CORE_AGENTS.has(type) || customAgents.has(type);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Get the count of registered agents
|
|
93
|
+
*/
|
|
94
|
+
export function getAgentCount() {
|
|
95
|
+
return {
|
|
96
|
+
core: CORE_AGENTS.size,
|
|
97
|
+
custom: customAgents.size,
|
|
98
|
+
total: CORE_AGENTS.size + customAgents.size,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Clear all custom agents (used for testing)
|
|
103
|
+
*/
|
|
104
|
+
export function clearCustomAgents() {
|
|
105
|
+
customAgents.clear();
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/agents/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent spawner - manages running agents
|
|
3
|
+
*/
|
|
4
|
+
import type { SpawnedAgent, AgentStatus, AgentStackConfig } from '../types.js';
|
|
5
|
+
export interface SpawnOptions {
|
|
6
|
+
name?: string;
|
|
7
|
+
sessionId?: string;
|
|
8
|
+
metadata?: Record<string, unknown>;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Spawn a new agent
|
|
12
|
+
*/
|
|
13
|
+
export declare function spawnAgent(type: string, options?: SpawnOptions, _config?: AgentStackConfig): SpawnedAgent;
|
|
14
|
+
/**
|
|
15
|
+
* Get an agent by ID
|
|
16
|
+
*/
|
|
17
|
+
export declare function getAgent(id: string): SpawnedAgent | null;
|
|
18
|
+
/**
|
|
19
|
+
* Get an agent by name
|
|
20
|
+
*/
|
|
21
|
+
export declare function getAgentByName(name: string): SpawnedAgent | null;
|
|
22
|
+
/**
|
|
23
|
+
* List all active agents
|
|
24
|
+
*/
|
|
25
|
+
export declare function listAgents(sessionId?: string): SpawnedAgent[];
|
|
26
|
+
/**
|
|
27
|
+
* Update agent status
|
|
28
|
+
*/
|
|
29
|
+
export declare function updateAgentStatus(id: string, status: AgentStatus): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Stop an agent
|
|
32
|
+
*/
|
|
33
|
+
export declare function stopAgent(id: string): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Stop an agent by name
|
|
36
|
+
*/
|
|
37
|
+
export declare function stopAgentByName(name: string): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Stop all agents
|
|
40
|
+
*/
|
|
41
|
+
export declare function stopAllAgents(sessionId?: string): number;
|
|
42
|
+
/**
|
|
43
|
+
* Get agent count
|
|
44
|
+
*/
|
|
45
|
+
export declare function getAgentCount(sessionId?: string): number;
|
|
46
|
+
/**
|
|
47
|
+
* Get agents by status
|
|
48
|
+
*/
|
|
49
|
+
export declare function getAgentsByStatus(status: AgentStatus): SpawnedAgent[];
|
|
50
|
+
/**
|
|
51
|
+
* Clear all agents (used for testing)
|
|
52
|
+
*/
|
|
53
|
+
export declare function clearAgents(): void;
|
|
54
|
+
/**
|
|
55
|
+
* Get the prompt for an agent, ready to use with Claude Code Task tool
|
|
56
|
+
*/
|
|
57
|
+
export declare function getAgentPrompt(type: string): string | null;
|
|
58
|
+
/**
|
|
59
|
+
* Get agent capabilities
|
|
60
|
+
*/
|
|
61
|
+
export declare function getAgentCapabilities(type: string): string[] | null;
|
|
62
|
+
//# sourceMappingURL=spawner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spawner.d.ts","sourceRoot":"","sources":["../../src/agents/spawner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAY/E,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,YAAiB,EAC1B,OAAO,CAAC,EAAE,gBAAgB,GACzB,YAAY,CAkCd;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAExD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAIhE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAU7D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAO1E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAU7C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIrD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAYxD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAYxD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,YAAY,EAAE,CAUrE;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAGlC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI1D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAIlE"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent spawner - manages running agents
|
|
3
|
+
*/
|
|
4
|
+
import { randomUUID } from 'node:crypto';
|
|
5
|
+
import { getAgentDefinition, hasAgentType } from './registry.js';
|
|
6
|
+
import { logger } from '../utils/logger.js';
|
|
7
|
+
const log = logger.child('spawner');
|
|
8
|
+
// Active agents
|
|
9
|
+
const activeAgents = new Map();
|
|
10
|
+
// Agent by name index for quick lookup
|
|
11
|
+
const agentsByName = new Map();
|
|
12
|
+
/**
|
|
13
|
+
* Spawn a new agent
|
|
14
|
+
*/
|
|
15
|
+
export function spawnAgent(type, options = {}, _config) {
|
|
16
|
+
if (!hasAgentType(type)) {
|
|
17
|
+
throw new Error(`Unknown agent type: ${type}`);
|
|
18
|
+
}
|
|
19
|
+
const definition = getAgentDefinition(type);
|
|
20
|
+
if (!definition) {
|
|
21
|
+
throw new Error(`Agent definition not found: ${type}`);
|
|
22
|
+
}
|
|
23
|
+
const id = randomUUID();
|
|
24
|
+
const name = options.name ?? `${type}-${id.slice(0, 8)}`;
|
|
25
|
+
// Check for duplicate name
|
|
26
|
+
if (agentsByName.has(name)) {
|
|
27
|
+
throw new Error(`Agent with name '${name}' already exists`);
|
|
28
|
+
}
|
|
29
|
+
const agent = {
|
|
30
|
+
id,
|
|
31
|
+
type,
|
|
32
|
+
name,
|
|
33
|
+
status: 'idle',
|
|
34
|
+
createdAt: new Date(),
|
|
35
|
+
sessionId: options.sessionId,
|
|
36
|
+
metadata: options.metadata,
|
|
37
|
+
};
|
|
38
|
+
activeAgents.set(id, agent);
|
|
39
|
+
agentsByName.set(name, id);
|
|
40
|
+
log.info('Spawned agent', { id, type, name });
|
|
41
|
+
return agent;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Get an agent by ID
|
|
45
|
+
*/
|
|
46
|
+
export function getAgent(id) {
|
|
47
|
+
return activeAgents.get(id) ?? null;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get an agent by name
|
|
51
|
+
*/
|
|
52
|
+
export function getAgentByName(name) {
|
|
53
|
+
const id = agentsByName.get(name);
|
|
54
|
+
if (!id)
|
|
55
|
+
return null;
|
|
56
|
+
return activeAgents.get(id) ?? null;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* List all active agents
|
|
60
|
+
*/
|
|
61
|
+
export function listAgents(sessionId) {
|
|
62
|
+
const agents = [];
|
|
63
|
+
for (const agent of activeAgents.values()) {
|
|
64
|
+
if (!sessionId || agent.sessionId === sessionId) {
|
|
65
|
+
agents.push(agent);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return agents;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Update agent status
|
|
72
|
+
*/
|
|
73
|
+
export function updateAgentStatus(id, status) {
|
|
74
|
+
const agent = activeAgents.get(id);
|
|
75
|
+
if (!agent)
|
|
76
|
+
return false;
|
|
77
|
+
agent.status = status;
|
|
78
|
+
log.debug('Updated agent status', { id, status });
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Stop an agent
|
|
83
|
+
*/
|
|
84
|
+
export function stopAgent(id) {
|
|
85
|
+
const agent = activeAgents.get(id);
|
|
86
|
+
if (!agent)
|
|
87
|
+
return false;
|
|
88
|
+
agent.status = 'stopped';
|
|
89
|
+
activeAgents.delete(id);
|
|
90
|
+
agentsByName.delete(agent.name);
|
|
91
|
+
log.info('Stopped agent', { id, name: agent.name });
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Stop an agent by name
|
|
96
|
+
*/
|
|
97
|
+
export function stopAgentByName(name) {
|
|
98
|
+
const id = agentsByName.get(name);
|
|
99
|
+
if (!id)
|
|
100
|
+
return false;
|
|
101
|
+
return stopAgent(id);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Stop all agents
|
|
105
|
+
*/
|
|
106
|
+
export function stopAllAgents(sessionId) {
|
|
107
|
+
let stopped = 0;
|
|
108
|
+
for (const [id, agent] of activeAgents) {
|
|
109
|
+
if (!sessionId || agent.sessionId === sessionId) {
|
|
110
|
+
stopAgent(id);
|
|
111
|
+
stopped++;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
log.info('Stopped all agents', { count: stopped, sessionId });
|
|
115
|
+
return stopped;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Get agent count
|
|
119
|
+
*/
|
|
120
|
+
export function getAgentCount(sessionId) {
|
|
121
|
+
if (!sessionId) {
|
|
122
|
+
return activeAgents.size;
|
|
123
|
+
}
|
|
124
|
+
let count = 0;
|
|
125
|
+
for (const agent of activeAgents.values()) {
|
|
126
|
+
if (agent.sessionId === sessionId) {
|
|
127
|
+
count++;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return count;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Get agents by status
|
|
134
|
+
*/
|
|
135
|
+
export function getAgentsByStatus(status) {
|
|
136
|
+
const agents = [];
|
|
137
|
+
for (const agent of activeAgents.values()) {
|
|
138
|
+
if (agent.status === status) {
|
|
139
|
+
agents.push(agent);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return agents;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Clear all agents (used for testing)
|
|
146
|
+
*/
|
|
147
|
+
export function clearAgents() {
|
|
148
|
+
activeAgents.clear();
|
|
149
|
+
agentsByName.clear();
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Get the prompt for an agent, ready to use with Claude Code Task tool
|
|
153
|
+
*/
|
|
154
|
+
export function getAgentPrompt(type) {
|
|
155
|
+
const definition = getAgentDefinition(type);
|
|
156
|
+
if (!definition)
|
|
157
|
+
return null;
|
|
158
|
+
return definition.systemPrompt;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Get agent capabilities
|
|
162
|
+
*/
|
|
163
|
+
export function getAgentCapabilities(type) {
|
|
164
|
+
const definition = getAgentDefinition(type);
|
|
165
|
+
if (!definition)
|
|
166
|
+
return null;
|
|
167
|
+
return definition.capabilities;
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=spawner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spawner.js","sourceRoot":"","sources":["../../src/agents/spawner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/agent.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,wBAAgB,kBAAkB,IAAI,OAAO,CAiK5C"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* agent command - Manage agents
|
|
3
|
+
*/
|
|
4
|
+
import { Command } from 'commander';
|
|
5
|
+
import { spawnAgent, getAgent, getAgentByName, listAgents, stopAgent, stopAgentByName, getAgentPrompt, } from '../../agents/spawner.js';
|
|
6
|
+
import { listAgentTypes, getAgentDefinition } from '../../agents/registry.js';
|
|
7
|
+
import { getConfig } from '../../utils/config.js';
|
|
8
|
+
export function createAgentCommand() {
|
|
9
|
+
const command = new Command('agent')
|
|
10
|
+
.description('Manage agents');
|
|
11
|
+
// spawn subcommand
|
|
12
|
+
command
|
|
13
|
+
.command('spawn')
|
|
14
|
+
.description('Spawn a new agent')
|
|
15
|
+
.requiredOption('-t, --type <type>', 'Agent type (coder, researcher, tester, reviewer, architect, coordinator, analyst)')
|
|
16
|
+
.option('-n, --name <name>', 'Agent name')
|
|
17
|
+
.option('-s, --session <id>', 'Session ID')
|
|
18
|
+
.option('--show-prompt', 'Show the agent system prompt')
|
|
19
|
+
.action((options) => {
|
|
20
|
+
const { type, name, session, showPrompt } = options;
|
|
21
|
+
try {
|
|
22
|
+
const config = getConfig();
|
|
23
|
+
const agent = spawnAgent(type, { name, sessionId: session }, config);
|
|
24
|
+
console.log('Agent spawned:\n');
|
|
25
|
+
console.log(` ID: ${agent.id}`);
|
|
26
|
+
console.log(` Type: ${agent.type}`);
|
|
27
|
+
console.log(` Name: ${agent.name}`);
|
|
28
|
+
console.log(` Status: ${agent.status}`);
|
|
29
|
+
if (showPrompt) {
|
|
30
|
+
const prompt = getAgentPrompt(type);
|
|
31
|
+
if (prompt) {
|
|
32
|
+
console.log('\nSystem Prompt:');
|
|
33
|
+
console.log('─'.repeat(50));
|
|
34
|
+
console.log(prompt);
|
|
35
|
+
console.log('─'.repeat(50));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
console.error(`Error: ${error instanceof Error ? error.message : String(error)}`);
|
|
41
|
+
process.exit(1);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
// list subcommand
|
|
45
|
+
command
|
|
46
|
+
.command('list')
|
|
47
|
+
.description('List active agents')
|
|
48
|
+
.option('-s, --session <id>', 'Filter by session ID')
|
|
49
|
+
.action((options) => {
|
|
50
|
+
const { session } = options;
|
|
51
|
+
const agents = listAgents(session);
|
|
52
|
+
if (agents.length === 0) {
|
|
53
|
+
console.log('No active agents.');
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
console.log('Active agents:\n');
|
|
57
|
+
console.log('ID Type Name Status');
|
|
58
|
+
console.log('─'.repeat(90));
|
|
59
|
+
for (const agent of agents) {
|
|
60
|
+
console.log(`${agent.id} ${agent.type.padEnd(12)} ${agent.name.padEnd(20)} ${agent.status}`);
|
|
61
|
+
}
|
|
62
|
+
console.log(`\nTotal: ${agents.length} agent(s)`);
|
|
63
|
+
});
|
|
64
|
+
// stop subcommand
|
|
65
|
+
command
|
|
66
|
+
.command('stop')
|
|
67
|
+
.description('Stop an agent')
|
|
68
|
+
.option('-i, --id <id>', 'Agent ID')
|
|
69
|
+
.option('-n, --name <name>', 'Agent name')
|
|
70
|
+
.action((options) => {
|
|
71
|
+
const { id, name } = options;
|
|
72
|
+
if (!id && !name) {
|
|
73
|
+
console.error('Error: Either --id or --name is required');
|
|
74
|
+
process.exit(1);
|
|
75
|
+
}
|
|
76
|
+
let stopped = false;
|
|
77
|
+
if (id) {
|
|
78
|
+
stopped = stopAgent(id);
|
|
79
|
+
}
|
|
80
|
+
else if (name) {
|
|
81
|
+
stopped = stopAgentByName(name);
|
|
82
|
+
}
|
|
83
|
+
if (stopped) {
|
|
84
|
+
console.log('Agent stopped successfully.');
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
console.error('Agent not found.');
|
|
88
|
+
process.exit(1);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
// status subcommand
|
|
92
|
+
command
|
|
93
|
+
.command('status')
|
|
94
|
+
.description('Get agent status')
|
|
95
|
+
.option('-i, --id <id>', 'Agent ID')
|
|
96
|
+
.option('-n, --name <name>', 'Agent name')
|
|
97
|
+
.action((options) => {
|
|
98
|
+
const { id, name } = options;
|
|
99
|
+
if (!id && !name) {
|
|
100
|
+
console.error('Error: Either --id or --name is required');
|
|
101
|
+
process.exit(1);
|
|
102
|
+
}
|
|
103
|
+
let agent = null;
|
|
104
|
+
if (id) {
|
|
105
|
+
agent = getAgent(id);
|
|
106
|
+
}
|
|
107
|
+
else if (name) {
|
|
108
|
+
agent = getAgentByName(name);
|
|
109
|
+
}
|
|
110
|
+
if (!agent) {
|
|
111
|
+
console.error('Agent not found.');
|
|
112
|
+
process.exit(1);
|
|
113
|
+
}
|
|
114
|
+
const definition = getAgentDefinition(agent.type);
|
|
115
|
+
console.log('Agent status:\n');
|
|
116
|
+
console.log(` ID: ${agent.id}`);
|
|
117
|
+
console.log(` Type: ${agent.type}`);
|
|
118
|
+
console.log(` Name: ${agent.name}`);
|
|
119
|
+
console.log(` Status: ${agent.status}`);
|
|
120
|
+
console.log(` Created: ${agent.createdAt.toISOString()}`);
|
|
121
|
+
if (agent.sessionId) {
|
|
122
|
+
console.log(` Session: ${agent.sessionId}`);
|
|
123
|
+
}
|
|
124
|
+
if (definition?.capabilities) {
|
|
125
|
+
console.log(` Capabilities: ${definition.capabilities.join(', ')}`);
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
// types subcommand
|
|
129
|
+
command
|
|
130
|
+
.command('types')
|
|
131
|
+
.description('List available agent types')
|
|
132
|
+
.action(() => {
|
|
133
|
+
const types = listAgentTypes();
|
|
134
|
+
console.log('Available agent types:\n');
|
|
135
|
+
console.log('Type Description');
|
|
136
|
+
console.log('─'.repeat(60));
|
|
137
|
+
for (const type of types) {
|
|
138
|
+
const def = getAgentDefinition(type);
|
|
139
|
+
console.log(`${type.padEnd(14)}${def?.description ?? ''}`);
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
return command;
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/cli/commands/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI commands index
|
|
3
|
+
*/
|
|
4
|
+
export { createInitCommand } from './init.js';
|
|
5
|
+
export { createAgentCommand } from './agent.js';
|
|
6
|
+
export { createMemoryCommand } from './memory.js';
|
|
7
|
+
export { createMcpCommand } from './mcp.js';
|
|
8
|
+
export { createPluginCommand } from './plugin.js';
|
|
9
|
+
export { createStatusCommand } from './status.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
|