Skip to content

Commit 5a6694a

Browse files
committed
Clear intermediate results to prevent stale output
1 parent f0fade4 commit 5a6694a

File tree

1 file changed

+18
-3
lines changed
  • packages/runner/src/builtins

1 file changed

+18
-3
lines changed

packages/runner/src/builtins/llm.ts

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -155,13 +155,15 @@ export function llm(
155155
if (hash === previousCallHash || hash === requestHashWithLog.get()) return;
156156
previousCallHash = hash;
157157

158-
resultWithLog.set(undefined);
159-
partialWithLog.set(undefined);
160-
161158
if (!Array.isArray(messages) || messages.length === 0) {
159+
resultWithLog.set(undefined);
160+
partialWithLog.set(undefined);
162161
pendingWithLog.set(false);
163162
return;
164163
}
164+
165+
resultWithLog.set(undefined);
166+
partialWithLog.set(undefined);
165167
pendingWithLog.set(true);
166168

167169
const updatePartial = (text: string) => {
@@ -201,6 +203,9 @@ export function llm(
201203
partial.withTx(tx).set(undefined);
202204
});
203205

206+
// Reset previousCallHash to allow retry after error
207+
previousCallHash = undefined;
208+
204209
// TODO(seefeld): Not writing now, so we retry the request after failure.
205210
// Replace this with more fine-grained retry logic.
206211
// requestHash.setAtPath([], hash, log);
@@ -271,6 +276,8 @@ export function generateText(
271276

272277
// If no prompt is provided, don't make a request
273278
if (!prompt) {
279+
resultWithLog.set(undefined);
280+
partialWithLog.set(undefined);
274281
pendingWithLog.set(false);
275282
return;
276283
}
@@ -338,6 +345,9 @@ export function generateText(
338345
partial.withTx(tx).set(undefined);
339346
});
340347

348+
// Reset previousCallHash to allow retry after error
349+
previousCallHash = undefined;
350+
341351
// TODO(seefeld): Not writing now, so we retry the request after failure.
342352
// Replace this with more fine-grained retry logic.
343353
// requestHash.setAtPath([], hash, log);
@@ -411,6 +421,8 @@ export function generateObject<T extends Record<string, unknown>>(
411421
inputsCell.getAsQueryResult([], tx) ?? {};
412422

413423
if (!prompt || !schema) {
424+
resultWithLog.set(undefined);
425+
partialWithLog.set(undefined);
414426
pendingWithLog.set(false);
415427
return;
416428
}
@@ -476,6 +488,9 @@ export function generateObject<T extends Record<string, unknown>>(
476488
partial.withTx(tx).set(undefined);
477489
});
478490

491+
// Reset previousCallHash to allow retry after error
492+
previousCallHash = undefined;
493+
479494
// TODO(seefeld): Not writing now, so we retry the request after failure.
480495
// Replace this with more fine-grained retry logic.
481496
// requestHash.setAtPath([], hash, log);

0 commit comments

Comments
 (0)