jiva-core 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/.env.example +18 -0
- package/.fluen/cache/state.json +7 -0
- package/README.md +350 -0
- package/actions/action_registry.py +75 -0
- package/actions/python_coder.py +470 -0
- package/api/main.py +269 -0
- package/dist/core/agent.d.ts +69 -0
- package/dist/core/agent.d.ts.map +1 -0
- package/dist/core/agent.js +214 -0
- package/dist/core/agent.js.map +1 -0
- package/dist/core/config.d.ts +222 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +138 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/workspace.d.ts +53 -0
- package/dist/core/workspace.d.ts.map +1 -0
- package/dist/core/workspace.js +164 -0
- package/dist/core/workspace.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/cli/index.d.ts +6 -0
- package/dist/interfaces/cli/index.d.ts.map +1 -0
- package/dist/interfaces/cli/index.js +257 -0
- package/dist/interfaces/cli/index.js.map +1 -0
- package/dist/interfaces/cli/repl.d.ts +9 -0
- package/dist/interfaces/cli/repl.d.ts.map +1 -0
- package/dist/interfaces/cli/repl.js +139 -0
- package/dist/interfaces/cli/repl.js.map +1 -0
- package/dist/interfaces/cli/setup-wizard.d.ts +9 -0
- package/dist/interfaces/cli/setup-wizard.d.ts.map +1 -0
- package/dist/interfaces/cli/setup-wizard.js +321 -0
- package/dist/interfaces/cli/setup-wizard.js.map +1 -0
- package/dist/mcp/client.d.ts +58 -0
- package/dist/mcp/client.d.ts.map +1 -0
- package/dist/mcp/client.js +178 -0
- package/dist/mcp/client.js.map +1 -0
- package/dist/mcp/server-manager.d.ts +58 -0
- package/dist/mcp/server-manager.d.ts.map +1 -0
- package/dist/mcp/server-manager.js +135 -0
- package/dist/mcp/server-manager.js.map +1 -0
- package/dist/models/base.d.ts +57 -0
- package/dist/models/base.d.ts.map +1 -0
- package/dist/models/base.js +5 -0
- package/dist/models/base.js.map +1 -0
- package/dist/models/harmony.d.ts +78 -0
- package/dist/models/harmony.d.ts.map +1 -0
- package/dist/models/harmony.js +226 -0
- package/dist/models/harmony.js.map +1 -0
- package/dist/models/krutrim.d.ts +30 -0
- package/dist/models/krutrim.d.ts.map +1 -0
- package/dist/models/krutrim.js +185 -0
- package/dist/models/krutrim.js.map +1 -0
- package/dist/models/orchestrator.d.ts +49 -0
- package/dist/models/orchestrator.d.ts.map +1 -0
- package/dist/models/orchestrator.js +140 -0
- package/dist/models/orchestrator.js.map +1 -0
- package/dist/utils/errors.d.ts +23 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +45 -0
- package/dist/utils/errors.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 +74 -0
- package/dist/utils/logger.js.map +1 -0
- package/docs/BUILD.md +317 -0
- package/docs/DEV_WORKFLOW.md +197 -0
- package/docs/FILESYSTEM_ACCESS.md +244 -0
- package/docs/IMPLEMENTATION_SUMMARY.md +459 -0
- package/docs/QUICKSTART.md +162 -0
- package/docs/TROUBLESHOOTING.md +393 -0
- package/examples/code-review-directive.md +26 -0
- package/examples/data-analysis-directive.md +26 -0
- package/examples/programmatic-usage.ts +120 -0
- package/jiva-directive.md +24 -0
- package/package.json +46 -0
- package/setup.sh +65 -0
- package/src/core/agent.ts +275 -0
- package/src/core/config.ts +177 -0
- package/src/core/workspace.ts +205 -0
- package/src/index.ts +21 -0
- package/src/interfaces/cli/index.ts +290 -0
- package/src/interfaces/cli/repl.ts +182 -0
- package/src/interfaces/cli/setup-wizard.ts +355 -0
- package/src/mcp/client.ts +231 -0
- package/src/mcp/server-manager.ts +168 -0
- package/src/models/base.ts +63 -0
- package/src/models/harmony.ts +301 -0
- package/src/models/krutrim.ts +236 -0
- package/src/models/orchestrator.ts +180 -0
- package/src/utils/errors.ts +41 -0
- package/src/utils/logger.ts +87 -0
- package/tsconfig.json +22 -0
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Jiva CLI Entry Point
|
|
4
|
+
*/
|
|
5
|
+
import { Command } from 'commander';
|
|
6
|
+
import chalk from 'chalk';
|
|
7
|
+
import { configManager } from '../../core/config.js';
|
|
8
|
+
import { createKrutrimModel } from '../../models/krutrim.js';
|
|
9
|
+
import { ModelOrchestrator } from '../../models/orchestrator.js';
|
|
10
|
+
import { MCPServerManager } from '../../mcp/server-manager.js';
|
|
11
|
+
import { WorkspaceManager } from '../../core/workspace.js';
|
|
12
|
+
import { JivaAgent } from '../../core/agent.js';
|
|
13
|
+
import { runSetupWizard, updateConfiguration } from './setup-wizard.js';
|
|
14
|
+
import { startREPL } from './repl.js';
|
|
15
|
+
import { logger, LogLevel } from '../../utils/logger.js';
|
|
16
|
+
import { readFileSync } from 'fs';
|
|
17
|
+
import { dirname, join } from 'path';
|
|
18
|
+
import { fileURLToPath } from 'url';
|
|
19
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
20
|
+
const __dirname = dirname(__filename);
|
|
21
|
+
// Read package.json for version
|
|
22
|
+
const packageJson = JSON.parse(readFileSync(join(__dirname, '../../../package.json'), 'utf-8'));
|
|
23
|
+
const program = new Command();
|
|
24
|
+
program
|
|
25
|
+
.name('jiva')
|
|
26
|
+
.description('Versatile autonomous AI agent powered by gpt-oss-120b')
|
|
27
|
+
.version(packageJson.version);
|
|
28
|
+
program
|
|
29
|
+
.command('setup')
|
|
30
|
+
.description('Run the setup wizard to configure Jiva')
|
|
31
|
+
.action(async () => {
|
|
32
|
+
try {
|
|
33
|
+
await runSetupWizard();
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
logger.error('Setup failed', error);
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
program
|
|
41
|
+
.command('config')
|
|
42
|
+
.description('Update Jiva configuration')
|
|
43
|
+
.action(async () => {
|
|
44
|
+
try {
|
|
45
|
+
if (!configManager.isConfigured()) {
|
|
46
|
+
console.log(chalk.yellow('Jiva is not configured. Running setup wizard...\n'));
|
|
47
|
+
await runSetupWizard();
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
await updateConfiguration();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
logger.error('Configuration update failed', error);
|
|
55
|
+
process.exit(1);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
program
|
|
59
|
+
.command('chat')
|
|
60
|
+
.description('Start interactive chat with Jiva')
|
|
61
|
+
.option('-w, --workspace <path>', 'Workspace directory', process.cwd())
|
|
62
|
+
.option('-d, --directive <path>', 'Path to jiva-directive.md file')
|
|
63
|
+
.option('--debug', 'Enable debug mode')
|
|
64
|
+
.option('-t, --temperature <value>', 'Model temperature (0-1)', parseFloat)
|
|
65
|
+
.option('--max-iterations <number>', 'Maximum agent iterations', parseInt)
|
|
66
|
+
.action(async (options) => {
|
|
67
|
+
try {
|
|
68
|
+
// Check configuration
|
|
69
|
+
if (!configManager.isConfigured()) {
|
|
70
|
+
console.log(chalk.yellow('Jiva is not configured. Running setup wizard...\n'));
|
|
71
|
+
await runSetupWizard();
|
|
72
|
+
}
|
|
73
|
+
// Set debug mode if requested
|
|
74
|
+
if (options.debug) {
|
|
75
|
+
logger.setLogLevel(LogLevel.DEBUG);
|
|
76
|
+
}
|
|
77
|
+
else if (configManager.isDebug()) {
|
|
78
|
+
logger.setLogLevel(LogLevel.DEBUG);
|
|
79
|
+
}
|
|
80
|
+
// Validate configuration
|
|
81
|
+
configManager.validateConfig();
|
|
82
|
+
// Create models
|
|
83
|
+
const reasoningModelConfig = configManager.getReasoningModel();
|
|
84
|
+
const reasoningModel = createKrutrimModel({
|
|
85
|
+
endpoint: reasoningModelConfig.endpoint,
|
|
86
|
+
apiKey: reasoningModelConfig.apiKey,
|
|
87
|
+
model: reasoningModelConfig.defaultModel,
|
|
88
|
+
type: 'reasoning',
|
|
89
|
+
});
|
|
90
|
+
let multimodalModel;
|
|
91
|
+
const multimodalModelConfig = configManager.getMultimodalModel();
|
|
92
|
+
if (multimodalModelConfig) {
|
|
93
|
+
multimodalModel = createKrutrimModel({
|
|
94
|
+
endpoint: multimodalModelConfig.endpoint,
|
|
95
|
+
apiKey: multimodalModelConfig.apiKey,
|
|
96
|
+
model: multimodalModelConfig.defaultModel,
|
|
97
|
+
type: 'multimodal',
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
// Create orchestrator
|
|
101
|
+
const orchestrator = new ModelOrchestrator({
|
|
102
|
+
reasoningModel,
|
|
103
|
+
multimodalModel,
|
|
104
|
+
});
|
|
105
|
+
// Determine workspace directory first
|
|
106
|
+
const workspaceDir = options.workspace || process.cwd();
|
|
107
|
+
// Update filesystem MCP server to allow broad filesystem access
|
|
108
|
+
// The workspace is the default working area, but Jiva can access any files
|
|
109
|
+
// subject to OS permissions
|
|
110
|
+
const mcpServers = configManager.getMCPServers();
|
|
111
|
+
if (mcpServers['filesystem']) {
|
|
112
|
+
// Note: The filesystem MCP server rejects "/" as a security measure
|
|
113
|
+
// Use /Users on macOS/Linux to allow access to all user directories
|
|
114
|
+
// Use C:\Users on Windows
|
|
115
|
+
const allowedPath = process.platform === 'win32' ? 'C:\\Users' : '/Users';
|
|
116
|
+
mcpServers['filesystem'].args = [
|
|
117
|
+
'-y',
|
|
118
|
+
'@modelcontextprotocol/server-filesystem',
|
|
119
|
+
allowedPath
|
|
120
|
+
];
|
|
121
|
+
logger.debug(`Filesystem server args set to: ${JSON.stringify(mcpServers['filesystem'].args)}`);
|
|
122
|
+
logger.debug(`Allowed path: "${allowedPath}"`);
|
|
123
|
+
}
|
|
124
|
+
// Initialize MCP servers with updated paths
|
|
125
|
+
const mcpManager = new MCPServerManager();
|
|
126
|
+
await mcpManager.initialize(mcpServers);
|
|
127
|
+
// Initialize workspace
|
|
128
|
+
const workspace = new WorkspaceManager({
|
|
129
|
+
workspaceDir,
|
|
130
|
+
directivePath: options.directive,
|
|
131
|
+
});
|
|
132
|
+
await workspace.initialize();
|
|
133
|
+
// Create agent
|
|
134
|
+
const agent = new JivaAgent({
|
|
135
|
+
orchestrator,
|
|
136
|
+
mcpManager,
|
|
137
|
+
workspace,
|
|
138
|
+
maxIterations: options.maxIterations || 10,
|
|
139
|
+
temperature: options.temperature || 0.7,
|
|
140
|
+
});
|
|
141
|
+
// Start REPL
|
|
142
|
+
await startREPL({ agent });
|
|
143
|
+
// Cleanup
|
|
144
|
+
await agent.cleanup();
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
logger.error('Chat session failed', error);
|
|
148
|
+
process.exit(1);
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
program
|
|
152
|
+
.command('run')
|
|
153
|
+
.description('Run Jiva with a single prompt')
|
|
154
|
+
.argument('<prompt>', 'Prompt to execute')
|
|
155
|
+
.option('-w, --workspace <path>', 'Workspace directory', process.cwd())
|
|
156
|
+
.option('-d, --directive <path>', 'Path to jiva-directive.md file')
|
|
157
|
+
.option('--debug', 'Enable debug mode')
|
|
158
|
+
.option('-t, --temperature <value>', 'Model temperature (0-1)', parseFloat)
|
|
159
|
+
.option('--max-iterations <number>', 'Maximum agent iterations', parseInt)
|
|
160
|
+
.action(async (prompt, options) => {
|
|
161
|
+
try {
|
|
162
|
+
// Check configuration
|
|
163
|
+
if (!configManager.isConfigured()) {
|
|
164
|
+
console.log(chalk.red('✗ Jiva is not configured. Please run: jiva setup\n'));
|
|
165
|
+
process.exit(1);
|
|
166
|
+
}
|
|
167
|
+
// Set debug mode if requested
|
|
168
|
+
if (options.debug) {
|
|
169
|
+
logger.setLogLevel(LogLevel.DEBUG);
|
|
170
|
+
}
|
|
171
|
+
else if (configManager.isDebug()) {
|
|
172
|
+
logger.setLogLevel(LogLevel.DEBUG);
|
|
173
|
+
}
|
|
174
|
+
// Validate configuration
|
|
175
|
+
configManager.validateConfig();
|
|
176
|
+
// Create models
|
|
177
|
+
const reasoningModelConfig = configManager.getReasoningModel();
|
|
178
|
+
const reasoningModel = createKrutrimModel({
|
|
179
|
+
endpoint: reasoningModelConfig.endpoint,
|
|
180
|
+
apiKey: reasoningModelConfig.apiKey,
|
|
181
|
+
model: reasoningModelConfig.defaultModel,
|
|
182
|
+
type: 'reasoning',
|
|
183
|
+
});
|
|
184
|
+
let multimodalModel;
|
|
185
|
+
const multimodalModelConfig = configManager.getMultimodalModel();
|
|
186
|
+
if (multimodalModelConfig) {
|
|
187
|
+
multimodalModel = createKrutrimModel({
|
|
188
|
+
endpoint: multimodalModelConfig.endpoint,
|
|
189
|
+
apiKey: multimodalModelConfig.apiKey,
|
|
190
|
+
model: multimodalModelConfig.defaultModel,
|
|
191
|
+
type: 'multimodal',
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
// Create orchestrator
|
|
195
|
+
const orchestrator = new ModelOrchestrator({
|
|
196
|
+
reasoningModel,
|
|
197
|
+
multimodalModel,
|
|
198
|
+
});
|
|
199
|
+
// Determine workspace directory first
|
|
200
|
+
const workspaceDir = options.workspace || process.cwd();
|
|
201
|
+
// Update filesystem MCP server to allow broad filesystem access
|
|
202
|
+
// The workspace is the default working area, but Jiva can access any files
|
|
203
|
+
// subject to OS permissions
|
|
204
|
+
const mcpServers = configManager.getMCPServers();
|
|
205
|
+
if (mcpServers['filesystem']) {
|
|
206
|
+
// Note: The filesystem MCP server rejects "/" as a security measure
|
|
207
|
+
// Use /Users on macOS/Linux to allow access to all user directories
|
|
208
|
+
// Use C:\Users on Windows
|
|
209
|
+
const allowedPath = process.platform === 'win32' ? 'C:\\Users' : '/Users';
|
|
210
|
+
mcpServers['filesystem'].args = [
|
|
211
|
+
'-y',
|
|
212
|
+
'@modelcontextprotocol/server-filesystem',
|
|
213
|
+
allowedPath
|
|
214
|
+
];
|
|
215
|
+
logger.debug(`Filesystem server args set to: ${JSON.stringify(mcpServers['filesystem'].args)}`);
|
|
216
|
+
logger.debug(`Allowed path: "${allowedPath}"`);
|
|
217
|
+
}
|
|
218
|
+
// Initialize MCP servers with updated paths
|
|
219
|
+
const mcpManager = new MCPServerManager();
|
|
220
|
+
await mcpManager.initialize(mcpServers);
|
|
221
|
+
// Initialize workspace
|
|
222
|
+
const workspace = new WorkspaceManager({
|
|
223
|
+
workspaceDir,
|
|
224
|
+
directivePath: options.directive,
|
|
225
|
+
});
|
|
226
|
+
await workspace.initialize();
|
|
227
|
+
// Create agent
|
|
228
|
+
const agent = new JivaAgent({
|
|
229
|
+
orchestrator,
|
|
230
|
+
mcpManager,
|
|
231
|
+
workspace,
|
|
232
|
+
maxIterations: options.maxIterations || 10,
|
|
233
|
+
temperature: options.temperature || 0.7,
|
|
234
|
+
});
|
|
235
|
+
// Execute prompt
|
|
236
|
+
logger.info('Executing prompt...');
|
|
237
|
+
const response = await agent.chat(prompt);
|
|
238
|
+
console.log('\n' + response.content + '\n');
|
|
239
|
+
if (response.toolsUsed.length > 0) {
|
|
240
|
+
logger.info(`Tools used: ${response.toolsUsed.join(', ')}`);
|
|
241
|
+
}
|
|
242
|
+
logger.info(`Completed in ${response.iterations} iteration(s)`);
|
|
243
|
+
// Cleanup
|
|
244
|
+
await agent.cleanup();
|
|
245
|
+
}
|
|
246
|
+
catch (error) {
|
|
247
|
+
logger.error('Execution failed', error);
|
|
248
|
+
process.exit(1);
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
// Default command (interactive chat)
|
|
252
|
+
program.action(async (options) => {
|
|
253
|
+
// If no command specified, run chat
|
|
254
|
+
await program.parseAsync(['', '', 'chat']);
|
|
255
|
+
});
|
|
256
|
+
program.parse();
|
|
257
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* REPL (Read-Eval-Print Loop) for interactive chat with Jiva agent
|
|
3
|
+
*/
|
|
4
|
+
import { JivaAgent } from '../../core/agent.js';
|
|
5
|
+
export interface REPLOptions {
|
|
6
|
+
agent: JivaAgent;
|
|
7
|
+
}
|
|
8
|
+
export declare function startREPL(options: REPLOptions): Promise<void>;
|
|
9
|
+
//# sourceMappingURL=repl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../../../src/interfaces/cli/repl.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmGnE"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* REPL (Read-Eval-Print Loop) for interactive chat with Jiva agent
|
|
3
|
+
*/
|
|
4
|
+
import inquirer from 'inquirer';
|
|
5
|
+
import chalk from 'chalk';
|
|
6
|
+
import ora from 'ora';
|
|
7
|
+
export async function startREPL(options) {
|
|
8
|
+
const { agent } = options;
|
|
9
|
+
console.log(chalk.bold.cyan('\n🤖 Jiva Agent - Interactive Mode\n'));
|
|
10
|
+
console.log(chalk.gray('Type your message and press Enter. Type "exit" to quit.\n'));
|
|
11
|
+
// Show workspace info
|
|
12
|
+
const workspace = agent.getWorkspace();
|
|
13
|
+
console.log(chalk.gray(`Workspace: ${workspace.getWorkspaceDir()}`));
|
|
14
|
+
if (workspace.hasDirective()) {
|
|
15
|
+
console.log(chalk.gray('✓ Directive loaded'));
|
|
16
|
+
}
|
|
17
|
+
// Show MCP servers
|
|
18
|
+
const mcpManager = agent.getMCPManager();
|
|
19
|
+
const serverStatus = mcpManager.getServerStatus();
|
|
20
|
+
const connectedServers = serverStatus.filter(s => s.connected);
|
|
21
|
+
if (connectedServers.length > 0) {
|
|
22
|
+
console.log(chalk.gray(`MCP Servers: ${connectedServers.map(s => s.name).join(', ')}`));
|
|
23
|
+
const totalTools = connectedServers.reduce((sum, s) => sum + s.toolCount, 0);
|
|
24
|
+
console.log(chalk.gray(`Available tools: ${totalTools}`));
|
|
25
|
+
}
|
|
26
|
+
console.log('');
|
|
27
|
+
// REPL loop
|
|
28
|
+
while (true) {
|
|
29
|
+
const { message } = await inquirer.prompt([
|
|
30
|
+
{
|
|
31
|
+
type: 'input',
|
|
32
|
+
name: 'message',
|
|
33
|
+
message: chalk.bold.blue('You:'),
|
|
34
|
+
prefix: '',
|
|
35
|
+
},
|
|
36
|
+
]);
|
|
37
|
+
const trimmedMessage = message.trim();
|
|
38
|
+
// Handle special commands
|
|
39
|
+
if (trimmedMessage.toLowerCase() === 'exit' || trimmedMessage.toLowerCase() === 'quit') {
|
|
40
|
+
console.log(chalk.gray('\nGoodbye!\n'));
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
if (trimmedMessage.toLowerCase() === 'help') {
|
|
44
|
+
showHelp();
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
if (trimmedMessage.toLowerCase() === 'reset') {
|
|
48
|
+
agent.resetConversation();
|
|
49
|
+
console.log(chalk.yellow('\n✓ Conversation reset\n'));
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
if (trimmedMessage.toLowerCase() === 'history') {
|
|
53
|
+
showHistory(agent);
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
if (trimmedMessage.toLowerCase() === 'tools') {
|
|
57
|
+
showTools(agent);
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
if (trimmedMessage.toLowerCase() === 'servers') {
|
|
61
|
+
showServers(agent);
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
if (!trimmedMessage) {
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
// Process message with agent
|
|
68
|
+
const spinner = ora('Thinking...').start();
|
|
69
|
+
try {
|
|
70
|
+
const response = await agent.chat(trimmedMessage);
|
|
71
|
+
spinner.stop();
|
|
72
|
+
console.log(chalk.bold.green('\nJiva:'));
|
|
73
|
+
console.log(response.content);
|
|
74
|
+
if (response.toolsUsed.length > 0) {
|
|
75
|
+
console.log(chalk.gray(`\n[Used tools: ${response.toolsUsed.join(', ')}]`));
|
|
76
|
+
}
|
|
77
|
+
console.log(chalk.gray(`[Iterations: ${response.iterations}]\n`));
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
spinner.stop();
|
|
81
|
+
console.log(chalk.red('\n✗ Error:'), error instanceof Error ? error.message : String(error));
|
|
82
|
+
console.log('');
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
function showHelp() {
|
|
87
|
+
console.log(chalk.bold('\nAvailable Commands:'));
|
|
88
|
+
console.log(' exit, quit - Exit the REPL');
|
|
89
|
+
console.log(' help - Show this help message');
|
|
90
|
+
console.log(' reset - Reset conversation history');
|
|
91
|
+
console.log(' history - Show conversation history');
|
|
92
|
+
console.log(' tools - Show available tools');
|
|
93
|
+
console.log(' servers - Show MCP server status');
|
|
94
|
+
console.log('');
|
|
95
|
+
}
|
|
96
|
+
function showHistory(agent) {
|
|
97
|
+
const history = agent.getConversationHistory();
|
|
98
|
+
console.log(chalk.bold('\nConversation History:'));
|
|
99
|
+
history.forEach((msg, index) => {
|
|
100
|
+
const roleColor = msg.role === 'user' ? chalk.blue :
|
|
101
|
+
msg.role === 'assistant' ? chalk.green :
|
|
102
|
+
msg.role === 'system' ? chalk.gray :
|
|
103
|
+
chalk.yellow;
|
|
104
|
+
const content = typeof msg.content === 'string'
|
|
105
|
+
? msg.content.substring(0, 100) + (msg.content.length > 100 ? '...' : '')
|
|
106
|
+
: '[complex content]';
|
|
107
|
+
console.log(`${index + 1}. ${roleColor(msg.role)}: ${content}`);
|
|
108
|
+
});
|
|
109
|
+
console.log('');
|
|
110
|
+
}
|
|
111
|
+
function showTools(agent) {
|
|
112
|
+
const tools = agent.getMCPManager().getClient().getAllTools();
|
|
113
|
+
console.log(chalk.bold(`\nAvailable Tools (${tools.length}):`));
|
|
114
|
+
if (tools.length === 0) {
|
|
115
|
+
console.log(chalk.gray(' No tools available'));
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
tools.forEach(tool => {
|
|
119
|
+
console.log(` ${chalk.cyan(tool.name)}: ${tool.description}`);
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
console.log('');
|
|
123
|
+
}
|
|
124
|
+
function showServers(agent) {
|
|
125
|
+
const serverStatus = agent.getMCPManager().getServerStatus();
|
|
126
|
+
console.log(chalk.bold('\nMCP Servers:'));
|
|
127
|
+
if (serverStatus.length === 0) {
|
|
128
|
+
console.log(chalk.gray(' No servers configured'));
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
serverStatus.forEach(server => {
|
|
132
|
+
const status = server.connected ? chalk.green('✓') : chalk.red('✗');
|
|
133
|
+
const enabled = server.enabled ? '' : chalk.gray(' (disabled)');
|
|
134
|
+
console.log(` ${status} ${server.name}: ${server.toolCount} tools${enabled}`);
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
console.log('');
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=repl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../../../src/interfaces/cli/repl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Setup Wizard for first-time configuration
|
|
3
|
+
*/
|
|
4
|
+
export declare function runSetupWizard(): Promise<void>;
|
|
5
|
+
/**
|
|
6
|
+
* Update existing configuration interactively
|
|
7
|
+
*/
|
|
8
|
+
export declare function updateConfiguration(): Promise<void>;
|
|
9
|
+
//# sourceMappingURL=setup-wizard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-wizard.d.ts","sourceRoot":"","sources":["../../../src/interfaces/cli/setup-wizard.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA6HpD;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CA2CzD"}
|