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.
Files changed (120) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +114 -1
  3. package/core.d.ts +1 -0
  4. package/core.d.ts.map +1 -1
  5. package/core.js +5 -1
  6. package/core.js.map +1 -1
  7. package/core.mjs +5 -1
  8. package/core.mjs.map +1 -1
  9. package/index.d.mts +2 -0
  10. package/index.d.ts +2 -0
  11. package/index.d.ts.map +1 -1
  12. package/index.js +2 -0
  13. package/index.js.map +1 -1
  14. package/index.mjs +2 -0
  15. package/index.mjs.map +1 -1
  16. package/lib/AbstractChatCompletionRunner.d.ts +111 -0
  17. package/lib/AbstractChatCompletionRunner.d.ts.map +1 -0
  18. package/lib/AbstractChatCompletionRunner.js +386 -0
  19. package/lib/AbstractChatCompletionRunner.js.map +1 -0
  20. package/lib/AbstractChatCompletionRunner.mjs +382 -0
  21. package/lib/AbstractChatCompletionRunner.mjs.map +1 -0
  22. package/lib/ChatCompletionRunFunctions.test.d.ts +2 -0
  23. package/lib/ChatCompletionRunFunctions.test.d.ts.map +1 -0
  24. package/lib/ChatCompletionRunFunctions.test.js +1850 -0
  25. package/lib/ChatCompletionRunFunctions.test.js.map +1 -0
  26. package/lib/ChatCompletionRunFunctions.test.mjs +1845 -0
  27. package/lib/ChatCompletionRunFunctions.test.mjs.map +1 -0
  28. package/lib/ChatCompletionRunner.d.ts +17 -0
  29. package/lib/ChatCompletionRunner.d.ts.map +1 -0
  30. package/lib/ChatCompletionRunner.js +19 -0
  31. package/lib/ChatCompletionRunner.js.map +1 -0
  32. package/lib/ChatCompletionRunner.mjs +15 -0
  33. package/lib/ChatCompletionRunner.mjs.map +1 -0
  34. package/lib/ChatCompletionStream.d.ts +111 -0
  35. package/lib/ChatCompletionStream.d.ts.map +1 -0
  36. package/lib/ChatCompletionStream.js +210 -0
  37. package/lib/ChatCompletionStream.js.map +1 -0
  38. package/lib/ChatCompletionStream.mjs +206 -0
  39. package/lib/ChatCompletionStream.mjs.map +1 -0
  40. package/lib/ChatCompletionStreamingRunner.d.ts +20 -0
  41. package/lib/ChatCompletionStreamingRunner.d.ts.map +1 -0
  42. package/lib/ChatCompletionStreamingRunner.js +18 -0
  43. package/lib/ChatCompletionStreamingRunner.js.map +1 -0
  44. package/lib/ChatCompletionStreamingRunner.mjs +14 -0
  45. package/lib/ChatCompletionStreamingRunner.mjs.map +1 -0
  46. package/lib/RunnableFunction.d.ts +70 -0
  47. package/lib/RunnableFunction.d.ts.map +1 -0
  48. package/lib/RunnableFunction.js +22 -0
  49. package/lib/RunnableFunction.js.map +1 -0
  50. package/lib/RunnableFunction.mjs +17 -0
  51. package/lib/RunnableFunction.mjs.map +1 -0
  52. package/lib/jsonschema.d.ts +106 -0
  53. package/lib/jsonschema.d.ts.map +1 -0
  54. package/lib/jsonschema.js +11 -0
  55. package/lib/jsonschema.js.map +1 -0
  56. package/lib/jsonschema.mjs +10 -0
  57. package/lib/jsonschema.mjs.map +1 -0
  58. package/package.json +1 -1
  59. package/resources/beta/beta.d.ts +9 -0
  60. package/resources/beta/beta.d.ts.map +1 -0
  61. package/resources/beta/beta.js +40 -0
  62. package/resources/beta/beta.js.map +1 -0
  63. package/resources/beta/beta.mjs +13 -0
  64. package/resources/beta/beta.mjs.map +1 -0
  65. package/resources/beta/chat/chat.d.ts +9 -0
  66. package/resources/beta/chat/chat.d.ts.map +1 -0
  67. package/resources/beta/chat/chat.js +40 -0
  68. package/resources/beta/chat/chat.js.map +1 -0
  69. package/resources/beta/chat/chat.mjs +13 -0
  70. package/resources/beta/chat/chat.mjs.map +1 -0
  71. package/resources/beta/chat/completions.d.ts +28 -0
  72. package/resources/beta/chat/completions.d.ts.map +1 -0
  73. package/resources/beta/chat/completions.js +32 -0
  74. package/resources/beta/chat/completions.js.map +1 -0
  75. package/resources/beta/chat/completions.mjs +24 -0
  76. package/resources/beta/chat/completions.mjs.map +1 -0
  77. package/resources/beta/chat/index.d.ts +3 -0
  78. package/resources/beta/chat/index.d.ts.map +1 -0
  79. package/resources/beta/chat/index.js +9 -0
  80. package/resources/beta/chat/index.js.map +1 -0
  81. package/resources/beta/chat/index.mjs +4 -0
  82. package/resources/beta/chat/index.mjs.map +1 -0
  83. package/resources/beta/index.d.ts +3 -0
  84. package/resources/beta/index.d.ts.map +1 -0
  85. package/resources/beta/index.js +9 -0
  86. package/resources/beta/index.js.map +1 -0
  87. package/resources/beta/index.mjs +4 -0
  88. package/resources/beta/index.mjs.map +1 -0
  89. package/resources/index.d.ts +1 -0
  90. package/resources/index.d.ts.map +1 -1
  91. package/resources/index.js +3 -1
  92. package/resources/index.js.map +1 -1
  93. package/resources/index.mjs +1 -0
  94. package/resources/index.mjs.map +1 -1
  95. package/src/core.ts +11 -2
  96. package/src/index.ts +3 -0
  97. package/src/lib/AbstractChatCompletionRunner.ts +488 -0
  98. package/src/lib/ChatCompletionRunFunctions.test.ts +1987 -0
  99. package/src/lib/ChatCompletionRunner.ts +42 -0
  100. package/src/lib/ChatCompletionStream.ts +327 -0
  101. package/src/lib/ChatCompletionStreamingRunner.ts +43 -0
  102. package/src/lib/RunnableFunction.ts +96 -0
  103. package/src/lib/jsonschema.ts +148 -0
  104. package/src/resources/beta/beta.ts +12 -0
  105. package/src/resources/beta/chat/chat.ts +12 -0
  106. package/src/resources/beta/chat/completions.ts +70 -0
  107. package/src/resources/beta/chat/index.ts +4 -0
  108. package/src/resources/beta/index.ts +4 -0
  109. package/src/resources/index.ts +1 -0
  110. package/src/streaming.ts +13 -4
  111. package/src/version.ts +1 -1
  112. package/streaming.d.ts +13 -0
  113. package/streaming.d.ts.map +1 -1
  114. package/streaming.js +13 -4
  115. package/streaming.js.map +1 -1
  116. package/streaming.mjs +13 -4
  117. package/streaming.mjs.map +1 -1
  118. package/version.d.ts +1 -1
  119. package/version.js +1 -1
  120. 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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"}