@livekit/agents-plugin-openai 0.6.0 → 0.7.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/README.md +18 -0
- package/dist/index.cjs +55 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.js +13 -8
- package/dist/index.js.map +1 -1
- package/dist/llm.cjs +502 -0
- package/dist/llm.cjs.map +1 -0
- package/dist/llm.js +435 -424
- package/dist/llm.js.map +1 -1
- package/dist/models.cjs +17 -0
- package/dist/models.cjs.map +1 -0
- package/dist/models.js +0 -4
- package/dist/models.js.map +1 -1
- package/dist/realtime/api_proto.cjs +41 -0
- package/dist/realtime/api_proto.cjs.map +1 -0
- package/dist/realtime/api_proto.d.ts +1 -1
- package/dist/realtime/api_proto.d.ts.map +1 -1
- package/dist/realtime/api_proto.js +12 -8
- package/dist/realtime/api_proto.js.map +1 -1
- package/dist/realtime/index.cjs +25 -0
- package/dist/realtime/index.cjs.map +1 -0
- package/dist/realtime/index.js +2 -5
- package/dist/realtime/index.js.map +1 -1
- package/dist/realtime/realtime_model.cjs +878 -0
- package/dist/realtime/realtime_model.cjs.map +1 -0
- package/dist/realtime/realtime_model.js +828 -777
- package/dist/realtime/realtime_model.js.map +1 -1
- package/dist/stt.cjs +130 -0
- package/dist/stt.cjs.map +1 -0
- package/dist/stt.js +99 -102
- package/dist/stt.js.map +1 -1
- package/dist/tts.cjs +100 -0
- package/dist/tts.cjs.map +1 -0
- package/dist/tts.d.ts +1 -1
- package/dist/tts.d.ts.map +1 -1
- package/dist/tts.js +67 -65
- package/dist/tts.js.map +1 -1
- package/package.json +23 -7
- package/src/realtime/api_proto.ts +10 -1
- package/src/tts.ts +2 -1
- package/.turbo/turbo-build.log +0 -4
- package/CHANGELOG.md +0 -148
- package/api-extractor.json +0 -20
- package/tsconfig.json +0 -16
- package/tsconfig.tsbuildinfo +0 -1
package/dist/tts.cjs
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var tts_exports = {};
|
|
20
|
+
__export(tts_exports, {
|
|
21
|
+
ChunkedStream: () => ChunkedStream,
|
|
22
|
+
TTS: () => TTS
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(tts_exports);
|
|
25
|
+
var import_agents = require("@livekit/agents");
|
|
26
|
+
var import_openai = require("openai");
|
|
27
|
+
const OPENAI_TTS_SAMPLE_RATE = 24e3;
|
|
28
|
+
const OPENAI_TTS_CHANNELS = 1;
|
|
29
|
+
const defaultTTSOptions = {
|
|
30
|
+
apiKey: process.env.OPENAI_API_KEY,
|
|
31
|
+
model: "tts-1",
|
|
32
|
+
voice: "alloy",
|
|
33
|
+
speed: 1
|
|
34
|
+
};
|
|
35
|
+
class TTS extends import_agents.tts.TTS {
|
|
36
|
+
#opts;
|
|
37
|
+
#client;
|
|
38
|
+
/**
|
|
39
|
+
* Create a new instance of OpenAI TTS.
|
|
40
|
+
*
|
|
41
|
+
* @remarks
|
|
42
|
+
* `apiKey` must be set to your OpenAI API key, either using the argument or by setting the
|
|
43
|
+
* `OPENAI_API_KEY` environmental variable.
|
|
44
|
+
*/
|
|
45
|
+
constructor(opts = defaultTTSOptions) {
|
|
46
|
+
super(OPENAI_TTS_SAMPLE_RATE, OPENAI_TTS_CHANNELS, { streaming: false });
|
|
47
|
+
this.#opts = { ...defaultTTSOptions, ...opts };
|
|
48
|
+
if (this.#opts.apiKey === void 0) {
|
|
49
|
+
throw new Error("OpenAI API key is required, whether as an argument or as $OPENAI_API_KEY");
|
|
50
|
+
}
|
|
51
|
+
this.#client = this.#opts.client || new import_openai.OpenAI({
|
|
52
|
+
baseURL: opts.baseURL,
|
|
53
|
+
apiKey: opts.apiKey
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
updateOptions(opts) {
|
|
57
|
+
this.#opts = { ...this.#opts, ...opts };
|
|
58
|
+
}
|
|
59
|
+
synthesize(text) {
|
|
60
|
+
return new ChunkedStream(
|
|
61
|
+
this.#client.audio.speech.create({
|
|
62
|
+
input: text,
|
|
63
|
+
model: this.#opts.model,
|
|
64
|
+
voice: this.#opts.voice,
|
|
65
|
+
response_format: "pcm",
|
|
66
|
+
speed: this.#opts.speed
|
|
67
|
+
})
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
stream() {
|
|
71
|
+
throw new Error("Streaming is not supported on OpenAI TTS");
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
class ChunkedStream extends import_agents.tts.ChunkedStream {
|
|
75
|
+
// set Promise<T> to any because OpenAI returns an annoying Response type
|
|
76
|
+
constructor(stream) {
|
|
77
|
+
super();
|
|
78
|
+
this.#run(stream);
|
|
79
|
+
}
|
|
80
|
+
async #run(stream) {
|
|
81
|
+
const buffer = await stream.then((r) => r.arrayBuffer());
|
|
82
|
+
const requestId = crypto.randomUUID();
|
|
83
|
+
const audioByteStream = new import_agents.AudioByteStream(OPENAI_TTS_SAMPLE_RATE, OPENAI_TTS_CHANNELS);
|
|
84
|
+
const frames = audioByteStream.write(buffer);
|
|
85
|
+
for (const frame of frames) {
|
|
86
|
+
this.queue.put({
|
|
87
|
+
frame,
|
|
88
|
+
requestId,
|
|
89
|
+
segmentId: requestId
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
this.queue.close();
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
96
|
+
0 && (module.exports = {
|
|
97
|
+
ChunkedStream,
|
|
98
|
+
TTS
|
|
99
|
+
});
|
|
100
|
+
//# sourceMappingURL=tts.cjs.map
|
package/dist/tts.cjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tts.ts"],"sourcesContent":["// SPDX-FileCopyrightText: 2024 LiveKit, Inc.\n//\n// SPDX-License-Identifier: Apache-2.0\nimport { AudioByteStream, tts } from '@livekit/agents';\nimport { OpenAI } from 'openai';\nimport type { TTSModels, TTSVoices } from './models.js';\n\nconst OPENAI_TTS_SAMPLE_RATE = 24000;\nconst OPENAI_TTS_CHANNELS = 1;\n\nexport interface TTSOptions {\n model: TTSModels | string;\n voice: TTSVoices;\n speed: number;\n baseURL?: string;\n client?: OpenAI;\n apiKey?: string;\n}\n\nconst defaultTTSOptions: TTSOptions = {\n apiKey: process.env.OPENAI_API_KEY,\n model: 'tts-1',\n voice: 'alloy',\n speed: 1,\n};\n\nexport class TTS extends tts.TTS {\n #opts: TTSOptions;\n #client: OpenAI;\n\n /**\n * Create a new instance of OpenAI TTS.\n *\n * @remarks\n * `apiKey` must be set to your OpenAI API key, either using the argument or by setting the\n * `OPENAI_API_KEY` environmental variable.\n */\n constructor(opts: Partial<TTSOptions> = defaultTTSOptions) {\n super(OPENAI_TTS_SAMPLE_RATE, OPENAI_TTS_CHANNELS, { streaming: false });\n\n this.#opts = { ...defaultTTSOptions, ...opts };\n if (this.#opts.apiKey === undefined) {\n throw new Error('OpenAI API key is required, whether as an argument or as $OPENAI_API_KEY');\n }\n\n this.#client =\n this.#opts.client ||\n new OpenAI({\n baseURL: opts.baseURL,\n apiKey: opts.apiKey,\n });\n }\n\n updateOptions(opts: { model?: TTSModels | string; voice?: TTSVoices; speed?: number }) {\n this.#opts = { ...this.#opts, ...opts };\n }\n\n synthesize(text: string): ChunkedStream {\n return new ChunkedStream(\n this.#client.audio.speech.create({\n input: text,\n model: this.#opts.model,\n voice: this.#opts.voice,\n response_format: 'pcm',\n speed: this.#opts.speed,\n }),\n );\n }\n\n stream(): tts.SynthesizeStream {\n throw new Error('Streaming is not supported on OpenAI TTS');\n }\n}\n\nexport class ChunkedStream extends tts.ChunkedStream {\n // set Promise<T> to any because OpenAI returns an annoying Response type\n constructor(stream: Promise<any>) {\n super();\n this.#run(stream);\n }\n\n async #run(stream: Promise<Response>) {\n const buffer = await stream.then((r) => r.arrayBuffer());\n const requestId = crypto.randomUUID();\n const audioByteStream = new AudioByteStream(OPENAI_TTS_SAMPLE_RATE, OPENAI_TTS_CHANNELS);\n const frames = audioByteStream.write(buffer);\n\n for (const frame of frames) {\n this.queue.put({\n frame,\n requestId,\n segmentId: requestId,\n });\n }\n this.queue.close();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAAqC;AACrC,oBAAuB;AAGvB,MAAM,yBAAyB;AAC/B,MAAM,sBAAsB;AAW5B,MAAM,oBAAgC;AAAA,EACpC,QAAQ,QAAQ,IAAI;AAAA,EACpB,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AACT;AAEO,MAAM,YAAY,kBAAI,IAAI;AAAA,EAC/B;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,YAAY,OAA4B,mBAAmB;AACzD,UAAM,wBAAwB,qBAAqB,EAAE,WAAW,MAAM,CAAC;AAEvE,SAAK,QAAQ,EAAE,GAAG,mBAAmB,GAAG,KAAK;AAC7C,QAAI,KAAK,MAAM,WAAW,QAAW;AACnC,YAAM,IAAI,MAAM,0EAA0E;AAAA,IAC5F;AAEA,SAAK,UACH,KAAK,MAAM,UACX,IAAI,qBAAO;AAAA,MACT,SAAS,KAAK;AAAA,MACd,QAAQ,KAAK;AAAA,IACf,CAAC;AAAA,EACL;AAAA,EAEA,cAAc,MAAyE;AACrF,SAAK,QAAQ,EAAE,GAAG,KAAK,OAAO,GAAG,KAAK;AAAA,EACxC;AAAA,EAEA,WAAW,MAA6B;AACtC,WAAO,IAAI;AAAA,MACT,KAAK,QAAQ,MAAM,OAAO,OAAO;AAAA,QAC/B,OAAO;AAAA,QACP,OAAO,KAAK,MAAM;AAAA,QAClB,OAAO,KAAK,MAAM;AAAA,QAClB,iBAAiB;AAAA,QACjB,OAAO,KAAK,MAAM;AAAA,MACpB,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,SAA+B;AAC7B,UAAM,IAAI,MAAM,0CAA0C;AAAA,EAC5D;AACF;AAEO,MAAM,sBAAsB,kBAAI,cAAc;AAAA;AAAA,EAEnD,YAAY,QAAsB;AAChC,UAAM;AACN,SAAK,KAAK,MAAM;AAAA,EAClB;AAAA,EAEA,MAAM,KAAK,QAA2B;AACpC,UAAM,SAAS,MAAM,OAAO,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC;AACvD,UAAM,YAAY,OAAO,WAAW;AACpC,UAAM,kBAAkB,IAAI,8BAAgB,wBAAwB,mBAAmB;AACvF,UAAM,SAAS,gBAAgB,MAAM,MAAM;AAE3C,eAAW,SAAS,QAAQ;AAC1B,WAAK,MAAM,IAAI;AAAA,QACb;AAAA,QACA;AAAA,QACA,WAAW;AAAA,MACb,CAAC;AAAA,IACH;AACA,SAAK,MAAM,MAAM;AAAA,EACnB;AACF;","names":[]}
|
package/dist/tts.d.ts
CHANGED
package/dist/tts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tts.d.ts","sourceRoot":"","sources":["../src/tts.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAKxD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1B,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AASD,qBAAa,GAAI,SAAQ,GAAG,CAAC,GAAG;;IAI9B;;;;;;OAMG;gBACS,IAAI,GAAE,OAAO,CAAC,UAAU,CAAqB;IAgBzD,aAAa,CAAC,IAAI,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,SAAS,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAIrF,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAYvC,MAAM,IAAI,GAAG,CAAC,gBAAgB;CAG/B;AAED,qBAAa,aAAc,SAAQ,GAAG,CAAC,aAAa;;
|
|
1
|
+
{"version":3,"file":"tts.d.ts","sourceRoot":"","sources":["../src/tts.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAKxD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1B,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AASD,qBAAa,GAAI,SAAQ,GAAG,CAAC,GAAG;;IAI9B;;;;;;OAMG;gBACS,IAAI,GAAE,OAAO,CAAC,UAAU,CAAqB;IAgBzD,aAAa,CAAC,IAAI,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,SAAS,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAIrF,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAYvC,MAAM,IAAI,GAAG,CAAC,gBAAgB;CAG/B;AAED,qBAAa,aAAc,SAAQ,GAAG,CAAC,aAAa;;gBAEtC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC;CAoBjC"}
|
package/dist/tts.js
CHANGED
|
@@ -1,73 +1,75 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import { AudioByteStream, tts } from '@livekit/agents';
|
|
5
|
-
import { OpenAI } from 'openai';
|
|
6
|
-
const OPENAI_TTS_SAMPLE_RATE = 24000;
|
|
1
|
+
import { AudioByteStream, tts } from "@livekit/agents";
|
|
2
|
+
import { OpenAI } from "openai";
|
|
3
|
+
const OPENAI_TTS_SAMPLE_RATE = 24e3;
|
|
7
4
|
const OPENAI_TTS_CHANNELS = 1;
|
|
8
5
|
const defaultTTSOptions = {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
apiKey: process.env.OPENAI_API_KEY,
|
|
7
|
+
model: "tts-1",
|
|
8
|
+
voice: "alloy",
|
|
9
|
+
speed: 1
|
|
13
10
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
this.#client =
|
|
31
|
-
this.#opts.client ||
|
|
32
|
-
new OpenAI({
|
|
33
|
-
baseURL: opts.baseURL,
|
|
34
|
-
apiKey: opts.apiKey,
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
updateOptions(opts) {
|
|
38
|
-
this.#opts = { ...this.#opts, ...opts };
|
|
39
|
-
}
|
|
40
|
-
synthesize(text) {
|
|
41
|
-
return new ChunkedStream(this.#client.audio.speech.create({
|
|
42
|
-
input: text,
|
|
43
|
-
model: this.#opts.model,
|
|
44
|
-
voice: this.#opts.voice,
|
|
45
|
-
response_format: 'pcm',
|
|
46
|
-
speed: this.#opts.speed,
|
|
47
|
-
}));
|
|
48
|
-
}
|
|
49
|
-
stream() {
|
|
50
|
-
throw new Error('Streaming is not supported on OpenAI TTS');
|
|
11
|
+
class TTS extends tts.TTS {
|
|
12
|
+
#opts;
|
|
13
|
+
#client;
|
|
14
|
+
/**
|
|
15
|
+
* Create a new instance of OpenAI TTS.
|
|
16
|
+
*
|
|
17
|
+
* @remarks
|
|
18
|
+
* `apiKey` must be set to your OpenAI API key, either using the argument or by setting the
|
|
19
|
+
* `OPENAI_API_KEY` environmental variable.
|
|
20
|
+
*/
|
|
21
|
+
constructor(opts = defaultTTSOptions) {
|
|
22
|
+
super(OPENAI_TTS_SAMPLE_RATE, OPENAI_TTS_CHANNELS, { streaming: false });
|
|
23
|
+
this.#opts = { ...defaultTTSOptions, ...opts };
|
|
24
|
+
if (this.#opts.apiKey === void 0) {
|
|
25
|
+
throw new Error("OpenAI API key is required, whether as an argument or as $OPENAI_API_KEY");
|
|
51
26
|
}
|
|
27
|
+
this.#client = this.#opts.client || new OpenAI({
|
|
28
|
+
baseURL: opts.baseURL,
|
|
29
|
+
apiKey: opts.apiKey
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
updateOptions(opts) {
|
|
33
|
+
this.#opts = { ...this.#opts, ...opts };
|
|
34
|
+
}
|
|
35
|
+
synthesize(text) {
|
|
36
|
+
return new ChunkedStream(
|
|
37
|
+
this.#client.audio.speech.create({
|
|
38
|
+
input: text,
|
|
39
|
+
model: this.#opts.model,
|
|
40
|
+
voice: this.#opts.voice,
|
|
41
|
+
response_format: "pcm",
|
|
42
|
+
speed: this.#opts.speed
|
|
43
|
+
})
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
stream() {
|
|
47
|
+
throw new Error("Streaming is not supported on OpenAI TTS");
|
|
48
|
+
}
|
|
52
49
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
this.queue.close();
|
|
50
|
+
class ChunkedStream extends tts.ChunkedStream {
|
|
51
|
+
// set Promise<T> to any because OpenAI returns an annoying Response type
|
|
52
|
+
constructor(stream) {
|
|
53
|
+
super();
|
|
54
|
+
this.#run(stream);
|
|
55
|
+
}
|
|
56
|
+
async #run(stream) {
|
|
57
|
+
const buffer = await stream.then((r) => r.arrayBuffer());
|
|
58
|
+
const requestId = crypto.randomUUID();
|
|
59
|
+
const audioByteStream = new AudioByteStream(OPENAI_TTS_SAMPLE_RATE, OPENAI_TTS_CHANNELS);
|
|
60
|
+
const frames = audioByteStream.write(buffer);
|
|
61
|
+
for (const frame of frames) {
|
|
62
|
+
this.queue.put({
|
|
63
|
+
frame,
|
|
64
|
+
requestId,
|
|
65
|
+
segmentId: requestId
|
|
66
|
+
});
|
|
71
67
|
}
|
|
68
|
+
this.queue.close();
|
|
69
|
+
}
|
|
72
70
|
}
|
|
71
|
+
export {
|
|
72
|
+
ChunkedStream,
|
|
73
|
+
TTS
|
|
74
|
+
};
|
|
73
75
|
//# sourceMappingURL=tts.js.map
|
package/dist/tts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/tts.ts"],"sourcesContent":["// SPDX-FileCopyrightText: 2024 LiveKit, Inc.\n//\n// SPDX-License-Identifier: Apache-2.0\nimport { AudioByteStream, tts } from '@livekit/agents';\nimport { OpenAI } from 'openai';\nimport type { TTSModels, TTSVoices } from './models.js';\n\nconst OPENAI_TTS_SAMPLE_RATE = 24000;\nconst OPENAI_TTS_CHANNELS = 1;\n\nexport interface TTSOptions {\n model: TTSModels | string;\n voice: TTSVoices;\n speed: number;\n baseURL?: string;\n client?: OpenAI;\n apiKey?: string;\n}\n\nconst defaultTTSOptions: TTSOptions = {\n apiKey: process.env.OPENAI_API_KEY,\n model: 'tts-1',\n voice: 'alloy',\n speed: 1,\n};\n\nexport class TTS extends tts.TTS {\n #opts: TTSOptions;\n #client: OpenAI;\n\n /**\n * Create a new instance of OpenAI TTS.\n *\n * @remarks\n * `apiKey` must be set to your OpenAI API key, either using the argument or by setting the\n * `OPENAI_API_KEY` environmental variable.\n */\n constructor(opts: Partial<TTSOptions> = defaultTTSOptions) {\n super(OPENAI_TTS_SAMPLE_RATE, OPENAI_TTS_CHANNELS, { streaming: false });\n\n this.#opts = { ...defaultTTSOptions, ...opts };\n if (this.#opts.apiKey === undefined) {\n throw new Error('OpenAI API key is required, whether as an argument or as $OPENAI_API_KEY');\n }\n\n this.#client =\n this.#opts.client ||\n new OpenAI({\n baseURL: opts.baseURL,\n apiKey: opts.apiKey,\n });\n }\n\n updateOptions(opts: { model?: TTSModels | string; voice?: TTSVoices; speed?: number }) {\n this.#opts = { ...this.#opts, ...opts };\n }\n\n synthesize(text: string): ChunkedStream {\n return new ChunkedStream(\n this.#client.audio.speech.create({\n input: text,\n model: this.#opts.model,\n voice: this.#opts.voice,\n response_format: 'pcm',\n speed: this.#opts.speed,\n }),\n );\n }\n\n stream(): tts.SynthesizeStream {\n throw new Error('Streaming is not supported on OpenAI TTS');\n }\n}\n\nexport class ChunkedStream extends tts.ChunkedStream {\n // set Promise<T> to any because OpenAI returns an annoying Response type\n constructor(stream: Promise<any>) {\n super();\n this.#run(stream);\n }\n\n async #run(stream: Promise<Response>) {\n const buffer = await stream.then((r) => r.arrayBuffer());\n const requestId = crypto.randomUUID();\n const audioByteStream = new AudioByteStream(OPENAI_TTS_SAMPLE_RATE, OPENAI_TTS_CHANNELS);\n const frames = audioByteStream.write(buffer);\n\n for (const frame of frames) {\n this.queue.put({\n frame,\n requestId,\n segmentId: requestId,\n });\n }\n this.queue.close();\n }\n}\n"],"mappings":"AAGA,SAAS,iBAAiB,WAAW;AACrC,SAAS,cAAc;AAGvB,MAAM,yBAAyB;AAC/B,MAAM,sBAAsB;AAW5B,MAAM,oBAAgC;AAAA,EACpC,QAAQ,QAAQ,IAAI;AAAA,EACpB,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AACT;AAEO,MAAM,YAAY,IAAI,IAAI;AAAA,EAC/B;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,YAAY,OAA4B,mBAAmB;AACzD,UAAM,wBAAwB,qBAAqB,EAAE,WAAW,MAAM,CAAC;AAEvE,SAAK,QAAQ,EAAE,GAAG,mBAAmB,GAAG,KAAK;AAC7C,QAAI,KAAK,MAAM,WAAW,QAAW;AACnC,YAAM,IAAI,MAAM,0EAA0E;AAAA,IAC5F;AAEA,SAAK,UACH,KAAK,MAAM,UACX,IAAI,OAAO;AAAA,MACT,SAAS,KAAK;AAAA,MACd,QAAQ,KAAK;AAAA,IACf,CAAC;AAAA,EACL;AAAA,EAEA,cAAc,MAAyE;AACrF,SAAK,QAAQ,EAAE,GAAG,KAAK,OAAO,GAAG,KAAK;AAAA,EACxC;AAAA,EAEA,WAAW,MAA6B;AACtC,WAAO,IAAI;AAAA,MACT,KAAK,QAAQ,MAAM,OAAO,OAAO;AAAA,QAC/B,OAAO;AAAA,QACP,OAAO,KAAK,MAAM;AAAA,QAClB,OAAO,KAAK,MAAM;AAAA,QAClB,iBAAiB;AAAA,QACjB,OAAO,KAAK,MAAM;AAAA,MACpB,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,SAA+B;AAC7B,UAAM,IAAI,MAAM,0CAA0C;AAAA,EAC5D;AACF;AAEO,MAAM,sBAAsB,IAAI,cAAc;AAAA;AAAA,EAEnD,YAAY,QAAsB;AAChC,UAAM;AACN,SAAK,KAAK,MAAM;AAAA,EAClB;AAAA,EAEA,MAAM,KAAK,QAA2B;AACpC,UAAM,SAAS,MAAM,OAAO,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC;AACvD,UAAM,YAAY,OAAO,WAAW;AACpC,UAAM,kBAAkB,IAAI,gBAAgB,wBAAwB,mBAAmB;AACvF,UAAM,SAAS,gBAAgB,MAAM,MAAM;AAE3C,eAAW,SAAS,QAAQ;AAC1B,WAAK,MAAM,IAAI;AAAA,QACb;AAAA,QACA;AAAA,QACA,WAAW;AAAA,MACb,CAAC;AAAA,IACH;AACA,SAAK,MAAM,MAAM;AAAA,EACnB;AACF;","names":[]}
|
package/package.json
CHANGED
|
@@ -1,17 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@livekit/agents-plugin-openai",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "OpenAI plugin for LiveKit Node Agents",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
|
+
"require": "dist/index.cjs",
|
|
6
7
|
"types": "dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js",
|
|
12
|
+
"require": "./dist/index.cjs"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
7
15
|
"author": "LiveKit",
|
|
8
16
|
"type": "module",
|
|
17
|
+
"repository": "git@github.com:livekit/agents-js.git",
|
|
18
|
+
"license": "Apache-2.0",
|
|
19
|
+
"files": [
|
|
20
|
+
"dist",
|
|
21
|
+
"src",
|
|
22
|
+
"README.md"
|
|
23
|
+
],
|
|
9
24
|
"devDependencies": {
|
|
25
|
+
"@livekit/agents": "^x",
|
|
26
|
+
"@livekit/rtc-node": "^0.12.1",
|
|
10
27
|
"@microsoft/api-extractor": "^7.35.0",
|
|
11
|
-
"@livekit/rtc-node": "^0.11.1",
|
|
12
28
|
"@types/ws": "^8.5.10",
|
|
13
|
-
"
|
|
14
|
-
"
|
|
29
|
+
"tsup": "^8.3.5",
|
|
30
|
+
"typescript": "^5.0.0"
|
|
15
31
|
},
|
|
16
32
|
"dependencies": {
|
|
17
33
|
"openai": "^4.70.2",
|
|
@@ -19,11 +35,11 @@
|
|
|
19
35
|
"ws": "^8.16.0"
|
|
20
36
|
},
|
|
21
37
|
"peerDependencies": {
|
|
22
|
-
"@livekit/rtc-node": "^0.
|
|
23
|
-
"@livekit/agents": "^0.
|
|
38
|
+
"@livekit/rtc-node": "^0.12.1",
|
|
39
|
+
"@livekit/agents": "^0.5.0x"
|
|
24
40
|
},
|
|
25
41
|
"scripts": {
|
|
26
|
-
"build": "tsc
|
|
42
|
+
"build": "tsup --onSuccess \"tsc --declaration --emitDeclarationOnly\"",
|
|
27
43
|
"clean": "rm -rf dist",
|
|
28
44
|
"clean:build": "pnpm clean && pnpm build",
|
|
29
45
|
"lint": "eslint -f unix \"src/**/*.{ts,js}\"",
|
|
@@ -10,7 +10,16 @@ export const OUT_FRAME_SIZE = 1200; // 50ms
|
|
|
10
10
|
export const BASE_URL = 'wss://api.openai.com/v1';
|
|
11
11
|
|
|
12
12
|
export type Model = 'gpt-4o-realtime-preview-2024-10-01' | string; // Open-ended, for future models
|
|
13
|
-
export type Voice =
|
|
13
|
+
export type Voice =
|
|
14
|
+
| 'alloy'
|
|
15
|
+
| 'shimmer'
|
|
16
|
+
| 'echo'
|
|
17
|
+
| 'ash'
|
|
18
|
+
| 'ballad'
|
|
19
|
+
| 'coral'
|
|
20
|
+
| 'sage'
|
|
21
|
+
| 'verse'
|
|
22
|
+
| string;
|
|
14
23
|
export type AudioFormat = 'pcm16'; // TODO: 'g711-ulaw' | 'g711-alaw'
|
|
15
24
|
export type Role = 'system' | 'assistant' | 'user' | 'tool';
|
|
16
25
|
export type GenerationFinishedReason = 'stop' | 'max_tokens' | 'content_filter' | 'interrupt';
|
package/src/tts.ts
CHANGED
|
@@ -73,7 +73,8 @@ export class TTS extends tts.TTS {
|
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
export class ChunkedStream extends tts.ChunkedStream {
|
|
76
|
-
|
|
76
|
+
// set Promise<T> to any because OpenAI returns an annoying Response type
|
|
77
|
+
constructor(stream: Promise<any>) {
|
|
77
78
|
super();
|
|
78
79
|
this.#run(stream);
|
|
79
80
|
}
|
package/.turbo/turbo-build.log
DELETED
package/CHANGELOG.md
DELETED
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
# @livekit/agents-plugin-openai
|
|
2
|
-
|
|
3
|
-
## 0.6.0
|
|
4
|
-
|
|
5
|
-
### Minor Changes
|
|
6
|
-
|
|
7
|
-
- Emit events for response text delta and done - [#160](https://github.com/livekit/agents-js/pull/160) ([@danielmahon](https://github.com/danielmahon))
|
|
8
|
-
|
|
9
|
-
### Patch Changes
|
|
10
|
-
|
|
11
|
-
- Use peer dependencies for @livekit/rtc-node and @livekit/agents - [#170](https://github.com/livekit/agents-js/pull/170) ([@lukasIO](https://github.com/lukasIO))
|
|
12
|
-
|
|
13
|
-
- chore(tsconfig): enable `noUncheckedIndexedAccess` - [#168](https://github.com/livekit/agents-js/pull/168) ([@nbsp](https://github.com/nbsp))
|
|
14
|
-
|
|
15
|
-
- feat(openai): allow raw JSON function parameters - [#146](https://github.com/livekit/agents-js/pull/146) ([@nbsp](https://github.com/nbsp))
|
|
16
|
-
|
|
17
|
-
- Updated dependencies [[`f5dc9896a9eec2ba1e703d7209936bcc22d46b33`](https://github.com/livekit/agents-js/commit/f5dc9896a9eec2ba1e703d7209936bcc22d46b33), [`141519068094ca72f0fa86c4ee829ab3746bc02f`](https://github.com/livekit/agents-js/commit/141519068094ca72f0fa86c4ee829ab3746bc02f), [`6bff3b030063b2e851946b90ad9e7d981a46e2aa`](https://github.com/livekit/agents-js/commit/6bff3b030063b2e851946b90ad9e7d981a46e2aa), [`b719e7d5ffa37b541b219cd05c631483480e2103`](https://github.com/livekit/agents-js/commit/b719e7d5ffa37b541b219cd05c631483480e2103), [`1558b9bc4ed8ddc1c6b552875549a4fb96ec3802`](https://github.com/livekit/agents-js/commit/1558b9bc4ed8ddc1c6b552875549a4fb96ec3802)]:
|
|
18
|
-
- @livekit/agents@0.4.5
|
|
19
|
-
|
|
20
|
-
## 0.5.0
|
|
21
|
-
|
|
22
|
-
### Minor Changes
|
|
23
|
-
|
|
24
|
-
- add OpenAI/Groq STT - [#153](https://github.com/livekit/agents-js/pull/153) ([@nbsp](https://github.com/nbsp))
|
|
25
|
-
|
|
26
|
-
### Patch Changes
|
|
27
|
-
|
|
28
|
-
- add ChunkedStream, openai.TTS - [#155](https://github.com/livekit/agents-js/pull/155) ([@nbsp](https://github.com/nbsp))
|
|
29
|
-
|
|
30
|
-
- Updated dependencies [[`95ac1798daf846a14a4fb8b240412a7f66a897e6`](https://github.com/livekit/agents-js/commit/95ac1798daf846a14a4fb8b240412a7f66a897e6), [`cb500cb4319aab982d965c2ff118d2acbac965a8`](https://github.com/livekit/agents-js/commit/cb500cb4319aab982d965c2ff118d2acbac965a8), [`ddab1203ac56a88aa44defcc46f60b761b006292`](https://github.com/livekit/agents-js/commit/ddab1203ac56a88aa44defcc46f60b761b006292), [`cb500cb4319aab982d965c2ff118d2acbac965a8`](https://github.com/livekit/agents-js/commit/cb500cb4319aab982d965c2ff118d2acbac965a8)]:
|
|
31
|
-
- @livekit/agents@0.4.4
|
|
32
|
-
|
|
33
|
-
## 0.4.3
|
|
34
|
-
|
|
35
|
-
### Patch Changes
|
|
36
|
-
|
|
37
|
-
- Updated dependencies []:
|
|
38
|
-
- @livekit/agents@0.4.3
|
|
39
|
-
|
|
40
|
-
## 0.4.2
|
|
41
|
-
|
|
42
|
-
### Patch Changes
|
|
43
|
-
|
|
44
|
-
- Updated dependencies [[`38dd4c7d820de6faad512f0ac57c60f0fb1963be`](https://github.com/livekit/agents-js/commit/38dd4c7d820de6faad512f0ac57c60f0fb1963be)]:
|
|
45
|
-
- @livekit/agents@0.4.2
|
|
46
|
-
|
|
47
|
-
## 0.4.1
|
|
48
|
-
|
|
49
|
-
### Patch Changes
|
|
50
|
-
|
|
51
|
-
- Updated dependencies [[`d2f1ef9f54cd7dd13892aa2ebe2f3f348b01afcb`](https://github.com/livekit/agents-js/commit/d2f1ef9f54cd7dd13892aa2ebe2f3f348b01afcb)]:
|
|
52
|
-
- @livekit/agents@0.4.1
|
|
53
|
-
|
|
54
|
-
## 0.4.0
|
|
55
|
-
|
|
56
|
-
### Minor Changes
|
|
57
|
-
|
|
58
|
-
- OpenAI function calling: support arrays and optional fields in function call schema - [#140](https://github.com/livekit/agents-js/pull/140) ([@nbsp](https://github.com/nbsp))
|
|
59
|
-
|
|
60
|
-
- add OpenAI LLM - [#140](https://github.com/livekit/agents-js/pull/140) ([@nbsp](https://github.com/nbsp))
|
|
61
|
-
|
|
62
|
-
### Patch Changes
|
|
63
|
-
|
|
64
|
-
- add ChatContext - [#140](https://github.com/livekit/agents-js/pull/140) ([@nbsp](https://github.com/nbsp))
|
|
65
|
-
|
|
66
|
-
- Updated dependencies [[`d9273f27ae8df6c41e56a8258f540a4ffd9a7b7b`](https://github.com/livekit/agents-js/commit/d9273f27ae8df6c41e56a8258f540a4ffd9a7b7b), [`b4b9c1d337ff9a0212e90fb31002d4fcf58fe287`](https://github.com/livekit/agents-js/commit/b4b9c1d337ff9a0212e90fb31002d4fcf58fe287), [`4713a0490a3e4cd823aa648172c618ea924ae5d6`](https://github.com/livekit/agents-js/commit/4713a0490a3e4cd823aa648172c618ea924ae5d6), [`09782ec316590aa956d1a234dfb5594a8974dbfc`](https://github.com/livekit/agents-js/commit/09782ec316590aa956d1a234dfb5594a8974dbfc), [`d32f2470d4d1ea6786f4e13334f7251cc9823c04`](https://github.com/livekit/agents-js/commit/d32f2470d4d1ea6786f4e13334f7251cc9823c04), [`37bcf55aa75a289978af82e86332298dd7c07c73`](https://github.com/livekit/agents-js/commit/37bcf55aa75a289978af82e86332298dd7c07c73), [`35265a5b58adcbc048078d39c115412734dd4462`](https://github.com/livekit/agents-js/commit/35265a5b58adcbc048078d39c115412734dd4462), [`61899cde8c7fc19791d9d7d6a5ccabc2bb8f94dd`](https://github.com/livekit/agents-js/commit/61899cde8c7fc19791d9d7d6a5ccabc2bb8f94dd), [`644effb7c607e214e8d3ff8147afa7aec4a2496b`](https://github.com/livekit/agents-js/commit/644effb7c607e214e8d3ff8147afa7aec4a2496b), [`0e40262f3a60823d3d9cabbbd90f71c943db6c0e`](https://github.com/livekit/agents-js/commit/0e40262f3a60823d3d9cabbbd90f71c943db6c0e), [`cb788b7c37ca2297c04f5deb410a2fdab70d5c5f`](https://github.com/livekit/agents-js/commit/cb788b7c37ca2297c04f5deb410a2fdab70d5c5f), [`f844e8bb865beadbc58ea1c3a21e362aee1dce55`](https://github.com/livekit/agents-js/commit/f844e8bb865beadbc58ea1c3a21e362aee1dce55)]:
|
|
67
|
-
- @livekit/agents@0.4.0
|
|
68
|
-
|
|
69
|
-
## 0.3.5
|
|
70
|
-
|
|
71
|
-
### Patch Changes
|
|
72
|
-
|
|
73
|
-
- fix(treewide): use newer rtc-node version - [#118](https://github.com/livekit/agents-js/pull/118) ([@nbsp](https://github.com/nbsp))
|
|
74
|
-
|
|
75
|
-
- Update everything to rtc 0.11.0 - [#125](https://github.com/livekit/agents-js/pull/125) ([@bcherry](https://github.com/bcherry))
|
|
76
|
-
|
|
77
|
-
- Updated dependencies [[`1697907941f6afbbfcc6385d56d0894abb8768cc`](https://github.com/livekit/agents-js/commit/1697907941f6afbbfcc6385d56d0894abb8768cc), [`99eb758e6b3e965cb842e4ba6ef95551978fd1e0`](https://github.com/livekit/agents-js/commit/99eb758e6b3e965cb842e4ba6ef95551978fd1e0), [`d8de7546566324cbb456613578c403c721481cb5`](https://github.com/livekit/agents-js/commit/d8de7546566324cbb456613578c403c721481cb5)]:
|
|
78
|
-
- @livekit/agents@0.3.5
|
|
79
|
-
|
|
80
|
-
## 0.3.4
|
|
81
|
-
|
|
82
|
-
### Patch Changes
|
|
83
|
-
|
|
84
|
-
- Updated dependencies [[`2f158493ebb53df28d9941c2bd24d811cf62495a`](https://github.com/livekit/agents-js/commit/2f158493ebb53df28d9941c2bd24d811cf62495a), [`ed3d7595a8a0ab3fd1bfeb738c7d38889ceaf358`](https://github.com/livekit/agents-js/commit/ed3d7595a8a0ab3fd1bfeb738c7d38889ceaf358)]:
|
|
85
|
-
- @livekit/agents@0.3.4
|
|
86
|
-
|
|
87
|
-
## 0.3.3
|
|
88
|
-
|
|
89
|
-
### Patch Changes
|
|
90
|
-
|
|
91
|
-
- Support for Azure OpenAI Realtime - [#110](https://github.com/livekit/agents-js/pull/110) ([@nbsp](https://github.com/nbsp))
|
|
92
|
-
|
|
93
|
-
- Updated dependencies [[`062935a1677a4a6f6c99f7cd52dfebae41039a85`](https://github.com/livekit/agents-js/commit/062935a1677a4a6f6c99f7cd52dfebae41039a85), [`062935a1677a4a6f6c99f7cd52dfebae41039a85`](https://github.com/livekit/agents-js/commit/062935a1677a4a6f6c99f7cd52dfebae41039a85)]:
|
|
94
|
-
- @livekit/agents@0.3.3
|
|
95
|
-
|
|
96
|
-
## 0.3.2
|
|
97
|
-
|
|
98
|
-
### Patch Changes
|
|
99
|
-
|
|
100
|
-
- A few more bugs and updates - [#88](https://github.com/livekit/agents-js/pull/88) ([@bcherry](https://github.com/bcherry))
|
|
101
|
-
|
|
102
|
-
- Updated dependencies [[`56333dd89486a1a10157f57576447d3bb7cb83c3`](https://github.com/livekit/agents-js/commit/56333dd89486a1a10157f57576447d3bb7cb83c3), [`07b4d4b123955bd850a208471d651810e075f0af`](https://github.com/livekit/agents-js/commit/07b4d4b123955bd850a208471d651810e075f0af)]:
|
|
103
|
-
- @livekit/agents@0.3.2
|
|
104
|
-
|
|
105
|
-
## 0.3.1
|
|
106
|
-
|
|
107
|
-
### Patch Changes
|
|
108
|
-
|
|
109
|
-
- implement session close - [#79](https://github.com/livekit/agents-js/pull/79) ([@nbsp](https://github.com/nbsp))
|
|
110
|
-
|
|
111
|
-
- make sure rejects return errors, not string - [#84](https://github.com/livekit/agents-js/pull/84) ([@nbsp](https://github.com/nbsp))
|
|
112
|
-
|
|
113
|
-
- Updated dependencies [[`d3db7cf19c696f611b5717ff8d510b2f910da712`](https://github.com/livekit/agents-js/commit/d3db7cf19c696f611b5717ff8d510b2f910da712), [`c0cce8a0f71cd8def7052917d8a6479e06178447`](https://github.com/livekit/agents-js/commit/c0cce8a0f71cd8def7052917d8a6479e06178447), [`e748aa4f7be76361c5fcafb03bdb760314b29a9f`](https://github.com/livekit/agents-js/commit/e748aa4f7be76361c5fcafb03bdb760314b29a9f), [`b35952ca243fecb087c898b670f5db0eaa1949bf`](https://github.com/livekit/agents-js/commit/b35952ca243fecb087c898b670f5db0eaa1949bf), [`4edacb8ba7dbbdd060dfedffe3116f1af4739b52`](https://github.com/livekit/agents-js/commit/4edacb8ba7dbbdd060dfedffe3116f1af4739b52)]:
|
|
114
|
-
- @livekit/agents@0.3.1
|
|
115
|
-
|
|
116
|
-
## 0.3.0
|
|
117
|
-
|
|
118
|
-
### Minor Changes
|
|
119
|
-
|
|
120
|
-
- Hotfix for new API format - [#67](https://github.com/livekit/agents-js/pull/67) ([@bcherry](https://github.com/bcherry))
|
|
121
|
-
|
|
122
|
-
- Rename to MultimodalAgent, move to main package - [#74](https://github.com/livekit/agents-js/pull/74) ([@bcherry](https://github.com/bcherry))
|
|
123
|
-
|
|
124
|
-
- omniassistant overhaul - [#65](https://github.com/livekit/agents-js/pull/65) ([@nbsp](https://github.com/nbsp))
|
|
125
|
-
|
|
126
|
-
### Patch Changes
|
|
127
|
-
|
|
128
|
-
- update rtc-node to 0.9.0 - [#73](https://github.com/livekit/agents-js/pull/73) ([@nbsp](https://github.com/nbsp))
|
|
129
|
-
|
|
130
|
-
- Updated dependencies [[`9cb2313f06f9d013ca3b08980a7ade1b6b43a04a`](https://github.com/livekit/agents-js/commit/9cb2313f06f9d013ca3b08980a7ade1b6b43a04a), [`08b9a329c05a6a1369de7682f555445f669fea79`](https://github.com/livekit/agents-js/commit/08b9a329c05a6a1369de7682f555445f669fea79), [`d703265a57c4491d7799936117a8a2b8ad527653`](https://github.com/livekit/agents-js/commit/d703265a57c4491d7799936117a8a2b8ad527653), [`5cbd46c715ded05107cd78492d85551c2ce924ae`](https://github.com/livekit/agents-js/commit/5cbd46c715ded05107cd78492d85551c2ce924ae), [`eee688907aafdef8ca2856929b8eb10ba72e8dee`](https://github.com/livekit/agents-js/commit/eee688907aafdef8ca2856929b8eb10ba72e8dee), [`9cb2313f06f9d013ca3b08980a7ade1b6b43a04a`](https://github.com/livekit/agents-js/commit/9cb2313f06f9d013ca3b08980a7ade1b6b43a04a), [`856ebe2294962f64b81c8f635bd762b513b2faac`](https://github.com/livekit/agents-js/commit/856ebe2294962f64b81c8f635bd762b513b2faac), [`c509b62972892ea3945403ef0cd50c2ece3fd4f2`](https://github.com/livekit/agents-js/commit/c509b62972892ea3945403ef0cd50c2ece3fd4f2), [`45cb43f41a5d53a048eef392bb81313ad5e95121`](https://github.com/livekit/agents-js/commit/45cb43f41a5d53a048eef392bb81313ad5e95121), [`eb7e73173c46dbbcee4e728299b8fe05fb8fdc01`](https://github.com/livekit/agents-js/commit/eb7e73173c46dbbcee4e728299b8fe05fb8fdc01)]:
|
|
131
|
-
- @livekit/agents@0.3.0
|
|
132
|
-
|
|
133
|
-
## 0.2.0
|
|
134
|
-
|
|
135
|
-
### Minor Changes
|
|
136
|
-
|
|
137
|
-
- mark omniassistant as alpha - [#59](https://github.com/livekit/agents-js/pull/59) ([@nbsp](https://github.com/nbsp))
|
|
138
|
-
|
|
139
|
-
### Patch Changes
|
|
140
|
-
|
|
141
|
-
- Fix assistant startup process - [#36](https://github.com/livekit/agents-js/pull/36) ([@bcherry](https://github.com/bcherry))
|
|
142
|
-
|
|
143
|
-
- Send agent transcript progressively and handle interruptions - [#40](https://github.com/livekit/agents-js/pull/40) ([@bcherry](https://github.com/bcherry))
|
|
144
|
-
|
|
145
|
-
- Add transcript support to realtime voice assistant - [`1063d2a25c4a01022948699e673d267d04c1ec05`](https://github.com/livekit/agents-js/commit/1063d2a25c4a01022948699e673d267d04c1ec05) ([@bcherry](https://github.com/bcherry))
|
|
146
|
-
|
|
147
|
-
- Updated dependencies [[`1c8caf04c148dfa57af4e844b6538d97d6be652a`](https://github.com/livekit/agents-js/commit/1c8caf04c148dfa57af4e844b6538d97d6be652a), [`5923b1a796642bec4892f41545ea1be1c6b9fb36`](https://github.com/livekit/agents-js/commit/5923b1a796642bec4892f41545ea1be1c6b9fb36), [`be7160d39ea57239a51fbf6ad2cbea1342cc1889`](https://github.com/livekit/agents-js/commit/be7160d39ea57239a51fbf6ad2cbea1342cc1889), [`24a4f58a23d4a3aad8620fcccabdab5d2e1152c7`](https://github.com/livekit/agents-js/commit/24a4f58a23d4a3aad8620fcccabdab5d2e1152c7), [`1063d2a25c4a01022948699e673d267d04c1ec05`](https://github.com/livekit/agents-js/commit/1063d2a25c4a01022948699e673d267d04c1ec05), [`36c553a60fef7621b9c4232b5c79555b2f83aad8`](https://github.com/livekit/agents-js/commit/36c553a60fef7621b9c4232b5c79555b2f83aad8)]:
|
|
148
|
-
- @livekit/agents@0.2.0
|
package/api-extractor.json
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Config file for API Extractor. For more info, please visit: https://api-extractor.com
|
|
3
|
-
*/
|
|
4
|
-
{
|
|
5
|
-
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Optionally specifies another JSON config file that this file extends from. This provides a way for
|
|
9
|
-
* standard settings to be shared across multiple projects.
|
|
10
|
-
*
|
|
11
|
-
* If the path starts with "./" or "../", the path is resolved relative to the folder of the file that contains
|
|
12
|
-
* the "extends" field. Otherwise, the first path segment is interpreted as an NPM package name, and will be
|
|
13
|
-
* resolved using NodeJS require().
|
|
14
|
-
*
|
|
15
|
-
* SUPPORTED TOKENS: none
|
|
16
|
-
* DEFAULT VALUE: ""
|
|
17
|
-
*/
|
|
18
|
-
"extends": "../../api-extractor-shared.json",
|
|
19
|
-
"mainEntryPointFilePath": "./dist/index.d.ts"
|
|
20
|
-
}
|
package/tsconfig.json
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"extends": "../../tsconfig.json",
|
|
3
|
-
"include": ["./src"],
|
|
4
|
-
"compilerOptions": {
|
|
5
|
-
// match output dir to input dir. e.g. dist/index instead of dist/src/index
|
|
6
|
-
"rootDir": "./src",
|
|
7
|
-
"declarationDir": "./dist",
|
|
8
|
-
"outDir": "./dist"
|
|
9
|
-
},
|
|
10
|
-
"typedocOptions": {
|
|
11
|
-
"name": "plugins/agents-plugin-openai",
|
|
12
|
-
"entryPointStrategy": "resolve",
|
|
13
|
-
"entryPoints": ["src/index.ts"]
|
|
14
|
-
},
|
|
15
|
-
"references": [{ "path": "../../agents/tsconfig.json" }]
|
|
16
|
-
}
|