@ohm_studio/sdk-core 0.4.0 → 0.6.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 { ApiSummary, AudioExtractInput, AudioExtractResult, AudioTranscribeInput, AudioTranscribeResult, ExtractInput, ExtractResult, InsightsInput, InsightsResult, ListApisOptions, OHMClientOptions, OHMInit, RequestOptions, StreamChunk, SummarizeInput, SummarizeResult, UploadProgressEvent, UsageEvent } from "./types";
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";
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`
@@ -73,6 +73,64 @@ export declare abstract class OHMCoreClient {
73
73
  * }
74
74
  */
75
75
  extractStream: <T = Record<string, unknown>>(input: AudioExtractInput) => AsyncIterable<StreamChunk<T>>;
76
+ /**
77
+ * Async-extraction job surface. Use for long recordings (>30 min),
78
+ * mobile-background workflows, and anywhere holding an HTTP
79
+ * connection open isn't viable.
80
+ *
81
+ * @example
82
+ * // 1. Submit
83
+ * const { jobId } = await ohm.audio.jobs.create({
84
+ * apiSlug: "long-consult",
85
+ * file: bigBlob,
86
+ * webhookUrl: "https://your-backend/ohm-callback", // optional
87
+ * });
88
+ *
89
+ * // 2a. Poll until done (client-side)
90
+ * const result = await ohm.audio.jobs.poll(jobId, {
91
+ * intervalMs: 3000,
92
+ * onProgress: (j) => setProgress(j.workerProgress),
93
+ * });
94
+ *
95
+ * // 2b. OR receive a webhook callback when terminal state hits.
96
+ */
97
+ jobs: {
98
+ /**
99
+ * Submit an audio file for asynchronous processing. Returns
100
+ * immediately (~100ms) with the jobId — actual extraction
101
+ * happens in the worker.
102
+ */
103
+ create: (input: CreateAudioJobInput) => Promise<CreateAudioJobResult>;
104
+ /**
105
+ * Get the current state of a job. While QUEUED / PROCESSING,
106
+ * the response includes `workerProgress` (0-100). On COMPLETED,
107
+ * `resultTranscript` and `resultData` are populated.
108
+ */
109
+ get: <T = Record<string, unknown>>(jobId: string, options?: RequestOptions) => Promise<JobDetail<T>>;
110
+ /**
111
+ * Best-effort cancel. QUEUED → CANCELLED immediately.
112
+ * PROCESSING jobs may complete if past phase checkpoints — the
113
+ * actual final state is in the returned record.
114
+ */
115
+ cancel: (jobId: string, options?: RequestOptions) => Promise<JobDetail>;
116
+ /**
117
+ * Poll until the job reaches a terminal state. Convenience
118
+ * wrapper around `get()` — handles backoff, max-wait, abort
119
+ * propagation. Throws OHMAbortError on signal cancel.
120
+ *
121
+ * Returns the FINAL JobDetail (may be COMPLETED, FAILED, or
122
+ * CANCELLED — caller checks status). Never returns mid-state.
123
+ */
124
+ poll: <T = Record<string, unknown>>(jobId: string, options?: PollJobOptions) => Promise<JobDetail<T>>;
125
+ };
126
+ /**
127
+ * Submit-and-await convenience: enqueue an async job, poll until
128
+ * complete, return the final JobDetail. Combines `jobs.create` +
129
+ * `jobs.poll` for callers who want a one-line "fire and wait"
130
+ * API. For long audio + flaky networks, prefer using `jobs.create`
131
+ * + a webhook so the client doesn't have to stay alive.
132
+ */
133
+ extractAsync: <T = Record<string, unknown>>(input: CreateAudioJobInput & PollJobOptions) => Promise<JobDetail<T>>;
76
134
  };
77
135
  /**
78
136
  * Text → structured JSON. Use this when you already have a transcript
@@ -168,6 +226,42 @@ export declare abstract class OHMCoreClient {
168
226
  */
169
227
  apis: {
170
228
  list: (options?: ListApisOptions) => Promise<ApiSummary[]>;
229
+ /**
230
+ * Fetch full schema detail for one published API. Useful for
231
+ * dynamic playground / preview UIs that need to render the
232
+ * field structure at runtime, or for build pipelines that want
233
+ * the system prompt + inputs without going through the CLI.
234
+ *
235
+ * @example
236
+ * const api = await ohm.apis.get("opd-clinic");
237
+ * console.log(api.publishedSchema, api.publishedSystemPrompt);
238
+ */
239
+ get: (slug: string, options?: GetApiOptions) => Promise<ApiDetail>;
240
+ };
241
+ /**
242
+ * Patient-level audit search — "every extraction touching this
243
+ * patient in the last N days". Backed by `GET /api/studio/v1/
244
+ * invocations?patientHash=...`. The hospital sends a hash of its
245
+ * patient identifier (ABHA / MRN / IPD) — OHM never sees the raw
246
+ * value. Returns a slim metadata-only view; transcripts and
247
+ * extracted JSON are NEVER returned via this surface.
248
+ *
249
+ * Auth: works under either an API key (project-scoped) or a Studio
250
+ * JWT (organisation-wide). Compliance-critical surface — the
251
+ * caller is expected to enforce role checks before exposing this
252
+ * to end users.
253
+ *
254
+ * @example
255
+ * const audit = await ohm.invocations.searchByPatient({
256
+ * patientHash: sha256(`abha:${patient.abhaId}`),
257
+ * sinceDays: 30,
258
+ * });
259
+ * audit.invocations.forEach((row) => {
260
+ * console.log(row.endpoint, row.recordedById, row.createdAt);
261
+ * });
262
+ */
263
+ invocations: {
264
+ searchByPatient: (options: SearchInvocationsByPatientOptions) => Promise<SearchInvocationsByPatientResult>;
171
265
  };
172
266
  protected requestJson<T>(method: string, path: string, body?: unknown, options?: RequestOptions): Promise<T>;
173
267
  protected abstract runMultipart<T>(opts: {
@@ -175,6 +269,7 @@ export declare abstract class OHMCoreClient {
175
269
  file: any;
176
270
  fields?: Record<string, string>;
177
271
  signal?: AbortSignal;
272
+ idempotencyKey?: string;
178
273
  onProgress?: (event: UploadProgressEvent) => void;
179
274
  }): Promise<T>;
180
275
  /**
@@ -194,6 +289,7 @@ export declare abstract class OHMCoreClient {
194
289
  file: any;
195
290
  fields?: Record<string, string>;
196
291
  signal?: AbortSignal;
292
+ idempotencyKey?: string;
197
293
  }): AsyncGenerator<StreamChunk<T>>;
198
294
  /**
199
295
  * 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":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAUA,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;YAuFC,UAAU;CAkCzB"}
package/dist/client.js CHANGED
@@ -75,8 +75,11 @@ export class OHMCoreClient {
75
75
  fields: {
76
76
  ...(input.language ? { language: input.language } : {}),
77
77
  ...(input.speakerMode ? { speakerMode: input.speakerMode } : {}),
78
+ ...(input.patientHash ? { patientHash: input.patientHash } : {}),
79
+ ...(input.recordedById ? { recordedById: input.recordedById } : {}),
78
80
  },
79
81
  signal: input.signal,
82
+ idempotencyKey: input.idempotencyKey,
80
83
  onProgress: input.onProgress,
81
84
  });
82
85
  },
@@ -108,8 +111,11 @@ export class OHMCoreClient {
108
111
  ...(input.language ? { language: input.language } : {}),
109
112
  ...(input.speakerMode ? { speakerMode: input.speakerMode } : {}),
110
113
  ...(input.inputs ? { inputs: JSON.stringify(input.inputs) } : {}),
114
+ ...(input.patientHash ? { patientHash: input.patientHash } : {}),
115
+ ...(input.recordedById ? { recordedById: input.recordedById } : {}),
111
116
  },
112
117
  signal: input.signal,
118
+ idempotencyKey: input.idempotencyKey,
113
119
  onProgress: input.onProgress,
114
120
  });
115
121
  },
@@ -137,10 +143,170 @@ export class OHMCoreClient {
137
143
  ...(input.language ? { language: input.language } : {}),
138
144
  ...(input.speakerMode ? { speakerMode: input.speakerMode } : {}),
139
145
  ...(input.inputs ? { inputs: JSON.stringify(input.inputs) } : {}),
146
+ ...(input.patientHash ? { patientHash: input.patientHash } : {}),
147
+ ...(input.recordedById ? { recordedById: input.recordedById } : {}),
140
148
  },
141
149
  signal: input.signal,
150
+ idempotencyKey: input.idempotencyKey,
142
151
  });
143
152
  },
153
+ /**
154
+ * Async-extraction job surface. Use for long recordings (>30 min),
155
+ * mobile-background workflows, and anywhere holding an HTTP
156
+ * connection open isn't viable.
157
+ *
158
+ * @example
159
+ * // 1. Submit
160
+ * const { jobId } = await ohm.audio.jobs.create({
161
+ * apiSlug: "long-consult",
162
+ * file: bigBlob,
163
+ * webhookUrl: "https://your-backend/ohm-callback", // optional
164
+ * });
165
+ *
166
+ * // 2a. Poll until done (client-side)
167
+ * const result = await ohm.audio.jobs.poll(jobId, {
168
+ * intervalMs: 3000,
169
+ * onProgress: (j) => setProgress(j.workerProgress),
170
+ * });
171
+ *
172
+ * // 2b. OR receive a webhook callback when terminal state hits.
173
+ */
174
+ jobs: {
175
+ /**
176
+ * Submit an audio file for asynchronous processing. Returns
177
+ * immediately (~100ms) with the jobId — actual extraction
178
+ * happens in the worker.
179
+ */
180
+ create: (input) => {
181
+ if (this._mock) {
182
+ return Promise.resolve({
183
+ jobId: `job_mock_${Date.now()}`,
184
+ status: "QUEUED",
185
+ statusUrl: `/api/studio/v1/jobs/job_mock_${Date.now()}`,
186
+ createdAt: new Date().toISOString(),
187
+ });
188
+ }
189
+ const path = input.apiSlug
190
+ ? `/api/studio/v1/audio/extract/${encodeURIComponent(input.apiSlug)}/jobs`
191
+ : `/api/studio/v1/audio/transcribe/jobs`;
192
+ return this.runMultipart({
193
+ path,
194
+ file: input.file,
195
+ fields: {
196
+ ...(input.language ? { language: input.language } : {}),
197
+ ...(input.speakerMode ? { speakerMode: input.speakerMode } : {}),
198
+ ...(input.inputs ? { inputs: JSON.stringify(input.inputs) } : {}),
199
+ ...(input.patientHash ? { patientHash: input.patientHash } : {}),
200
+ ...(input.recordedById ? { recordedById: input.recordedById } : {}),
201
+ ...(input.webhookUrl ? { webhookUrl: input.webhookUrl } : {}),
202
+ },
203
+ signal: input.signal,
204
+ idempotencyKey: input.idempotencyKey,
205
+ onProgress: input.onProgress,
206
+ });
207
+ },
208
+ /**
209
+ * Get the current state of a job. While QUEUED / PROCESSING,
210
+ * the response includes `workerProgress` (0-100). On COMPLETED,
211
+ * `resultTranscript` and `resultData` are populated.
212
+ */
213
+ get: (jobId, options = {}) => {
214
+ if (this._mock) {
215
+ return Promise.resolve({
216
+ id: jobId,
217
+ status: "COMPLETED",
218
+ apiId: null,
219
+ endpoint: "audio.extract",
220
+ workerProgress: 100,
221
+ audioSeconds: null,
222
+ totalTokens: null,
223
+ resultTranscript: "",
224
+ resultLanguage: null,
225
+ resultData: null,
226
+ errorCode: null,
227
+ errorMessage: null,
228
+ createdAt: new Date().toISOString(),
229
+ startedAt: new Date().toISOString(),
230
+ completedAt: new Date().toISOString(),
231
+ webhookUrl: null,
232
+ });
233
+ }
234
+ return this.requestJson("GET", `/api/studio/v1/jobs/${encodeURIComponent(jobId)}`, undefined, { signal: options.signal });
235
+ },
236
+ /**
237
+ * Best-effort cancel. QUEUED → CANCELLED immediately.
238
+ * PROCESSING jobs may complete if past phase checkpoints — the
239
+ * actual final state is in the returned record.
240
+ */
241
+ cancel: (jobId, options = {}) => {
242
+ if (this._mock) {
243
+ return Promise.resolve({
244
+ id: jobId,
245
+ status: "CANCELLED",
246
+ apiId: null,
247
+ endpoint: "audio.extract",
248
+ workerProgress: 0,
249
+ audioSeconds: null,
250
+ totalTokens: null,
251
+ resultTranscript: null,
252
+ resultLanguage: null,
253
+ resultData: null,
254
+ errorCode: null,
255
+ errorMessage: null,
256
+ createdAt: new Date().toISOString(),
257
+ startedAt: null,
258
+ completedAt: new Date().toISOString(),
259
+ webhookUrl: null,
260
+ });
261
+ }
262
+ return this.requestJson("POST", `/api/studio/v1/jobs/${encodeURIComponent(jobId)}/cancel`, undefined, { signal: options.signal });
263
+ },
264
+ /**
265
+ * Poll until the job reaches a terminal state. Convenience
266
+ * wrapper around `get()` — handles backoff, max-wait, abort
267
+ * propagation. Throws OHMAbortError on signal cancel.
268
+ *
269
+ * Returns the FINAL JobDetail (may be COMPLETED, FAILED, or
270
+ * CANCELLED — caller checks status). Never returns mid-state.
271
+ */
272
+ poll: async (jobId, options = {}) => {
273
+ const intervalMs = options.intervalMs ?? 2000;
274
+ const maxWaitMs = options.maxWaitMs ?? 15 * 60_000;
275
+ const start = Date.now();
276
+ // eslint-disable-next-line no-constant-condition
277
+ while (true) {
278
+ if (options.signal?.aborted)
279
+ throw new OHMAbortError();
280
+ const job = await this.audio.jobs.get(jobId, {
281
+ signal: options.signal,
282
+ });
283
+ options.onProgress?.(job);
284
+ if (job.status === "COMPLETED" ||
285
+ job.status === "FAILED" ||
286
+ job.status === "CANCELLED") {
287
+ return job;
288
+ }
289
+ if (Date.now() - start > maxWaitMs) {
290
+ throw new OHMServerError({
291
+ message: `Job ${jobId} did not reach terminal state within ${maxWaitMs}ms`,
292
+ status: 0,
293
+ });
294
+ }
295
+ await new Promise((r) => setTimeout(r, intervalMs));
296
+ }
297
+ },
298
+ },
299
+ /**
300
+ * Submit-and-await convenience: enqueue an async job, poll until
301
+ * complete, return the final JobDetail. Combines `jobs.create` +
302
+ * `jobs.poll` for callers who want a one-line "fire and wait"
303
+ * API. For long audio + flaky networks, prefer using `jobs.create`
304
+ * + a webhook so the client doesn't have to stay alive.
305
+ */
306
+ extractAsync: async (input) => {
307
+ const created = await this.audio.jobs.create(input);
308
+ return this.audio.jobs.poll(created.jobId, input);
309
+ },
144
310
  };
145
311
  /**
146
312
  * Text → structured JSON. Use this when you already have a transcript
@@ -177,7 +343,15 @@ export class OHMCoreClient {
177
343
  text: input.text,
178
344
  inputs: input.inputs,
179
345
  includeInsights: input.includeInsights,
180
- }, { signal: input.signal });
346
+ // Audit fields recorded on the server's StudioInvocation
347
+ // row. Each is opt-in; the server treats absent fields as
348
+ // "not provided", never falls back to a default.
349
+ ...(input.patientHash ? { patientHash: input.patientHash } : {}),
350
+ ...(input.recordedById ? { recordedById: input.recordedById } : {}),
351
+ }, {
352
+ signal: input.signal,
353
+ idempotencyKey: input.idempotencyKey,
354
+ });
181
355
  }
182
356
  /**
183
357
  * One-line convenience: pass a transcript, get back the data field.
@@ -240,7 +414,12 @@ export class OHMCoreClient {
240
414
  return this.requestJson("POST", `/api/studio/v1/insights/${encodeURIComponent(input.apiSlug)}`, {
241
415
  transcript: input.transcript,
242
416
  priorNoteSummary: input.priorNoteSummary,
243
- }, { signal: input.signal });
417
+ ...(input.patientHash ? { patientHash: input.patientHash } : {}),
418
+ ...(input.recordedById ? { recordedById: input.recordedById } : {}),
419
+ }, {
420
+ signal: input.signal,
421
+ idempotencyKey: input.idempotencyKey,
422
+ });
244
423
  }
245
424
  /**
246
425
  * Discover the published Studio APIs available to the current
@@ -266,6 +445,68 @@ export class OHMCoreClient {
266
445
  const qs = status === "ALL" ? "" : `?status=${encodeURIComponent(status)}`;
267
446
  return this.requestJson("GET", `/api/studio/v1/apis${qs}`, undefined, { signal: options.signal });
268
447
  },
448
+ /**
449
+ * Fetch full schema detail for one published API. Useful for
450
+ * dynamic playground / preview UIs that need to render the
451
+ * field structure at runtime, or for build pipelines that want
452
+ * the system prompt + inputs without going through the CLI.
453
+ *
454
+ * @example
455
+ * const api = await ohm.apis.get("opd-clinic");
456
+ * console.log(api.publishedSchema, api.publishedSystemPrompt);
457
+ */
458
+ get: async (slug, options = {}) => {
459
+ if (this._mock) {
460
+ return {
461
+ slug,
462
+ name: slug,
463
+ status: "PUBLISHED",
464
+ version: 1,
465
+ };
466
+ }
467
+ const qs = options.includeArchived ? "?includeArchived=true" : "";
468
+ return this.requestJson("GET", `/api/studio/v1/apis/by-slug/${encodeURIComponent(slug)}${qs}`, undefined, { signal: options.signal });
469
+ },
470
+ };
471
+ /**
472
+ * Patient-level audit search — "every extraction touching this
473
+ * patient in the last N days". Backed by `GET /api/studio/v1/
474
+ * invocations?patientHash=...`. The hospital sends a hash of its
475
+ * patient identifier (ABHA / MRN / IPD) — OHM never sees the raw
476
+ * value. Returns a slim metadata-only view; transcripts and
477
+ * extracted JSON are NEVER returned via this surface.
478
+ *
479
+ * Auth: works under either an API key (project-scoped) or a Studio
480
+ * JWT (organisation-wide). Compliance-critical surface — the
481
+ * caller is expected to enforce role checks before exposing this
482
+ * to end users.
483
+ *
484
+ * @example
485
+ * const audit = await ohm.invocations.searchByPatient({
486
+ * patientHash: sha256(`abha:${patient.abhaId}`),
487
+ * sinceDays: 30,
488
+ * });
489
+ * audit.invocations.forEach((row) => {
490
+ * console.log(row.endpoint, row.recordedById, row.createdAt);
491
+ * });
492
+ */
493
+ invocations = {
494
+ searchByPatient: async (options) => {
495
+ if (this._mock) {
496
+ return {
497
+ patientHash: options.patientHash,
498
+ sinceDays: options.sinceDays ?? 90,
499
+ total: 0,
500
+ invocations: [],
501
+ };
502
+ }
503
+ const params = new URLSearchParams({ patientHash: options.patientHash });
504
+ if (options.sinceDays != null)
505
+ params.set("sinceDays", String(options.sinceDays));
506
+ if (options.limit != null)
507
+ params.set("limit", String(options.limit));
508
+ return this.requestJson("GET", `/api/studio/v1/invocations?${params.toString()}`, undefined, { signal: options.signal });
509
+ },
269
510
  };
270
511
  // ─── HTTP plumbing ───────────────────────────────────────────────────────
271
512
  async requestJson(method, path, body, options) {
@@ -296,7 +537,10 @@ export class OHMCoreClient {
296
537
  headers.Authorization = `Bearer ${this.apiKey}`;
297
538
  else if (this.jwt)
298
539
  headers.Authorization = `Bearer ${this.jwt}`;
299
- headers["X-OHM-Client"] = "@ohm_studio/sdk-core@0.4.0";
540
+ headers["X-OHM-Client"] = "@ohm_studio/sdk-core@0.6.0";
541
+ if (opts.idempotencyKey) {
542
+ headers["Idempotency-Key"] = opts.idempotencyKey;
543
+ }
300
544
  const body = (await this.buildMultipartBody(opts.file, opts.fields));
301
545
  let res;
302
546
  try {
@@ -377,7 +621,12 @@ export class OHMCoreClient {
377
621
  else if (this.jwt)
378
622
  headers.set("Authorization", `Bearer ${this.jwt}`);
379
623
  if (!headers.has("X-OHM-Client")) {
380
- headers.set("X-OHM-Client", "@ohm_studio/sdk-core@0.4.0");
624
+ headers.set("X-OHM-Client", "@ohm_studio/sdk-core@0.6.0");
625
+ }
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);
381
630
  }
382
631
  // Caller-supplied signal short-circuits before any work is started —
383
632
  // matches DOM fetch() semantics and avoids burning a retry on an
@@ -432,11 +681,7 @@ export class OHMCoreClient {
432
681
  // If the caller cancelled, surface that immediately — don't
433
682
  // burn retries on a request the user no longer wants.
434
683
  if (options?.signal?.aborted) {
435
- throw new OHMError({
436
- code: "aborted",
437
- message: "Request aborted by caller",
438
- status: 0,
439
- });
684
+ throw new OHMAbortError();
440
685
  }
441
686
  lastError = err;
442
687
  if (attempt < this.maxRetries) {
@@ -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/index.d.ts CHANGED
@@ -12,4 +12,5 @@ export * from "./errors";
12
12
  export * from "./client";
13
13
  export * from "./retry";
14
14
  export * from "./languages";
15
+ export * from "./phi";
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC"}
package/dist/index.js CHANGED
@@ -12,4 +12,5 @@ export * from "./errors";
12
12
  export * from "./client";
13
13
  export * from "./retry";
14
14
  export * from "./languages";
15
+ export * from "./phi";
15
16
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC"}
package/dist/phi.d.ts ADDED
@@ -0,0 +1,23 @@
1
+ /**
2
+ * PHI helpers — used when an API has `redactPHI: true` configured in
3
+ * Studio. The server replaces patient identifiers with typed tokens
4
+ * before extraction; the response carries the tokens. Customers who
5
+ * need the original strings restore them client-side via this helper.
6
+ *
7
+ * const { data, phiTokenMap } = await ohm.extract<MyData>({ apiSlug, text });
8
+ * const restored = restoreTokens(data, phiTokenMap ?? {});
9
+ * // restored.patientName: "Mr Rajesh" (was "[PATIENT_1]" in `data`)
10
+ */
11
+ /**
12
+ * Walk a JSON value and replace any string field that EXACTLY equals
13
+ * a key of `tokenMap` with the corresponding original string. Pure —
14
+ * never mutates the input. Conservative — only swaps full-string
15
+ * matches, never partial substring replacements (avoids accidentally
16
+ * mangling a clinical note that happens to contain the token text).
17
+ *
18
+ * Use this AFTER the server extraction returns. The token-map only
19
+ * exists when `redactPHI` was on; otherwise this function is a no-op
20
+ * deep clone.
21
+ */
22
+ export declare function restoreTokens<T>(data: T, tokenMap: Record<string, string>): T;
23
+ //# sourceMappingURL=phi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phi.d.ts","sourceRoot":"","sources":["../src/phi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAqB7E"}
package/dist/phi.js ADDED
@@ -0,0 +1,46 @@
1
+ /**
2
+ * PHI helpers — used when an API has `redactPHI: true` configured in
3
+ * Studio. The server replaces patient identifiers with typed tokens
4
+ * before extraction; the response carries the tokens. Customers who
5
+ * need the original strings restore them client-side via this helper.
6
+ *
7
+ * const { data, phiTokenMap } = await ohm.extract<MyData>({ apiSlug, text });
8
+ * const restored = restoreTokens(data, phiTokenMap ?? {});
9
+ * // restored.patientName: "Mr Rajesh" (was "[PATIENT_1]" in `data`)
10
+ */
11
+ /**
12
+ * Walk a JSON value and replace any string field that EXACTLY equals
13
+ * a key of `tokenMap` with the corresponding original string. Pure —
14
+ * never mutates the input. Conservative — only swaps full-string
15
+ * matches, never partial substring replacements (avoids accidentally
16
+ * mangling a clinical note that happens to contain the token text).
17
+ *
18
+ * Use this AFTER the server extraction returns. The token-map only
19
+ * exists when `redactPHI` was on; otherwise this function is a no-op
20
+ * deep clone.
21
+ */
22
+ export function restoreTokens(data, tokenMap) {
23
+ if (data == null || typeof data !== "object") {
24
+ if (typeof data === "string" && data in tokenMap) {
25
+ return tokenMap[data];
26
+ }
27
+ return data;
28
+ }
29
+ if (Array.isArray(data)) {
30
+ return data.map((v) => restoreTokens(v, tokenMap));
31
+ }
32
+ const out = {};
33
+ for (const [k, v] of Object.entries(data)) {
34
+ if (typeof v === "string" && v in tokenMap) {
35
+ out[k] = tokenMap[v];
36
+ }
37
+ else if (v && typeof v === "object") {
38
+ out[k] = restoreTokens(v, tokenMap);
39
+ }
40
+ else {
41
+ out[k] = v;
42
+ }
43
+ }
44
+ return out;
45
+ }
46
+ //# sourceMappingURL=phi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phi.js","sourceRoot":"","sources":["../src/phi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAAI,IAAO,EAAE,QAAgC;IACxE,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;YACjD,OAAO,QAAQ,CAAC,IAAI,CAAiB,CAAC;QACxC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAiB,CAAC;IACrE,CAAC;IACD,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAA+B,CAAC,EAAE,CAAC;QACrE,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC3C,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;aAAM,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACtC,GAAG,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,GAAQ,CAAC;AAClB,CAAC"}
package/dist/types.d.ts CHANGED
@@ -72,6 +72,13 @@ export interface UsageEvent {
72
72
  */
73
73
  export interface RequestOptions {
74
74
  signal?: AbortSignal;
75
+ /**
76
+ * Idempotency key for de-duplication. Send the same key on retry —
77
+ * the server replays the cached response if the key matches a prior
78
+ * call from the same org within 24 h. Stripe / Twilio convention.
79
+ * Sent as the `Idempotency-Key` HTTP header.
80
+ */
81
+ idempotencyKey?: string;
75
82
  }
76
83
  export interface UploadProgressEvent {
77
84
  /** Bytes uploaded so far. */
@@ -84,7 +91,30 @@ export interface UploadProgressEvent {
84
91
  export interface UploadOptions extends RequestOptions {
85
92
  onProgress?: (event: UploadProgressEvent) => void;
86
93
  }
87
- export interface ExtractInput extends RequestOptions {
94
+ /**
95
+ * Audit fields hospitals attach to every extraction. Stamped on the
96
+ * `StudioInvocation` row so the hospital can later answer "every
97
+ * extraction touching Patient X" or "every call recorded by user
98
+ * Y" — without OHM ever seeing raw PHI.
99
+ *
100
+ * - `patientHash` — opaque hash of the hospital's patient identifier
101
+ * (ABHA 14-digit ID, internal MRN, IPD number). Hash on the
102
+ * hospital side; OHM stores the hash only.
103
+ * - `recordedById` — verified user id from the hospital's session
104
+ * token. The hospital is the source of truth on identity.
105
+ *
106
+ * - `idempotencyKey` — a stable client-generated key (UUID v4 is
107
+ * fine). The same key in the same org within 24 h short-circuits
108
+ * to the cached response. Use for mobile retries to prevent
109
+ * duplicate chart entries. Sent as the `Idempotency-Key` HTTP
110
+ * header (Stripe / Twilio convention).
111
+ */
112
+ export interface AuditOptions {
113
+ patientHash?: string;
114
+ recordedById?: string;
115
+ idempotencyKey?: string;
116
+ }
117
+ export interface ExtractInput extends RequestOptions, AuditOptions {
88
118
  apiSlug: string;
89
119
  text: string;
90
120
  inputs?: Record<string, unknown>;
@@ -95,6 +125,13 @@ export interface ExtractResult<T = Record<string, unknown>> {
95
125
  apiSlug: string;
96
126
  version?: string;
97
127
  insights?: unknown;
128
+ /**
129
+ * Token → original-string map populated only when the API has
130
+ * `redactPHI: true` enabled. Pair with `restoreTokens(data, map)`
131
+ * to swap tokens like `[PATIENT_1]` back to the original string in
132
+ * any field that should keep the patient-facing identifier.
133
+ */
134
+ phiTokenMap?: Record<string, string>;
98
135
  }
99
136
  /**
100
137
  * Who is speaking on the recording. The two supported modes:
@@ -107,7 +144,7 @@ export interface ExtractResult<T = Record<string, unknown>> {
107
144
  * plan to the doctor. Use for full visit recordings.
108
145
  */
109
146
  export type SpeakerMode = "doctor" | "doctor_patient";
110
- export interface AudioTranscribeInput extends UploadOptions {
147
+ export interface AudioTranscribeInput extends UploadOptions, AuditOptions {
111
148
  /** Platform-specific file shape resolved by the wrapper. */
112
149
  file: any;
113
150
  language?: string;
@@ -137,7 +174,7 @@ export interface SummarizeInput extends RequestOptions {
137
174
  export interface SummarizeResult {
138
175
  summary: string;
139
176
  }
140
- export interface InsightsInput extends RequestOptions {
177
+ export interface InsightsInput extends RequestOptions, AuditOptions {
141
178
  apiSlug: string;
142
179
  transcript: string;
143
180
  priorNoteSummary?: string;
@@ -162,6 +199,117 @@ export interface ListApisOptions extends RequestOptions {
162
199
  /** Filter by status. Defaults to PUBLISHED only. */
163
200
  status?: "DRAFT" | "PUBLISHED" | "ARCHIVED" | "ALL";
164
201
  }
202
+ /**
203
+ * Full schema detail for one Studio API — fetched via
204
+ * `ohm.apis.get(slug)`. Contains the published schema + system prompt
205
+ * + inputs the customer's app may need at runtime (e.g. dynamic
206
+ * playground UIs, server-side schema validation).
207
+ */
208
+ export interface ApiDetail extends ApiSummary {
209
+ description?: string;
210
+ schema?: unknown;
211
+ systemPrompt?: string;
212
+ inputs?: unknown;
213
+ publishedSchema?: unknown;
214
+ publishedSystemPrompt?: string;
215
+ publishedInputs?: unknown;
216
+ publishedAt?: string;
217
+ }
218
+ export interface GetApiOptions extends RequestOptions {
219
+ /** Include archived APIs in the lookup. Default false. */
220
+ includeArchived?: boolean;
221
+ }
222
+ /**
223
+ * Slim invocation row from `ohm.invocations.searchByPatient(...)` —
224
+ * suitable for audit dashboards. The full transcript / extracted
225
+ * JSON is NEVER returned via this surface for compliance reasons;
226
+ * only metadata (timing, tokens, recordedById, status, audio seconds).
227
+ */
228
+ export interface InvocationSummary {
229
+ id: string;
230
+ apiId: string | null;
231
+ endpoint: string;
232
+ status: string;
233
+ latencyMs: number;
234
+ audioSeconds: number | null;
235
+ totalTokens: number | null;
236
+ recordedById: string | null;
237
+ createdAt: string;
238
+ }
239
+ export interface SearchInvocationsByPatientOptions extends RequestOptions {
240
+ patientHash: string;
241
+ /** How many days back to search. Default 90 (server-capped). */
242
+ sinceDays?: number;
243
+ /** Max rows. Default 100, capped at 500 server-side. */
244
+ limit?: number;
245
+ }
246
+ export interface SearchInvocationsByPatientResult {
247
+ patientHash: string;
248
+ sinceDays: number;
249
+ total: number;
250
+ invocations: InvocationSummary[];
251
+ }
252
+ /**
253
+ * ─────────────────────────────────────────────────────────────────────
254
+ * Async-extraction jobs — the alternative to sync / streaming extract
255
+ * ─────────────────────────────────────────────────────────────────────
256
+ *
257
+ * For long recordings (>30 min), mobile-background workflows, and
258
+ * bulk-replay jobs where holding an HTTP connection open isn't viable.
259
+ *
260
+ * Lifecycle: QUEUED → PROCESSING → COMPLETED | FAILED | CANCELLED.
261
+ * Customer either polls `ohm.audio.jobs.get(jobId)` or wires a webhook
262
+ * callback. Both work; both can be used together.
263
+ */
264
+ export type StudioJobStatus = "QUEUED" | "PROCESSING" | "COMPLETED" | "FAILED" | "CANCELLED";
265
+ export interface CreateAudioJobInput extends UploadOptions, AuditOptions {
266
+ apiSlug?: string;
267
+ /** Platform-specific file shape resolved by the wrapper. */
268
+ file: any;
269
+ language?: string;
270
+ speakerMode?: SpeakerMode;
271
+ inputs?: Record<string, unknown>;
272
+ /**
273
+ * If provided, the server will POST a signed callback to this URL
274
+ * when the job reaches a terminal state. HMAC-SHA256 signed; verify
275
+ * with the per-job `webhookSecret` returned on creation. Stripe-style
276
+ * retry schedule on 4xx / 5xx (5min → 30min → 2h → 5h → 10h → 24h).
277
+ */
278
+ webhookUrl?: string;
279
+ }
280
+ export interface CreateAudioJobResult {
281
+ jobId: string;
282
+ status: StudioJobStatus;
283
+ statusUrl: string;
284
+ webhookUrl?: string;
285
+ createdAt: string;
286
+ }
287
+ export interface JobDetail<T = Record<string, unknown>> {
288
+ id: string;
289
+ status: StudioJobStatus;
290
+ apiId: string | null;
291
+ endpoint: string;
292
+ workerProgress: number;
293
+ audioSeconds: number | null;
294
+ totalTokens: number | null;
295
+ resultTranscript: string | null;
296
+ resultLanguage: string | null;
297
+ resultData: T | null;
298
+ errorCode: string | null;
299
+ errorMessage: string | null;
300
+ createdAt: string;
301
+ startedAt: string | null;
302
+ completedAt: string | null;
303
+ webhookUrl: string | null;
304
+ }
305
+ export interface PollJobOptions extends RequestOptions {
306
+ /** Polling interval (ms). Default 2000. */
307
+ intervalMs?: number;
308
+ /** Cap total wait time (ms). Default 15 min. */
309
+ maxWaitMs?: number;
310
+ /** Called with progress updates (status + workerProgress) on every poll. */
311
+ onProgress?: (snapshot: JobDetail) => void;
312
+ }
165
313
  /**
166
314
  * Streaming chunk emitted by `ohm.audio.extract.stream(...)`.
167
315
  * Server emits, in order:
@@ -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.4.0",
3
+ "version": "0.6.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": [