ai-devkit 0.9.0 → 0.10.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.
Files changed (43) hide show
  1. package/README.md +1 -1
  2. package/dist/cli.js +2 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/agent.d.ts +3 -0
  5. package/dist/commands/agent.d.ts.map +1 -0
  6. package/dist/commands/agent.js +143 -0
  7. package/dist/commands/agent.js.map +1 -0
  8. package/dist/commands/init.js +2 -2
  9. package/dist/commands/init.js.map +1 -1
  10. package/dist/commands/skill.d.ts.map +1 -1
  11. package/dist/commands/skill.js +1 -2
  12. package/dist/commands/skill.js.map +1 -1
  13. package/dist/lib/AgentManager.d.ts +104 -0
  14. package/dist/lib/AgentManager.d.ts.map +1 -0
  15. package/dist/lib/AgentManager.js +185 -0
  16. package/dist/lib/AgentManager.js.map +1 -0
  17. package/dist/lib/SkillManager.d.ts.map +1 -1
  18. package/dist/lib/SkillManager.js +0 -2
  19. package/dist/lib/SkillManager.js.map +1 -1
  20. package/dist/lib/TerminalFocusManager.d.ts +22 -0
  21. package/dist/lib/TerminalFocusManager.d.ts.map +1 -0
  22. package/dist/lib/TerminalFocusManager.js +195 -0
  23. package/dist/lib/TerminalFocusManager.js.map +1 -0
  24. package/dist/lib/adapters/AgentAdapter.d.ts +92 -0
  25. package/dist/lib/adapters/AgentAdapter.d.ts.map +1 -0
  26. package/dist/lib/adapters/AgentAdapter.js +29 -0
  27. package/dist/lib/adapters/AgentAdapter.js.map +1 -0
  28. package/dist/lib/adapters/ClaudeCodeAdapter.d.ts +66 -0
  29. package/dist/lib/adapters/ClaudeCodeAdapter.d.ts.map +1 -0
  30. package/dist/lib/adapters/ClaudeCodeAdapter.js +306 -0
  31. package/dist/lib/adapters/ClaudeCodeAdapter.js.map +1 -0
  32. package/dist/util/file.d.ts +52 -0
  33. package/dist/util/file.d.ts.map +1 -0
  34. package/dist/util/file.js +135 -0
  35. package/dist/util/file.js.map +1 -0
  36. package/dist/util/process.d.ts +61 -0
  37. package/dist/util/process.d.ts.map +1 -0
  38. package/dist/util/process.js +166 -0
  39. package/dist/util/process.js.map +1 -0
  40. package/dist/util/terminal-ui.d.ts.map +1 -1
  41. package/dist/util/terminal-ui.js +1 -0
  42. package/dist/util/terminal-ui.js.map +1 -1
  43. package/package.json +2 -2
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  The official command-line interface for **AI DevKit**.
2
2
 
3
- This tool orchestrates the setup and management of AI-assisted development environments, ensuring your project is ready for agents like Cursor, Claude Code, and more.
3
+ This tool orchestrates the setup and management of AI-assisted development environments, ensuring your project is ready for agents like Cursor, Claude Code, Antigravity, and more.
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/ai-devkit.svg)](https://www.npmjs.com/package/ai-devkit)
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
package/dist/cli.js CHANGED
@@ -7,6 +7,7 @@ const phase_1 = require("./commands/phase");
7
7
  const setup_1 = require("./commands/setup");
8
8
  const memory_1 = require("./commands/memory");
9
9
  const skill_1 = require("./commands/skill");
10
+ const agent_1 = require("./commands/agent");
10
11
  const program = new commander_1.Command();
11
12
  program
12
13
  .name('ai-devkit')
@@ -30,5 +31,6 @@ program
30
31
  .action(setup_1.setupCommand);
31
32
  (0, memory_1.registerMemoryCommand)(program);
32
33
  (0, skill_1.registerSkillCommand)(program);
34
+ (0, agent_1.registerAgentCommand)(program);
33
35
  program.parse();
34
36
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,0CAA8C;AAC9C,4CAAgD;AAChD,4CAAgD;AAChD,8CAA0D;AAC1D,4CAAwD;AAExD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,0CAA0C,CAAC;KACvD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,yBAAyB,EAAE,8CAA8C,CAAC;KACjF,MAAM,CAAC,WAAW,EAAE,uBAAuB,CAAC;KAC5C,MAAM,CAAC,uBAAuB,EAAE,8CAA8C,CAAC;KAC/E,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,2GAA2G,CAAC;KACxH,MAAM,CAAC,oBAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,cAAc,EAAE,gDAAgD,CAAC;KACxE,MAAM,CAAC,oBAAY,CAAC,CAAC;AAExB,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;AAC/B,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;AAE9B,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,0CAA8C;AAC9C,4CAAgD;AAChD,4CAAgD;AAChD,8CAA0D;AAC1D,4CAAwD;AACxD,4CAAwD;AAExD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,0CAA0C,CAAC;KACvD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,yBAAyB,EAAE,8CAA8C,CAAC;KACjF,MAAM,CAAC,WAAW,EAAE,uBAAuB,CAAC;KAC5C,MAAM,CAAC,uBAAuB,EAAE,8CAA8C,CAAC;KAC/E,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,2GAA2G,CAAC;KACxH,MAAM,CAAC,oBAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,cAAc,EAAE,gDAAgD,CAAC;KACxE,MAAM,CAAC,oBAAY,CAAC,CAAC;AAExB,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;AAC/B,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;AAE9B,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerAgentCommand(program: Command): void;
3
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkJ3D"}
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.registerAgentCommand = registerAgentCommand;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const inquirer_1 = __importDefault(require("inquirer"));
9
+ const AgentManager_1 = require("../lib/AgentManager");
10
+ const ClaudeCodeAdapter_1 = require("../lib/adapters/ClaudeCodeAdapter");
11
+ const AgentAdapter_1 = require("../lib/adapters/AgentAdapter");
12
+ const TerminalFocusManager_1 = require("../lib/TerminalFocusManager");
13
+ const terminal_ui_1 = require("../util/terminal-ui");
14
+ function registerAgentCommand(program) {
15
+ const agentCommand = program
16
+ .command('agent')
17
+ .description('Manage AI Agents');
18
+ agentCommand
19
+ .command('list')
20
+ .description('List all running AI agents')
21
+ .option('-j, --json', 'Output as JSON')
22
+ .action(async (options) => {
23
+ try {
24
+ const manager = new AgentManager_1.AgentManager();
25
+ // Register adapters
26
+ // In the future, we might load these dynamically or based on config
27
+ manager.registerAdapter(new ClaudeCodeAdapter_1.ClaudeCodeAdapter());
28
+ const agents = await manager.listAgents();
29
+ if (options.json) {
30
+ console.log(JSON.stringify(agents, null, 2));
31
+ return;
32
+ }
33
+ if (agents.length === 0) {
34
+ terminal_ui_1.ui.info('No running agents detected.');
35
+ return;
36
+ }
37
+ terminal_ui_1.ui.text('Running Agents:', { breakline: true });
38
+ const rows = agents.map(agent => [
39
+ agent.name,
40
+ agent.statusDisplay,
41
+ agent.summary || 'No active task',
42
+ agent.lastActiveDisplay
43
+ ]);
44
+ terminal_ui_1.ui.table({
45
+ headers: ['Agent', 'Status', 'Working On', 'Active'],
46
+ rows: rows,
47
+ // Custom column styling
48
+ // 0: Name (cyan)
49
+ // 1: Status (dynamic based on content)
50
+ // 2: Working On (standard)
51
+ // 3: Active (dim)
52
+ columnStyles: [
53
+ (text) => chalk_1.default.cyan(text),
54
+ (text) => {
55
+ // Extract status keyword to determine color
56
+ if (text.includes(AgentAdapter_1.STATUS_CONFIG[AgentAdapter_1.AgentStatus.RUNNING].label))
57
+ return chalk_1.default.green(text);
58
+ if (text.includes(AgentAdapter_1.STATUS_CONFIG[AgentAdapter_1.AgentStatus.WAITING].label))
59
+ return chalk_1.default.yellow(text);
60
+ if (text.includes(AgentAdapter_1.STATUS_CONFIG[AgentAdapter_1.AgentStatus.IDLE].label))
61
+ return chalk_1.default.dim(text);
62
+ return chalk_1.default.gray(text);
63
+ },
64
+ (text) => text,
65
+ (text) => chalk_1.default.dim(text)
66
+ ]
67
+ });
68
+ // Add summary footer if there are waiting agents
69
+ const waitingCount = agents.filter(a => a.status === AgentAdapter_1.AgentStatus.WAITING).length;
70
+ if (waitingCount > 0) {
71
+ terminal_ui_1.ui.breakline();
72
+ terminal_ui_1.ui.warning(`${waitingCount} agent(s) waiting for input.`);
73
+ }
74
+ }
75
+ catch (error) {
76
+ terminal_ui_1.ui.error(`Failed to list agents: ${error.message}`);
77
+ process.exit(1);
78
+ }
79
+ });
80
+ agentCommand
81
+ .command('open <name>')
82
+ .description('Focus a running agent terminal')
83
+ .action(async (name) => {
84
+ try {
85
+ const manager = new AgentManager_1.AgentManager();
86
+ const focusManager = new TerminalFocusManager_1.TerminalFocusManager();
87
+ manager.registerAdapter(new ClaudeCodeAdapter_1.ClaudeCodeAdapter());
88
+ const agents = await manager.listAgents();
89
+ if (agents.length === 0) {
90
+ terminal_ui_1.ui.error('No running agents found.');
91
+ return;
92
+ }
93
+ const resolved = manager.resolveAgent(name, agents);
94
+ if (!resolved) {
95
+ terminal_ui_1.ui.error(`No agent found matching "${name}".`);
96
+ terminal_ui_1.ui.info('Available agents:');
97
+ agents.forEach(a => console.log(` - ${a.name}`));
98
+ return;
99
+ }
100
+ let targetAgent = resolved;
101
+ if (Array.isArray(resolved)) {
102
+ terminal_ui_1.ui.warning(`Multiple agents match "${name}":`);
103
+ const { selectedAgent } = await inquirer_1.default.prompt([
104
+ {
105
+ type: 'list',
106
+ name: 'selectedAgent',
107
+ message: 'Select an agent to open:',
108
+ choices: resolved.map(a => ({
109
+ name: `${a.name} (${a.statusDisplay}) - ${a.summary}`,
110
+ value: a
111
+ }))
112
+ }
113
+ ]);
114
+ targetAgent = selectedAgent;
115
+ }
116
+ // Focus terminal
117
+ const agent = targetAgent;
118
+ if (!agent.pid) {
119
+ terminal_ui_1.ui.error(`Cannot focus agent "${agent.name}" (No PID found).`);
120
+ return;
121
+ }
122
+ const spinner = terminal_ui_1.ui.spinner(`Switching focus to ${agent.name}...`);
123
+ spinner.start();
124
+ const location = await focusManager.findTerminal(agent.pid);
125
+ if (!location) {
126
+ spinner.fail(`Could not find terminal window for agent "${agent.name}" (PID: ${agent.pid}).`);
127
+ return;
128
+ }
129
+ const success = await focusManager.focusTerminal(location);
130
+ if (success) {
131
+ spinner.succeed(`Focused ${agent.name}!`);
132
+ }
133
+ else {
134
+ spinner.fail(`Failed to switch focus to ${agent.name}.`);
135
+ }
136
+ }
137
+ catch (error) {
138
+ terminal_ui_1.ui.error(`Failed to open agent: ${error.message}`);
139
+ process.exit(1);
140
+ }
141
+ });
142
+ }
143
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ const TemplateManager_1 = require("../lib/TemplateManager");
11
11
  const EnvironmentSelector_1 = require("../lib/EnvironmentSelector");
12
12
  const PhaseSelector_1 = require("../lib/PhaseSelector");
13
13
  const types_1 = require("../types");
14
- const env_js_1 = require("../util/env.js");
14
+ const env_1 = require("../util/env");
15
15
  const terminal_ui_1 = require("../util/terminal-ui");
16
16
  function isGitAvailable() {
17
17
  try {
@@ -70,7 +70,7 @@ async function initCommand(options) {
70
70
  return;
71
71
  }
72
72
  for (const envCode of selectedEnvironments) {
73
- if (!(0, env_js_1.isValidEnvironmentCode)(envCode)) {
73
+ if (!(0, env_1.isValidEnvironmentCode)(envCode)) {
74
74
  terminal_ui_1.ui.error(`Invalid environment code: ${envCode}`);
75
75
  return;
76
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqF3D"}
1
+ {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoF3D"}
@@ -37,7 +37,7 @@ function registerSkillCommand(program) {
37
37
  if (skills.length === 0) {
38
38
  terminal_ui_1.ui.warning('No skills installed in this project.');
39
39
  terminal_ui_1.ui.info('Install a skill with: ai-devkit skill add <registry>/<repo> <skill-name>');
40
- process.exit(0);
40
+ return;
41
41
  }
42
42
  terminal_ui_1.ui.text('Installed Skills:', { breakline: true });
43
43
  terminal_ui_1.ui.table({
@@ -50,7 +50,6 @@ function registerSkillCommand(program) {
50
50
  columnStyles: [chalk_1.default.cyan, chalk_1.default.dim, chalk_1.default.green]
51
51
  });
52
52
  terminal_ui_1.ui.text(`Total: ${skills.length} skill(s)`, { breakline: true });
53
- process.exit(0);
54
53
  }
55
54
  catch (error) {
56
55
  terminal_ui_1.ui.error(`Failed to list skills: ${error.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Agent Manager
3
+ *
4
+ * Orchestrates agent detection across multiple adapter types.
5
+ * Manages adapter registration and aggregates results from all adapters.
6
+ */
7
+ import type { AgentAdapter, AgentInfo } from './adapters/AgentAdapter';
8
+ /**
9
+ * Agent Manager Class
10
+ *
11
+ * Central manager for detecting AI agents across different types.
12
+ * Supports multiple adapters (Claude Code, Gemini CLI, etc.)
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const manager = new AgentManager();
17
+ * manager.registerAdapter(new ClaudeCodeAdapter());
18
+ *
19
+ * const agents = await manager.listAgents();
20
+ * console.log(`Found ${agents.length} agents`);
21
+ * ```
22
+ */
23
+ export declare class AgentManager {
24
+ private adapters;
25
+ /**
26
+ * Register an adapter for a specific agent type
27
+ *
28
+ * @param adapter Agent adapter to register
29
+ * @throws Error if an adapter for this type is already registered
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * manager.registerAdapter(new ClaudeCodeAdapter());
34
+ * ```
35
+ */
36
+ registerAdapter(adapter: AgentAdapter): void;
37
+ /**
38
+ * Unregister an adapter by type
39
+ *
40
+ * @param type Agent type to unregister
41
+ * @returns True if adapter was removed, false if not found
42
+ */
43
+ unregisterAdapter(type: string): boolean;
44
+ /**
45
+ * Get all registered adapters
46
+ *
47
+ * @returns Array of registered adapters
48
+ */
49
+ getAdapters(): AgentAdapter[];
50
+ /**
51
+ * Check if an adapter is registered for a specific type
52
+ *
53
+ * @param type Agent type to check
54
+ * @returns True if adapter is registered
55
+ */
56
+ hasAdapter(type: string): boolean;
57
+ /**
58
+ * List all running AI agents detected by registered adapters
59
+ *
60
+ * Queries all registered adapters and aggregates results.
61
+ * Handles errors gracefully - if one adapter fails, others still run.
62
+ *
63
+ * @returns Array of detected agents from all adapters
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * const agents = await manager.listAgents();
68
+ *
69
+ * agents.forEach(agent => {
70
+ * console.log(`${agent.name}: ${agent.status}`);
71
+ * });
72
+ * ```
73
+ */
74
+ listAgents(): Promise<AgentInfo[]>;
75
+ /**
76
+ * Sort agents by status priority
77
+ *
78
+ * Priority order: waiting > running > idle > unknown
79
+ * This ensures agents that need attention appear first.
80
+ *
81
+ * @param agents Array of agents to sort
82
+ * @returns Sorted array of agents
83
+ */
84
+ private sortAgentsByStatus;
85
+ /**
86
+ * Get count of registered adapters
87
+ *
88
+ * @returns Number of registered adapters
89
+ */
90
+ getAdapterCount(): number;
91
+ /**
92
+ * Clear all registered adapters
93
+ */
94
+ clear(): void;
95
+ /**
96
+ * Resolve an agent by name (exact or partial match)
97
+ *
98
+ * @param input Name to search for
99
+ * @param agents List of agents to search within
100
+ * @returns Matched agent (unique), array of agents (ambiguous), or null (none)
101
+ */
102
+ resolveAgent(input: string, agents: AgentInfo[]): AgentInfo | AgentInfo[] | null;
103
+ }
104
+ //# sourceMappingURL=AgentManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentManager.d.ts","sourceRoot":"","sources":["../../src/lib/AgentManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGvE;;;;;;;;;;;;;;GAcG;AACH,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAwC;IAExD;;;;;;;;;;OAUG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAU5C;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIxC;;;;OAIG;IACH,WAAW,IAAI,YAAY,EAAE;IAI7B;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC;;;;;;;;;;;;;;;;OAgBG;IACG,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAsCxC;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAe1B;;;;OAIG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;;;;;OAMG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,GAAG,IAAI;CAiBnF"}
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ /**
3
+ * Agent Manager
4
+ *
5
+ * Orchestrates agent detection across multiple adapter types.
6
+ * Manages adapter registration and aggregates results from all adapters.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.AgentManager = void 0;
10
+ const AgentAdapter_1 = require("./adapters/AgentAdapter");
11
+ /**
12
+ * Agent Manager Class
13
+ *
14
+ * Central manager for detecting AI agents across different types.
15
+ * Supports multiple adapters (Claude Code, Gemini CLI, etc.)
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const manager = new AgentManager();
20
+ * manager.registerAdapter(new ClaudeCodeAdapter());
21
+ *
22
+ * const agents = await manager.listAgents();
23
+ * console.log(`Found ${agents.length} agents`);
24
+ * ```
25
+ */
26
+ class AgentManager {
27
+ constructor() {
28
+ this.adapters = new Map();
29
+ }
30
+ /**
31
+ * Register an adapter for a specific agent type
32
+ *
33
+ * @param adapter Agent adapter to register
34
+ * @throws Error if an adapter for this type is already registered
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * manager.registerAdapter(new ClaudeCodeAdapter());
39
+ * ```
40
+ */
41
+ registerAdapter(adapter) {
42
+ const adapterKey = adapter.type;
43
+ if (this.adapters.has(adapterKey)) {
44
+ throw new Error(`Adapter for type "${adapterKey}" is already registered`);
45
+ }
46
+ this.adapters.set(adapterKey, adapter);
47
+ }
48
+ /**
49
+ * Unregister an adapter by type
50
+ *
51
+ * @param type Agent type to unregister
52
+ * @returns True if adapter was removed, false if not found
53
+ */
54
+ unregisterAdapter(type) {
55
+ return this.adapters.delete(type);
56
+ }
57
+ /**
58
+ * Get all registered adapters
59
+ *
60
+ * @returns Array of registered adapters
61
+ */
62
+ getAdapters() {
63
+ return Array.from(this.adapters.values());
64
+ }
65
+ /**
66
+ * Check if an adapter is registered for a specific type
67
+ *
68
+ * @param type Agent type to check
69
+ * @returns True if adapter is registered
70
+ */
71
+ hasAdapter(type) {
72
+ return this.adapters.has(type);
73
+ }
74
+ /**
75
+ * List all running AI agents detected by registered adapters
76
+ *
77
+ * Queries all registered adapters and aggregates results.
78
+ * Handles errors gracefully - if one adapter fails, others still run.
79
+ *
80
+ * @returns Array of detected agents from all adapters
81
+ *
82
+ * @example
83
+ * ```typescript
84
+ * const agents = await manager.listAgents();
85
+ *
86
+ * agents.forEach(agent => {
87
+ * console.log(`${agent.name}: ${agent.status}`);
88
+ * });
89
+ * ```
90
+ */
91
+ async listAgents() {
92
+ const allAgents = [];
93
+ const errors = [];
94
+ // Query all adapters in parallel
95
+ const adapterPromises = Array.from(this.adapters.values()).map(async (adapter) => {
96
+ try {
97
+ const agents = await adapter.detectAgents();
98
+ return { type: adapter.type, agents, error: null };
99
+ }
100
+ catch (error) {
101
+ // Capture error but don't throw - allow other adapters to continue
102
+ const err = error instanceof Error ? error : new Error(String(error));
103
+ errors.push({ type: adapter.type, error: err });
104
+ return { type: adapter.type, agents: [], error: err };
105
+ }
106
+ });
107
+ const results = await Promise.all(adapterPromises);
108
+ // Aggregate all successful results
109
+ for (const result of results) {
110
+ if (result.error === null) {
111
+ allAgents.push(...result.agents);
112
+ }
113
+ }
114
+ // Log errors if any (but don't throw - partial results are useful)
115
+ if (errors.length > 0) {
116
+ console.error(`Warning: ${errors.length} adapter(s) failed:`);
117
+ errors.forEach(({ type, error }) => {
118
+ console.error(` - ${type}: ${error.message}`);
119
+ });
120
+ }
121
+ // Sort by status priority (waiting first, then running, then idle)
122
+ return this.sortAgentsByStatus(allAgents);
123
+ }
124
+ /**
125
+ * Sort agents by status priority
126
+ *
127
+ * Priority order: waiting > running > idle > unknown
128
+ * This ensures agents that need attention appear first.
129
+ *
130
+ * @param agents Array of agents to sort
131
+ * @returns Sorted array of agents
132
+ */
133
+ sortAgentsByStatus(agents) {
134
+ const statusPriority = {
135
+ [AgentAdapter_1.AgentStatus.WAITING]: 0,
136
+ [AgentAdapter_1.AgentStatus.RUNNING]: 1,
137
+ [AgentAdapter_1.AgentStatus.IDLE]: 2,
138
+ [AgentAdapter_1.AgentStatus.UNKNOWN]: 3,
139
+ };
140
+ return agents.sort((a, b) => {
141
+ const priorityA = statusPriority[a.status] ?? 999;
142
+ const priorityB = statusPriority[b.status] ?? 999;
143
+ return priorityA - priorityB;
144
+ });
145
+ }
146
+ /**
147
+ * Get count of registered adapters
148
+ *
149
+ * @returns Number of registered adapters
150
+ */
151
+ getAdapterCount() {
152
+ return this.adapters.size;
153
+ }
154
+ /**
155
+ * Clear all registered adapters
156
+ */
157
+ clear() {
158
+ this.adapters.clear();
159
+ }
160
+ /**
161
+ * Resolve an agent by name (exact or partial match)
162
+ *
163
+ * @param input Name to search for
164
+ * @param agents List of agents to search within
165
+ * @returns Matched agent (unique), array of agents (ambiguous), or null (none)
166
+ */
167
+ resolveAgent(input, agents) {
168
+ if (!input || agents.length === 0)
169
+ return null;
170
+ const lowerInput = input.toLowerCase();
171
+ // 1. Exact match (case-insensitive)
172
+ const exactMatch = agents.find(a => a.name.toLowerCase() === lowerInput);
173
+ if (exactMatch)
174
+ return exactMatch;
175
+ // 2. Partial match (prefix or contains)
176
+ const matches = agents.filter(a => a.name.toLowerCase().includes(lowerInput));
177
+ if (matches.length === 1)
178
+ return matches[0];
179
+ if (matches.length > 1)
180
+ return matches;
181
+ return null;
182
+ }
183
+ }
184
+ exports.AgentManager = AgentManager;
185
+ //# sourceMappingURL=AgentManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentManager.js","sourceRoot":"","sources":["../../src/lib/AgentManager.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,0DAAsD;AAEtD;;;;;;;;;;;;;;GAcG;AACH,MAAa,YAAY;IAAzB;QACY,aAAQ,GAA8B,IAAI,GAAG,EAAE,CAAC;IA2K5D,CAAC;IAzKG;;;;;;;;;;OAUG;IACH,eAAe,CAAC,OAAqB;QACjC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;QAEhC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,qBAAqB,UAAU,yBAAyB,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,WAAW;QACP,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,UAAU;QACZ,MAAM,SAAS,GAAgB,EAAE,CAAC;QAClC,MAAM,MAAM,GAA0C,EAAE,CAAC;QAEzD,iCAAiC;QACjC,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC7E,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;gBAC5C,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACvD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,mEAAmE;gBACnE,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBAChD,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YAC1D,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAEnD,mCAAmC;QACnC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBACxB,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;QAED,mEAAmE;QACnE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,YAAY,MAAM,CAAC,MAAM,qBAAqB,CAAC,CAAC;YAC9D,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC/B,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;QACP,CAAC;QAED,mEAAmE;QACnE,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;;OAQG;IACK,kBAAkB,CAAC,MAAmB;QAC1C,MAAM,cAAc,GAAgC;YAChD,CAAC,0BAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,CAAC,0BAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,CAAC,0BAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,CAAC,0BAAW,CAAC,OAAO,CAAC,EAAE,CAAC;SAC3B,CAAC;QAEF,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACxB,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;YAClD,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;YAClD,OAAO,SAAS,GAAG,SAAS,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,eAAe;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,KAAa,EAAE,MAAmB;QAC3C,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAE/C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAEvC,oCAAoC;QACpC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC;QACzE,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC;QAElC,wCAAwC;QACxC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QAE9E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC;QAEvC,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA5KD,oCA4KC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SkillManager.d.ts","sourceRoot":"","sources":["../../src/lib/SkillManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAa5D,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,UAAU,YAAY;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED,qBAAa,YAAY;IAErB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,mBAAmB;gBAFnB,aAAa,EAAE,aAAa,EAC5B,mBAAmB,GAAE,mBAA+C,EACpE,mBAAmB,GAAE,mBAA+C;IAG9E;;;;OAIG;IACG,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoFpE;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IA8D7C;;;OAGG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCnD;;;;OAIG;IACG,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;YAqEjD,oBAAoB;YAuBpB,mBAAmB;IAoBjC,OAAO,CAAC,sBAAsB;YAiBhB,sBAAsB;IAqBpC,OAAO,CAAC,8BAA8B;IAOtC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA8B5B;;;;;OAKG;YACW,cAAc;CA0B7B"}
1
+ {"version":3,"file":"SkillManager.d.ts","sourceRoot":"","sources":["../../src/lib/SkillManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAa5D,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,UAAU,YAAY;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED,qBAAa,YAAY;IAErB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,mBAAmB;gBAFnB,aAAa,EAAE,aAAa,EAC5B,mBAAmB,GAAE,mBAA+C,EACpE,mBAAmB,GAAE,mBAA+C;IAG9E;;;;OAIG;IACG,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmFpE;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IA8D7C;;;OAGG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCnD;;;;OAIG;IACG,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;YAqEjD,oBAAoB;YAuBpB,mBAAmB;IAoBjC,OAAO,CAAC,sBAAsB;YAiBhB,sBAAsB;IAqBpC,OAAO,CAAC,8BAA8B;IAOtC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA8B5B;;;;;OAKG;YACW,cAAc;CA0B7B"}
@@ -69,7 +69,6 @@ class SkillManager {
69
69
  const gitUrl = registry.registries[registryId];
70
70
  const cachedPath = path.join(SKILL_CACHE_DIR, registryId);
71
71
  if (!gitUrl && !await fs.pathExists(cachedPath)) {
72
- const available = Object.keys(registry.registries);
73
72
  throw new Error(`Registry "${registryId}" not found.`);
74
73
  }
75
74
  terminal_ui_1.ui.info('Checking local cache...');
@@ -205,7 +204,6 @@ class SkillManager {
205
204
  terminal_ui_1.ui.success(`Successfully removed from ${removedCount} location(s).`);
206
205
  terminal_ui_1.ui.info(`Note: Cached copy in ~/.ai-devkit/skills/ preserved for other projects.`);
207
206
  }
208
- process.exit(0);
209
207
  }
210
208
  /**
211
209
  * Update skills from registries