@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,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calliope CLI - Project Configuration
|
|
3
|
+
*
|
|
4
|
+
* Loads project-specific settings from .calliope file (simple human-readable format)
|
|
5
|
+
*
|
|
6
|
+
* Format:
|
|
7
|
+
* ```
|
|
8
|
+
* # Comment
|
|
9
|
+
* project: My Project Name
|
|
10
|
+
* provider: anthropic
|
|
11
|
+
* model: claude-sonnet-4
|
|
12
|
+
*
|
|
13
|
+
* [tech]
|
|
14
|
+
* typescript
|
|
15
|
+
* react
|
|
16
|
+
* node
|
|
17
|
+
*
|
|
18
|
+
* [conventions]
|
|
19
|
+
* Use functional components
|
|
20
|
+
* Prefer async/await
|
|
21
|
+
*
|
|
22
|
+
* [ignore]
|
|
23
|
+
* node_modules/
|
|
24
|
+
* dist/
|
|
25
|
+
*
|
|
26
|
+
* [commands]
|
|
27
|
+
* build: npm run build
|
|
28
|
+
* test: npm test
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
import type { LLMProvider, AgentPersona } from './types.js';
|
|
32
|
+
export interface ProjectConfig {
|
|
33
|
+
project?: string;
|
|
34
|
+
description?: string;
|
|
35
|
+
provider?: LLMProvider;
|
|
36
|
+
model?: string;
|
|
37
|
+
persona?: AgentPersona;
|
|
38
|
+
maxIterations?: number;
|
|
39
|
+
systemPromptPrefix?: string;
|
|
40
|
+
systemPromptSuffix?: string;
|
|
41
|
+
tech?: string[];
|
|
42
|
+
conventions?: string[];
|
|
43
|
+
ignore?: string[];
|
|
44
|
+
include?: string[];
|
|
45
|
+
skills?: string[];
|
|
46
|
+
disabledTools?: string[];
|
|
47
|
+
commands?: Record<string, string>;
|
|
48
|
+
mcpServers?: string[];
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Find project config file in directory tree
|
|
52
|
+
*/
|
|
53
|
+
export declare function findProjectConfig(startDir: string): string | null;
|
|
54
|
+
/**
|
|
55
|
+
* Parse .calliope config file
|
|
56
|
+
*
|
|
57
|
+
* Format:
|
|
58
|
+
* - Lines starting with # are comments
|
|
59
|
+
* - key: value for simple values
|
|
60
|
+
* - [section] starts a list section
|
|
61
|
+
* - Indented or unindented lines in sections are list items
|
|
62
|
+
*/
|
|
63
|
+
export declare function parseConfigFile(content: string): ProjectConfig;
|
|
64
|
+
/**
|
|
65
|
+
* Load project config from file
|
|
66
|
+
*/
|
|
67
|
+
export declare function loadProjectConfig(configPath: string): ProjectConfig | null;
|
|
68
|
+
/**
|
|
69
|
+
* Get project config for a directory
|
|
70
|
+
*/
|
|
71
|
+
export declare function getProjectConfig(dir: string): ProjectConfig | null;
|
|
72
|
+
/**
|
|
73
|
+
* Generate a default project config
|
|
74
|
+
*/
|
|
75
|
+
export declare function generateDefaultConfig(projectName?: string): string;
|
|
76
|
+
/**
|
|
77
|
+
* Create a project config file
|
|
78
|
+
*/
|
|
79
|
+
export declare function createProjectConfig(dir: string, projectName?: string): string;
|
|
80
|
+
/**
|
|
81
|
+
* Build additional context from project config
|
|
82
|
+
*/
|
|
83
|
+
export declare function buildProjectContext(config: ProjectConfig): string;
|
|
84
|
+
//# sourceMappingURL=project-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-config.d.ts","sourceRoot":"","sources":["../src/project-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM5D,MAAM,WAAW,aAAa;IAE5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAGvB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAGnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAGzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGlC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAYD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAcjE;AAMD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAwF9D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAQ1E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAIlE;AAMD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CA+BlE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAK7E;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CA+BjE"}
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calliope CLI - Project Configuration
|
|
3
|
+
*
|
|
4
|
+
* Loads project-specific settings from .calliope file (simple human-readable format)
|
|
5
|
+
*
|
|
6
|
+
* Format:
|
|
7
|
+
* ```
|
|
8
|
+
* # Comment
|
|
9
|
+
* project: My Project Name
|
|
10
|
+
* provider: anthropic
|
|
11
|
+
* model: claude-sonnet-4
|
|
12
|
+
*
|
|
13
|
+
* [tech]
|
|
14
|
+
* typescript
|
|
15
|
+
* react
|
|
16
|
+
* node
|
|
17
|
+
*
|
|
18
|
+
* [conventions]
|
|
19
|
+
* Use functional components
|
|
20
|
+
* Prefer async/await
|
|
21
|
+
*
|
|
22
|
+
* [ignore]
|
|
23
|
+
* node_modules/
|
|
24
|
+
* dist/
|
|
25
|
+
*
|
|
26
|
+
* [commands]
|
|
27
|
+
* build: npm run build
|
|
28
|
+
* test: npm test
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
import * as fs from 'fs';
|
|
32
|
+
import * as path from 'path';
|
|
33
|
+
// ============================================================================
|
|
34
|
+
// Config File Detection
|
|
35
|
+
// ============================================================================
|
|
36
|
+
const CONFIG_FILENAMES = [
|
|
37
|
+
'.calliope',
|
|
38
|
+
'.calliope.conf',
|
|
39
|
+
'calliope.conf',
|
|
40
|
+
];
|
|
41
|
+
/**
|
|
42
|
+
* Find project config file in directory tree
|
|
43
|
+
*/
|
|
44
|
+
export function findProjectConfig(startDir) {
|
|
45
|
+
let currentDir = startDir;
|
|
46
|
+
while (currentDir !== path.dirname(currentDir)) {
|
|
47
|
+
for (const filename of CONFIG_FILENAMES) {
|
|
48
|
+
const configPath = path.join(currentDir, filename);
|
|
49
|
+
if (fs.existsSync(configPath)) {
|
|
50
|
+
return configPath;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
currentDir = path.dirname(currentDir);
|
|
54
|
+
}
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
// ============================================================================
|
|
58
|
+
// Config Parsing (Simple human-readable format)
|
|
59
|
+
// ============================================================================
|
|
60
|
+
/**
|
|
61
|
+
* Parse .calliope config file
|
|
62
|
+
*
|
|
63
|
+
* Format:
|
|
64
|
+
* - Lines starting with # are comments
|
|
65
|
+
* - key: value for simple values
|
|
66
|
+
* - [section] starts a list section
|
|
67
|
+
* - Indented or unindented lines in sections are list items
|
|
68
|
+
*/
|
|
69
|
+
export function parseConfigFile(content) {
|
|
70
|
+
const config = {};
|
|
71
|
+
const lines = content.split('\n');
|
|
72
|
+
let currentSection = null;
|
|
73
|
+
let currentList = [];
|
|
74
|
+
const flushSection = () => {
|
|
75
|
+
if (currentSection && currentList.length > 0) {
|
|
76
|
+
config[currentSection] = [...currentList];
|
|
77
|
+
currentList = [];
|
|
78
|
+
}
|
|
79
|
+
currentSection = null;
|
|
80
|
+
};
|
|
81
|
+
for (const rawLine of lines) {
|
|
82
|
+
const line = rawLine.trim();
|
|
83
|
+
// Skip empty lines and comments
|
|
84
|
+
if (!line || line.startsWith('#')) {
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
// Section header [name]
|
|
88
|
+
if (line.startsWith('[') && line.endsWith(']')) {
|
|
89
|
+
flushSection();
|
|
90
|
+
currentSection = line.slice(1, -1).toLowerCase();
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
// In a section - add as list item
|
|
94
|
+
if (currentSection) {
|
|
95
|
+
// Handle command format: name: script
|
|
96
|
+
if (currentSection === 'commands' && line.includes(':')) {
|
|
97
|
+
const colonIdx = line.indexOf(':');
|
|
98
|
+
const name = line.slice(0, colonIdx).trim();
|
|
99
|
+
const script = line.slice(colonIdx + 1).trim();
|
|
100
|
+
if (!config.commands)
|
|
101
|
+
config.commands = {};
|
|
102
|
+
config.commands[name] = script;
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
currentList.push(line);
|
|
106
|
+
}
|
|
107
|
+
continue;
|
|
108
|
+
}
|
|
109
|
+
// Key: value pair
|
|
110
|
+
if (line.includes(':')) {
|
|
111
|
+
const colonIdx = line.indexOf(':');
|
|
112
|
+
const key = line.slice(0, colonIdx).trim().toLowerCase();
|
|
113
|
+
const value = line.slice(colonIdx + 1).trim();
|
|
114
|
+
switch (key) {
|
|
115
|
+
case 'project':
|
|
116
|
+
config.project = value;
|
|
117
|
+
break;
|
|
118
|
+
case 'description':
|
|
119
|
+
config.description = value;
|
|
120
|
+
break;
|
|
121
|
+
case 'provider':
|
|
122
|
+
config.provider = value;
|
|
123
|
+
break;
|
|
124
|
+
case 'model':
|
|
125
|
+
config.model = value;
|
|
126
|
+
break;
|
|
127
|
+
case 'persona':
|
|
128
|
+
config.persona = value;
|
|
129
|
+
break;
|
|
130
|
+
case 'maxiterations':
|
|
131
|
+
case 'max-iterations':
|
|
132
|
+
case 'max_iterations':
|
|
133
|
+
config.maxIterations = parseInt(value, 10);
|
|
134
|
+
break;
|
|
135
|
+
case 'prefix':
|
|
136
|
+
case 'systempromptprefix':
|
|
137
|
+
config.systemPromptPrefix = value;
|
|
138
|
+
break;
|
|
139
|
+
case 'suffix':
|
|
140
|
+
case 'systempromptsuffix':
|
|
141
|
+
config.systemPromptSuffix = value;
|
|
142
|
+
break;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// Flush final section
|
|
147
|
+
flushSection();
|
|
148
|
+
return config;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Load project config from file
|
|
152
|
+
*/
|
|
153
|
+
export function loadProjectConfig(configPath) {
|
|
154
|
+
try {
|
|
155
|
+
const content = fs.readFileSync(configPath, 'utf-8');
|
|
156
|
+
return parseConfigFile(content);
|
|
157
|
+
}
|
|
158
|
+
catch (e) {
|
|
159
|
+
console.error(`Warning: Failed to load project config: ${e instanceof Error ? e.message : String(e)}`);
|
|
160
|
+
return null;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Get project config for a directory
|
|
165
|
+
*/
|
|
166
|
+
export function getProjectConfig(dir) {
|
|
167
|
+
const configPath = findProjectConfig(dir);
|
|
168
|
+
if (!configPath)
|
|
169
|
+
return null;
|
|
170
|
+
return loadProjectConfig(configPath);
|
|
171
|
+
}
|
|
172
|
+
// ============================================================================
|
|
173
|
+
// Config Generation
|
|
174
|
+
// ============================================================================
|
|
175
|
+
/**
|
|
176
|
+
* Generate a default project config
|
|
177
|
+
*/
|
|
178
|
+
export function generateDefaultConfig(projectName) {
|
|
179
|
+
return `# Calliope Project Configuration
|
|
180
|
+
# https://github.com/calliopelabs/calliope-cli
|
|
181
|
+
|
|
182
|
+
project: ${projectName || 'My Project'}
|
|
183
|
+
# provider: anthropic
|
|
184
|
+
# model: claude-sonnet-4
|
|
185
|
+
|
|
186
|
+
[tech]
|
|
187
|
+
# Add your tech stack
|
|
188
|
+
# typescript
|
|
189
|
+
# react
|
|
190
|
+
# node
|
|
191
|
+
|
|
192
|
+
[conventions]
|
|
193
|
+
# Add coding conventions for this project
|
|
194
|
+
# Use functional components
|
|
195
|
+
# Prefer async/await over promises
|
|
196
|
+
|
|
197
|
+
[ignore]
|
|
198
|
+
node_modules/
|
|
199
|
+
dist/
|
|
200
|
+
.git/
|
|
201
|
+
*.log
|
|
202
|
+
|
|
203
|
+
[commands]
|
|
204
|
+
# Custom commands (name: script)
|
|
205
|
+
# build: npm run build
|
|
206
|
+
# test: npm test
|
|
207
|
+
# lint: npm run lint
|
|
208
|
+
`;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Create a project config file
|
|
212
|
+
*/
|
|
213
|
+
export function createProjectConfig(dir, projectName) {
|
|
214
|
+
const configPath = path.join(dir, '.calliope');
|
|
215
|
+
const content = generateDefaultConfig(projectName || path.basename(dir));
|
|
216
|
+
fs.writeFileSync(configPath, content);
|
|
217
|
+
return configPath;
|
|
218
|
+
}
|
|
219
|
+
// ============================================================================
|
|
220
|
+
// System Prompt Builder
|
|
221
|
+
// ============================================================================
|
|
222
|
+
/**
|
|
223
|
+
* Build additional context from project config
|
|
224
|
+
*/
|
|
225
|
+
export function buildProjectContext(config) {
|
|
226
|
+
const parts = [];
|
|
227
|
+
if (config.project) {
|
|
228
|
+
parts.push(`Project: ${config.project}`);
|
|
229
|
+
}
|
|
230
|
+
if (config.description) {
|
|
231
|
+
parts.push(`Description: ${config.description}`);
|
|
232
|
+
}
|
|
233
|
+
if (config.tech && config.tech.length > 0) {
|
|
234
|
+
parts.push(`Tech stack: ${config.tech.join(', ')}`);
|
|
235
|
+
}
|
|
236
|
+
if (config.conventions && config.conventions.length > 0) {
|
|
237
|
+
parts.push('\nProject conventions:');
|
|
238
|
+
for (const conv of config.conventions) {
|
|
239
|
+
parts.push(`- ${conv}`);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
if (config.systemPromptPrefix) {
|
|
243
|
+
parts.unshift(config.systemPromptPrefix);
|
|
244
|
+
}
|
|
245
|
+
if (config.systemPromptSuffix) {
|
|
246
|
+
parts.push(config.systemPromptSuffix);
|
|
247
|
+
}
|
|
248
|
+
return parts.join('\n');
|
|
249
|
+
}
|
|
250
|
+
//# sourceMappingURL=project-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-config.js","sourceRoot":"","sources":["../src/project-config.ts"],"names":[],"mappings":"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"}
|
package/dist/providers.d.ts
CHANGED
|
@@ -13,7 +13,15 @@ export declare function getAvailableProviders(): LLMProvider[];
|
|
|
13
13
|
*/
|
|
14
14
|
export declare function selectProvider(preferred: LLMProvider): LLMProvider;
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* Streaming callback type
|
|
17
17
|
*/
|
|
18
|
-
export
|
|
18
|
+
export type StreamCallback = (token: string) => void;
|
|
19
|
+
/**
|
|
20
|
+
* Retry callback type for UI updates
|
|
21
|
+
*/
|
|
22
|
+
export type RetryCallback = (attempt: number, error: Error, delayMs: number) => void;
|
|
23
|
+
/**
|
|
24
|
+
* Chat with the selected provider (with automatic retry)
|
|
25
|
+
*/
|
|
26
|
+
export declare function chat(provider: LLMProvider, messages: Message[], tools: Tool[], model?: string, onToken?: StreamCallback, onRetry?: RetryCallback): Promise<LLMResponse>;
|
|
19
27
|
//# sourceMappingURL=providers.d.ts.map
|
package/dist/providers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAY,WAAW,EAA6C,MAAM,YAAY,CAAC;AA+J/H;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,WAAW,EAAE,CAgBrD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,WAAW,GAAG,WAAW,CAuBlE;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAErF;;GAEG;AACH,wBAAsB,IAAI,CACxB,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,IAAI,EAAE,EACb,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,WAAW,CAAC,CAiCtB"}
|