openai 4.14.2 → 4.15.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/CHANGELOG.md +11 -0
- package/README.md +114 -1
- package/core.d.ts +1 -0
- package/core.d.ts.map +1 -1
- package/core.js +5 -1
- package/core.js.map +1 -1
- package/core.mjs +5 -1
- package/core.mjs.map +1 -1
- package/index.d.mts +2 -0
- package/index.d.ts +2 -0
- package/index.d.ts.map +1 -1
- package/index.js +2 -0
- package/index.js.map +1 -1
- package/index.mjs +2 -0
- package/index.mjs.map +1 -1
- package/lib/AbstractChatCompletionRunner.d.ts +111 -0
- package/lib/AbstractChatCompletionRunner.d.ts.map +1 -0
- package/lib/AbstractChatCompletionRunner.js +386 -0
- package/lib/AbstractChatCompletionRunner.js.map +1 -0
- package/lib/AbstractChatCompletionRunner.mjs +382 -0
- package/lib/AbstractChatCompletionRunner.mjs.map +1 -0
- package/lib/ChatCompletionRunFunctions.test.d.ts +2 -0
- package/lib/ChatCompletionRunFunctions.test.d.ts.map +1 -0
- package/lib/ChatCompletionRunFunctions.test.js +1850 -0
- package/lib/ChatCompletionRunFunctions.test.js.map +1 -0
- package/lib/ChatCompletionRunFunctions.test.mjs +1845 -0
- package/lib/ChatCompletionRunFunctions.test.mjs.map +1 -0
- package/lib/ChatCompletionRunner.d.ts +17 -0
- package/lib/ChatCompletionRunner.d.ts.map +1 -0
- package/lib/ChatCompletionRunner.js +19 -0
- package/lib/ChatCompletionRunner.js.map +1 -0
- package/lib/ChatCompletionRunner.mjs +15 -0
- package/lib/ChatCompletionRunner.mjs.map +1 -0
- package/lib/ChatCompletionStream.d.ts +111 -0
- package/lib/ChatCompletionStream.d.ts.map +1 -0
- package/lib/ChatCompletionStream.js +210 -0
- package/lib/ChatCompletionStream.js.map +1 -0
- package/lib/ChatCompletionStream.mjs +206 -0
- package/lib/ChatCompletionStream.mjs.map +1 -0
- package/lib/ChatCompletionStreamingRunner.d.ts +20 -0
- package/lib/ChatCompletionStreamingRunner.d.ts.map +1 -0
- package/lib/ChatCompletionStreamingRunner.js +18 -0
- package/lib/ChatCompletionStreamingRunner.js.map +1 -0
- package/lib/ChatCompletionStreamingRunner.mjs +14 -0
- package/lib/ChatCompletionStreamingRunner.mjs.map +1 -0
- package/lib/RunnableFunction.d.ts +70 -0
- package/lib/RunnableFunction.d.ts.map +1 -0
- package/lib/RunnableFunction.js +22 -0
- package/lib/RunnableFunction.js.map +1 -0
- package/lib/RunnableFunction.mjs +17 -0
- package/lib/RunnableFunction.mjs.map +1 -0
- package/lib/jsonschema.d.ts +106 -0
- package/lib/jsonschema.d.ts.map +1 -0
- package/lib/jsonschema.js +11 -0
- package/lib/jsonschema.js.map +1 -0
- package/lib/jsonschema.mjs +10 -0
- package/lib/jsonschema.mjs.map +1 -0
- package/package.json +1 -1
- package/resources/beta/beta.d.ts +9 -0
- package/resources/beta/beta.d.ts.map +1 -0
- package/resources/beta/beta.js +40 -0
- package/resources/beta/beta.js.map +1 -0
- package/resources/beta/beta.mjs +13 -0
- package/resources/beta/beta.mjs.map +1 -0
- package/resources/beta/chat/chat.d.ts +9 -0
- package/resources/beta/chat/chat.d.ts.map +1 -0
- package/resources/beta/chat/chat.js +40 -0
- package/resources/beta/chat/chat.js.map +1 -0
- package/resources/beta/chat/chat.mjs +13 -0
- package/resources/beta/chat/chat.mjs.map +1 -0
- package/resources/beta/chat/completions.d.ts +28 -0
- package/resources/beta/chat/completions.d.ts.map +1 -0
- package/resources/beta/chat/completions.js +32 -0
- package/resources/beta/chat/completions.js.map +1 -0
- package/resources/beta/chat/completions.mjs +24 -0
- package/resources/beta/chat/completions.mjs.map +1 -0
- package/resources/beta/chat/index.d.ts +3 -0
- package/resources/beta/chat/index.d.ts.map +1 -0
- package/resources/beta/chat/index.js +9 -0
- package/resources/beta/chat/index.js.map +1 -0
- package/resources/beta/chat/index.mjs +4 -0
- package/resources/beta/chat/index.mjs.map +1 -0
- package/resources/beta/index.d.ts +3 -0
- package/resources/beta/index.d.ts.map +1 -0
- package/resources/beta/index.js +9 -0
- package/resources/beta/index.js.map +1 -0
- package/resources/beta/index.mjs +4 -0
- package/resources/beta/index.mjs.map +1 -0
- package/resources/index.d.ts +1 -0
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +3 -1
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +1 -0
- package/resources/index.mjs.map +1 -1
- package/src/core.ts +11 -2
- package/src/index.ts +3 -0
- package/src/lib/AbstractChatCompletionRunner.ts +488 -0
- package/src/lib/ChatCompletionRunFunctions.test.ts +1987 -0
- package/src/lib/ChatCompletionRunner.ts +42 -0
- package/src/lib/ChatCompletionStream.ts +327 -0
- package/src/lib/ChatCompletionStreamingRunner.ts +43 -0
- package/src/lib/RunnableFunction.ts +96 -0
- package/src/lib/jsonschema.ts +148 -0
- package/src/resources/beta/beta.ts +12 -0
- package/src/resources/beta/chat/chat.ts +12 -0
- package/src/resources/beta/chat/completions.ts +70 -0
- package/src/resources/beta/chat/index.ts +4 -0
- package/src/resources/beta/index.ts +4 -0
- package/src/resources/index.ts +1 -0
- package/src/streaming.ts +13 -4
- package/src/version.ts +1 -1
- package/streaming.d.ts +13 -0
- package/streaming.d.ts.map +1 -1
- package/streaming.js +13 -4
- package/streaming.js.map +1 -1
- package/streaming.mjs +13 -4
- package/streaming.mjs.map +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatCompletionRunFunctions.test.mjs","sourceRoot":"","sources":["../src/lib/ChatCompletionRunFunctions.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as Core from 'openai/core';
|
|
2
|
+
import { type Completions, type ChatCompletionMessage, type ChatCompletionMessageParam, type ChatCompletionCreateParamsNonStreaming } from 'openai/resources/chat/completions';
|
|
3
|
+
import { type RunnableFunctions, type BaseFunctionsArgs } from "./RunnableFunction.js";
|
|
4
|
+
import { AbstractChatCompletionRunner, AbstractChatCompletionRunnerEvents } from "./AbstractChatCompletionRunner.js";
|
|
5
|
+
export interface ChatCompletionRunnerEvents extends AbstractChatCompletionRunnerEvents {
|
|
6
|
+
content: (content: string) => void;
|
|
7
|
+
}
|
|
8
|
+
export type ChatCompletionFunctionRunnerParams<FunctionsArgs extends BaseFunctionsArgs> = Omit<ChatCompletionCreateParamsNonStreaming, 'functions'> & {
|
|
9
|
+
functions: RunnableFunctions<FunctionsArgs>;
|
|
10
|
+
};
|
|
11
|
+
export declare class ChatCompletionRunner extends AbstractChatCompletionRunner<ChatCompletionRunnerEvents> {
|
|
12
|
+
static runFunctions(completions: Completions, params: ChatCompletionFunctionRunnerParams<any[]>, options?: Core.RequestOptions & {
|
|
13
|
+
maxChatCompletions?: number;
|
|
14
|
+
}): ChatCompletionRunner;
|
|
15
|
+
_addMessage(message: ChatCompletionMessage | ChatCompletionMessageParam): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=ChatCompletionRunner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatCompletionRunner.d.ts","sourceRoot":"","sources":["../src/lib/ChatCompletionRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,sCAAsC,EAC5C,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EACL,4BAA4B,EAC5B,kCAAkC,EACnC,MAAM,gCAAgC,CAAC;AAExC,MAAM,WAAW,0BAA2B,SAAQ,kCAAkC;IACpF,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,MAAM,kCAAkC,CAAC,aAAa,SAAS,iBAAiB,IAAI,IAAI,CAC5F,sCAAsC,EACtC,WAAW,CACZ,GAAG;IACF,SAAS,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;CAC7C,CAAC;AAEF,qBAAa,oBAAqB,SAAQ,4BAA4B,CAAC,0BAA0B,CAAC;IAChG,MAAM,CAAC,YAAY,CACjB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,kCAAkC,CAAC,GAAG,EAAE,CAAC,EACjD,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,GAAG;QAAE,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9D,oBAAoB;IAMd,WAAW,CAAC,OAAO,EAAE,qBAAqB,GAAG,0BAA0B;CAMjF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ChatCompletionRunner = void 0;
|
|
4
|
+
const AbstractChatCompletionRunner_1 = require("./AbstractChatCompletionRunner.js");
|
|
5
|
+
class ChatCompletionRunner extends AbstractChatCompletionRunner_1.AbstractChatCompletionRunner {
|
|
6
|
+
static runFunctions(completions, params, options) {
|
|
7
|
+
const runner = new ChatCompletionRunner();
|
|
8
|
+
runner._run(() => runner._runFunctions(completions, params, options));
|
|
9
|
+
return runner;
|
|
10
|
+
}
|
|
11
|
+
_addMessage(message) {
|
|
12
|
+
super._addMessage(message);
|
|
13
|
+
if (message.role === 'assistant' && message.content) {
|
|
14
|
+
this._emit('content', message.content);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.ChatCompletionRunner = ChatCompletionRunner;
|
|
19
|
+
//# sourceMappingURL=ChatCompletionRunner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatCompletionRunner.js","sourceRoot":"","sources":["../src/lib/ChatCompletionRunner.ts"],"names":[],"mappings":";;;AAQA,oFAGwC;AAaxC,MAAa,oBAAqB,SAAQ,2DAAwD;IAChG,MAAM,CAAC,YAAY,CACjB,WAAwB,EACxB,MAAiD,EACjD,OAA+D;QAE/D,MAAM,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACtE,OAAO,MAAM,CAAC;IAChB,CAAC;IAEQ,WAAW,CAAC,OAA2D;QAC9E,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE;YACnD,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;SACxC;IACH,CAAC;CACF;AAjBD,oDAiBC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AbstractChatCompletionRunner, } from "./AbstractChatCompletionRunner.mjs";
|
|
2
|
+
export class ChatCompletionRunner extends AbstractChatCompletionRunner {
|
|
3
|
+
static runFunctions(completions, params, options) {
|
|
4
|
+
const runner = new ChatCompletionRunner();
|
|
5
|
+
runner._run(() => runner._runFunctions(completions, params, options));
|
|
6
|
+
return runner;
|
|
7
|
+
}
|
|
8
|
+
_addMessage(message) {
|
|
9
|
+
super._addMessage(message);
|
|
10
|
+
if (message.role === 'assistant' && message.content) {
|
|
11
|
+
this._emit('content', message.content);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=ChatCompletionRunner.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatCompletionRunner.mjs","sourceRoot":"","sources":["../src/lib/ChatCompletionRunner.ts"],"names":[],"mappings":"OAQO,EACL,4BAA4B,GAE7B;AAaD,MAAM,OAAO,oBAAqB,SAAQ,4BAAwD;IAChG,MAAM,CAAC,YAAY,CACjB,WAAwB,EACxB,MAAiD,EACjD,OAA+D;QAE/D,MAAM,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACtE,OAAO,MAAM,CAAC;IAChB,CAAC;IAEQ,WAAW,CAAC,OAA2D;QAC9E,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE;YACnD,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;SACxC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import * as Core from 'openai/core';
|
|
2
|
+
import { Completions, type ChatCompletion, type ChatCompletionChunk, type ChatCompletionCreateParams, ChatCompletionCreateParamsBase } from 'openai/resources/chat/completions';
|
|
3
|
+
import { AbstractChatCompletionRunner, type AbstractChatCompletionRunnerEvents } from "./AbstractChatCompletionRunner.js";
|
|
4
|
+
import { type ReadableStream } from 'openai/_shims/index';
|
|
5
|
+
export interface ChatCompletionStreamEvents extends AbstractChatCompletionRunnerEvents {
|
|
6
|
+
content: (contentDelta: string, contentSnapshot: string) => void;
|
|
7
|
+
chunk: (chunk: ChatCompletionChunk, snapshot: ChatCompletionSnapshot) => void;
|
|
8
|
+
}
|
|
9
|
+
export type ChatCompletionStreamParams = Omit<ChatCompletionCreateParamsBase, 'stream'> & {
|
|
10
|
+
stream?: true;
|
|
11
|
+
};
|
|
12
|
+
export declare class ChatCompletionStream extends AbstractChatCompletionRunner<ChatCompletionStreamEvents> implements AsyncIterable<ChatCompletionChunk> {
|
|
13
|
+
#private;
|
|
14
|
+
get currentChatCompletionSnapshot(): ChatCompletionSnapshot | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* Intended for use on the frontend, consuming a stream produced with
|
|
17
|
+
* `.toReadableStream()` on the backend.
|
|
18
|
+
*
|
|
19
|
+
* Note that messages sent to the model do not appear in `.on('message')`
|
|
20
|
+
* in this context.
|
|
21
|
+
*/
|
|
22
|
+
static fromReadableStream(stream: ReadableStream): ChatCompletionStream;
|
|
23
|
+
static createChatCompletion(completions: Completions, params: ChatCompletionStreamParams, options?: Core.RequestOptions): ChatCompletionStream;
|
|
24
|
+
protected _createChatCompletion(completions: Completions, params: ChatCompletionCreateParams, options?: Core.RequestOptions): Promise<ChatCompletion>;
|
|
25
|
+
protected _fromReadableStream(readableStream: ReadableStream, options?: Core.RequestOptions): Promise<ChatCompletion>;
|
|
26
|
+
[Symbol.asyncIterator](): AsyncIterator<ChatCompletionChunk>;
|
|
27
|
+
toReadableStream(): ReadableStream;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Represents a streamed chunk of a chat completion response returned by model,
|
|
31
|
+
* based on the provided input.
|
|
32
|
+
*/
|
|
33
|
+
export interface ChatCompletionSnapshot {
|
|
34
|
+
/**
|
|
35
|
+
* A unique identifier for the chat completion.
|
|
36
|
+
*/
|
|
37
|
+
id: string;
|
|
38
|
+
/**
|
|
39
|
+
* A list of chat completion choices. Can be more than one if `n` is greater
|
|
40
|
+
* than 1.
|
|
41
|
+
*/
|
|
42
|
+
choices: Array<ChatCompletionSnapshot.Choice>;
|
|
43
|
+
/**
|
|
44
|
+
* The Unix timestamp (in seconds) of when the chat completion was created.
|
|
45
|
+
*/
|
|
46
|
+
created: number;
|
|
47
|
+
/**
|
|
48
|
+
* The model to generate the completion.
|
|
49
|
+
*/
|
|
50
|
+
model: string;
|
|
51
|
+
}
|
|
52
|
+
export declare namespace ChatCompletionSnapshot {
|
|
53
|
+
interface Choice {
|
|
54
|
+
/**
|
|
55
|
+
* A chat completion delta generated by streamed model responses.
|
|
56
|
+
*/
|
|
57
|
+
message: Choice.Message;
|
|
58
|
+
/**
|
|
59
|
+
* The reason the model stopped generating tokens. This will be `stop` if the model
|
|
60
|
+
* hit a natural stop point or a provided stop sequence, `length` if the maximum
|
|
61
|
+
* number of tokens specified in the request was reached, `content_filter` if
|
|
62
|
+
* content was omitted due to a flag from our content filters, or `function_call`
|
|
63
|
+
* if the model called a function.
|
|
64
|
+
*/
|
|
65
|
+
finish_reason: 'stop' | 'length' | 'function_call' | 'content_filter' | null;
|
|
66
|
+
/**
|
|
67
|
+
* The index of the choice in the list of choices.
|
|
68
|
+
*/
|
|
69
|
+
index: number;
|
|
70
|
+
}
|
|
71
|
+
namespace Choice {
|
|
72
|
+
/**
|
|
73
|
+
* A chat completion delta generated by streamed model responses.
|
|
74
|
+
*/
|
|
75
|
+
interface Message {
|
|
76
|
+
/**
|
|
77
|
+
* The contents of the chunk message.
|
|
78
|
+
*/
|
|
79
|
+
content?: string | null;
|
|
80
|
+
/**
|
|
81
|
+
* The name and arguments of a function that should be called, as generated by the
|
|
82
|
+
* model.
|
|
83
|
+
*/
|
|
84
|
+
function_call?: Message.FunctionCall;
|
|
85
|
+
/**
|
|
86
|
+
* The role of the author of this message.
|
|
87
|
+
*/
|
|
88
|
+
role?: 'system' | 'user' | 'assistant' | 'function';
|
|
89
|
+
}
|
|
90
|
+
namespace Message {
|
|
91
|
+
/**
|
|
92
|
+
* The name and arguments of a function that should be called, as generated by the
|
|
93
|
+
* model.
|
|
94
|
+
*/
|
|
95
|
+
interface FunctionCall {
|
|
96
|
+
/**
|
|
97
|
+
* The arguments to call the function with, as generated by the model in JSON
|
|
98
|
+
* format. Note that the model does not always generate valid JSON, and may
|
|
99
|
+
* hallucinate parameters not defined by your function schema. Validate the
|
|
100
|
+
* arguments in your code before calling your function.
|
|
101
|
+
*/
|
|
102
|
+
arguments?: string;
|
|
103
|
+
/**
|
|
104
|
+
* The name of the function to call.
|
|
105
|
+
*/
|
|
106
|
+
name?: string;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=ChatCompletionStream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatCompletionStream.d.ts","sourceRoot":"","sources":["../src/lib/ChatCompletionStream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAEpC,OAAO,EACL,WAAW,EACX,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,8BAA8B,EAC/B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,4BAA4B,EAC5B,KAAK,kCAAkC,EACxC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D,MAAM,WAAW,0BAA2B,SAAQ,kCAAkC;IACpF,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,KAAK,EAAE,CAAC,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,sBAAsB,KAAK,IAAI,CAAC;CAC/E;AAED,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,8BAA8B,EAAE,QAAQ,CAAC,GAAG;IACxF,MAAM,CAAC,EAAE,IAAI,CAAC;CACf,CAAC;AAEF,qBAAa,oBACX,SAAQ,4BAA4B,CAAC,0BAA0B,CAC/D,YAAW,aAAa,CAAC,mBAAmB,CAAC;;IAI7C,IAAI,6BAA6B,IAAI,sBAAsB,GAAG,SAAS,CAEtE;IAED;;;;;;OAMG;IACH,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,oBAAoB;IAMvE,MAAM,CAAC,oBAAoB,CACzB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,0BAA0B,EAClC,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,GAC5B,oBAAoB;cAgCE,qBAAqB,CAC5C,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,0BAA0B,EAClC,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,GAC5B,OAAO,CAAC,cAAc,CAAC;cAqBV,mBAAmB,CACjC,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,GAC5B,OAAO,CAAC,cAAc,CAAC;IAwD1B,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,mBAAmB,CAAC;IAsC5D,gBAAgB,IAAI,cAAc;CAInC;AAwBD;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,OAAO,EAAE,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAE9C;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED,yBAAiB,sBAAsB,CAAC;IACtC,UAAiB,MAAM;QACrB;;WAEG;QACH,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;QAExB;;;;;;WAMG;QACH,aAAa,EAAE,MAAM,GAAG,QAAQ,GAAG,eAAe,GAAG,gBAAgB,GAAG,IAAI,CAAC;QAE7E;;WAEG;QACH,KAAK,EAAE,MAAM,CAAC;KACf;IAED,UAAiB,MAAM,CAAC;QACtB;;WAEG;QACH,UAAiB,OAAO;YACtB;;eAEG;YACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAExB;;;eAGG;YACH,aAAa,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;YAErC;;eAEG;YACH,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,CAAC;SACrD;QAED,UAAiB,OAAO,CAAC;YACvB;;;eAGG;YACH,UAAiB,YAAY;gBAC3B;;;;;mBAKG;gBACH,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEnB;;mBAEG;gBACH,IAAI,CAAC,EAAE,MAAM,CAAC;aACf;SACF;KACF;CACF"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
5
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
8
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
11
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
12
|
+
};
|
|
13
|
+
var _ChatCompletionStream_instances, _ChatCompletionStream_currentChatCompletionSnapshot, _ChatCompletionStream_beginRequest, _ChatCompletionStream_addChunk, _ChatCompletionStream_endRequest, _ChatCompletionStream_accumulateChatCompletion;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.ChatCompletionStream = void 0;
|
|
16
|
+
const error_1 = require("openai/error");
|
|
17
|
+
const AbstractChatCompletionRunner_1 = require("./AbstractChatCompletionRunner.js");
|
|
18
|
+
const streaming_1 = require("openai/streaming");
|
|
19
|
+
class ChatCompletionStream extends AbstractChatCompletionRunner_1.AbstractChatCompletionRunner {
|
|
20
|
+
constructor() {
|
|
21
|
+
super(...arguments);
|
|
22
|
+
_ChatCompletionStream_instances.add(this);
|
|
23
|
+
_ChatCompletionStream_currentChatCompletionSnapshot.set(this, void 0);
|
|
24
|
+
}
|
|
25
|
+
get currentChatCompletionSnapshot() {
|
|
26
|
+
return __classPrivateFieldGet(this, _ChatCompletionStream_currentChatCompletionSnapshot, "f");
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Intended for use on the frontend, consuming a stream produced with
|
|
30
|
+
* `.toReadableStream()` on the backend.
|
|
31
|
+
*
|
|
32
|
+
* Note that messages sent to the model do not appear in `.on('message')`
|
|
33
|
+
* in this context.
|
|
34
|
+
*/
|
|
35
|
+
static fromReadableStream(stream) {
|
|
36
|
+
const runner = new ChatCompletionStream();
|
|
37
|
+
runner._run(() => runner._fromReadableStream(stream));
|
|
38
|
+
return runner;
|
|
39
|
+
}
|
|
40
|
+
static createChatCompletion(completions, params, options) {
|
|
41
|
+
const runner = new ChatCompletionStream();
|
|
42
|
+
runner._run(() => runner._runChatCompletion(completions, { ...params, stream: true }, options));
|
|
43
|
+
return runner;
|
|
44
|
+
}
|
|
45
|
+
async _createChatCompletion(completions, params, options) {
|
|
46
|
+
const signal = options?.signal;
|
|
47
|
+
if (signal) {
|
|
48
|
+
if (signal.aborted)
|
|
49
|
+
this.controller.abort();
|
|
50
|
+
signal.addEventListener('abort', () => this.controller.abort());
|
|
51
|
+
}
|
|
52
|
+
__classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_beginRequest).call(this);
|
|
53
|
+
const stream = await completions.create({ ...params, stream: true }, { ...options, signal: this.controller.signal });
|
|
54
|
+
this._connected();
|
|
55
|
+
for await (const chunk of stream) {
|
|
56
|
+
__classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_addChunk).call(this, chunk);
|
|
57
|
+
}
|
|
58
|
+
if (stream.controller.signal?.aborted) {
|
|
59
|
+
throw new error_1.APIUserAbortError();
|
|
60
|
+
}
|
|
61
|
+
return this._addChatCompletion(__classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_endRequest).call(this));
|
|
62
|
+
}
|
|
63
|
+
async _fromReadableStream(readableStream, options) {
|
|
64
|
+
const signal = options?.signal;
|
|
65
|
+
if (signal) {
|
|
66
|
+
if (signal.aborted)
|
|
67
|
+
this.controller.abort();
|
|
68
|
+
signal.addEventListener('abort', () => this.controller.abort());
|
|
69
|
+
}
|
|
70
|
+
__classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_beginRequest).call(this);
|
|
71
|
+
this._connected();
|
|
72
|
+
const stream = streaming_1.Stream.fromReadableStream(readableStream, this.controller);
|
|
73
|
+
let chatId;
|
|
74
|
+
for await (const chunk of stream) {
|
|
75
|
+
if (chatId && chatId !== chunk.id) {
|
|
76
|
+
// A new request has been made.
|
|
77
|
+
this._addChatCompletion(__classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_endRequest).call(this));
|
|
78
|
+
}
|
|
79
|
+
__classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_addChunk).call(this, chunk);
|
|
80
|
+
chatId = chunk.id;
|
|
81
|
+
}
|
|
82
|
+
if (stream.controller.signal?.aborted) {
|
|
83
|
+
throw new error_1.APIUserAbortError();
|
|
84
|
+
}
|
|
85
|
+
return this._addChatCompletion(__classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_endRequest).call(this));
|
|
86
|
+
}
|
|
87
|
+
[(_ChatCompletionStream_currentChatCompletionSnapshot = new WeakMap(), _ChatCompletionStream_instances = new WeakSet(), _ChatCompletionStream_beginRequest = function _ChatCompletionStream_beginRequest() {
|
|
88
|
+
if (this.ended)
|
|
89
|
+
return;
|
|
90
|
+
__classPrivateFieldSet(this, _ChatCompletionStream_currentChatCompletionSnapshot, undefined, "f");
|
|
91
|
+
}, _ChatCompletionStream_addChunk = function _ChatCompletionStream_addChunk(chunk) {
|
|
92
|
+
if (this.ended)
|
|
93
|
+
return;
|
|
94
|
+
const completion = __classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_accumulateChatCompletion).call(this, chunk);
|
|
95
|
+
this._emit('chunk', chunk, completion);
|
|
96
|
+
const delta = chunk.choices[0]?.delta.content;
|
|
97
|
+
const snapshot = completion.choices[0]?.message;
|
|
98
|
+
if (delta != null && snapshot?.role === 'assistant' && snapshot?.content) {
|
|
99
|
+
this._emit('content', delta, snapshot.content);
|
|
100
|
+
}
|
|
101
|
+
}, _ChatCompletionStream_endRequest = function _ChatCompletionStream_endRequest() {
|
|
102
|
+
if (this.ended) {
|
|
103
|
+
throw new error_1.OpenAIError(`stream has ended, this shouldn't happen`);
|
|
104
|
+
}
|
|
105
|
+
const snapshot = __classPrivateFieldGet(this, _ChatCompletionStream_currentChatCompletionSnapshot, "f");
|
|
106
|
+
if (!snapshot) {
|
|
107
|
+
throw new error_1.OpenAIError(`request ended without sending any chunks`);
|
|
108
|
+
}
|
|
109
|
+
__classPrivateFieldSet(this, _ChatCompletionStream_currentChatCompletionSnapshot, undefined, "f");
|
|
110
|
+
return finalizeChatCompletion(snapshot);
|
|
111
|
+
}, _ChatCompletionStream_accumulateChatCompletion = function _ChatCompletionStream_accumulateChatCompletion(chunk) {
|
|
112
|
+
let snapshot = __classPrivateFieldGet(this, _ChatCompletionStream_currentChatCompletionSnapshot, "f");
|
|
113
|
+
if (!snapshot) {
|
|
114
|
+
const { choices, ...rest } = chunk;
|
|
115
|
+
__classPrivateFieldSet(this, _ChatCompletionStream_currentChatCompletionSnapshot, snapshot = {
|
|
116
|
+
...rest,
|
|
117
|
+
choices: [],
|
|
118
|
+
}, "f");
|
|
119
|
+
}
|
|
120
|
+
for (const { delta, finish_reason, index } of chunk.choices) {
|
|
121
|
+
let choice = snapshot.choices[index];
|
|
122
|
+
if (!choice)
|
|
123
|
+
snapshot.choices[index] = choice = { finish_reason, index, message: delta };
|
|
124
|
+
else {
|
|
125
|
+
if (finish_reason)
|
|
126
|
+
choice.finish_reason = finish_reason;
|
|
127
|
+
const { content, function_call, role } = delta;
|
|
128
|
+
if (content)
|
|
129
|
+
choice.message.content = (choice.message.content || '') + content;
|
|
130
|
+
if (role)
|
|
131
|
+
choice.message.role = role;
|
|
132
|
+
if (function_call) {
|
|
133
|
+
if (!choice.message.function_call)
|
|
134
|
+
choice.message.function_call = function_call;
|
|
135
|
+
else {
|
|
136
|
+
if (function_call.arguments)
|
|
137
|
+
choice.message.function_call.arguments =
|
|
138
|
+
(choice.message.function_call.arguments || '') + function_call.arguments;
|
|
139
|
+
if (function_call.name)
|
|
140
|
+
choice.message.function_call.name = function_call.name;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return snapshot;
|
|
146
|
+
}, Symbol.asyncIterator)]() {
|
|
147
|
+
const pushQueue = [];
|
|
148
|
+
const readQueue = [];
|
|
149
|
+
let done = false;
|
|
150
|
+
this.on('chunk', (chunk) => {
|
|
151
|
+
const reader = readQueue.shift();
|
|
152
|
+
if (reader) {
|
|
153
|
+
reader(chunk);
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
pushQueue.push(chunk);
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
this.on('end', () => {
|
|
160
|
+
done = true;
|
|
161
|
+
for (const reader of readQueue) {
|
|
162
|
+
reader(undefined);
|
|
163
|
+
}
|
|
164
|
+
readQueue.length = 0;
|
|
165
|
+
});
|
|
166
|
+
return {
|
|
167
|
+
next: async () => {
|
|
168
|
+
if (!pushQueue.length) {
|
|
169
|
+
if (done) {
|
|
170
|
+
return { value: undefined, done: true };
|
|
171
|
+
}
|
|
172
|
+
return new Promise((resolve) => readQueue.push(resolve)).then((chunk) => (chunk ? { value: chunk, done: false } : { value: undefined, done: true }));
|
|
173
|
+
}
|
|
174
|
+
const chunk = pushQueue.shift();
|
|
175
|
+
return { value: chunk, done: false };
|
|
176
|
+
},
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
toReadableStream() {
|
|
180
|
+
const stream = new streaming_1.Stream(this[Symbol.asyncIterator].bind(this), this.controller);
|
|
181
|
+
return stream.toReadableStream();
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
exports.ChatCompletionStream = ChatCompletionStream;
|
|
185
|
+
function finalizeChatCompletion(snapshot) {
|
|
186
|
+
const { id, choices, created, model } = snapshot;
|
|
187
|
+
return {
|
|
188
|
+
id,
|
|
189
|
+
choices: choices.map(({ message, finish_reason, index }) => {
|
|
190
|
+
if (!finish_reason)
|
|
191
|
+
throw new error_1.OpenAIError(`missing finish_reason for choice ${index}`);
|
|
192
|
+
const { content = null, function_call, role } = message;
|
|
193
|
+
if (!role)
|
|
194
|
+
throw new error_1.OpenAIError(`missing role for choice ${index}`);
|
|
195
|
+
if (function_call) {
|
|
196
|
+
const { arguments: args, name } = function_call;
|
|
197
|
+
if (args == null)
|
|
198
|
+
throw new error_1.OpenAIError(`missing function_call.arguments for choice ${index}`);
|
|
199
|
+
if (!name)
|
|
200
|
+
throw new error_1.OpenAIError(`missing function_call.name for choice ${index}`);
|
|
201
|
+
return { message: { content, function_call: { arguments: args, name }, role }, finish_reason, index };
|
|
202
|
+
}
|
|
203
|
+
return { message: { content: content, role }, finish_reason, index };
|
|
204
|
+
}),
|
|
205
|
+
created,
|
|
206
|
+
model,
|
|
207
|
+
object: 'chat.completion',
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=ChatCompletionStream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatCompletionStream.js","sourceRoot":"","sources":["../src/lib/ChatCompletionStream.ts"],"names":[],"mappings":"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"}
|