openai 4.60.1 → 4.61.1

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 CHANGED
@@ -1,5 +1,37 @@
1
1
  # Changelog
2
2
 
3
+ ## 4.61.1 (2024-09-16)
4
+
5
+ Full Changelog: [v4.61.0...v4.61.1](https://github.com/openai/openai-node/compare/v4.61.0...v4.61.1)
6
+
7
+ ### Bug Fixes
8
+
9
+ * **runTools:** correct request options type ([#1073](https://github.com/openai/openai-node/issues/1073)) ([399f971](https://github.com/openai/openai-node/commit/399f9710f9a1406fe2dd048a1d26418c0de7ff0c))
10
+
11
+
12
+ ### Chores
13
+
14
+ * **internal:** update spec link ([#1076](https://github.com/openai/openai-node/issues/1076)) ([20f1bcc](https://github.com/openai/openai-node/commit/20f1bcce2b5d03c5185989212a5c5271a8d4209c))
15
+
16
+ ## 4.61.0 (2024-09-13)
17
+
18
+ Full Changelog: [v4.60.1...v4.61.0](https://github.com/openai/openai-node/compare/v4.60.1...v4.61.0)
19
+
20
+ ### Bug Fixes
21
+
22
+ * **client:** partial parsing update to handle strings ([46e8eb6](https://github.com/openai/openai-node/commit/46e8eb6a9a45b11f9e4c97474ed6c02b1faa43af))
23
+ * **examples:** handle usage chunk in tool call streaming ([#1068](https://github.com/openai/openai-node/issues/1068)) ([e4188c4](https://github.com/openai/openai-node/commit/e4188c4ba443a21d1ef94658df5366f80f0e573b))
24
+
25
+
26
+ ### Chores
27
+
28
+ * **examples:** add a small delay to tool-calls example streaming ([a3fc659](https://github.com/openai/openai-node/commit/a3fc65928af7085d1d8d785ad4765fedc3955641))
29
+
30
+
31
+ ### Documentation
32
+
33
+ * update CONTRIBUTING.md ([#1071](https://github.com/openai/openai-node/issues/1071)) ([5de81c9](https://github.com/openai/openai-node/commit/5de81c95d7326602865e007715a76d5595824fd9))
34
+
3
35
  ## 4.60.1 (2024-09-13)
4
36
 
5
37
  Full Changelog: [v4.60.0...v4.60.1](https://github.com/openai/openai-node/compare/v4.60.0...v4.60.1)
package/README.md CHANGED
@@ -19,7 +19,7 @@ You can import in Deno via:
19
19
  <!-- x-release-please-start-version -->
20
20
 
21
21
  ```ts
22
- import OpenAI from 'https://deno.land/x/openai@v4.60.1/mod.ts';
22
+ import OpenAI from 'https://deno.land/x/openai@v4.61.1/mod.ts';
23
23
  ```
24
24
 
25
25
  <!-- x-release-please-end -->
@@ -1,3 +1,7 @@
1
- declare const partialParse: (input: string) => unknown;
2
- export { partialParse };
1
+ declare class PartialJSON extends Error {
2
+ }
3
+ declare class MalformedJSON extends Error {
4
+ }
5
+ declare const partialParse: (input: string) => any;
6
+ export { partialParse, PartialJSON, MalformedJSON };
3
7
  //# sourceMappingURL=parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/_vendor/partial-json-parser/parser.ts"],"names":[],"mappings":"AAKA,QAAA,MAgQE,YAAY,UAAW,MAAM,KAAG,OAAgE,CAAC;AAEnG,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/_vendor/partial-json-parser/parser.ts"],"names":[],"mappings":"AAkCA,cAAM,WAAY,SAAQ,KAAK;CAAG;AAElC,cAAM,aAAc,SAAQ,KAAK;CAAG;AAgNpC,QAAA,MAAM,YAAY,UAAW,MAAM,QAA4C,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC"}
@@ -1,226 +1,246 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.partialParse = void 0;
4
- const tokenize = (input) => {
5
- let current = 0;
6
- let tokens = [];
7
- while (current < input.length) {
8
- let char = input[current];
9
- if (char === '\\') {
10
- current++;
11
- continue;
12
- }
13
- if (char === '{') {
14
- tokens.push({
15
- type: 'brace',
16
- value: '{',
17
- });
18
- current++;
19
- continue;
20
- }
21
- if (char === '}') {
22
- tokens.push({
23
- type: 'brace',
24
- value: '}',
25
- });
26
- current++;
27
- continue;
28
- }
29
- if (char === '[') {
30
- tokens.push({
31
- type: 'paren',
32
- value: '[',
33
- });
34
- current++;
35
- continue;
36
- }
37
- if (char === ']') {
38
- tokens.push({
39
- type: 'paren',
40
- value: ']',
41
- });
42
- current++;
43
- continue;
44
- }
45
- if (char === ':') {
46
- tokens.push({
47
- type: 'separator',
48
- value: ':',
49
- });
50
- current++;
51
- continue;
52
- }
53
- if (char === ',') {
54
- tokens.push({
55
- type: 'delimiter',
56
- value: ',',
57
- });
58
- current++;
59
- continue;
60
- }
61
- if (char === '"') {
62
- let value = '';
63
- let danglingQuote = false;
64
- char = input[++current];
65
- while (char !== '"') {
66
- if (current === input.length) {
67
- danglingQuote = true;
68
- break;
69
- }
70
- if (char === '\\') {
71
- current++;
72
- if (current === input.length) {
73
- danglingQuote = true;
74
- break;
75
- }
76
- value += char + input[current];
77
- char = input[++current];
78
- }
79
- else {
80
- value += char;
81
- char = input[++current];
82
- }
3
+ exports.MalformedJSON = exports.PartialJSON = exports.partialParse = void 0;
4
+ const STR = 0b000000001;
5
+ const NUM = 0b000000010;
6
+ const ARR = 0b000000100;
7
+ const OBJ = 0b000001000;
8
+ const NULL = 0b000010000;
9
+ const BOOL = 0b000100000;
10
+ const NAN = 0b001000000;
11
+ const INFINITY = 0b010000000;
12
+ const MINUS_INFINITY = 0b100000000;
13
+ const INF = INFINITY | MINUS_INFINITY;
14
+ const SPECIAL = NULL | BOOL | INF | NAN;
15
+ const ATOM = STR | NUM | SPECIAL;
16
+ const COLLECTION = ARR | OBJ;
17
+ const ALL = ATOM | COLLECTION;
18
+ const Allow = {
19
+ STR,
20
+ NUM,
21
+ ARR,
22
+ OBJ,
23
+ NULL,
24
+ BOOL,
25
+ NAN,
26
+ INFINITY,
27
+ MINUS_INFINITY,
28
+ INF,
29
+ SPECIAL,
30
+ ATOM,
31
+ COLLECTION,
32
+ ALL,
33
+ };
34
+ // The JSON string segment was unable to be parsed completely
35
+ class PartialJSON extends Error {
36
+ }
37
+ exports.PartialJSON = PartialJSON;
38
+ class MalformedJSON extends Error {
39
+ }
40
+ exports.MalformedJSON = MalformedJSON;
41
+ /**
42
+ * Parse incomplete JSON
43
+ * @param {string} jsonString Partial JSON to be parsed
44
+ * @param {number} allowPartial Specify what types are allowed to be partial, see {@link Allow} for details
45
+ * @returns The parsed JSON
46
+ * @throws {PartialJSON} If the JSON is incomplete (related to the `allow` parameter)
47
+ * @throws {MalformedJSON} If the JSON is malformed
48
+ */
49
+ function parseJSON(jsonString, allowPartial = Allow.ALL) {
50
+ if (typeof jsonString !== 'string') {
51
+ throw new TypeError(`expecting str, got ${typeof jsonString}`);
52
+ }
53
+ if (!jsonString.trim()) {
54
+ throw new Error(`${jsonString} is empty`);
55
+ }
56
+ return _parseJSON(jsonString.trim(), allowPartial);
57
+ }
58
+ const _parseJSON = (jsonString, allow) => {
59
+ const length = jsonString.length;
60
+ let index = 0;
61
+ const markPartialJSON = (msg) => {
62
+ throw new PartialJSON(`${msg} at position ${index}`);
63
+ };
64
+ const throwMalformedError = (msg) => {
65
+ throw new MalformedJSON(`${msg} at position ${index}`);
66
+ };
67
+ const parseAny = () => {
68
+ skipBlank();
69
+ if (index >= length)
70
+ markPartialJSON('Unexpected end of input');
71
+ if (jsonString[index] === '"')
72
+ return parseStr();
73
+ if (jsonString[index] === '{')
74
+ return parseObj();
75
+ if (jsonString[index] === '[')
76
+ return parseArr();
77
+ if (jsonString.substring(index, index + 4) === 'null' ||
78
+ (Allow.NULL & allow && length - index < 4 && 'null'.startsWith(jsonString.substring(index)))) {
79
+ index += 4;
80
+ return null;
81
+ }
82
+ if (jsonString.substring(index, index + 4) === 'true' ||
83
+ (Allow.BOOL & allow && length - index < 4 && 'true'.startsWith(jsonString.substring(index)))) {
84
+ index += 4;
85
+ return true;
86
+ }
87
+ if (jsonString.substring(index, index + 5) === 'false' ||
88
+ (Allow.BOOL & allow && length - index < 5 && 'false'.startsWith(jsonString.substring(index)))) {
89
+ index += 5;
90
+ return false;
91
+ }
92
+ if (jsonString.substring(index, index + 8) === 'Infinity' ||
93
+ (Allow.INFINITY & allow && length - index < 8 && 'Infinity'.startsWith(jsonString.substring(index)))) {
94
+ index += 8;
95
+ return Infinity;
96
+ }
97
+ if (jsonString.substring(index, index + 9) === '-Infinity' ||
98
+ (Allow.MINUS_INFINITY & allow &&
99
+ 1 < length - index &&
100
+ length - index < 9 &&
101
+ '-Infinity'.startsWith(jsonString.substring(index)))) {
102
+ index += 9;
103
+ return -Infinity;
104
+ }
105
+ if (jsonString.substring(index, index + 3) === 'NaN' ||
106
+ (Allow.NAN & allow && length - index < 3 && 'NaN'.startsWith(jsonString.substring(index)))) {
107
+ index += 3;
108
+ return NaN;
109
+ }
110
+ return parseNum();
111
+ };
112
+ const parseStr = () => {
113
+ const start = index;
114
+ let escape = false;
115
+ index++; // skip initial quote
116
+ while (index < length && (jsonString[index] !== '"' || (escape && jsonString[index - 1] === '\\'))) {
117
+ escape = jsonString[index] === '\\' ? !escape : false;
118
+ index++;
119
+ }
120
+ if (jsonString.charAt(index) == '"') {
121
+ try {
122
+ return JSON.parse(jsonString.substring(start, ++index - Number(escape)));
83
123
  }
84
- char = input[++current];
85
- if (!danglingQuote) {
86
- tokens.push({
87
- type: 'string',
88
- value,
89
- });
124
+ catch (e) {
125
+ throwMalformedError(String(e));
90
126
  }
91
- continue;
92
- }
93
- let WHITESPACE = /\s/;
94
- if (char && WHITESPACE.test(char)) {
95
- current++;
96
- continue;
97
- }
98
- let NUMBERS = /[0-9]/;
99
- if ((char && NUMBERS.test(char)) || char === '-' || char === '.') {
100
- let value = '';
101
- if (char === '-') {
102
- value += char;
103
- char = input[++current];
127
+ }
128
+ else if (Allow.STR & allow) {
129
+ try {
130
+ return JSON.parse(jsonString.substring(start, index - Number(escape)) + '"');
104
131
  }
105
- while ((char && NUMBERS.test(char)) || char === '.') {
106
- value += char;
107
- char = input[++current];
132
+ catch (e) {
133
+ // SyntaxError: Invalid escape sequence
134
+ return JSON.parse(jsonString.substring(start, jsonString.lastIndexOf('\\')) + '"');
108
135
  }
109
- tokens.push({
110
- type: 'number',
111
- value,
112
- });
113
- continue;
114
- }
115
- let LETTERS = /[a-z]/i;
116
- if (char && LETTERS.test(char)) {
117
- let value = '';
118
- while (char && LETTERS.test(char)) {
119
- if (current === input.length) {
120
- break;
136
+ }
137
+ markPartialJSON('Unterminated string literal');
138
+ };
139
+ const parseObj = () => {
140
+ index++; // skip initial brace
141
+ skipBlank();
142
+ const obj = {};
143
+ try {
144
+ while (jsonString[index] !== '}') {
145
+ skipBlank();
146
+ if (index >= length && Allow.OBJ & allow)
147
+ return obj;
148
+ const key = parseStr();
149
+ skipBlank();
150
+ index++; // skip colon
151
+ try {
152
+ const value = parseAny();
153
+ Object.defineProperty(obj, key, { value, writable: true, enumerable: true, configurable: true });
121
154
  }
122
- value += char;
123
- char = input[++current];
124
- }
125
- if (value == 'true' || value == 'false' || value === 'null') {
126
- tokens.push({
127
- type: 'name',
128
- value,
129
- });
130
- }
131
- else {
132
- // unknown token, e.g. `nul` which isn't quite `null`
133
- current++;
134
- continue;
155
+ catch (e) {
156
+ if (Allow.OBJ & allow)
157
+ return obj;
158
+ else
159
+ throw e;
160
+ }
161
+ skipBlank();
162
+ if (jsonString[index] === ',')
163
+ index++; // skip comma
135
164
  }
136
- continue;
137
165
  }
138
- current++;
139
- }
140
- return tokens;
141
- }, strip = (tokens) => {
142
- if (tokens.length === 0) {
143
- return tokens;
144
- }
145
- let lastToken = tokens[tokens.length - 1];
146
- switch (lastToken.type) {
147
- case 'separator':
148
- tokens = tokens.slice(0, tokens.length - 1);
149
- return strip(tokens);
150
- break;
151
- case 'number':
152
- let lastCharacterOfLastToken = lastToken.value[lastToken.value.length - 1];
153
- if (lastCharacterOfLastToken === '.' || lastCharacterOfLastToken === '-') {
154
- tokens = tokens.slice(0, tokens.length - 1);
155
- return strip(tokens);
156
- }
157
- case 'string':
158
- let tokenBeforeTheLastToken = tokens[tokens.length - 2];
159
- if (tokenBeforeTheLastToken?.type === 'delimiter') {
160
- tokens = tokens.slice(0, tokens.length - 1);
161
- return strip(tokens);
162
- }
163
- else if (tokenBeforeTheLastToken?.type === 'brace' && tokenBeforeTheLastToken.value === '{') {
164
- tokens = tokens.slice(0, tokens.length - 1);
165
- return strip(tokens);
166
- }
167
- break;
168
- case 'delimiter':
169
- tokens = tokens.slice(0, tokens.length - 1);
170
- return strip(tokens);
171
- break;
172
- }
173
- return tokens;
174
- }, unstrip = (tokens) => {
175
- let tail = [];
176
- tokens.map((token) => {
177
- if (token.type === 'brace') {
178
- if (token.value === '{') {
179
- tail.push('}');
180
- }
181
- else {
182
- tail.splice(tail.lastIndexOf('}'), 1);
166
+ catch (e) {
167
+ if (Allow.OBJ & allow)
168
+ return obj;
169
+ else
170
+ markPartialJSON("Expected '}' at end of object");
171
+ }
172
+ index++; // skip final brace
173
+ return obj;
174
+ };
175
+ const parseArr = () => {
176
+ index++; // skip initial bracket
177
+ const arr = [];
178
+ try {
179
+ while (jsonString[index] !== ']') {
180
+ arr.push(parseAny());
181
+ skipBlank();
182
+ if (jsonString[index] === ',') {
183
+ index++; // skip comma
184
+ }
183
185
  }
184
186
  }
185
- if (token.type === 'paren') {
186
- if (token.value === '[') {
187
- tail.push(']');
187
+ catch (e) {
188
+ if (Allow.ARR & allow) {
189
+ return arr;
188
190
  }
189
- else {
190
- tail.splice(tail.lastIndexOf(']'), 1);
191
+ markPartialJSON("Expected ']' at end of array");
192
+ }
193
+ index++; // skip final bracket
194
+ return arr;
195
+ };
196
+ const parseNum = () => {
197
+ if (index === 0) {
198
+ if (jsonString === '-' && Allow.NUM & allow)
199
+ markPartialJSON("Not sure what '-' is");
200
+ try {
201
+ return JSON.parse(jsonString);
202
+ }
203
+ catch (e) {
204
+ if (Allow.NUM & allow) {
205
+ try {
206
+ if ('.' === jsonString[jsonString.length - 1])
207
+ return JSON.parse(jsonString.substring(0, jsonString.lastIndexOf('.')));
208
+ return JSON.parse(jsonString.substring(0, jsonString.lastIndexOf('e')));
209
+ }
210
+ catch (e) { }
211
+ }
212
+ throwMalformedError(String(e));
191
213
  }
192
214
  }
193
- });
194
- if (tail.length > 0) {
195
- tail.reverse().map((item) => {
196
- if (item === '}') {
197
- tokens.push({
198
- type: 'brace',
199
- value: '}',
200
- });
215
+ const start = index;
216
+ if (jsonString[index] === '-')
217
+ index++;
218
+ while (jsonString[index] && !',]}'.includes(jsonString[index]))
219
+ index++;
220
+ if (index == length && !(Allow.NUM & allow))
221
+ markPartialJSON('Unterminated number literal');
222
+ try {
223
+ return JSON.parse(jsonString.substring(start, index));
224
+ }
225
+ catch (e) {
226
+ if (jsonString.substring(start, index) === '-' && Allow.NUM & allow)
227
+ markPartialJSON("Not sure what '-' is");
228
+ try {
229
+ return JSON.parse(jsonString.substring(start, jsonString.lastIndexOf('e')));
201
230
  }
202
- else if (item === ']') {
203
- tokens.push({
204
- type: 'paren',
205
- value: ']',
206
- });
231
+ catch (e) {
232
+ throwMalformedError(String(e));
207
233
  }
208
- });
209
- }
210
- return tokens;
211
- }, generate = (tokens) => {
212
- let output = '';
213
- tokens.map((token) => {
214
- switch (token.type) {
215
- case 'string':
216
- output += '"' + token.value + '"';
217
- break;
218
- default:
219
- output += token.value;
220
- break;
221
- }
222
- });
223
- return output;
224
- }, partialParse = (input) => JSON.parse(generate(unstrip(strip(tokenize(input)))));
234
+ }
235
+ };
236
+ const skipBlank = () => {
237
+ while (index < length && ' \n\r\t'.includes(jsonString[index])) {
238
+ index++;
239
+ }
240
+ };
241
+ return parseAny();
242
+ };
243
+ // using this function with malformed JSON is undefined behavior
244
+ const partialParse = (input) => parseJSON(input, Allow.ALL ^ Allow.NUM);
225
245
  exports.partialParse = partialParse;
226
246
  //# sourceMappingURL=parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/_vendor/partial-json-parser/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/_vendor/partial-json-parser/parser.ts"],"names":[],"mappings":"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"}