cawdex 1.35.76 → 1.35.78
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/command-palette.js +1 -0
- package/dist/command-palette.js.map +1 -1
- package/dist/config.js +7 -1
- package/dist/config.js.map +1 -1
- package/dist/fixed-footer.d.ts +4 -1
- package/dist/fixed-footer.js +28 -13
- package/dist/fixed-footer.js.map +1 -1
- package/dist/imports.d.ts +126 -0
- package/dist/imports.js +611 -0
- package/dist/imports.js.map +1 -0
- package/dist/index.js +206 -3
- package/dist/index.js.map +1 -1
- package/dist/inline-suggest.js +136 -12
- package/dist/inline-suggest.js.map +1 -1
- package/dist/query.d.ts +1 -1
- package/dist/query.js +64 -10
- package/dist/query.js.map +1 -1
- package/dist/types.d.ts +6 -0
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/dist/inline-suggest.js
CHANGED
|
@@ -102,18 +102,24 @@ function ansiVisibleLen(s) {
|
|
|
102
102
|
return s.replace(/\x1b\[[0-9;]*m/g, '').length;
|
|
103
103
|
}
|
|
104
104
|
export function filterSuggestItems(items, filter) {
|
|
105
|
-
|
|
106
|
-
const
|
|
105
|
+
const trimmed = filter.trimStart();
|
|
106
|
+
const commandMode = trimmed.startsWith('/');
|
|
107
|
+
const cleaned = trimmed.replace(/^\//, '').toLowerCase();
|
|
108
|
+
const spaceIdx = cleaned.indexOf(' ');
|
|
107
109
|
const hasArgs = spaceIdx >= 0;
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
if (!f)
|
|
110
|
+
const query = (hasArgs ? cleaned.slice(0, spaceIdx) : cleaned).trim();
|
|
111
|
+
if (!query)
|
|
111
112
|
return items.slice();
|
|
113
|
+
if (commandMode) {
|
|
114
|
+
return rankCommandMatches(items, query)
|
|
115
|
+
.filter((entry) => entry.score > 0)
|
|
116
|
+
.map((entry) => entry.item);
|
|
117
|
+
}
|
|
112
118
|
return items.filter((it) => {
|
|
113
|
-
const cmdMatch = it.command.toLowerCase().includes(
|
|
114
|
-
const aliasMatch = (it.aliases ?? []).some((alias) => alias.toLowerCase().includes(
|
|
115
|
-
const hintMatch = !hasArgs && (it.hint ?? '').toLowerCase().includes(
|
|
116
|
-
const descMatch = !hasArgs && it.description.toLowerCase().includes(
|
|
119
|
+
const cmdMatch = it.command.toLowerCase().includes(query);
|
|
120
|
+
const aliasMatch = (it.aliases ?? []).some((alias) => alias.toLowerCase().includes(query));
|
|
121
|
+
const hintMatch = !hasArgs && (it.hint ?? '').toLowerCase().includes(query);
|
|
122
|
+
const descMatch = !hasArgs && it.description.toLowerCase().includes(query);
|
|
117
123
|
return cmdMatch || aliasMatch || hintMatch || descMatch;
|
|
118
124
|
});
|
|
119
125
|
}
|
|
@@ -164,18 +170,136 @@ export function parseInlineSuggestInput(buf) {
|
|
|
164
170
|
return printable.length > 0 ? { type: 'append', text: printable } : { type: 'ignore' };
|
|
165
171
|
}
|
|
166
172
|
export function resolveInlineSuggestAccept(filter, visibleItems, selected) {
|
|
173
|
+
const rawFilter = filter.startsWith('/') ? filter : `/${filter}`;
|
|
167
174
|
if (filter.includes(' ')) {
|
|
168
|
-
|
|
175
|
+
const commandToken = rawFilter.split(/\s+/, 1)[0];
|
|
176
|
+
const args = rawFilter.slice(commandToken.length);
|
|
177
|
+
const query = commandToken.replace(/^\//, '').toLowerCase();
|
|
178
|
+
const ranked = rankCommandMatches(visibleItems, query);
|
|
179
|
+
if (ranked.length > 0 && ranked[0].score > 0) {
|
|
180
|
+
return `${ranked[0].item.command}${args}`;
|
|
181
|
+
}
|
|
182
|
+
return rawFilter;
|
|
169
183
|
}
|
|
170
184
|
if (visibleItems.length > 0) {
|
|
171
185
|
const safeSelected = Math.max(0, Math.min(visibleItems.length - 1, selected));
|
|
172
186
|
return visibleItems[safeSelected].command;
|
|
173
187
|
}
|
|
174
|
-
if (
|
|
175
|
-
return
|
|
188
|
+
if (rawFilter.length > 1) {
|
|
189
|
+
return rawFilter;
|
|
176
190
|
}
|
|
177
191
|
return null;
|
|
178
192
|
}
|
|
193
|
+
function rankCommandMatches(items, query) {
|
|
194
|
+
const q = query.trim().toLowerCase();
|
|
195
|
+
if (!q)
|
|
196
|
+
return items.map((item) => ({ item, score: 1 }));
|
|
197
|
+
return items
|
|
198
|
+
.map((item) => ({ item, score: bestCommandScore(item, q) }))
|
|
199
|
+
.sort((a, b) => b.score - a.score || a.item.command.localeCompare(b.item.command));
|
|
200
|
+
}
|
|
201
|
+
function bestCommandScore(item, query) {
|
|
202
|
+
const command = normalizeCommandToken(item.command);
|
|
203
|
+
let best = scoreCommandCandidate(query, command);
|
|
204
|
+
for (const alias of item.aliases ?? []) {
|
|
205
|
+
const aliasScore = scoreCommandCandidate(query, normalizeCommandToken(alias));
|
|
206
|
+
// Keep aliases competitive but prefer canonical command when tied.
|
|
207
|
+
best = Math.max(best, aliasScore - 1);
|
|
208
|
+
}
|
|
209
|
+
return best;
|
|
210
|
+
}
|
|
211
|
+
function normalizeCommandToken(value) {
|
|
212
|
+
return value.trim().replace(/^\//, '').toLowerCase();
|
|
213
|
+
}
|
|
214
|
+
function scoreCommandCandidate(query, candidate) {
|
|
215
|
+
if (!query || !candidate)
|
|
216
|
+
return 0;
|
|
217
|
+
if (candidate === query)
|
|
218
|
+
return 5_000 + query.length;
|
|
219
|
+
if (candidate.startsWith(query))
|
|
220
|
+
return 4_000 + query.length * 4 - (candidate.length - query.length);
|
|
221
|
+
const idx = candidate.indexOf(query);
|
|
222
|
+
if (idx >= 0) {
|
|
223
|
+
return 3_000 + query.length * 3 - idx;
|
|
224
|
+
}
|
|
225
|
+
const contiguous = longestCommonSubstringLength(query, candidate);
|
|
226
|
+
let score = 0;
|
|
227
|
+
if (isSubsequence(query, candidate)) {
|
|
228
|
+
score = 2_000 + contiguous * 12 - (candidate.length - query.length);
|
|
229
|
+
}
|
|
230
|
+
const maxDist = Math.max(1, Math.floor(query.length / 3));
|
|
231
|
+
const dist = boundedLevenshtein(query, candidate, maxDist);
|
|
232
|
+
if (dist <= maxDist) {
|
|
233
|
+
score = Math.max(score, 1_500 + contiguous * 16 - dist * 80);
|
|
234
|
+
}
|
|
235
|
+
return score;
|
|
236
|
+
}
|
|
237
|
+
function isSubsequence(needle, haystack) {
|
|
238
|
+
let pos = 0;
|
|
239
|
+
for (const ch of haystack) {
|
|
240
|
+
if (ch === needle[pos])
|
|
241
|
+
pos++;
|
|
242
|
+
if (pos === needle.length)
|
|
243
|
+
return true;
|
|
244
|
+
}
|
|
245
|
+
return false;
|
|
246
|
+
}
|
|
247
|
+
function longestCommonSubstringLength(a, b) {
|
|
248
|
+
if (!a || !b)
|
|
249
|
+
return 0;
|
|
250
|
+
const width = b.length + 1;
|
|
251
|
+
const dp = new Array(width).fill(0);
|
|
252
|
+
let best = 0;
|
|
253
|
+
for (let i = 1; i <= a.length; i++) {
|
|
254
|
+
let prev = 0;
|
|
255
|
+
for (let j = 1; j <= b.length; j++) {
|
|
256
|
+
const hold = dp[j];
|
|
257
|
+
if (a[i - 1] === b[j - 1]) {
|
|
258
|
+
dp[j] = prev + 1;
|
|
259
|
+
if (dp[j] > best)
|
|
260
|
+
best = dp[j];
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
dp[j] = 0;
|
|
264
|
+
}
|
|
265
|
+
prev = hold;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
return best;
|
|
269
|
+
}
|
|
270
|
+
function boundedLevenshtein(a, b, maxDistance) {
|
|
271
|
+
if (a === b)
|
|
272
|
+
return 0;
|
|
273
|
+
if (!a.length)
|
|
274
|
+
return b.length;
|
|
275
|
+
if (!b.length)
|
|
276
|
+
return a.length;
|
|
277
|
+
if (Math.abs(a.length - b.length) > maxDistance)
|
|
278
|
+
return maxDistance + 1;
|
|
279
|
+
const prev = new Array(b.length + 1);
|
|
280
|
+
const curr = new Array(b.length + 1);
|
|
281
|
+
for (let j = 0; j <= b.length; j++)
|
|
282
|
+
prev[j] = j;
|
|
283
|
+
for (let i = 1; i <= a.length; i++) {
|
|
284
|
+
curr[0] = i;
|
|
285
|
+
let rowMin = curr[0];
|
|
286
|
+
for (let j = 1; j <= b.length; j++) {
|
|
287
|
+
const cost = a[i - 1] === b[j - 1] ? 0 : 1;
|
|
288
|
+
const del = prev[j] + 1;
|
|
289
|
+
const ins = curr[j - 1] + 1;
|
|
290
|
+
const sub = prev[j - 1] + cost;
|
|
291
|
+
const next = Math.min(del, ins, sub);
|
|
292
|
+
curr[j] = next;
|
|
293
|
+
if (next < rowMin)
|
|
294
|
+
rowMin = next;
|
|
295
|
+
}
|
|
296
|
+
if (rowMin > maxDistance)
|
|
297
|
+
return maxDistance + 1;
|
|
298
|
+
for (let j = 0; j <= b.length; j++)
|
|
299
|
+
prev[j] = curr[j];
|
|
300
|
+
}
|
|
301
|
+
return prev[b.length];
|
|
302
|
+
}
|
|
179
303
|
export function resolveInlineSuggestQuestionInput(input, accepted, nowMs = Date.now(), staleWindowMs = 2000) {
|
|
180
304
|
if (!accepted?.command)
|
|
181
305
|
return { kind: 'submit', clearAccepted: false };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-suggest.js","sourceRoot":"","sources":["../src/inline-suggest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inline-suggest.js","sourceRoot":"","sources":["../src/inline-suggest.ts"],"names":[],"mappings":"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"}
|
package/dist/query.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export declare function resolveFirstTokenTimeoutMs(config: Pick<CawdexConfig, 'm
|
|
|
5
5
|
export declare function resolveStreamIdleTimeoutMs(fastDirect?: boolean): number;
|
|
6
6
|
export declare function isKnownFlakyOpenRouterModel(config: Pick<CawdexConfig, 'model' | 'provider'>): boolean;
|
|
7
7
|
export declare function isTurnCancelKeySequence(chunk: Buffer): boolean;
|
|
8
|
-
export declare function shouldUseFastDirectReply(userQuery: string | undefined, mode: Mode, env?: NodeJS.ProcessEnv): boolean;
|
|
8
|
+
export declare function shouldUseFastDirectReply(userQuery: string | undefined, mode: Mode, hasPriorAssistantContext?: boolean, env?: NodeJS.ProcessEnv): boolean;
|
|
9
9
|
export interface WorkingIndicator {
|
|
10
10
|
stop(): void;
|
|
11
11
|
}
|
package/dist/query.js
CHANGED
|
@@ -116,7 +116,9 @@ const FAST_DIRECT_POSITIVE = [
|
|
|
116
116
|
];
|
|
117
117
|
const FAST_DIRECT_REPO_OR_TOOL = /\b(repo|repository|codebase|workspace|file|folder|directory|path|terminal|powershell|shell|command|npm|node|python|typescript|javascript|git|commit|diff|pr|pull request|branch|test|build|lint|install|package|debug|error|stack trace|log|fix|implement|refactor|review|audit|security|benchmark|run|execute|read|search|grep|edit|patch|write[- ]file|website|web\s*site|site|portfolio|landing\s+page|web\s+page|html|css|react|vue|svelte|vite|next\.?js|single[- ]file|dashboard|component|form|desktop|save|hireable|resume)\b/i;
|
|
118
118
|
const FAST_DIRECT_CONTEXTUAL = /^(?:(?:please\s+)?(?:can|could|would|will)\s+you\s+(?:please\s+)?|please\s+)?(continue|carry on|resume|do it|same|again|that|this|those|these|it)\b/i;
|
|
119
|
-
|
|
119
|
+
const FAST_DIRECT_REVISION_CONTEXT = /^(?:(?:please\s+)?(?:can|could|would|will)\s+you\s+(?:please\s+)?)?(?:make|change|update|revise|rewrite|redo|adjust|convert|turn)\s+(?:it|that|this|him|her|them|he|she)\b/i;
|
|
120
|
+
const FAST_DIRECT_FOLLOWUP_EDIT_WITH_HISTORY = /^(?:(?:i\s+need\s+you\s+to|i(?:'|\u2019)d\s+like\s+you\s+to|(?:can|could|would|will)\s+you)\s+)?(?:please\s+)?(?:make|change|update|revise|rewrite|redo|adjust|convert|turn)\s+(?:the|this|that|it|him|her|them|he|she)\b/i;
|
|
121
|
+
export function shouldUseFastDirectReply(userQuery, mode, hasPriorAssistantContext = false, env = process.env) {
|
|
120
122
|
if (env.CAWDEX_FAST_DIRECT === '0')
|
|
121
123
|
return false;
|
|
122
124
|
if (env.CAWDEX_NON_INTERACTIVE === '1')
|
|
@@ -130,10 +132,35 @@ export function shouldUseFastDirectReply(userQuery, mode, env = process.env) {
|
|
|
130
132
|
return false;
|
|
131
133
|
if (FAST_DIRECT_CONTEXTUAL.test(text))
|
|
132
134
|
return false;
|
|
135
|
+
if (FAST_DIRECT_REVISION_CONTEXT.test(text))
|
|
136
|
+
return false;
|
|
137
|
+
if (hasPriorAssistantContext && FAST_DIRECT_FOLLOWUP_EDIT_WITH_HISTORY.test(text))
|
|
138
|
+
return false;
|
|
133
139
|
if (FAST_DIRECT_REPO_OR_TOOL.test(text))
|
|
134
140
|
return false;
|
|
135
141
|
return FAST_DIRECT_POSITIVE.some((pattern) => pattern.test(text));
|
|
136
142
|
}
|
|
143
|
+
function hasPriorAssistantContext(messages) {
|
|
144
|
+
let lastUserIdx = -1;
|
|
145
|
+
for (let i = messages.length - 1; i >= 0; i--) {
|
|
146
|
+
if (messages[i].role === 'user') {
|
|
147
|
+
lastUserIdx = i;
|
|
148
|
+
break;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
if (lastUserIdx <= 0)
|
|
152
|
+
return false;
|
|
153
|
+
for (let i = 0; i < lastUserIdx; i++) {
|
|
154
|
+
const msg = messages[i];
|
|
155
|
+
if (msg.role !== 'assistant')
|
|
156
|
+
continue;
|
|
157
|
+
if (typeof msg.content !== 'string')
|
|
158
|
+
return true;
|
|
159
|
+
if (msg.content.trim().length > 0)
|
|
160
|
+
return true;
|
|
161
|
+
}
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
137
164
|
function printInteractiveTurnAccepted(config) {
|
|
138
165
|
if (process.env.CAWDEX_NON_INTERACTIVE === '1')
|
|
139
166
|
return;
|
|
@@ -148,10 +175,9 @@ function printInteractiveTurnAccepted(config) {
|
|
|
148
175
|
}
|
|
149
176
|
}
|
|
150
177
|
export function formatWorkingIndicatorFrame(elapsedMs, frameIndex = 0, message = 'Working') {
|
|
151
|
-
void elapsedMs;
|
|
152
178
|
const frames = ['\u25dc', '\u25dd', '\u25de', '\u25df'];
|
|
153
179
|
const frame = frames[Math.abs(frameIndex) % frames.length];
|
|
154
|
-
return ` ${frame} ${message} \u2022 Esc/F5 to interrupt`;
|
|
180
|
+
return ` ${frame} ${message} (${formatDuration(elapsedMs)} \u2022 Esc/F5 to interrupt)`;
|
|
155
181
|
}
|
|
156
182
|
function startWorkingIndicator(startedAtMs, screenReader, turn = 0) {
|
|
157
183
|
if (screenReader)
|
|
@@ -182,8 +208,9 @@ function startWorkingIndicator(startedAtMs, screenReader, turn = 0) {
|
|
|
182
208
|
};
|
|
183
209
|
paint();
|
|
184
210
|
const timer = setInterval(paint, 250);
|
|
185
|
-
|
|
186
|
-
|
|
211
|
+
// Keep this timer referenced so activity keeps animating even when the
|
|
212
|
+
// provider stream is pending in states that don't keep other refs alive.
|
|
213
|
+
// It is always cleared in stop()/finally paths.
|
|
187
214
|
return {
|
|
188
215
|
stop: () => {
|
|
189
216
|
if (stopped)
|
|
@@ -1103,7 +1130,7 @@ export async function runQuery(ctx) {
|
|
|
1103
1130
|
const chainStart = Date.now();
|
|
1104
1131
|
const initialLastUserMsg = [...ctx.messages].reverse().find((m) => m.role === 'user');
|
|
1105
1132
|
const initialUserQuery = typeof initialLastUserMsg?.content === 'string' ? initialLastUserMsg.content : undefined;
|
|
1106
|
-
const chainFastDirect = shouldUseFastDirectReply(initialUserQuery, ctx.mode);
|
|
1133
|
+
const chainFastDirect = shouldUseFastDirectReply(initialUserQuery, ctx.mode, hasPriorAssistantContext(ctx.messages));
|
|
1107
1134
|
// ── Voice: echo the user's input in the user-echo voice ────
|
|
1108
1135
|
// Run async without awaiting — we don't want to block the API call on
|
|
1109
1136
|
// ElevenLabs latency. The echo will play while the model is thinking.
|
|
@@ -1124,6 +1151,21 @@ export async function runQuery(ctx) {
|
|
|
1124
1151
|
// user's configured fallbackModel. After we use it, this latches so we
|
|
1125
1152
|
// don't bounce back and forth between failing models in a single chain.
|
|
1126
1153
|
let usedFallbackModel = false;
|
|
1154
|
+
// Reliability path when fallback is intentionally disabled:
|
|
1155
|
+
// retry the SAME configured model once on transient empty/timeout/unknown
|
|
1156
|
+
// provider failures before surfacing a hard error.
|
|
1157
|
+
let usedPrimaryRetry = false;
|
|
1158
|
+
const retryPrimaryModelOnce = (reason) => {
|
|
1159
|
+
if (usedPrimaryRetry)
|
|
1160
|
+
return false;
|
|
1161
|
+
usedPrimaryRetry = true;
|
|
1162
|
+
const model = ctx.config.model;
|
|
1163
|
+
resetClient();
|
|
1164
|
+
console.log(theme.warning(` ${sym.warn} ${reason} — retrying once on the same model ${model}.`));
|
|
1165
|
+
console.log(theme.dim(' Fallback is disabled; this is a transient-recovery retry only.'));
|
|
1166
|
+
turns--;
|
|
1167
|
+
return true;
|
|
1168
|
+
};
|
|
1127
1169
|
// Tracks whether ANY reasoning tokens arrived across the entire chain.
|
|
1128
1170
|
// Used at chain-end to print a one-time "/thinking is ON but this model
|
|
1129
1171
|
// doesn't emit reasoning" hint. Hoisted to chain scope (not per-turn)
|
|
@@ -1237,7 +1279,7 @@ export async function runQuery(ctx) {
|
|
|
1237
1279
|
const userQuery = typeof lastUserMsg?.content === 'string' ? lastUserMsg.content : undefined;
|
|
1238
1280
|
const fastDirect = turns === 1
|
|
1239
1281
|
? chainFastDirect
|
|
1240
|
-
: shouldUseFastDirectReply(userQuery, ctx.mode);
|
|
1282
|
+
: shouldUseFastDirectReply(userQuery, ctx.mode, hasPriorAssistantContext(ctx.messages));
|
|
1241
1283
|
if (fastDirect)
|
|
1242
1284
|
chainUsedFastDirect = true;
|
|
1243
1285
|
// Build full messages array with system prompt.
|
|
@@ -1658,9 +1700,12 @@ export async function runQuery(ctx) {
|
|
|
1658
1700
|
turns--;
|
|
1659
1701
|
continue;
|
|
1660
1702
|
}
|
|
1703
|
+
if (retryPrimaryModelOnce(`${failedModel} produced no stream events for ${formatDuration(firstTokenTimeoutMs)}`)) {
|
|
1704
|
+
continue;
|
|
1705
|
+
}
|
|
1661
1706
|
const timeoutMsg = `${failedModel} produced no stream events for ${formatDuration(firstTokenTimeoutMs)}`;
|
|
1662
1707
|
console.log(theme.error(` ${sym.warn} ${timeoutMsg}.`));
|
|
1663
|
-
console.log(theme.dim('
|
|
1708
|
+
console.log(theme.dim(' Fallback is disabled and the same-model retry already ran; cancelling so the prompt can recover.'));
|
|
1664
1709
|
console.log(theme.dim(' Use /fallback <model-id> to enable automatic retry, or /model <known-good-model> to switch primary models.'));
|
|
1665
1710
|
ctx.messages.push({ role: 'assistant', content: `[Provider timeout: ${timeoutMsg}]` });
|
|
1666
1711
|
break;
|
|
@@ -1680,6 +1725,9 @@ export async function runQuery(ctx) {
|
|
|
1680
1725
|
turns--;
|
|
1681
1726
|
continue;
|
|
1682
1727
|
}
|
|
1728
|
+
if (!hasOutput && !toolCalls && retryPrimaryModelOnce(timeoutMsg)) {
|
|
1729
|
+
continue;
|
|
1730
|
+
}
|
|
1683
1731
|
if (fullText.trim()) {
|
|
1684
1732
|
const partial = `${fullText.trimEnd()}\n[Provider timeout: stream stalled before completion]`;
|
|
1685
1733
|
console.log(theme.warning(` ${sym.warn} stream stalled before completion; returning the partial response.`));
|
|
@@ -1688,7 +1736,7 @@ export async function runQuery(ctx) {
|
|
|
1688
1736
|
}
|
|
1689
1737
|
else {
|
|
1690
1738
|
console.log(theme.error(` ${sym.warn} ${timeoutMsg}.`));
|
|
1691
|
-
console.log(theme.dim('
|
|
1739
|
+
console.log(theme.dim(' Same-model retry already ran; cancelling so the prompt can recover instead of hanging indefinitely.'));
|
|
1692
1740
|
console.log(theme.dim(' Use /fallback <model-id> to enable automatic retry, or /model <known-good-model> to switch primary models.'));
|
|
1693
1741
|
ctx.messages.push({ role: 'assistant', content: `[Provider timeout: ${timeoutMsg}]` });
|
|
1694
1742
|
}
|
|
@@ -1761,6 +1809,9 @@ export async function runQuery(ctx) {
|
|
|
1761
1809
|
turns--; // this retry doesn't burn a turn slot from the max-turns budget
|
|
1762
1810
|
continue;
|
|
1763
1811
|
}
|
|
1812
|
+
if (cat.category === 'unknown' && retryPrimaryModelOnce(`${ctx.config.model} returned a cryptic provider error`)) {
|
|
1813
|
+
continue;
|
|
1814
|
+
}
|
|
1764
1815
|
printApiError(msg, {
|
|
1765
1816
|
baseURL: ctx.config.baseURL,
|
|
1766
1817
|
provider: ctx.config.provider,
|
|
@@ -1794,9 +1845,12 @@ export async function runQuery(ctx) {
|
|
|
1794
1845
|
turns--;
|
|
1795
1846
|
continue;
|
|
1796
1847
|
}
|
|
1848
|
+
if (retryPrimaryModelOnce(`${failedModel} returned an empty response`)) {
|
|
1849
|
+
continue;
|
|
1850
|
+
}
|
|
1797
1851
|
const emptyMsg = `${failedModel} returned an empty response`;
|
|
1798
1852
|
console.log(theme.error(` ${sym.warn} ${emptyMsg}.`));
|
|
1799
|
-
console.log(theme.dim('
|
|
1853
|
+
console.log(theme.dim(' Fallback is disabled and the same-model retry already ran.'));
|
|
1800
1854
|
console.log(theme.dim(' Use /fallback <model-id> to enable automatic retry, or /model <known-good-model> to switch primary models.'));
|
|
1801
1855
|
ctx.messages.push({ role: 'assistant', content: `[Provider empty response: ${emptyMsg}]` });
|
|
1802
1856
|
break;
|