assistant-stream 0.2.45 → 0.2.46

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 (171) hide show
  1. package/dist/core/AssistantStream.d.ts +1 -1
  2. package/dist/core/AssistantStream.d.ts.map +1 -1
  3. package/dist/core/AssistantStream.js +15 -19
  4. package/dist/core/AssistantStream.js.map +1 -1
  5. package/dist/core/AssistantStreamChunk.d.ts +2 -2
  6. package/dist/core/AssistantStreamChunk.d.ts.map +1 -1
  7. package/dist/core/AssistantStreamChunk.js +1 -0
  8. package/dist/core/AssistantStreamChunk.js.map +1 -1
  9. package/dist/core/accumulators/AssistantMessageStream.d.ts +2 -2
  10. package/dist/core/accumulators/AssistantMessageStream.d.ts.map +1 -1
  11. package/dist/core/accumulators/AssistantMessageStream.js +45 -50
  12. package/dist/core/accumulators/AssistantMessageStream.js.map +1 -1
  13. package/dist/core/accumulators/assistant-message-accumulator.d.ts +3 -3
  14. package/dist/core/accumulators/assistant-message-accumulator.d.ts.map +1 -1
  15. package/dist/core/accumulators/assistant-message-accumulator.js +339 -329
  16. package/dist/core/accumulators/assistant-message-accumulator.js.map +1 -1
  17. package/dist/core/index.d.ts +16 -16
  18. package/dist/core/index.d.ts.map +1 -1
  19. package/dist/core/index.js +9 -44
  20. package/dist/core/index.js.map +1 -1
  21. package/dist/core/modules/assistant-stream.d.ts +7 -7
  22. package/dist/core/modules/assistant-stream.d.ts.map +1 -1
  23. package/dist/core/modules/assistant-stream.js +159 -188
  24. package/dist/core/modules/assistant-stream.js.map +1 -1
  25. package/dist/core/modules/text.d.ts +2 -2
  26. package/dist/core/modules/text.d.ts.map +1 -1
  27. package/dist/core/modules/text.js +43 -47
  28. package/dist/core/modules/text.js.map +1 -1
  29. package/dist/core/modules/tool-call.d.ts +5 -5
  30. package/dist/core/modules/tool-call.d.ts.map +1 -1
  31. package/dist/core/modules/tool-call.js +88 -89
  32. package/dist/core/modules/tool-call.js.map +1 -1
  33. package/dist/core/object/ObjectStreamAccumulator.d.ts +2 -2
  34. package/dist/core/object/ObjectStreamAccumulator.d.ts.map +1 -1
  35. package/dist/core/object/ObjectStreamAccumulator.js +49 -58
  36. package/dist/core/object/ObjectStreamAccumulator.js.map +1 -1
  37. package/dist/core/object/ObjectStreamResponse.d.ts +2 -2
  38. package/dist/core/object/ObjectStreamResponse.d.ts.map +1 -1
  39. package/dist/core/object/ObjectStreamResponse.js +70 -74
  40. package/dist/core/object/ObjectStreamResponse.js.map +1 -1
  41. package/dist/core/object/createObjectStream.d.ts +2 -2
  42. package/dist/core/object/createObjectStream.d.ts.map +1 -1
  43. package/dist/core/object/createObjectStream.js +45 -56
  44. package/dist/core/object/createObjectStream.js.map +1 -1
  45. package/dist/core/object/types.d.ts +1 -1
  46. package/dist/core/object/types.d.ts.map +1 -1
  47. package/dist/core/object/types.js +1 -0
  48. package/dist/core/object/types.js.map +1 -1
  49. package/dist/core/serialization/PlainText.d.ts +3 -3
  50. package/dist/core/serialization/PlainText.d.ts.map +1 -1
  51. package/dist/core/serialization/PlainText.js +46 -47
  52. package/dist/core/serialization/PlainText.js.map +1 -1
  53. package/dist/core/serialization/assistant-transport/AssistantTransport.d.ts +3 -3
  54. package/dist/core/serialization/assistant-transport/AssistantTransport.d.ts.map +1 -1
  55. package/dist/core/serialization/assistant-transport/AssistantTransport.js +117 -112
  56. package/dist/core/serialization/assistant-transport/AssistantTransport.js.map +1 -1
  57. package/dist/core/serialization/data-stream/DataStream.d.ts +3 -3
  58. package/dist/core/serialization/data-stream/DataStream.d.ts.map +1 -1
  59. package/dist/core/serialization/data-stream/DataStream.js +355 -354
  60. package/dist/core/serialization/data-stream/DataStream.js.map +1 -1
  61. package/dist/core/serialization/data-stream/chunk-types.d.ts +2 -2
  62. package/dist/core/serialization/data-stream/chunk-types.d.ts.map +1 -1
  63. package/dist/core/serialization/data-stream/chunk-types.js +22 -26
  64. package/dist/core/serialization/data-stream/chunk-types.js.map +1 -1
  65. package/dist/core/serialization/data-stream/serialization.d.ts +1 -1
  66. package/dist/core/serialization/data-stream/serialization.d.ts.map +1 -1
  67. package/dist/core/serialization/data-stream/serialization.js +23 -28
  68. package/dist/core/serialization/data-stream/serialization.js.map +1 -1
  69. package/dist/core/tool/ToolCallReader.d.ts +4 -4
  70. package/dist/core/tool/ToolCallReader.d.ts.map +1 -1
  71. package/dist/core/tool/ToolCallReader.js +303 -303
  72. package/dist/core/tool/ToolCallReader.js.map +1 -1
  73. package/dist/core/tool/ToolExecutionStream.d.ts +5 -5
  74. package/dist/core/tool/ToolExecutionStream.d.ts.map +1 -1
  75. package/dist/core/tool/ToolExecutionStream.js +140 -143
  76. package/dist/core/tool/ToolExecutionStream.js.map +1 -1
  77. package/dist/core/tool/ToolResponse.d.ts +1 -1
  78. package/dist/core/tool/ToolResponse.d.ts.map +1 -1
  79. package/dist/core/tool/ToolResponse.js +25 -29
  80. package/dist/core/tool/ToolResponse.js.map +1 -1
  81. package/dist/core/tool/index.d.ts +5 -5
  82. package/dist/core/tool/index.d.ts.map +1 -1
  83. package/dist/core/tool/index.js +3 -13
  84. package/dist/core/tool/index.js.map +1 -1
  85. package/dist/core/tool/tool-types.d.ts +3 -3
  86. package/dist/core/tool/tool-types.d.ts.map +1 -1
  87. package/dist/core/tool/tool-types.js +1 -0
  88. package/dist/core/tool/tool-types.js.map +1 -1
  89. package/dist/core/tool/toolResultStream.d.ts +3 -3
  90. package/dist/core/tool/toolResultStream.d.ts.map +1 -1
  91. package/dist/core/tool/toolResultStream.js +118 -125
  92. package/dist/core/tool/toolResultStream.js.map +1 -1
  93. package/dist/core/tool/type-path-utils.js +1 -0
  94. package/dist/core/tool/type-path-utils.js.map +1 -1
  95. package/dist/core/utils/Counter.js +6 -10
  96. package/dist/core/utils/Counter.js.map +1 -1
  97. package/dist/core/utils/generateId.js +1 -8
  98. package/dist/core/utils/generateId.js.map +1 -1
  99. package/dist/core/utils/stream/AssistantMetaTransformStream.d.ts +1 -1
  100. package/dist/core/utils/stream/AssistantMetaTransformStream.d.ts.map +1 -1
  101. package/dist/core/utils/stream/AssistantMetaTransformStream.js +42 -43
  102. package/dist/core/utils/stream/AssistantMetaTransformStream.js.map +1 -1
  103. package/dist/core/utils/stream/AssistantTransformStream.d.ts +2 -2
  104. package/dist/core/utils/stream/AssistantTransformStream.d.ts.map +1 -1
  105. package/dist/core/utils/stream/AssistantTransformStream.js +35 -45
  106. package/dist/core/utils/stream/AssistantTransformStream.js.map +1 -1
  107. package/dist/core/utils/stream/LineDecoderStream.js +24 -26
  108. package/dist/core/utils/stream/LineDecoderStream.js.map +1 -1
  109. package/dist/core/utils/stream/PipeableTransformStream.js +10 -14
  110. package/dist/core/utils/stream/PipeableTransformStream.js.map +1 -1
  111. package/dist/core/utils/stream/SSE.d.ts +1 -1
  112. package/dist/core/utils/stream/SSE.d.ts.map +1 -1
  113. package/dist/core/utils/stream/SSE.js +90 -98
  114. package/dist/core/utils/stream/SSE.js.map +1 -1
  115. package/dist/core/utils/stream/UnderlyingReadable.js +1 -0
  116. package/dist/core/utils/stream/UnderlyingReadable.js.map +1 -1
  117. package/dist/core/utils/stream/merge.d.ts +1 -1
  118. package/dist/core/utils/stream/merge.d.ts.map +1 -1
  119. package/dist/core/utils/stream/merge.js +169 -81
  120. package/dist/core/utils/stream/merge.js.map +1 -1
  121. package/dist/core/utils/stream/path-utils.d.ts +2 -2
  122. package/dist/core/utils/stream/path-utils.d.ts.map +1 -1
  123. package/dist/core/utils/stream/path-utils.js +49 -56
  124. package/dist/core/utils/stream/path-utils.js.map +1 -1
  125. package/dist/core/utils/types.d.ts +1 -1
  126. package/dist/core/utils/types.d.ts.map +1 -1
  127. package/dist/core/utils/types.js +1 -0
  128. package/dist/core/utils/types.js.map +1 -1
  129. package/dist/core/utils/withPromiseOrValue.js +14 -14
  130. package/dist/core/utils/withPromiseOrValue.js.map +1 -1
  131. package/dist/index.d.ts +1 -1
  132. package/dist/index.d.ts.map +1 -1
  133. package/dist/index.js +0 -1
  134. package/dist/index.js.map +1 -1
  135. package/dist/utils/AsyncIterableStream.js +15 -16
  136. package/dist/utils/AsyncIterableStream.js.map +1 -1
  137. package/dist/utils/index.d.ts +2 -2
  138. package/dist/utils/index.d.ts.map +1 -1
  139. package/dist/utils/index.js +1 -7
  140. package/dist/utils/index.js.map +1 -1
  141. package/dist/utils/json/fix-json.js +365 -343
  142. package/dist/utils/json/fix-json.js.map +1 -1
  143. package/dist/utils/json/index.d.ts +1 -1
  144. package/dist/utils/json/index.d.ts.map +1 -1
  145. package/dist/utils/json/index.js +1 -0
  146. package/dist/utils/json/index.js.map +1 -1
  147. package/dist/utils/json/is-json.d.ts +1 -1
  148. package/dist/utils/json/is-json.d.ts.map +1 -1
  149. package/dist/utils/json/is-json.js +21 -25
  150. package/dist/utils/json/is-json.js.map +1 -1
  151. package/dist/utils/json/json-value.js +1 -0
  152. package/dist/utils/json/json-value.js.map +1 -1
  153. package/dist/utils/json/parse-partial-json-object.d.ts +1 -1
  154. package/dist/utils/json/parse-partial-json-object.d.ts.map +1 -1
  155. package/dist/utils/json/parse-partial-json-object.js +61 -56
  156. package/dist/utils/json/parse-partial-json-object.js.map +1 -1
  157. package/dist/utils/promiseWithResolvers.js +10 -13
  158. package/dist/utils/promiseWithResolvers.js.map +1 -1
  159. package/dist/utils.d.ts +5 -5
  160. package/dist/utils.d.ts.map +1 -1
  161. package/dist/utils.js +4 -17
  162. package/dist/utils.js.map +1 -1
  163. package/package.json +26 -14
  164. package/dist/core/object/ObjectStream.test.d.ts +0 -2
  165. package/dist/core/object/ObjectStream.test.d.ts.map +0 -1
  166. package/dist/core/serialization/assistant-transport/AssistantTransport.test.d.ts +0 -2
  167. package/dist/core/serialization/assistant-transport/AssistantTransport.test.d.ts.map +0 -1
  168. package/dist/core/tool/toolResultStream.test.d.ts +0 -2
  169. package/dist/core/tool/toolResultStream.test.d.ts.map +0 -1
  170. package/dist/utils/json/parse-partial-json-object.test.d.ts +0 -2
  171. package/dist/utils/json/parse-partial-json-object.test.d.ts.map +0 -1
@@ -1,52 +1,48 @@
1
- // src/core/modules/text.ts
2
- var TextStreamControllerImpl = class {
3
- _controller;
4
- _isClosed = false;
5
- constructor(controller) {
6
- this._controller = controller;
7
- }
8
- append(textDelta) {
9
- this._controller.enqueue({
10
- type: "text-delta",
11
- path: [],
12
- textDelta
13
- });
14
- return this;
15
- }
16
- close() {
17
- if (this._isClosed) return;
18
- this._isClosed = true;
19
- this._controller.enqueue({
20
- type: "part-finish",
21
- path: []
22
- });
23
- this._controller.close();
24
- }
25
- };
26
- var createTextStream = (readable) => {
27
- return new ReadableStream({
28
- start(c) {
29
- return readable.start?.(new TextStreamControllerImpl(c));
30
- },
31
- pull(c) {
32
- return readable.pull?.(new TextStreamControllerImpl(c));
33
- },
34
- cancel(c) {
35
- return readable.cancel?.(c);
1
+ class TextStreamControllerImpl {
2
+ _controller;
3
+ _isClosed = false;
4
+ constructor(controller) {
5
+ this._controller = controller;
36
6
  }
37
- });
38
- };
39
- var createTextStreamController = () => {
40
- let controller;
41
- const stream = createTextStream({
42
- start(c) {
43
- controller = c;
7
+ append(textDelta) {
8
+ this._controller.enqueue({
9
+ type: "text-delta",
10
+ path: [],
11
+ textDelta,
12
+ });
13
+ return this;
44
14
  }
45
- });
46
- return [stream, controller];
15
+ close() {
16
+ if (this._isClosed)
17
+ return;
18
+ this._isClosed = true;
19
+ this._controller.enqueue({
20
+ type: "part-finish",
21
+ path: [],
22
+ });
23
+ this._controller.close();
24
+ }
25
+ }
26
+ export const createTextStream = (readable) => {
27
+ return new ReadableStream({
28
+ start(c) {
29
+ return readable.start?.(new TextStreamControllerImpl(c));
30
+ },
31
+ pull(c) {
32
+ return readable.pull?.(new TextStreamControllerImpl(c));
33
+ },
34
+ cancel(c) {
35
+ return readable.cancel?.(c);
36
+ },
37
+ });
47
38
  };
48
- export {
49
- createTextStream,
50
- createTextStreamController
39
+ export const createTextStreamController = () => {
40
+ let controller;
41
+ const stream = createTextStream({
42
+ start(c) {
43
+ controller = c;
44
+ },
45
+ });
46
+ return [stream, controller];
51
47
  };
52
48
  //# sourceMappingURL=text.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/core/modules/text.ts"],"sourcesContent":["import { AssistantStream } from \"../AssistantStream\";\nimport { AssistantStreamChunk } from \"../AssistantStreamChunk\";\nimport { UnderlyingReadable } from \"../utils/stream/UnderlyingReadable\";\n\nexport type TextStreamController = {\n append(textDelta: string): void;\n close(): void; // TODO reason? error?\n};\n\nclass TextStreamControllerImpl implements TextStreamController {\n private _controller: ReadableStreamDefaultController<AssistantStreamChunk>;\n private _isClosed = false;\n\n constructor(\n controller: ReadableStreamDefaultController<AssistantStreamChunk>,\n ) {\n this._controller = controller;\n }\n\n append(textDelta: string) {\n this._controller.enqueue({\n type: \"text-delta\",\n path: [],\n textDelta,\n });\n return this;\n }\n\n close() {\n if (this._isClosed) return;\n this._isClosed = true;\n this._controller.enqueue({\n type: \"part-finish\",\n path: [],\n });\n this._controller.close();\n }\n}\n\nexport const createTextStream = (\n readable: UnderlyingReadable<TextStreamController>,\n): AssistantStream => {\n return new ReadableStream({\n start(c) {\n return readable.start?.(new TextStreamControllerImpl(c));\n },\n pull(c) {\n return readable.pull?.(new TextStreamControllerImpl(c));\n },\n cancel(c) {\n return readable.cancel?.(c);\n },\n });\n};\n\nexport const createTextStreamController = () => {\n let controller!: TextStreamController;\n const stream = createTextStream({\n start(c) {\n controller = c;\n },\n });\n return [stream, controller] as const;\n};\n"],"mappings":";AASA,IAAM,2BAAN,MAA+D;AAAA,EACrD;AAAA,EACA,YAAY;AAAA,EAEpB,YACE,YACA;AACA,SAAK,cAAc;AAAA,EACrB;AAAA,EAEA,OAAO,WAAmB;AACxB,SAAK,YAAY,QAAQ;AAAA,MACvB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,MACP;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,QAAQ;AACN,QAAI,KAAK,UAAW;AACpB,SAAK,YAAY;AACjB,SAAK,YAAY,QAAQ;AAAA,MACvB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,IACT,CAAC;AACD,SAAK,YAAY,MAAM;AAAA,EACzB;AACF;AAEO,IAAM,mBAAmB,CAC9B,aACoB;AACpB,SAAO,IAAI,eAAe;AAAA,IACxB,MAAM,GAAG;AACP,aAAO,SAAS,QAAQ,IAAI,yBAAyB,CAAC,CAAC;AAAA,IACzD;AAAA,IACA,KAAK,GAAG;AACN,aAAO,SAAS,OAAO,IAAI,yBAAyB,CAAC,CAAC;AAAA,IACxD;AAAA,IACA,OAAO,GAAG;AACR,aAAO,SAAS,SAAS,CAAC;AAAA,IAC5B;AAAA,EACF,CAAC;AACH;AAEO,IAAM,6BAA6B,MAAM;AAC9C,MAAI;AACJ,QAAM,SAAS,iBAAiB;AAAA,IAC9B,MAAM,GAAG;AACP,mBAAa;AAAA,IACf;AAAA,EACF,CAAC;AACD,SAAO,CAAC,QAAQ,UAAU;AAC5B;","names":[]}
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/core/modules/text.ts"],"names":[],"mappings":"AASA,MAAM,wBAAwB;IACpB,WAAW,CAAwD;IACnE,SAAS,GAAG,KAAK,CAAC;IAE1B,YACE,UAAiE;QAEjE,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,SAAiB;QACtB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YACvB,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,EAAE;YACR,SAAS;SACV,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YACvB,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,QAAkD,EACjC,EAAE;IACnB,OAAO,IAAI,cAAc,CAAC;QACxB,KAAK,CAAC,CAAC;YACL,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,CAAC,CAAC;YACN,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,EAAE;IAC7C,IAAI,UAAiC,CAAC;IACtC,MAAM,MAAM,GAAG,gBAAgB,CAAC;QAC9B,KAAK,CAAC,CAAC;YACL,UAAU,GAAG,CAAC,CAAC;QACjB,CAAC;KACF,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,EAAE,UAAU,CAAU,CAAC;AACvC,CAAC,CAAC"}
@@ -1,8 +1,8 @@
1
- import { AssistantStream } from "../AssistantStream";
2
- import { ToolResponseLike } from "../tool/ToolResponse";
3
- import { ReadonlyJSONValue } from "../../utils/json/json-value";
4
- import { UnderlyingReadable } from "../utils/stream/UnderlyingReadable";
5
- import { TextStreamController } from "./text";
1
+ import { AssistantStream } from "../AssistantStream.js";
2
+ import { ToolResponseLike } from "../tool/ToolResponse.js";
3
+ import { ReadonlyJSONValue } from "../../utils/json/json-value.js";
4
+ import { UnderlyingReadable } from "../utils/stream/UnderlyingReadable.js";
5
+ import { TextStreamController } from "./text.js";
6
6
  export type ToolCallStreamController = {
7
7
  argsText: TextStreamController;
8
8
  setResponse(response: ToolResponseLike<ReadonlyJSONValue>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-call.d.ts","sourceRoot":"","sources":["../../../src/core/modules/tool-call.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAoB,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAEhE,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,oBAAoB,CAAC;IAE/B,WAAW,CAAC,QAAQ,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;IACjE,KAAK,IAAI,IAAI,CAAC;CACf,CAAC;AAoFF,eAAO,MAAM,oBAAoB,GAC/B,UAAU,kBAAkB,CAAC,wBAAwB,CAAC,KACrD,eAYF,CAAC;AAEF,eAAO,MAAM,8BAA8B,4DAQ1C,CAAC"}
1
+ {"version":3,"file":"tool-call.d.ts","sourceRoot":"","sources":["../../../src/core/modules/tool-call.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,8BAA2B;AAErD,OAAO,EAAE,gBAAgB,EAAE,gCAA6B;AACxD,OAAO,EAAE,iBAAiB,EAAE,uCAAoC;AAChE,OAAO,EAAE,kBAAkB,EAAE,8CAA2C;AACxE,OAAO,EAAoB,oBAAoB,EAAE,kBAAe;AAEhE,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,oBAAoB,CAAC;IAE/B,WAAW,CAAC,QAAQ,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;IACjE,KAAK,IAAI,IAAI,CAAC;CACf,CAAC;AAoFF,eAAO,MAAM,oBAAoB,GAC/B,UAAU,kBAAkB,CAAC,wBAAwB,CAAC,KACrD,eAYF,CAAC;AAEF,eAAO,MAAM,8BAA8B,4DAQ1C,CAAC"}
@@ -1,95 +1,94 @@
1
- // src/core/modules/tool-call.ts
2
1
  import { createTextStream } from "./text.js";
3
- var ToolCallStreamControllerImpl = class {
4
- constructor(_controller) {
5
- this._controller = _controller;
6
- const stream = createTextStream({
7
- start: (c) => {
8
- this._argsTextController = c;
9
- }
10
- });
11
- let hasArgsText = false;
12
- this._mergeTask = stream.pipeTo(
13
- new WritableStream({
14
- write: (chunk) => {
15
- switch (chunk.type) {
16
- case "text-delta":
17
- hasArgsText = true;
18
- this._controller.enqueue(chunk);
19
- break;
20
- case "part-finish":
21
- if (!hasArgsText) {
22
- this._controller.enqueue({
23
- type: "text-delta",
24
- textDelta: "{}",
25
- path: []
26
- });
27
- }
28
- this._controller.enqueue({
29
- type: "tool-call-args-text-finish",
30
- path: []
31
- });
32
- break;
33
- default:
34
- throw new Error(`Unexpected chunk type: ${chunk.type}`);
35
- }
36
- }
37
- })
38
- );
39
- }
40
- _isClosed = false;
41
- _mergeTask;
42
- get argsText() {
43
- return this._argsTextController;
44
- }
45
- _argsTextController;
46
- async setResponse(response) {
47
- this._argsTextController.close();
48
- await Promise.resolve();
49
- this._controller.enqueue({
50
- type: "result",
51
- path: [],
52
- ...response.artifact !== void 0 ? { artifact: response.artifact } : {},
53
- result: response.result,
54
- isError: response.isError ?? false
55
- });
56
- }
57
- async close() {
58
- if (this._isClosed) return;
59
- this._isClosed = true;
60
- this._argsTextController.close();
61
- await this._mergeTask;
62
- this._controller.enqueue({
63
- type: "part-finish",
64
- path: []
65
- });
66
- this._controller.close();
67
- }
68
- };
69
- var createToolCallStream = (readable) => {
70
- return new ReadableStream({
71
- start(c) {
72
- return readable.start?.(new ToolCallStreamControllerImpl(c));
73
- },
74
- pull(c) {
75
- return readable.pull?.(new ToolCallStreamControllerImpl(c));
76
- },
77
- cancel(c) {
78
- return readable.cancel?.(c);
2
+ class ToolCallStreamControllerImpl {
3
+ _controller;
4
+ _isClosed = false;
5
+ _mergeTask;
6
+ constructor(_controller) {
7
+ this._controller = _controller;
8
+ const stream = createTextStream({
9
+ start: (c) => {
10
+ this._argsTextController = c;
11
+ },
12
+ });
13
+ let hasArgsText = false;
14
+ this._mergeTask = stream.pipeTo(new WritableStream({
15
+ write: (chunk) => {
16
+ switch (chunk.type) {
17
+ case "text-delta":
18
+ hasArgsText = true;
19
+ this._controller.enqueue(chunk);
20
+ break;
21
+ case "part-finish":
22
+ if (!hasArgsText) {
23
+ // if no argsText was provided, assume empty object
24
+ this._controller.enqueue({
25
+ type: "text-delta",
26
+ textDelta: "{}",
27
+ path: [],
28
+ });
29
+ }
30
+ this._controller.enqueue({
31
+ type: "tool-call-args-text-finish",
32
+ path: [],
33
+ });
34
+ break;
35
+ default:
36
+ throw new Error(`Unexpected chunk type: ${chunk.type}`);
37
+ }
38
+ },
39
+ }));
79
40
  }
80
- });
81
- };
82
- var createToolCallStreamController = () => {
83
- let controller;
84
- const stream = createToolCallStream({
85
- start(c) {
86
- controller = c;
41
+ get argsText() {
42
+ return this._argsTextController;
87
43
  }
88
- });
89
- return [stream, controller];
44
+ _argsTextController;
45
+ async setResponse(response) {
46
+ this._argsTextController.close();
47
+ await Promise.resolve(); // flush microtask queue
48
+ // TODO switch argsTextController to be something that doesn'#t require this
49
+ this._controller.enqueue({
50
+ type: "result",
51
+ path: [],
52
+ ...(response.artifact !== undefined
53
+ ? { artifact: response.artifact }
54
+ : {}),
55
+ result: response.result,
56
+ isError: response.isError ?? false,
57
+ });
58
+ }
59
+ async close() {
60
+ if (this._isClosed)
61
+ return;
62
+ this._isClosed = true;
63
+ this._argsTextController.close();
64
+ await this._mergeTask;
65
+ this._controller.enqueue({
66
+ type: "part-finish",
67
+ path: [],
68
+ });
69
+ this._controller.close();
70
+ }
71
+ }
72
+ export const createToolCallStream = (readable) => {
73
+ return new ReadableStream({
74
+ start(c) {
75
+ return readable.start?.(new ToolCallStreamControllerImpl(c));
76
+ },
77
+ pull(c) {
78
+ return readable.pull?.(new ToolCallStreamControllerImpl(c));
79
+ },
80
+ cancel(c) {
81
+ return readable.cancel?.(c);
82
+ },
83
+ });
90
84
  };
91
- export {
92
- createToolCallStream,
93
- createToolCallStreamController
85
+ export const createToolCallStreamController = () => {
86
+ let controller;
87
+ const stream = createToolCallStream({
88
+ start(c) {
89
+ controller = c;
90
+ },
91
+ });
92
+ return [stream, controller];
94
93
  };
95
94
  //# sourceMappingURL=tool-call.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/core/modules/tool-call.ts"],"sourcesContent":["import { AssistantStream } from \"../AssistantStream\";\nimport { AssistantStreamChunk } from \"../AssistantStreamChunk\";\nimport { ToolResponseLike } from \"../tool/ToolResponse\";\nimport { ReadonlyJSONValue } from \"../../utils/json/json-value\";\nimport { UnderlyingReadable } from \"../utils/stream/UnderlyingReadable\";\nimport { createTextStream, TextStreamController } from \"./text\";\n\nexport type ToolCallStreamController = {\n argsText: TextStreamController;\n\n setResponse(response: ToolResponseLike<ReadonlyJSONValue>): void;\n close(): void;\n};\n\nclass ToolCallStreamControllerImpl implements ToolCallStreamController {\n private _isClosed = false;\n\n private _mergeTask: Promise<void>;\n constructor(\n private _controller: ReadableStreamDefaultController<AssistantStreamChunk>,\n ) {\n const stream = createTextStream({\n start: (c) => {\n this._argsTextController = c;\n },\n });\n\n let hasArgsText = false;\n this._mergeTask = stream.pipeTo(\n new WritableStream({\n write: (chunk) => {\n switch (chunk.type) {\n case \"text-delta\":\n hasArgsText = true;\n this._controller.enqueue(chunk);\n break;\n\n case \"part-finish\":\n if (!hasArgsText) {\n // if no argsText was provided, assume empty object\n this._controller.enqueue({\n type: \"text-delta\",\n textDelta: \"{}\",\n path: [],\n });\n }\n this._controller.enqueue({\n type: \"tool-call-args-text-finish\",\n path: [],\n });\n break;\n\n default:\n throw new Error(`Unexpected chunk type: ${chunk.type}`);\n }\n },\n }),\n );\n }\n\n get argsText() {\n return this._argsTextController;\n }\n\n private _argsTextController!: TextStreamController;\n\n async setResponse(response: ToolResponseLike<ReadonlyJSONValue>) {\n this._argsTextController.close();\n await Promise.resolve(); // flush microtask queue\n // TODO switch argsTextController to be something that doesn'#t require this\n this._controller.enqueue({\n type: \"result\",\n path: [],\n ...(response.artifact !== undefined\n ? { artifact: response.artifact }\n : {}),\n result: response.result,\n isError: response.isError ?? false,\n });\n }\n\n async close() {\n if (this._isClosed) return;\n\n this._isClosed = true;\n this._argsTextController.close();\n await this._mergeTask;\n\n this._controller.enqueue({\n type: \"part-finish\",\n path: [],\n });\n this._controller.close();\n }\n}\n\nexport const createToolCallStream = (\n readable: UnderlyingReadable<ToolCallStreamController>,\n): AssistantStream => {\n return new ReadableStream({\n start(c) {\n return readable.start?.(new ToolCallStreamControllerImpl(c));\n },\n pull(c) {\n return readable.pull?.(new ToolCallStreamControllerImpl(c));\n },\n cancel(c) {\n return readable.cancel?.(c);\n },\n });\n};\n\nexport const createToolCallStreamController = () => {\n let controller!: ToolCallStreamController;\n const stream = createToolCallStream({\n start(c) {\n controller = c;\n },\n });\n return [stream, controller] as const;\n};\n"],"mappings":";AAKA,SAAS,wBAA8C;AASvD,IAAM,+BAAN,MAAuE;AAAA,EAIrE,YACU,aACR;AADQ;AAER,UAAM,SAAS,iBAAiB;AAAA,MAC9B,OAAO,CAAC,MAAM;AACZ,aAAK,sBAAsB;AAAA,MAC7B;AAAA,IACF,CAAC;AAED,QAAI,cAAc;AAClB,SAAK,aAAa,OAAO;AAAA,MACvB,IAAI,eAAe;AAAA,QACjB,OAAO,CAAC,UAAU;AAChB,kBAAQ,MAAM,MAAM;AAAA,YAClB,KAAK;AACH,4BAAc;AACd,mBAAK,YAAY,QAAQ,KAAK;AAC9B;AAAA,YAEF,KAAK;AACH,kBAAI,CAAC,aAAa;AAEhB,qBAAK,YAAY,QAAQ;AAAA,kBACvB,MAAM;AAAA,kBACN,WAAW;AAAA,kBACX,MAAM,CAAC;AAAA,gBACT,CAAC;AAAA,cACH;AACA,mBAAK,YAAY,QAAQ;AAAA,gBACvB,MAAM;AAAA,gBACN,MAAM,CAAC;AAAA,cACT,CAAC;AACD;AAAA,YAEF;AACE,oBAAM,IAAI,MAAM,0BAA0B,MAAM,IAAI,EAAE;AAAA,UAC1D;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EA3CQ,YAAY;AAAA,EAEZ;AAAA,EA2CR,IAAI,WAAW;AACb,WAAO,KAAK;AAAA,EACd;AAAA,EAEQ;AAAA,EAER,MAAM,YAAY,UAA+C;AAC/D,SAAK,oBAAoB,MAAM;AAC/B,UAAM,QAAQ,QAAQ;AAEtB,SAAK,YAAY,QAAQ;AAAA,MACvB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,MACP,GAAI,SAAS,aAAa,SACtB,EAAE,UAAU,SAAS,SAAS,IAC9B,CAAC;AAAA,MACL,QAAQ,SAAS;AAAA,MACjB,SAAS,SAAS,WAAW;AAAA,IAC/B,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,QAAQ;AACZ,QAAI,KAAK,UAAW;AAEpB,SAAK,YAAY;AACjB,SAAK,oBAAoB,MAAM;AAC/B,UAAM,KAAK;AAEX,SAAK,YAAY,QAAQ;AAAA,MACvB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,IACT,CAAC;AACD,SAAK,YAAY,MAAM;AAAA,EACzB;AACF;AAEO,IAAM,uBAAuB,CAClC,aACoB;AACpB,SAAO,IAAI,eAAe;AAAA,IACxB,MAAM,GAAG;AACP,aAAO,SAAS,QAAQ,IAAI,6BAA6B,CAAC,CAAC;AAAA,IAC7D;AAAA,IACA,KAAK,GAAG;AACN,aAAO,SAAS,OAAO,IAAI,6BAA6B,CAAC,CAAC;AAAA,IAC5D;AAAA,IACA,OAAO,GAAG;AACR,aAAO,SAAS,SAAS,CAAC;AAAA,IAC5B;AAAA,EACF,CAAC;AACH;AAEO,IAAM,iCAAiC,MAAM;AAClD,MAAI;AACJ,QAAM,SAAS,qBAAqB;AAAA,IAClC,MAAM,GAAG;AACP,mBAAa;AAAA,IACf;AAAA,EACF,CAAC;AACD,SAAO,CAAC,QAAQ,UAAU;AAC5B;","names":[]}
1
+ {"version":3,"file":"tool-call.js","sourceRoot":"","sources":["../../../src/core/modules/tool-call.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { ReadonlyJSONValue } from "../../utils";
2
- import { ObjectStreamOperation } from "./types";
1
+ import { ReadonlyJSONValue } from "../../utils.js";
2
+ import { ObjectStreamOperation } from "./types.js";
3
3
  export declare class ObjectStreamAccumulator {
4
4
  private _state;
5
5
  constructor(initialValue?: ReadonlyJSONValue);
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectStreamAccumulator.d.ts","sourceRoot":"","sources":["../../../src/core/object/ObjectStreamAccumulator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAsB,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhD,qBAAa,uBAAuB;IAClC,OAAO,CAAC,MAAM,CAAoB;gBAEtB,YAAY,GAAE,iBAAwB;IAIlD,IAAI,KAAK,sBAER;IAED,MAAM,CAAC,GAAG,EAAE,SAAS,qBAAqB,EAAE;IAO5C,OAAO,CAAC,MAAM,CAAC,KAAK;IAuBpB,OAAO,CAAC,MAAM,CAAC,UAAU;CAiC1B"}
1
+ {"version":3,"file":"ObjectStreamAccumulator.d.ts","sourceRoot":"","sources":["../../../src/core/object/ObjectStreamAccumulator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAsB,uBAAoB;AACpE,OAAO,EAAE,qBAAqB,EAAE,mBAAgB;AAEhD,qBAAa,uBAAuB;IAClC,OAAO,CAAC,MAAM,CAAoB;gBAEtB,YAAY,GAAE,iBAAwB;IAIlD,IAAI,KAAK,sBAER;IAED,MAAM,CAAC,GAAG,EAAE,SAAS,qBAAqB,EAAE;IAO5C,OAAO,CAAC,MAAM,CAAC,KAAK;IAuBpB,OAAO,CAAC,MAAM,CAAC,UAAU;CAiC1B"}
@@ -1,62 +1,53 @@
1
- // src/core/object/ObjectStreamAccumulator.ts
2
- var ObjectStreamAccumulator = class _ObjectStreamAccumulator {
3
- _state;
4
- constructor(initialValue = null) {
5
- this._state = initialValue;
6
- }
7
- get state() {
8
- return this._state;
9
- }
10
- append(ops) {
11
- this._state = ops.reduce(
12
- (state, op) => _ObjectStreamAccumulator.apply(state, op),
13
- this._state
14
- );
15
- }
16
- static apply(state, op) {
17
- const type = op.type;
18
- switch (type) {
19
- case "set":
20
- return _ObjectStreamAccumulator.updatePath(
21
- state,
22
- op.path,
23
- () => op.value
24
- );
25
- case "append-text":
26
- return _ObjectStreamAccumulator.updatePath(state, op.path, (current) => {
27
- if (typeof current !== "string")
28
- throw new Error(`Expected string at path [${op.path.join(", ")}]`);
29
- return current + op.value;
30
- });
31
- default: {
32
- const _exhaustiveCheck = type;
33
- throw new Error(`Invalid operation type: ${_exhaustiveCheck}`);
34
- }
1
+ export class ObjectStreamAccumulator {
2
+ _state;
3
+ constructor(initialValue = null) {
4
+ this._state = initialValue;
35
5
  }
36
- }
37
- static updatePath(state, path, updater) {
38
- if (path.length === 0) return updater(state);
39
- state ??= {};
40
- if (typeof state !== "object") {
41
- throw new Error(`Invalid path: [${path.join(", ")}]`);
6
+ get state() {
7
+ return this._state;
42
8
  }
43
- const [key, ...rest] = path;
44
- if (Array.isArray(state)) {
45
- const idx = Number(key);
46
- if (Number.isNaN(idx))
47
- throw new Error(`Expected array index at [${path.join(", ")}]`);
48
- if (idx > state.length || idx < 0)
49
- throw new Error(`Insert array index out of bounds`);
50
- const nextState2 = [...state];
51
- nextState2[idx] = this.updatePath(nextState2[idx], rest, updater);
52
- return nextState2;
9
+ append(ops) {
10
+ this._state = ops.reduce((state, op) => ObjectStreamAccumulator.apply(state, op), this._state);
53
11
  }
54
- const nextState = { ...state };
55
- nextState[key] = this.updatePath(nextState[key], rest, updater);
56
- return nextState;
57
- }
58
- };
59
- export {
60
- ObjectStreamAccumulator
61
- };
12
+ static apply(state, op) {
13
+ const type = op.type;
14
+ switch (type) {
15
+ case "set":
16
+ return ObjectStreamAccumulator.updatePath(state, op.path, () => op.value);
17
+ case "append-text":
18
+ return ObjectStreamAccumulator.updatePath(state, op.path, (current) => {
19
+ if (typeof current !== "string")
20
+ throw new Error(`Expected string at path [${op.path.join(", ")}]`);
21
+ return current + op.value;
22
+ });
23
+ default: {
24
+ const _exhaustiveCheck = type;
25
+ throw new Error(`Invalid operation type: ${_exhaustiveCheck}`);
26
+ }
27
+ }
28
+ }
29
+ static updatePath(state, path, updater) {
30
+ if (path.length === 0)
31
+ return updater(state);
32
+ // Initialize state as empty object if it's null and we're trying to set a property
33
+ state ??= {};
34
+ if (typeof state !== "object") {
35
+ throw new Error(`Invalid path: [${path.join(", ")}]`);
36
+ }
37
+ const [key, ...rest] = path;
38
+ if (Array.isArray(state)) {
39
+ const idx = Number(key);
40
+ if (Number.isNaN(idx))
41
+ throw new Error(`Expected array index at [${path.join(", ")}]`);
42
+ if (idx > state.length || idx < 0)
43
+ throw new Error(`Insert array index out of bounds`);
44
+ const nextState = [...state];
45
+ nextState[idx] = this.updatePath(nextState[idx], rest, updater);
46
+ return nextState;
47
+ }
48
+ const nextState = { ...state };
49
+ nextState[key] = this.updatePath(nextState[key], rest, updater);
50
+ return nextState;
51
+ }
52
+ }
62
53
  //# sourceMappingURL=ObjectStreamAccumulator.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/core/object/ObjectStreamAccumulator.ts"],"sourcesContent":["import { ReadonlyJSONValue, ReadonlyJSONObject } from \"../../utils\";\nimport { ObjectStreamOperation } from \"./types\";\n\nexport class ObjectStreamAccumulator {\n private _state: ReadonlyJSONValue;\n\n constructor(initialValue: ReadonlyJSONValue = null) {\n this._state = initialValue;\n }\n\n get state() {\n return this._state;\n }\n\n append(ops: readonly ObjectStreamOperation[]) {\n this._state = ops.reduce(\n (state, op) => ObjectStreamAccumulator.apply(state, op),\n this._state,\n );\n }\n\n private static apply(state: ReadonlyJSONValue, op: ObjectStreamOperation) {\n const type = op.type;\n switch (type) {\n case \"set\":\n return ObjectStreamAccumulator.updatePath(\n state,\n op.path,\n () => op.value,\n );\n case \"append-text\":\n return ObjectStreamAccumulator.updatePath(state, op.path, (current) => {\n if (typeof current !== \"string\")\n throw new Error(`Expected string at path [${op.path.join(\", \")}]`);\n return current + op.value;\n });\n\n default: {\n const _exhaustiveCheck: never = type;\n throw new Error(`Invalid operation type: ${_exhaustiveCheck}`);\n }\n }\n }\n\n private static updatePath(\n state: ReadonlyJSONValue | undefined,\n path: readonly string[],\n updater: (current: ReadonlyJSONValue | undefined) => ReadonlyJSONValue,\n ): ReadonlyJSONValue {\n if (path.length === 0) return updater(state);\n\n // Initialize state as empty object if it's null and we're trying to set a property\n state ??= {};\n\n if (typeof state !== \"object\") {\n throw new Error(`Invalid path: [${path.join(\", \")}]`);\n }\n\n const [key, ...rest] = path as [string, ...(readonly string[])];\n if (Array.isArray(state)) {\n const idx = Number(key);\n if (Number.isNaN(idx))\n throw new Error(`Expected array index at [${path.join(\", \")}]`);\n if (idx > state.length || idx < 0)\n throw new Error(`Insert array index out of bounds`);\n\n const nextState = [...state];\n nextState[idx] = this.updatePath(nextState[idx], rest, updater);\n\n return nextState;\n }\n\n const nextState = { ...(state as ReadonlyJSONObject) };\n nextState[key] = this.updatePath(nextState[key], rest, updater);\n\n return nextState;\n }\n}\n"],"mappings":";AAGO,IAAM,0BAAN,MAAM,yBAAwB;AAAA,EAC3B;AAAA,EAER,YAAY,eAAkC,MAAM;AAClD,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,IAAI,QAAQ;AACV,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,OAAO,KAAuC;AAC5C,SAAK,SAAS,IAAI;AAAA,MAChB,CAAC,OAAO,OAAO,yBAAwB,MAAM,OAAO,EAAE;AAAA,MACtD,KAAK;AAAA,IACP;AAAA,EACF;AAAA,EAEA,OAAe,MAAM,OAA0B,IAA2B;AACxE,UAAM,OAAO,GAAG;AAChB,YAAQ,MAAM;AAAA,MACZ,KAAK;AACH,eAAO,yBAAwB;AAAA,UAC7B;AAAA,UACA,GAAG;AAAA,UACH,MAAM,GAAG;AAAA,QACX;AAAA,MACF,KAAK;AACH,eAAO,yBAAwB,WAAW,OAAO,GAAG,MAAM,CAAC,YAAY;AACrE,cAAI,OAAO,YAAY;AACrB,kBAAM,IAAI,MAAM,4BAA4B,GAAG,KAAK,KAAK,IAAI,CAAC,GAAG;AACnE,iBAAO,UAAU,GAAG;AAAA,QACtB,CAAC;AAAA,MAEH,SAAS;AACP,cAAM,mBAA0B;AAChC,cAAM,IAAI,MAAM,2BAA2B,gBAAgB,EAAE;AAAA,MAC/D;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAe,WACb,OACA,MACA,SACmB;AACnB,QAAI,KAAK,WAAW,EAAG,QAAO,QAAQ,KAAK;AAG3C,cAAU,CAAC;AAEX,QAAI,OAAO,UAAU,UAAU;AAC7B,YAAM,IAAI,MAAM,kBAAkB,KAAK,KAAK,IAAI,CAAC,GAAG;AAAA,IACtD;AAEA,UAAM,CAAC,KAAK,GAAG,IAAI,IAAI;AACvB,QAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,YAAM,MAAM,OAAO,GAAG;AACtB,UAAI,OAAO,MAAM,GAAG;AAClB,cAAM,IAAI,MAAM,4BAA4B,KAAK,KAAK,IAAI,CAAC,GAAG;AAChE,UAAI,MAAM,MAAM,UAAU,MAAM;AAC9B,cAAM,IAAI,MAAM,kCAAkC;AAEpD,YAAMA,aAAY,CAAC,GAAG,KAAK;AAC3B,MAAAA,WAAU,GAAG,IAAI,KAAK,WAAWA,WAAU,GAAG,GAAG,MAAM,OAAO;AAE9D,aAAOA;AAAA,IACT;AAEA,UAAM,YAAY,EAAE,GAAI,MAA6B;AACrD,cAAU,GAAG,IAAI,KAAK,WAAW,UAAU,GAAG,GAAG,MAAM,OAAO;AAE9D,WAAO;AAAA,EACT;AACF;","names":["nextState"]}
1
+ {"version":3,"file":"ObjectStreamAccumulator.js","sourceRoot":"","sources":["../../../src/core/object/ObjectStreamAccumulator.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { PipeableTransformStream } from "../utils/stream/PipeableTransformStream";
2
- import { ObjectStreamChunk } from "./types";
1
+ import { PipeableTransformStream } from "../utils/stream/PipeableTransformStream.js";
2
+ import { ObjectStreamChunk } from "./types.js";
3
3
  export declare class ObjectStreamEncoder extends PipeableTransformStream<ObjectStreamChunk, Uint8Array> {
4
4
  constructor();
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectStreamResponse.d.ts","sourceRoot":"","sources":["../../../src/core/object/ObjectStreamResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAGlF,OAAO,EAAE,iBAAiB,EAAyB,MAAM,SAAS,CAAC;AAEnE,qBAAa,mBAAoB,SAAQ,uBAAuB,CAC9D,iBAAiB,EACjB,UAAU,CACX;;CA6CA;AAED,qBAAa,mBAAoB,SAAQ,uBAAuB,CAC9D,UAAU,CAAC,WAAW,CAAC,EACvB,iBAAiB,CAClB;;CAsBA;AAED,qBAAa,oBAAqB,SAAQ,QAAQ;gBACpC,IAAI,EAAE,cAAc,CAAC,iBAAiB,CAAC;CAUpD;AAED,eAAO,MAAM,wBAAwB,GACnC,UAAU,QAAQ,KACjB,cAAc,CAAC,iBAAiB,CAWlC,CAAC"}
1
+ {"version":3,"file":"ObjectStreamResponse.d.ts","sourceRoot":"","sources":["../../../src/core/object/ObjectStreamResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,mDAAgD;AAGlF,OAAO,EAAE,iBAAiB,EAAyB,mBAAgB;AAEnE,qBAAa,mBAAoB,SAAQ,uBAAuB,CAC9D,iBAAiB,EACjB,UAAU,CACX;;CA6CA;AAED,qBAAa,mBAAoB,SAAQ,uBAAuB,CAC9D,UAAU,CAAC,WAAW,CAAC,EACvB,iBAAiB,CAClB;;CAsBA;AAED,qBAAa,oBAAqB,SAAQ,QAAQ;gBACpC,IAAI,EAAE,cAAc,CAAC,iBAAiB,CAAC;CAUpD;AAED,eAAO,MAAM,wBAAwB,GACnC,UAAU,QAAQ,KACjB,cAAc,CAAC,iBAAiB,CAWlC,CAAC"}