osagent-cli 0.1.12 → 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "osagent-cli",
3
- "version": "0.1.12",
3
+ "version": "0.1.13",
4
4
  "description": "OSAgent - AI Coding Assistant powered by Ollama",
5
5
  "repository": {
6
6
  "type": "git",
@@ -3,5 +3,5 @@
3
3
  * Copyright 2025 OSAgent OC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export declare const GIT_COMMIT_INFO = "c980fd6";
6
+ export declare const GIT_COMMIT_INFO = "65ac270";
7
7
  export declare const CLI_VERSION = "0.1.35";
@@ -5,6 +5,6 @@
5
5
  */
6
6
  // This file is auto-generated by the build script (scripts/generate-git-commit-info.js)
7
7
  // Do not edit this file manually.
8
- export const GIT_COMMIT_INFO = 'c980fd6';
8
+ export const GIT_COMMIT_INFO = '65ac270';
9
9
  export const CLI_VERSION = '0.1.35';
10
10
  //# sourceMappingURL=git-commit.js.map
@@ -5,6 +5,104 @@
5
5
  */
6
6
  import { CommandKind, } from './types.js';
7
7
  import { t } from '../../i18n/index.js';
8
+ import { existsSync, readdirSync, readFileSync } from 'fs';
9
+ import { join } from 'path';
10
+ import { homedir } from 'os';
11
+ import { colors, colorize, sectionHeader, divider, icons, } from '../utils/terminalUI.js';
12
+ // Built-in agent definitions
13
+ const BUILTIN_AGENTS = [
14
+ { name: 'general-purpose', description: 'General coding tasks, multi-step implementations', tier: 'specialist' },
15
+ { name: 'research-explorer', description: 'Codebase exploration and research', tier: 'utility' },
16
+ { name: 'code-reviewer', description: 'Code review, best practices, security', tier: 'specialist' },
17
+ { name: 'test-writer', description: 'Test creation, TDD, coverage analysis', tier: 'specialist' },
18
+ { name: 'documentation', description: 'Documentation, comments, README files', tier: 'utility' },
19
+ { name: 'osa-orchestrator', description: 'Task coordination, multi-agent workflows', tier: 'orchestrator' },
20
+ { name: 'architect', description: 'System design, architecture decisions', tier: 'specialist' },
21
+ { name: 'debugger', description: 'Bug investigation, systematic debugging', tier: 'specialist' },
22
+ { name: 'security-auditor', description: 'Security analysis, vulnerability detection', tier: 'specialist' },
23
+ { name: 'performance-optimizer', description: 'Performance analysis, optimization', tier: 'specialist' },
24
+ ];
25
+ function loadCustomAgents() {
26
+ const agentsDir = join(homedir(), '.osagent', 'agents');
27
+ const agents = [];
28
+ if (existsSync(agentsDir)) {
29
+ try {
30
+ const files = readdirSync(agentsDir).filter(f => f.endsWith('.json') || f.endsWith('.yaml') || f.endsWith('.yml'));
31
+ for (const file of files) {
32
+ try {
33
+ const content = readFileSync(join(agentsDir, file), 'utf-8');
34
+ const agent = JSON.parse(content);
35
+ agents.push({
36
+ name: agent.name || file.replace(/\.(json|ya?ml)$/, ''),
37
+ description: agent.description || 'Custom agent',
38
+ tier: agent.tier || 'custom',
39
+ });
40
+ }
41
+ catch {
42
+ // Skip invalid files
43
+ }
44
+ }
45
+ }
46
+ catch {
47
+ // Directory not readable
48
+ }
49
+ }
50
+ return agents;
51
+ }
52
+ function formatAgentList() {
53
+ const lines = [];
54
+ const width = 60;
55
+ lines.push('');
56
+ lines.push(sectionHeader('Available Agents', icons.robot));
57
+ lines.push(divider(width));
58
+ lines.push('');
59
+ // Group by tier
60
+ const tiers = {
61
+ orchestrator: [],
62
+ specialist: [],
63
+ utility: [],
64
+ custom: [],
65
+ };
66
+ for (const agent of BUILTIN_AGENTS) {
67
+ tiers[agent.tier]?.push(agent);
68
+ }
69
+ const customAgents = loadCustomAgents();
70
+ tiers['custom'] = customAgents;
71
+ const tierLabels = {
72
+ orchestrator: `${icons.brain} Orchestrators (Opus tier)`,
73
+ specialist: `${icons.wrench} Specialists (Sonnet tier)`,
74
+ utility: `${icons.lightning} Utilities (Haiku tier)`,
75
+ custom: `${icons.gear} Custom Agents`,
76
+ };
77
+ const tierColors = {
78
+ orchestrator: colors.magenta,
79
+ specialist: colors.cyan,
80
+ utility: colors.green,
81
+ custom: colors.yellow,
82
+ };
83
+ for (const [tier, agents] of Object.entries(tiers)) {
84
+ if (agents.length === 0)
85
+ continue;
86
+ lines.push(colorize(tierLabels[tier] || tier, colors.bold, tierColors[tier] || colors.white));
87
+ lines.push('');
88
+ for (const agent of agents) {
89
+ const nameStr = colorize(agent.name.padEnd(22), colors.white);
90
+ const descStr = colorize(agent.description, colors.gray);
91
+ lines.push(` ${nameStr} ${descStr}`);
92
+ }
93
+ lines.push('');
94
+ }
95
+ lines.push(divider(width));
96
+ lines.push('');
97
+ lines.push(sectionHeader('Quick Commands', icons.lightning));
98
+ lines.push(` ${colorize('/agents create', colors.cyan)} - Create a new custom agent`);
99
+ lines.push(` ${colorize('/agents manage', colors.cyan)} - Manage existing agents`);
100
+ lines.push(` ${colorize('/agents batch', colors.cyan)} - Run multiple agents in parallel`);
101
+ lines.push('');
102
+ lines.push(colorize(`Custom agents: ~/.osagent/agents/`, colors.gray));
103
+ lines.push('');
104
+ return lines.join('\n');
105
+ }
8
106
  export const agentsCommand = {
9
107
  name: 'agents',
10
108
  get description() {
@@ -104,12 +202,9 @@ Execute each agent with the same task and synthesize their combined results.`;
104
202
  },
105
203
  kind: CommandKind.BUILT_IN,
106
204
  action: () => ({
107
- type: 'submit_prompt',
108
- content: [
109
- {
110
- text: `List all available subagents with their names and descriptions. Include both built-in agents (general-purpose, research-explorer, code-reviewer, test-writer, documentation, osa-orchestrator) and any custom agents defined in .osagent/agents/`,
111
- },
112
- ],
205
+ type: 'message',
206
+ messageType: 'info',
207
+ content: formatAgentList(),
113
208
  }),
114
209
  },
115
210
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"agentsCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/agentsCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentsCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/agentsCommand.ts"],"names":[],"mappings":"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"}