@ohm_studio/sdk-core 0.7.0 → 0.8.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/dist/client.d.ts +63 -5
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +333 -49
- package/dist/client.js.map +1 -1
- package/dist/errors.d.ts +33 -27
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +19 -1
- package/dist/errors.js.map +1 -1
- package/dist/types.d.ts +128 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ApiDetail, ApiSummary, AudioExtractInput, AudioExtractResult, AudioTranscribeInput, AudioTranscribeResult, CreateAudioJobInput, CreateAudioJobResult, ExtractInput, ExtractResult, GetApiOptions, InsightsInput, InsightsResult, JobDetail, ListApisOptions, OHMClientOptions, OHMInit, PollJobOptions, RequestOptions, SearchInvocationsByPatientOptions, SearchInvocationsByPatientResult, StreamChunk, SummarizeInput, SummarizeResult, UploadProgressEvent, UsageEvent } from "./types";
|
|
1
|
+
import type { ApiDetail, ApiSummary, AudioExtractInput, AudioExtractResult, AudioTranscribeInput, AudioTranscribeResult, BulkExtractOptions, BulkResult, ClientHooks, CreateAudioJobInput, CreateAudioJobResult, ExtractInput, ExtractResult, GetApiOptions, InsightsInput, InsightsResult, JobDetail, ListApisOptions, OHMClientOptions, OHMInit, PollJobOptions, RequestOptions, SearchInvocationsByPatientOptions, SearchInvocationsByPatientResult, StreamChunk, SummarizeInput, SummarizeResult, UploadProgressEvent, UsageEvent } from "./types";
|
|
2
2
|
/**
|
|
3
3
|
* Platform-agnostic core client. Subclasses (sdk-js, sdk-react-native)
|
|
4
4
|
* supply the platform-specific multipart/audio adapter via the `attachAudio`
|
|
@@ -9,12 +9,47 @@ export declare abstract class OHMCoreClient {
|
|
|
9
9
|
protected readonly apiKey?: string;
|
|
10
10
|
protected readonly jwt?: string;
|
|
11
11
|
protected readonly timeoutMs: number;
|
|
12
|
+
protected readonly totalTimeoutMs?: number;
|
|
12
13
|
protected readonly maxRetries: number;
|
|
13
14
|
protected readonly fetchImpl: typeof fetch;
|
|
14
15
|
protected readonly onUsage?: (e: UsageEvent) => void;
|
|
16
|
+
protected readonly hooks?: ClientHooks;
|
|
17
|
+
protected readonly disableAutoIdempotency: boolean;
|
|
18
|
+
protected readonly userAgent: string;
|
|
15
19
|
protected readonly _mock: boolean;
|
|
16
20
|
protected readonly _mockResponses?: OHMClientOptions["mockResponses"];
|
|
21
|
+
/** Cached options for `withOverrides`. */
|
|
22
|
+
private readonly _opts;
|
|
23
|
+
/** SDK version stamped on `X-OHM-Client` + `User-Agent`. */
|
|
24
|
+
protected static readonly SDK_VERSION = "0.8.0";
|
|
17
25
|
constructor(init: OHMInit);
|
|
26
|
+
/**
|
|
27
|
+
* Returns the SDK version string. Useful when forwarding the SDK
|
|
28
|
+
* version to your own telemetry pipeline.
|
|
29
|
+
*/
|
|
30
|
+
static getVersion(): string;
|
|
31
|
+
/**
|
|
32
|
+
* Returns a new client with overridden options for one call. The
|
|
33
|
+
* underlying auth + base URL are inherited; you typically only
|
|
34
|
+
* override `timeoutMs` / `maxRetries` / `totalTimeoutMs` for a
|
|
35
|
+
* single known-slow call.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* const slow = ohm.withOverrides({ timeoutMs: 5 * 60_000 });
|
|
39
|
+
* await slow.audio.extract({ apiSlug, file: bigAudio });
|
|
40
|
+
*/
|
|
41
|
+
withOverrides(overrides: Partial<OHMClientOptions>): this;
|
|
42
|
+
/**
|
|
43
|
+
* Establish a TCP/TLS connection to the API ahead of the first real
|
|
44
|
+
* call. Drops cold-start latency from ~500 ms to ~150 ms on real-world
|
|
45
|
+
* mobile networks. Safe to call multiple times; no-op in mock mode.
|
|
46
|
+
*
|
|
47
|
+
* const ohm = new OHM({ apiKey });
|
|
48
|
+
* void ohm.warmUp(); // fire-and-forget at app boot
|
|
49
|
+
* // ...
|
|
50
|
+
* await ohm.extract({ ... }); // already-warm connection
|
|
51
|
+
*/
|
|
52
|
+
warmUp(): Promise<void>;
|
|
18
53
|
/**
|
|
19
54
|
* Audio surface — speech-to-text and audio-to-structured-JSON.
|
|
20
55
|
* Subclasses fill in the platform-specific multipart adapter (browser
|
|
@@ -65,7 +100,7 @@ export declare abstract class OHMCoreClient {
|
|
|
65
100
|
* step finishes. Backend uses Server-Sent Events.
|
|
66
101
|
*
|
|
67
102
|
* @example
|
|
68
|
-
* const stream = ohm.audio.
|
|
103
|
+
* const stream = ohm.audio.extractStream({ apiSlug, file });
|
|
69
104
|
* for await (const chunk of stream) {
|
|
70
105
|
* if (chunk.type === "transcript") setT(chunk.transcript);
|
|
71
106
|
* if (chunk.type === "data") setData(chunk.data);
|
|
@@ -160,6 +195,29 @@ export declare abstract class OHMCoreClient {
|
|
|
160
195
|
* }
|
|
161
196
|
*/
|
|
162
197
|
extract<T = Record<string, unknown>>(input: ExtractInput): Promise<ExtractResult<T>>;
|
|
198
|
+
/**
|
|
199
|
+
* Bulk-extract a batch of text inputs concurrently. Partial failures
|
|
200
|
+
* do NOT fail the batch — each input gets a discriminated-union
|
|
201
|
+
* result (`{ ok: true, data }` or `{ ok: false, error, input }`).
|
|
202
|
+
*
|
|
203
|
+
* Use when replaying historical transcripts, batch-tagging lab
|
|
204
|
+
* reports, or anywhere "10 000 of these need to extract this week".
|
|
205
|
+
*
|
|
206
|
+
* Default concurrency is 4 — enough to amortise network round-trips
|
|
207
|
+
* without blowing the per-key rate limit. Pass a higher cap when you
|
|
208
|
+
* know your key's quota is generous.
|
|
209
|
+
*
|
|
210
|
+
* @example
|
|
211
|
+
* const results = await ohm.extractBulk(transcripts.map(t => ({
|
|
212
|
+
* apiSlug: "opd-clinic",
|
|
213
|
+
* text: t,
|
|
214
|
+
* })), {
|
|
215
|
+
* concurrency: 8,
|
|
216
|
+
* onProgress: (done, total) => console.log(`${done}/${total}`),
|
|
217
|
+
* });
|
|
218
|
+
* const errored = results.filter(r => !r.ok);
|
|
219
|
+
*/
|
|
220
|
+
extractBulk<T = Record<string, unknown>>(inputs: ExtractInput[], options?: BulkExtractOptions): Promise<BulkResult<T>[]>;
|
|
163
221
|
/**
|
|
164
222
|
* One-line convenience: pass a transcript, get back the data field.
|
|
165
223
|
* Equivalent to `(await ohm.extract({ apiSlug, text })).data` — the most
|
|
@@ -269,11 +327,11 @@ export declare abstract class OHMCoreClient {
|
|
|
269
327
|
file: any;
|
|
270
328
|
fields?: Record<string, string>;
|
|
271
329
|
signal?: AbortSignal;
|
|
272
|
-
idempotencyKey?: string;
|
|
330
|
+
idempotencyKey?: string | null;
|
|
273
331
|
onProgress?: (event: UploadProgressEvent) => void;
|
|
274
332
|
}): Promise<T>;
|
|
275
333
|
/**
|
|
276
|
-
* Default SSE-based streaming for audio.
|
|
334
|
+
* Default SSE-based streaming for audio.extractStream. Subclasses
|
|
277
335
|
* override `runMultipart` to construct the FormData body for their
|
|
278
336
|
* platform; this method reuses that body and parses an SSE event stream
|
|
279
337
|
* off the response.
|
|
@@ -289,7 +347,7 @@ export declare abstract class OHMCoreClient {
|
|
|
289
347
|
file: any;
|
|
290
348
|
fields?: Record<string, string>;
|
|
291
349
|
signal?: AbortSignal;
|
|
292
|
-
idempotencyKey?: string;
|
|
350
|
+
idempotencyKey?: string | null;
|
|
293
351
|
}): AsyncGenerator<StreamChunk<T>>;
|
|
294
352
|
/**
|
|
295
353
|
* Builds a `FormData` (web/Node) or RN-shaped FormData. Subclasses
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,aAAa,EACb,cAAc,EACd,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,OAAO,EACP,cAAc,EACd,cAAc,EACd,iCAAiC,EACjC,gCAAgC,EAChC,WAAW,EACX,cAAc,EACd,eAAe,EAEf,mBAAmB,EACnB,UAAU,EACX,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -4,6 +4,45 @@ import { mockResponseFor } from "./mock";
|
|
|
4
4
|
const DEFAULT_BASE_URL = "https://api.ohm.doctor";
|
|
5
5
|
const DEFAULT_TIMEOUT_MS = 60_000;
|
|
6
6
|
const DEFAULT_MAX_RETRIES = 2;
|
|
7
|
+
/**
|
|
8
|
+
* Best-effort `User-Agent` for Node. Browsers + RN reject custom UA
|
|
9
|
+
* via fetch (forbidden header), so we only set it on Node-flavoured
|
|
10
|
+
* runtimes. Empty string disables the header entirely.
|
|
11
|
+
*/
|
|
12
|
+
function buildUserAgent(sdkVersion) {
|
|
13
|
+
// @ts-ignore — runtime probe
|
|
14
|
+
const proc = typeof process !== "undefined" ? process : undefined;
|
|
15
|
+
if (proc?.versions?.node && !proc.versions.bun) {
|
|
16
|
+
return `ohm-sdk/${sdkVersion} (node/${proc.versions.node}; ${proc.platform} ${proc.arch})`;
|
|
17
|
+
}
|
|
18
|
+
return "";
|
|
19
|
+
}
|
|
20
|
+
/** Generate a UUID v4. Uses native crypto.randomUUID() when available. */
|
|
21
|
+
function uuidv4() {
|
|
22
|
+
// Node 16+, modern browsers, RN 0.71+ all ship crypto.randomUUID.
|
|
23
|
+
const g = globalThis;
|
|
24
|
+
if (g.crypto?.randomUUID)
|
|
25
|
+
return g.crypto.randomUUID();
|
|
26
|
+
// Fallback for very old hosts — Math.random is acceptable for an
|
|
27
|
+
// idempotency key (server only uses it as a dedupe token, not a secret).
|
|
28
|
+
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
|
|
29
|
+
const r = (Math.random() * 16) | 0;
|
|
30
|
+
const v = c === "x" ? r : (r & 0x3) | 0x8;
|
|
31
|
+
return v.toString(16);
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
/** Safe-fire a hook; swallow exceptions so user bugs don't break requests. */
|
|
35
|
+
function safeHook(fn, arg) {
|
|
36
|
+
if (!fn)
|
|
37
|
+
return;
|
|
38
|
+
try {
|
|
39
|
+
fn(arg);
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
// eslint-disable-next-line no-console
|
|
43
|
+
console.warn("[ohm-sdk] hook threw — swallowing:", err);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
7
46
|
/**
|
|
8
47
|
* Platform-agnostic core client. Subclasses (sdk-js, sdk-react-native)
|
|
9
48
|
* supply the platform-specific multipart/audio adapter via the `attachAudio`
|
|
@@ -14,11 +53,19 @@ export class OHMCoreClient {
|
|
|
14
53
|
apiKey;
|
|
15
54
|
jwt;
|
|
16
55
|
timeoutMs;
|
|
56
|
+
totalTimeoutMs;
|
|
17
57
|
maxRetries;
|
|
18
58
|
fetchImpl;
|
|
19
59
|
onUsage;
|
|
60
|
+
hooks;
|
|
61
|
+
disableAutoIdempotency;
|
|
62
|
+
userAgent;
|
|
20
63
|
_mock;
|
|
21
64
|
_mockResponses;
|
|
65
|
+
/** Cached options for `withOverrides`. */
|
|
66
|
+
_opts;
|
|
67
|
+
/** SDK version stamped on `X-OHM-Client` + `User-Agent`. */
|
|
68
|
+
static SDK_VERSION = "0.8.0";
|
|
22
69
|
constructor(init) {
|
|
23
70
|
// Accept either a bare `ohms_live_…` string (`new OHM("…")`) or the
|
|
24
71
|
// full options object. Most customers want the one-liner.
|
|
@@ -30,16 +77,71 @@ export class OHMCoreClient {
|
|
|
30
77
|
message: "OHM client requires an apiKey. Pass it as `new OHM('ohms_live_…')` or `new OHM({ apiKey: '…' })`.",
|
|
31
78
|
});
|
|
32
79
|
}
|
|
80
|
+
this._opts = opts;
|
|
33
81
|
this.baseUrl = (opts.baseUrl || DEFAULT_BASE_URL).replace(/\/+$/, "");
|
|
34
82
|
this.apiKey = opts.apiKey;
|
|
35
83
|
this.jwt = opts.jwt;
|
|
36
84
|
this.timeoutMs = opts.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
85
|
+
this.totalTimeoutMs = opts.totalTimeoutMs;
|
|
37
86
|
this.maxRetries = opts.maxRetries ?? DEFAULT_MAX_RETRIES;
|
|
38
87
|
this.fetchImpl = opts.fetch ?? globalThis.fetch.bind(globalThis);
|
|
39
88
|
this.onUsage = opts.onUsage;
|
|
89
|
+
this.hooks = opts.hooks;
|
|
90
|
+
this.disableAutoIdempotency = !!opts.disableAutoIdempotency;
|
|
91
|
+
this.userAgent = buildUserAgent(OHMCoreClient.SDK_VERSION);
|
|
40
92
|
this._mock = !!opts.mock;
|
|
41
93
|
this._mockResponses = opts.mockResponses;
|
|
42
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* Returns the SDK version string. Useful when forwarding the SDK
|
|
97
|
+
* version to your own telemetry pipeline.
|
|
98
|
+
*/
|
|
99
|
+
static getVersion() {
|
|
100
|
+
return OHMCoreClient.SDK_VERSION;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Returns a new client with overridden options for one call. The
|
|
104
|
+
* underlying auth + base URL are inherited; you typically only
|
|
105
|
+
* override `timeoutMs` / `maxRetries` / `totalTimeoutMs` for a
|
|
106
|
+
* single known-slow call.
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* const slow = ohm.withOverrides({ timeoutMs: 5 * 60_000 });
|
|
110
|
+
* await slow.audio.extract({ apiSlug, file: bigAudio });
|
|
111
|
+
*/
|
|
112
|
+
withOverrides(overrides) {
|
|
113
|
+
// Build a new instance of the same subclass with merged options.
|
|
114
|
+
// Cast through `unknown` keeps the static type but uses the
|
|
115
|
+
// runtime constructor (sdk-js / sdk-rn / etc).
|
|
116
|
+
const Ctor = this.constructor;
|
|
117
|
+
return new Ctor({ ...this._opts, ...overrides });
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Establish a TCP/TLS connection to the API ahead of the first real
|
|
121
|
+
* call. Drops cold-start latency from ~500 ms to ~150 ms on real-world
|
|
122
|
+
* mobile networks. Safe to call multiple times; no-op in mock mode.
|
|
123
|
+
*
|
|
124
|
+
* const ohm = new OHM({ apiKey });
|
|
125
|
+
* void ohm.warmUp(); // fire-and-forget at app boot
|
|
126
|
+
* // ...
|
|
127
|
+
* await ohm.extract({ ... }); // already-warm connection
|
|
128
|
+
*/
|
|
129
|
+
async warmUp() {
|
|
130
|
+
if (this._mock)
|
|
131
|
+
return;
|
|
132
|
+
try {
|
|
133
|
+
await this.fetchImpl(`${this.baseUrl}/api/health`, {
|
|
134
|
+
method: "GET",
|
|
135
|
+
// Short, non-retried, abort-able. We don't care about the
|
|
136
|
+
// response body — only that the TLS handshake completes.
|
|
137
|
+
signal: AbortSignal.timeout(5_000),
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
// Warm-up is best-effort. If the network is offline the real
|
|
142
|
+
// call will surface its own OHMNetworkError.
|
|
143
|
+
}
|
|
144
|
+
}
|
|
43
145
|
/**
|
|
44
146
|
* Audio surface — speech-to-text and audio-to-structured-JSON.
|
|
45
147
|
* Subclasses fill in the platform-specific multipart adapter (browser
|
|
@@ -125,7 +227,7 @@ export class OHMCoreClient {
|
|
|
125
227
|
* step finishes. Backend uses Server-Sent Events.
|
|
126
228
|
*
|
|
127
229
|
* @example
|
|
128
|
-
* const stream = ohm.audio.
|
|
230
|
+
* const stream = ohm.audio.extractStream({ apiSlug, file });
|
|
129
231
|
* for await (const chunk of stream) {
|
|
130
232
|
* if (chunk.type === "transcript") setT(chunk.transcript);
|
|
131
233
|
* if (chunk.type === "data") setData(chunk.data);
|
|
@@ -270,9 +372,14 @@ export class OHMCoreClient {
|
|
|
270
372
|
* CANCELLED — caller checks status). Never returns mid-state.
|
|
271
373
|
*/
|
|
272
374
|
poll: async (jobId, options = {}) => {
|
|
273
|
-
const
|
|
375
|
+
const initialIntervalMs = options.intervalMs ?? 2000;
|
|
376
|
+
const maxIntervalMs = options.maxIntervalMs ?? 30_000;
|
|
274
377
|
const maxWaitMs = options.maxWaitMs ?? 15 * 60_000;
|
|
275
378
|
const start = Date.now();
|
|
379
|
+
// Exponential backoff capped at maxIntervalMs — protects the
|
|
380
|
+
// worker from a chatty client when a job stays PROCESSING for
|
|
381
|
+
// 10+ minutes. Grows 1.5× per poll: 2 → 3 → 4.5 → ... → 30.
|
|
382
|
+
let interval = initialIntervalMs;
|
|
276
383
|
// eslint-disable-next-line no-constant-condition
|
|
277
384
|
while (true) {
|
|
278
385
|
if (options.signal?.aborted)
|
|
@@ -292,7 +399,8 @@ export class OHMCoreClient {
|
|
|
292
399
|
status: 0,
|
|
293
400
|
});
|
|
294
401
|
}
|
|
295
|
-
await new Promise((r) => setTimeout(r,
|
|
402
|
+
await new Promise((r) => setTimeout(r, interval));
|
|
403
|
+
interval = Math.min(maxIntervalMs, Math.round(interval * 1.5));
|
|
296
404
|
}
|
|
297
405
|
},
|
|
298
406
|
},
|
|
@@ -353,6 +461,67 @@ export class OHMCoreClient {
|
|
|
353
461
|
idempotencyKey: input.idempotencyKey,
|
|
354
462
|
});
|
|
355
463
|
}
|
|
464
|
+
/**
|
|
465
|
+
* Bulk-extract a batch of text inputs concurrently. Partial failures
|
|
466
|
+
* do NOT fail the batch — each input gets a discriminated-union
|
|
467
|
+
* result (`{ ok: true, data }` or `{ ok: false, error, input }`).
|
|
468
|
+
*
|
|
469
|
+
* Use when replaying historical transcripts, batch-tagging lab
|
|
470
|
+
* reports, or anywhere "10 000 of these need to extract this week".
|
|
471
|
+
*
|
|
472
|
+
* Default concurrency is 4 — enough to amortise network round-trips
|
|
473
|
+
* without blowing the per-key rate limit. Pass a higher cap when you
|
|
474
|
+
* know your key's quota is generous.
|
|
475
|
+
*
|
|
476
|
+
* @example
|
|
477
|
+
* const results = await ohm.extractBulk(transcripts.map(t => ({
|
|
478
|
+
* apiSlug: "opd-clinic",
|
|
479
|
+
* text: t,
|
|
480
|
+
* })), {
|
|
481
|
+
* concurrency: 8,
|
|
482
|
+
* onProgress: (done, total) => console.log(`${done}/${total}`),
|
|
483
|
+
* });
|
|
484
|
+
* const errored = results.filter(r => !r.ok);
|
|
485
|
+
*/
|
|
486
|
+
async extractBulk(inputs, options = {}) {
|
|
487
|
+
const concurrency = Math.max(1, options.concurrency ?? 4);
|
|
488
|
+
const results = new Array(inputs.length);
|
|
489
|
+
let cursor = 0;
|
|
490
|
+
let done = 0;
|
|
491
|
+
const total = inputs.length;
|
|
492
|
+
const signal = options.signal;
|
|
493
|
+
const worker = async () => {
|
|
494
|
+
while (cursor < total) {
|
|
495
|
+
if (signal?.aborted) {
|
|
496
|
+
throw new OHMAbortError();
|
|
497
|
+
}
|
|
498
|
+
const idx = cursor++;
|
|
499
|
+
const input = inputs[idx];
|
|
500
|
+
try {
|
|
501
|
+
const data = await this.extract({ ...input, signal });
|
|
502
|
+
results[idx] = { ok: true, data };
|
|
503
|
+
}
|
|
504
|
+
catch (err) {
|
|
505
|
+
results[idx] = {
|
|
506
|
+
ok: false,
|
|
507
|
+
error: err instanceof Error ? err : new Error(String(err)),
|
|
508
|
+
input,
|
|
509
|
+
};
|
|
510
|
+
}
|
|
511
|
+
finally {
|
|
512
|
+
done++;
|
|
513
|
+
try {
|
|
514
|
+
options.onProgress?.(done, total);
|
|
515
|
+
}
|
|
516
|
+
catch {
|
|
517
|
+
/* ignore */
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
};
|
|
522
|
+
await Promise.all(Array.from({ length: Math.min(concurrency, total) }, () => worker()));
|
|
523
|
+
return results;
|
|
524
|
+
}
|
|
356
525
|
/**
|
|
357
526
|
* One-line convenience: pass a transcript, get back the data field.
|
|
358
527
|
* Equivalent to `(await ohm.extract({ apiSlug, text })).data` — the most
|
|
@@ -519,7 +688,7 @@ export class OHMCoreClient {
|
|
|
519
688
|
return this.requestRaw(method, path, init, options);
|
|
520
689
|
}
|
|
521
690
|
/**
|
|
522
|
-
* Default SSE-based streaming for audio.
|
|
691
|
+
* Default SSE-based streaming for audio.extractStream. Subclasses
|
|
523
692
|
* override `runMultipart` to construct the FormData body for their
|
|
524
693
|
* platform; this method reuses that body and parses an SSE event stream
|
|
525
694
|
* off the response.
|
|
@@ -614,6 +783,11 @@ export class OHMCoreClient {
|
|
|
614
783
|
});
|
|
615
784
|
}
|
|
616
785
|
async requestRaw(method, path, init, options) {
|
|
786
|
+
// ── Resolve per-call overrides (or fall back to client defaults).
|
|
787
|
+
const perAttemptTimeout = options?.timeoutMs ?? this.timeoutMs;
|
|
788
|
+
const maxRetries = options?.maxRetries ?? this.maxRetries;
|
|
789
|
+
const totalDeadline = options?.totalTimeoutMs ?? this.totalTimeoutMs;
|
|
790
|
+
const deadlineAt = totalDeadline != null ? Date.now() + totalDeadline : undefined;
|
|
617
791
|
const url = `${this.baseUrl}${path}`;
|
|
618
792
|
const headers = new Headers(init.headers || {});
|
|
619
793
|
if (this.apiKey)
|
|
@@ -621,13 +795,45 @@ export class OHMCoreClient {
|
|
|
621
795
|
else if (this.jwt)
|
|
622
796
|
headers.set("Authorization", `Bearer ${this.jwt}`);
|
|
623
797
|
if (!headers.has("X-OHM-Client")) {
|
|
624
|
-
headers.set("X-OHM-Client",
|
|
798
|
+
headers.set("X-OHM-Client", `@ohm_studio/sdk-core@${OHMCoreClient.SDK_VERSION}`);
|
|
799
|
+
}
|
|
800
|
+
// User-Agent — Node only. Browsers + RN reject custom UA.
|
|
801
|
+
if (this.userAgent && !headers.has("User-Agent")) {
|
|
802
|
+
try {
|
|
803
|
+
headers.set("User-Agent", this.userAgent);
|
|
804
|
+
}
|
|
805
|
+
catch {
|
|
806
|
+
// Some hosts forbid setting User-Agent — swallow.
|
|
807
|
+
}
|
|
808
|
+
}
|
|
809
|
+
// ── Idempotency-Key: caller-supplied wins. Otherwise auto-generate
|
|
810
|
+
// for unsafe methods (POST/PATCH/PUT/DELETE) unless explicitly
|
|
811
|
+
// disabled. `null` from the caller is an explicit opt-out.
|
|
812
|
+
const isUnsafe = method === "POST" ||
|
|
813
|
+
method === "PATCH" ||
|
|
814
|
+
method === "PUT" ||
|
|
815
|
+
method === "DELETE";
|
|
816
|
+
let idempotencyKey;
|
|
817
|
+
if (options?.idempotencyKey === null) {
|
|
818
|
+
// explicit opt-out — leave header off
|
|
625
819
|
}
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
if (options?.idempotencyKey) {
|
|
629
|
-
headers.set("Idempotency-Key", options.idempotencyKey);
|
|
820
|
+
else if (typeof options?.idempotencyKey === "string") {
|
|
821
|
+
idempotencyKey = options.idempotencyKey;
|
|
630
822
|
}
|
|
823
|
+
else if (isUnsafe && !this.disableAutoIdempotency) {
|
|
824
|
+
idempotencyKey = uuidv4();
|
|
825
|
+
}
|
|
826
|
+
if (idempotencyKey) {
|
|
827
|
+
headers.set("Idempotency-Key", idempotencyKey);
|
|
828
|
+
}
|
|
829
|
+
// ── Body inspection for keepalive eligibility. Browser fetch
|
|
830
|
+
// enforces a 64 KB cap on keepalive bodies; we play it safe at
|
|
831
|
+
// 60 KB and skip multipart bodies entirely.
|
|
832
|
+
const bodyAsString = typeof init.body === "string" ? init.body : "";
|
|
833
|
+
const keepaliveEligible = isUnsafe &&
|
|
834
|
+
bodyAsString.length > 0 &&
|
|
835
|
+
bodyAsString.length < 60_000 &&
|
|
836
|
+
headers.get("content-type")?.includes("application/json") === true;
|
|
631
837
|
// Caller-supplied signal short-circuits before any work is started —
|
|
632
838
|
// matches DOM fetch() semantics and avoids burning a retry on an
|
|
633
839
|
// already-cancelled request.
|
|
@@ -635,25 +841,45 @@ export class OHMCoreClient {
|
|
|
635
841
|
throw new OHMAbortError();
|
|
636
842
|
}
|
|
637
843
|
let lastError;
|
|
638
|
-
for (let attempt = 0; attempt <=
|
|
844
|
+
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
845
|
+
// ── Deadline check before each attempt.
|
|
846
|
+
if (deadlineAt != null && Date.now() >= deadlineAt) {
|
|
847
|
+
throw new OHMTimeoutError({
|
|
848
|
+
message: `Total request deadline (${totalDeadline}ms) exceeded after ${attempt} attempt(s)`,
|
|
849
|
+
});
|
|
850
|
+
}
|
|
851
|
+
// ── Per-attempt timeout: never exceed the remaining deadline.
|
|
852
|
+
const remaining = deadlineAt != null ? Math.max(50, deadlineAt - Date.now()) : Infinity;
|
|
853
|
+
const attemptTimeout = Math.min(perAttemptTimeout, remaining);
|
|
639
854
|
const ac = new AbortController();
|
|
640
|
-
const t = setTimeout(() => ac.abort(),
|
|
641
|
-
// Bridge the caller's signal into our internal AbortController so
|
|
642
|
-
// either source (timeout, user cancel) trips the same fetch abort.
|
|
855
|
+
const t = setTimeout(() => ac.abort(), attemptTimeout);
|
|
643
856
|
let onCallerAbort;
|
|
644
857
|
if (options?.signal) {
|
|
645
858
|
onCallerAbort = () => ac.abort();
|
|
646
859
|
options.signal.addEventListener("abort", onCallerAbort, { once: true });
|
|
647
860
|
}
|
|
861
|
+
safeHook(this.hooks?.onRequest, {
|
|
862
|
+
method,
|
|
863
|
+
url,
|
|
864
|
+
attempt,
|
|
865
|
+
idempotencyKey,
|
|
866
|
+
});
|
|
648
867
|
const tStart = Date.now();
|
|
649
868
|
try {
|
|
650
|
-
const
|
|
869
|
+
const fetchInit = {
|
|
651
870
|
...init,
|
|
652
871
|
method,
|
|
653
872
|
headers,
|
|
654
873
|
signal: ac.signal,
|
|
655
|
-
}
|
|
874
|
+
};
|
|
875
|
+
if (keepaliveEligible) {
|
|
876
|
+
fetchInit.keepalive = true;
|
|
877
|
+
}
|
|
878
|
+
const res = await this.fetchImpl(url, fetchInit);
|
|
656
879
|
const latencyMs = Date.now() - tStart;
|
|
880
|
+
const requestId = res.headers.get("x-request-id") ||
|
|
881
|
+
res.headers.get("x-ohm-request-id") ||
|
|
882
|
+
undefined;
|
|
657
883
|
this.onUsage?.({
|
|
658
884
|
endpoint: path,
|
|
659
885
|
method,
|
|
@@ -662,40 +888,78 @@ export class OHMCoreClient {
|
|
|
662
888
|
latencyMs,
|
|
663
889
|
retries: attempt,
|
|
664
890
|
});
|
|
891
|
+
safeHook(this.hooks?.onResponse, {
|
|
892
|
+
method,
|
|
893
|
+
url,
|
|
894
|
+
status: res.status,
|
|
895
|
+
ok: res.ok,
|
|
896
|
+
attempt,
|
|
897
|
+
latencyMs,
|
|
898
|
+
requestId,
|
|
899
|
+
});
|
|
665
900
|
if (res.ok) {
|
|
666
|
-
// 204 no-content tolerance
|
|
667
901
|
if (res.status === 204)
|
|
668
902
|
return undefined;
|
|
669
903
|
return (await res.json());
|
|
670
904
|
}
|
|
671
|
-
if (isRetriableStatus(res.status) && attempt <
|
|
672
|
-
|
|
905
|
+
if (isRetriableStatus(res.status) && attempt < maxRetries) {
|
|
906
|
+
const sleepMs = Math.min(backoffMs(attempt), deadlineAt != null ? Math.max(0, deadlineAt - Date.now() - 50) : Infinity);
|
|
907
|
+
if (deadlineAt != null && sleepMs <= 0) {
|
|
908
|
+
// No headroom for another attempt — fail now rather than
|
|
909
|
+
// sleeping into a guaranteed deadline-exceeded outcome.
|
|
910
|
+
throw new OHMTimeoutError({
|
|
911
|
+
message: `Total request deadline (${totalDeadline}ms) would be exceeded by retry sleep`,
|
|
912
|
+
});
|
|
913
|
+
}
|
|
914
|
+
await sleep(sleepMs);
|
|
673
915
|
continue;
|
|
674
916
|
}
|
|
675
917
|
throw await this.parseError(res);
|
|
676
918
|
}
|
|
677
919
|
catch (err) {
|
|
678
920
|
clearTimeout(t);
|
|
921
|
+
// Hooks first — even for errors we want to surface them to
|
|
922
|
+
// observability before we throw or retry.
|
|
923
|
+
const willRetryDecision = (() => {
|
|
924
|
+
if (err instanceof OHMError)
|
|
925
|
+
return false;
|
|
926
|
+
if (options?.signal?.aborted)
|
|
927
|
+
return false;
|
|
928
|
+
const e = err;
|
|
929
|
+
if (e?.name === "AbortError" || e?.code === "ABORT_ERR")
|
|
930
|
+
return false;
|
|
931
|
+
return attempt < maxRetries;
|
|
932
|
+
})();
|
|
933
|
+
safeHook(this.hooks?.onError, {
|
|
934
|
+
method,
|
|
935
|
+
url,
|
|
936
|
+
attempt,
|
|
937
|
+
error: err instanceof Error ? err : new Error(String(err)),
|
|
938
|
+
willRetry: willRetryDecision,
|
|
939
|
+
});
|
|
679
940
|
if (err instanceof OHMError)
|
|
680
941
|
throw err;
|
|
681
|
-
// If the caller cancelled, surface that immediately — don't
|
|
682
|
-
// burn retries on a request the user no longer wants.
|
|
683
942
|
if (options?.signal?.aborted) {
|
|
684
943
|
throw new OHMAbortError();
|
|
685
944
|
}
|
|
686
|
-
// Internal AbortController firing without caller cancel = timeout.
|
|
687
|
-
// The fetch impl rejects with an AbortError-shaped DOMException;
|
|
688
|
-
// this is the canonical detection pattern for "client-side
|
|
689
|
-
// deadline exceeded".
|
|
690
945
|
const e = err;
|
|
691
946
|
if (e?.name === "AbortError" || e?.code === "ABORT_ERR") {
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
947
|
+
// Distinguish total-deadline timeout from per-attempt timeout
|
|
948
|
+
// in the error message — easier triage in support tickets.
|
|
949
|
+
const msg = deadlineAt != null && Date.now() >= deadlineAt
|
|
950
|
+
? `Total request deadline (${totalDeadline}ms) exceeded`
|
|
951
|
+
: `Request timed out after ${attemptTimeout}ms`;
|
|
952
|
+
throw new OHMTimeoutError({ message: msg });
|
|
695
953
|
}
|
|
696
954
|
lastError = err;
|
|
697
|
-
if (attempt <
|
|
698
|
-
|
|
955
|
+
if (attempt < maxRetries) {
|
|
956
|
+
const sleepMs = Math.min(backoffMs(attempt), deadlineAt != null ? Math.max(0, deadlineAt - Date.now() - 50) : Infinity);
|
|
957
|
+
if (deadlineAt != null && sleepMs <= 0) {
|
|
958
|
+
throw new OHMTimeoutError({
|
|
959
|
+
message: `Total request deadline (${totalDeadline}ms) would be exceeded by retry sleep`,
|
|
960
|
+
});
|
|
961
|
+
}
|
|
962
|
+
await sleep(sleepMs);
|
|
699
963
|
continue;
|
|
700
964
|
}
|
|
701
965
|
}
|
|
@@ -718,25 +982,48 @@ export class OHMCoreClient {
|
|
|
718
982
|
}
|
|
719
983
|
async parseError(res) {
|
|
720
984
|
let body = {};
|
|
985
|
+
let rawBody;
|
|
721
986
|
try {
|
|
722
|
-
|
|
987
|
+
const text = await res.text();
|
|
988
|
+
rawBody = text;
|
|
989
|
+
if (text) {
|
|
990
|
+
try {
|
|
991
|
+
const parsed = JSON.parse(text);
|
|
992
|
+
body = parsed;
|
|
993
|
+
rawBody = parsed;
|
|
994
|
+
}
|
|
995
|
+
catch {
|
|
996
|
+
// body wasn't JSON; that's fine for the error path
|
|
997
|
+
}
|
|
998
|
+
}
|
|
723
999
|
}
|
|
724
1000
|
catch {
|
|
725
|
-
// body wasn't
|
|
1001
|
+
// body wasn't readable; that's fine for the error path
|
|
726
1002
|
}
|
|
1003
|
+
// Capture headers as a plain dict so customers can `console.log` or
|
|
1004
|
+
// forward to their telemetry without dragging a Headers instance.
|
|
1005
|
+
const responseHeaders = {};
|
|
1006
|
+
res.headers.forEach((value, key) => {
|
|
1007
|
+
responseHeaders[key.toLowerCase()] = value;
|
|
1008
|
+
});
|
|
727
1009
|
const requestId = res.headers.get("x-request-id") || res.headers.get("x-ohm-request-id") || undefined;
|
|
728
1010
|
const message = body?.message || `HTTP ${res.status}`;
|
|
1011
|
+
const base = {
|
|
1012
|
+
message,
|
|
1013
|
+
status: res.status,
|
|
1014
|
+
requestId,
|
|
1015
|
+
responseHeaders,
|
|
1016
|
+
responseBody: rawBody,
|
|
1017
|
+
};
|
|
729
1018
|
// 401 / 403 → auth
|
|
730
1019
|
if (res.status === 401 || res.status === 403) {
|
|
731
|
-
return new OHMAuthError(
|
|
1020
|
+
return new OHMAuthError(base);
|
|
732
1021
|
}
|
|
733
1022
|
// 404 → not found (slug, job id, …). Server may include
|
|
734
1023
|
// `availableSlugs` to power a customer-side picker.
|
|
735
1024
|
if (res.status === 404) {
|
|
736
1025
|
return new OHMNotFoundError({
|
|
737
|
-
|
|
738
|
-
status: res.status,
|
|
739
|
-
requestId,
|
|
1026
|
+
...base,
|
|
740
1027
|
availableSlugs: body?.availableSlugs,
|
|
741
1028
|
});
|
|
742
1029
|
}
|
|
@@ -744,9 +1031,7 @@ export class OHMCoreClient {
|
|
|
744
1031
|
// failing JSON-Schema paths.
|
|
745
1032
|
if (res.status === 422 || res.status === 400) {
|
|
746
1033
|
return new OHMValidationError({
|
|
747
|
-
|
|
748
|
-
status: res.status,
|
|
749
|
-
requestId,
|
|
1034
|
+
...base,
|
|
750
1035
|
fields: body?.fields,
|
|
751
1036
|
});
|
|
752
1037
|
}
|
|
@@ -759,17 +1044,13 @@ export class OHMCoreClient {
|
|
|
759
1044
|
// an upgrade-plan modal instead of a "slow down" toast.
|
|
760
1045
|
if (body?.code === "quota_exceeded" || body?.errorCode === "quota_exceeded") {
|
|
761
1046
|
return new OHMQuotaExceededError({
|
|
762
|
-
|
|
763
|
-
status: res.status,
|
|
764
|
-
requestId,
|
|
1047
|
+
...base,
|
|
765
1048
|
resetAt: body?.resetAt,
|
|
766
1049
|
quotaKind: body?.quotaKind,
|
|
767
1050
|
});
|
|
768
1051
|
}
|
|
769
1052
|
return new OHMRateLimitError({
|
|
770
|
-
|
|
771
|
-
status: res.status,
|
|
772
|
-
requestId,
|
|
1053
|
+
...base,
|
|
773
1054
|
retryAfterSec: Number(res.headers.get("retry-after")) ||
|
|
774
1055
|
body?.retryAfterSec ||
|
|
775
1056
|
undefined,
|
|
@@ -778,9 +1059,7 @@ export class OHMCoreClient {
|
|
|
778
1059
|
// 402 → payment required (Stripe convention) → quota.
|
|
779
1060
|
if (res.status === 402) {
|
|
780
1061
|
return new OHMQuotaExceededError({
|
|
781
|
-
|
|
782
|
-
status: res.status,
|
|
783
|
-
requestId,
|
|
1062
|
+
...base,
|
|
784
1063
|
resetAt: body?.resetAt,
|
|
785
1064
|
quotaKind: body?.quotaKind,
|
|
786
1065
|
});
|
|
@@ -788,9 +1067,14 @@ export class OHMCoreClient {
|
|
|
788
1067
|
// 504 / gateway timeout → timeout class so customers can pattern
|
|
789
1068
|
// match for "give it another try" UX.
|
|
790
1069
|
if (res.status === 504 || res.status === 408) {
|
|
791
|
-
return new OHMTimeoutError({
|
|
1070
|
+
return new OHMTimeoutError({
|
|
1071
|
+
message,
|
|
1072
|
+
status: res.status,
|
|
1073
|
+
responseHeaders,
|
|
1074
|
+
responseBody: rawBody,
|
|
1075
|
+
});
|
|
792
1076
|
}
|
|
793
|
-
return new OHMServerError(
|
|
1077
|
+
return new OHMServerError(base);
|
|
794
1078
|
}
|
|
795
1079
|
}
|
|
796
1080
|
function sleep(ms) {
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -9,50 +9,59 @@
|
|
|
9
9
|
*
|
|
10
10
|
* Every error carries a stable `code`, the HTTP status, the request id (for
|
|
11
11
|
* audit-log lookups), and a human message. Validation errors include the
|
|
12
|
-
* failing field paths.
|
|
12
|
+
* failing field paths. Since v0.10 every server-originated error also
|
|
13
|
+
* carries the raw response headers + body for support-ticket debugging.
|
|
13
14
|
*/
|
|
14
15
|
export declare class OHMError extends Error {
|
|
15
16
|
readonly code: string;
|
|
16
17
|
readonly status: number;
|
|
17
18
|
readonly requestId?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Raw HTTP response headers from the failed request, when known. Use
|
|
21
|
+
* to debug "the server returned 502 but what cache header was on
|
|
22
|
+
* it?" tickets without forcing another round-trip.
|
|
23
|
+
*/
|
|
24
|
+
readonly responseHeaders?: Record<string, string>;
|
|
25
|
+
/**
|
|
26
|
+
* Raw response body (parsed JSON, or the original string if the body
|
|
27
|
+
* wasn't JSON). Useful for surfacing provider-specific error envelopes
|
|
28
|
+
* in support tickets. Undefined when the body couldn't be captured
|
|
29
|
+
* (e.g. transport-layer error before any response).
|
|
30
|
+
*/
|
|
31
|
+
readonly responseBody?: unknown;
|
|
18
32
|
constructor(opts: {
|
|
19
33
|
code: string;
|
|
20
34
|
message: string;
|
|
21
35
|
status: number;
|
|
22
36
|
requestId?: string;
|
|
37
|
+
responseHeaders?: Record<string, string>;
|
|
38
|
+
responseBody?: unknown;
|
|
23
39
|
});
|
|
24
40
|
}
|
|
41
|
+
interface ServerErrorOpts {
|
|
42
|
+
message: string;
|
|
43
|
+
status: number;
|
|
44
|
+
requestId?: string;
|
|
45
|
+
responseHeaders?: Record<string, string>;
|
|
46
|
+
responseBody?: unknown;
|
|
47
|
+
}
|
|
25
48
|
export declare class OHMAuthError extends OHMError {
|
|
26
|
-
constructor(opts:
|
|
27
|
-
message: string;
|
|
28
|
-
status: number;
|
|
29
|
-
requestId?: string;
|
|
30
|
-
});
|
|
49
|
+
constructor(opts: ServerErrorOpts);
|
|
31
50
|
}
|
|
32
51
|
export declare class OHMRateLimitError extends OHMError {
|
|
33
52
|
readonly retryAfterSec?: number;
|
|
34
|
-
constructor(opts: {
|
|
35
|
-
message: string;
|
|
36
|
-
status: number;
|
|
37
|
-
requestId?: string;
|
|
53
|
+
constructor(opts: ServerErrorOpts & {
|
|
38
54
|
retryAfterSec?: number;
|
|
39
55
|
});
|
|
40
56
|
}
|
|
41
57
|
export declare class OHMValidationError extends OHMError {
|
|
42
58
|
readonly fields?: string[];
|
|
43
|
-
constructor(opts: {
|
|
44
|
-
message: string;
|
|
45
|
-
status: number;
|
|
46
|
-
requestId?: string;
|
|
59
|
+
constructor(opts: ServerErrorOpts & {
|
|
47
60
|
fields?: string[];
|
|
48
61
|
});
|
|
49
62
|
}
|
|
50
63
|
export declare class OHMServerError extends OHMError {
|
|
51
|
-
constructor(opts:
|
|
52
|
-
message: string;
|
|
53
|
-
status: number;
|
|
54
|
-
requestId?: string;
|
|
55
|
-
});
|
|
64
|
+
constructor(opts: ServerErrorOpts);
|
|
56
65
|
}
|
|
57
66
|
export declare class OHMConfigError extends OHMError {
|
|
58
67
|
constructor(opts: {
|
|
@@ -80,6 +89,8 @@ export declare class OHMTimeoutError extends OHMError {
|
|
|
80
89
|
constructor(opts?: {
|
|
81
90
|
message?: string;
|
|
82
91
|
status?: number;
|
|
92
|
+
responseHeaders?: Record<string, string>;
|
|
93
|
+
responseBody?: unknown;
|
|
83
94
|
});
|
|
84
95
|
}
|
|
85
96
|
/**
|
|
@@ -105,10 +116,7 @@ export declare class OHMNetworkError extends OHMError {
|
|
|
105
116
|
*/
|
|
106
117
|
export declare class OHMNotFoundError extends OHMError {
|
|
107
118
|
readonly availableSlugs?: string[];
|
|
108
|
-
constructor(opts: {
|
|
109
|
-
message: string;
|
|
110
|
-
status: number;
|
|
111
|
-
requestId?: string;
|
|
119
|
+
constructor(opts: ServerErrorOpts & {
|
|
112
120
|
availableSlugs?: string[];
|
|
113
121
|
});
|
|
114
122
|
}
|
|
@@ -123,10 +131,7 @@ export declare class OHMQuotaExceededError extends OHMError {
|
|
|
123
131
|
readonly resetAt?: string;
|
|
124
132
|
/** Which quota was exceeded — useful for billing dashboards. */
|
|
125
133
|
readonly quotaKind?: "tokens" | "audio_seconds" | "calls" | "storage";
|
|
126
|
-
constructor(opts: {
|
|
127
|
-
message: string;
|
|
128
|
-
status: number;
|
|
129
|
-
requestId?: string;
|
|
134
|
+
constructor(opts: ServerErrorOpts & {
|
|
130
135
|
resetAt?: string;
|
|
131
136
|
quotaKind?: "tokens" | "audio_seconds" | "calls" | "storage";
|
|
132
137
|
});
|
|
@@ -166,4 +171,5 @@ export declare const OHM_ERROR_CODES: {
|
|
|
166
171
|
readonly SERVER_ERROR: "server_error";
|
|
167
172
|
};
|
|
168
173
|
export type OhmErrorCode = (typeof OHM_ERROR_CODES)[keyof typeof OHM_ERROR_CODES];
|
|
174
|
+
export {};
|
|
169
175
|
//# sourceMappingURL=errors.d.ts.map
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.js
CHANGED
|
@@ -9,18 +9,34 @@
|
|
|
9
9
|
*
|
|
10
10
|
* Every error carries a stable `code`, the HTTP status, the request id (for
|
|
11
11
|
* audit-log lookups), and a human message. Validation errors include the
|
|
12
|
-
* failing field paths.
|
|
12
|
+
* failing field paths. Since v0.10 every server-originated error also
|
|
13
|
+
* carries the raw response headers + body for support-ticket debugging.
|
|
13
14
|
*/
|
|
14
15
|
export class OHMError extends Error {
|
|
15
16
|
code;
|
|
16
17
|
status;
|
|
17
18
|
requestId;
|
|
19
|
+
/**
|
|
20
|
+
* Raw HTTP response headers from the failed request, when known. Use
|
|
21
|
+
* to debug "the server returned 502 but what cache header was on
|
|
22
|
+
* it?" tickets without forcing another round-trip.
|
|
23
|
+
*/
|
|
24
|
+
responseHeaders;
|
|
25
|
+
/**
|
|
26
|
+
* Raw response body (parsed JSON, or the original string if the body
|
|
27
|
+
* wasn't JSON). Useful for surfacing provider-specific error envelopes
|
|
28
|
+
* in support tickets. Undefined when the body couldn't be captured
|
|
29
|
+
* (e.g. transport-layer error before any response).
|
|
30
|
+
*/
|
|
31
|
+
responseBody;
|
|
18
32
|
constructor(opts) {
|
|
19
33
|
super(opts.message);
|
|
20
34
|
this.name = "OHMError";
|
|
21
35
|
this.code = opts.code;
|
|
22
36
|
this.status = opts.status;
|
|
23
37
|
this.requestId = opts.requestId;
|
|
38
|
+
this.responseHeaders = opts.responseHeaders;
|
|
39
|
+
this.responseBody = opts.responseBody;
|
|
24
40
|
}
|
|
25
41
|
}
|
|
26
42
|
export class OHMAuthError extends OHMError {
|
|
@@ -85,6 +101,8 @@ export class OHMTimeoutError extends OHMError {
|
|
|
85
101
|
code: "timeout",
|
|
86
102
|
message: opts.message || "Request timed out",
|
|
87
103
|
status: opts.status ?? 0,
|
|
104
|
+
responseHeaders: opts.responseHeaders,
|
|
105
|
+
responseBody: opts.responseBody,
|
|
88
106
|
});
|
|
89
107
|
this.name = "OHMTimeoutError";
|
|
90
108
|
}
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -15,6 +15,15 @@ export interface OHMClientOptions {
|
|
|
15
15
|
baseUrl?: string;
|
|
16
16
|
/** Per-request timeout (default 60s). */
|
|
17
17
|
timeoutMs?: number;
|
|
18
|
+
/**
|
|
19
|
+
* Total deadline across ALL retries for one logical call. When set,
|
|
20
|
+
* the SDK throws `OHMTimeoutError` as soon as the elapsed budget is
|
|
21
|
+
* exhausted, even mid-retry. Worst-case latency is bounded by this
|
|
22
|
+
* value (vs. the unbounded `(maxRetries+1) × timeoutMs` without it).
|
|
23
|
+
*
|
|
24
|
+
* Default: undefined (no total budget — keep the per-attempt deadline only).
|
|
25
|
+
*/
|
|
26
|
+
totalTimeoutMs?: number;
|
|
18
27
|
/** Max automatic retries on retriable errors (default 2). */
|
|
19
28
|
maxRetries?: number;
|
|
20
29
|
/** Custom fetch — useful for tests, proxies, or RN polyfills. */
|
|
@@ -24,6 +33,32 @@ export interface OHMClientOptions {
|
|
|
24
33
|
* Use this to plug into Sentry / Datadog / your own logger.
|
|
25
34
|
*/
|
|
26
35
|
onUsage?: (event: UsageEvent) => void;
|
|
36
|
+
/**
|
|
37
|
+
* Granular lifecycle hooks. Cleaner than `onUsage` when you want to
|
|
38
|
+
* tap into individual phases (e.g. log only on errors, modify
|
|
39
|
+
* request headers, sample response bodies). All hooks are
|
|
40
|
+
* fire-and-forget — exceptions inside hooks never affect the request.
|
|
41
|
+
*/
|
|
42
|
+
hooks?: ClientHooks;
|
|
43
|
+
/**
|
|
44
|
+
* Reserved for future delta-streaming workloads. When set, the SDK
|
|
45
|
+
* coalesces same-type chunks emitted by `audio.extractStream(...)`
|
|
46
|
+
* within this window before yielding. No-op today (the server emits
|
|
47
|
+
* one event per type); ship with `streamBufferMs: 50` when delta
|
|
48
|
+
* streaming launches to keep your UI from re-rendering per
|
|
49
|
+
* keystroke. Default: unset (no buffering).
|
|
50
|
+
*/
|
|
51
|
+
streamBufferMs?: number;
|
|
52
|
+
/**
|
|
53
|
+
* Disable the SDK's auto-generated `Idempotency-Key` on POST calls.
|
|
54
|
+
* By default the SDK injects a UUID v4 when the caller doesn't
|
|
55
|
+
* provide one — protects mobile retries from duplicate writes
|
|
56
|
+
* without the customer having to remember. Set true to opt out
|
|
57
|
+
* (e.g. you want every duplicate POST to go through).
|
|
58
|
+
*
|
|
59
|
+
* Default: false (auto-idempotency on).
|
|
60
|
+
*/
|
|
61
|
+
disableAutoIdempotency?: boolean;
|
|
27
62
|
/**
|
|
28
63
|
* Required when initialising with a `ohms_live_*` key in a React Native
|
|
29
64
|
* runtime. Documented at docs.ohm.doctor/security/rn-key-handling.
|
|
@@ -52,6 +87,51 @@ export interface OHMClientOptions {
|
|
|
52
87
|
insights: InsightsResult;
|
|
53
88
|
}>;
|
|
54
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Lifecycle hooks called at well-defined points in every request.
|
|
92
|
+
*
|
|
93
|
+
* onRequest — fires before the network call. Inspect the URL and
|
|
94
|
+
* method; you cannot mutate the in-flight request.
|
|
95
|
+
* onResponse — fires on every response (2xx and 4xx/5xx alike).
|
|
96
|
+
* Includes status, latency, and which attempt produced
|
|
97
|
+
* this response.
|
|
98
|
+
* onError — fires on every thrown error — typed `OHM*Error`
|
|
99
|
+
* instance OR a transport-layer Error (DNS, TCP).
|
|
100
|
+
*
|
|
101
|
+
* All hooks are fire-and-forget; exceptions thrown inside a hook are
|
|
102
|
+
* caught and logged via `console.warn`. Hooks never affect the
|
|
103
|
+
* request's success/failure.
|
|
104
|
+
*/
|
|
105
|
+
export interface ClientHooks {
|
|
106
|
+
onRequest?: (ctx: HookRequestContext) => void;
|
|
107
|
+
onResponse?: (ctx: HookResponseContext) => void;
|
|
108
|
+
onError?: (ctx: HookErrorContext) => void;
|
|
109
|
+
}
|
|
110
|
+
export interface HookRequestContext {
|
|
111
|
+
method: string;
|
|
112
|
+
url: string;
|
|
113
|
+
/** Attempt index, 0 for the first try. */
|
|
114
|
+
attempt: number;
|
|
115
|
+
/** The request will use this Idempotency-Key (auto-generated or caller-supplied). */
|
|
116
|
+
idempotencyKey?: string;
|
|
117
|
+
}
|
|
118
|
+
export interface HookResponseContext {
|
|
119
|
+
method: string;
|
|
120
|
+
url: string;
|
|
121
|
+
status: number;
|
|
122
|
+
ok: boolean;
|
|
123
|
+
attempt: number;
|
|
124
|
+
latencyMs: number;
|
|
125
|
+
requestId?: string;
|
|
126
|
+
}
|
|
127
|
+
export interface HookErrorContext {
|
|
128
|
+
method: string;
|
|
129
|
+
url: string;
|
|
130
|
+
attempt: number;
|
|
131
|
+
error: Error;
|
|
132
|
+
/** True if the SDK will retry after this error. */
|
|
133
|
+
willRetry: boolean;
|
|
134
|
+
}
|
|
55
135
|
export interface UsageEvent {
|
|
56
136
|
endpoint: string;
|
|
57
137
|
method: string;
|
|
@@ -77,8 +157,21 @@ export interface RequestOptions {
|
|
|
77
157
|
* the server replays the cached response if the key matches a prior
|
|
78
158
|
* call from the same org within 24 h. Stripe / Twilio convention.
|
|
79
159
|
* Sent as the `Idempotency-Key` HTTP header.
|
|
160
|
+
*
|
|
161
|
+
* The SDK auto-generates one on POST when omitted; pass `null` to
|
|
162
|
+
* explicitly disable for this call.
|
|
80
163
|
*/
|
|
81
|
-
idempotencyKey?: string;
|
|
164
|
+
idempotencyKey?: string | null;
|
|
165
|
+
/**
|
|
166
|
+
* Per-call override of the client's `timeoutMs`. Useful for one
|
|
167
|
+
* known-slow call without spawning a second client. Hosted-runtime
|
|
168
|
+
* fetch never re-uses this between attempts.
|
|
169
|
+
*/
|
|
170
|
+
timeoutMs?: number;
|
|
171
|
+
/** Per-call override of the client's `maxRetries`. */
|
|
172
|
+
maxRetries?: number;
|
|
173
|
+
/** Per-call override of the client's `totalTimeoutMs`. */
|
|
174
|
+
totalTimeoutMs?: number;
|
|
82
175
|
}
|
|
83
176
|
export interface UploadProgressEvent {
|
|
84
177
|
/** Bytes uploaded so far. */
|
|
@@ -112,7 +205,11 @@ export interface UploadOptions extends RequestOptions {
|
|
|
112
205
|
export interface AuditOptions {
|
|
113
206
|
patientHash?: string;
|
|
114
207
|
recordedById?: string;
|
|
115
|
-
|
|
208
|
+
/**
|
|
209
|
+
* See `RequestOptions.idempotencyKey`. Auto-generated for unsafe
|
|
210
|
+
* methods when omitted; pass `null` to explicitly opt out.
|
|
211
|
+
*/
|
|
212
|
+
idempotencyKey?: string | null;
|
|
116
213
|
}
|
|
117
214
|
export interface ExtractInput extends RequestOptions, AuditOptions {
|
|
118
215
|
apiSlug: string;
|
|
@@ -303,15 +400,42 @@ export interface JobDetail<T = Record<string, unknown>> {
|
|
|
303
400
|
webhookUrl: string | null;
|
|
304
401
|
}
|
|
305
402
|
export interface PollJobOptions extends RequestOptions {
|
|
306
|
-
/**
|
|
403
|
+
/** Initial polling interval (ms). Default 2000. */
|
|
307
404
|
intervalMs?: number;
|
|
405
|
+
/**
|
|
406
|
+
* Cap on the polling interval. The SDK starts at `intervalMs` and
|
|
407
|
+
* backs off by 1.5× each poll (capped at this value) so a job that
|
|
408
|
+
* stays PROCESSING doesn't hammer the worker. Default 30 000.
|
|
409
|
+
*/
|
|
410
|
+
maxIntervalMs?: number;
|
|
308
411
|
/** Cap total wait time (ms). Default 15 min. */
|
|
309
412
|
maxWaitMs?: number;
|
|
310
413
|
/** Called with progress updates (status + workerProgress) on every poll. */
|
|
311
414
|
onProgress?: (snapshot: JobDetail) => void;
|
|
312
415
|
}
|
|
313
416
|
/**
|
|
314
|
-
*
|
|
417
|
+
* Result of `ohm.extract.bulk([...])`. Each input produces one of
|
|
418
|
+
* these. Partial failures do NOT fail the batch — the caller inspects
|
|
419
|
+
* the discriminator and decides per-row.
|
|
420
|
+
*/
|
|
421
|
+
export type BulkResult<T = Record<string, unknown>> = {
|
|
422
|
+
ok: true;
|
|
423
|
+
data: ExtractResult<T>;
|
|
424
|
+
} | {
|
|
425
|
+
ok: false;
|
|
426
|
+
error: Error;
|
|
427
|
+
input: ExtractInput;
|
|
428
|
+
};
|
|
429
|
+
export interface BulkExtractOptions {
|
|
430
|
+
/** Max concurrent extracts. Default 4. */
|
|
431
|
+
concurrency?: number;
|
|
432
|
+
/** Called after every individual completion. */
|
|
433
|
+
onProgress?: (done: number, total: number) => void;
|
|
434
|
+
/** Aborts the whole batch. */
|
|
435
|
+
signal?: AbortSignal;
|
|
436
|
+
}
|
|
437
|
+
/**
|
|
438
|
+
* Streaming chunk emitted by `ohm.audio.extractStream(...)`.
|
|
315
439
|
* Server emits, in order:
|
|
316
440
|
* 1. `transcript` — STT finished, transcript available
|
|
317
441
|
* 2. `data` — extraction finished, structured JSON available
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,gBAAgB,CAAC;AAEhD,4CAA4C;AAC5C,MAAM,WAAW,gBAAgB;IAC/B,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;QACtB,OAAO,EAAE,aAAa,CAAC;QACvB,UAAU,EAAE,qBAAqB,CAAC;QAClC,YAAY,EAAE,kBAAkB,CAAC;QACjC,SAAS,EAAE,eAAe,CAAC;QAC3B,QAAQ,EAAE,cAAc,CAAC;KAC1B,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ohm_studio/sdk-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Shared core for @ohm/sdk and @ohm/sdk-react-native — http client, types, errors, retry, streaming. Use one of the platform wrappers instead of consuming this directly.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|