@calliopelabs/cli 0.4.6 → 0.6.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 +258 -105
- package/dist/branching.d.ts +56 -0
- package/dist/branching.d.ts.map +1 -0
- package/dist/branching.js +211 -0
- package/dist/branching.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +235 -2
- package/dist/cli.js.map +1 -1
- package/dist/completion.d.ts +75 -0
- package/dist/completion.d.ts.map +1 -0
- package/dist/completion.js +234 -0
- package/dist/completion.js.map +1 -0
- package/dist/config.d.ts +36 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +90 -0
- package/dist/config.js.map +1 -1
- package/dist/diff.d.ts +73 -0
- package/dist/diff.d.ts.map +1 -0
- package/dist/diff.js +317 -0
- package/dist/diff.js.map +1 -0
- package/dist/errors.d.ts +41 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +199 -0
- package/dist/errors.js.map +1 -0
- package/dist/file-watcher.d.ts +91 -0
- package/dist/file-watcher.d.ts.map +1 -0
- package/dist/file-watcher.js +269 -0
- package/dist/file-watcher.js.map +1 -0
- package/dist/files.d.ts +49 -0
- package/dist/files.d.ts.map +1 -0
- package/dist/files.js +191 -0
- package/dist/files.js.map +1 -0
- package/dist/fuzzy-search.d.ts +75 -0
- package/dist/fuzzy-search.d.ts.map +1 -0
- package/dist/fuzzy-search.js +240 -0
- package/dist/fuzzy-search.js.map +1 -0
- package/dist/hooks.d.ts +79 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +271 -0
- package/dist/hooks.js.map +1 -0
- package/dist/keyboard.d.ts +57 -0
- package/dist/keyboard.d.ts.map +1 -0
- package/dist/keyboard.js +265 -0
- package/dist/keyboard.js.map +1 -0
- package/dist/markdown.d.ts +14 -0
- package/dist/markdown.d.ts.map +1 -0
- package/dist/markdown.js +248 -0
- package/dist/markdown.js.map +1 -0
- package/dist/mcp.d.ts +90 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +290 -0
- package/dist/mcp.js.map +1 -0
- package/dist/memory.d.ts +104 -0
- package/dist/memory.d.ts.map +1 -0
- package/dist/memory.js +394 -0
- package/dist/memory.js.map +1 -0
- package/dist/model-router.d.ts +67 -0
- package/dist/model-router.d.ts.map +1 -0
- package/dist/model-router.js +289 -0
- package/dist/model-router.js.map +1 -0
- package/dist/parallel-tools.d.ts +51 -0
- package/dist/parallel-tools.d.ts.map +1 -0
- package/dist/parallel-tools.js +278 -0
- package/dist/parallel-tools.js.map +1 -0
- package/dist/project-config.d.ts +84 -0
- package/dist/project-config.d.ts.map +1 -0
- package/dist/project-config.js +250 -0
- package/dist/project-config.js.map +1 -0
- package/dist/providers.d.ts +10 -2
- package/dist/providers.d.ts.map +1 -1
- package/dist/providers.js +240 -38
- package/dist/providers.js.map +1 -1
- package/dist/risk.d.ts +31 -0
- package/dist/risk.d.ts.map +1 -0
- package/dist/risk.js +367 -0
- package/dist/risk.js.map +1 -0
- package/dist/sandbox.d.ts +49 -0
- package/dist/sandbox.d.ts.map +1 -0
- package/dist/sandbox.js +347 -0
- package/dist/sandbox.js.map +1 -0
- package/dist/skills.d.ts +71 -0
- package/dist/skills.d.ts.map +1 -0
- package/dist/skills.js +383 -0
- package/dist/skills.js.map +1 -0
- package/dist/storage.d.ts +139 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +508 -0
- package/dist/storage.js.map +1 -0
- package/dist/streaming.d.ts +94 -0
- package/dist/streaming.d.ts.map +1 -0
- package/dist/streaming.js +305 -0
- package/dist/streaming.js.map +1 -0
- package/dist/summarization.d.ts +76 -0
- package/dist/summarization.d.ts.map +1 -0
- package/dist/summarization.js +242 -0
- package/dist/summarization.js.map +1 -0
- package/dist/themes.d.ts +110 -0
- package/dist/themes.d.ts.map +1 -0
- package/dist/themes.js +329 -0
- package/dist/themes.js.map +1 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +335 -1
- package/dist/tools.js.map +1 -1
- package/dist/types.d.ts +56 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +105 -0
- package/dist/types.js.map +1 -1
- package/dist/ui-cli.d.ts +9 -2
- package/dist/ui-cli.d.ts.map +1 -1
- package/dist/ui-cli.js +1315 -220
- package/dist/ui-cli.js.map +1 -1
- package/package.json +1 -1
package/dist/tools.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import { spawn } from 'child_process';
|
|
7
7
|
import * as fs from 'fs';
|
|
8
8
|
import * as path from 'path';
|
|
9
|
+
import * as sandbox from './sandbox.js';
|
|
9
10
|
/**
|
|
10
11
|
* Available tools for the agent
|
|
11
12
|
*/
|
|
@@ -87,6 +88,85 @@ export const TOOLS = [
|
|
|
87
88
|
required: ['thought'],
|
|
88
89
|
},
|
|
89
90
|
},
|
|
91
|
+
{
|
|
92
|
+
name: 'execute_code',
|
|
93
|
+
description: 'Execute code in a sandboxed environment. Supports Python, Node.js, and shell scripts.',
|
|
94
|
+
parameters: {
|
|
95
|
+
type: 'object',
|
|
96
|
+
properties: {
|
|
97
|
+
language: {
|
|
98
|
+
type: 'string',
|
|
99
|
+
description: 'The programming language: python, node, bash',
|
|
100
|
+
enum: ['python', 'node', 'bash'],
|
|
101
|
+
},
|
|
102
|
+
code: {
|
|
103
|
+
type: 'string',
|
|
104
|
+
description: 'The code to execute',
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
required: ['language', 'code'],
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
name: 'web_search',
|
|
112
|
+
description: 'Search the web for information. Returns a summary of top results.',
|
|
113
|
+
parameters: {
|
|
114
|
+
type: 'object',
|
|
115
|
+
properties: {
|
|
116
|
+
query: {
|
|
117
|
+
type: 'string',
|
|
118
|
+
description: 'The search query',
|
|
119
|
+
},
|
|
120
|
+
num_results: {
|
|
121
|
+
type: 'number',
|
|
122
|
+
description: 'Number of results to return (default: 5, max: 10)',
|
|
123
|
+
},
|
|
124
|
+
},
|
|
125
|
+
required: ['query'],
|
|
126
|
+
},
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
name: 'git',
|
|
130
|
+
description: 'Execute git commands safely. Supports common git operations.',
|
|
131
|
+
parameters: {
|
|
132
|
+
type: 'object',
|
|
133
|
+
properties: {
|
|
134
|
+
operation: {
|
|
135
|
+
type: 'string',
|
|
136
|
+
description: 'Git operation: status, diff, log, branch, add, commit, push, pull, stash',
|
|
137
|
+
enum: ['status', 'diff', 'log', 'branch', 'add', 'commit', 'push', 'pull', 'stash'],
|
|
138
|
+
},
|
|
139
|
+
args: {
|
|
140
|
+
type: 'string',
|
|
141
|
+
description: 'Additional arguments for the git command',
|
|
142
|
+
},
|
|
143
|
+
},
|
|
144
|
+
required: ['operation'],
|
|
145
|
+
},
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
name: 'mermaid',
|
|
149
|
+
description: 'Generate a Mermaid diagram. The output can be rendered as a visual graph.',
|
|
150
|
+
parameters: {
|
|
151
|
+
type: 'object',
|
|
152
|
+
properties: {
|
|
153
|
+
type: {
|
|
154
|
+
type: 'string',
|
|
155
|
+
description: 'Diagram type: flowchart, sequence, class, state, er, gantt, pie',
|
|
156
|
+
enum: ['flowchart', 'sequence', 'class', 'state', 'er', 'gantt', 'pie'],
|
|
157
|
+
},
|
|
158
|
+
content: {
|
|
159
|
+
type: 'string',
|
|
160
|
+
description: 'The Mermaid diagram content (without the diagram type declaration)',
|
|
161
|
+
},
|
|
162
|
+
title: {
|
|
163
|
+
type: 'string',
|
|
164
|
+
description: 'Optional title for the diagram',
|
|
165
|
+
},
|
|
166
|
+
},
|
|
167
|
+
required: ['type', 'content'],
|
|
168
|
+
},
|
|
169
|
+
},
|
|
90
170
|
];
|
|
91
171
|
/**
|
|
92
172
|
* Validate path is within allowed directory (prevent path traversal)
|
|
@@ -148,6 +228,34 @@ export async function executeTool(toolCall, cwd, timeout = 60000) {
|
|
|
148
228
|
result = 'Thought recorded.';
|
|
149
229
|
break;
|
|
150
230
|
}
|
|
231
|
+
case 'execute_code': {
|
|
232
|
+
const language = String(args.language || '');
|
|
233
|
+
const code = String(args.code || '');
|
|
234
|
+
if (!['python', 'node', 'bash'].includes(language)) {
|
|
235
|
+
return { toolCallId: id, result: 'Error: language must be python, node, or bash', isError: true };
|
|
236
|
+
}
|
|
237
|
+
result = await executeCode(language, code, cwd, timeout);
|
|
238
|
+
break;
|
|
239
|
+
}
|
|
240
|
+
case 'web_search': {
|
|
241
|
+
const query = String(args.query || '');
|
|
242
|
+
const numResults = Math.min(10, Math.max(1, Number(args.num_results) || 5));
|
|
243
|
+
result = await webSearch(query, numResults);
|
|
244
|
+
break;
|
|
245
|
+
}
|
|
246
|
+
case 'git': {
|
|
247
|
+
const operation = String(args.operation || '');
|
|
248
|
+
const gitArgs = String(args.args || '');
|
|
249
|
+
result = await executeGit(operation, gitArgs, cwd);
|
|
250
|
+
break;
|
|
251
|
+
}
|
|
252
|
+
case 'mermaid': {
|
|
253
|
+
const diagramType = String(args.type || 'flowchart');
|
|
254
|
+
const content = String(args.content || '');
|
|
255
|
+
const title = args.title ? String(args.title) : undefined;
|
|
256
|
+
result = generateMermaidDiagram(diagramType, content, title);
|
|
257
|
+
break;
|
|
258
|
+
}
|
|
151
259
|
default:
|
|
152
260
|
return { toolCallId: id, result: `Unknown tool: ${name}`, isError: true };
|
|
153
261
|
}
|
|
@@ -214,6 +322,49 @@ async function readFile(filePath, cwd) {
|
|
|
214
322
|
}
|
|
215
323
|
return fs.readFileSync(absPath, 'utf-8');
|
|
216
324
|
}
|
|
325
|
+
/**
|
|
326
|
+
* Generate a simple line-diff between old and new content
|
|
327
|
+
*/
|
|
328
|
+
function generateDiff(oldContent, newContent, maxLines = 20) {
|
|
329
|
+
const oldLines = oldContent.split('\n');
|
|
330
|
+
const newLines = newContent.split('\n');
|
|
331
|
+
const diff = [];
|
|
332
|
+
const maxIdx = Math.max(oldLines.length, newLines.length);
|
|
333
|
+
let changesFound = 0;
|
|
334
|
+
let contextLines = 0;
|
|
335
|
+
const contextWindow = 2;
|
|
336
|
+
for (let i = 0; i < maxIdx; i++) {
|
|
337
|
+
const oldLine = oldLines[i];
|
|
338
|
+
const newLine = newLines[i];
|
|
339
|
+
if (oldLine === newLine) {
|
|
340
|
+
// Same line - show as context if near a change
|
|
341
|
+
if (contextLines > 0) {
|
|
342
|
+
diff.push(` ${newLine || ''}`);
|
|
343
|
+
contextLines--;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
else {
|
|
347
|
+
// Change detected
|
|
348
|
+
changesFound++;
|
|
349
|
+
if (changesFound > maxLines) {
|
|
350
|
+
diff.push(' ... (more changes truncated)');
|
|
351
|
+
break;
|
|
352
|
+
}
|
|
353
|
+
// Add line number marker on first change in region
|
|
354
|
+
if (contextLines === 0 && diff.length > 0) {
|
|
355
|
+
diff.push(`@@ line ${i + 1} @@`);
|
|
356
|
+
}
|
|
357
|
+
if (oldLine !== undefined && i < oldLines.length) {
|
|
358
|
+
diff.push(`- ${oldLine}`);
|
|
359
|
+
}
|
|
360
|
+
if (newLine !== undefined && i < newLines.length) {
|
|
361
|
+
diff.push(`+ ${newLine}`);
|
|
362
|
+
}
|
|
363
|
+
contextLines = contextWindow;
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
return diff.join('\n');
|
|
367
|
+
}
|
|
217
368
|
/**
|
|
218
369
|
* Write a file
|
|
219
370
|
*/
|
|
@@ -224,8 +375,38 @@ async function writeFile(filePath, content, cwd) {
|
|
|
224
375
|
if (!fs.existsSync(dir)) {
|
|
225
376
|
fs.mkdirSync(dir, { recursive: true });
|
|
226
377
|
}
|
|
378
|
+
// Read existing content for diff
|
|
379
|
+
let oldContent = '';
|
|
380
|
+
let isNewFile = true;
|
|
381
|
+
if (fs.existsSync(absPath)) {
|
|
382
|
+
try {
|
|
383
|
+
const stats = fs.statSync(absPath);
|
|
384
|
+
if (!stats.isDirectory() && stats.size < 100 * 1024) {
|
|
385
|
+
oldContent = fs.readFileSync(absPath, 'utf-8');
|
|
386
|
+
isNewFile = false;
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
catch {
|
|
390
|
+
// Ignore errors reading old content
|
|
391
|
+
}
|
|
392
|
+
}
|
|
227
393
|
fs.writeFileSync(absPath, content);
|
|
228
|
-
|
|
394
|
+
// Generate diff output
|
|
395
|
+
if (isNewFile) {
|
|
396
|
+
const lines = content.split('\n').slice(0, 10);
|
|
397
|
+
const preview = lines.map(l => `+ ${l}`).join('\n');
|
|
398
|
+
const more = content.split('\n').length > 10 ? '\n ... (new file truncated)' : '';
|
|
399
|
+
return `DIFF:NEW_FILE:${absPath}\n${preview}${more}`;
|
|
400
|
+
}
|
|
401
|
+
else {
|
|
402
|
+
const diff = generateDiff(oldContent, content);
|
|
403
|
+
if (diff.trim()) {
|
|
404
|
+
return `DIFF:${absPath}\n${diff}`;
|
|
405
|
+
}
|
|
406
|
+
else {
|
|
407
|
+
return `File unchanged: ${absPath}`;
|
|
408
|
+
}
|
|
409
|
+
}
|
|
229
410
|
}
|
|
230
411
|
/**
|
|
231
412
|
* List files in a directory
|
|
@@ -278,4 +459,157 @@ function listFilesRecursive(dir, prefix, depth) {
|
|
|
278
459
|
}
|
|
279
460
|
return lines.join('\n');
|
|
280
461
|
}
|
|
462
|
+
/**
|
|
463
|
+
* Execute code in a sandboxed environment
|
|
464
|
+
*/
|
|
465
|
+
async function executeCode(language, code, cwd, timeout) {
|
|
466
|
+
// Map language names to sandbox language types
|
|
467
|
+
const sandboxLang = language === 'node' ? 'node' : language;
|
|
468
|
+
// Try sandboxed execution first (using Docker if available)
|
|
469
|
+
const result = await sandbox.execute(sandboxLang, code, {
|
|
470
|
+
timeout,
|
|
471
|
+
mountWorkdir: true,
|
|
472
|
+
readOnly: false,
|
|
473
|
+
});
|
|
474
|
+
const sandboxIndicator = result.sandboxed ? '🔒 [sandboxed]' : '⚠️ [unsandboxed]';
|
|
475
|
+
const statusIndicator = result.success ? '✓' : '✗';
|
|
476
|
+
let output = `${sandboxIndicator} ${statusIndicator} [${language}]\n`;
|
|
477
|
+
if (result.stdout) {
|
|
478
|
+
output += `Output:\n${result.stdout}\n`;
|
|
479
|
+
}
|
|
480
|
+
if (result.stderr) {
|
|
481
|
+
output += `Errors:\n${result.stderr}\n`;
|
|
482
|
+
}
|
|
483
|
+
if (!result.success && !result.stdout && !result.stderr) {
|
|
484
|
+
output += `Exit code: ${result.exitCode}\n`;
|
|
485
|
+
}
|
|
486
|
+
output += `Duration: ${result.duration}ms`;
|
|
487
|
+
return output;
|
|
488
|
+
}
|
|
489
|
+
/**
|
|
490
|
+
* Search the web using DuckDuckGo
|
|
491
|
+
*/
|
|
492
|
+
async function webSearch(query, numResults) {
|
|
493
|
+
try {
|
|
494
|
+
// Use DuckDuckGo HTML search (no API key needed)
|
|
495
|
+
const encodedQuery = encodeURIComponent(query);
|
|
496
|
+
const url = `https://html.duckduckgo.com/html/?q=${encodedQuery}`;
|
|
497
|
+
const https = await import('https');
|
|
498
|
+
return new Promise((resolve) => {
|
|
499
|
+
const req = https.get(url, {
|
|
500
|
+
headers: {
|
|
501
|
+
'User-Agent': 'Mozilla/5.0 (compatible; Calliope/1.0)',
|
|
502
|
+
},
|
|
503
|
+
}, (res) => {
|
|
504
|
+
let data = '';
|
|
505
|
+
res.on('data', chunk => data += chunk);
|
|
506
|
+
res.on('end', () => {
|
|
507
|
+
// Parse results from HTML
|
|
508
|
+
const results = [];
|
|
509
|
+
const linkRegex = /<a[^>]*class="result__a"[^>]*href="([^"]*)"[^>]*>([^<]*)/g;
|
|
510
|
+
const snippetRegex = /<a[^>]*class="result__snippet"[^>]*>([^<]*)/g;
|
|
511
|
+
let match;
|
|
512
|
+
let snippetMatch;
|
|
513
|
+
let i = 0;
|
|
514
|
+
while ((match = linkRegex.exec(data)) !== null && i < numResults) {
|
|
515
|
+
const href = match[1];
|
|
516
|
+
const title = match[2].replace(/&/g, '&').replace(/'/g, "'");
|
|
517
|
+
// Get corresponding snippet
|
|
518
|
+
snippetMatch = snippetRegex.exec(data);
|
|
519
|
+
const snippet = snippetMatch
|
|
520
|
+
? snippetMatch[1].replace(/&/g, '&').replace(/'/g, "'").substring(0, 150)
|
|
521
|
+
: '';
|
|
522
|
+
results.push(`${i + 1}. ${title}\n ${snippet}\n ${href}\n`);
|
|
523
|
+
i++;
|
|
524
|
+
}
|
|
525
|
+
if (results.length === 0) {
|
|
526
|
+
resolve(`No results found for: ${query}`);
|
|
527
|
+
}
|
|
528
|
+
else {
|
|
529
|
+
resolve(`Web search results for "${query}":\n\n${results.join('\n')}`);
|
|
530
|
+
}
|
|
531
|
+
});
|
|
532
|
+
});
|
|
533
|
+
req.on('error', (err) => {
|
|
534
|
+
resolve(`Search error: ${err.message}`);
|
|
535
|
+
});
|
|
536
|
+
req.setTimeout(10000, () => {
|
|
537
|
+
req.destroy();
|
|
538
|
+
resolve('Search timed out');
|
|
539
|
+
});
|
|
540
|
+
});
|
|
541
|
+
}
|
|
542
|
+
catch (err) {
|
|
543
|
+
return `Search error: ${err instanceof Error ? err.message : String(err)}`;
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
/**
|
|
547
|
+
* Execute git commands safely
|
|
548
|
+
*/
|
|
549
|
+
async function executeGit(operation, args, cwd) {
|
|
550
|
+
const allowedOps = ['status', 'diff', 'log', 'branch', 'add', 'commit', 'push', 'pull', 'stash'];
|
|
551
|
+
if (!allowedOps.includes(operation)) {
|
|
552
|
+
return `Error: Unknown git operation: ${operation}. Allowed: ${allowedOps.join(', ')}`;
|
|
553
|
+
}
|
|
554
|
+
// Sanitize args to prevent command injection
|
|
555
|
+
const safeArgs = args.replace(/[;&|`$]/g, '');
|
|
556
|
+
let command;
|
|
557
|
+
switch (operation) {
|
|
558
|
+
case 'status':
|
|
559
|
+
command = 'git status --short';
|
|
560
|
+
break;
|
|
561
|
+
case 'diff':
|
|
562
|
+
command = `git diff ${safeArgs}`.trim();
|
|
563
|
+
break;
|
|
564
|
+
case 'log':
|
|
565
|
+
command = `git log --oneline -20 ${safeArgs}`.trim();
|
|
566
|
+
break;
|
|
567
|
+
case 'branch':
|
|
568
|
+
command = `git branch ${safeArgs}`.trim();
|
|
569
|
+
break;
|
|
570
|
+
case 'add':
|
|
571
|
+
command = `git add ${safeArgs || '.'}`.trim();
|
|
572
|
+
break;
|
|
573
|
+
case 'commit':
|
|
574
|
+
if (!safeArgs.includes('-m')) {
|
|
575
|
+
return 'Error: commit requires -m "message"';
|
|
576
|
+
}
|
|
577
|
+
command = `git commit ${safeArgs}`.trim();
|
|
578
|
+
break;
|
|
579
|
+
case 'push':
|
|
580
|
+
command = `git push ${safeArgs}`.trim();
|
|
581
|
+
break;
|
|
582
|
+
case 'pull':
|
|
583
|
+
command = `git pull ${safeArgs}`.trim();
|
|
584
|
+
break;
|
|
585
|
+
case 'stash':
|
|
586
|
+
command = `git stash ${safeArgs}`.trim();
|
|
587
|
+
break;
|
|
588
|
+
default:
|
|
589
|
+
return `Unknown operation: ${operation}`;
|
|
590
|
+
}
|
|
591
|
+
return executeShell(command, cwd, 30000);
|
|
592
|
+
}
|
|
593
|
+
/**
|
|
594
|
+
* Generate a Mermaid diagram
|
|
595
|
+
*/
|
|
596
|
+
function generateMermaidDiagram(type, content, title) {
|
|
597
|
+
const header = title ? `---\ntitle: ${title}\n---\n` : '';
|
|
598
|
+
// Map type to Mermaid syntax
|
|
599
|
+
const typeMap = {
|
|
600
|
+
'flowchart': 'flowchart TD',
|
|
601
|
+
'sequence': 'sequenceDiagram',
|
|
602
|
+
'class': 'classDiagram',
|
|
603
|
+
'state': 'stateDiagram-v2',
|
|
604
|
+
'er': 'erDiagram',
|
|
605
|
+
'gantt': 'gantt',
|
|
606
|
+
'pie': 'pie',
|
|
607
|
+
};
|
|
608
|
+
const diagramType = typeMap[type] || 'flowchart TD';
|
|
609
|
+
const diagram = `\`\`\`mermaid
|
|
610
|
+
${header}${diagramType}
|
|
611
|
+
${content}
|
|
612
|
+
\`\`\``;
|
|
613
|
+
return `MERMAID_DIAGRAM:\n${diagram}\n\nTo view this diagram, paste the mermaid code into https://mermaid.live or a markdown viewer that supports Mermaid.`;
|
|
614
|
+
}
|
|
281
615
|
//# sourceMappingURL=tools.js.map
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -3,9 +3,38 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export type LLMProvider = 'anthropic' | 'google' | 'openai' | 'together' | 'openrouter' | 'groq' | 'fireworks' | 'mistral' | 'ollama' | 'ai21' | 'huggingface' | 'litellm' | 'auto';
|
|
5
5
|
export type AgentPersona = 'calliope' | 'professional' | 'minimal';
|
|
6
|
+
/**
|
|
7
|
+
* CLI operation modes
|
|
8
|
+
* - plan: Chat only, no tools executed
|
|
9
|
+
* - hybrid: Smart detection, plans before complex operations
|
|
10
|
+
* - work: Direct execution (current behavior)
|
|
11
|
+
*/
|
|
12
|
+
export type Mode = 'plan' | 'hybrid' | 'work';
|
|
13
|
+
/**
|
|
14
|
+
* Risk levels for operations
|
|
15
|
+
*/
|
|
16
|
+
export type RiskLevel = 'none' | 'low' | 'medium' | 'high' | 'critical';
|
|
17
|
+
/**
|
|
18
|
+
* Risk assessment result
|
|
19
|
+
*/
|
|
20
|
+
export interface RiskAssessment {
|
|
21
|
+
level: RiskLevel;
|
|
22
|
+
reason: string;
|
|
23
|
+
requiresConfirmation: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface ImageContent {
|
|
26
|
+
type: 'image';
|
|
27
|
+
mediaType: 'image/jpeg' | 'image/png' | 'image/gif' | 'image/webp';
|
|
28
|
+
data: string;
|
|
29
|
+
}
|
|
30
|
+
export interface TextContent {
|
|
31
|
+
type: 'text';
|
|
32
|
+
text: string;
|
|
33
|
+
}
|
|
34
|
+
export type MessageContent = string | (TextContent | ImageContent)[];
|
|
6
35
|
export interface Message {
|
|
7
36
|
role: 'user' | 'assistant' | 'system' | 'tool';
|
|
8
|
-
content:
|
|
37
|
+
content: MessageContent;
|
|
9
38
|
toolCallId?: string;
|
|
10
39
|
toolCalls?: ToolCall[];
|
|
11
40
|
}
|
|
@@ -42,6 +71,32 @@ export interface LLMResponse {
|
|
|
42
71
|
};
|
|
43
72
|
}
|
|
44
73
|
export declare const DEFAULT_MODELS: Record<LLMProvider, string>;
|
|
74
|
+
export declare const MODE_CONFIG: Record<Mode, {
|
|
75
|
+
icon: string;
|
|
76
|
+
label: string;
|
|
77
|
+
description: string;
|
|
78
|
+
}>;
|
|
79
|
+
export declare const RISK_CONFIG: Record<RiskLevel, {
|
|
80
|
+
bar: string;
|
|
81
|
+
color: string;
|
|
82
|
+
label: string;
|
|
83
|
+
}>;
|
|
45
84
|
export declare const PERSONA_PROMPTS: Record<AgentPersona, string>;
|
|
46
85
|
export declare function getSystemPrompt(persona: AgentPersona): string;
|
|
86
|
+
export declare const MODEL_PRICING: Record<string, {
|
|
87
|
+
input: number;
|
|
88
|
+
output: number;
|
|
89
|
+
}>;
|
|
90
|
+
/**
|
|
91
|
+
* Calculate cost for token usage
|
|
92
|
+
*/
|
|
93
|
+
export declare function calculateCost(model: string, inputTokens: number, outputTokens: number): number;
|
|
94
|
+
/**
|
|
95
|
+
* Providers that support vision
|
|
96
|
+
*/
|
|
97
|
+
export declare const VISION_PROVIDERS: LLMProvider[];
|
|
98
|
+
/**
|
|
99
|
+
* Check if a provider/model supports vision
|
|
100
|
+
*/
|
|
101
|
+
export declare function supportsVision(provider: LLMProvider, model?: string): boolean;
|
|
47
102
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,CAAC;AACpL,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,cAAc,GAAG,SAAS,CAAC;AAEnE,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -17,6 +17,52 @@ export const DEFAULT_MODELS = {
|
|
|
17
17
|
litellm: 'gpt-4o', // LiteLLM proxies to other providers
|
|
18
18
|
auto: 'claude-sonnet-4-20250514',
|
|
19
19
|
};
|
|
20
|
+
// Mode display configuration
|
|
21
|
+
export const MODE_CONFIG = {
|
|
22
|
+
plan: {
|
|
23
|
+
icon: '📋',
|
|
24
|
+
label: 'Plan',
|
|
25
|
+
description: 'Chat only, no execution',
|
|
26
|
+
},
|
|
27
|
+
hybrid: {
|
|
28
|
+
icon: '🔄',
|
|
29
|
+
label: 'Hybrid',
|
|
30
|
+
description: 'Smart planning before execution',
|
|
31
|
+
},
|
|
32
|
+
work: {
|
|
33
|
+
icon: '🔧',
|
|
34
|
+
label: 'Work',
|
|
35
|
+
description: 'Direct execution',
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
// Risk display configuration
|
|
39
|
+
export const RISK_CONFIG = {
|
|
40
|
+
none: {
|
|
41
|
+
bar: '░░░░░',
|
|
42
|
+
color: 'dim',
|
|
43
|
+
label: 'None',
|
|
44
|
+
},
|
|
45
|
+
low: {
|
|
46
|
+
bar: '█░░░░',
|
|
47
|
+
color: 'green',
|
|
48
|
+
label: 'Low',
|
|
49
|
+
},
|
|
50
|
+
medium: {
|
|
51
|
+
bar: '███░░',
|
|
52
|
+
color: 'yellow',
|
|
53
|
+
label: 'Medium',
|
|
54
|
+
},
|
|
55
|
+
high: {
|
|
56
|
+
bar: '████░',
|
|
57
|
+
color: 'red',
|
|
58
|
+
label: 'High',
|
|
59
|
+
},
|
|
60
|
+
critical: {
|
|
61
|
+
bar: '█████',
|
|
62
|
+
color: 'red',
|
|
63
|
+
label: 'CRITICAL',
|
|
64
|
+
},
|
|
65
|
+
};
|
|
20
66
|
// System prompts for different personas
|
|
21
67
|
export const PERSONA_PROMPTS = {
|
|
22
68
|
calliope: `You are Calliope, the Muse of Digital Eloquence.
|
|
@@ -57,4 +103,63 @@ Be extremely concise. Execute tasks efficiently.`,
|
|
|
57
103
|
export function getSystemPrompt(persona) {
|
|
58
104
|
return PERSONA_PROMPTS[persona];
|
|
59
105
|
}
|
|
106
|
+
// Pricing per 1M tokens (input, output) in USD
|
|
107
|
+
export const MODEL_PRICING = {
|
|
108
|
+
// Anthropic
|
|
109
|
+
'claude-sonnet-4-20250514': { input: 3, output: 15 },
|
|
110
|
+
'claude-opus-4-20250514': { input: 15, output: 75 },
|
|
111
|
+
'claude-3-5-sonnet-20241022': { input: 3, output: 15 },
|
|
112
|
+
'claude-3-5-haiku-20241022': { input: 0.8, output: 4 },
|
|
113
|
+
'claude-3-opus-20240229': { input: 15, output: 75 },
|
|
114
|
+
// OpenAI
|
|
115
|
+
'gpt-4o': { input: 2.5, output: 10 },
|
|
116
|
+
'gpt-4o-mini': { input: 0.15, output: 0.6 },
|
|
117
|
+
'gpt-4-turbo': { input: 10, output: 30 },
|
|
118
|
+
'o1': { input: 15, output: 60 },
|
|
119
|
+
'o1-mini': { input: 3, output: 12 },
|
|
120
|
+
// Google
|
|
121
|
+
'gemini-2.0-flash': { input: 0.1, output: 0.4 },
|
|
122
|
+
'gemini-1.5-pro': { input: 1.25, output: 5 },
|
|
123
|
+
'gemini-1.5-flash': { input: 0.075, output: 0.3 },
|
|
124
|
+
// Mistral
|
|
125
|
+
'mistral-large-latest': { input: 2, output: 6 },
|
|
126
|
+
'mistral-small-latest': { input: 0.2, output: 0.6 },
|
|
127
|
+
// Groq (free tier, minimal cost)
|
|
128
|
+
'llama-3.3-70b-versatile': { input: 0.59, output: 0.79 },
|
|
129
|
+
'llama-3.1-8b-instant': { input: 0.05, output: 0.08 },
|
|
130
|
+
// Together
|
|
131
|
+
'meta-llama/Llama-3.3-70B-Instruct-Turbo': { input: 0.88, output: 0.88 },
|
|
132
|
+
// Default fallback
|
|
133
|
+
'default': { input: 1, output: 3 },
|
|
134
|
+
};
|
|
135
|
+
/**
|
|
136
|
+
* Calculate cost for token usage
|
|
137
|
+
*/
|
|
138
|
+
export function calculateCost(model, inputTokens, outputTokens) {
|
|
139
|
+
const pricing = MODEL_PRICING[model] || MODEL_PRICING['default'];
|
|
140
|
+
const inputCost = (inputTokens / 1_000_000) * pricing.input;
|
|
141
|
+
const outputCost = (outputTokens / 1_000_000) * pricing.output;
|
|
142
|
+
return inputCost + outputCost;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Providers that support vision
|
|
146
|
+
*/
|
|
147
|
+
export const VISION_PROVIDERS = ['anthropic', 'openai', 'google'];
|
|
148
|
+
/**
|
|
149
|
+
* Check if a provider/model supports vision
|
|
150
|
+
*/
|
|
151
|
+
export function supportsVision(provider, model) {
|
|
152
|
+
if (!VISION_PROVIDERS.includes(provider))
|
|
153
|
+
return false;
|
|
154
|
+
// Most modern models from these providers support vision
|
|
155
|
+
if (model?.includes('haiku') || model?.includes('mini'))
|
|
156
|
+
return true;
|
|
157
|
+
if (model?.includes('sonnet') || model?.includes('opus'))
|
|
158
|
+
return true;
|
|
159
|
+
if (model?.includes('gpt-4'))
|
|
160
|
+
return true;
|
|
161
|
+
if (model?.includes('gemini'))
|
|
162
|
+
return true;
|
|
163
|
+
return true;
|
|
164
|
+
}
|
|
60
165
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/ui-cli.d.ts
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Calliope CLI - Ink UI
|
|
2
|
+
* Calliope CLI - Ink UI
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Component hierarchy inspired by Claude Code:
|
|
5
|
+
* App
|
|
6
|
+
* └── TerminalChat (main hub)
|
|
7
|
+
* ├── MessageHistory (Static for messages)
|
|
8
|
+
* │ └── MessageItem (formatted messages)
|
|
9
|
+
* ├── ProcessingIndicator (animated spinner)
|
|
10
|
+
* ├── ChatInput (input line)
|
|
11
|
+
* └── StatusBar (footer)
|
|
5
12
|
*/
|
|
6
13
|
export declare function startInkCLI(options?: {
|
|
7
14
|
skipPermissions?: boolean;
|