@amigo-ai/platform-sdk 0.24.0 → 0.26.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/api.md +6 -3
- package/dist/core/errors.js +155 -9
- package/dist/core/errors.js.map +1 -1
- package/dist/core/reconnecting-websocket.js +371 -0
- package/dist/core/reconnecting-websocket.js.map +1 -0
- package/dist/index.cjs +711 -13
- package/dist/index.cjs.map +4 -4
- package/dist/index.js +18 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +711 -13
- package/dist/index.mjs.map +4 -4
- package/dist/resources/events.js +139 -3
- package/dist/resources/events.js.map +1 -1
- package/dist/resources/integrations.js +25 -0
- package/dist/resources/integrations.js.map +1 -1
- package/dist/resources/observers.js +238 -0
- package/dist/resources/observers.js.map +1 -0
- package/dist/types/core/errors.d.ts +93 -1
- package/dist/types/core/errors.d.ts.map +1 -1
- package/dist/types/core/reconnecting-websocket.d.ts +156 -0
- package/dist/types/core/reconnecting-websocket.d.ts.map +1 -0
- package/dist/types/generated/api.d.ts +686 -113
- package/dist/types/generated/api.d.ts.map +1 -1
- package/dist/types/index.d.cts +42 -2
- package/dist/types/index.d.cts.map +1 -1
- package/dist/types/index.d.ts +42 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/resources/events.d.ts +33 -0
- package/dist/types/resources/events.d.ts.map +1 -1
- package/dist/types/resources/functions.d.ts.map +1 -1
- package/dist/types/resources/integrations.d.ts +33 -0
- package/dist/types/resources/integrations.d.ts.map +1 -1
- package/dist/types/resources/metrics.d.ts.map +1 -1
- package/dist/types/resources/observers.d.ts +148 -0
- package/dist/types/resources/observers.d.ts.map +1 -0
- package/dist/types/resources/operators.d.ts.map +1 -1
- package/dist/types/resources/settings.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/resources/events.js
CHANGED
|
@@ -33,6 +33,29 @@
|
|
|
33
33
|
* @see ConversationsResource.streamTurn for the analogous turn-stream helper.
|
|
34
34
|
*/
|
|
35
35
|
import { WorkspaceScopedResource } from './base.js';
|
|
36
|
+
/**
|
|
37
|
+
* Structured error surfaced through {@link SubscribeToWorkspaceOptions.onError}.
|
|
38
|
+
*
|
|
39
|
+
* Subclasses ``Error`` so existing consumers using ``err.message`` continue
|
|
40
|
+
* to work, while adding ``code`` + ``retryable`` + raw ``frame`` for
|
|
41
|
+
* deterministic branching. Inspect with ``isWorkspaceEventStreamError``.
|
|
42
|
+
*/
|
|
43
|
+
export class WorkspaceEventStreamError extends Error {
|
|
44
|
+
code;
|
|
45
|
+
retryable;
|
|
46
|
+
/** Raw decoded ``error`` frame body (or ``undefined`` for transport errors). */
|
|
47
|
+
frame;
|
|
48
|
+
constructor(message, code, retryable, frame) {
|
|
49
|
+
super(message);
|
|
50
|
+
this.name = 'WorkspaceEventStreamError';
|
|
51
|
+
this.code = code;
|
|
52
|
+
this.retryable = retryable;
|
|
53
|
+
this.frame = frame;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
export function isWorkspaceEventStreamError(value) {
|
|
57
|
+
return value instanceof WorkspaceEventStreamError;
|
|
58
|
+
}
|
|
36
59
|
const DEFAULT_INITIAL_DELAY_MS = 3000;
|
|
37
60
|
const DEFAULT_MAX_DELAY_MS = 30000;
|
|
38
61
|
const DEFAULT_MAX_RECONNECTS = 10;
|
|
@@ -109,6 +132,24 @@ export class EventsResource extends WorkspaceScopedResource {
|
|
|
109
132
|
};
|
|
110
133
|
}
|
|
111
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* Server-sent ``error`` event frames that the SDK should treat as terminal
|
|
137
|
+
* (do NOT auto-retry). Mirror the ``code`` taxonomy emitted by
|
|
138
|
+
* ``platform-api/src/routes/event_stream.py``.
|
|
139
|
+
*/
|
|
140
|
+
const TERMINAL_SERVER_ERROR_CODES = {
|
|
141
|
+
too_many_streams: 'too_many_streams',
|
|
142
|
+
};
|
|
143
|
+
/**
|
|
144
|
+
* Server-sent ``error`` event frames that are recoverable — surface them as
|
|
145
|
+
* transport errors so the reconnect loop kicks in. ``stream_unavailable``
|
|
146
|
+
* fires when Valkey is down; ``stream_error`` is the generic catch-all from
|
|
147
|
+
* the server-side ``except Exception`` branch.
|
|
148
|
+
*/
|
|
149
|
+
const RECOVERABLE_SERVER_ERROR_CODES = {
|
|
150
|
+
stream_unavailable: 'stream_unavailable',
|
|
151
|
+
stream_error: 'stream_error',
|
|
152
|
+
};
|
|
112
153
|
async function runSubscription(client, workspaceId, options, signal) {
|
|
113
154
|
let lastEventId = options.lastEventId;
|
|
114
155
|
let attempt = 0;
|
|
@@ -155,7 +196,9 @@ async function runSubscription(client, workspaceId, options, signal) {
|
|
|
155
196
|
}
|
|
156
197
|
catch (err) {
|
|
157
198
|
// runOneConnection surfaces only terminal auth errors via throw;
|
|
158
|
-
// everything else is a StreamOutcome.
|
|
199
|
+
// everything else is a StreamOutcome. Preserve the original Error
|
|
200
|
+
// (typically ``AuthenticationError`` with ``statusCode``) so consumers
|
|
201
|
+
// that branch on ``err.statusCode`` keep working.
|
|
159
202
|
reportError(err instanceof Error ? err : new Error(String(err)));
|
|
160
203
|
return;
|
|
161
204
|
}
|
|
@@ -164,12 +207,22 @@ async function runSubscription(client, workspaceId, options, signal) {
|
|
|
164
207
|
}
|
|
165
208
|
if (outcome.kind === 'auth-error') {
|
|
166
209
|
// 401 / 403 — never auto-retry. The token is invalid and the
|
|
167
|
-
// stream cannot succeed without operator intervention.
|
|
210
|
+
// stream cannot succeed without operator intervention. Surface the
|
|
211
|
+
// original ``AuthenticationError`` so consumers checking
|
|
212
|
+
// ``err.statusCode`` keep working.
|
|
168
213
|
reportError(outcome.error);
|
|
169
214
|
return;
|
|
170
215
|
}
|
|
216
|
+
if (outcome.kind === 'terminal-server-error') {
|
|
217
|
+
// Server emitted a structured ``error`` frame with a code that the
|
|
218
|
+
// SDK recognizes as terminal (e.g., ``too_many_streams``). Surface
|
|
219
|
+
// it as a typed ``WorkspaceEventStreamError`` so consumers can branch
|
|
220
|
+
// on ``error.code`` without parsing free-form text.
|
|
221
|
+
reportError(new WorkspaceEventStreamError(outcome.message, outcome.code, outcome.retryable, outcome.frame));
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
171
224
|
if (attempt >= maxReconnects) {
|
|
172
|
-
reportError(new
|
|
225
|
+
reportError(new WorkspaceEventStreamError(`SSE subscription exhausted reconnect budget (${maxReconnects}): ${outcome.reason}`, 'transport_exhausted', true));
|
|
173
226
|
return;
|
|
174
227
|
}
|
|
175
228
|
attempt += 1;
|
|
@@ -225,6 +278,24 @@ async function runOneConnection(args) {
|
|
|
225
278
|
if (frame.id !== undefined) {
|
|
226
279
|
args.onIdAdvance(frame.id);
|
|
227
280
|
}
|
|
281
|
+
if (frame.event === 'error' && frame.data !== undefined) {
|
|
282
|
+
// Structured error frame — branch on ``code`` from the server. We
|
|
283
|
+
// distinguish three buckets: terminal (don't retry), recoverable
|
|
284
|
+
// (let the reconnect loop run), and unknown (default to recoverable
|
|
285
|
+
// so a future server code does not strand consumers without auto-
|
|
286
|
+
// retry).
|
|
287
|
+
const errOutcome = interpretServerErrorFrame(frame.data);
|
|
288
|
+
if (errOutcome.terminal) {
|
|
289
|
+
return {
|
|
290
|
+
kind: 'terminal-server-error',
|
|
291
|
+
code: errOutcome.code,
|
|
292
|
+
message: errOutcome.message,
|
|
293
|
+
retryable: errOutcome.retryable,
|
|
294
|
+
frame: errOutcome.frame,
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
return { kind: 'transport-error', reason: errOutcome.message };
|
|
298
|
+
}
|
|
228
299
|
if (frame.event && frame.data !== undefined) {
|
|
229
300
|
const event = parseWorkspaceFrame(frame.event, frame.data);
|
|
230
301
|
if (event) {
|
|
@@ -408,6 +479,71 @@ function parseWorkspaceFrame(eventName, dataJson) {
|
|
|
408
479
|
event_type: eventName,
|
|
409
480
|
};
|
|
410
481
|
}
|
|
482
|
+
/**
|
|
483
|
+
* Decode a server-sent ``error`` frame body into either a terminal or
|
|
484
|
+
* recoverable outcome.
|
|
485
|
+
*
|
|
486
|
+
* The platform-api event stream emits these shapes:
|
|
487
|
+
*
|
|
488
|
+
* { code: "too_many_streams", message: "...", max_streams: 50 }
|
|
489
|
+
* { code: "stream_unavailable", message: "Event streaming unavailable" }
|
|
490
|
+
* { code: "stream_error", message: "Stream error, please reconnect" }
|
|
491
|
+
*
|
|
492
|
+
* Unknown codes default to recoverable so a server-side addition does not
|
|
493
|
+
* strand SDK consumers without auto-retry.
|
|
494
|
+
*/
|
|
495
|
+
function interpretServerErrorFrame(dataJson) {
|
|
496
|
+
let payload;
|
|
497
|
+
try {
|
|
498
|
+
payload = JSON.parse(dataJson);
|
|
499
|
+
}
|
|
500
|
+
catch {
|
|
501
|
+
return {
|
|
502
|
+
terminal: false,
|
|
503
|
+
code: 'stream_error',
|
|
504
|
+
message: 'Server sent malformed error frame',
|
|
505
|
+
retryable: true,
|
|
506
|
+
frame: {},
|
|
507
|
+
};
|
|
508
|
+
}
|
|
509
|
+
if (typeof payload !== 'object' || payload === null || Array.isArray(payload)) {
|
|
510
|
+
return {
|
|
511
|
+
terminal: false,
|
|
512
|
+
code: 'stream_error',
|
|
513
|
+
message: 'Server sent non-object error frame',
|
|
514
|
+
retryable: true,
|
|
515
|
+
frame: {},
|
|
516
|
+
};
|
|
517
|
+
}
|
|
518
|
+
const obj = payload;
|
|
519
|
+
const rawCode = typeof obj['code'] === 'string' ? obj['code'] : '';
|
|
520
|
+
const message = typeof obj['message'] === 'string' ? obj['message'] : 'Stream error';
|
|
521
|
+
if (rawCode in TERMINAL_SERVER_ERROR_CODES) {
|
|
522
|
+
return {
|
|
523
|
+
terminal: true,
|
|
524
|
+
code: TERMINAL_SERVER_ERROR_CODES[rawCode],
|
|
525
|
+
message,
|
|
526
|
+
retryable: false,
|
|
527
|
+
frame: obj,
|
|
528
|
+
};
|
|
529
|
+
}
|
|
530
|
+
if (rawCode in RECOVERABLE_SERVER_ERROR_CODES) {
|
|
531
|
+
return {
|
|
532
|
+
terminal: false,
|
|
533
|
+
code: RECOVERABLE_SERVER_ERROR_CODES[rawCode],
|
|
534
|
+
message,
|
|
535
|
+
retryable: true,
|
|
536
|
+
frame: obj,
|
|
537
|
+
};
|
|
538
|
+
}
|
|
539
|
+
return {
|
|
540
|
+
terminal: false,
|
|
541
|
+
code: 'unknown',
|
|
542
|
+
message: rawCode ? `${message} (code=${rawCode})` : message,
|
|
543
|
+
retryable: true,
|
|
544
|
+
frame: obj,
|
|
545
|
+
};
|
|
546
|
+
}
|
|
411
547
|
function readStatus(error) {
|
|
412
548
|
if (typeof error !== 'object' || error === null)
|
|
413
549
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/resources/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAIH,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AA0FnD,MAAM,wBAAwB,GAAG,IAAI,CAAA;AACrC,MAAM,oBAAoB,GAAG,KAAK,CAAA;AAClC,MAAM,sBAAsB,GAAG,EAAE,CAAA;AACjC,2EAA2E;AAC3E,2EAA2E;AAC3E,qEAAqE;AACrE,MAAM,eAAe,GAAG,SAAS,CAAA;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,OAAO,cAAe,SAAQ,uBAAuB;IACzD,YAAY,MAAqB,EAAE,WAAmB;QACpD,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAC5B,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,oBAAoB,CAAC,OAAoC;QACvD,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QAC7C,MAAM,QAAQ,GAAsB,EAAE,CAAA;QAEtC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC3B,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAC9C,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;gBACzE,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;gBACjE,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;YAC5E,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,eAAe,CAC1B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,WAAW,EAChB,OAAO,EACP,eAAe,CAAC,MAAM,CACvB,CAAC,OAAO,CAAC,GAAG,EAAE;YACb,KAAK,MAAM,OAAO,IAAI,QAAQ;gBAAE,OAAO,EAAE,CAAA;QAC3C,CAAC,CAAC,CAAA;QAEF,OAAO;YACL,IAAI;YACJ,WAAW,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE;SAC3C,CAAA;IACH,CAAC;CACF;AAWD,KAAK,UAAU,eAAe,CAC5B,MAAqB,EACrB,WAAmB,EACnB,OAAoC,EACpC,MAAmB;IAEnB,IAAI,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;IACrC,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,OAAO,GAAG,OAAO,CAAC,cAAc,IAAI,wBAAwB,CAAA;IAChE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,oBAAoB,CAAA;IAC7D,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,sBAAsB,CAAA;IACrE,IAAI,aAAa,GAAG,KAAK,CAAA;IAEzB,MAAM,WAAW,GAAG,CAAC,KAAY,EAAQ,EAAE;QACzC,IAAI,aAAa;YAAE,OAAM;QACzB,aAAa,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC;YACH,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,sEAAsE;QACxE,CAAC;IACH,CAAC,CAAA;IAED,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAA;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,sEAAsE;YACxE,CAAC;QACH,CAAC;QAED,IAAI,OAAsB,CAAA;QAC1B,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,gBAAgB,CAAC;gBAC/B,MAAM;gBACN,WAAW;gBACX,WAAW;gBACX,MAAM;gBACN,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE;oBAClB,WAAW,GAAG,EAAE,CAAA;gBAClB,CAAC;gBACD,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE;oBACvB,wDAAwD;oBACxD,OAAO,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,cAAc,EAAE,UAAU,CAAC,CAAA;gBAC9D,CAAC;aACF,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,iEAAiE;YACjE,sCAAsC;YACtC,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAChE,OAAM;QACR,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACjD,OAAM;QACR,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAClC,6DAA6D;YAC7D,uDAAuD;YACvD,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YAC1B,OAAM;QACR,CAAC;QAED,IAAI,OAAO,IAAI,aAAa,EAAE,CAAC;YAC7B,WAAW,CACT,IAAI,KAAK,CACP,gDAAgD,aAAa,MAAM,OAAO,CAAC,MAAM,EAAE,CACpF,CACF,CAAA;YACD,OAAM;QACR,CAAC;QAED,OAAO,IAAI,CAAC,CAAA;QACZ,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;QAC/B,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,UAAU,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACnD,IAAI,CAAC,KAAK;YAAE,OAAM;IACpB,CAAC;AACH,CAAC;AAYD,KAAK,UAAU,gBAAgB,CAAC,IAA0B;IACxD,MAAM,OAAO,GAA2B,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAA;IACvE,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,WAAW,CAAA;IAC7C,CAAC;IAED,IAAI,MAAgE,CAAA;IACpE,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAkC,EAAE;YACjE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE;YACpD,OAAO;YACP,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;QACnD,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QACjE,sEAAsE;QACtE,mEAAmE;QACnE,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;QAChC,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACrC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAA;QACtC,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,CAAA;IAC3D,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,oEAAoE;QACpE,4DAA4D;QAC5D,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAA;IACzF,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IACxB,IAAI,CAAC,CAAC,IAAI,YAAY,cAAc,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,sCAAsC,EAAE,CAAA;IACpF,CAAC;IAED,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;YACnD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC9B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACpC,CAAC;YACD,IAAI,KAAK,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAC5B,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5C,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC1D,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,CAAC;wBACH,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;oBACrB,CAAC;oBAAC,MAAM,CAAC;wBACP,wDAAwD;wBACxD,6CAA6C;oBAC/C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;QACnD,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC/D,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAA;IAC5C,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;IACnD,sEAAsE;IACtE,uCAAuC;IACvC,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAA;AACvE,CAAC;AASD;;;;;;GAMG;AACH,KAAK,SAAS,CAAC,CAAC,cAAc,CAC5B,MAAkC,EAClC,MAAmB;IAEnB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;IACjC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,IAAI,MAAM,GAAG,EAAE,CAAA;IAEf,6DAA6D;IAC7D,2EAA2E;IAC3E,wEAAwE;IACxE,mEAAmE;IACnE,IAAI,SAAS,GAAG,KAAK,CAAA;IACrB,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,IAAI,SAAS;YAAE,OAAM;QACrB,SAAS,GAAG,IAAI,CAAA;QAChB,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;YAC9B,yDAAyD;QAC3D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IACD,IAAI,kBAA4C,CAAA;IAChD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,EAAE,CAAA;IACX,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACzD,kBAAkB,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACzE,CAAC;IAED,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAY;QAC1B,MAAM,IAAI,IAAI,CAAA;QACd,IAAI,MAAM,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,6BAA6B,eAAe,2BAA2B,CAAC,CAAA;QAC1F,CAAC;QACD,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;YACvC,IAAI,GAAG,KAAK,IAAI;gBAAE,MAAK;YACvB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;YAClD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;YACxC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;YAClC,IAAI,KAAK;gBAAE,MAAM,KAAK,CAAA;QACxB,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YAC3C,IAAI,IAAI;gBAAE,MAAK;YACf,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACvD,CAAC;QACD,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;QAC9B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;YACnC,IAAI,KAAK;gBAAE,MAAM,KAAK,CAAA;YACtB,MAAM,GAAG,EAAE,CAAA;QACb,CAAC;IACH,CAAC;YAAS,CAAC;QACT,kBAAkB,EAAE,EAAE,CAAA;QACtB,IAAI,CAAC;YACH,MAAM,CAAC,WAAW,EAAE,CAAA;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;QACrE,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAS;IACpC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAClC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IACnC,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,GAAG,CAAC,EAAE,CAAA;IACrE,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,GAAG,CAAC,EAAE,CAAA;IACnE,OAAO,EAAE,GAAG,IAAI;QACd,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,GAAG,CAAC,EAAE;QAChD,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,GAAG,CAAC,EAAE,CAAA;AACxD,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,KAAK,GAAG,EAAE,CAAA;IACd,IAAI,EAAsB,CAAA;IAC1B,IAAI,KAAyB,CAAA;IAC7B,MAAM,SAAS,GAAa,EAAE,CAAA;IAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAQ;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC/B,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QACrD,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;QAClD,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACjD,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACtB,KAAK,GAAG,KAAK,CAAA;QACf,CAAC;aAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACvB,CAAC;aAAM,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1B,EAAE,GAAG,KAAK,CAAA;QACZ,CAAC;aAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YACzC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;gBAAE,KAAK,GAAG,MAAM,CAAA;QAC5D,CAAC;QACD,+CAA+C;IACjD,CAAC;IACD,wEAAwE;IACxE,0EAA0E;IAC1E,gDAAgD;IAChD,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAChF,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO;QACL,KAAK;QACL,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QAC7D,EAAE;QACF,KAAK;KACN,CAAA;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,mBAAmB,CAAC,SAAiB,EAAE,QAAgB;IAC9D,IAAI,OAAgB,CAAA;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAA;IAC1F,0EAA0E;IAC1E,yEAAyE;IACzE,kEAAkE;IAClE,OAAO;QACL,GAAI,OAAmC;QACvC,UAAU,EAAE,SAAS;KACD,CAAA;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAA;IACjE,MAAM,MAAM,GAAI,KAAkC,CAAC,UAAU,CAAA;IAC7D,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;AACxD,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,EAAU;IACxB,0EAA0E;IAC1E,6DAA6D;IAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AACpD,CAAC;AAED,SAAS,UAAU,CAAC,EAAU,EAAE,KAAyB,EAAE,OAAe;IACxE,MAAM,EAAE,GAAG,KAAK,IAAI,wBAAwB,CAAA;IAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;AAC5C,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,EAAU,EAAE,MAAmB;IAC3D,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,KAAK,CAAA;IAChC,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC5C,OAAO,CAAC,IAAI,CAAC,CAAA;QACf,CAAC,EAAE,EAAE,CAAC,CAAA;QACN,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC5C,OAAO,CAAC,KAAK,CAAC,CAAA;QAChB,CAAC,CAAA;QACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/resources/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,6 +55,31 @@ export class IntegrationsResource extends WorkspaceScopedResource {
|
|
|
55
55
|
body,
|
|
56
56
|
}));
|
|
57
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Probe an integration's connection + auth without invoking any specific
|
|
60
|
+
* endpoint. Exercises auth resolution end-to-end (SSM lookups, OAuth2 token
|
|
61
|
+
* mints, JWT signing) and sends a HEAD request to ``base_url`` (REST/FHIR)
|
|
62
|
+
* or ``mcp_url`` (MCP). Safe on production integrations — HEAD carries no
|
|
63
|
+
* side effects.
|
|
64
|
+
*
|
|
65
|
+
* The most recent probe outcome is persisted on the integration so
|
|
66
|
+
* subsequent ``get`` / ``list`` responses surface ``last_tested_at`` +
|
|
67
|
+
* ``last_test_status`` without re-probing.
|
|
68
|
+
*
|
|
69
|
+
* @returns ``status`` is one of ``healthy`` / ``auth_failed`` /
|
|
70
|
+
* ``unreachable`` / ``timeout`` / ``ssl_error`` / ``misconfigured``,
|
|
71
|
+
* each mapping to a distinct, actionable user message.
|
|
72
|
+
*/
|
|
73
|
+
async testConnection(integrationId) {
|
|
74
|
+
return extractData(await this.client.POST('/v1/{workspace_id}/integrations/{integration_id}/test-connection', {
|
|
75
|
+
params: {
|
|
76
|
+
path: {
|
|
77
|
+
workspace_id: this.workspaceId,
|
|
78
|
+
integration_id: integrationId,
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
}));
|
|
82
|
+
}
|
|
58
83
|
/** Check health of all integrations in the workspace */
|
|
59
84
|
async getHealthCheck() {
|
|
60
85
|
return extractData(await this.client.GET('/v1/{workspace_id}/integrations/health-check', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integrations.js","sourceRoot":"","sources":["../../src/resources/integrations.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAShE;;;GAGG;AACH,MAAM,OAAO,oBAAqB,SAAQ,uBAAuB;IAC/D,+BAA+B;IAC/B,KAAK,CAAC,MAAM,CAAC,IAAuD;QAClE,OAAO,WAAW,CAChB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE;YACxD,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE;YACpD,IAAI;SACL,CAAC,CACH,CAAA;IACH,CAAC;IAED,wBAAwB;IACxB,KAAK,CAAC,IAAI,CAAC,MAA+B;QACxC,OAAO,WAAW,CAChB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iCAAiC,EAAE;YACvD,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;SACpE,CAAC,CACH,CAAA;IACH,CAAC;IAED,cAAc,CAAC,MAA+B;QAC5C,OAAO,IAAI,CAAC,oBAAoB,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAA;IACjF,CAAC;IAED,+BAA+B;IAC/B,KAAK,CAAC,GAAG,CAAC,aAAqC;QAC7C,OAAO,WAAW,CAChB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kDAAkD,EAAE;YACxE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,EAAE;SACpF,CAAC,CACH,CAAA;IACH,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,MAAM,CACV,aAAqC,EACrC,IAAuD;QAEvD,OAAO,WAAW,CAChB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kDAAkD,EAAE;YACxE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,EAAE;YACnF,IAAI;SACL,CAAC,CACH,CAAA;IACH,CAAC;IAED,4BAA4B;IAC5B,KAAK,CAAC,MAAM,CAAC,aAAqC;QAChD,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,kDAAkD,EAAE;YAC3E,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,EAAE;SACpF,CAAC,CAAA;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAChB,aAAqC,EACrC,YAAoB,EACpB,IAAkD;QAElD,OAAO,WAAW,CAChB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACpB,iFAAiF,EACjF;YACE,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,YAAY,EAAE,IAAI,CAAC,WAAW;oBAC9B,cAAc,EAAE,aAAa;oBAC7B,aAAa,EAAE,YAAY;iBAC5B;aACF;YACD,IAAI;SACL,CACF,CACF,CAAA;IACH,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,cAAc;QAClB,OAAO,WAAW,CAChB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8CAA8C,EAAE;YACpE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE;SACrD,CAAC,CACH,CAAA;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"integrations.js","sourceRoot":"","sources":["../../src/resources/integrations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Voice-call observer real-time stream.
|
|
3
|
+
*
|
|
4
|
+
* The voice agent ("agent-engine") exposes a per-call WebSocket that emits
|
|
5
|
+
* the live timeline of a call: transcripts (user + agent), emotion / empathy
|
|
6
|
+
* frames, latency markers, tool invocations, navigation timing, and lifecycle
|
|
7
|
+
* events (start / end / participant join / leave).
|
|
8
|
+
*
|
|
9
|
+
* This resource is the canonical SDK consumer for that stream. Before it
|
|
10
|
+
* existed, every developer-console-style app re-implemented the loop by hand
|
|
11
|
+
* — different idle thresholds, missing close-code handling for the long list
|
|
12
|
+
* of voice-specific 4xxx codes (4001 unauthorized, 4003 forbidden, 4029 rate
|
|
13
|
+
* limit, 4100 token expired), and inconsistent reconnect backoff.
|
|
14
|
+
*
|
|
15
|
+
* The implementation composes {@link createReconnectingWebSocket} with a
|
|
16
|
+
* lightweight ``ObserverSSEEvent`` parser. Frames that don't deserialize or
|
|
17
|
+
* lack a recognized ``type`` discriminator are dropped — the stream remains
|
|
18
|
+
* forward-compatible with new event types added on the server before the SDK
|
|
19
|
+
* spec snapshot picks them up.
|
|
20
|
+
*
|
|
21
|
+
* @see ConversationsResource.subscribeTextStream for the analogous text-stream
|
|
22
|
+
* helper.
|
|
23
|
+
*/
|
|
24
|
+
import { ConfigurationError } from '../core/errors.js';
|
|
25
|
+
import { createReconnectingWebSocket, } from '../core/reconnecting-websocket.js';
|
|
26
|
+
import { WorkspaceScopedResource } from './base.js';
|
|
27
|
+
/** Token grammar accepted in WebSocket subprotocols (RFC 6455). */
|
|
28
|
+
const WEB_SOCKET_PROTOCOL_TOKEN_RE = /^[!#$%&'*+\-.^_`|~A-Za-z0-9]+$/;
|
|
29
|
+
const MAX_AUTH_TOKEN_CHARS = 4096;
|
|
30
|
+
/**
|
|
31
|
+
* Build browser WebSocket subprotocols for the observer stream.
|
|
32
|
+
*
|
|
33
|
+
* Identical wire format to the text-stream subprotocol pair —
|
|
34
|
+
* ``Sec-WebSocket-Protocol: auth, <token>`` — but exposed as its own
|
|
35
|
+
* function so consumers do not have to reason about cross-resource sharing
|
|
36
|
+
* and so the SDK can evolve the auth scheme independently per stream.
|
|
37
|
+
*
|
|
38
|
+
* @security The returned tuple contains the raw bearer token. Do not log,
|
|
39
|
+
* persist, serialize, or otherwise expose this value.
|
|
40
|
+
*/
|
|
41
|
+
export function observerAuthProtocols(token) {
|
|
42
|
+
if (!token) {
|
|
43
|
+
throw new ConfigurationError('observerAuthProtocols requires a non-empty token');
|
|
44
|
+
}
|
|
45
|
+
if (token.length > MAX_AUTH_TOKEN_CHARS) {
|
|
46
|
+
throw new ConfigurationError(`observer token exceeds the ${MAX_AUTH_TOKEN_CHARS}-character WebSocket subprotocol limit`);
|
|
47
|
+
}
|
|
48
|
+
if (!WEB_SOCKET_PROTOCOL_TOKEN_RE.test(token)) {
|
|
49
|
+
throw new ConfigurationError('observer token contains characters browsers reject in WebSocket subprotocols');
|
|
50
|
+
}
|
|
51
|
+
return ['auth', token];
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Voice-call observer resource.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```ts
|
|
58
|
+
* const handle = client.observers.subscribe({
|
|
59
|
+
* callSid: 'CAxxx',
|
|
60
|
+
* token: bearerToken,
|
|
61
|
+
* onEvent: (event) => {
|
|
62
|
+
* switch (event.type) {
|
|
63
|
+
* case 'agent_transcript_delta':
|
|
64
|
+
* renderAgentDelta(event.text)
|
|
65
|
+
* break
|
|
66
|
+
* case 'user_transcript':
|
|
67
|
+
* renderUserTurn(event.text)
|
|
68
|
+
* break
|
|
69
|
+
* case 'session_end':
|
|
70
|
+
* showSummary(event)
|
|
71
|
+
* break
|
|
72
|
+
* }
|
|
73
|
+
* },
|
|
74
|
+
* onError: (err) => console.error('observer terminal:', err.reason),
|
|
75
|
+
* })
|
|
76
|
+
*
|
|
77
|
+
* // Later, to stop:
|
|
78
|
+
* handle.close()
|
|
79
|
+
* await handle.done
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
export class ObserversResource extends WorkspaceScopedResource {
|
|
83
|
+
agentBaseUrl;
|
|
84
|
+
constructor(client, workspaceId, agentBaseUrl) {
|
|
85
|
+
super(client, workspaceId);
|
|
86
|
+
this.agentBaseUrl = agentBaseUrl;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Subscribe to the live observer stream for a call.
|
|
90
|
+
*
|
|
91
|
+
* Returns a {@link ReconnectingWebSocketHandle} that resolves
|
|
92
|
+
* ``handle.done`` when the stream terminates (consumer-aborted, terminal
|
|
93
|
+
* close code, or reconnect budget exhausted). Errors are surfaced through
|
|
94
|
+
* ``onError``; the promise never rejects.
|
|
95
|
+
*/
|
|
96
|
+
subscribe(options) {
|
|
97
|
+
const url = buildObserverUrl({
|
|
98
|
+
baseUrl: this.agentBaseUrl ?? this.platformBaseUrl,
|
|
99
|
+
workspaceId: this.workspaceId,
|
|
100
|
+
callSid: options.callSid,
|
|
101
|
+
observerUrl: options.observerUrl,
|
|
102
|
+
});
|
|
103
|
+
const protocols = observerAuthProtocols(options.token);
|
|
104
|
+
return createReconnectingWebSocket({
|
|
105
|
+
url,
|
|
106
|
+
protocols: [...protocols],
|
|
107
|
+
onMessage: (ev) => {
|
|
108
|
+
const parsed = parseObserverFrame(ev.data);
|
|
109
|
+
if (parsed) {
|
|
110
|
+
try {
|
|
111
|
+
options.onEvent(parsed);
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
// Consumer threw in onEvent — do not let it kill the loop.
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
onStateChange: options.onStateChange,
|
|
119
|
+
onReconnect: options.onReconnect,
|
|
120
|
+
onError: options.onError,
|
|
121
|
+
signal: options.signal,
|
|
122
|
+
idleTimeoutMs: options.idleTimeoutMs ?? 60_000,
|
|
123
|
+
initialDelayMs: options.initialDelayMs ?? 1_000,
|
|
124
|
+
maxDelayMs: options.maxDelayMs ?? 30_000,
|
|
125
|
+
maxReconnects: options.maxReconnects ?? 10,
|
|
126
|
+
webSocketFactory: options.webSocketFactory,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
const CALL_SID_RE = /^CA[a-zA-Z0-9]{32}$/;
|
|
131
|
+
function buildObserverUrl(args) {
|
|
132
|
+
if (!args.workspaceId) {
|
|
133
|
+
throw new ConfigurationError('workspaceId is required to build the observer URL');
|
|
134
|
+
}
|
|
135
|
+
if (!args.callSid) {
|
|
136
|
+
throw new ConfigurationError('callSid is required to subscribe to the observer stream');
|
|
137
|
+
}
|
|
138
|
+
if (args.observerUrl) {
|
|
139
|
+
// Override path — the consumer has already constructed the full URL
|
|
140
|
+
// (e.g. via a custom voice-agent gateway helper). Skip the Twilio CA
|
|
141
|
+
// SID grammar check; the override owns the URL shape.
|
|
142
|
+
return parseOverride(args.observerUrl).toString();
|
|
143
|
+
}
|
|
144
|
+
// Default path — derive ``/v1/{ws}/observers/{callSid}/ws`` and validate
|
|
145
|
+
// the CA SID grammar so a typo fails at the function boundary instead of
|
|
146
|
+
// mid-reconnect-loop with an opaque 4001.
|
|
147
|
+
if (!CALL_SID_RE.test(args.callSid)) {
|
|
148
|
+
throw new ConfigurationError(`callSid does not match Twilio CA SID format (CA + 32 hex chars): ${args.callSid}`);
|
|
149
|
+
}
|
|
150
|
+
return deriveFromBase(args.baseUrl, args.workspaceId, args.callSid).toString();
|
|
151
|
+
}
|
|
152
|
+
function parseOverride(observerUrl) {
|
|
153
|
+
let url;
|
|
154
|
+
try {
|
|
155
|
+
url = new URL(observerUrl);
|
|
156
|
+
}
|
|
157
|
+
catch (cause) {
|
|
158
|
+
throw new ConfigurationError(`observerUrl must be an absolute URL: ${String(cause)}`);
|
|
159
|
+
}
|
|
160
|
+
if (url.protocol !== 'ws:' && url.protocol !== 'wss:') {
|
|
161
|
+
throw new ConfigurationError('observerUrl overrides must use ws: or wss: URLs');
|
|
162
|
+
}
|
|
163
|
+
if (url.search || url.hash) {
|
|
164
|
+
throw new ConfigurationError('observerUrl overrides must not include query parameters or fragments');
|
|
165
|
+
}
|
|
166
|
+
return url;
|
|
167
|
+
}
|
|
168
|
+
function deriveFromBase(baseUrl, workspaceId, callSid) {
|
|
169
|
+
let parsed;
|
|
170
|
+
try {
|
|
171
|
+
parsed = new URL(baseUrl);
|
|
172
|
+
}
|
|
173
|
+
catch (cause) {
|
|
174
|
+
throw new ConfigurationError(`observerUrl cannot be derived from baseUrl: ${String(cause)}`);
|
|
175
|
+
}
|
|
176
|
+
// Map http(s) to ws(s) — the agent-engine ALB serves both on the same host.
|
|
177
|
+
let scheme;
|
|
178
|
+
if (parsed.protocol === 'https:' || parsed.protocol === 'wss:')
|
|
179
|
+
scheme = 'wss:';
|
|
180
|
+
else if (parsed.protocol === 'http:' || parsed.protocol === 'ws:')
|
|
181
|
+
scheme = 'ws:';
|
|
182
|
+
else {
|
|
183
|
+
throw new ConfigurationError(`observerUrl can only be derived from an http, https, ws, or wss baseUrl: ${baseUrl}`);
|
|
184
|
+
}
|
|
185
|
+
// The pathname must be '/' — observer paths are owned by this helper,
|
|
186
|
+
// not the consumer's baseUrl gateway.
|
|
187
|
+
if (parsed.pathname !== '/' && parsed.pathname !== '') {
|
|
188
|
+
throw new ConfigurationError('observerUrl can only be derived from an origin-only baseUrl; pass observerUrl explicitly when using path-prefixed gateways');
|
|
189
|
+
}
|
|
190
|
+
const out = new URL(`${scheme}//${parsed.host}/v1/${encodeURIComponent(workspaceId)}/observers/${encodeURIComponent(callSid)}/ws`);
|
|
191
|
+
return out;
|
|
192
|
+
}
|
|
193
|
+
// ---------------------------------------------------------------------------
|
|
194
|
+
// Frame parser
|
|
195
|
+
// ---------------------------------------------------------------------------
|
|
196
|
+
/**
|
|
197
|
+
* Parse a raw WebSocket frame into a typed {@link ObserverSSEEvent}.
|
|
198
|
+
*
|
|
199
|
+
* Drift-tolerant: returns ``null`` on JSON decode errors, non-object
|
|
200
|
+
* payloads, missing ``type`` discriminator, or unknown discriminator
|
|
201
|
+
* values. The static type of ``ObserverSSEEvent`` is the contract — the
|
|
202
|
+
* server may add new event types ahead of an SDK release and the consumer's
|
|
203
|
+
* exhaustive ``switch`` will simply not match them, leaving the unknown
|
|
204
|
+
* frame on the floor.
|
|
205
|
+
*/
|
|
206
|
+
function parseObserverFrame(data) {
|
|
207
|
+
let text;
|
|
208
|
+
if (typeof data === 'string') {
|
|
209
|
+
text = data;
|
|
210
|
+
}
|
|
211
|
+
else if (data instanceof ArrayBuffer) {
|
|
212
|
+
text = new TextDecoder().decode(data);
|
|
213
|
+
}
|
|
214
|
+
else if (ArrayBuffer.isView(data)) {
|
|
215
|
+
// ``data`` is some TypedArray; @types/node TextDecoder.decode wants
|
|
216
|
+
// ``BufferSource``. Pass through as ``Uint8Array`` over the underlying
|
|
217
|
+
// buffer so every TypedArray variant decodes consistently.
|
|
218
|
+
const view = data;
|
|
219
|
+
text = new TextDecoder().decode(new Uint8Array(view.buffer, view.byteOffset, view.byteLength));
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
return null;
|
|
223
|
+
}
|
|
224
|
+
let payload;
|
|
225
|
+
try {
|
|
226
|
+
payload = JSON.parse(text);
|
|
227
|
+
}
|
|
228
|
+
catch {
|
|
229
|
+
return null;
|
|
230
|
+
}
|
|
231
|
+
if (typeof payload !== 'object' || payload === null || Array.isArray(payload))
|
|
232
|
+
return null;
|
|
233
|
+
const obj = payload;
|
|
234
|
+
if (typeof obj['type'] !== 'string')
|
|
235
|
+
return null;
|
|
236
|
+
return obj;
|
|
237
|
+
}
|
|
238
|
+
//# sourceMappingURL=observers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observers.js","sourceRoot":"","sources":["../../src/resources/observers.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,20 +2,74 @@
|
|
|
2
2
|
* Error hierarchy for the Amigo Platform SDK.
|
|
3
3
|
* All errors extend AmigoError which can be caught with a single catch.
|
|
4
4
|
*/
|
|
5
|
+
import type { components } from '../generated/api.js';
|
|
5
6
|
export interface ErrorContext {
|
|
6
7
|
statusCode?: number;
|
|
7
8
|
errorCode?: string;
|
|
8
9
|
requestId?: string;
|
|
9
10
|
detail?: string;
|
|
10
11
|
context?: Record<string, unknown>;
|
|
12
|
+
/** Parsed error body (typed when recognized) */
|
|
13
|
+
errorBody?: PlatformErrorBody;
|
|
14
|
+
/** Raw body string for diagnostic logging — populated even on parse failure */
|
|
15
|
+
rawBody?: string;
|
|
11
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* FastAPI 422 validation-error body.
|
|
19
|
+
* Surfaces from openapi-typescript so consumers can read field-level errors.
|
|
20
|
+
*/
|
|
21
|
+
export type HttpValidationErrorBody = components['schemas']['HTTPValidationError'];
|
|
22
|
+
/**
|
|
23
|
+
* Default FastAPI HTTPException shape (`raise HTTPException(status_code, detail=...)`).
|
|
24
|
+
*
|
|
25
|
+
* Most platform-api routes that don't define an explicit error model return
|
|
26
|
+
* this shape. `detail` may be a free-form string or a JSON-serializable object.
|
|
27
|
+
*/
|
|
28
|
+
export interface HttpExceptionBody {
|
|
29
|
+
detail: string | Record<string, unknown> | unknown[];
|
|
30
|
+
/** Populated by request-id middleware on bounded routes */
|
|
31
|
+
request_id?: string;
|
|
32
|
+
/** Populated by typed error responses (e.g. Surface lifecycle errors) */
|
|
33
|
+
error_code?: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Fallback shape used when the response body fails to parse or is empty.
|
|
37
|
+
* `rawBody` is the verbatim text (truncated to 8 KB to avoid log bloat).
|
|
38
|
+
*/
|
|
39
|
+
export interface UnparseableErrorBody {
|
|
40
|
+
detail: string;
|
|
41
|
+
raw_body: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Discriminated union of all error body shapes the platform API emits.
|
|
45
|
+
*
|
|
46
|
+
* Consumers should use the type guards (`isHttpException`,
|
|
47
|
+
* `isHttpValidationError`, `isUnparseableErrorBody`) rather than checking
|
|
48
|
+
* fields directly — both `HttpExceptionBody` and `HttpValidationErrorBody`
|
|
49
|
+
* have a `detail` field but it is shaped differently.
|
|
50
|
+
*/
|
|
51
|
+
export type PlatformErrorBody = HttpExceptionBody | HttpValidationErrorBody | UnparseableErrorBody;
|
|
12
52
|
/** Base class for all Amigo Platform SDK errors */
|
|
13
|
-
export declare class AmigoError extends Error {
|
|
53
|
+
export declare class AmigoError<TBody extends PlatformErrorBody = PlatformErrorBody> extends Error {
|
|
14
54
|
readonly statusCode?: number;
|
|
15
55
|
readonly errorCode?: string;
|
|
16
56
|
readonly requestId?: string;
|
|
17
57
|
readonly detail?: string;
|
|
18
58
|
readonly context?: Record<string, unknown>;
|
|
59
|
+
/**
|
|
60
|
+
* Typed body of the error response, when one was returned and successfully
|
|
61
|
+
* parsed. Use the `isHttpException` / `isHttpValidationError` /
|
|
62
|
+
* `isUnparseableErrorBody` type guards to narrow the discriminated union.
|
|
63
|
+
*
|
|
64
|
+
* Named `errorBody` (not `body`) to avoid colliding with the legacy
|
|
65
|
+
* `ParseError.body: string` field.
|
|
66
|
+
*/
|
|
67
|
+
readonly errorBody?: TBody;
|
|
68
|
+
/**
|
|
69
|
+
* Raw response body (truncated to 8 KB). Populated even when parsing fails,
|
|
70
|
+
* so callers always have something to log when debugging server errors.
|
|
71
|
+
*/
|
|
72
|
+
readonly rawBody?: string;
|
|
19
73
|
constructor(message: string, ctx?: ErrorContext);
|
|
20
74
|
toJSON(): Record<string, unknown>;
|
|
21
75
|
}
|
|
@@ -82,4 +136,42 @@ export declare function isNotFoundError(err: unknown): err is NotFoundError;
|
|
|
82
136
|
export declare function isRateLimitError(err: unknown): err is RateLimitError;
|
|
83
137
|
export declare function isAuthenticationError(err: unknown): err is AuthenticationError;
|
|
84
138
|
export declare function isRequestTimeoutError(err: unknown): err is RequestTimeoutError;
|
|
139
|
+
export declare function isPermissionError(err: unknown): err is PermissionError;
|
|
140
|
+
export declare function isConflictError(err: unknown): err is ConflictError;
|
|
141
|
+
export declare function isValidationError(err: unknown): err is ValidationError;
|
|
142
|
+
export declare function isServerError(err: unknown): err is ServerError;
|
|
143
|
+
export declare function isNetworkError(err: unknown): err is NetworkError;
|
|
144
|
+
/**
|
|
145
|
+
* Narrowed AmigoError where `errorBody` is guaranteed non-undefined.
|
|
146
|
+
* Used as the return-type for body type guards so consumers don't need to
|
|
147
|
+
* re-assert `errorBody !== undefined` after the guard.
|
|
148
|
+
*/
|
|
149
|
+
export type AmigoErrorWithBody<TBody extends PlatformErrorBody> = AmigoError<TBody> & {
|
|
150
|
+
readonly errorBody: TBody;
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* True when `err.errorBody` is the FastAPI 422 validation-error shape (an
|
|
154
|
+
* object with `detail: ValidationError[]`). Lets consumers iterate
|
|
155
|
+
* field-level errors without `as any`:
|
|
156
|
+
*
|
|
157
|
+
* ```ts
|
|
158
|
+
* if (isHttpValidationError(err)) {
|
|
159
|
+
* for (const issue of err.errorBody.detail ?? []) {
|
|
160
|
+
* console.log(issue.loc, issue.msg)
|
|
161
|
+
* }
|
|
162
|
+
* }
|
|
163
|
+
* ```
|
|
164
|
+
*/
|
|
165
|
+
export declare function isHttpValidationError(err: unknown): err is AmigoErrorWithBody<HttpValidationErrorBody>;
|
|
166
|
+
/**
|
|
167
|
+
* True when `err.errorBody` is the default FastAPI HTTPException shape
|
|
168
|
+
* (`{ detail: string | object | array }`, possibly with `error_code` /
|
|
169
|
+
* `request_id`). This is the most common error body across platform-api.
|
|
170
|
+
*/
|
|
171
|
+
export declare function isHttpException(err: unknown): err is AmigoErrorWithBody<HttpExceptionBody>;
|
|
172
|
+
/**
|
|
173
|
+
* True when the response body could not be parsed as JSON (or was empty).
|
|
174
|
+
* `err.errorBody.raw_body` is the verbatim text (truncated to 8 KB).
|
|
175
|
+
*/
|
|
176
|
+
export declare function isUnparseableErrorBody(err: unknown): err is AmigoErrorWithBody<UnparseableErrorBody>;
|
|
85
177
|
//# sourceMappingURL=errors.d.ts.map
|