exai 1.6.2 → 1.7.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/dist/ai/cache.d.ts +65 -0
- package/dist/ai/cache.d.ts.map +1 -0
- package/dist/ai/cache.js +197 -0
- package/dist/ai/cache.js.map +1 -0
- package/dist/ai/config.d.ts +3 -0
- package/dist/ai/config.d.ts.map +1 -1
- package/dist/ai/config.js +8 -2
- package/dist/ai/config.js.map +1 -1
- package/dist/ai/context-gatherer.d.ts +6 -6
- package/dist/ai/context-gatherer.d.ts.map +1 -1
- package/dist/ai/context-gatherer.js +15 -52
- package/dist/ai/context-gatherer.js.map +1 -1
- package/dist/ai/folder-filter.d.ts +1 -1
- package/dist/ai/folder-filter.d.ts.map +1 -1
- package/dist/ai/folder-filter.js +2 -1
- package/dist/ai/folder-filter.js.map +1 -1
- package/dist/ai/openrouter.d.ts +7 -3
- package/dist/ai/openrouter.d.ts.map +1 -1
- package/dist/ai/openrouter.js +140 -86
- package/dist/ai/openrouter.js.map +1 -1
- package/dist/ai/query-cache.d.ts +9 -24
- package/dist/ai/query-cache.d.ts.map +1 -1
- package/dist/ai/query-cache.js +21 -270
- package/dist/ai/query-cache.js.map +1 -1
- package/dist/cli.js +111 -41
- package/dist/cli.js.map +1 -1
- package/dist/generator/excalidraw-generator.d.ts.map +1 -1
- package/dist/generator/excalidraw-generator.js +41 -2
- package/dist/generator/excalidraw-generator.js.map +1 -1
- package/dist/layout/arrow-router.d.ts +8 -0
- package/dist/layout/arrow-router.d.ts.map +1 -1
- package/dist/layout/arrow-router.js +23 -0
- package/dist/layout/arrow-router.js.map +1 -1
- package/package.json +1 -1
package/dist/ai/openrouter.js
CHANGED
|
@@ -7,18 +7,19 @@
|
|
|
7
7
|
import { getCachedResponse, cacheResponse } from './query-cache.js';
|
|
8
8
|
import { OPENROUTER_API_URL, DEFAULT_MODEL, DEFAULT_TEMPERATURE } from "./contants.js";
|
|
9
9
|
// ── System Prompts ──────────────────────────────────────────────────────────
|
|
10
|
-
const DSL_PLAN_SYSTEM_PROMPT = `You are an expert
|
|
10
|
+
const DSL_PLAN_SYSTEM_PROMPT = `You are an expert diagram planner for Excalidraw.
|
|
11
11
|
|
|
12
12
|
Convert the user's request into a STRICT JSON graph plan. Do NOT output DSL directly.
|
|
13
|
+
You handle ANY kind of diagram: software architecture, folder structures, process flows, org charts, data pipelines, workflows, etc.
|
|
13
14
|
|
|
14
15
|
IMPORTANT CONTEXT RULE:
|
|
15
|
-
- If codebase context is provided, analyze ONLY that
|
|
16
|
+
- If codebase/folder context is provided, analyze ONLY that content.
|
|
16
17
|
- Do NOT use outside assumptions or hallucinated components.
|
|
17
18
|
|
|
18
19
|
Return ONLY valid JSON with this exact schema:
|
|
19
20
|
{
|
|
20
21
|
"nodes": [
|
|
21
|
-
{ "id": "string", "type": "
|
|
22
|
+
{ "id": "string", "type": "string", "label": "string", "color": "optional hex" }
|
|
22
23
|
],
|
|
23
24
|
"edges": [
|
|
24
25
|
{ "from": "node_id", "to": "node_id", "label": "optional", "dashed": false }
|
|
@@ -29,47 +30,70 @@ Return ONLY valid JSON with this exact schema:
|
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
32
|
|
|
32
|
-
|
|
33
|
-
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
-
|
|
33
|
+
NODE TYPES — choose the best shape for each node:
|
|
34
|
+
- "rectangle" — default box, general purpose
|
|
35
|
+
- "ellipse" — actors, start/end points, users, external entities
|
|
36
|
+
- "diamond" — decisions, conditionals, branch points
|
|
37
|
+
- "database" — data stores, databases, storage, files
|
|
38
|
+
- Semantic aliases (auto-colored): "user", "frontend", "api", "service", "worker",
|
|
39
|
+
"queue", "cache", "db", "storage", "external", "orchestrator"
|
|
40
|
+
Use these when the diagram is software/infrastructure — they get automatic colors.
|
|
41
|
+
|
|
42
|
+
COLOR RULES — you decide the color based on the diagram's nature:
|
|
43
|
+
- Group nodes of the same role/tier with the same color.
|
|
44
|
+
- Use a small palette: 2-4 colors max per diagram.
|
|
45
|
+
- Lighter background + darker stroke of the same hue looks best.
|
|
46
|
+
- For "color" field use hex like "#a5d8ff" (background). The stroke is auto-derived darker.
|
|
47
|
+
- Omit "color" for nodes that should stay default (white/no fill).
|
|
48
|
+
- COLOR BY ROLE — pick a consistent scheme:
|
|
49
|
+
* Entry/actor nodes (users, clients, browsers) → light blue e.g. "#e7f5ff"
|
|
50
|
+
* Processing nodes (services, handlers, routes) → light purple e.g. "#f3f0ff"
|
|
51
|
+
* Data nodes (databases, files, storage) → light green e.g. "#d3f9d8"
|
|
52
|
+
* Async/queue nodes (queues, events, jobs) → light yellow e.g. "#fff9db"
|
|
53
|
+
* External/boundary nodes → light red/pink e.g. "#ffe3e3"
|
|
54
|
+
* Decision nodes → light orange e.g. "#fff4e6"
|
|
55
|
+
* For folder/file structures: group by folder depth or file type
|
|
56
|
+
* For process flows: group by phase (input/process/output → 3 colors)
|
|
57
|
+
* For org charts: group by team or hierarchy level
|
|
58
|
+
|
|
59
|
+
DIAGRAM MODELING RULES:
|
|
60
|
+
- Use edge labels for meaningful relationships: "calls", "reads", "writes", "contains", "depends on", "triggers", "returns", "inherits".
|
|
61
|
+
- Choose direction: TB (top-down flows), LR (pipelines, sequences), BT/RL rarely.
|
|
62
|
+
- Keep labels concise (≤ 40 chars).
|
|
63
|
+
- Avoid decorative or redundant nodes.
|
|
45
64
|
|
|
46
65
|
GRAPH QUALITY RULES:
|
|
47
66
|
- Output JSON object only (no markdown, no explanation).
|
|
48
|
-
- Node IDs must be unique and
|
|
67
|
+
- Node IDs must be unique and slug-like (e.g. "auth-service", "users-db", "src-folder").
|
|
49
68
|
- Every edge must reference valid node IDs.
|
|
50
69
|
- Avoid duplicate edges with same from/to/label.
|
|
51
70
|
- Prefer connected graphs; avoid isolated nodes unless explicitly requested.
|
|
52
|
-
- Prefer 6-
|
|
71
|
+
- Prefer 6-20 nodes unless the subject is tiny or the user requests high detail.
|
|
72
|
+
|
|
73
|
+
ANTI-CLUTTER RULES:
|
|
74
|
+
- NEVER connect more than 4-5 edges to a single node. Add an intermediate grouping node if needed.
|
|
75
|
+
- Merge parallel edges between the same two nodes into one edge with a combined label.
|
|
76
|
+
- For things with many sub-items (e.g. API with many routes, folder with many files): represent as ONE parent node, not individual nodes for each item.`;
|
|
53
77
|
const JSON_SYSTEM_PROMPT = `You are an expert at creating architecture/flowchart diagrams using exai JSON format.
|
|
54
|
-
|
|
55
|
-
Convert the user's natural language description into valid JSON format.
|
|
56
|
-
|
|
57
|
-
IMPORTANT: If the user provides codebase context, you MUST analyze ONLY that specific codebase and create a diagram based on what you see in the provided code. Do NOT use your general knowledge about other projects.
|
|
58
|
-
|
|
59
|
-
JSON Structure:
|
|
60
|
-
{
|
|
61
|
-
"nodes": [
|
|
62
|
-
{ "id": "unique_id", "type": "rectangle|diamond|ellipse|database", "label": "Node Label" }
|
|
63
|
-
],
|
|
64
|
-
"edges": [
|
|
65
|
-
{ "from": "source_id", "to": "target_id", "label": "optional label" }
|
|
66
|
-
],
|
|
67
|
-
"options": {
|
|
68
|
-
"direction": "TB|BT|LR|RL",
|
|
69
|
-
"nodeSpacing": 50
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
78
|
+
|
|
79
|
+
Convert the user's natural language description into valid JSON format.
|
|
80
|
+
|
|
81
|
+
IMPORTANT: If the user provides codebase context, you MUST analyze ONLY that specific codebase and create a diagram based on what you see in the provided code. Do NOT use your general knowledge about other projects.
|
|
82
|
+
|
|
83
|
+
JSON Structure:
|
|
84
|
+
{
|
|
85
|
+
"nodes": [
|
|
86
|
+
{ "id": "unique_id", "type": "rectangle|diamond|ellipse|database", "label": "Node Label" }
|
|
87
|
+
],
|
|
88
|
+
"edges": [
|
|
89
|
+
{ "from": "source_id", "to": "target_id", "label": "optional label" }
|
|
90
|
+
],
|
|
91
|
+
"options": {
|
|
92
|
+
"direction": "TB|BT|LR|RL",
|
|
93
|
+
"nodeSpacing": 50
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
73
97
|
Node Types:
|
|
74
98
|
- rectangle: Process steps, actions
|
|
75
99
|
- diamond: Decisions, conditionals
|
|
@@ -85,9 +109,9 @@ MODELING RULES:
|
|
|
85
109
|
CRITICAL RULES:
|
|
86
110
|
- Output ONLY valid JSON
|
|
87
111
|
- Do NOT wrap output in markdown code blocks
|
|
88
|
-
- Do NOT include backticks or \`\`\`json
|
|
89
|
-
- Do NOT add explanations
|
|
90
|
-
- Output must be raw JSON that can be parsed directly
|
|
112
|
+
- Do NOT include backticks or \`\`\`json
|
|
113
|
+
- Do NOT add explanations
|
|
114
|
+
- Output must be raw JSON that can be parsed directly
|
|
91
115
|
- Use unique, descriptive IDs for nodes`;
|
|
92
116
|
// ── callLLM (base) ─────────────────────────────────────────────────────────
|
|
93
117
|
/**
|
|
@@ -110,37 +134,59 @@ export async function callLLM(userPrompt, systemPrompt, options = {}) {
|
|
|
110
134
|
const system = systemPrompt || 'You are a helpful assistant.';
|
|
111
135
|
const useCache = options.useCache !== false;
|
|
112
136
|
const cacheFormat = options.cacheFormat || 'text';
|
|
137
|
+
const cacheOnly = options.cacheOnly === true;
|
|
113
138
|
// Check cache
|
|
114
|
-
if (useCache) {
|
|
115
|
-
const cached = getCachedResponse(userPrompt, model, temperature, cacheFormat, options.cacheContext
|
|
139
|
+
if (useCache || cacheOnly) {
|
|
140
|
+
const cached = getCachedResponse(userPrompt, model, temperature, cacheFormat, options.cacheContext);
|
|
116
141
|
if (cached) {
|
|
117
142
|
if (options.verbose)
|
|
118
143
|
console.log(` Cache hit (${cacheFormat})`);
|
|
119
144
|
return cached;
|
|
120
145
|
}
|
|
121
146
|
}
|
|
147
|
+
// cacheOnly: do not call API, signal miss to caller
|
|
148
|
+
if (cacheOnly) {
|
|
149
|
+
throw new Error(`CACHE_MISS:${cacheFormat}`);
|
|
150
|
+
}
|
|
151
|
+
const timeoutMs = options.timeoutMs ?? 120_000;
|
|
122
152
|
if (options.verbose) {
|
|
123
153
|
console.log(` Calling ${model}...`);
|
|
124
154
|
console.log(` Temperature: ${temperature}`);
|
|
125
155
|
console.log(` Prompt size: ${(userPrompt.length / 1024).toFixed(1)}KB`);
|
|
156
|
+
console.log(` Timeout: ${timeoutMs / 1000}s`);
|
|
157
|
+
}
|
|
158
|
+
const controller = new AbortController();
|
|
159
|
+
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
160
|
+
let response;
|
|
161
|
+
try {
|
|
162
|
+
response = await fetch(OPENROUTER_API_URL, {
|
|
163
|
+
method: 'POST',
|
|
164
|
+
headers: {
|
|
165
|
+
'Content-Type': 'application/json',
|
|
166
|
+
Authorization: `Bearer ${apiKey}`,
|
|
167
|
+
'HTTP-Referer': 'https://github.com/KailasMahavarkar/exai',
|
|
168
|
+
'X-Title': 'exai',
|
|
169
|
+
},
|
|
170
|
+
body: JSON.stringify({
|
|
171
|
+
model,
|
|
172
|
+
temperature,
|
|
173
|
+
messages: [
|
|
174
|
+
{ role: 'system', content: system },
|
|
175
|
+
{ role: 'user', content: userPrompt },
|
|
176
|
+
],
|
|
177
|
+
}),
|
|
178
|
+
signal: controller.signal,
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
catch (err) {
|
|
182
|
+
if (err.name === 'AbortError') {
|
|
183
|
+
throw new Error(`LLM request timed out after ${timeoutMs / 1000}s (model: ${model}). Try a faster model or increase the timeout.`);
|
|
184
|
+
}
|
|
185
|
+
throw err;
|
|
186
|
+
}
|
|
187
|
+
finally {
|
|
188
|
+
clearTimeout(timer);
|
|
126
189
|
}
|
|
127
|
-
const response = await fetch(OPENROUTER_API_URL, {
|
|
128
|
-
method: 'POST',
|
|
129
|
-
headers: {
|
|
130
|
-
'Content-Type': 'application/json',
|
|
131
|
-
Authorization: `Bearer ${apiKey}`,
|
|
132
|
-
'HTTP-Referer': 'https://github.com/KailasMahavarkar/exai',
|
|
133
|
-
'X-Title': 'exai',
|
|
134
|
-
},
|
|
135
|
-
body: JSON.stringify({
|
|
136
|
-
model,
|
|
137
|
-
temperature,
|
|
138
|
-
messages: [
|
|
139
|
-
{ role: 'system', content: system },
|
|
140
|
-
{ role: 'user', content: userPrompt },
|
|
141
|
-
],
|
|
142
|
-
}),
|
|
143
|
-
});
|
|
144
190
|
if (!response.ok) {
|
|
145
191
|
const error = await response.text();
|
|
146
192
|
throw new Error(`OpenRouter API error (${response.status}): ${error}`);
|
|
@@ -154,7 +200,7 @@ export async function callLLM(userPrompt, systemPrompt, options = {}) {
|
|
|
154
200
|
}
|
|
155
201
|
// Cache response
|
|
156
202
|
if (useCache) {
|
|
157
|
-
cacheResponse(userPrompt, model, temperature, cacheFormat, output, options.cacheContext
|
|
203
|
+
cacheResponse(userPrompt, model, temperature, cacheFormat, output, options.cacheContext);
|
|
158
204
|
}
|
|
159
205
|
return output;
|
|
160
206
|
}
|
|
@@ -170,22 +216,22 @@ export async function generateFlowchartInput(prompt, format, options = {}) {
|
|
|
170
216
|
if (options.verbose) {
|
|
171
217
|
console.log(` Adding context (${(options.context.length / 1024).toFixed(1)}KB)`);
|
|
172
218
|
}
|
|
173
|
-
userMessage = `YOUR TASK: ${prompt}
|
|
174
|
-
|
|
175
|
-
CRITICAL INSTRUCTIONS:
|
|
176
|
-
1. Below is the COMPLETE codebase you need to analyze
|
|
177
|
-
2. Read through ALL the code files carefully
|
|
178
|
-
3. Create a diagram based ONLY on what you see in THIS codebase
|
|
179
|
-
4. DO NOT use your general knowledge about any other projects
|
|
180
|
-
5. DO NOT make assumptions - only use information from the code below
|
|
181
|
-
|
|
182
|
-
====== BEGIN CODEBASE ======
|
|
183
|
-
|
|
184
|
-
${options.context}
|
|
185
|
-
|
|
186
|
-
====== END CODEBASE ======
|
|
187
|
-
|
|
188
|
-
Now, analyze the codebase above and ${prompt}
|
|
219
|
+
userMessage = `YOUR TASK: ${prompt}
|
|
220
|
+
|
|
221
|
+
CRITICAL INSTRUCTIONS:
|
|
222
|
+
1. Below is the COMPLETE codebase you need to analyze
|
|
223
|
+
2. Read through ALL the code files carefully
|
|
224
|
+
3. Create a diagram based ONLY on what you see in THIS codebase
|
|
225
|
+
4. DO NOT use your general knowledge about any other projects
|
|
226
|
+
5. DO NOT make assumptions - only use information from the code below
|
|
227
|
+
|
|
228
|
+
====== BEGIN CODEBASE ======
|
|
229
|
+
|
|
230
|
+
${options.context}
|
|
231
|
+
|
|
232
|
+
====== END CODEBASE ======
|
|
233
|
+
|
|
234
|
+
Now, analyze the codebase above and ${prompt}
|
|
189
235
|
|
|
190
236
|
Remember: Base your diagram ONLY on the code provided between the BEGIN/END markers above.`;
|
|
191
237
|
}
|
|
@@ -196,9 +242,10 @@ Remember: Base your diagram ONLY on the code provided between the BEGIN/END mark
|
|
|
196
242
|
temperature: options.temperature,
|
|
197
243
|
verbose: options.verbose,
|
|
198
244
|
useCache: options.useCache,
|
|
199
|
-
cacheOptions: options.cacheOptions,
|
|
200
245
|
cacheFormat: 'dsl-plan',
|
|
201
246
|
cacheContext: options.context,
|
|
247
|
+
timeoutMs: options.timeoutMs,
|
|
248
|
+
cacheOnly: options.cacheOnly,
|
|
202
249
|
});
|
|
203
250
|
if (options.verbose)
|
|
204
251
|
console.log(` Rebuilding DSL from normalized plan...`);
|
|
@@ -218,9 +265,10 @@ Remember: Base your diagram ONLY on the code provided between the BEGIN/END mark
|
|
|
218
265
|
temperature: options.temperature,
|
|
219
266
|
verbose: options.verbose,
|
|
220
267
|
useCache: options.useCache,
|
|
221
|
-
cacheOptions: options.cacheOptions,
|
|
222
268
|
cacheFormat: format,
|
|
223
269
|
cacheContext: options.context,
|
|
270
|
+
timeoutMs: options.timeoutMs,
|
|
271
|
+
cacheOnly: options.cacheOnly,
|
|
224
272
|
});
|
|
225
273
|
if (options.verbose)
|
|
226
274
|
console.log(` Cleaning and validating output...`);
|
|
@@ -247,17 +295,21 @@ function normalizeDirection(value) {
|
|
|
247
295
|
const dir = value.toUpperCase();
|
|
248
296
|
return dir === 'TB' || dir === 'BT' || dir === 'LR' || dir === 'RL' ? dir : undefined;
|
|
249
297
|
}
|
|
298
|
+
// Semantic kinds the DSL parser understands — pass them through as-is for automatic color styling.
|
|
299
|
+
const SEMANTIC_KINDS = new Set([
|
|
300
|
+
'frontend', 'backend', 'api', 'service', 'worker',
|
|
301
|
+
'db', 'database', 'storage', 'queue', 'mq', 'broker', 'cache',
|
|
302
|
+
'external', 'user', 'orchestrator', 'hub', 'router',
|
|
303
|
+
'diamond', 'decision', 'condition',
|
|
304
|
+
'ellipse', 'oval', 'start', 'end',
|
|
305
|
+
'rectangle', 'process', 'cylinder',
|
|
306
|
+
]);
|
|
250
307
|
function normalizeNodeType(value) {
|
|
251
308
|
if (!value)
|
|
252
309
|
return 'rectangle';
|
|
253
310
|
const type = value.toLowerCase();
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
if (type === 'ellipse' || type === 'oval' || type === 'start' || type === 'end')
|
|
257
|
-
return 'ellipse';
|
|
258
|
-
if (type === 'database' || type === 'db' || type === 'storage' || type === 'cylinder')
|
|
259
|
-
return 'database';
|
|
260
|
-
return 'rectangle';
|
|
311
|
+
// Pass through any known semantic kind; unknown values fall back to rectangle
|
|
312
|
+
return SEMANTIC_KINDS.has(type) ? type : 'rectangle';
|
|
261
313
|
}
|
|
262
314
|
function sanitizeNodeLabel(label, fallback) {
|
|
263
315
|
const value = (label || '').trim();
|
|
@@ -291,6 +343,7 @@ function normalizeDslPlan(plan) {
|
|
|
291
343
|
id: nodeId,
|
|
292
344
|
type: normalizeNodeType(rawNode.type),
|
|
293
345
|
label: sanitizeNodeLabel(rawNode.label, fallbackLabel),
|
|
346
|
+
color: typeof rawNode.color === 'string' && rawNode.color.startsWith('#') ? rawNode.color : undefined,
|
|
294
347
|
};
|
|
295
348
|
nodes.push(node);
|
|
296
349
|
nodeById.set(node.id, node);
|
|
@@ -367,7 +420,8 @@ function buildDslFromPlan(plan) {
|
|
|
367
420
|
}
|
|
368
421
|
usedRefs.add(ref);
|
|
369
422
|
nodeRefByOriginalId.set(node.id, ref);
|
|
370
|
-
|
|
423
|
+
const colorToken = node.color ? ` bg:${node.color}` : '';
|
|
424
|
+
lines.push(`@node ${ref} ${node.type} ${quoteDsl(node.label)}${colorToken}`);
|
|
371
425
|
}
|
|
372
426
|
if (plan.nodes.length > 0 && plan.edges.length > 0) {
|
|
373
427
|
lines.push('');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../src/ai/openrouter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../src/ai/openrouter.ts"],"names":[],"mappings":"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"}
|
package/dist/ai/query-cache.d.ts
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Query Cache -
|
|
2
|
+
* Query Cache - compatibility wrapper around the unified ExaiCache.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* - Temperature setting
|
|
9
|
-
*
|
|
10
|
-
* Cache entries expire after 7 days by default.
|
|
4
|
+
* Public API is unchanged so existing call-sites continue to compile.
|
|
5
|
+
* Configuration (TTL, maxEntries, verbose) is now managed on the shared
|
|
6
|
+
* `cache` singleton in cache.ts — the options parameters below are accepted
|
|
7
|
+
* for backward compatibility but are no longer used.
|
|
11
8
|
*/
|
|
12
9
|
export interface CacheEntry {
|
|
13
10
|
key: string;
|
|
@@ -25,22 +22,10 @@ export interface CacheOptions {
|
|
|
25
22
|
maxEntries?: number;
|
|
26
23
|
verbose?: boolean;
|
|
27
24
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
export declare function
|
|
32
|
-
/**
|
|
33
|
-
* Cache a response
|
|
34
|
-
*/
|
|
35
|
-
export declare function cacheResponse(prompt: string, model: string, temperature: number, format: string, response: string, context?: string, options?: CacheOptions): void;
|
|
36
|
-
/**
|
|
37
|
-
* Clear all cache entries
|
|
38
|
-
*/
|
|
39
|
-
export declare function clearCache(options?: CacheOptions): number;
|
|
40
|
-
/**
|
|
41
|
-
* Get cache statistics
|
|
42
|
-
*/
|
|
43
|
-
export declare function getCacheStats(options?: CacheOptions): {
|
|
25
|
+
export declare function getCachedResponse(prompt: string, model: string, temperature: number, format: string, context?: string, _options?: CacheOptions): string | null;
|
|
26
|
+
export declare function cacheResponse(prompt: string, model: string, temperature: number, format: string, response: string, context?: string, _options?: CacheOptions): void;
|
|
27
|
+
export declare function clearCache(_options?: CacheOptions): number;
|
|
28
|
+
export declare function getCacheStats(_options?: CacheOptions): {
|
|
44
29
|
totalEntries: number;
|
|
45
30
|
totalSize: number;
|
|
46
31
|
oldestEntry: number | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-cache.d.ts","sourceRoot":"","sources":["../../src/ai/query-cache.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"query-cache.d.ts","sourceRoot":"","sources":["../../src/ai/query-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,WAAW,UAAU;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAID,wBAAgB,iBAAiB,CAC7B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,GAAE,YAAiB,GAC5B,MAAM,GAAG,IAAI,CAGf;AAED,wBAAgB,aAAa,CACzB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,GAAE,YAAiB,GAC5B,IAAI,CAGN;AAED,wBAAgB,UAAU,CAAC,QAAQ,GAAE,YAAiB,GAAG,MAAM,CAE9D;AAED,wBAAgB,aAAa,CAAC,QAAQ,GAAE,YAAiB,GAAG;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAEA"}
|