@skydiveai/pi-server 0.1.0-beta.2620 → 0.1.0-beta.2728
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/index.mjs +31 -3
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1214,6 +1214,7 @@ function runStream$2({ session, prompt, images, id, sessionId, modelName, log, p
|
|
|
1214
1214
|
textBlockOpen = false;
|
|
1215
1215
|
};
|
|
1216
1216
|
let capturedModelError = null;
|
|
1217
|
+
let sawModelErrorStop = false;
|
|
1217
1218
|
const autoRetry = createAutoRetryObserver(log);
|
|
1218
1219
|
const emitProviderError = (providerError) => {
|
|
1219
1220
|
log.warn({
|
|
@@ -1241,7 +1242,10 @@ function runStream$2({ session, prompt, images, id, sessionId, modelName, log, p
|
|
|
1241
1242
|
const ev = event;
|
|
1242
1243
|
autoRetry.observe(ev);
|
|
1243
1244
|
const endedMessage = ev.message ?? (Array.isArray(ev.messages) ? ev.messages[ev.messages.length - 1] : null);
|
|
1244
|
-
if (endedMessage?.stopReason === "error" &&
|
|
1245
|
+
if (endedMessage?.stopReason === "error" && endedMessage.errorMessage !== "aborted") {
|
|
1246
|
+
sawModelErrorStop = true;
|
|
1247
|
+
if (typeof endedMessage.errorMessage === "string" && endedMessage.errorMessage.length > 0) capturedModelError = endedMessage.errorMessage;
|
|
1248
|
+
}
|
|
1245
1249
|
if (ev.type !== "message_update") return;
|
|
1246
1250
|
const inner = ev.assistantMessageEvent;
|
|
1247
1251
|
if (!inner) return;
|
|
@@ -1299,6 +1303,7 @@ function runStream$2({ session, prompt, images, id, sessionId, modelName, log, p
|
|
|
1299
1303
|
postPrompt
|
|
1300
1304
|
});
|
|
1301
1305
|
if (capturedModelError !== null) emitProviderError(toModelProviderError(new Error(capturedModelError)));
|
|
1306
|
+
else if (sawModelErrorStop) emitProviderError(toModelProviderError(/* @__PURE__ */ new Error("model provider call failed without an error message")));
|
|
1302
1307
|
} catch (err) {
|
|
1303
1308
|
log.error({
|
|
1304
1309
|
err,
|
|
@@ -1946,6 +1951,7 @@ function runStream$1({ session, sm, prompt, images, sessionId, created, reqStart
|
|
|
1946
1951
|
let usage = null;
|
|
1947
1952
|
let lastFollowUpCount = 0;
|
|
1948
1953
|
let capturedModelError = null;
|
|
1954
|
+
let sawModelErrorStop = false;
|
|
1949
1955
|
const autoRetry = createAutoRetryObserver(log);
|
|
1950
1956
|
const sendChunk = (delta, finishReason) => {
|
|
1951
1957
|
if (firstChunkAt === null) {
|
|
@@ -1979,7 +1985,10 @@ function runStream$1({ session, sm, prompt, images, sessionId, created, reqStart
|
|
|
1979
1985
|
const ev = event;
|
|
1980
1986
|
autoRetry.observe(ev);
|
|
1981
1987
|
const endedMessage = ev.message ?? (Array.isArray(ev.messages) ? ev.messages[ev.messages.length - 1] : null);
|
|
1982
|
-
if (endedMessage?.stopReason === "error" &&
|
|
1988
|
+
if (endedMessage?.stopReason === "error" && endedMessage.errorMessage !== "aborted") {
|
|
1989
|
+
sawModelErrorStop = true;
|
|
1990
|
+
if (typeof endedMessage.errorMessage === "string" && endedMessage.errorMessage.length > 0) capturedModelError = endedMessage.errorMessage;
|
|
1991
|
+
}
|
|
1983
1992
|
if (ev.type === "queue_update") {
|
|
1984
1993
|
const steering = Array.isArray(ev.steering) ? ev.steering.length : 0;
|
|
1985
1994
|
const followUp = Array.isArray(ev.followUp) ? ev.followUp.length : 0;
|
|
@@ -2116,6 +2125,25 @@ function runStream$1({ session, sm, prompt, images, sessionId, created, reqStart
|
|
|
2116
2125
|
retryAttempts: autoRetry.attempts()
|
|
2117
2126
|
});
|
|
2118
2127
|
writer.write("data: [DONE]\n\n");
|
|
2128
|
+
} else if (sawModelErrorStop) {
|
|
2129
|
+
const providerError = toModelProviderError(/* @__PURE__ */ new Error("model provider call failed without an error message"));
|
|
2130
|
+
log.warn({
|
|
2131
|
+
event: "model_provider_error",
|
|
2132
|
+
chatcmpl_id: sessionId,
|
|
2133
|
+
code: providerError.code,
|
|
2134
|
+
upstream_status: providerError.upstreamStatus,
|
|
2135
|
+
provider: providerError.provider,
|
|
2136
|
+
retry_attempts: autoRetry.attempts(),
|
|
2137
|
+
source: "stop_reason_error_no_message"
|
|
2138
|
+
}, "forwarding model-provider error to client");
|
|
2139
|
+
emitModelProviderError({
|
|
2140
|
+
writer,
|
|
2141
|
+
sessionId,
|
|
2142
|
+
created,
|
|
2143
|
+
providerError,
|
|
2144
|
+
retryAttempts: autoRetry.attempts()
|
|
2145
|
+
});
|
|
2146
|
+
writer.write("data: [DONE]\n\n");
|
|
2119
2147
|
} else {
|
|
2120
2148
|
emitSessionMessagesTrailer({
|
|
2121
2149
|
writer,
|
|
@@ -2662,7 +2690,7 @@ function runStream({ session, prompt, images, responseId, sessionId, modelName,
|
|
|
2662
2690
|
const ev = event;
|
|
2663
2691
|
autoRetry.observe(ev);
|
|
2664
2692
|
const endedMessage = ev.message ?? (Array.isArray(ev.messages) ? ev.messages[ev.messages.length - 1] : null);
|
|
2665
|
-
if (endedMessage?.stopReason === "error"
|
|
2693
|
+
if (endedMessage?.stopReason === "error") capturedModelError = typeof endedMessage.errorMessage === "string" && endedMessage.errorMessage.length > 0 ? endedMessage.errorMessage : "model provider call failed without an error message";
|
|
2666
2694
|
if (ev.type !== "message_update") return;
|
|
2667
2695
|
const inner = ev.assistantMessageEvent;
|
|
2668
2696
|
if (!inner) return;
|