@mindstudio-ai/remy 0.1.271 → 0.1.273
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/headless.js
CHANGED
|
@@ -282,7 +282,11 @@ async function* streamChat(params) {
|
|
|
282
282
|
var MAX_RETRIES = 5;
|
|
283
283
|
var INITIAL_BACKOFF_MS = 1e3;
|
|
284
284
|
function isRetryableError(error) {
|
|
285
|
-
return /Network error/i.test(error) || /HTTP 5\d\d/i.test(error) || /Stream stalled/i.test(error) || /overloaded/i.test(error) || /terminated/i.test(error);
|
|
285
|
+
return /Network error/i.test(error) || /HTTP 5\d\d/i.test(error) || /Stream stalled/i.test(error) || /overloaded/i.test(error) || /terminated/i.test(error) || // Anthropic fetches url-source image blocks server-side on every call;
|
|
286
|
+
// a transient failure anywhere in that chain (S3 signing edge, resize
|
|
287
|
+
// proxy, their fetcher) surfaces as this message. The images themselves
|
|
288
|
+
// are fine — the same URLs typically succeed on the next attempt.
|
|
289
|
+
/Unable to download/i.test(error);
|
|
286
290
|
}
|
|
287
291
|
function sleep(ms) {
|
|
288
292
|
return new Promise((resolve3) => setTimeout(resolve3, ms));
|
package/dist/index.js
CHANGED
|
@@ -263,7 +263,11 @@ async function* streamChat(params) {
|
|
|
263
263
|
}
|
|
264
264
|
}
|
|
265
265
|
function isRetryableError(error) {
|
|
266
|
-
return /Network error/i.test(error) || /HTTP 5\d\d/i.test(error) || /Stream stalled/i.test(error) || /overloaded/i.test(error) || /terminated/i.test(error);
|
|
266
|
+
return /Network error/i.test(error) || /HTTP 5\d\d/i.test(error) || /Stream stalled/i.test(error) || /overloaded/i.test(error) || /terminated/i.test(error) || // Anthropic fetches url-source image blocks server-side on every call;
|
|
267
|
+
// a transient failure anywhere in that chain (S3 signing edge, resize
|
|
268
|
+
// proxy, their fetcher) surfaces as this message. The images themselves
|
|
269
|
+
// are fine — the same URLs typically succeed on the next attempt.
|
|
270
|
+
/Unable to download/i.test(error);
|
|
267
271
|
}
|
|
268
272
|
function sleep(ms) {
|
|
269
273
|
return new Promise((resolve3) => setTimeout(resolve3, ms));
|
|
@@ -105,6 +105,11 @@ method to branch web vs phone behavior (what to prefetch, how to phrase context)
|
|
|
105
105
|
`session.sip.fromNumber` as context only, never identity: caller ID is spoofable, so don't gate
|
|
106
106
|
data or roles on it — in-call verification is the auth rail.
|
|
107
107
|
|
|
108
|
+
Ordinary web method calls carry the same context (`session.channel === 'web'` with `visitorId`),
|
|
109
|
+
so correlating a browser's web activity with its voice calls can key on `session.visitorId` on
|
|
110
|
+
both sides — one browser, one visitor id, web and voice alike. `session.voiceSessionId` remains
|
|
111
|
+
the per-call key when you need to distinguish individual calls.
|
|
112
|
+
|
|
108
113
|
### Client tools: actions that happen on screen (`target: "client"`)
|
|
109
114
|
|
|
110
115
|
A tool whose effect belongs in the browser — open the verification sheet, navigate to a page,
|