@lov3kaizen/agentsea-cli 0.1.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/LICENSE +21 -0
- package/README.md +405 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +443 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/agent.d.ts +9 -0
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +285 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/chat.d.ts +12 -0
- package/dist/commands/chat.d.ts.map +1 -0
- package/dist/commands/chat.js +156 -0
- package/dist/commands/chat.js.map +1 -0
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +187 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/mcp.d.ts +6 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +167 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/model.d.ts +4 -0
- package/dist/commands/model.d.ts.map +1 -0
- package/dist/commands/model.js +107 -0
- package/dist/commands/model.js.map +1 -0
- package/dist/commands/provider.d.ts +6 -0
- package/dist/commands/provider.d.ts.map +1 -0
- package/dist/commands/provider.js +168 -0
- package/dist/commands/provider.js.map +1 -0
- package/dist/commands/tool.d.ts +4 -0
- package/dist/commands/tool.d.ts.map +1 -0
- package/dist/commands/tool.js +80 -0
- package/dist/commands/tool.js.map +1 -0
- package/dist/commands/workflow.d.ts +6 -0
- package/dist/commands/workflow.d.ts.map +1 -0
- package/dist/commands/workflow.js +175 -0
- package/dist/commands/workflow.js.map +1 -0
- package/dist/config/manager.d.ts +62 -0
- package/dist/config/manager.d.ts.map +1 -0
- package/dist/config/manager.js +114 -0
- package/dist/config/manager.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/logger.d.ts +19 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +62 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +64 -0
|
@@ -0,0 +1,187 @@
|
|
|
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.initCommand = initCommand;
|
|
7
|
+
const fs_1 = require("fs");
|
|
8
|
+
const path_1 = require("path");
|
|
9
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
10
|
+
const manager_1 = require("../config/manager");
|
|
11
|
+
const logger_1 = require("../utils/logger");
|
|
12
|
+
async function initCommand() {
|
|
13
|
+
logger_1.logger.heading('🚀 AgentSea CLI Setup');
|
|
14
|
+
if (manager_1.configManager.isInitialized()) {
|
|
15
|
+
const { override } = await inquirer_1.default.prompt([
|
|
16
|
+
{
|
|
17
|
+
type: 'confirm',
|
|
18
|
+
name: 'override',
|
|
19
|
+
message: 'Configuration already exists. Do you want to override it?',
|
|
20
|
+
default: false,
|
|
21
|
+
},
|
|
22
|
+
]);
|
|
23
|
+
if (!override) {
|
|
24
|
+
logger_1.logger.info('Setup cancelled');
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const answers = await inquirer_1.default.prompt([
|
|
29
|
+
{
|
|
30
|
+
type: 'list',
|
|
31
|
+
name: 'providerType',
|
|
32
|
+
message: 'What type of provider do you want to use?',
|
|
33
|
+
choices: [
|
|
34
|
+
{ name: 'Cloud Provider (Anthropic, OpenAI, Gemini)', value: 'cloud' },
|
|
35
|
+
{ name: 'Local Provider (Ollama, LM Studio, LocalAI)', value: 'local' },
|
|
36
|
+
],
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
type: 'list',
|
|
40
|
+
name: 'cloudProvider',
|
|
41
|
+
message: 'Which cloud provider?',
|
|
42
|
+
choices: [
|
|
43
|
+
{ name: 'Anthropic (Claude)', value: 'anthropic' },
|
|
44
|
+
{ name: 'OpenAI (GPT)', value: 'openai' },
|
|
45
|
+
{ name: 'Google (Gemini)', value: 'gemini' },
|
|
46
|
+
],
|
|
47
|
+
when: (answers) => answers.providerType === 'cloud',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
type: 'password',
|
|
51
|
+
name: 'apiKey',
|
|
52
|
+
message: (answers) => `Enter your ${answers.cloudProvider} API key:`,
|
|
53
|
+
when: (answers) => answers.providerType === 'cloud',
|
|
54
|
+
validate: (input) => input.length > 0 || 'API key is required',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
type: 'list',
|
|
58
|
+
name: 'localProvider',
|
|
59
|
+
message: 'Which local provider?',
|
|
60
|
+
choices: [
|
|
61
|
+
{ name: 'Ollama (Recommended)', value: 'ollama' },
|
|
62
|
+
{ name: 'LM Studio', value: 'lmstudio' },
|
|
63
|
+
{ name: 'LocalAI', value: 'localai' },
|
|
64
|
+
],
|
|
65
|
+
when: (answers) => answers.providerType === 'local',
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
type: 'input',
|
|
69
|
+
name: 'baseUrl',
|
|
70
|
+
message: 'Enter the base URL for the local provider:',
|
|
71
|
+
default: (answers) => {
|
|
72
|
+
switch (answers.localProvider) {
|
|
73
|
+
case 'ollama':
|
|
74
|
+
return 'http://localhost:11434';
|
|
75
|
+
case 'lmstudio':
|
|
76
|
+
return 'http://localhost:1234';
|
|
77
|
+
case 'localai':
|
|
78
|
+
return 'http://localhost:8080';
|
|
79
|
+
default:
|
|
80
|
+
return '';
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
when: (answers) => answers.providerType === 'local',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'confirm',
|
|
87
|
+
name: 'createAgent',
|
|
88
|
+
message: 'Do you want to create a default agent?',
|
|
89
|
+
default: true,
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
type: 'input',
|
|
93
|
+
name: 'agentName',
|
|
94
|
+
message: 'Agent name:',
|
|
95
|
+
default: 'default',
|
|
96
|
+
when: (answers) => answers.createAgent,
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
type: 'input',
|
|
100
|
+
name: 'agentModel',
|
|
101
|
+
message: 'Model name:',
|
|
102
|
+
default: (answers) => {
|
|
103
|
+
if (answers.cloudProvider === 'anthropic')
|
|
104
|
+
return 'claude-sonnet-4-20250514';
|
|
105
|
+
if (answers.cloudProvider === 'openai')
|
|
106
|
+
return 'gpt-4-turbo-preview';
|
|
107
|
+
if (answers.cloudProvider === 'gemini')
|
|
108
|
+
return 'gemini-pro';
|
|
109
|
+
if (answers.localProvider === 'ollama')
|
|
110
|
+
return 'llama2';
|
|
111
|
+
return 'local-model';
|
|
112
|
+
},
|
|
113
|
+
when: (answers) => answers.createAgent,
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
type: 'input',
|
|
117
|
+
name: 'agentSystemPrompt',
|
|
118
|
+
message: 'System prompt (optional):',
|
|
119
|
+
default: 'You are a helpful AI assistant.',
|
|
120
|
+
when: (answers) => answers.createAgent,
|
|
121
|
+
},
|
|
122
|
+
]);
|
|
123
|
+
logger_1.logger.blank();
|
|
124
|
+
logger_1.logger.subheading('Setting up configuration...');
|
|
125
|
+
const providerType = answers.providerType === 'cloud'
|
|
126
|
+
? answers.cloudProvider
|
|
127
|
+
: answers.localProvider === 'ollama'
|
|
128
|
+
? 'ollama'
|
|
129
|
+
: 'openai-compatible';
|
|
130
|
+
const providerName = answers.providerType === 'cloud'
|
|
131
|
+
? answers.cloudProvider
|
|
132
|
+
: answers.localProvider;
|
|
133
|
+
manager_1.configManager.setProvider(providerName, {
|
|
134
|
+
name: providerName,
|
|
135
|
+
type: providerType,
|
|
136
|
+
apiKey: answers.apiKey,
|
|
137
|
+
baseUrl: answers.baseUrl,
|
|
138
|
+
timeout: 60000,
|
|
139
|
+
});
|
|
140
|
+
logger_1.logger.success(`Provider "${providerName}" configured`);
|
|
141
|
+
manager_1.configManager.setDefaultProvider(providerName);
|
|
142
|
+
logger_1.logger.success(`Set "${providerName}" as default provider`);
|
|
143
|
+
if (answers.providerType === 'cloud' && answers.apiKey) {
|
|
144
|
+
const envVarName = `${answers.cloudProvider.toUpperCase()}_API_KEY`;
|
|
145
|
+
const envContent = `${envVarName}=${answers.apiKey}\n`;
|
|
146
|
+
try {
|
|
147
|
+
(0, fs_1.writeFileSync)((0, path_1.join)(process.cwd(), '.env'), envContent);
|
|
148
|
+
logger_1.logger.success('Created .env file with API key');
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
logger_1.logger.warn('Could not create .env file. Please create it manually.');
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
if (answers.createAgent && answers.agentName) {
|
|
155
|
+
manager_1.configManager.setAgent(answers.agentName, {
|
|
156
|
+
name: answers.agentName,
|
|
157
|
+
description: 'Default agent',
|
|
158
|
+
model: answers.agentModel,
|
|
159
|
+
provider: providerName,
|
|
160
|
+
systemPrompt: answers.agentSystemPrompt,
|
|
161
|
+
temperature: 0.7,
|
|
162
|
+
maxTokens: 2048,
|
|
163
|
+
});
|
|
164
|
+
logger_1.logger.success(`Agent "${answers.agentName}" created`);
|
|
165
|
+
manager_1.configManager.setDefaultAgent(answers.agentName);
|
|
166
|
+
logger_1.logger.success(`Set "${answers.agentName}" as default agent`);
|
|
167
|
+
}
|
|
168
|
+
logger_1.logger.blank();
|
|
169
|
+
logger_1.logger.heading('✨ Setup Complete!');
|
|
170
|
+
logger_1.logger.info('Configuration saved to:');
|
|
171
|
+
logger_1.logger.code(` ${manager_1.configManager.getConfigPath()}`);
|
|
172
|
+
logger_1.logger.blank();
|
|
173
|
+
logger_1.logger.subheading('Next steps:');
|
|
174
|
+
if (answers.providerType === 'local' && answers.localProvider === 'ollama') {
|
|
175
|
+
logger_1.logger.listItem('Make sure Ollama is running: ollama serve');
|
|
176
|
+
logger_1.logger.listItem(`Pull a model: ollama pull ${answers.agentModel || 'llama2'}`);
|
|
177
|
+
}
|
|
178
|
+
logger_1.logger.listItem('Start chatting: agentsea chat');
|
|
179
|
+
logger_1.logger.listItem('Run an agent: agentsea agent run <agent-name> "Your message"');
|
|
180
|
+
logger_1.logger.listItem('List agents: agentsea agent list');
|
|
181
|
+
logger_1.logger.listItem('List providers: agentsea provider list');
|
|
182
|
+
if (answers.providerType === 'local' && answers.localProvider === 'ollama') {
|
|
183
|
+
logger_1.logger.listItem('List available models: agentsea model list');
|
|
184
|
+
}
|
|
185
|
+
logger_1.logger.blank();
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function listMCPServersCommand(): void;
|
|
2
|
+
export declare function getMCPServerCommand(name: string): void;
|
|
3
|
+
export declare function addMCPServerCommand(): Promise<void>;
|
|
4
|
+
export declare function deleteMCPServerCommand(name: string): Promise<void>;
|
|
5
|
+
export declare function showPopularMCPServersCommand(): void;
|
|
6
|
+
//# sourceMappingURL=mcp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAcA,wBAAgB,qBAAqB,IAAI,IAAI,CA2B5C;AAKD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAiCtD;AAKD,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CA0CzD;AAKD,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BxE;AAKD,wBAAgB,4BAA4B,IAAI,IAAI,CA6CnD"}
|
|
@@ -0,0 +1,167 @@
|
|
|
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.listMCPServersCommand = listMCPServersCommand;
|
|
7
|
+
exports.getMCPServerCommand = getMCPServerCommand;
|
|
8
|
+
exports.addMCPServerCommand = addMCPServerCommand;
|
|
9
|
+
exports.deleteMCPServerCommand = deleteMCPServerCommand;
|
|
10
|
+
exports.showPopularMCPServersCommand = showPopularMCPServersCommand;
|
|
11
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
12
|
+
const manager_1 = require("../config/manager");
|
|
13
|
+
const logger_1 = require("../utils/logger");
|
|
14
|
+
function listMCPServersCommand() {
|
|
15
|
+
logger_1.logger.heading('🔌 MCP Servers');
|
|
16
|
+
logger_1.logger.blank();
|
|
17
|
+
const config = manager_1.configManager.getConfig();
|
|
18
|
+
const servers = config.mcpServers || {};
|
|
19
|
+
if (Object.keys(servers).length === 0) {
|
|
20
|
+
logger_1.logger.info('No MCP servers configured');
|
|
21
|
+
logger_1.logger.blank();
|
|
22
|
+
logger_1.logger.info('Add a server with: agentsea mcp add');
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
Object.entries(servers).forEach(([name, serverConfig]) => {
|
|
26
|
+
logger_1.logger.subheading(name);
|
|
27
|
+
logger_1.logger.keyValue(' Command', serverConfig.command);
|
|
28
|
+
if (serverConfig.args) {
|
|
29
|
+
logger_1.logger.keyValue(' Args', serverConfig.args?.join(' ') || '');
|
|
30
|
+
}
|
|
31
|
+
logger_1.logger.blank();
|
|
32
|
+
});
|
|
33
|
+
logger_1.logger.info(`Total: ${Object.keys(servers).length} servers`);
|
|
34
|
+
}
|
|
35
|
+
function getMCPServerCommand(name) {
|
|
36
|
+
logger_1.logger.heading(`🔌 MCP Server: ${name}`);
|
|
37
|
+
logger_1.logger.blank();
|
|
38
|
+
const config = manager_1.configManager.getConfig();
|
|
39
|
+
const servers = config.mcpServers || {};
|
|
40
|
+
const server = servers[name];
|
|
41
|
+
if (!server) {
|
|
42
|
+
logger_1.logger.error(`MCP server "${name}" not found`);
|
|
43
|
+
logger_1.logger.info('Available servers:');
|
|
44
|
+
Object.keys(servers).forEach((serverName) => {
|
|
45
|
+
logger_1.logger.listItem(serverName);
|
|
46
|
+
});
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
logger_1.logger.keyValue('Name', name);
|
|
50
|
+
logger_1.logger.keyValue('Command', server.command);
|
|
51
|
+
if (server.args && server.args.length > 0) {
|
|
52
|
+
logger_1.logger.keyValue('Args', server.args.join(' '));
|
|
53
|
+
}
|
|
54
|
+
if (server.env && Object.keys(server.env).length > 0) {
|
|
55
|
+
logger_1.logger.blank();
|
|
56
|
+
logger_1.logger.subheading('Environment Variables');
|
|
57
|
+
Object.entries(server.env).forEach(([key, value]) => {
|
|
58
|
+
logger_1.logger.keyValue(` ${key}`, value);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
logger_1.logger.blank();
|
|
62
|
+
}
|
|
63
|
+
async function addMCPServerCommand() {
|
|
64
|
+
logger_1.logger.heading('➕ Add MCP Server');
|
|
65
|
+
logger_1.logger.blank();
|
|
66
|
+
const answers = await inquirer_1.default.prompt([
|
|
67
|
+
{
|
|
68
|
+
type: 'input',
|
|
69
|
+
name: 'name',
|
|
70
|
+
message: 'Server name:',
|
|
71
|
+
validate: (input) => input.trim().length > 0 || 'Name is required',
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
type: 'input',
|
|
75
|
+
name: 'command',
|
|
76
|
+
message: 'Command to run:',
|
|
77
|
+
validate: (input) => input.trim().length > 0 || 'Command is required',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
type: 'input',
|
|
81
|
+
name: 'args',
|
|
82
|
+
message: 'Arguments (space-separated, optional):',
|
|
83
|
+
},
|
|
84
|
+
]);
|
|
85
|
+
const config = manager_1.configManager.getConfig();
|
|
86
|
+
if (!config.mcpServers) {
|
|
87
|
+
config.mcpServers = {};
|
|
88
|
+
}
|
|
89
|
+
const serverConfig = {
|
|
90
|
+
command: answers.command.trim(),
|
|
91
|
+
};
|
|
92
|
+
if (answers.args && answers.args.trim()) {
|
|
93
|
+
serverConfig.args = answers.args.trim().split(' ');
|
|
94
|
+
}
|
|
95
|
+
config.mcpServers[answers.name] = serverConfig;
|
|
96
|
+
manager_1.configManager.saveConfig(config);
|
|
97
|
+
logger_1.logger.blank();
|
|
98
|
+
logger_1.logger.success(`MCP server "${answers.name}" added successfully`);
|
|
99
|
+
}
|
|
100
|
+
async function deleteMCPServerCommand(name) {
|
|
101
|
+
const config = manager_1.configManager.getConfig();
|
|
102
|
+
const servers = config.mcpServers || {};
|
|
103
|
+
if (!servers[name]) {
|
|
104
|
+
logger_1.logger.error(`MCP server "${name}" not found`);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
const { confirm } = await inquirer_1.default.prompt([
|
|
108
|
+
{
|
|
109
|
+
type: 'confirm',
|
|
110
|
+
name: 'confirm',
|
|
111
|
+
message: `Are you sure you want to delete MCP server "${name}"?`,
|
|
112
|
+
default: false,
|
|
113
|
+
},
|
|
114
|
+
]);
|
|
115
|
+
if (!confirm) {
|
|
116
|
+
logger_1.logger.info('Cancelled');
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
delete servers[name];
|
|
120
|
+
config.mcpServers = servers;
|
|
121
|
+
manager_1.configManager.saveConfig(config);
|
|
122
|
+
logger_1.logger.success(`MCP server "${name}" deleted`);
|
|
123
|
+
}
|
|
124
|
+
function showPopularMCPServersCommand() {
|
|
125
|
+
logger_1.logger.heading('⭐ Popular MCP Servers');
|
|
126
|
+
logger_1.logger.blank();
|
|
127
|
+
const popularServers = [
|
|
128
|
+
{
|
|
129
|
+
name: 'filesystem',
|
|
130
|
+
description: 'File system operations (read, write, search)',
|
|
131
|
+
command: 'npx',
|
|
132
|
+
args: '@modelcontextprotocol/server-filesystem',
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
name: 'github',
|
|
136
|
+
description: 'GitHub repository operations',
|
|
137
|
+
command: 'npx',
|
|
138
|
+
args: '@modelcontextprotocol/server-github',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
name: 'brave-search',
|
|
142
|
+
description: 'Web search using Brave Search API',
|
|
143
|
+
command: 'npx',
|
|
144
|
+
args: '@modelcontextprotocol/server-brave-search',
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
name: 'postgres',
|
|
148
|
+
description: 'PostgreSQL database operations',
|
|
149
|
+
command: 'npx',
|
|
150
|
+
args: '@modelcontextprotocol/server-postgres',
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
name: 'puppeteer',
|
|
154
|
+
description: 'Browser automation and web scraping',
|
|
155
|
+
command: 'npx',
|
|
156
|
+
args: '@modelcontextprotocol/server-puppeteer',
|
|
157
|
+
},
|
|
158
|
+
];
|
|
159
|
+
popularServers.forEach((server) => {
|
|
160
|
+
logger_1.logger.subheading(server.name);
|
|
161
|
+
logger_1.logger.log(` ${server.description}`);
|
|
162
|
+
logger_1.logger.keyValue(' Install', `${server.command} ${server.args}`);
|
|
163
|
+
logger_1.logger.blank();
|
|
164
|
+
});
|
|
165
|
+
logger_1.logger.info('Install with: agentsea mcp add');
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=mcp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function listModelsCommand(providerName?: string): Promise<void>;
|
|
2
|
+
export declare function pullModelCommand(modelName: string, providerName?: string): Promise<void>;
|
|
3
|
+
export declare function showPopularModelsCommand(): void;
|
|
4
|
+
//# sourceMappingURL=model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/commands/model.ts"],"names":[],"mappings":"AAUA,wBAAsB,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwD5E;AAKD,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAKD,wBAAgB,wBAAwB,IAAI,IAAI,CAqB/C"}
|
|
@@ -0,0 +1,107 @@
|
|
|
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.listModelsCommand = listModelsCommand;
|
|
7
|
+
exports.pullModelCommand = pullModelCommand;
|
|
8
|
+
exports.showPopularModelsCommand = showPopularModelsCommand;
|
|
9
|
+
const agentsea_core_1 = require("@lov3kaizen/agentsea-core");
|
|
10
|
+
const ora_1 = __importDefault(require("ora"));
|
|
11
|
+
const table_1 = require("table");
|
|
12
|
+
const manager_1 = require("../config/manager");
|
|
13
|
+
const logger_1 = require("../utils/logger");
|
|
14
|
+
async function listModelsCommand(providerName) {
|
|
15
|
+
const name = providerName || manager_1.configManager.getDefaultProvider();
|
|
16
|
+
if (!name) {
|
|
17
|
+
logger_1.logger.error('No provider specified and no default provider configured');
|
|
18
|
+
logger_1.logger.info('Specify a provider: agentsea model list --provider <name>');
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const providerConfig = manager_1.configManager.getProvider(name);
|
|
22
|
+
if (!providerConfig) {
|
|
23
|
+
logger_1.logger.error(`Provider "${name}" not found`);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
if (providerConfig.type !== 'ollama') {
|
|
27
|
+
logger_1.logger.error('Model listing is only supported for Ollama providers');
|
|
28
|
+
logger_1.logger.info('For other providers, refer to their documentation for available models');
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const spinner = (0, ora_1.default)('Fetching models...').start();
|
|
32
|
+
try {
|
|
33
|
+
const provider = new agentsea_core_1.OllamaProvider({
|
|
34
|
+
baseUrl: providerConfig.baseUrl,
|
|
35
|
+
});
|
|
36
|
+
const models = await provider.listModels();
|
|
37
|
+
spinner.stop();
|
|
38
|
+
if (models.length === 0) {
|
|
39
|
+
logger_1.logger.warn('No models found');
|
|
40
|
+
logger_1.logger.info('Pull a model: agentsea model pull llama2');
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
logger_1.logger.heading(`Available Models (${providerConfig.name})`);
|
|
44
|
+
const data = [['Model Name'], ...models.map((model) => [model])];
|
|
45
|
+
console.log((0, table_1.table)(data));
|
|
46
|
+
logger_1.logger.blank();
|
|
47
|
+
logger_1.logger.info(`Total models: ${models.length}`);
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
spinner.stop();
|
|
51
|
+
logger_1.logger.error('Failed to list models', error);
|
|
52
|
+
logger_1.logger.info('Make sure Ollama is running: ollama serve');
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
async function pullModelCommand(modelName, providerName) {
|
|
56
|
+
const name = providerName || manager_1.configManager.getDefaultProvider();
|
|
57
|
+
if (!name) {
|
|
58
|
+
logger_1.logger.error('No provider specified and no default provider configured');
|
|
59
|
+
logger_1.logger.info('Specify a provider: agentsea model pull <model> --provider <name>');
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const providerConfig = manager_1.configManager.getProvider(name);
|
|
63
|
+
if (!providerConfig) {
|
|
64
|
+
logger_1.logger.error(`Provider "${name}" not found`);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
if (providerConfig.type !== 'ollama') {
|
|
68
|
+
logger_1.logger.error('Model pulling is only supported for Ollama providers');
|
|
69
|
+
logger_1.logger.info('For other providers, refer to their documentation');
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const spinner = (0, ora_1.default)(`Pulling model "${modelName}"...`).start();
|
|
73
|
+
try {
|
|
74
|
+
const provider = new agentsea_core_1.OllamaProvider({
|
|
75
|
+
baseUrl: providerConfig.baseUrl,
|
|
76
|
+
});
|
|
77
|
+
await provider.pullModel(modelName);
|
|
78
|
+
spinner.stop();
|
|
79
|
+
logger_1.logger.success(`Model "${modelName}" pulled successfully`);
|
|
80
|
+
logger_1.logger.info(`You can now use this model in your agents`);
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
spinner.stop();
|
|
84
|
+
logger_1.logger.error('Failed to pull model', error);
|
|
85
|
+
logger_1.logger.info('Make sure Ollama is running: ollama serve');
|
|
86
|
+
logger_1.logger.info(`Check if the model exists: https://ollama.ai/library/${modelName}`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function showPopularModelsCommand() {
|
|
90
|
+
logger_1.logger.heading('Popular Ollama Models');
|
|
91
|
+
logger_1.logger.subheading('General Purpose');
|
|
92
|
+
logger_1.logger.listItem("llama2 (7B, 13B, 70B) - Meta's Llama 2");
|
|
93
|
+
logger_1.logger.listItem("llama3 (8B, 70B) - Meta's Llama 3 (improved)");
|
|
94
|
+
logger_1.logger.listItem('mistral (7B) - Excellent quality-to-size ratio');
|
|
95
|
+
logger_1.logger.listItem('mixtral (8x7B) - High quality, mixture of experts');
|
|
96
|
+
logger_1.logger.subheading('Coding');
|
|
97
|
+
logger_1.logger.listItem('codellama (7B, 13B, 34B) - Specialized for code');
|
|
98
|
+
logger_1.logger.listItem('deepseek-coder (6.7B, 33B) - Excellent coding performance');
|
|
99
|
+
logger_1.logger.subheading('Fast & Lightweight');
|
|
100
|
+
logger_1.logger.listItem("phi (2.7B) - Microsoft's compact model");
|
|
101
|
+
logger_1.logger.listItem("gemma (2B, 7B) - Google's efficient models");
|
|
102
|
+
logger_1.logger.listItem('tinyllama (1.1B) - Very fast, limited capability');
|
|
103
|
+
logger_1.logger.blank();
|
|
104
|
+
logger_1.logger.info('To pull a model: agentsea model pull <model-name>');
|
|
105
|
+
logger_1.logger.info('Example: agentsea model pull llama2');
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/commands/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function listProvidersCommand(): void;
|
|
2
|
+
export declare function getProviderCommand(name: string): void;
|
|
3
|
+
export declare function addProviderCommand(): Promise<void>;
|
|
4
|
+
export declare function deleteProviderCommand(name: string): Promise<void>;
|
|
5
|
+
export declare function setDefaultProviderCommand(name: string): void;
|
|
6
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/commands/provider.ts"],"names":[],"mappings":"AASA,wBAAgB,oBAAoB,IAAI,IAAI,CAuB3C;AAKD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAmBrD;AAKD,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CA+ExD;AAKD,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CvE;AAKD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAU5D"}
|