@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 +97 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +254 -9
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/phi.d.ts +23 -0
- package/dist/phi.d.ts.map +1 -0
- package/dist/phi.js +46 -0
- package/dist/phi.js.map +1 -0
- package/dist/types.d.ts +151 -3
- 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 { 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
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,OAAO,EACP,cAAc,EACd,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;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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
|
|
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) {
|
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/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -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
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
|
package/dist/phi.js.map
ADDED
|
@@ -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
|
-
|
|
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:
|
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;
|
|
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.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": [
|