@chrt-inc/typescript-sdk 1.559.0 → 2.1.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.
@@ -53,8 +53,8 @@ class ChrtClient {
53
53
  this._options = Object.assign(Object.assign({}, _options), { headers: (0, headers_js_1.mergeHeaders)({
54
54
  "X-Fern-Language": "JavaScript",
55
55
  "X-Fern-SDK-Name": "@chrt-inc/typescript-sdk",
56
- "X-Fern-SDK-Version": "1.559.0",
57
- "User-Agent": "@chrt-inc/typescript-sdk/1.559.0",
56
+ "X-Fern-SDK-Version": "2.1.0",
57
+ "User-Agent": "@chrt-inc/typescript-sdk/2.1.0",
58
58
  "X-Fern-Runtime": core.RUNTIME.type,
59
59
  "X-Fern-Runtime-Version": core.RUNTIME.version,
60
60
  }, _options === null || _options === void 0 ? void 0 : _options.headers) });
@@ -76,19 +76,8 @@ export declare class Dev {
76
76
  private __postAgentOrderBuilderV1;
77
77
  /**
78
78
  * Same as /agent/order-builder/v1 but streams progress events via SSE as each workflow step completes. | (OrderBuilderReq) -> SSE stream of OrderBuilderProgressEvent, final OrderBuilderRes
79
- *
80
- * @param {Chrt.OrderBuilderReq} request
81
- * @param {Dev.RequestOptions} requestOptions - Request-specific configuration.
82
- *
83
- * @throws {@link Chrt.UnprocessableEntityError}
84
- *
85
- * @example
86
- * await client.utils.dev.postAgentOrderBuilderStreamV1({
87
- * order_short_id: "order_short_id",
88
- * text: "text"
89
- * })
90
79
  */
91
- postAgentOrderBuilderStreamV1(request: Chrt.OrderBuilderReq, requestOptions?: Dev.RequestOptions): core.HttpResponsePromise<void>;
80
+ postAgentOrderBuilderStreamV1(request: Chrt.OrderBuilderReq, requestOptions?: Dev.RequestOptions): core.HttpResponsePromise<core.Stream<string>>;
92
81
  private __postAgentOrderBuilderStreamV1;
93
82
  /**
94
83
  * (DEPRECATED) Extracts and returns the user ID from the authenticated request's JWT token. | () -> (str)
@@ -248,17 +248,6 @@ class Dev {
248
248
  }
249
249
  /**
250
250
  * Same as /agent/order-builder/v1 but streams progress events via SSE as each workflow step completes. | (OrderBuilderReq) -> SSE stream of OrderBuilderProgressEvent, final OrderBuilderRes
251
- *
252
- * @param {Chrt.OrderBuilderReq} request
253
- * @param {Dev.RequestOptions} requestOptions - Request-specific configuration.
254
- *
255
- * @throws {@link Chrt.UnprocessableEntityError}
256
- *
257
- * @example
258
- * await client.utils.dev.postAgentOrderBuilderStreamV1({
259
- * order_short_id: "order_short_id",
260
- * text: "text"
261
- * })
262
251
  */
263
252
  postAgentOrderBuilderStreamV1(request, requestOptions) {
264
253
  return core.HttpResponsePromise.fromPromise(this.__postAgentOrderBuilderStreamV1(request, requestOptions));
@@ -275,12 +264,24 @@ class Dev {
275
264
  queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
276
265
  requestType: "json",
277
266
  body: request,
267
+ responseType: "sse",
278
268
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
279
269
  maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
280
270
  abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
281
271
  });
282
272
  if (_response.ok) {
283
- return { data: undefined, rawResponse: _response.rawResponse };
273
+ return {
274
+ data: new core.Stream({
275
+ stream: _response.body,
276
+ parse: (data) => data,
277
+ signal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
278
+ eventShape: {
279
+ type: "sse",
280
+ streamTerminator: "[DONE]",
281
+ },
282
+ }),
283
+ rawResponse: _response.rawResponse,
284
+ };
284
285
  }
285
286
  if (_response.error.reason === "status-code") {
286
287
  switch (_response.error.statusCode) {
@@ -4,4 +4,5 @@ export * as url from "./url/index.js";
4
4
  export * from "./auth/index.js";
5
5
  export * from "./base64.js";
6
6
  export * from "./form-data-utils/index.js";
7
+ export * from "./stream/index.js";
7
8
  export * as file from "./file/index.js";
@@ -43,4 +43,5 @@ exports.url = __importStar(require("./url/index.js"));
43
43
  __exportStar(require("./auth/index.js"), exports);
44
44
  __exportStar(require("./base64.js"), exports);
45
45
  __exportStar(require("./form-data-utils/index.js"), exports);
46
+ __exportStar(require("./stream/index.js"), exports);
46
47
  exports.file = __importStar(require("./file/index.js"));
@@ -0,0 +1,46 @@
1
+ export declare namespace Stream {
2
+ interface Args {
3
+ /**
4
+ * The HTTP response stream to read from.
5
+ */
6
+ stream: ReadableStream;
7
+ /**
8
+ * The event shape to use for parsing the stream data.
9
+ */
10
+ eventShape: JsonEvent | SseEvent;
11
+ /**
12
+ * An abort signal to stop the stream.
13
+ */
14
+ signal?: AbortSignal;
15
+ }
16
+ interface JsonEvent {
17
+ type: "json";
18
+ messageTerminator: string;
19
+ }
20
+ interface SseEvent {
21
+ type: "sse";
22
+ streamTerminator?: string;
23
+ }
24
+ }
25
+ export declare class Stream<T> implements AsyncIterable<T> {
26
+ private stream;
27
+ private parse;
28
+ /**
29
+ * The prefix to use for each message. For example,
30
+ * for SSE, the prefix is "data: ".
31
+ */
32
+ private prefix;
33
+ private messageTerminator;
34
+ private streamTerminator;
35
+ private controller;
36
+ constructor({ stream, parse, eventShape, signal }: Stream.Args & {
37
+ parse: (val: unknown) => Promise<T>;
38
+ });
39
+ private iterMessages;
40
+ [Symbol.asyncIterator](): AsyncIterator<T, void, unknown>;
41
+ private decodeChunk;
42
+ }
43
+ /**
44
+ * Browser polyfill for ReadableStream
45
+ */
46
+ export declare function readableStreamAsyncIterable<T>(stream: any): AsyncIterableIterator<T>;
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
12
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
13
+ var m = o[Symbol.asyncIterator], i;
14
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
15
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
16
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
17
+ };
18
+ var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
19
+ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
20
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
21
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
22
+ return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
23
+ function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
24
+ function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
25
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
26
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
27
+ function fulfill(value) { resume("next", value); }
28
+ function reject(value) { resume("throw", value); }
29
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ exports.Stream = void 0;
33
+ exports.readableStreamAsyncIterable = readableStreamAsyncIterable;
34
+ const index_js_1 = require("../runtime/index.js");
35
+ const DATA_PREFIX = "data:";
36
+ class Stream {
37
+ constructor({ stream, parse, eventShape, signal }) {
38
+ this.controller = new AbortController();
39
+ this.stream = stream;
40
+ this.parse = parse;
41
+ if (eventShape.type === "sse") {
42
+ this.prefix = DATA_PREFIX;
43
+ this.messageTerminator = "\n";
44
+ this.streamTerminator = eventShape.streamTerminator;
45
+ }
46
+ else {
47
+ this.messageTerminator = eventShape.messageTerminator;
48
+ }
49
+ signal === null || signal === void 0 ? void 0 : signal.addEventListener("abort", () => this.controller.abort());
50
+ }
51
+ iterMessages() {
52
+ return __asyncGenerator(this, arguments, function* iterMessages_1() {
53
+ var _a, e_1, _b, _c;
54
+ this.controller.signal;
55
+ const stream = readableStreamAsyncIterable(this.stream);
56
+ let buf = "";
57
+ let prefixSeen = false;
58
+ try {
59
+ for (var _d = true, stream_1 = __asyncValues(stream), stream_1_1; stream_1_1 = yield __await(stream_1.next()), _a = stream_1_1.done, !_a; _d = true) {
60
+ _c = stream_1_1.value;
61
+ _d = false;
62
+ const chunk = _c;
63
+ buf += this.decodeChunk(chunk);
64
+ let terminatorIndex;
65
+ while ((terminatorIndex = buf.indexOf(this.messageTerminator)) >= 0) {
66
+ let line = buf.slice(0, terminatorIndex + 1);
67
+ buf = buf.slice(terminatorIndex + this.messageTerminator.length);
68
+ if (!line.trim()) {
69
+ continue;
70
+ }
71
+ if (!prefixSeen && this.prefix != null) {
72
+ const prefixIndex = line.indexOf(this.prefix);
73
+ if (prefixIndex === -1) {
74
+ continue;
75
+ }
76
+ prefixSeen = true;
77
+ line = line.slice(prefixIndex + this.prefix.length);
78
+ }
79
+ if (this.streamTerminator != null && line.includes(this.streamTerminator)) {
80
+ return yield __await(void 0);
81
+ }
82
+ const message = yield __await(this.parse(JSON.parse(line)));
83
+ yield yield __await(message);
84
+ prefixSeen = false;
85
+ }
86
+ }
87
+ }
88
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
89
+ finally {
90
+ try {
91
+ if (!_d && !_a && (_b = stream_1.return)) yield __await(_b.call(stream_1));
92
+ }
93
+ finally { if (e_1) throw e_1.error; }
94
+ }
95
+ });
96
+ }
97
+ [Symbol.asyncIterator]() {
98
+ return __asyncGenerator(this, arguments, function* _a() {
99
+ var _b, e_2, _c, _d;
100
+ try {
101
+ for (var _e = true, _f = __asyncValues(this.iterMessages()), _g; _g = yield __await(_f.next()), _b = _g.done, !_b; _e = true) {
102
+ _d = _g.value;
103
+ _e = false;
104
+ const message = _d;
105
+ yield yield __await(message);
106
+ }
107
+ }
108
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
109
+ finally {
110
+ try {
111
+ if (!_e && !_b && (_c = _f.return)) yield __await(_c.call(_f));
112
+ }
113
+ finally { if (e_2) throw e_2.error; }
114
+ }
115
+ });
116
+ }
117
+ decodeChunk(chunk) {
118
+ let decoded = "";
119
+ // If TextDecoder is present, use it
120
+ if (typeof TextDecoder !== "undefined") {
121
+ const decoder = new TextDecoder("utf8");
122
+ decoded += decoder.decode(chunk);
123
+ }
124
+ // Buffer is present in Node.js environment
125
+ else if (index_js_1.RUNTIME.type === "node" && typeof chunk !== "undefined") {
126
+ decoded += Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
127
+ }
128
+ return decoded;
129
+ }
130
+ }
131
+ exports.Stream = Stream;
132
+ /**
133
+ * Browser polyfill for ReadableStream
134
+ */
135
+ // biome-ignore lint/suspicious/noExplicitAny: allow explicit any
136
+ function readableStreamAsyncIterable(stream) {
137
+ if (stream[Symbol.asyncIterator]) {
138
+ return stream;
139
+ }
140
+ const reader = stream.getReader();
141
+ return {
142
+ next() {
143
+ return __awaiter(this, void 0, void 0, function* () {
144
+ try {
145
+ const result = yield reader.read();
146
+ if (result === null || result === void 0 ? void 0 : result.done) {
147
+ reader.releaseLock();
148
+ } // release lock when stream becomes closed
149
+ return result;
150
+ }
151
+ catch (e) {
152
+ reader.releaseLock(); // release lock when stream becomes errored
153
+ throw e;
154
+ }
155
+ });
156
+ },
157
+ return() {
158
+ return __awaiter(this, void 0, void 0, function* () {
159
+ const cancelPromise = reader.cancel();
160
+ reader.releaseLock();
161
+ yield cancelPromise;
162
+ return { done: true, value: undefined };
163
+ });
164
+ },
165
+ [Symbol.asyncIterator]() {
166
+ return this;
167
+ },
168
+ };
169
+ }
@@ -0,0 +1 @@
1
+ export { Stream } from "./Stream.js";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Stream = void 0;
4
+ var Stream_js_1 = require("./Stream.js");
5
+ Object.defineProperty(exports, "Stream", { enumerable: true, get: function () { return Stream_js_1.Stream; } });
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "1.559.0";
1
+ export declare const SDK_VERSION = "2.1.0";
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SDK_VERSION = void 0;
4
- exports.SDK_VERSION = "1.559.0";
4
+ exports.SDK_VERSION = "2.1.0";
@@ -17,8 +17,8 @@ export class ChrtClient {
17
17
  this._options = Object.assign(Object.assign({}, _options), { headers: mergeHeaders({
18
18
  "X-Fern-Language": "JavaScript",
19
19
  "X-Fern-SDK-Name": "@chrt-inc/typescript-sdk",
20
- "X-Fern-SDK-Version": "1.559.0",
21
- "User-Agent": "@chrt-inc/typescript-sdk/1.559.0",
20
+ "X-Fern-SDK-Version": "2.1.0",
21
+ "User-Agent": "@chrt-inc/typescript-sdk/2.1.0",
22
22
  "X-Fern-Runtime": core.RUNTIME.type,
23
23
  "X-Fern-Runtime-Version": core.RUNTIME.version,
24
24
  }, _options === null || _options === void 0 ? void 0 : _options.headers) });
@@ -76,19 +76,8 @@ export declare class Dev {
76
76
  private __postAgentOrderBuilderV1;
77
77
  /**
78
78
  * Same as /agent/order-builder/v1 but streams progress events via SSE as each workflow step completes. | (OrderBuilderReq) -> SSE stream of OrderBuilderProgressEvent, final OrderBuilderRes
79
- *
80
- * @param {Chrt.OrderBuilderReq} request
81
- * @param {Dev.RequestOptions} requestOptions - Request-specific configuration.
82
- *
83
- * @throws {@link Chrt.UnprocessableEntityError}
84
- *
85
- * @example
86
- * await client.utils.dev.postAgentOrderBuilderStreamV1({
87
- * order_short_id: "order_short_id",
88
- * text: "text"
89
- * })
90
79
  */
91
- postAgentOrderBuilderStreamV1(request: Chrt.OrderBuilderReq, requestOptions?: Dev.RequestOptions): core.HttpResponsePromise<void>;
80
+ postAgentOrderBuilderStreamV1(request: Chrt.OrderBuilderReq, requestOptions?: Dev.RequestOptions): core.HttpResponsePromise<core.Stream<string>>;
92
81
  private __postAgentOrderBuilderStreamV1;
93
82
  /**
94
83
  * (DEPRECATED) Extracts and returns the user ID from the authenticated request's JWT token. | () -> (str)
@@ -212,17 +212,6 @@ export class Dev {
212
212
  }
213
213
  /**
214
214
  * Same as /agent/order-builder/v1 but streams progress events via SSE as each workflow step completes. | (OrderBuilderReq) -> SSE stream of OrderBuilderProgressEvent, final OrderBuilderRes
215
- *
216
- * @param {Chrt.OrderBuilderReq} request
217
- * @param {Dev.RequestOptions} requestOptions - Request-specific configuration.
218
- *
219
- * @throws {@link Chrt.UnprocessableEntityError}
220
- *
221
- * @example
222
- * await client.utils.dev.postAgentOrderBuilderStreamV1({
223
- * order_short_id: "order_short_id",
224
- * text: "text"
225
- * })
226
215
  */
227
216
  postAgentOrderBuilderStreamV1(request, requestOptions) {
228
217
  return core.HttpResponsePromise.fromPromise(this.__postAgentOrderBuilderStreamV1(request, requestOptions));
@@ -239,12 +228,24 @@ export class Dev {
239
228
  queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
240
229
  requestType: "json",
241
230
  body: request,
231
+ responseType: "sse",
242
232
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
243
233
  maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
244
234
  abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
245
235
  });
246
236
  if (_response.ok) {
247
- return { data: undefined, rawResponse: _response.rawResponse };
237
+ return {
238
+ data: new core.Stream({
239
+ stream: _response.body,
240
+ parse: (data) => data,
241
+ signal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
242
+ eventShape: {
243
+ type: "sse",
244
+ streamTerminator: "[DONE]",
245
+ },
246
+ }),
247
+ rawResponse: _response.rawResponse,
248
+ };
248
249
  }
249
250
  if (_response.error.reason === "status-code") {
250
251
  switch (_response.error.statusCode) {
@@ -4,4 +4,5 @@ export * as url from "./url/index.mjs";
4
4
  export * from "./auth/index.mjs";
5
5
  export * from "./base64.mjs";
6
6
  export * from "./form-data-utils/index.mjs";
7
+ export * from "./stream/index.mjs";
7
8
  export * as file from "./file/index.mjs";
@@ -4,4 +4,5 @@ export * as url from "./url/index.mjs";
4
4
  export * from "./auth/index.mjs";
5
5
  export * from "./base64.mjs";
6
6
  export * from "./form-data-utils/index.mjs";
7
+ export * from "./stream/index.mjs";
7
8
  export * as file from "./file/index.mjs";
@@ -0,0 +1,46 @@
1
+ export declare namespace Stream {
2
+ interface Args {
3
+ /**
4
+ * The HTTP response stream to read from.
5
+ */
6
+ stream: ReadableStream;
7
+ /**
8
+ * The event shape to use for parsing the stream data.
9
+ */
10
+ eventShape: JsonEvent | SseEvent;
11
+ /**
12
+ * An abort signal to stop the stream.
13
+ */
14
+ signal?: AbortSignal;
15
+ }
16
+ interface JsonEvent {
17
+ type: "json";
18
+ messageTerminator: string;
19
+ }
20
+ interface SseEvent {
21
+ type: "sse";
22
+ streamTerminator?: string;
23
+ }
24
+ }
25
+ export declare class Stream<T> implements AsyncIterable<T> {
26
+ private stream;
27
+ private parse;
28
+ /**
29
+ * The prefix to use for each message. For example,
30
+ * for SSE, the prefix is "data: ".
31
+ */
32
+ private prefix;
33
+ private messageTerminator;
34
+ private streamTerminator;
35
+ private controller;
36
+ constructor({ stream, parse, eventShape, signal }: Stream.Args & {
37
+ parse: (val: unknown) => Promise<T>;
38
+ });
39
+ private iterMessages;
40
+ [Symbol.asyncIterator](): AsyncIterator<T, void, unknown>;
41
+ private decodeChunk;
42
+ }
43
+ /**
44
+ * Browser polyfill for ReadableStream
45
+ */
46
+ export declare function readableStreamAsyncIterable<T>(stream: any): AsyncIterableIterator<T>;
@@ -0,0 +1,164 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
11
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
12
+ var m = o[Symbol.asyncIterator], i;
13
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
14
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
15
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
16
+ };
17
+ var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
18
+ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
19
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
20
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
21
+ return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
22
+ function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
23
+ function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
24
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
25
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
26
+ function fulfill(value) { resume("next", value); }
27
+ function reject(value) { resume("throw", value); }
28
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
29
+ };
30
+ import { RUNTIME } from "../runtime/index.mjs";
31
+ const DATA_PREFIX = "data:";
32
+ export class Stream {
33
+ constructor({ stream, parse, eventShape, signal }) {
34
+ this.controller = new AbortController();
35
+ this.stream = stream;
36
+ this.parse = parse;
37
+ if (eventShape.type === "sse") {
38
+ this.prefix = DATA_PREFIX;
39
+ this.messageTerminator = "\n";
40
+ this.streamTerminator = eventShape.streamTerminator;
41
+ }
42
+ else {
43
+ this.messageTerminator = eventShape.messageTerminator;
44
+ }
45
+ signal === null || signal === void 0 ? void 0 : signal.addEventListener("abort", () => this.controller.abort());
46
+ }
47
+ iterMessages() {
48
+ return __asyncGenerator(this, arguments, function* iterMessages_1() {
49
+ var _a, e_1, _b, _c;
50
+ this.controller.signal;
51
+ const stream = readableStreamAsyncIterable(this.stream);
52
+ let buf = "";
53
+ let prefixSeen = false;
54
+ try {
55
+ for (var _d = true, stream_1 = __asyncValues(stream), stream_1_1; stream_1_1 = yield __await(stream_1.next()), _a = stream_1_1.done, !_a; _d = true) {
56
+ _c = stream_1_1.value;
57
+ _d = false;
58
+ const chunk = _c;
59
+ buf += this.decodeChunk(chunk);
60
+ let terminatorIndex;
61
+ while ((terminatorIndex = buf.indexOf(this.messageTerminator)) >= 0) {
62
+ let line = buf.slice(0, terminatorIndex + 1);
63
+ buf = buf.slice(terminatorIndex + this.messageTerminator.length);
64
+ if (!line.trim()) {
65
+ continue;
66
+ }
67
+ if (!prefixSeen && this.prefix != null) {
68
+ const prefixIndex = line.indexOf(this.prefix);
69
+ if (prefixIndex === -1) {
70
+ continue;
71
+ }
72
+ prefixSeen = true;
73
+ line = line.slice(prefixIndex + this.prefix.length);
74
+ }
75
+ if (this.streamTerminator != null && line.includes(this.streamTerminator)) {
76
+ return yield __await(void 0);
77
+ }
78
+ const message = yield __await(this.parse(JSON.parse(line)));
79
+ yield yield __await(message);
80
+ prefixSeen = false;
81
+ }
82
+ }
83
+ }
84
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
85
+ finally {
86
+ try {
87
+ if (!_d && !_a && (_b = stream_1.return)) yield __await(_b.call(stream_1));
88
+ }
89
+ finally { if (e_1) throw e_1.error; }
90
+ }
91
+ });
92
+ }
93
+ [Symbol.asyncIterator]() {
94
+ return __asyncGenerator(this, arguments, function* _a() {
95
+ var _b, e_2, _c, _d;
96
+ try {
97
+ for (var _e = true, _f = __asyncValues(this.iterMessages()), _g; _g = yield __await(_f.next()), _b = _g.done, !_b; _e = true) {
98
+ _d = _g.value;
99
+ _e = false;
100
+ const message = _d;
101
+ yield yield __await(message);
102
+ }
103
+ }
104
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
105
+ finally {
106
+ try {
107
+ if (!_e && !_b && (_c = _f.return)) yield __await(_c.call(_f));
108
+ }
109
+ finally { if (e_2) throw e_2.error; }
110
+ }
111
+ });
112
+ }
113
+ decodeChunk(chunk) {
114
+ let decoded = "";
115
+ // If TextDecoder is present, use it
116
+ if (typeof TextDecoder !== "undefined") {
117
+ const decoder = new TextDecoder("utf8");
118
+ decoded += decoder.decode(chunk);
119
+ }
120
+ // Buffer is present in Node.js environment
121
+ else if (RUNTIME.type === "node" && typeof chunk !== "undefined") {
122
+ decoded += Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
123
+ }
124
+ return decoded;
125
+ }
126
+ }
127
+ /**
128
+ * Browser polyfill for ReadableStream
129
+ */
130
+ // biome-ignore lint/suspicious/noExplicitAny: allow explicit any
131
+ export function readableStreamAsyncIterable(stream) {
132
+ if (stream[Symbol.asyncIterator]) {
133
+ return stream;
134
+ }
135
+ const reader = stream.getReader();
136
+ return {
137
+ next() {
138
+ return __awaiter(this, void 0, void 0, function* () {
139
+ try {
140
+ const result = yield reader.read();
141
+ if (result === null || result === void 0 ? void 0 : result.done) {
142
+ reader.releaseLock();
143
+ } // release lock when stream becomes closed
144
+ return result;
145
+ }
146
+ catch (e) {
147
+ reader.releaseLock(); // release lock when stream becomes errored
148
+ throw e;
149
+ }
150
+ });
151
+ },
152
+ return() {
153
+ return __awaiter(this, void 0, void 0, function* () {
154
+ const cancelPromise = reader.cancel();
155
+ reader.releaseLock();
156
+ yield cancelPromise;
157
+ return { done: true, value: undefined };
158
+ });
159
+ },
160
+ [Symbol.asyncIterator]() {
161
+ return this;
162
+ },
163
+ };
164
+ }
@@ -0,0 +1 @@
1
+ export { Stream } from "./Stream.mjs";
@@ -0,0 +1 @@
1
+ export { Stream } from "./Stream.mjs";
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "1.559.0";
1
+ export declare const SDK_VERSION = "2.1.0";
@@ -1 +1 @@
1
- export const SDK_VERSION = "1.559.0";
1
+ export const SDK_VERSION = "2.1.0";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chrt-inc/typescript-sdk",
3
- "version": "1.559.0",
3
+ "version": "2.1.0",
4
4
  "private": false,
5
5
  "repository": "github:chrt-inc/typescript-sdk",
6
6
  "type": "commonjs",
package/reference.md CHANGED
@@ -16540,7 +16540,7 @@ await client.utils.dev.postAgentOrderBuilderV1({
16540
16540
  </dl>
16541
16541
  </details>
16542
16542
 
16543
- <details><summary><code>client.utils.dev.<a href="/src/api/resources/utils/resources/dev/client/Client.ts">postAgentOrderBuilderStreamV1</a>({ ...params }) -> void</code></summary>
16543
+ <details><summary><code>client.utils.dev.<a href="/src/api/resources/utils/resources/dev/client/Client.ts">postAgentOrderBuilderStreamV1</a>({ ...params }) -> core.Stream&lt;string&gt;</code></summary>
16544
16544
  <dl>
16545
16545
  <dd>
16546
16546
 
@@ -16568,10 +16568,13 @@ Same as /agent/order-builder/v1 but streams progress events via SSE as each work
16568
16568
  <dd>
16569
16569
 
16570
16570
  ```typescript
16571
- await client.utils.dev.postAgentOrderBuilderStreamV1({
16571
+ const response = await client.utils.dev.postAgentOrderBuilderStreamV1({
16572
16572
  order_short_id: "order_short_id",
16573
16573
  text: "text",
16574
16574
  });
16575
+ for await (const item of response) {
16576
+ console.log(item);
16577
+ }
16575
16578
  ```
16576
16579
 
16577
16580
  </dd>