@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 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.extract.stream({ apiSlug, file });
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.extract.stream. Subclasses
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
@@ -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;AAOjB;;;;GAIG;AACH,8BAAsB,aAAa;IACjC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IACtC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,KAAK,CAAC;IAC3C,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACrD,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAClC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;gBAE1D,IAAI,EAAE,OAAO;IAyBzB;;;;OAIG;IACH,KAAK;QACH;;;;;;;;;;;;;;;;;;WAkBG;4BACiB,oBAAoB,KAAG,OAAO,CAAC,qBAAqB,CAAC;QAkBzE;;;;;;;;;;;;;;;;WAgBG;kBACO,CAAC,mCACF,iBAAiB,KACvB,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAqBjC;;;;;;;;;;;;WAYG;wBACa,CAAC,mCACR,iBAAiB,KACvB,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAqBhC;;;;;;;;;;;;;;;;;;;;WAoBG;;YAED;;;;eAIG;4BAEM,mBAAmB,KACzB,OAAO,CAAC,oBAAoB,CAAC;YA4BhC;;;;eAIG;kBACG,CAAC,mCACE,MAAM,YACJ,cAAc,KACtB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YA4BxB;;;;eAIG;4BAEM,MAAM,YACJ,cAAc,KACtB,OAAO,CAAC,SAAS,CAAC;YA4BrB;;;;;;;eAOG;mBACU,CAAC,mCACL,MAAM,YACJ,cAAc,KACtB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;;QA4B1B;;;;;;WAMG;uBACkB,CAAC,mCACb,mBAAmB,GAAG,cAAc,KAC1C,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;MAIxB;IAEF;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAwB5B;;;;OAIG;IACG,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3C,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,CAAC,CAAC;IAKb;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAWhE;;;;;;;;;;;;;;;;;OAiBG;IACG,QAAQ,CAAC,CAAC,GAAG,OAAO,EACxB,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAkB7B;;;;;;;;;;;;;;;OAeG;IACH,IAAI;yBACoB,eAAe,KAAQ,OAAO,CAAC,UAAU,EAAE,CAAC;QAWlE;;;;;;;;;WASG;oBAEK,MAAM,YACH,aAAa,KACrB,OAAO,CAAC,SAAS,CAAC;MAiBrB;IAEF;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,WAAW;mCAEE,iCAAiC,KACzC,OAAO,CAAC,gCAAgC,CAAC;MAoB5C;cAIc,WAAW,CAAC,CAAC,EAC3B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,CAAC,CAAC;IAUb,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE;QACvC,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,GAAG,CAAC;QACV,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;KACnD,GAAG,OAAO,CAAC,CAAC,CAAC;IAEd;;;;;;;;;;;OAWG;cACc,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE;QAC3C,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,GAAG,CAAC;QACV,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAoElC;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,CAC1B,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,OAAO,CAAC;cAOH,UAAU,CAAC,CAAC,EAC1B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,EACjB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,CAAC,CAAC;YAoGC,UAAU;CA6EzB"}
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.extract.stream({ apiSlug, file });
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 intervalMs = options.intervalMs ?? 2000;
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, intervalMs));
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.extract.stream. Subclasses
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", "@ohm_studio/sdk-core@0.7.0");
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
- // Idempotency-Key server short-circuits same-key retries within
627
- // 24 h to the cached response. Stripe / Twilio convention.
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 <= this.maxRetries; 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(), this.timeoutMs);
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 res = await this.fetchImpl(url, {
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 < this.maxRetries) {
672
- await sleep(backoffMs(attempt));
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
- throw new OHMTimeoutError({
693
- message: `Request timed out after ${this.timeoutMs}ms`,
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 < this.maxRetries) {
698
- await sleep(backoffMs(attempt));
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
- body = await res.json();
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 JSON; that's fine for the error path
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({ message, status: res.status, requestId });
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
- message,
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
- message,
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
- message,
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
- message,
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
- message,
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({ message, status: res.status });
1070
+ return new OHMTimeoutError({
1071
+ message,
1072
+ status: res.status,
1073
+ responseHeaders,
1074
+ responseBody: rawBody,
1075
+ });
792
1076
  }
793
- return new OHMServerError({ message, status: res.status, requestId });
1077
+ return new OHMServerError(base);
794
1078
  }
795
1079
  }
796
1080
  function sleep(ms) {
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
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
- idempotencyKey?: string;
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
- /** Polling interval (ms). Default 2000. */
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
- * Streaming chunk emitted by `ohm.audio.extract.stream(...)`.
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
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
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.7.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": [