@tryhakim/voice 1.0.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/LICENSE +21 -0
- package/README.md +188 -0
- package/dist/audio/speech-stream-ws.d.ts +40 -0
- package/dist/audio/speech-stream-ws.d.ts.map +1 -0
- package/dist/audio/speech-stream-ws.js +565 -0
- package/dist/audio/speech-stream-ws.js.map +1 -0
- package/dist/audio/speech.d.ts +46 -0
- package/dist/audio/speech.d.ts.map +1 -0
- package/dist/audio/speech.js +125 -0
- package/dist/audio/speech.js.map +1 -0
- package/dist/audio/stream.d.ts +38 -0
- package/dist/audio/stream.d.ts.map +1 -0
- package/dist/audio/stream.js +452 -0
- package/dist/audio/stream.js.map +1 -0
- package/dist/audio/to-blob.d.ts +10 -0
- package/dist/audio/to-blob.d.ts.map +1 -0
- package/dist/audio/to-blob.js +78 -0
- package/dist/audio/to-blob.js.map +1 -0
- package/dist/audio/transcriptions.d.ts +35 -0
- package/dist/audio/transcriptions.d.ts.map +1 -0
- package/dist/audio/transcriptions.js +105 -0
- package/dist/audio/transcriptions.js.map +1 -0
- package/dist/audio/translate-stream-ws.d.ts +37 -0
- package/dist/audio/translate-stream-ws.d.ts.map +1 -0
- package/dist/audio/translate-stream-ws.js +665 -0
- package/dist/audio/translate-stream-ws.js.map +1 -0
- package/dist/audio/translate.d.ts +36 -0
- package/dist/audio/translate.d.ts.map +1 -0
- package/dist/audio/translate.js +39 -0
- package/dist/audio/translate.js.map +1 -0
- package/dist/audio/voices.d.ts +47 -0
- package/dist/audio/voices.d.ts.map +1 -0
- package/dist/audio/voices.js +91 -0
- package/dist/audio/voices.js.map +1 -0
- package/dist/chat/completions.d.ts +76 -0
- package/dist/chat/completions.d.ts.map +1 -0
- package/dist/chat/completions.js +114 -0
- package/dist/chat/completions.js.map +1 -0
- package/dist/chat/index.d.ts +2 -0
- package/dist/chat/index.d.ts.map +1 -0
- package/dist/chat/index.js +2 -0
- package/dist/chat/index.js.map +1 -0
- package/dist/chat/sse.d.ts +12 -0
- package/dist/chat/sse.d.ts.map +1 -0
- package/dist/chat/sse.js +142 -0
- package/dist/chat/sse.js.map +1 -0
- package/dist/client.d.ts +63 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +80 -0
- package/dist/client.js.map +1 -0
- package/dist/errors.d.ts +99 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +158 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/jobs.d.ts +34 -0
- package/dist/jobs.d.ts.map +1 -0
- package/dist/jobs.js +62 -0
- package/dist/jobs.js.map +1 -0
- package/dist/observability.d.ts +28 -0
- package/dist/observability.d.ts.map +1 -0
- package/dist/observability.js +107 -0
- package/dist/observability.js.map +1 -0
- package/dist/settings.d.ts +49 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +84 -0
- package/dist/settings.js.map +1 -0
- package/dist/transport.d.ts +82 -0
- package/dist/transport.d.ts.map +1 -0
- package/dist/transport.js +289 -0
- package/dist/transport.js.map +1 -0
- package/dist/types.d.ts +969 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +11 -0
- package/dist/types.js.map +1 -0
- package/dist/usage.d.ts +43 -0
- package/dist/usage.d.ts.map +1 -0
- package/dist/usage.js +85 -0
- package/dist/usage.js.map +1 -0
- package/dist/version.d.ts +13 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +13 -0
- package/dist/version.js.map +1 -0
- package/dist/webhooks.d.ts +84 -0
- package/dist/webhooks.d.ts.map +1 -0
- package/dist/webhooks.js +157 -0
- package/dist/webhooks.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translate-stream-ws.js","sourceRoot":"","sources":["../../src/audio/translate-stream-ws.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `audio.translate` — realtime speech translation (STT → LLM → TTS)
|
|
3
|
+
* over a single WebSocket session (`WSS /v1/audio/translate/stream`).
|
|
4
|
+
*
|
|
5
|
+
* Only entry point is `streamWs()` — the surface is realtime by
|
|
6
|
+
* design. The companion HTTP path is intentionally not exposed: a
|
|
7
|
+
* batch translate flow is recoverable from existing `audio.speech` +
|
|
8
|
+
* `audio.transcriptions` + `chat.completions` chains, while the
|
|
9
|
+
* realtime pipeline relies on the proxy's three-upstream
|
|
10
|
+
* orchestration.
|
|
11
|
+
*/
|
|
12
|
+
import type { Transport } from '../transport.js';
|
|
13
|
+
import type { TranslateStreamHandle, TranslateStreamOptions } from '../types.js';
|
|
14
|
+
export declare class TranslateAPI {
|
|
15
|
+
private readonly transport;
|
|
16
|
+
constructor(transport: Transport);
|
|
17
|
+
/** Open a realtime translate session.
|
|
18
|
+
*
|
|
19
|
+
* Returns a `TranslateStreamHandle`. The minimum viable session is:
|
|
20
|
+
*
|
|
21
|
+
* const session = hakim.audio.translate.streamWs({
|
|
22
|
+
* target_language: 'en',
|
|
23
|
+
* });
|
|
24
|
+
* micCapture.on('pcm', (chunk) => session.sendAudio(chunk));
|
|
25
|
+
* for await (const ev of session.events) {
|
|
26
|
+
* if (ev.type === 'translation.done') console.log(ev.text);
|
|
27
|
+
* if (ev.type === 'speech.audio') speaker.write(ev.chunk);
|
|
28
|
+
* }
|
|
29
|
+
* await session.close();
|
|
30
|
+
*
|
|
31
|
+
* The voice for the synthesised target is auto-resolved on the
|
|
32
|
+
* server from `(target_language, gender)`; supply `voice` to
|
|
33
|
+
* override. */
|
|
34
|
+
streamWs(opts?: TranslateStreamOptions): TranslateStreamHandle;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=translate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translate.d.ts","sourceRoot":"","sources":["../../src/audio/translate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAGjF,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAEjD;;;;;;;;;;;;;;;;oBAgBgB;IAChB,QAAQ,CAAC,IAAI,GAAE,sBAA2B,GAAG,qBAAqB;CAGnE"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `audio.translate` — realtime speech translation (STT → LLM → TTS)
|
|
3
|
+
* over a single WebSocket session (`WSS /v1/audio/translate/stream`).
|
|
4
|
+
*
|
|
5
|
+
* Only entry point is `streamWs()` — the surface is realtime by
|
|
6
|
+
* design. The companion HTTP path is intentionally not exposed: a
|
|
7
|
+
* batch translate flow is recoverable from existing `audio.speech` +
|
|
8
|
+
* `audio.transcriptions` + `chat.completions` chains, while the
|
|
9
|
+
* realtime pipeline relies on the proxy's three-upstream
|
|
10
|
+
* orchestration.
|
|
11
|
+
*/
|
|
12
|
+
import { openTranslateStream } from './translate-stream-ws.js';
|
|
13
|
+
export class TranslateAPI {
|
|
14
|
+
transport;
|
|
15
|
+
constructor(transport) {
|
|
16
|
+
this.transport = transport;
|
|
17
|
+
}
|
|
18
|
+
/** Open a realtime translate session.
|
|
19
|
+
*
|
|
20
|
+
* Returns a `TranslateStreamHandle`. The minimum viable session is:
|
|
21
|
+
*
|
|
22
|
+
* const session = hakim.audio.translate.streamWs({
|
|
23
|
+
* target_language: 'en',
|
|
24
|
+
* });
|
|
25
|
+
* micCapture.on('pcm', (chunk) => session.sendAudio(chunk));
|
|
26
|
+
* for await (const ev of session.events) {
|
|
27
|
+
* if (ev.type === 'translation.done') console.log(ev.text);
|
|
28
|
+
* if (ev.type === 'speech.audio') speaker.write(ev.chunk);
|
|
29
|
+
* }
|
|
30
|
+
* await session.close();
|
|
31
|
+
*
|
|
32
|
+
* The voice for the synthesised target is auto-resolved on the
|
|
33
|
+
* server from `(target_language, gender)`; supply `voice` to
|
|
34
|
+
* override. */
|
|
35
|
+
streamWs(opts = {}) {
|
|
36
|
+
return openTranslateStream(this.transport, opts);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=translate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translate.js","sourceRoot":"","sources":["../../src/audio/translate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,OAAO,YAAY;IACM;IAA7B,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD;;;;;;;;;;;;;;;;oBAgBgB;IAChB,QAAQ,CAAC,OAA+B,EAAE;QACxC,OAAO,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;CACF"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `audio.voices` — list + create + retrieve + delete.
|
|
3
|
+
*
|
|
4
|
+
* GET /v1/audio/voices → list presets + cloned voices
|
|
5
|
+
* POST /v1/audio/voices → create (clone) a new voice
|
|
6
|
+
* GET /v1/audio/voices/:id → fetch one (fresh preview URL)
|
|
7
|
+
* DELETE /v1/audio/voices/:id → soft-delete a cloned voice
|
|
8
|
+
*
|
|
9
|
+
* Cloned voices return `status: 'processing'` immediately; the server
|
|
10
|
+
* runs the clone pipeline async and flips the row to `ready` (or
|
|
11
|
+
* `failed`) later. Callers should poll `retrieve(id)` or subscribe to
|
|
12
|
+
* `voice.ready` / `voice.failed` webhooks instead of busy-polling.
|
|
13
|
+
*/
|
|
14
|
+
import type { Transport } from '../transport.js';
|
|
15
|
+
import type { Voice, VoiceCreateRequest, VoicesListQuery, VoicesListResponse } from '../types.js';
|
|
16
|
+
export declare class VoicesAPI {
|
|
17
|
+
private readonly transport;
|
|
18
|
+
constructor(transport: Transport);
|
|
19
|
+
list(query?: VoicesListQuery, opts?: {
|
|
20
|
+
signal?: AbortSignal;
|
|
21
|
+
}): Promise<VoicesListResponse>;
|
|
22
|
+
/** Convenience: iterate every voice (presets first, then clones).
|
|
23
|
+
* Today the server returns the full set in one page, so this just
|
|
24
|
+
* wraps `list()`. When pagination lands this method absorbs it. */
|
|
25
|
+
iter(query?: VoicesListQuery, opts?: {
|
|
26
|
+
signal?: AbortSignal;
|
|
27
|
+
}): AsyncIterable<Voice>;
|
|
28
|
+
/** Clone a voice. Returns the Voice row in `status: 'processing'`;
|
|
29
|
+
* poll `retrieve(id)` or listen for a `voice.ready` webhook to
|
|
30
|
+
* learn when the clone is usable. */
|
|
31
|
+
create(request: VoiceCreateRequest, opts?: {
|
|
32
|
+
idempotencyKey?: string;
|
|
33
|
+
signal?: AbortSignal;
|
|
34
|
+
}): Promise<Voice>;
|
|
35
|
+
retrieve(id: string, opts?: {
|
|
36
|
+
signal?: AbortSignal;
|
|
37
|
+
}): Promise<Voice>;
|
|
38
|
+
delete(id: string, opts?: {
|
|
39
|
+
idempotencyKey?: string;
|
|
40
|
+
signal?: AbortSignal;
|
|
41
|
+
}): Promise<{
|
|
42
|
+
object: 'voice';
|
|
43
|
+
id: string;
|
|
44
|
+
deleted: true;
|
|
45
|
+
}>;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=voices.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voices.d.ts","sourceRoot":"","sources":["../../src/audio/voices.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGlG,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAE3C,IAAI,CACR,KAAK,GAAE,eAAoB,EAC3B,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GAClC,OAAO,CAAC,kBAAkB,CAAC;IAW9B;;wEAEoE;IAC7D,IAAI,CACT,KAAK,GAAE,eAAoB,EAC3B,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GAClC,aAAa,CAAC,KAAK,CAAC;IAKvB;;0CAEsC;IAChC,MAAM,CACV,OAAO,EAAE,kBAAkB,EAC3B,IAAI,GAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GAC3D,OAAO,CAAC,KAAK,CAAC;IAyBX,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GAAG,OAAO,CAAC,KAAK,CAAC;IASzE,MAAM,CACV,EAAE,EAAE,MAAM,EACV,IAAI,GAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GAC3D,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;CAS3D"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `audio.voices` — list + create + retrieve + delete.
|
|
3
|
+
*
|
|
4
|
+
* GET /v1/audio/voices → list presets + cloned voices
|
|
5
|
+
* POST /v1/audio/voices → create (clone) a new voice
|
|
6
|
+
* GET /v1/audio/voices/:id → fetch one (fresh preview URL)
|
|
7
|
+
* DELETE /v1/audio/voices/:id → soft-delete a cloned voice
|
|
8
|
+
*
|
|
9
|
+
* Cloned voices return `status: 'processing'` immediately; the server
|
|
10
|
+
* runs the clone pipeline async and flips the row to `ready` (or
|
|
11
|
+
* `failed`) later. Callers should poll `retrieve(id)` or subscribe to
|
|
12
|
+
* `voice.ready` / `voice.failed` webhooks instead of busy-polling.
|
|
13
|
+
*/
|
|
14
|
+
import { audioInputToBlob } from './to-blob.js';
|
|
15
|
+
export class VoicesAPI {
|
|
16
|
+
transport;
|
|
17
|
+
constructor(transport) {
|
|
18
|
+
this.transport = transport;
|
|
19
|
+
}
|
|
20
|
+
async list(query = {}, opts = {}) {
|
|
21
|
+
const res = await this.transport.request({
|
|
22
|
+
method: 'GET',
|
|
23
|
+
path: '/v1/audio/voices',
|
|
24
|
+
query: toQueryParams(query),
|
|
25
|
+
...(opts.signal !== undefined ? { signal: opts.signal } : {}),
|
|
26
|
+
});
|
|
27
|
+
const body = (await res.json());
|
|
28
|
+
return body;
|
|
29
|
+
}
|
|
30
|
+
/** Convenience: iterate every voice (presets first, then clones).
|
|
31
|
+
* Today the server returns the full set in one page, so this just
|
|
32
|
+
* wraps `list()`. When pagination lands this method absorbs it. */
|
|
33
|
+
async *iter(query = {}, opts = {}) {
|
|
34
|
+
const { data } = await this.list(query, opts);
|
|
35
|
+
for (const v of data)
|
|
36
|
+
yield v;
|
|
37
|
+
}
|
|
38
|
+
/** Clone a voice. Returns the Voice row in `status: 'processing'`;
|
|
39
|
+
* poll `retrieve(id)` or listen for a `voice.ready` webhook to
|
|
40
|
+
* learn when the clone is usable. */
|
|
41
|
+
async create(request, opts = {}) {
|
|
42
|
+
const filename = request.filename ?? 'sample.bin';
|
|
43
|
+
const blob = await audioInputToBlob(request.sample, filename);
|
|
44
|
+
const form = new FormData();
|
|
45
|
+
form.append('file', blob, filename);
|
|
46
|
+
form.append('name', request.name);
|
|
47
|
+
if (request.description !== undefined) {
|
|
48
|
+
form.append('description', request.description);
|
|
49
|
+
}
|
|
50
|
+
form.append('language', request.language);
|
|
51
|
+
form.append('consent_confirmed', 'true');
|
|
52
|
+
const res = await this.transport.request({
|
|
53
|
+
method: 'POST',
|
|
54
|
+
path: '/v1/audio/voices',
|
|
55
|
+
formData: form,
|
|
56
|
+
accept: 'application/json',
|
|
57
|
+
headers: { accept: 'application/json' },
|
|
58
|
+
...(opts.idempotencyKey !== undefined ? { idempotencyKey: opts.idempotencyKey } : {}),
|
|
59
|
+
...(opts.signal !== undefined ? { signal: opts.signal } : {}),
|
|
60
|
+
});
|
|
61
|
+
return (await res.json());
|
|
62
|
+
}
|
|
63
|
+
async retrieve(id, opts = {}) {
|
|
64
|
+
const res = await this.transport.request({
|
|
65
|
+
method: 'GET',
|
|
66
|
+
path: `/v1/audio/voices/${encodeURIComponent(id)}`,
|
|
67
|
+
...(opts.signal !== undefined ? { signal: opts.signal } : {}),
|
|
68
|
+
});
|
|
69
|
+
return (await res.json());
|
|
70
|
+
}
|
|
71
|
+
async delete(id, opts = {}) {
|
|
72
|
+
const res = await this.transport.request({
|
|
73
|
+
method: 'DELETE',
|
|
74
|
+
path: `/v1/audio/voices/${encodeURIComponent(id)}`,
|
|
75
|
+
...(opts.idempotencyKey !== undefined ? { idempotencyKey: opts.idempotencyKey } : {}),
|
|
76
|
+
...(opts.signal !== undefined ? { signal: opts.signal } : {}),
|
|
77
|
+
});
|
|
78
|
+
return (await res.json());
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
function toQueryParams(q) {
|
|
82
|
+
const out = {};
|
|
83
|
+
if (q.language !== undefined)
|
|
84
|
+
out.language = q.language;
|
|
85
|
+
if (q.gender !== undefined)
|
|
86
|
+
out.gender = q.gender;
|
|
87
|
+
if (q.kind !== undefined)
|
|
88
|
+
out.kind = q.kind;
|
|
89
|
+
return out;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=voices.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voices.js","sourceRoot":"","sources":["../../src/audio/voices.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `chat.completions` — POST /v1/chat/completions.
|
|
3
|
+
*
|
|
4
|
+
* Two entry points, mirroring `audio.speech`:
|
|
5
|
+
*
|
|
6
|
+
* - `create(request)` — buffers the full response and returns a
|
|
7
|
+
* `ChatCompletionResponse` with usage block + decoded
|
|
8
|
+
* observability headers. Forces `stream: false` regardless of
|
|
9
|
+
* what the caller passed, so a stale flag in a saved request
|
|
10
|
+
* can't drag a buffered call into SSE mode.
|
|
11
|
+
*
|
|
12
|
+
* - `stream(request)` — returns an `AsyncIterable<ChatCompletionChunk>`
|
|
13
|
+
* plus the upfront observability headers (kind / unit-type /
|
|
14
|
+
* model / plan / period / credits). The final per-request usage
|
|
15
|
+
* numbers (`credits`, `cost_usd`, `units`) ride the terminal
|
|
16
|
+
* SSE chunk's `usage` block — OpenAI convention — and are not
|
|
17
|
+
* emitted as headers since `reply.hijack()` already flushed
|
|
18
|
+
* the response head before they're known.
|
|
19
|
+
*
|
|
20
|
+
* Reasoning policy: off by default, opt-in for
|
|
21
|
+
* non-stream via `reasoning: { enabled: true }`, and forbidden for
|
|
22
|
+
* streaming. The route rejects the stream-with-reasoning combo at
|
|
23
|
+
* the schema layer with a 400 — we do not pre-validate here so
|
|
24
|
+
* the server stays the single source of truth.
|
|
25
|
+
*/
|
|
26
|
+
import type { Transport } from '../transport.js';
|
|
27
|
+
import type { ChatCompletionChunk, ChatCompletionRequest, ChatCompletionResponse } from '../types.js';
|
|
28
|
+
import type { ResponseMeta, SpeechResponseLimits, UsageBlock } from '../types.js';
|
|
29
|
+
/** Returned by `chat.completions.create`. The shape extends the
|
|
30
|
+
* OpenAI response with Hakim-specific observability fields. */
|
|
31
|
+
export interface ChatCompletionCreateResponse extends ChatCompletionResponse {
|
|
32
|
+
/** Decoded `x-hakim-usage-*` headers. Same data as the embedded
|
|
33
|
+
* `hakim_usage` block (the wire echoes it for log integrators
|
|
34
|
+
* that strip headers). */
|
|
35
|
+
usage_headers?: UsageBlock;
|
|
36
|
+
/** Decoded snapshot of plan / period / credits / concurrency. */
|
|
37
|
+
limits?: SpeechResponseLimits;
|
|
38
|
+
meta: ResponseMeta;
|
|
39
|
+
}
|
|
40
|
+
/** Returned by `chat.completions.stream`. The `stream` yields one
|
|
41
|
+
* `ChatCompletionChunk` per SSE frame. The final chunk carries
|
|
42
|
+
* the `usage` block; consumers that want a single roll-up should
|
|
43
|
+
* iterate to completion and read `lastChunk.usage`. */
|
|
44
|
+
export interface ChatCompletionStreamResponse {
|
|
45
|
+
stream: AsyncIterable<ChatCompletionChunk>;
|
|
46
|
+
/** `kind` / `unit_type` / `model` from the streaming preflight.
|
|
47
|
+
* Final per-request `credits` / `cost_usd` / `units` are not
|
|
48
|
+
* knowable before the upstream closes the stream and ride the
|
|
49
|
+
* terminal chunk's `usage` block instead. */
|
|
50
|
+
usage_preflight?: StreamingUsagePreflight;
|
|
51
|
+
limits?: SpeechResponseLimits;
|
|
52
|
+
meta: ResponseMeta;
|
|
53
|
+
}
|
|
54
|
+
export interface StreamingUsagePreflight {
|
|
55
|
+
kind: 'llm_chat';
|
|
56
|
+
unit_type: 'tokens';
|
|
57
|
+
model: string | null;
|
|
58
|
+
}
|
|
59
|
+
export declare class ChatCompletionsAPI {
|
|
60
|
+
private readonly transport;
|
|
61
|
+
constructor(transport: Transport);
|
|
62
|
+
/** Non-streaming chat completion. Returns the full response
|
|
63
|
+
* body plus decoded observability headers. */
|
|
64
|
+
create(request: ChatCompletionRequest, opts?: {
|
|
65
|
+
idempotencyKey?: string;
|
|
66
|
+
signal?: AbortSignal;
|
|
67
|
+
}): Promise<ChatCompletionCreateResponse>;
|
|
68
|
+
/** Streaming chat completion (SSE). Returns an async iterable
|
|
69
|
+
* of chunks. Always sends `stream: true` regardless of what
|
|
70
|
+
* the caller passed on the request body. */
|
|
71
|
+
stream(request: ChatCompletionRequest, opts?: {
|
|
72
|
+
idempotencyKey?: string;
|
|
73
|
+
signal?: AbortSignal;
|
|
74
|
+
}): Promise<ChatCompletionStreamResponse>;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=completions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completions.d.ts","sourceRoot":"","sources":["../../src/chat/completions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGlF;gEACgE;AAChE,MAAM,WAAW,4BAA6B,SAAQ,sBAAsB;IAC1E;;+BAE2B;IAC3B,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,iEAAiE;IACjE,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;;wDAGwD;AACxD,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAC3C;;;kDAG8C;IAC9C,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAC1C,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,QAAQ,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAEjD;mDAC+C;IACzC,MAAM,CACV,OAAO,EAAE,qBAAqB,EAC9B,IAAI,GAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GAC3D,OAAO,CAAC,4BAA4B,CAAC;IAyBxC;;iDAE6C;IACvC,MAAM,CACV,OAAO,EAAE,qBAAqB,EAC9B,IAAI,GAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GAC3D,OAAO,CAAC,4BAA4B,CAAC;CAoCzC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `chat.completions` — POST /v1/chat/completions.
|
|
3
|
+
*
|
|
4
|
+
* Two entry points, mirroring `audio.speech`:
|
|
5
|
+
*
|
|
6
|
+
* - `create(request)` — buffers the full response and returns a
|
|
7
|
+
* `ChatCompletionResponse` with usage block + decoded
|
|
8
|
+
* observability headers. Forces `stream: false` regardless of
|
|
9
|
+
* what the caller passed, so a stale flag in a saved request
|
|
10
|
+
* can't drag a buffered call into SSE mode.
|
|
11
|
+
*
|
|
12
|
+
* - `stream(request)` — returns an `AsyncIterable<ChatCompletionChunk>`
|
|
13
|
+
* plus the upfront observability headers (kind / unit-type /
|
|
14
|
+
* model / plan / period / credits). The final per-request usage
|
|
15
|
+
* numbers (`credits`, `cost_usd`, `units`) ride the terminal
|
|
16
|
+
* SSE chunk's `usage` block — OpenAI convention — and are not
|
|
17
|
+
* emitted as headers since `reply.hijack()` already flushed
|
|
18
|
+
* the response head before they're known.
|
|
19
|
+
*
|
|
20
|
+
* Reasoning policy: off by default, opt-in for
|
|
21
|
+
* non-stream via `reasoning: { enabled: true }`, and forbidden for
|
|
22
|
+
* streaming. The route rejects the stream-with-reasoning combo at
|
|
23
|
+
* the schema layer with a 400 — we do not pre-validate here so
|
|
24
|
+
* the server stays the single source of truth.
|
|
25
|
+
*/
|
|
26
|
+
import { ConnectionError } from '../errors.js';
|
|
27
|
+
import { parseLimitsFromHeaders, parseUsageBlockFromHeaders } from '../observability.js';
|
|
28
|
+
import { parseSseStream } from './sse.js';
|
|
29
|
+
export class ChatCompletionsAPI {
|
|
30
|
+
transport;
|
|
31
|
+
constructor(transport) {
|
|
32
|
+
this.transport = transport;
|
|
33
|
+
}
|
|
34
|
+
/** Non-streaming chat completion. Returns the full response
|
|
35
|
+
* body plus decoded observability headers. */
|
|
36
|
+
async create(request, opts = {}) {
|
|
37
|
+
const res = await this.transport.request({
|
|
38
|
+
method: 'POST',
|
|
39
|
+
path: '/v1/chat/completions',
|
|
40
|
+
json: { ...request, stream: false },
|
|
41
|
+
...(opts.idempotencyKey !== undefined ? { idempotencyKey: opts.idempotencyKey } : {}),
|
|
42
|
+
...(opts.signal !== undefined ? { signal: opts.signal } : {}),
|
|
43
|
+
});
|
|
44
|
+
const body = (await res.json());
|
|
45
|
+
const usageHeaders = parseUsageBlockFromHeaders(res.headers);
|
|
46
|
+
const limits = parseLimitsFromHeaders(res.headers);
|
|
47
|
+
return {
|
|
48
|
+
...body,
|
|
49
|
+
...(usageHeaders !== undefined ? { usage_headers: usageHeaders } : {}),
|
|
50
|
+
...(limits !== undefined ? { limits } : {}),
|
|
51
|
+
meta: {
|
|
52
|
+
requestId: res.headers.get('x-request-id') ?? undefined,
|
|
53
|
+
status: res.status,
|
|
54
|
+
headers: res.headers,
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/** Streaming chat completion (SSE). Returns an async iterable
|
|
59
|
+
* of chunks. Always sends `stream: true` regardless of what
|
|
60
|
+
* the caller passed on the request body. */
|
|
61
|
+
async stream(request, opts = {}) {
|
|
62
|
+
const res = await this.transport.request({
|
|
63
|
+
method: 'POST',
|
|
64
|
+
path: '/v1/chat/completions',
|
|
65
|
+
json: { ...request, stream: true },
|
|
66
|
+
accept: 'text/event-stream',
|
|
67
|
+
headers: { accept: 'text/event-stream' },
|
|
68
|
+
stream: true,
|
|
69
|
+
...(opts.idempotencyKey !== undefined ? { idempotencyKey: opts.idempotencyKey } : {}),
|
|
70
|
+
...(opts.signal !== undefined ? { signal: opts.signal } : {}),
|
|
71
|
+
});
|
|
72
|
+
if (!res.body) {
|
|
73
|
+
throw new ConnectionError({
|
|
74
|
+
message: 'Hakim SDK: chat streaming response has no body',
|
|
75
|
+
requestId: res.headers.get('x-request-id') ?? undefined,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
return {
|
|
79
|
+
stream: parseSseStream(res.body, {
|
|
80
|
+
requestId: res.headers.get('x-request-id') ?? undefined,
|
|
81
|
+
}),
|
|
82
|
+
...(parsePreflight(res.headers) !== undefined
|
|
83
|
+
? { usage_preflight: parsePreflight(res.headers) }
|
|
84
|
+
: {}),
|
|
85
|
+
...(parseLimitsFromHeaders(res.headers) !== undefined
|
|
86
|
+
? { limits: parseLimitsFromHeaders(res.headers) }
|
|
87
|
+
: {}),
|
|
88
|
+
meta: {
|
|
89
|
+
requestId: res.headers.get('x-request-id') ?? undefined,
|
|
90
|
+
status: res.status,
|
|
91
|
+
headers: res.headers,
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* On streaming responses the route stamps a reduced header set
|
|
98
|
+
* before `reply.hijack()` — kind, unit-type, model — and embeds
|
|
99
|
+
* final per-request usage on the terminal SSE chunk. We expose
|
|
100
|
+
* those preflight values so callers don't have to crack open
|
|
101
|
+
* `meta.headers`.
|
|
102
|
+
*/
|
|
103
|
+
function parsePreflight(headers) {
|
|
104
|
+
const kind = headers.get('x-hakim-usage-kind');
|
|
105
|
+
const unitType = headers.get('x-hakim-usage-unit-type');
|
|
106
|
+
if (kind !== 'llm_chat' || unitType !== 'tokens')
|
|
107
|
+
return undefined;
|
|
108
|
+
return {
|
|
109
|
+
kind: 'llm_chat',
|
|
110
|
+
unit_type: 'tokens',
|
|
111
|
+
model: headers.get('x-hakim-model'),
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=completions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completions.js","sourceRoot":"","sources":["../../src/chat/completions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EACjC,KAAK,uBAAuB,GAC7B,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAInB,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Iterate the SSE wire and yield parsed chunks of type `T`.
|
|
3
|
+
*
|
|
4
|
+
* Terminates cleanly on `data: [DONE]` or when the underlying
|
|
5
|
+
* `ReadableStream` closes. Throws when the wire carries an
|
|
6
|
+
* `event: error` envelope whose `data` is a Hakim error JSON
|
|
7
|
+
* payload.
|
|
8
|
+
*/
|
|
9
|
+
export declare function parseSseStream<T>(body: ReadableStream<Uint8Array>, opts?: {
|
|
10
|
+
requestId?: string | undefined;
|
|
11
|
+
}): AsyncIterable<T>;
|
|
12
|
+
//# sourceMappingURL=sse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../src/chat/sse.ts"],"names":[],"mappings":"AAqBA;;;;;;;GAOG;AACH,wBAAuB,cAAc,CAAC,CAAC,EACrC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,EAChC,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAO,GAC5C,aAAa,CAAC,CAAC,CAAC,CA0ClB"}
|