@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
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calliope CLI - Tab Completion
|
|
3
|
+
*
|
|
4
|
+
* Provides completions for commands, file paths, and tool arguments.
|
|
5
|
+
*/
|
|
6
|
+
export interface Completion {
|
|
7
|
+
value: string;
|
|
8
|
+
display: string;
|
|
9
|
+
description?: string;
|
|
10
|
+
type: 'command' | 'file' | 'directory' | 'option' | 'argument';
|
|
11
|
+
}
|
|
12
|
+
export interface CompletionContext {
|
|
13
|
+
input: string;
|
|
14
|
+
cursorPosition: number;
|
|
15
|
+
currentWord: string;
|
|
16
|
+
previousWord: string;
|
|
17
|
+
isCommand: boolean;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Parse input to get completion context
|
|
21
|
+
*/
|
|
22
|
+
export declare function parseContext(input: string, cursorPosition: number): CompletionContext;
|
|
23
|
+
/**
|
|
24
|
+
* Get command completions
|
|
25
|
+
*/
|
|
26
|
+
export declare function getCommandCompletions(prefix: string): Completion[];
|
|
27
|
+
/**
|
|
28
|
+
* Get subcommand completions
|
|
29
|
+
*/
|
|
30
|
+
export declare function getSubcommandCompletions(command: string, prefix: string): Completion[];
|
|
31
|
+
/**
|
|
32
|
+
* Get file path completions
|
|
33
|
+
*/
|
|
34
|
+
export declare function getFileCompletions(partialPath: string, cwd?: string): Completion[];
|
|
35
|
+
/**
|
|
36
|
+
* Get completions for current input
|
|
37
|
+
*/
|
|
38
|
+
export declare function getCompletions(input: string, cursorPosition: number, cwd?: string): Completion[];
|
|
39
|
+
/**
|
|
40
|
+
* Apply completion to input
|
|
41
|
+
*/
|
|
42
|
+
export declare function applyCompletion(input: string, cursorPosition: number, completion: Completion): {
|
|
43
|
+
newInput: string;
|
|
44
|
+
newCursorPosition: number;
|
|
45
|
+
};
|
|
46
|
+
export interface CompletionState {
|
|
47
|
+
completions: Completion[];
|
|
48
|
+
selectedIndex: number;
|
|
49
|
+
originalInput: string;
|
|
50
|
+
originalCursor: number;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Create new completion state
|
|
54
|
+
*/
|
|
55
|
+
export declare function createCompletionState(input: string, cursorPosition: number, cwd?: string): CompletionState | null;
|
|
56
|
+
/**
|
|
57
|
+
* Cycle to next completion
|
|
58
|
+
*/
|
|
59
|
+
export declare function nextCompletion(state: CompletionState): CompletionState;
|
|
60
|
+
/**
|
|
61
|
+
* Cycle to previous completion
|
|
62
|
+
*/
|
|
63
|
+
export declare function prevCompletion(state: CompletionState): CompletionState;
|
|
64
|
+
/**
|
|
65
|
+
* Get current completion
|
|
66
|
+
*/
|
|
67
|
+
export declare function getCurrentCompletion(state: CompletionState): Completion;
|
|
68
|
+
/**
|
|
69
|
+
* Apply current completion
|
|
70
|
+
*/
|
|
71
|
+
export declare function applyCurrentCompletion(state: CompletionState): {
|
|
72
|
+
newInput: string;
|
|
73
|
+
newCursorPosition: number;
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=completion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../src/completion.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;CAChE;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB;AAoCD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,iBAAiB,CAcrF;AAMD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CAUlE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CAYtF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,UAAU,EAAE,CAoDjG;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE,CAgChG;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,UAAU,GACrB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,CAajD;AAMD,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,GAAG,CAAC,EAAE,MAAM,GACX,eAAe,GAAG,IAAI,CAUxB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe,CAKtE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe,CAKtE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,eAAe,GAAG,UAAU,CAEvE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAGA"}
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calliope CLI - Tab Completion
|
|
3
|
+
*
|
|
4
|
+
* Provides completions for commands, file paths, and tool arguments.
|
|
5
|
+
*/
|
|
6
|
+
import * as fs from 'fs';
|
|
7
|
+
import * as path from 'path';
|
|
8
|
+
// ============================================================================
|
|
9
|
+
// Commands
|
|
10
|
+
// ============================================================================
|
|
11
|
+
const COMMANDS = [
|
|
12
|
+
{ name: '/help', description: 'Show help' },
|
|
13
|
+
{ name: '/clear', description: 'Clear screen' },
|
|
14
|
+
{ name: '/copy', description: 'Copy last response' },
|
|
15
|
+
{ name: '/export', description: 'Export conversation', subcommands: ['markdown', 'json'] },
|
|
16
|
+
{ name: '/edit', description: 'Edit last message' },
|
|
17
|
+
{ name: '/undo', description: 'Undo last exchange' },
|
|
18
|
+
{ name: '/confirm', description: 'Toggle confirmation', subcommands: ['on', 'off'] },
|
|
19
|
+
{ name: '/profile', description: 'Manage profiles', subcommands: ['list', 'save', 'delete'] },
|
|
20
|
+
{ name: '/mcp', description: 'MCP servers', subcommands: ['list', 'add', 'remove', 'refresh', 'tools'] },
|
|
21
|
+
{ name: '/skills', description: 'Agent skills', subcommands: ['list', 'add', 'remove', 'info'] },
|
|
22
|
+
{ name: '/memory', description: 'Project memory', subcommands: ['init', 'show', 'add', 'remove', 'global'] },
|
|
23
|
+
{ name: '/project', description: 'Project config', subcommands: ['init', 'show', 'run'] },
|
|
24
|
+
{ name: '/find', description: 'Fuzzy file search' },
|
|
25
|
+
{ name: '/branch', description: 'Conversation branches', subcommands: ['list', 'new', 'switch', 'delete'] },
|
|
26
|
+
{ name: '/theme', description: 'Color themes', subcommands: ['list', 'default', 'light', 'monokai', 'nord', 'minimal'] },
|
|
27
|
+
{ name: '/hooks', description: 'Tool hooks', subcommands: ['list', 'add', 'init'] },
|
|
28
|
+
{ name: '/search', description: 'Search conversation' },
|
|
29
|
+
{ name: '/status', description: 'Show status' },
|
|
30
|
+
{ name: '/config', description: 'Show config' },
|
|
31
|
+
{ name: '/upgrade', description: 'Check for updates' },
|
|
32
|
+
{ name: '/session', description: 'Session management', subcommands: ['list', 'new'] },
|
|
33
|
+
{ name: '/mode', description: 'Change mode', subcommands: ['plan', 'hybrid', 'work'] },
|
|
34
|
+
{ name: '/exit', description: 'Exit' },
|
|
35
|
+
];
|
|
36
|
+
// ============================================================================
|
|
37
|
+
// Context Parsing
|
|
38
|
+
// ============================================================================
|
|
39
|
+
/**
|
|
40
|
+
* Parse input to get completion context
|
|
41
|
+
*/
|
|
42
|
+
export function parseContext(input, cursorPosition) {
|
|
43
|
+
const beforeCursor = input.slice(0, cursorPosition);
|
|
44
|
+
const words = beforeCursor.split(/\s+/);
|
|
45
|
+
const currentWord = words[words.length - 1] || '';
|
|
46
|
+
const previousWord = words.length > 1 ? words[words.length - 2] : '';
|
|
47
|
+
const isCommand = beforeCursor.trimStart().startsWith('/');
|
|
48
|
+
return {
|
|
49
|
+
input,
|
|
50
|
+
cursorPosition,
|
|
51
|
+
currentWord,
|
|
52
|
+
previousWord,
|
|
53
|
+
isCommand,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
// ============================================================================
|
|
57
|
+
// Completion Providers
|
|
58
|
+
// ============================================================================
|
|
59
|
+
/**
|
|
60
|
+
* Get command completions
|
|
61
|
+
*/
|
|
62
|
+
export function getCommandCompletions(prefix) {
|
|
63
|
+
const lower = prefix.toLowerCase();
|
|
64
|
+
return COMMANDS
|
|
65
|
+
.filter(cmd => cmd.name.toLowerCase().startsWith(lower))
|
|
66
|
+
.map(cmd => ({
|
|
67
|
+
value: cmd.name,
|
|
68
|
+
display: cmd.name,
|
|
69
|
+
description: cmd.description,
|
|
70
|
+
type: 'command',
|
|
71
|
+
}));
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Get subcommand completions
|
|
75
|
+
*/
|
|
76
|
+
export function getSubcommandCompletions(command, prefix) {
|
|
77
|
+
const cmd = COMMANDS.find(c => c.name === command);
|
|
78
|
+
if (!cmd?.subcommands)
|
|
79
|
+
return [];
|
|
80
|
+
const lower = prefix.toLowerCase();
|
|
81
|
+
return cmd.subcommands
|
|
82
|
+
.filter(sub => sub.toLowerCase().startsWith(lower))
|
|
83
|
+
.map(sub => ({
|
|
84
|
+
value: sub,
|
|
85
|
+
display: sub,
|
|
86
|
+
type: 'option',
|
|
87
|
+
}));
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Get file path completions
|
|
91
|
+
*/
|
|
92
|
+
export function getFileCompletions(partialPath, cwd = process.cwd()) {
|
|
93
|
+
const completions = [];
|
|
94
|
+
try {
|
|
95
|
+
// Determine the directory to search and the prefix to match
|
|
96
|
+
let searchDir;
|
|
97
|
+
let prefix;
|
|
98
|
+
if (partialPath.includes('/')) {
|
|
99
|
+
const lastSlash = partialPath.lastIndexOf('/');
|
|
100
|
+
const dirPart = partialPath.slice(0, lastSlash) || '/';
|
|
101
|
+
prefix = partialPath.slice(lastSlash + 1);
|
|
102
|
+
if (path.isAbsolute(dirPart)) {
|
|
103
|
+
searchDir = dirPart;
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
searchDir = path.join(cwd, dirPart);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
searchDir = cwd;
|
|
111
|
+
prefix = partialPath;
|
|
112
|
+
}
|
|
113
|
+
if (!fs.existsSync(searchDir))
|
|
114
|
+
return [];
|
|
115
|
+
const entries = fs.readdirSync(searchDir, { withFileTypes: true });
|
|
116
|
+
const lower = prefix.toLowerCase();
|
|
117
|
+
for (const entry of entries) {
|
|
118
|
+
// Skip hidden files unless prefix starts with .
|
|
119
|
+
if (entry.name.startsWith('.') && !prefix.startsWith('.')) {
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
if (entry.name.toLowerCase().startsWith(lower)) {
|
|
123
|
+
const isDir = entry.isDirectory();
|
|
124
|
+
const relativePath = partialPath.includes('/')
|
|
125
|
+
? partialPath.slice(0, partialPath.lastIndexOf('/') + 1) + entry.name
|
|
126
|
+
: entry.name;
|
|
127
|
+
completions.push({
|
|
128
|
+
value: isDir ? relativePath + '/' : relativePath,
|
|
129
|
+
display: entry.name + (isDir ? '/' : ''),
|
|
130
|
+
type: isDir ? 'directory' : 'file',
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
// Ignore errors
|
|
137
|
+
}
|
|
138
|
+
return completions.slice(0, 50); // Limit results
|
|
139
|
+
}
|
|
140
|
+
// ============================================================================
|
|
141
|
+
// Main Completion Function
|
|
142
|
+
// ============================================================================
|
|
143
|
+
/**
|
|
144
|
+
* Get completions for current input
|
|
145
|
+
*/
|
|
146
|
+
export function getCompletions(input, cursorPosition, cwd) {
|
|
147
|
+
const ctx = parseContext(input, cursorPosition);
|
|
148
|
+
// Command completion
|
|
149
|
+
if (ctx.currentWord.startsWith('/')) {
|
|
150
|
+
return getCommandCompletions(ctx.currentWord);
|
|
151
|
+
}
|
|
152
|
+
// Subcommand completion
|
|
153
|
+
if (ctx.previousWord.startsWith('/')) {
|
|
154
|
+
const subcompletions = getSubcommandCompletions(ctx.previousWord, ctx.currentWord);
|
|
155
|
+
if (subcompletions.length > 0) {
|
|
156
|
+
return subcompletions;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
// File path completion (for @ references or paths)
|
|
160
|
+
if (ctx.currentWord.startsWith('@') ||
|
|
161
|
+
ctx.currentWord.startsWith('./') ||
|
|
162
|
+
ctx.currentWord.startsWith('/') ||
|
|
163
|
+
ctx.currentWord.startsWith('../')) {
|
|
164
|
+
const pathPart = ctx.currentWord.startsWith('@')
|
|
165
|
+
? ctx.currentWord.slice(1)
|
|
166
|
+
: ctx.currentWord;
|
|
167
|
+
return getFileCompletions(pathPart, cwd).map(c => ({
|
|
168
|
+
...c,
|
|
169
|
+
value: ctx.currentWord.startsWith('@') ? '@' + c.value : c.value,
|
|
170
|
+
display: ctx.currentWord.startsWith('@') ? '@' + c.display : c.display,
|
|
171
|
+
}));
|
|
172
|
+
}
|
|
173
|
+
return [];
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Apply completion to input
|
|
177
|
+
*/
|
|
178
|
+
export function applyCompletion(input, cursorPosition, completion) {
|
|
179
|
+
const ctx = parseContext(input, cursorPosition);
|
|
180
|
+
// Find where the current word starts
|
|
181
|
+
const wordStart = cursorPosition - ctx.currentWord.length;
|
|
182
|
+
// Build new input
|
|
183
|
+
const before = input.slice(0, wordStart);
|
|
184
|
+
const after = input.slice(cursorPosition);
|
|
185
|
+
const newInput = before + completion.value + after;
|
|
186
|
+
const newCursorPosition = wordStart + completion.value.length;
|
|
187
|
+
return { newInput, newCursorPosition };
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Create new completion state
|
|
191
|
+
*/
|
|
192
|
+
export function createCompletionState(input, cursorPosition, cwd) {
|
|
193
|
+
const completions = getCompletions(input, cursorPosition, cwd);
|
|
194
|
+
if (completions.length === 0)
|
|
195
|
+
return null;
|
|
196
|
+
return {
|
|
197
|
+
completions,
|
|
198
|
+
selectedIndex: 0,
|
|
199
|
+
originalInput: input,
|
|
200
|
+
originalCursor: cursorPosition,
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Cycle to next completion
|
|
205
|
+
*/
|
|
206
|
+
export function nextCompletion(state) {
|
|
207
|
+
return {
|
|
208
|
+
...state,
|
|
209
|
+
selectedIndex: (state.selectedIndex + 1) % state.completions.length,
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Cycle to previous completion
|
|
214
|
+
*/
|
|
215
|
+
export function prevCompletion(state) {
|
|
216
|
+
return {
|
|
217
|
+
...state,
|
|
218
|
+
selectedIndex: (state.selectedIndex - 1 + state.completions.length) % state.completions.length,
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Get current completion
|
|
223
|
+
*/
|
|
224
|
+
export function getCurrentCompletion(state) {
|
|
225
|
+
return state.completions[state.selectedIndex];
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Apply current completion
|
|
229
|
+
*/
|
|
230
|
+
export function applyCurrentCompletion(state) {
|
|
231
|
+
const completion = getCurrentCompletion(state);
|
|
232
|
+
return applyCompletion(state.originalInput, state.originalCursor, completion);
|
|
233
|
+
}
|
|
234
|
+
//# sourceMappingURL=completion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../src/completion.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAqB7B,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E,MAAM,QAAQ,GAAyE;IACrF,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE;IAC3C,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;IAC/C,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE;IACpD,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qBAAqB,EAAE,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE;IAC1F,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE;IACnD,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE;IACpD,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,qBAAqB,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;IACpF,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE;IAC7F,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;IACxG,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;IAChG,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE;IAC5G,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;IACzF,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE;IACnD,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,uBAAuB,EAAE,WAAW,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE;IAC3G,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE;IACxH,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE;IACnF,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qBAAqB,EAAE;IACvD,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE;IAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE;IAC/C,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE;IACtD,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,oBAAoB,EAAE,WAAW,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;IACrF,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;IACtF,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE;CACvC,CAAC;AAEF,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,cAAsB;IAChE,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAE3D,OAAO;QACL,KAAK;QACL,cAAc;QACd,WAAW;QACX,YAAY;QACZ,SAAS;KACV,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAc;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,QAAQ;SACZ,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SACvD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACX,KAAK,EAAE,GAAG,CAAC,IAAI;QACf,OAAO,EAAE,GAAG,CAAC,IAAI;QACjB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,IAAI,EAAE,SAAkB;KACzB,CAAC,CAAC,CAAC;AACR,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAe,EAAE,MAAc;IACtE,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC,GAAG,EAAE,WAAW;QAAE,OAAO,EAAE,CAAC;IAEjC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,GAAG,CAAC,WAAW;SACnB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SAClD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACX,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,GAAG;QACZ,IAAI,EAAE,QAAiB;KACxB,CAAC,CAAC,CAAC;AACR,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAmB,EAAE,MAAc,OAAO,CAAC,GAAG,EAAE;IACjF,MAAM,WAAW,GAAiB,EAAE,CAAC;IAErC,IAAI,CAAC;QACH,4DAA4D;QAC5D,IAAI,SAAiB,CAAC;QACtB,IAAI,MAAc,CAAC;QAEnB,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC;YACvD,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YAE1C,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7B,SAAS,GAAG,OAAO,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,GAAG,CAAC;YAChB,MAAM,GAAG,WAAW,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,EAAE,CAAC;QAEzC,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAEnC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,gDAAgD;YAChD,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1D,SAAS;YACX,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gBAClC,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAC5C,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI;oBACrE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;gBAEf,WAAW,CAAC,IAAI,CAAC;oBACf,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY;oBAChD,OAAO,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM;iBACnC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,gBAAgB;IAClB,CAAC;IAED,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAE,gBAAgB;AACpD,CAAC;AAED,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,cAAsB,EAAE,GAAY;IAChF,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAEhD,qBAAqB;IACrB,IAAI,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,wBAAwB;IACxB,IAAI,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,cAAc,GAAG,wBAAwB,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QACnF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,cAAc,CAAC;QACxB,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,IAAI,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC;QAC/B,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC;QAChC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC;QAC/B,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC;YAC9C,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1B,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;QACpB,OAAO,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACjD,GAAG,CAAC;YACJ,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;YAChE,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;SACvE,CAAC,CAAC,CAAC;IACN,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAa,EACb,cAAsB,EACtB,UAAsB;IAEtB,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAEhD,qCAAqC;IACrC,MAAM,SAAS,GAAG,cAAc,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;IAE1D,kBAAkB;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;IACnD,MAAM,iBAAiB,GAAG,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;IAE9D,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;AACzC,CAAC;AAaD;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAa,EACb,cAAsB,EACtB,GAAY;IAEZ,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;IAC/D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,OAAO;QACL,WAAW;QACX,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,KAAK;QACpB,cAAc,EAAE,cAAc;KAC/B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAsB;IACnD,OAAO;QACL,GAAG,KAAK;QACR,aAAa,EAAE,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM;KACpE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAsB;IACnD,OAAO;QACL,GAAG,KAAK;QACR,aAAa,EAAE,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM;KAC/F,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAsB;IACzD,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAsB;IAI3D,MAAM,UAAU,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,eAAe,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;AAChF,CAAC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -7,6 +7,12 @@
|
|
|
7
7
|
import Conf from 'conf';
|
|
8
8
|
export type LLMProvider = 'anthropic' | 'google' | 'openai' | 'together' | 'openrouter' | 'groq' | 'fireworks' | 'mistral' | 'ollama' | 'ai21' | 'huggingface' | 'litellm' | 'auto';
|
|
9
9
|
export type AgentPersona = 'calliope' | 'professional' | 'minimal';
|
|
10
|
+
export interface Profile {
|
|
11
|
+
provider: LLMProvider;
|
|
12
|
+
model?: string;
|
|
13
|
+
persona: AgentPersona;
|
|
14
|
+
confirmMode?: boolean;
|
|
15
|
+
}
|
|
10
16
|
export interface CalliopeConfig {
|
|
11
17
|
setupComplete: boolean;
|
|
12
18
|
defaultProvider: LLMProvider;
|
|
@@ -30,6 +36,8 @@ export interface CalliopeConfig {
|
|
|
30
36
|
autoSaveHistory: boolean;
|
|
31
37
|
workspaceRoot?: string;
|
|
32
38
|
autoUpgrade: boolean;
|
|
39
|
+
profiles?: Record<string, Profile>;
|
|
40
|
+
activeProfile?: string;
|
|
33
41
|
}
|
|
34
42
|
declare const config: Conf<CalliopeConfig>;
|
|
35
43
|
/**
|
|
@@ -76,5 +84,33 @@ export declare function getApiKey(provider: LLMProvider): string | undefined;
|
|
|
76
84
|
* Get base URL for a provider (for Ollama/LiteLLM)
|
|
77
85
|
*/
|
|
78
86
|
export declare function getBaseUrl(provider: LLMProvider): string | undefined;
|
|
87
|
+
/**
|
|
88
|
+
* Get a profile by name (built-in or custom)
|
|
89
|
+
*/
|
|
90
|
+
export declare function getProfile(name: string): Profile | undefined;
|
|
91
|
+
/**
|
|
92
|
+
* Save a custom profile
|
|
93
|
+
*/
|
|
94
|
+
export declare function saveProfile(name: string, profile: Profile): void;
|
|
95
|
+
/**
|
|
96
|
+
* Delete a custom profile
|
|
97
|
+
*/
|
|
98
|
+
export declare function deleteProfile(name: string): boolean;
|
|
99
|
+
/**
|
|
100
|
+
* List all available profiles
|
|
101
|
+
*/
|
|
102
|
+
export declare function listProfiles(): {
|
|
103
|
+
name: string;
|
|
104
|
+
profile: Profile;
|
|
105
|
+
builtin: boolean;
|
|
106
|
+
}[];
|
|
107
|
+
/**
|
|
108
|
+
* Set the active profile
|
|
109
|
+
*/
|
|
110
|
+
export declare function setActiveProfile(name: string | undefined): void;
|
|
111
|
+
/**
|
|
112
|
+
* Get the active profile name
|
|
113
|
+
*/
|
|
114
|
+
export declare function getActiveProfile(): string | undefined;
|
|
79
115
|
export default config;
|
|
80
116
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,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,cAAc;IAE7B,aAAa,EAAE,OAAO,CAAC;IAGvB,eAAe,EAAE,WAAW,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,OAAO,EAAE,YAAY,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IAGrB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,WAAW,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -179,5 +179,95 @@ export function getBaseUrl(provider) {
|
|
|
179
179
|
}
|
|
180
180
|
return undefined;
|
|
181
181
|
}
|
|
182
|
+
// Built-in profiles
|
|
183
|
+
const BUILTIN_PROFILES = {
|
|
184
|
+
fast: {
|
|
185
|
+
provider: 'groq',
|
|
186
|
+
model: 'llama-3.3-70b-versatile',
|
|
187
|
+
persona: 'minimal',
|
|
188
|
+
confirmMode: false,
|
|
189
|
+
},
|
|
190
|
+
smart: {
|
|
191
|
+
provider: 'anthropic',
|
|
192
|
+
model: 'claude-sonnet-4-20250514',
|
|
193
|
+
persona: 'calliope',
|
|
194
|
+
confirmMode: true,
|
|
195
|
+
},
|
|
196
|
+
cheap: {
|
|
197
|
+
provider: 'google',
|
|
198
|
+
model: 'gemini-2.0-flash',
|
|
199
|
+
persona: 'professional',
|
|
200
|
+
confirmMode: true,
|
|
201
|
+
},
|
|
202
|
+
local: {
|
|
203
|
+
provider: 'ollama',
|
|
204
|
+
model: 'llama3.3',
|
|
205
|
+
persona: 'professional',
|
|
206
|
+
confirmMode: true,
|
|
207
|
+
},
|
|
208
|
+
};
|
|
209
|
+
/**
|
|
210
|
+
* Get a profile by name (built-in or custom)
|
|
211
|
+
*/
|
|
212
|
+
export function getProfile(name) {
|
|
213
|
+
// Check built-in profiles first
|
|
214
|
+
if (BUILTIN_PROFILES[name]) {
|
|
215
|
+
return BUILTIN_PROFILES[name];
|
|
216
|
+
}
|
|
217
|
+
// Check custom profiles
|
|
218
|
+
const profiles = config.get('profiles') || {};
|
|
219
|
+
return profiles[name];
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Save a custom profile
|
|
223
|
+
*/
|
|
224
|
+
export function saveProfile(name, profile) {
|
|
225
|
+
const profiles = config.get('profiles') || {};
|
|
226
|
+
profiles[name] = profile;
|
|
227
|
+
config.set('profiles', profiles);
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Delete a custom profile
|
|
231
|
+
*/
|
|
232
|
+
export function deleteProfile(name) {
|
|
233
|
+
if (BUILTIN_PROFILES[name]) {
|
|
234
|
+
return false; // Can't delete built-in profiles
|
|
235
|
+
}
|
|
236
|
+
const profiles = config.get('profiles') || {};
|
|
237
|
+
if (profiles[name]) {
|
|
238
|
+
delete profiles[name];
|
|
239
|
+
config.set('profiles', profiles);
|
|
240
|
+
return true;
|
|
241
|
+
}
|
|
242
|
+
return false;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* List all available profiles
|
|
246
|
+
*/
|
|
247
|
+
export function listProfiles() {
|
|
248
|
+
const result = [];
|
|
249
|
+
// Add built-in profiles
|
|
250
|
+
for (const [name, profile] of Object.entries(BUILTIN_PROFILES)) {
|
|
251
|
+
result.push({ name, profile, builtin: true });
|
|
252
|
+
}
|
|
253
|
+
// Add custom profiles
|
|
254
|
+
const customProfiles = config.get('profiles') || {};
|
|
255
|
+
for (const [name, profile] of Object.entries(customProfiles)) {
|
|
256
|
+
result.push({ name, profile, builtin: false });
|
|
257
|
+
}
|
|
258
|
+
return result;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Set the active profile
|
|
262
|
+
*/
|
|
263
|
+
export function setActiveProfile(name) {
|
|
264
|
+
config.set('activeProfile', name);
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Get the active profile name
|
|
268
|
+
*/
|
|
269
|
+
export function getActiveProfile() {
|
|
270
|
+
return config.get('activeProfile');
|
|
271
|
+
}
|
|
182
272
|
export default config;
|
|
183
273
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/diff.d.ts
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calliope CLI - Diff Preview System
|
|
3
|
+
*
|
|
4
|
+
* Shows diffs before applying file changes, with approve/reject workflow.
|
|
5
|
+
*/
|
|
6
|
+
export interface DiffLine {
|
|
7
|
+
type: 'context' | 'add' | 'remove' | 'header';
|
|
8
|
+
content: string;
|
|
9
|
+
oldLineNum?: number;
|
|
10
|
+
newLineNum?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface FileDiff {
|
|
13
|
+
path: string;
|
|
14
|
+
oldContent: string;
|
|
15
|
+
newContent: string;
|
|
16
|
+
lines: DiffLine[];
|
|
17
|
+
additions: number;
|
|
18
|
+
deletions: number;
|
|
19
|
+
}
|
|
20
|
+
export interface PendingChange {
|
|
21
|
+
id: string;
|
|
22
|
+
type: 'write' | 'edit' | 'delete';
|
|
23
|
+
path: string;
|
|
24
|
+
oldContent: string;
|
|
25
|
+
newContent: string;
|
|
26
|
+
diff: FileDiff;
|
|
27
|
+
approved: boolean | null;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Simple line-by-line diff algorithm
|
|
31
|
+
*/
|
|
32
|
+
export declare function generateDiff(oldContent: string, newContent: string, path: string): FileDiff;
|
|
33
|
+
/**
|
|
34
|
+
* Format diff for terminal display
|
|
35
|
+
*/
|
|
36
|
+
export declare function formatDiff(diff: FileDiff, contextLines?: number): string;
|
|
37
|
+
/**
|
|
38
|
+
* Format diff as compact summary
|
|
39
|
+
*/
|
|
40
|
+
export declare function formatDiffSummary(diff: FileDiff): string;
|
|
41
|
+
/**
|
|
42
|
+
* Queue a file change for approval
|
|
43
|
+
*/
|
|
44
|
+
export declare function queueChange(type: PendingChange['type'], path: string, newContent: string): PendingChange;
|
|
45
|
+
/**
|
|
46
|
+
* Get all pending changes
|
|
47
|
+
*/
|
|
48
|
+
export declare function getPendingChanges(): PendingChange[];
|
|
49
|
+
/**
|
|
50
|
+
* Approve a change and apply it
|
|
51
|
+
*/
|
|
52
|
+
export declare function approveChange(id: string): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Reject a change
|
|
55
|
+
*/
|
|
56
|
+
export declare function rejectChange(id: string): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Approve all pending changes
|
|
59
|
+
*/
|
|
60
|
+
export declare function approveAllChanges(): number;
|
|
61
|
+
/**
|
|
62
|
+
* Reject all pending changes
|
|
63
|
+
*/
|
|
64
|
+
export declare function rejectAllChanges(): number;
|
|
65
|
+
/**
|
|
66
|
+
* Clear change history
|
|
67
|
+
*/
|
|
68
|
+
export declare function clearChanges(): void;
|
|
69
|
+
/**
|
|
70
|
+
* Get change by ID
|
|
71
|
+
*/
|
|
72
|
+
export declare function getChange(id: string): PendingChange | undefined;
|
|
73
|
+
//# sourceMappingURL=diff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;CAC1B;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAkF3F;AAqDD;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,SAAI,GAAG,MAAM,CAqCnE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAExD;AA0DD;;GAEG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,EAC3B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,aAAa,CAgBf;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,aAAa,EAAE,CAEnD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAgBjD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAMhD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAS1C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CASzC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAEnC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAE/D"}
|